From 453fb678ec4ee2fea4d084860bc5f70da29a29cc Mon Sep 17 00:00:00 2001 From: The Anh Nguyen Date: Thu, 18 Jan 2024 18:01:31 +0700 Subject: [PATCH 01/23] add grafana scenes into atc --- .../cdn-in-a-box/optional/grafana/Dockerfile | 6 +- .../optional/grafana/app.yaml.template | 10 + .../optional/grafana/datasources.yml.template | 11 + .../optional/grafana/run-grafana.sh | 1 + .../trafficcontrol-scenes/CHANGELOG.md | 5 + .../grafana/trafficcontrol-scenes/LICENSE | 201 +++ .../grafana/trafficcontrol-scenes/README.md | 0 .../trafficcontrol-scenes/cypress.json | 3 + .../cypress/integration/01-smoke.spec.ts | 10 + .../trafficcontrol-scenes/dist/CHANGELOG.md | 5 + .../trafficcontrol-scenes/dist/LICENSE | 201 +++ .../trafficcontrol-scenes/dist/img/logo.png | Bin 0 -> 106800 bytes .../trafficcontrol-scenes/dist/module.js | 2 + .../trafficcontrol-scenes/dist/module.js.map | 1 + .../trafficcontrol-scenes/dist/plugin.json | 50 + .../trafficcontrol-scenes/jest-setup.js | 2 + .../trafficcontrol-scenes/jest.config.js | 8 + .../trafficcontrol-scenes/package.json | 76 + .../trafficcontrol-scenes/src/README.md | 51 + .../src/components/App/App.tsx | 14 + .../src/components/App/index.tsx | 1 + .../src/components/Routes/Routes.tsx | 18 + .../src/components/Routes/index.tsx | 1 + .../src/components/testIds.ts | 22 + .../trafficcontrol-scenes/src/constants.ts | 33 + .../trafficcontrol-scenes/src/img/logo.png | Bin 0 -> 106800 bytes .../trafficcontrol-scenes/src/module.ts | 4 + .../src/pages/CacheGroup/CacheGroup.tsx | 23 + .../CacheGroup/CacheGroupCustomObject.tsx | 34 + .../src/pages/CacheGroup/index.tsx | 1 + .../src/pages/CacheGroup/panels/bandwidth.tsx | 26 + .../pages/CacheGroup/panels/connections.tsx | 25 + .../src/pages/CacheGroup/scene.tsx | 57 + .../pages/DeliveryService/DSCustomObject.tsx | 34 + .../pages/DeliveryService/DeliveryService.tsx | 23 + .../src/pages/DeliveryService/index.tsx | 1 + .../DeliveryService/panels/bandwidth-cg.tsx | 26 + .../DeliveryService/panels/bandwidth.tsx | 26 + .../src/pages/DeliveryService/panels/tps.tsx | 49 + .../src/pages/DeliveryService/scene.tsx | 62 + .../src/pages/Server/Server.tsx | 23 + .../src/pages/Server/ServerCustomObject.tsx | 34 + .../src/pages/Server/index.tsx | 1 + .../src/pages/Server/panels/bandwidth.tsx | 25 + .../src/pages/Server/panels/connections.tsx | 27 + .../src/pages/Server/panels/cpu.tsx | 25 + .../src/pages/Server/panels/index.tsx | 8 + .../src/pages/Server/panels/load-average.tsx | 24 + .../src/pages/Server/panels/memory.tsx | 25 + .../src/pages/Server/panels/netstat.tsx | 24 + .../pages/Server/panels/read-write-time.tsx | 34 + .../src/pages/Server/panels/wrap-count.tsx | 24 + .../src/pages/Server/scene.tsx | 107 ++ .../trafficcontrol-scenes/src/plugin.json | 50 + .../src/utils/utils.plugin.ts | 17 + .../src/utils/utils.routing.ts | 6 + .../trafficcontrol-scenes/tsconfig.json | 3 + traffic_stats/build/traffic_stats.spec | 7 - .../grafana/traffic_ops_cachegroup.js | 254 --- .../grafana/traffic_ops_deliveryservice.js | 301 ---- traffic_stats/grafana/traffic_ops_scripted.js | 524 ------- traffic_stats/grafana/traffic_ops_server.js | 1372 ----------------- 62 files changed, 1578 insertions(+), 2460 deletions(-) create mode 100644 infrastructure/cdn-in-a-box/optional/grafana/app.yaml.template create mode 100644 infrastructure/cdn-in-a-box/optional/grafana/trafficcontrol-scenes/CHANGELOG.md create mode 100644 infrastructure/cdn-in-a-box/optional/grafana/trafficcontrol-scenes/LICENSE create mode 100644 infrastructure/cdn-in-a-box/optional/grafana/trafficcontrol-scenes/README.md create mode 100644 infrastructure/cdn-in-a-box/optional/grafana/trafficcontrol-scenes/cypress.json create mode 100644 infrastructure/cdn-in-a-box/optional/grafana/trafficcontrol-scenes/cypress/integration/01-smoke.spec.ts create mode 100644 infrastructure/cdn-in-a-box/optional/grafana/trafficcontrol-scenes/dist/CHANGELOG.md create mode 100644 infrastructure/cdn-in-a-box/optional/grafana/trafficcontrol-scenes/dist/LICENSE create mode 100644 infrastructure/cdn-in-a-box/optional/grafana/trafficcontrol-scenes/dist/img/logo.png create mode 100644 infrastructure/cdn-in-a-box/optional/grafana/trafficcontrol-scenes/dist/module.js create mode 100644 infrastructure/cdn-in-a-box/optional/grafana/trafficcontrol-scenes/dist/module.js.map create mode 100644 infrastructure/cdn-in-a-box/optional/grafana/trafficcontrol-scenes/dist/plugin.json create mode 100644 infrastructure/cdn-in-a-box/optional/grafana/trafficcontrol-scenes/jest-setup.js create mode 100644 infrastructure/cdn-in-a-box/optional/grafana/trafficcontrol-scenes/jest.config.js create mode 100644 infrastructure/cdn-in-a-box/optional/grafana/trafficcontrol-scenes/package.json create mode 100644 infrastructure/cdn-in-a-box/optional/grafana/trafficcontrol-scenes/src/README.md create mode 100644 infrastructure/cdn-in-a-box/optional/grafana/trafficcontrol-scenes/src/components/App/App.tsx create mode 100644 infrastructure/cdn-in-a-box/optional/grafana/trafficcontrol-scenes/src/components/App/index.tsx create mode 100644 infrastructure/cdn-in-a-box/optional/grafana/trafficcontrol-scenes/src/components/Routes/Routes.tsx create mode 100644 infrastructure/cdn-in-a-box/optional/grafana/trafficcontrol-scenes/src/components/Routes/index.tsx create mode 100644 infrastructure/cdn-in-a-box/optional/grafana/trafficcontrol-scenes/src/components/testIds.ts create mode 100644 infrastructure/cdn-in-a-box/optional/grafana/trafficcontrol-scenes/src/constants.ts create mode 100644 infrastructure/cdn-in-a-box/optional/grafana/trafficcontrol-scenes/src/img/logo.png create mode 100644 infrastructure/cdn-in-a-box/optional/grafana/trafficcontrol-scenes/src/module.ts create mode 100644 infrastructure/cdn-in-a-box/optional/grafana/trafficcontrol-scenes/src/pages/CacheGroup/CacheGroup.tsx create mode 100644 infrastructure/cdn-in-a-box/optional/grafana/trafficcontrol-scenes/src/pages/CacheGroup/CacheGroupCustomObject.tsx create mode 100644 infrastructure/cdn-in-a-box/optional/grafana/trafficcontrol-scenes/src/pages/CacheGroup/index.tsx create mode 100644 infrastructure/cdn-in-a-box/optional/grafana/trafficcontrol-scenes/src/pages/CacheGroup/panels/bandwidth.tsx create mode 100644 infrastructure/cdn-in-a-box/optional/grafana/trafficcontrol-scenes/src/pages/CacheGroup/panels/connections.tsx create mode 100644 infrastructure/cdn-in-a-box/optional/grafana/trafficcontrol-scenes/src/pages/CacheGroup/scene.tsx create mode 100644 infrastructure/cdn-in-a-box/optional/grafana/trafficcontrol-scenes/src/pages/DeliveryService/DSCustomObject.tsx create mode 100644 infrastructure/cdn-in-a-box/optional/grafana/trafficcontrol-scenes/src/pages/DeliveryService/DeliveryService.tsx create mode 100644 infrastructure/cdn-in-a-box/optional/grafana/trafficcontrol-scenes/src/pages/DeliveryService/index.tsx create mode 100644 infrastructure/cdn-in-a-box/optional/grafana/trafficcontrol-scenes/src/pages/DeliveryService/panels/bandwidth-cg.tsx create mode 100644 infrastructure/cdn-in-a-box/optional/grafana/trafficcontrol-scenes/src/pages/DeliveryService/panels/bandwidth.tsx create mode 100644 infrastructure/cdn-in-a-box/optional/grafana/trafficcontrol-scenes/src/pages/DeliveryService/panels/tps.tsx create mode 100644 infrastructure/cdn-in-a-box/optional/grafana/trafficcontrol-scenes/src/pages/DeliveryService/scene.tsx create mode 100644 infrastructure/cdn-in-a-box/optional/grafana/trafficcontrol-scenes/src/pages/Server/Server.tsx create mode 100644 infrastructure/cdn-in-a-box/optional/grafana/trafficcontrol-scenes/src/pages/Server/ServerCustomObject.tsx create mode 100644 infrastructure/cdn-in-a-box/optional/grafana/trafficcontrol-scenes/src/pages/Server/index.tsx create mode 100644 infrastructure/cdn-in-a-box/optional/grafana/trafficcontrol-scenes/src/pages/Server/panels/bandwidth.tsx create mode 100644 infrastructure/cdn-in-a-box/optional/grafana/trafficcontrol-scenes/src/pages/Server/panels/connections.tsx create mode 100644 infrastructure/cdn-in-a-box/optional/grafana/trafficcontrol-scenes/src/pages/Server/panels/cpu.tsx create mode 100644 infrastructure/cdn-in-a-box/optional/grafana/trafficcontrol-scenes/src/pages/Server/panels/index.tsx create mode 100644 infrastructure/cdn-in-a-box/optional/grafana/trafficcontrol-scenes/src/pages/Server/panels/load-average.tsx create mode 100644 infrastructure/cdn-in-a-box/optional/grafana/trafficcontrol-scenes/src/pages/Server/panels/memory.tsx create mode 100644 infrastructure/cdn-in-a-box/optional/grafana/trafficcontrol-scenes/src/pages/Server/panels/netstat.tsx create mode 100644 infrastructure/cdn-in-a-box/optional/grafana/trafficcontrol-scenes/src/pages/Server/panels/read-write-time.tsx create mode 100644 infrastructure/cdn-in-a-box/optional/grafana/trafficcontrol-scenes/src/pages/Server/panels/wrap-count.tsx create mode 100644 infrastructure/cdn-in-a-box/optional/grafana/trafficcontrol-scenes/src/pages/Server/scene.tsx create mode 100644 infrastructure/cdn-in-a-box/optional/grafana/trafficcontrol-scenes/src/plugin.json create mode 100644 infrastructure/cdn-in-a-box/optional/grafana/trafficcontrol-scenes/src/utils/utils.plugin.ts create mode 100644 infrastructure/cdn-in-a-box/optional/grafana/trafficcontrol-scenes/src/utils/utils.routing.ts create mode 100644 infrastructure/cdn-in-a-box/optional/grafana/trafficcontrol-scenes/tsconfig.json delete mode 100644 traffic_stats/grafana/traffic_ops_cachegroup.js delete mode 100644 traffic_stats/grafana/traffic_ops_deliveryservice.js delete mode 100644 traffic_stats/grafana/traffic_ops_scripted.js delete mode 100644 traffic_stats/grafana/traffic_ops_server.js diff --git a/infrastructure/cdn-in-a-box/optional/grafana/Dockerfile b/infrastructure/cdn-in-a-box/optional/grafana/Dockerfile index d3f09acc0e..7cd12a02fe 100644 --- a/infrastructure/cdn-in-a-box/optional/grafana/Dockerfile +++ b/infrastructure/cdn-in-a-box/optional/grafana/Dockerfile @@ -15,7 +15,7 @@ # specific language governing permissions and limitations # under the License. -FROM grafana/grafana:10.1.5-ubuntu +FROM grafana/grafana:10.2.3-ubuntu USER root ARG TRAFFIC_TS_RPM=traffic_stats/traffic_stats.rpm @@ -28,13 +28,13 @@ ADD enroller/server_template.json \ traffic_ops/to-access.sh \ optional/grafana/run-grafana.sh \ optional/grafana/datasources.yml.template \ + optional/grafana/app.yaml.template \ $TRAFFIC_TS_RPM \ / RUN cd ~ \ && 7z x /traffic_stats.rpm \ && 7z e traffic_stats-*.cpio *.js -r \ - && mv *.js /usr/share/grafana/public/dashboards \ && rm /traffic_stats.rpm \ && rm ~/traffic_stats-*.cpio @@ -42,5 +42,7 @@ COPY dns/set-dns.sh \ dns/insert-self-into-dns.sh \ /usr/local/sbin/ +COPY optional/grafana/trafficcontrol-scenes/dist /var/lib/grafana/plugins/trafficcontrol-scenes + ENTRYPOINT [ "/run-grafana.sh" ] EXPOSE 443 diff --git a/infrastructure/cdn-in-a-box/optional/grafana/app.yaml.template b/infrastructure/cdn-in-a-box/optional/grafana/app.yaml.template new file mode 100644 index 0000000000..305a689dd5 --- /dev/null +++ b/infrastructure/cdn-in-a-box/optional/grafana/app.yaml.template @@ -0,0 +1,10 @@ +apiVersion: 1 + +apps: + - type: 'trafficcontrol-scenes-app' + org_id: 1 + org_name: 'apache' + disabled: false + jsonData: + apiUrl: http://default-url.com + isApiKeySet: true \ No newline at end of file diff --git a/infrastructure/cdn-in-a-box/optional/grafana/datasources.yml.template b/infrastructure/cdn-in-a-box/optional/grafana/datasources.yml.template index 21536c34f3..860f24379e 100644 --- a/infrastructure/cdn-in-a-box/optional/grafana/datasources.yml.template +++ b/infrastructure/cdn-in-a-box/optional/grafana/datasources.yml.template @@ -51,3 +51,14 @@ datasources: database: deliveryservice_stats basicAuth: false isDefault: false + +- name: telegraf + isDefault: false + url: http://$INFLUXDB_HOST:$INFLUXDB_PORT + type: influxdb + user: $INFLUXDB_ADMIN_USER + jsonData: + dbName: telegraf + httpMode: GET + secureJsonData: + password: $INFLUXDB_ADMIN_PASSWORD diff --git a/infrastructure/cdn-in-a-box/optional/grafana/run-grafana.sh b/infrastructure/cdn-in-a-box/optional/grafana/run-grafana.sh index ff782d1e35..e17a1b822a 100755 --- a/infrastructure/cdn-in-a-box/optional/grafana/run-grafana.sh +++ b/infrastructure/cdn-in-a-box/optional/grafana/run-grafana.sh @@ -59,5 +59,6 @@ export GF_SERVER_HTTP_PORT=$GRAFANA_PORT export GF_SERVER_CERT_FILE=$X509_INFRA_CERT_FILE export GF_SERVER_CERT_KEY=$X509_INFRA_KEY_FILE envsubst < "/datasources.yml.template" > "$GF_PATHS_PROVISIONING/datasources/datasources.yml" +envsubst < "/app.yaml.template" > "$GF_PATHS_PROVISIONING/plugins/app.yaml" /run.sh diff --git a/infrastructure/cdn-in-a-box/optional/grafana/trafficcontrol-scenes/CHANGELOG.md b/infrastructure/cdn-in-a-box/optional/grafana/trafficcontrol-scenes/CHANGELOG.md new file mode 100644 index 0000000000..9d63e78d60 --- /dev/null +++ b/infrastructure/cdn-in-a-box/optional/grafana/trafficcontrol-scenes/CHANGELOG.md @@ -0,0 +1,5 @@ +# Changelog + +## 1.0.0 (Unreleased) + +Initial release. diff --git a/infrastructure/cdn-in-a-box/optional/grafana/trafficcontrol-scenes/LICENSE b/infrastructure/cdn-in-a-box/optional/grafana/trafficcontrol-scenes/LICENSE new file mode 100644 index 0000000000..9c8f3ea087 --- /dev/null +++ b/infrastructure/cdn-in-a-box/optional/grafana/trafficcontrol-scenes/LICENSE @@ -0,0 +1,201 @@ + Apache License + Version 2.0, January 2004 + http://www.apache.org/licenses/ + + TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION + + 1. Definitions. + + "License" shall mean the terms and conditions for use, reproduction, + and distribution as defined by Sections 1 through 9 of this document. + + "Licensor" shall mean the copyright owner or entity authorized by + the copyright owner that is granting the License. + + "Legal Entity" shall mean the union of the acting entity and all + other entities that control, are controlled by, or are under common + control with that entity. For the purposes of this definition, + "control" means (i) the power, direct or indirect, to cause the + direction or management of such entity, whether by contract or + otherwise, or (ii) ownership of fifty percent (50%) or more of the + outstanding shares, or (iii) beneficial ownership of such entity. + + "You" (or "Your") shall mean an individual or Legal Entity + exercising permissions granted by this License. + + "Source" form shall mean the preferred form for making modifications, + including but not limited to software source code, documentation + source, and configuration files. + + "Object" form shall mean any form resulting from mechanical + transformation or translation of a Source form, including but + not limited to compiled object code, generated documentation, + and conversions to other media types. + + "Work" shall mean the work of authorship, whether in Source or + Object form, made available under the License, as indicated by a + copyright notice that is included in or attached to the work + (an example is provided in the Appendix below). + + "Derivative Works" shall mean any work, whether in Source or Object + form, that is based on (or derived from) the Work and for which the + editorial revisions, annotations, elaborations, or other modifications + represent, as a whole, an original work of authorship. For the purposes + of this License, Derivative Works shall not include works that remain + separable from, or merely link (or bind by name) to the interfaces of, + the Work and Derivative Works thereof. + + "Contribution" shall mean any work of authorship, including + the original version of the Work and any modifications or additions + to that Work or Derivative Works thereof, that is intentionally + submitted to Licensor for inclusion in the Work by the copyright owner + or by an individual or Legal Entity authorized to submit on behalf of + the copyright owner. For the purposes of this definition, "submitted" + means any form of electronic, verbal, or written communication sent + to the Licensor or its representatives, including but not limited to + communication on electronic mailing lists, source code control systems, + and issue tracking systems that are managed by, or on behalf of, the + Licensor for the purpose of discussing and improving the Work, but + excluding communication that is conspicuously marked or otherwise + designated in writing by the copyright owner as "Not a Contribution." + + "Contributor" shall mean Licensor and any individual or Legal Entity + on behalf of whom a Contribution has been received by Licensor and + subsequently incorporated within the Work. + + 2. Grant of Copyright License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + copyright license to reproduce, prepare Derivative Works of, + publicly display, publicly perform, sublicense, and distribute the + Work and such Derivative Works in Source or Object form. + + 3. Grant of Patent License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + (except as stated in this section) patent license to make, have made, + use, offer to sell, sell, import, and otherwise transfer the Work, + where such license applies only to those patent claims licensable + by such Contributor that are necessarily infringed by their + Contribution(s) alone or by combination of their Contribution(s) + with the Work to which such Contribution(s) was submitted. If You + institute patent litigation against any entity (including a + cross-claim or counterclaim in a lawsuit) alleging that the Work + or a Contribution incorporated within the Work constitutes direct + or contributory patent infringement, then any patent licenses + granted to You under this License for that Work shall terminate + as of the date such litigation is filed. + + 4. Redistribution. You may reproduce and distribute copies of the + Work or Derivative Works thereof in any medium, with or without + modifications, and in Source or Object form, provided that You + meet the following conditions: + + (a) You must give any other recipients of the Work or + Derivative Works a copy of this License; and + + (b) You must cause any modified files to carry prominent notices + stating that You changed the files; and + + (c) You must retain, in the Source form of any Derivative Works + that You distribute, all copyright, patent, trademark, and + attribution notices from the Source form of the Work, + excluding those notices that do not pertain to any part of + the Derivative Works; and + + (d) If the Work includes a "NOTICE" text file as part of its + distribution, then any Derivative Works that You distribute must + include a readable copy of the attribution notices contained + within such NOTICE file, excluding those notices that do not + pertain to any part of the Derivative Works, in at least one + of the following places: within a NOTICE text file distributed + as part of the Derivative Works; within the Source form or + documentation, if provided along with the Derivative Works; or, + within a display generated by the Derivative Works, if and + wherever such third-party notices normally appear. The contents + of the NOTICE file are for informational purposes only and + do not modify the License. You may add Your own attribution + notices within Derivative Works that You distribute, alongside + or as an addendum to the NOTICE text from the Work, provided + that such additional attribution notices cannot be construed + as modifying the License. + + You may add Your own copyright statement to Your modifications and + may provide additional or different license terms and conditions + for use, reproduction, or distribution of Your modifications, or + for any such Derivative Works as a whole, provided Your use, + reproduction, and distribution of the Work otherwise complies with + the conditions stated in this License. + + 5. Submission of Contributions. Unless You explicitly state otherwise, + any Contribution intentionally submitted for inclusion in the Work + by You to the Licensor shall be under the terms and conditions of + this License, without any additional terms or conditions. + Notwithstanding the above, nothing herein shall supersede or modify + the terms of any separate license agreement you may have executed + with Licensor regarding such Contributions. + + 6. Trademarks. This License does not grant permission to use the trade + names, trademarks, service marks, or product names of the Licensor, + except as required for reasonable and customary use in describing the + origin of the Work and reproducing the content of the NOTICE file. + + 7. Disclaimer of Warranty. Unless required by applicable law or + agreed to in writing, Licensor provides the Work (and each + Contributor provides its Contributions) on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or + implied, including, without limitation, any warranties or conditions + of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A + PARTICULAR PURPOSE. You are solely responsible for determining the + appropriateness of using or redistributing the Work and assume any + risks associated with Your exercise of permissions under this License. + + 8. Limitation of Liability. In no event and under no legal theory, + whether in tort (including negligence), contract, or otherwise, + unless required by applicable law (such as deliberate and grossly + negligent acts) or agreed to in writing, shall any Contributor be + liable to You for damages, including any direct, indirect, special, + incidental, or consequential damages of any character arising as a + result of this License or out of the use or inability to use the + Work (including but not limited to damages for loss of goodwill, + work stoppage, computer failure or malfunction, or any and all + other commercial damages or losses), even if such Contributor + has been advised of the possibility of such damages. + + 9. Accepting Warranty or Additional Liability. While redistributing + the Work or Derivative Works thereof, You may choose to offer, + and charge a fee for, acceptance of support, warranty, indemnity, + or other liability obligations and/or rights consistent with this + License. However, in accepting such obligations, You may act only + on Your own behalf and on Your sole responsibility, not on behalf + of any other Contributor, and only if You agree to indemnify, + defend, and hold each Contributor harmless for any liability + incurred by, or claims asserted against, such Contributor by reason + of your accepting any such warranty or additional liability. + + END OF TERMS AND CONDITIONS + + APPENDIX: How to apply the Apache License to your work. + + To apply the Apache License to your work, attach the following + boilerplate notice, with the fields enclosed by brackets "{}" + replaced with your own identifying information. (Don't include + the brackets!) The text should be enclosed in the appropriate + comment syntax for the file format. We also recommend that a + file or class name and description of purpose be included on the + same "printed page" as the copyright notice for easier + identification within third-party archives. + + Copyright {yyyy} {name of copyright owner} + + Licensed under the Apache License, Version 2.0 (the "License"); + you may not use this file except in compliance with the License. + You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, software + distributed under the License is distributed on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + See the License for the specific language governing permissions and + limitations under the License. \ No newline at end of file diff --git a/infrastructure/cdn-in-a-box/optional/grafana/trafficcontrol-scenes/README.md b/infrastructure/cdn-in-a-box/optional/grafana/trafficcontrol-scenes/README.md new file mode 100644 index 0000000000..e69de29bb2 diff --git a/infrastructure/cdn-in-a-box/optional/grafana/trafficcontrol-scenes/cypress.json b/infrastructure/cdn-in-a-box/optional/grafana/trafficcontrol-scenes/cypress.json new file mode 100644 index 0000000000..60ed5aa538 --- /dev/null +++ b/infrastructure/cdn-in-a-box/optional/grafana/trafficcontrol-scenes/cypress.json @@ -0,0 +1,3 @@ +{ + "video": false +} diff --git a/infrastructure/cdn-in-a-box/optional/grafana/trafficcontrol-scenes/cypress/integration/01-smoke.spec.ts b/infrastructure/cdn-in-a-box/optional/grafana/trafficcontrol-scenes/cypress/integration/01-smoke.spec.ts new file mode 100644 index 0000000000..ed0867dadc --- /dev/null +++ b/infrastructure/cdn-in-a-box/optional/grafana/trafficcontrol-scenes/cypress/integration/01-smoke.spec.ts @@ -0,0 +1,10 @@ +import { e2e } from '@grafana/e2e'; + +e2e.scenario({ + describeName: 'Smoke test', + itName: 'Smoke test', + scenario: () => { + e2e.pages.Home.visit(); + e2e().contains('Welcome to Grafana').should('be.visible'); + }, +}); diff --git a/infrastructure/cdn-in-a-box/optional/grafana/trafficcontrol-scenes/dist/CHANGELOG.md b/infrastructure/cdn-in-a-box/optional/grafana/trafficcontrol-scenes/dist/CHANGELOG.md new file mode 100644 index 0000000000..9d63e78d60 --- /dev/null +++ b/infrastructure/cdn-in-a-box/optional/grafana/trafficcontrol-scenes/dist/CHANGELOG.md @@ -0,0 +1,5 @@ +# Changelog + +## 1.0.0 (Unreleased) + +Initial release. diff --git a/infrastructure/cdn-in-a-box/optional/grafana/trafficcontrol-scenes/dist/LICENSE b/infrastructure/cdn-in-a-box/optional/grafana/trafficcontrol-scenes/dist/LICENSE new file mode 100644 index 0000000000..9c8f3ea087 --- /dev/null +++ b/infrastructure/cdn-in-a-box/optional/grafana/trafficcontrol-scenes/dist/LICENSE @@ -0,0 +1,201 @@ + Apache License + Version 2.0, January 2004 + http://www.apache.org/licenses/ + + TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION + + 1. Definitions. + + "License" shall mean the terms and conditions for use, reproduction, + and distribution as defined by Sections 1 through 9 of this document. + + "Licensor" shall mean the copyright owner or entity authorized by + the copyright owner that is granting the License. + + "Legal Entity" shall mean the union of the acting entity and all + other entities that control, are controlled by, or are under common + control with that entity. For the purposes of this definition, + "control" means (i) the power, direct or indirect, to cause the + direction or management of such entity, whether by contract or + otherwise, or (ii) ownership of fifty percent (50%) or more of the + outstanding shares, or (iii) beneficial ownership of such entity. + + "You" (or "Your") shall mean an individual or Legal Entity + exercising permissions granted by this License. + + "Source" form shall mean the preferred form for making modifications, + including but not limited to software source code, documentation + source, and configuration files. + + "Object" form shall mean any form resulting from mechanical + transformation or translation of a Source form, including but + not limited to compiled object code, generated documentation, + and conversions to other media types. + + "Work" shall mean the work of authorship, whether in Source or + Object form, made available under the License, as indicated by a + copyright notice that is included in or attached to the work + (an example is provided in the Appendix below). + + "Derivative Works" shall mean any work, whether in Source or Object + form, that is based on (or derived from) the Work and for which the + editorial revisions, annotations, elaborations, or other modifications + represent, as a whole, an original work of authorship. For the purposes + of this License, Derivative Works shall not include works that remain + separable from, or merely link (or bind by name) to the interfaces of, + the Work and Derivative Works thereof. + + "Contribution" shall mean any work of authorship, including + the original version of the Work and any modifications or additions + to that Work or Derivative Works thereof, that is intentionally + submitted to Licensor for inclusion in the Work by the copyright owner + or by an individual or Legal Entity authorized to submit on behalf of + the copyright owner. For the purposes of this definition, "submitted" + means any form of electronic, verbal, or written communication sent + to the Licensor or its representatives, including but not limited to + communication on electronic mailing lists, source code control systems, + and issue tracking systems that are managed by, or on behalf of, the + Licensor for the purpose of discussing and improving the Work, but + excluding communication that is conspicuously marked or otherwise + designated in writing by the copyright owner as "Not a Contribution." + + "Contributor" shall mean Licensor and any individual or Legal Entity + on behalf of whom a Contribution has been received by Licensor and + subsequently incorporated within the Work. + + 2. Grant of Copyright License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + copyright license to reproduce, prepare Derivative Works of, + publicly display, publicly perform, sublicense, and distribute the + Work and such Derivative Works in Source or Object form. + + 3. Grant of Patent License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + (except as stated in this section) patent license to make, have made, + use, offer to sell, sell, import, and otherwise transfer the Work, + where such license applies only to those patent claims licensable + by such Contributor that are necessarily infringed by their + Contribution(s) alone or by combination of their Contribution(s) + with the Work to which such Contribution(s) was submitted. If You + institute patent litigation against any entity (including a + cross-claim or counterclaim in a lawsuit) alleging that the Work + or a Contribution incorporated within the Work constitutes direct + or contributory patent infringement, then any patent licenses + granted to You under this License for that Work shall terminate + as of the date such litigation is filed. + + 4. Redistribution. You may reproduce and distribute copies of the + Work or Derivative Works thereof in any medium, with or without + modifications, and in Source or Object form, provided that You + meet the following conditions: + + (a) You must give any other recipients of the Work or + Derivative Works a copy of this License; and + + (b) You must cause any modified files to carry prominent notices + stating that You changed the files; and + + (c) You must retain, in the Source form of any Derivative Works + that You distribute, all copyright, patent, trademark, and + attribution notices from the Source form of the Work, + excluding those notices that do not pertain to any part of + the Derivative Works; and + + (d) If the Work includes a "NOTICE" text file as part of its + distribution, then any Derivative Works that You distribute must + include a readable copy of the attribution notices contained + within such NOTICE file, excluding those notices that do not + pertain to any part of the Derivative Works, in at least one + of the following places: within a NOTICE text file distributed + as part of the Derivative Works; within the Source form or + documentation, if provided along with the Derivative Works; or, + within a display generated by the Derivative Works, if and + wherever such third-party notices normally appear. The contents + of the NOTICE file are for informational purposes only and + do not modify the License. You may add Your own attribution + notices within Derivative Works that You distribute, alongside + or as an addendum to the NOTICE text from the Work, provided + that such additional attribution notices cannot be construed + as modifying the License. + + You may add Your own copyright statement to Your modifications and + may provide additional or different license terms and conditions + for use, reproduction, or distribution of Your modifications, or + for any such Derivative Works as a whole, provided Your use, + reproduction, and distribution of the Work otherwise complies with + the conditions stated in this License. + + 5. Submission of Contributions. Unless You explicitly state otherwise, + any Contribution intentionally submitted for inclusion in the Work + by You to the Licensor shall be under the terms and conditions of + this License, without any additional terms or conditions. + Notwithstanding the above, nothing herein shall supersede or modify + the terms of any separate license agreement you may have executed + with Licensor regarding such Contributions. + + 6. Trademarks. This License does not grant permission to use the trade + names, trademarks, service marks, or product names of the Licensor, + except as required for reasonable and customary use in describing the + origin of the Work and reproducing the content of the NOTICE file. + + 7. Disclaimer of Warranty. Unless required by applicable law or + agreed to in writing, Licensor provides the Work (and each + Contributor provides its Contributions) on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or + implied, including, without limitation, any warranties or conditions + of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A + PARTICULAR PURPOSE. You are solely responsible for determining the + appropriateness of using or redistributing the Work and assume any + risks associated with Your exercise of permissions under this License. + + 8. Limitation of Liability. In no event and under no legal theory, + whether in tort (including negligence), contract, or otherwise, + unless required by applicable law (such as deliberate and grossly + negligent acts) or agreed to in writing, shall any Contributor be + liable to You for damages, including any direct, indirect, special, + incidental, or consequential damages of any character arising as a + result of this License or out of the use or inability to use the + Work (including but not limited to damages for loss of goodwill, + work stoppage, computer failure or malfunction, or any and all + other commercial damages or losses), even if such Contributor + has been advised of the possibility of such damages. + + 9. Accepting Warranty or Additional Liability. While redistributing + the Work or Derivative Works thereof, You may choose to offer, + and charge a fee for, acceptance of support, warranty, indemnity, + or other liability obligations and/or rights consistent with this + License. However, in accepting such obligations, You may act only + on Your own behalf and on Your sole responsibility, not on behalf + of any other Contributor, and only if You agree to indemnify, + defend, and hold each Contributor harmless for any liability + incurred by, or claims asserted against, such Contributor by reason + of your accepting any such warranty or additional liability. + + END OF TERMS AND CONDITIONS + + APPENDIX: How to apply the Apache License to your work. + + To apply the Apache License to your work, attach the following + boilerplate notice, with the fields enclosed by brackets "{}" + replaced with your own identifying information. (Don't include + the brackets!) The text should be enclosed in the appropriate + comment syntax for the file format. We also recommend that a + file or class name and description of purpose be included on the + same "printed page" as the copyright notice for easier + identification within third-party archives. + + Copyright {yyyy} {name of copyright owner} + + Licensed under the Apache License, Version 2.0 (the "License"); + you may not use this file except in compliance with the License. + You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, software + distributed under the License is distributed on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + See the License for the specific language governing permissions and + limitations under the License. \ No newline at end of file diff --git a/infrastructure/cdn-in-a-box/optional/grafana/trafficcontrol-scenes/dist/img/logo.png b/infrastructure/cdn-in-a-box/optional/grafana/trafficcontrol-scenes/dist/img/logo.png new file mode 100644 index 0000000000000000000000000000000000000000..749fd7f8d4c41b63626872e2f87c8a2433973374 GIT binary patch literal 106800 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%0DO0AM#nH4S`7`S9w6Ee06H!zo%!a2ll#oLjwTk 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 u={944:(e,t,r)=>{"use strict";function n(e){var t,r,a="";if("string"==typeof e||"number"==typeof e)a+=e;else if("object"==typeof e)if(Array.isArray(e))for(t=0;ta,default:()=>o});const o=a},4:(e,t,r)=>{e=r.nmd(e);var n="__lodash_hash_undefined__",a=1,o=2,i=9007199254740991,s="[object Arguments]",l="[object Array]",u="[object AsyncFunction]",c="[object Boolean]",d="[object Date]",p="[object Error]",h="[object Function]",f="[object GeneratorFunction]",m="[object Map]",g="[object Number]",y="[object Null]",b="[object Object]",v="[object Promise]",w="[object Proxy]",S="[object RegExp]",_="[object Set]",O="[object String]",x="[object Undefined]",C="[object WeakMap]",P="[object ArrayBuffer]",D="[object DataView]",E=/^\[object .+?Constructor\]$/,R=/^(?:0|[1-9]\d*)$/,j={};j["[object Float32Array]"]=j["[object Float64Array]"]=j["[object Int8Array]"]=j["[object Int16Array]"]=j["[object Int32Array]"]=j["[object Uint8Array]"]=j["[object Uint8ClampedArray]"]=j["[object Uint16Array]"]=j["[object Uint32Array]"]=!0,j[s]=j[l]=j[P]=j[c]=j[D]=j[d]=j[p]=j[h]=j[m]=j[g]=j[b]=j[S]=j[_]=j[O]=j[C]=!1;var T="object"==typeof r.g&&r.g&&r.g.Object===Object&&r.g,k="object"==typeof self&&self&&self.Object===Object&&self,A=T||k||Function("return this")(),I=t&&!t.nodeType&&t,V=I&&e&&!e.nodeType&&e,F=V&&V.exports===I,L=F&&T.process,M=function(){try{return L&&L.binding&&L.binding("util")}catch(e){}}(),z=M&&M.isTypedArray;function N(e,t){for(var r=-1,n=null==e?0:e.length;++ru))return!1;var d=s.get(e);if(d&&s.get(t))return d==t;var p=-1,h=!0,f=r&o?new Pe:void 0;for(s.set(e,t),s.set(t,e);++p-1},xe.prototype.set=function(e,t){var r=this.__data__,n=Ee(r,e);return n<0?(++this.size,r.push([e,t])):r[n][1]=t,this},Ce.prototype.clear=function(){this.size=0,this.__data__={hash:new Oe,map:new(de||xe),string:new Oe}},Ce.prototype.delete=function(e){var t=Ie(this,e).delete(e);return this.size-=t?1:0,t},Ce.prototype.get=function(e){return Ie(this,e).get(e)},Ce.prototype.has=function(e){return Ie(this,e).has(e)},Ce.prototype.set=function(e,t){var r=Ie(this,e),n=r.size;return r.set(e,t),this.size+=r.size==n?0:1,this},Pe.prototype.add=Pe.prototype.push=function(e){return this.__data__.set(e,n),this},Pe.prototype.has=function(e){return this.__data__.has(e)},De.prototype.clear=function(){this.__data__=new xe,this.size=0},De.prototype.delete=function(e){var t=this.__data__,r=t.delete(e);return this.size=t.size,r},De.prototype.get=function(e){return this.__data__.get(e)},De.prototype.has=function(e){return this.__data__.has(e)},De.prototype.set=function(e,t){var r=this.__data__;if(r instanceof xe){var n=r.__data__;if(!de||n.length<199)return n.push([e,t]),this.size=++r.size,this;r=this.__data__=new Ce(n)}return r.set(e,t),this.size=r.size,this};var Fe=se?function(e){return null==e?[]:(e=Object(e),function(t,r){for(var n=-1,a=null==t?0:t.length,o=0,i=[];++n-1&&e%1==0&&e-1&&e%1==0&&e<=i}function qe(e){var t=typeof e;return null!=e&&("object"==t||"function"==t)}function Ge(e){return null!=e&&"object"==typeof e}var Qe=z?function(e){return function(t){return e(t)}}(z):function(e){return Ge(e)&&We(e.length)&&!!j[Re(e)]};function Ye(e){return null!=(t=e)&&We(t.length)&&!$e(t)?function(e,t){var r=Be(e),n=!r&&He(e),a=!r&&!n&&Ue(e),o=!r&&!n&&!a&&Qe(e),i=r||n||a||o,s=i?function(e,t){for(var r=-1,n=Array(e);++r{"use strict";var n=r(331);function a(){}function o(){}o.resetWarningCache=a,e.exports=function(){function e(e,t,r,a,o,i){if(i!==n){var s=new Error("Calling PropTypes validators directly is not supported by the `prop-types` package. Use PropTypes.checkPropTypes() to call them. Read more at http://fb.me/use-check-prop-types");throw s.name="Invariant Violation",s}}function t(){return e}e.isRequired=e;var r={array:e,bigint:e,bool:e,func:e,number:e,object:e,string:e,symbol:e,any:e,arrayOf:t,element:e,elementType:e,instanceOf:t,node:e,objectOf:t,oneOf:t,oneOfType:t,shape:t,exact:t,checkPropTypes:o,resetWarningCache:a};return r.PropTypes=r,r}},615:(e,t,r)=>{e.exports=r(772)()},331:e=>{"use strict";e.exports="SECRET_DO_NOT_PASS_THIS_OR_YOU_WILL_BE_FIRED"},322:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"DraggableCore",{enumerable:!0,get:function(){return c.default}}),t.default=void 0;var n=function(e,t){if(e&&e.__esModule)return e;if(null===e||"object"!=typeof e&&"function"!=typeof e)return{default:e};var r=h(t);if(r&&r.has(e))return r.get(e);var n={},a=Object.defineProperty&&Object.getOwnPropertyDescriptor;for(var o in e)if("default"!==o&&Object.prototype.hasOwnProperty.call(e,o)){var i=a?Object.getOwnPropertyDescriptor(e,o):null;i&&(i.get||i.set)?Object.defineProperty(n,o,i):n[o]=e[o]}return n.default=e,r&&r.set(e,n),n}(r(650)),a=p(r(615)),o=p(r(729)),i=p(r(944)),s=r(65),l=r(237),u=r(972),c=p(r(700)),d=p(r(936));function p(e){return e&&e.__esModule?e:{default:e}}function h(e){if("function"!=typeof WeakMap)return null;var t=new WeakMap,r=new WeakMap;return(h=function(e){return e?r:t})(e)}function f(){return f=Object.assign?Object.assign.bind():function(e){for(var t=1;t{if((0,d.default)("Draggable: onDragStart: %j",t),!1===this.props.onStart(e,(0,l.createDraggableData)(this,t)))return!1;this.setState({dragging:!0,dragged:!0})})),m(this,"onDrag",((e,t)=>{if(!this.state.dragging)return!1;(0,d.default)("Draggable: onDrag: %j",t);const r=(0,l.createDraggableData)(this,t),n={x:r.x,y:r.y,slackX:0,slackY:0};if(this.props.bounds){const{x:e,y:t}=n;n.x+=this.state.slackX,n.y+=this.state.slackY;const[a,o]=(0,l.getBoundPosition)(this,n.x,n.y);n.x=a,n.y=o,n.slackX=this.state.slackX+(e-n.x),n.slackY=this.state.slackY+(t-n.y),r.x=n.x,r.y=n.y,r.deltaX=n.x-this.state.x,r.deltaY=n.y-this.state.y}if(!1===this.props.onDrag(e,r))return!1;this.setState(n)})),m(this,"onDragStop",((e,t)=>{if(!this.state.dragging)return!1;if(!1===this.props.onStop(e,(0,l.createDraggableData)(this,t)))return!1;(0,d.default)("Draggable: onDragStop: %j",t);const r={dragging:!1,slackX:0,slackY:0};if(Boolean(this.props.position)){const{x:e,y:t}=this.props.position;r.x=e,r.y=t}this.setState(r)})),this.state={dragging:!1,dragged:!1,x:e.position?e.position.x:e.defaultPosition.x,y:e.position?e.position.y:e.defaultPosition.y,prevPropsPosition:{...e.position},slackX:0,slackY:0,isElementSVG:!1},!e.position||e.onDrag||e.onStop||console.warn("A `position` was applied to this , without drag handlers. This will make this component effectively undraggable. Please attach `onDrag` or `onStop` handlers so you can adjust the `position` of this element.")}componentDidMount(){void 0!==window.SVGElement&&this.findDOMNode()instanceof window.SVGElement&&this.setState({isElementSVG:!0})}componentWillUnmount(){this.setState({dragging:!1})}findDOMNode(){var e,t;return null!==(e=null===(t=this.props)||void 0===t||null===(t=t.nodeRef)||void 0===t?void 0:t.current)&&void 0!==e?e:o.default.findDOMNode(this)}render(){const{axis:e,bounds:t,children:r,defaultPosition:a,defaultClassName:o,defaultClassNameDragging:u,defaultClassNameDragged:d,position:p,positionOffset:h,scale:m,...g}=this.props;let y={},b=null;const v=!Boolean(p)||this.state.dragging,w=p||a,S={x:(0,l.canDragX)(this)&&v?this.state.x:w.x,y:(0,l.canDragY)(this)&&v?this.state.y:w.y};this.state.isElementSVG?b=(0,s.createSVGTransform)(S,h):y=(0,s.createCSSTransform)(S,h);const _=(0,i.default)(r.props.className||"",o,{[u]:this.state.dragging,[d]:this.state.dragged});return n.createElement(c.default,f({},g,{onStart:this.onDragStart,onDrag:this.onDrag,onStop:this.onDragStop}),n.cloneElement(n.Children.only(r),{className:_,style:{...r.props.style,...y},transform:b}))}}t.default=g,m(g,"displayName","Draggable"),m(g,"propTypes",{...c.default.propTypes,axis:a.default.oneOf(["both","x","y","none"]),bounds:a.default.oneOfType([a.default.shape({left:a.default.number,right:a.default.number,top:a.default.number,bottom:a.default.number}),a.default.string,a.default.oneOf([!1])]),defaultClassName:a.default.string,defaultClassNameDragging:a.default.string,defaultClassNameDragged:a.default.string,defaultPosition:a.default.shape({x:a.default.number,y:a.default.number}),positionOffset:a.default.shape({x:a.default.oneOfType([a.default.number,a.default.string]),y:a.default.oneOfType([a.default.number,a.default.string])}),position:a.default.shape({x:a.default.number,y:a.default.number}),className:u.dontSetMe,style:u.dontSetMe,transform:u.dontSetMe}),m(g,"defaultProps",{...c.default.defaultProps,axis:"both",bounds:!1,defaultClassName:"react-draggable",defaultClassNameDragging:"react-draggable-dragging",defaultClassNameDragged:"react-draggable-dragged",defaultPosition:{x:0,y:0},scale:1})},700:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.default=void 0;var n=function(e,t){if(e&&e.__esModule)return e;if(null===e||"object"!=typeof e&&"function"!=typeof e)return{default:e};var r=d(t);if(r&&r.has(e))return r.get(e);var n={},a=Object.defineProperty&&Object.getOwnPropertyDescriptor;for(var o in e)if("default"!==o&&Object.prototype.hasOwnProperty.call(e,o)){var i=a?Object.getOwnPropertyDescriptor(e,o):null;i&&(i.get||i.set)?Object.defineProperty(n,o,i):n[o]=e[o]}return n.default=e,r&&r.set(e,n),n}(r(650)),a=c(r(615)),o=c(r(729)),i=r(65),s=r(237),l=r(972),u=c(r(936));function c(e){return e&&e.__esModule?e:{default:e}}function d(e){if("function"!=typeof WeakMap)return null;var t=new WeakMap,r=new WeakMap;return(d=function(e){return e?r:t})(e)}function p(e,t,r){return(t=function(e){var t=function(e,t){if("object"!=typeof e||null===e)return e;var r=e[Symbol.toPrimitive];if(void 0!==r){var n=r.call(e,"string");if("object"!=typeof n)return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return String(e)}(e);return"symbol"==typeof t?t:String(t)}(t))in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}const h={start:"touchstart",move:"touchmove",stop:"touchend"},f={start:"mousedown",move:"mousemove",stop:"mouseup"};let m=f;class g extends n.Component{constructor(){super(...arguments),p(this,"dragging",!1),p(this,"lastX",NaN),p(this,"lastY",NaN),p(this,"touchIdentifier",null),p(this,"mounted",!1),p(this,"handleDragStart",(e=>{if(this.props.onMouseDown(e),!this.props.allowAnyClick&&"number"==typeof e.button&&0!==e.button)return!1;const t=this.findDOMNode();if(!t||!t.ownerDocument||!t.ownerDocument.body)throw new Error(" not mounted on DragStart!");const{ownerDocument:r}=t;if(this.props.disabled||!(e.target instanceof r.defaultView.Node)||this.props.handle&&!(0,i.matchesSelectorAndParentsTo)(e.target,this.props.handle,t)||this.props.cancel&&(0,i.matchesSelectorAndParentsTo)(e.target,this.props.cancel,t))return;"touchstart"===e.type&&e.preventDefault();const n=(0,i.getTouchIdentifier)(e);this.touchIdentifier=n;const a=(0,s.getControlPosition)(e,n,this);if(null==a)return;const{x:o,y:l}=a,c=(0,s.createCoreData)(this,o,l);(0,u.default)("DraggableCore: handleDragStart: %j",c),(0,u.default)("calling",this.props.onStart),!1!==this.props.onStart(e,c)&&!1!==this.mounted&&(this.props.enableUserSelectHack&&(0,i.addUserSelectStyles)(r),this.dragging=!0,this.lastX=o,this.lastY=l,(0,i.addEvent)(r,m.move,this.handleDrag),(0,i.addEvent)(r,m.stop,this.handleDragStop))})),p(this,"handleDrag",(e=>{const t=(0,s.getControlPosition)(e,this.touchIdentifier,this);if(null==t)return;let{x:r,y:n}=t;if(Array.isArray(this.props.grid)){let e=r-this.lastX,t=n-this.lastY;if([e,t]=(0,s.snapToGrid)(this.props.grid,e,t),!e&&!t)return;r=this.lastX+e,n=this.lastY+t}const a=(0,s.createCoreData)(this,r,n);if((0,u.default)("DraggableCore: handleDrag: %j",a),!1!==this.props.onDrag(e,a)&&!1!==this.mounted)this.lastX=r,this.lastY=n;else try{this.handleDragStop(new MouseEvent("mouseup"))}catch(e){const t=document.createEvent("MouseEvents");t.initMouseEvent("mouseup",!0,!0,window,0,0,0,0,0,!1,!1,!1,!1,0,null),this.handleDragStop(t)}})),p(this,"handleDragStop",(e=>{if(!this.dragging)return;const t=(0,s.getControlPosition)(e,this.touchIdentifier,this);if(null==t)return;let{x:r,y:n}=t;if(Array.isArray(this.props.grid)){let e=r-this.lastX||0,t=n-this.lastY||0;[e,t]=(0,s.snapToGrid)(this.props.grid,e,t),r=this.lastX+e,n=this.lastY+t}const a=(0,s.createCoreData)(this,r,n);if(!1===this.props.onStop(e,a)||!1===this.mounted)return!1;const o=this.findDOMNode();o&&this.props.enableUserSelectHack&&(0,i.removeUserSelectStyles)(o.ownerDocument),(0,u.default)("DraggableCore: handleDragStop: %j",a),this.dragging=!1,this.lastX=NaN,this.lastY=NaN,o&&((0,u.default)("DraggableCore: Removing handlers"),(0,i.removeEvent)(o.ownerDocument,m.move,this.handleDrag),(0,i.removeEvent)(o.ownerDocument,m.stop,this.handleDragStop))})),p(this,"onMouseDown",(e=>(m=f,this.handleDragStart(e)))),p(this,"onMouseUp",(e=>(m=f,this.handleDragStop(e)))),p(this,"onTouchStart",(e=>(m=h,this.handleDragStart(e)))),p(this,"onTouchEnd",(e=>(m=h,this.handleDragStop(e))))}componentDidMount(){this.mounted=!0;const e=this.findDOMNode();e&&(0,i.addEvent)(e,h.start,this.onTouchStart,{passive:!1})}componentWillUnmount(){this.mounted=!1;const e=this.findDOMNode();if(e){const{ownerDocument:t}=e;(0,i.removeEvent)(t,f.move,this.handleDrag),(0,i.removeEvent)(t,h.move,this.handleDrag),(0,i.removeEvent)(t,f.stop,this.handleDragStop),(0,i.removeEvent)(t,h.stop,this.handleDragStop),(0,i.removeEvent)(e,h.start,this.onTouchStart,{passive:!1}),this.props.enableUserSelectHack&&(0,i.removeUserSelectStyles)(t)}}findDOMNode(){var e,t;return null!==(e=this.props)&&void 0!==e&&e.nodeRef?null===(t=this.props)||void 0===t||null===(t=t.nodeRef)||void 0===t?void 0:t.current:o.default.findDOMNode(this)}render(){return n.cloneElement(n.Children.only(this.props.children),{onMouseDown:this.onMouseDown,onMouseUp:this.onMouseUp,onTouchEnd:this.onTouchEnd})}}t.default=g,p(g,"displayName","DraggableCore"),p(g,"propTypes",{allowAnyClick:a.default.bool,children:a.default.node.isRequired,disabled:a.default.bool,enableUserSelectHack:a.default.bool,offsetParent:function(e,t){if(e[t]&&1!==e[t].nodeType)throw new Error("Draggable's offsetParent must be a DOM Node.")},grid:a.default.arrayOf(a.default.number),handle:a.default.string,cancel:a.default.string,nodeRef:a.default.object,onStart:a.default.func,onDrag:a.default.func,onStop:a.default.func,onMouseDown:a.default.func,scale:a.default.number,className:l.dontSetMe,style:l.dontSetMe,transform:l.dontSetMe}),p(g,"defaultProps",{allowAnyClick:!1,disabled:!1,enableUserSelectHack:!0,onStart:function(){},onDrag:function(){},onStop:function(){},onMouseDown:function(){},scale:1})},529:(e,t,r)=>{"use strict";const{default:n,DraggableCore:a}=r(322);e.exports=n,e.exports.default=n,e.exports.DraggableCore=a},65:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.addClassName=u,t.addEvent=function(e,t,r,n){if(!e)return;const a={capture:!0,...n};e.addEventListener?e.addEventListener(t,r,a):e.attachEvent?e.attachEvent("on"+t,r):e["on"+t]=r},t.addUserSelectStyles=function(e){if(!e)return;let t=e.getElementById("react-draggable-style-el");t||(t=e.createElement("style"),t.type="text/css",t.id="react-draggable-style-el",t.innerHTML=".react-draggable-transparent-selection *::-moz-selection {all: inherit;}\n",t.innerHTML+=".react-draggable-transparent-selection *::selection {all: inherit;}\n",e.getElementsByTagName("head")[0].appendChild(t)),e.body&&u(e.body,"react-draggable-transparent-selection")},t.createCSSTransform=function(e,t){const r=l(e,t,"px");return{[(0,a.browserPrefixToKey)("transform",a.default)]:r}},t.createSVGTransform=function(e,t){return l(e,t,"")},t.getTouch=function(e,t){return e.targetTouches&&(0,n.findInArray)(e.targetTouches,(e=>t===e.identifier))||e.changedTouches&&(0,n.findInArray)(e.changedTouches,(e=>t===e.identifier))},t.getTouchIdentifier=function(e){return e.targetTouches&&e.targetTouches[0]?e.targetTouches[0].identifier:e.changedTouches&&e.changedTouches[0]?e.changedTouches[0].identifier:void 0},t.getTranslation=l,t.innerHeight=function(e){let t=e.clientHeight;const r=e.ownerDocument.defaultView.getComputedStyle(e);return t-=(0,n.int)(r.paddingTop),t-=(0,n.int)(r.paddingBottom),t},t.innerWidth=function(e){let t=e.clientWidth;const r=e.ownerDocument.defaultView.getComputedStyle(e);return t-=(0,n.int)(r.paddingLeft),t-=(0,n.int)(r.paddingRight),t},t.matchesSelector=s,t.matchesSelectorAndParentsTo=function(e,t,r){let n=e;do{if(s(n,t))return!0;if(n===r)return!1;n=n.parentNode}while(n);return!1},t.offsetXYFromParent=function(e,t,r){const n=t===t.ownerDocument.body?{left:0,top:0}:t.getBoundingClientRect();return{x:(e.clientX+t.scrollLeft-n.left)/r,y:(e.clientY+t.scrollTop-n.top)/r}},t.outerHeight=function(e){let t=e.clientHeight;const r=e.ownerDocument.defaultView.getComputedStyle(e);return t+=(0,n.int)(r.borderTopWidth),t+=(0,n.int)(r.borderBottomWidth),t},t.outerWidth=function(e){let t=e.clientWidth;const r=e.ownerDocument.defaultView.getComputedStyle(e);return t+=(0,n.int)(r.borderLeftWidth),t+=(0,n.int)(r.borderRightWidth),t},t.removeClassName=c,t.removeEvent=function(e,t,r,n){if(!e)return;const a={capture:!0,...n};e.removeEventListener?e.removeEventListener(t,r,a):e.detachEvent?e.detachEvent("on"+t,r):e["on"+t]=null},t.removeUserSelectStyles=function(e){if(e)try{if(e.body&&c(e.body,"react-draggable-transparent-selection"),e.selection)e.selection.empty();else{const t=(e.defaultView||window).getSelection();t&&"Caret"!==t.type&&t.removeAllRanges()}}catch(e){}};var n=r(972),a=function(e,t){if(e&&e.__esModule)return e;if(null===e||"object"!=typeof e&&"function"!=typeof e)return{default:e};var r=o(t);if(r&&r.has(e))return r.get(e);var n={},a=Object.defineProperty&&Object.getOwnPropertyDescriptor;for(var i in e)if("default"!==i&&Object.prototype.hasOwnProperty.call(e,i)){var s=a?Object.getOwnPropertyDescriptor(e,i):null;s&&(s.get||s.set)?Object.defineProperty(n,i,s):n[i]=e[i]}return n.default=e,r&&r.set(e,n),n}(r(249));function o(e){if("function"!=typeof WeakMap)return null;var t=new WeakMap,r=new WeakMap;return(o=function(e){return e?r:t})(e)}let i="";function s(e,t){return i||(i=(0,n.findInArray)(["matches","webkitMatchesSelector","mozMatchesSelector","msMatchesSelector","oMatchesSelector"],(function(t){return(0,n.isFunction)(e[t])}))),!!(0,n.isFunction)(e[i])&&e[i](t)}function l(e,t,r){let{x:n,y:a}=e,o="translate(".concat(n).concat(r,",").concat(a).concat(r,")");if(t){const e="".concat("string"==typeof t.x?t.x:t.x+r),n="".concat("string"==typeof t.y?t.y:t.y+r);o="translate(".concat(e,", ").concat(n,")")+o}return o}function u(e,t){e.classList?e.classList.add(t):e.className.match(new RegExp("(?:^|\\s)".concat(t,"(?!\\S)")))||(e.className+=" ".concat(t))}function c(e,t){e.classList?e.classList.remove(t):e.className=e.className.replace(new RegExp("(?:^|\\s)".concat(t,"(?!\\S)"),"g"),"")}},249:(e,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.browserPrefixToKey=a,t.browserPrefixToStyle=function(e,t){return t?"-".concat(t.toLowerCase(),"-").concat(e):e},t.default=void 0,t.getPrefix=n;const r=["Moz","Webkit","O","ms"];function n(){var e;let t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:"transform";if("undefined"==typeof window)return"";const n=null===(e=window.document)||void 0===e||null===(e=e.documentElement)||void 0===e?void 0:e.style;if(!n)return"";if(t in n)return"";for(let e=0;e{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.default=function(){}},237:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.canDragX=function(e){return"both"===e.props.axis||"x"===e.props.axis},t.canDragY=function(e){return"both"===e.props.axis||"y"===e.props.axis},t.createCoreData=function(e,t,r){const a=!(0,n.isNum)(e.lastX),i=o(e);return a?{node:i,deltaX:0,deltaY:0,lastX:t,lastY:r,x:t,y:r}:{node:i,deltaX:t-e.lastX,deltaY:r-e.lastY,lastX:e.lastX,lastY:e.lastY,x:t,y:r}},t.createDraggableData=function(e,t){const r=e.props.scale;return{node:t.node,x:e.state.x+t.deltaX/r,y:e.state.y+t.deltaY/r,deltaX:t.deltaX/r,deltaY:t.deltaY/r,lastX:e.state.x,lastY:e.state.y}},t.getBoundPosition=function(e,t,r){if(!e.props.bounds)return[t,r];let{bounds:i}=e.props;i="string"==typeof i?i:function(e){return{left:e.left,top:e.top,right:e.right,bottom:e.bottom}}(i);const s=o(e);if("string"==typeof i){const{ownerDocument:e}=s,t=e.defaultView;let r;if(r="parent"===i?s.parentNode:e.querySelector(i),!(r instanceof t.HTMLElement))throw new Error('Bounds selector "'+i+'" could not find an element.');const o=r,l=t.getComputedStyle(s),u=t.getComputedStyle(o);i={left:-s.offsetLeft+(0,n.int)(u.paddingLeft)+(0,n.int)(l.marginLeft),top:-s.offsetTop+(0,n.int)(u.paddingTop)+(0,n.int)(l.marginTop),right:(0,a.innerWidth)(o)-(0,a.outerWidth)(s)-s.offsetLeft+(0,n.int)(u.paddingRight)-(0,n.int)(l.marginRight),bottom:(0,a.innerHeight)(o)-(0,a.outerHeight)(s)-s.offsetTop+(0,n.int)(u.paddingBottom)-(0,n.int)(l.marginBottom)}}return(0,n.isNum)(i.right)&&(t=Math.min(t,i.right)),(0,n.isNum)(i.bottom)&&(r=Math.min(r,i.bottom)),(0,n.isNum)(i.left)&&(t=Math.max(t,i.left)),(0,n.isNum)(i.top)&&(r=Math.max(r,i.top)),[t,r]},t.getControlPosition=function(e,t,r){const n="number"==typeof t?(0,a.getTouch)(e,t):null;if("number"==typeof t&&!n)return null;const i=o(r),s=r.props.offsetParent||i.offsetParent||i.ownerDocument.body;return(0,a.offsetXYFromParent)(n||e,s,r.props.scale)},t.snapToGrid=function(e,t,r){return[Math.round(t/e[0])*e[0],Math.round(r/e[1])*e[1]]};var n=r(972),a=r(65);function o(e){const t=e.findDOMNode();if(!t)throw new Error(": Unmounted during event!");return t}},972:(e,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.dontSetMe=function(e,t,r){if(e[t])return new Error("Invalid prop ".concat(t," passed to ").concat(r," - do not set this, set it on the child."))},t.findInArray=function(e,t){for(let r=0,n=e.length;r{"use strict";function n(e){return n="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},n(e)}Object.defineProperty(t,"__esModule",{value:!0}),t.default=void 0;var a=p(r(650)),o=p(r(615)),i=r(529),s=r(26),l=r(728),u=r(284),c=r(288),d=p(r(944));function p(e){return e&&e.__esModule?e:{default:e}}function h(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),r.push.apply(r,n)}return r}function f(e){for(var t=1;t0&&void 0!==arguments[0]?arguments[0]:this.props;return{cols:e.cols,containerPadding:e.containerPadding,containerWidth:e.containerWidth,margin:e.margin,maxRows:e.maxRows,rowHeight:e.rowHeight}}},{key:"createStyle",value:function(e){var t,r=this.props,n=r.usePercentages,a=r.containerWidth;return r.useCSSTransforms?t=(0,l.setTransform)(e):(t=(0,l.setTopLeft)(e),n&&(t.left=(0,l.perc)(e.left/a),t.width=(0,l.perc)(e.width/a))),t}},{key:"mixinDraggable",value:function(e,t){return a.default.createElement(i.DraggableCore,{disabled:!t,onStart:this.onDragStart,onDrag:this.onDrag,onStop:this.onDragStop,handle:this.props.handle,cancel:".react-resizable-handle"+(this.props.cancel?","+this.props.cancel:""),scale:this.props.transformScale,nodeRef:this.elementRef},e)}},{key:"mixinResizable",value:function(e,t,r){var n=this.props,o=n.cols,i=n.x,l=n.minW,c=n.minH,d=n.maxW,p=n.maxH,h=n.transformScale,f=n.resizeHandles,m=n.resizeHandle,g=this.getPositionParams(),y=(0,u.calcGridItemPosition)(g,0,0,o-i,0).width,b=(0,u.calcGridItemPosition)(g,0,0,l,c),v=(0,u.calcGridItemPosition)(g,0,0,d,p),w=[b.width,b.height],S=[Math.min(v.width,y),Math.min(v.height,1/0)];return a.default.createElement(s.Resizable,{draggableOpts:{disabled:!r},className:r?void 0:"react-resizable-hide",width:t.width,height:t.height,minConstraints:w,maxConstraints:S,onResizeStop:this.onResizeStop,onResizeStart:this.onResizeStart,onResize:this.onResize,transformScale:h,resizeHandles:f,handle:m},e)}},{key:"onResizeHandler",value:function(e,t,r){var n=t.node,a=t.size,o=this.props[r];if(o){var i=this.props,s=i.cols,l=i.x,c=i.y,d=i.i,p=i.maxH,h=i.minH,f=this.props,m=f.minW,g=f.maxW,y=(0,u.calcWH)(this.getPositionParams(),a.width,a.height,l,c),b=y.w,v=y.h;m=Math.max(m,1),g=Math.min(g,s-l),b=(0,u.clamp)(b,m,g),v=(0,u.clamp)(v,h,p),this.setState({resizing:"onResizeStop"===r?null:a}),o.call(this,d,b,v,{e,node:n,size:a})}}},{key:"render",value:function(){var e=this.props,t=e.x,r=e.y,n=e.w,o=e.h,i=e.isDraggable,s=e.isResizable,l=e.droppingPosition,c=e.useCSSTransforms,p=(0,u.calcGridItemPosition)(this.getPositionParams(),t,r,n,o,this.state),h=a.default.Children.only(this.props.children),m=a.default.cloneElement(h,{ref:this.elementRef,className:(0,d.default)("react-grid-item",h.props.className,this.props.className,{static:this.props.static,resizing:Boolean(this.state.resizing),"react-draggable":i,"react-draggable-dragging":Boolean(this.state.dragging),dropping:Boolean(l),cssTransforms:c}),style:f(f(f({},this.props.style),h.props.style),this.createStyle(p))});return m=this.mixinResizable(m,p,s),this.mixinDraggable(m,i)}}],r&&m(t.prototype,r),Object.defineProperty(t,"prototype",{writable:!1}),h}(a.default.Component);t.default=w,v(w,"propTypes",{children:o.default.element,cols:o.default.number.isRequired,containerWidth:o.default.number.isRequired,rowHeight:o.default.number.isRequired,margin:o.default.array.isRequired,maxRows:o.default.number.isRequired,containerPadding:o.default.array.isRequired,x:o.default.number.isRequired,y:o.default.number.isRequired,w:o.default.number.isRequired,h:o.default.number.isRequired,minW:function(e,t){var r=e[t];return"number"!=typeof r?new Error("minWidth not Number"):r>e.w||r>e.maxW?new Error("minWidth larger than item width/maxWidth"):void 0},maxW:function(e,t){var r=e[t];return"number"!=typeof r?new Error("maxWidth not Number"):re.h||r>e.maxH?new Error("minHeight larger than item height/maxHeight"):void 0},maxH:function(e,t){var r=e[t];return"number"!=typeof r?new Error("maxHeight not Number"):r{"use strict";function n(e){return n="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},n(e)}Object.defineProperty(t,"__esModule",{value:!0}),t.default=void 0;var a=function(e,t){if(e&&e.__esModule)return e;if(null===e||"object"!==n(e)&&"function"!=typeof e)return{default:e};var r=p(t);if(r&&r.has(e))return r.get(e);var a={},o=Object.defineProperty&&Object.getOwnPropertyDescriptor;for(var i in e)if("default"!==i&&Object.prototype.hasOwnProperty.call(e,i)){var s=o?Object.getOwnPropertyDescriptor(e,i):null;s&&(s.get||s.set)?Object.defineProperty(a,i,s):a[i]=e[i]}return a.default=e,r&&r.set(e,a),a}(r(650)),o=d(r(4)),i=d(r(944)),s=r(728),l=r(284),u=d(r(275)),c=d(r(288));function d(e){return e&&e.__esModule?e:{default:e}}function p(e){if("function"!=typeof WeakMap)return null;var t=new WeakMap,r=new WeakMap;return(p=function(e){return e?r:t})(e)}function h(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),r.push.apply(r,n)}return r}function f(e){for(var t=1;te.length)&&(t=e.length);for(var r=0,n=new Array(t);r0){var o=1/0,i=1/0;a.forEach((function(t){t.x>e.x&&(o=Math.min(o,t.x)),t.y>e.y&&(i=Math.min(i,t.y))})),Number.isFinite(o)&&(e.w=o-e.x),Number.isFinite(i)&&(e.h=i-e.y)}}return t||(e.w=r,e.h=n),e})),b=function(e,t){return function(e){if(Array.isArray(e))return e}(e)||function(e,t){var r=null==e?null:"undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(null!=r){var n,a,o=[],i=!0,s=!1;try{for(r=r.call(e);!(i=(n=r.next()).done)&&(o.push(n.value),!t||o.length!==t);i=!0);}catch(e){s=!0,a=e}finally{try{i||null==r.return||r.return()}finally{if(s)throw a}}return o}}(e,t)||m(e,t)||function(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}(y,2),v=b[0],w=b[1];if(w){var S={w:w.w,h:w.h,x:w.x,y:w.y,static:!0,i:t};e.props.onResize(v,c,w,S,o,i),e.setState({layout:g?v:(0,s.compact)(v,(0,s.compactType)(e.props),p),activeDrag:S})}})),S(v(e),"onResizeStop",(function(t,r,n,a){var o=a.e,i=a.node,l=e.state,u=l.layout,c=l.oldResizeItem,d=e.props,p=d.cols,h=d.allowOverlap,f=(0,s.getLayoutItem)(u,t);e.props.onResizeStop(u,c,f,null,o,i);var m=h?u:(0,s.compact)(u,(0,s.compactType)(e.props),p),g=e.state.oldLayout;e.setState({activeDrag:null,layout:m,oldResizeItem:null,oldLayout:null}),e.onLayoutMaybeChanged(m,g)})),S(v(e),"onDragOver",(function(t){var r;if(t.preventDefault(),t.stopPropagation(),O&&(null===(r=t.nativeEvent.target)||void 0===r||!r.classList.contains(_)))return!1;var n=e.props,o=n.droppingItem,i=n.onDropDragOver,s=n.margin,u=n.cols,c=n.rowHeight,d=n.maxRows,p=n.width,h=n.containerPadding,y=n.transformScale,b=null==i?void 0:i(t);if(!1===b)return e.state.droppingDOMNode&&e.removeDroppingPlaceholder(),!1;var v,w=f(f({},o),b),S=e.state.layout,x=t.nativeEvent,C=x.layerX,P=x.layerY,D={left:C/y,top:P/y,e:t};if(e.state.droppingDOMNode){if(e.state.droppingPosition){var E=e.state.droppingPosition,R=E.left,j=E.top;(R!=C||j!=P)&&e.setState({droppingPosition:D})}}else{var T={cols:u,margin:s,maxRows:d,rowHeight:c,containerWidth:p,containerPadding:h||s},k=(0,l.calcXY)(T,P,C,w.w,w.h);e.setState({droppingDOMNode:a.createElement("div",{key:w.i}),droppingPosition:D,layout:[].concat((v=S,function(e){if(Array.isArray(e))return g(e)}(v)||function(e){if("undefined"!=typeof Symbol&&null!=e[Symbol.iterator]||null!=e["@@iterator"])return Array.from(e)}(v)||m(v)||function(){throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()),[f(f({},w),{},{x:k.x,y:k.y,static:!1,isDraggable:!0})])})}})),S(v(e),"removeDroppingPlaceholder",(function(){var t=e.props,r=t.droppingItem,n=t.cols,a=e.state.layout,o=(0,s.compact)(a.filter((function(e){return e.i!==r.i})),(0,s.compactType)(e.props),n);e.setState({layout:o,droppingDOMNode:null,activeDrag:null,droppingPosition:void 0})})),S(v(e),"onDragLeave",(function(t){t.preventDefault(),t.stopPropagation(),e.dragEnterCounter--,0===e.dragEnterCounter&&e.removeDroppingPlaceholder()})),S(v(e),"onDragEnter",(function(t){t.preventDefault(),t.stopPropagation(),e.dragEnterCounter++})),S(v(e),"onDrop",(function(t){t.preventDefault(),t.stopPropagation();var r=e.props.droppingItem,n=e.state.layout,a=n.find((function(e){return e.i===r.i}));e.dragEnterCounter=0,e.removeDroppingPlaceholder(),e.props.onDrop(n,a,t)})),e}return t=x,c=[{key:"getDerivedStateFromProps",value:function(e,t){var r;return t.activeDrag?null:((0,o.default)(e.layout,t.propsLayout)&&e.compactType===t.compactType?(0,s.childrenEqual)(e.children,t.children)||(r=t.layout):r=e.layout,r?{layout:(0,s.synchronizeLayoutWithChildren)(r,e.children,e.cols,(0,s.compactType)(e),e.allowOverlap),compactType:e.compactType,children:e.children,propsLayout:e.layout}:null)}}],(r=[{key:"componentDidMount",value:function(){this.setState({mounted:!0}),this.onLayoutMaybeChanged(this.state.layout,this.props.layout)}},{key:"shouldComponentUpdate",value:function(e,t){return this.props.children!==e.children||!(0,s.fastRGLPropsEqual)(this.props,e,o.default)||this.state.activeDrag!==t.activeDrag||this.state.mounted!==t.mounted||this.state.droppingPosition!==t.droppingPosition}},{key:"componentDidUpdate",value:function(e,t){if(!this.state.activeDrag){var r=this.state.layout,n=t.layout;this.onLayoutMaybeChanged(r,n)}}},{key:"containerHeight",value:function(){if(this.props.autoSize){var e=(0,s.bottom)(this.state.layout),t=this.props.containerPadding?this.props.containerPadding[1]:this.props.margin[1];return e*this.props.rowHeight+(e-1)*this.props.margin[1]+2*t+"px"}}},{key:"onLayoutMaybeChanged",value:function(e,t){t||(t=this.state.layout),(0,o.default)(t,e)||this.props.onLayoutChange(e)}},{key:"placeholder",value:function(){var e=this.state.activeDrag;if(!e)return null;var t=this.props,r=t.width,n=t.cols,o=t.margin,i=t.containerPadding,s=t.rowHeight,l=t.maxRows,c=t.useCSSTransforms,d=t.transformScale;return a.createElement(u.default,{w:e.w,h:e.h,x:e.x,y:e.y,i:e.i,className:"react-grid-placeholder",containerWidth:r,cols:n,margin:o,containerPadding:i||o,maxRows:l,rowHeight:s,isDraggable:!1,isResizable:!1,isBounded:!1,useCSSTransforms:c,transformScale:d},a.createElement("div",null))}},{key:"processGridItem",value:function(e,t){if(e&&e.key){var r=(0,s.getLayoutItem)(this.state.layout,String(e.key));if(!r)return null;var n=this.props,o=n.width,i=n.cols,l=n.margin,c=n.containerPadding,d=n.rowHeight,p=n.maxRows,h=n.isDraggable,f=n.isResizable,m=n.isBounded,g=n.useCSSTransforms,y=n.transformScale,b=n.draggableCancel,v=n.draggableHandle,w=n.resizeHandles,S=n.resizeHandle,_=this.state,O=_.mounted,x=_.droppingPosition,C="boolean"==typeof r.isDraggable?r.isDraggable:!r.static&&h,P="boolean"==typeof r.isResizable?r.isResizable:!r.static&&f,D=r.resizeHandles||w,E=C&&m&&!1!==r.isBounded;return a.createElement(u.default,{containerWidth:o,cols:i,margin:l,containerPadding:c||l,maxRows:p,rowHeight:d,cancel:b,handle:v,onDragStop:this.onDragStop,onDragStart:this.onDragStart,onDrag:this.onDrag,onResizeStart:this.onResizeStart,onResize:this.onResize,onResizeStop:this.onResizeStop,isDraggable:C,isResizable:P,isBounded:E,useCSSTransforms:g&&O,usePercentages:!O,transformScale:y,w:r.w,h:r.h,x:r.x,y:r.y,i:r.i,minH:r.minH,minW:r.minW,maxH:r.maxH,maxW:r.maxW,static:r.static,droppingPosition:t?x:void 0,resizeHandles:D,resizeHandle:S},e)}}},{key:"render",value:function(){var e=this,t=this.props,r=t.className,n=t.style,o=t.isDroppable,l=t.innerRef,u=(0,i.default)(_,r),c=f({height:this.containerHeight()},n);return a.createElement("div",{ref:l,className:u,style:c,onDrop:o?this.onDrop:s.noop,onDragLeave:o?this.onDragLeave:s.noop,onDragEnter:o?this.onDragEnter:s.noop,onDragOver:o?this.onDragOver:s.noop},a.Children.map(this.props.children,(function(t){return e.processGridItem(t)})),o&&this.state.droppingDOMNode&&this.processGridItem(this.state.droppingDOMNode,!0),this.placeholder())}}])&&y(t.prototype,r),c&&y(t,c),Object.defineProperty(t,"prototype",{writable:!1}),x}(a.Component);t.default=x,S(x,"displayName","ReactGridLayout"),S(x,"propTypes",c.default),S(x,"defaultProps",{autoSize:!0,cols:12,className:"",style:{},draggableHandle:"",draggableCancel:"",containerPadding:null,rowHeight:150,maxRows:1/0,layout:[],margin:[10,10],isBounded:!1,isDraggable:!0,isResizable:!0,allowOverlap:!1,isDroppable:!1,useCSSTransforms:!0,transformScale:1,verticalCompact:!0,compactType:"vertical",preventCollision:!1,droppingItem:{i:"__dropping-elem__",h:1,w:1},resizeHandles:["se"],onLayoutChange:s.noop,onDragStart:s.noop,onDrag:s.noop,onDragStop:s.noop,onResizeStart:s.noop,onResize:s.noop,onResizeStop:s.noop,onDrop:s.noop,onDropDragOver:s.noop})},288:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.resizeHandleType=t.resizeHandleAxesType=t.default=void 0;var n=o(r(615)),a=o(r(650));function o(e){return e&&e.__esModule?e:{default:e}}var i=n.default.arrayOf(n.default.oneOf(["s","w","e","n","sw","nw","se","ne"]));t.resizeHandleAxesType=i;var s=n.default.oneOfType([n.default.node,n.default.func]);t.resizeHandleType=s;var l={className:n.default.string,style:n.default.object,width:n.default.number,autoSize:n.default.bool,cols:n.default.number,draggableCancel:n.default.string,draggableHandle:n.default.string,verticalCompact:function(e){e.verticalCompact},compactType:n.default.oneOf(["vertical","horizontal"]),layout:function(e){var t=e.layout;void 0!==t&&r(728).validateLayout(t,"layout")},margin:n.default.arrayOf(n.default.number),containerPadding:n.default.arrayOf(n.default.number),rowHeight:n.default.number,maxRows:n.default.number,isBounded:n.default.bool,isDraggable:n.default.bool,isResizable:n.default.bool,allowOverlap:n.default.bool,preventCollision:n.default.bool,useCSSTransforms:n.default.bool,transformScale:n.default.number,isDroppable:n.default.bool,resizeHandles:i,resizeHandle:s,onLayoutChange:n.default.func,onDragStart:n.default.func,onDrag:n.default.func,onDragStop:n.default.func,onResizeStart:n.default.func,onResize:n.default.func,onResizeStop:n.default.func,onDrop:n.default.func,droppingItem:n.default.shape({i:n.default.string.isRequired,w:n.default.number.isRequired,h:n.default.number.isRequired}),children:function(e,t){var r=e[t],n={};a.default.Children.forEach(r,(function(e){if(null!=(null==e?void 0:e.key)){if(n[e.key])throw new Error('Duplicate child key "'+e.key+'" found! This will cause problems in ReactGridLayout.');n[e.key]=!0}}))},innerRef:n.default.any};t.default=l},255:(e,t,r)=>{"use strict";function n(e){return n="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},n(e)}t.default=void 0;var a=function(e,t){if(e&&e.__esModule)return e;if(null===e||"object"!==n(e)&&"function"!=typeof e)return{default:e};var r=p(t);if(r&&r.has(e))return r.get(e);var a={},o=Object.defineProperty&&Object.getOwnPropertyDescriptor;for(var i in e)if("default"!==i&&Object.prototype.hasOwnProperty.call(e,i)){var s=o?Object.getOwnPropertyDescriptor(e,i):null;s&&(s.get||s.set)?Object.defineProperty(a,i,s):a[i]=e[i]}return a.default=e,r&&r.set(e,a),a}(r(650)),o=d(r(615)),i=d(r(4)),s=r(728),l=r(119),u=d(r(402)),c=["breakpoint","breakpoints","cols","layouts","margin","containerPadding","onBreakpointChange","onLayoutChange","onWidthChange"];function d(e){return e&&e.__esModule?e:{default:e}}function p(e){if("function"!=typeof WeakMap)return null;var t=new WeakMap,r=new WeakMap;return(p=function(e){return e?r:t})(e)}function h(){return h=Object.assign||function(e){for(var t=1;t=0||(a[r]=e[r]);return a}(e,t);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(e);for(n=0;n=0||Object.prototype.propertyIsEnumerable.call(e,r)&&(a[r]=e[r])}return a}(e,c));return a.createElement(u.default,h({},n,{margin:_(t,this.state.breakpoint),containerPadding:_(r,this.state.breakpoint),onLayoutChange:this.onLayoutChange,layout:this.state.layout,cols:this.state.cols}))}}])&&g(t.prototype,r),o&&g(t,o),Object.defineProperty(t,"prototype",{writable:!1}),S}(a.Component);t.default=O,w(O,"propTypes",{breakpoint:o.default.string,breakpoints:o.default.object,allowOverlap:o.default.bool,cols:o.default.object,margin:o.default.oneOfType([o.default.array,o.default.object]),containerPadding:o.default.oneOfType([o.default.array,o.default.object]),layouts:function(e,t){if("[object Object]"!==S(e[t]))throw new Error("Layout property must be an object. Received: "+S(e[t]));Object.keys(e[t]).forEach((function(t){if(!(t in e.breakpoints))throw new Error("Each key in layouts must align with a key in breakpoints.");(0,s.validateLayout)(e.layouts[t],"layouts."+t)}))},width:o.default.number.isRequired,onBreakpointChange:o.default.func,onLayoutChange:o.default.func,onWidthChange:o.default.func}),w(O,"defaultProps",{breakpoints:{lg:1200,md:996,sm:768,xs:480,xxs:0},cols:{lg:12,md:10,sm:6,xs:4,xxs:2},containerPadding:{lg:null,md:null,sm:null,xs:null,xxs:null},layouts:{},margin:[10,10],allowOverlap:!1,onBreakpointChange:s.noop,onLayoutChange:s.noop,onWidthChange:s.noop})},284:(e,t)=>{"use strict";function r(e){var t=e.margin,r=e.containerPadding,n=e.containerWidth,a=e.cols;return(n-t[0]*(a-1)-2*r[0])/a}function n(e,t,r){return Number.isFinite(e)?Math.round(t*e+Math.max(0,e-1)*r):e}function a(e,t,r){return Math.max(Math.min(e,r),t)}Object.defineProperty(t,"__esModule",{value:!0}),t.calcGridColWidth=r,t.calcGridItemPosition=function(e,t,a,o,i,s){var l=e.margin,u=e.containerPadding,c=e.rowHeight,d=r(e),p={};return s&&s.resizing?(p.width=Math.round(s.resizing.width),p.height=Math.round(s.resizing.height)):(p.width=n(o,d,l[0]),p.height=n(i,c,l[1])),s&&s.dragging?(p.top=Math.round(s.dragging.top),p.left=Math.round(s.dragging.left)):(p.top=Math.round((c+l[1])*a+u[1]),p.left=Math.round((d+l[0])*t+u[0])),p},t.calcGridItemWHPx=n,t.calcWH=function(e,t,n,o,i){var s=e.margin,l=e.maxRows,u=e.cols,c=e.rowHeight,d=r(e),p=Math.round((t+s[0])/(d+s[0])),h=Math.round((n+s[1])/(c+s[1]));return{w:p=a(p,0,u-o),h:h=a(h,0,l-i)}},t.calcXY=function(e,t,n,o,i){var s=e.margin,l=e.cols,u=e.rowHeight,c=e.maxRows,d=r(e),p=Math.round((n-s[0])/(d+s[0])),h=Math.round((t-s[1])/(u+s[1]));return{x:p=a(p,0,l-o),y:h=a(h,0,c-i)}},t.clamp=a},22:(e,t,r)=>{"use strict";function n(e){return n="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},n(e)}t.default=function(e){var t;return t=function(t){!function(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function");e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,writable:!0,configurable:!0}}),Object.defineProperty(e,"prototype",{writable:!1}),t&&p(e,t)}(b,t);var r,o,l,u,y=(r=b,o=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){}))),!0}catch(e){return!1}}(),function(){var e,t=f(r);if(o){var a=f(this).constructor;e=Reflect.construct(t,arguments,a)}else e=t.apply(this,arguments);return function(e,t){if(t&&("object"===n(t)||"function"==typeof t))return t;if(void 0!==t)throw new TypeError("Derived constructors may only return object or undefined");return h(e)}(this,e)});function b(){var e;!function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,b);for(var t=arguments.length,r=new Array(t),n=0;n=0||(a[r]=e[r]);return a}(e,t);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(e);for(n=0;n=0||Object.prototype.propertyIsEnumerable.call(e,r)&&(a[r]=e[r])}return a}(t,s);return r&&!this.mounted?a.createElement("div",{className:(0,i.default)(this.props.className,g),style:this.props.style,ref:this.elementRef}):a.createElement(e,c({innerRef:this.elementRef},n,this.state))}}])&&d(l.prototype,u),Object.defineProperty(l,"prototype",{writable:!1}),b}(a.Component),m(t,"defaultProps",{measureBeforeMount:!1}),m(t,"propTypes",{measureBeforeMount:o.default.bool}),t};var a=function(e,t){if(e&&e.__esModule)return e;if(null===e||"object"!==n(e)&&"function"!=typeof e)return{default:e};var r=u(t);if(r&&r.has(e))return r.get(e);var a={},o=Object.defineProperty&&Object.getOwnPropertyDescriptor;for(var i in e)if("default"!==i&&Object.prototype.hasOwnProperty.call(e,i)){var s=o?Object.getOwnPropertyDescriptor(e,i):null;s&&(s.get||s.set)?Object.defineProperty(a,i,s):a[i]=e[i]}return a.default=e,r&&r.set(e,a),a}(r(650)),o=l(r(615)),i=l(r(944)),s=["measureBeforeMount"];function l(e){return e&&e.__esModule?e:{default:e}}function u(e){if("function"!=typeof WeakMap)return null;var t=new WeakMap,r=new WeakMap;return(u=function(e){return e?r:t})(e)}function c(){return c=Object.assign||function(e){for(var t=1;t{e.exports=function(e,t,r){return e===t||e.className===t.className&&r(e.style,t.style)&&e.width===t.width&&e.autoSize===t.autoSize&&e.cols===t.cols&&e.draggableCancel===t.draggableCancel&&e.draggableHandle===t.draggableHandle&&r(e.verticalCompact,t.verticalCompact)&&r(e.compactType,t.compactType)&&r(e.layout,t.layout)&&r(e.margin,t.margin)&&r(e.containerPadding,t.containerPadding)&&e.rowHeight===t.rowHeight&&e.maxRows===t.maxRows&&e.isBounded===t.isBounded&&e.isDraggable===t.isDraggable&&e.isResizable===t.isResizable&&e.allowOverlap===t.allowOverlap&&e.preventCollision===t.preventCollision&&e.useCSSTransforms===t.useCSSTransforms&&e.transformScale===t.transformScale&&e.isDroppable===t.isDroppable&&r(e.resizeHandles,t.resizeHandles)&&r(e.resizeHandle,t.resizeHandle)&&e.onLayoutChange===t.onLayoutChange&&e.onDragStart===t.onDragStart&&e.onDrag===t.onDrag&&e.onDragStop===t.onDragStop&&e.onResizeStart===t.onResizeStart&&e.onResize===t.onResize&&e.onResizeStop===t.onResizeStop&&e.onDrop===t.onDrop&&r(e.droppingItem,t.droppingItem)&&r(e.innerRef,t.innerRef)}},119:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.findOrGenerateResponsiveLayout=function(e,t,r,o,i,s){if(e[r])return(0,n.cloneLayout)(e[r]);for(var l=e[o],u=a(t),c=u.slice(u.indexOf(r)),d=0,p=c.length;de[s]&&(n=s)}return n},t.getColsFromBreakpoint=function(e,t){if(!t[e])throw new Error("ResponsiveReactGridLayout: `cols` entry for breakpoint "+e+" is missing!");return t[e]},t.sortBreakpoints=a;var n=r(728);function a(e){return Object.keys(e).sort((function(t,r){return e[t]-e[r]}))}},728:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.bottom=d,t.childrenEqual=function(e,t){return(0,n.default)(a.default.Children.map(e,(function(e){return null==e?void 0:e.key})),a.default.Children.map(t,(function(e){return null==e?void 0:e.key})))},t.cloneLayout=p,t.cloneLayoutItem=f,t.collides=g,t.compact=y,t.compactItem=w,t.compactType=function(e){var t=e||{},r=t.verticalCompact,n=t.compactType;return!1===r?null:n},t.correctBounds=S,t.fastPositionEqual=function(e,t){return e.left===t.left&&e.top===t.top&&e.width===t.width&&e.height===t.height},t.fastRGLPropsEqual=void 0,t.getAllCollisions=x,t.getFirstCollision=O,t.getLayoutItem=_,t.getStatics=C,t.modifyLayout=h,t.moveElement=P,t.moveElementAwayFromCollision=D,t.noop=void 0,t.perc=function(e){return 100*e+"%"},t.setTopLeft=function(e){var t=e.top,r=e.left,n=e.width,a=e.height;return{top:"".concat(t,"px"),left:"".concat(r,"px"),width:"".concat(n,"px"),height:"".concat(a,"px"),position:"absolute"}},t.setTransform=function(e){var t=e.top,r=e.left,n=e.width,a=e.height,o="translate(".concat(r,"px,").concat(t,"px)");return{transform:o,WebkitTransform:o,MozTransform:o,msTransform:o,OTransform:o,width:"".concat(n,"px"),height:"".concat(a,"px"),position:"absolute"}},t.sortLayoutItems=E,t.sortLayoutItemsByColRow=j,t.sortLayoutItemsByRowCol=R,t.synchronizeLayoutWithChildren=function(e,t,r,n,o){e=e||[];var i=[];a.default.Children.forEach(t,(function(t){if(null!=(null==t?void 0:t.key)){var r=_(e,String(t.key));if(r)i.push(f(r));else{!u&&t.props._grid&&console.warn("`_grid` properties on children have been deprecated as of React 15.2. Please use `data-grid` or add your properties directly to the `layout`.");var n=t.props["data-grid"]||t.props._grid;n?(u||T([n],"ReactGridLayout.children"),i.push(f(s(s({},n),{},{i:t.key})))):i.push(f({w:1,h:1,x:0,y:d(i),i:String(t.key)}))}}}));var l=S(i,{cols:r});return o?l:y(l,n,r)},t.validateLayout=T,t.withLayoutItem=function(e,t,r){var n=_(e,t);return n?[e=h(e,n=r(f(n))),n]:[e,null]};var n=o(r(4)),a=o(r(650));function o(e){return e&&e.__esModule?e:{default:e}}function i(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),r.push.apply(r,n)}return r}function s(e){for(var t=1;tr&&(r=t);return r}function p(e){for(var t=Array(e.length),r=0,n=e.length;r=t.x+t.w||e.y+e.h<=t.y||e.y>=t.y+t.h)}function y(e,t,r){for(var n=C(e),a=E(e,t),o=Array(e.length),i=0,s=a.length;it.y+t.h)break;g(t,i)&&v(e,i,r+t[a],n)}}t[n]=r}function w(e,t,r,n,a){var o,i="horizontal"===r;if("vertical"===r)for(t.y=Math.min(d(e),t.y);t.y>0&&!O(e,t);)t.y--;else if(i)for(;t.x>0&&!O(e,t);)t.x--;for(;o=O(e,t);)i?v(a,t,o.x+o.w,"x"):v(a,t,o.y+o.h,"y"),i&&t.x+t.w>n&&(t.x=n-t.w,t.y++);return t.y=Math.max(t.y,0),t.x=Math.max(t.x,0),t}function S(e,t){for(var r=C(e),n=0,a=e.length;nt.cols&&(o.x=t.cols-o.w),o.x<0&&(o.x=0,o.w=t.cols),o.static)for(;O(r,o);)o.y++;else r.push(o)}return e}function _(e,t){for(var r=0,n=e.length;r=n:"horizontal"===i&&"number"==typeof r&&u>=r)&&(d=d.reverse());var h=x(d,t),f=h.length>0;if(f&&l)return p(e);if(f&&o)return k("Collision prevented on ".concat(t.i,", reverting.")),t.x=u,t.y=c,t.moved=!1,e;for(var m=0,g=h.length;mt.y||e.y===t.y&&e.x>t.x?1:e.y===t.y&&e.x===t.x?0:-1}))}function j(e){return e.slice(0).sort((function(e,t){return e.x>t.x||e.x===t.x&&e.y>t.y?1:-1}))}function T(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:"Layout",r=["x","y","w","h"];if(!Array.isArray(e))throw new Error(t+" must be an array!");for(var n=0,a=e.length;n{e.exports=r(402).default,e.exports.utils=r(728),e.exports.Responsive=r(255).default,e.exports.Responsive.utils=r(119),e.exports.WidthProvider=r(22).default},377:(e,t,r)=>{"use strict";t.__esModule=!0,t.default=void 0;var n=function(e,t){if(e&&e.__esModule)return e;if(null===e||"object"!=typeof e&&"function"!=typeof e)return{default:e};var r=l(t);if(r&&r.has(e))return r.get(e);var n={},a=Object.defineProperty&&Object.getOwnPropertyDescriptor;for(var o in e)if("default"!==o&&Object.prototype.hasOwnProperty.call(e,o)){var i=a?Object.getOwnPropertyDescriptor(e,o):null;i&&(i.get||i.set)?Object.defineProperty(n,o,i):n[o]=e[o]}return n.default=e,r&&r.set(e,n),n}(r(650)),a=r(529),o=r(203),i=r(404),s=["children","className","draggableOpts","width","height","handle","handleSize","lockAspectRatio","axis","minConstraints","maxConstraints","onResize","onResizeStop","onResizeStart","resizeHandles","transformScale"];function l(e){if("function"!=typeof WeakMap)return null;var t=new WeakMap,r=new WeakMap;return(l=function(e){return e?r:t})(e)}function u(){return u=Object.assign?Object.assign.bind():function(e){for(var t=1;tMath.abs(l*i)?t=e/i:e=t*i}var u=e,c=t,d=this.slack||[0,0],p=d[0],h=d[1];return e+=p,t+=h,n&&(e=Math.max(n[0],e),t=Math.max(n[1],t)),a&&(e=Math.min(a[0],e),t=Math.min(a[1],t)),this.slack=[p+(u-e),h+(c-t)],[e,t]},l.resizeHandler=function(e,t){var r=this;return function(n,a){var o=a.node,i=a.deltaX,s=a.deltaY;"onResizeStart"===e&&r.resetData();var l=("both"===r.props.axis||"x"===r.props.axis)&&"n"!==t&&"s"!==t,u=("both"===r.props.axis||"y"===r.props.axis)&&"e"!==t&&"w"!==t;if(l||u){var c=t[0],d=t[t.length-1],p=o.getBoundingClientRect();null!=r.lastHandleRect&&("w"===d&&(i+=p.left-r.lastHandleRect.left),"n"===c&&(s+=p.top-r.lastHandleRect.top)),r.lastHandleRect=p,"w"===d&&(i=-i),"n"===c&&(s=-s);var h=r.props.width+(l?i/r.props.transformScale:0),f=r.props.height+(u?s/r.props.transformScale:0),m=r.runConstraints(h,f);h=m[0],f=m[1];var g=h!==r.props.width||f!==r.props.height,y="function"==typeof r.props[e]?r.props[e]:null;y&&!("onResize"===e&&!g)&&(null==n.persist||n.persist(),y(n,{node:o,size:{width:h,height:f},handle:t})),"onResizeStop"===e&&r.resetData()}}},l.renderResizeHandle=function(e,t){var r=this.props.handle;if(!r)return n.createElement("span",{className:"react-resizable-handle react-resizable-handle-"+e,ref:t});if("function"==typeof r)return r(e,t);var a=d({ref:t},"string"==typeof r.type?{}:{handleAxis:e});return n.cloneElement(r,a)},l.render=function(){var e=this,t=this.props,r=t.children,i=t.className,l=t.draggableOpts,c=(t.width,t.height,t.handle,t.handleSize,t.lockAspectRatio,t.axis,t.minConstraints,t.maxConstraints,t.onResize,t.onResizeStop,t.onResizeStart,t.resizeHandles),p=(t.transformScale,function(e,t){if(null==e)return{};var r,n,a={},o=Object.keys(e);for(n=0;n=0||(a[r]=e[r]);return a}(t,s));return(0,o.cloneElement)(r,d(d({},p),{},{className:(i?i+" ":"")+"react-resizable",children:[].concat(r.props.children,c.map((function(t){var r,o=null!=(r=e.handleRefs[t])?r:e.handleRefs[t]=n.createRef();return n.createElement(a.DraggableCore,u({},l,{nodeRef:o,key:"resizableHandle-"+t,onStop:e.resizeHandler("onResizeStop",t),onStart:e.resizeHandler("onResizeStart",t),onDrag:e.resizeHandler("onResize",t)}),e.renderResizeHandle(t,o))})))}))},i}(n.Component);t.default=f,f.propTypes=i.resizableProps,f.defaultProps={axis:"both",handleSize:[20,20],lockAspectRatio:!1,minConstraints:[20,20],maxConstraints:[1/0,1/0],resizeHandles:["se"],transformScale:1}},60:(e,t,r)=>{"use strict";t.default=void 0;var n=function(e,t){if(e&&e.__esModule)return e;if(null===e||"object"!=typeof e&&"function"!=typeof e)return{default:e};var r=u(t);if(r&&r.has(e))return r.get(e);var n={},a=Object.defineProperty&&Object.getOwnPropertyDescriptor;for(var o in e)if("default"!==o&&Object.prototype.hasOwnProperty.call(e,o)){var i=a?Object.getOwnPropertyDescriptor(e,o):null;i&&(i.get||i.set)?Object.defineProperty(n,o,i):n[o]=e[o]}return n.default=e,r&&r.set(e,n),n}(r(650)),a=l(r(615)),o=l(r(377)),i=r(404),s=["handle","handleSize","onResize","onResizeStart","onResizeStop","draggableOpts","minConstraints","maxConstraints","lockAspectRatio","axis","width","height","resizeHandles","style","transformScale"];function l(e){return e&&e.__esModule?e:{default:e}}function u(e){if("function"!=typeof WeakMap)return null;var t=new WeakMap,r=new WeakMap;return(u=function(e){return e?r:t})(e)}function c(){return c=Object.assign?Object.assign.bind():function(e){for(var t=1;t=0||(a[r]=e[r]);return a}(e,s);return n.createElement(o.default,{axis:f,draggableOpts:l,handle:t,handleSize:r,height:this.state.height,lockAspectRatio:h,maxConstraints:d,minConstraints:u,onResizeStart:a,onResize:this.onResize,onResizeStop:i,resizeHandles:m,transformScale:y,width:this.state.width},n.createElement("div",c({},b,{style:p(p({},g),{},{width:this.state.width+"px",height:this.state.height+"px"})})))},a}(n.Component);t.default=m,m.propTypes=p(p({},i.resizableProps),{},{children:a.default.element})},404:(e,t,r)=>{"use strict";t.__esModule=!0,t.resizableProps=void 0;var n,a=(n=r(615))&&n.__esModule?n:{default:n};r(529);var o={axis:a.default.oneOf(["both","x","y","none"]),className:a.default.string,children:a.default.element.isRequired,draggableOpts:a.default.shape({allowAnyClick:a.default.bool,cancel:a.default.string,children:a.default.node,disabled:a.default.bool,enableUserSelectHack:a.default.bool,offsetParent:a.default.node,grid:a.default.arrayOf(a.default.number),handle:a.default.string,nodeRef:a.default.object,onStart:a.default.func,onDrag:a.default.func,onStop:a.default.func,onMouseDown:a.default.func,scale:a.default.number}),height:function(){for(var e=arguments.length,t=new Array(e),r=0;r{"use strict";t.__esModule=!0,t.cloneElement=function(e,t){return t.style&&e.props.style&&(t.style=i(i({},e.props.style),t.style)),t.className&&e.props.className&&(t.className=e.props.className+" "+t.className),a.default.cloneElement(e,t)};var n,a=(n=r(650))&&n.__esModule?n:{default:n};function o(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),r.push.apply(r,n)}return r}function i(e){for(var t=1;t{"use strict";e.exports=function(){throw new Error("Don't instantiate Resizable directly! Use require('react-resizable').Resizable")},e.exports.Resizable=r(377).default,e.exports.ResizableBox=r(60).default},644:e=>{"use strict";e.exports=s},305:t=>{"use strict";t.exports=e},545:e=>{"use strict";e.exports=n},388:e=>{"use strict";e.exports=i},980:e=>{"use strict";e.exports=o},650:e=>{"use strict";e.exports=t},729:e=>{"use strict";e.exports=l},814:e=>{"use strict";e.exports=r},177:e=>{"use strict";e.exports=a}},c={};function d(e){var t=c[e];if(void 0!==t)return t.exports;var r=c[e]={id:e,loaded:!1,exports:{}};return u[e](r,r.exports,d),r.loaded=!0,r.exports}d.n=e=>{var t=e&&e.__esModule?()=>e.default:()=>e;return d.d(t,{a:t}),t},d.d=(e,t)=>{for(var r in t)d.o(t,r)&&!d.o(e,r)&&Object.defineProperty(e,r,{enumerable:!0,get:t[r]})},d.g=function(){if("object"==typeof globalThis)return globalThis;try{return this||new Function("return this")()}catch(e){if("object"==typeof window)return window}}(),d.o=(e,t)=>Object.prototype.hasOwnProperty.call(e,t),d.r=e=>{"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},d.nmd=e=>(e.paths=[],e.children||(e.children=[]),e);var p={};return(()=>{"use strict";d.r(p),d.d(p,{plugin:()=>hu});var e=d(305),t=d(650),r=d.n(t);const n=r().createContext(null);var a=d(814);const o=`/a/${JSON.parse('{"id":"trafficcontrol-scenes-app"}').id}`;var i;!function(e){e.CacheGroup="cache-group",e.DeliveryService="delivery-service",e.Server="server"}(i||(i={}));const s={CACHE_STATS:{uid:"cache_stats",type:"influxdb"},DELIVERYSERVICE_STATS:{uid:"deliveryservice_stats",type:"influxdb"},DAILY_STATS:{uid:"daily_stats",type:"influxdb"},TELEGRAF:{uid:"telegraf",type:"influxdb"}};function l(e){return`${o}/${e}`}var u=d(545),c=Object.defineProperty,h=Object.getOwnPropertySymbols,f=Object.prototype.hasOwnProperty,m=Object.prototype.propertyIsEnumerable,g=(e,t,r)=>t in e?c(e,t,{enumerable:!0,configurable:!0,writable:!0,value:r}):e[t]=r,y=(e,t)=>{for(var r in t||(t={}))f.call(t,r)&&g(e,r,t[r]);if(h)for(var r of h(t))m.call(t,r)&&g(e,r,t[r]);return e};function b(t,r){const n=y({},u.locationService.getSearchObject());if(r)for(const e of Object.keys(n))r.includes(e)||delete n[e];return e.urlUtil.renderUrl(e.locationUtil.assureBaseUrl(t),n)}function v(e,t){return r().createElement(e.Component,{model:e,routeProps:t})}Object.defineProperty,Object.defineProperties,Object.getOwnPropertyDescriptors,Object.getOwnPropertySymbols,Object.prototype.hasOwnProperty,Object.prototype.propertyIsEnumerable;const w=new Map;var S=d(177);const _={randomUUID:"undefined"!=typeof crypto&&crypto.randomUUID&&crypto.randomUUID.bind(crypto)};let O;const x=new Uint8Array(16);function C(){if(!O&&(O="undefined"!=typeof crypto&&crypto.getRandomValues&&crypto.getRandomValues.bind(crypto),!O))throw new Error("crypto.getRandomValues() not supported. See https://github.com/uuidjs/uuid#getrandomvalues-not-supported");return O(x)}const P=[];for(let e=0;e<256;++e)P.push((e+256).toString(16).slice(1));const D=function(e,t,r){if(_.randomUUID&&!t&&!e)return _.randomUUID();const n=(e=e||{}).random||(e.rng||C)();if(n[6]=15&n[6]|64,n[8]=63&n[8]|128,t){r=r||0;for(let e=0;e<16;++e)t[r+e]=n[e];return t}return function(e,t=0){return P[e[t+0]]+P[e[t+1]]+P[e[t+2]]+P[e[t+3]]+"-"+P[e[t+4]]+P[e[t+5]]+"-"+P[e[t+6]]+P[e[t+7]]+"-"+P[e[t+8]]+P[e[t+9]]+"-"+P[e[t+10]]+P[e[t+11]]+P[e[t+12]]+P[e[t+13]]+P[e[t+14]]+P[e[t+15]]}(n)};var E=Object.defineProperty,R=Object.defineProperties,j=Object.getOwnPropertyDescriptors,T=Object.getOwnPropertySymbols,k=Object.prototype.hasOwnProperty,A=Object.prototype.propertyIsEnumerable,I=(e,t,r)=>t in e?E(e,t,{enumerable:!0,configurable:!0,writable:!0,value:r}):e[t]=r;const V=r().memo((function(e){var n,a=e,{model:o}=a,i=((e,t)=>{var r={};for(var n in e)k.call(e,n)&&t.indexOf(n)<0&&(r[n]=e[n]);if(null!=e&&T)for(var n of T(e))t.indexOf(n)<0&&A.call(e,n)&&(r[n]=e[n]);return r})(a,["model"]);const s=null!=(n=o.constructor.Component)?n:F,[l,u]=r().useState(!1);return(0,t.useEffect)((()=>(u(!0),o.activate())),[o]),l?r().createElement(s,(c=((e,t)=>{for(var r in t||(t={}))k.call(t,r)&&I(e,r,t[r]);if(T)for(var r of T(t))A.call(t,r)&&I(e,r,t[r]);return e})({},i),R(c,j({model:o})))):null;var c}));function F(e){return null}class L extends e.BusEventWithPayload{}L.type="scene-object-state-change";class M extends e.BusEventWithPayload{}M.type="scene-object-user-action";var z,N=(e,t,r)=>{if(!t.has(e))throw TypeError("Cannot "+r)};class H{constructor(e){var t,r;((e,t,r)=>{if(t.has(e))throw TypeError("Cannot add the same private member more than once");t instanceof WeakSet?t.add(e):t.set(e,void 0)})(this,z),r=e,N(this,t=z,"write to private field"),t.set(this,r)}resolve(){return N(this,e=z,"read from private field"),e.get(this);var e}}z=new WeakMap;var B=Object.defineProperty,U=Object.getOwnPropertySymbols,$=Object.prototype.hasOwnProperty,W=Object.prototype.propertyIsEnumerable,q=(e,t,r)=>t in e?B(e,t,{enumerable:!0,configurable:!0,writable:!0,value:r}):e[t]=r,G=(e,t)=>{for(var r in t||(t={}))$.call(t,r)&&q(e,r,t[r]);if(U)for(var r of U(t))W.call(t,r)&&q(e,r,t[r]);return e};class Q{constructor(t){this._isActive=!1,this._activationHandlers=[],this._deactivationHandlers=new Map,this._subs=new S.Subscription,this._refCount=0,t.key||(t.key=D()),this._events=new e.EventBusSrv,this._state=Object.freeze(t),this._setParent()}get state(){return this._state}get isActive(){return this._isActive}get parent(){return this._parent}get variableDependency(){return this._variableDependency}get urlSync(){return this._urlSync}get Component(){return V}_setParent(){this.forEachChild((e=>{e._parent&&e._parent!==this&&console.warn("SceneObject already has a parent set that is different from the new parent. You cannot share the same SceneObject instance in multiple scenes or in multiple different places of the same scene graph. Use SceneObject.clone() to duplicate a SceneObject or store a state key reference and use sceneGraph.findObject to locate it.",e,this),e._parent=this}))}subscribeToState(e){return this._events.subscribe(L,(t=>{t.payload.changedObject===this&&e(t.payload.newState,t.payload.prevState)}))}subscribeToEvent(e,t){return this._events.subscribe(e,t)}setState(e){const t=this._state,r=G(G({},this._state),e);this._state=Object.freeze(r),this._setParent(),this._handleActivationOfChangedStateProps(t,r),this.publishEvent(new L({prevState:t,newState:r,partialUpdate:e,changedObject:this}),!0)}_handleActivationOfChangedStateProps(e,t){this.isActive&&(e.$data!==t.$data&&this._handleChangedStateActivation(e.$data,t.$data),e.$variables!==t.$variables&&this._handleChangedStateActivation(e.$variables,t.$variables),e.$timeRange!==t.$timeRange&&this._handleChangedStateActivation(e.$timeRange,t.$timeRange))}_handleChangedStateActivation(e,t){if(e){const t=this._deactivationHandlers.get(e);t&&(t(),this._deactivationHandlers.delete(e))}t&&this._deactivationHandlers.set(t,t.activate())}publishEvent(e,t){this._events.publish(e),t&&this.parent&&this.parent.publishEvent(e,t)}getRoot(){return this._parent?this._parent.getRoot():this}_internalActivate(){this._isActive=!0;const{$data:e,$variables:t,$timeRange:r,$behaviors:n}=this.state;if(r&&!r.isActive&&this._deactivationHandlers.set(r,r.activate()),t&&!t.isActive&&this._deactivationHandlers.set(t,t.activate()),e&&!e.isActive&&this._deactivationHandlers.set(e,e.activate()),n)for(const e of n)if(e instanceof Q)this._deactivationHandlers.set(e,e.activate());else if("function"==typeof e){const t=e(this);t&&this._deactivationHandlers.set(e,t)}this._activationHandlers.forEach((e=>{const t=e();t&&this._deactivationHandlers.set(t,t)}))}activate(){this.isActive||this._internalActivate(),this._refCount++;let e=!1;return()=>{if(this._refCount--,e){const e="SceneObject cancelation handler returned by activate() called a second time";throw console.error(e,this),new Error(e)}e=!0,0===this._refCount&&this._internalDeactivate()}}_internalDeactivate(){this._isActive=!1;for(let e of this._deactivationHandlers.values())e();this._deactivationHandlers.clear(),this._events.removeAllListeners(),this._subs.unsubscribe(),this._subs=new S.Subscription}useState(){return function(e){const[r,n]=(0,t.useState)(e.state),a=e.state;return(0,t.useEffect)((()=>{const t=e.subscribeToState(n);return e.state!==a&&n(e.state),()=>t.unsubscribe()}),[e]),e.state}(this)}forceRender(){this.setState({})}clone(e){return function(e,t){const r=function(e,t){const r=ee({},e);for(const e in r){const t=r[e];if(t instanceof Q&&(r[e]=t.clone()),t instanceof H)throw new Error("Cannot clone a SceneObject with a SceneObjectRef in state");if(Array.isArray(t)){const n=[];for(const e of t)e instanceof Q?n.push(e.clone()):n.push(e);r[e]=n}}return Object.assign(r,t),r}(e.state,t);return new e.constructor(r)}(this,e)}addActivationHandler(e){this._activationHandlers.push(e)}forEachChild(e){for(const t of Object.values(this.state))if(t instanceof Q&&e(t),Array.isArray(t))for(const r of t)r instanceof Q&&e(r)}getRef(){return this._ref||(this._ref=new H(this)),this._ref}}var Y=Object.defineProperty,K=Object.getOwnPropertySymbols,X=Object.prototype.hasOwnProperty,Z=Object.prototype.propertyIsEnumerable,J=(e,t,r)=>t in e?Y(e,t,{enumerable:!0,configurable:!0,writable:!0,value:r}):e[t]=r,ee=(e,t)=>{for(var r in t||(t={}))X.call(t,r)&&J(e,r,t[r]);if(K)for(var r of K(t))Z.call(t,r)&&J(e,r,t[r]);return e};function te(e,t){let r,n=e;for(;n&&!r;)r=t(n),n=n.parent;return r}const re=new Map;var ne=(e=>(e[e.never=0]="never",e[e.onDashboardLoad=1]="onDashboardLoad",e[e.onTimeRangeChanged=2]="onTimeRangeChanged",e))(ne||{}),ae=(e=>(e.Done="Done",e.Error="Error",e.Loading="Loading",e.NotStarted="NotStarted",e.Streaming="Streaming",e))(ae||{}),oe=(e=>(e[e.Crosshair=1]="Crosshair",e[e.Off=0]="Off",e[e.Tooltip=2]="Tooltip",e))(oe||{}),ie=Object.defineProperty,se=Object.getOwnPropertySymbols,le=Object.prototype.hasOwnProperty,ue=Object.prototype.propertyIsEnumerable,ce=(e,t,r)=>t in e?ie(e,t,{enumerable:!0,configurable:!0,writable:!0,value:r}):e[t]=r;const de={state:ae.Done,series:[],timeRange:(0,e.getDefaultTimeRange)()};class pe{constructor(e,t){this._sceneObject=e,this._keys=t.keys}getKeys(){return this._keys}getUrlState(){return this._sceneObject.getUrlState()}updateFromUrl(e){this._sceneObject.updateFromUrl(e)}}const he=/^\d+[yYmMsSwWhHdD]$/;function fe(t){if("string"!=typeof t)return null;if(-1!==t.indexOf("now"))return t;if(he.test(t))return t;if(8===t.length){const r=(0,e.toUtc)(t,"YYYYMMDD");if(r.isValid())return r.toISOString()}else if(15===t.length){const r=(0,e.toUtc)(t,"YYYYMMDDTHHmmss");if(r.isValid())return r.toISOString()}else if(24===t.length)return(0,e.toUtc)(t).toISOString();const r=parseInt(t,10);return isNaN(r)?null:(0,e.toUtc)(r).toISOString()}function me(t,r,n,a){return{from:e.dateMath.parse(t,!1,n,a),to:e.dateMath.parse(r,!0,n,a),raw:{from:t,to:r}}}var ge=Object.defineProperty,ye=Object.getOwnPropertySymbols,be=Object.prototype.hasOwnProperty,ve=Object.prototype.propertyIsEnumerable,we=(e,t,r)=>t in e?ge(e,t,{enumerable:!0,configurable:!0,writable:!0,value:r}):e[t]=r;class Se extends Q{constructor(t={}){var r,n;const a=null!=(r=t.from)?r:"now-6h",o=null!=(n=t.to)?n:"now",i=t.timeZone;super(((e,t)=>{for(var r in t||(t={}))be.call(t,r)&&we(e,r,t[r]);if(ye)for(var r of ye(t))ve.call(t,r)&&we(e,r,t[r]);return e})({from:a,to:o,timeZone:i,value:me(a,o,i||(0,e.getTimeZone)(),t.fiscalYearStartMonth)},t)),this._urlSync=new pe(this,{keys:["from","to"]}),this.onTimeRangeChange=e=>{const t={},r={};"string"==typeof e.raw.from?(t.from=e.raw.from,r.from=e.raw.from):(t.from=e.raw.from.toISOString(),r.from=e.raw.from.toISOString(!0)),"string"==typeof e.raw.to?(t.to=e.raw.to,r.to=e.raw.to):(t.to=e.raw.to.toISOString(),r.to=e.raw.to.toISOString(!0)),t.value=me(r.from,r.to,this.getTimeZone(),this.state.fiscalYearStartMonth),t.from===this.state.from&&t.to===this.state.to||this.setState(t)},this.onTimeZoneChange=e=>{this.setState({timeZone:e})},this.onRefresh=()=>{this.setState({value:me(this.state.from,this.state.to,this.getTimeZone(),this.state.fiscalYearStartMonth)})},this.addActivationHandler(this._onActivate.bind(this))}_onActivate(){if(!this.state.timeZone){const e=this.getTimeZoneSource();e!==this&&this._subs.add(e.subscribeToState(((t,r)=>{void 0!==t.timeZone&&t.timeZone!==r.timeZone&&this.setState({value:me(this.state.from,this.state.to,e.getTimeZone(),this.state.fiscalYearStartMonth)})})))}return this.state.weekStart&&(0,e.setWeekStart)(this.state.weekStart),()=>{this.state.weekStart&&(0,e.setWeekStart)(u.config.bootData.user.weekStart)}}getTimeZoneSource(){if(!this.parent||!this.parent.parent)return this;return te(this.parent.parent,(e=>{if(e.state.$timeRange&&e.state.$timeRange.state.timeZone)return e.state.$timeRange}))||this}getTimeZone(){if(this.state.timeZone)return this.state.timeZone;const t=this.getTimeZoneSource();return t!==this?t.state.timeZone:(0,e.getTimeZone)()}getUrlState(){return{from:this.state.from,to:this.state.to}}updateFromUrl(e){var t,r;if(!e.to&&!e.from)return;const n={},a=fe(e.from);a&&(n.from=a);const o=fe(e.to);o&&(n.to=o),n.value=me(null!=(t=n.from)?t:this.state.from,null!=(r=n.to)?r:this.state.to,this.getTimeZone(),this.state.fiscalYearStartMonth),this.setState(n)}}const _e=new class extends Q{constructor(e){super(((e,t)=>{for(var r in t||(t={}))le.call(t,r)&&ce(e,r,t[r]);if(se)for(var r of se(t))ue.call(t,r)&&ce(e,r,t[r]);return e})({data:de},e))}getResultsStream(){const e={origin:this,data:this.state.data};return(0,S.of)(e)}},Oe=new Se,xe=new class extends Q{constructor(){super({variables:[]})}getByName(e){}isVariableLoadingOrWaitingToUpdate(e){return!1}};function Ce(e){var t;return null!=(t=te(e,(e=>e.state.$timeRange)))?t:Oe}var Pe=(e=>(e.CSV="csv",e.Date="date",e.Distributed="distributed",e.DoubleQuote="doublequote",e.Glob="glob",e.HTML="html",e.JSON="json",e.Lucene="lucene",e.PercentEncode="percentencode",e.Pipe="pipe",e.QueryParam="queryparam",e.Raw="raw",e.Regex="regex",e.SQLString="sqlstring",e.SingleQuote="singlequote",e.Text="text",e.UriEncode="uriencode",e))(Pe||{});class De extends e.BusEventWithPayload{}function Ee(e){return"object"==typeof e&&"formatter"in e}De.type="scene-variable-changed-value";var Re=d(980);let je,Te={};function ke(e){return Te[e]||(Te[e]=(0,Re.property)(e))}class Ae{constructor(e,t){this.state={name:e,value:t,type:"scopedvar"}}getValue(e){let{value:t}=this.state,r=t.value;return r=e?ke(e)(t.value):t.value,"string"===r||"number"===r||"boolean"===r?r:String(r)}getValueText(){const{value:e}=this.state;return null!=e.text?String(e.text):String(e)}}const Ie=new e.Registry((()=>[{id:Pe.Lucene,name:"Lucene",description:"Values are lucene escaped and multi-valued variables generate an OR expression",formatter:e=>"string"==typeof e?Ve(e):Array.isArray(e)?0===e.length?"__empty__":"("+(0,Re.map)(e,(e=>'"'+Ve(e)+'"')).join(" OR ")+")":Ve(`${e}`)},{id:Pe.Raw,name:"raw",description:"Keep value as is",formatter:e=>String(e)},{id:Pe.Regex,name:"Regex",description:"Values are regex escaped and multi-valued variables generate a (|) expression",formatter:t=>{if("string"==typeof t)return(0,e.escapeRegex)(t);if(Array.isArray(t)){const r=t.map((t=>"string"==typeof t?(0,e.escapeRegex)(t):(0,e.escapeRegex)(String(t))));return 1===r.length?r[0]:"("+r.join("|")+")"}return(0,e.escapeRegex)(`${t}`)}},{id:Pe.Pipe,name:"Pipe",description:"Values are separated by | character",formatter:e=>"string"==typeof e?e:Array.isArray(e)?e.join("|"):`${e}`},{id:Pe.Distributed,name:"Distributed",description:"Multiple values are formatted like variable=value",formatter:(e,t,r)=>"string"==typeof e?e:Array.isArray(e)?(e=(0,Re.map)(e,((e,t)=>0!==t?r.state.name+"="+e:e))).join(","):`${e}`},{id:Pe.CSV,name:"Csv",description:"Comma-separated values",formatter:e=>"string"==typeof e?e:(0,Re.isArray)(e)?e.join(","):String(e)},{id:Pe.HTML,name:"HTML",description:"HTML escaping of values",formatter:t=>"string"==typeof t?e.textUtil.escapeHtml(t):(0,Re.isArray)(t)?e.textUtil.escapeHtml(t.join(", ")):e.textUtil.escapeHtml(String(t))},{id:Pe.JSON,name:"JSON",description:"JSON stringify value",formatter:e=>"string"==typeof e?e:JSON.stringify(e)},{id:Pe.PercentEncode,name:"Percent encode",description:"Useful for URL escaping values",formatter:e=>(0,Re.isArray)(e)?Fe("{"+e.join(",")+"}"):Fe(e)},{id:Pe.SingleQuote,name:"Single quote",description:"Single quoted values",formatter:e=>{const t=new RegExp("'","g");if((0,Re.isArray)(e))return(0,Re.map)(e,(e=>`'${(0,Re.replace)(e,t,"\\'")}'`)).join(",");let r="string"==typeof e?e:String(e);return`'${(0,Re.replace)(r,t,"\\'")}'`}},{id:Pe.DoubleQuote,name:"Double quote",description:"Double quoted values",formatter:e=>{const t=new RegExp('"',"g");if((0,Re.isArray)(e))return(0,Re.map)(e,(e=>`"${(0,Re.replace)(e,t,'\\"')}"`)).join(",");let r="string"==typeof e?e:String(e);return`"${(0,Re.replace)(r,t,'\\"')}"`}},{id:Pe.SQLString,name:"SQL string",description:"SQL string quoting and commas for use in IN statements and other scenarios",formatter:He},{id:Pe.Date,name:"Date",description:"Format date in different ways",formatter:(t,r)=>{var n;let a=NaN;if("number"==typeof t?a=t:"string"==typeof t&&(a=parseInt(t,10)),isNaN(a))return"NaN";const o=null!=(n=r[0])?n:"iso";switch(o){case"ms":return String(t);case"seconds":return`${Math.round(a/1e3)}`;case"iso":return(0,e.dateTime)(a).toISOString();default:return(r||[]).length>1?(0,e.dateTime)(a).format(r.join(":")):(0,e.dateTime)(a).format(o)}}},{id:Pe.Glob,name:"Glob",description:"Format multi-valued variables using glob syntax, example {value1,value2}",formatter:e=>(0,Re.isArray)(e)&&e.length>1?"{"+e.join(",")+"}":String(e)},{id:Pe.Text,name:"Text",description:"Format variables in their text representation. Example in multi-variable scenario A + B + C.",formatter:(e,t,r)=>r.getValueText?r.getValueText():String(e)},{id:Pe.QueryParam,name:"Query parameter",description:"Format variables as URL parameters. Example in multi-variable scenario A + B + C => var-foo=A&var-foo=B&var-foo=C.",formatter:(e,t,r)=>Array.isArray(e)?e.map((e=>ze(r.state.name,e))).join("&"):ze(r.state.name,e)},{id:Pe.UriEncode,name:"Percent encode as URI",description:"Useful for URL escaping values, taking into URI syntax characters",formatter:e=>(0,Re.isArray)(e)?Le("{"+e.join(",")+"}"):Le(e)}]));function Ve(e){return!1===isNaN(+e)?e:e.replace(/([\!\*\+\-\=<>\s\&\|\(\)\[\]\{\}\^\~\?\:\\/"])/g,"\\$1")}function Fe(e){return"object"==typeof e&&(e=String(e)),Me(encodeURIComponent(e))}const Le=e=>Me(encodeURI(String(e))),Me=e=>e.replace(/[!'()*]/g,(e=>"%"+e.charCodeAt(0).toString(16).toUpperCase()));function ze(e,t){return`var-${e}=${Fe(t)}`}const Ne={"'":"''",'"':'\\"'};function He(e){const t=new RegExp("'|\"","g");if((0,Re.isArray)(e))return(0,Re.map)(e,(e=>`'${(0,Re.replace)(e,t,(e=>{var t;return null!=(t=Ne[e])?t:""}))}'`)).join(",");let r="string"==typeof e?e:String(e);return`'${(0,Re.replace)(r,t,(e=>{var t;return null!=(t=Ne[e])?t:""}))}'`}const Be="All",Ue="$__all",$e="$__auto",We=/\$(\w+)|\[\[(\w+?)(?::(\w+))?\]\]|\${(\w+)(?:\.([^:^\}]+))?(?::([^\}]+))?}/g;function qe(e,t){const r=t.state.$variables;if(!r)return t.parent?qe(e,t.parent):null;return r.getByName(e)||(t.parent?qe(e,t.parent):null)}class Ge extends Q{constructor(e){super(e),this.addActivationHandler((()=>this._onActivate()))}_onActivate(){const{layers:e}=this.state,t=[];for(const r of e)t.push(r.activate());return()=>{t.forEach((e=>e()))}}}function Qe(e){var t;return null!=(t=te(e,(e=>e.state.$data)))?t:_e}function Ye(e,t,r,n){if(t(e))return e;let a=null;return e.forEachChild((e=>{if(e===r)return;let n=Ye(e,t);n&&(a=n)})),a||(n&&e.parent?Ye(e.parent,t,e,!0):null)}class Ke{constructor(e){this._value=e}formatter(){return this._value}}class Xe{constructor(e,t){this.state={name:e,type:"time_macro"},this._sceneObject=t}getValue(){const e=Ce(this._sceneObject);return"__from"===this.state.name?e.state.value.from.valueOf():e.state.value.to.valueOf()}getValueText(){const t=Ce(this._sceneObject);return"__from"===this.state.name?(0,e.dateTimeFormat)(t.state.value.from,{timeZone:t.getTimeZone()}):(0,e.dateTimeFormat)(t.state.value.to,{timeZone:t.getTimeZone()})}}class Ze{constructor(e,t){this.state={name:e,type:"time_macro"},this._sceneObject=t}getValue(){var e;const t=Qe(this._sceneObject);if(t){const r=null==(e=t.state.data)?void 0:e.request;return r?"__interval_ms"===this.state.name?r.intervalMs:r.interval:`\${${this.state.name}}`}return`\${${this.state.name}}`}}function Je(e,t={}){if(e.state.$variables)for(const r of e.state.$variables.state.variables)r.state.skipUrlSync||t[r.state.name]||(t[r.state.name]=r);return e.parent&&Je(e.parent,t),t}var et=Object.defineProperty,tt=Object.defineProperties,rt=Object.getOwnPropertyDescriptors,nt=Object.getOwnPropertySymbols,at=Object.prototype.hasOwnProperty,ot=Object.prototype.propertyIsEnumerable,it=(e,t,r)=>t in e?et(e,t,{enumerable:!0,configurable:!0,writable:!0,value:r}):e[t]=r;const st=(0,e.getDisplayProcessor)();class lt{constructor(e){this._urlQueryParams=e}formatter(e){if(!e)return this._urlQueryParams;const t=e.split(":");if("exclude"===t[0]&&t.length>1){const e=new URLSearchParams(this._urlQueryParams);for(const r of t[1].split(","))e.delete(r);return`?${e}`}if("include"===t[0]&&t.length>1){const e=new URLSearchParams(this._urlQueryParams),r=t[1].split(",");for(const t of e.keys())r.includes(t)||e.delete(t);return`?${e}`}return this._urlQueryParams}}const ut={[e.DataLinkBuiltInVars.includeVars]:class{constructor(e,t){this.state={name:e,type:"url_variable"},this._sceneObject=t}getValue(){const e=Je(this._sceneObject),t=Ie.get(Pe.QueryParam),r=[];for(const n of Object.keys(e)){const a=e[n],o=a.getValue();o&&(Ee(o)?r.push(o.formatter(Pe.QueryParam)):r.push(t.formatter(o,[],a)))}return new Ke(r.join("&"))}getValueText(){return""}},[e.DataLinkBuiltInVars.keepTime]:class{constructor(e,t){this.state={name:e,type:"url_variable"},this._sceneObject=t}getValue(){var t;const r=null==(t=Ce(this._sceneObject).urlSync)?void 0:t.getUrlState();return new Ke(e.urlUtil.toUrlParams(r))}getValueText(){return""}},__value:class{constructor(e,t,r,n){this._match=r,this._scopedVars=n,this.state={name:e,type:"__value"}}getValue(t){var r,n;const a=null==(r=this._scopedVars)?void 0:r.__dataContext;if(!a)return this._match;const{frame:o,rowIndex:i,field:s,calculatedValue:l}=a.value;if(l)switch(t){case"numeric":case"raw":return l.numeric;case"time":return"";default:return(0,e.formattedValueToString)(l)}if(null==i)return this._match;if("time"===t){const t=o.fields.find((t=>t.type===e.FieldType.time));return t?t.values.get(i):void 0}if(!s)return this._match;const u=s.values.get(i);if("raw"===t)return u;const c=(null!=(n=s.display)?n:st)(u);return"numeric"===t?c.numeric:(0,e.formattedValueToString)(c)}getValueText(){return""}},__data:class{constructor(e,t,r,n){this._match=r,this._scopedVars=n,this.state={name:e,type:"__data"}}getValue(t){var r,n;const a=null==(r=this._scopedVars)?void 0:r.__dataContext;if(!a||!t)return this._match;const{frame:o,rowIndex:i}=a.value;if(void 0===i||void 0===t)return this._match;const s={name:o.name,refId:o.refId,fields:(0,e.getFieldDisplayValuesProxy)({frame:o,rowIndex:i})};return null!=(n=ke(t)(s))?n:""}getValueText(){return""}},__series:class{constructor(e,t,r,n){this._match=r,this._scopedVars=n,this.state={name:e,type:"__series"}}getValue(t){var r;const n=null==(r=this._scopedVars)?void 0:r.__dataContext;if(!n||!t)return this._match;if("name"!==t)return this._match;const{frame:a,frameIndex:o}=n.value;return(0,e.getFrameDisplayName)(a,o)}getValueText(){return""}},__field:class{constructor(e,t,r,n){this._match=r,this._scopedVars=n,this.state={name:e,type:"__field"}}getValue(t){var r,n;const a=null==(r=this._scopedVars)?void 0:r.__dataContext;if(!a||!t)return this._match;if(void 0===t||""===t)return this._match;const{frame:o,field:i,data:s}=a.value,l=function(t,r,n){return new Proxy({},{get:(a,o)=>{return"name"===o?t.name:"displayName"===o?(0,e.getFieldDisplayName)(t,r,n):"labels"===o||"formattedLabels"===o?t.labels?(i=((e,t)=>{for(var r in t||(t={}))at.call(t,r)&&it(e,r,t[r]);if(nt)for(var r of nt(t))ot.call(t,r)&&it(e,r,t[r]);return e})({},t.labels),s={__values:Object.values(t.labels).sort().join(", "),toString:()=>(0,e.formatLabels)(t.labels,"",!0)},tt(i,rt(s))):"":void 0;var i,s}})}(i,o,s);return null!=(n=ke(t)(l))?n:""}getValueText(){return""}},__url:class{constructor(e,t){this.state={name:e,type:"url_macro"}}getValue(e){var t;const r=u.locationService.getLocation(),n=null!=(t=u.config.appSubUrl)?t:"";switch(null!=e?e:""){case"params":return new lt(r.search);case"path":return n+r.pathname;default:return n+r.pathname+r.search}}getValueText(){return""}},__from:Xe,__to:Xe,__timezone:class{constructor(e,t){this.state={name:e,type:"time_macro"},this._sceneObject=t}getValue(){return Ce(this._sceneObject).getTimeZone()}getValueText(){return this.getValue()}},__user:class{constructor(e,t){this.state={name:e,type:"user_macro"}}getValue(e){const t=u.config.bootData.user;switch(e){case"login":return t.login;case"email":return t.email;default:return String(t.id)}}getValueText(){return""}},__org:class{constructor(e,t){this.state={name:e,type:"org_macro"}}getValue(e){const t=u.config.bootData.user;return"name"===e?t.orgName:String(t.orgId)}getValueText(){return""}},__interval:Ze,__interval_ms:Ze},ct={getVariables:function(e){var t;return null!=(t=te(e,(e=>e.state.$variables)))?t:xe},getData:Qe,getTimeRange:Ce,getLayout:function(e){return te(e,(e=>function(e){return"isDraggable"in e}(e)?e:void 0))||null},getDataLayers:function(e,t=!1){let r,n=e,a=[];for(;n&&(!n.state.$data||n.state.$data instanceof Ge||n.state.$data.state.$data instanceof Ge&&(r=n.state.$data.state.$data),n.state.$data&&n.state.$data instanceof Ge&&(r=n.state.$data),!r||(a=a.concat(r.state.layers),!t));)n=n.parent;return a},interpolate:function(e,t,r,n){return""===t||null==t?"":function(e,t,r,n){return t?(We.lastIndex=0,t.replace(We,((t,a,o,i,s,l,u)=>{const c=i||u||n,d=function(e,t,r,n){const a=null==r?void 0:r[e];if(a)return function(e,t){return je?(je.state.name=e,je.state.value=t):je=new Ae(e,t),je}(e,a);return qe(e,n)||(ut[e]?new ut[e](e,n,t,r):null)}(a||o||s,t,r,e);return d?function(e,t,r){if(null==t)return"";if(Ee(t))return t.formatter(r);if(Array.isArray(t)||"object"!=typeof t||(t=`${t}`),"function"==typeof r)return r(t,{name:e.state.name,type:e.state.type,multi:e.state.isMulti,includeAll:e.state.includeAll});let n=[];r?(n=r.split(":"),n.length>1?(r=n[0],n=n.slice(1)):n=[]):r=Pe.Glob;let a=Ie.getIfExists(r);return a||(console.error(`Variable format ${r} not found. Using glob format as fallback.`),a=Ie.get(Pe.Glob)),a.formatter(t,n,e)}(d,d.getValue(l),c):t}))):null!=t?t:""}(e,t,r,n)},lookupVariable:qe,hasVariableDependencyInLoadingState:function(e){if(!e.variableDependency)return!1;for(const t of e.variableDependency.getNames()){const r=qe(t,e);if(r&&r.parent.isVariableLoadingOrWaitingToUpdate(r))return!0}return!1},findObject:function(e,t){return Ye(e,t,void 0,!0)},getAncestor:function(e,t){let r=e;for(;r;){if(r instanceof t)return r;r=r.parent}throw new Error("Unable to find parent of type "+t.name)}};function dt(e,t){return e===t||(0,Re.isEqual)(e,t)}function pt(e){try{return JSON.stringify(e,null)}catch(e){console.error(e)}return""}class ht{constructor(e,t){this._sceneObject=e,this._options=t,this._dependencies=new Set,this.scanCount=0,this.defaultHandlerReferencedVariableValueChanged=()=>{this._sceneObject.forceRender()},this._statePaths=t.statePaths}hasDependencyOn(e){return this.getNames().has(e)}variableUpdatesCompleted(e){const t=this.getNames();let r=!1;for(const n of e)if(t.has(n.state.name)){r=!0;break}this._options.onVariableUpdatesCompleted?this._options.onVariableUpdatesCompleted(e,r):r&&(this._options.onReferencedVariableValueChanged?this._options.onReferencedVariableValueChanged():this.defaultHandlerReferencedVariableValueChanged())}getNames(){const e=this._state,t=this._state=this._sceneObject.state;if(!e)return this.scanStateForDependencies(this._state),this._dependencies;if(t!==e)if(this._statePaths){for(const r of this._statePaths)if(t[r]!==e[r]){this.scanStateForDependencies(t);break}}else this.scanStateForDependencies(t);return this._dependencies}setPaths(e){this._statePaths=e}scanStateForDependencies(e){if(this._dependencies.clear(),this.scanCount+=1,this._options.variableNames)for(const e of this._options.variableNames)this._dependencies.add(e);else if(this._statePaths)for(const t of this._statePaths){const r=e[t];r&&this.extractVariablesFrom(r)}else this.extractVariablesFrom(e)}extractVariablesFrom(e){We.lastIndex=0;const t=("string"!=typeof e?pt(e):e).matchAll(We);if(t)for(const e of t){const[,t,r,,n]=e,a=t||r||n;this._dependencies.add(a)}}}var ft=Object.defineProperty,mt=Object.defineProperties,gt=Object.getOwnPropertyDescriptors,yt=Object.getOwnPropertySymbols,bt=Object.prototype.hasOwnProperty,vt=Object.prototype.propertyIsEnumerable,wt=(e,t,r)=>t in e?ft(e,t,{enumerable:!0,configurable:!0,writable:!0,value:r}):e[t]=r;class St extends Q{constructor(e){var t,r;super((t=((e,t)=>{for(var r in t||(t={}))bt.call(t,r)&&wt(e,r,t[r]);if(yt)for(var r of yt(t))vt.call(t,r)&&wt(e,r,t[r]);return e})({},e),r={sync:e.sync||oe.Off},mt(t,gt(r)))),this.getEventsBus=e=>{if(!this.parent)throw new Error("EnableCursorSync cannot be used as a standalone scene object");return new _t(this.parent,e)}}getEventsScope(){if(!this.parent)throw new Error("EnableCursorSync cannot be used as a standalone scene object");return this.state.key}}class _t{constructor(e,t){this._source=e,this._eventsOrigin=t}publish(e){e.origin=this,this._eventsOrigin.publishEvent(e,!0)}getStream(e){return new S.Observable((t=>{const r=this._source.subscribeToEvent(e,(e=>{t.next(e)}));return()=>r.unsubscribe()}))}subscribe(e,t){return this.getStream(e).pipe().subscribe(t)}removeAllListeners(){}newScopedBus(e,t){throw new Error("For internal use only")}}async function Ot(e,t){if(null==e?void 0:e.uid){const t=re.get(e.uid);if(t)return t}return e&&e.query?e:await(0,u.getDataSourceSrv)().get(e,t)}class xt{constructor(){this._values=new Map}recordCurrentDependencyValuesForSceneObject(e){if(this.clearValues(),e.variableDependency)for(const t of e.variableDependency.getNames()){const r=ct.lookupVariable(t,e);r&&this._values.set(r,r.getValue())}}clearValues(){this._values.clear()}hasValues(){return!!this._values}recordCurrentValue(e){this._values.set(e,e.getValue())}hasRecordedValue(e){return this._values.has(e)}hasValueChanged(e){return!(!this._values.has(e)||dt(this._values.get(e),e.getValue()))}hasDependenciesChanged(e){if(!this._values)return!1;if(!e.variableDependency)return!1;for(const t of e.variableDependency.getNames()){const r=ct.lookupVariable(t,e);if(r&&this._values.has(r)&&!dt(this._values.get(r),r.getValue()))return!0}return!1}}function Ct(e){return"function"==typeof e}Object.defineProperty,Object.getOwnPropertySymbols,Object.prototype.hasOwnProperty,Object.prototype.propertyIsEnumerable;var Pt=function(e,t){return Pt=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var r in t)Object.prototype.hasOwnProperty.call(t,r)&&(e[r]=t[r])},Pt(e,t)};function Dt(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Class extends value "+String(t)+" is not a constructor or null");function r(){this.constructor=e}Pt(e,t),e.prototype=null===t?Object.create(t):(r.prototype=t.prototype,new r)}function Et(e){var t="function"==typeof Symbol&&Symbol.iterator,r=t&&e[t],n=0;if(r)return r.call(e);if(e&&"number"==typeof e.length)return{next:function(){return e&&n>=e.length&&(e=void 0),{value:e&&e[n++],done:!e}}};throw new TypeError(t?"Object is not iterable.":"Symbol.iterator is not defined.")}function Rt(e,t){var r="function"==typeof Symbol&&e[Symbol.iterator];if(!r)return e;var n,a,o=r.call(e),i=[];try{for(;(void 0===t||t-- >0)&&!(n=o.next()).done;)i.push(n.value)}catch(e){a={error:e}}finally{try{n&&!n.done&&(r=o.return)&&r.call(o)}finally{if(a)throw a.error}}return i}function jt(e,t,r){if(r||2===arguments.length)for(var n,a=0,o=t.length;at in e?nr(e,t,{enumerable:!0,configurable:!0,writable:!0,value:r}):e[t]=r;const lr="__previousPeriod",ur="__noPeriod",cr={label:"Previous period",value:lr},dr={label:"No comparison",value:ur},pr=[{label:"Day before",value:"24h"},{label:"Week before",value:"1w"},{label:"Month before",value:"1M"}];class hr extends Q{constructor(t){super(((e,t)=>{for(var r in t||(t={}))or.call(t,r)&&sr(e,r,t[r]);if(ar)for(var r of ar(t))ir.call(t,r)&&sr(e,r,t[r]);return e})({compareOptions:pr},t)),this._urlSync=new pe(this,{keys:["compareWith"]}),this._onActivate=()=>{const e=ct.getTimeRange(this);this.setState({compareOptions:this.getCompareOptions(e.state.value)}),this._subs.add(e.subscribeToState((e=>{const t=this.getCompareOptions(e.value),r={compareOptions:t};Boolean(this.state.compareWith)&&!t.find((({value:e})=>e===this.state.compareWith))&&(r.compareWith=lr),this.setState(r)})))},this.getCompareOptions=t=>{const r=Math.ceil(t.to.diff(t.from)),n=pr.findIndex((({value:t})=>e.rangeUtil.intervalToMs(t)>=r));return[dr,cr,...pr.slice(n).map((({label:e,value:t})=>({label:e,value:t})))]},this.onCompareWithChanged=e=>{e===ur?this.onClearCompare():this.setState({compareWith:e})},this.onClearCompare=()=>{this.setState({compareWith:void 0})},this.addActivationHandler(this._onActivate)}getCompareTimeRange(t){let r,n;if(this.state.compareWith){if(this.state.compareWith===lr){const a=t.to.diff(t.from);r=(0,e.dateTime)(t.from).subtract(a),n=(0,e.dateTime)(t.to).subtract(a)}else r=(0,e.dateTime)(t.from).subtract(e.rangeUtil.intervalToMs(this.state.compareWith)),n=(0,e.dateTime)(t.to).subtract(e.rangeUtil.intervalToMs(this.state.compareWith));return{from:r,to:n,raw:{from:r,to:n}}}}getUrlState(){return{compareWith:this.state.compareWith}}updateFromUrl(e){if(!e.compareWith)return;const t=fe(e.compareWith);t&&(this.getCompareOptions(ct.getTimeRange(this).state.value).find((({value:e})=>e===t))?this.setState({compareWith:t}):this.setState({compareWith:"__previousPeriod"}))}}function fr(e){return{previewButton:(0,rr.css)({"&:disabled":{border:`1px solid ${e.colors.secondary.border}`,color:e.colors.text.disabled,opacity:1}})}}hr.Component=function({model:e}){var t;const n=(0,tr.useStyles2)(fr),{compareWith:a,compareOptions:o}=e.useState(),[i,s]=r().useState(a),l=null!=(t=o.find((({value:e})=>e===i)))?t:cr,u=o.find((({value:e})=>e===a)),c=Boolean(u),d=()=>{c?(s(a),e.onClearCompare()):c||e.onCompareWithChanged(l.value)};return r().createElement(tr.ButtonGroup,null,r().createElement(tr.ToolbarButton,{variant:"canvas",tooltip:"Enable time frame comparison",onClick:e=>{e.stopPropagation(),e.preventDefault(),d()}},r().createElement(tr.Checkbox,{label:" ",value:c,onClick:d}),"Comparison"),c?r().createElement(tr.ButtonSelect,{variant:"canvas",value:u,options:o,onChange:t=>{e.onCompareWithChanged(t.value)}}):r().createElement(tr.ToolbarButton,{className:n.previewButton,disabled:!0,variant:"canvas",isOpen:!1},l.label))};const mr=e=>`${e}-compare`;var gr=Object.defineProperty,yr=Object.defineProperties,br=Object.getOwnPropertyDescriptors,vr=Object.getOwnPropertySymbols,wr=Object.prototype.hasOwnProperty,Sr=Object.prototype.propertyIsEnumerable,_r=(e,t,r)=>t in e?gr(e,t,{enumerable:!0,configurable:!0,writable:!0,value:r}):e[t]=r,Or=(e,t)=>{for(var r in t||(t={}))wr.call(t,r)&&_r(e,r,t[r]);if(vr)for(var r of vr(t))Sr.call(t,r)&&_r(e,r,t[r]);return e},xr=(e,t)=>yr(e,br(t));function Cr(t){return t.pipe((0,S.map)((([t,r])=>{const n=r.timeRange.from.diff(t.timeRange.from);return r.series.forEach((t=>{t.refId=mr(t.refId||""),t.meta=xr(Or({},t.meta),{timeCompare:{diffMs:n,isTimeShiftQuery:!0}}),t.fields.forEach((t=>(t.type===e.FieldType.time&&(t.values=t.values.map((e=>n<0?e-n:e+n))),t.config=xr(Or({},t.config),{color:{mode:"fixed",fixedColor:u.config.theme.palette.gray60}}),t)))})),xr(Or({},t),{series:[...t.series,...r.series]})})))}var Pr=Object.defineProperty,Dr=Object.defineProperties,Er=Object.getOwnPropertyDescriptors,Rr=Object.getOwnPropertySymbols,jr=Object.prototype.hasOwnProperty,Tr=Object.prototype.propertyIsEnumerable,kr=(e,t,r)=>t in e?Pr(e,t,{enumerable:!0,configurable:!0,writable:!0,value:r}):e[t]=r,Ar=(e,t)=>{for(var r in t||(t={}))jr.call(t,r)&&kr(e,r,t[r]);if(Rr)for(var r of Rr(t))Tr.call(t,r)&&kr(e,r,t[r]);return e},Ir=(e,t)=>Dr(e,Er(t));function Vr(e){return void 0!==e.useState}function Fr(e){return"enrichDataRequest"in e}let Lr,Mr=new Set;var zr=Object.defineProperty,Nr=Object.defineProperties,Hr=Object.getOwnPropertyDescriptors,Br=Object.getOwnPropertySymbols,Ur=Object.prototype.hasOwnProperty,$r=Object.prototype.propertyIsEnumerable,Wr=(e,t,r)=>t in e?zr(e,t,{enumerable:!0,configurable:!0,writable:!0,value:r}):e[t]=r,qr=(e,t)=>{for(var r in t||(t={}))Ur.call(t,r)&&Wr(e,r,t[r]);if(Br)for(var r of Br(t))$r.call(t,r)&&Wr(e,r,t[r]);return e},Gr=(e,t)=>Nr(e,Hr(t));let Qr=100;function Yr(){return"SQR"+Qr++}class Kr extends Q{constructor(t){super(t),this._variableValueRecorder=new xt,this._results=new S.ReplaySubject,this._scopedVars={__sceneObject:{value:this,text:"__sceneObject"}},this._variableDependency=new ht(this,{statePaths:["queries","datasource"],onVariableUpdatesCompleted:(e,t)=>this.onVariableUpdatesCompleted(e,t)}),this.prepareRequests=(t,r)=>{const n=this.getTimeCompare(),{minInterval:a,queries:o}=this.state;let i,s=qr({app:"scenes",requestId:Yr(),timezone:t.getTimeZone(),panelId:1,range:t.state.value,interval:"1s",intervalMs:1e3,targets:(0,Re.cloneDeep)(o),maxDataPoints:this.getMaxDataPoints(),scopedVars:this._scopedVars,startTime:Date.now(),liveStreaming:this.state.liveStreaming,rangeRaw:{from:t.state.from,to:t.state.to}},function(e){const t=e.getRoot();return Fr(t)?t.enrichDataRequest(e):null}(this));this._adhocFilterSet&&(s.filters=this._adhocFilterSet.state.filters),s.targets=s.targets.map((e=>(e.datasource||(e.datasource=r.getRef()),e)));const l=a||r.interval,u=e.rangeUtil.calculateInterval(t.state.value,s.maxDataPoints,l);s.scopedVars=Object.assign({},s.scopedVars,{__interval:{text:u.interval,value:u.interval},__interval_ms:{text:u.intervalMs.toString(),value:u.intervalMs}}),s.interval=u.interval,s.intervalMs=u.intervalMs;const c=t.state.value;if(n){const e=n.getCompareTimeRange(c);e&&(i=Gr(qr({},s),{range:e,requestId:Yr()}),s=Gr(qr({},s),{range:c}))}return[s,i]},this.onDataReceived=t=>{this._results.next({origin:this,data:t});const r=(0,e.preProcessPanelData)(t,this.state.data),n=this._combineDataLayers(r);let a=this.state._hasFetchedData;a||r.state===ae.Loading||(a=!0),this.setState({data:n,_hasFetchedData:a})},this.addActivationHandler((()=>this._onActivate()))}getResultsStream(){return this._results}_onActivate(){const e=ct.getTimeRange(this),t=this.getTimeCompare();return t&&this._subs.add(t.subscribeToState(((e,t)=>{e.compareWith!==t.compareWith&&this.runQueries()}))),this._subs.add(e.subscribeToState((()=>{this.runWithTimeRange(e)}))),this.shouldRunQueriesOnActivate()&&this.runQueries(),()=>this._onDeactivate()}_handleDataLayers(){const e=ct.getDataLayers(this),t=[],r=new Map;e.length>0&&(e.forEach((e=>{t.push(e.getResultsStream())})),this._dataLayersSub=(0,S.merge)(t).pipe((0,S.mergeAll)(),(0,S.map)((e=>(r.set(e.origin.state.key,e.data),r)))).subscribe((e=>{this._onLayersReceived(e)})))}_onLayersReceived(t){var r;const n=ct.getTimeRange(this),a=ct.getDataLayers(this),{dataLayerFilter:o}=this.state;let i,s=[],l=[];const u=Array.from(t.keys());if(Array.from(t.values()).forEach(((t,r)=>{const n=u[r],o=a.find((e=>e.state.key===n));o&&(o.topic===e.DataTopic.Annotations&&t[e.DataTopic.Annotations]&&(s=s.concat(t[e.DataTopic.Annotations])),"alertStates"===o.topic&&(l=l.concat(t.series)))})),(null==o?void 0:o.panelId)&&(s.length>0&&(s=function(e,t){var r;if(!Array.isArray(e)||0===e.length)return e;const n=Array.from({length:e.length},(()=>new Set));let a=0;for(const o of e){for(let e=0;e"panelId"===e.name)),l=o.fields.find((e=>"source"===e.name));if(l){s&&"dashboard"===l.values[e].type&&(i=s.values[e]===t.panelId);const n=l.values[e].filter;if(n){const e=(null!=(r=n.ids)?r:[]).includes(t.panelId);n.exclude?e&&(i=!1):e||(i=!1)}}i&&n[a].add(e)}a++}const o=[];a=0;for(const t of e){const e=n[a].size,r=[];for(const e of t.fields){const o=[];for(let r=0;r0))for(const t of l){const r=new e.DataFrameView(t);for(const e of r)if(e.panelId===o.panelId){i=e;break}}const c=this.state.data?this.state.data:Gr(qr({},de),{timeRange:n.state.value});this.setState({data:Gr(qr({},c),{annotations:s,alertState:null!=i?i:null==(r=this.state.data)?void 0:r.alertState})})}onVariableUpdatesCompleted(e,t){(this.state._isWaitingForVariables||t)&&this.runQueries()}shouldRunQueriesOnActivate(){return!(!this.state.maxDataPoints&&this.state.maxDataPointsFromWidth&&!this._containerWidth||(this._variableValueRecorder.hasDependenciesChanged(this)?(er("SceneQueryRunner","Variable dependency changed while inactive, shouldRunQueriesOnActivate returns true"),0):this.state.data&&!this._isDataTimeRangeStale(this.state.data)))}_isDataTimeRangeStale(e){const t=ct.getTimeRange(this).state.value,r=e.timeRange;return(t.from.unix()!==r.from.unix()||t.to.unix()!==r.to.unix())&&(er("SceneQueryRunner","Data time range is stale"),!0)}_onDeactivate(){this._querySub&&(this._querySub.unsubscribe(),this._querySub=void 0),this._dataLayersSub&&(this._dataLayersSub.unsubscribe(),this._dataLayersSub=void 0),this._adhocFilterSub&&this._adhocFilterSub.unsubscribe(),this._variableValueRecorder.recordCurrentDependencyValuesForSceneObject(this)}setContainerWidth(e){!this._containerWidth&&e>0?(this._containerWidth=e,this.state.maxDataPointsFromWidth&&!this.state.maxDataPoints&&setTimeout((()=>{this.isActive&&!this.state._hasFetchedData&&this.runQueries()}),0)):e>0&&(this._containerWidth=e)}isDataReadyToDisplay(){return Boolean(this.state._hasFetchedData)}runQueries(){const e=ct.getTimeRange(this);this.runWithTimeRange(e)}getMaxDataPoints(){var e;return this.state.maxDataPoints?this.state.maxDataPoints:this.state.maxDataPointsFromWidth&&null!=(e=this._containerWidth)?e:500}cancelQuery(){var e;null==(e=this._querySub)||e.unsubscribe(),this._dataLayersSub&&(this._dataLayersSub.unsubscribe(),this._dataLayersSub=void 0),this.setState({data:Gr(qr({},this.state.data),{state:ae.Done})})}async runWithTimeRange(e){var t,r;this._dataLayersSub||this._handleDataLayers();const n=(0,u.getRunRequest)();if(null==(t=this._querySub)||t.unsubscribe(),ct.hasVariableDependencyInLoadingState(this))return er("SceneQueryRunner","Variable dependency is in loading state, skipping query execution"),void this.setState({_isWaitingForVariables:!0});this.state._isWaitingForVariables&&this.setState({_isWaitingForVariables:!1});const{queries:a}=this.state;if(null==a?void 0:a.length)try{const t=null!=(r=this.state.datasource)?r:function(e){var t,r;return null!=(r=null==(t=e.find((e=>null!==e.datasource)))?void 0:t.datasource)?r:void 0}(a),o=await Ot(t,this._scopedVars);this._adhocFilterSet||this.findAndSubscribeToAdhocFilters(null==t?void 0:t.uid);const[i,s]=this.prepareRequests(e,o);er("SceneQueryRunner","Starting runRequest",this.state.key),this._querySub=s?(0,S.forkJoin)([n(o,i),n(o,s)]).pipe(Cr).subscribe(this.onDataReceived):n(o,i).subscribe(this.onDataReceived)}catch(e){console.error("PanelQueryRunner Error",e);const t=Gr(qr(qr({},de),this.state.data),{state:ae.Error,errors:[(0,u.toDataQueryError)(e)]});this.setState({data:t})}else this._setNoDataState()}_combineDataLayers(e){return this.state.data&&this.state.data.annotations&&(e.annotations=(e.annotations||[]).concat(this.state.data.annotations)),this.state.data&&this.state.data.alertState&&(e.alertState=this.state.data.alertState),e}_setNoDataState(){this.state.data!==de&&this.setState({data:de})}getTimeCompare(){return this.parent?te(this.parent,(e=>{let t=null;return e instanceof hr?e:(e.forEachChild((e=>{e instanceof hr&&(t=e)})),t)})):null}findAndSubscribeToAdhocFilters(e){var t;const r=function(e){var t;for(const r of Mr.values())if((null==(t=r.state.datasource)?void 0:t.uid)===e)return r}(e);r&&"same-datasource"===r.state.applyMode&&(this._adhocFilterSet=r,this._adhocFilterSub=null==(t=this._adhocFilterSet)?void 0:t.subscribeToState((()=>this.runQueries())))}}const Xr={Breadcrumbs:{breadcrumb:e=>`data-testid ${e} breadcrumb`},TimePicker:{openButton:"data-testid TimePicker Open Button",fromField:"Time Range from field",toField:"Time Range to field",applyTimeRange:"data-testid TimePicker submit button",calendar:{label:"Time Range calendar",openButton:"Open time range calendar",closeButton:"Close time range Calendar"},absoluteTimeRangeTitle:"data-testid-absolute-time-range-narrow"},DataSourcePermissions:{form:()=>'form[name="addPermission"]',roleType:"Role to add new permission to",rolePicker:"Built-in role picker",permissionLevel:"Permission Level"},DataSource:{TestData:{QueryTab:{scenarioSelectContainer:"Test Data Query scenario select container",scenarioSelect:"Test Data Query scenario select",max:"TestData max",min:"TestData min",noise:"TestData noise",seriesCount:"TestData series count",spread:"TestData spread",startValue:"TestData start value",drop:"TestData drop values"}},DataSourceHttpSettings:{urlInput:"Datasource HTTP settings url"},Jaeger:{traceIDInput:"Trace ID"},Prometheus:{configPage:{exemplarsAddButton:"Add exemplar config button",internalLinkSwitch:"Internal link switch"},exemplarMarker:"Exemplar marker"}},Menu:{MenuComponent:e=>`${e} menu`,MenuGroup:e=>`${e} menu group`,MenuItem:e=>`${e} menu item`,SubMenu:{container:"SubMenu container",icon:"SubMenu icon"}},Panels:{Panel:{title:e=>`data-testid Panel header ${e}`,headerItems:e=>`Panel header item ${e}`,menuItems:e=>`data-testid Panel menu item ${e}`,menu:e=>`data-testid Panel menu ${e}`,containerByTitle:e=>`${e} panel`,headerCornerInfo:e=>`Panel header ${e}`,loadingBar:()=>"Panel loading bar",HoverWidget:{container:"data-test-id hover-header-container",dragIcon:"data-testid drag-icon"}},Visualization:{Graph:{container:"Graph container",VisualizationTab:{legendSection:"Legend section"},Legend:{legendItemAlias:e=>`gpl alias ${e}`,showLegendSwitch:"gpl show legend"},xAxis:{labels:()=>"div.flot-x-axis > div.flot-tick-label"}},BarGauge:{value:"Bar gauge value",valueV2:"data-testid Bar gauge value"},PieChart:{svgSlice:"Pie Chart Slice"},Text:{container:()=>".markdown-html"},Table:{header:"table header",footer:"table-footer"}}},VizLegend:{seriesName:e=>`VizLegend series ${e}`},Drawer:{General:{title:e=>`Drawer title ${e}`,expand:"Drawer expand",contract:"Drawer contract",close:"Drawer close",rcContentWrapper:()=>".rc-drawer-content-wrapper"}},PanelEditor:{General:{content:"Panel editor content"},OptionsPane:{content:"Panel editor option pane content",select:"Panel editor option pane select",fieldLabel:e=>`${e} field property editor`},DataPane:{content:"Panel editor data pane content"},applyButton:"data-testid Apply changes and go back to dashboard",toggleVizPicker:"data-testid toggle-viz-picker",toggleVizOptions:"data-testid toggle-viz-options",toggleTableView:"toggle-table-view",measureButton:"show measure tools"},PanelInspector:{Data:{content:"Panel inspector Data content"},Stats:{content:"Panel inspector Stats content"},Json:{content:"Panel inspector Json content"},Query:{content:"Panel inspector Query content",refreshButton:"Panel inspector Query refresh button",jsonObjectKeys:()=>".json-formatter-key"}},Tab:{title:e=>`Tab ${e}`,active:()=>'[class*="-activeTabStyle"]'},RefreshPicker:{runButton:"RefreshPicker run button",intervalButton:"RefreshPicker interval button",runButtonV2:"data-testid RefreshPicker run button",intervalButtonV2:"data-testid RefreshPicker interval button"},QueryTab:{content:"Query editor tab content",queryInspectorButton:"Query inspector button",queryHistoryButton:"Rich history button",addQuery:"Query editor add query button"},QueryHistory:{queryText:"Query text"},QueryEditorRows:{rows:"Query editor row"},QueryEditorRow:{actionButton:e=>`${e}`,title:e=>`Query editor row title ${e}`,container:e=>`Query editor row ${e}`},AlertTab:{content:"Alert editor tab content"},Alert:{alert:e=>`Alert ${e}`,alertV2:e=>`data-testid Alert ${e}`},TransformTab:{content:"Transform editor tab content",newTransform:e=>`New transform ${e}`,transformationEditor:e=>`Transformation editor ${e}`,transformationEditorDebugger:e=>`Transformation editor debugger ${e}`},Transforms:{card:e=>`New transform ${e}`,Reduce:{modeLabel:"Transform mode label",calculationsLabel:"Transform calculations label"},SpatialOperations:{actionLabel:"root Action field property editor",locationLabel:"root Location field property editor",location:{autoOption:"Auto location option",coords:{option:"Coords location option",latitudeFieldLabel:"root Latitude field field property editor",longitudeFieldLabel:"root Longitude field field property editor"},geohash:{option:"Geohash location option",geohashFieldLabel:"root Geohash field field property editor"},lookup:{option:"Lookup location option",lookupFieldLabel:"root Lookup field field property editor",gazetteerFieldLabel:"root Gazetteer field property editor"}}},searchInput:"search transformations"},NavBar:{Configuration:{button:"Configuration"},Toggle:{button:"Toggle menu"},Reporting:{button:"Reporting"}},NavMenu:{item:"data-testid Nav menu item"},NavToolbar:{container:"data-testid Nav toolbar"},PageToolbar:{container:()=>".page-toolbar",item:e=>`${e}`,itemButton:e=>`data-testid ${e}`},QueryEditorToolbarItem:{button:e=>`QueryEditor toolbar item button ${e}`},BackButton:{backArrow:"Go Back"},OptionsGroup:{group:e=>e?`Options group ${e}`:"Options group",toggle:e=>e?`Options group ${e} toggle`:"Options group toggle"},PluginVisualization:{item:e=>`Plugin visualization item ${e}`,current:()=>'[class*="-currentVisualizationItem"]'},Select:{option:"Select option",input:()=>'input[id*="time-options-input"]',singleValue:()=>'div[class*="-singleValue"]'},FieldConfigEditor:{content:"Field config editor content"},OverridesConfigEditor:{content:"Field overrides editor content"},FolderPicker:{container:"Folder picker select container",containerV2:"data-testid Folder picker select container",input:"Select a folder"},ReadonlyFolderPicker:{container:"data-testid Readonly folder picker select container"},DataSourcePicker:{container:"data-testid Data source picker select container",input:()=>'input[id="data-source-picker"]',inputV2:"Select a data source"},TimeZonePicker:{container:"Time zone picker select container",containerV2:"data-testid Time zone picker select container"},WeekStartPicker:{container:"Choose starting day of the week",containerV2:"data-testid Choose starting day of the week",placeholder:"Choose starting day of the week"},TraceViewer:{spanBar:"data-testid SpanBar--wrapper"},QueryField:{container:"Query field"},QueryBuilder:{queryPatterns:"Query patterns",labelSelect:"Select label",valueSelect:"Select value",matchOperatorSelect:"Select match operator"},ValuePicker:{button:e=>`Value picker button ${e}`,select:e=>`Value picker select ${e}`},Search:{section:"Search section",sectionV2:"data-testid Search section",items:"Search items",itemsV2:"data-testid Search items",cards:"data-testid Search cards",collapseFolder:e=>`data-testid Collapse folder ${e}`,expandFolder:e=>`data-testid Expand folder ${e}`,dashboardItem:e=>`${Xr.Search.dashboardItems} ${e}`,dashboardCard:e=>`data-testid Search card ${e}`,folderHeader:e=>`data-testid Folder header ${e}`,folderContent:e=>`data-testid Folder content ${e}`,dashboardItems:"data-testid Dashboard search item"},DashboardLinks:{container:"data-testid Dashboard link container",dropDown:"data-testid Dashboard link dropdown",link:"data-testid Dashboard link"},LoadingIndicator:{icon:"Loading indicator"},CallToActionCard:{button:e=>`Call to action button ${e}`,buttonV2:e=>`data-testid Call to action button ${e}`},DataLinksContextMenu:{singleLink:"Data link"},CodeEditor:{container:"Code editor container"},DashboardImportPage:{textarea:"data-testid-import-dashboard-textarea",submit:"data-testid-load-dashboard"},ImportDashboardForm:{name:"data-testid-import-dashboard-title",submit:"data-testid-import-dashboard-submit"},PanelAlertTabContent:{content:"Unified alert editor tab content"},VisualizationPreview:{card:e=>`data-testid suggestion-${e}`},ColorSwatch:{name:"data-testid-colorswatch"},DashboardRow:{title:e=>`data-testid dashboard-row-title-${e}`},UserProfile:{profileSaveButton:"data-testid-user-profile-save",preferencesSaveButton:"data-testid-shared-prefs-save",orgsTable:"data-testid-user-orgs-table",sessionsTable:"data-testid-user-sessions-table"},FileUpload:{inputField:"data-testid-file-upload-input-field",fileNameSpan:"data-testid-file-upload-file-name"},DebugOverlay:{wrapper:"debug-overlay"},OrgRolePicker:{input:"Role"},AnalyticsToolbarButton:{button:"Dashboard insights"},Variables:{variableOption:"data-testid variable-option"},Annotations:{annotationsTypeInput:"annotations-type-input",annotationsChoosePanelInput:"choose-panels-input"}},Zr={pages:{Login:{url:"/login",username:"Username input field",password:"Password input field",submit:"Login button",skip:"Skip change password button"},Home:{url:"/"},DataSource:{name:"Data source settings page name input field",delete:"Data source settings page Delete button",readOnly:"Data source settings page read only message",saveAndTest:"data-testid Data source settings page Save and Test button",alert:"Data source settings page Alert"},DataSources:{url:"/datasources",dataSources:e=>`Data source list item ${e}`},EditDataSource:{url:e=>`/datasources/edit/${e}`,settings:"Datasource settings page basic settings"},AddDataSource:{url:"/datasources/new",dataSourcePlugins:e=>`Data source plugin item ${e}`,dataSourcePluginsV2:e=>`Add new data source ${e}`},ConfirmModal:{delete:"data-testid Confirm Modal Danger Button"},AddDashboard:{url:"/dashboard/new",itemButton:e=>`data-testid ${e}`,addNewPanel:"Add new panel",addNewRow:"Add new row",addNewPanelLibrary:"Add new panel from panel library"},Dashboard:{url:e=>`/d/${e}`,DashNav:{nav:"Dashboard navigation",navV2:"data-testid Dashboard navigation",publicDashboardTag:"data-testid public dashboard tag"},SubMenu:{submenu:"Dashboard submenu",submenuItem:"data-testid template variable",submenuItemLabels:e=>`data-testid Dashboard template variables submenu Label ${e}`,submenuItemValueDropDownValueLinkTexts:e=>`data-testid Dashboard template variables Variable Value DropDown value link text ${e}`,submenuItemValueDropDownDropDown:"Variable options",submenuItemValueDropDownOptionTexts:e=>`data-testid Dashboard template variables Variable Value DropDown option text ${e}`,Annotations:{annotationsWrapper:"data-testid annotation-wrapper",annotationLabel:e=>`data-testid Dashboard annotations submenu Label ${e}`,annotationToggle:e=>`data-testid Dashboard annotations submenu Toggle ${e}`}},Settings:{Actions:{close:"data-testid dashboard-settings-close"},General:{deleteDashBoard:"Dashboard settings page delete dashboard button",sectionItems:e=>`Dashboard settings section item ${e}`,saveDashBoard:"Dashboard settings aside actions Save button",saveAsDashBoard:"Dashboard settings aside actions Save As button",timezone:"Time zone picker select container",title:"Tab General"},Annotations:{List:{addAnnotationCTA:Xr.CallToActionCard.button("Add annotation query"),addAnnotationCTAV2:Xr.CallToActionCard.buttonV2("Add annotation query")},Settings:{name:"Annotations settings name input"},NewAnnotation:{panelFilterSelect:"data-testid annotations-panel-filter",showInLabel:"show-in-label",previewInDashboard:"data-testid annotations-preview"}},Variables:{List:{addVariableCTA:Xr.CallToActionCard.button("Add variable"),addVariableCTAV2:Xr.CallToActionCard.buttonV2("Add variable"),newButton:"Variable editor New variable button",table:"Variable editor Table",tableRowNameFields:e=>`Variable editor Table Name field ${e}`,tableRowDefinitionFields:e=>`Variable editor Table Definition field ${e}`,tableRowArrowUpButtons:e=>`Variable editor Table ArrowUp button ${e}`,tableRowArrowDownButtons:e=>`Variable editor Table ArrowDown button ${e}`,tableRowDuplicateButtons:e=>`Variable editor Table Duplicate button ${e}`,tableRowRemoveButtons:e=>`Variable editor Table Remove button ${e}`},Edit:{General:{headerLink:"Variable editor Header link",modeLabelNew:"Variable editor Header mode New",modeLabelEdit:"Variable editor Header mode Edit",generalNameInput:"Variable editor Form Name field",generalNameInputV2:"data-testid Variable editor Form Name field",generalTypeSelect:"Variable editor Form Type select",generalTypeSelectV2:"data-testid Variable editor Form Type select",generalLabelInput:"Variable editor Form Label field",generalLabelInputV2:"data-testid Variable editor Form Label field",generalHideSelect:"Variable editor Form Hide select",generalHideSelectV2:"data-testid Variable editor Form Hide select",selectionOptionsMultiSwitch:"Variable editor Form Multi switch",selectionOptionsIncludeAllSwitch:"Variable editor Form IncludeAll switch",selectionOptionsCustomAllInput:"Variable editor Form IncludeAll field",selectionOptionsCustomAllInputV2:"data-testid Variable editor Form IncludeAll field",previewOfValuesOption:"Variable editor Preview of Values option",submitButton:"Variable editor Submit button",applyButton:"data-testid Variable editor Apply button"},QueryVariable:{queryOptionsDataSourceSelect:Xr.DataSourcePicker.container,queryOptionsRefreshSelect:"Variable editor Form Query Refresh select",queryOptionsRefreshSelectV2:"data-testid Variable editor Form Query Refresh select",queryOptionsRegExInput:"Variable editor Form Query RegEx field",queryOptionsRegExInputV2:"data-testid Variable editor Form Query RegEx field",queryOptionsSortSelect:"Variable editor Form Query Sort select",queryOptionsSortSelectV2:"data-testid Variable editor Form Query Sort select",queryOptionsQueryInput:"Variable editor Form Default Variable Query Editor textarea",valueGroupsTagsEnabledSwitch:"Variable editor Form Query UseTags switch",valueGroupsTagsTagsQueryInput:"Variable editor Form Query TagsQuery field",valueGroupsTagsTagsValuesQueryInput:"Variable editor Form Query TagsValuesQuery field"},ConstantVariable:{constantOptionsQueryInput:"Variable editor Form Constant Query field",constantOptionsQueryInputV2:"data-testid Variable editor Form Constant Query field"},DatasourceVariable:{datasourceSelect:"data-testid datasource variable datasource type"},TextBoxVariable:{textBoxOptionsQueryInput:"Variable editor Form TextBox Query field",textBoxOptionsQueryInputV2:"data-testid Variable editor Form TextBox Query field"},CustomVariable:{customValueInput:"data-testid custom-variable-input"},IntervalVariable:{intervalsValueInput:"data-testid interval variable intervals input"}}}},Annotations:{marker:"data-testid annotation-marker"}},Dashboards:{url:"/dashboards",dashboards:e=>`Dashboard search item ${e}`},SaveDashboardAsModal:{newName:"Save dashboard title field",save:"Save dashboard button"},SaveDashboardModal:{save:"Dashboard settings Save Dashboard Modal Save button",saveVariables:"Dashboard settings Save Dashboard Modal Save variables checkbox",saveTimerange:"Dashboard settings Save Dashboard Modal Save timerange checkbox"},SharePanelModal:{linkToRenderedImage:"Link to rendered image"},ShareDashboardModal:{shareButton:"Share dashboard or panel",PublicDashboard:{Tab:"Tab Public dashboard",WillBePublicCheckbox:"data-testid public dashboard will be public checkbox",LimitedDSCheckbox:"data-testid public dashboard limited datasources checkbox",CostIncreaseCheckbox:"data-testid public dashboard cost may increase checkbox",PauseSwitch:"data-testid public dashboard pause switch",EnableAnnotationsSwitch:"data-testid public dashboard on off switch for annotations",CreateButton:"data-testid public dashboard create button",DeleteButton:"data-testid public dashboard delete button",CopyUrlInput:"data-testid public dashboard copy url input",CopyUrlButton:"data-testid public dashboard copy url button",TemplateVariablesWarningAlert:"data-testid public dashboard disabled template variables alert",UnsupportedDataSourcesWarningAlert:"data-testid public dashboard unsupported data sources alert",NoUpsertPermissionsWarningAlert:"data-testid public dashboard no upsert permissions alert",EnableTimeRangeSwitch:"data-testid public dashboard on off switch for time range",EmailSharingConfiguration:{Container:"data-testid email sharing config container",ShareType:"data-testid public dashboard share type",EmailSharingInput:"data-testid public dashboard email sharing input",EmailSharingInviteButton:"data-testid public dashboard email sharing invite button",EmailSharingList:"data-testid public dashboard email sharing list",DeleteEmail:"data-testid public dashboard delete email button",ReshareLink:"data-testid public dashboard reshare link button"}}},PublicDashboard:{page:"public-dashboard-page",NotAvailable:{container:"public-dashboard-not-available",title:"public-dashboard-title",pausedDescription:"public-dashboard-paused-description"}},RequestViewAccess:{form:"request-view-access-form",recipientInput:"request-view-access-recipient-input",submitButton:"request-view-access-submit-button"},Explore:{url:"/explore",General:{container:"data-testid Explore",graph:"Explore Graph",table:"Explore Table",scrollView:"data-testid explorer scroll view"}},SoloPanel:{url:e=>`/d-solo/${e}`},PluginsList:{page:"Plugins list page",list:"Plugins list",listItem:"Plugins list item",signatureErrorNotice:"Unsigned plugins notice"},PluginPage:{page:"Plugin page",signatureInfo:"Plugin signature info",disabledInfo:"Plugin disabled info"},PlaylistForm:{name:"Playlist name",interval:"Playlist interval",itemDelete:"Delete playlist item"},BrowseDashbards:{table:{row:e=>`data-testid ${e} row`,checkbox:e=>`data-testid ${e} checkbox`}},Search:{url:"/?search=openn",FolderView:{url:"/?search=open&layout=folders"}},PublicDashboards:{ListItem:{linkButton:"public-dashboard-link-button",configButton:"public-dashboard-configuration-button",trashcanButton:"public-dashboard-remove-button"}},UserListPage:{tabs:{allUsers:"data-testid all-users-tab",orgUsers:"data-testid org-users-tab",publicDashboardsUsers:"data-testid public-dashboards-users-tab",users:"data-testid users-tab"},org:{url:"/org/users"},admin:{url:"/admin/users"},publicDashboards:{container:"data-testid public-dashboards-users-list"},UserListAdminPage:{container:"data-testid user-list-admin-page"},UsersListPage:{container:"data-testid users-list-page"},UsersListPublicDashboardsPage:{container:"data-testid users-list-public-dashboards-page",DashboardsListModal:{listItem:e=>`data-testid dashboards-list-item-${e}`}}}},components:Xr};function Jr(e){return r().createElement(tr.Tooltip,{content:"Cancel query"},r().createElement(tr.Icon,{className:"spin-clockwise",name:"sync",size:"xs","aria-label":Zr.components.LoadingIndicator.icon,role:"button",onMouseDown:t=>{e.onCancel(t)}}))}function en(e){const t=(0,tr.useStyles2)(tn),n=(0,tr.useTheme2)(),a="vertical"===e.layout,o=Boolean(e.isLoading)?r().createElement("div",{style:{marginLeft:n.spacing(1),marginTop:"-1px"}},r().createElement(Jr,{onCancel:t=>{var r;t.preventDefault(),t.stopPropagation(),null==(r=e.onCancel)||r.call(e)}})):null;let i=null;e.error&&(i=r().createElement(tr.Tooltip,{content:e.error,placement:"bottom"},r().createElement(tr.Icon,{className:t.errorIcon,name:"exclamation-triangle"})));const s="string"==typeof e.label?Zr.pages.Dashboard.SubMenu.submenuItemLabels(e.label):"";let l;return l=a?r().createElement("label",{className:t.verticalLabel,"data-testid":s,htmlFor:e.htmlFor},e.label,i,e.icon&&r().createElement(tr.Icon,{name:e.icon,className:t.normalIcon}),o,e.onRemove&&r().createElement(tr.IconButton,{variant:"secondary",size:"xs",name:"times",onClick:e.onRemove,tooltip:"Remove"})):r().createElement("label",{className:t.horizontalLabel,"data-testid":s,htmlFor:e.htmlFor},i,e.icon&&r().createElement(tr.Icon,{name:e.icon,className:t.normalIcon}),e.label,o),e.description?r().createElement(tr.Tooltip,{content:e.description,placement:a?"top":"bottom"},l):l}const tn=e=>({horizontalLabel:(0,rr.css)({background:e.isDark?e.colors.background.primary:e.colors.background.secondary,display:"flex",alignItems:"center",padding:e.spacing(0,1),fontWeight:e.typography.fontWeightMedium,fontSize:e.typography.bodySmall.fontSize,height:e.spacing(e.components.height.md),lineHeight:e.spacing(e.components.height.md),borderRadius:e.shape.borderRadius(1),border:`1px solid ${e.components.input.borderColor}`,position:"relative",right:-1,whiteSpace:"nowrap",gap:e.spacing(.5)}),verticalLabel:(0,rr.css)({display:"flex",alignItems:"center",fontWeight:e.typography.fontWeightMedium,fontSize:e.typography.bodySmall.fontSize,lineHeight:e.typography.bodySmall.lineHeight,whiteSpace:"nowrap",marginBottom:e.spacing(.5),gap:e.spacing(1)}),errorIcon:(0,rr.css)({color:e.colors.error.text}),normalIcon:(0,rr.css)({color:e.colors.text.secondary})});var rn=Object.defineProperty,nn=Object.defineProperties,an=Object.getOwnPropertyDescriptors,on=Object.getOwnPropertySymbols,sn=Object.prototype.hasOwnProperty,ln=Object.prototype.propertyIsEnumerable,un=(e,t,r)=>t in e?rn(e,t,{enumerable:!0,configurable:!0,writable:!0,value:r}):e[t]=r,cn=(e,t)=>{for(var r in t||(t={}))sn.call(t,r)&&un(e,r,t[r]);if(on)for(var r of on(t))ln.call(t,r)&&un(e,r,t[r]);return e},dn=(e,t)=>nn(e,an(t));function pn({layer:e,isEnabled:t,onToggleLayer:n}){var a,o;const i=`data-layer-${e.state.key}`,{data:s}=e.useState(),l=Boolean(s&&s.state===ae.Loading);return r().createElement("div",{className:hn},r().createElement(en,{htmlFor:i,isLoading:l,onCancel:()=>{var t;return null==(t=e.cancelQuery)?void 0:t.call(e)},label:e.state.name,description:e.state.description,error:null==(o=null==(a=e.state.data)?void 0:a.errors)?void 0:o[0].message}),r().createElement(tr.InlineSwitch,{id:i,value:t,onChange:n}))}(class extends Q{constructor(){super({layersMap:{}}),this.addActivationHandler((()=>this._onActivate()))}_onActivate(){const e=ct.getDataLayers(this,!0);this.setState({layersMap:e.reduce(((e,t)=>dn(cn({},e),{[t.state.key]:t.state.isEnabled})),{})})}toggleLayer(e){this.setState({layersMap:dn(cn({},this.state.layersMap),{[e.state.key]:!e.state.isEnabled})}),e.setState({isEnabled:!e.state.isEnabled})}}).Component=function({model:e}){const{layersMap:t}=e.useState(),n=ct.getDataLayers(e,!0);return 0===n.length?null:r().createElement(r().Fragment,null,n.map((n=>{const a=`data-layer-${n.state.key}`;return n.state.isHidden?null:r().createElement(pn,{key:a,layer:n,onToggleLayer:()=>e.toggleLayer(n),isEnabled:t[n.state.key]})})))};const hn=(0,rr.css)({display:"flex"});Object.defineProperty,Object.defineProperties,Object.getOwnPropertyDescriptors,Object.getOwnPropertySymbols,Object.prototype.hasOwnProperty,Object.prototype.propertyIsEnumerable;class fn extends Q{}function mn({variable:t,layout:n}){return t.useState().hide===e.VariableHide.hideVariable?null:"vertical"===n?r().createElement("div",{className:bn},r().createElement(gn,{variable:t,layout:n}),r().createElement(t.Component,{model:t})):r().createElement("div",{className:yn},r().createElement(gn,{variable:t}),r().createElement(t.Component,{model:t}))}function gn({variable:t,layout:n}){var a,o;const{state:i}=t;if(t.state.hide===e.VariableHide.hideLabel)return null;const s=`var-${i.key}`,l=null!=(a=i.label)?a:i.name;return r().createElement(en,{htmlFor:s,isLoading:i.loading,onCancel:()=>{var e;return null==(e=t.onCancel)?void 0:e.call(t)},label:l,error:i.error,layout:n,description:null!=(o=i.description)?o:void 0})}fn.Component=function({model:e}){const t=ct.getVariables(e).useState();return r().createElement(r().Fragment,null,t.variables.map((t=>r().createElement(mn,{key:t.state.key,variable:t,layout:e.state.layout}))))};const yn=(0,rr.css)({display:"flex"}),bn=(0,rr.css)({display:"flex",flexDirection:"column"});class vn extends Q{constructor(e){super(e),this._variablesThatHaveChanged=new Set,this._variablesToUpdate=new Set,this._updating=new Map,this._variableValueRecorder=new xt,this._variableDependency=new Sn(this._handleParentVariableUpdatesCompleted.bind(this)),this._onActivate=()=>{const e=ct.getTimeRange(this);this._subs.add(this.subscribeToEvent(De,(e=>this._handleVariableValueChanged(e.payload)))),this._subs.add(e.subscribeToState((()=>{this._refreshTimeRangeBasedVariables()}))),this._subs.add(this.subscribeToState(this._onStateChanged)),this._checkForVariablesThatChangedWhileInactive();for(const e of this.state.variables)this._variableNeedsUpdate(e)&&this._variablesToUpdate.add(e);return this._updateNextBatch(),this._onDeactivate},this._onDeactivate=()=>{var e;for(const t of this._updating.values())null==(e=t.subscription)||e.unsubscribe();for(const e of this.state.variables)this._variablesToUpdate.has(e)||this._updating.has(e)||this._variableValueRecorder.recordCurrentValue(e);this._variablesToUpdate.clear(),this._updating.clear()},this._onStateChanged=(e,t)=>{const r=this._variablesToUpdate.size;for(const r of t.variables)if(!e.variables.includes(r)){const e=this._updating.get(r);(null==e?void 0:e.subscription)&&e.subscription.unsubscribe(),this._updating.delete(r),this._variablesToUpdate.delete(r)}for(const r of e.variables)t.variables.includes(r)||this._variableNeedsUpdate(r)&&this._variablesToUpdate.add(r);0===r&&this._variablesToUpdate.size>0&&this._updateNextBatch()},this.addActivationHandler(this._onActivate)}getByName(e){return this.state.variables.find((t=>t.state.name===e))}_refreshTimeRangeBasedVariables(){for(const t of this.state.variables)"refresh"in t.state&&t.state.refresh===e.VariableRefresh.onTimeRangeChanged&&this._variablesToUpdate.add(t);this._updateNextBatch()}_checkForVariablesThatChangedWhileInactive(){if(this._variableValueRecorder.hasValues())for(const e of this.state.variables)this._variableValueRecorder.hasValueChanged(e)&&(wn(e,"Changed while in-active"),this._addDependentVariablesToUpdateQueue(e))}_variableNeedsUpdate(e){return!(!e.validateAndUpdate||this._variableValueRecorder.hasRecordedValue(e)&&(wn(e,"Skipping updateAndValidate current value valid"),1))}_updateNextBatch(){if(0!==this._variablesToUpdate.size)for(const e of this._variablesToUpdate){if(!e.validateAndUpdate)throw new Error("Variable added to variablesToUpdate but does not have validateAndUpdate");if(this._updating.has(e))continue;if(ct.hasVariableDependencyInLoadingState(e))continue;const t={variable:e};this._updating.set(e,t),wn(e,"updateAndValidate started"),t.subscription=e.validateAndUpdate().subscribe({next:()=>this._validateAndUpdateCompleted(e),error:t=>this._handleVariableError(e,t)})}else this._notifyDependentSceneObjects()}_validateAndUpdateCompleted(e){var t;const r=this._updating.get(e);null==(t=null==r?void 0:r.subscription)||t.unsubscribe(),this._updating.delete(e),this._variablesToUpdate.delete(e),wn(e,"updateAndValidate completed"),this._updateNextBatch()}cancel(e){var t;const r=this._updating.get(e);null==(t=null==r?void 0:r.subscription)||t.unsubscribe(),this._updating.delete(e),this._variablesToUpdate.delete(e)}_handleVariableError(e,t){var r;const n=this._updating.get(e);null==(r=null==n?void 0:n.subscription)||r.unsubscribe(),this._updating.delete(e),this._variablesToUpdate.delete(e),e.setState({loading:!1,error:t.message}),console.error("SceneVariableSet updateAndValidate error",t),wn(e,"updateAndValidate error",t)}_handleVariableValueChanged(e){this._variablesThatHaveChanged.add(e),this._addDependentVariablesToUpdateQueue(e),this._updating.has(e)||this._updateNextBatch()}_handleParentVariableUpdatesCompleted(e){for(const t of e)this._addDependentVariablesToUpdateQueue(t);this._variablesToUpdate.size>0&&0===this._updating.size&&this._updateNextBatch()}_addDependentVariablesToUpdateQueue(e){for(const t of this.state.variables)t.variableDependency&&t.variableDependency.hasDependencyOn(e.state.name)&&(wn(t,"Added to update queue, dependant variable value changed"),this._variablesToUpdate.add(t))}_notifyDependentSceneObjects(){this.parent&&(this._traverseSceneAndNotify(this.parent),this._variablesThatHaveChanged.clear())}_traverseSceneAndNotify(e){this!==e&&e.isActive&&(e.variableDependency&&e.variableDependency.variableUpdatesCompleted(this._variablesThatHaveChanged),e.forEachChild((e=>this._traverseSceneAndNotify(e))))}isVariableLoadingOrWaitingToUpdate(e){return!(!e.isAncestorLoading||!e.isAncestorLoading())||this._variablesToUpdate.has(e)||this._updating.has(e)}}function wn(e,t,r){er("SceneVariableSet",`Variable[${e.state.name}]: ${t}`,r)}class Sn{constructor(e){this._variableUpdatesCompleted=e,this._emptySet=new Set}getNames(){return this._emptySet}hasDependencyOn(e){return!1}variableUpdatesCompleted(e){this._variableUpdatesCompleted(e)}}function _n({model:e}){const{value:t,key:n}=e.useState(),a=e.onSearchChange?(t,r)=>{"input-change"===r.action&&e.onSearchChange(t)}:void 0;return r().createElement(tr.Select,{id:n,placeholder:"Select value",width:"auto",value:t,allowCustomValue:!0,tabSelectsValue:!1,onInputChange:a,options:e.getOptionsForSelect(),onChange:t=>{e.changeValueTo(t.value,t.label)}})}function On({model:e}){const{value:n,key:a,maxVisibleValues:o}=e.useState(),i=(0,t.useMemo)((()=>(0,Re.isArray)(n)?n:[n]),[n]),[s,l]=(0,t.useState)(i);(0,t.useEffect)((()=>{l(i)}),[i]);const u=e.onSearchChange?(t,r)=>{"input-change"===r.action&&e.onSearchChange(t)}:void 0;return r().createElement(tr.MultiSelect,{id:a,placeholder:"Select value",width:"auto",value:s,noMultiValueWrap:!0,maxVisibleValues:null!=o?o:5,tabSelectsValue:!1,allowCustomValue:!0,options:e.getOptionsForSelect(),closeMenuOnSelect:!1,isClearable:!0,onInputChange:u,onBlur:()=>{e.changeValueTo(s)},onChange:e=>{l(e.map((e=>e.value)))}})}function xn(e){return e.state.isMulti?r().createElement(On,{model:e}):r().createElement(_n,{model:e})}Object.defineProperty,Object.defineProperties,Object.getOwnPropertyDescriptors,Object.getOwnPropertySymbols,Object.prototype.hasOwnProperty,Object.prototype.propertyIsEnumerable;class Cn extends Q{constructor(){super(...arguments),this._urlSync=new Pn(this)}validateAndUpdate(){return this.getValueOptions({}).pipe((0,S.map)((e=>(this.updateValueGivenNewOptions(e),{}))))}onCancel(){this.setStateHelper({loading:!1});const e=this.parent;null==e||e.cancel(this)}updateValueGivenNewOptions(e){const{value:t,text:r}=this.state,n={options:e,loading:!1,value:t,text:r};if(0===e.length)(this.state.defaultToAll||this.state.includeAll)&&(n.value=Ue,n.text=Be);else if(this.hasAllValue());else if(this.state.isMulti){const a=(Array.isArray(t)?t:[t]).filter((t=>e.find((e=>e.value===t)))),o=a.map((t=>e.find((e=>e.value===t)).label));if(0===a.length){const t=this.getDefaultMultiState(e);n.value=t.value,n.text=t.text}else(0,Re.isEqual)(a,t)&&(0,Re.isEqual)(o,r)||(n.value=a,n.text=o)}else{let a=function(e,t,r){let n;for(const a of r){if(a.value===e)return a;a.label===t&&(n=a)}return n}(t,r,e);a?(n.text=a.label,n.value=a.value):this.state.defaultToAll?(n.value=Ue,n.text=Be):(n.value=e[0].value,n.text=e[0].label)}this.setStateHelper(n),(n.value!==t||n.text!==r||this.hasAllValue())&&this.publishEvent(new De(this),!0)}getValue(){return this.hasAllValue()?this.state.allValue?new Dn(this.state.allValue,this):this.state.options.map((e=>e.value)):this.state.value}getValueText(){return this.hasAllValue()?Be:Array.isArray(this.state.text)?this.state.text.join(" + "):String(this.state.text)}hasAllValue(){const e=this.state.value;return e===Ue||Array.isArray(e)&&e[0]===Ue}getDefaultMultiState(e){return this.state.defaultToAll?{value:[Ue],text:[Be]}:{value:[e[0].value],text:[e[0].label]}}changeValueTo(e,t){if(e!==this.state.value||t!==this.state.text){if(t||(t=Array.isArray(e)?e.map((e=>this.findLabelTextForValue(e))):this.findLabelTextForValue(e)),Array.isArray(e)){if(0===e.length){const r=this.getDefaultMultiState(this.state.options);e=r.value,t=r.text}e[e.length-1]===Ue?(e=[Ue],t=[Be]):e[0]===Ue&&e.length>1&&(e.shift(),Array.isArray(t)&&t.shift())}this.setStateHelper({value:e,text:t,loading:!1}),this.publishEvent(new De(this),!0)}}findLabelTextForValue(e){const t=this.state.options.find((t=>t.value===e));if(t)return t.label;const r=this.state.options.find((t=>t.label===e));return r?r.label:e}setStateHelper(e){var t;t=e,this.setState(t)}getOptionsForSelect(){let e=this.state.options;return this.state.includeAll&&(e=[{value:Ue,label:Be},...e]),Array.isArray(this.state.value)||e.find((e=>e.value===this.state.value))||(e=[{value:this.state.value,label:String(this.state.text)},...e]),e}}class Pn{constructor(e){this._sceneObject=e}getKey(){return`var-${this._sceneObject.state.name}`}getKeys(){return this._sceneObject.state.skipUrlSync?[]:[this.getKey()]}getUrlState(){if(this._sceneObject.state.skipUrlSync)return{};let e=null,t=this._sceneObject.state.value;return e=Array.isArray(t)?t.map(String):this._sceneObject.state.isMulti?[String(t)]:String(t),{[this.getKey()]:e}}updateFromUrl(e){const t=e[this.getKey()];null!=t&&this._sceneObject.changeValueTo(t)}}class Dn{constructor(e,t){this._value=e,this._variable=t}formatter(e){return e===Pe.Text?Be:e===Pe.PercentEncode?Ie.get(Pe.PercentEncode).formatter(this._value,[],this._variable):e===Pe.QueryParam?Ie.get(Pe.QueryParam).formatter(Be,[],this._variable):this._value}}var En=Object.defineProperty,Rn=Object.getOwnPropertySymbols,jn=Object.prototype.hasOwnProperty,Tn=Object.prototype.propertyIsEnumerable,kn=(e,t,r)=>t in e?En(e,t,{enumerable:!0,configurable:!0,writable:!0,value:r}):e[t]=r;(class extends Cn{constructor(e){super(((e,t)=>{for(var r in t||(t={}))jn.call(t,r)&&kn(e,r,t[r]);if(Rn)for(var r of Rn(t))Tn.call(t,r)&&kn(e,r,t[r]);return e})({type:"custom",query:"",value:"",text:"",options:[],name:""},e)),this._variableDependency=new ht(this,{statePaths:["query"]})}getValueOptions(e){var t;const r=(null!=(t=ct.interpolate(this,this.state.query).match(/(?:\\,|[^,])+/g))?t:[]).map((e=>{var t;e=e.replace(/\\,/g,",");const r=null!=(t=/^(.+)\s:\s(.+)$/g.exec(e))?t:[];if(3===r.length){const[,e,t]=r;return{label:e.trim(),value:t.trim()}}return{label:e.trim(),value:e.trim()}}));return(0,S.of)(r)}}).Component=({model:e})=>xn(e);var An=Object.defineProperty,In=Object.getOwnPropertySymbols,Vn=Object.prototype.hasOwnProperty,Fn=Object.prototype.propertyIsEnumerable,Ln=(e,t,r)=>t in e?An(e,t,{enumerable:!0,configurable:!0,writable:!0,value:r}):e[t]=r;function Mn(e,t){return!t||t.exec(e.name)}function zn(e,t){return!!e.isDefault&&(!t||t.exec("default"))}(class extends Cn{constructor(e){super(((e,t)=>{for(var r in t||(t={}))Vn.call(t,r)&&Ln(e,r,t[r]);if(In)for(var r of In(t))Fn.call(t,r)&&Ln(e,r,t[r]);return e})({type:"datasource",value:"",text:"",options:[],name:"",regex:"",pluginId:""},e)),this._variableDependency=new ht(this,{statePaths:["regex"]})}getValueOptions(t){if(!this.state.pluginId)return(0,S.of)([]);const r=(0,u.getDataSourceSrv)().getList({metrics:!0,variables:!1,pluginId:this.state.pluginId});let n;if(this.state.regex){const t=ct.interpolate(this,this.state.regex,void 0,"regex");n=(0,e.stringToJsRegex)(t)}const a=[];for(let e=0;exn(e);const Nn=e=>Boolean(e.metricFindQuery)&&!Boolean(e.variables),Hn=t=>{if(!t.variables)return!1;if(t.variables.getType()!==e.VariableSupportType.Standard)return!1;const r=t.variables;return"toDataQuery"in r&&Boolean(r.toDataQuery)},Bn=t=>{if(!t.variables)return!1;if(t.variables.getType()!==e.VariableSupportType.Custom)return!1;const r=t.variables;return"query"in r&&"editor"in r&&Boolean(r.query)&&Boolean(r.editor)};var Un=Object.defineProperty,$n=Object.defineProperties,Wn=Object.getOwnPropertyDescriptors,qn=Object.getOwnPropertySymbols,Gn=Object.prototype.hasOwnProperty,Qn=Object.prototype.propertyIsEnumerable,Yn=(e,t,r)=>t in e?Un(e,t,{enumerable:!0,configurable:!0,writable:!0,value:r}):e[t]=r,Kn=(e,t)=>{for(var r in t||(t={}))Gn.call(t,r)&&Yn(e,r,t[r]);if(qn)for(var r of qn(t))Qn.call(t,r)&&Yn(e,r,t[r]);return e},Xn=(e,t)=>$n(e,Wn(t));class Zn{constructor(e,t=(0,u.getRunRequest)()){this.datasource=e,this._runRequest=t}getTarget(e){if(Hn(this.datasource))return this.datasource.variables.toDataQuery(function(e){const t=e.state.query;return t&&"object"==typeof t?null==t.refId?Xn(Kn({},t),{refId:`variable-${e.state.name}`}):e.state.query:{query:t,refId:`variable-${e.state.name}`}}(e));throw new Error("Couldn't create a target with supplied arguments.")}runRequest(e,t){return Hn(this.datasource)?this.datasource.variables.query?this._runRequest(this.datasource,t,this.datasource.variables.query.bind(this.datasource.variables)):this._runRequest(this.datasource,t):ta()}}class Jn{constructor(e){this.datasource=e}getTarget(e){if(Nn(this.datasource))return e.state.query;throw new Error("Couldn't create a target with supplied arguments.")}runRequest({variable:t,searchFilter:r},n){return Nn(this.datasource)?(0,S.from)(this.datasource.metricFindQuery(t.state.query,Xn(Kn({},n),{variable:{name:t.state.name,type:t.state.type},searchFilter:r}))).pipe((0,S.mergeMap)((t=>{if(!t||!t.length)return ta();const r=t;return(0,S.of)({series:r,state:e.LoadingState.Done,timeRange:n.range})}))):ta()}}class ea{constructor(e,t=(0,u.getRunRequest)()){this.datasource=e,this._runRequest=t}getTarget(e){if(Bn(this.datasource))return e.state.query;throw new Error("Couldn't create a target with supplied arguments.")}runRequest(e,t){return Bn(this.datasource)?this.datasource.variables.query?this._runRequest(this.datasource,t,this.datasource.variables.query.bind(this.datasource.variables)):this._runRequest(this.datasource,t):ta()}}function ta(){return(0,S.of)({state:e.LoadingState.Done,series:[],timeRange:(0,e.getDefaultTimeRange)()})}const ra=(e,t)=>{const r=[];let n=null;t.lastIndex=0;do{n=t.exec(e),n&&r.push(n)}while(t.global&&n&&""!==n[0]&&void 0!==n[0]);return r};var na=Object.defineProperty,aa=Object.getOwnPropertySymbols,oa=Object.prototype.hasOwnProperty,ia=Object.prototype.propertyIsEnumerable,sa=(e,t,r)=>t in e?na(e,t,{enumerable:!0,configurable:!0,writable:!0,value:r}):e[t]=r;class la extends Cn{constructor(t){super(((e,t)=>{for(var r in t||(t={}))oa.call(t,r)&&sa(e,r,t[r]);if(aa)for(var r of aa(t))ia.call(t,r)&&sa(e,r,t[r]);return e})({type:"query",name:"",value:"",text:"",options:[],datasource:null,regex:"",query:{refId:"A"},refresh:e.VariableRefresh.onDashboardLoad,sort:e.VariableSort.disabled},t)),this._variableDependency=new ht(this,{statePaths:["regex","query","datasource"]}),this.onSearchChange=e=>{pt(this.state.query).indexOf("__searchFilter")&&this._updateOptionsBasedOnSearchFilter(e)},this._updateOptionsBasedOnSearchFilter=(0,Re.debounce)((async e=>{const t=await(0,S.lastValueFrom)(this.getValueOptions({searchFilter:e}));this.setState({options:t,loading:!1})}),400)}getValueOptions(t){return this.state.query?(this.setState({loading:!0,error:null}),(0,S.from)(Ot(this.state.datasource,{__sceneObject:{text:"__sceneObject",value:this}})).pipe((0,S.mergeMap)((r=>{const n=function(e){if(Hn(e))return new Zn(e,(0,u.getRunRequest)());if(Nn(e))return new Jn(e);if(Bn(e))return new ea(e);throw new Error(`Couldn't create a query runner for datasource ${e.type}`)}(r),a=n.getTarget(this),o=this.getRequest(a,t.searchFilter);return n.runRequest({variable:this,searchFilter:t.searchFilter},o).pipe((0,S.filter)((t=>t.state===e.LoadingState.Done||t.state===e.LoadingState.Error)),(0,S.take)(1),(0,S.mergeMap)((t=>t.state===e.LoadingState.Error?(0,S.throwError)((()=>t.error)):(0,S.of)(t))),(t=>t.pipe((0,S.map)((t=>{const r=t.series;if(!r||!r.length)return[];if(function(t){if(!t)return!1;if(!t.length)return!0;const r=t[0];if((0,e.isDataFrame)(r))return!1;for(const e in r){if(!r.hasOwnProperty(e))continue;if(null!==r[e]&&"string"!=typeof r[e]&&"number"!=typeof r[e])continue;const t=e.toLowerCase();if("text"===t||"value"===t)return!0}return!1}(r))return r;if(0===r[0].fields.length)return[];const n=(0,e.getProcessedDataFrames)(r),a=[];let o=-1,i=-1,s=-1,l=-1;for(const t of n)for(let n=0;n{let r="";return this.state.regex&&(r=ct.interpolate(this,this.state.regex,void 0,"regex")),(0,S.of)(((t,r,n)=>{var a,o,i,s,l,u;let c,d=[];t&&(c=(0,e.stringToJsRegex)(t));for(let e=0;ee.groups&&e.groups.value)),n=e.find((e=>e.groups&&e.groups.text)),h=e.find((e=>e.length>1)),f=e.length>1&&h;if(t||n)p=null!=(i=null==(a=null==t?void 0:t.groups)?void 0:a.value)?i:null==(o=null==n?void 0:n.groups)?void 0:o.text,r=null!=(u=null==(s=null==n?void 0:n.groups)?void 0:s.text)?u:null==(l=null==t?void 0:t.groups)?void 0:l.value;else{if(f){for(let t=0;t{if(r===e.VariableSort.disabled)return t;const n=e=>{if(!e.text)return-1;const t=e.text.match(/.*?(\d+).*/);return!t||t.length<2?-1:parseInt(t[1],10)},a=e=>e.sort(((e,t)=>e.text?t.text?e.text.localeCompare(t.text,void 0,{numeric:!0}):1:-1));switch(r){case e.VariableSort.alphabeticalAsc:t=(0,Re.sortBy)(t,"text");break;case e.VariableSort.alphabeticalDesc:t=(0,Re.sortBy)(t,"text").reverse();break;case e.VariableSort.numericalAsc:t=(0,Re.sortBy)(t,n);break;case e.VariableSort.numericalDesc:t=(t=(0,Re.sortBy)(t,n)).reverse();break;case e.VariableSort.alphabeticalCaseInsensitiveAsc:t=(0,Re.sortBy)(t,(e=>(0,Re.toLower)(e.text)));break;case e.VariableSort.alphabeticalCaseInsensitiveDesc:t=(t=(0,Re.sortBy)(t,(e=>(0,Re.toLower)(e.text)))).reverse();break;case e.VariableSort.naturalAsc||7:t=a(t);break;case e.VariableSort.naturalDesc||8:t=(t=a(t)).reverse()}return t})(d,r)})(r,this.state.sort,t))})),(0,S.catchError)((e=>e.cancelled?(0,S.of)([]):(0,S.throwError)((()=>e)))))})))):(0,S.of)([])}getRequest(t,r){const n={__sceneObject:{text:"__sceneObject",value:this}};r&&(n.__searchFilter={value:r,text:r});const a=ct.getTimeRange(this).state.value;return{app:e.CoreApp.Dashboard,requestId:D(),timezone:"",range:a,interval:"",intervalMs:0,targets:[t],scopedVars:n,startTime:Date.now()}}}function ua(e,t){const r=["A","B","C","D","E","F","G","H"],n=[];if(t>5)return[];for(const a of r){const r=`${e}${a}`;n.push({name:r,children:ua(r,t+1)})}return n}function ca(e,t,r){if(r>=t.length)return e;if("*"===t[r])return e;const n=t[r];let a=[],o=[n];n.startsWith("{")&&(o=n.replace(/\{|\}/g,"").split(","));for(const n of e)for(const e of o)if(-1!==e.indexOf("*")){const o=e.replace("*","");new RegExp(`^${o}.*`,"gi").test(n.name)&&(a=a.concat(ca([n],t,r+1)))}else n.name===e&&(a=a.concat(ca(n.children,t,r+1)));return a}function da(e){return 0===e.indexOf("value")?[{name:e,children:[]}]:ca(ua("",0),e.split("."),0)}la.Component=({model:e})=>xn(e);var pa=Object.defineProperty,ha=Object.getOwnPropertySymbols,fa=Object.prototype.hasOwnProperty,ma=Object.prototype.propertyIsEnumerable,ga=(e,t,r)=>t in e?pa(e,t,{enumerable:!0,configurable:!0,writable:!0,value:r}):e[t]=r;function ya({model:e}){const{value:n,key:a,loading:o}=e.useState(),i=(0,t.useCallback)((t=>{e.setValue(t.currentTarget.value)}),[e]),s=(0,t.useCallback)((t=>{"Enter"===t.key&&e.setValue(t.currentTarget.value)}),[e]);return r().createElement(tr.AutoSizeInput,{id:a,placeholder:"Enter value",minWidth:15,defaultValue:n,loading:o,onBlur:i,onKeyDown:s})}(class extends Cn{constructor(t){super(((e,t)=>{for(var r in t||(t={}))fa.call(t,r)&&ga(e,r,t[r]);if(ha)for(var r of ha(t))ma.call(t,r)&&ga(e,r,t[r]);return e})({type:"custom",name:"Test",value:"Value",text:"Text",query:"Query",options:[],refresh:e.VariableRefresh.onDashboardLoad},t)),this.completeUpdate=new S.Subject,this.isGettingValues=!0,this.getValueOptionsCount=0,this._variableDependency=new ht(this,{statePaths:["query"]})}getValueOptions(e){const{delayMs:t}=this.state;return this.getValueOptionsCount+=1,new S.Observable((e=>{if(this.setState({loading:!0}),this.state.throwError)throw new Error(this.state.throwError);const r=this.completeUpdate.subscribe({next:()=>{e.next(this.issueQuery()),e.complete()}});let n;return t?n=window.setTimeout((()=>this.signalUpdateCompleted()),t):0===t&&this.signalUpdateCompleted(),this.isGettingValues=!0,()=>{r.unsubscribe(),window.clearTimeout(n),this.setState({loading:!1}),this.isGettingValues=!1}}))}cancel(){const e=te(this,(e=>e instanceof vn?e:void 0));null==e||e.cancel(this)}issueQuery(){const e=ct.interpolate(this,this.state.query),t=this.getOptions(e);return this.setState({issuedQuery:e,options:t}),t}getOptions(e){return this.state.optionsToReturn?this.state.optionsToReturn:da(e).map((e=>({label:e.name,value:e.name})))}signalUpdateCompleted(){this.completeUpdate.next(1)}}).Component=({model:e})=>xn(e);var ba=Object.defineProperty,va=Object.getOwnPropertySymbols,wa=Object.prototype.hasOwnProperty,Sa=Object.prototype.propertyIsEnumerable,_a=(e,t,r)=>t in e?ba(e,t,{enumerable:!0,configurable:!0,writable:!0,value:r}):e[t]=r;(class extends Q{constructor(e){super(((e,t)=>{for(var r in t||(t={}))wa.call(t,r)&&_a(e,r,t[r]);if(va)for(var r of va(t))Sa.call(t,r)&&_a(e,r,t[r]);return e})({type:"textbox",value:"",name:""},e)),this._urlSync=new pe(this,{keys:[this.getKey()]})}getValue(){return this.state.value}setValue(e){e!==this.state.value&&(this.setState({value:e}),this.publishEvent(new De(this),!0))}getKey(){return`var-${this.state.name}`}getUrlState(){return{[this.getKey()]:this.state.value}}updateFromUrl(e){const t={},r=e[this.getKey()];"string"==typeof r&&(t.value=r),this.setState(t)}}).Component=({model:e})=>r().createElement(ya,{model:e}),Object.defineProperty,Object.defineProperties,Object.getOwnPropertyDescriptors,Object.getOwnPropertySymbols,Object.prototype.hasOwnProperty,Object.prototype.propertyIsEnumerable;var Oa=Object.defineProperty,xa=Object.getOwnPropertySymbols,Ca=Object.prototype.hasOwnProperty,Pa=Object.prototype.propertyIsEnumerable,Da=(e,t,r)=>t in e?Oa(e,t,{enumerable:!0,configurable:!0,writable:!0,value:r}):e[t]=r;(class extends Q{constructor(e){super(((e,t)=>{for(var r in t||(t={}))Ca.call(t,r)&&Da(e,r,t[r]);if(xa)for(var r of xa(t))Pa.call(t,r)&&Da(e,r,t[r]);return e})({type:"interval",value:"",intervals:["1m","10m","30m","1h","6h","12h","1d","7d","14d","30d"],name:"",autoStepCount:30,autoMinInterval:"10s",autoEnabled:!1,refresh:ne.onTimeRangeChanged},e)),this._onChange=e=>{this.setState({value:e.value}),this.publishEvent(new De(this),!0)},this._urlSync=new pe(this,{keys:[this.getKey()]})}getKey(){return`var-${this.state.name}`}getUrlState(){return{[this.getKey()]:this.state.value}}updateFromUrl(e){const t={},r=e[this.getKey()];"string"==typeof r&&(r.startsWith("$__auto_interval_")?t.value=$e:t.value=r),this.setState(t)}getOptionsForSelect(){const{value:e,intervals:t,autoEnabled:r}=this.state;let n=t.map((e=>({value:e,label:e})));return r&&(n=[{value:$e,label:"Auto"},...n]),e&&!n.some((t=>t.value===e))&&n.push({value:e,label:e}),n}getValue(){const{value:e,autoStepCount:t,autoMinInterval:r}=this.state;return e===$e?this.getAutoRefreshInteval(t,r):e}getAutoRefreshInteval(t,r){const n=ct.getTimeRange(this).state.value;return e.rangeUtil.calculateInterval(n,t,r).interval}validateAndUpdate(){const{value:e,intervals:t}=this.state;let r=!1;if(e===$e)r=!0;else if(!e&&t.length>0){const e=t[0];this.setState({value:e}),r=!0}return r&&this.publishEvent(new De(this),!0),(0,S.of)({})}}).Component=({model:e})=>{const{key:t,value:n}=e.useState();return r().createElement(tr.Select,{id:t,placeholder:"Select value",width:"auto",value:n,tabSelectsValue:!1,options:e.getOptionsForSelect(),onChange:e._onChange})};class Ea{constructor(e){this._variable=e}getKey(){return`var-${this._variable.state.name}`}getKeys(){return[this.getKey()]}getUrlState(){const e=this._variable.state.filters.map((e=>function(e){return[e.key,e.operator,e.value]}(e).map(Ra).join("|")));return{[this.getKey()]:e}}updateFromUrl(e){const t=e[this.getKey()];if(null==t)return;const r=function(e){if(Array.isArray(e))return e.map(Ta).filter(ka);const t=Ta(e);return null===t?[]:[t]}(t);this._variable.setState({filters:r})}}function Ra(e){return null==e?"":/\|/g[Symbol.replace](e,"__gfp__")}function ja(e){return null==e?"":/__gfp__/g[Symbol.replace](e,"|")}function Ta(e){if("string"!=typeof e||0===e.length)return null;const t=e.split("|").map(ja);return{key:t[0],operator:t[1],value:t[2],condition:""}}function ka(e){return null!==e&&"string"==typeof e.key&&"string"==typeof e.value}var Aa=Object.defineProperty,Ia=Object.defineProperties,Va=Object.getOwnPropertyDescriptors,Fa=Object.getOwnPropertySymbols,La=Object.prototype.hasOwnProperty,Ma=Object.prototype.propertyIsEnumerable,za=(e,t,r)=>t in e?Aa(e,t,{enumerable:!0,configurable:!0,writable:!0,value:r}):e[t]=r,Na=(e,t)=>{for(var r in t||(t={}))La.call(t,r)&&za(e,r,t[r]);if(Fa)for(var r of Fa(t))Ma.call(t,r)&&za(e,r,t[r]);return e},Ha=(e,t)=>Ia(e,Va(t));function Ba({filter:n,model:a}){var o,i;const s=(0,tr.useStyles2)(Ua),[l,u]=(0,t.useState)({}),c=""!==n.key?(0,e.toOption)(n.key):null,d=""!==n.value?(0,e.toOption)(n.value):null,p=r().createElement(tr.Select,{disabled:a.state.readOnly,className:l.isKeysOpen?s.widthWhenOpen:void 0,width:"auto",value:d,placeholder:"value",options:l.values,onChange:e=>a._updateFilter(n,"value",e.value),isOpen:l.isValuesOpen,isLoading:l.isValuesLoading,onOpenMenu:async()=>{u(Ha(Na({},l),{isValuesLoading:!0}));const e=await a._getValuesFor(n);u(Ha(Na({},l),{isValuesLoading:!1,isValuesOpen:!0,values:e}))},onCloseMenu:()=>{u(Ha(Na({},l),{isValuesOpen:!1}))}}),h=r().createElement(tr.Select,{disabled:a.state.readOnly,className:l.isKeysOpen?s.widthWhenOpen:void 0,width:"auto",value:c,placeholder:"Select label",options:l.keys,onChange:e=>a._updateFilter(n,"key",e.value),autoFocus:""===n.key,isOpen:l.isKeysOpen,isLoading:l.isKeysLoading,onOpenMenu:async()=>{u(Ha(Na({},l),{isKeysLoading:!0}));const e=await a._getKeys(n.key);u(Ha(Na({},l),{isKeysLoading:!1,isKeysOpen:!0,keys:e}))},onCloseMenu:()=>{u(Ha(Na({},l),{isKeysOpen:!1}))},openMenuOnFocus:!0});if("vertical"===a.state.layout){if(n.key){const e=r().createElement(en,{layout:"vertical",label:null!=(o=n.key)?o:"",onRemove:()=>a._removeFilter(n)});return r().createElement(tr.Field,{label:e,"data-testid":`AdHocFilter-${n.key}`,className:s.field},p)}return r().createElement(tr.Field,{label:"Select label","data-testid":`AdHocFilter-${n.key}`,className:s.field},h)}return r().createElement("div",{className:s.wrapper,"data-testid":`AdHocFilter-${n.key}`},h,r().createElement(tr.Select,{value:n.operator,disabled:a.state.readOnly,options:a._getOperators(),width:"auto",onChange:e=>a._updateFilter(n,"operator",e.value)}),p,r().createElement(tr.Button,{variant:"secondary","aria-label":"Remove filter",title:"Remove filter",className:s.removeButton,icon:"times","data-testid":`AdHocFilter-remove-${null!=(i=n.key)?i:""}`,onClick:()=>a._removeFilter(n)}))}const Ua=e=>({field:(0,rr.css)({marginBottom:0}),wrapper:(0,rr.css)({display:"flex","> *":{"&:not(:first-child)":{marginLeft:-1},"&:first-child":{borderTopRightRadius:0,borderBottomRightRadius:0},"&:last-child":{borderTopLeftRadius:0,borderBottomLeftRadius:0},"&:not(:first-child):not(:last-child)":{borderRadius:0},position:"relative",zIndex:0,"&:hover":{zIndex:1},"&:focus-within":{zIndex:2}}}),widthWhenOpen:(0,rr.css)({minWidth:e.spacing(16)}),removeButton:(0,rr.css)({paddingLeft:e.spacing(1.5),paddingRight:e.spacing(1.5),borderLeft:"none",position:"relative",left:"1px"})});function $a({model:e}){const{_wip:t}=e.useState();return t?r().createElement(Ba,{filter:t,model:e}):r().createElement(tr.Button,{variant:"secondary",icon:"plus",title:"Add filter","aria-label":"Add filter","data-testid":"AdHocFilter-add",onClick:()=>e._addWip()})}var Wa=Object.defineProperty,qa=Object.defineProperties,Ga=Object.getOwnPropertyDescriptors,Qa=Object.getOwnPropertySymbols,Ya=Object.prototype.hasOwnProperty,Ka=Object.prototype.propertyIsEnumerable,Xa=(e,t,r)=>t in e?Wa(e,t,{enumerable:!0,configurable:!0,writable:!0,value:r}):e[t]=r,Za=(e,t)=>{for(var r in t||(t={}))Ya.call(t,r)&&Xa(e,r,t[r]);if(Qa)for(var r of Qa(t))Ka.call(t,r)&&Xa(e,r,t[r]);return e},Ja=(e,t)=>qa(e,Ga(t));class eo extends Q{constructor(e){super(Za({name:"Filters",filters:[],baseFilters:[],datasource:null,applyMode:"same-datasource",layout:"horizontal"},e)),this._urlSync=new Ea(this),this._scopedVars={__sceneObject:{value:this}},this._dataSourceSrv=(0,u.getDataSourceSrv)(),"same-datasource"===this.state.applyMode&&function(e){if(e.addActivationHandler((()=>(Mr.add(e),()=>Mr.delete(e)))),Lr)return;const t=(0,u.getTemplateSrv)();(null==t?void 0:t.getAdhocFilters)?(Lr=t.getAdhocFilters,t.getAdhocFilters=function(e){var r;if(0===Mr.size)return Lr.call(t);const n=(0,u.getDataSourceSrv)().getInstanceSettings(e);if(!n)return[];for(const e of Mr.values())if((null==(r=e.state.datasource)?void 0:r.uid)===n.uid)return e.state.filters;return[]}.bind(t)):console.log("Failed to patch getAdhocFilters")}(this)}_updateFilter(e,t,r){if(null==r)return;const{filters:n,_wip:a}=this.state;if(e===a)return void("value"===t?this.setState({filters:[...n,Ja(Za({},a),{[t]:r})],_wip:void 0}):this.setState({_wip:Ja(Za({},e),{[t]:r})}));const o=this.state.filters.map((n=>n===e?Ja(Za({},n),{[t]:r}):n));this.setState({filters:o})}_removeFilter(e){e!==this.state._wip?this.setState({filters:this.state.filters.filter((t=>t!==e))}):this.setState({_wip:void 0})}async _getKeys(e){var t,r;const n=await(null==(r=(t=this.state).getTagKeysProvider)?void 0:r.call(t,this,e));if(n&&n.replace)return n.values.map(ro);const a=await this._dataSourceSrv.get(this.state.datasource,this._scopedVars);if(!a||!a.getTagKeys)return[];const o=this.state.filters.filter((t=>t.key!==e)).concat(this.state.baseFilters);let i=await a.getTagKeys({filters:o});n&&(i=i.concat(n.values));const s=this.state.tagKeyRegexFilter;return s&&(i=i.filter((e=>e.text.match(s)))),i.map(ro)}async _getValuesFor(e){var t,r;const n=await(null==(r=(t=this.state).getTagValuesProvider)?void 0:r.call(t,this,e));if(n&&n.replace)return n.values.map(ro);const a=await this._dataSourceSrv.get(this.state.datasource,this._scopedVars);if(!a||!a.getTagValues)return[];const o=this.state.filters.filter((t=>t.key!==e.key)).concat(this.state.baseFilters);let i=await a.getTagValues({key:e.key,filters:o});return n&&(i=i.concat(n.values)),i.map(ro)}_addWip(){this.setState({_wip:{key:"",value:"",operator:"=",condition:""}})}_getOperators(){return["=","!=","<",">","=~","!~"].map((e=>({label:e,value:e})))}}eo.Component=function({model:e}){const{filters:t,readOnly:n,layout:a,name:o}=e.useState(),i=(0,tr.useStyles2)(to);return r().createElement("div",{className:i.wrapper},"vertical"!==a&&r().createElement(en,{label:null!=o?o:"Filters",icon:"filter"}),t.map(((t,n)=>r().createElement(r().Fragment,{key:n},r().createElement(Ba,{filter:t,model:e})))),!n&&r().createElement($a,{model:e,key:"'builder"}))};const to=e=>({wrapper:(0,rr.css)({display:"flex",gap:e.spacing(2),alignItems:"flex-end"}),filterIcon:(0,rr.css)({color:e.colors.text.secondary,paddingRight:e.spacing(.5)})});function ro({text:e,value:t}){return{label:e,value:String(null!=t?t:e)}}var no=Object.defineProperty,ao=Object.defineProperties,oo=Object.getOwnPropertyDescriptors,io=Object.getOwnPropertySymbols,so=Object.prototype.hasOwnProperty,lo=Object.prototype.propertyIsEnumerable,uo=(e,t,r)=>t in e?no(e,t,{enumerable:!0,configurable:!0,writable:!0,value:r}):e[t]=r,co=(e=>(e[e.dontHide=0]="dontHide",e[e.hideLabel=1]="hideLabel",e[e.hideVariable=2]="hideVariable",e))(co||{});ao(((e,t)=>{for(var r in t||(t={}))so.call(t,r)&&uo(e,r,t[r]);if(io)for(var r of io(t))lo.call(t,r)&&uo(e,r,t[r]);return e})({},{id:"00000000-0000-0000-0000-000000000000",multi:!1,options:[],skipUrlSync:!1}),oo({description:null,hide:0,datasource:null}));var po=Object.defineProperty,ho=Object.defineProperties,fo=Object.getOwnPropertyDescriptors,mo=Object.getOwnPropertySymbols,go=Object.prototype.hasOwnProperty,yo=Object.prototype.propertyIsEnumerable,bo=(e,t,r)=>t in e?po(e,t,{enumerable:!0,configurable:!0,writable:!0,value:r}):e[t]=r,vo=(e,t)=>{for(var r in t||(t={}))go.call(t,r)&&bo(e,r,t[r]);if(mo)for(var r of mo(t))yo.call(t,r)&&bo(e,r,t[r]);return e},wo=(e,t)=>ho(e,fo(t));const So=class extends Q{static create(e){var t;return new So({type:"adhoc",hide:co.hideLabel,name:null!=(t=e.name)?t:"Filters",set:new eo(wo(vo({},e),{applyMode:"manual"}))})}constructor(e){var t;super(wo(vo({},e),{filterExpression:null!=(t=e.filterExpression)?t:_o(e.set.state.filters)})),this.addActivationHandler((()=>{this._subs.add(this.state.set.subscribeToState(((e,t)=>{e.filters!==t.filters&&this._updateFilterExpression(e.filters,!0)}))),this._updateFilterExpression(this.state.set.state.filters,!1)}))}getValue(){return this.state.filterExpression}_updateFilterExpression(e,t){let r=_o(e);r!==this.state.filterExpression&&(this.setState({filterExpression:r}),t&&this.publishEvent(new De(this),!0))}};function _o(e){let t="";for(const r of e)t+=`${Oo(r)},`;return t.length>0&&(t=t.slice(0,-1)),t}function Oo(e){let t="";return t="=~"===e.operator||"!~¨"===e.operator?xo(function(e){return e.replace(Co,"\\$&")}(e.value)):xo(e.value),`${e.key}${e.operator}"${t}"`}function xo(e){return e.replace(/\\/g,"\\\\").replace(/\n/g,"\\n").replace(/"/g,'\\"')}So.Component=({model:e})=>r().createElement(eo.Component,{model:e.state.set});const Co=/[*+?()|\\.\[\]{}^$]/g;class Po{constructor(){this.urlKeyMapper=new Do,this._stateSub=null,this._locationSub=null,this._onLocationUpdate=e=>{if(this._lastPath!==e.pathname)return;const t=new URLSearchParams(e.search);this.urlKeyMapper.rebuildIndex(this._sceneRoot),this._syncSceneStateFromUrl(this._sceneRoot,t),this._lastPath=e.pathname},this._onStateChanged=({payload:e})=>{const t=e.changedObject;if(t.urlSync){const e=t.urlSync.getUrlState(),r=u.locationService.getSearch(),n={};this.urlKeyMapper.rebuildIndex(this._sceneRoot);for(const[a,o]of Object.entries(e)){const e=this.urlKeyMapper.getUniqueKey(a,t);Eo(r.getAll(e),o)||(n[e]=o)}Object.keys(n).length>0&&u.locationService.partial(n,!0)}}}initSync(e){this._locationSub||(er("UrlSyncManager","New location listen"),this._locationSub=u.locationService.getHistory().listen(this._onLocationUpdate)),this._stateSub&&(er("UrlSyncManager","Unregister previous scene state subscription",this._sceneRoot.state.key),this._stateSub.unsubscribe()),this._sceneRoot=e,this._lastPath=u.locationService.getLocation().pathname,this._stateSub=e.subscribeToEvent(L,this._onStateChanged),this.syncFrom(this._sceneRoot)}cleanUp(e){this._sceneRoot===e&&(er("UrlSyncManager","Clean up"),this._locationSub&&(this._locationSub(),er("UrlSyncManager","Unregister history listen"),this._locationSub=null),this._stateSub&&(this._stateSub.unsubscribe(),this._stateSub=null,er("UrlSyncManager","Root deactived, unsub to state","same key",this._sceneRoot.state.key===e.state.key)))}syncFrom(e){const t=u.locationService.getSearch();this.urlKeyMapper.rebuildIndex(this._sceneRoot),this._syncSceneStateFromUrl(e,t)}_syncSceneStateFromUrl(e,t){if(e.urlSync){const r={},n=e.urlSync.getUrlState();for(const a of e.urlSync.getKeys()){const o=this.urlKeyMapper.getUniqueKey(a,e),i=t.getAll(o),s=n[a];Eo(i,s)||(i.length>0?Array.isArray(s)?r[a]=i:r[a]=i[0]:r[a]=null)}Object.keys(r).length>0&&e.urlSync.updateFromUrl(r)}e.forEachChild((e=>this._syncSceneStateFromUrl(e,t)))}getUrlState(e){const t=new Do;t.rebuildIndex(e);const r={},n=e=>{if(e.urlSync){const n=e.urlSync.getUrlState();for(const[a,o]of Object.entries(n))if(null!=o){const n=t.getUniqueKey(a,e);r[n]=o}}e.forEachChild(n)};return n(e),r}}class Do{constructor(){this.index=new Map}getUniqueKey(e,t){const r=this.index.get(e);if(!r)throw new Error("Cannot find any scene object that uses the key '"+e+"'");const n=r.findIndex((e=>e.sceneObject===t));return n>0?`${e}-${n+1}`:e}rebuildIndex(e){this.index.clear(),this.buildIndex(e,0)}buildIndex(e,t){if(e.urlSync)for(const r of e.urlSync.getKeys()){const n=this.index.get(r);n?(n.push({sceneObject:e,depth:t}),n.sort(((e,t)=>e.depth-t.depth))):this.index.set(r,[{sceneObject:e,depth:t}])}e.forEachChild((e=>this.buildIndex(e,t+1)))}}function Eo(e,t){return 0===e.length&&null==t||(Array.isArray(t)||1!==(null==e?void 0:e.length)?0===(null==t?void 0:t.length)&&null===e||(0,Re.isEqual)(e,t):t===e[0])}let Ro;function jo(){return Ro||(Ro=new Po),Ro}class To extends Q{constructor(e){super(e),this.addActivationHandler((()=>{const e=function(e){const t=window.__grafanaSceneContext;return er("setWindowGrafanaScene","set window.__grafanaSceneContext",e),window.__grafanaSceneContext=e,()=>{window.__grafanaSceneContext===e&&(er("setWindowGrafanaScene","restore window.__grafanaSceneContext",t),window.__grafanaSceneContext=t)}}(this);return()=>{e(),jo().cleanUp(this)}}))}initUrlSync(){jo().initSync(this)}}To.Component=function({model:e}){const{body:t,controls:n}=e.useState(),a=(0,tr.useStyles2)(ko);return r().createElement("div",{className:a.container},n&&r().createElement("div",{className:a.controls},n.map((e=>r().createElement(e.Component,{key:e.state.key,model:e})))),r().createElement("div",{className:a.body},r().createElement(t.Component,{model:t})))};const ko=e=>({container:(0,rr.css)({flexGrow:1,display:"flex",gap:e.spacing(2),minHeight:"100%",flexDirection:"column"}),body:(0,rr.css)({flexGrow:1,display:"flex",gap:e.spacing(1)}),controls:(0,rr.css)({display:"flex",gap:e.spacing(2),alignItems:"flex-end",flexWrap:"wrap"})});var Ao=function(){},Io="undefined"!=typeof window;const Vo=Io?t.useLayoutEffect:t.useEffect;var Fo={x:0,y:0,width:0,height:0,top:0,left:0,bottom:0,right:0};const Lo=Io&&void 0!==window.ResizeObserver?function(){var e=(0,t.useState)(null),r=e[0],n=e[1],a=(0,t.useState)(Fo),o=a[0],i=a[1],s=(0,t.useMemo)((function(){return new window.ResizeObserver((function(e){if(e[0]){var t=e[0].contentRect,r=t.x,n=t.y,a=t.width,o=t.height,s=t.top,l=t.left,u=t.bottom,c=t.right;i({x:r,y:n,width:a,height:o,top:s,left:l,bottom:u,right:c})}}))}),[]);return Vo((function(){if(r)return s.observe(r),function(){s.disconnect()}}),[r]),[n,o]}:function(){return[Ao,Fo]};function Mo(e,t){if(t)return t;let r=e.error?e.error.message:void 0;return e.errors&&(r=e.errors.map((e=>e.message)).join(", ")),r}const zo=(0,rr.css)({position:"relative",width:"100%",height:"100%"}),No=(0,rr.css)({position:"absolute",width:"100%",height:"100%"}),Ho=e=>({ok:(0,rr.css)({color:e.colors.success.text}),pending:(0,rr.css)({color:e.colors.warning.text}),alerting:(0,rr.css)({color:e.colors.error.text})});var Bo=Object.defineProperty,Uo=Object.defineProperties,$o=Object.getOwnPropertyDescriptors,Wo=Object.getOwnPropertySymbols,qo=Object.prototype.hasOwnProperty,Go=Object.prototype.propertyIsEnumerable,Qo=(e,t,r)=>t in e?Bo(e,t,{enumerable:!0,configurable:!0,writable:!0,value:r}):e[t]=r,Yo=(e,t)=>{for(var r in t||(t={}))qo.call(t,r)&&Qo(e,r,t[r]);if(Wo)for(var r of Wo(t))Go.call(t,r)&&Qo(e,r,t[r]);return e},Ko=(e,t)=>Uo(e,$o(t));const Xo="hideSeriesFrom",Zo=(0,e.isSystemOverrideWithRef)(Xo);function Jo(t,r=e.ByNamesMatcherMode.exclude,n){return n=null!=n?n:{id:"custom.hideFrom",value:{viz:!0,legend:!1,tooltip:!1}},{__systemRef:Xo,matcher:{id:e.FieldMatcherID.byNames,options:{mode:r,names:t,prefix:r===e.ByNamesMatcherMode.exclude?"All except:":void 0,readOnly:!0}},properties:[Ko(Yo({},n),{value:{viz:!0,legend:!1,tooltip:!1}})]}}const ei=e=>{var t;const r=null==(t=e.matcher.options)?void 0:t.names;return Array.isArray(r)?[...r]:[]},ti=(t,r)=>{const n=new Set;for(const a of t)for(const o of a.fields){if(o.type!==e.FieldType.number)continue;const i=(0,e.getFieldDisplayName)(o,a,t);i!==r&&n.add(i)}return Array.from(n)},ri=(t,r)=>{var n;let a=[];for(const o of t){const t=o.properties.find((e=>"custom.hideFrom"===e.id));if(void 0!==t&&!0===(null==(n=t.value)?void 0:n.legend)){const t=e.fieldMatchers.get(o.matcher.id).get(o.matcher.options);for(const n of r)for(const o of n.fields){if(o.type!==e.FieldType.number)continue;const i=(0,e.getFieldDisplayName)(o,n,r);t(o,n,r)&&a.push(i)}}}return a};var ni=Object.defineProperty,ai=Object.defineProperties,oi=Object.getOwnPropertyDescriptors,ii=Object.getOwnPropertySymbols,si=Object.prototype.hasOwnProperty,li=Object.prototype.propertyIsEnumerable,ui=(e,t,r)=>t in e?ni(e,t,{enumerable:!0,configurable:!0,writable:!0,value:r}):e[t]=r,ci=(e,t)=>{for(var r in t||(t={}))si.call(t,r)&&ui(e,r,t[r]);if(ii)for(var r of ii(t))li.call(t,r)&&ui(e,r,t[r]);return e},di=(e,t)=>ai(e,oi(t));const pi=(t,r)=>({matcher:{id:e.FieldMatcherID.byName,options:t},properties:[hi(r)]}),hi=t=>({id:"color",value:{mode:e.FieldColorModeId.Fixed,fixedColor:t}});var fi=Object.defineProperty,mi=Object.defineProperties,gi=Object.getOwnPropertyDescriptors,yi=Object.getOwnPropertySymbols,bi=Object.prototype.hasOwnProperty,vi=Object.prototype.propertyIsEnumerable,wi=(e,t,r)=>t in e?fi(e,t,{enumerable:!0,configurable:!0,writable:!0,value:r}):e[t]=r,Si=(e,t)=>{for(var r in t||(t={}))bi.call(t,r)&&wi(e,r,t[r]);if(yi)for(var r of yi(t))vi.call(t,r)&&wi(e,r,t[r]);return e},_i=(e,t)=>mi(e,gi(t));class Oi extends Q{constructor(t){super(Si({options:{},fieldConfig:{defaults:{},overrides:[]},title:"Title",pluginId:"timeseries"},t)),this._variableDependency=new ht(this,{statePaths:["title","options","fieldConfig"]}),this._structureRev=0,this.onTimeRangeChange=t=>{ct.getTimeRange(this).onTimeRangeChange({raw:{from:(0,e.toUtc)(t.from),to:(0,e.toUtc)(t.to)},from:(0,e.toUtc)(t.from),to:(0,e.toUtc)(t.to)})},this.onTitleChange=e=>{this.setState({title:e})},this.onDescriptionChange=e=>{this.setState({description:e})},this.onDisplayModeChange=e=>{this.setState({displayMode:e})},this.onOptionsChange=(t,r=!1)=>{const{fieldConfig:n,options:a}=this.state,o=r?t:(0,Re.mergeWith)((0,Re.cloneDeep)(a),t,((e,t)=>{if((0,Re.isArray)(t))return t})),i=(0,e.getPanelOptionsWithDefaults)({plugin:this._plugin,currentOptions:o,currentFieldConfig:n,isAfterPluginChange:!1});this.setState({options:i.options})},this.onFieldConfigChange=(t,r)=>{const{fieldConfig:n,options:a}=this.state,o=r?t:(0,Re.merge)((0,Re.cloneDeep)(n),t),i=(0,e.getPanelOptionsWithDefaults)({plugin:this._plugin,currentOptions:a,currentFieldConfig:o,isAfterPluginChange:!1});this.setState({fieldConfig:i.fieldConfig})},this.interpolate=(e,t,r)=>ct.interpolate(this,e,t,r),this.getDescription=()=>{this.publishEvent(new M({origin:this,interaction:"panel-description-shown"}),!0);const{description:t}=this.state;if(t){const r=this.interpolate(t);return(0,e.renderMarkdown)(r)}return""},this.onCancelQuery=()=>{var e;this.publishEvent(new M({origin:this,interaction:"panel-cancel-query-clicked"}),!0);const t=ct.getData(this);null==(e=t.cancelQuery)||e.call(t)},this.onStatusMessageClick=()=>{this.publishEvent(new M({origin:this,interaction:"panel-status-message-clicked"}),!0)},this._onSeriesColorChange=(t,r)=>{this.onFieldConfigChange(((t,r,n)=>{const{overrides:a}=n,o=n.overrides.findIndex((r=>r.matcher.id===e.FieldMatcherID.byName&&r.matcher.options===t));if(o<0)return di(ci({},n),{overrides:[...n.overrides,pi(t,r)]});const i=Array.from(a),s=i[o],l=s.properties.findIndex((e=>"color"===e.id));if(l<0)return i[o]=di(ci({},s),{properties:[...s.properties,hi(r)]}),di(ci({},n),{overrides:i});const u=Array.from(s.properties);return u[l]=hi(r),i[o]=di(ci({},s),{properties:u}),di(ci({},n),{overrides:i})})(t,r,this.state.fieldConfig))},this._onSeriesVisibilityChange=(t,r)=>{this._dataWithFieldConfig&&this.onFieldConfigChange(function(t,r,n,a){const{overrides:o}=n,i=t,s=o.findIndex(Zo);if(s<0){if(r===tr.SeriesVisibilityChangeMode.ToggleSelection){const e=Jo([i,...ri(o,a)]);return Ko(Yo({},n),{overrides:[...n.overrides,e]})}const e=Jo(ti(a,i));return Ko(Yo({},n),{overrides:[...n.overrides,e]})}const l=Array.from(o),[u]=l.splice(s,1);if(r===tr.SeriesVisibilityChangeMode.ToggleSelection){let e=ei(u);const t=ri(l,a);if(t.length>0&&(e=e.filter((e=>t.indexOf(e)<0))),e[0]===i&&1===e.length)return Ko(Yo({},n),{overrides:l});const r=Jo([i,...t]);return Ko(Yo({},n),{overrides:[...l,r]})}const c=((t,r,n=e.ByNamesMatcherMode.exclude)=>{const a=t.properties.find((e=>"custom.hideFrom"===e.id)),o=ei(t),i=o.findIndex((e=>e===r));return i<0?o.push(r):o.splice(i,1),Jo(o,n,a)})(u,i);return((e,t)=>ei(e).length===ti(t).length)(c,a)?Ko(Yo({},n),{overrides:l}):Ko(Yo({},n),{overrides:[...l,c]})}(t,r,this.state.fieldConfig,this._dataWithFieldConfig.series),!0)},this._onInstanceStateChange=e=>{this.setState({_pluginInstanceState:e})},this._onToggleLegendSort=e=>{const t=this.state.options.legend;if(!t)return;let r=t.sortDesc,n=t.sortBy;e!==n&&(r=void 0),!1===r?(n=void 0,r=void 0):(r=!r,n=e),this.onOptionsChange(_i(Si({},this.state.options),{legend:_i(Si({},t),{sortBy:n,sortDesc:r})}))},this.addActivationHandler((()=>{this._onActivate()})),t.menu&&t.menu.addActivationHandler((()=>{this.publishEvent(new M({origin:this,interaction:"panel-menu-shown"}),!0)}))}_onActivate(){this._plugin||this._loadPlugin(this.state.pluginId)}_loadPlugin(t){const r=function(e){var t;const{getPanelPluginFromCache:r}=(0,u.getPluginImportUtils)();return null!=(t=r(e))?t:w.get(e)}(t);if(r)this._pluginLoaded(r);else{const{importPanelPlugin:r}=(0,u.getPluginImportUtils)();try{r(t).then((e=>this._pluginLoaded(e)))}catch(r){this._pluginLoaded(function(t,r){const n=new e.PanelPlugin((()=>null));return n.meta={id:t,name:t,sort:100,type:e.PluginType.panel,module:"",baseUrl:"",info:{author:{name:""},description:"",links:[],logos:{large:"",small:"public/img/grafana_icon.svg"},screenshots:[],updated:"",version:""}},n}(t)),this.setState({_pluginLoadError:r.message})}}}async _pluginLoaded(t){const{options:r,fieldConfig:n,title:a,pluginVersion:o,_UNSAFE_customMigrationHandler:i}=this.state,s={title:a,options:r,fieldConfig:n,id:1,type:t.meta.id,pluginVersion:o},l=this._getPluginVersion(t);i&&i(s,t),t.onPanelMigration&&l!==this.state.pluginVersion&&(s.options=await t.onPanelMigration(s));const u=(0,e.getPanelOptionsWithDefaults)({plugin:t,currentOptions:s.options,currentFieldConfig:s.fieldConfig,isAfterPluginChange:!1});if(this._plugin=t,this.setState({options:u.options,fieldConfig:u.fieldConfig,pluginVersion:l}),t.meta.skipDataQuery){const e=ct.getTimeRange(this);this._subs.add(e.subscribeToState((()=>this.forceRender())))}}_getPluginVersion(e){return e&&e.meta.info.version?e.meta.info.version:u.config.buildInfo.version}getPlugin(){return this._plugin}getPanelContext(){return this._panelContext||(this._panelContext=this.buildPanelContext()),this._panelContext}applyFieldConfig(t){var r,n;const a=this._plugin;if(!a||a.meta.skipDataQuery||!t)return de;const o=a.dataSupport||{alertStates:!1,annotations:!1},i=a.fieldConfigRegistry,s=null==(r=this._prevData)?void 0:r.series,l=null==t?void 0:t.series;return null==t.structureRev&&l&&s&&!(0,e.compareArrayValues)(l,s,e.compareDataFrameStructures)&&this._structureRev++,this._dataWithFieldConfig=_i(Si({},t),{structureRev:this._structureRev,series:(0,e.applyFieldOverrides)({data:l,fieldConfig:this.state.fieldConfig,fieldConfigRegistry:i,replaceVariables:this.interpolate,theme:u.config.theme2,timeZone:null==(n=t.request)?void 0:n.timezone})}),o.alertStates||(this._dataWithFieldConfig.alertState=void 0),o.annotations||(this._dataWithFieldConfig.annotations=void 0),this._dataWithFieldConfig}buildPanelContext(){const t=(this,ct.findObject(this,(e=>e instanceof St)));const r={eventsScope:t?t.getEventsScope():"__global_",eventBus:t?t.getEventsBus(this):(0,u.getAppEvents)(),app:e.CoreApp.Unknown,sync:()=>t?t.state.sync:e.DashboardCursorSync.Off,onSeriesColorChange:this._onSeriesColorChange,onToggleSeriesVisibility:this._onSeriesVisibilityChange,onToggleLegendSort:this._onToggleLegendSort,onInstanceStateChange:this._onInstanceStateChange};return this.state.extendPanelContext&&this.state.extendPanelContext(this,r),r}}function xi(e){return e instanceof hs}Oi.Component=function({model:t}){var n,a,o;const{title:i,options:s,fieldConfig:l,_pluginLoadError:c,$data:d,displayMode:p,hoverHeader:h,menu:f,headerActions:m,titleItems:g,description:y}=t.useState(),[b,{width:v,height:w}]=Lo(),S=t.getPlugin(),{dragClass:_,dragClassCancel:O}=function(e){var t,r;const n=ct.getLayout(e),a=null==n?void 0:n.isDraggable();return n&&a&&!function(e,t){let r=e.parent;for(;r&&r!==t;){if("isDraggable"in r.state&&!1===r.state.isDraggable)return!0;r=r.parent}return!1}(e,n)?{dragClass:null==(t=n.getDragClass)?void 0:t.call(n),dragClassCancel:null==(r=null==n?void 0:n.getDragClassCancel)?void 0:r.call(n)}:{dragClass:"",dragClassCancel:""}}(t),x=ct.getData(t),C=x.useState(),P=t.applyFieldConfig(C.data),D=ct.getTimeRange(t),E=D.getTimeZone(),R=function(e,t,r){var n;return!t||t.meta.skipDataQuery?e.state.value:r&&(null==(n=r.request)?void 0:n.range)?r.request.range:e.state.value}(D,S,P),j=t.interpolate(i,void 0,"text"),T=(0,tr.useStyles2)(Ho);if(!S)return r().createElement("div",null,"Loading plugin panel...");if(!S.panel)return r().createElement("div",null,"Panel plugin has no panel component");const k=S.panel;d&&d.setContainerWidth&&d.setContainerWidth(Math.round(v));let A,I,V=[];g&&(Array.isArray(g)?V=V.concat(g.map((e=>r().createElement(e.Component,{model:e,key:`${e.state.key}`})))):Vr(g)?V.push(r().createElement(g.Component,{model:g})):V.push(g)),t.state.$timeRange&&V.push(r().createElement(t.state.$timeRange.Component,{model:t.state.$timeRange,key:t.state.key})),P.alertState&&V.push(r().createElement(tr.Tooltip,{content:null!=(n=P.alertState.state)?n:"unknown",key:`alert-states-icon-${t.state.key}`},r().createElement(tr.PanelChrome.TitleItem,{className:(0,rr.cx)({[T.ok]:P.alertState.state===e.AlertState.OK,[T.pending]:P.alertState.state===e.AlertState.Pending,[T.alerting]:P.alertState.state===e.AlertState.Alerting})},r().createElement(tr.Icon,{name:"alerting"===P.alertState.state?"heart-break":"heart",className:"panel-alert-icon",size:"md"})))),f&&(A=r().createElement(f.Component,{model:f})),m&&(I=Array.isArray(m)?r().createElement(r().Fragment,null,m.map((e=>r().createElement(e.Component,{model:e,key:`${e.state.key}`})))):Vr(m)?r().createElement(m.Component,{model:m}):m);const F=P,L=!x.isDataReadyToDisplay||x.isDataReadyToDisplay(),M=t.getPanelContext(),z=null!=(o=null==(a=M.instanceState)?void 0:a.legacyPanelId)?o:1;return r().createElement("div",{className:zo},r().createElement("div",{ref:b,className:No,"data-viz-panel-key":t.state.key},v>0&&w>0&&r().createElement(tr.PanelChrome,{title:j,description:(null==y?void 0:y.trim())?t.getDescription:void 0,loadingState:F.state,statusMessage:Mo(F,c),statusMessageOnClick:t.onStatusMessageClick,width:v,height:w,displayMode:p,hoverHeader:h,titleItems:V,dragClass:_,actions:I,dragClassCancel:O,padding:S.noPadding?"none":"md",menu:A,onCancelQuery:t.onCancelQuery},((n,a)=>r().createElement(r().Fragment,null,r().createElement(tr.ErrorBoundaryAlert,{dependencies:[S,F]},r().createElement(e.PluginContextProvider,{meta:S.meta},r().createElement(tr.PanelContextProvider,{value:M},L&&r().createElement(k,{id:z,data:F,title:i,timeRange:R,timeZone:E,options:s,fieldConfig:l,transparent:!1,width:n,height:a,renderCounter:0,replaceVariables:t.interpolate,onOptionsChange:t.onOptionsChange,onFieldConfigChange:t.onFieldConfigChange,onChangeTimeRange:t.onTimeRangeChange,eventBus:(0,u.getAppEvents)()})))))))))},class extends Q{addItem(e){this.setState({items:this.state.items?[...this.state.items,e]:[e]})}setItems(e){this.setState({items:e})}}.Component=function({model:e}){const{items:n=[]}=e.useState(),a=r().useRef(null);(0,t.useEffect)((()=>{a.current&&a.current.focus()}),[]);const o=e=>e.map((e=>"divider"===e.type?r().createElement(tr.Menu.Divider,{key:e.text}):r().createElement(tr.Menu.Item,{key:e.text,label:e.text,icon:e.iconClassName,childItems:e.subMenu?o(e.subMenu):void 0,url:e.href,onClick:e.onClick,shortcut:e.shortcut})));return r().createElement(tr.Menu,{ref:a},o(n))},class extends Q{}.Component=function({model:e}){const{body:t}=e.useState(),n=e.parent;if(n&&!(n instanceof rs)&&!xi(n))throw new Error("SceneGridItem must be a child of SceneGridLayout or SceneGridRow");return t?r().createElement(t.Component,{model:t}):null};var Ci=d(788),Pi=d.n(Ci),Di=function(){function e(e,t){for(var r=0;r div, .contract-trigger:before { content: " "; display: block; position: absolute; top: 0; left: 0; height: 100%; width: 100%; overflow: hidden; z-index: -1; } .resize-triggers > div { background: #eee; overflow: auto; } .contract-trigger:before { width: 200%; height: 200%; }',o=r.head||r.getElementsByTagName("head")[0],i=r.createElement("style");i.id="detectElementResize",i.type="text/css",null!=e&&i.setAttribute("nonce",e),i.styleSheet?i.styleSheet.cssText=n:i.appendChild(r.createTextNode(n)),o.appendChild(i)}}(c),o.__resizeLast__={},o.__resizeListeners__=[],(o.__resizeTriggers__=c.createElement("div")).className="resize-triggers";var p=c.createElement("div");p.className="expand-trigger",p.appendChild(c.createElement("div"));var h=c.createElement("div");h.className="contract-trigger",o.__resizeTriggers__.appendChild(p),o.__resizeTriggers__.appendChild(h),o.appendChild(o.__resizeTriggers__),i(o),o.addEventListener("scroll",s,!0),n&&(o.__resizeTriggers__.__animationListener__=function(e){e.animationName===r&&i(o)},o.__resizeTriggers__.addEventListener(n,o.__resizeTriggers__.__animationListener__))}o.__resizeListeners__.push(u)}},removeResizeListener:function(e,t){if(l)e.detachEvent("onresize",t);else if(e.__resizeListeners__.splice(e.__resizeListeners__.indexOf(t),1),!e.__resizeListeners__.length){e.removeEventListener("scroll",s,!0),e.__resizeTriggers__.__animationListener__&&(e.__resizeTriggers__.removeEventListener(n,e.__resizeTriggers__.__animationListener__),e.__resizeTriggers__.__animationListener__=null);try{e.__resizeTriggers__=!e.removeChild(e.__resizeTriggers__)}catch(e){}}}}}(e),this._detectElementResize.addResizeListener(this._parentNode,this._onResize),this._onResize())}},{key:"componentWillUnmount",value:function(){this._detectElementResize&&this._parentNode&&this._detectElementResize.removeResizeListener(this._parentNode,this._onResize)}},{key:"render",value:function(){var e=this.props,r=e.children,n=e.className,a=e.disableHeight,o=e.disableWidth,i=e.style,s=this.state,l=s.height,u=s.width,c={overflow:"visible"},d={},p=!1;return a||(0===l&&(p=!0),c.height=0,d.height=l),o||(0===u&&(p=!0),c.width=0,d.width=u),(0,t.createElement)("div",{className:n,ref:this._setRef,style:Ei({},c,i)},!p&&r(d))}}]),r}(t.PureComponent);Li.defaultProps={onResize:function(){},disableHeight:!1,disableWidth:!1,style:{}};const Mi=Li;var zi=Object.defineProperty,Ni=Object.getOwnPropertySymbols,Hi=Object.prototype.hasOwnProperty,Bi=Object.prototype.propertyIsEnumerable,Ui=(e,t,r)=>t in e?zi(e,t,{enumerable:!0,configurable:!0,writable:!0,value:r}):e[t]=r;function $i(){const e=(0,t.useRef)(void 0);return null!=e.current||(e.current=(0,Re.uniqueId)()),e.current}const Wi=r().forwardRef(((e,n)=>{var a=e,{children:o,onLoad:i,onChange:s}=a,l=((e,t)=>{var r={};for(var n in e)Hi.call(e,n)&&t.indexOf(n)<0&&(r[n]=e[n]);if(null!=e&&Ni)for(var n of Ni(e))t.indexOf(n)<0&&Bi.call(e,n)&&(r[n]=e[n]);return r})(a,["children","onLoad","onChange"]);const u=$i(),[c,d]=(0,t.useState)(!1),[p,h]=(0,t.useState)(!1),f=(0,t.useRef)(null);return(0,t.useImperativeHandle)(n,(()=>f.current)),m=()=>{Wi.addCallback(u,(e=>{!c&&e.isIntersecting&&(d(!0),null==i||i()),h(e.isIntersecting),null==s||s(e.isIntersecting)}));const e=f.current;return e&&Wi.observer.observe(e),()=>{delete Wi.callbacks[u],e&&Wi.observer.unobserve(e),0===Object.keys(Wi.callbacks).length&&Wi.observer.disconnect()}},(0,t.useEffect)(m,[]),r().createElement("div",((e,t)=>{for(var r in t||(t={}))Hi.call(t,r)&&Ui(e,r,t[r]);if(Ni)for(var r of Ni(t))Bi.call(t,r)&&Ui(e,r,t[r]);return e})({id:u,ref:f},l),c&&("function"==typeof o?o({isInView:p}):o));var m}));Wi.displayName="LazyLoader",Wi.callbacks={},Wi.addCallback=(e,t)=>Wi.callbacks[e]=t,Wi.observer=new IntersectionObserver((e=>{for(const t of e)Wi.callbacks[t.target.id](t)}),{rootMargin:"100px"});var qi=Object.defineProperty,Gi=Object.defineProperties,Qi=Object.getOwnPropertyDescriptors,Yi=Object.getOwnPropertySymbols,Ki=Object.prototype.hasOwnProperty,Xi=Object.prototype.propertyIsEnumerable,Zi=(e,t,r)=>t in e?qi(e,t,{enumerable:!0,configurable:!0,writable:!0,value:r}):e[t]=r,Ji=(e,t)=>{for(var r in t||(t={}))Ki.call(t,r)&&Zi(e,r,t[r]);if(Yi)for(var r of Yi(t))Xi.call(t,r)&&Zi(e,r,t[r]);return e},es=(e,t)=>Gi(e,Qi(t));const ts=class extends Q{constructor(e){super(es(Ji({},e),{children:as(e.children)})),this._skipOnLayoutChange=!1,this.onLayoutChange=e=>{if(this._skipOnLayoutChange)this._skipOnLayoutChange=!1;else{for(const t of e){const e=this.getSceneLayoutChild(t.i),r={x:t.x,y:t.y,width:t.w,height:t.h};ns(e.state,r)||e.setState(Ji({},r))}this.setState({children:as(this.state.children)})}},this.onResizeStop=(e,t,r)=>{this.getSceneLayoutChild(r.i).setState({width:r.w,height:r.h})},this.onDragStop=(e,t,r)=>{const n=this.getSceneLayoutChild(r.i);e=os(e);for(let t=0;te.i===r.i)),o=this.findGridItemSceneParent(e,a-1);let i=this.state.children;o!==n.parent&&(i=this.moveChildTo(n,o)),this.setState({children:as(i)}),this._skipOnLayoutChange=!0}}isDraggable(){var e;return null!=(e=this.state.isDraggable)&&e}getDragClass(){return`grid-drag-handle-${this.state.key}`}getDragClassCancel(){return"grid-drag-cancel"}toggleRow(e){var t,r;if(!e.state.isCollapsed)return e.setState({isCollapsed:!0}),void this.setState({});const n=e.state.children;if(0===n.length)return e.setState({isCollapsed:!1}),void this.setState({});const a=e.state.y,o=(null!=(t=n[0].state.y)?t:a)-(a+1);let i=a;for(const e of n){const t=Ji({},e.state);t.y=null!=(r=t.y)?r:a,t.y-=o,t.y!==e.state.y&&e.setState(t),i=Math.max(i,Number(t.y)+Number(t.height))}const s=i-a-1;for(const t of this.state.children)if(t.state.y>a&&this.pushChildDown(t,s),xi(t)&&t!==e)for(const e of t.state.children)e.state.y>a&&this.pushChildDown(e,s);e.setState({isCollapsed:!1}),this.setState({})}getSceneLayoutChild(e){for(const t of this.state.children){if(t.state.key===e)return t;if(t instanceof hs)for(const r of t.state.children)if(r.state.key===e)return r}throw new Error("Scene layout child not found for GridItem")}pushChildDown(e,t){e.setState({y:e.state.y+t})}findGridItemSceneParent(e,t){for(let r=t;r>=0;r--){const t=e[r],n=this.getSceneLayoutChild(t.i);if(n instanceof hs)return n.state.isCollapsed?this:n}return this}moveChildTo(e,t){const r=e.parent;let n=this.state.children;const a=e.clone({key:e.state.key});if(r instanceof hs){const o=r.clone({children:r.state.children.filter((t=>t.state.key!==e.state.key))});if(n=n.map((e=>e===r?o:e)),t instanceof hs){const e=t.clone({children:[...t.state.children,a]});n=n.map((r=>r===t?e:r))}else n=[...n,a]}else if(!(t instanceof ts)){n=n.filter((t=>t.state.key!==e.state.key));const r=t.clone({children:[...t.state.children,a]});n=n.map((e=>e===t?r:e))}return n}toGridCell(e){var t,r;const n=e.state;let a=null!=(t=n.x)?t:0,o=null!=(r=n.y)?r:0;const i=Number.isInteger(Number(n.width))?Number(n.width):4,s=Number.isInteger(Number(n.height))?Number(n.height):4;let l=e.state.isDraggable,u=e.state.isResizable;return e instanceof hs&&(l=!!e.state.isCollapsed,u=!1),{i:e.state.key,x:a,y:o,h:s,w:i,isResizable:u,isDraggable:l}}buildGridLayout(e){let t=[];for(const e of this.state.children)if(t.push(this.toGridCell(e)),e instanceof hs&&!e.state.isCollapsed)for(const r of e.state.children)t.push(this.toGridCell(r));return t=os(t),e<768?(this._skipOnLayoutChange=!0,t.map((e=>es(Ji({},e),{w:24})))):(this._skipOnLayoutChange=!1,t)}};let rs=ts;function ns(e,t){return e.x===t.x&&e.y===t.y&&e.width===t.width&&e.height===t.height}function as(e){return[...e].sort(((e,t)=>e.state.y-t.state.y||e.state.x-t.state.x))}function os(e){return[...e].sort(((e,t)=>e.y-t.y||e.x-t.x))}rs.Component=function({model:e}){const{children:t,isLazy:n,isDraggable:a,isResizable:o}=e.useState();return function(e){if(e.some((e=>void 0===e.state.height||void 0===e.state.width||void 0===e.state.x||void 0===e.state.y)))throw new Error("All children must have a size specified")}(t),r().createElement(Mi,{disableHeight:!0},(({width:t})=>{if(0===t)return null;const i=e.buildGridLayout(t);return r().createElement("div",{style:{width:`${t}px`,height:"100%"}},r().createElement(Pi(),{width:t,isDraggable:a&&t>768,isResizable:null!=o&&o,containerPadding:[0,0],useCSSTransforms:!1,margin:[8,8],cols:24,rowHeight:30,draggableHandle:`.grid-drag-handle-${e.state.key}`,draggableCancel:".grid-drag-cancel",layout:i,onDragStop:e.onDragStop,onResizeStop:e.onResizeStop,onLayoutChange:e.onLayoutChange,isBounded:!1},i.map((t=>{var a;const o=e.getSceneLayoutChild(t.i),i=null==(a=o.getClassName)?void 0:a.call(o);return n?r().createElement(Wi,{key:o.state.key,"data-griditem-key":o.state.key,className:i},r().createElement(o.Component,{model:o,key:o.state.key})):r().createElement("div",{key:o.state.key,"data-griditem-key":o.state.key,className:i},r().createElement(o.Component,{model:o,key:o.state.key}))}))))}))};var is=Object.defineProperty,ss=Object.defineProperties,ls=Object.getOwnPropertyDescriptors,us=Object.getOwnPropertySymbols,cs=Object.prototype.hasOwnProperty,ds=Object.prototype.propertyIsEnumerable,ps=(e,t,r)=>t in e?is(e,t,{enumerable:!0,configurable:!0,writable:!0,value:r}):e[t]=r;class hs extends Q{constructor(e){super(((e,t)=>ss(e,ls({x:0,height:1,width:24})))(((e,t)=>{for(var r in t||(t={}))cs.call(t,r)&&ps(e,r,t[r]);if(us)for(var r of us(t))ds.call(t,r)&&ps(e,r,t[r]);return e})({children:e.children||[],isCollapsible:e.isCollapsible||!0,title:e.title||""},e))),this.onCollapseToggle=()=>{this.state.isCollapsible&&this.getGridLayout().toggleRow(this)}}getGridLayout(){const e=this.parent;if(!(e&&e instanceof rs))throw new Error("SceneGridRow must be a child of SceneGridLayout");return e}getUrlState(){return{rowc:this.state.isCollapsed?"1":"0"}}updateFromUrl(e){null!=e.rowc&&e.rowc!==this.getUrlState().rowc&&this.onCollapseToggle()}}hs.Component=function({model:e}){const t=(0,tr.useStyles2)(fs),{isCollapsible:n,isCollapsed:a,title:o,isDraggable:i,actions:s}=e.useState(),l=e.getGridLayout().getDragClass();return r().createElement("div",{className:(0,rr.cx)(t.row,a&&t.rowCollapsed)},r().createElement("button",{onClick:e.onCollapseToggle,className:t.rowTitleButton,"aria-label":a?"Expand row":"Collapse row"},n&&r().createElement(tr.Icon,{name:a?"angle-right":"angle-down"}),r().createElement("span",{className:t.rowTitle,role:"heading"},ct.interpolate(e,o,void 0,"text"))),s&&r().createElement(s.Component,{model:s}),i&&a&&r().createElement("div",{className:(0,rr.cx)(t.dragHandle,l)},r().createElement(tr.Icon,{name:"draggabledots"})))};const fs=e=>({row:(0,rr.css)({width:"100%",height:"30px",display:"flex",justifyContent:"space-between",gap:e.spacing(1)}),rowTitleButton:(0,rr.css)({display:"flex",alignItems:"center",cursor:"pointer",background:"transparent",border:"none",gap:e.spacing(1)}),rowCollapsed:(0,rr.css)({borderBottom:`1px solid ${e.colors.border.weak}`}),rowTitle:(0,rr.css)({fontSize:e.typography.h5.fontSize,fontWeight:e.typography.fontWeightMedium}),collapsedInfo:(0,rr.css)({fontSize:e.typography.bodySmall.fontSize,color:e.colors.text.secondary,display:"flex",alignItems:"center",flexGrow:1}),dragHandle:(0,rr.css)({display:"flex",padding:e.spacing(0,1),alignItems:"center",justifyContent:"flex-end",cursor:"move",color:e.colors.text.secondary,"&:hover":{color:e.colors.text.primary}})});(class extends Q{constructor(){super(...arguments),this.onToggle=()=>{this.setState({isCollapsed:!this.state.isCollapsed})},this.onRemove=()=>{const e=this.parent;"body"in e.state&&e.setState({body:void 0})}}}).Component=function({model:e}){const{title:t,isCollapsed:n,canCollapse:a,canRemove:o,body:i,controls:s}=e.useState(),l=(0,tr.useStyles2)(fs),u=(0,tr.useStyles2)(ms),c=(null!=s?s:[]).map((e=>r().createElement(e.Component,{key:e.state.key,model:e})));return o&&c.push(r().createElement(tr.ToolbarButton,{icon:"times",variant:"default",onClick:e.onRemove,key:"remove-button","aria-label":"Remove scene"})),r().createElement("div",{className:u.wrapper},r().createElement("div",{className:(0,rr.cx)(u.row,n&&u.rowCollapsed)},r().createElement("button",{onClick:e.onToggle,className:l.rowTitleButton,"aria-label":n?"Expand scene":"Collapse scene"},a&&r().createElement(tr.Icon,{name:n?"angle-right":"angle-down"}),r().createElement("span",{className:l.rowTitle,role:"heading"},ct.interpolate(e,t,void 0,"text"))),r().createElement("div",{className:u.actions},c)),!n&&r().createElement(i.Component,{model:i}))};const ms=e=>({wrapper:(0,rr.css)({display:"flex",flexDirection:"column",flexGrow:1,gap:e.spacing(1),cursor:"pointer"}),row:(0,rr.css)({width:"100%",display:"flex",justifyContent:"space-between",gap:e.spacing(1)}),rowCollapsed:(0,rr.css)({borderBottom:`1px solid ${e.colors.border.weak}`,paddingBottom:e.spacing(1)}),actions:(0,rr.css)({display:"flex",alignItems:"center",gap:e.spacing(1),justifyContent:"flex-end",flexGrow:1})});(class extends Q{constructor(){super(...arguments),this._variableDependency=new ht(this,{statePaths:["text"]})}}).Component=({model:e})=>{const{text:t,fontSize:n=20,align:a="left",key:o,spacing:i}=e.useState(),s=(0,tr.useTheme2)(),l=(0,rr.css)({fontSize:n,display:"flex",flexGrow:1,alignItems:"center",padding:i?s.spacing(i,0):void 0,justifyContent:a});return r().createElement("div",{className:l,"data-testid":o},ct.interpolate(e,t))},class extends Q{}.Component=({model:e})=>{const t=e.useState();return r().createElement(tr.ToolbarButton,{onClick:t.onClick,icon:t.icon})},class extends Q{}.Component=({model:e})=>{const t=e.useState();return r().createElement("div",{style:{display:"flex"}},t.label&&r().createElement(en,{label:t.label}),r().createElement(tr.Input,{defaultValue:t.value,width:8,onBlur:t=>{e.state.onChange(parseInt(t.currentTarget.value,10))}}))};class gs extends Q{constructor(){super(...arguments),this.onZoom=()=>{const t=ct.getTimeRange(this),r=function(t,r){const n=t.to.valueOf()-t.from.valueOf(),a=t.to.valueOf()-n/2,o=0===n?3e4:2*n,i=a+o/2,s=a-o/2;return{from:(0,e.toUtc)(s),to:(0,e.toUtc)(i),raw:{from:(0,e.toUtc)(s),to:(0,e.toUtc)(i)}}}(t.state.value);t.onTimeRangeChange(r)},this.onChangeFiscalYearStartMonth=e=>{ct.getTimeRange(this).setState({fiscalYearStartMonth:e})},this.onMoveBackward=()=>{const e=ct.getTimeRange(this),{state:{value:t}}=e;e.onTimeRangeChange(bs(ys.Backward,t,Date.now()))},this.onMoveForward=()=>{const e=ct.getTimeRange(this),{state:{value:t}}=e;e.onTimeRangeChange(bs(ys.Forward,t,Date.now()))}}}gs.Component=function({model:e}){const{hidePicker:t,isOnCanvas:n}=e.useState(),a=ct.getTimeRange(e),o=a.getTimeZone(),i=a.useState();return t?null:r().createElement(tr.TimeRangePicker,{isOnCanvas:null==n||n,value:i.value,onChange:a.onTimeRangeChange,timeZone:o,fiscalYearStartMonth:i.fiscalYearStartMonth,onMoveBackward:e.onMoveBackward,onMoveForward:e.onMoveForward,onZoom:e.onZoom,onChangeTimeZone:a.onTimeZoneChange,onChangeFiscalYearStartMonth:e.onChangeFiscalYearStartMonth})};var ys=(e=>(e[e.Backward=0]="Backward",e[e.Forward=1]="Forward",e))(ys||{});function bs(t,r,n){const a=r.to.valueOf(),o=r.from.valueOf(),i=(a-o)/2;let s,l;0===t?(s=o-i,l=a-i):(s=o+i,l=a+i,l>n&&at in e?vs(e,t,{enumerable:!0,configurable:!0,writable:!0,value:r}):e[t]=r;const Ps=["5s","10s","30s","1m","5m","15m","30m","1h","2h","1d"];class Ds extends Q{constructor(t){var r;super(((e,t)=>ws(e,Ss(t)))(((e,t)=>{for(var r in t||(t={}))Os.call(t,r)&&Cs(e,r,t[r]);if(_s)for(var r of _s(t))xs.call(t,r)&&Cs(e,r,t[r]);return e})({refresh:""},t),{intervals:null!=(r=t.intervals)?r:Ps})),this._urlSync=new pe(this,{keys:["refresh"]}),this.onRefresh=()=>{const e=ct.getTimeRange(this);this._intervalTimer&&clearInterval(this._intervalTimer),e.onRefresh(),this.setupIntervalTimer()},this.onIntervalChanged=e=>{this.setState({refresh:e}),this.setupIntervalTimer()},this.setupIntervalTimer=()=>{const t=ct.getTimeRange(this),{refresh:r,intervals:n}=this.state;if((this._intervalTimer||""===r)&&clearInterval(this._intervalTimer),""===r)return;if(n&&!n.includes(r))return;const a=e.rangeUtil.intervalToMs(r);this._intervalTimer=setInterval((()=>{t.onRefresh()}),a)},this.addActivationHandler((()=>(this.setupIntervalTimer(),()=>{this._intervalTimer&&clearInterval(this._intervalTimer)})))}getUrlState(){return{refresh:this.state.refresh}}updateFromUrl(e){const t=e.refresh;t&&"string"==typeof t&&this.setState({refresh:t})}}Ds.Component=function({model:e}){const{refresh:t,intervals:n,isOnCanvas:a}=e.useState();return r().createElement(tr.RefreshPicker,{value:t,intervals:n,onRefresh:e.onRefresh,onIntervalChanged:e.onIntervalChanged,isOnCanvas:null==a||a})},class extends Q{constructor(t){super(t),this.addActivationHandler((()=>{const t=ct.getData(this);this._subs.add(t.subscribeToState((t=>{var r;(null==(r=t.data)?void 0:r.state)===e.LoadingState.Done&&this.performRepeat(t.data)}))),t.state.data&&this.performRepeat(t.state.data)}))}performRepeat(e){const t=[];for(let r=0;r{const{body:t}=e.useState();return r().createElement(t.Component,{model:t})};const Es=class extends Q{constructor(){super({})}get Component(){return Es.Component}};let Rs=Es;Rs.Component=e=>r().createElement("div",{style:{flexGrow:1}});class js extends Q{toggleDirection(){this.setState({direction:"row"===this.state.direction?"column":"row"})}isDraggable(){return!1}}js.Component=function({model:e,parentState:n}){const{children:a,isHidden:o}=e.useState(),i=function(e,r){return(0,t.useMemo)((()=>{var t,n,a,o,i,s,l,c,d,p;const{direction:h="row",wrap:f}=e,m=u.config.theme2,g={};return r?ks(g,e,r):(g.display="flex",g.flexGrow=1),g.flexDirection=h,g.gap="8px",g.flexWrap=f||"nowrap",g.alignContent="baseline",g.minHeight=g.minHeight||0,g[m.breakpoints.down("md")]={flexDirection:null!=(n=null==(t=e.md)?void 0:t.direction)?n:"column",maxWidth:null!=(o=null==(a=e.md)?void 0:a.maxWidth)?o:"unset",maxHeight:null!=(s=null==(i=e.md)?void 0:i.maxHeight)?s:"unset",height:null!=(c=null==(l=e.md)?void 0:l.height)?c:"unset",width:null!=(p=null==(d=e.md)?void 0:d.width)?p:"unset"},(0,rr.css)(g)}),[r,e])}(e.state,n);return o?null:r().createElement("div",{className:i},a.map((t=>{const n=t.Component;return r().createElement(n,{key:t.state.key,model:t,parentState:e.state})})))};class Ts extends Q{}function ks(e,t,r){var n,a,o;const i=null!=(n=r.direction)?n:"row",{xSizing:s="fill",ySizing:l="fill"}=t;return e.display="flex",e.position="relative",e.flexDirection=i,"column"===i?(t.height?e.height=t.height:e.flexGrow="fill"===l?1:0,t.width?e.width=t.width:e.alignSelf="fill"===s?"stretch":"flex-start"):(t.height?e.height=t.height:e.alignSelf="fill"===l?"stretch":"flex-start",t.width?e.width=t.width:e.flexGrow="fill"===s?1:0),e.minWidth=t.minWidth,e.maxWidth=t.maxWidth,e.maxHeight=t.maxHeight,e.minHeight=null!=(a=t.minHeight)?a:r.minHeight,e.height=null!=(o=t.height)?o:r.height,e}Ts.Component=function({model:e,parentState:n}){if(!n)throw new Error("SceneFlexItem must be a child of SceneFlexLayout");const{body:a,isHidden:o}=e.useState(),i=function(e,r){return(0,t.useMemo)((()=>{var t,n,a,o,i,s,l,c,d,p;const h=u.config.theme2,f=ks({},e,r);return f[h.breakpoints.down("md")]={maxWidth:null!=(n=null==(t=e.md)?void 0:t.maxWidth)?n:"unset",maxHeight:null!=(o=null==(a=e.md)?void 0:a.maxHeight)?o:"unset",height:null!=(l=null==(i=e.md)?void 0:i.height)?l:null==(s=r.md)?void 0:s.height,width:null!=(p=null==(c=e.md)?void 0:c.width)?p:null==(d=r.md)?void 0:d.width},(0,rr.css)(f)}),[e,r])}(e.state,n);return!a||o?null:r().createElement("div",{className:i},r().createElement(a.Component,{model:a}))};var As=Object.defineProperty,Is=Object.getOwnPropertySymbols,Vs=Object.prototype.hasOwnProperty,Fs=Object.prototype.propertyIsEnumerable,Ls=(e,t,r)=>t in e?As(e,t,{enumerable:!0,configurable:!0,writable:!0,value:r}):e[t]=r;(class extends Q{constructor(e){var t,r;super(((e,t)=>{for(var r in t||(t={}))Vs.call(t,r)&&Ls(e,r,t[r]);if(Is)for(var r of Is(t))Fs.call(t,r)&&Ls(e,r,t[r]);return e})({rowGap:1,columnGap:1,templateColumns:"repeat(auto-fit, minmax(400px, 1fr))",autoRows:null!=(t=e.autoRows)?t:"320px",children:null!=(r=e.children)?r:[]},e))}isDraggable(){return!1}}).Component=function({model:e}){const{children:n,isHidden:a,isLazy:o}=e.useState(),i=(s=e.state,(0,t.useMemo)((()=>{var e,t,r,n,a,o,i,l,c,d,p;const h={},f=u.config.theme2;return h.display="grid",h.gridTemplateColumns=s.templateColumns,h.gridTemplateRows=s.templateRows||"unset",h.gridAutoRows=s.autoRows||"unset",h.rowGap=f.spacing(null!=(e=s.rowGap)?e:1),h.columnGap=f.spacing(null!=(t=s.columnGap)?t:1),h.justifyItems=s.justifyItems||"unset",h.alignItems=s.alignItems||"unset",h.justifyContent=s.justifyContent||"unset",h.flexGrow=1,s.md&&(h[f.breakpoints.down("md")]={gridTemplateRows:null==(r=s.md)?void 0:r.templateRows,gridTemplateColumns:null==(n=s.md)?void 0:n.templateColumns,rowGap:s.md.rowGap?f.spacing(null!=(o=null==(a=s.md)?void 0:a.rowGap)?o:1):void 0,columnGap:s.md.columnGap?f.spacing(null!=(l=null==(i=s.md)?void 0:i.rowGap)?l:1):void 0,justifyItems:null==(c=s.md)?void 0:c.justifyItems,alignItems:null==(d=s.md)?void 0:d.alignItems,justifyContent:null==(p=s.md)?void 0:p.justifyContent}),(0,rr.css)(h)}),[s]));var s;return a?null:r().createElement("div",{className:i},n.map((t=>{const n=t.Component;return o?r().createElement(Wi,{key:t.state.key,className:i},r().createElement(n,{key:t.state.key,model:t,parentState:e.state})):r().createElement(n,{key:t.state.key,model:t,parentState:e.state})})))},class extends Q{}.Component=function({model:e,parentState:n}){if(!n)throw new Error("SceneCSSGridItem must be a child of SceneCSSGridLayout");const{body:a,isHidden:o}=e.useState(),i=(s=e.state,(0,t.useMemo)((()=>{const e={};return e.gridColumn=s.gridColumn||"unset",e.gridRow=s.gridRow||"unset",e.position="relative",(0,rr.css)(e)}),[s]));var s;return!a||o?null:r().createElement("div",{className:i},r().createElement(a.Component,{model:a}))};var Ms=Object.defineProperty,zs=Object.getOwnPropertySymbols,Ns=Object.prototype.hasOwnProperty,Hs=Object.prototype.propertyIsEnumerable,Bs=(e,t,r)=>t in e?Ms(e,t,{enumerable:!0,configurable:!0,writable:!0,value:r}):e[t]=r,Us=(e,t)=>{for(var r in t||(t={}))Ns.call(t,r)&&Bs(e,r,t[r]);if(zs)for(var r of zs(t))Hs.call(t,r)&&Bs(e,r,t[r]);return e};const $s=new Set(["ArrowUp","ArrowDown"]),Ws=new Set(["ArrowLeft","ArrowRight"]),qs={row:{dim:"width",axis:"clientX",min:"minWidth",max:"maxWidth"},column:{dim:"height",axis:"clientY",min:"minHeight",max:"maxHeight"}};function Gs({direction:e="row",handleSize:n=32,initialSize:a="auto",primaryPaneStyles:o,secondaryPaneStyles:i,onDragFinished:s,children:l}){const u=r().Children.toArray(l),c=(0,t.useRef)(null),d=(0,t.useRef)(null),p=(0,t.useRef)(null),h=(0,t.useRef)(null),f=(0,t.useRef)(null),m=(0,t.useRef)("1fr"),g=(0,t.useRef)(void 0),y=(0,t.useRef)(void 0),b=qs[e].dim,v=qs[e].axis,w=qs[e].min,S=qs[e].max;!function(e,r,n=0,a){const o=(0,Re.throttle)(r,n);(0,t.useLayoutEffect)((()=>{if(!e)return;const t=new ResizeObserver(o);return t.observe(e,{box:"device-pixel-content-box"}),()=>t.disconnect()}),a)}(h.current,(e=>{for(const t of e){if(!t.target.isSameNode(h.current))return;const e=d.current.getBoundingClientRect()[b],r=Ys(d.current);c.current.ariaValueNow=`${(0,Re.clamp)((e-r[w])/(r[S]-r[w])*100,0,100)}`}}),500,[S,w,e,b]);const _=(0,t.useRef)(null),O=(0,t.useCallback)((e=>{m.current=d.current.getBoundingClientRect()[b],f.current=h.current.getBoundingClientRect()[b],_.current=e[v],c.current.setPointerCapture(e.pointerId),g.current=Ys(d.current),y.current=void 0}),[b,v]),x=(0,t.useCallback)((e=>{if(null!==_.current&&"1fr"!==m.current){const t=e[v]-_.current,r=g.current,a=(0,Re.clamp)(m.current+t,r[w],r[S]),o=a/(f.current-n);d.current.style.flexGrow=`${o}`,p.current.style.flexGrow=""+(1-o);const i=(0,Re.clamp)((a-r[w])/(r[S]-r[w])*100,0,100);c.current.ariaValueNow=`${i}`}}),[n,v,w,S]),C=(0,t.useCallback)((e=>{e.preventDefault(),e.stopPropagation(),c.current.releasePointerCapture(e.pointerId),_.current=null,null==s||s(parseFloat(d.current.style.flexGrow))}),[s]),P=(0,t.useRef)(new Set),D=(0,t.useRef)(null),E=(0,t.useCallback)((t=>{var r;if(0===P.current.size)return void(D.current=null);if("1fr"===m.current)return;const a=.3*(t-(null!=(r=D.current)?r:t));let o=0;"row"===e?(P.current.has("ArrowLeft")&&(o-=a),P.current.has("ArrowRight")&&(o+=a)):(P.current.has("ArrowUp")&&(o-=a),P.current.has("ArrowDown")&&(o+=a));const i=g.current,s=d.current.getBoundingClientRect()[b],l=(0,Re.clamp)(s+o,i[w],i[S]),u=l/(f.current-n);d.current.style.flexGrow=`${u}`,p.current.style.flexGrow=""+(1-u);const h=(l-i[w])/(i[S]-i[w])*100;c.current.ariaValueNow=`${(0,Re.clamp)(h,0,100)}`,D.current=t,window.requestAnimationFrame(E)}),[e,n,w,S,b]),R=(0,t.useCallback)((t=>{if("Enter"!==t.key){if("Home"===t.key){g.current=Ys(d.current),f.current=h.current.getBoundingClientRect()[b];const e=g.current[w]/(f.current-n);return d.current.style.flexGrow=`${e}`,p.current.style.flexGrow=""+(1-e),void(c.current.ariaValueNow="0")}if("End"===t.key){g.current=Ys(d.current),f.current=h.current.getBoundingClientRect()[b];const e=g.current[S]/(f.current-n);return d.current.style.flexGrow=`${e}`,p.current.style.flexGrow=""+(1-e),void(c.current.ariaValueNow="100")}if(("column"===e&&$s.has(t.key)||"row"===e&&Ws.has(t.key))&&!P.current.has(t.key)&&(y.current=void 0,t.preventDefault(),t.stopPropagation(),m.current=d.current.getBoundingClientRect()[b],f.current=h.current.getBoundingClientRect()[b],g.current=Ys(d.current),!P.current.has(t.key))){const e=0===P.current.size;P.current.add(t.key),e&&window.requestAnimationFrame(E)}}else void 0===y.current?(y.current=d.current.style.flexGrow,d.current.style.flexGrow="0",p.current.style.flexGrow="1"):(d.current.style.flexGrow=y.current,p.current.style.flexGrow=""+(1-parseFloat(y.current)),y.current=void 0)}),[e,E,n,S,b,w]),j=(0,t.useCallback)((t=>{"row"===e&&!Ws.has(t.key)||"column"===e&&!$s.has(t.key)||(P.current.delete(t.key),null==s||s(parseFloat(d.current.style.flexGrow)))}),[e,s]),T=(0,t.useCallback)((()=>{d.current.style.flexGrow="0.5",p.current.style.flexGrow="0.5";const e=Ys(d.current);g.current=e,m.current=d.current.getBoundingClientRect()[b],c.current.ariaValueNow=""+(m.current-e[w])/(e[S]-e[w])*100}),[S,b,w]),k=(0,tr.useStyles2)(Qs),A=$i();return r().createElement("div",{ref:h,className:k.container,style:{flexDirection:e}},r().createElement("div",{ref:d,className:k.panel,style:Us({flexGrow:"auto"===a?.5:(0,Re.clamp)(a,0,1),[w]:"min-content"},o),id:`start-panel-${A}`},u[0]),r().createElement("div",{ref:c,style:{[b]:`${n}px`},className:(0,rr.cx)(k.handle,{[k.handleHorizontal]:"column"===e}),onPointerUp:C,onPointerDown:O,onPointerMove:x,onKeyDown:R,onKeyUp:j,onDoubleClick:T,role:"separator","aria-valuemin":0,"aria-valuemax":100,"aria-valuenow":50,"aria-controls":`start-panel-${A}`,"aria-label":"Pane resize widget",tabIndex:0}),r().createElement("div",{ref:p,className:k.panel,style:Us({flexGrow:"auto"===a?.5:(0,Re.clamp)(1-a,0,1),[w]:"min-content"},i),id:`end-panel-${A}`},u[1]))}function Qs(e){return{handle:(0,rr.css)({cursor:"col-resize",position:"relative",flexShrink:0,userSelect:"none","&::before":{content:'""',position:"absolute",backgroundColor:e.colors.primary.main,left:"50%",transform:"translate(-50%)",top:0,height:"100%",width:"1px",opacity:0,transition:"opacity ease-in-out 0.2s"},"&::after":{content:'""',width:"4px",borderRadius:"4px",backgroundColor:e.colors.border.weak,transition:"background-color ease-in-out 0.2s",height:"50%",top:"calc(50% - (50%) / 2)",transform:"translateX(-50%)",position:"absolute",left:"50%"},"&:hover, &:focus-visible":{outline:"none","&::before":{opacity:1},"&::after":{backgroundColor:e.colors.primary.main}}}),handleHorizontal:(0,rr.css)({cursor:"row-resize","&::before":{left:"inherit",transform:"translateY(-50%)",top:"50%",height:"1px",width:"100%"},"&::after":{width:"50%",height:"4px",top:"50%",transform:"translateY(-50%)",left:"calc(50% - (50%) / 2)"}}),container:(0,rr.css)({display:"flex",width:"100%",flexGrow:1,overflow:"hidden"}),panel:(0,rr.css)({display:"flex",position:"relative",flexBasis:0})}}function Ys(e){if(null===e)return;const t=document.body.style.overflow,r=e.style.width,n=e.style.height,a=e.style.flexGrow;document.body.style.overflow="hidden",e.style.flexGrow="0";const{width:o,height:i}=e.getBoundingClientRect();e.style.flexGrow="100";const{width:s,height:l}=e.getBoundingClientRect();return document.body.style.overflow=t,e.style.width=r,e.style.height=n,e.style.flexGrow=a,{minWidth:o,maxWidth:s,minHeight:i,maxHeight:l}}(class extends Q{toggleDirection(){this.setState({direction:"row"===this.state.direction?"column":"row"})}isDraggable(){return!1}}).Component=function({model:e}){const{primary:t,secondary:n,direction:a,isHidden:o,initialSize:i}=e.useState();if(o)return null;const s=t.Component,l=n.Component;return r().createElement(Gs,{direction:a,initialSize:null!=i?i:.5},r().createElement(s,{key:t.state.key,model:t,parentState:e.state}),r().createElement(l,{key:n.state.key,model:n,parentState:e.state}))};class Ks extends Q{enrichDataRequest(){return{app:this.state.name||"app"}}}Ks.Component=({model:e})=>{const{pages:t}=e.useState();return r().createElement(a.Switch,null,t.map((e=>r().createElement(a.Route,{key:e.state.url,exact:!1,path:e.state.url,render:t=>v(e,t)}))))};var Xs=Object.defineProperty,Zs=Object.getOwnPropertySymbols,Js=Object.prototype.hasOwnProperty,el=Object.prototype.propertyIsEnumerable,tl=(e,t,r)=>t in e?Xs(e,t,{enumerable:!0,configurable:!0,writable:!0,value:r}):e[t]=r;class rl extends Q{}function nl({node:e}){const t=e.useState(),n=(0,tr.useStyles2)(al);return r().createElement("div",{className:n.container},Object.keys(t).map((a=>r().createElement("div",{className:n.row,key:a},r().createElement("div",{className:n.keyName},a),r().createElement("div",{className:n.value},function(e,t,n){if(null===t)return"null";switch(typeof t){case"number":return r().createElement(tr.Input,{type:"number",defaultValue:t,onBlur:t=>n.setState({[e]:t.currentTarget.valueAsNumber})});case"string":return r().createElement(tr.Input,{type:"text",defaultValue:t,onBlur:t=>n.setState({[e]:t.currentTarget.value})});case"object":return Vr(t)?t.constructor.name:(0,Re.isPlainObject)(t)||(0,Re.isArray)(t)?r().createElement(tr.JSONFormatter,{json:t,open:0}):String(t);default:return typeof t}}(a,t[a],e))))))}function al(e){return{container:(0,rr.css)({flexGrow:1,display:"flex",gap:e.spacing(.5),flexDirection:"column"}),row:(0,rr.css)({display:"flex",gap:e.spacing(2)}),keyName:(0,rr.css)({display:"flex",flexGrow:"0",width:120,alignItems:"center",height:e.spacing(e.components.height.md)}),value:(0,rr.css)({flexGrow:1,minHeight:e.spacing(e.components.height.md),display:"flex",alignItems:"center"})}}function ol({node:e,selectedObject:t,onSelect:n}){const a=(0,tr.useStyles2)(il),o=[],i=e===t;return e.forEachChild((e=>{o.push(r().createElement(ol,{node:e,key:e.state.key,selectedObject:t,onSelect:n}))})),r().createElement("div",{className:a.container},r().createElement("div",{className:(0,rr.cx)(a.name,i&&a.selected),onClick:()=>n(e)},e.constructor.name),r().createElement("div",{className:a.children},o))}function il(e){return{container:(0,rr.css)({flexGrow:1,display:"flex",gap:e.spacing(.5),flexDirection:"column"}),name:(0,rr.css)({flexGrow:1,display:"flex",gap:e.spacing(1),fontSize:e.typography.bodySmall.fontSize,cursor:"pointer",padding:e.spacing(0,1),borderRadius:e.shape.borderRadius(2),position:"relative","&:hover":{background:e.colors.background.secondary}}),selected:(0,rr.css)({"&::before":{display:"block",content:"' '",position:"absolute",left:0,width:4,bottom:2,top:2,borderRadius:e.shape.radius.default,backgroundImage:e.colors.gradients.brandVertical}}),children:(0,rr.css)({flexGrow:1,display:"flex",flexDirection:"column",paddingLeft:e.spacing(1)})}}function sl({scene:e}){const n=(0,tr.useStyles2)(ll),[a,o]=(0,t.useState)(!1),[i,s]=(0,t.useState)();return r().createElement(r().Fragment,null,r().createElement(tr.ToolbarButton,{variant:"canvas",icon:"bug",onClick:()=>o(!0)}),a&&r().createElement(tr.Drawer,{title:"Scene debugger",onClose:()=>o(!1),size:"lg"},r().createElement("div",{className:n.panes},r().createElement("div",{className:n.pane1},r().createElement("div",{className:n.paneHeading},"Scene graph"),r().createElement(tr.CustomScrollbar,{autoHeightMin:"100%"},r().createElement("div",{className:n.treeWrapper},r().createElement(ol,{node:e,selectedObject:i,onSelect:s})))),r().createElement("div",{className:n.pane2},r().createElement("div",{className:n.paneHeading},"Object details"),i&&r().createElement(nl,{node:i})))))}function ll(e){return{panes:(0,rr.css)({flexGrow:1,display:"flex",height:"100%",flexDirection:"row",marginTop:e.spacing(-2)}),pane1:(0,rr.css)({flexGrow:0,display:"flex",height:"100%",flexDirection:"column",borderRight:`1px solid ${e.colors.border.weak}`}),pane2:(0,rr.css)({flexGrow:1,display:"flex",minHeight:"100%",flexDirection:"column",paddingLeft:e.spacing(2)}),treeWrapper:(0,rr.css)({paddingRight:e.spacing(2),height:"100%",marginLeft:e.spacing(-1)}),paneHeading:(0,rr.css)({padding:e.spacing(1,0),fontWeight:e.typography.fontWeightMedium})}}function ul({page:e,routeProps:n}){const o=function(e){return e.parent instanceof pl?e.parent:e}(e),i=o.useState(),s=function(){const e=(0,a.useLocation)();return(0,u.locationSearchToObject)(e.search||"")}(),l=e.getScene(n.match),c=i.initializedScene===l;if((0,t.useLayoutEffect)((()=>{c||o.initializeScene(l)}),[l,o,c]),(0,t.useEffect)((()=>()=>o.setState({initializedScene:void 0})),[o]),!c)return null;const d={text:i.title,img:i.titleImg,icon:i.titleIcon,url:b(i.url,i.preserveUrlKeys),hideFromBreadcrumbs:i.hideFromBreadcrumbs,parentItem:cl(i.getParentPage?i.getParentPage():o.parent)};i.tabs&&(d.children=i.tabs.map((t=>({text:t.state.title,icon:t.state.titleIcon,tabSuffix:t.state.tabSuffix,active:e===t,url:b(t.state.url,t.state.preserveUrlKeys),parentItem:d}))));let p=[];return i.controls&&(p=i.controls.map((e=>r().createElement(e.Component,{model:e,key:e.state.key})))),s["scene-debugger"]&&p.push(r().createElement(sl,{scene:o,key:"scene-debugger"})),r().createElement(u.PluginPage,{pageNav:d,actions:p,renderTitle:i.renderTitle,subTitle:i.subTitle},r().createElement(l.Component,{model:l}))}function cl(e,t){if(e instanceof pl)return{text:e.state.title,url:b(e.state.url,e.state.preserveUrlKeys),hideFromBreadcrumbs:e.state.hideFromBreadcrumbs,parentItem:cl(e.state.getParentPage?e.state.getParentPage():e.parent)}}function dl({drilldown:e,parent:t,routeProps:r}){return v(t.getDrilldownPage(e,r.match),r)}rl.Component=({model:e})=>{const{component:t,props:n,reactNode:a}=e.useState();return t?r().createElement(t,((e,t)=>{for(var r in t||(t={}))Js.call(t,r)&&tl(e,r,t[r]);if(Zs)for(var r of Zs(t))el.call(t,r)&&tl(e,r,t[r]);return e})({},n)):a||null};class pl extends Q{constructor(e){super(e),this._sceneCache=new Map,this._drilldownCache=new Map,this.addActivationHandler((()=>()=>jo().cleanUp(this)))}initializeScene(e){this.setState({initializedScene:e}),jo().initSync(this)}getScene(e){let t=this._sceneCache.get(e.url);if(t)return t;if(!this.state.getScene)throw new Error("Missing getScene on SceneAppPage "+this.state.title);return t=this.state.getScene(e),this._sceneCache.set(e.url,t),t}getDrilldownPage(e,t){let r=this._drilldownCache.get(t.url);return r||(r=e.getPage(t,this),this._drilldownCache.set(t.url,r),r)}enrichDataRequest(e){if(this.state.getParentPage)return this.state.getParentPage().enrichDataRequest(e);if(!this.parent)return null;const t=this.getRoot();return Fr(t)?t.enrichDataRequest(e):null}}pl.Component=function({model:e,routeProps:t}){var n,o;const{tabs:i,drilldowns:s}=e.useState(),l=[];if(i&&i.length>0)for(let t=0;tv(s,e)})),l.push(r().createElement(a.Route,{exact:!0,key:s.state.url,path:null!=(o=s.state.routePath)?o:s.state.url,render:e=>v(s,e)})),s.state.drilldowns)for(const e of s.state.drilldowns)l.push(r().createElement(a.Route,{exact:!1,key:e.routePath,path:e.routePath,render:t=>r().createElement(dl,{drilldown:e,parent:s,routeProps:t})}))}if(s)for(const t of s)l.push(r().createElement(a.Route,{key:t.routePath,exact:!1,path:t.routePath,render:n=>r().createElement(dl,{drilldown:t,parent:e,routeProps:n})}));return!i&&(u=e,(c=t.match).isExact&&(c.url===u.state.url||u.parent instanceof pl&&u.parent.state.tabs[0]===u&&u.parent.state.url===c.url))?r().createElement(ul,{page:e,routeProps:t}):(l.push(function(e,t){return r().createElement(a.Route,{key:"fallback route",render:n=>{var a,o,i;const s=null!=(i=null==(o=(a=e.state).getFallbackPage)?void 0:o.call(a))?i:new pl({url:"",title:"Not found",subTitle:"The url did not match any page",getScene:()=>new To({body:new js({direction:"column",children:[new Ts({body:new rl({component:()=>r().createElement("div",{"data-testid":"default-fallback-content"},"If you found your way here using a link then there might be a bug in this application.")})})]})})});return r().createElement(ul,{page:s,routeProps:t})}})}(e,t)),r().createElement(a.Switch,null,l));var u,c};var hl=(e=>(e.Always="always",e.Auto="auto",e.Never="never",e))(hl||{}),fl=(e=>(e.Hue="hue",e.None="none",e.Opacity="opacity",e.Scheme="scheme",e))(fl||{}),ml=(e=>(e.None="none",e.Normal="normal",e.Percent="percent",e))(ml||{}),gl=(e=>(e.Auto="auto",e.Horizontal="horizontal",e.Vertical="vertical",e))(gl||{}),yl=(e=>(e.Background="background",e.BackgroundSolid="background_solid",e.None="none",e.Value="value",e))(yl||{}),bl=(e=>(e.Area="area",e.Line="line",e.None="none",e))(bl||{}),vl=(e=>(e.Auto="auto",e.Center="center",e))(vl||{}),wl=(e=>(e.Auto="auto",e.Name="name",e.None="none",e.Value="value",e.ValueAndName="value_and_name",e))(wl||{}),Sl=(e=>(e.Basic="basic",e.Gradient="gradient",e.Lcd="lcd",e))(Sl||{}),_l=(e=>(e.Color="color",e.Hidden="hidden",e.Text="text",e))(_l||{}),Ol=(e=>(e.Lg="lg",e.Md="md",e.Sm="sm",e))(Ol||{});gl.Auto,hl.Auto,ml.None,fl.None,Sl.Gradient,_l.Color,hl.Auto,fl.None,yl.Value,bl.Area,vl.Auto,wl.Auto,hl.Auto,hl.Auto,Ol.Sm,hl.Auto;class xl{constructor(){this._overrides=[]}overrideColor(e){return this._overrides[this._overrides.length-1].properties.push({id:"color",value:e}),this}overrideDecimals(e){return this._overrides[this._overrides.length-1].properties.push({id:"decimals",value:e}),this}overrideDisplayName(e){return this._overrides[this._overrides.length-1].properties.push({id:"displayName",value:e}),this}overrideFilterable(e){return this._overrides[this._overrides.length-1].properties.push({id:"filterable",value:e}),this}overrideLinks(e){return this._overrides[this._overrides.length-1].properties.push({id:"links",value:e}),this}overrideMappings(e){return this._overrides[this._overrides.length-1].properties.push({id:"mappings",value:e}),this}overrideMax(e){return this._overrides[this._overrides.length-1].properties.push({id:"max",value:e}),this}overrideMin(e){return this._overrides[this._overrides.length-1].properties.push({id:"min",value:e}),this}overrideNoValue(e){return this._overrides[this._overrides.length-1].properties.push({id:"noValue",value:e}),this}overrideThresholds(e){return this._overrides[this._overrides.length-1].properties.push({id:"thresholds",value:e}),this}overrideUnit(e){return this._overrides[this._overrides.length-1].properties.push({id:"unit",value:e}),this}}class Cl extends xl{match(e){return this._overrides.push({matcher:e,properties:[]}),this}matchFieldsWithName(t){return this._overrides.push({matcher:{id:e.FieldMatcherID.byName,options:t},properties:[]}),this}matchFieldsWithNameByRegex(t){return this._overrides.push({matcher:{id:e.FieldMatcherID.byRegexp,options:t},properties:[]}),this}matchFieldsByType(t){return this._overrides.push({matcher:{id:e.FieldMatcherID.byType,options:t},properties:[]}),this}matchFieldsByQuery(t){return this._overrides.push({matcher:{id:e.FieldMatcherID.byFrameRefID,options:t},properties:[]}),this}matchFieldsByValue(t){return this._overrides.push({matcher:{id:e.FieldMatcherID.byValue,options:t},properties:[]}),this}matchComparisonQuery(e){return this.matchFieldsByQuery(mr(e))}overrideCustomFieldConfig(e,t){const r=`custom.${String(e)}`;return this._overrides[this._overrides.length-1].properties.push({id:r,value:t}),this}build(){return this._overrides}}var Pl=Object.defineProperty,Dl=Object.defineProperties,El=Object.getOwnPropertyDescriptors,Rl=Object.getOwnPropertySymbols,jl=Object.prototype.hasOwnProperty,Tl=Object.prototype.propertyIsEnumerable,kl=(e,t,r)=>t in e?Pl(e,t,{enumerable:!0,configurable:!0,writable:!0,value:r}):e[t]=r,Al=(e,t)=>{for(var r in t||(t={}))jl.call(t,r)&&kl(e,r,t[r]);if(Rl)for(var r of Rl(t))Tl.call(t,r)&&kl(e,r,t[r]);return e},Il=(e,t)=>Dl(e,El(t));class Vl{constructor(e){this.defaultFieldConfig=e,this._fieldConfig={defaults:{},overrides:[]},this._overridesBuilder=new Cl,this.setDefaults()}setDefaults(){const e={defaults:{custom:this.defaultFieldConfig?(0,Re.cloneDeep)(this.defaultFieldConfig()):{}},overrides:[]};this._fieldConfig=e}setColor(e){return this.setFieldConfigDefaults("color",e)}setDecimals(e){return this.setFieldConfigDefaults("decimals",e)}setDisplayName(e){return this.setFieldConfigDefaults("displayName",e)}setFilterable(e){return this.setFieldConfigDefaults("filterable",e)}setLinks(e){return this.setFieldConfigDefaults("links",e)}setMappings(e){return this.setFieldConfigDefaults("mappings",e)}setMax(e){return this.setFieldConfigDefaults("max",e)}setMin(e){return this.setFieldConfigDefaults("min",e)}setNoValue(e){return this.setFieldConfigDefaults("noValue",e)}setThresholds(e){return this.setFieldConfigDefaults("thresholds",e)}setUnit(e){return this.setFieldConfigDefaults("unit",e)}setCustomFieldConfig(e,t){return this._fieldConfig.defaults=Il(Al({},this._fieldConfig.defaults),{custom:(0,Re.merge)(this._fieldConfig.defaults.custom,{[e]:t})}),this}setOverrides(e){return e(this._overridesBuilder),this}setFieldConfigDefaults(e,t){return this._fieldConfig.defaults=Il(Al({},this._fieldConfig.defaults),{[e]:t}),this}build(){return{defaults:this._fieldConfig.defaults,overrides:this._overridesBuilder.build()}}}class Fl{constructor(e){this.defaultOptions=e,this._options={},this.setDefaults()}setDefaults(){this._options=this.defaultOptions?(0,Re.cloneDeep)(this.defaultOptions()):{}}setOption(e,t){return this._options=(0,Re.merge)(this._options,{[e]:t}),this}build(){return this._options}}var Ll=Object.defineProperty,Ml=Object.defineProperties,zl=Object.getOwnPropertyDescriptors,Nl=Object.getOwnPropertySymbols,Hl=Object.prototype.hasOwnProperty,Bl=Object.prototype.propertyIsEnumerable,Ul=(e,t,r)=>t in e?Ll(e,t,{enumerable:!0,configurable:!0,writable:!0,value:r}):e[t]=r;class $l{constructor(e,t,r,n){this._state={},this._state.title="",this._state.description="",this._state.displayMode="default",this._state.hoverHeader=!1,this._state.pluginId=e,this._state.pluginVersion=t,this._fieldConfigBuilder=new Vl(n),this._panelOptionsBuilder=new Fl(r)}setTitle(e){return this._state.title=e,this}setDescription(e){return this._state.description=e,this}setDisplayMode(e){return this._state.displayMode=e,this}setHoverHeader(e){return this._state.hoverHeader=e,this}setMenu(e){return this._state.menu=e,this}setHeaderActions(e){return this._state.headerActions=e,this}setColor(e){return this._fieldConfigBuilder.setColor(e),this}setDecimals(e){return this._fieldConfigBuilder.setDecimals(e),this}setDisplayName(e){return this._fieldConfigBuilder.setDisplayName(e),this}setFilterable(e){return this._fieldConfigBuilder.setFilterable(e),this}setLinks(e){return this._fieldConfigBuilder.setLinks(e),this}setMappings(e){return this._fieldConfigBuilder.setMappings(e),this}setMax(e){return this._fieldConfigBuilder.setMax(e),this}setMin(e){return this._fieldConfigBuilder.setMin(e),this}setNoValue(e){return this._fieldConfigBuilder.setNoValue(e),this}setThresholds(e){return this._fieldConfigBuilder.setThresholds(e),this}setUnit(e){return this._fieldConfigBuilder.setUnit(e),this}setCustomFieldConfig(e,t){return this._fieldConfigBuilder.setCustomFieldConfig(e,t),this}setOverrides(e){return this._fieldConfigBuilder.setOverrides(e),this}setOption(e,t){return this._panelOptionsBuilder.setOption(e,t),this}setData(e){return this._state.$data=e,this}setTimeRange(e){return this._state.$timeRange=e,this}setVariables(e){return this._state.$variables=e,this}setBehaviors(e){return this._state.$behaviors=e,this}build(){const e=new Oi(((e,t)=>Ml(e,zl(t)))(((e,t)=>{for(var r in t||(t={}))Hl.call(t,r)&&Ul(e,r,t[r]);if(Nl)for(var r of Nl(t))Bl.call(t,r)&&Ul(e,r,t[r]);return e})({},this._state),{options:this._panelOptionsBuilder.build(),fieldConfig:this._fieldConfigBuilder.build()}));return e}}const Wl=()=>new $l("timeseries","10.0.0"),ql=()=>{const e=new Kr({datasource:s.CACHE_STATS,queries:[{refId:"A",query:'SELECT mean(value) FROM "monthly"."bandwidth.1min" WHERE hostname=\'$hostname\' AND $timeFilter GROUP BY time(60s)',rawQuery:!0,resultFormat:"time_series",alias:"bandwidth"}]});return Wl().setTitle("Bandwidth").setData(e).setCustomFieldConfig("fillOpacity",20).setOption("legend",{showLegend:!0,calcs:["max"]}).setUnit("kbps").build()},Gl=()=>{const e=new Kr({datasource:s.CACHE_STATS,queries:[{refId:"A",query:'SELECT mean(value) FROM "monthly"."connections.1min" WHERE hostname=\'$hostname\' AND $timeFilter GROUP BY time(60s)',rawQuery:!0,resultFormat:"time_series",alias:"connections"}]});return Wl().setTitle("Connections").setData(e).setCustomFieldConfig("fillOpacity",20).setOption("legend",{showLegend:!0,calcs:["max"]}).setCustomFieldConfig("spanNulls",!0).build()},Ql=()=>{const e=new Kr({datasource:s.TELEGRAF,queries:[{refId:"A",query:'SELECT mean("usage_system") AS "cpu_system", mean("usage_iowait") AS "cpu_iowait", mean("usage_user") AS "cpu_user", mean("usage_guest") AS "cpu_guest", mean("usage_steal") AS "cpu_steal" FROM "cpu" WHERE host=\'$hostname\' AND $timeFilter GROUP BY time($interval) fill(null)',rawQuery:!0,resultFormat:"time_series",alias:"$col"}]});return Wl().setTitle("CPU Usage").setData(e).setUnit("%").setCustomFieldConfig("spanNulls",!0).setCustomFieldConfig("fillOpacity",20).build()},Yl=()=>{const e=new Kr({datasource:s.TELEGRAF,queries:[{refId:"A",query:'SELECT mean("load1") AS "load1", mean("load5") AS "load5", mean("load15") AS "load15" FROM "system" WHERE host=\'$hostname\' AND $timeFilter GROUP BY time($interval) fill(null)',rawQuery:!0,resultFormat:"time_series",alias:"$col"}]});return Wl().setTitle("Load Average").setData(e).setCustomFieldConfig("fillOpacity",20).setCustomFieldConfig("spanNulls",!0).build()},Kl=()=>{const e=new Kr({datasource:s.TELEGRAF,queries:[{refId:"A",query:'SELECT mean("used_percent") AS "mem_used" FROM "mem" WHERE host=\'$hostname\' AND $timeFilter GROUP BY time($interval) fill(null)',rawQuery:!0,resultFormat:"time_series",alias:"$col"}]});return Wl().setTitle("Memory Usage").setData(e).setCustomFieldConfig("spanNulls",!0).setCustomFieldConfig("fillOpacity",20).setUnit("%").build()},Xl=()=>{const e=new Kr({datasource:s.TELEGRAF,queries:[{refId:"A",query:'SELECT mean("tcp_close") AS "tcp_close", mean("tcp_close_wait") AS "tcp_close_wait", mean("tcp_established") AS "tcp_established", mean("tcp_time_wait") AS "tcp_time_wait", mean("tcp_closing") AS "tcp_closing", mean("tcp_fin_wait1") AS "tcp_fin_wait1", mean("tcp_fin_wait2") AS "tcp_fin_wait2", mean("tcp_last_ack") AS "tcp_last_ack", mean("tcp_syn_recv") AS "tcp_syn_recv", mean("tcp_syn_sent") AS "tcp_syn_sent" FROM "netstat" WHERE host=\'$hostname\' AND $timeFilter GROUP BY time($interval) fill(null)',rawQuery:!0,resultFormat:"time_series",alias:"$col"}]});return Wl().setTitle("Netstat").setData(e).setCustomFieldConfig("spanNulls",!0).setCustomFieldConfig("fillOpacity",20).build()},Zl=()=>{const e=new Kr({datasource:s.TELEGRAF,queries:[{refId:"A",query:'SELECT non_negative_derivative(sum("read_time"), 10s) AS "read_time" FROM "diskio" WHERE host=\'$hostname\' AND $timeFilter GROUP BY time($interval) fill(null)',rawQuery:!0,resultFormat:"time_series",alias:"$col"},{refId:"B",query:'SELECT non_negative_derivative(sum("write_time"), 10s) AS "write_time" FROM "diskio" WHERE host=\'$hostname\' AND $timeFilter GROUP BY time($interval) fill(null)',rawQuery:!0,resultFormat:"time_series",alias:"$col"}]});return Wl().setTitle("Read/Write Time").setData(e).setCustomFieldConfig("spanNulls",!0).setCustomFieldConfig("fillOpacity",20).setUnit("ns").build()},Jl=()=>{const e=new Kr({datasource:s.CACHE_STATS,queries:[{refId:"A",query:'SELECT mean("vol1_wrap_count") AS "vol1", mean("vol2_wrap_count") AS "vol2" FROM "monthly"."wrap_count.1min" WHERE hostname=\'$hostname\' AND $timeFilter GROUP BY time($interval) fill(null)',rawQuery:!0,resultFormat:"time_series",alias:"$col"}]});return Wl().setTitle("Wrap Count").setData(e).setCustomFieldConfig("spanNulls",!0).setCustomFieldConfig("fillOpacity",20).build()};function eu(){const e=new Se({from:"now-6h",to:"now"}),t=new la({name:"hostname",datasource:s.CACHE_STATS,query:'SHOW TAG VALUES ON "cache_stats" FROM "monthly"."bandwidth" with key = "hostname"'});return new To({$timeRange:e,$variables:new vn({variables:[t]}),body:new js({direction:"column",children:[new Ts({height:250,body:ql()}),new Ts({height:250,body:Gl()}),new js({direction:"row",height:250,children:[new Ts({width:"50%",body:Ql()}),new Ts({width:"50%",body:Kl()})]}),new js({direction:"row",height:250,children:[new Ts({width:"50%",body:Yl()}),new Ts({width:"50%",body:Zl()})]}),new js({direction:"row",height:250,children:[new Ts({width:"50%",body:Jl()}),new Ts({width:"50%",body:Xl()})]})]}),controls:[new fn({}),new Rs,new gs({isOnCanvas:!0}),new Ds({intervals:["5s","1m","1h"],isOnCanvas:!0})]})}const tu=()=>{const e=(0,t.useMemo)((()=>new Ks({pages:[new pl({title:"Server",url:l(`${i.Server}`),hideFromBreadcrumbs:!0,getScene:eu})]})),[]);return r().createElement(e.Component,{model:e})},ru=()=>{const e=new Kr({datasource:s.DELIVERYSERVICE_STATS,queries:[{refId:"A",query:"SELECT mean(value) FROM \"monthly\".\"kbps.ds.1min\" WHERE deliveryservice='$deliveryservice' AND cachegroup = 'total' and $timeFilter GROUP BY time(60s), deliveryservice ORDER BY asc",rawQuery:!0,resultFormat:"time_series",alias:"$tag_deliveryservice",measurement:"bw"}]});return Wl().setTitle("Bandwidth").setData(e).setOption("legend",{showLegend:!0,calcs:["max"]}).setCustomFieldConfig("axisCenteredZero",!0).setUnit("bps").build()},nu=()=>{const e=new Kr({datasource:s.DELIVERYSERVICE_STATS,queries:[{refId:"A",query:'SELECT mean(value) FROM "monthly"."tps_2xx.ds.1min" WHERE $timeFilter AND deliveryservice=\'$deliveryservice\' GROUP BY time(60s) ORDER BY asc',rawQuery:!0,resultFormat:"time_series",measurement:"tps_2xx",hide:!1,tags:{deliveryservice:"$deliveryservice"}},{refId:"B",query:'SELECT mean(value) FROM "monthly"."tps_3xx.ds.1min" WHERE $timeFilter AND deliveryservice=\'$deliveryservice\' GROUP BY time(60s) ORDER BY asc',rawQuery:!0,resultFormat:"time_series"},{refId:"C",query:'SELECT mean(value) FROM "monthly"."tps_4xx.ds.1min" WHERE $timeFilter AND deliveryservice=\'$deliveryservice\' GROUP BY time(60s) ORDER BY asc',rawQuery:!0,resultFormat:"time_series"},{refId:"D",query:'SELECT mean(value) FROM "monthly"."tps_5xx.ds.1min" WHERE $timeFilter AND deliveryservice=\'$deliveryservice\' GROUP BY time(60s) ORDER BY asc',rawQuery:!0,resultFormat:"time_series"}]});return Wl().setTitle("TPS").setData(e).setOption("legend",{showLegend:!0,calcs:["max"]}).setCustomFieldConfig("axisCenteredZero",!0).setCustomFieldConfig("spanNulls",!0).build()},au=()=>{const e=new Kr({datasource:s.DELIVERYSERVICE_STATS,queries:[{refId:"A",query:"SELECT mean(value) FROM \"monthly\".\"kbps.cg.1min\" WHERE deliveryservice='$deliveryservice' AND cachegroup != 'all' and $timeFilter GROUP BY time(60s), cachegroup",rawQuery:!0,resultFormat:"time_series",alias:"$tag_cachegroup"}]});return Wl().setTitle("Bandwidth by CacheGroup").setData(e).setOption("legend",{showLegend:!0,calcs:["max"]}).setCustomFieldConfig("axisCenteredZero",!0).setCustomFieldConfig("spanNulls",!0).setUnit("bps").build()};function ou(){const e=new Se({from:"now-6h",to:"now"}),t=new la({name:"deliveryservice",datasource:s.DELIVERYSERVICE_STATS,query:'SHOW TAG VALUES ON "deliveryservice_stats" FROM "monthly"."kbps" with key = "deliveryservice"'});return new To({$timeRange:e,$variables:new vn({variables:[t]}),body:new js({direction:"column",children:[new Ts({minHeight:300,body:ru()}),new Ts({minHeight:300,body:nu()}),new Ts({minHeight:300,body:au()})]}),controls:[new fn({}),new Rs,new gs({isOnCanvas:!0}),new Ds({intervals:["5s","1m","1h"],isOnCanvas:!0})]})}const iu=()=>{const e=(0,t.useMemo)((()=>new Ks({pages:[new pl({title:"Delivery Services",url:l(`${i.DeliveryService}`),hideFromBreadcrumbs:!0,getScene:ou})]})),[]);return r().createElement(e.Component,{model:e})},su=()=>{const e=new Kr({datasource:s.CACHE_STATS,queries:[{refId:"A",query:'SELECT sum(value) FROM "monthly"."bandwidth.1min" WHERE "cachegroup" = \'$cachegroup\' AND $timeFilter GROUP BY time(60s), cachegroup',rawQuery:!0,resultFormat:"time_series",alias:"$tag_cachegroup"}]});return Wl().setTitle("Total bandwidth (stacked)").setData(e).setCustomFieldConfig("fillOpacity",20).setOption("legend",{showLegend:!0,calcs:["max"]}).setUnit("Kbits").build()},lu=()=>{const e=new Kr({datasource:s.CACHE_STATS,queries:[{refId:"A",query:'SELECT mean("value") FROM "monthly"."connections.1min" WHERE ("cachegroup" = \'$cachegroup\') AND $timeFilter GROUP BY time($interval), "hostname" fill(null)',rawQuery:!0,resultFormat:"time_series"}]});return Wl().setTitle("Connections (stacked)").setCustomFieldConfig("fillOpacity",20).setData(e).setOption("legend",{showLegend:!0,calcs:["max"]}).setCustomFieldConfig("spanNulls",!0).build()};function uu(){const e=new Se({from:"now-6h",to:"now"}),t=new la({name:"cachegroup",datasource:s.CACHE_STATS,query:'SHOW TAG VALUES ON "cache_stats" FROM "monthly"."bandwidth" with key = "cachegroup"'});return new To({$timeRange:e,$variables:new vn({variables:[t]}),body:new js({direction:"column",children:[new Ts({minHeight:300,body:su()}),new Ts({minHeight:300,body:lu()})]}),controls:[new fn({}),new Rs,new gs({isOnCanvas:!0}),new Ds({intervals:["5s","1m","1h"],isOnCanvas:!0})]})}const cu=()=>{const e=(0,t.useMemo)((()=>new Ks({pages:[new pl({title:"Cache Groups",url:l(`${i.CacheGroup}`),hideFromBreadcrumbs:!0,getScene:uu})]})),[]);return r().createElement(e.Component,{model:e})},du=()=>r().createElement(a.Switch,null,r().createElement(a.Route,{path:l(`${i.CacheGroup}`),component:cu}),r().createElement(a.Route,{path:l(`${i.DeliveryService}`),component:iu}),r().createElement(a.Route,{path:l(`${i.Server}`),component:tu}),r().createElement(a.Redirect,{to:l(i.CacheGroup)}));class pu extends r().PureComponent{render(){return r().createElement(n.Provider,{value:this.props},r().createElement(du,null))}}const hu=(new e.AppPlugin).setRootPage(pu)})(),p})())); +//# sourceMappingURL=module.js.map \ No newline at end of file diff --git a/infrastructure/cdn-in-a-box/optional/grafana/trafficcontrol-scenes/dist/module.js.map b/infrastructure/cdn-in-a-box/optional/grafana/trafficcontrol-scenes/dist/module.js.map new file mode 100644 index 0000000000..29f34e22b4 --- /dev/null +++ b/infrastructure/cdn-in-a-box/optional/grafana/trafficcontrol-scenes/dist/module.js.map @@ -0,0 +1 @@ +{"version":3,"file":"module.js","mappings":"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","sources":["webpack://trafficcontrol-scenes-app/../node_modules/clsx/dist/clsx.m.js","webpack://trafficcontrol-scenes-app/../node_modules/lodash.isequal/index.js","webpack://trafficcontrol-scenes-app/../node_modules/prop-types/factoryWithThrowingShims.js","webpack://trafficcontrol-scenes-app/../node_modules/prop-types/index.js","webpack://trafficcontrol-scenes-app/../node_modules/prop-types/lib/ReactPropTypesSecret.js","webpack://trafficcontrol-scenes-app/../node_modules/react-draggable/build/cjs/Draggable.js","webpack://trafficcontrol-scenes-app/../node_modules/react-draggable/build/cjs/DraggableCore.js","webpack://trafficcontrol-scenes-app/../node_modules/react-draggable/build/cjs/cjs.js","webpack://trafficcontrol-scenes-app/../node_modules/react-draggable/build/cjs/utils/domFns.js","webpack://trafficcontrol-scenes-app/../node_modules/react-draggable/build/cjs/utils/getPrefix.js","webpack://trafficcontrol-scenes-app/../node_modules/react-draggable/build/cjs/utils/log.js","webpack://trafficcontrol-scenes-app/../node_modules/react-draggable/build/cjs/utils/positionFns.js","webpack://trafficcontrol-scenes-app/../node_modules/react-draggable/build/cjs/utils/shims.js","webpack://trafficcontrol-scenes-app/../node_modules/react-grid-layout/build/GridItem.js","webpack://trafficcontrol-scenes-app/../node_modules/react-grid-layout/build/ReactGridLayout.js","webpack://trafficcontrol-scenes-app/../node_modules/react-grid-layout/build/ReactGridLayoutPropTypes.js","webpack://trafficcontrol-scenes-app/../node_modules/react-grid-layout/build/ResponsiveReactGridLayout.js","webpack://trafficcontrol-scenes-app/../node_modules/react-grid-layout/build/calculateUtils.js","webpack://trafficcontrol-scenes-app/../node_modules/react-grid-layout/build/components/WidthProvider.js","webpack://trafficcontrol-scenes-app/../node_modules/react-grid-layout/build/fastRGLPropsEqual.js","webpack://trafficcontrol-scenes-app/../node_modules/react-grid-layout/build/responsiveUtils.js","webpack://trafficcontrol-scenes-app/../node_modules/react-grid-layout/build/utils.js","webpack://trafficcontrol-scenes-app/../node_modules/react-grid-layout/index.js","webpack://trafficcontrol-scenes-app/../node_modules/react-resizable/build/Resizable.js","webpack://trafficcontrol-scenes-app/../node_modules/react-resizable/build/ResizableBox.js","webpack://trafficcontrol-scenes-app/../node_modules/react-resizable/build/propTypes.js","webpack://trafficcontrol-scenes-app/../node_modules/react-resizable/build/utils.js","webpack://trafficcontrol-scenes-app/../node_modules/react-resizable/index.js","webpack://trafficcontrol-scenes-app/external amd \"@emotion/css\"","webpack://trafficcontrol-scenes-app/external amd \"@grafana/data\"","webpack://trafficcontrol-scenes-app/external amd \"@grafana/runtime\"","webpack://trafficcontrol-scenes-app/external amd \"@grafana/ui\"","webpack://trafficcontrol-scenes-app/external amd \"lodash\"","webpack://trafficcontrol-scenes-app/external amd \"react\"","webpack://trafficcontrol-scenes-app/external amd \"react-dom\"","webpack://trafficcontrol-scenes-app/external amd \"react-router-dom\"","webpack://trafficcontrol-scenes-app/external amd \"rxjs\"","webpack://trafficcontrol-scenes-app/webpack/bootstrap","webpack://trafficcontrol-scenes-app/webpack/runtime/compat get default export","webpack://trafficcontrol-scenes-app/webpack/runtime/define property getters","webpack://trafficcontrol-scenes-app/webpack/runtime/global","webpack://trafficcontrol-scenes-app/webpack/runtime/hasOwnProperty shorthand","webpack://trafficcontrol-scenes-app/webpack/runtime/make namespace object","webpack://trafficcontrol-scenes-app/webpack/runtime/node module decorator","webpack://trafficcontrol-scenes-app/./utils/utils.plugin.ts","webpack://trafficcontrol-scenes-app/./constants.ts","webpack://trafficcontrol-scenes-app/./utils/utils.routing.ts","webpack://trafficcontrol-scenes-app/../node_modules/@grafana/scenes/dist/esm/components/SceneApp/utils.js","webpack://trafficcontrol-scenes-app/../node_modules/@grafana/scenes/dist/esm/components/VizPanel/registerRuntimePanelPlugin.js","webpack://trafficcontrol-scenes-app/../node_modules/@grafana/scenes/node_modules/uuid/dist/esm-browser/native.js","webpack://trafficcontrol-scenes-app/../node_modules/@grafana/scenes/node_modules/uuid/dist/esm-browser/rng.js","webpack://trafficcontrol-scenes-app/../node_modules/@grafana/scenes/node_modules/uuid/dist/esm-browser/stringify.js","webpack://trafficcontrol-scenes-app/../node_modules/@grafana/scenes/node_modules/uuid/dist/esm-browser/v4.js","webpack://trafficcontrol-scenes-app/../node_modules/@grafana/scenes/dist/esm/core/SceneComponentWrapper.js","webpack://trafficcontrol-scenes-app/../node_modules/@grafana/scenes/dist/esm/core/events.js","webpack://trafficcontrol-scenes-app/../node_modules/@grafana/scenes/dist/esm/core/SceneObjectRef.js","webpack://trafficcontrol-scenes-app/../node_modules/@grafana/scenes/dist/esm/core/SceneObjectBase.js","webpack://trafficcontrol-scenes-app/../node_modules/@grafana/scenes/dist/esm/core/sceneGraph/utils.js","webpack://trafficcontrol-scenes-app/../node_modules/@grafana/scenes/dist/esm/querying/RuntimeDataSource.js","webpack://trafficcontrol-scenes-app/../node_modules/@grafana/schema/dist/esm/raw/dashboard/x/dashboard_types.gen.js","webpack://trafficcontrol-scenes-app/../node_modules/@grafana/scenes/dist/esm/core/SceneDataNode.js","webpack://trafficcontrol-scenes-app/../node_modules/@grafana/scenes/dist/esm/services/SceneObjectUrlSyncConfig.js","webpack://trafficcontrol-scenes-app/../node_modules/@grafana/scenes/dist/esm/utils/parseUrlParam.js","webpack://trafficcontrol-scenes-app/../node_modules/@grafana/scenes/dist/esm/utils/evaluateTimeRange.js","webpack://trafficcontrol-scenes-app/../node_modules/@grafana/scenes/dist/esm/core/SceneTimeRange.js","webpack://trafficcontrol-scenes-app/../node_modules/@grafana/scenes/dist/esm/variables/interpolation/defaults.js","webpack://trafficcontrol-scenes-app/../node_modules/@grafana/scenes/dist/esm/core/sceneGraph/getTimeRange.js","webpack://trafficcontrol-scenes-app/../node_modules/@grafana/schema/dist/esm/common/common.gen.js","webpack://trafficcontrol-scenes-app/../node_modules/@grafana/scenes/dist/esm/variables/types.js","webpack://trafficcontrol-scenes-app/../node_modules/@grafana/scenes/dist/esm/variables/interpolation/fieldAccessorCache.js","webpack://trafficcontrol-scenes-app/../node_modules/@grafana/scenes/dist/esm/variables/interpolation/ScopedVarsVariable.js","webpack://trafficcontrol-scenes-app/../node_modules/@grafana/scenes/dist/esm/variables/interpolation/formatRegistry.js","webpack://trafficcontrol-scenes-app/../node_modules/@grafana/scenes/dist/esm/variables/constants.js","webpack://trafficcontrol-scenes-app/../node_modules/@grafana/scenes/dist/esm/variables/lookupVariable.js","webpack://trafficcontrol-scenes-app/../node_modules/@grafana/scenes/dist/esm/querying/SceneDataLayers.js","webpack://trafficcontrol-scenes-app/../node_modules/@grafana/scenes/dist/esm/core/sceneGraph/sceneGraph.js","webpack://trafficcontrol-scenes-app/../node_modules/@grafana/scenes/dist/esm/variables/macros/types.js","webpack://trafficcontrol-scenes-app/../node_modules/@grafana/scenes/dist/esm/variables/macros/timeMacros.js","webpack://trafficcontrol-scenes-app/../node_modules/@grafana/scenes/dist/esm/variables/macros/AllVariablesMacro.js","webpack://trafficcontrol-scenes-app/../node_modules/@grafana/scenes/dist/esm/variables/macros/templateProxies.js","webpack://trafficcontrol-scenes-app/../node_modules/@grafana/scenes/dist/esm/variables/macros/dataMacros.js","webpack://trafficcontrol-scenes-app/../node_modules/@grafana/scenes/dist/esm/variables/macros/urlMacros.js","webpack://trafficcontrol-scenes-app/../node_modules/@grafana/scenes/dist/esm/variables/macros/index.js","webpack://trafficcontrol-scenes-app/../node_modules/@grafana/scenes/dist/esm/variables/macros/contextMacros.js","webpack://trafficcontrol-scenes-app/../node_modules/@grafana/scenes/dist/esm/core/sceneGraph/index.js","webpack://trafficcontrol-scenes-app/../node_modules/@grafana/scenes/dist/esm/variables/interpolation/sceneInterpolator.js","webpack://trafficcontrol-scenes-app/../node_modules/@grafana/scenes/dist/esm/variables/utils.js","webpack://trafficcontrol-scenes-app/../node_modules/@grafana/scenes/dist/esm/variables/VariableDependencyConfig.js","webpack://trafficcontrol-scenes-app/../node_modules/@grafana/scenes/dist/esm/behaviors/CursorSync.js","webpack://trafficcontrol-scenes-app/../node_modules/@grafana/scenes/dist/esm/utils/getDataSource.js","webpack://trafficcontrol-scenes-app/../node_modules/@grafana/scenes/dist/esm/variables/VariableValueRecorder.js","webpack://trafficcontrol-scenes-app/../node_modules/rxjs/dist/esm5/internal/util/isFunction.js","webpack://trafficcontrol-scenes-app/../node_modules/@grafana/scenes/dist/esm/querying/layers/SceneDataLayerBase.js","webpack://trafficcontrol-scenes-app/../node_modules/rxjs/node_modules/tslib/tslib.es6.mjs","webpack://trafficcontrol-scenes-app/../node_modules/rxjs/dist/esm5/internal/util/UnsubscriptionError.js","webpack://trafficcontrol-scenes-app/../node_modules/rxjs/dist/esm5/internal/util/createErrorClass.js","webpack://trafficcontrol-scenes-app/../node_modules/rxjs/dist/esm5/internal/util/arrRemove.js","webpack://trafficcontrol-scenes-app/../node_modules/rxjs/dist/esm5/internal/Subscription.js","webpack://trafficcontrol-scenes-app/../node_modules/rxjs/dist/esm5/internal/config.js","webpack://trafficcontrol-scenes-app/../node_modules/rxjs/dist/esm5/internal/scheduler/timeoutProvider.js","webpack://trafficcontrol-scenes-app/../node_modules/rxjs/dist/esm5/internal/util/noop.js","webpack://trafficcontrol-scenes-app/../node_modules/rxjs/dist/esm5/internal/NotificationFactories.js","webpack://trafficcontrol-scenes-app/../node_modules/rxjs/dist/esm5/internal/util/errorContext.js","webpack://trafficcontrol-scenes-app/../node_modules/rxjs/dist/esm5/internal/Subscriber.js","webpack://trafficcontrol-scenes-app/../node_modules/rxjs/dist/esm5/internal/util/reportUnhandledError.js","webpack://trafficcontrol-scenes-app/../node_modules/rxjs/dist/esm5/internal/operators/OperatorSubscriber.js","webpack://trafficcontrol-scenes-app/../node_modules/rxjs/dist/esm5/internal/symbol/observable.js","webpack://trafficcontrol-scenes-app/../node_modules/rxjs/dist/esm5/internal/util/identity.js","webpack://trafficcontrol-scenes-app/../node_modules/rxjs/dist/esm5/internal/Observable.js","webpack://trafficcontrol-scenes-app/../node_modules/rxjs/dist/esm5/internal/util/pipe.js","webpack://trafficcontrol-scenes-app/../node_modules/rxjs/dist/esm5/internal/symbol/iterator.js","webpack://trafficcontrol-scenes-app/../node_modules/@grafana/scenes/dist/esm/querying/layers/annotations/standardAnnotationsSupport.js","webpack://trafficcontrol-scenes-app/../node_modules/@grafana/scenes/dist/esm/utils/writeSceneLog.js","webpack://trafficcontrol-scenes-app/../node_modules/@grafana/scenes/dist/esm/querying/layers/annotations/standardAnnotationQuery.js","webpack://trafficcontrol-scenes-app/../node_modules/@grafana/scenes/dist/esm/querying/layers/annotations/utils.js","webpack://trafficcontrol-scenes-app/../node_modules/@grafana/scenes/dist/esm/querying/layers/annotations/AnnotationsDataLayer.js","webpack://trafficcontrol-scenes-app/../node_modules/@grafana/scenes/dist/esm/core/SceneTimeZoneOverride.js","webpack://trafficcontrol-scenes-app/../node_modules/@grafana/scenes/dist/esm/components/SceneTimeRangeCompare.js","webpack://trafficcontrol-scenes-app/../node_modules/@grafana/scenes/dist/esm/utils/getCompareSeriesRefId.js","webpack://trafficcontrol-scenes-app/../node_modules/@grafana/scenes/dist/esm/querying/timeShiftQueryResponseOperator.js","webpack://trafficcontrol-scenes-app/../node_modules/@grafana/scenes/dist/esm/querying/layers/annotations/filterAnnotations.js","webpack://trafficcontrol-scenes-app/../node_modules/@grafana/scenes/dist/esm/core/types.js","webpack://trafficcontrol-scenes-app/../node_modules/@grafana/scenes/dist/esm/variables/adhoc/patchGetAdhocFilters.js","webpack://trafficcontrol-scenes-app/../node_modules/@grafana/scenes/dist/esm/querying/SceneQueryRunner.js","webpack://trafficcontrol-scenes-app/../node_modules/@grafana/scenes/dist/esm/querying/getEnrichedDataRequest.js","webpack://trafficcontrol-scenes-app/../node_modules/@grafana/scenes/node_modules/@grafana/e2e-selectors/dist/esm/selectors/components.js","webpack://trafficcontrol-scenes-app/../node_modules/@grafana/scenes/node_modules/@grafana/e2e-selectors/dist/esm/selectors/index.js","webpack://trafficcontrol-scenes-app/../node_modules/@grafana/scenes/node_modules/@grafana/e2e-selectors/dist/esm/selectors/pages.js","webpack://trafficcontrol-scenes-app/../node_modules/@grafana/scenes/dist/esm/utils/LoadingIndicator.js","webpack://trafficcontrol-scenes-app/../node_modules/@grafana/scenes/dist/esm/utils/ControlsLabel.js","webpack://trafficcontrol-scenes-app/../node_modules/@grafana/scenes/dist/esm/querying/layers/SceneDataLayerControls.js","webpack://trafficcontrol-scenes-app/../node_modules/@grafana/scenes/dist/esm/querying/SceneDataTransformer.js","webpack://trafficcontrol-scenes-app/../node_modules/@grafana/scenes/dist/esm/variables/components/VariableValueSelectors.js","webpack://trafficcontrol-scenes-app/../node_modules/@grafana/scenes/dist/esm/variables/sets/SceneVariableSet.js","webpack://trafficcontrol-scenes-app/../node_modules/@grafana/scenes/dist/esm/variables/components/VariableValueSelect.js","webpack://trafficcontrol-scenes-app/../node_modules/@grafana/scenes/dist/esm/variables/variants/ConstantVariable.js","webpack://trafficcontrol-scenes-app/../node_modules/@grafana/scenes/dist/esm/variables/variants/MultiValueVariable.js","webpack://trafficcontrol-scenes-app/../node_modules/@grafana/scenes/dist/esm/utils/utils.js","webpack://trafficcontrol-scenes-app/../node_modules/@grafana/scenes/dist/esm/variables/variants/CustomVariable.js","webpack://trafficcontrol-scenes-app/../node_modules/@grafana/scenes/dist/esm/variables/variants/DataSourceVariable.js","webpack://trafficcontrol-scenes-app/../node_modules/@grafana/scenes/dist/esm/variables/variants/query/guards.js","webpack://trafficcontrol-scenes-app/../node_modules/@grafana/scenes/dist/esm/variables/variants/query/createQueryVariableRunner.js","webpack://trafficcontrol-scenes-app/../node_modules/@grafana/scenes/dist/esm/variables/variants/query/utils.js","webpack://trafficcontrol-scenes-app/../node_modules/@grafana/scenes/dist/esm/variables/variants/query/QueryVariable.js","webpack://trafficcontrol-scenes-app/../node_modules/@grafana/scenes/dist/esm/variables/variants/query/toMetricFindValues.js","webpack://trafficcontrol-scenes-app/../node_modules/@grafana/scenes/dist/esm/utils/metricTree.js","webpack://trafficcontrol-scenes-app/../node_modules/@grafana/scenes/dist/esm/variables/variants/TestVariable.js","webpack://trafficcontrol-scenes-app/../node_modules/@grafana/scenes/dist/esm/variables/components/VariableValueInput.js","webpack://trafficcontrol-scenes-app/../node_modules/@grafana/scenes/dist/esm/variables/variants/TextBoxVariable.js","webpack://trafficcontrol-scenes-app/../node_modules/@grafana/scenes/dist/esm/variables/variants/LocalValueVariable.js","webpack://trafficcontrol-scenes-app/../node_modules/@grafana/scenes/dist/esm/variables/variants/IntervalVariable.js","webpack://trafficcontrol-scenes-app/../node_modules/@grafana/scenes/dist/esm/variables/adhoc/AdHocFiltersVariableUrlSyncHandler.js","webpack://trafficcontrol-scenes-app/../node_modules/@grafana/scenes/dist/esm/variables/adhoc/AdHocFilterRenderer.js","webpack://trafficcontrol-scenes-app/../node_modules/@grafana/scenes/dist/esm/variables/adhoc/AdHocFilterBuilder.js","webpack://trafficcontrol-scenes-app/../node_modules/@grafana/scenes/dist/esm/variables/adhoc/AdHocFiltersSet.js","webpack://trafficcontrol-scenes-app/../node_modules/@grafana/schema/dist/esm/veneer/dashboard.types.js","webpack://trafficcontrol-scenes-app/../node_modules/@grafana/scenes/dist/esm/variables/adhoc/AdHocFiltersVariable.js","webpack://trafficcontrol-scenes-app/../node_modules/@grafana/scenes/dist/esm/services/UrlSyncManager.js","webpack://trafficcontrol-scenes-app/../node_modules/@grafana/scenes/dist/esm/components/EmbeddedScene.js","webpack://trafficcontrol-scenes-app/../node_modules/@grafana/scenes/dist/esm/utils/compatibility/setWindowGrafanaSceneContext.js","webpack://trafficcontrol-scenes-app/../node_modules/react-use/esm/misc/util.js","webpack://trafficcontrol-scenes-app/../node_modules/react-use/esm/useIsomorphicLayoutEffect.js","webpack://trafficcontrol-scenes-app/../node_modules/react-use/esm/useMeasure.js","webpack://trafficcontrol-scenes-app/../node_modules/@grafana/scenes/dist/esm/components/VizPanel/VizPanelRenderer.js","webpack://trafficcontrol-scenes-app/../node_modules/@grafana/scenes/dist/esm/components/VizPanel/seriesVisibilityConfigFactory.js","webpack://trafficcontrol-scenes-app/../node_modules/@grafana/scenes/dist/esm/components/VizPanel/colorSeriesConfigFactory.js","webpack://trafficcontrol-scenes-app/../node_modules/@grafana/scenes/dist/esm/components/VizPanel/VizPanel.js","webpack://trafficcontrol-scenes-app/../node_modules/@grafana/scenes/dist/esm/components/layout/grid/SceneGridItem.js","webpack://trafficcontrol-scenes-app/../node_modules/@grafana/scenes/dist/esm/components/VizPanel/VizPanelMenu.js","webpack://trafficcontrol-scenes-app/../node_modules/react-virtualized-auto-sizer/dist/index.esm.js","webpack://trafficcontrol-scenes-app/../node_modules/@grafana/scenes/dist/esm/components/layout/LazyLoader.js","webpack://trafficcontrol-scenes-app/../node_modules/react-use/esm/useEffectOnce.js","webpack://trafficcontrol-scenes-app/../node_modules/@grafana/scenes/dist/esm/components/layout/grid/SceneGridLayout.js","webpack://trafficcontrol-scenes-app/../node_modules/@grafana/scenes/dist/esm/components/layout/grid/constants.js","webpack://trafficcontrol-scenes-app/../node_modules/@grafana/scenes/dist/esm/components/layout/grid/SceneGridLayoutRenderer.js","webpack://trafficcontrol-scenes-app/../node_modules/@grafana/scenes/dist/esm/components/layout/grid/SceneGridRow.js","webpack://trafficcontrol-scenes-app/../node_modules/@grafana/scenes/dist/esm/components/NestedScene.js","webpack://trafficcontrol-scenes-app/../node_modules/@grafana/scenes/dist/esm/components/SceneCanvasText.js","webpack://trafficcontrol-scenes-app/../node_modules/@grafana/scenes/dist/esm/components/SceneToolbarButton.js","webpack://trafficcontrol-scenes-app/../node_modules/@grafana/scenes/dist/esm/components/SceneTimePicker.js","webpack://trafficcontrol-scenes-app/../node_modules/@grafana/scenes/dist/esm/components/SceneRefreshPicker.js","webpack://trafficcontrol-scenes-app/../node_modules/@grafana/scenes/dist/esm/components/SceneByFrameRepeater.js","webpack://trafficcontrol-scenes-app/../node_modules/@grafana/scenes/dist/esm/components/SceneControlsSpacer.js","webpack://trafficcontrol-scenes-app/../node_modules/@grafana/scenes/dist/esm/components/layout/SceneFlexLayout.js","webpack://trafficcontrol-scenes-app/../node_modules/@grafana/scenes/dist/esm/components/layout/CSSGrid/SceneCSSGridLayout.js","webpack://trafficcontrol-scenes-app/../node_modules/@grafana/scenes/dist/esm/components/layout/split/Splitter.js","webpack://trafficcontrol-scenes-app/../node_modules/@grafana/scenes/dist/esm/components/layout/split/SplitLayout.js","webpack://trafficcontrol-scenes-app/../node_modules/@grafana/scenes/dist/esm/components/layout/split/SplitLayoutRenderer.js","webpack://trafficcontrol-scenes-app/../node_modules/@grafana/scenes/dist/esm/components/SceneApp/SceneApp.js","webpack://trafficcontrol-scenes-app/../node_modules/@grafana/scenes/dist/esm/components/SceneReactObject.js","webpack://trafficcontrol-scenes-app/../node_modules/@grafana/scenes/dist/esm/components/SceneDebugger/DebugDetails.js","webpack://trafficcontrol-scenes-app/../node_modules/@grafana/scenes/dist/esm/components/SceneDebugger/DebugTreeNode.js","webpack://trafficcontrol-scenes-app/../node_modules/@grafana/scenes/dist/esm/components/SceneDebugger/SceneDebugger.js","webpack://trafficcontrol-scenes-app/../node_modules/@grafana/scenes/dist/esm/components/SceneApp/SceneAppPageView.js","webpack://trafficcontrol-scenes-app/../node_modules/@grafana/scenes/dist/esm/components/SceneApp/SceneAppPage.js","webpack://trafficcontrol-scenes-app/../node_modules/@grafana/schema/dist/esm/common.gen-58e5e938.js","webpack://trafficcontrol-scenes-app/../node_modules/@grafana/schema/dist/esm/raw/composable/barchart/panelcfg/x/BarChartPanelCfg_types.gen.js","webpack://trafficcontrol-scenes-app/../node_modules/@grafana/schema/dist/esm/raw/composable/bargauge/panelcfg/x/BarGaugePanelCfg_types.gen.js","webpack://trafficcontrol-scenes-app/../node_modules/@grafana/schema/dist/esm/raw/composable/heatmap/panelcfg/x/HeatmapPanelCfg_types.gen.js","webpack://trafficcontrol-scenes-app/../node_modules/@grafana/schema/dist/esm/raw/composable/histogram/panelcfg/x/HistogramPanelCfg_types.gen.js","webpack://trafficcontrol-scenes-app/../node_modules/@grafana/schema/dist/esm/raw/composable/stat/panelcfg/x/StatPanelCfg_types.gen.js","webpack://trafficcontrol-scenes-app/../node_modules/@grafana/schema/dist/esm/raw/composable/statetimeline/panelcfg/x/StateTimelinePanelCfg_types.gen.js","webpack://trafficcontrol-scenes-app/../node_modules/@grafana/schema/dist/esm/raw/composable/statushistory/panelcfg/x/StatusHistoryPanelCfg_types.gen.js","webpack://trafficcontrol-scenes-app/../node_modules/@grafana/schema/dist/esm/raw/composable/table/panelcfg/x/TablePanelCfg_types.gen.js","webpack://trafficcontrol-scenes-app/../node_modules/@grafana/schema/dist/esm/raw/composable/xychart/panelcfg/x/XYChartPanelCfg_types.gen.js","webpack://trafficcontrol-scenes-app/../node_modules/@grafana/scenes/dist/esm/core/PanelBuilders/StandardFieldConfigBuilders.js","webpack://trafficcontrol-scenes-app/../node_modules/@grafana/scenes/dist/esm/core/PanelBuilders/FieldConfigOverridesBuilder.js","webpack://trafficcontrol-scenes-app/../node_modules/@grafana/scenes/dist/esm/core/PanelBuilders/FieldConfigBuilder.js","webpack://trafficcontrol-scenes-app/../node_modules/@grafana/scenes/dist/esm/core/PanelBuilders/PanelOptionsBuilder.js","webpack://trafficcontrol-scenes-app/../node_modules/@grafana/scenes/dist/esm/core/PanelBuilders/VizPanelBuilder.js","webpack://trafficcontrol-scenes-app/../node_modules/@grafana/scenes/dist/esm/core/PanelBuilders/index.js","webpack://trafficcontrol-scenes-app/./pages/Server/panels/bandwidth.tsx","webpack://trafficcontrol-scenes-app/./pages/Server/panels/connections.tsx","webpack://trafficcontrol-scenes-app/./pages/Server/panels/cpu.tsx","webpack://trafficcontrol-scenes-app/./pages/Server/panels/load-average.tsx","webpack://trafficcontrol-scenes-app/./pages/Server/panels/memory.tsx","webpack://trafficcontrol-scenes-app/./pages/Server/panels/netstat.tsx","webpack://trafficcontrol-scenes-app/./pages/Server/panels/read-write-time.tsx","webpack://trafficcontrol-scenes-app/./pages/Server/panels/wrap-count.tsx","webpack://trafficcontrol-scenes-app/./pages/Server/scene.tsx","webpack://trafficcontrol-scenes-app/./pages/Server/Server.tsx","webpack://trafficcontrol-scenes-app/./pages/DeliveryService/panels/bandwidth.tsx","webpack://trafficcontrol-scenes-app/./pages/DeliveryService/panels/tps.tsx","webpack://trafficcontrol-scenes-app/./pages/DeliveryService/panels/bandwidth-cg.tsx","webpack://trafficcontrol-scenes-app/./pages/DeliveryService/scene.tsx","webpack://trafficcontrol-scenes-app/./pages/DeliveryService/DeliveryService.tsx","webpack://trafficcontrol-scenes-app/./pages/CacheGroup/panels/bandwidth.tsx","webpack://trafficcontrol-scenes-app/./pages/CacheGroup/panels/connections.tsx","webpack://trafficcontrol-scenes-app/./pages/CacheGroup/scene.tsx","webpack://trafficcontrol-scenes-app/./pages/CacheGroup/CacheGroup.tsx","webpack://trafficcontrol-scenes-app/./components/Routes/Routes.tsx","webpack://trafficcontrol-scenes-app/./components/App/App.tsx","webpack://trafficcontrol-scenes-app/./module.ts"],"sourcesContent":["function r(e){var t,f,n=\"\";if(\"string\"==typeof e||\"number\"==typeof e)n+=e;else if(\"object\"==typeof e)if(Array.isArray(e))for(t=0;t\n * Build: `lodash modularize exports=\"npm\" -o ./`\n * Copyright JS Foundation and other contributors \n * Released under MIT license \n * Based on Underscore.js 1.8.3 \n * Copyright Jeremy Ashkenas, DocumentCloud and Investigative Reporters & Editors\n */\n\n/** Used as the size to enable large array optimizations. */\nvar LARGE_ARRAY_SIZE = 200;\n\n/** Used to stand-in for `undefined` hash values. */\nvar HASH_UNDEFINED = '__lodash_hash_undefined__';\n\n/** Used to compose bitmasks for value comparisons. */\nvar COMPARE_PARTIAL_FLAG = 1,\n COMPARE_UNORDERED_FLAG = 2;\n\n/** Used as references for various `Number` constants. */\nvar MAX_SAFE_INTEGER = 9007199254740991;\n\n/** `Object#toString` result references. */\nvar argsTag = '[object Arguments]',\n arrayTag = '[object Array]',\n asyncTag = '[object AsyncFunction]',\n boolTag = '[object Boolean]',\n dateTag = '[object Date]',\n errorTag = '[object Error]',\n funcTag = '[object Function]',\n genTag = '[object GeneratorFunction]',\n mapTag = '[object Map]',\n numberTag = '[object Number]',\n nullTag = '[object Null]',\n objectTag = '[object Object]',\n promiseTag = '[object Promise]',\n proxyTag = '[object Proxy]',\n regexpTag = '[object RegExp]',\n setTag = '[object Set]',\n stringTag = '[object String]',\n symbolTag = '[object Symbol]',\n undefinedTag = '[object Undefined]',\n weakMapTag = '[object WeakMap]';\n\nvar arrayBufferTag = '[object ArrayBuffer]',\n dataViewTag = '[object DataView]',\n float32Tag = '[object Float32Array]',\n float64Tag = '[object Float64Array]',\n int8Tag = '[object Int8Array]',\n int16Tag = '[object Int16Array]',\n int32Tag = '[object Int32Array]',\n uint8Tag = '[object Uint8Array]',\n uint8ClampedTag = '[object Uint8ClampedArray]',\n uint16Tag = '[object Uint16Array]',\n uint32Tag = '[object Uint32Array]';\n\n/**\n * Used to match `RegExp`\n * [syntax characters](http://ecma-international.org/ecma-262/7.0/#sec-patterns).\n */\nvar reRegExpChar = /[\\\\^$.*+?()[\\]{}|]/g;\n\n/** Used to detect host constructors (Safari). */\nvar reIsHostCtor = /^\\[object .+?Constructor\\]$/;\n\n/** Used to detect unsigned integer values. */\nvar reIsUint = /^(?:0|[1-9]\\d*)$/;\n\n/** Used to identify `toStringTag` values of typed arrays. */\nvar typedArrayTags = {};\ntypedArrayTags[float32Tag] = typedArrayTags[float64Tag] =\ntypedArrayTags[int8Tag] = typedArrayTags[int16Tag] =\ntypedArrayTags[int32Tag] = typedArrayTags[uint8Tag] =\ntypedArrayTags[uint8ClampedTag] = typedArrayTags[uint16Tag] =\ntypedArrayTags[uint32Tag] = true;\ntypedArrayTags[argsTag] = typedArrayTags[arrayTag] =\ntypedArrayTags[arrayBufferTag] = typedArrayTags[boolTag] =\ntypedArrayTags[dataViewTag] = typedArrayTags[dateTag] =\ntypedArrayTags[errorTag] = typedArrayTags[funcTag] =\ntypedArrayTags[mapTag] = typedArrayTags[numberTag] =\ntypedArrayTags[objectTag] = typedArrayTags[regexpTag] =\ntypedArrayTags[setTag] = typedArrayTags[stringTag] =\ntypedArrayTags[weakMapTag] = false;\n\n/** Detect free variable `global` from Node.js. */\nvar freeGlobal = typeof global == 'object' && global && global.Object === Object && global;\n\n/** Detect free variable `self`. */\nvar freeSelf = typeof self == 'object' && self && self.Object === Object && self;\n\n/** Used as a reference to the global object. */\nvar root = freeGlobal || freeSelf || Function('return this')();\n\n/** Detect free variable `exports`. */\nvar freeExports = typeof exports == 'object' && exports && !exports.nodeType && exports;\n\n/** Detect free variable `module`. */\nvar freeModule = freeExports && typeof module == 'object' && module && !module.nodeType && module;\n\n/** Detect the popular CommonJS extension `module.exports`. */\nvar moduleExports = freeModule && freeModule.exports === freeExports;\n\n/** Detect free variable `process` from Node.js. */\nvar freeProcess = moduleExports && freeGlobal.process;\n\n/** Used to access faster Node.js helpers. */\nvar nodeUtil = (function() {\n try {\n return freeProcess && freeProcess.binding && freeProcess.binding('util');\n } catch (e) {}\n}());\n\n/* Node.js helper references. */\nvar nodeIsTypedArray = nodeUtil && nodeUtil.isTypedArray;\n\n/**\n * A specialized version of `_.filter` for arrays without support for\n * iteratee shorthands.\n *\n * @private\n * @param {Array} [array] The array to iterate over.\n * @param {Function} predicate The function invoked per iteration.\n * @returns {Array} Returns the new filtered array.\n */\nfunction arrayFilter(array, predicate) {\n var index = -1,\n length = array == null ? 0 : array.length,\n resIndex = 0,\n result = [];\n\n while (++index < length) {\n var value = array[index];\n if (predicate(value, index, array)) {\n result[resIndex++] = value;\n }\n }\n return result;\n}\n\n/**\n * Appends the elements of `values` to `array`.\n *\n * @private\n * @param {Array} array The array to modify.\n * @param {Array} values The values to append.\n * @returns {Array} Returns `array`.\n */\nfunction arrayPush(array, values) {\n var index = -1,\n length = values.length,\n offset = array.length;\n\n while (++index < length) {\n array[offset + index] = values[index];\n }\n return array;\n}\n\n/**\n * A specialized version of `_.some` for arrays without support for iteratee\n * shorthands.\n *\n * @private\n * @param {Array} [array] The array to iterate over.\n * @param {Function} predicate The function invoked per iteration.\n * @returns {boolean} Returns `true` if any element passes the predicate check,\n * else `false`.\n */\nfunction arraySome(array, predicate) {\n var index = -1,\n length = array == null ? 0 : array.length;\n\n while (++index < length) {\n if (predicate(array[index], index, array)) {\n return true;\n }\n }\n return false;\n}\n\n/**\n * The base implementation of `_.times` without support for iteratee shorthands\n * or max array length checks.\n *\n * @private\n * @param {number} n The number of times to invoke `iteratee`.\n * @param {Function} iteratee The function invoked per iteration.\n * @returns {Array} Returns the array of results.\n */\nfunction baseTimes(n, iteratee) {\n var index = -1,\n result = Array(n);\n\n while (++index < n) {\n result[index] = iteratee(index);\n }\n return result;\n}\n\n/**\n * The base implementation of `_.unary` without support for storing metadata.\n *\n * @private\n * @param {Function} func The function to cap arguments for.\n * @returns {Function} Returns the new capped function.\n */\nfunction baseUnary(func) {\n return function(value) {\n return func(value);\n };\n}\n\n/**\n * Checks if a `cache` value for `key` exists.\n *\n * @private\n * @param {Object} cache The cache to query.\n * @param {string} key The key of the entry to check.\n * @returns {boolean} Returns `true` if an entry for `key` exists, else `false`.\n */\nfunction cacheHas(cache, key) {\n return cache.has(key);\n}\n\n/**\n * Gets the value at `key` of `object`.\n *\n * @private\n * @param {Object} [object] The object to query.\n * @param {string} key The key of the property to get.\n * @returns {*} Returns the property value.\n */\nfunction getValue(object, key) {\n return object == null ? undefined : object[key];\n}\n\n/**\n * Converts `map` to its key-value pairs.\n *\n * @private\n * @param {Object} map The map to convert.\n * @returns {Array} Returns the key-value pairs.\n */\nfunction mapToArray(map) {\n var index = -1,\n result = Array(map.size);\n\n map.forEach(function(value, key) {\n result[++index] = [key, value];\n });\n return result;\n}\n\n/**\n * Creates a unary function that invokes `func` with its argument transformed.\n *\n * @private\n * @param {Function} func The function to wrap.\n * @param {Function} transform The argument transform.\n * @returns {Function} Returns the new function.\n */\nfunction overArg(func, transform) {\n return function(arg) {\n return func(transform(arg));\n };\n}\n\n/**\n * Converts `set` to an array of its values.\n *\n * @private\n * @param {Object} set The set to convert.\n * @returns {Array} Returns the values.\n */\nfunction setToArray(set) {\n var index = -1,\n result = Array(set.size);\n\n set.forEach(function(value) {\n result[++index] = value;\n });\n return result;\n}\n\n/** Used for built-in method references. */\nvar arrayProto = Array.prototype,\n funcProto = Function.prototype,\n objectProto = Object.prototype;\n\n/** Used to detect overreaching core-js shims. */\nvar coreJsData = root['__core-js_shared__'];\n\n/** Used to resolve the decompiled source of functions. */\nvar funcToString = funcProto.toString;\n\n/** Used to check objects for own properties. */\nvar hasOwnProperty = objectProto.hasOwnProperty;\n\n/** Used to detect methods masquerading as native. */\nvar maskSrcKey = (function() {\n var uid = /[^.]+$/.exec(coreJsData && coreJsData.keys && coreJsData.keys.IE_PROTO || '');\n return uid ? ('Symbol(src)_1.' + uid) : '';\n}());\n\n/**\n * Used to resolve the\n * [`toStringTag`](http://ecma-international.org/ecma-262/7.0/#sec-object.prototype.tostring)\n * of values.\n */\nvar nativeObjectToString = objectProto.toString;\n\n/** Used to detect if a method is native. */\nvar reIsNative = RegExp('^' +\n funcToString.call(hasOwnProperty).replace(reRegExpChar, '\\\\$&')\n .replace(/hasOwnProperty|(function).*?(?=\\\\\\()| for .+?(?=\\\\\\])/g, '$1.*?') + '$'\n);\n\n/** Built-in value references. */\nvar Buffer = moduleExports ? root.Buffer : undefined,\n Symbol = root.Symbol,\n Uint8Array = root.Uint8Array,\n propertyIsEnumerable = objectProto.propertyIsEnumerable,\n splice = arrayProto.splice,\n symToStringTag = Symbol ? Symbol.toStringTag : undefined;\n\n/* Built-in method references for those with the same name as other `lodash` methods. */\nvar nativeGetSymbols = Object.getOwnPropertySymbols,\n nativeIsBuffer = Buffer ? Buffer.isBuffer : undefined,\n nativeKeys = overArg(Object.keys, Object);\n\n/* Built-in method references that are verified to be native. */\nvar DataView = getNative(root, 'DataView'),\n Map = getNative(root, 'Map'),\n Promise = getNative(root, 'Promise'),\n Set = getNative(root, 'Set'),\n WeakMap = getNative(root, 'WeakMap'),\n nativeCreate = getNative(Object, 'create');\n\n/** Used to detect maps, sets, and weakmaps. */\nvar dataViewCtorString = toSource(DataView),\n mapCtorString = toSource(Map),\n promiseCtorString = toSource(Promise),\n setCtorString = toSource(Set),\n weakMapCtorString = toSource(WeakMap);\n\n/** Used to convert symbols to primitives and strings. */\nvar symbolProto = Symbol ? Symbol.prototype : undefined,\n symbolValueOf = symbolProto ? symbolProto.valueOf : undefined;\n\n/**\n * Creates a hash object.\n *\n * @private\n * @constructor\n * @param {Array} [entries] The key-value pairs to cache.\n */\nfunction Hash(entries) {\n var index = -1,\n length = entries == null ? 0 : entries.length;\n\n this.clear();\n while (++index < length) {\n var entry = entries[index];\n this.set(entry[0], entry[1]);\n }\n}\n\n/**\n * Removes all key-value entries from the hash.\n *\n * @private\n * @name clear\n * @memberOf Hash\n */\nfunction hashClear() {\n this.__data__ = nativeCreate ? nativeCreate(null) : {};\n this.size = 0;\n}\n\n/**\n * Removes `key` and its value from the hash.\n *\n * @private\n * @name delete\n * @memberOf Hash\n * @param {Object} hash The hash to modify.\n * @param {string} key The key of the value to remove.\n * @returns {boolean} Returns `true` if the entry was removed, else `false`.\n */\nfunction hashDelete(key) {\n var result = this.has(key) && delete this.__data__[key];\n this.size -= result ? 1 : 0;\n return result;\n}\n\n/**\n * Gets the hash value for `key`.\n *\n * @private\n * @name get\n * @memberOf Hash\n * @param {string} key The key of the value to get.\n * @returns {*} Returns the entry value.\n */\nfunction hashGet(key) {\n var data = this.__data__;\n if (nativeCreate) {\n var result = data[key];\n return result === HASH_UNDEFINED ? undefined : result;\n }\n return hasOwnProperty.call(data, key) ? data[key] : undefined;\n}\n\n/**\n * Checks if a hash value for `key` exists.\n *\n * @private\n * @name has\n * @memberOf Hash\n * @param {string} key The key of the entry to check.\n * @returns {boolean} Returns `true` if an entry for `key` exists, else `false`.\n */\nfunction hashHas(key) {\n var data = this.__data__;\n return nativeCreate ? (data[key] !== undefined) : hasOwnProperty.call(data, key);\n}\n\n/**\n * Sets the hash `key` to `value`.\n *\n * @private\n * @name set\n * @memberOf Hash\n * @param {string} key The key of the value to set.\n * @param {*} value The value to set.\n * @returns {Object} Returns the hash instance.\n */\nfunction hashSet(key, value) {\n var data = this.__data__;\n this.size += this.has(key) ? 0 : 1;\n data[key] = (nativeCreate && value === undefined) ? HASH_UNDEFINED : value;\n return this;\n}\n\n// Add methods to `Hash`.\nHash.prototype.clear = hashClear;\nHash.prototype['delete'] = hashDelete;\nHash.prototype.get = hashGet;\nHash.prototype.has = hashHas;\nHash.prototype.set = hashSet;\n\n/**\n * Creates an list cache object.\n *\n * @private\n * @constructor\n * @param {Array} [entries] The key-value pairs to cache.\n */\nfunction ListCache(entries) {\n var index = -1,\n length = entries == null ? 0 : entries.length;\n\n this.clear();\n while (++index < length) {\n var entry = entries[index];\n this.set(entry[0], entry[1]);\n }\n}\n\n/**\n * Removes all key-value entries from the list cache.\n *\n * @private\n * @name clear\n * @memberOf ListCache\n */\nfunction listCacheClear() {\n this.__data__ = [];\n this.size = 0;\n}\n\n/**\n * Removes `key` and its value from the list cache.\n *\n * @private\n * @name delete\n * @memberOf ListCache\n * @param {string} key The key of the value to remove.\n * @returns {boolean} Returns `true` if the entry was removed, else `false`.\n */\nfunction listCacheDelete(key) {\n var data = this.__data__,\n index = assocIndexOf(data, key);\n\n if (index < 0) {\n return false;\n }\n var lastIndex = data.length - 1;\n if (index == lastIndex) {\n data.pop();\n } else {\n splice.call(data, index, 1);\n }\n --this.size;\n return true;\n}\n\n/**\n * Gets the list cache value for `key`.\n *\n * @private\n * @name get\n * @memberOf ListCache\n * @param {string} key The key of the value to get.\n * @returns {*} Returns the entry value.\n */\nfunction listCacheGet(key) {\n var data = this.__data__,\n index = assocIndexOf(data, key);\n\n return index < 0 ? undefined : data[index][1];\n}\n\n/**\n * Checks if a list cache value for `key` exists.\n *\n * @private\n * @name has\n * @memberOf ListCache\n * @param {string} key The key of the entry to check.\n * @returns {boolean} Returns `true` if an entry for `key` exists, else `false`.\n */\nfunction listCacheHas(key) {\n return assocIndexOf(this.__data__, key) > -1;\n}\n\n/**\n * Sets the list cache `key` to `value`.\n *\n * @private\n * @name set\n * @memberOf ListCache\n * @param {string} key The key of the value to set.\n * @param {*} value The value to set.\n * @returns {Object} Returns the list cache instance.\n */\nfunction listCacheSet(key, value) {\n var data = this.__data__,\n index = assocIndexOf(data, key);\n\n if (index < 0) {\n ++this.size;\n data.push([key, value]);\n } else {\n data[index][1] = value;\n }\n return this;\n}\n\n// Add methods to `ListCache`.\nListCache.prototype.clear = listCacheClear;\nListCache.prototype['delete'] = listCacheDelete;\nListCache.prototype.get = listCacheGet;\nListCache.prototype.has = listCacheHas;\nListCache.prototype.set = listCacheSet;\n\n/**\n * Creates a map cache object to store key-value pairs.\n *\n * @private\n * @constructor\n * @param {Array} [entries] The key-value pairs to cache.\n */\nfunction MapCache(entries) {\n var index = -1,\n length = entries == null ? 0 : entries.length;\n\n this.clear();\n while (++index < length) {\n var entry = entries[index];\n this.set(entry[0], entry[1]);\n }\n}\n\n/**\n * Removes all key-value entries from the map.\n *\n * @private\n * @name clear\n * @memberOf MapCache\n */\nfunction mapCacheClear() {\n this.size = 0;\n this.__data__ = {\n 'hash': new Hash,\n 'map': new (Map || ListCache),\n 'string': new Hash\n };\n}\n\n/**\n * Removes `key` and its value from the map.\n *\n * @private\n * @name delete\n * @memberOf MapCache\n * @param {string} key The key of the value to remove.\n * @returns {boolean} Returns `true` if the entry was removed, else `false`.\n */\nfunction mapCacheDelete(key) {\n var result = getMapData(this, key)['delete'](key);\n this.size -= result ? 1 : 0;\n return result;\n}\n\n/**\n * Gets the map value for `key`.\n *\n * @private\n * @name get\n * @memberOf MapCache\n * @param {string} key The key of the value to get.\n * @returns {*} Returns the entry value.\n */\nfunction mapCacheGet(key) {\n return getMapData(this, key).get(key);\n}\n\n/**\n * Checks if a map value for `key` exists.\n *\n * @private\n * @name has\n * @memberOf MapCache\n * @param {string} key The key of the entry to check.\n * @returns {boolean} Returns `true` if an entry for `key` exists, else `false`.\n */\nfunction mapCacheHas(key) {\n return getMapData(this, key).has(key);\n}\n\n/**\n * Sets the map `key` to `value`.\n *\n * @private\n * @name set\n * @memberOf MapCache\n * @param {string} key The key of the value to set.\n * @param {*} value The value to set.\n * @returns {Object} Returns the map cache instance.\n */\nfunction mapCacheSet(key, value) {\n var data = getMapData(this, key),\n size = data.size;\n\n data.set(key, value);\n this.size += data.size == size ? 0 : 1;\n return this;\n}\n\n// Add methods to `MapCache`.\nMapCache.prototype.clear = mapCacheClear;\nMapCache.prototype['delete'] = mapCacheDelete;\nMapCache.prototype.get = mapCacheGet;\nMapCache.prototype.has = mapCacheHas;\nMapCache.prototype.set = mapCacheSet;\n\n/**\n *\n * Creates an array cache object to store unique values.\n *\n * @private\n * @constructor\n * @param {Array} [values] The values to cache.\n */\nfunction SetCache(values) {\n var index = -1,\n length = values == null ? 0 : values.length;\n\n this.__data__ = new MapCache;\n while (++index < length) {\n this.add(values[index]);\n }\n}\n\n/**\n * Adds `value` to the array cache.\n *\n * @private\n * @name add\n * @memberOf SetCache\n * @alias push\n * @param {*} value The value to cache.\n * @returns {Object} Returns the cache instance.\n */\nfunction setCacheAdd(value) {\n this.__data__.set(value, HASH_UNDEFINED);\n return this;\n}\n\n/**\n * Checks if `value` is in the array cache.\n *\n * @private\n * @name has\n * @memberOf SetCache\n * @param {*} value The value to search for.\n * @returns {number} Returns `true` if `value` is found, else `false`.\n */\nfunction setCacheHas(value) {\n return this.__data__.has(value);\n}\n\n// Add methods to `SetCache`.\nSetCache.prototype.add = SetCache.prototype.push = setCacheAdd;\nSetCache.prototype.has = setCacheHas;\n\n/**\n * Creates a stack cache object to store key-value pairs.\n *\n * @private\n * @constructor\n * @param {Array} [entries] The key-value pairs to cache.\n */\nfunction Stack(entries) {\n var data = this.__data__ = new ListCache(entries);\n this.size = data.size;\n}\n\n/**\n * Removes all key-value entries from the stack.\n *\n * @private\n * @name clear\n * @memberOf Stack\n */\nfunction stackClear() {\n this.__data__ = new ListCache;\n this.size = 0;\n}\n\n/**\n * Removes `key` and its value from the stack.\n *\n * @private\n * @name delete\n * @memberOf Stack\n * @param {string} key The key of the value to remove.\n * @returns {boolean} Returns `true` if the entry was removed, else `false`.\n */\nfunction stackDelete(key) {\n var data = this.__data__,\n result = data['delete'](key);\n\n this.size = data.size;\n return result;\n}\n\n/**\n * Gets the stack value for `key`.\n *\n * @private\n * @name get\n * @memberOf Stack\n * @param {string} key The key of the value to get.\n * @returns {*} Returns the entry value.\n */\nfunction stackGet(key) {\n return this.__data__.get(key);\n}\n\n/**\n * Checks if a stack value for `key` exists.\n *\n * @private\n * @name has\n * @memberOf Stack\n * @param {string} key The key of the entry to check.\n * @returns {boolean} Returns `true` if an entry for `key` exists, else `false`.\n */\nfunction stackHas(key) {\n return this.__data__.has(key);\n}\n\n/**\n * Sets the stack `key` to `value`.\n *\n * @private\n * @name set\n * @memberOf Stack\n * @param {string} key The key of the value to set.\n * @param {*} value The value to set.\n * @returns {Object} Returns the stack cache instance.\n */\nfunction stackSet(key, value) {\n var data = this.__data__;\n if (data instanceof ListCache) {\n var pairs = data.__data__;\n if (!Map || (pairs.length < LARGE_ARRAY_SIZE - 1)) {\n pairs.push([key, value]);\n this.size = ++data.size;\n return this;\n }\n data = this.__data__ = new MapCache(pairs);\n }\n data.set(key, value);\n this.size = data.size;\n return this;\n}\n\n// Add methods to `Stack`.\nStack.prototype.clear = stackClear;\nStack.prototype['delete'] = stackDelete;\nStack.prototype.get = stackGet;\nStack.prototype.has = stackHas;\nStack.prototype.set = stackSet;\n\n/**\n * Creates an array of the enumerable property names of the array-like `value`.\n *\n * @private\n * @param {*} value The value to query.\n * @param {boolean} inherited Specify returning inherited property names.\n * @returns {Array} Returns the array of property names.\n */\nfunction arrayLikeKeys(value, inherited) {\n var isArr = isArray(value),\n isArg = !isArr && isArguments(value),\n isBuff = !isArr && !isArg && isBuffer(value),\n isType = !isArr && !isArg && !isBuff && isTypedArray(value),\n skipIndexes = isArr || isArg || isBuff || isType,\n result = skipIndexes ? baseTimes(value.length, String) : [],\n length = result.length;\n\n for (var key in value) {\n if ((inherited || hasOwnProperty.call(value, key)) &&\n !(skipIndexes && (\n // Safari 9 has enumerable `arguments.length` in strict mode.\n key == 'length' ||\n // Node.js 0.10 has enumerable non-index properties on buffers.\n (isBuff && (key == 'offset' || key == 'parent')) ||\n // PhantomJS 2 has enumerable non-index properties on typed arrays.\n (isType && (key == 'buffer' || key == 'byteLength' || key == 'byteOffset')) ||\n // Skip index properties.\n isIndex(key, length)\n ))) {\n result.push(key);\n }\n }\n return result;\n}\n\n/**\n * Gets the index at which the `key` is found in `array` of key-value pairs.\n *\n * @private\n * @param {Array} array The array to inspect.\n * @param {*} key The key to search for.\n * @returns {number} Returns the index of the matched value, else `-1`.\n */\nfunction assocIndexOf(array, key) {\n var length = array.length;\n while (length--) {\n if (eq(array[length][0], key)) {\n return length;\n }\n }\n return -1;\n}\n\n/**\n * The base implementation of `getAllKeys` and `getAllKeysIn` which uses\n * `keysFunc` and `symbolsFunc` to get the enumerable property names and\n * symbols of `object`.\n *\n * @private\n * @param {Object} object The object to query.\n * @param {Function} keysFunc The function to get the keys of `object`.\n * @param {Function} symbolsFunc The function to get the symbols of `object`.\n * @returns {Array} Returns the array of property names and symbols.\n */\nfunction baseGetAllKeys(object, keysFunc, symbolsFunc) {\n var result = keysFunc(object);\n return isArray(object) ? result : arrayPush(result, symbolsFunc(object));\n}\n\n/**\n * The base implementation of `getTag` without fallbacks for buggy environments.\n *\n * @private\n * @param {*} value The value to query.\n * @returns {string} Returns the `toStringTag`.\n */\nfunction baseGetTag(value) {\n if (value == null) {\n return value === undefined ? undefinedTag : nullTag;\n }\n return (symToStringTag && symToStringTag in Object(value))\n ? getRawTag(value)\n : objectToString(value);\n}\n\n/**\n * The base implementation of `_.isArguments`.\n *\n * @private\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is an `arguments` object,\n */\nfunction baseIsArguments(value) {\n return isObjectLike(value) && baseGetTag(value) == argsTag;\n}\n\n/**\n * The base implementation of `_.isEqual` which supports partial comparisons\n * and tracks traversed objects.\n *\n * @private\n * @param {*} value The value to compare.\n * @param {*} other The other value to compare.\n * @param {boolean} bitmask The bitmask flags.\n * 1 - Unordered comparison\n * 2 - Partial comparison\n * @param {Function} [customizer] The function to customize comparisons.\n * @param {Object} [stack] Tracks traversed `value` and `other` objects.\n * @returns {boolean} Returns `true` if the values are equivalent, else `false`.\n */\nfunction baseIsEqual(value, other, bitmask, customizer, stack) {\n if (value === other) {\n return true;\n }\n if (value == null || other == null || (!isObjectLike(value) && !isObjectLike(other))) {\n return value !== value && other !== other;\n }\n return baseIsEqualDeep(value, other, bitmask, customizer, baseIsEqual, stack);\n}\n\n/**\n * A specialized version of `baseIsEqual` for arrays and objects which performs\n * deep comparisons and tracks traversed objects enabling objects with circular\n * references to be compared.\n *\n * @private\n * @param {Object} object The object to compare.\n * @param {Object} other The other object to compare.\n * @param {number} bitmask The bitmask flags. See `baseIsEqual` for more details.\n * @param {Function} customizer The function to customize comparisons.\n * @param {Function} equalFunc The function to determine equivalents of values.\n * @param {Object} [stack] Tracks traversed `object` and `other` objects.\n * @returns {boolean} Returns `true` if the objects are equivalent, else `false`.\n */\nfunction baseIsEqualDeep(object, other, bitmask, customizer, equalFunc, stack) {\n var objIsArr = isArray(object),\n othIsArr = isArray(other),\n objTag = objIsArr ? arrayTag : getTag(object),\n othTag = othIsArr ? arrayTag : getTag(other);\n\n objTag = objTag == argsTag ? objectTag : objTag;\n othTag = othTag == argsTag ? objectTag : othTag;\n\n var objIsObj = objTag == objectTag,\n othIsObj = othTag == objectTag,\n isSameTag = objTag == othTag;\n\n if (isSameTag && isBuffer(object)) {\n if (!isBuffer(other)) {\n return false;\n }\n objIsArr = true;\n objIsObj = false;\n }\n if (isSameTag && !objIsObj) {\n stack || (stack = new Stack);\n return (objIsArr || isTypedArray(object))\n ? equalArrays(object, other, bitmask, customizer, equalFunc, stack)\n : equalByTag(object, other, objTag, bitmask, customizer, equalFunc, stack);\n }\n if (!(bitmask & COMPARE_PARTIAL_FLAG)) {\n var objIsWrapped = objIsObj && hasOwnProperty.call(object, '__wrapped__'),\n othIsWrapped = othIsObj && hasOwnProperty.call(other, '__wrapped__');\n\n if (objIsWrapped || othIsWrapped) {\n var objUnwrapped = objIsWrapped ? object.value() : object,\n othUnwrapped = othIsWrapped ? other.value() : other;\n\n stack || (stack = new Stack);\n return equalFunc(objUnwrapped, othUnwrapped, bitmask, customizer, stack);\n }\n }\n if (!isSameTag) {\n return false;\n }\n stack || (stack = new Stack);\n return equalObjects(object, other, bitmask, customizer, equalFunc, stack);\n}\n\n/**\n * The base implementation of `_.isNative` without bad shim checks.\n *\n * @private\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a native function,\n * else `false`.\n */\nfunction baseIsNative(value) {\n if (!isObject(value) || isMasked(value)) {\n return false;\n }\n var pattern = isFunction(value) ? reIsNative : reIsHostCtor;\n return pattern.test(toSource(value));\n}\n\n/**\n * The base implementation of `_.isTypedArray` without Node.js optimizations.\n *\n * @private\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a typed array, else `false`.\n */\nfunction baseIsTypedArray(value) {\n return isObjectLike(value) &&\n isLength(value.length) && !!typedArrayTags[baseGetTag(value)];\n}\n\n/**\n * The base implementation of `_.keys` which doesn't treat sparse arrays as dense.\n *\n * @private\n * @param {Object} object The object to query.\n * @returns {Array} Returns the array of property names.\n */\nfunction baseKeys(object) {\n if (!isPrototype(object)) {\n return nativeKeys(object);\n }\n var result = [];\n for (var key in Object(object)) {\n if (hasOwnProperty.call(object, key) && key != 'constructor') {\n result.push(key);\n }\n }\n return result;\n}\n\n/**\n * A specialized version of `baseIsEqualDeep` for arrays with support for\n * partial deep comparisons.\n *\n * @private\n * @param {Array} array The array to compare.\n * @param {Array} other The other array to compare.\n * @param {number} bitmask The bitmask flags. See `baseIsEqual` for more details.\n * @param {Function} customizer The function to customize comparisons.\n * @param {Function} equalFunc The function to determine equivalents of values.\n * @param {Object} stack Tracks traversed `array` and `other` objects.\n * @returns {boolean} Returns `true` if the arrays are equivalent, else `false`.\n */\nfunction equalArrays(array, other, bitmask, customizer, equalFunc, stack) {\n var isPartial = bitmask & COMPARE_PARTIAL_FLAG,\n arrLength = array.length,\n othLength = other.length;\n\n if (arrLength != othLength && !(isPartial && othLength > arrLength)) {\n return false;\n }\n // Assume cyclic values are equal.\n var stacked = stack.get(array);\n if (stacked && stack.get(other)) {\n return stacked == other;\n }\n var index = -1,\n result = true,\n seen = (bitmask & COMPARE_UNORDERED_FLAG) ? new SetCache : undefined;\n\n stack.set(array, other);\n stack.set(other, array);\n\n // Ignore non-index properties.\n while (++index < arrLength) {\n var arrValue = array[index],\n othValue = other[index];\n\n if (customizer) {\n var compared = isPartial\n ? customizer(othValue, arrValue, index, other, array, stack)\n : customizer(arrValue, othValue, index, array, other, stack);\n }\n if (compared !== undefined) {\n if (compared) {\n continue;\n }\n result = false;\n break;\n }\n // Recursively compare arrays (susceptible to call stack limits).\n if (seen) {\n if (!arraySome(other, function(othValue, othIndex) {\n if (!cacheHas(seen, othIndex) &&\n (arrValue === othValue || equalFunc(arrValue, othValue, bitmask, customizer, stack))) {\n return seen.push(othIndex);\n }\n })) {\n result = false;\n break;\n }\n } else if (!(\n arrValue === othValue ||\n equalFunc(arrValue, othValue, bitmask, customizer, stack)\n )) {\n result = false;\n break;\n }\n }\n stack['delete'](array);\n stack['delete'](other);\n return result;\n}\n\n/**\n * A specialized version of `baseIsEqualDeep` for comparing objects of\n * the same `toStringTag`.\n *\n * **Note:** This function only supports comparing values with tags of\n * `Boolean`, `Date`, `Error`, `Number`, `RegExp`, or `String`.\n *\n * @private\n * @param {Object} object The object to compare.\n * @param {Object} other The other object to compare.\n * @param {string} tag The `toStringTag` of the objects to compare.\n * @param {number} bitmask The bitmask flags. See `baseIsEqual` for more details.\n * @param {Function} customizer The function to customize comparisons.\n * @param {Function} equalFunc The function to determine equivalents of values.\n * @param {Object} stack Tracks traversed `object` and `other` objects.\n * @returns {boolean} Returns `true` if the objects are equivalent, else `false`.\n */\nfunction equalByTag(object, other, tag, bitmask, customizer, equalFunc, stack) {\n switch (tag) {\n case dataViewTag:\n if ((object.byteLength != other.byteLength) ||\n (object.byteOffset != other.byteOffset)) {\n return false;\n }\n object = object.buffer;\n other = other.buffer;\n\n case arrayBufferTag:\n if ((object.byteLength != other.byteLength) ||\n !equalFunc(new Uint8Array(object), new Uint8Array(other))) {\n return false;\n }\n return true;\n\n case boolTag:\n case dateTag:\n case numberTag:\n // Coerce booleans to `1` or `0` and dates to milliseconds.\n // Invalid dates are coerced to `NaN`.\n return eq(+object, +other);\n\n case errorTag:\n return object.name == other.name && object.message == other.message;\n\n case regexpTag:\n case stringTag:\n // Coerce regexes to strings and treat strings, primitives and objects,\n // as equal. See http://www.ecma-international.org/ecma-262/7.0/#sec-regexp.prototype.tostring\n // for more details.\n return object == (other + '');\n\n case mapTag:\n var convert = mapToArray;\n\n case setTag:\n var isPartial = bitmask & COMPARE_PARTIAL_FLAG;\n convert || (convert = setToArray);\n\n if (object.size != other.size && !isPartial) {\n return false;\n }\n // Assume cyclic values are equal.\n var stacked = stack.get(object);\n if (stacked) {\n return stacked == other;\n }\n bitmask |= COMPARE_UNORDERED_FLAG;\n\n // Recursively compare objects (susceptible to call stack limits).\n stack.set(object, other);\n var result = equalArrays(convert(object), convert(other), bitmask, customizer, equalFunc, stack);\n stack['delete'](object);\n return result;\n\n case symbolTag:\n if (symbolValueOf) {\n return symbolValueOf.call(object) == symbolValueOf.call(other);\n }\n }\n return false;\n}\n\n/**\n * A specialized version of `baseIsEqualDeep` for objects with support for\n * partial deep comparisons.\n *\n * @private\n * @param {Object} object The object to compare.\n * @param {Object} other The other object to compare.\n * @param {number} bitmask The bitmask flags. See `baseIsEqual` for more details.\n * @param {Function} customizer The function to customize comparisons.\n * @param {Function} equalFunc The function to determine equivalents of values.\n * @param {Object} stack Tracks traversed `object` and `other` objects.\n * @returns {boolean} Returns `true` if the objects are equivalent, else `false`.\n */\nfunction equalObjects(object, other, bitmask, customizer, equalFunc, stack) {\n var isPartial = bitmask & COMPARE_PARTIAL_FLAG,\n objProps = getAllKeys(object),\n objLength = objProps.length,\n othProps = getAllKeys(other),\n othLength = othProps.length;\n\n if (objLength != othLength && !isPartial) {\n return false;\n }\n var index = objLength;\n while (index--) {\n var key = objProps[index];\n if (!(isPartial ? key in other : hasOwnProperty.call(other, key))) {\n return false;\n }\n }\n // Assume cyclic values are equal.\n var stacked = stack.get(object);\n if (stacked && stack.get(other)) {\n return stacked == other;\n }\n var result = true;\n stack.set(object, other);\n stack.set(other, object);\n\n var skipCtor = isPartial;\n while (++index < objLength) {\n key = objProps[index];\n var objValue = object[key],\n othValue = other[key];\n\n if (customizer) {\n var compared = isPartial\n ? customizer(othValue, objValue, key, other, object, stack)\n : customizer(objValue, othValue, key, object, other, stack);\n }\n // Recursively compare objects (susceptible to call stack limits).\n if (!(compared === undefined\n ? (objValue === othValue || equalFunc(objValue, othValue, bitmask, customizer, stack))\n : compared\n )) {\n result = false;\n break;\n }\n skipCtor || (skipCtor = key == 'constructor');\n }\n if (result && !skipCtor) {\n var objCtor = object.constructor,\n othCtor = other.constructor;\n\n // Non `Object` object instances with different constructors are not equal.\n if (objCtor != othCtor &&\n ('constructor' in object && 'constructor' in other) &&\n !(typeof objCtor == 'function' && objCtor instanceof objCtor &&\n typeof othCtor == 'function' && othCtor instanceof othCtor)) {\n result = false;\n }\n }\n stack['delete'](object);\n stack['delete'](other);\n return result;\n}\n\n/**\n * Creates an array of own enumerable property names and symbols of `object`.\n *\n * @private\n * @param {Object} object The object to query.\n * @returns {Array} Returns the array of property names and symbols.\n */\nfunction getAllKeys(object) {\n return baseGetAllKeys(object, keys, getSymbols);\n}\n\n/**\n * Gets the data for `map`.\n *\n * @private\n * @param {Object} map The map to query.\n * @param {string} key The reference key.\n * @returns {*} Returns the map data.\n */\nfunction getMapData(map, key) {\n var data = map.__data__;\n return isKeyable(key)\n ? data[typeof key == 'string' ? 'string' : 'hash']\n : data.map;\n}\n\n/**\n * Gets the native function at `key` of `object`.\n *\n * @private\n * @param {Object} object The object to query.\n * @param {string} key The key of the method to get.\n * @returns {*} Returns the function if it's native, else `undefined`.\n */\nfunction getNative(object, key) {\n var value = getValue(object, key);\n return baseIsNative(value) ? value : undefined;\n}\n\n/**\n * A specialized version of `baseGetTag` which ignores `Symbol.toStringTag` values.\n *\n * @private\n * @param {*} value The value to query.\n * @returns {string} Returns the raw `toStringTag`.\n */\nfunction getRawTag(value) {\n var isOwn = hasOwnProperty.call(value, symToStringTag),\n tag = value[symToStringTag];\n\n try {\n value[symToStringTag] = undefined;\n var unmasked = true;\n } catch (e) {}\n\n var result = nativeObjectToString.call(value);\n if (unmasked) {\n if (isOwn) {\n value[symToStringTag] = tag;\n } else {\n delete value[symToStringTag];\n }\n }\n return result;\n}\n\n/**\n * Creates an array of the own enumerable symbols of `object`.\n *\n * @private\n * @param {Object} object The object to query.\n * @returns {Array} Returns the array of symbols.\n */\nvar getSymbols = !nativeGetSymbols ? stubArray : function(object) {\n if (object == null) {\n return [];\n }\n object = Object(object);\n return arrayFilter(nativeGetSymbols(object), function(symbol) {\n return propertyIsEnumerable.call(object, symbol);\n });\n};\n\n/**\n * Gets the `toStringTag` of `value`.\n *\n * @private\n * @param {*} value The value to query.\n * @returns {string} Returns the `toStringTag`.\n */\nvar getTag = baseGetTag;\n\n// Fallback for data views, maps, sets, and weak maps in IE 11 and promises in Node.js < 6.\nif ((DataView && getTag(new DataView(new ArrayBuffer(1))) != dataViewTag) ||\n (Map && getTag(new Map) != mapTag) ||\n (Promise && getTag(Promise.resolve()) != promiseTag) ||\n (Set && getTag(new Set) != setTag) ||\n (WeakMap && getTag(new WeakMap) != weakMapTag)) {\n getTag = function(value) {\n var result = baseGetTag(value),\n Ctor = result == objectTag ? value.constructor : undefined,\n ctorString = Ctor ? toSource(Ctor) : '';\n\n if (ctorString) {\n switch (ctorString) {\n case dataViewCtorString: return dataViewTag;\n case mapCtorString: return mapTag;\n case promiseCtorString: return promiseTag;\n case setCtorString: return setTag;\n case weakMapCtorString: return weakMapTag;\n }\n }\n return result;\n };\n}\n\n/**\n * Checks if `value` is a valid array-like index.\n *\n * @private\n * @param {*} value The value to check.\n * @param {number} [length=MAX_SAFE_INTEGER] The upper bounds of a valid index.\n * @returns {boolean} Returns `true` if `value` is a valid index, else `false`.\n */\nfunction isIndex(value, length) {\n length = length == null ? MAX_SAFE_INTEGER : length;\n return !!length &&\n (typeof value == 'number' || reIsUint.test(value)) &&\n (value > -1 && value % 1 == 0 && value < length);\n}\n\n/**\n * Checks if `value` is suitable for use as unique object key.\n *\n * @private\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is suitable, else `false`.\n */\nfunction isKeyable(value) {\n var type = typeof value;\n return (type == 'string' || type == 'number' || type == 'symbol' || type == 'boolean')\n ? (value !== '__proto__')\n : (value === null);\n}\n\n/**\n * Checks if `func` has its source masked.\n *\n * @private\n * @param {Function} func The function to check.\n * @returns {boolean} Returns `true` if `func` is masked, else `false`.\n */\nfunction isMasked(func) {\n return !!maskSrcKey && (maskSrcKey in func);\n}\n\n/**\n * Checks if `value` is likely a prototype object.\n *\n * @private\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a prototype, else `false`.\n */\nfunction isPrototype(value) {\n var Ctor = value && value.constructor,\n proto = (typeof Ctor == 'function' && Ctor.prototype) || objectProto;\n\n return value === proto;\n}\n\n/**\n * Converts `value` to a string using `Object.prototype.toString`.\n *\n * @private\n * @param {*} value The value to convert.\n * @returns {string} Returns the converted string.\n */\nfunction objectToString(value) {\n return nativeObjectToString.call(value);\n}\n\n/**\n * Converts `func` to its source code.\n *\n * @private\n * @param {Function} func The function to convert.\n * @returns {string} Returns the source code.\n */\nfunction toSource(func) {\n if (func != null) {\n try {\n return funcToString.call(func);\n } catch (e) {}\n try {\n return (func + '');\n } catch (e) {}\n }\n return '';\n}\n\n/**\n * Performs a\n * [`SameValueZero`](http://ecma-international.org/ecma-262/7.0/#sec-samevaluezero)\n * comparison between two values to determine if they are equivalent.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to compare.\n * @param {*} other The other value to compare.\n * @returns {boolean} Returns `true` if the values are equivalent, else `false`.\n * @example\n *\n * var object = { 'a': 1 };\n * var other = { 'a': 1 };\n *\n * _.eq(object, object);\n * // => true\n *\n * _.eq(object, other);\n * // => false\n *\n * _.eq('a', 'a');\n * // => true\n *\n * _.eq('a', Object('a'));\n * // => false\n *\n * _.eq(NaN, NaN);\n * // => true\n */\nfunction eq(value, other) {\n return value === other || (value !== value && other !== other);\n}\n\n/**\n * Checks if `value` is likely an `arguments` object.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is an `arguments` object,\n * else `false`.\n * @example\n *\n * _.isArguments(function() { return arguments; }());\n * // => true\n *\n * _.isArguments([1, 2, 3]);\n * // => false\n */\nvar isArguments = baseIsArguments(function() { return arguments; }()) ? baseIsArguments : function(value) {\n return isObjectLike(value) && hasOwnProperty.call(value, 'callee') &&\n !propertyIsEnumerable.call(value, 'callee');\n};\n\n/**\n * Checks if `value` is classified as an `Array` object.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is an array, else `false`.\n * @example\n *\n * _.isArray([1, 2, 3]);\n * // => true\n *\n * _.isArray(document.body.children);\n * // => false\n *\n * _.isArray('abc');\n * // => false\n *\n * _.isArray(_.noop);\n * // => false\n */\nvar isArray = Array.isArray;\n\n/**\n * Checks if `value` is array-like. A value is considered array-like if it's\n * not a function and has a `value.length` that's an integer greater than or\n * equal to `0` and less than or equal to `Number.MAX_SAFE_INTEGER`.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is array-like, else `false`.\n * @example\n *\n * _.isArrayLike([1, 2, 3]);\n * // => true\n *\n * _.isArrayLike(document.body.children);\n * // => true\n *\n * _.isArrayLike('abc');\n * // => true\n *\n * _.isArrayLike(_.noop);\n * // => false\n */\nfunction isArrayLike(value) {\n return value != null && isLength(value.length) && !isFunction(value);\n}\n\n/**\n * Checks if `value` is a buffer.\n *\n * @static\n * @memberOf _\n * @since 4.3.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a buffer, else `false`.\n * @example\n *\n * _.isBuffer(new Buffer(2));\n * // => true\n *\n * _.isBuffer(new Uint8Array(2));\n * // => false\n */\nvar isBuffer = nativeIsBuffer || stubFalse;\n\n/**\n * Performs a deep comparison between two values to determine if they are\n * equivalent.\n *\n * **Note:** This method supports comparing arrays, array buffers, booleans,\n * date objects, error objects, maps, numbers, `Object` objects, regexes,\n * sets, strings, symbols, and typed arrays. `Object` objects are compared\n * by their own, not inherited, enumerable properties. Functions and DOM\n * nodes are compared by strict equality, i.e. `===`.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Lang\n * @param {*} value The value to compare.\n * @param {*} other The other value to compare.\n * @returns {boolean} Returns `true` if the values are equivalent, else `false`.\n * @example\n *\n * var object = { 'a': 1 };\n * var other = { 'a': 1 };\n *\n * _.isEqual(object, other);\n * // => true\n *\n * object === other;\n * // => false\n */\nfunction isEqual(value, other) {\n return baseIsEqual(value, other);\n}\n\n/**\n * Checks if `value` is classified as a `Function` object.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a function, else `false`.\n * @example\n *\n * _.isFunction(_);\n * // => true\n *\n * _.isFunction(/abc/);\n * // => false\n */\nfunction isFunction(value) {\n if (!isObject(value)) {\n return false;\n }\n // The use of `Object#toString` avoids issues with the `typeof` operator\n // in Safari 9 which returns 'object' for typed arrays and other constructors.\n var tag = baseGetTag(value);\n return tag == funcTag || tag == genTag || tag == asyncTag || tag == proxyTag;\n}\n\n/**\n * Checks if `value` is a valid array-like length.\n *\n * **Note:** This method is loosely based on\n * [`ToLength`](http://ecma-international.org/ecma-262/7.0/#sec-tolength).\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a valid length, else `false`.\n * @example\n *\n * _.isLength(3);\n * // => true\n *\n * _.isLength(Number.MIN_VALUE);\n * // => false\n *\n * _.isLength(Infinity);\n * // => false\n *\n * _.isLength('3');\n * // => false\n */\nfunction isLength(value) {\n return typeof value == 'number' &&\n value > -1 && value % 1 == 0 && value <= MAX_SAFE_INTEGER;\n}\n\n/**\n * Checks if `value` is the\n * [language type](http://www.ecma-international.org/ecma-262/7.0/#sec-ecmascript-language-types)\n * of `Object`. (e.g. arrays, functions, objects, regexes, `new Number(0)`, and `new String('')`)\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is an object, else `false`.\n * @example\n *\n * _.isObject({});\n * // => true\n *\n * _.isObject([1, 2, 3]);\n * // => true\n *\n * _.isObject(_.noop);\n * // => true\n *\n * _.isObject(null);\n * // => false\n */\nfunction isObject(value) {\n var type = typeof value;\n return value != null && (type == 'object' || type == 'function');\n}\n\n/**\n * Checks if `value` is object-like. A value is object-like if it's not `null`\n * and has a `typeof` result of \"object\".\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is object-like, else `false`.\n * @example\n *\n * _.isObjectLike({});\n * // => true\n *\n * _.isObjectLike([1, 2, 3]);\n * // => true\n *\n * _.isObjectLike(_.noop);\n * // => false\n *\n * _.isObjectLike(null);\n * // => false\n */\nfunction isObjectLike(value) {\n return value != null && typeof value == 'object';\n}\n\n/**\n * Checks if `value` is classified as a typed array.\n *\n * @static\n * @memberOf _\n * @since 3.0.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a typed array, else `false`.\n * @example\n *\n * _.isTypedArray(new Uint8Array);\n * // => true\n *\n * _.isTypedArray([]);\n * // => false\n */\nvar isTypedArray = nodeIsTypedArray ? baseUnary(nodeIsTypedArray) : baseIsTypedArray;\n\n/**\n * Creates an array of the own enumerable property names of `object`.\n *\n * **Note:** Non-object values are coerced to objects. See the\n * [ES spec](http://ecma-international.org/ecma-262/7.0/#sec-object.keys)\n * for more details.\n *\n * @static\n * @since 0.1.0\n * @memberOf _\n * @category Object\n * @param {Object} object The object to query.\n * @returns {Array} Returns the array of property names.\n * @example\n *\n * function Foo() {\n * this.a = 1;\n * this.b = 2;\n * }\n *\n * Foo.prototype.c = 3;\n *\n * _.keys(new Foo);\n * // => ['a', 'b'] (iteration order is not guaranteed)\n *\n * _.keys('hi');\n * // => ['0', '1']\n */\nfunction keys(object) {\n return isArrayLike(object) ? arrayLikeKeys(object) : baseKeys(object);\n}\n\n/**\n * This method returns a new empty array.\n *\n * @static\n * @memberOf _\n * @since 4.13.0\n * @category Util\n * @returns {Array} Returns the new empty array.\n * @example\n *\n * var arrays = _.times(2, _.stubArray);\n *\n * console.log(arrays);\n * // => [[], []]\n *\n * console.log(arrays[0] === arrays[1]);\n * // => false\n */\nfunction stubArray() {\n return [];\n}\n\n/**\n * This method returns `false`.\n *\n * @static\n * @memberOf _\n * @since 4.13.0\n * @category Util\n * @returns {boolean} Returns `false`.\n * @example\n *\n * _.times(2, _.stubFalse);\n * // => [false, false]\n */\nfunction stubFalse() {\n return false;\n}\n\nmodule.exports = isEqual;\n","/**\n * Copyright (c) 2013-present, Facebook, Inc.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\n'use strict';\n\nvar ReactPropTypesSecret = require('./lib/ReactPropTypesSecret');\n\nfunction emptyFunction() {}\nfunction emptyFunctionWithReset() {}\nemptyFunctionWithReset.resetWarningCache = emptyFunction;\n\nmodule.exports = function() {\n function shim(props, propName, componentName, location, propFullName, secret) {\n if (secret === ReactPropTypesSecret) {\n // It is still safe when called from React.\n return;\n }\n var err = new Error(\n 'Calling PropTypes validators directly is not supported by the `prop-types` package. ' +\n 'Use PropTypes.checkPropTypes() to call them. ' +\n 'Read more at http://fb.me/use-check-prop-types'\n );\n err.name = 'Invariant Violation';\n throw err;\n };\n shim.isRequired = shim;\n function getShim() {\n return shim;\n };\n // Important!\n // Keep this list in sync with production version in `./factoryWithTypeCheckers.js`.\n var ReactPropTypes = {\n array: shim,\n bigint: shim,\n bool: shim,\n func: shim,\n number: shim,\n object: shim,\n string: shim,\n symbol: shim,\n\n any: shim,\n arrayOf: getShim,\n element: shim,\n elementType: shim,\n instanceOf: getShim,\n node: shim,\n objectOf: getShim,\n oneOf: getShim,\n oneOfType: getShim,\n shape: getShim,\n exact: getShim,\n\n checkPropTypes: emptyFunctionWithReset,\n resetWarningCache: emptyFunction\n };\n\n ReactPropTypes.PropTypes = ReactPropTypes;\n\n return ReactPropTypes;\n};\n","/**\n * Copyright (c) 2013-present, Facebook, Inc.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\nif (process.env.NODE_ENV !== 'production') {\n var ReactIs = require('react-is');\n\n // By explicitly using `prop-types` you are opting into new development behavior.\n // http://fb.me/prop-types-in-prod\n var throwOnDirectAccess = true;\n module.exports = require('./factoryWithTypeCheckers')(ReactIs.isElement, throwOnDirectAccess);\n} else {\n // By explicitly using `prop-types` you are opting into new production behavior.\n // http://fb.me/prop-types-in-prod\n module.exports = require('./factoryWithThrowingShims')();\n}\n","/**\n * Copyright (c) 2013-present, Facebook, Inc.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\n'use strict';\n\nvar ReactPropTypesSecret = 'SECRET_DO_NOT_PASS_THIS_OR_YOU_WILL_BE_FIRED';\n\nmodule.exports = ReactPropTypesSecret;\n","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nObject.defineProperty(exports, \"DraggableCore\", {\n enumerable: true,\n get: function () {\n return _DraggableCore.default;\n }\n});\nexports.default = void 0;\nvar React = _interopRequireWildcard(require(\"react\"));\nvar _propTypes = _interopRequireDefault(require(\"prop-types\"));\nvar _reactDom = _interopRequireDefault(require(\"react-dom\"));\nvar _clsx = _interopRequireDefault(require(\"clsx\"));\nvar _domFns = require(\"./utils/domFns\");\nvar _positionFns = require(\"./utils/positionFns\");\nvar _shims = require(\"./utils/shims\");\nvar _DraggableCore = _interopRequireDefault(require(\"./DraggableCore\"));\nvar _log = _interopRequireDefault(require(\"./utils/log\"));\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\nfunction _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== \"function\") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function (nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }\nfunction _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || typeof obj !== \"object\" && typeof obj !== \"function\") { return { default: obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== \"default\" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj.default = obj; if (cache) { cache.set(obj, newObj); } return newObj; }\nfunction _extends() { _extends = Object.assign ? Object.assign.bind() : function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\nfunction _defineProperty(obj, key, value) { key = _toPropertyKey(key); if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\nfunction _toPropertyKey(arg) { var key = _toPrimitive(arg, \"string\"); return typeof key === \"symbol\" ? key : String(key); }\nfunction _toPrimitive(input, hint) { if (typeof input !== \"object\" || input === null) return input; var prim = input[Symbol.toPrimitive]; if (prim !== undefined) { var res = prim.call(input, hint || \"default\"); if (typeof res !== \"object\") return res; throw new TypeError(\"@@toPrimitive must return a primitive value.\"); } return (hint === \"string\" ? String : Number)(input); } /*:: import type {ControlPosition, PositionOffsetControlPosition, DraggableCoreProps, DraggableCoreDefaultProps} from './DraggableCore';*/\n/*:: import type {Bounds, DraggableEventHandler} from './utils/types';*/\n/*:: import type {Element as ReactElement} from 'react';*/\n/*:: type DraggableState = {\n dragging: boolean,\n dragged: boolean,\n x: number, y: number,\n slackX: number, slackY: number,\n isElementSVG: boolean,\n prevPropsPosition: ?ControlPosition,\n};*/\n/*:: export type DraggableDefaultProps = {\n ...DraggableCoreDefaultProps,\n axis: 'both' | 'x' | 'y' | 'none',\n bounds: Bounds | string | false,\n defaultClassName: string,\n defaultClassNameDragging: string,\n defaultClassNameDragged: string,\n defaultPosition: ControlPosition,\n scale: number,\n};*/\n/*:: export type DraggableProps = {\n ...DraggableCoreProps,\n ...DraggableDefaultProps,\n positionOffset: PositionOffsetControlPosition,\n position: ControlPosition,\n};*/\n//\n// Define \n//\nclass Draggable extends React.Component /*:: */{\n // React 16.3+\n // Arity (props, state)\n static getDerivedStateFromProps(_ref /*:: */, _ref2 /*:: */) /*: ?Partial*/{\n let {\n position\n } /*: DraggableProps*/ = _ref /*: DraggableProps*/;\n let {\n prevPropsPosition\n } /*: DraggableState*/ = _ref2 /*: DraggableState*/;\n // Set x/y if a new position is provided in props that is different than the previous.\n if (position && (!prevPropsPosition || position.x !== prevPropsPosition.x || position.y !== prevPropsPosition.y)) {\n (0, _log.default)('Draggable: getDerivedStateFromProps %j', {\n position,\n prevPropsPosition\n });\n return {\n x: position.x,\n y: position.y,\n prevPropsPosition: {\n ...position\n }\n };\n }\n return null;\n }\n constructor(props /*: DraggableProps*/) {\n super(props);\n _defineProperty(this, \"onDragStart\", (e, coreData) => {\n (0, _log.default)('Draggable: onDragStart: %j', coreData);\n\n // Short-circuit if user's callback killed it.\n const shouldStart = this.props.onStart(e, (0, _positionFns.createDraggableData)(this, coreData));\n // Kills start event on core as well, so move handlers are never bound.\n if (shouldStart === false) return false;\n this.setState({\n dragging: true,\n dragged: true\n });\n });\n _defineProperty(this, \"onDrag\", (e, coreData) => {\n if (!this.state.dragging) return false;\n (0, _log.default)('Draggable: onDrag: %j', coreData);\n const uiData = (0, _positionFns.createDraggableData)(this, coreData);\n const newState = {\n x: uiData.x,\n y: uiData.y,\n slackX: 0,\n slackY: 0\n };\n\n // Keep within bounds.\n if (this.props.bounds) {\n // Save original x and y.\n const {\n x,\n y\n } = newState;\n\n // Add slack to the values used to calculate bound position. This will ensure that if\n // we start removing slack, the element won't react to it right away until it's been\n // completely removed.\n newState.x += this.state.slackX;\n newState.y += this.state.slackY;\n\n // Get bound position. This will ceil/floor the x and y within the boundaries.\n const [newStateX, newStateY] = (0, _positionFns.getBoundPosition)(this, newState.x, newState.y);\n newState.x = newStateX;\n newState.y = newStateY;\n\n // Recalculate slack by noting how much was shaved by the boundPosition handler.\n newState.slackX = this.state.slackX + (x - newState.x);\n newState.slackY = this.state.slackY + (y - newState.y);\n\n // Update the event we fire to reflect what really happened after bounds took effect.\n uiData.x = newState.x;\n uiData.y = newState.y;\n uiData.deltaX = newState.x - this.state.x;\n uiData.deltaY = newState.y - this.state.y;\n }\n\n // Short-circuit if user's callback killed it.\n const shouldUpdate = this.props.onDrag(e, uiData);\n if (shouldUpdate === false) return false;\n this.setState(newState);\n });\n _defineProperty(this, \"onDragStop\", (e, coreData) => {\n if (!this.state.dragging) return false;\n\n // Short-circuit if user's callback killed it.\n const shouldContinue = this.props.onStop(e, (0, _positionFns.createDraggableData)(this, coreData));\n if (shouldContinue === false) return false;\n (0, _log.default)('Draggable: onDragStop: %j', coreData);\n const newState /*: Partial*/ = {\n dragging: false,\n slackX: 0,\n slackY: 0\n };\n\n // If this is a controlled component, the result of this operation will be to\n // revert back to the old position. We expect a handler on `onDragStop`, at the least.\n const controlled = Boolean(this.props.position);\n if (controlled) {\n const {\n x,\n y\n } = this.props.position;\n newState.x = x;\n newState.y = y;\n }\n this.setState(newState);\n });\n this.state = {\n // Whether or not we are currently dragging.\n dragging: false,\n // Whether or not we have been dragged before.\n dragged: false,\n // Current transform x and y.\n x: props.position ? props.position.x : props.defaultPosition.x,\n y: props.position ? props.position.y : props.defaultPosition.y,\n prevPropsPosition: {\n ...props.position\n },\n // Used for compensating for out-of-bounds drags\n slackX: 0,\n slackY: 0,\n // Can only determine if SVG after mounting\n isElementSVG: false\n };\n if (props.position && !(props.onDrag || props.onStop)) {\n // eslint-disable-next-line no-console\n console.warn('A `position` was applied to this , without drag handlers. This will make this ' + 'component effectively undraggable. Please attach `onDrag` or `onStop` handlers so you can adjust the ' + '`position` of this element.');\n }\n }\n componentDidMount() {\n // Check to see if the element passed is an instanceof SVGElement\n if (typeof window.SVGElement !== 'undefined' && this.findDOMNode() instanceof window.SVGElement) {\n this.setState({\n isElementSVG: true\n });\n }\n }\n componentWillUnmount() {\n this.setState({\n dragging: false\n }); // prevents invariant if unmounted while dragging\n }\n\n // React Strict Mode compatibility: if `nodeRef` is passed, we will use it instead of trying to find\n // the underlying DOM node ourselves. See the README for more information.\n findDOMNode() /*: ?HTMLElement*/{\n var _this$props$nodeRef$c, _this$props;\n return (_this$props$nodeRef$c = (_this$props = this.props) === null || _this$props === void 0 || (_this$props = _this$props.nodeRef) === null || _this$props === void 0 ? void 0 : _this$props.current) !== null && _this$props$nodeRef$c !== void 0 ? _this$props$nodeRef$c : _reactDom.default.findDOMNode(this);\n }\n render() /*: ReactElement*/{\n const {\n axis,\n bounds,\n children,\n defaultPosition,\n defaultClassName,\n defaultClassNameDragging,\n defaultClassNameDragged,\n position,\n positionOffset,\n scale,\n ...draggableCoreProps\n } = this.props;\n let style = {};\n let svgTransform = null;\n\n // If this is controlled, we don't want to move it - unless it's dragging.\n const controlled = Boolean(position);\n const draggable = !controlled || this.state.dragging;\n const validPosition = position || defaultPosition;\n const transformOpts = {\n // Set left if horizontal drag is enabled\n x: (0, _positionFns.canDragX)(this) && draggable ? this.state.x : validPosition.x,\n // Set top if vertical drag is enabled\n y: (0, _positionFns.canDragY)(this) && draggable ? this.state.y : validPosition.y\n };\n\n // If this element was SVG, we use the `transform` attribute.\n if (this.state.isElementSVG) {\n svgTransform = (0, _domFns.createSVGTransform)(transformOpts, positionOffset);\n } else {\n // Add a CSS transform to move the element around. This allows us to move the element around\n // without worrying about whether or not it is relatively or absolutely positioned.\n // If the item you are dragging already has a transform set, wrap it in a so \n // has a clean slate.\n style = (0, _domFns.createCSSTransform)(transformOpts, positionOffset);\n }\n\n // Mark with class while dragging\n const className = (0, _clsx.default)(children.props.className || '', defaultClassName, {\n [defaultClassNameDragging]: this.state.dragging,\n [defaultClassNameDragged]: this.state.dragged\n });\n\n // Reuse the child provided\n // This makes it flexible to use whatever element is wanted (div, ul, etc)\n return /*#__PURE__*/React.createElement(_DraggableCore.default, _extends({}, draggableCoreProps, {\n onStart: this.onDragStart,\n onDrag: this.onDrag,\n onStop: this.onDragStop\n }), /*#__PURE__*/React.cloneElement(React.Children.only(children), {\n className: className,\n style: {\n ...children.props.style,\n ...style\n },\n transform: svgTransform\n }));\n }\n}\nexports.default = Draggable;\n_defineProperty(Draggable, \"displayName\", 'Draggable');\n_defineProperty(Draggable, \"propTypes\", {\n // Accepts all props accepts.\n ..._DraggableCore.default.propTypes,\n /**\n * `axis` determines which axis the draggable can move.\n *\n * Note that all callbacks will still return data as normal. This only\n * controls flushing to the DOM.\n *\n * 'both' allows movement horizontally and vertically.\n * 'x' limits movement to horizontal axis.\n * 'y' limits movement to vertical axis.\n * 'none' limits all movement.\n *\n * Defaults to 'both'.\n */\n axis: _propTypes.default.oneOf(['both', 'x', 'y', 'none']),\n /**\n * `bounds` determines the range of movement available to the element.\n * Available values are:\n *\n * 'parent' restricts movement within the Draggable's parent node.\n *\n * Alternatively, pass an object with the following properties, all of which are optional:\n *\n * {left: LEFT_BOUND, right: RIGHT_BOUND, bottom: BOTTOM_BOUND, top: TOP_BOUND}\n *\n * All values are in px.\n *\n * Example:\n *\n * ```jsx\n * let App = React.createClass({\n * render: function () {\n * return (\n * \n *

Content
\n * \n * );\n * }\n * });\n * ```\n */\n bounds: _propTypes.default.oneOfType([_propTypes.default.shape({\n left: _propTypes.default.number,\n right: _propTypes.default.number,\n top: _propTypes.default.number,\n bottom: _propTypes.default.number\n }), _propTypes.default.string, _propTypes.default.oneOf([false])]),\n defaultClassName: _propTypes.default.string,\n defaultClassNameDragging: _propTypes.default.string,\n defaultClassNameDragged: _propTypes.default.string,\n /**\n * `defaultPosition` specifies the x and y that the dragged item should start at\n *\n * Example:\n *\n * ```jsx\n * let App = React.createClass({\n * render: function () {\n * return (\n * \n *
I start with transformX: 25px and transformY: 25px;
\n *
\n * );\n * }\n * });\n * ```\n */\n defaultPosition: _propTypes.default.shape({\n x: _propTypes.default.number,\n y: _propTypes.default.number\n }),\n positionOffset: _propTypes.default.shape({\n x: _propTypes.default.oneOfType([_propTypes.default.number, _propTypes.default.string]),\n y: _propTypes.default.oneOfType([_propTypes.default.number, _propTypes.default.string])\n }),\n /**\n * `position`, if present, defines the current position of the element.\n *\n * This is similar to how form elements in React work - if no `position` is supplied, the component\n * is uncontrolled.\n *\n * Example:\n *\n * ```jsx\n * let App = React.createClass({\n * render: function () {\n * return (\n * \n *
I start with transformX: 25px and transformY: 25px;
\n *
\n * );\n * }\n * });\n * ```\n */\n position: _propTypes.default.shape({\n x: _propTypes.default.number,\n y: _propTypes.default.number\n }),\n /**\n * These properties should be defined on the child, not here.\n */\n className: _shims.dontSetMe,\n style: _shims.dontSetMe,\n transform: _shims.dontSetMe\n});\n_defineProperty(Draggable, \"defaultProps\", {\n ..._DraggableCore.default.defaultProps,\n axis: 'both',\n bounds: false,\n defaultClassName: 'react-draggable',\n defaultClassNameDragging: 'react-draggable-dragging',\n defaultClassNameDragged: 'react-draggable-dragged',\n defaultPosition: {\n x: 0,\n y: 0\n },\n scale: 1\n});","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = void 0;\nvar React = _interopRequireWildcard(require(\"react\"));\nvar _propTypes = _interopRequireDefault(require(\"prop-types\"));\nvar _reactDom = _interopRequireDefault(require(\"react-dom\"));\nvar _domFns = require(\"./utils/domFns\");\nvar _positionFns = require(\"./utils/positionFns\");\nvar _shims = require(\"./utils/shims\");\nvar _log = _interopRequireDefault(require(\"./utils/log\"));\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\nfunction _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== \"function\") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function (nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }\nfunction _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || typeof obj !== \"object\" && typeof obj !== \"function\") { return { default: obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== \"default\" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj.default = obj; if (cache) { cache.set(obj, newObj); } return newObj; }\nfunction _defineProperty(obj, key, value) { key = _toPropertyKey(key); if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\nfunction _toPropertyKey(arg) { var key = _toPrimitive(arg, \"string\"); return typeof key === \"symbol\" ? key : String(key); }\nfunction _toPrimitive(input, hint) { if (typeof input !== \"object\" || input === null) return input; var prim = input[Symbol.toPrimitive]; if (prim !== undefined) { var res = prim.call(input, hint || \"default\"); if (typeof res !== \"object\") return res; throw new TypeError(\"@@toPrimitive must return a primitive value.\"); } return (hint === \"string\" ? String : Number)(input); }\n/*:: import type {EventHandler, MouseTouchEvent} from './utils/types';*/\n/*:: import type {Element as ReactElement} from 'react';*/\n// Simple abstraction for dragging events names.\nconst eventsFor = {\n touch: {\n start: 'touchstart',\n move: 'touchmove',\n stop: 'touchend'\n },\n mouse: {\n start: 'mousedown',\n move: 'mousemove',\n stop: 'mouseup'\n }\n};\n\n// Default to mouse events.\nlet dragEventFor = eventsFor.mouse;\n/*:: export type DraggableData = {\n node: HTMLElement,\n x: number, y: number,\n deltaX: number, deltaY: number,\n lastX: number, lastY: number,\n};*/\n/*:: export type DraggableEventHandler = (e: MouseEvent, data: DraggableData) => void | false;*/\n/*:: export type ControlPosition = {x: number, y: number};*/\n/*:: export type PositionOffsetControlPosition = {x: number|string, y: number|string};*/\n/*:: export type DraggableCoreDefaultProps = {\n allowAnyClick: boolean,\n disabled: boolean,\n enableUserSelectHack: boolean,\n onStart: DraggableEventHandler,\n onDrag: DraggableEventHandler,\n onStop: DraggableEventHandler,\n onMouseDown: (e: MouseEvent) => void,\n scale: number,\n};*/\n/*:: export type DraggableCoreProps = {\n ...DraggableCoreDefaultProps,\n cancel: string,\n children: ReactElement,\n offsetParent: HTMLElement,\n grid: [number, number],\n handle: string,\n nodeRef?: ?React.ElementRef,\n};*/\n//\n// Define .\n//\n// is for advanced usage of . It maintains minimal internal state so it can\n// work well with libraries that require more control over the element.\n//\n\nclass DraggableCore extends React.Component /*:: */{\n constructor() {\n super(...arguments);\n _defineProperty(this, \"dragging\", false);\n // Used while dragging to determine deltas.\n _defineProperty(this, \"lastX\", NaN);\n _defineProperty(this, \"lastY\", NaN);\n _defineProperty(this, \"touchIdentifier\", null);\n _defineProperty(this, \"mounted\", false);\n _defineProperty(this, \"handleDragStart\", e => {\n // Make it possible to attach event handlers on top of this one.\n this.props.onMouseDown(e);\n\n // Only accept left-clicks.\n if (!this.props.allowAnyClick && typeof e.button === 'number' && e.button !== 0) return false;\n\n // Get nodes. Be sure to grab relative document (could be iframed)\n const thisNode = this.findDOMNode();\n if (!thisNode || !thisNode.ownerDocument || !thisNode.ownerDocument.body) {\n throw new Error(' not mounted on DragStart!');\n }\n const {\n ownerDocument\n } = thisNode;\n\n // Short circuit if handle or cancel prop was provided and selector doesn't match.\n if (this.props.disabled || !(e.target instanceof ownerDocument.defaultView.Node) || this.props.handle && !(0, _domFns.matchesSelectorAndParentsTo)(e.target, this.props.handle, thisNode) || this.props.cancel && (0, _domFns.matchesSelectorAndParentsTo)(e.target, this.props.cancel, thisNode)) {\n return;\n }\n\n // Prevent scrolling on mobile devices, like ipad/iphone.\n // Important that this is after handle/cancel.\n if (e.type === 'touchstart') e.preventDefault();\n\n // Set touch identifier in component state if this is a touch event. This allows us to\n // distinguish between individual touches on multitouch screens by identifying which\n // touchpoint was set to this element.\n const touchIdentifier = (0, _domFns.getTouchIdentifier)(e);\n this.touchIdentifier = touchIdentifier;\n\n // Get the current drag point from the event. This is used as the offset.\n const position = (0, _positionFns.getControlPosition)(e, touchIdentifier, this);\n if (position == null) return; // not possible but satisfies flow\n const {\n x,\n y\n } = position;\n\n // Create an event object with all the data parents need to make a decision here.\n const coreEvent = (0, _positionFns.createCoreData)(this, x, y);\n (0, _log.default)('DraggableCore: handleDragStart: %j', coreEvent);\n\n // Call event handler. If it returns explicit false, cancel.\n (0, _log.default)('calling', this.props.onStart);\n const shouldUpdate = this.props.onStart(e, coreEvent);\n if (shouldUpdate === false || this.mounted === false) return;\n\n // Add a style to the body to disable user-select. This prevents text from\n // being selected all over the page.\n if (this.props.enableUserSelectHack) (0, _domFns.addUserSelectStyles)(ownerDocument);\n\n // Initiate dragging. Set the current x and y as offsets\n // so we know how much we've moved during the drag. This allows us\n // to drag elements around even if they have been moved, without issue.\n this.dragging = true;\n this.lastX = x;\n this.lastY = y;\n\n // Add events to the document directly so we catch when the user's mouse/touch moves outside of\n // this element. We use different events depending on whether or not we have detected that this\n // is a touch-capable device.\n (0, _domFns.addEvent)(ownerDocument, dragEventFor.move, this.handleDrag);\n (0, _domFns.addEvent)(ownerDocument, dragEventFor.stop, this.handleDragStop);\n });\n _defineProperty(this, \"handleDrag\", e => {\n // Get the current drag point from the event. This is used as the offset.\n const position = (0, _positionFns.getControlPosition)(e, this.touchIdentifier, this);\n if (position == null) return;\n let {\n x,\n y\n } = position;\n\n // Snap to grid if prop has been provided\n if (Array.isArray(this.props.grid)) {\n let deltaX = x - this.lastX,\n deltaY = y - this.lastY;\n [deltaX, deltaY] = (0, _positionFns.snapToGrid)(this.props.grid, deltaX, deltaY);\n if (!deltaX && !deltaY) return; // skip useless drag\n x = this.lastX + deltaX, y = this.lastY + deltaY;\n }\n const coreEvent = (0, _positionFns.createCoreData)(this, x, y);\n (0, _log.default)('DraggableCore: handleDrag: %j', coreEvent);\n\n // Call event handler. If it returns explicit false, trigger end.\n const shouldUpdate = this.props.onDrag(e, coreEvent);\n if (shouldUpdate === false || this.mounted === false) {\n try {\n // $FlowIgnore\n this.handleDragStop(new MouseEvent('mouseup'));\n } catch (err) {\n // Old browsers\n const event = ((document.createEvent('MouseEvents') /*: any*/) /*: MouseTouchEvent*/);\n // I see why this insanity was deprecated\n // $FlowIgnore\n event.initMouseEvent('mouseup', true, true, window, 0, 0, 0, 0, 0, false, false, false, false, 0, null);\n this.handleDragStop(event);\n }\n return;\n }\n this.lastX = x;\n this.lastY = y;\n });\n _defineProperty(this, \"handleDragStop\", e => {\n if (!this.dragging) return;\n const position = (0, _positionFns.getControlPosition)(e, this.touchIdentifier, this);\n if (position == null) return;\n let {\n x,\n y\n } = position;\n\n // Snap to grid if prop has been provided\n if (Array.isArray(this.props.grid)) {\n let deltaX = x - this.lastX || 0;\n let deltaY = y - this.lastY || 0;\n [deltaX, deltaY] = (0, _positionFns.snapToGrid)(this.props.grid, deltaX, deltaY);\n x = this.lastX + deltaX, y = this.lastY + deltaY;\n }\n const coreEvent = (0, _positionFns.createCoreData)(this, x, y);\n\n // Call event handler\n const shouldContinue = this.props.onStop(e, coreEvent);\n if (shouldContinue === false || this.mounted === false) return false;\n const thisNode = this.findDOMNode();\n if (thisNode) {\n // Remove user-select hack\n if (this.props.enableUserSelectHack) (0, _domFns.removeUserSelectStyles)(thisNode.ownerDocument);\n }\n (0, _log.default)('DraggableCore: handleDragStop: %j', coreEvent);\n\n // Reset the el.\n this.dragging = false;\n this.lastX = NaN;\n this.lastY = NaN;\n if (thisNode) {\n // Remove event handlers\n (0, _log.default)('DraggableCore: Removing handlers');\n (0, _domFns.removeEvent)(thisNode.ownerDocument, dragEventFor.move, this.handleDrag);\n (0, _domFns.removeEvent)(thisNode.ownerDocument, dragEventFor.stop, this.handleDragStop);\n }\n });\n _defineProperty(this, \"onMouseDown\", e => {\n dragEventFor = eventsFor.mouse; // on touchscreen laptops we could switch back to mouse\n\n return this.handleDragStart(e);\n });\n _defineProperty(this, \"onMouseUp\", e => {\n dragEventFor = eventsFor.mouse;\n return this.handleDragStop(e);\n });\n // Same as onMouseDown (start drag), but now consider this a touch device.\n _defineProperty(this, \"onTouchStart\", e => {\n // We're on a touch device now, so change the event handlers\n dragEventFor = eventsFor.touch;\n return this.handleDragStart(e);\n });\n _defineProperty(this, \"onTouchEnd\", e => {\n // We're on a touch device now, so change the event handlers\n dragEventFor = eventsFor.touch;\n return this.handleDragStop(e);\n });\n }\n componentDidMount() {\n this.mounted = true;\n // Touch handlers must be added with {passive: false} to be cancelable.\n // https://developers.google.com/web/updates/2017/01/scrolling-intervention\n const thisNode = this.findDOMNode();\n if (thisNode) {\n (0, _domFns.addEvent)(thisNode, eventsFor.touch.start, this.onTouchStart, {\n passive: false\n });\n }\n }\n componentWillUnmount() {\n this.mounted = false;\n // Remove any leftover event handlers. Remove both touch and mouse handlers in case\n // some browser quirk caused a touch event to fire during a mouse move, or vice versa.\n const thisNode = this.findDOMNode();\n if (thisNode) {\n const {\n ownerDocument\n } = thisNode;\n (0, _domFns.removeEvent)(ownerDocument, eventsFor.mouse.move, this.handleDrag);\n (0, _domFns.removeEvent)(ownerDocument, eventsFor.touch.move, this.handleDrag);\n (0, _domFns.removeEvent)(ownerDocument, eventsFor.mouse.stop, this.handleDragStop);\n (0, _domFns.removeEvent)(ownerDocument, eventsFor.touch.stop, this.handleDragStop);\n (0, _domFns.removeEvent)(thisNode, eventsFor.touch.start, this.onTouchStart, {\n passive: false\n });\n if (this.props.enableUserSelectHack) (0, _domFns.removeUserSelectStyles)(ownerDocument);\n }\n }\n\n // React Strict Mode compatibility: if `nodeRef` is passed, we will use it instead of trying to find\n // the underlying DOM node ourselves. See the README for more information.\n findDOMNode() /*: ?HTMLElement*/{\n var _this$props, _this$props2;\n return (_this$props = this.props) !== null && _this$props !== void 0 && _this$props.nodeRef ? (_this$props2 = this.props) === null || _this$props2 === void 0 || (_this$props2 = _this$props2.nodeRef) === null || _this$props2 === void 0 ? void 0 : _this$props2.current : _reactDom.default.findDOMNode(this);\n }\n render() /*: React.Element*/{\n // Reuse the child provided\n // This makes it flexible to use whatever element is wanted (div, ul, etc)\n return /*#__PURE__*/React.cloneElement(React.Children.only(this.props.children), {\n // Note: mouseMove handler is attached to document so it will still function\n // when the user drags quickly and leaves the bounds of the element.\n onMouseDown: this.onMouseDown,\n onMouseUp: this.onMouseUp,\n // onTouchStart is added on `componentDidMount` so they can be added with\n // {passive: false}, which allows it to cancel. See\n // https://developers.google.com/web/updates/2017/01/scrolling-intervention\n onTouchEnd: this.onTouchEnd\n });\n }\n}\nexports.default = DraggableCore;\n_defineProperty(DraggableCore, \"displayName\", 'DraggableCore');\n_defineProperty(DraggableCore, \"propTypes\", {\n /**\n * `allowAnyClick` allows dragging using any mouse button.\n * By default, we only accept the left button.\n *\n * Defaults to `false`.\n */\n allowAnyClick: _propTypes.default.bool,\n children: _propTypes.default.node.isRequired,\n /**\n * `disabled`, if true, stops the from dragging. All handlers,\n * with the exception of `onMouseDown`, will not fire.\n */\n disabled: _propTypes.default.bool,\n /**\n * By default, we add 'user-select:none' attributes to the document body\n * to prevent ugly text selection during drag. If this is causing problems\n * for your app, set this to `false`.\n */\n enableUserSelectHack: _propTypes.default.bool,\n /**\n * `offsetParent`, if set, uses the passed DOM node to compute drag offsets\n * instead of using the parent node.\n */\n offsetParent: function (props /*: DraggableCoreProps*/, propName /*: $Keys*/) {\n if (props[propName] && props[propName].nodeType !== 1) {\n throw new Error('Draggable\\'s offsetParent must be a DOM Node.');\n }\n },\n /**\n * `grid` specifies the x and y that dragging should snap to.\n */\n grid: _propTypes.default.arrayOf(_propTypes.default.number),\n /**\n * `handle` specifies a selector to be used as the handle that initiates drag.\n *\n * Example:\n *\n * ```jsx\n * let App = React.createClass({\n * render: function () {\n * return (\n * \n *
\n *
Click me to drag
\n *
This is some other content
\n *
\n *
\n * );\n * }\n * });\n * ```\n */\n handle: _propTypes.default.string,\n /**\n * `cancel` specifies a selector to be used to prevent drag initialization.\n *\n * Example:\n *\n * ```jsx\n * let App = React.createClass({\n * render: function () {\n * return(\n * \n *
\n *
You can't drag from here
\n *
Dragging here works fine
\n *
\n *
\n * );\n * }\n * });\n * ```\n */\n cancel: _propTypes.default.string,\n /* If running in React Strict mode, ReactDOM.findDOMNode() is deprecated.\n * Unfortunately, in order for to work properly, we need raw access\n * to the underlying DOM node. If you want to avoid the warning, pass a `nodeRef`\n * as in this example:\n *\n * function MyComponent() {\n * const nodeRef = React.useRef(null);\n * return (\n * \n *
Example Target
\n *
\n * );\n * }\n *\n * This can be used for arbitrarily nested components, so long as the ref ends up\n * pointing to the actual child DOM node and not a custom component.\n */\n nodeRef: _propTypes.default.object,\n /**\n * Called when dragging starts.\n * If this function returns the boolean false, dragging will be canceled.\n */\n onStart: _propTypes.default.func,\n /**\n * Called while dragging.\n * If this function returns the boolean false, dragging will be canceled.\n */\n onDrag: _propTypes.default.func,\n /**\n * Called when dragging stops.\n * If this function returns the boolean false, the drag will remain active.\n */\n onStop: _propTypes.default.func,\n /**\n * A workaround option which can be passed if onMouseDown needs to be accessed,\n * since it'll always be blocked (as there is internal use of onMouseDown)\n */\n onMouseDown: _propTypes.default.func,\n /**\n * `scale`, if set, applies scaling while dragging an element\n */\n scale: _propTypes.default.number,\n /**\n * These properties should be defined on the child, not here.\n */\n className: _shims.dontSetMe,\n style: _shims.dontSetMe,\n transform: _shims.dontSetMe\n});\n_defineProperty(DraggableCore, \"defaultProps\", {\n allowAnyClick: false,\n // by default only accept left click\n disabled: false,\n enableUserSelectHack: true,\n onStart: function () {},\n onDrag: function () {},\n onStop: function () {},\n onMouseDown: function () {},\n scale: 1\n});","\"use strict\";\n\nconst {\n default: Draggable,\n DraggableCore\n} = require('./Draggable');\n\n// Previous versions of this lib exported as the root export. As to no-// them, or TypeScript, we export *both* as the root and as 'default'.\n// See https://github.com/mzabriskie/react-draggable/pull/254\n// and https://github.com/mzabriskie/react-draggable/issues/266\nmodule.exports = Draggable;\nmodule.exports.default = Draggable;\nmodule.exports.DraggableCore = DraggableCore;","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.addClassName = addClassName;\nexports.addEvent = addEvent;\nexports.addUserSelectStyles = addUserSelectStyles;\nexports.createCSSTransform = createCSSTransform;\nexports.createSVGTransform = createSVGTransform;\nexports.getTouch = getTouch;\nexports.getTouchIdentifier = getTouchIdentifier;\nexports.getTranslation = getTranslation;\nexports.innerHeight = innerHeight;\nexports.innerWidth = innerWidth;\nexports.matchesSelector = matchesSelector;\nexports.matchesSelectorAndParentsTo = matchesSelectorAndParentsTo;\nexports.offsetXYFromParent = offsetXYFromParent;\nexports.outerHeight = outerHeight;\nexports.outerWidth = outerWidth;\nexports.removeClassName = removeClassName;\nexports.removeEvent = removeEvent;\nexports.removeUserSelectStyles = removeUserSelectStyles;\nvar _shims = require(\"./shims\");\nvar _getPrefix = _interopRequireWildcard(require(\"./getPrefix\"));\nfunction _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== \"function\") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function (nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }\nfunction _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || typeof obj !== \"object\" && typeof obj !== \"function\") { return { default: obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== \"default\" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj.default = obj; if (cache) { cache.set(obj, newObj); } return newObj; }\n/*:: import type {ControlPosition, PositionOffsetControlPosition, MouseTouchEvent} from './types';*/\nlet matchesSelectorFunc = '';\nfunction matchesSelector(el /*: Node*/, selector /*: string*/) /*: boolean*/{\n if (!matchesSelectorFunc) {\n matchesSelectorFunc = (0, _shims.findInArray)(['matches', 'webkitMatchesSelector', 'mozMatchesSelector', 'msMatchesSelector', 'oMatchesSelector'], function (method) {\n // $FlowIgnore: Doesn't think elements are indexable\n return (0, _shims.isFunction)(el[method]);\n });\n }\n\n // Might not be found entirely (not an Element?) - in that case, bail\n // $FlowIgnore: Doesn't think elements are indexable\n if (!(0, _shims.isFunction)(el[matchesSelectorFunc])) return false;\n\n // $FlowIgnore: Doesn't think elements are indexable\n return el[matchesSelectorFunc](selector);\n}\n\n// Works up the tree to the draggable itself attempting to match selector.\nfunction matchesSelectorAndParentsTo(el /*: Node*/, selector /*: string*/, baseNode /*: Node*/) /*: boolean*/{\n let node = el;\n do {\n if (matchesSelector(node, selector)) return true;\n if (node === baseNode) return false;\n // $FlowIgnore[incompatible-type]\n node = node.parentNode;\n } while (node);\n return false;\n}\nfunction addEvent(el /*: ?Node*/, event /*: string*/, handler /*: Function*/, inputOptions /*: Object*/) /*: void*/{\n if (!el) return;\n const options = {\n capture: true,\n ...inputOptions\n };\n // $FlowIgnore[method-unbinding]\n if (el.addEventListener) {\n el.addEventListener(event, handler, options);\n } else if (el.attachEvent) {\n el.attachEvent('on' + event, handler);\n } else {\n // $FlowIgnore: Doesn't think elements are indexable\n el['on' + event] = handler;\n }\n}\nfunction removeEvent(el /*: ?Node*/, event /*: string*/, handler /*: Function*/, inputOptions /*: Object*/) /*: void*/{\n if (!el) return;\n const options = {\n capture: true,\n ...inputOptions\n };\n // $FlowIgnore[method-unbinding]\n if (el.removeEventListener) {\n el.removeEventListener(event, handler, options);\n } else if (el.detachEvent) {\n el.detachEvent('on' + event, handler);\n } else {\n // $FlowIgnore: Doesn't think elements are indexable\n el['on' + event] = null;\n }\n}\nfunction outerHeight(node /*: HTMLElement*/) /*: number*/{\n // This is deliberately excluding margin for our calculations, since we are using\n // offsetTop which is including margin. See getBoundPosition\n let height = node.clientHeight;\n const computedStyle = node.ownerDocument.defaultView.getComputedStyle(node);\n height += (0, _shims.int)(computedStyle.borderTopWidth);\n height += (0, _shims.int)(computedStyle.borderBottomWidth);\n return height;\n}\nfunction outerWidth(node /*: HTMLElement*/) /*: number*/{\n // This is deliberately excluding margin for our calculations, since we are using\n // offsetLeft which is including margin. See getBoundPosition\n let width = node.clientWidth;\n const computedStyle = node.ownerDocument.defaultView.getComputedStyle(node);\n width += (0, _shims.int)(computedStyle.borderLeftWidth);\n width += (0, _shims.int)(computedStyle.borderRightWidth);\n return width;\n}\nfunction innerHeight(node /*: HTMLElement*/) /*: number*/{\n let height = node.clientHeight;\n const computedStyle = node.ownerDocument.defaultView.getComputedStyle(node);\n height -= (0, _shims.int)(computedStyle.paddingTop);\n height -= (0, _shims.int)(computedStyle.paddingBottom);\n return height;\n}\nfunction innerWidth(node /*: HTMLElement*/) /*: number*/{\n let width = node.clientWidth;\n const computedStyle = node.ownerDocument.defaultView.getComputedStyle(node);\n width -= (0, _shims.int)(computedStyle.paddingLeft);\n width -= (0, _shims.int)(computedStyle.paddingRight);\n return width;\n}\n/*:: interface EventWithOffset {\n clientX: number, clientY: number\n}*/\n// Get from offsetParent\nfunction offsetXYFromParent(evt /*: EventWithOffset*/, offsetParent /*: HTMLElement*/, scale /*: number*/) /*: ControlPosition*/{\n const isBody = offsetParent === offsetParent.ownerDocument.body;\n const offsetParentRect = isBody ? {\n left: 0,\n top: 0\n } : offsetParent.getBoundingClientRect();\n const x = (evt.clientX + offsetParent.scrollLeft - offsetParentRect.left) / scale;\n const y = (evt.clientY + offsetParent.scrollTop - offsetParentRect.top) / scale;\n return {\n x,\n y\n };\n}\nfunction createCSSTransform(controlPos /*: ControlPosition*/, positionOffset /*: PositionOffsetControlPosition*/) /*: Object*/{\n const translation = getTranslation(controlPos, positionOffset, 'px');\n return {\n [(0, _getPrefix.browserPrefixToKey)('transform', _getPrefix.default)]: translation\n };\n}\nfunction createSVGTransform(controlPos /*: ControlPosition*/, positionOffset /*: PositionOffsetControlPosition*/) /*: string*/{\n const translation = getTranslation(controlPos, positionOffset, '');\n return translation;\n}\nfunction getTranslation(_ref /*:: */, positionOffset /*: PositionOffsetControlPosition*/, unitSuffix /*: string*/) /*: string*/{\n let {\n x,\n y\n } /*: ControlPosition*/ = _ref /*: ControlPosition*/;\n let translation = \"translate(\".concat(x).concat(unitSuffix, \",\").concat(y).concat(unitSuffix, \")\");\n if (positionOffset) {\n const defaultX = \"\".concat(typeof positionOffset.x === 'string' ? positionOffset.x : positionOffset.x + unitSuffix);\n const defaultY = \"\".concat(typeof positionOffset.y === 'string' ? positionOffset.y : positionOffset.y + unitSuffix);\n translation = \"translate(\".concat(defaultX, \", \").concat(defaultY, \")\") + translation;\n }\n return translation;\n}\nfunction getTouch(e /*: MouseTouchEvent*/, identifier /*: number*/) /*: ?{clientX: number, clientY: number}*/{\n return e.targetTouches && (0, _shims.findInArray)(e.targetTouches, t => identifier === t.identifier) || e.changedTouches && (0, _shims.findInArray)(e.changedTouches, t => identifier === t.identifier);\n}\nfunction getTouchIdentifier(e /*: MouseTouchEvent*/) /*: ?number*/{\n if (e.targetTouches && e.targetTouches[0]) return e.targetTouches[0].identifier;\n if (e.changedTouches && e.changedTouches[0]) return e.changedTouches[0].identifier;\n}\n\n// User-select Hacks:\n//\n// Useful for preventing blue highlights all over everything when dragging.\n\n// Note we're passing `document` b/c we could be iframed\nfunction addUserSelectStyles(doc /*: ?Document*/) {\n if (!doc) return;\n let styleEl = doc.getElementById('react-draggable-style-el');\n if (!styleEl) {\n styleEl = doc.createElement('style');\n styleEl.type = 'text/css';\n styleEl.id = 'react-draggable-style-el';\n styleEl.innerHTML = '.react-draggable-transparent-selection *::-moz-selection {all: inherit;}\\n';\n styleEl.innerHTML += '.react-draggable-transparent-selection *::selection {all: inherit;}\\n';\n doc.getElementsByTagName('head')[0].appendChild(styleEl);\n }\n if (doc.body) addClassName(doc.body, 'react-draggable-transparent-selection');\n}\nfunction removeUserSelectStyles(doc /*: ?Document*/) {\n if (!doc) return;\n try {\n if (doc.body) removeClassName(doc.body, 'react-draggable-transparent-selection');\n // $FlowIgnore: IE\n if (doc.selection) {\n // $FlowIgnore: IE\n doc.selection.empty();\n } else {\n // Remove selection caused by scroll, unless it's a focused input\n // (we use doc.defaultView in case we're in an iframe)\n const selection = (doc.defaultView || window).getSelection();\n if (selection && selection.type !== 'Caret') {\n selection.removeAllRanges();\n }\n }\n } catch (e) {\n // probably IE\n }\n}\nfunction addClassName(el /*: HTMLElement*/, className /*: string*/) {\n if (el.classList) {\n el.classList.add(className);\n } else {\n if (!el.className.match(new RegExp(\"(?:^|\\\\s)\".concat(className, \"(?!\\\\S)\")))) {\n el.className += \" \".concat(className);\n }\n }\n}\nfunction removeClassName(el /*: HTMLElement*/, className /*: string*/) {\n if (el.classList) {\n el.classList.remove(className);\n } else {\n el.className = el.className.replace(new RegExp(\"(?:^|\\\\s)\".concat(className, \"(?!\\\\S)\"), 'g'), '');\n }\n}","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.browserPrefixToKey = browserPrefixToKey;\nexports.browserPrefixToStyle = browserPrefixToStyle;\nexports.default = void 0;\nexports.getPrefix = getPrefix;\nconst prefixes = ['Moz', 'Webkit', 'O', 'ms'];\nfunction getPrefix() /*: string*/{\n var _window$document;\n let prop /*: string*/ = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : 'transform';\n // Ensure we're running in an environment where there is actually a global\n // `window` obj\n if (typeof window === 'undefined') return '';\n\n // If we're in a pseudo-browser server-side environment, this access\n // path may not exist, so bail out if it doesn't.\n const style = (_window$document = window.document) === null || _window$document === void 0 || (_window$document = _window$document.documentElement) === null || _window$document === void 0 ? void 0 : _window$document.style;\n if (!style) return '';\n if (prop in style) return '';\n for (let i = 0; i < prefixes.length; i++) {\n if (browserPrefixToKey(prop, prefixes[i]) in style) return prefixes[i];\n }\n return '';\n}\nfunction browserPrefixToKey(prop /*: string*/, prefix /*: string*/) /*: string*/{\n return prefix ? \"\".concat(prefix).concat(kebabToTitleCase(prop)) : prop;\n}\nfunction browserPrefixToStyle(prop /*: string*/, prefix /*: string*/) /*: string*/{\n return prefix ? \"-\".concat(prefix.toLowerCase(), \"-\").concat(prop) : prop;\n}\nfunction kebabToTitleCase(str /*: string*/) /*: string*/{\n let out = '';\n let shouldCapitalize = true;\n for (let i = 0; i < str.length; i++) {\n if (shouldCapitalize) {\n out += str[i].toUpperCase();\n shouldCapitalize = false;\n } else if (str[i] === '-') {\n shouldCapitalize = true;\n } else {\n out += str[i];\n }\n }\n return out;\n}\n\n// Default export is the prefix itself, like 'Moz', 'Webkit', etc\n// Note that you may have to re-test for certain things; for instance, Chrome 50\n// can handle unprefixed `transform`, but not unprefixed `user-select`\nvar _default = exports.default = (getPrefix() /*: string*/);","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = log;\n/*eslint no-console:0*/\nfunction log() {\n if (undefined) console.log(...arguments);\n}","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.canDragX = canDragX;\nexports.canDragY = canDragY;\nexports.createCoreData = createCoreData;\nexports.createDraggableData = createDraggableData;\nexports.getBoundPosition = getBoundPosition;\nexports.getControlPosition = getControlPosition;\nexports.snapToGrid = snapToGrid;\nvar _shims = require(\"./shims\");\nvar _domFns = require(\"./domFns\");\n/*:: import type Draggable from '../Draggable';*/\n/*:: import type {Bounds, ControlPosition, DraggableData, MouseTouchEvent} from './types';*/\n/*:: import type DraggableCore from '../DraggableCore';*/\nfunction getBoundPosition(draggable /*: Draggable*/, x /*: number*/, y /*: number*/) /*: [number, number]*/{\n // If no bounds, short-circuit and move on\n if (!draggable.props.bounds) return [x, y];\n\n // Clone new bounds\n let {\n bounds\n } = draggable.props;\n bounds = typeof bounds === 'string' ? bounds : cloneBounds(bounds);\n const node = findDOMNode(draggable);\n if (typeof bounds === 'string') {\n const {\n ownerDocument\n } = node;\n const ownerWindow = ownerDocument.defaultView;\n let boundNode;\n if (bounds === 'parent') {\n boundNode = node.parentNode;\n } else {\n boundNode = ownerDocument.querySelector(bounds);\n }\n if (!(boundNode instanceof ownerWindow.HTMLElement)) {\n throw new Error('Bounds selector \"' + bounds + '\" could not find an element.');\n }\n const boundNodeEl /*: HTMLElement*/ = boundNode; // for Flow, can't seem to refine correctly\n const nodeStyle = ownerWindow.getComputedStyle(node);\n const boundNodeStyle = ownerWindow.getComputedStyle(boundNodeEl);\n // Compute bounds. This is a pain with padding and offsets but this gets it exactly right.\n bounds = {\n left: -node.offsetLeft + (0, _shims.int)(boundNodeStyle.paddingLeft) + (0, _shims.int)(nodeStyle.marginLeft),\n top: -node.offsetTop + (0, _shims.int)(boundNodeStyle.paddingTop) + (0, _shims.int)(nodeStyle.marginTop),\n right: (0, _domFns.innerWidth)(boundNodeEl) - (0, _domFns.outerWidth)(node) - node.offsetLeft + (0, _shims.int)(boundNodeStyle.paddingRight) - (0, _shims.int)(nodeStyle.marginRight),\n bottom: (0, _domFns.innerHeight)(boundNodeEl) - (0, _domFns.outerHeight)(node) - node.offsetTop + (0, _shims.int)(boundNodeStyle.paddingBottom) - (0, _shims.int)(nodeStyle.marginBottom)\n };\n }\n\n // Keep x and y below right and bottom limits...\n if ((0, _shims.isNum)(bounds.right)) x = Math.min(x, bounds.right);\n if ((0, _shims.isNum)(bounds.bottom)) y = Math.min(y, bounds.bottom);\n\n // But above left and top limits.\n if ((0, _shims.isNum)(bounds.left)) x = Math.max(x, bounds.left);\n if ((0, _shims.isNum)(bounds.top)) y = Math.max(y, bounds.top);\n return [x, y];\n}\nfunction snapToGrid(grid /*: [number, number]*/, pendingX /*: number*/, pendingY /*: number*/) /*: [number, number]*/{\n const x = Math.round(pendingX / grid[0]) * grid[0];\n const y = Math.round(pendingY / grid[1]) * grid[1];\n return [x, y];\n}\nfunction canDragX(draggable /*: Draggable*/) /*: boolean*/{\n return draggable.props.axis === 'both' || draggable.props.axis === 'x';\n}\nfunction canDragY(draggable /*: Draggable*/) /*: boolean*/{\n return draggable.props.axis === 'both' || draggable.props.axis === 'y';\n}\n\n// Get {x, y} positions from event.\nfunction getControlPosition(e /*: MouseTouchEvent*/, touchIdentifier /*: ?number*/, draggableCore /*: DraggableCore*/) /*: ?ControlPosition*/{\n const touchObj = typeof touchIdentifier === 'number' ? (0, _domFns.getTouch)(e, touchIdentifier) : null;\n if (typeof touchIdentifier === 'number' && !touchObj) return null; // not the right touch\n const node = findDOMNode(draggableCore);\n // User can provide an offsetParent if desired.\n const offsetParent = draggableCore.props.offsetParent || node.offsetParent || node.ownerDocument.body;\n return (0, _domFns.offsetXYFromParent)(touchObj || e, offsetParent, draggableCore.props.scale);\n}\n\n// Create an data object exposed by 's events\nfunction createCoreData(draggable /*: DraggableCore*/, x /*: number*/, y /*: number*/) /*: DraggableData*/{\n const isStart = !(0, _shims.isNum)(draggable.lastX);\n const node = findDOMNode(draggable);\n if (isStart) {\n // If this is our first move, use the x and y as last coords.\n return {\n node,\n deltaX: 0,\n deltaY: 0,\n lastX: x,\n lastY: y,\n x,\n y\n };\n } else {\n // Otherwise calculate proper values.\n return {\n node,\n deltaX: x - draggable.lastX,\n deltaY: y - draggable.lastY,\n lastX: draggable.lastX,\n lastY: draggable.lastY,\n x,\n y\n };\n }\n}\n\n// Create an data exposed by 's events\nfunction createDraggableData(draggable /*: Draggable*/, coreData /*: DraggableData*/) /*: DraggableData*/{\n const scale = draggable.props.scale;\n return {\n node: coreData.node,\n x: draggable.state.x + coreData.deltaX / scale,\n y: draggable.state.y + coreData.deltaY / scale,\n deltaX: coreData.deltaX / scale,\n deltaY: coreData.deltaY / scale,\n lastX: draggable.state.x,\n lastY: draggable.state.y\n };\n}\n\n// A lot faster than stringify/parse\nfunction cloneBounds(bounds /*: Bounds*/) /*: Bounds*/{\n return {\n left: bounds.left,\n top: bounds.top,\n right: bounds.right,\n bottom: bounds.bottom\n };\n}\nfunction findDOMNode(draggable /*: Draggable | DraggableCore*/) /*: HTMLElement*/{\n const node = draggable.findDOMNode();\n if (!node) {\n throw new Error(': Unmounted during event!');\n }\n // $FlowIgnore we can't assert on HTMLElement due to tests... FIXME\n return node;\n}","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.dontSetMe = dontSetMe;\nexports.findInArray = findInArray;\nexports.int = int;\nexports.isFunction = isFunction;\nexports.isNum = isNum;\n// @credits https://gist.github.com/rogozhnikoff/a43cfed27c41e4e68cdc\nfunction findInArray(array /*: Array | TouchList*/, callback /*: Function*/) /*: any*/{\n for (let i = 0, length = array.length; i < length; i++) {\n if (callback.apply(callback, [array[i], i, array])) return array[i];\n }\n}\nfunction isFunction(func /*: any*/) /*: boolean %checks*/{\n // $FlowIgnore[method-unbinding]\n return typeof func === 'function' || Object.prototype.toString.call(func) === '[object Function]';\n}\nfunction isNum(num /*: any*/) /*: boolean %checks*/{\n return typeof num === 'number' && !isNaN(num);\n}\nfunction int(a /*: string*/) /*: number*/{\n return parseInt(a, 10);\n}\nfunction dontSetMe(props /*: Object*/, propName /*: string*/, componentName /*: string*/) /*: ?Error*/{\n if (props[propName]) {\n return new Error(\"Invalid prop \".concat(propName, \" passed to \").concat(componentName, \" - do not set this, set it on the child.\"));\n }\n}","\"use strict\";\n\nfunction _typeof(obj) { \"@babel/helpers - typeof\"; return _typeof = \"function\" == typeof Symbol && \"symbol\" == typeof Symbol.iterator ? function (obj) { return typeof obj; } : function (obj) { return obj && \"function\" == typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; }, _typeof(obj); }\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = void 0;\n\nvar _react = _interopRequireDefault(require(\"react\"));\n\nvar _propTypes = _interopRequireDefault(require(\"prop-types\"));\n\nvar _reactDraggable = require(\"react-draggable\");\n\nvar _reactResizable = require(\"react-resizable\");\n\nvar _utils = require(\"./utils\");\n\nvar _calculateUtils = require(\"./calculateUtils\");\n\nvar _ReactGridLayoutPropTypes = require(\"./ReactGridLayoutPropTypes\");\n\nvar _clsx = _interopRequireDefault(require(\"clsx\"));\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }\n\nfunction _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { _defineProperty(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } }\n\nfunction _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); Object.defineProperty(Constructor, \"prototype\", { writable: false }); return Constructor; }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function\"); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, writable: true, configurable: true } }); Object.defineProperty(subClass, \"prototype\", { writable: false }); if (superClass) _setPrototypeOf(subClass, superClass); }\n\nfunction _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); }\n\nfunction _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = _getPrototypeOf(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = _getPrototypeOf(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return _possibleConstructorReturn(this, result); }; }\n\nfunction _possibleConstructorReturn(self, call) { if (call && (_typeof(call) === \"object\" || typeof call === \"function\")) { return call; } else if (call !== void 0) { throw new TypeError(\"Derived constructors may only return object or undefined\"); } return _assertThisInitialized(self); }\n\nfunction _assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return self; }\n\nfunction _isNativeReflectConstruct() { if (typeof Reflect === \"undefined\" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === \"function\") return true; try { Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); return true; } catch (e) { return false; } }\n\nfunction _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return _getPrototypeOf(o); }\n\nfunction _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\n\n/**\n * An individual item within a ReactGridLayout.\n */\nvar GridItem = /*#__PURE__*/function (_React$Component) {\n _inherits(GridItem, _React$Component);\n\n var _super = _createSuper(GridItem);\n\n function GridItem() {\n var _this;\n\n _classCallCheck(this, GridItem);\n\n for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n\n _this = _super.call.apply(_super, [this].concat(args));\n\n _defineProperty(_assertThisInitialized(_this), \"state\", {\n resizing: null,\n dragging: null,\n className: \"\"\n });\n\n _defineProperty(_assertThisInitialized(_this), \"elementRef\", /*#__PURE__*/_react.default.createRef());\n\n _defineProperty(_assertThisInitialized(_this), \"onDragStart\", function (e, _ref) {\n var node = _ref.node;\n var _this$props = _this.props,\n onDragStart = _this$props.onDragStart,\n transformScale = _this$props.transformScale;\n if (!onDragStart) return;\n var newPosition\n /*: PartialPosition*/\n = {\n top: 0,\n left: 0\n }; // TODO: this wont work on nested parents\n\n var offsetParent = node.offsetParent;\n if (!offsetParent) return;\n var parentRect = offsetParent.getBoundingClientRect();\n var clientRect = node.getBoundingClientRect();\n var cLeft = clientRect.left / transformScale;\n var pLeft = parentRect.left / transformScale;\n var cTop = clientRect.top / transformScale;\n var pTop = parentRect.top / transformScale;\n newPosition.left = cLeft - pLeft + offsetParent.scrollLeft;\n newPosition.top = cTop - pTop + offsetParent.scrollTop;\n\n _this.setState({\n dragging: newPosition\n }); // Call callback with this data\n\n\n var _calcXY = (0, _calculateUtils.calcXY)(_this.getPositionParams(), newPosition.top, newPosition.left, _this.props.w, _this.props.h),\n x = _calcXY.x,\n y = _calcXY.y;\n\n return onDragStart.call(_assertThisInitialized(_this), _this.props.i, x, y, {\n e: e,\n node: node,\n newPosition: newPosition\n });\n });\n\n _defineProperty(_assertThisInitialized(_this), \"onDrag\", function (e, _ref2) {\n var node = _ref2.node,\n deltaX = _ref2.deltaX,\n deltaY = _ref2.deltaY;\n var onDrag = _this.props.onDrag;\n if (!onDrag) return;\n\n if (!_this.state.dragging) {\n throw new Error(\"onDrag called before onDragStart.\");\n }\n\n var top = _this.state.dragging.top + deltaY;\n var left = _this.state.dragging.left + deltaX;\n var _this$props2 = _this.props,\n isBounded = _this$props2.isBounded,\n i = _this$props2.i,\n w = _this$props2.w,\n h = _this$props2.h,\n containerWidth = _this$props2.containerWidth;\n\n var positionParams = _this.getPositionParams(); // Boundary calculations; keeps items within the grid\n\n\n if (isBounded) {\n var offsetParent = node.offsetParent;\n\n if (offsetParent) {\n var _this$props3 = _this.props,\n margin = _this$props3.margin,\n rowHeight = _this$props3.rowHeight;\n var bottomBoundary = offsetParent.clientHeight - (0, _calculateUtils.calcGridItemWHPx)(h, rowHeight, margin[1]);\n top = (0, _calculateUtils.clamp)(top, 0, bottomBoundary);\n var colWidth = (0, _calculateUtils.calcGridColWidth)(positionParams);\n var rightBoundary = containerWidth - (0, _calculateUtils.calcGridItemWHPx)(w, colWidth, margin[0]);\n left = (0, _calculateUtils.clamp)(left, 0, rightBoundary);\n }\n }\n\n var newPosition\n /*: PartialPosition*/\n = {\n top: top,\n left: left\n };\n\n _this.setState({\n dragging: newPosition\n }); // Call callback with this data\n\n\n var _calcXY2 = (0, _calculateUtils.calcXY)(positionParams, top, left, w, h),\n x = _calcXY2.x,\n y = _calcXY2.y;\n\n return onDrag.call(_assertThisInitialized(_this), i, x, y, {\n e: e,\n node: node,\n newPosition: newPosition\n });\n });\n\n _defineProperty(_assertThisInitialized(_this), \"onDragStop\", function (e, _ref3) {\n var node = _ref3.node;\n var onDragStop = _this.props.onDragStop;\n if (!onDragStop) return;\n\n if (!_this.state.dragging) {\n throw new Error(\"onDragEnd called before onDragStart.\");\n }\n\n var _this$props4 = _this.props,\n w = _this$props4.w,\n h = _this$props4.h,\n i = _this$props4.i;\n var _this$state$dragging = _this.state.dragging,\n left = _this$state$dragging.left,\n top = _this$state$dragging.top;\n var newPosition\n /*: PartialPosition*/\n = {\n top: top,\n left: left\n };\n\n _this.setState({\n dragging: null\n });\n\n var _calcXY3 = (0, _calculateUtils.calcXY)(_this.getPositionParams(), top, left, w, h),\n x = _calcXY3.x,\n y = _calcXY3.y;\n\n return onDragStop.call(_assertThisInitialized(_this), i, x, y, {\n e: e,\n node: node,\n newPosition: newPosition\n });\n });\n\n _defineProperty(_assertThisInitialized(_this), \"onResizeStop\", function (e, callbackData) {\n _this.onResizeHandler(e, callbackData, \"onResizeStop\");\n });\n\n _defineProperty(_assertThisInitialized(_this), \"onResizeStart\", function (e, callbackData) {\n _this.onResizeHandler(e, callbackData, \"onResizeStart\");\n });\n\n _defineProperty(_assertThisInitialized(_this), \"onResize\", function (e, callbackData) {\n _this.onResizeHandler(e, callbackData, \"onResize\");\n });\n\n return _this;\n }\n\n _createClass(GridItem, [{\n key: \"shouldComponentUpdate\",\n value: function shouldComponentUpdate(nextProps\n /*: Props*/\n , nextState\n /*: State*/\n )\n /*: boolean*/\n {\n // We can't deeply compare children. If the developer memoizes them, we can\n // use this optimization.\n if (this.props.children !== nextProps.children) return true;\n if (this.props.droppingPosition !== nextProps.droppingPosition) return true; // TODO memoize these calculations so they don't take so long?\n\n var oldPosition = (0, _calculateUtils.calcGridItemPosition)(this.getPositionParams(this.props), this.props.x, this.props.y, this.props.w, this.props.h, this.state);\n var newPosition = (0, _calculateUtils.calcGridItemPosition)(this.getPositionParams(nextProps), nextProps.x, nextProps.y, nextProps.w, nextProps.h, nextState);\n return !(0, _utils.fastPositionEqual)(oldPosition, newPosition) || this.props.useCSSTransforms !== nextProps.useCSSTransforms;\n }\n }, {\n key: \"componentDidMount\",\n value: function componentDidMount() {\n this.moveDroppingItem({});\n }\n }, {\n key: \"componentDidUpdate\",\n value: function componentDidUpdate(prevProps\n /*: Props*/\n ) {\n this.moveDroppingItem(prevProps);\n } // When a droppingPosition is present, this means we should fire a move event, as if we had moved\n // this element by `x, y` pixels.\n\n }, {\n key: \"moveDroppingItem\",\n value: function moveDroppingItem(prevProps\n /*: Props*/\n ) {\n var droppingPosition = this.props.droppingPosition;\n if (!droppingPosition) return;\n var node = this.elementRef.current; // Can't find DOM node (are we unmounted?)\n\n if (!node) return;\n var prevDroppingPosition = prevProps.droppingPosition || {\n left: 0,\n top: 0\n };\n var dragging = this.state.dragging;\n var shouldDrag = dragging && droppingPosition.left !== prevDroppingPosition.left || droppingPosition.top !== prevDroppingPosition.top;\n\n if (!dragging) {\n this.onDragStart(droppingPosition.e, {\n node: node,\n deltaX: droppingPosition.left,\n deltaY: droppingPosition.top\n });\n } else if (shouldDrag) {\n var deltaX = droppingPosition.left - dragging.left;\n var deltaY = droppingPosition.top - dragging.top;\n this.onDrag(droppingPosition.e, {\n node: node,\n deltaX: deltaX,\n deltaY: deltaY\n });\n }\n }\n }, {\n key: \"getPositionParams\",\n value: function getPositionParams()\n /*: PositionParams*/\n {\n var props\n /*: Props*/\n = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : this.props;\n return {\n cols: props.cols,\n containerPadding: props.containerPadding,\n containerWidth: props.containerWidth,\n margin: props.margin,\n maxRows: props.maxRows,\n rowHeight: props.rowHeight\n };\n }\n /**\n * This is where we set the grid item's absolute placement. It gets a little tricky because we want to do it\n * well when server rendering, and the only way to do that properly is to use percentage width/left because\n * we don't know exactly what the browser viewport is.\n * Unfortunately, CSS Transforms, which are great for performance, break in this instance because a percentage\n * left is relative to the item itself, not its container! So we cannot use them on the server rendering pass.\n *\n * @param {Object} pos Position object with width, height, left, top.\n * @return {Object} Style object.\n */\n\n }, {\n key: \"createStyle\",\n value: function createStyle(pos\n /*: Position*/\n )\n /*: { [key: string]: ?string }*/\n {\n var _this$props5 = this.props,\n usePercentages = _this$props5.usePercentages,\n containerWidth = _this$props5.containerWidth,\n useCSSTransforms = _this$props5.useCSSTransforms;\n var style; // CSS Transforms support (default)\n\n if (useCSSTransforms) {\n style = (0, _utils.setTransform)(pos);\n } else {\n // top,left (slow)\n style = (0, _utils.setTopLeft)(pos); // This is used for server rendering.\n\n if (usePercentages) {\n style.left = (0, _utils.perc)(pos.left / containerWidth);\n style.width = (0, _utils.perc)(pos.width / containerWidth);\n }\n }\n\n return style;\n }\n /**\n * Mix a Draggable instance into a child.\n * @param {Element} child Child element.\n * @return {Element} Child wrapped in Draggable.\n */\n\n }, {\n key: \"mixinDraggable\",\n value: function mixinDraggable(child\n /*: ReactElement*/\n , isDraggable\n /*: boolean*/\n )\n /*: ReactElement*/\n {\n return /*#__PURE__*/_react.default.createElement(_reactDraggable.DraggableCore, {\n disabled: !isDraggable,\n onStart: this.onDragStart,\n onDrag: this.onDrag,\n onStop: this.onDragStop,\n handle: this.props.handle,\n cancel: \".react-resizable-handle\" + (this.props.cancel ? \",\" + this.props.cancel : \"\"),\n scale: this.props.transformScale,\n nodeRef: this.elementRef\n }, child);\n }\n /**\n * Mix a Resizable instance into a child.\n * @param {Element} child Child element.\n * @param {Object} position Position object (pixel values)\n * @return {Element} Child wrapped in Resizable.\n */\n\n }, {\n key: \"mixinResizable\",\n value: function mixinResizable(child\n /*: ReactElement*/\n , position\n /*: Position*/\n , isResizable\n /*: boolean*/\n )\n /*: ReactElement*/\n {\n var _this$props6 = this.props,\n cols = _this$props6.cols,\n x = _this$props6.x,\n minW = _this$props6.minW,\n minH = _this$props6.minH,\n maxW = _this$props6.maxW,\n maxH = _this$props6.maxH,\n transformScale = _this$props6.transformScale,\n resizeHandles = _this$props6.resizeHandles,\n resizeHandle = _this$props6.resizeHandle;\n var positionParams = this.getPositionParams(); // This is the max possible width - doesn't go to infinity because of the width of the window\n\n var maxWidth = (0, _calculateUtils.calcGridItemPosition)(positionParams, 0, 0, cols - x, 0).width; // Calculate min/max constraints using our min & maxes\n\n var mins = (0, _calculateUtils.calcGridItemPosition)(positionParams, 0, 0, minW, minH);\n var maxes = (0, _calculateUtils.calcGridItemPosition)(positionParams, 0, 0, maxW, maxH);\n var minConstraints = [mins.width, mins.height];\n var maxConstraints = [Math.min(maxes.width, maxWidth), Math.min(maxes.height, Infinity)];\n return /*#__PURE__*/_react.default.createElement(_reactResizable.Resizable // These are opts for the resize handle itself\n , {\n draggableOpts: {\n disabled: !isResizable\n },\n className: isResizable ? undefined : \"react-resizable-hide\",\n width: position.width,\n height: position.height,\n minConstraints: minConstraints,\n maxConstraints: maxConstraints,\n onResizeStop: this.onResizeStop,\n onResizeStart: this.onResizeStart,\n onResize: this.onResize,\n transformScale: transformScale,\n resizeHandles: resizeHandles,\n handle: resizeHandle\n }, child);\n }\n /**\n * onDragStart event handler\n * @param {Event} e event data\n * @param {Object} callbackData an object with node, delta and position information\n */\n\n }, {\n key: \"onResizeHandler\",\n value:\n /**\n * Wrapper around drag events to provide more useful data.\n * All drag events call the function with the given handler name,\n * with the signature (index, x, y).\n *\n * @param {String} handlerName Handler name to wrap.\n * @return {Function} Handler function.\n */\n function onResizeHandler(e\n /*: Event*/\n , _ref4, handlerName\n /*: string*/\n )\n /*: void*/\n {\n var node = _ref4.node,\n size = _ref4.size;\n var handler = this.props[handlerName];\n if (!handler) return;\n var _this$props7 = this.props,\n cols = _this$props7.cols,\n x = _this$props7.x,\n y = _this$props7.y,\n i = _this$props7.i,\n maxH = _this$props7.maxH,\n minH = _this$props7.minH;\n var _this$props8 = this.props,\n minW = _this$props8.minW,\n maxW = _this$props8.maxW; // Get new XY\n\n var _calcWH = (0, _calculateUtils.calcWH)(this.getPositionParams(), size.width, size.height, x, y),\n w = _calcWH.w,\n h = _calcWH.h; // minW should be at least 1 (TODO propTypes validation?)\n\n\n minW = Math.max(minW, 1); // maxW should be at most (cols - x)\n\n maxW = Math.min(maxW, cols - x); // Min/max capping\n\n w = (0, _calculateUtils.clamp)(w, minW, maxW);\n h = (0, _calculateUtils.clamp)(h, minH, maxH);\n this.setState({\n resizing: handlerName === \"onResizeStop\" ? null : size\n });\n handler.call(this, i, w, h, {\n e: e,\n node: node,\n size: size\n });\n }\n }, {\n key: \"render\",\n value: function render()\n /*: ReactNode*/\n {\n var _this$props9 = this.props,\n x = _this$props9.x,\n y = _this$props9.y,\n w = _this$props9.w,\n h = _this$props9.h,\n isDraggable = _this$props9.isDraggable,\n isResizable = _this$props9.isResizable,\n droppingPosition = _this$props9.droppingPosition,\n useCSSTransforms = _this$props9.useCSSTransforms;\n var pos = (0, _calculateUtils.calcGridItemPosition)(this.getPositionParams(), x, y, w, h, this.state);\n\n var child = _react.default.Children.only(this.props.children); // Create the child element. We clone the existing element but modify its className and style.\n\n\n var newChild = /*#__PURE__*/_react.default.cloneElement(child, {\n ref: this.elementRef,\n className: (0, _clsx.default)(\"react-grid-item\", child.props.className, this.props.className, {\n static: this.props.static,\n resizing: Boolean(this.state.resizing),\n \"react-draggable\": isDraggable,\n \"react-draggable-dragging\": Boolean(this.state.dragging),\n dropping: Boolean(droppingPosition),\n cssTransforms: useCSSTransforms\n }),\n // We can set the width and height on the child, but unfortunately we can't set the position.\n style: _objectSpread(_objectSpread(_objectSpread({}, this.props.style), child.props.style), this.createStyle(pos))\n }); // Resizable support. This is usually on but the user can toggle it off.\n\n\n newChild = this.mixinResizable(newChild, pos, isResizable); // Draggable support. This is always on, except for with placeholders.\n\n newChild = this.mixinDraggable(newChild, isDraggable);\n return newChild;\n }\n }]);\n\n return GridItem;\n}(_react.default.Component);\n\nexports.default = GridItem;\n\n_defineProperty(GridItem, \"propTypes\", {\n // Children must be only a single element\n children: _propTypes.default.element,\n // General grid attributes\n cols: _propTypes.default.number.isRequired,\n containerWidth: _propTypes.default.number.isRequired,\n rowHeight: _propTypes.default.number.isRequired,\n margin: _propTypes.default.array.isRequired,\n maxRows: _propTypes.default.number.isRequired,\n containerPadding: _propTypes.default.array.isRequired,\n // These are all in grid units\n x: _propTypes.default.number.isRequired,\n y: _propTypes.default.number.isRequired,\n w: _propTypes.default.number.isRequired,\n h: _propTypes.default.number.isRequired,\n // All optional\n minW: function minW(props\n /*: Props*/\n , propName\n /*: string*/\n ) {\n var value = props[propName];\n if (typeof value !== \"number\") return new Error(\"minWidth not Number\");\n if (value > props.w || value > props.maxW) return new Error(\"minWidth larger than item width/maxWidth\");\n },\n maxW: function maxW(props\n /*: Props*/\n , propName\n /*: string*/\n ) {\n var value = props[propName];\n if (typeof value !== \"number\") return new Error(\"maxWidth not Number\");\n if (value < props.w || value < props.minW) return new Error(\"maxWidth smaller than item width/minWidth\");\n },\n minH: function minH(props\n /*: Props*/\n , propName\n /*: string*/\n ) {\n var value = props[propName];\n if (typeof value !== \"number\") return new Error(\"minHeight not Number\");\n if (value > props.h || value > props.maxH) return new Error(\"minHeight larger than item height/maxHeight\");\n },\n maxH: function maxH(props\n /*: Props*/\n , propName\n /*: string*/\n ) {\n var value = props[propName];\n if (typeof value !== \"number\") return new Error(\"maxHeight not Number\");\n if (value < props.h || value < props.minH) return new Error(\"maxHeight smaller than item height/minHeight\");\n },\n // ID is nice to have for callbacks\n i: _propTypes.default.string.isRequired,\n // Resize handle options\n resizeHandles: _ReactGridLayoutPropTypes.resizeHandleAxesType,\n resizeHandle: _ReactGridLayoutPropTypes.resizeHandleType,\n // Functions\n onDragStop: _propTypes.default.func,\n onDragStart: _propTypes.default.func,\n onDrag: _propTypes.default.func,\n onResizeStop: _propTypes.default.func,\n onResizeStart: _propTypes.default.func,\n onResize: _propTypes.default.func,\n // Flags\n isDraggable: _propTypes.default.bool.isRequired,\n isResizable: _propTypes.default.bool.isRequired,\n isBounded: _propTypes.default.bool.isRequired,\n static: _propTypes.default.bool,\n // Use CSS transforms instead of top/left\n useCSSTransforms: _propTypes.default.bool.isRequired,\n transformScale: _propTypes.default.number,\n // Others\n className: _propTypes.default.string,\n // Selector for draggable handle\n handle: _propTypes.default.string,\n // Selector for draggable cancel (see react-draggable)\n cancel: _propTypes.default.string,\n // Current position of a dropping element\n droppingPosition: _propTypes.default.shape({\n e: _propTypes.default.object.isRequired,\n left: _propTypes.default.number.isRequired,\n top: _propTypes.default.number.isRequired\n })\n});\n\n_defineProperty(GridItem, \"defaultProps\", {\n className: \"\",\n cancel: \"\",\n handle: \"\",\n minH: 1,\n minW: 1,\n maxH: Infinity,\n maxW: Infinity,\n transformScale: 1\n});","\"use strict\";\n\nfunction _typeof(obj) { \"@babel/helpers - typeof\"; return _typeof = \"function\" == typeof Symbol && \"symbol\" == typeof Symbol.iterator ? function (obj) { return typeof obj; } : function (obj) { return obj && \"function\" == typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; }, _typeof(obj); }\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = void 0;\n\nvar React = _interopRequireWildcard(require(\"react\"));\n\nvar _lodash = _interopRequireDefault(require(\"lodash.isequal\"));\n\nvar _clsx = _interopRequireDefault(require(\"clsx\"));\n\nvar _utils = require(\"./utils\");\n\nvar _calculateUtils = require(\"./calculateUtils\");\n\nvar _GridItem = _interopRequireDefault(require(\"./GridItem\"));\n\nvar _ReactGridLayoutPropTypes = _interopRequireDefault(require(\"./ReactGridLayoutPropTypes\"));\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== \"function\") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }\n\nfunction _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || _typeof(obj) !== \"object\" && typeof obj !== \"function\") { return { default: obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== \"default\" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj.default = obj; if (cache) { cache.set(obj, newObj); } return newObj; }\n\nfunction _toConsumableArray(arr) { return _arrayWithoutHoles(arr) || _iterableToArray(arr) || _unsupportedIterableToArray(arr) || _nonIterableSpread(); }\n\nfunction _nonIterableSpread() { throw new TypeError(\"Invalid attempt to spread non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\"); }\n\nfunction _iterableToArray(iter) { if (typeof Symbol !== \"undefined\" && iter[Symbol.iterator] != null || iter[\"@@iterator\"] != null) return Array.from(iter); }\n\nfunction _arrayWithoutHoles(arr) { if (Array.isArray(arr)) return _arrayLikeToArray(arr); }\n\nfunction ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }\n\nfunction _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { _defineProperty(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }\n\nfunction _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest(); }\n\nfunction _nonIterableRest() { throw new TypeError(\"Invalid attempt to destructure non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\"); }\n\nfunction _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === \"string\") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === \"Object\" && o.constructor) n = o.constructor.name; if (n === \"Map\" || n === \"Set\") return Array.from(o); if (n === \"Arguments\" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }\n\nfunction _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) { arr2[i] = arr[i]; } return arr2; }\n\nfunction _iterableToArrayLimit(arr, i) { var _i = arr == null ? null : typeof Symbol !== \"undefined\" && arr[Symbol.iterator] || arr[\"@@iterator\"]; if (_i == null) return; var _arr = []; var _n = true; var _d = false; var _s, _e; try { for (_i = _i.call(arr); !(_n = (_s = _i.next()).done); _n = true) { _arr.push(_s.value); if (i && _arr.length === i) break; } } catch (err) { _d = true; _e = err; } finally { try { if (!_n && _i[\"return\"] != null) _i[\"return\"](); } finally { if (_d) throw _e; } } return _arr; }\n\nfunction _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } }\n\nfunction _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); Object.defineProperty(Constructor, \"prototype\", { writable: false }); return Constructor; }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function\"); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, writable: true, configurable: true } }); Object.defineProperty(subClass, \"prototype\", { writable: false }); if (superClass) _setPrototypeOf(subClass, superClass); }\n\nfunction _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); }\n\nfunction _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = _getPrototypeOf(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = _getPrototypeOf(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return _possibleConstructorReturn(this, result); }; }\n\nfunction _possibleConstructorReturn(self, call) { if (call && (_typeof(call) === \"object\" || typeof call === \"function\")) { return call; } else if (call !== void 0) { throw new TypeError(\"Derived constructors may only return object or undefined\"); } return _assertThisInitialized(self); }\n\nfunction _assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return self; }\n\nfunction _isNativeReflectConstruct() { if (typeof Reflect === \"undefined\" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === \"function\") return true; try { Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); return true; } catch (e) { return false; } }\n\nfunction _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return _getPrototypeOf(o); }\n\nfunction _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\n\n// End Types\nvar layoutClassName = \"react-grid-layout\";\nvar isFirefox = false; // Try...catch will protect from navigator not existing (e.g. node) or a bad implementation of navigator\n\ntry {\n isFirefox = /firefox/i.test(navigator.userAgent);\n} catch (e) {\n /* Ignore */\n}\n/**\n * A reactive, fluid grid layout with draggable, resizable components.\n */\n\n\nvar ReactGridLayout = /*#__PURE__*/function (_React$Component) {\n _inherits(ReactGridLayout, _React$Component);\n\n var _super = _createSuper(ReactGridLayout);\n\n function ReactGridLayout() {\n var _this;\n\n _classCallCheck(this, ReactGridLayout);\n\n for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n\n _this = _super.call.apply(_super, [this].concat(args));\n\n _defineProperty(_assertThisInitialized(_this), \"state\", {\n activeDrag: null,\n layout: (0, _utils.synchronizeLayoutWithChildren)(_this.props.layout, _this.props.children, _this.props.cols, // Legacy support for verticalCompact: false\n (0, _utils.compactType)(_this.props), _this.props.allowOverlap),\n mounted: false,\n oldDragItem: null,\n oldLayout: null,\n oldResizeItem: null,\n droppingDOMNode: null,\n children: []\n });\n\n _defineProperty(_assertThisInitialized(_this), \"dragEnterCounter\", 0);\n\n _defineProperty(_assertThisInitialized(_this), \"onDragStart\", function (i\n /*: string*/\n , x\n /*: number*/\n , y\n /*: number*/\n , _ref) {\n var e = _ref.e,\n node = _ref.node;\n var layout = _this.state.layout;\n var l = (0, _utils.getLayoutItem)(layout, i);\n if (!l) return;\n\n _this.setState({\n oldDragItem: (0, _utils.cloneLayoutItem)(l),\n oldLayout: layout\n });\n\n return _this.props.onDragStart(layout, l, l, null, e, node);\n });\n\n _defineProperty(_assertThisInitialized(_this), \"onDrag\", function (i, x, y, _ref2) {\n var e = _ref2.e,\n node = _ref2.node;\n var oldDragItem = _this.state.oldDragItem;\n var layout = _this.state.layout;\n var _this$props = _this.props,\n cols = _this$props.cols,\n allowOverlap = _this$props.allowOverlap,\n preventCollision = _this$props.preventCollision;\n var l = (0, _utils.getLayoutItem)(layout, i);\n if (!l) return; // Create placeholder (display only)\n\n var placeholder = {\n w: l.w,\n h: l.h,\n x: l.x,\n y: l.y,\n placeholder: true,\n i: i\n }; // Move the element to the dragged location.\n\n var isUserAction = true;\n layout = (0, _utils.moveElement)(layout, l, x, y, isUserAction, preventCollision, (0, _utils.compactType)(_this.props), cols, allowOverlap);\n\n _this.props.onDrag(layout, oldDragItem, l, placeholder, e, node);\n\n _this.setState({\n layout: allowOverlap ? layout : (0, _utils.compact)(layout, (0, _utils.compactType)(_this.props), cols),\n activeDrag: placeholder\n });\n });\n\n _defineProperty(_assertThisInitialized(_this), \"onDragStop\", function (i, x, y, _ref3) {\n var e = _ref3.e,\n node = _ref3.node;\n if (!_this.state.activeDrag) return;\n var oldDragItem = _this.state.oldDragItem;\n var layout = _this.state.layout;\n var _this$props2 = _this.props,\n cols = _this$props2.cols,\n preventCollision = _this$props2.preventCollision,\n allowOverlap = _this$props2.allowOverlap;\n var l = (0, _utils.getLayoutItem)(layout, i);\n if (!l) return; // Move the element here\n\n var isUserAction = true;\n layout = (0, _utils.moveElement)(layout, l, x, y, isUserAction, preventCollision, (0, _utils.compactType)(_this.props), cols, allowOverlap);\n\n _this.props.onDragStop(layout, oldDragItem, l, null, e, node); // Set state\n\n\n var newLayout = allowOverlap ? layout : (0, _utils.compact)(layout, (0, _utils.compactType)(_this.props), cols);\n var oldLayout = _this.state.oldLayout;\n\n _this.setState({\n activeDrag: null,\n layout: newLayout,\n oldDragItem: null,\n oldLayout: null\n });\n\n _this.onLayoutMaybeChanged(newLayout, oldLayout);\n });\n\n _defineProperty(_assertThisInitialized(_this), \"onResizeStart\", function (i, w, h, _ref4) {\n var e = _ref4.e,\n node = _ref4.node;\n var layout = _this.state.layout;\n var l = (0, _utils.getLayoutItem)(layout, i);\n if (!l) return;\n\n _this.setState({\n oldResizeItem: (0, _utils.cloneLayoutItem)(l),\n oldLayout: _this.state.layout\n });\n\n _this.props.onResizeStart(layout, l, l, null, e, node);\n });\n\n _defineProperty(_assertThisInitialized(_this), \"onResize\", function (i, w, h, _ref5) {\n var e = _ref5.e,\n node = _ref5.node;\n var _this$state = _this.state,\n layout = _this$state.layout,\n oldResizeItem = _this$state.oldResizeItem;\n var _this$props3 = _this.props,\n cols = _this$props3.cols,\n preventCollision = _this$props3.preventCollision,\n allowOverlap = _this$props3.allowOverlap;\n\n var _withLayoutItem = (0, _utils.withLayoutItem)(layout, i, function (l) {\n // Something like quad tree should be used\n // to find collisions faster\n var hasCollisions;\n\n if (preventCollision && !allowOverlap) {\n var collisions = (0, _utils.getAllCollisions)(layout, _objectSpread(_objectSpread({}, l), {}, {\n w: w,\n h: h\n })).filter(function (layoutItem) {\n return layoutItem.i !== l.i;\n });\n hasCollisions = collisions.length > 0; // If we're colliding, we need adjust the placeholder.\n\n // If we're colliding, we need adjust the placeholder.\n if (hasCollisions) {\n // adjust w && h to maximum allowed space\n var leastX = Infinity,\n leastY = Infinity;\n collisions.forEach(function (layoutItem) {\n if (layoutItem.x > l.x) leastX = Math.min(leastX, layoutItem.x);\n if (layoutItem.y > l.y) leastY = Math.min(leastY, layoutItem.y);\n });\n if (Number.isFinite(leastX)) l.w = leastX - l.x;\n if (Number.isFinite(leastY)) l.h = leastY - l.y;\n }\n }\n\n if (!hasCollisions) {\n // Set new width and height.\n l.w = w;\n l.h = h;\n }\n\n return l;\n }),\n _withLayoutItem2 = _slicedToArray(_withLayoutItem, 2),\n newLayout = _withLayoutItem2[0],\n l = _withLayoutItem2[1]; // Shouldn't ever happen, but typechecking makes it necessary\n\n\n if (!l) return; // Create placeholder element (display only)\n\n var placeholder = {\n w: l.w,\n h: l.h,\n x: l.x,\n y: l.y,\n static: true,\n i: i\n };\n\n _this.props.onResize(newLayout, oldResizeItem, l, placeholder, e, node); // Re-compact the newLayout and set the drag placeholder.\n\n\n _this.setState({\n layout: allowOverlap ? newLayout : (0, _utils.compact)(newLayout, (0, _utils.compactType)(_this.props), cols),\n activeDrag: placeholder\n });\n });\n\n _defineProperty(_assertThisInitialized(_this), \"onResizeStop\", function (i, w, h, _ref6) {\n var e = _ref6.e,\n node = _ref6.node;\n var _this$state2 = _this.state,\n layout = _this$state2.layout,\n oldResizeItem = _this$state2.oldResizeItem;\n var _this$props4 = _this.props,\n cols = _this$props4.cols,\n allowOverlap = _this$props4.allowOverlap;\n var l = (0, _utils.getLayoutItem)(layout, i);\n\n _this.props.onResizeStop(layout, oldResizeItem, l, null, e, node); // Set state\n\n\n var newLayout = allowOverlap ? layout : (0, _utils.compact)(layout, (0, _utils.compactType)(_this.props), cols);\n var oldLayout = _this.state.oldLayout;\n\n _this.setState({\n activeDrag: null,\n layout: newLayout,\n oldResizeItem: null,\n oldLayout: null\n });\n\n _this.onLayoutMaybeChanged(newLayout, oldLayout);\n });\n\n _defineProperty(_assertThisInitialized(_this), \"onDragOver\", function (e) {\n var _e$nativeEvent$target;\n\n e.preventDefault(); // Prevent any browser native action\n\n e.stopPropagation(); // we should ignore events from layout's children in Firefox\n // to avoid unpredictable jumping of a dropping placeholder\n // FIXME remove this hack\n\n if (isFirefox && // $FlowIgnore can't figure this out\n !((_e$nativeEvent$target = e.nativeEvent.target) !== null && _e$nativeEvent$target !== void 0 && _e$nativeEvent$target.classList.contains(layoutClassName))) {\n return false;\n }\n\n var _this$props5 = _this.props,\n droppingItem = _this$props5.droppingItem,\n onDropDragOver = _this$props5.onDropDragOver,\n margin = _this$props5.margin,\n cols = _this$props5.cols,\n rowHeight = _this$props5.rowHeight,\n maxRows = _this$props5.maxRows,\n width = _this$props5.width,\n containerPadding = _this$props5.containerPadding,\n transformScale = _this$props5.transformScale; // Allow user to customize the dropping item or short-circuit the drop based on the results\n // of the `onDragOver(e: Event)` callback.\n\n var onDragOverResult = onDropDragOver === null || onDropDragOver === void 0 ? void 0 : onDropDragOver(e);\n\n if (onDragOverResult === false) {\n if (_this.state.droppingDOMNode) {\n _this.removeDroppingPlaceholder();\n }\n\n return false;\n }\n\n var finalDroppingItem = _objectSpread(_objectSpread({}, droppingItem), onDragOverResult);\n\n var layout = _this.state.layout; // This is relative to the DOM element that this event fired for.\n\n var _e$nativeEvent = e.nativeEvent,\n layerX = _e$nativeEvent.layerX,\n layerY = _e$nativeEvent.layerY;\n var droppingPosition = {\n left: layerX / transformScale,\n top: layerY / transformScale,\n e: e\n };\n\n if (!_this.state.droppingDOMNode) {\n var positionParams\n /*: PositionParams*/\n = {\n cols: cols,\n margin: margin,\n maxRows: maxRows,\n rowHeight: rowHeight,\n containerWidth: width,\n containerPadding: containerPadding || margin\n };\n var calculatedPosition = (0, _calculateUtils.calcXY)(positionParams, layerY, layerX, finalDroppingItem.w, finalDroppingItem.h);\n\n _this.setState({\n droppingDOMNode: /*#__PURE__*/React.createElement(\"div\", {\n key: finalDroppingItem.i\n }),\n droppingPosition: droppingPosition,\n layout: [].concat(_toConsumableArray(layout), [_objectSpread(_objectSpread({}, finalDroppingItem), {}, {\n x: calculatedPosition.x,\n y: calculatedPosition.y,\n static: false,\n isDraggable: true\n })])\n });\n } else if (_this.state.droppingPosition) {\n var _this$state$droppingP = _this.state.droppingPosition,\n left = _this$state$droppingP.left,\n top = _this$state$droppingP.top;\n var shouldUpdatePosition = left != layerX || top != layerY;\n\n if (shouldUpdatePosition) {\n _this.setState({\n droppingPosition: droppingPosition\n });\n }\n }\n });\n\n _defineProperty(_assertThisInitialized(_this), \"removeDroppingPlaceholder\", function () {\n var _this$props6 = _this.props,\n droppingItem = _this$props6.droppingItem,\n cols = _this$props6.cols;\n var layout = _this.state.layout;\n var newLayout = (0, _utils.compact)(layout.filter(function (l) {\n return l.i !== droppingItem.i;\n }), (0, _utils.compactType)(_this.props), cols);\n\n _this.setState({\n layout: newLayout,\n droppingDOMNode: null,\n activeDrag: null,\n droppingPosition: undefined\n });\n });\n\n _defineProperty(_assertThisInitialized(_this), \"onDragLeave\", function (e) {\n e.preventDefault(); // Prevent any browser native action\n\n e.stopPropagation();\n _this.dragEnterCounter--; // onDragLeave can be triggered on each layout's child.\n // But we know that count of dragEnter and dragLeave events\n // will be balanced after leaving the layout's container\n // so we can increase and decrease count of dragEnter and\n // when it'll be equal to 0 we'll remove the placeholder\n\n if (_this.dragEnterCounter === 0) {\n _this.removeDroppingPlaceholder();\n }\n });\n\n _defineProperty(_assertThisInitialized(_this), \"onDragEnter\", function (e) {\n e.preventDefault(); // Prevent any browser native action\n\n e.stopPropagation();\n _this.dragEnterCounter++;\n });\n\n _defineProperty(_assertThisInitialized(_this), \"onDrop\", function (e\n /*: Event*/\n ) {\n e.preventDefault(); // Prevent any browser native action\n\n e.stopPropagation();\n var droppingItem = _this.props.droppingItem;\n var layout = _this.state.layout;\n var item = layout.find(function (l) {\n return l.i === droppingItem.i;\n }); // reset dragEnter counter on drop\n\n _this.dragEnterCounter = 0;\n\n _this.removeDroppingPlaceholder();\n\n _this.props.onDrop(layout, item, e);\n });\n\n return _this;\n }\n\n _createClass(ReactGridLayout, [{\n key: \"componentDidMount\",\n value: function componentDidMount() {\n this.setState({\n mounted: true\n }); // Possibly call back with layout on mount. This should be done after correcting the layout width\n // to ensure we don't rerender with the wrong width.\n\n this.onLayoutMaybeChanged(this.state.layout, this.props.layout);\n }\n }, {\n key: \"shouldComponentUpdate\",\n value: function shouldComponentUpdate(nextProps\n /*: Props*/\n , nextState\n /*: State*/\n )\n /*: boolean*/\n {\n return (// NOTE: this is almost always unequal. Therefore the only way to get better performance\n // from SCU is if the user intentionally memoizes children. If they do, and they can\n // handle changes properly, performance will increase.\n this.props.children !== nextProps.children || !(0, _utils.fastRGLPropsEqual)(this.props, nextProps, _lodash.default) || this.state.activeDrag !== nextState.activeDrag || this.state.mounted !== nextState.mounted || this.state.droppingPosition !== nextState.droppingPosition\n );\n }\n }, {\n key: \"componentDidUpdate\",\n value: function componentDidUpdate(prevProps\n /*: Props*/\n , prevState\n /*: State*/\n ) {\n if (!this.state.activeDrag) {\n var newLayout = this.state.layout;\n var oldLayout = prevState.layout;\n this.onLayoutMaybeChanged(newLayout, oldLayout);\n }\n }\n /**\n * Calculates a pixel value for the container.\n * @return {String} Container height in pixels.\n */\n\n }, {\n key: \"containerHeight\",\n value: function containerHeight()\n /*: ?string*/\n {\n if (!this.props.autoSize) return;\n var nbRow = (0, _utils.bottom)(this.state.layout);\n var containerPaddingY = this.props.containerPadding ? this.props.containerPadding[1] : this.props.margin[1];\n return nbRow * this.props.rowHeight + (nbRow - 1) * this.props.margin[1] + containerPaddingY * 2 + \"px\";\n }\n /**\n * When dragging starts\n * @param {String} i Id of the child\n * @param {Number} x X position of the move\n * @param {Number} y Y position of the move\n * @param {Event} e The mousedown event\n * @param {Element} node The current dragging DOM element\n */\n\n }, {\n key: \"onLayoutMaybeChanged\",\n value: function onLayoutMaybeChanged(newLayout\n /*: Layout*/\n , oldLayout\n /*: ?Layout*/\n ) {\n if (!oldLayout) oldLayout = this.state.layout;\n\n if (!(0, _lodash.default)(oldLayout, newLayout)) {\n this.props.onLayoutChange(newLayout);\n }\n }\n }, {\n key: \"placeholder\",\n value:\n /**\n * Create a placeholder object.\n * @return {Element} Placeholder div.\n */\n function placeholder()\n /*: ?ReactElement*/\n {\n var activeDrag = this.state.activeDrag;\n if (!activeDrag) return null;\n var _this$props7 = this.props,\n width = _this$props7.width,\n cols = _this$props7.cols,\n margin = _this$props7.margin,\n containerPadding = _this$props7.containerPadding,\n rowHeight = _this$props7.rowHeight,\n maxRows = _this$props7.maxRows,\n useCSSTransforms = _this$props7.useCSSTransforms,\n transformScale = _this$props7.transformScale; // {...this.state.activeDrag} is pretty slow, actually\n\n return /*#__PURE__*/React.createElement(_GridItem.default, {\n w: activeDrag.w,\n h: activeDrag.h,\n x: activeDrag.x,\n y: activeDrag.y,\n i: activeDrag.i,\n className: \"react-grid-placeholder\",\n containerWidth: width,\n cols: cols,\n margin: margin,\n containerPadding: containerPadding || margin,\n maxRows: maxRows,\n rowHeight: rowHeight,\n isDraggable: false,\n isResizable: false,\n isBounded: false,\n useCSSTransforms: useCSSTransforms,\n transformScale: transformScale\n }, /*#__PURE__*/React.createElement(\"div\", null));\n }\n /**\n * Given a grid item, set its style attributes & surround in a .\n * @param {Element} child React element.\n * @return {Element} Element wrapped in draggable and properly placed.\n */\n\n }, {\n key: \"processGridItem\",\n value: function processGridItem(child\n /*: ReactElement*/\n , isDroppingItem\n /*: boolean*/\n )\n /*: ?ReactElement*/\n {\n if (!child || !child.key) return;\n var l = (0, _utils.getLayoutItem)(this.state.layout, String(child.key));\n if (!l) return null;\n var _this$props8 = this.props,\n width = _this$props8.width,\n cols = _this$props8.cols,\n margin = _this$props8.margin,\n containerPadding = _this$props8.containerPadding,\n rowHeight = _this$props8.rowHeight,\n maxRows = _this$props8.maxRows,\n isDraggable = _this$props8.isDraggable,\n isResizable = _this$props8.isResizable,\n isBounded = _this$props8.isBounded,\n useCSSTransforms = _this$props8.useCSSTransforms,\n transformScale = _this$props8.transformScale,\n draggableCancel = _this$props8.draggableCancel,\n draggableHandle = _this$props8.draggableHandle,\n resizeHandles = _this$props8.resizeHandles,\n resizeHandle = _this$props8.resizeHandle;\n var _this$state3 = this.state,\n mounted = _this$state3.mounted,\n droppingPosition = _this$state3.droppingPosition; // Determine user manipulations possible.\n // If an item is static, it can't be manipulated by default.\n // Any properties defined directly on the grid item will take precedence.\n\n var draggable = typeof l.isDraggable === \"boolean\" ? l.isDraggable : !l.static && isDraggable;\n var resizable = typeof l.isResizable === \"boolean\" ? l.isResizable : !l.static && isResizable;\n var resizeHandlesOptions = l.resizeHandles || resizeHandles; // isBounded set on child if set on parent, and child is not explicitly false\n\n var bounded = draggable && isBounded && l.isBounded !== false;\n return /*#__PURE__*/React.createElement(_GridItem.default, {\n containerWidth: width,\n cols: cols,\n margin: margin,\n containerPadding: containerPadding || margin,\n maxRows: maxRows,\n rowHeight: rowHeight,\n cancel: draggableCancel,\n handle: draggableHandle,\n onDragStop: this.onDragStop,\n onDragStart: this.onDragStart,\n onDrag: this.onDrag,\n onResizeStart: this.onResizeStart,\n onResize: this.onResize,\n onResizeStop: this.onResizeStop,\n isDraggable: draggable,\n isResizable: resizable,\n isBounded: bounded,\n useCSSTransforms: useCSSTransforms && mounted,\n usePercentages: !mounted,\n transformScale: transformScale,\n w: l.w,\n h: l.h,\n x: l.x,\n y: l.y,\n i: l.i,\n minH: l.minH,\n minW: l.minW,\n maxH: l.maxH,\n maxW: l.maxW,\n static: l.static,\n droppingPosition: isDroppingItem ? droppingPosition : undefined,\n resizeHandles: resizeHandlesOptions,\n resizeHandle: resizeHandle\n }, child);\n } // Called while dragging an element. Part of browser native drag/drop API.\n // Native event target might be the layout itself, or an element within the layout.\n\n }, {\n key: \"render\",\n value: function render()\n /*: React.Element<\"div\">*/\n {\n var _this2 = this;\n\n var _this$props9 = this.props,\n className = _this$props9.className,\n style = _this$props9.style,\n isDroppable = _this$props9.isDroppable,\n innerRef = _this$props9.innerRef;\n var mergedClassName = (0, _clsx.default)(layoutClassName, className);\n\n var mergedStyle = _objectSpread({\n height: this.containerHeight()\n }, style);\n\n return /*#__PURE__*/React.createElement(\"div\", {\n ref: innerRef,\n className: mergedClassName,\n style: mergedStyle,\n onDrop: isDroppable ? this.onDrop : _utils.noop,\n onDragLeave: isDroppable ? this.onDragLeave : _utils.noop,\n onDragEnter: isDroppable ? this.onDragEnter : _utils.noop,\n onDragOver: isDroppable ? this.onDragOver : _utils.noop\n }, React.Children.map(this.props.children, function (child) {\n return _this2.processGridItem(child);\n }), isDroppable && this.state.droppingDOMNode && this.processGridItem(this.state.droppingDOMNode, true), this.placeholder());\n }\n }], [{\n key: \"getDerivedStateFromProps\",\n value: function getDerivedStateFromProps(nextProps\n /*: Props*/\n , prevState\n /*: State*/\n )\n /*: $Shape | null*/\n {\n var newLayoutBase;\n\n if (prevState.activeDrag) {\n return null;\n } // Legacy support for compactType\n // Allow parent to set layout directly.\n\n\n if (!(0, _lodash.default)(nextProps.layout, prevState.propsLayout) || nextProps.compactType !== prevState.compactType) {\n newLayoutBase = nextProps.layout;\n } else if (!(0, _utils.childrenEqual)(nextProps.children, prevState.children)) {\n // If children change, also regenerate the layout. Use our state\n // as the base in case because it may be more up to date than\n // what is in props.\n newLayoutBase = prevState.layout;\n } // We need to regenerate the layout.\n\n\n if (newLayoutBase) {\n var newLayout = (0, _utils.synchronizeLayoutWithChildren)(newLayoutBase, nextProps.children, nextProps.cols, (0, _utils.compactType)(nextProps), nextProps.allowOverlap);\n return {\n layout: newLayout,\n // We need to save these props to state for using\n // getDerivedStateFromProps instead of componentDidMount (in which we would get extra rerender)\n compactType: nextProps.compactType,\n children: nextProps.children,\n propsLayout: nextProps.layout\n };\n }\n\n return null;\n }\n }]);\n\n return ReactGridLayout;\n}(React.Component);\n\nexports.default = ReactGridLayout;\n\n_defineProperty(ReactGridLayout, \"displayName\", \"ReactGridLayout\");\n\n_defineProperty(ReactGridLayout, \"propTypes\", _ReactGridLayoutPropTypes.default);\n\n_defineProperty(ReactGridLayout, \"defaultProps\", {\n autoSize: true,\n cols: 12,\n className: \"\",\n style: {},\n draggableHandle: \"\",\n draggableCancel: \"\",\n containerPadding: null,\n rowHeight: 150,\n maxRows: Infinity,\n // infinite vertical growth\n layout: [],\n margin: [10, 10],\n isBounded: false,\n isDraggable: true,\n isResizable: true,\n allowOverlap: false,\n isDroppable: false,\n useCSSTransforms: true,\n transformScale: 1,\n verticalCompact: true,\n compactType: \"vertical\",\n preventCollision: false,\n droppingItem: {\n i: \"__dropping-elem__\",\n h: 1,\n w: 1\n },\n resizeHandles: [\"se\"],\n onLayoutChange: _utils.noop,\n onDragStart: _utils.noop,\n onDrag: _utils.noop,\n onDragStop: _utils.noop,\n onResizeStart: _utils.noop,\n onResize: _utils.noop,\n onResizeStop: _utils.noop,\n onDrop: _utils.noop,\n onDropDragOver: _utils.noop\n});","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.resizeHandleType = exports.resizeHandleAxesType = exports.default = void 0;\n\nvar _propTypes = _interopRequireDefault(require(\"prop-types\"));\n\nvar _react = _interopRequireDefault(require(\"react\"));\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\n// Defines which resize handles should be rendered (default: 'se')\n// Allows for any combination of:\n// 's' - South handle (bottom-center)\n// 'w' - West handle (left-center)\n// 'e' - East handle (right-center)\n// 'n' - North handle (top-center)\n// 'sw' - Southwest handle (bottom-left)\n// 'nw' - Northwest handle (top-left)\n// 'se' - Southeast handle (bottom-right)\n// 'ne' - Northeast handle (top-right)\nvar resizeHandleAxesType\n/*: ReactPropsChainableTypeChecker*/\n= _propTypes.default.arrayOf(_propTypes.default.oneOf([\"s\", \"w\", \"e\", \"n\", \"sw\", \"nw\", \"se\", \"ne\"])); // Custom component for resize handles\n\n\nexports.resizeHandleAxesType = resizeHandleAxesType;\n\nvar resizeHandleType\n/*: ReactPropsChainableTypeChecker*/\n= _propTypes.default.oneOfType([_propTypes.default.node, _propTypes.default.func]);\n/*:: export type Props = {|\n className: string,\n style: Object,\n width: number,\n autoSize: boolean,\n cols: number,\n draggableCancel: string,\n draggableHandle: string,\n verticalCompact: boolean,\n compactType: CompactType,\n layout: Layout,\n margin: [number, number],\n containerPadding: ?[number, number],\n rowHeight: number,\n maxRows: number,\n isBounded: boolean,\n isDraggable: boolean,\n isResizable: boolean,\n isDroppable: boolean,\n preventCollision: boolean,\n useCSSTransforms: boolean,\n transformScale: number,\n droppingItem: $Shape,\n resizeHandles: ResizeHandleAxis[],\n resizeHandle?: ResizeHandle,\n allowOverlap: boolean,\n\n // Callbacks\n onLayoutChange: Layout => void,\n onDrag: EventCallback,\n onDragStart: EventCallback,\n onDragStop: EventCallback,\n onResize: EventCallback,\n onResizeStart: EventCallback,\n onResizeStop: EventCallback,\n onDropDragOver: (e: DragOverEvent) => ?({| w?: number, h?: number |} | false),\n onDrop: (layout: Layout, item: ?LayoutItem, e: Event) => void,\n children: ReactChildrenArray>,\n innerRef?: Ref<\"div\">\n|};*/\n\n/*:: export type DefaultProps = $Diff<\n Props,\n {\n children: ReactChildrenArray>,\n width: number\n }\n>;*/\n\n\nexports.resizeHandleType = resizeHandleType;\nvar _default = {\n //\n // Basic props\n //\n className: _propTypes.default.string,\n style: _propTypes.default.object,\n // This can be set explicitly. If it is not set, it will automatically\n // be set to the container width. Note that resizes will *not* cause this to adjust.\n // If you need that behavior, use WidthProvider.\n width: _propTypes.default.number,\n // If true, the container height swells and contracts to fit contents\n autoSize: _propTypes.default.bool,\n // # of cols.\n cols: _propTypes.default.number,\n // A selector that will not be draggable.\n draggableCancel: _propTypes.default.string,\n // A selector for the draggable handler\n draggableHandle: _propTypes.default.string,\n // Deprecated\n verticalCompact: function verticalCompact(props\n /*: Props*/\n ) {\n if (props.verticalCompact === false && process.env.NODE_ENV !== \"production\") {\n console.warn( // eslint-disable-line no-console\n \"`verticalCompact` on is deprecated and will be removed soon. \" + 'Use `compactType`: \"horizontal\" | \"vertical\" | null.');\n }\n },\n // Choose vertical or hotizontal compaction\n compactType: (_propTypes.default.oneOf([\"vertical\", \"horizontal\"])\n /*: ReactPropsChainableTypeChecker*/\n ),\n // layout is an array of object with the format:\n // {x: Number, y: Number, w: Number, h: Number, i: String}\n layout: function layout(props\n /*: Props*/\n ) {\n var layout = props.layout; // I hope you're setting the data-grid property on the grid items\n\n if (layout === undefined) return;\n\n require(\"./utils\").validateLayout(layout, \"layout\");\n },\n //\n // Grid Dimensions\n //\n // Margin between items [x, y] in px\n margin: (_propTypes.default.arrayOf(_propTypes.default.number)\n /*: ReactPropsChainableTypeChecker*/\n ),\n // Padding inside the container [x, y] in px\n containerPadding: (_propTypes.default.arrayOf(_propTypes.default.number)\n /*: ReactPropsChainableTypeChecker*/\n ),\n // Rows have a static height, but you can change this based on breakpoints if you like\n rowHeight: _propTypes.default.number,\n // Default Infinity, but you can specify a max here if you like.\n // Note that this isn't fully fleshed out and won't error if you specify a layout that\n // extends beyond the row capacity. It will, however, not allow users to drag/resize\n // an item past the barrier. They can push items beyond the barrier, though.\n // Intentionally not documented for this reason.\n maxRows: _propTypes.default.number,\n //\n // Flags\n //\n isBounded: _propTypes.default.bool,\n isDraggable: _propTypes.default.bool,\n isResizable: _propTypes.default.bool,\n // If true, grid can be placed one over the other.\n allowOverlap: _propTypes.default.bool,\n // If true, grid items won't change position when being dragged over.\n preventCollision: _propTypes.default.bool,\n // Use CSS transforms instead of top/left\n useCSSTransforms: _propTypes.default.bool,\n // parent layout transform scale\n transformScale: _propTypes.default.number,\n // If true, an external element can trigger onDrop callback with a specific grid position as a parameter\n isDroppable: _propTypes.default.bool,\n // Resize handle options\n resizeHandles: resizeHandleAxesType,\n resizeHandle: resizeHandleType,\n //\n // Callbacks\n //\n // Callback so you can save the layout. Calls after each drag & resize stops.\n onLayoutChange: _propTypes.default.func,\n // Calls when drag starts. Callback is of the signature (layout, oldItem, newItem, placeholder, e, ?node).\n // All callbacks below have the same signature. 'start' and 'stop' callbacks omit the 'placeholder'.\n onDragStart: _propTypes.default.func,\n // Calls on each drag movement.\n onDrag: _propTypes.default.func,\n // Calls when drag is complete.\n onDragStop: _propTypes.default.func,\n //Calls when resize starts.\n onResizeStart: _propTypes.default.func,\n // Calls when resize movement happens.\n onResize: _propTypes.default.func,\n // Calls when resize is complete.\n onResizeStop: _propTypes.default.func,\n // Calls when some element is dropped.\n onDrop: _propTypes.default.func,\n //\n // Other validations\n //\n droppingItem: (_propTypes.default.shape({\n i: _propTypes.default.string.isRequired,\n w: _propTypes.default.number.isRequired,\n h: _propTypes.default.number.isRequired\n })\n /*: ReactPropsChainableTypeChecker*/\n ),\n // Children must not have duplicate keys.\n children: function children(props\n /*: Props*/\n , propName\n /*: string*/\n ) {\n var children = props[propName]; // Check children keys for duplicates. Throw if found.\n\n var keys = {};\n\n _react.default.Children.forEach(children, function (child) {\n if ((child === null || child === void 0 ? void 0 : child.key) == null) return;\n\n if (keys[child.key]) {\n throw new Error('Duplicate child key \"' + child.key + '\" found! This will cause problems in ReactGridLayout.');\n }\n\n keys[child.key] = true;\n });\n },\n // Optional ref for getting a reference for the wrapping div.\n innerRef: _propTypes.default.any\n};\nexports.default = _default;","\"use strict\";\n\nfunction _typeof(obj) { \"@babel/helpers - typeof\"; return _typeof = \"function\" == typeof Symbol && \"symbol\" == typeof Symbol.iterator ? function (obj) { return typeof obj; } : function (obj) { return obj && \"function\" == typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; }, _typeof(obj); }\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = void 0;\n\nvar React = _interopRequireWildcard(require(\"react\"));\n\nvar _propTypes = _interopRequireDefault(require(\"prop-types\"));\n\nvar _lodash = _interopRequireDefault(require(\"lodash.isequal\"));\n\nvar _utils = require(\"./utils\");\n\nvar _responsiveUtils = require(\"./responsiveUtils\");\n\nvar _ReactGridLayout = _interopRequireDefault(require(\"./ReactGridLayout\"));\n\nvar _excluded = [\"breakpoint\", \"breakpoints\", \"cols\", \"layouts\", \"margin\", \"containerPadding\", \"onBreakpointChange\", \"onLayoutChange\", \"onWidthChange\"];\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== \"function\") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }\n\nfunction _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || _typeof(obj) !== \"object\" && typeof obj !== \"function\") { return { default: obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== \"default\" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj.default = obj; if (cache) { cache.set(obj, newObj); } return newObj; }\n\nfunction _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\n\nfunction _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }\n\nfunction _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }\n\nfunction ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }\n\nfunction _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { _defineProperty(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } }\n\nfunction _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); Object.defineProperty(Constructor, \"prototype\", { writable: false }); return Constructor; }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function\"); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, writable: true, configurable: true } }); Object.defineProperty(subClass, \"prototype\", { writable: false }); if (superClass) _setPrototypeOf(subClass, superClass); }\n\nfunction _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); }\n\nfunction _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = _getPrototypeOf(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = _getPrototypeOf(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return _possibleConstructorReturn(this, result); }; }\n\nfunction _possibleConstructorReturn(self, call) { if (call && (_typeof(call) === \"object\" || typeof call === \"function\")) { return call; } else if (call !== void 0) { throw new TypeError(\"Derived constructors may only return object or undefined\"); } return _assertThisInitialized(self); }\n\nfunction _assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return self; }\n\nfunction _isNativeReflectConstruct() { if (typeof Reflect === \"undefined\" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === \"function\") return true; try { Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); return true; } catch (e) { return false; } }\n\nfunction _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return _getPrototypeOf(o); }\n\nfunction _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\n\n// $FlowFixMe[method-unbinding]\nvar type = function type(obj) {\n return Object.prototype.toString.call(obj);\n};\n/**\n * Get a value of margin or containerPadding.\n *\n * @param {Array | Object} param Margin | containerPadding, e.g. [10, 10] | {lg: [10, 10], ...}.\n * @param {String} breakpoint Breakpoint: lg, md, sm, xs and etc.\n * @return {Array}\n */\n\n\nfunction getIndentationValue\n/*:: */\n(param\n/*: { [key: string]: T } | T*/\n, breakpoint\n/*: string*/\n)\n/*: T*/\n{\n // $FlowIgnore TODO fix this typedef\n if (param == null) return null; // $FlowIgnore TODO fix this typedef\n\n return Array.isArray(param) ? param : param[breakpoint];\n}\n/*:: type State = {\n layout: Layout,\n breakpoint: string,\n cols: number,\n layouts?: ResponsiveLayout\n};*/\n\n/*:: type Props = {|\n ...React.ElementConfig,\n\n // Responsive config\n breakpoint?: ?Breakpoint,\n breakpoints: Breakpoints,\n cols: { [key: Breakpoint]: number },\n layouts: ResponsiveLayout,\n width: number,\n margin: { [key: Breakpoint]: [number, number] } | [number, number],\n /* prettier-ignore *-/\n containerPadding: { [key: Breakpoint]: ?[number, number] } | ?[number, number],\n\n // Callbacks\n onBreakpointChange: (Breakpoint, cols: number) => void,\n onLayoutChange: OnLayoutChangeCallback,\n onWidthChange: (\n containerWidth: number,\n margin: [number, number],\n cols: number,\n containerPadding: ?[number, number]\n ) => void\n|};*/\n\n/*:: type DefaultProps = Pick<\n Props<>,\n {|\n allowOverlap: 0,\n breakpoints: 0,\n cols: 0,\n containerPadding: 0,\n layouts: 0,\n margin: 0,\n onBreakpointChange: 0,\n onLayoutChange: 0,\n onWidthChange: 0\n |}\n>;*/\n\n\nvar ResponsiveReactGridLayout = /*#__PURE__*/function (_React$Component) {\n _inherits(ResponsiveReactGridLayout, _React$Component);\n\n var _super = _createSuper(ResponsiveReactGridLayout);\n\n function ResponsiveReactGridLayout() {\n var _this;\n\n _classCallCheck(this, ResponsiveReactGridLayout);\n\n for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n\n _this = _super.call.apply(_super, [this].concat(args));\n\n _defineProperty(_assertThisInitialized(_this), \"state\", _this.generateInitialState());\n\n _defineProperty(_assertThisInitialized(_this), \"onLayoutChange\", function (layout\n /*: Layout*/\n ) {\n _this.props.onLayoutChange(layout, _objectSpread(_objectSpread({}, _this.props.layouts), {}, _defineProperty({}, _this.state.breakpoint, layout)));\n });\n\n return _this;\n }\n\n _createClass(ResponsiveReactGridLayout, [{\n key: \"generateInitialState\",\n value: function generateInitialState()\n /*: State*/\n {\n var _this$props = this.props,\n width = _this$props.width,\n breakpoints = _this$props.breakpoints,\n layouts = _this$props.layouts,\n cols = _this$props.cols;\n var breakpoint = (0, _responsiveUtils.getBreakpointFromWidth)(breakpoints, width);\n var colNo = (0, _responsiveUtils.getColsFromBreakpoint)(breakpoint, cols); // verticalCompact compatibility, now deprecated\n\n var compactType = this.props.verticalCompact === false ? null : this.props.compactType; // Get the initial layout. This can tricky; we try to generate one however possible if one doesn't exist\n // for this layout.\n\n var initialLayout = (0, _responsiveUtils.findOrGenerateResponsiveLayout)(layouts, breakpoints, breakpoint, breakpoint, colNo, compactType);\n return {\n layout: initialLayout,\n breakpoint: breakpoint,\n cols: colNo\n };\n }\n }, {\n key: \"componentDidUpdate\",\n value: function componentDidUpdate(prevProps\n /*: Props<*>*/\n ) {\n // Allow parent to set width or breakpoint directly.\n if (this.props.width != prevProps.width || this.props.breakpoint !== prevProps.breakpoint || !(0, _lodash.default)(this.props.breakpoints, prevProps.breakpoints) || !(0, _lodash.default)(this.props.cols, prevProps.cols)) {\n this.onWidthChange(prevProps);\n }\n } // wrap layouts so we do not need to pass layouts to child\n\n }, {\n key: \"onWidthChange\",\n value:\n /**\n * When the width changes work through breakpoints and reset state with the new width & breakpoint.\n * Width changes are necessary to figure out the widget widths.\n */\n function onWidthChange(prevProps\n /*: Props<*>*/\n ) {\n var _this$props2 = this.props,\n breakpoints = _this$props2.breakpoints,\n cols = _this$props2.cols,\n layouts = _this$props2.layouts,\n compactType = _this$props2.compactType;\n var newBreakpoint = this.props.breakpoint || (0, _responsiveUtils.getBreakpointFromWidth)(this.props.breakpoints, this.props.width);\n var lastBreakpoint = this.state.breakpoint;\n var newCols\n /*: number*/\n = (0, _responsiveUtils.getColsFromBreakpoint)(newBreakpoint, cols);\n\n var newLayouts = _objectSpread({}, layouts); // Breakpoint change\n\n\n if (lastBreakpoint !== newBreakpoint || prevProps.breakpoints !== breakpoints || prevProps.cols !== cols) {\n // Preserve the current layout if the current breakpoint is not present in the next layouts.\n if (!(lastBreakpoint in newLayouts)) newLayouts[lastBreakpoint] = (0, _utils.cloneLayout)(this.state.layout); // Find or generate a new layout.\n\n var layout = (0, _responsiveUtils.findOrGenerateResponsiveLayout)(newLayouts, breakpoints, newBreakpoint, lastBreakpoint, newCols, compactType); // This adds missing items.\n\n layout = (0, _utils.synchronizeLayoutWithChildren)(layout, this.props.children, newCols, compactType, this.props.allowOverlap); // Store the new layout.\n\n newLayouts[newBreakpoint] = layout; // callbacks\n\n this.props.onLayoutChange(layout, newLayouts);\n this.props.onBreakpointChange(newBreakpoint, newCols);\n this.setState({\n breakpoint: newBreakpoint,\n layout: layout,\n cols: newCols\n });\n }\n\n var margin = getIndentationValue(this.props.margin, newBreakpoint);\n var containerPadding = getIndentationValue(this.props.containerPadding, newBreakpoint); //call onWidthChange on every change of width, not only on breakpoint changes\n\n this.props.onWidthChange(this.props.width, margin, newCols, containerPadding);\n }\n }, {\n key: \"render\",\n value: function render()\n /*: React.Element*/\n {\n /* eslint-disable no-unused-vars */\n var _this$props3 = this.props,\n breakpoint = _this$props3.breakpoint,\n breakpoints = _this$props3.breakpoints,\n cols = _this$props3.cols,\n layouts = _this$props3.layouts,\n margin = _this$props3.margin,\n containerPadding = _this$props3.containerPadding,\n onBreakpointChange = _this$props3.onBreakpointChange,\n onLayoutChange = _this$props3.onLayoutChange,\n onWidthChange = _this$props3.onWidthChange,\n other = _objectWithoutProperties(_this$props3, _excluded);\n /* eslint-enable no-unused-vars */\n\n\n return /*#__PURE__*/React.createElement(_ReactGridLayout.default, _extends({}, other, {\n // $FlowIgnore should allow nullable here due to DefaultProps\n margin: getIndentationValue(margin, this.state.breakpoint),\n containerPadding: getIndentationValue(containerPadding, this.state.breakpoint),\n onLayoutChange: this.onLayoutChange,\n layout: this.state.layout,\n cols: this.state.cols\n }));\n }\n }], [{\n key: \"getDerivedStateFromProps\",\n value: function getDerivedStateFromProps(nextProps\n /*: Props<*>*/\n , prevState\n /*: State*/\n )\n /*: ?$Shape*/\n {\n if (!(0, _lodash.default)(nextProps.layouts, prevState.layouts)) {\n // Allow parent to set layouts directly.\n var breakpoint = prevState.breakpoint,\n _cols = prevState.cols; // Since we're setting an entirely new layout object, we must generate a new responsive layout\n // if one does not exist.\n\n var newLayout = (0, _responsiveUtils.findOrGenerateResponsiveLayout)(nextProps.layouts, nextProps.breakpoints, breakpoint, breakpoint, _cols, nextProps.compactType);\n return {\n layout: newLayout,\n layouts: nextProps.layouts\n };\n }\n\n return null;\n }\n }]);\n\n return ResponsiveReactGridLayout;\n}(React.Component);\n\nexports.default = ResponsiveReactGridLayout;\n\n_defineProperty(ResponsiveReactGridLayout, \"propTypes\", {\n //\n // Basic props\n //\n // Optional, but if you are managing width yourself you may want to set the breakpoint\n // yourself as well.\n breakpoint: _propTypes.default.string,\n // {name: pxVal}, e.g. {lg: 1200, md: 996, sm: 768, xs: 480}\n breakpoints: _propTypes.default.object,\n allowOverlap: _propTypes.default.bool,\n // # of cols. This is a breakpoint -> cols map\n cols: _propTypes.default.object,\n // # of margin. This is a breakpoint -> margin map\n // e.g. { lg: [5, 5], md: [10, 10], sm: [15, 15] }\n // Margin between items [x, y] in px\n // e.g. [10, 10]\n margin: _propTypes.default.oneOfType([_propTypes.default.array, _propTypes.default.object]),\n // # of containerPadding. This is a breakpoint -> containerPadding map\n // e.g. { lg: [5, 5], md: [10, 10], sm: [15, 15] }\n // Padding inside the container [x, y] in px\n // e.g. [10, 10]\n containerPadding: _propTypes.default.oneOfType([_propTypes.default.array, _propTypes.default.object]),\n // layouts is an object mapping breakpoints to layouts.\n // e.g. {lg: Layout, md: Layout, ...}\n layouts: function layouts(props\n /*: Props<>*/\n , propName\n /*: string*/\n ) {\n if (type(props[propName]) !== \"[object Object]\") {\n throw new Error(\"Layout property must be an object. Received: \" + type(props[propName]));\n }\n\n Object.keys(props[propName]).forEach(function (key) {\n if (!(key in props.breakpoints)) {\n throw new Error(\"Each key in layouts must align with a key in breakpoints.\");\n }\n\n (0, _utils.validateLayout)(props.layouts[key], \"layouts.\" + key);\n });\n },\n // The width of this component.\n // Required in this propTypes stanza because generateInitialState() will fail without it.\n width: _propTypes.default.number.isRequired,\n //\n // Callbacks\n //\n // Calls back with breakpoint and new # cols\n onBreakpointChange: _propTypes.default.func,\n // Callback so you can save the layout.\n // Calls back with (currentLayout, allLayouts). allLayouts are keyed by breakpoint.\n onLayoutChange: _propTypes.default.func,\n // Calls back with (containerWidth, margin, cols, containerPadding)\n onWidthChange: _propTypes.default.func\n});\n\n_defineProperty(ResponsiveReactGridLayout, \"defaultProps\", {\n breakpoints: {\n lg: 1200,\n md: 996,\n sm: 768,\n xs: 480,\n xxs: 0\n },\n cols: {\n lg: 12,\n md: 10,\n sm: 6,\n xs: 4,\n xxs: 2\n },\n containerPadding: {\n lg: null,\n md: null,\n sm: null,\n xs: null,\n xxs: null\n },\n layouts: {},\n margin: [10, 10],\n allowOverlap: false,\n onBreakpointChange: _utils.noop,\n onLayoutChange: _utils.noop,\n onWidthChange: _utils.noop\n});","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.calcGridColWidth = calcGridColWidth;\nexports.calcGridItemPosition = calcGridItemPosition;\nexports.calcGridItemWHPx = calcGridItemWHPx;\nexports.calcWH = calcWH;\nexports.calcXY = calcXY;\nexports.clamp = clamp;\n\n/*:: import type { Position } from \"./utils\";*/\n\n/*:: export type PositionParams = {\n margin: [number, number],\n containerPadding: [number, number],\n containerWidth: number,\n cols: number,\n rowHeight: number,\n maxRows: number\n};*/\n// Helper for generating column width\nfunction calcGridColWidth(positionParams\n/*: PositionParams*/\n)\n/*: number*/\n{\n var margin = positionParams.margin,\n containerPadding = positionParams.containerPadding,\n containerWidth = positionParams.containerWidth,\n cols = positionParams.cols;\n return (containerWidth - margin[0] * (cols - 1) - containerPadding[0] * 2) / cols;\n} // This can either be called:\n// calcGridItemWHPx(w, colWidth, margin[0])\n// or\n// calcGridItemWHPx(h, rowHeight, margin[1])\n\n\nfunction calcGridItemWHPx(gridUnits\n/*: number*/\n, colOrRowSize\n/*: number*/\n, marginPx\n/*: number*/\n)\n/*: number*/\n{\n // 0 * Infinity === NaN, which causes problems with resize contraints\n if (!Number.isFinite(gridUnits)) return gridUnits;\n return Math.round(colOrRowSize * gridUnits + Math.max(0, gridUnits - 1) * marginPx);\n}\n/**\n * Return position on the page given an x, y, w, h.\n * left, top, width, height are all in pixels.\n * @param {PositionParams} positionParams Parameters of grid needed for coordinates calculations.\n * @param {Number} x X coordinate in grid units.\n * @param {Number} y Y coordinate in grid units.\n * @param {Number} w W coordinate in grid units.\n * @param {Number} h H coordinate in grid units.\n * @return {Position} Object containing coords.\n */\n\n\nfunction calcGridItemPosition(positionParams\n/*: PositionParams*/\n, x\n/*: number*/\n, y\n/*: number*/\n, w\n/*: number*/\n, h\n/*: number*/\n, state\n/*: ?Object*/\n)\n/*: Position*/\n{\n var margin = positionParams.margin,\n containerPadding = positionParams.containerPadding,\n rowHeight = positionParams.rowHeight;\n var colWidth = calcGridColWidth(positionParams);\n var out = {}; // If resizing, use the exact width and height as returned from resizing callbacks.\n\n if (state && state.resizing) {\n out.width = Math.round(state.resizing.width);\n out.height = Math.round(state.resizing.height);\n } // Otherwise, calculate from grid units.\n else {\n out.width = calcGridItemWHPx(w, colWidth, margin[0]);\n out.height = calcGridItemWHPx(h, rowHeight, margin[1]);\n } // If dragging, use the exact width and height as returned from dragging callbacks.\n\n\n if (state && state.dragging) {\n out.top = Math.round(state.dragging.top);\n out.left = Math.round(state.dragging.left);\n } // Otherwise, calculate from grid units.\n else {\n out.top = Math.round((rowHeight + margin[1]) * y + containerPadding[1]);\n out.left = Math.round((colWidth + margin[0]) * x + containerPadding[0]);\n }\n\n return out;\n}\n/**\n * Translate x and y coordinates from pixels to grid units.\n * @param {PositionParams} positionParams Parameters of grid needed for coordinates calculations.\n * @param {Number} top Top position (relative to parent) in pixels.\n * @param {Number} left Left position (relative to parent) in pixels.\n * @param {Number} w W coordinate in grid units.\n * @param {Number} h H coordinate in grid units.\n * @return {Object} x and y in grid units.\n */\n\n\nfunction calcXY(positionParams\n/*: PositionParams*/\n, top\n/*: number*/\n, left\n/*: number*/\n, w\n/*: number*/\n, h\n/*: number*/\n)\n/*: { x: number, y: number }*/\n{\n var margin = positionParams.margin,\n cols = positionParams.cols,\n rowHeight = positionParams.rowHeight,\n maxRows = positionParams.maxRows;\n var colWidth = calcGridColWidth(positionParams); // left = colWidth * x + margin * (x + 1)\n // l = cx + m(x+1)\n // l = cx + mx + m\n // l - m = cx + mx\n // l - m = x(c + m)\n // (l - m) / (c + m) = x\n // x = (left - margin) / (coldWidth + margin)\n\n var x = Math.round((left - margin[0]) / (colWidth + margin[0]));\n var y = Math.round((top - margin[1]) / (rowHeight + margin[1])); // Capping\n\n x = clamp(x, 0, cols - w);\n y = clamp(y, 0, maxRows - h);\n return {\n x: x,\n y: y\n };\n}\n/**\n * Given a height and width in pixel values, calculate grid units.\n * @param {PositionParams} positionParams Parameters of grid needed for coordinates calcluations.\n * @param {Number} height Height in pixels.\n * @param {Number} width Width in pixels.\n * @param {Number} x X coordinate in grid units.\n * @param {Number} y Y coordinate in grid units.\n * @return {Object} w, h as grid units.\n */\n\n\nfunction calcWH(positionParams\n/*: PositionParams*/\n, width\n/*: number*/\n, height\n/*: number*/\n, x\n/*: number*/\n, y\n/*: number*/\n)\n/*: { w: number, h: number }*/\n{\n var margin = positionParams.margin,\n maxRows = positionParams.maxRows,\n cols = positionParams.cols,\n rowHeight = positionParams.rowHeight;\n var colWidth = calcGridColWidth(positionParams); // width = colWidth * w - (margin * (w - 1))\n // ...\n // w = (width + margin) / (colWidth + margin)\n\n var w = Math.round((width + margin[0]) / (colWidth + margin[0]));\n var h = Math.round((height + margin[1]) / (rowHeight + margin[1])); // Capping\n\n w = clamp(w, 0, cols - x);\n h = clamp(h, 0, maxRows - y);\n return {\n w: w,\n h: h\n };\n} // Similar to _.clamp\n\n\nfunction clamp(num\n/*: number*/\n, lowerBound\n/*: number*/\n, upperBound\n/*: number*/\n)\n/*: number*/\n{\n return Math.max(Math.min(num, upperBound), lowerBound);\n}","\"use strict\";\n\nfunction _typeof(obj) { \"@babel/helpers - typeof\"; return _typeof = \"function\" == typeof Symbol && \"symbol\" == typeof Symbol.iterator ? function (obj) { return typeof obj; } : function (obj) { return obj && \"function\" == typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; }, _typeof(obj); }\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = WidthProvideRGL;\n\nvar React = _interopRequireWildcard(require(\"react\"));\n\nvar _propTypes = _interopRequireDefault(require(\"prop-types\"));\n\nvar _clsx = _interopRequireDefault(require(\"clsx\"));\n\nvar _excluded = [\"measureBeforeMount\"];\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== \"function\") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }\n\nfunction _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || _typeof(obj) !== \"object\" && typeof obj !== \"function\") { return { default: obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== \"default\" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj.default = obj; if (cache) { cache.set(obj, newObj); } return newObj; }\n\nfunction _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\n\nfunction _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }\n\nfunction _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } }\n\nfunction _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); Object.defineProperty(Constructor, \"prototype\", { writable: false }); return Constructor; }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function\"); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, writable: true, configurable: true } }); Object.defineProperty(subClass, \"prototype\", { writable: false }); if (superClass) _setPrototypeOf(subClass, superClass); }\n\nfunction _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); }\n\nfunction _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = _getPrototypeOf(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = _getPrototypeOf(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return _possibleConstructorReturn(this, result); }; }\n\nfunction _possibleConstructorReturn(self, call) { if (call && (_typeof(call) === \"object\" || typeof call === \"function\")) { return call; } else if (call !== void 0) { throw new TypeError(\"Derived constructors may only return object or undefined\"); } return _assertThisInitialized(self); }\n\nfunction _assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return self; }\n\nfunction _isNativeReflectConstruct() { if (typeof Reflect === \"undefined\" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === \"function\") return true; try { Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); return true; } catch (e) { return false; } }\n\nfunction _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return _getPrototypeOf(o); }\n\nfunction _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\n\nvar layoutClassName = \"react-grid-layout\";\n/*\n * A simple HOC that provides facility for listening to container resizes.\n *\n * The Flow type is pretty janky here. I can't just spread `WPProps` into this returned object - I wish I could - but it triggers\n * a flow bug of some sort that causes it to stop typechecking.\n */\n\nfunction WidthProvideRGL\n/*:: */\n(ComposedComponent\n/*: React.AbstractComponent*/\n)\n/*: React.AbstractComponent>*/\n{\n var _class;\n\n return _class = /*#__PURE__*/function (_React$Component) {\n _inherits(WidthProvider, _React$Component);\n\n var _super = _createSuper(WidthProvider);\n\n function WidthProvider() {\n var _this;\n\n _classCallCheck(this, WidthProvider);\n\n for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n\n _this = _super.call.apply(_super, [this].concat(args));\n\n _defineProperty(_assertThisInitialized(_this), \"state\", {\n width: 1280\n });\n\n _defineProperty(_assertThisInitialized(_this), \"elementRef\", /*#__PURE__*/React.createRef());\n\n _defineProperty(_assertThisInitialized(_this), \"mounted\", false);\n\n _defineProperty(_assertThisInitialized(_this), \"onWindowResize\", function () {\n if (!_this.mounted) return;\n var node = _this.elementRef.current; // Flow casts this to Text | Element\n // fix: grid position error when node or parentNode display is none by window resize\n // #924 #1084\n\n if (node instanceof HTMLElement && node.offsetWidth) {\n _this.setState({\n width: node.offsetWidth\n });\n }\n });\n\n return _this;\n }\n\n _createClass(WidthProvider, [{\n key: \"componentDidMount\",\n value: function componentDidMount() {\n this.mounted = true;\n window.addEventListener(\"resize\", this.onWindowResize); // Call to properly set the breakpoint and resize the elements.\n // Note that if you're doing a full-width element, this can get a little wonky if a scrollbar\n // appears because of the grid. In that case, fire your own resize event, or set `overflow: scroll` on your body.\n\n this.onWindowResize();\n }\n }, {\n key: \"componentWillUnmount\",\n value: function componentWillUnmount() {\n this.mounted = false;\n window.removeEventListener(\"resize\", this.onWindowResize);\n }\n }, {\n key: \"render\",\n value: function render() {\n var _this$props = this.props,\n measureBeforeMount = _this$props.measureBeforeMount,\n rest = _objectWithoutProperties(_this$props, _excluded);\n\n if (measureBeforeMount && !this.mounted) {\n return /*#__PURE__*/React.createElement(\"div\", {\n className: (0, _clsx.default)(this.props.className, layoutClassName),\n style: this.props.style // $FlowIgnore ref types\n ,\n ref: this.elementRef\n });\n }\n\n return /*#__PURE__*/React.createElement(ComposedComponent, _extends({\n innerRef: this.elementRef\n }, rest, this.state));\n }\n }]);\n\n return WidthProvider;\n }(React.Component), _defineProperty(_class, \"defaultProps\", {\n measureBeforeMount: false\n }), _defineProperty(_class, \"propTypes\", {\n // If true, will not render children until mounted. Useful for getting the exact width before\n // rendering, to prevent any unsightly resizing.\n measureBeforeMount: _propTypes.default.bool\n }), _class;\n}","// this file was prevaled\nmodule.exports = function fastRGLPropsEqual(a, b, isEqualImpl) {\n if (a === b) return true;\n return a.className === b.className && isEqualImpl(a.style, b.style) && a.width === b.width && a.autoSize === b.autoSize && a.cols === b.cols && a.draggableCancel === b.draggableCancel && a.draggableHandle === b.draggableHandle && isEqualImpl(a.verticalCompact, b.verticalCompact) && isEqualImpl(a.compactType, b.compactType) && isEqualImpl(a.layout, b.layout) && isEqualImpl(a.margin, b.margin) && isEqualImpl(a.containerPadding, b.containerPadding) && a.rowHeight === b.rowHeight && a.maxRows === b.maxRows && a.isBounded === b.isBounded && a.isDraggable === b.isDraggable && a.isResizable === b.isResizable && a.allowOverlap === b.allowOverlap && a.preventCollision === b.preventCollision && a.useCSSTransforms === b.useCSSTransforms && a.transformScale === b.transformScale && a.isDroppable === b.isDroppable && isEqualImpl(a.resizeHandles, b.resizeHandles) && isEqualImpl(a.resizeHandle, b.resizeHandle) && a.onLayoutChange === b.onLayoutChange && a.onDragStart === b.onDragStart && a.onDrag === b.onDrag && a.onDragStop === b.onDragStop && a.onResizeStart === b.onResizeStart && a.onResize === b.onResize && a.onResizeStop === b.onResizeStop && a.onDrop === b.onDrop && isEqualImpl(a.droppingItem, b.droppingItem) && isEqualImpl(a.innerRef, b.innerRef);\n};","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.findOrGenerateResponsiveLayout = findOrGenerateResponsiveLayout;\nexports.getBreakpointFromWidth = getBreakpointFromWidth;\nexports.getColsFromBreakpoint = getColsFromBreakpoint;\nexports.sortBreakpoints = sortBreakpoints;\n\nvar _utils = require(\"./utils\");\n\n/**\n * Given a width, find the highest breakpoint that matches is valid for it (width > breakpoint).\n *\n * @param {Object} breakpoints Breakpoints object (e.g. {lg: 1200, md: 960, ...})\n * @param {Number} width Screen width.\n * @return {String} Highest breakpoint that is less than width.\n */\nfunction getBreakpointFromWidth(breakpoints\n/*: Breakpoints*/\n, width\n/*: number*/\n)\n/*: Breakpoint*/\n{\n var sorted = sortBreakpoints(breakpoints);\n var matching = sorted[0];\n\n for (var i = 1, len = sorted.length; i < len; i++) {\n var breakpointName = sorted[i];\n if (width > breakpoints[breakpointName]) matching = breakpointName;\n }\n\n return matching;\n}\n/**\n * Given a breakpoint, get the # of cols set for it.\n * @param {String} breakpoint Breakpoint name.\n * @param {Object} cols Map of breakpoints to cols.\n * @return {Number} Number of cols.\n */\n\n\nfunction getColsFromBreakpoint(breakpoint\n/*: Breakpoint*/\n, cols\n/*: Breakpoints*/\n)\n/*: number*/\n{\n if (!cols[breakpoint]) {\n throw new Error(\"ResponsiveReactGridLayout: `cols` entry for breakpoint \" + breakpoint + \" is missing!\");\n }\n\n return cols[breakpoint];\n}\n/**\n * Given existing layouts and a new breakpoint, find or generate a new layout.\n *\n * This finds the layout above the new one and generates from it, if it exists.\n *\n * @param {Object} layouts Existing layouts.\n * @param {Array} breakpoints All breakpoints.\n * @param {String} breakpoint New breakpoint.\n * @param {String} breakpoint Last breakpoint (for fallback).\n * @param {Number} cols Column count at new breakpoint.\n * @param {Boolean} verticalCompact Whether or not to compact the layout\n * vertically.\n * @return {Array} New layout.\n */\n\n\nfunction findOrGenerateResponsiveLayout(layouts\n/*: ResponsiveLayout*/\n, breakpoints\n/*: Breakpoints*/\n, breakpoint\n/*: Breakpoint*/\n, lastBreakpoint\n/*: Breakpoint*/\n, cols\n/*: number*/\n, compactType\n/*: CompactType*/\n)\n/*: Layout*/\n{\n // If it already exists, just return it.\n if (layouts[breakpoint]) return (0, _utils.cloneLayout)(layouts[breakpoint]); // Find or generate the next layout\n\n var layout = layouts[lastBreakpoint];\n var breakpointsSorted = sortBreakpoints(breakpoints);\n var breakpointsAbove = breakpointsSorted.slice(breakpointsSorted.indexOf(breakpoint));\n\n for (var i = 0, len = breakpointsAbove.length; i < len; i++) {\n var b = breakpointsAbove[i];\n\n if (layouts[b]) {\n layout = layouts[b];\n break;\n }\n }\n\n layout = (0, _utils.cloneLayout)(layout || []); // clone layout so we don't modify existing items\n\n return (0, _utils.compact)((0, _utils.correctBounds)(layout, {\n cols: cols\n }), compactType, cols);\n}\n/**\n * Given breakpoints, return an array of breakpoints sorted by width. This is usually\n * e.g. ['xxs', 'xs', 'sm', ...]\n *\n * @param {Object} breakpoints Key/value pair of breakpoint names to widths.\n * @return {Array} Sorted breakpoints.\n */\n\n\nfunction sortBreakpoints(breakpoints\n/*: Breakpoints*/\n)\n/*: Array*/\n{\n var keys\n /*: Array*/\n = Object.keys(breakpoints);\n return keys.sort(function (a, b) {\n return breakpoints[a] - breakpoints[b];\n });\n}","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.bottom = bottom;\nexports.childrenEqual = childrenEqual;\nexports.cloneLayout = cloneLayout;\nexports.cloneLayoutItem = cloneLayoutItem;\nexports.collides = collides;\nexports.compact = compact;\nexports.compactItem = compactItem;\nexports.compactType = compactType;\nexports.correctBounds = correctBounds;\nexports.fastPositionEqual = fastPositionEqual;\nexports.fastRGLPropsEqual = void 0;\nexports.getAllCollisions = getAllCollisions;\nexports.getFirstCollision = getFirstCollision;\nexports.getLayoutItem = getLayoutItem;\nexports.getStatics = getStatics;\nexports.modifyLayout = modifyLayout;\nexports.moveElement = moveElement;\nexports.moveElementAwayFromCollision = moveElementAwayFromCollision;\nexports.noop = void 0;\nexports.perc = perc;\nexports.setTopLeft = setTopLeft;\nexports.setTransform = setTransform;\nexports.sortLayoutItems = sortLayoutItems;\nexports.sortLayoutItemsByColRow = sortLayoutItemsByColRow;\nexports.sortLayoutItemsByRowCol = sortLayoutItemsByRowCol;\nexports.synchronizeLayoutWithChildren = synchronizeLayoutWithChildren;\nexports.validateLayout = validateLayout;\nexports.withLayoutItem = withLayoutItem;\n\nvar _lodash = _interopRequireDefault(require(\"lodash.isequal\"));\n\nvar _react = _interopRequireDefault(require(\"react\"));\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }\n\nfunction _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { _defineProperty(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }\n\nfunction _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\n\nvar isProduction = process.env.NODE_ENV === \"production\";\nvar DEBUG = false;\n/**\n * Return the bottom coordinate of the layout.\n *\n * @param {Array} layout Layout array.\n * @return {Number} Bottom coordinate.\n */\n\nfunction bottom(layout\n/*: Layout*/\n)\n/*: number*/\n{\n var max = 0,\n bottomY;\n\n for (var i = 0, len = layout.length; i < len; i++) {\n bottomY = layout[i].y + layout[i].h;\n if (bottomY > max) max = bottomY;\n }\n\n return max;\n}\n\nfunction cloneLayout(layout\n/*: Layout*/\n)\n/*: Layout*/\n{\n var newLayout = Array(layout.length);\n\n for (var i = 0, len = layout.length; i < len; i++) {\n newLayout[i] = cloneLayoutItem(layout[i]);\n }\n\n return newLayout;\n} // Modify a layoutItem inside a layout. Returns a new Layout,\n// does not mutate. Carries over all other LayoutItems unmodified.\n\n\nfunction modifyLayout(layout\n/*: Layout*/\n, layoutItem\n/*: LayoutItem*/\n)\n/*: Layout*/\n{\n var newLayout = Array(layout.length);\n\n for (var i = 0, len = layout.length; i < len; i++) {\n if (layoutItem.i === layout[i].i) {\n newLayout[i] = layoutItem;\n } else {\n newLayout[i] = layout[i];\n }\n }\n\n return newLayout;\n} // Function to be called to modify a layout item.\n// Does defensive clones to ensure the layout is not modified.\n\n\nfunction withLayoutItem(layout\n/*: Layout*/\n, itemKey\n/*: string*/\n, cb\n/*: LayoutItem => LayoutItem*/\n)\n/*: [Layout, ?LayoutItem]*/\n{\n var item = getLayoutItem(layout, itemKey);\n if (!item) return [layout, null];\n item = cb(cloneLayoutItem(item)); // defensive clone then modify\n // FIXME could do this faster if we already knew the index\n\n layout = modifyLayout(layout, item);\n return [layout, item];\n} // Fast path to cloning, since this is monomorphic\n\n\nfunction cloneLayoutItem(layoutItem\n/*: LayoutItem*/\n)\n/*: LayoutItem*/\n{\n return {\n w: layoutItem.w,\n h: layoutItem.h,\n x: layoutItem.x,\n y: layoutItem.y,\n i: layoutItem.i,\n minW: layoutItem.minW,\n maxW: layoutItem.maxW,\n minH: layoutItem.minH,\n maxH: layoutItem.maxH,\n moved: Boolean(layoutItem.moved),\n static: Boolean(layoutItem.static),\n // These can be null/undefined\n isDraggable: layoutItem.isDraggable,\n isResizable: layoutItem.isResizable,\n resizeHandles: layoutItem.resizeHandles,\n isBounded: layoutItem.isBounded\n };\n}\n/**\n * Comparing React `children` is a bit difficult. This is a good way to compare them.\n * This will catch differences in keys, order, and length.\n */\n\n\nfunction childrenEqual(a\n/*: ReactChildren*/\n, b\n/*: ReactChildren*/\n)\n/*: boolean*/\n{\n return (0, _lodash.default)(_react.default.Children.map(a, function (c) {\n return c === null || c === void 0 ? void 0 : c.key;\n }), _react.default.Children.map(b, function (c) {\n return c === null || c === void 0 ? void 0 : c.key;\n }));\n}\n/**\n * See `fastRGLPropsEqual.js`.\n * We want this to run as fast as possible - it is called often - and to be\n * resilient to new props that we add. So rather than call lodash.isEqual,\n * which isn't suited to comparing props very well, we use this specialized\n * function in conjunction with preval to generate the fastest possible comparison\n * function, tuned for exactly our props.\n */\n\n/*:: type FastRGLPropsEqual = (Object, Object, Function) => boolean;*/\n\n\nvar fastRGLPropsEqual\n/*: FastRGLPropsEqual*/\n= require(\"./fastRGLPropsEqual\"); // Like the above, but a lot simpler.\n\n\nexports.fastRGLPropsEqual = fastRGLPropsEqual;\n\nfunction fastPositionEqual(a\n/*: Position*/\n, b\n/*: Position*/\n)\n/*: boolean*/\n{\n return a.left === b.left && a.top === b.top && a.width === b.width && a.height === b.height;\n}\n/**\n * Given two layoutitems, check if they collide.\n */\n\n\nfunction collides(l1\n/*: LayoutItem*/\n, l2\n/*: LayoutItem*/\n)\n/*: boolean*/\n{\n if (l1.i === l2.i) return false; // same element\n\n if (l1.x + l1.w <= l2.x) return false; // l1 is left of l2\n\n if (l1.x >= l2.x + l2.w) return false; // l1 is right of l2\n\n if (l1.y + l1.h <= l2.y) return false; // l1 is above l2\n\n if (l1.y >= l2.y + l2.h) return false; // l1 is below l2\n\n return true; // boxes overlap\n}\n/**\n * Given a layout, compact it. This involves going down each y coordinate and removing gaps\n * between items.\n *\n * Does not modify layout items (clones). Creates a new layout array.\n *\n * @param {Array} layout Layout.\n * @param {Boolean} verticalCompact Whether or not to compact the layout\n * vertically.\n * @return {Array} Compacted Layout.\n */\n\n\nfunction compact(layout\n/*: Layout*/\n, compactType\n/*: CompactType*/\n, cols\n/*: number*/\n)\n/*: Layout*/\n{\n // Statics go in the compareWith array right away so items flow around them.\n var compareWith = getStatics(layout); // We go through the items by row and column.\n\n var sorted = sortLayoutItems(layout, compactType); // Holding for new items.\n\n var out = Array(layout.length);\n\n for (var i = 0, len = sorted.length; i < len; i++) {\n var l = cloneLayoutItem(sorted[i]); // Don't move static elements\n\n if (!l.static) {\n l = compactItem(compareWith, l, compactType, cols, sorted); // Add to comparison array. We only collide with items before this one.\n // Statics are already in this array.\n\n compareWith.push(l);\n } // Add to output array to make sure they still come out in the right order.\n\n\n out[layout.indexOf(sorted[i])] = l; // Clear moved flag, if it exists.\n\n l.moved = false;\n }\n\n return out;\n}\n\nvar heightWidth = {\n x: \"w\",\n y: \"h\"\n};\n/**\n * Before moving item down, it will check if the movement will cause collisions and move those items down before.\n */\n\nfunction resolveCompactionCollision(layout\n/*: Layout*/\n, item\n/*: LayoutItem*/\n, moveToCoord\n/*: number*/\n, axis\n/*: \"x\" | \"y\"*/\n) {\n var sizeProp = heightWidth[axis];\n item[axis] += 1;\n var itemIndex = layout.map(function (layoutItem) {\n return layoutItem.i;\n }).indexOf(item.i); // Go through each item we collide with.\n\n for (var i = itemIndex + 1; i < layout.length; i++) {\n var otherItem = layout[i]; // Ignore static items\n\n if (otherItem.static) continue; // Optimization: we can break early if we know we're past this el\n // We can do this b/c it's a sorted layout\n\n if (otherItem.y > item.y + item.h) break;\n\n if (collides(item, otherItem)) {\n resolveCompactionCollision(layout, otherItem, moveToCoord + item[sizeProp], axis);\n }\n }\n\n item[axis] = moveToCoord;\n}\n/**\n * Compact an item in the layout.\n *\n * Modifies item.\n *\n */\n\n\nfunction compactItem(compareWith\n/*: Layout*/\n, l\n/*: LayoutItem*/\n, compactType\n/*: CompactType*/\n, cols\n/*: number*/\n, fullLayout\n/*: Layout*/\n)\n/*: LayoutItem*/\n{\n var compactV = compactType === \"vertical\";\n var compactH = compactType === \"horizontal\";\n\n if (compactV) {\n // Bottom 'y' possible is the bottom of the layout.\n // This allows you to do nice stuff like specify {y: Infinity}\n // This is here because the layout must be sorted in order to get the correct bottom `y`.\n l.y = Math.min(bottom(compareWith), l.y); // Move the element up as far as it can go without colliding.\n\n while (l.y > 0 && !getFirstCollision(compareWith, l)) {\n l.y--;\n }\n } else if (compactH) {\n // Move the element left as far as it can go without colliding.\n while (l.x > 0 && !getFirstCollision(compareWith, l)) {\n l.x--;\n }\n } // Move it down, and keep moving it down if it's colliding.\n\n\n var collides;\n\n while (collides = getFirstCollision(compareWith, l)) {\n if (compactH) {\n resolveCompactionCollision(fullLayout, l, collides.x + collides.w, \"x\");\n } else {\n resolveCompactionCollision(fullLayout, l, collides.y + collides.h, \"y\");\n } // Since we can't grow without bounds horizontally, if we've overflown, let's move it down and try again.\n\n\n if (compactH && l.x + l.w > cols) {\n l.x = cols - l.w;\n l.y++;\n }\n } // Ensure that there are no negative positions\n\n\n l.y = Math.max(l.y, 0);\n l.x = Math.max(l.x, 0);\n return l;\n}\n/**\n * Given a layout, make sure all elements fit within its bounds.\n *\n * Modifies layout items.\n *\n * @param {Array} layout Layout array.\n * @param {Number} bounds Number of columns.\n */\n\n\nfunction correctBounds(layout\n/*: Layout*/\n, bounds\n/*: { cols: number }*/\n)\n/*: Layout*/\n{\n var collidesWith = getStatics(layout);\n\n for (var i = 0, len = layout.length; i < len; i++) {\n var l = layout[i]; // Overflows right\n\n if (l.x + l.w > bounds.cols) l.x = bounds.cols - l.w; // Overflows left\n\n if (l.x < 0) {\n l.x = 0;\n l.w = bounds.cols;\n }\n\n if (!l.static) collidesWith.push(l);else {\n // If this is static and collides with other statics, we must move it down.\n // We have to do something nicer than just letting them overlap.\n while (getFirstCollision(collidesWith, l)) {\n l.y++;\n }\n }\n }\n\n return layout;\n}\n/**\n * Get a layout item by ID. Used so we can override later on if necessary.\n *\n * @param {Array} layout Layout array.\n * @param {String} id ID\n * @return {LayoutItem} Item at ID.\n */\n\n\nfunction getLayoutItem(layout\n/*: Layout*/\n, id\n/*: string*/\n)\n/*: ?LayoutItem*/\n{\n for (var i = 0, len = layout.length; i < len; i++) {\n if (layout[i].i === id) return layout[i];\n }\n}\n/**\n * Returns the first item this layout collides with.\n * It doesn't appear to matter which order we approach this from, although\n * perhaps that is the wrong thing to do.\n *\n * @param {Object} layoutItem Layout item.\n * @return {Object|undefined} A colliding layout item, or undefined.\n */\n\n\nfunction getFirstCollision(layout\n/*: Layout*/\n, layoutItem\n/*: LayoutItem*/\n)\n/*: ?LayoutItem*/\n{\n for (var i = 0, len = layout.length; i < len; i++) {\n if (collides(layout[i], layoutItem)) return layout[i];\n }\n}\n\nfunction getAllCollisions(layout\n/*: Layout*/\n, layoutItem\n/*: LayoutItem*/\n)\n/*: Array*/\n{\n return layout.filter(function (l) {\n return collides(l, layoutItem);\n });\n}\n/**\n * Get all static elements.\n * @param {Array} layout Array of layout objects.\n * @return {Array} Array of static layout items..\n */\n\n\nfunction getStatics(layout\n/*: Layout*/\n)\n/*: Array*/\n{\n return layout.filter(function (l) {\n return l.static;\n });\n}\n/**\n * Move an element. Responsible for doing cascading movements of other elements.\n *\n * Modifies layout items.\n *\n * @param {Array} layout Full layout to modify.\n * @param {LayoutItem} l element to move.\n * @param {Number} [x] X position in grid units.\n * @param {Number} [y] Y position in grid units.\n */\n\n\nfunction moveElement(layout\n/*: Layout*/\n, l\n/*: LayoutItem*/\n, x\n/*: ?number*/\n, y\n/*: ?number*/\n, isUserAction\n/*: ?boolean*/\n, preventCollision\n/*: ?boolean*/\n, compactType\n/*: CompactType*/\n, cols\n/*: number*/\n, allowOverlap\n/*: ?boolean*/\n)\n/*: Layout*/\n{\n // If this is static and not explicitly enabled as draggable,\n // no move is possible, so we can short-circuit this immediately.\n if (l.static && l.isDraggable !== true) return layout; // Short-circuit if nothing to do.\n\n if (l.y === y && l.x === x) return layout;\n log(\"Moving element \".concat(l.i, \" to [\").concat(String(x), \",\").concat(String(y), \"] from [\").concat(l.x, \",\").concat(l.y, \"]\"));\n var oldX = l.x;\n var oldY = l.y; // This is quite a bit faster than extending the object\n\n if (typeof x === \"number\") l.x = x;\n if (typeof y === \"number\") l.y = y;\n l.moved = true; // If this collides with anything, move it.\n // When doing this comparison, we have to sort the items we compare with\n // to ensure, in the case of multiple collisions, that we're getting the\n // nearest collision.\n\n var sorted = sortLayoutItems(layout, compactType);\n var movingUp = compactType === \"vertical\" && typeof y === \"number\" ? oldY >= y : compactType === \"horizontal\" && typeof x === \"number\" ? oldX >= x : false; // $FlowIgnore acceptable modification of read-only array as it was recently cloned\n\n if (movingUp) sorted = sorted.reverse();\n var collisions = getAllCollisions(sorted, l);\n var hasCollisions = collisions.length > 0; // We may have collisions. We can short-circuit if we've turned off collisions or\n // allowed overlap.\n\n if (hasCollisions && allowOverlap) {\n // Easy, we don't need to resolve collisions. But we *did* change the layout,\n // so clone it on the way out.\n return cloneLayout(layout);\n } else if (hasCollisions && preventCollision) {\n // If we are preventing collision but not allowing overlap, we need to\n // revert the position of this element so it goes to where it came from, rather\n // than the user's desired location.\n log(\"Collision prevented on \".concat(l.i, \", reverting.\"));\n l.x = oldX;\n l.y = oldY;\n l.moved = false;\n return layout; // did not change so don't clone\n } // Move each item that collides away from this element.\n\n\n for (var i = 0, len = collisions.length; i < len; i++) {\n var collision = collisions[i];\n log(\"Resolving collision between \".concat(l.i, \" at [\").concat(l.x, \",\").concat(l.y, \"] and \").concat(collision.i, \" at [\").concat(collision.x, \",\").concat(collision.y, \"]\")); // Short circuit so we can't infinite loop\n\n if (collision.moved) continue; // Don't move static items - we have to move *this* element away\n\n if (collision.static) {\n layout = moveElementAwayFromCollision(layout, collision, l, isUserAction, compactType, cols);\n } else {\n layout = moveElementAwayFromCollision(layout, l, collision, isUserAction, compactType, cols);\n }\n }\n\n return layout;\n}\n/**\n * This is where the magic needs to happen - given a collision, move an element away from the collision.\n * We attempt to move it up if there's room, otherwise it goes below.\n *\n * @param {Array} layout Full layout to modify.\n * @param {LayoutItem} collidesWith Layout item we're colliding with.\n * @param {LayoutItem} itemToMove Layout item we're moving.\n */\n\n\nfunction moveElementAwayFromCollision(layout\n/*: Layout*/\n, collidesWith\n/*: LayoutItem*/\n, itemToMove\n/*: LayoutItem*/\n, isUserAction\n/*: ?boolean*/\n, compactType\n/*: CompactType*/\n, cols\n/*: number*/\n)\n/*: Layout*/\n{\n var compactH = compactType === \"horizontal\"; // Compact vertically if not set to horizontal\n\n var compactV = compactType !== \"horizontal\";\n var preventCollision = collidesWith.static; // we're already colliding (not for static items)\n // If there is enough space above the collision to put this element, move it there.\n // We only do this on the main collision as this can get funky in cascades and cause\n // unwanted swapping behavior.\n\n if (isUserAction) {\n // Reset isUserAction flag because we're not in the main collision anymore.\n isUserAction = false; // Make a mock item so we don't modify the item here, only modify in moveElement.\n\n var fakeItem\n /*: LayoutItem*/\n = {\n x: compactH ? Math.max(collidesWith.x - itemToMove.w, 0) : itemToMove.x,\n y: compactV ? Math.max(collidesWith.y - itemToMove.h, 0) : itemToMove.y,\n w: itemToMove.w,\n h: itemToMove.h,\n i: \"-1\"\n }; // No collision? If so, we can go up there; otherwise, we'll end up moving down as normal\n\n if (!getFirstCollision(layout, fakeItem)) {\n log(\"Doing reverse collision on \".concat(itemToMove.i, \" up to [\").concat(fakeItem.x, \",\").concat(fakeItem.y, \"].\"));\n return moveElement(layout, itemToMove, compactH ? fakeItem.x : undefined, compactV ? fakeItem.y : undefined, isUserAction, preventCollision, compactType, cols);\n }\n }\n\n return moveElement(layout, itemToMove, compactH ? itemToMove.x + 1 : undefined, compactV ? itemToMove.y + 1 : undefined, isUserAction, preventCollision, compactType, cols);\n}\n/**\n * Helper to convert a number to a percentage string.\n *\n * @param {Number} num Any number\n * @return {String} That number as a percentage.\n */\n\n\nfunction perc(num\n/*: number*/\n)\n/*: string*/\n{\n return num * 100 + \"%\";\n}\n\nfunction setTransform(_ref)\n/*: Object*/\n{\n var top = _ref.top,\n left = _ref.left,\n width = _ref.width,\n height = _ref.height;\n // Replace unitless items with px\n var translate = \"translate(\".concat(left, \"px,\").concat(top, \"px)\");\n return {\n transform: translate,\n WebkitTransform: translate,\n MozTransform: translate,\n msTransform: translate,\n OTransform: translate,\n width: \"\".concat(width, \"px\"),\n height: \"\".concat(height, \"px\"),\n position: \"absolute\"\n };\n}\n\nfunction setTopLeft(_ref2)\n/*: Object*/\n{\n var top = _ref2.top,\n left = _ref2.left,\n width = _ref2.width,\n height = _ref2.height;\n return {\n top: \"\".concat(top, \"px\"),\n left: \"\".concat(left, \"px\"),\n width: \"\".concat(width, \"px\"),\n height: \"\".concat(height, \"px\"),\n position: \"absolute\"\n };\n}\n/**\n * Get layout items sorted from top left to right and down.\n *\n * @return {Array} Array of layout objects.\n * @return {Array} Layout, sorted static items first.\n */\n\n\nfunction sortLayoutItems(layout\n/*: Layout*/\n, compactType\n/*: CompactType*/\n)\n/*: Layout*/\n{\n if (compactType === \"horizontal\") return sortLayoutItemsByColRow(layout);\n if (compactType === \"vertical\") return sortLayoutItemsByRowCol(layout);else return layout;\n}\n/**\n * Sort layout items by row ascending and column ascending.\n *\n * Does not modify Layout.\n */\n\n\nfunction sortLayoutItemsByRowCol(layout\n/*: Layout*/\n)\n/*: Layout*/\n{\n // Slice to clone array as sort modifies\n return layout.slice(0).sort(function (a, b) {\n if (a.y > b.y || a.y === b.y && a.x > b.x) {\n return 1;\n } else if (a.y === b.y && a.x === b.x) {\n // Without this, we can get different sort results in IE vs. Chrome/FF\n return 0;\n }\n\n return -1;\n });\n}\n/**\n * Sort layout items by column ascending then row ascending.\n *\n * Does not modify Layout.\n */\n\n\nfunction sortLayoutItemsByColRow(layout\n/*: Layout*/\n)\n/*: Layout*/\n{\n return layout.slice(0).sort(function (a, b) {\n if (a.x > b.x || a.x === b.x && a.y > b.y) {\n return 1;\n }\n\n return -1;\n });\n}\n/**\n * Generate a layout using the initialLayout and children as a template.\n * Missing entries will be added, extraneous ones will be truncated.\n *\n * Does not modify initialLayout.\n *\n * @param {Array} initialLayout Layout passed in through props.\n * @param {String} breakpoint Current responsive breakpoint.\n * @param {?String} compact Compaction option.\n * @return {Array} Working layout.\n */\n\n\nfunction synchronizeLayoutWithChildren(initialLayout\n/*: Layout*/\n, children\n/*: ReactChildren*/\n, cols\n/*: number*/\n, compactType\n/*: CompactType*/\n, allowOverlap\n/*: ?boolean*/\n)\n/*: Layout*/\n{\n initialLayout = initialLayout || []; // Generate one layout item per child.\n\n var layout\n /*: LayoutItem[]*/\n = [];\n\n _react.default.Children.forEach(children, function (child\n /*: ReactElement*/\n ) {\n // Child may not exist\n if ((child === null || child === void 0 ? void 0 : child.key) == null) return; // Don't overwrite if it already exists.\n\n var exists = getLayoutItem(initialLayout, String(child.key));\n\n if (exists) {\n layout.push(cloneLayoutItem(exists));\n } else {\n if (!isProduction && child.props._grid) {\n console.warn(\"`_grid` properties on children have been deprecated as of React 15.2. \" + \"Please use `data-grid` or add your properties directly to the `layout`.\");\n }\n\n var g = child.props[\"data-grid\"] || child.props._grid; // Hey, this item has a data-grid property, use it.\n\n if (g) {\n if (!isProduction) {\n validateLayout([g], \"ReactGridLayout.children\");\n } // FIXME clone not really necessary here\n\n\n layout.push(cloneLayoutItem(_objectSpread(_objectSpread({}, g), {}, {\n i: child.key\n })));\n } else {\n // Nothing provided: ensure this is added to the bottom\n // FIXME clone not really necessary here\n layout.push(cloneLayoutItem({\n w: 1,\n h: 1,\n x: 0,\n y: bottom(layout),\n i: String(child.key)\n }));\n }\n }\n }); // Correct the layout.\n\n\n var correctedLayout = correctBounds(layout, {\n cols: cols\n });\n return allowOverlap ? correctedLayout : compact(correctedLayout, compactType, cols);\n}\n/**\n * Validate a layout. Throws errors.\n *\n * @param {Array} layout Array of layout items.\n * @param {String} [contextName] Context name for errors.\n * @throw {Error} Validation error.\n */\n\n\nfunction validateLayout(layout\n/*: Layout*/\n)\n/*: void*/\n{\n var contextName\n /*: string*/\n = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : \"Layout\";\n var subProps = [\"x\", \"y\", \"w\", \"h\"];\n if (!Array.isArray(layout)) throw new Error(contextName + \" must be an array!\");\n\n for (var i = 0, len = layout.length; i < len; i++) {\n var item = layout[i];\n\n for (var j = 0; j < subProps.length; j++) {\n if (typeof item[subProps[j]] !== \"number\") {\n throw new Error(\"ReactGridLayout: \" + contextName + \"[\" + i + \"].\" + subProps[j] + \" must be a number!\");\n }\n }\n }\n} // Legacy support for verticalCompact: false\n\n\nfunction compactType(props\n/*: ?{ verticalCompact: boolean, compactType: CompactType }*/\n)\n/*: CompactType*/\n{\n var _ref3 = props || {},\n verticalCompact = _ref3.verticalCompact,\n compactType = _ref3.compactType;\n\n return verticalCompact === false ? null : compactType;\n}\n\nfunction log() {\n var _console;\n\n if (!DEBUG) return; // eslint-disable-next-line no-console\n\n (_console = console).log.apply(_console, arguments);\n}\n\nvar noop = function noop() {};\n\nexports.noop = noop;","module.exports = require(\"./build/ReactGridLayout\").default;\nmodule.exports.utils = require(\"./build/utils\");\nmodule.exports.Responsive =\n require(\"./build/ResponsiveReactGridLayout\").default;\nmodule.exports.Responsive.utils = require(\"./build/responsiveUtils\");\nmodule.exports.WidthProvider =\n require(\"./build/components/WidthProvider\").default;\n","\"use strict\";\n\nexports.__esModule = true;\nexports.default = void 0;\nvar React = _interopRequireWildcard(require(\"react\"));\nvar _reactDraggable = require(\"react-draggable\");\nvar _utils = require(\"./utils\");\nvar _propTypes = require(\"./propTypes\");\nvar _excluded = [\"children\", \"className\", \"draggableOpts\", \"width\", \"height\", \"handle\", \"handleSize\", \"lockAspectRatio\", \"axis\", \"minConstraints\", \"maxConstraints\", \"onResize\", \"onResizeStop\", \"onResizeStart\", \"resizeHandles\", \"transformScale\"];\nfunction _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== \"function\") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }\nfunction _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || typeof obj !== \"object\" && typeof obj !== \"function\") { return { default: obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== \"default\" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj.default = obj; if (cache) { cache.set(obj, newObj); } return newObj; }\nfunction _extends() { _extends = Object.assign ? Object.assign.bind() : function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\nfunction _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }\nfunction ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }\nfunction _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { _defineProperty(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }\nfunction _defineProperty(obj, key, value) { key = _toPropertyKey(key); if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\nfunction _toPropertyKey(arg) { var key = _toPrimitive(arg, \"string\"); return typeof key === \"symbol\" ? key : String(key); }\nfunction _toPrimitive(input, hint) { if (typeof input !== \"object\" || input === null) return input; var prim = input[Symbol.toPrimitive]; if (prim !== undefined) { var res = prim.call(input, hint || \"default\"); if (typeof res !== \"object\") return res; throw new TypeError(\"@@toPrimitive must return a primitive value.\"); } return (hint === \"string\" ? String : Number)(input); }\nfunction _inheritsLoose(subClass, superClass) { subClass.prototype = Object.create(superClass.prototype); subClass.prototype.constructor = subClass; _setPrototypeOf(subClass, superClass); }\nfunction _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf ? Object.setPrototypeOf.bind() : function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); }\n// The base component.\n// This component does not have state and relies on the parent to set its props based on callback data.\nvar Resizable = /*#__PURE__*/function (_React$Component) {\n _inheritsLoose(Resizable, _React$Component);\n function Resizable() {\n var _this;\n for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n _this = _React$Component.call.apply(_React$Component, [this].concat(args)) || this;\n _this.handleRefs = {};\n _this.lastHandleRect = null;\n _this.slack = null;\n return _this;\n }\n var _proto = Resizable.prototype;\n _proto.componentWillUnmount = function componentWillUnmount() {\n this.resetData();\n };\n _proto.resetData = function resetData() {\n this.lastHandleRect = this.slack = null;\n }\n\n // Clamp width and height within provided constraints\n ;\n _proto.runConstraints = function runConstraints(width, height) {\n var _this$props = this.props,\n minConstraints = _this$props.minConstraints,\n maxConstraints = _this$props.maxConstraints,\n lockAspectRatio = _this$props.lockAspectRatio;\n // short circuit\n if (!minConstraints && !maxConstraints && !lockAspectRatio) return [width, height];\n\n // If constraining to min and max, we need to also fit width and height to aspect ratio.\n if (lockAspectRatio) {\n var ratio = this.props.width / this.props.height;\n var deltaW = width - this.props.width;\n var deltaH = height - this.props.height;\n\n // Find which coordinate was greater and should push the other toward it.\n // E.g.:\n // ratio = 1, deltaW = 10, deltaH = 5, deltaH should become 10.\n // ratio = 2, deltaW = 10, deltaH = 6, deltaW should become 12.\n if (Math.abs(deltaW) > Math.abs(deltaH * ratio)) {\n height = width / ratio;\n } else {\n width = height * ratio;\n }\n }\n var oldW = width,\n oldH = height;\n\n // Add slack to the values used to calculate bound position. This will ensure that if\n // we start removing slack, the element won't react to it right away until it's been\n // completely removed.\n var _ref = this.slack || [0, 0],\n slackW = _ref[0],\n slackH = _ref[1];\n width += slackW;\n height += slackH;\n if (minConstraints) {\n width = Math.max(minConstraints[0], width);\n height = Math.max(minConstraints[1], height);\n }\n if (maxConstraints) {\n width = Math.min(maxConstraints[0], width);\n height = Math.min(maxConstraints[1], height);\n }\n\n // If the width or height changed, we must have introduced some slack. Record it for the next iteration.\n this.slack = [slackW + (oldW - width), slackH + (oldH - height)];\n return [width, height];\n }\n\n /**\n * Wrapper around drag events to provide more useful data.\n *\n * @param {String} handlerName Handler name to wrap.\n * @return {Function} Handler function.\n */;\n _proto.resizeHandler = function resizeHandler(handlerName, axis) {\n var _this2 = this;\n return function (e, _ref2) {\n var node = _ref2.node,\n deltaX = _ref2.deltaX,\n deltaY = _ref2.deltaY;\n // Reset data in case it was left over somehow (should not be possible)\n if (handlerName === 'onResizeStart') _this2.resetData();\n\n // Axis restrictions\n var canDragX = (_this2.props.axis === 'both' || _this2.props.axis === 'x') && axis !== 'n' && axis !== 's';\n var canDragY = (_this2.props.axis === 'both' || _this2.props.axis === 'y') && axis !== 'e' && axis !== 'w';\n // No dragging possible.\n if (!canDragX && !canDragY) return;\n\n // Decompose axis for later use\n var axisV = axis[0];\n var axisH = axis[axis.length - 1]; // intentionally not axis[1], so that this catches axis === 'w' for example\n\n // Track the element being dragged to account for changes in position.\n // If a handle's position is changed between callbacks, we need to factor this in to the next callback.\n // Failure to do so will cause the element to \"skip\" when resized upwards or leftwards.\n var handleRect = node.getBoundingClientRect();\n if (_this2.lastHandleRect != null) {\n // If the handle has repositioned on either axis since last render,\n // we need to increase our callback values by this much.\n // Only checking 'n', 'w' since resizing by 's', 'w' won't affect the overall position on page,\n if (axisH === 'w') {\n var deltaLeftSinceLast = handleRect.left - _this2.lastHandleRect.left;\n deltaX += deltaLeftSinceLast;\n }\n if (axisV === 'n') {\n var deltaTopSinceLast = handleRect.top - _this2.lastHandleRect.top;\n deltaY += deltaTopSinceLast;\n }\n }\n // Storage of last rect so we know how much it has really moved.\n _this2.lastHandleRect = handleRect;\n\n // Reverse delta if using top or left drag handles.\n if (axisH === 'w') deltaX = -deltaX;\n if (axisV === 'n') deltaY = -deltaY;\n\n // Update w/h by the deltas. Also factor in transformScale.\n var width = _this2.props.width + (canDragX ? deltaX / _this2.props.transformScale : 0);\n var height = _this2.props.height + (canDragY ? deltaY / _this2.props.transformScale : 0);\n\n // Run user-provided constraints.\n var _this2$runConstraints = _this2.runConstraints(width, height);\n width = _this2$runConstraints[0];\n height = _this2$runConstraints[1];\n var dimensionsChanged = width !== _this2.props.width || height !== _this2.props.height;\n\n // Call user-supplied callback if present.\n var cb = typeof _this2.props[handlerName] === 'function' ? _this2.props[handlerName] : null;\n // Don't call 'onResize' if dimensions haven't changed.\n var shouldSkipCb = handlerName === 'onResize' && !dimensionsChanged;\n if (cb && !shouldSkipCb) {\n e.persist == null ? void 0 : e.persist();\n cb(e, {\n node: node,\n size: {\n width: width,\n height: height\n },\n handle: axis\n });\n }\n\n // Reset internal data\n if (handlerName === 'onResizeStop') _this2.resetData();\n };\n }\n\n // Render a resize handle given an axis & DOM ref. Ref *must* be attached for\n // the underlying draggable library to work properly.\n ;\n _proto.renderResizeHandle = function renderResizeHandle(handleAxis, ref) {\n var handle = this.props.handle;\n // No handle provided, make the default\n if (!handle) {\n return /*#__PURE__*/React.createElement(\"span\", {\n className: \"react-resizable-handle react-resizable-handle-\" + handleAxis,\n ref: ref\n });\n }\n // Handle is a function, such as:\n // `handle={(handleAxis) => }`\n if (typeof handle === 'function') {\n return handle(handleAxis, ref);\n }\n // Handle is a React component (composite or DOM).\n var isDOMElement = typeof handle.type === 'string';\n var props = _objectSpread({\n ref: ref\n }, isDOMElement ? {} : {\n handleAxis: handleAxis\n });\n return /*#__PURE__*/React.cloneElement(handle, props);\n };\n _proto.render = function render() {\n var _this3 = this;\n // Pass along only props not meant for the ``.`\n // eslint-disable-next-line no-unused-vars\n var _this$props2 = this.props,\n children = _this$props2.children,\n className = _this$props2.className,\n draggableOpts = _this$props2.draggableOpts,\n width = _this$props2.width,\n height = _this$props2.height,\n handle = _this$props2.handle,\n handleSize = _this$props2.handleSize,\n lockAspectRatio = _this$props2.lockAspectRatio,\n axis = _this$props2.axis,\n minConstraints = _this$props2.minConstraints,\n maxConstraints = _this$props2.maxConstraints,\n onResize = _this$props2.onResize,\n onResizeStop = _this$props2.onResizeStop,\n onResizeStart = _this$props2.onResizeStart,\n resizeHandles = _this$props2.resizeHandles,\n transformScale = _this$props2.transformScale,\n p = _objectWithoutPropertiesLoose(_this$props2, _excluded);\n\n // What we're doing here is getting the child of this element, and cloning it with this element's props.\n // We are then defining its children as:\n // 1. Its original children (resizable's child's children), and\n // 2. One or more draggable handles.\n return (0, _utils.cloneElement)(children, _objectSpread(_objectSpread({}, p), {}, {\n className: (className ? className + \" \" : '') + \"react-resizable\",\n children: [].concat(children.props.children, resizeHandles.map(function (handleAxis) {\n var _this3$handleRefs$han;\n // Create a ref to the handle so that `` doesn't have to use ReactDOM.findDOMNode().\n var ref = (_this3$handleRefs$han = _this3.handleRefs[handleAxis]) != null ? _this3$handleRefs$han : _this3.handleRefs[handleAxis] = /*#__PURE__*/React.createRef();\n return /*#__PURE__*/React.createElement(_reactDraggable.DraggableCore, _extends({}, draggableOpts, {\n nodeRef: ref,\n key: \"resizableHandle-\" + handleAxis,\n onStop: _this3.resizeHandler('onResizeStop', handleAxis),\n onStart: _this3.resizeHandler('onResizeStart', handleAxis),\n onDrag: _this3.resizeHandler('onResize', handleAxis)\n }), _this3.renderResizeHandle(handleAxis, ref));\n }))\n }));\n };\n return Resizable;\n}(React.Component);\nexports.default = Resizable;\nResizable.propTypes = _propTypes.resizableProps;\nResizable.defaultProps = {\n axis: 'both',\n handleSize: [20, 20],\n lockAspectRatio: false,\n minConstraints: [20, 20],\n maxConstraints: [Infinity, Infinity],\n resizeHandles: ['se'],\n transformScale: 1\n};","\"use strict\";\n\nexports.__esModule = true;\nexports.default = void 0;\nvar React = _interopRequireWildcard(require(\"react\"));\nvar _propTypes = _interopRequireDefault(require(\"prop-types\"));\nvar _Resizable = _interopRequireDefault(require(\"./Resizable\"));\nvar _propTypes2 = require(\"./propTypes\");\nvar _excluded = [\"handle\", \"handleSize\", \"onResize\", \"onResizeStart\", \"onResizeStop\", \"draggableOpts\", \"minConstraints\", \"maxConstraints\", \"lockAspectRatio\", \"axis\", \"width\", \"height\", \"resizeHandles\", \"style\", \"transformScale\"];\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\nfunction _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== \"function\") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }\nfunction _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || typeof obj !== \"object\" && typeof obj !== \"function\") { return { default: obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== \"default\" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj.default = obj; if (cache) { cache.set(obj, newObj); } return newObj; }\nfunction _extends() { _extends = Object.assign ? Object.assign.bind() : function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\nfunction ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }\nfunction _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { _defineProperty(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }\nfunction _defineProperty(obj, key, value) { key = _toPropertyKey(key); if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\nfunction _toPropertyKey(arg) { var key = _toPrimitive(arg, \"string\"); return typeof key === \"symbol\" ? key : String(key); }\nfunction _toPrimitive(input, hint) { if (typeof input !== \"object\" || input === null) return input; var prim = input[Symbol.toPrimitive]; if (prim !== undefined) { var res = prim.call(input, hint || \"default\"); if (typeof res !== \"object\") return res; throw new TypeError(\"@@toPrimitive must return a primitive value.\"); } return (hint === \"string\" ? String : Number)(input); }\nfunction _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }\nfunction _inheritsLoose(subClass, superClass) { subClass.prototype = Object.create(superClass.prototype); subClass.prototype.constructor = subClass; _setPrototypeOf(subClass, superClass); }\nfunction _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf ? Object.setPrototypeOf.bind() : function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); }\nvar ResizableBox = /*#__PURE__*/function (_React$Component) {\n _inheritsLoose(ResizableBox, _React$Component);\n function ResizableBox() {\n var _this;\n for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n _this = _React$Component.call.apply(_React$Component, [this].concat(args)) || this;\n _this.state = {\n width: _this.props.width,\n height: _this.props.height,\n propsWidth: _this.props.width,\n propsHeight: _this.props.height\n };\n _this.onResize = function (e, data) {\n var size = data.size;\n if (_this.props.onResize) {\n e.persist == null ? void 0 : e.persist();\n _this.setState(size, function () {\n return _this.props.onResize && _this.props.onResize(e, data);\n });\n } else {\n _this.setState(size);\n }\n };\n return _this;\n }\n ResizableBox.getDerivedStateFromProps = function getDerivedStateFromProps(props, state) {\n // If parent changes height/width, set that in our state.\n if (state.propsWidth !== props.width || state.propsHeight !== props.height) {\n return {\n width: props.width,\n height: props.height,\n propsWidth: props.width,\n propsHeight: props.height\n };\n }\n return null;\n };\n var _proto = ResizableBox.prototype;\n _proto.render = function render() {\n // Basic wrapper around a Resizable instance.\n // If you use Resizable directly, you are responsible for updating the child component\n // with a new width and height.\n var _this$props = this.props,\n handle = _this$props.handle,\n handleSize = _this$props.handleSize,\n onResize = _this$props.onResize,\n onResizeStart = _this$props.onResizeStart,\n onResizeStop = _this$props.onResizeStop,\n draggableOpts = _this$props.draggableOpts,\n minConstraints = _this$props.minConstraints,\n maxConstraints = _this$props.maxConstraints,\n lockAspectRatio = _this$props.lockAspectRatio,\n axis = _this$props.axis,\n width = _this$props.width,\n height = _this$props.height,\n resizeHandles = _this$props.resizeHandles,\n style = _this$props.style,\n transformScale = _this$props.transformScale,\n props = _objectWithoutPropertiesLoose(_this$props, _excluded);\n return /*#__PURE__*/React.createElement(_Resizable.default, {\n axis: axis,\n draggableOpts: draggableOpts,\n handle: handle,\n handleSize: handleSize,\n height: this.state.height,\n lockAspectRatio: lockAspectRatio,\n maxConstraints: maxConstraints,\n minConstraints: minConstraints,\n onResizeStart: onResizeStart,\n onResize: this.onResize,\n onResizeStop: onResizeStop,\n resizeHandles: resizeHandles,\n transformScale: transformScale,\n width: this.state.width\n }, /*#__PURE__*/React.createElement(\"div\", _extends({}, props, {\n style: _objectSpread(_objectSpread({}, style), {}, {\n width: this.state.width + 'px',\n height: this.state.height + 'px'\n })\n })));\n };\n return ResizableBox;\n}(React.Component);\nexports.default = ResizableBox;\n// PropTypes are identical to , except that children are not strictly required to be present.\nResizableBox.propTypes = _objectSpread(_objectSpread({}, _propTypes2.resizableProps), {}, {\n children: _propTypes.default.element\n});","\"use strict\";\n\nexports.__esModule = true;\nexports.resizableProps = void 0;\nvar _propTypes = _interopRequireDefault(require(\"prop-types\"));\nvar _reactDraggable = require(\"react-draggable\");\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\nvar resizableProps = {\n /*\n * Restricts resizing to a particular axis (default: 'both')\n * 'both' - allows resizing by width or height\n * 'x' - only allows the width to be changed\n * 'y' - only allows the height to be changed\n * 'none' - disables resizing altogether\n * */\n axis: _propTypes.default.oneOf(['both', 'x', 'y', 'none']),\n className: _propTypes.default.string,\n /*\n * Require that one and only one child be present.\n * */\n children: _propTypes.default.element.isRequired,\n /*\n * These will be passed wholesale to react-draggable's DraggableCore\n * */\n draggableOpts: _propTypes.default.shape({\n allowAnyClick: _propTypes.default.bool,\n cancel: _propTypes.default.string,\n children: _propTypes.default.node,\n disabled: _propTypes.default.bool,\n enableUserSelectHack: _propTypes.default.bool,\n offsetParent: _propTypes.default.node,\n grid: _propTypes.default.arrayOf(_propTypes.default.number),\n handle: _propTypes.default.string,\n nodeRef: _propTypes.default.object,\n onStart: _propTypes.default.func,\n onDrag: _propTypes.default.func,\n onStop: _propTypes.default.func,\n onMouseDown: _propTypes.default.func,\n scale: _propTypes.default.number\n }),\n /*\n * Initial height\n * */\n height: function height() {\n for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n var props = args[0];\n // Required if resizing height or both\n if (props.axis === 'both' || props.axis === 'y') {\n var _PropTypes$number;\n return (_PropTypes$number = _propTypes.default.number).isRequired.apply(_PropTypes$number, args);\n }\n return _propTypes.default.number.apply(_propTypes.default, args);\n },\n /*\n * Customize cursor resize handle\n * */\n handle: _propTypes.default.oneOfType([_propTypes.default.node, _propTypes.default.func]),\n /*\n * If you change this, be sure to update your css\n * */\n handleSize: _propTypes.default.arrayOf(_propTypes.default.number),\n lockAspectRatio: _propTypes.default.bool,\n /*\n * Max X & Y measure\n * */\n maxConstraints: _propTypes.default.arrayOf(_propTypes.default.number),\n /*\n * Min X & Y measure\n * */\n minConstraints: _propTypes.default.arrayOf(_propTypes.default.number),\n /*\n * Called on stop resize event\n * */\n onResizeStop: _propTypes.default.func,\n /*\n * Called on start resize event\n * */\n onResizeStart: _propTypes.default.func,\n /*\n * Called on resize event\n * */\n onResize: _propTypes.default.func,\n /*\n * Defines which resize handles should be rendered (default: 'se')\n * 's' - South handle (bottom-center)\n * 'w' - West handle (left-center)\n * 'e' - East handle (right-center)\n * 'n' - North handle (top-center)\n * 'sw' - Southwest handle (bottom-left)\n * 'nw' - Northwest handle (top-left)\n * 'se' - Southeast handle (bottom-right)\n * 'ne' - Northeast handle (top-center)\n * */\n resizeHandles: _propTypes.default.arrayOf(_propTypes.default.oneOf(['s', 'w', 'e', 'n', 'sw', 'nw', 'se', 'ne'])),\n /*\n * If `transform: scale(n)` is set on the parent, this should be set to `n`.\n * */\n transformScale: _propTypes.default.number,\n /*\n * Initial width\n */\n width: function width() {\n for (var _len2 = arguments.length, args = new Array(_len2), _key2 = 0; _key2 < _len2; _key2++) {\n args[_key2] = arguments[_key2];\n }\n var props = args[0];\n // Required if resizing width or both\n if (props.axis === 'both' || props.axis === 'x') {\n var _PropTypes$number2;\n return (_PropTypes$number2 = _propTypes.default.number).isRequired.apply(_PropTypes$number2, args);\n }\n return _propTypes.default.number.apply(_propTypes.default, args);\n }\n};\nexports.resizableProps = resizableProps;","\"use strict\";\n\nexports.__esModule = true;\nexports.cloneElement = cloneElement;\nvar _react = _interopRequireDefault(require(\"react\"));\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\nfunction ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }\nfunction _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { _defineProperty(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }\nfunction _defineProperty(obj, key, value) { key = _toPropertyKey(key); if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\nfunction _toPropertyKey(arg) { var key = _toPrimitive(arg, \"string\"); return typeof key === \"symbol\" ? key : String(key); }\nfunction _toPrimitive(input, hint) { if (typeof input !== \"object\" || input === null) return input; var prim = input[Symbol.toPrimitive]; if (prim !== undefined) { var res = prim.call(input, hint || \"default\"); if (typeof res !== \"object\") return res; throw new TypeError(\"@@toPrimitive must return a primitive value.\"); } return (hint === \"string\" ? String : Number)(input); }\n// React.addons.cloneWithProps look-alike that merges style & className.\nfunction cloneElement(element, props) {\n if (props.style && element.props.style) {\n props.style = _objectSpread(_objectSpread({}, element.props.style), props.style);\n }\n if (props.className && element.props.className) {\n props.className = element.props.className + \" \" + props.className;\n }\n return /*#__PURE__*/_react.default.cloneElement(element, props);\n}","'use strict';\nmodule.exports = function() {\n throw new Error(\"Don't instantiate Resizable directly! Use require('react-resizable').Resizable\");\n};\n\nmodule.exports.Resizable = require('./build/Resizable').default;\nmodule.exports.ResizableBox = require('./build/ResizableBox').default;\n","module.exports = __WEBPACK_EXTERNAL_MODULE__644__;","module.exports = __WEBPACK_EXTERNAL_MODULE__305__;","module.exports = __WEBPACK_EXTERNAL_MODULE__545__;","module.exports = __WEBPACK_EXTERNAL_MODULE__388__;","module.exports = __WEBPACK_EXTERNAL_MODULE__980__;","module.exports = __WEBPACK_EXTERNAL_MODULE__650__;","module.exports = __WEBPACK_EXTERNAL_MODULE__729__;","module.exports = __WEBPACK_EXTERNAL_MODULE__814__;","module.exports = __WEBPACK_EXTERNAL_MODULE__177__;","// The module cache\nvar __webpack_module_cache__ = {};\n\n// The require function\nfunction __webpack_require__(moduleId) {\n\t// Check if module is in cache\n\tvar cachedModule = __webpack_module_cache__[moduleId];\n\tif (cachedModule !== undefined) {\n\t\treturn cachedModule.exports;\n\t}\n\t// Create a new module (and put it into the cache)\n\tvar module = __webpack_module_cache__[moduleId] = {\n\t\tid: moduleId,\n\t\tloaded: false,\n\t\texports: {}\n\t};\n\n\t// Execute the module function\n\t__webpack_modules__[moduleId](module, module.exports, __webpack_require__);\n\n\t// Flag the module as loaded\n\tmodule.loaded = true;\n\n\t// Return the exports of the module\n\treturn module.exports;\n}\n\n","// getDefaultExport function for compatibility with non-harmony modules\n__webpack_require__.n = (module) => {\n\tvar getter = module && module.__esModule ?\n\t\t() => (module['default']) :\n\t\t() => (module);\n\t__webpack_require__.d(getter, { a: getter });\n\treturn getter;\n};","// define getter functions for harmony exports\n__webpack_require__.d = (exports, definition) => {\n\tfor(var key in definition) {\n\t\tif(__webpack_require__.o(definition, key) && !__webpack_require__.o(exports, key)) {\n\t\t\tObject.defineProperty(exports, key, { enumerable: true, get: definition[key] });\n\t\t}\n\t}\n};","__webpack_require__.g = (function() {\n\tif (typeof globalThis === 'object') return globalThis;\n\ttry {\n\t\treturn this || new Function('return this')();\n\t} catch (e) {\n\t\tif (typeof window === 'object') return window;\n\t}\n})();","__webpack_require__.o = (obj, prop) => (Object.prototype.hasOwnProperty.call(obj, prop))","// define __esModule on exports\n__webpack_require__.r = (exports) => {\n\tif(typeof Symbol !== 'undefined' && Symbol.toStringTag) {\n\t\tObject.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });\n\t}\n\tObject.defineProperty(exports, '__esModule', { value: true });\n};","__webpack_require__.nmd = (module) => {\n\tmodule.paths = [];\n\tif (!module.children) module.children = [];\n\treturn module;\n};","import React, { useContext } from 'react';\nimport { AppRootProps } from '@grafana/data';\n\n// This is used to be able to retrieve the root plugin props anywhere inside the app.\nexport const PluginPropsContext = React.createContext(null);\n\nexport const usePluginProps = () => {\n const pluginProps = useContext(PluginPropsContext);\n\n return pluginProps;\n};\n\nexport const usePluginMeta = () => {\n const pluginProps = usePluginProps();\n\n return pluginProps?.meta;\n};\n","import pluginJson from './plugin.json';\n\nexport const PLUGIN_BASE_URL = `/a/${pluginJson.id}`;\n\nexport enum ROUTES {\n CacheGroup = 'cache-group',\n DeliveryService = 'delivery-service',\n Server = 'server',\n}\n\nexport const PROMETHEUS_DATASOURCE_REF = {\n uid: 'prometheus',\n type: 'prometheus',\n};\n\nexport const INFLUXDB_DATASOURCES_REF = {\n CACHE_STATS: {\n uid: 'cache_stats',\n type: 'influxdb',\n },\n DELIVERYSERVICE_STATS: {\n uid: 'deliveryservice_stats',\n type: 'influxdb',\n },\n DAILY_STATS: {\n uid: 'daily_stats',\n type: 'influxdb',\n },\n TELEGRAF: {\n uid: 'telegraf',\n type: 'influxdb',\n },\n};\n","import { PLUGIN_BASE_URL } from '../constants';\n\n// Prefixes the route with the base URL of the plugin\nexport function prefixRoute(route: string): string {\n return `${PLUGIN_BASE_URL}/${route}`;\n}\n","import React from 'react';\nimport { useLocation } from 'react-router-dom';\nimport { urlUtil, locationUtil } from '@grafana/data';\nimport { locationService, locationSearchToObject } from '@grafana/runtime';\n\nvar __defProp = Object.defineProperty;\nvar __getOwnPropSymbols = Object.getOwnPropertySymbols;\nvar __hasOwnProp = Object.prototype.hasOwnProperty;\nvar __propIsEnum = Object.prototype.propertyIsEnumerable;\nvar __defNormalProp = (obj, key, value) => key in obj ? __defProp(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;\nvar __spreadValues = (a, b) => {\n for (var prop in b || (b = {}))\n if (__hasOwnProp.call(b, prop))\n __defNormalProp(a, prop, b[prop]);\n if (__getOwnPropSymbols)\n for (var prop of __getOwnPropSymbols(b)) {\n if (__propIsEnum.call(b, prop))\n __defNormalProp(a, prop, b[prop]);\n }\n return a;\n};\nfunction useAppQueryParams() {\n const location = useLocation();\n return locationSearchToObject(location.search || \"\");\n}\nfunction getUrlWithAppState(path, preserveParams) {\n const paramsCopy = __spreadValues({}, locationService.getSearchObject());\n if (preserveParams) {\n for (const key of Object.keys(paramsCopy)) {\n if (!preserveParams.includes(key)) {\n delete paramsCopy[key];\n }\n }\n }\n return urlUtil.renderUrl(locationUtil.assureBaseUrl(path), paramsCopy);\n}\nfunction renderSceneComponentWithRouteProps(sceneObject, routeProps) {\n return React.createElement(sceneObject.Component, { model: sceneObject, routeProps });\n}\n\nexport { getUrlWithAppState, renderSceneComponentWithRouteProps, useAppQueryParams };\n//# sourceMappingURL=utils.js.map\n","import { getPluginImportUtils } from '@grafana/runtime';\n\nvar __defProp = Object.defineProperty;\nvar __defProps = Object.defineProperties;\nvar __getOwnPropDescs = Object.getOwnPropertyDescriptors;\nvar __getOwnPropSymbols = Object.getOwnPropertySymbols;\nvar __hasOwnProp = Object.prototype.hasOwnProperty;\nvar __propIsEnum = Object.prototype.propertyIsEnumerable;\nvar __defNormalProp = (obj, key, value) => key in obj ? __defProp(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;\nvar __spreadValues = (a, b) => {\n for (var prop in b || (b = {}))\n if (__hasOwnProp.call(b, prop))\n __defNormalProp(a, prop, b[prop]);\n if (__getOwnPropSymbols)\n for (var prop of __getOwnPropSymbols(b)) {\n if (__propIsEnum.call(b, prop))\n __defNormalProp(a, prop, b[prop]);\n }\n return a;\n};\nvar __spreadProps = (a, b) => __defProps(a, __getOwnPropDescs(b));\nconst runtimePanelPlugins = /* @__PURE__ */ new Map();\nfunction registerRuntimePanelPlugin({ pluginId, plugin }) {\n if (runtimePanelPlugins.has(pluginId)) {\n throw new Error(`A runtime panel plugin with id ${pluginId} has already been registered`);\n }\n plugin.meta = __spreadProps(__spreadValues({}, plugin.meta), {\n id: pluginId,\n name: pluginId,\n module: \"runtime plugin\",\n baseUrl: \"runtime plugin\",\n info: {\n author: {\n name: \"Runtime plugin \" + pluginId\n },\n description: \"\",\n links: [],\n logos: {\n large: \"\",\n small: \"\"\n },\n screenshots: [],\n updated: \"\",\n version: \"\"\n }\n });\n runtimePanelPlugins.set(pluginId, plugin);\n}\nfunction loadPanelPluginSync(pluginId) {\n var _a;\n const { getPanelPluginFromCache } = getPluginImportUtils();\n return (_a = getPanelPluginFromCache(pluginId)) != null ? _a : runtimePanelPlugins.get(pluginId);\n}\n\nexport { loadPanelPluginSync, registerRuntimePanelPlugin, runtimePanelPlugins };\n//# sourceMappingURL=registerRuntimePanelPlugin.js.map\n","const randomUUID = typeof crypto !== 'undefined' && crypto.randomUUID && crypto.randomUUID.bind(crypto);\nexport default {\n randomUUID\n};","// Unique ID creation requires a high quality random # generator. In the browser we therefore\n// require the crypto API and do not support built-in fallback to lower quality random number\n// generators (like Math.random()).\nlet getRandomValues;\nconst rnds8 = new Uint8Array(16);\nexport default function rng() {\n // lazy load so that environments that need to polyfill have a chance to do so\n if (!getRandomValues) {\n // getRandomValues needs to be invoked in a context where \"this\" is a Crypto implementation.\n getRandomValues = typeof crypto !== 'undefined' && crypto.getRandomValues && crypto.getRandomValues.bind(crypto);\n\n if (!getRandomValues) {\n throw new Error('crypto.getRandomValues() not supported. See https://github.com/uuidjs/uuid#getrandomvalues-not-supported');\n }\n }\n\n return getRandomValues(rnds8);\n}","import validate from './validate.js';\n/**\n * Convert array of 16 byte values to UUID string format of the form:\n * XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX\n */\n\nconst byteToHex = [];\n\nfor (let i = 0; i < 256; ++i) {\n byteToHex.push((i + 0x100).toString(16).slice(1));\n}\n\nexport function unsafeStringify(arr, offset = 0) {\n // Note: Be careful editing this code! It's been tuned for performance\n // and works in ways you may not expect. See https://github.com/uuidjs/uuid/pull/434\n return byteToHex[arr[offset + 0]] + byteToHex[arr[offset + 1]] + byteToHex[arr[offset + 2]] + byteToHex[arr[offset + 3]] + '-' + byteToHex[arr[offset + 4]] + byteToHex[arr[offset + 5]] + '-' + byteToHex[arr[offset + 6]] + byteToHex[arr[offset + 7]] + '-' + byteToHex[arr[offset + 8]] + byteToHex[arr[offset + 9]] + '-' + byteToHex[arr[offset + 10]] + byteToHex[arr[offset + 11]] + byteToHex[arr[offset + 12]] + byteToHex[arr[offset + 13]] + byteToHex[arr[offset + 14]] + byteToHex[arr[offset + 15]];\n}\n\nfunction stringify(arr, offset = 0) {\n const uuid = unsafeStringify(arr, offset); // Consistency check for valid UUID. If this throws, it's likely due to one\n // of the following:\n // - One or more input array values don't map to a hex octet (leading to\n // \"undefined\" in the uuid)\n // - Invalid input values for the RFC `version` or `variant` fields\n\n if (!validate(uuid)) {\n throw TypeError('Stringified UUID is invalid');\n }\n\n return uuid;\n}\n\nexport default stringify;","import native from './native.js';\nimport rng from './rng.js';\nimport { unsafeStringify } from './stringify.js';\n\nfunction v4(options, buf, offset) {\n if (native.randomUUID && !buf && !options) {\n return native.randomUUID();\n }\n\n options = options || {};\n const rnds = options.random || (options.rng || rng)(); // Per 4.4, set bits for version and `clock_seq_hi_and_reserved`\n\n rnds[6] = rnds[6] & 0x0f | 0x40;\n rnds[8] = rnds[8] & 0x3f | 0x80; // Copy bytes to buffer, if provided\n\n if (buf) {\n offset = offset || 0;\n\n for (let i = 0; i < 16; ++i) {\n buf[offset + i] = rnds[i];\n }\n\n return buf;\n }\n\n return unsafeStringify(rnds);\n}\n\nexport default v4;","import React, { useEffect } from 'react';\n\nvar __defProp = Object.defineProperty;\nvar __defProps = Object.defineProperties;\nvar __getOwnPropDescs = Object.getOwnPropertyDescriptors;\nvar __getOwnPropSymbols = Object.getOwnPropertySymbols;\nvar __hasOwnProp = Object.prototype.hasOwnProperty;\nvar __propIsEnum = Object.prototype.propertyIsEnumerable;\nvar __defNormalProp = (obj, key, value) => key in obj ? __defProp(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;\nvar __spreadValues = (a, b) => {\n for (var prop in b || (b = {}))\n if (__hasOwnProp.call(b, prop))\n __defNormalProp(a, prop, b[prop]);\n if (__getOwnPropSymbols)\n for (var prop of __getOwnPropSymbols(b)) {\n if (__propIsEnum.call(b, prop))\n __defNormalProp(a, prop, b[prop]);\n }\n return a;\n};\nvar __spreadProps = (a, b) => __defProps(a, __getOwnPropDescs(b));\nvar __objRest = (source, exclude) => {\n var target = {};\n for (var prop in source)\n if (__hasOwnProp.call(source, prop) && exclude.indexOf(prop) < 0)\n target[prop] = source[prop];\n if (source != null && __getOwnPropSymbols)\n for (var prop of __getOwnPropSymbols(source)) {\n if (exclude.indexOf(prop) < 0 && __propIsEnum.call(source, prop))\n target[prop] = source[prop];\n }\n return target;\n};\nfunction SceneComponentWrapperWithoutMemo(_a) {\n var _b = _a, { model } = _b, otherProps = __objRest(_b, [\"model\"]);\n var _a2;\n const Component = (_a2 = model.constructor[\"Component\"]) != null ? _a2 : EmptyRenderer;\n const [activated, setActivated] = React.useState(false);\n useEffect(() => {\n setActivated(true);\n return model.activate();\n }, [model]);\n if (!activated) {\n return null;\n }\n return /* @__PURE__ */ React.createElement(Component, __spreadProps(__spreadValues({}, otherProps), {\n model\n }));\n}\nconst SceneComponentWrapper = React.memo(SceneComponentWrapperWithoutMemo);\nfunction EmptyRenderer(_) {\n return null;\n}\n\nexport { SceneComponentWrapper };\n//# sourceMappingURL=SceneComponentWrapper.js.map\n","import { BusEventWithPayload } from '@grafana/data';\n\nclass SceneObjectStateChangedEvent extends BusEventWithPayload {\n}\nSceneObjectStateChangedEvent.type = \"scene-object-state-change\";\nclass UserActionEvent extends BusEventWithPayload {\n}\nUserActionEvent.type = \"scene-object-user-action\";\n\nexport { SceneObjectStateChangedEvent, UserActionEvent };\n//# sourceMappingURL=events.js.map\n","var __accessCheck = (obj, member, msg) => {\n if (!member.has(obj))\n throw TypeError(\"Cannot \" + msg);\n};\nvar __privateGet = (obj, member, getter) => {\n __accessCheck(obj, member, \"read from private field\");\n return getter ? getter.call(obj) : member.get(obj);\n};\nvar __privateAdd = (obj, member, value) => {\n if (member.has(obj))\n throw TypeError(\"Cannot add the same private member more than once\");\n member instanceof WeakSet ? member.add(obj) : member.set(obj, value);\n};\nvar __privateSet = (obj, member, value, setter) => {\n __accessCheck(obj, member, \"write to private field\");\n setter ? setter.call(obj, value) : member.set(obj, value);\n return value;\n};\nvar _ref;\nclass SceneObjectRef {\n constructor(ref) {\n __privateAdd(this, _ref, void 0);\n __privateSet(this, _ref, ref);\n }\n resolve() {\n return __privateGet(this, _ref);\n }\n}\n_ref = new WeakMap();\n\nexport { SceneObjectRef };\n//# sourceMappingURL=SceneObjectRef.js.map\n","import { useState, useEffect } from 'react';\nimport { Subscription } from 'rxjs';\nimport { v4 } from 'uuid';\nimport { EventBusSrv } from '@grafana/data';\nimport { SceneComponentWrapper } from './SceneComponentWrapper.js';\nimport { SceneObjectStateChangedEvent } from './events.js';\nimport { cloneSceneObject } from './sceneGraph/utils.js';\nimport { SceneObjectRef } from './SceneObjectRef.js';\n\nvar __defProp = Object.defineProperty;\nvar __getOwnPropSymbols = Object.getOwnPropertySymbols;\nvar __hasOwnProp = Object.prototype.hasOwnProperty;\nvar __propIsEnum = Object.prototype.propertyIsEnumerable;\nvar __defNormalProp = (obj, key, value) => key in obj ? __defProp(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;\nvar __spreadValues = (a, b) => {\n for (var prop in b || (b = {}))\n if (__hasOwnProp.call(b, prop))\n __defNormalProp(a, prop, b[prop]);\n if (__getOwnPropSymbols)\n for (var prop of __getOwnPropSymbols(b)) {\n if (__propIsEnum.call(b, prop))\n __defNormalProp(a, prop, b[prop]);\n }\n return a;\n};\nclass SceneObjectBase {\n constructor(state) {\n this._isActive = false;\n this._activationHandlers = [];\n this._deactivationHandlers = /* @__PURE__ */ new Map();\n this._subs = new Subscription();\n this._refCount = 0;\n if (!state.key) {\n state.key = v4();\n }\n this._events = new EventBusSrv();\n this._state = Object.freeze(state);\n this._setParent();\n }\n get state() {\n return this._state;\n }\n get isActive() {\n return this._isActive;\n }\n get parent() {\n return this._parent;\n }\n get variableDependency() {\n return this._variableDependency;\n }\n get urlSync() {\n return this._urlSync;\n }\n get Component() {\n return SceneComponentWrapper;\n }\n _setParent() {\n this.forEachChild((child) => {\n if (child._parent && child._parent !== this) {\n console.warn(\n \"SceneObject already has a parent set that is different from the new parent. You cannot share the same SceneObject instance in multiple scenes or in multiple different places of the same scene graph. Use SceneObject.clone() to duplicate a SceneObject or store a state key reference and use sceneGraph.findObject to locate it.\",\n child,\n this\n );\n }\n child._parent = this;\n });\n }\n subscribeToState(handler) {\n return this._events.subscribe(SceneObjectStateChangedEvent, (event) => {\n if (event.payload.changedObject === this) {\n handler(event.payload.newState, event.payload.prevState);\n }\n });\n }\n subscribeToEvent(eventType, handler) {\n return this._events.subscribe(eventType, handler);\n }\n setState(update) {\n const prevState = this._state;\n const newState = __spreadValues(__spreadValues({}, this._state), update);\n this._state = Object.freeze(newState);\n this._setParent();\n this._handleActivationOfChangedStateProps(prevState, newState);\n this.publishEvent(\n new SceneObjectStateChangedEvent({\n prevState,\n newState,\n partialUpdate: update,\n changedObject: this\n }),\n true\n );\n }\n _handleActivationOfChangedStateProps(prevState, newState) {\n if (!this.isActive) {\n return;\n }\n if (prevState.$data !== newState.$data) {\n this._handleChangedStateActivation(prevState.$data, newState.$data);\n }\n if (prevState.$variables !== newState.$variables) {\n this._handleChangedStateActivation(prevState.$variables, newState.$variables);\n }\n if (prevState.$timeRange !== newState.$timeRange) {\n this._handleChangedStateActivation(prevState.$timeRange, newState.$timeRange);\n }\n }\n _handleChangedStateActivation(oldValue, newValue) {\n if (oldValue) {\n const deactivationHandler = this._deactivationHandlers.get(oldValue);\n if (deactivationHandler) {\n deactivationHandler();\n this._deactivationHandlers.delete(oldValue);\n }\n }\n if (newValue) {\n this._deactivationHandlers.set(newValue, newValue.activate());\n }\n }\n publishEvent(event, bubble) {\n this._events.publish(event);\n if (bubble && this.parent) {\n this.parent.publishEvent(event, bubble);\n }\n }\n getRoot() {\n return !this._parent ? this : this._parent.getRoot();\n }\n _internalActivate() {\n this._isActive = true;\n const { $data, $variables, $timeRange, $behaviors } = this.state;\n if ($timeRange && !$timeRange.isActive) {\n this._deactivationHandlers.set($timeRange, $timeRange.activate());\n }\n if ($variables && !$variables.isActive) {\n this._deactivationHandlers.set($variables, $variables.activate());\n }\n if ($data && !$data.isActive) {\n this._deactivationHandlers.set($data, $data.activate());\n }\n if ($behaviors) {\n for (const behavior of $behaviors) {\n if (behavior instanceof SceneObjectBase) {\n this._deactivationHandlers.set(behavior, behavior.activate());\n } else if (typeof behavior === \"function\") {\n const deactivationHandler = behavior(this);\n if (deactivationHandler) {\n this._deactivationHandlers.set(behavior, deactivationHandler);\n }\n }\n }\n }\n this._activationHandlers.forEach((handler) => {\n const result = handler();\n if (result) {\n this._deactivationHandlers.set(result, result);\n }\n });\n }\n activate() {\n if (!this.isActive) {\n this._internalActivate();\n }\n this._refCount++;\n let called = false;\n return () => {\n this._refCount--;\n if (called) {\n const msg = `SceneObject cancelation handler returned by activate() called a second time`;\n console.error(msg, this);\n throw new Error(msg);\n }\n called = true;\n if (this._refCount === 0) {\n this._internalDeactivate();\n }\n };\n }\n _internalDeactivate() {\n this._isActive = false;\n for (let handler of this._deactivationHandlers.values()) {\n handler();\n }\n this._deactivationHandlers.clear();\n this._events.removeAllListeners();\n this._subs.unsubscribe();\n this._subs = new Subscription();\n }\n useState() {\n return useSceneObjectState(this);\n }\n forceRender() {\n this.setState({});\n }\n clone(withState) {\n return cloneSceneObject(this, withState);\n }\n addActivationHandler(handler) {\n this._activationHandlers.push(handler);\n }\n forEachChild(callback) {\n for (const propValue of Object.values(this.state)) {\n if (propValue instanceof SceneObjectBase) {\n callback(propValue);\n }\n if (Array.isArray(propValue)) {\n for (const child of propValue) {\n if (child instanceof SceneObjectBase) {\n callback(child);\n }\n }\n }\n }\n }\n getRef() {\n if (!this._ref) {\n this._ref = new SceneObjectRef(this);\n }\n return this._ref;\n }\n}\nfunction useSceneObjectState(model) {\n const [_, setState] = useState(model.state);\n const stateAtFirstRender = model.state;\n useEffect(() => {\n const s = model.subscribeToState(setState);\n if (model.state !== stateAtFirstRender) {\n setState(model.state);\n }\n return () => s.unsubscribe();\n }, [model]);\n return model.state;\n}\n\nexport { SceneObjectBase };\n//# sourceMappingURL=SceneObjectBase.js.map\n","import { SceneObjectBase } from '../SceneObjectBase.js';\nimport { SceneObjectRef } from '../SceneObjectRef.js';\n\nvar __defProp = Object.defineProperty;\nvar __getOwnPropSymbols = Object.getOwnPropertySymbols;\nvar __hasOwnProp = Object.prototype.hasOwnProperty;\nvar __propIsEnum = Object.prototype.propertyIsEnumerable;\nvar __defNormalProp = (obj, key, value) => key in obj ? __defProp(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;\nvar __spreadValues = (a, b) => {\n for (var prop in b || (b = {}))\n if (__hasOwnProp.call(b, prop))\n __defNormalProp(a, prop, b[prop]);\n if (__getOwnPropSymbols)\n for (var prop of __getOwnPropSymbols(b)) {\n if (__propIsEnum.call(b, prop))\n __defNormalProp(a, prop, b[prop]);\n }\n return a;\n};\nfunction cloneSceneObject(sceneObject, withState) {\n const clonedState = cloneSceneObjectState(sceneObject.state, withState);\n return new sceneObject.constructor(clonedState);\n}\nfunction cloneSceneObjectState(sceneState, withState) {\n const clonedState = __spreadValues({}, sceneState);\n for (const key in clonedState) {\n const propValue = clonedState[key];\n if (propValue instanceof SceneObjectBase) {\n clonedState[key] = propValue.clone();\n }\n if (propValue instanceof SceneObjectRef) {\n throw new Error(\"Cannot clone a SceneObject with a SceneObjectRef in state\");\n }\n if (Array.isArray(propValue)) {\n const newArray = [];\n for (const child of propValue) {\n if (child instanceof SceneObjectBase) {\n newArray.push(child.clone());\n } else {\n newArray.push(child);\n }\n }\n clonedState[key] = newArray;\n }\n }\n Object.assign(clonedState, withState);\n return clonedState;\n}\nfunction getClosest(sceneObject, extract) {\n let curSceneObject = sceneObject;\n let extracted = void 0;\n while (curSceneObject && !extracted) {\n extracted = extract(curSceneObject);\n curSceneObject = curSceneObject.parent;\n }\n return extracted;\n}\n\nexport { cloneSceneObject, cloneSceneObjectState, getClosest };\n//# sourceMappingURL=utils.js.map\n","import { DataSourceApi, PluginType } from '@grafana/data';\n\nclass RuntimeDataSource extends DataSourceApi {\n constructor(pluginId, uid) {\n super({\n name: \"RuntimeDataSource-\" + pluginId,\n uid,\n type: pluginId,\n id: 1,\n readOnly: true,\n jsonData: {},\n access: \"direct\",\n meta: {\n id: pluginId,\n name: \"RuntimeDataSource-\" + pluginId,\n type: PluginType.datasource,\n info: {\n author: {\n name: \"\"\n },\n description: \"\",\n links: [],\n logos: {\n large: \"\",\n small: \"\"\n },\n screenshots: [],\n updated: \"\",\n version: \"\"\n },\n module: \"\",\n baseUrl: \"\"\n }\n });\n }\n testDatasource() {\n return Promise.resolve({});\n }\n}\nconst runtimeDataSources = /* @__PURE__ */ new Map();\nfunction registerRuntimeDataSource({ dataSource }) {\n if (runtimeDataSources.has(dataSource.uid)) {\n throw new Error(`A runtime data source with uid ${dataSource.uid} has already been registered`);\n }\n runtimeDataSources.set(dataSource.uid, dataSource);\n}\n\nexport { RuntimeDataSource, registerRuntimeDataSource, runtimeDataSources };\n//# sourceMappingURL=RuntimeDataSource.js.map\n","const defaultAnnotationTarget = {\n tags: []\n};\nconst defaultAnnotationPanelFilter = {\n exclude: false,\n ids: []\n};\nconst defaultAnnotationContainer = {\n list: []\n};\nconst defaultAnnotationQuery = {\n enable: true,\n hide: false\n};\nconst defaultVariableModel = {\n id: \"00000000-0000-0000-0000-000000000000\",\n multi: false,\n options: [],\n skipUrlSync: false\n};\nvar VariableRefresh = /* @__PURE__ */ ((VariableRefresh2) => {\n VariableRefresh2[VariableRefresh2[\"never\"] = 0] = \"never\";\n VariableRefresh2[VariableRefresh2[\"onDashboardLoad\"] = 1] = \"onDashboardLoad\";\n VariableRefresh2[VariableRefresh2[\"onTimeRangeChanged\"] = 2] = \"onTimeRangeChanged\";\n return VariableRefresh2;\n})(VariableRefresh || {});\nvar VariableSort = /* @__PURE__ */ ((VariableSort2) => {\n VariableSort2[VariableSort2[\"alphabeticalAsc\"] = 1] = \"alphabeticalAsc\";\n VariableSort2[VariableSort2[\"alphabeticalCaseInsensitiveAsc\"] = 5] = \"alphabeticalCaseInsensitiveAsc\";\n VariableSort2[VariableSort2[\"alphabeticalCaseInsensitiveDesc\"] = 6] = \"alphabeticalCaseInsensitiveDesc\";\n VariableSort2[VariableSort2[\"alphabeticalDesc\"] = 2] = \"alphabeticalDesc\";\n VariableSort2[VariableSort2[\"disabled\"] = 0] = \"disabled\";\n VariableSort2[VariableSort2[\"numericalAsc\"] = 3] = \"numericalAsc\";\n VariableSort2[VariableSort2[\"numericalDesc\"] = 4] = \"numericalDesc\";\n return VariableSort2;\n})(VariableSort || {});\nvar LoadingState = /* @__PURE__ */ ((LoadingState2) => {\n LoadingState2[\"Done\"] = \"Done\";\n LoadingState2[\"Error\"] = \"Error\";\n LoadingState2[\"Loading\"] = \"Loading\";\n LoadingState2[\"NotStarted\"] = \"NotStarted\";\n LoadingState2[\"Streaming\"] = \"Streaming\";\n return LoadingState2;\n})(LoadingState || {});\nconst defaultDashboardLink = {\n asDropdown: false,\n includeVars: false,\n keepTime: false,\n tags: [],\n targetBlank: false\n};\nvar FieldColorModeId = /* @__PURE__ */ ((FieldColorModeId2) => {\n FieldColorModeId2[\"ContinuousBlPu\"] = \"continuous-BlPu\";\n FieldColorModeId2[\"ContinuousBlYlRd\"] = \"continuous-BlYlRd\";\n FieldColorModeId2[\"ContinuousBlues\"] = \"continuous-blues\";\n FieldColorModeId2[\"ContinuousGrYlRd\"] = \"continuous-GrYlRd\";\n FieldColorModeId2[\"ContinuousGreens\"] = \"continuous-greens\";\n FieldColorModeId2[\"ContinuousPurples\"] = \"continuous-purples\";\n FieldColorModeId2[\"ContinuousRdYlGr\"] = \"continuous-RdYlGr\";\n FieldColorModeId2[\"ContinuousReds\"] = \"continuous-reds\";\n FieldColorModeId2[\"ContinuousYlBl\"] = \"continuous-YlBl\";\n FieldColorModeId2[\"ContinuousYlRd\"] = \"continuous-YlRd\";\n FieldColorModeId2[\"Fixed\"] = \"fixed\";\n FieldColorModeId2[\"PaletteClassic\"] = \"palette-classic\";\n FieldColorModeId2[\"PaletteClassicByName\"] = \"palette-classic-by-name\";\n FieldColorModeId2[\"Shades\"] = \"shades\";\n FieldColorModeId2[\"Thresholds\"] = \"thresholds\";\n return FieldColorModeId2;\n})(FieldColorModeId || {});\nconst defaultGridPos = {\n h: 9,\n w: 12,\n x: 0,\n y: 0\n};\nvar ThresholdsMode = /* @__PURE__ */ ((ThresholdsMode2) => {\n ThresholdsMode2[\"Absolute\"] = \"absolute\";\n ThresholdsMode2[\"Percentage\"] = \"percentage\";\n return ThresholdsMode2;\n})(ThresholdsMode || {});\nconst defaultThresholdsConfig = {\n steps: []\n};\nvar MappingType = /* @__PURE__ */ ((MappingType2) => {\n MappingType2[\"RangeToText\"] = \"range\";\n MappingType2[\"RegexToText\"] = \"regex\";\n MappingType2[\"SpecialValue\"] = \"special\";\n MappingType2[\"ValueToText\"] = \"value\";\n return MappingType2;\n})(MappingType || {});\nvar SpecialValueMatch = /* @__PURE__ */ ((SpecialValueMatch2) => {\n SpecialValueMatch2[\"Empty\"] = \"empty\";\n SpecialValueMatch2[\"False\"] = \"false\";\n SpecialValueMatch2[\"NaN\"] = \"nan\";\n SpecialValueMatch2[\"Null\"] = \"null\";\n SpecialValueMatch2[\"NullAndNan\"] = \"null+nan\";\n SpecialValueMatch2[\"True\"] = \"true\";\n return SpecialValueMatch2;\n})(SpecialValueMatch || {});\nvar DashboardCursorSync = /* @__PURE__ */ ((DashboardCursorSync2) => {\n DashboardCursorSync2[DashboardCursorSync2[\"Crosshair\"] = 1] = \"Crosshair\";\n DashboardCursorSync2[DashboardCursorSync2[\"Off\"] = 0] = \"Off\";\n DashboardCursorSync2[DashboardCursorSync2[\"Tooltip\"] = 2] = \"Tooltip\";\n return DashboardCursorSync2;\n})(DashboardCursorSync || {});\nconst defaultDashboardCursorSync = 0 /* Off */;\nconst defaultPanel = {\n links: [],\n repeatDirection: \"h\",\n tags: [],\n targets: [],\n transformations: [],\n transparent: false\n};\nconst defaultFieldConfigSource = {\n overrides: []\n};\nconst defaultMatcherConfig = {\n id: \"\"\n};\nconst defaultFieldConfig = {\n links: [],\n mappings: []\n};\nconst defaultRowPanel = {\n collapsed: false,\n panels: []\n};\nconst defaultDashboard = {\n editable: true,\n fiscalYearStartMonth: 0,\n graphTooltip: 0 /* Off */,\n links: [],\n panels: [],\n schemaVersion: 36,\n style: \"dark\",\n tags: [],\n timezone: \"browser\"\n};\n\nexport { DashboardCursorSync, FieldColorModeId, LoadingState, MappingType, SpecialValueMatch, ThresholdsMode, VariableRefresh, VariableSort, defaultAnnotationContainer, defaultAnnotationPanelFilter, defaultAnnotationQuery, defaultAnnotationTarget, defaultDashboard, defaultDashboardCursorSync, defaultDashboardLink, defaultFieldConfig, defaultFieldConfigSource, defaultGridPos, defaultMatcherConfig, defaultPanel, defaultRowPanel, defaultThresholdsConfig, defaultVariableModel };\n//# sourceMappingURL=dashboard_types.gen.js.map\n","import { getDefaultTimeRange } from '@grafana/data';\nimport { LoadingState } from '@grafana/schema';\nimport { of } from 'rxjs';\nimport { SceneObjectBase } from './SceneObjectBase.js';\n\nvar __defProp = Object.defineProperty;\nvar __getOwnPropSymbols = Object.getOwnPropertySymbols;\nvar __hasOwnProp = Object.prototype.hasOwnProperty;\nvar __propIsEnum = Object.prototype.propertyIsEnumerable;\nvar __defNormalProp = (obj, key, value) => key in obj ? __defProp(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;\nvar __spreadValues = (a, b) => {\n for (var prop in b || (b = {}))\n if (__hasOwnProp.call(b, prop))\n __defNormalProp(a, prop, b[prop]);\n if (__getOwnPropSymbols)\n for (var prop of __getOwnPropSymbols(b)) {\n if (__propIsEnum.call(b, prop))\n __defNormalProp(a, prop, b[prop]);\n }\n return a;\n};\nclass SceneDataNode extends SceneObjectBase {\n constructor(state) {\n super(__spreadValues({\n data: emptyPanelData\n }, state));\n }\n getResultsStream() {\n const result = {\n origin: this,\n data: this.state.data\n };\n return of(result);\n }\n}\nconst emptyPanelData = {\n state: LoadingState.Done,\n series: [],\n timeRange: getDefaultTimeRange()\n};\n\nexport { SceneDataNode, emptyPanelData };\n//# sourceMappingURL=SceneDataNode.js.map\n","class SceneObjectUrlSyncConfig {\n constructor(_sceneObject, _options) {\n this._sceneObject = _sceneObject;\n this._keys = _options.keys;\n }\n getKeys() {\n return this._keys;\n }\n getUrlState() {\n return this._sceneObject.getUrlState();\n }\n updateFromUrl(values) {\n this._sceneObject.updateFromUrl(values);\n }\n}\n\nexport { SceneObjectUrlSyncConfig };\n//# sourceMappingURL=SceneObjectUrlSyncConfig.js.map\n","import { toUtc } from '@grafana/data';\n\nconst INTERVAL_STRING_REGEX = /^\\d+[yYmMsSwWhHdD]$/;\nfunction parseUrlParam(value) {\n if (typeof value !== \"string\") {\n return null;\n }\n if (value.indexOf(\"now\") !== -1) {\n return value;\n }\n if (INTERVAL_STRING_REGEX.test(value)) {\n return value;\n }\n if (value.length === 8) {\n const utcValue = toUtc(value, \"YYYYMMDD\");\n if (utcValue.isValid()) {\n return utcValue.toISOString();\n }\n } else if (value.length === 15) {\n const utcValue = toUtc(value, \"YYYYMMDDTHHmmss\");\n if (utcValue.isValid()) {\n return utcValue.toISOString();\n }\n } else if (value.length === 24) {\n const utcValue = toUtc(value);\n return utcValue.toISOString();\n }\n const epoch = parseInt(value, 10);\n if (!isNaN(epoch)) {\n return toUtc(epoch).toISOString();\n }\n return null;\n}\n\nexport { parseUrlParam };\n//# sourceMappingURL=parseUrlParam.js.map\n","import { dateMath } from '@grafana/data';\n\nfunction evaluateTimeRange(from, to, timeZone, fiscalYearStartMonth) {\n return {\n from: dateMath.parse(from, false, timeZone, fiscalYearStartMonth),\n to: dateMath.parse(to, true, timeZone, fiscalYearStartMonth),\n raw: {\n from,\n to\n }\n };\n}\n\nexport { evaluateTimeRange };\n//# sourceMappingURL=evaluateTimeRange.js.map\n","import { getTimeZone, setWeekStart } from '@grafana/data';\nimport { SceneObjectUrlSyncConfig } from '../services/SceneObjectUrlSyncConfig.js';\nimport { SceneObjectBase } from './SceneObjectBase.js';\nimport { getClosest } from './sceneGraph/utils.js';\nimport { parseUrlParam } from '../utils/parseUrlParam.js';\nimport { evaluateTimeRange } from '../utils/evaluateTimeRange.js';\nimport { config } from '@grafana/runtime';\n\nvar __defProp = Object.defineProperty;\nvar __getOwnPropSymbols = Object.getOwnPropertySymbols;\nvar __hasOwnProp = Object.prototype.hasOwnProperty;\nvar __propIsEnum = Object.prototype.propertyIsEnumerable;\nvar __defNormalProp = (obj, key, value) => key in obj ? __defProp(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;\nvar __spreadValues = (a, b) => {\n for (var prop in b || (b = {}))\n if (__hasOwnProp.call(b, prop))\n __defNormalProp(a, prop, b[prop]);\n if (__getOwnPropSymbols)\n for (var prop of __getOwnPropSymbols(b)) {\n if (__propIsEnum.call(b, prop))\n __defNormalProp(a, prop, b[prop]);\n }\n return a;\n};\nclass SceneTimeRange extends SceneObjectBase {\n constructor(state = {}) {\n var _a, _b;\n const from = (_a = state.from) != null ? _a : \"now-6h\";\n const to = (_b = state.to) != null ? _b : \"now\";\n const timeZone = state.timeZone;\n const value = evaluateTimeRange(from, to, timeZone || getTimeZone(), state.fiscalYearStartMonth);\n super(__spreadValues({ from, to, timeZone, value }, state));\n this._urlSync = new SceneObjectUrlSyncConfig(this, { keys: [\"from\", \"to\"] });\n this.onTimeRangeChange = (timeRange) => {\n const update = {};\n const updateToEval = {};\n if (typeof timeRange.raw.from === \"string\") {\n update.from = timeRange.raw.from;\n updateToEval.from = timeRange.raw.from;\n } else {\n update.from = timeRange.raw.from.toISOString();\n updateToEval.from = timeRange.raw.from.toISOString(true);\n }\n if (typeof timeRange.raw.to === \"string\") {\n update.to = timeRange.raw.to;\n updateToEval.to = timeRange.raw.to;\n } else {\n update.to = timeRange.raw.to.toISOString();\n updateToEval.to = timeRange.raw.to.toISOString(true);\n }\n update.value = evaluateTimeRange(\n updateToEval.from,\n updateToEval.to,\n this.getTimeZone(),\n this.state.fiscalYearStartMonth\n );\n if (update.from !== this.state.from || update.to !== this.state.to) {\n this.setState(update);\n }\n };\n this.onTimeZoneChange = (timeZone) => {\n this.setState({ timeZone });\n };\n this.onRefresh = () => {\n this.setState({\n value: evaluateTimeRange(this.state.from, this.state.to, this.getTimeZone(), this.state.fiscalYearStartMonth)\n });\n };\n this.addActivationHandler(this._onActivate.bind(this));\n }\n _onActivate() {\n if (!this.state.timeZone) {\n const timeZoneSource = this.getTimeZoneSource();\n if (timeZoneSource !== this) {\n this._subs.add(\n timeZoneSource.subscribeToState((n, p) => {\n if (n.timeZone !== void 0 && n.timeZone !== p.timeZone) {\n this.setState({\n value: evaluateTimeRange(\n this.state.from,\n this.state.to,\n timeZoneSource.getTimeZone(),\n this.state.fiscalYearStartMonth\n )\n });\n }\n })\n );\n }\n }\n if (this.state.weekStart) {\n setWeekStart(this.state.weekStart);\n }\n return () => {\n if (this.state.weekStart) {\n setWeekStart(config.bootData.user.weekStart);\n }\n };\n }\n getTimeZoneSource() {\n if (!this.parent || !this.parent.parent) {\n return this;\n }\n const source = getClosest(this.parent.parent, (o) => {\n if (o.state.$timeRange && o.state.$timeRange.state.timeZone) {\n return o.state.$timeRange;\n }\n return void 0;\n });\n if (!source) {\n return this;\n }\n return source;\n }\n getTimeZone() {\n if (this.state.timeZone) {\n return this.state.timeZone;\n }\n const timeZoneSource = this.getTimeZoneSource();\n if (timeZoneSource !== this) {\n return timeZoneSource.state.timeZone;\n }\n return getTimeZone();\n }\n getUrlState() {\n return { from: this.state.from, to: this.state.to };\n }\n updateFromUrl(values) {\n var _a, _b;\n if (!values.to && !values.from) {\n return;\n }\n const update = {};\n const from = parseUrlParam(values.from);\n if (from) {\n update.from = from;\n }\n const to = parseUrlParam(values.to);\n if (to) {\n update.to = to;\n }\n update.value = evaluateTimeRange(\n (_a = update.from) != null ? _a : this.state.from,\n (_b = update.to) != null ? _b : this.state.to,\n this.getTimeZone(),\n this.state.fiscalYearStartMonth\n );\n this.setState(update);\n }\n}\n\nexport { SceneTimeRange };\n//# sourceMappingURL=SceneTimeRange.js.map\n","import { SceneDataNode } from '../../core/SceneDataNode.js';\nimport { SceneObjectBase } from '../../core/SceneObjectBase.js';\nimport { SceneTimeRange } from '../../core/SceneTimeRange.js';\n\nconst EmptyDataNode = new SceneDataNode();\nconst DefaultTimeRange = new SceneTimeRange();\nclass EmptyVariableSetImpl extends SceneObjectBase {\n constructor() {\n super({ variables: [] });\n }\n getByName(name) {\n return void 0;\n }\n isVariableLoadingOrWaitingToUpdate(variable) {\n return false;\n }\n}\nconst EmptyVariableSet = new EmptyVariableSetImpl();\n\nexport { DefaultTimeRange, EmptyDataNode, EmptyVariableSet, EmptyVariableSetImpl };\n//# sourceMappingURL=defaults.js.map\n","import { DefaultTimeRange } from '../../variables/interpolation/defaults.js';\nimport { getClosest } from './utils.js';\n\nfunction getTimeRange(sceneObject) {\n var _a;\n return (_a = getClosest(sceneObject, (s) => s.state.$timeRange)) != null ? _a : DefaultTimeRange;\n}\n\nexport { getTimeRange };\n//# sourceMappingURL=getTimeRange.js.map\n","var ScaleDimensionMode = /* @__PURE__ */ ((ScaleDimensionMode2) => {\n ScaleDimensionMode2[\"Linear\"] = \"linear\";\n ScaleDimensionMode2[\"Quad\"] = \"quad\";\n return ScaleDimensionMode2;\n})(ScaleDimensionMode || {});\nvar ScalarDimensionMode = /* @__PURE__ */ ((ScalarDimensionMode2) => {\n ScalarDimensionMode2[\"Clamped\"] = \"clamped\";\n ScalarDimensionMode2[\"Mod\"] = \"mod\";\n return ScalarDimensionMode2;\n})(ScalarDimensionMode || {});\nvar TextDimensionMode = /* @__PURE__ */ ((TextDimensionMode2) => {\n TextDimensionMode2[\"Field\"] = \"field\";\n TextDimensionMode2[\"Fixed\"] = \"fixed\";\n TextDimensionMode2[\"Template\"] = \"template\";\n return TextDimensionMode2;\n})(TextDimensionMode || {});\nvar ResourceDimensionMode = /* @__PURE__ */ ((ResourceDimensionMode2) => {\n ResourceDimensionMode2[\"Field\"] = \"field\";\n ResourceDimensionMode2[\"Fixed\"] = \"fixed\";\n ResourceDimensionMode2[\"Mapping\"] = \"mapping\";\n return ResourceDimensionMode2;\n})(ResourceDimensionMode || {});\nvar FrameGeometrySourceMode = /* @__PURE__ */ ((FrameGeometrySourceMode2) => {\n FrameGeometrySourceMode2[\"Auto\"] = \"auto\";\n FrameGeometrySourceMode2[\"Coords\"] = \"coords\";\n FrameGeometrySourceMode2[\"Geohash\"] = \"geohash\";\n FrameGeometrySourceMode2[\"Lookup\"] = \"lookup\";\n return FrameGeometrySourceMode2;\n})(FrameGeometrySourceMode || {});\nvar HeatmapCalculationMode = /* @__PURE__ */ ((HeatmapCalculationMode2) => {\n HeatmapCalculationMode2[\"Count\"] = \"count\";\n HeatmapCalculationMode2[\"Size\"] = \"size\";\n return HeatmapCalculationMode2;\n})(HeatmapCalculationMode || {});\nvar HeatmapCellLayout = /* @__PURE__ */ ((HeatmapCellLayout2) => {\n HeatmapCellLayout2[\"auto\"] = \"auto\";\n HeatmapCellLayout2[\"ge\"] = \"ge\";\n HeatmapCellLayout2[\"le\"] = \"le\";\n HeatmapCellLayout2[\"unknown\"] = \"unknown\";\n return HeatmapCellLayout2;\n})(HeatmapCellLayout || {});\nvar LogsSortOrder = /* @__PURE__ */ ((LogsSortOrder2) => {\n LogsSortOrder2[\"Ascending\"] = \"Ascending\";\n LogsSortOrder2[\"Descending\"] = \"Descending\";\n return LogsSortOrder2;\n})(LogsSortOrder || {});\nvar AxisPlacement = /* @__PURE__ */ ((AxisPlacement2) => {\n AxisPlacement2[\"Auto\"] = \"auto\";\n AxisPlacement2[\"Bottom\"] = \"bottom\";\n AxisPlacement2[\"Hidden\"] = \"hidden\";\n AxisPlacement2[\"Left\"] = \"left\";\n AxisPlacement2[\"Right\"] = \"right\";\n AxisPlacement2[\"Top\"] = \"top\";\n return AxisPlacement2;\n})(AxisPlacement || {});\nvar AxisColorMode = /* @__PURE__ */ ((AxisColorMode2) => {\n AxisColorMode2[\"Series\"] = \"series\";\n AxisColorMode2[\"Text\"] = \"text\";\n return AxisColorMode2;\n})(AxisColorMode || {});\nvar VisibilityMode = /* @__PURE__ */ ((VisibilityMode2) => {\n VisibilityMode2[\"Always\"] = \"always\";\n VisibilityMode2[\"Auto\"] = \"auto\";\n VisibilityMode2[\"Never\"] = \"never\";\n return VisibilityMode2;\n})(VisibilityMode || {});\nvar GraphDrawStyle = /* @__PURE__ */ ((GraphDrawStyle2) => {\n GraphDrawStyle2[\"Bars\"] = \"bars\";\n GraphDrawStyle2[\"Line\"] = \"line\";\n GraphDrawStyle2[\"Points\"] = \"points\";\n return GraphDrawStyle2;\n})(GraphDrawStyle || {});\nvar GraphTransform = /* @__PURE__ */ ((GraphTransform2) => {\n GraphTransform2[\"Constant\"] = \"constant\";\n GraphTransform2[\"NegativeY\"] = \"negative-Y\";\n return GraphTransform2;\n})(GraphTransform || {});\nvar LineInterpolation = /* @__PURE__ */ ((LineInterpolation2) => {\n LineInterpolation2[\"Linear\"] = \"linear\";\n LineInterpolation2[\"Smooth\"] = \"smooth\";\n LineInterpolation2[\"StepAfter\"] = \"stepAfter\";\n LineInterpolation2[\"StepBefore\"] = \"stepBefore\";\n return LineInterpolation2;\n})(LineInterpolation || {});\nvar ScaleDistribution = /* @__PURE__ */ ((ScaleDistribution2) => {\n ScaleDistribution2[\"Linear\"] = \"linear\";\n ScaleDistribution2[\"Log\"] = \"log\";\n ScaleDistribution2[\"Ordinal\"] = \"ordinal\";\n ScaleDistribution2[\"Symlog\"] = \"symlog\";\n return ScaleDistribution2;\n})(ScaleDistribution || {});\nvar GraphGradientMode = /* @__PURE__ */ ((GraphGradientMode2) => {\n GraphGradientMode2[\"Hue\"] = \"hue\";\n GraphGradientMode2[\"None\"] = \"none\";\n GraphGradientMode2[\"Opacity\"] = \"opacity\";\n GraphGradientMode2[\"Scheme\"] = \"scheme\";\n return GraphGradientMode2;\n})(GraphGradientMode || {});\nvar StackingMode = /* @__PURE__ */ ((StackingMode2) => {\n StackingMode2[\"None\"] = \"none\";\n StackingMode2[\"Normal\"] = \"normal\";\n StackingMode2[\"Percent\"] = \"percent\";\n return StackingMode2;\n})(StackingMode || {});\nvar BarAlignment = /* @__PURE__ */ ((BarAlignment2) => {\n BarAlignment2[BarAlignment2[\"After\"] = 1] = \"After\";\n BarAlignment2[BarAlignment2[\"Before\"] = -1] = \"Before\";\n BarAlignment2[BarAlignment2[\"Center\"] = 0] = \"Center\";\n return BarAlignment2;\n})(BarAlignment || {});\nvar ScaleOrientation = /* @__PURE__ */ ((ScaleOrientation2) => {\n ScaleOrientation2[ScaleOrientation2[\"Horizontal\"] = 0] = \"Horizontal\";\n ScaleOrientation2[ScaleOrientation2[\"Vertical\"] = 1] = \"Vertical\";\n return ScaleOrientation2;\n})(ScaleOrientation || {});\nvar ScaleDirection = /* @__PURE__ */ ((ScaleDirection2) => {\n ScaleDirection2[ScaleDirection2[\"Down\"] = -1] = \"Down\";\n ScaleDirection2[ScaleDirection2[\"Left\"] = -1] = \"Left\";\n ScaleDirection2[ScaleDirection2[\"Right\"] = 1] = \"Right\";\n ScaleDirection2[ScaleDirection2[\"Up\"] = 1] = \"Up\";\n return ScaleDirection2;\n})(ScaleDirection || {});\nconst defaultLineStyle = {\n dash: []\n};\nvar GraphTresholdsStyleMode = /* @__PURE__ */ ((GraphTresholdsStyleMode2) => {\n GraphTresholdsStyleMode2[\"Area\"] = \"area\";\n GraphTresholdsStyleMode2[\"Dashed\"] = \"dashed\";\n GraphTresholdsStyleMode2[\"DashedAndArea\"] = \"dashed+area\";\n GraphTresholdsStyleMode2[\"Line\"] = \"line\";\n GraphTresholdsStyleMode2[\"LineAndArea\"] = \"line+area\";\n GraphTresholdsStyleMode2[\"Off\"] = \"off\";\n GraphTresholdsStyleMode2[\"Series\"] = \"series\";\n return GraphTresholdsStyleMode2;\n})(GraphTresholdsStyleMode || {});\nvar LegendDisplayMode = /* @__PURE__ */ ((LegendDisplayMode2) => {\n LegendDisplayMode2[\"Hidden\"] = \"hidden\";\n LegendDisplayMode2[\"List\"] = \"list\";\n LegendDisplayMode2[\"Table\"] = \"table\";\n return LegendDisplayMode2;\n})(LegendDisplayMode || {});\nconst defaultReduceDataOptions = {\n calcs: []\n};\nvar VizOrientation = /* @__PURE__ */ ((VizOrientation2) => {\n VizOrientation2[\"Auto\"] = \"auto\";\n VizOrientation2[\"Horizontal\"] = \"horizontal\";\n VizOrientation2[\"Vertical\"] = \"vertical\";\n return VizOrientation2;\n})(VizOrientation || {});\nconst defaultOptionsWithTimezones = {\n timezone: []\n};\nvar BigValueColorMode = /* @__PURE__ */ ((BigValueColorMode2) => {\n BigValueColorMode2[\"Background\"] = \"background\";\n BigValueColorMode2[\"BackgroundSolid\"] = \"background_solid\";\n BigValueColorMode2[\"None\"] = \"none\";\n BigValueColorMode2[\"Value\"] = \"value\";\n return BigValueColorMode2;\n})(BigValueColorMode || {});\nvar BigValueGraphMode = /* @__PURE__ */ ((BigValueGraphMode2) => {\n BigValueGraphMode2[\"Area\"] = \"area\";\n BigValueGraphMode2[\"Line\"] = \"line\";\n BigValueGraphMode2[\"None\"] = \"none\";\n return BigValueGraphMode2;\n})(BigValueGraphMode || {});\nvar BigValueJustifyMode = /* @__PURE__ */ ((BigValueJustifyMode2) => {\n BigValueJustifyMode2[\"Auto\"] = \"auto\";\n BigValueJustifyMode2[\"Center\"] = \"center\";\n return BigValueJustifyMode2;\n})(BigValueJustifyMode || {});\nvar BigValueTextMode = /* @__PURE__ */ ((BigValueTextMode2) => {\n BigValueTextMode2[\"Auto\"] = \"auto\";\n BigValueTextMode2[\"Name\"] = \"name\";\n BigValueTextMode2[\"None\"] = \"none\";\n BigValueTextMode2[\"Value\"] = \"value\";\n BigValueTextMode2[\"ValueAndName\"] = \"value_and_name\";\n return BigValueTextMode2;\n})(BigValueTextMode || {});\nvar TooltipDisplayMode = /* @__PURE__ */ ((TooltipDisplayMode2) => {\n TooltipDisplayMode2[\"Multi\"] = \"multi\";\n TooltipDisplayMode2[\"None\"] = \"none\";\n TooltipDisplayMode2[\"Single\"] = \"single\";\n return TooltipDisplayMode2;\n})(TooltipDisplayMode || {});\nvar SortOrder = /* @__PURE__ */ ((SortOrder2) => {\n SortOrder2[\"Ascending\"] = \"asc\";\n SortOrder2[\"Descending\"] = \"desc\";\n SortOrder2[\"None\"] = \"none\";\n return SortOrder2;\n})(SortOrder || {});\nconst defaultVizLegendOptions = {\n calcs: []\n};\nvar BarGaugeDisplayMode = /* @__PURE__ */ ((BarGaugeDisplayMode2) => {\n BarGaugeDisplayMode2[\"Basic\"] = \"basic\";\n BarGaugeDisplayMode2[\"Gradient\"] = \"gradient\";\n BarGaugeDisplayMode2[\"Lcd\"] = \"lcd\";\n return BarGaugeDisplayMode2;\n})(BarGaugeDisplayMode || {});\nvar BarGaugeValueMode = /* @__PURE__ */ ((BarGaugeValueMode2) => {\n BarGaugeValueMode2[\"Color\"] = \"color\";\n BarGaugeValueMode2[\"Hidden\"] = \"hidden\";\n BarGaugeValueMode2[\"Text\"] = \"text\";\n return BarGaugeValueMode2;\n})(BarGaugeValueMode || {});\nvar TableCellDisplayMode = /* @__PURE__ */ ((TableCellDisplayMode2) => {\n TableCellDisplayMode2[\"Auto\"] = \"auto\";\n TableCellDisplayMode2[\"BasicGauge\"] = \"basic\";\n TableCellDisplayMode2[\"ColorBackground\"] = \"color-background\";\n TableCellDisplayMode2[\"ColorBackgroundSolid\"] = \"color-background-solid\";\n TableCellDisplayMode2[\"ColorText\"] = \"color-text\";\n TableCellDisplayMode2[\"Gauge\"] = \"gauge\";\n TableCellDisplayMode2[\"GradientGauge\"] = \"gradient-gauge\";\n TableCellDisplayMode2[\"Image\"] = \"image\";\n TableCellDisplayMode2[\"JSONView\"] = \"json-view\";\n TableCellDisplayMode2[\"LcdGauge\"] = \"lcd-gauge\";\n TableCellDisplayMode2[\"Sparkline\"] = \"sparkline\";\n return TableCellDisplayMode2;\n})(TableCellDisplayMode || {});\nvar TableCellBackgroundDisplayMode = /* @__PURE__ */ ((TableCellBackgroundDisplayMode2) => {\n TableCellBackgroundDisplayMode2[\"Basic\"] = \"basic\";\n TableCellBackgroundDisplayMode2[\"Gradient\"] = \"gradient\";\n return TableCellBackgroundDisplayMode2;\n})(TableCellBackgroundDisplayMode || {});\nconst defaultTableFooterOptions = {\n fields: [],\n reducer: []\n};\nvar TableCellHeight = /* @__PURE__ */ ((TableCellHeight2) => {\n TableCellHeight2[\"Lg\"] = \"lg\";\n TableCellHeight2[\"Md\"] = \"md\";\n TableCellHeight2[\"Sm\"] = \"sm\";\n return TableCellHeight2;\n})(TableCellHeight || {});\nvar VariableFormatID = /* @__PURE__ */ ((VariableFormatID2) => {\n VariableFormatID2[\"CSV\"] = \"csv\";\n VariableFormatID2[\"Date\"] = \"date\";\n VariableFormatID2[\"Distributed\"] = \"distributed\";\n VariableFormatID2[\"DoubleQuote\"] = \"doublequote\";\n VariableFormatID2[\"Glob\"] = \"glob\";\n VariableFormatID2[\"HTML\"] = \"html\";\n VariableFormatID2[\"JSON\"] = \"json\";\n VariableFormatID2[\"Lucene\"] = \"lucene\";\n VariableFormatID2[\"PercentEncode\"] = \"percentencode\";\n VariableFormatID2[\"Pipe\"] = \"pipe\";\n VariableFormatID2[\"QueryParam\"] = \"queryparam\";\n VariableFormatID2[\"Raw\"] = \"raw\";\n VariableFormatID2[\"Regex\"] = \"regex\";\n VariableFormatID2[\"SQLString\"] = \"sqlstring\";\n VariableFormatID2[\"SingleQuote\"] = \"singlequote\";\n VariableFormatID2[\"Text\"] = \"text\";\n VariableFormatID2[\"UriEncode\"] = \"uriencode\";\n return VariableFormatID2;\n})(VariableFormatID || {});\nvar LogsDedupStrategy = /* @__PURE__ */ ((LogsDedupStrategy2) => {\n LogsDedupStrategy2[\"exact\"] = \"exact\";\n LogsDedupStrategy2[\"none\"] = \"none\";\n LogsDedupStrategy2[\"numbers\"] = \"numbers\";\n LogsDedupStrategy2[\"signature\"] = \"signature\";\n return LogsDedupStrategy2;\n})(LogsDedupStrategy || {});\nvar ComparisonOperation = /* @__PURE__ */ ((ComparisonOperation2) => {\n ComparisonOperation2[\"EQ\"] = \"eq\";\n ComparisonOperation2[\"GT\"] = \"gt\";\n ComparisonOperation2[\"GTE\"] = \"gte\";\n ComparisonOperation2[\"LT\"] = \"lt\";\n ComparisonOperation2[\"LTE\"] = \"lte\";\n ComparisonOperation2[\"NEQ\"] = \"neq\";\n return ComparisonOperation2;\n})(ComparisonOperation || {});\nconst defaultTimeZone = \"browser\";\n\nexport { AxisColorMode, AxisPlacement, BarAlignment, BarGaugeDisplayMode, BarGaugeValueMode, BigValueColorMode, BigValueGraphMode, BigValueJustifyMode, BigValueTextMode, ComparisonOperation, FrameGeometrySourceMode, GraphDrawStyle, GraphGradientMode, GraphTransform, GraphTresholdsStyleMode, HeatmapCalculationMode, HeatmapCellLayout, LegendDisplayMode, LineInterpolation, LogsDedupStrategy, LogsSortOrder, ResourceDimensionMode, ScalarDimensionMode, ScaleDimensionMode, ScaleDirection, ScaleDistribution, ScaleOrientation, SortOrder, StackingMode, TableCellBackgroundDisplayMode, TableCellDisplayMode, TableCellHeight, TextDimensionMode, TooltipDisplayMode, VariableFormatID, VisibilityMode, VizOrientation, defaultLineStyle, defaultOptionsWithTimezones, defaultReduceDataOptions, defaultTableFooterOptions, defaultTimeZone, defaultVizLegendOptions };\n//# sourceMappingURL=common.gen.js.map\n","import { BusEventWithPayload } from '@grafana/data';\n\nclass SceneVariableValueChangedEvent extends BusEventWithPayload {\n}\nSceneVariableValueChangedEvent.type = \"scene-variable-changed-value\";\nfunction isCustomVariableValue(value) {\n return typeof value === \"object\" && \"formatter\" in value;\n}\n\nexport { SceneVariableValueChangedEvent, isCustomVariableValue };\n//# sourceMappingURL=types.js.map\n","import { property } from 'lodash';\n\nlet fieldAccessorCache = {};\nfunction getFieldAccessor(fieldPath) {\n const accessor = fieldAccessorCache[fieldPath];\n if (accessor) {\n return accessor;\n }\n return fieldAccessorCache[fieldPath] = property(fieldPath);\n}\n\nexport { getFieldAccessor };\n//# sourceMappingURL=fieldAccessorCache.js.map\n","import { getFieldAccessor } from './fieldAccessorCache.js';\n\nclass ScopedVarsVariable {\n constructor(name, value) {\n this.state = { name, value, type: \"scopedvar\" };\n }\n getValue(fieldPath) {\n let { value } = this.state;\n let realValue = value.value;\n if (fieldPath) {\n realValue = getFieldAccessor(fieldPath)(value.value);\n } else {\n realValue = value.value;\n }\n if (realValue === \"string\" || realValue === \"number\" || realValue === \"boolean\") {\n return realValue;\n }\n return String(realValue);\n }\n getValueText() {\n const { value } = this.state;\n if (value.text != null) {\n return String(value.text);\n }\n return String(value);\n }\n}\nlet scopedVarsVariable;\nfunction getSceneVariableForScopedVar(name, value) {\n if (!scopedVarsVariable) {\n scopedVarsVariable = new ScopedVarsVariable(name, value);\n } else {\n scopedVarsVariable.state.name = name;\n scopedVarsVariable.state.value = value;\n }\n return scopedVarsVariable;\n}\n\nexport { ScopedVarsVariable, getSceneVariableForScopedVar };\n//# sourceMappingURL=ScopedVarsVariable.js.map\n","import { map, isArray, replace } from 'lodash';\nimport { Registry, escapeRegex, textUtil, dateTime } from '@grafana/data';\nimport { VariableFormatID } from '@grafana/schema';\n\nconst formatRegistry = new Registry(() => {\n const formats = [\n {\n id: VariableFormatID.Lucene,\n name: \"Lucene\",\n description: \"Values are lucene escaped and multi-valued variables generate an OR expression\",\n formatter: (value) => {\n if (typeof value === \"string\") {\n return luceneEscape(value);\n }\n if (Array.isArray(value)) {\n if (value.length === 0) {\n return \"__empty__\";\n }\n const quotedValues = map(value, (val) => {\n return '\"' + luceneEscape(val) + '\"';\n });\n return \"(\" + quotedValues.join(\" OR \") + \")\";\n } else {\n return luceneEscape(`${value}`);\n }\n }\n },\n {\n id: VariableFormatID.Raw,\n name: \"raw\",\n description: \"Keep value as is\",\n formatter: (value) => String(value)\n },\n {\n id: VariableFormatID.Regex,\n name: \"Regex\",\n description: \"Values are regex escaped and multi-valued variables generate a (|) expression\",\n formatter: (value) => {\n if (typeof value === \"string\") {\n return escapeRegex(value);\n }\n if (Array.isArray(value)) {\n const escapedValues = value.map((item) => {\n if (typeof item === \"string\") {\n return escapeRegex(item);\n } else {\n return escapeRegex(String(item));\n }\n });\n if (escapedValues.length === 1) {\n return escapedValues[0];\n }\n return \"(\" + escapedValues.join(\"|\") + \")\";\n }\n return escapeRegex(`${value}`);\n }\n },\n {\n id: VariableFormatID.Pipe,\n name: \"Pipe\",\n description: \"Values are separated by | character\",\n formatter: (value) => {\n if (typeof value === \"string\") {\n return value;\n }\n if (Array.isArray(value)) {\n return value.join(\"|\");\n }\n return `${value}`;\n }\n },\n {\n id: VariableFormatID.Distributed,\n name: \"Distributed\",\n description: \"Multiple values are formatted like variable=value\",\n formatter: (value, args, variable) => {\n if (typeof value === \"string\") {\n return value;\n }\n if (Array.isArray(value)) {\n value = map(value, (val, index) => {\n if (index !== 0) {\n return variable.state.name + \"=\" + val;\n } else {\n return val;\n }\n });\n return value.join(\",\");\n }\n return `${value}`;\n }\n },\n {\n id: VariableFormatID.CSV,\n name: \"Csv\",\n description: \"Comma-separated values\",\n formatter: (value) => {\n if (typeof value === \"string\") {\n return value;\n }\n if (isArray(value)) {\n return value.join(\",\");\n }\n return String(value);\n }\n },\n {\n id: VariableFormatID.HTML,\n name: \"HTML\",\n description: \"HTML escaping of values\",\n formatter: (value) => {\n if (typeof value === \"string\") {\n return textUtil.escapeHtml(value);\n }\n if (isArray(value)) {\n return textUtil.escapeHtml(value.join(\", \"));\n }\n return textUtil.escapeHtml(String(value));\n }\n },\n {\n id: VariableFormatID.JSON,\n name: \"JSON\",\n description: \"JSON stringify value\",\n formatter: (value) => {\n if (typeof value === \"string\") {\n return value;\n }\n return JSON.stringify(value);\n }\n },\n {\n id: VariableFormatID.PercentEncode,\n name: \"Percent encode\",\n description: \"Useful for URL escaping values\",\n formatter: (value) => {\n if (isArray(value)) {\n return encodeURIComponentStrict(\"{\" + value.join(\",\") + \"}\");\n }\n return encodeURIComponentStrict(value);\n }\n },\n {\n id: VariableFormatID.SingleQuote,\n name: \"Single quote\",\n description: \"Single quoted values\",\n formatter: (value) => {\n const regExp = new RegExp(`'`, \"g\");\n if (isArray(value)) {\n return map(value, (v) => `'${replace(v, regExp, `\\\\'`)}'`).join(\",\");\n }\n let strVal = typeof value === \"string\" ? value : String(value);\n return `'${replace(strVal, regExp, `\\\\'`)}'`;\n }\n },\n {\n id: VariableFormatID.DoubleQuote,\n name: \"Double quote\",\n description: \"Double quoted values\",\n formatter: (value) => {\n const regExp = new RegExp('\"', \"g\");\n if (isArray(value)) {\n return map(value, (v) => `\"${replace(v, regExp, '\\\\\"')}\"`).join(\",\");\n }\n let strVal = typeof value === \"string\" ? value : String(value);\n return `\"${replace(strVal, regExp, '\\\\\"')}\"`;\n }\n },\n {\n id: VariableFormatID.SQLString,\n name: \"SQL string\",\n description: \"SQL string quoting and commas for use in IN statements and other scenarios\",\n formatter: sqlStringFormatter\n },\n {\n id: VariableFormatID.Date,\n name: \"Date\",\n description: \"Format date in different ways\",\n formatter: (value, args) => {\n var _a;\n let nrValue = NaN;\n if (typeof value === \"number\") {\n nrValue = value;\n } else if (typeof value === \"string\") {\n nrValue = parseInt(value, 10);\n }\n if (isNaN(nrValue)) {\n return \"NaN\";\n }\n const arg = (_a = args[0]) != null ? _a : \"iso\";\n switch (arg) {\n case \"ms\":\n return String(value);\n case \"seconds\":\n return `${Math.round(nrValue / 1e3)}`;\n case \"iso\":\n return dateTime(nrValue).toISOString();\n default:\n if ((args || []).length > 1) {\n return dateTime(nrValue).format(args.join(\":\"));\n }\n return dateTime(nrValue).format(arg);\n }\n }\n },\n {\n id: VariableFormatID.Glob,\n name: \"Glob\",\n description: \"Format multi-valued variables using glob syntax, example {value1,value2}\",\n formatter: (value) => {\n if (isArray(value) && value.length > 1) {\n return \"{\" + value.join(\",\") + \"}\";\n }\n return String(value);\n }\n },\n {\n id: VariableFormatID.Text,\n name: \"Text\",\n description: \"Format variables in their text representation. Example in multi-variable scenario A + B + C.\",\n formatter: (value, _args, variable) => {\n if (variable.getValueText) {\n return variable.getValueText();\n }\n return String(value);\n }\n },\n {\n id: VariableFormatID.QueryParam,\n name: \"Query parameter\",\n description: \"Format variables as URL parameters. Example in multi-variable scenario A + B + C => var-foo=A&var-foo=B&var-foo=C.\",\n formatter: (value, _args, variable) => {\n if (Array.isArray(value)) {\n return value.map((v) => formatQueryParameter(variable.state.name, v)).join(\"&\");\n }\n return formatQueryParameter(variable.state.name, value);\n }\n },\n {\n id: VariableFormatID.UriEncode,\n name: \"Percent encode as URI\",\n description: \"Useful for URL escaping values, taking into URI syntax characters\",\n formatter: (value) => {\n if (isArray(value)) {\n return encodeURIStrict(\"{\" + value.join(\",\") + \"}\");\n }\n return encodeURIStrict(value);\n }\n }\n ];\n return formats;\n});\nfunction luceneEscape(value) {\n if (isNaN(+value) === false) {\n return value;\n }\n return value.replace(/([\\!\\*\\+\\-\\=<>\\s\\&\\|\\(\\)\\[\\]\\{\\}\\^\\~\\?\\:\\\\/\"])/g, \"\\\\$1\");\n}\nfunction encodeURIComponentStrict(str) {\n if (typeof str === \"object\") {\n str = String(str);\n }\n return replaceSpecialCharactersToASCII(encodeURIComponent(str));\n}\nconst encodeURIStrict = (str) => replaceSpecialCharactersToASCII(encodeURI(String(str)));\nconst replaceSpecialCharactersToASCII = (value) => value.replace(/[!'()*]/g, (c) => {\n return \"%\" + c.charCodeAt(0).toString(16).toUpperCase();\n});\nfunction formatQueryParameter(name, value) {\n return `var-${name}=${encodeURIComponentStrict(value)}`;\n}\nconst SQL_ESCAPE_MAP = {\n \"'\": \"''\",\n '\"': '\\\\\"'\n};\nfunction sqlStringFormatter(value) {\n const regExp = new RegExp(`'|\"`, \"g\");\n if (isArray(value)) {\n return map(value, (v) => `'${replace(v, regExp, (match) => {\n var _a;\n return (_a = SQL_ESCAPE_MAP[match]) != null ? _a : \"\";\n })}'`).join(\",\");\n }\n let strVal = typeof value === \"string\" ? value : String(value);\n return `'${replace(strVal, regExp, (match) => {\n var _a;\n return (_a = SQL_ESCAPE_MAP[match]) != null ? _a : \"\";\n })}'`;\n}\n\nexport { formatRegistry };\n//# sourceMappingURL=formatRegistry.js.map\n","const ALL_VARIABLE_TEXT = \"All\";\nconst ALL_VARIABLE_VALUE = \"$__all\";\nconst AUTO_VARIABLE_TEXT = \"Auto\";\nconst AUTO_VARIABLE_VALUE = \"$__auto\";\nconst VARIABLE_REGEX = /\\$(\\w+)|\\[\\[(\\w+?)(?::(\\w+))?\\]\\]|\\${(\\w+)(?:\\.([^:^\\}]+))?(?::([^\\}]+))?}/g;\nconst SEARCH_FILTER_VARIABLE = \"__searchFilter\";\n\nexport { ALL_VARIABLE_TEXT, ALL_VARIABLE_VALUE, AUTO_VARIABLE_TEXT, AUTO_VARIABLE_VALUE, SEARCH_FILTER_VARIABLE, VARIABLE_REGEX };\n//# sourceMappingURL=constants.js.map\n","function lookupVariable(name, sceneObject) {\n const variables = sceneObject.state.$variables;\n if (!variables) {\n if (sceneObject.parent) {\n return lookupVariable(name, sceneObject.parent);\n } else {\n return null;\n }\n }\n const found = variables.getByName(name);\n if (found) {\n return found;\n } else if (sceneObject.parent) {\n return lookupVariable(name, sceneObject.parent);\n }\n return null;\n}\n\nexport { lookupVariable };\n//# sourceMappingURL=lookupVariable.js.map\n","import { SceneObjectBase } from '../core/SceneObjectBase.js';\n\nclass SceneDataLayers extends SceneObjectBase {\n constructor(state) {\n super(state);\n this.addActivationHandler(() => this._onActivate());\n }\n _onActivate() {\n const { layers } = this.state;\n const deactivationHandlers = [];\n for (const layer of layers) {\n deactivationHandlers.push(layer.activate());\n }\n return () => {\n deactivationHandlers.forEach((handler) => handler());\n };\n }\n}\n\nexport { SceneDataLayers };\n//# sourceMappingURL=SceneDataLayers.js.map\n","import { EmptyVariableSet, EmptyDataNode } from '../../variables/interpolation/defaults.js';\nimport { sceneInterpolator } from '../../variables/interpolation/sceneInterpolator.js';\nimport { lookupVariable } from '../../variables/lookupVariable.js';\nimport { getClosest } from './utils.js';\nimport { SceneDataLayers } from '../../querying/SceneDataLayers.js';\n\nfunction getVariables(sceneObject) {\n var _a;\n return (_a = getClosest(sceneObject, (s) => s.state.$variables)) != null ? _a : EmptyVariableSet;\n}\nfunction getData(sceneObject) {\n var _a;\n return (_a = getClosest(sceneObject, (s) => s.state.$data)) != null ? _a : EmptyDataNode;\n}\nfunction isSceneLayout(s) {\n return \"isDraggable\" in s;\n}\nfunction getLayout(scene) {\n const parent = getClosest(scene, (s) => isSceneLayout(s) ? s : void 0);\n if (parent) {\n return parent;\n }\n return null;\n}\nfunction interpolate(sceneObject, value, scopedVars, format) {\n if (value === \"\" || value == null) {\n return \"\";\n }\n return sceneInterpolator(sceneObject, value, scopedVars, format);\n}\nfunction hasVariableDependencyInLoadingState(sceneObject) {\n if (!sceneObject.variableDependency) {\n return false;\n }\n for (const name of sceneObject.variableDependency.getNames()) {\n const variable = lookupVariable(name, sceneObject);\n if (!variable) {\n continue;\n }\n const set = variable.parent;\n if (set.isVariableLoadingOrWaitingToUpdate(variable)) {\n return true;\n }\n }\n return false;\n}\nfunction findObjectInternal(scene, check, alreadySearchedChild, shouldSearchUp) {\n if (check(scene)) {\n return scene;\n }\n let found = null;\n scene.forEachChild((child) => {\n if (child === alreadySearchedChild) {\n return;\n }\n let maybe = findObjectInternal(child, check);\n if (maybe) {\n found = maybe;\n }\n });\n if (found) {\n return found;\n }\n if (shouldSearchUp && scene.parent) {\n return findObjectInternal(scene.parent, check, scene, true);\n }\n return null;\n}\nfunction findObject(scene, check) {\n return findObjectInternal(scene, check, void 0, true);\n}\nfunction getDataLayers(sceneObject, localOnly = false) {\n let parent = sceneObject;\n let collected = [];\n let source;\n while (parent) {\n if (parent.state.$data && !(parent.state.$data instanceof SceneDataLayers)) {\n if (parent.state.$data.state.$data instanceof SceneDataLayers) {\n source = parent.state.$data.state.$data;\n }\n }\n if (parent.state.$data && parent.state.$data instanceof SceneDataLayers) {\n source = parent.state.$data;\n }\n if (source) {\n collected = collected.concat(source.state.layers);\n if (localOnly) {\n break;\n }\n }\n parent = parent.parent;\n }\n return collected;\n}\nfunction getAncestor(sceneObject, ancestorType) {\n let parent = sceneObject;\n while (parent) {\n if (parent instanceof ancestorType) {\n return parent;\n }\n parent = parent.parent;\n }\n throw new Error(\"Unable to find parent of type \" + ancestorType.name);\n}\n\nexport { findObject, getAncestor, getData, getDataLayers, getLayout, getVariables, hasVariableDependencyInLoadingState, interpolate };\n//# sourceMappingURL=sceneGraph.js.map\n","class SkipFormattingValue {\n constructor(_value) {\n this._value = _value;\n }\n formatter() {\n return this._value;\n }\n}\n\nexport { SkipFormattingValue };\n//# sourceMappingURL=types.js.map\n","import { urlUtil, dateTimeFormat } from '@grafana/data';\nimport { getTimeRange } from '../../core/sceneGraph/getTimeRange.js';\nimport { getData } from '../../core/sceneGraph/sceneGraph.js';\nimport { SkipFormattingValue } from './types.js';\n\nclass UrlTimeRangeMacro {\n constructor(name, sceneObject) {\n this.state = { name, type: \"url_variable\" };\n this._sceneObject = sceneObject;\n }\n getValue() {\n var _a;\n const timeRange = getTimeRange(this._sceneObject);\n const urlState = (_a = timeRange.urlSync) == null ? void 0 : _a.getUrlState();\n return new SkipFormattingValue(urlUtil.toUrlParams(urlState));\n }\n getValueText() {\n return \"\";\n }\n}\nclass TimeFromAndToMacro {\n constructor(name, sceneObject) {\n this.state = { name, type: \"time_macro\" };\n this._sceneObject = sceneObject;\n }\n getValue() {\n const timeRange = getTimeRange(this._sceneObject);\n if (this.state.name === \"__from\") {\n return timeRange.state.value.from.valueOf();\n } else {\n return timeRange.state.value.to.valueOf();\n }\n }\n getValueText() {\n const timeRange = getTimeRange(this._sceneObject);\n if (this.state.name === \"__from\") {\n return dateTimeFormat(timeRange.state.value.from, { timeZone: timeRange.getTimeZone() });\n } else {\n return dateTimeFormat(timeRange.state.value.to, { timeZone: timeRange.getTimeZone() });\n }\n }\n}\nclass TimezoneMacro {\n constructor(name, sceneObject) {\n this.state = { name, type: \"time_macro\" };\n this._sceneObject = sceneObject;\n }\n getValue() {\n const timeRange = getTimeRange(this._sceneObject);\n return timeRange.getTimeZone();\n }\n getValueText() {\n return this.getValue();\n }\n}\nclass IntervalMacro {\n constructor(name, sceneObject) {\n this.state = { name, type: \"time_macro\" };\n this._sceneObject = sceneObject;\n }\n getValue() {\n var _a;\n const data = getData(this._sceneObject);\n if (data) {\n const request = (_a = data.state.data) == null ? void 0 : _a.request;\n if (!request) {\n return `\\${${this.state.name}}`;\n }\n if (this.state.name === \"__interval_ms\") {\n return request.intervalMs;\n }\n return request.interval;\n }\n return `\\${${this.state.name}}`;\n }\n}\n\nexport { IntervalMacro, TimeFromAndToMacro, TimezoneMacro, UrlTimeRangeMacro };\n//# sourceMappingURL=timeMacros.js.map\n","import { isCustomVariableValue } from '../types.js';\nimport { formatRegistry } from '../interpolation/formatRegistry.js';\nimport { SkipFormattingValue } from './types.js';\nimport { VariableFormatID } from '@grafana/schema';\n\nclass AllVariablesMacro {\n constructor(name, sceneObject) {\n this.state = { name, type: \"url_variable\" };\n this._sceneObject = sceneObject;\n }\n getValue() {\n const allVars = collectAllVariables(this._sceneObject);\n const format = formatRegistry.get(VariableFormatID.QueryParam);\n const params = [];\n for (const name of Object.keys(allVars)) {\n const variable = allVars[name];\n const value = variable.getValue();\n if (!value) {\n continue;\n }\n if (isCustomVariableValue(value)) {\n params.push(value.formatter(VariableFormatID.QueryParam));\n } else {\n params.push(format.formatter(value, [], variable));\n }\n }\n return new SkipFormattingValue(params.join(\"&\"));\n }\n getValueText() {\n return \"\";\n }\n}\nfunction collectAllVariables(sceneObject, record = {}) {\n if (sceneObject.state.$variables) {\n for (const variable of sceneObject.state.$variables.state.variables) {\n if (variable.state.skipUrlSync) {\n continue;\n }\n if (!record[variable.state.name]) {\n record[variable.state.name] = variable;\n }\n }\n }\n if (sceneObject.parent) {\n collectAllVariables(sceneObject.parent, record);\n }\n return record;\n}\n\nexport { AllVariablesMacro };\n//# sourceMappingURL=AllVariablesMacro.js.map\n","import { getFieldDisplayName, formatLabels } from '@grafana/data';\n\nvar __defProp = Object.defineProperty;\nvar __defProps = Object.defineProperties;\nvar __getOwnPropDescs = Object.getOwnPropertyDescriptors;\nvar __getOwnPropSymbols = Object.getOwnPropertySymbols;\nvar __hasOwnProp = Object.prototype.hasOwnProperty;\nvar __propIsEnum = Object.prototype.propertyIsEnumerable;\nvar __defNormalProp = (obj, key, value) => key in obj ? __defProp(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;\nvar __spreadValues = (a, b) => {\n for (var prop in b || (b = {}))\n if (__hasOwnProp.call(b, prop))\n __defNormalProp(a, prop, b[prop]);\n if (__getOwnPropSymbols)\n for (var prop of __getOwnPropSymbols(b)) {\n if (__propIsEnum.call(b, prop))\n __defNormalProp(a, prop, b[prop]);\n }\n return a;\n};\nvar __spreadProps = (a, b) => __defProps(a, __getOwnPropDescs(b));\nfunction getTemplateProxyForField(field, frame, frames) {\n return new Proxy(\n {},\n {\n get: (obj, key) => {\n if (key === \"name\") {\n return field.name;\n }\n if (key === \"displayName\") {\n return getFieldDisplayName(field, frame, frames);\n }\n if (key === \"labels\" || key === \"formattedLabels\") {\n if (!field.labels) {\n return \"\";\n }\n return __spreadProps(__spreadValues({}, field.labels), {\n __values: Object.values(field.labels).sort().join(\", \"),\n toString: () => {\n return formatLabels(field.labels, \"\", true);\n }\n });\n }\n return void 0;\n }\n }\n );\n}\n\nexport { getTemplateProxyForField };\n//# sourceMappingURL=templateProxies.js.map\n","import { getDisplayProcessor, formattedValueToString, FieldType, getFieldDisplayValuesProxy, getFrameDisplayName } from '@grafana/data';\nimport { getFieldAccessor } from '../interpolation/fieldAccessorCache.js';\nimport { getTemplateProxyForField } from './templateProxies.js';\n\nclass ValueMacro {\n constructor(name, sceneObject, _match, _scopedVars) {\n this._match = _match;\n this._scopedVars = _scopedVars;\n this.state = { name, type: \"__value\" };\n }\n getValue(fieldPath) {\n var _a, _b;\n const dataContext = (_a = this._scopedVars) == null ? void 0 : _a.__dataContext;\n if (!dataContext) {\n return this._match;\n }\n const { frame, rowIndex, field, calculatedValue } = dataContext.value;\n if (calculatedValue) {\n switch (fieldPath) {\n case \"numeric\":\n return calculatedValue.numeric;\n case \"raw\":\n return calculatedValue.numeric;\n case \"time\":\n return \"\";\n case \"text\":\n default:\n return formattedValueToString(calculatedValue);\n }\n }\n if (rowIndex == null) {\n return this._match;\n }\n if (fieldPath === \"time\") {\n const timeField = frame.fields.find((f) => f.type === FieldType.time);\n return timeField ? timeField.values.get(rowIndex) : void 0;\n }\n if (!field) {\n return this._match;\n }\n const value = field.values.get(rowIndex);\n if (fieldPath === \"raw\") {\n return value;\n }\n const displayProcessor = (_b = field.display) != null ? _b : fallbackDisplayProcessor;\n const result = displayProcessor(value);\n switch (fieldPath) {\n case \"numeric\":\n return result.numeric;\n case \"text\":\n default:\n return formattedValueToString(result);\n }\n }\n getValueText() {\n return \"\";\n }\n}\nconst fallbackDisplayProcessor = getDisplayProcessor();\nclass DataMacro {\n constructor(name, sceneObject, _match, _scopedVars) {\n this._match = _match;\n this._scopedVars = _scopedVars;\n this.state = { name, type: \"__data\" };\n }\n getValue(fieldPath) {\n var _a, _b;\n const dataContext = (_a = this._scopedVars) == null ? void 0 : _a.__dataContext;\n if (!dataContext || !fieldPath) {\n return this._match;\n }\n const { frame, rowIndex } = dataContext.value;\n if (rowIndex === void 0 || fieldPath === void 0) {\n return this._match;\n }\n const obj = {\n name: frame.name,\n refId: frame.refId,\n fields: getFieldDisplayValuesProxy({ frame, rowIndex })\n };\n return (_b = getFieldAccessor(fieldPath)(obj)) != null ? _b : \"\";\n }\n getValueText() {\n return \"\";\n }\n}\nclass SeriesMacro {\n constructor(name, sceneObject, _match, _scopedVars) {\n this._match = _match;\n this._scopedVars = _scopedVars;\n this.state = { name, type: \"__series\" };\n }\n getValue(fieldPath) {\n var _a;\n const dataContext = (_a = this._scopedVars) == null ? void 0 : _a.__dataContext;\n if (!dataContext || !fieldPath) {\n return this._match;\n }\n if (fieldPath !== \"name\") {\n return this._match;\n }\n const { frame, frameIndex } = dataContext.value;\n return getFrameDisplayName(frame, frameIndex);\n }\n getValueText() {\n return \"\";\n }\n}\nclass FieldMacro {\n constructor(name, sceneObject, _match, _scopedVars) {\n this._match = _match;\n this._scopedVars = _scopedVars;\n this.state = { name, type: \"__field\" };\n }\n getValue(fieldPath) {\n var _a, _b;\n const dataContext = (_a = this._scopedVars) == null ? void 0 : _a.__dataContext;\n if (!dataContext || !fieldPath) {\n return this._match;\n }\n if (fieldPath === void 0 || fieldPath === \"\") {\n return this._match;\n }\n const { frame, field, data } = dataContext.value;\n const obj = getTemplateProxyForField(field, frame, data);\n return (_b = getFieldAccessor(fieldPath)(obj)) != null ? _b : \"\";\n }\n getValueText() {\n return \"\";\n }\n}\n\nexport { DataMacro, FieldMacro, SeriesMacro, ValueMacro };\n//# sourceMappingURL=dataMacros.js.map\n","import { locationService, config } from '@grafana/runtime';\n\nclass UrlMacro {\n constructor(name, _) {\n this.state = { name, type: \"url_macro\" };\n }\n getValue(fieldPath) {\n var _a;\n const location = locationService.getLocation();\n const subUrl = (_a = config.appSubUrl) != null ? _a : \"\";\n switch (fieldPath != null ? fieldPath : \"\") {\n case \"params\":\n return new UrlStateFormatter(location.search);\n case \"path\":\n return subUrl + location.pathname;\n case \"\":\n default:\n return subUrl + location.pathname + location.search;\n }\n }\n getValueText() {\n return \"\";\n }\n}\nclass UrlStateFormatter {\n constructor(_urlQueryParams) {\n this._urlQueryParams = _urlQueryParams;\n }\n formatter(options) {\n if (!options) {\n return this._urlQueryParams;\n }\n const params = options.split(\":\");\n if (params[0] === \"exclude\" && params.length > 1) {\n const allParams = new URLSearchParams(this._urlQueryParams);\n for (const param of params[1].split(\",\")) {\n allParams.delete(param);\n }\n return `?${allParams}`;\n }\n if (params[0] === \"include\" && params.length > 1) {\n const allParams = new URLSearchParams(this._urlQueryParams);\n const includeOnly = params[1].split(\",\");\n for (const param of allParams.keys()) {\n if (!includeOnly.includes(param)) {\n allParams.delete(param);\n }\n }\n return `?${allParams}`;\n }\n return this._urlQueryParams;\n }\n}\n\nexport { UrlMacro };\n//# sourceMappingURL=urlMacros.js.map\n","import { DataLinkBuiltInVars } from '@grafana/data';\nimport { UrlTimeRangeMacro, TimeFromAndToMacro, TimezoneMacro, IntervalMacro } from './timeMacros.js';\nimport { AllVariablesMacro } from './AllVariablesMacro.js';\nimport { ValueMacro, DataMacro, SeriesMacro, FieldMacro } from './dataMacros.js';\nimport { UrlMacro } from './urlMacros.js';\nimport { UserMacro, OrgMacro } from './contextMacros.js';\n\nconst macrosIndex = {\n [DataLinkBuiltInVars.includeVars]: AllVariablesMacro,\n [DataLinkBuiltInVars.keepTime]: UrlTimeRangeMacro,\n [\"__value\"]: ValueMacro,\n [\"__data\"]: DataMacro,\n [\"__series\"]: SeriesMacro,\n [\"__field\"]: FieldMacro,\n [\"__url\"]: UrlMacro,\n [\"__from\"]: TimeFromAndToMacro,\n [\"__to\"]: TimeFromAndToMacro,\n [\"__timezone\"]: TimezoneMacro,\n [\"__user\"]: UserMacro,\n [\"__org\"]: OrgMacro,\n [\"__interval\"]: IntervalMacro,\n [\"__interval_ms\"]: IntervalMacro\n};\nfunction registerVariableMacro(name, macro) {\n if (macrosIndex[name]) {\n throw new Error(`Macro already registered ${name}`);\n }\n macrosIndex[name] = macro;\n return () => {\n delete macrosIndex[name];\n };\n}\n\nexport { macrosIndex, registerVariableMacro };\n//# sourceMappingURL=index.js.map\n","import { config } from '@grafana/runtime';\n\nclass UserMacro {\n constructor(name, _) {\n this.state = { name, type: \"user_macro\" };\n }\n getValue(fieldPath) {\n const user = config.bootData.user;\n switch (fieldPath) {\n case \"login\":\n return user.login;\n case \"email\":\n return user.email;\n case \"id\":\n default:\n return String(user.id);\n }\n }\n getValueText() {\n return \"\";\n }\n}\nclass OrgMacro {\n constructor(name, _) {\n this.state = { name, type: \"org_macro\" };\n }\n getValue(fieldPath) {\n const user = config.bootData.user;\n switch (fieldPath) {\n case \"name\":\n return user.orgName;\n case \"id\":\n default:\n return String(user.orgId);\n }\n }\n getValueText() {\n return \"\";\n }\n}\n\nexport { OrgMacro, UserMacro };\n//# sourceMappingURL=contextMacros.js.map\n","import { lookupVariable } from '../../variables/lookupVariable.js';\nimport { getTimeRange } from './getTimeRange.js';\nimport { getVariables, getData, getLayout, getDataLayers, interpolate, hasVariableDependencyInLoadingState, findObject, getAncestor } from './sceneGraph.js';\n\nconst sceneGraph = {\n getVariables,\n getData,\n getTimeRange,\n getLayout,\n getDataLayers,\n interpolate,\n lookupVariable,\n hasVariableDependencyInLoadingState,\n findObject,\n getAncestor\n};\n\nexport { sceneGraph };\n//# sourceMappingURL=index.js.map\n","import { VariableFormatID } from '@grafana/schema';\nimport { isCustomVariableValue } from '../types.js';\nimport { getSceneVariableForScopedVar } from './ScopedVarsVariable.js';\nimport { formatRegistry } from './formatRegistry.js';\nimport { VARIABLE_REGEX } from '../constants.js';\nimport { lookupVariable } from '../lookupVariable.js';\nimport { macrosIndex } from '../macros/index.js';\n\nfunction sceneInterpolator(sceneObject, target, scopedVars, format) {\n if (!target) {\n return target != null ? target : \"\";\n }\n VARIABLE_REGEX.lastIndex = 0;\n return target.replace(VARIABLE_REGEX, (match, var1, var2, fmt2, var3, fieldPath, fmt3) => {\n const variableName = var1 || var2 || var3;\n const fmt = fmt2 || fmt3 || format;\n const variable = lookupFormatVariable(variableName, match, scopedVars, sceneObject);\n if (!variable) {\n return match;\n }\n return formatValue(variable, variable.getValue(fieldPath), fmt);\n });\n}\nfunction lookupFormatVariable(name, match, scopedVars, sceneObject) {\n const scopedVar = scopedVars == null ? void 0 : scopedVars[name];\n if (scopedVar) {\n return getSceneVariableForScopedVar(name, scopedVar);\n }\n const variable = lookupVariable(name, sceneObject);\n if (variable) {\n return variable;\n }\n if (macrosIndex[name]) {\n return new macrosIndex[name](name, sceneObject, match, scopedVars);\n }\n return null;\n}\nfunction formatValue(variable, value, formatNameOrFn) {\n if (value === null || value === void 0) {\n return \"\";\n }\n if (isCustomVariableValue(value)) {\n return value.formatter(formatNameOrFn);\n }\n if (!Array.isArray(value) && typeof value === \"object\") {\n value = `${value}`;\n }\n if (typeof formatNameOrFn === \"function\") {\n return formatNameOrFn(value, {\n name: variable.state.name,\n type: variable.state.type,\n multi: variable.state.isMulti,\n includeAll: variable.state.includeAll\n });\n }\n let args = [];\n if (!formatNameOrFn) {\n formatNameOrFn = VariableFormatID.Glob;\n } else {\n args = formatNameOrFn.split(\":\");\n if (args.length > 1) {\n formatNameOrFn = args[0];\n args = args.slice(1);\n } else {\n args = [];\n }\n }\n let formatter = formatRegistry.getIfExists(formatNameOrFn);\n if (!formatter) {\n console.error(`Variable format ${formatNameOrFn} not found. Using glob format as fallback.`);\n formatter = formatRegistry.get(VariableFormatID.Glob);\n }\n return formatter.formatter(value, args, variable);\n}\n\nexport { sceneInterpolator };\n//# sourceMappingURL=sceneInterpolator.js.map\n","import { isEqual } from 'lodash';\n\nfunction isVariableValueEqual(a, b) {\n if (a === b) {\n return true;\n }\n return isEqual(a, b);\n}\nfunction safeStringifyValue(value) {\n try {\n return JSON.stringify(value, null);\n } catch (error) {\n console.error(error);\n }\n return \"\";\n}\n\nexport { isVariableValueEqual, safeStringifyValue };\n//# sourceMappingURL=utils.js.map\n","import { VARIABLE_REGEX } from './constants.js';\nimport { safeStringifyValue } from './utils.js';\n\nclass VariableDependencyConfig {\n constructor(_sceneObject, _options) {\n this._sceneObject = _sceneObject;\n this._options = _options;\n this._dependencies = /* @__PURE__ */ new Set();\n this.scanCount = 0;\n this.defaultHandlerReferencedVariableValueChanged = () => {\n this._sceneObject.forceRender();\n };\n this._statePaths = _options.statePaths;\n }\n hasDependencyOn(name) {\n return this.getNames().has(name);\n }\n variableUpdatesCompleted(changedVariables) {\n const deps = this.getNames();\n let dependencyChanged = false;\n for (const variable of changedVariables) {\n if (deps.has(variable.state.name)) {\n dependencyChanged = true;\n break;\n }\n }\n if (this._options.onVariableUpdatesCompleted) {\n this._options.onVariableUpdatesCompleted(changedVariables, dependencyChanged);\n return;\n }\n if (dependencyChanged) {\n if (this._options.onReferencedVariableValueChanged) {\n this._options.onReferencedVariableValueChanged();\n } else {\n this.defaultHandlerReferencedVariableValueChanged();\n }\n }\n }\n getNames() {\n const prevState = this._state;\n const newState = this._state = this._sceneObject.state;\n if (!prevState) {\n this.scanStateForDependencies(this._state);\n return this._dependencies;\n }\n if (newState !== prevState) {\n if (this._statePaths) {\n for (const path of this._statePaths) {\n if (newState[path] !== prevState[path]) {\n this.scanStateForDependencies(newState);\n break;\n }\n }\n } else {\n this.scanStateForDependencies(newState);\n }\n }\n return this._dependencies;\n }\n setPaths(paths) {\n this._statePaths = paths;\n }\n scanStateForDependencies(state) {\n this._dependencies.clear();\n this.scanCount += 1;\n if (this._options.variableNames) {\n for (const name of this._options.variableNames) {\n this._dependencies.add(name);\n }\n } else {\n if (this._statePaths) {\n for (const path of this._statePaths) {\n const value = state[path];\n if (value) {\n this.extractVariablesFrom(value);\n }\n }\n } else {\n this.extractVariablesFrom(state);\n }\n }\n }\n extractVariablesFrom(value) {\n VARIABLE_REGEX.lastIndex = 0;\n const stringToCheck = typeof value !== \"string\" ? safeStringifyValue(value) : value;\n const matches = stringToCheck.matchAll(VARIABLE_REGEX);\n if (!matches) {\n return;\n }\n for (const match of matches) {\n const [, var1, var2, , var3] = match;\n const variableName = var1 || var2 || var3;\n this._dependencies.add(variableName);\n }\n }\n}\n\nexport { VariableDependencyConfig };\n//# sourceMappingURL=VariableDependencyConfig.js.map\n","import { DashboardCursorSync } from '@grafana/schema';\nimport { Observable } from 'rxjs';\nimport { sceneGraph } from '../core/sceneGraph/index.js';\nimport { SceneObjectBase } from '../core/SceneObjectBase.js';\n\nvar __defProp = Object.defineProperty;\nvar __defProps = Object.defineProperties;\nvar __getOwnPropDescs = Object.getOwnPropertyDescriptors;\nvar __getOwnPropSymbols = Object.getOwnPropertySymbols;\nvar __hasOwnProp = Object.prototype.hasOwnProperty;\nvar __propIsEnum = Object.prototype.propertyIsEnumerable;\nvar __defNormalProp = (obj, key, value) => key in obj ? __defProp(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;\nvar __spreadValues = (a, b) => {\n for (var prop in b || (b = {}))\n if (__hasOwnProp.call(b, prop))\n __defNormalProp(a, prop, b[prop]);\n if (__getOwnPropSymbols)\n for (var prop of __getOwnPropSymbols(b)) {\n if (__propIsEnum.call(b, prop))\n __defNormalProp(a, prop, b[prop]);\n }\n return a;\n};\nvar __spreadProps = (a, b) => __defProps(a, __getOwnPropDescs(b));\nclass CursorSync extends SceneObjectBase {\n constructor(state) {\n super(__spreadProps(__spreadValues({}, state), {\n sync: state.sync || DashboardCursorSync.Off\n }));\n this.getEventsBus = (panel) => {\n if (!this.parent) {\n throw new Error(\"EnableCursorSync cannot be used as a standalone scene object\");\n }\n return new PanelContextEventBus(this.parent, panel);\n };\n }\n getEventsScope() {\n if (!this.parent) {\n throw new Error(\"EnableCursorSync cannot be used as a standalone scene object\");\n }\n return this.state.key;\n }\n}\nclass PanelContextEventBus {\n constructor(_source, _eventsOrigin) {\n this._source = _source;\n this._eventsOrigin = _eventsOrigin;\n }\n publish(event) {\n event.origin = this;\n this._eventsOrigin.publishEvent(event, true);\n }\n getStream(eventType) {\n return new Observable((observer) => {\n const handler = (event) => {\n observer.next(event);\n };\n const sub = this._source.subscribeToEvent(eventType, handler);\n return () => sub.unsubscribe();\n });\n }\n subscribe(eventType, handler) {\n return this.getStream(eventType).pipe().subscribe(handler);\n }\n removeAllListeners() {\n }\n newScopedBus(key, filter) {\n throw new Error(\"For internal use only\");\n }\n}\nfunction getCursorSyncScope(sceneObject) {\n return sceneGraph.findObject(sceneObject, (o) => o instanceof CursorSync);\n}\n\nexport { CursorSync, getCursorSyncScope };\n//# sourceMappingURL=CursorSync.js.map\n","import { getDataSourceSrv } from '@grafana/runtime';\nimport { runtimeDataSources } from '../querying/RuntimeDataSource.js';\n\nasync function getDataSource(datasource, scopedVars) {\n if (datasource == null ? void 0 : datasource.uid) {\n const runtimeDataSource = runtimeDataSources.get(datasource.uid);\n if (runtimeDataSource) {\n return runtimeDataSource;\n }\n }\n if (datasource && datasource.query) {\n return datasource;\n }\n return await getDataSourceSrv().get(datasource, scopedVars);\n}\n\nexport { getDataSource };\n//# sourceMappingURL=getDataSource.js.map\n","import { sceneGraph } from '../core/sceneGraph/index.js';\nimport { isVariableValueEqual } from './utils.js';\n\nclass VariableValueRecorder {\n constructor() {\n this._values = /* @__PURE__ */ new Map();\n }\n recordCurrentDependencyValuesForSceneObject(sceneObject) {\n this.clearValues();\n if (!sceneObject.variableDependency) {\n return;\n }\n for (const variableName of sceneObject.variableDependency.getNames()) {\n const variable = sceneGraph.lookupVariable(variableName, sceneObject);\n if (variable) {\n this._values.set(variable, variable.getValue());\n }\n }\n }\n clearValues() {\n this._values.clear();\n }\n hasValues() {\n return !!this._values;\n }\n recordCurrentValue(variable) {\n this._values.set(variable, variable.getValue());\n }\n hasRecordedValue(variable) {\n return this._values.has(variable);\n }\n hasValueChanged(variable) {\n if (this._values.has(variable)) {\n const value = this._values.get(variable);\n if (!isVariableValueEqual(value, variable.getValue())) {\n return true;\n }\n }\n return false;\n }\n hasDependenciesChanged(sceneObject) {\n if (!this._values) {\n return false;\n }\n if (!sceneObject.variableDependency) {\n return false;\n }\n for (const variableName of sceneObject.variableDependency.getNames()) {\n const variable = sceneGraph.lookupVariable(variableName, sceneObject);\n if (variable && this._values.has(variable)) {\n const value = this._values.get(variable);\n if (!isVariableValueEqual(value, variable.getValue())) {\n return true;\n }\n }\n }\n return false;\n }\n}\n\nexport { VariableValueRecorder };\n//# sourceMappingURL=VariableValueRecorder.js.map\n","export function isFunction(value) {\n return typeof value === 'function';\n}\n//# sourceMappingURL=isFunction.js.map","import { ReplaySubject } from 'rxjs';\nimport { emptyPanelData } from '../../core/SceneDataNode.js';\nimport { SceneObjectBase } from '../../core/SceneObjectBase.js';\nimport { setBaseClassState } from '../../utils/utils.js';\nimport { writeSceneLog } from '../../utils/writeSceneLog.js';\nimport { VariableDependencyConfig } from '../../variables/VariableDependencyConfig.js';\nimport { VariableValueRecorder } from '../../variables/VariableValueRecorder.js';\n\nvar __defProp = Object.defineProperty;\nvar __getOwnPropSymbols = Object.getOwnPropertySymbols;\nvar __hasOwnProp = Object.prototype.hasOwnProperty;\nvar __propIsEnum = Object.prototype.propertyIsEnumerable;\nvar __defNormalProp = (obj, key, value) => key in obj ? __defProp(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;\nvar __spreadValues = (a, b) => {\n for (var prop in b || (b = {}))\n if (__hasOwnProp.call(b, prop))\n __defNormalProp(a, prop, b[prop]);\n if (__getOwnPropSymbols)\n for (var prop of __getOwnPropSymbols(b)) {\n if (__propIsEnum.call(b, prop))\n __defNormalProp(a, prop, b[prop]);\n }\n return a;\n};\nclass SceneDataLayerBase extends SceneObjectBase {\n constructor(initialState, variableDependencyStatePaths = []) {\n super(__spreadValues({\n isEnabled: true\n }, initialState));\n this._results = new ReplaySubject();\n this._variableValueRecorder = new VariableValueRecorder();\n this._variableDependency = new VariableDependencyConfig(this, {\n onVariableUpdatesCompleted: (variables, dependencyChanged) => this.onVariableUpdatesCompleted(variables, dependencyChanged)\n });\n this._variableDependency.setPaths(variableDependencyStatePaths);\n this.addActivationHandler(() => this.onActivate());\n }\n onActivate() {\n if (this.state.isEnabled) {\n this.onEnable();\n }\n if (this.shouldRunLayerOnActivate()) {\n this.runLayer();\n }\n this.subscribeToState((n, p) => {\n if (!n.isEnabled && this.querySub) {\n this.querySub.unsubscribe();\n this.querySub = void 0;\n this.onDisable();\n this._results.next({\n origin: this,\n data: emptyPanelData,\n topic: this.topic\n });\n this.setStateHelper({\n data: emptyPanelData\n });\n }\n if (n.isEnabled && !p.isEnabled) {\n this.onEnable();\n this.runLayer();\n }\n });\n return () => {\n this.onDeactivate();\n };\n }\n onDeactivate() {\n if (this.querySub) {\n this.querySub.unsubscribe();\n this.querySub = void 0;\n }\n this.onDisable();\n this._variableValueRecorder.recordCurrentDependencyValuesForSceneObject(this);\n }\n onVariableUpdatesCompleted(variables, dependencyChanged) {\n writeSceneLog(\"SceneDataLayerBase\", \"onVariableUpdatesCompleted\");\n if (this.state._isWaitingForVariables && this.shouldRunLayerOnActivate()) {\n this.runLayer();\n return;\n }\n if (dependencyChanged) {\n this.runLayer();\n }\n }\n cancelQuery() {\n if (this.querySub) {\n this.querySub.unsubscribe();\n this.querySub = void 0;\n this.publishResults(emptyPanelData, this.topic);\n }\n }\n publishResults(data, topic) {\n if (this.state.isEnabled) {\n this._results.next({\n origin: this,\n data,\n topic\n });\n this.setStateHelper({\n data\n });\n }\n }\n getResultsStream() {\n return this._results;\n }\n shouldRunLayerOnActivate() {\n if (this._variableValueRecorder.hasDependenciesChanged(this)) {\n writeSceneLog(\n \"SceneDataLayerBase\",\n \"Variable dependency changed while inactive, shouldRunLayerOnActivate returns true\"\n );\n return true;\n }\n if (this.state.data) {\n return false;\n }\n return true;\n }\n setStateHelper(state) {\n setBaseClassState(this, state);\n }\n}\n\nexport { SceneDataLayerBase };\n//# sourceMappingURL=SceneDataLayerBase.js.map\n","/******************************************************************************\nCopyright (c) Microsoft Corporation.\n\nPermission to use, copy, modify, and/or distribute this software for any\npurpose with or without fee is hereby granted.\n\nTHE SOFTWARE IS PROVIDED \"AS IS\" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH\nREGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY\nAND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,\nINDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM\nLOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR\nOTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR\nPERFORMANCE OF THIS SOFTWARE.\n***************************************************************************** */\n/* global Reflect, Promise, SuppressedError, Symbol */\n\nvar extendStatics = function(d, b) {\n extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };\n return extendStatics(d, b);\n};\n\nexport function __extends(d, b) {\n if (typeof b !== \"function\" && b !== null)\n throw new TypeError(\"Class extends value \" + String(b) + \" is not a constructor or null\");\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n}\n\nexport var __assign = function() {\n __assign = Object.assign || function __assign(t) {\n for (var s, i = 1, n = arguments.length; i < n; i++) {\n s = arguments[i];\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p];\n }\n return t;\n }\n return __assign.apply(this, arguments);\n}\n\nexport function __rest(s, e) {\n var t = {};\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)\n t[p] = s[p];\n if (s != null && typeof Object.getOwnPropertySymbols === \"function\")\n for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {\n if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))\n t[p[i]] = s[p[i]];\n }\n return t;\n}\n\nexport function __decorate(decorators, target, key, desc) {\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\n return c > 3 && r && Object.defineProperty(target, key, r), r;\n}\n\nexport function __param(paramIndex, decorator) {\n return function (target, key) { decorator(target, key, paramIndex); }\n}\n\nexport function __esDecorate(ctor, descriptorIn, decorators, contextIn, initializers, extraInitializers) {\n function accept(f) { if (f !== void 0 && typeof f !== \"function\") throw new TypeError(\"Function expected\"); return f; }\n var kind = contextIn.kind, key = kind === \"getter\" ? \"get\" : kind === \"setter\" ? \"set\" : \"value\";\n var target = !descriptorIn && ctor ? contextIn[\"static\"] ? ctor : ctor.prototype : null;\n var descriptor = descriptorIn || (target ? Object.getOwnPropertyDescriptor(target, contextIn.name) : {});\n var _, done = false;\n for (var i = decorators.length - 1; i >= 0; i--) {\n var context = {};\n for (var p in contextIn) context[p] = p === \"access\" ? {} : contextIn[p];\n for (var p in contextIn.access) context.access[p] = contextIn.access[p];\n context.addInitializer = function (f) { if (done) throw new TypeError(\"Cannot add initializers after decoration has completed\"); extraInitializers.push(accept(f || null)); };\n var result = (0, decorators[i])(kind === \"accessor\" ? { get: descriptor.get, set: descriptor.set } : descriptor[key], context);\n if (kind === \"accessor\") {\n if (result === void 0) continue;\n if (result === null || typeof result !== \"object\") throw new TypeError(\"Object expected\");\n if (_ = accept(result.get)) descriptor.get = _;\n if (_ = accept(result.set)) descriptor.set = _;\n if (_ = accept(result.init)) initializers.unshift(_);\n }\n else if (_ = accept(result)) {\n if (kind === \"field\") initializers.unshift(_);\n else descriptor[key] = _;\n }\n }\n if (target) Object.defineProperty(target, contextIn.name, descriptor);\n done = true;\n};\n\nexport function __runInitializers(thisArg, initializers, value) {\n var useValue = arguments.length > 2;\n for (var i = 0; i < initializers.length; i++) {\n value = useValue ? initializers[i].call(thisArg, value) : initializers[i].call(thisArg);\n }\n return useValue ? value : void 0;\n};\n\nexport function __propKey(x) {\n return typeof x === \"symbol\" ? x : \"\".concat(x);\n};\n\nexport function __setFunctionName(f, name, prefix) {\n if (typeof name === \"symbol\") name = name.description ? \"[\".concat(name.description, \"]\") : \"\";\n return Object.defineProperty(f, \"name\", { configurable: true, value: prefix ? \"\".concat(prefix, \" \", name) : name });\n};\n\nexport function __metadata(metadataKey, metadataValue) {\n if (typeof Reflect === \"object\" && typeof Reflect.metadata === \"function\") return Reflect.metadata(metadataKey, metadataValue);\n}\n\nexport function __awaiter(thisArg, _arguments, P, generator) {\n function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\n return new (P || (P = Promise))(function (resolve, reject) {\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\n function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\n step((generator = generator.apply(thisArg, _arguments || [])).next());\n });\n}\n\nexport function __generator(thisArg, body) {\n var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;\n return g = { next: verb(0), \"throw\": verb(1), \"return\": verb(2) }, typeof Symbol === \"function\" && (g[Symbol.iterator] = function() { return this; }), g;\n function verb(n) { return function (v) { return step([n, v]); }; }\n function step(op) {\n if (f) throw new TypeError(\"Generator is already executing.\");\n while (g && (g = 0, op[0] && (_ = 0)), _) try {\n if (f = 1, y && (t = op[0] & 2 ? y[\"return\"] : op[0] ? y[\"throw\"] || ((t = y[\"return\"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;\n if (y = 0, t) op = [op[0] & 2, t.value];\n switch (op[0]) {\n case 0: case 1: t = op; break;\n case 4: _.label++; return { value: op[1], done: false };\n case 5: _.label++; y = op[1]; op = [0]; continue;\n case 7: op = _.ops.pop(); _.trys.pop(); continue;\n default:\n if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }\n if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }\n if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }\n if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }\n if (t[2]) _.ops.pop();\n _.trys.pop(); continue;\n }\n op = body.call(thisArg, _);\n } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }\n if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };\n }\n}\n\nexport var __createBinding = Object.create ? (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n var desc = Object.getOwnPropertyDescriptor(m, k);\n if (!desc || (\"get\" in desc ? !m.__esModule : desc.writable || desc.configurable)) {\n desc = { enumerable: true, get: function() { return m[k]; } };\n }\n Object.defineProperty(o, k2, desc);\n}) : (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n o[k2] = m[k];\n});\n\nexport function __exportStar(m, o) {\n for (var p in m) if (p !== \"default\" && !Object.prototype.hasOwnProperty.call(o, p)) __createBinding(o, m, p);\n}\n\nexport function __values(o) {\n var s = typeof Symbol === \"function\" && Symbol.iterator, m = s && o[s], i = 0;\n if (m) return m.call(o);\n if (o && typeof o.length === \"number\") return {\n next: function () {\n if (o && i >= o.length) o = void 0;\n return { value: o && o[i++], done: !o };\n }\n };\n throw new TypeError(s ? \"Object is not iterable.\" : \"Symbol.iterator is not defined.\");\n}\n\nexport function __read(o, n) {\n var m = typeof Symbol === \"function\" && o[Symbol.iterator];\n if (!m) return o;\n var i = m.call(o), r, ar = [], e;\n try {\n while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);\n }\n catch (error) { e = { error: error }; }\n finally {\n try {\n if (r && !r.done && (m = i[\"return\"])) m.call(i);\n }\n finally { if (e) throw e.error; }\n }\n return ar;\n}\n\n/** @deprecated */\nexport function __spread() {\n for (var ar = [], i = 0; i < arguments.length; i++)\n ar = ar.concat(__read(arguments[i]));\n return ar;\n}\n\n/** @deprecated */\nexport function __spreadArrays() {\n for (var s = 0, i = 0, il = arguments.length; i < il; i++) s += arguments[i].length;\n for (var r = Array(s), k = 0, i = 0; i < il; i++)\n for (var a = arguments[i], j = 0, jl = a.length; j < jl; j++, k++)\n r[k] = a[j];\n return r;\n}\n\nexport function __spreadArray(to, from, pack) {\n if (pack || arguments.length === 2) for (var i = 0, l = from.length, ar; i < l; i++) {\n if (ar || !(i in from)) {\n if (!ar) ar = Array.prototype.slice.call(from, 0, i);\n ar[i] = from[i];\n }\n }\n return to.concat(ar || Array.prototype.slice.call(from));\n}\n\nexport function __await(v) {\n return this instanceof __await ? (this.v = v, this) : new __await(v);\n}\n\nexport function __asyncGenerator(thisArg, _arguments, generator) {\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\n var g = generator.apply(thisArg, _arguments || []), i, q = [];\n return i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i;\n function verb(n) { if (g[n]) i[n] = function (v) { return new Promise(function (a, b) { q.push([n, v, a, b]) > 1 || resume(n, v); }); }; }\n function resume(n, v) { try { step(g[n](v)); } catch (e) { settle(q[0][3], e); } }\n function step(r) { r.value instanceof __await ? Promise.resolve(r.value.v).then(fulfill, reject) : settle(q[0][2], r); }\n function fulfill(value) { resume(\"next\", value); }\n function reject(value) { resume(\"throw\", value); }\n function settle(f, v) { if (f(v), q.shift(), q.length) resume(q[0][0], q[0][1]); }\n}\n\nexport function __asyncDelegator(o) {\n var i, p;\n return i = {}, verb(\"next\"), verb(\"throw\", function (e) { throw e; }), verb(\"return\"), i[Symbol.iterator] = function () { return this; }, i;\n function verb(n, f) { i[n] = o[n] ? function (v) { return (p = !p) ? { value: __await(o[n](v)), done: false } : f ? f(v) : v; } : f; }\n}\n\nexport function __asyncValues(o) {\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\n var m = o[Symbol.asyncIterator], i;\n return m ? m.call(o) : (o = typeof __values === \"function\" ? __values(o) : o[Symbol.iterator](), i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i);\n function verb(n) { i[n] = o[n] && function (v) { return new Promise(function (resolve, reject) { v = o[n](v), settle(resolve, reject, v.done, v.value); }); }; }\n function settle(resolve, reject, d, v) { Promise.resolve(v).then(function(v) { resolve({ value: v, done: d }); }, reject); }\n}\n\nexport function __makeTemplateObject(cooked, raw) {\n if (Object.defineProperty) { Object.defineProperty(cooked, \"raw\", { value: raw }); } else { cooked.raw = raw; }\n return cooked;\n};\n\nvar __setModuleDefault = Object.create ? (function(o, v) {\n Object.defineProperty(o, \"default\", { enumerable: true, value: v });\n}) : function(o, v) {\n o[\"default\"] = v;\n};\n\nexport function __importStar(mod) {\n if (mod && mod.__esModule) return mod;\n var result = {};\n if (mod != null) for (var k in mod) if (k !== \"default\" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);\n __setModuleDefault(result, mod);\n return result;\n}\n\nexport function __importDefault(mod) {\n return (mod && mod.__esModule) ? mod : { default: mod };\n}\n\nexport function __classPrivateFieldGet(receiver, state, kind, f) {\n if (kind === \"a\" && !f) throw new TypeError(\"Private accessor was defined without a getter\");\n if (typeof state === \"function\" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError(\"Cannot read private member from an object whose class did not declare it\");\n return kind === \"m\" ? f : kind === \"a\" ? f.call(receiver) : f ? f.value : state.get(receiver);\n}\n\nexport function __classPrivateFieldSet(receiver, state, value, kind, f) {\n if (kind === \"m\") throw new TypeError(\"Private method is not writable\");\n if (kind === \"a\" && !f) throw new TypeError(\"Private accessor was defined without a setter\");\n if (typeof state === \"function\" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError(\"Cannot write private member to an object whose class did not declare it\");\n return (kind === \"a\" ? f.call(receiver, value) : f ? f.value = value : state.set(receiver, value)), value;\n}\n\nexport function __classPrivateFieldIn(state, receiver) {\n if (receiver === null || (typeof receiver !== \"object\" && typeof receiver !== \"function\")) throw new TypeError(\"Cannot use 'in' operator on non-object\");\n return typeof state === \"function\" ? receiver === state : state.has(receiver);\n}\n\nexport function __addDisposableResource(env, value, async) {\n if (value !== null && value !== void 0) {\n if (typeof value !== \"object\" && typeof value !== \"function\") throw new TypeError(\"Object expected.\");\n var dispose;\n if (async) {\n if (!Symbol.asyncDispose) throw new TypeError(\"Symbol.asyncDispose is not defined.\");\n dispose = value[Symbol.asyncDispose];\n }\n if (dispose === void 0) {\n if (!Symbol.dispose) throw new TypeError(\"Symbol.dispose is not defined.\");\n dispose = value[Symbol.dispose];\n }\n if (typeof dispose !== \"function\") throw new TypeError(\"Object not disposable.\");\n env.stack.push({ value: value, dispose: dispose, async: async });\n }\n else if (async) {\n env.stack.push({ async: true });\n }\n return value;\n}\n\nvar _SuppressedError = typeof SuppressedError === \"function\" ? SuppressedError : function (error, suppressed, message) {\n var e = new Error(message);\n return e.name = \"SuppressedError\", e.error = error, e.suppressed = suppressed, e;\n};\n\nexport function __disposeResources(env) {\n function fail(e) {\n env.error = env.hasError ? new _SuppressedError(e, env.error, \"An error was suppressed during disposal.\") : e;\n env.hasError = true;\n }\n function next() {\n while (env.stack.length) {\n var rec = env.stack.pop();\n try {\n var result = rec.dispose && rec.dispose.call(rec.value);\n if (rec.async) return Promise.resolve(result).then(next, function(e) { fail(e); return next(); });\n }\n catch (e) {\n fail(e);\n }\n }\n if (env.hasError) throw env.error;\n }\n return next();\n}\n\nexport default {\n __extends,\n __assign,\n __rest,\n __decorate,\n __param,\n __metadata,\n __awaiter,\n __generator,\n __createBinding,\n __exportStar,\n __values,\n __read,\n __spread,\n __spreadArrays,\n __spreadArray,\n __await,\n __asyncGenerator,\n __asyncDelegator,\n __asyncValues,\n __makeTemplateObject,\n __importStar,\n __importDefault,\n __classPrivateFieldGet,\n __classPrivateFieldSet,\n __classPrivateFieldIn,\n __addDisposableResource,\n __disposeResources,\n};\n","import { createErrorClass } from './createErrorClass';\nexport var UnsubscriptionError = createErrorClass(function (_super) {\n return function UnsubscriptionErrorImpl(errors) {\n _super(this);\n this.message = errors\n ? errors.length + \" errors occurred during unsubscription:\\n\" + errors.map(function (err, i) { return i + 1 + \") \" + err.toString(); }).join('\\n ')\n : '';\n this.name = 'UnsubscriptionError';\n this.errors = errors;\n };\n});\n//# sourceMappingURL=UnsubscriptionError.js.map","export function createErrorClass(createImpl) {\n var _super = function (instance) {\n Error.call(instance);\n instance.stack = new Error().stack;\n };\n var ctorFunc = createImpl(_super);\n ctorFunc.prototype = Object.create(Error.prototype);\n ctorFunc.prototype.constructor = ctorFunc;\n return ctorFunc;\n}\n//# sourceMappingURL=createErrorClass.js.map","export function arrRemove(arr, item) {\n if (arr) {\n var index = arr.indexOf(item);\n 0 <= index && arr.splice(index, 1);\n }\n}\n//# sourceMappingURL=arrRemove.js.map","import { __read, __spreadArray, __values } from \"tslib\";\nimport { isFunction } from './util/isFunction';\nimport { UnsubscriptionError } from './util/UnsubscriptionError';\nimport { arrRemove } from './util/arrRemove';\nvar Subscription = (function () {\n function Subscription(initialTeardown) {\n this.initialTeardown = initialTeardown;\n this.closed = false;\n this._parentage = null;\n this._finalizers = null;\n }\n Subscription.prototype.unsubscribe = function () {\n var e_1, _a, e_2, _b;\n var errors;\n if (!this.closed) {\n this.closed = true;\n var _parentage = this._parentage;\n if (_parentage) {\n this._parentage = null;\n if (Array.isArray(_parentage)) {\n try {\n for (var _parentage_1 = __values(_parentage), _parentage_1_1 = _parentage_1.next(); !_parentage_1_1.done; _parentage_1_1 = _parentage_1.next()) {\n var parent_1 = _parentage_1_1.value;\n parent_1.remove(this);\n }\n }\n catch (e_1_1) { e_1 = { error: e_1_1 }; }\n finally {\n try {\n if (_parentage_1_1 && !_parentage_1_1.done && (_a = _parentage_1.return)) _a.call(_parentage_1);\n }\n finally { if (e_1) throw e_1.error; }\n }\n }\n else {\n _parentage.remove(this);\n }\n }\n var initialFinalizer = this.initialTeardown;\n if (isFunction(initialFinalizer)) {\n try {\n initialFinalizer();\n }\n catch (e) {\n errors = e instanceof UnsubscriptionError ? e.errors : [e];\n }\n }\n var _finalizers = this._finalizers;\n if (_finalizers) {\n this._finalizers = null;\n try {\n for (var _finalizers_1 = __values(_finalizers), _finalizers_1_1 = _finalizers_1.next(); !_finalizers_1_1.done; _finalizers_1_1 = _finalizers_1.next()) {\n var finalizer = _finalizers_1_1.value;\n try {\n execFinalizer(finalizer);\n }\n catch (err) {\n errors = errors !== null && errors !== void 0 ? errors : [];\n if (err instanceof UnsubscriptionError) {\n errors = __spreadArray(__spreadArray([], __read(errors)), __read(err.errors));\n }\n else {\n errors.push(err);\n }\n }\n }\n }\n catch (e_2_1) { e_2 = { error: e_2_1 }; }\n finally {\n try {\n if (_finalizers_1_1 && !_finalizers_1_1.done && (_b = _finalizers_1.return)) _b.call(_finalizers_1);\n }\n finally { if (e_2) throw e_2.error; }\n }\n }\n if (errors) {\n throw new UnsubscriptionError(errors);\n }\n }\n };\n Subscription.prototype.add = function (teardown) {\n var _a;\n if (teardown && teardown !== this) {\n if (this.closed) {\n execFinalizer(teardown);\n }\n else {\n if (teardown instanceof Subscription) {\n if (teardown.closed || teardown._hasParent(this)) {\n return;\n }\n teardown._addParent(this);\n }\n (this._finalizers = (_a = this._finalizers) !== null && _a !== void 0 ? _a : []).push(teardown);\n }\n }\n };\n Subscription.prototype._hasParent = function (parent) {\n var _parentage = this._parentage;\n return _parentage === parent || (Array.isArray(_parentage) && _parentage.includes(parent));\n };\n Subscription.prototype._addParent = function (parent) {\n var _parentage = this._parentage;\n this._parentage = Array.isArray(_parentage) ? (_parentage.push(parent), _parentage) : _parentage ? [_parentage, parent] : parent;\n };\n Subscription.prototype._removeParent = function (parent) {\n var _parentage = this._parentage;\n if (_parentage === parent) {\n this._parentage = null;\n }\n else if (Array.isArray(_parentage)) {\n arrRemove(_parentage, parent);\n }\n };\n Subscription.prototype.remove = function (teardown) {\n var _finalizers = this._finalizers;\n _finalizers && arrRemove(_finalizers, teardown);\n if (teardown instanceof Subscription) {\n teardown._removeParent(this);\n }\n };\n Subscription.EMPTY = (function () {\n var empty = new Subscription();\n empty.closed = true;\n return empty;\n })();\n return Subscription;\n}());\nexport { Subscription };\nexport var EMPTY_SUBSCRIPTION = Subscription.EMPTY;\nexport function isSubscription(value) {\n return (value instanceof Subscription ||\n (value && 'closed' in value && isFunction(value.remove) && isFunction(value.add) && isFunction(value.unsubscribe)));\n}\nfunction execFinalizer(finalizer) {\n if (isFunction(finalizer)) {\n finalizer();\n }\n else {\n finalizer.unsubscribe();\n }\n}\n//# sourceMappingURL=Subscription.js.map","export var config = {\n onUnhandledError: null,\n onStoppedNotification: null,\n Promise: undefined,\n useDeprecatedSynchronousErrorHandling: false,\n useDeprecatedNextContext: false,\n};\n//# sourceMappingURL=config.js.map","import { __read, __spreadArray } from \"tslib\";\nexport var timeoutProvider = {\n setTimeout: function (handler, timeout) {\n var args = [];\n for (var _i = 2; _i < arguments.length; _i++) {\n args[_i - 2] = arguments[_i];\n }\n var delegate = timeoutProvider.delegate;\n if (delegate === null || delegate === void 0 ? void 0 : delegate.setTimeout) {\n return delegate.setTimeout.apply(delegate, __spreadArray([handler, timeout], __read(args)));\n }\n return setTimeout.apply(void 0, __spreadArray([handler, timeout], __read(args)));\n },\n clearTimeout: function (handle) {\n var delegate = timeoutProvider.delegate;\n return ((delegate === null || delegate === void 0 ? void 0 : delegate.clearTimeout) || clearTimeout)(handle);\n },\n delegate: undefined,\n};\n//# sourceMappingURL=timeoutProvider.js.map","export function noop() { }\n//# sourceMappingURL=noop.js.map","export var COMPLETE_NOTIFICATION = (function () { return createNotification('C', undefined, undefined); })();\nexport function errorNotification(error) {\n return createNotification('E', undefined, error);\n}\nexport function nextNotification(value) {\n return createNotification('N', value, undefined);\n}\nexport function createNotification(kind, value, error) {\n return {\n kind: kind,\n value: value,\n error: error,\n };\n}\n//# sourceMappingURL=NotificationFactories.js.map","import { config } from '../config';\nvar context = null;\nexport function errorContext(cb) {\n if (config.useDeprecatedSynchronousErrorHandling) {\n var isRoot = !context;\n if (isRoot) {\n context = { errorThrown: false, error: null };\n }\n cb();\n if (isRoot) {\n var _a = context, errorThrown = _a.errorThrown, error = _a.error;\n context = null;\n if (errorThrown) {\n throw error;\n }\n }\n }\n else {\n cb();\n }\n}\nexport function captureError(err) {\n if (config.useDeprecatedSynchronousErrorHandling && context) {\n context.errorThrown = true;\n context.error = err;\n }\n}\n//# sourceMappingURL=errorContext.js.map","import { __extends } from \"tslib\";\nimport { isFunction } from './util/isFunction';\nimport { isSubscription, Subscription } from './Subscription';\nimport { config } from './config';\nimport { reportUnhandledError } from './util/reportUnhandledError';\nimport { noop } from './util/noop';\nimport { nextNotification, errorNotification, COMPLETE_NOTIFICATION } from './NotificationFactories';\nimport { timeoutProvider } from './scheduler/timeoutProvider';\nimport { captureError } from './util/errorContext';\nvar Subscriber = (function (_super) {\n __extends(Subscriber, _super);\n function Subscriber(destination) {\n var _this = _super.call(this) || this;\n _this.isStopped = false;\n if (destination) {\n _this.destination = destination;\n if (isSubscription(destination)) {\n destination.add(_this);\n }\n }\n else {\n _this.destination = EMPTY_OBSERVER;\n }\n return _this;\n }\n Subscriber.create = function (next, error, complete) {\n return new SafeSubscriber(next, error, complete);\n };\n Subscriber.prototype.next = function (value) {\n if (this.isStopped) {\n handleStoppedNotification(nextNotification(value), this);\n }\n else {\n this._next(value);\n }\n };\n Subscriber.prototype.error = function (err) {\n if (this.isStopped) {\n handleStoppedNotification(errorNotification(err), this);\n }\n else {\n this.isStopped = true;\n this._error(err);\n }\n };\n Subscriber.prototype.complete = function () {\n if (this.isStopped) {\n handleStoppedNotification(COMPLETE_NOTIFICATION, this);\n }\n else {\n this.isStopped = true;\n this._complete();\n }\n };\n Subscriber.prototype.unsubscribe = function () {\n if (!this.closed) {\n this.isStopped = true;\n _super.prototype.unsubscribe.call(this);\n this.destination = null;\n }\n };\n Subscriber.prototype._next = function (value) {\n this.destination.next(value);\n };\n Subscriber.prototype._error = function (err) {\n try {\n this.destination.error(err);\n }\n finally {\n this.unsubscribe();\n }\n };\n Subscriber.prototype._complete = function () {\n try {\n this.destination.complete();\n }\n finally {\n this.unsubscribe();\n }\n };\n return Subscriber;\n}(Subscription));\nexport { Subscriber };\nvar _bind = Function.prototype.bind;\nfunction bind(fn, thisArg) {\n return _bind.call(fn, thisArg);\n}\nvar ConsumerObserver = (function () {\n function ConsumerObserver(partialObserver) {\n this.partialObserver = partialObserver;\n }\n ConsumerObserver.prototype.next = function (value) {\n var partialObserver = this.partialObserver;\n if (partialObserver.next) {\n try {\n partialObserver.next(value);\n }\n catch (error) {\n handleUnhandledError(error);\n }\n }\n };\n ConsumerObserver.prototype.error = function (err) {\n var partialObserver = this.partialObserver;\n if (partialObserver.error) {\n try {\n partialObserver.error(err);\n }\n catch (error) {\n handleUnhandledError(error);\n }\n }\n else {\n handleUnhandledError(err);\n }\n };\n ConsumerObserver.prototype.complete = function () {\n var partialObserver = this.partialObserver;\n if (partialObserver.complete) {\n try {\n partialObserver.complete();\n }\n catch (error) {\n handleUnhandledError(error);\n }\n }\n };\n return ConsumerObserver;\n}());\nvar SafeSubscriber = (function (_super) {\n __extends(SafeSubscriber, _super);\n function SafeSubscriber(observerOrNext, error, complete) {\n var _this = _super.call(this) || this;\n var partialObserver;\n if (isFunction(observerOrNext) || !observerOrNext) {\n partialObserver = {\n next: (observerOrNext !== null && observerOrNext !== void 0 ? observerOrNext : undefined),\n error: error !== null && error !== void 0 ? error : undefined,\n complete: complete !== null && complete !== void 0 ? complete : undefined,\n };\n }\n else {\n var context_1;\n if (_this && config.useDeprecatedNextContext) {\n context_1 = Object.create(observerOrNext);\n context_1.unsubscribe = function () { return _this.unsubscribe(); };\n partialObserver = {\n next: observerOrNext.next && bind(observerOrNext.next, context_1),\n error: observerOrNext.error && bind(observerOrNext.error, context_1),\n complete: observerOrNext.complete && bind(observerOrNext.complete, context_1),\n };\n }\n else {\n partialObserver = observerOrNext;\n }\n }\n _this.destination = new ConsumerObserver(partialObserver);\n return _this;\n }\n return SafeSubscriber;\n}(Subscriber));\nexport { SafeSubscriber };\nfunction handleUnhandledError(error) {\n if (config.useDeprecatedSynchronousErrorHandling) {\n captureError(error);\n }\n else {\n reportUnhandledError(error);\n }\n}\nfunction defaultErrorHandler(err) {\n throw err;\n}\nfunction handleStoppedNotification(notification, subscriber) {\n var onStoppedNotification = config.onStoppedNotification;\n onStoppedNotification && timeoutProvider.setTimeout(function () { return onStoppedNotification(notification, subscriber); });\n}\nexport var EMPTY_OBSERVER = {\n closed: true,\n next: noop,\n error: defaultErrorHandler,\n complete: noop,\n};\n//# sourceMappingURL=Subscriber.js.map","import { config } from '../config';\nimport { timeoutProvider } from '../scheduler/timeoutProvider';\nexport function reportUnhandledError(err) {\n timeoutProvider.setTimeout(function () {\n var onUnhandledError = config.onUnhandledError;\n if (onUnhandledError) {\n onUnhandledError(err);\n }\n else {\n throw err;\n }\n });\n}\n//# sourceMappingURL=reportUnhandledError.js.map","import { __extends } from \"tslib\";\nimport { Subscriber } from '../Subscriber';\nexport function createOperatorSubscriber(destination, onNext, onComplete, onError, onFinalize) {\n return new OperatorSubscriber(destination, onNext, onComplete, onError, onFinalize);\n}\nvar OperatorSubscriber = (function (_super) {\n __extends(OperatorSubscriber, _super);\n function OperatorSubscriber(destination, onNext, onComplete, onError, onFinalize, shouldUnsubscribe) {\n var _this = _super.call(this, destination) || this;\n _this.onFinalize = onFinalize;\n _this.shouldUnsubscribe = shouldUnsubscribe;\n _this._next = onNext\n ? function (value) {\n try {\n onNext(value);\n }\n catch (err) {\n destination.error(err);\n }\n }\n : _super.prototype._next;\n _this._error = onError\n ? function (err) {\n try {\n onError(err);\n }\n catch (err) {\n destination.error(err);\n }\n finally {\n this.unsubscribe();\n }\n }\n : _super.prototype._error;\n _this._complete = onComplete\n ? function () {\n try {\n onComplete();\n }\n catch (err) {\n destination.error(err);\n }\n finally {\n this.unsubscribe();\n }\n }\n : _super.prototype._complete;\n return _this;\n }\n OperatorSubscriber.prototype.unsubscribe = function () {\n var _a;\n if (!this.shouldUnsubscribe || this.shouldUnsubscribe()) {\n var closed_1 = this.closed;\n _super.prototype.unsubscribe.call(this);\n !closed_1 && ((_a = this.onFinalize) === null || _a === void 0 ? void 0 : _a.call(this));\n }\n };\n return OperatorSubscriber;\n}(Subscriber));\nexport { OperatorSubscriber };\n//# sourceMappingURL=OperatorSubscriber.js.map","export var observable = (function () { return (typeof Symbol === 'function' && Symbol.observable) || '@@observable'; })();\n//# sourceMappingURL=observable.js.map","export function identity(x) {\n return x;\n}\n//# sourceMappingURL=identity.js.map","import { SafeSubscriber, Subscriber } from './Subscriber';\nimport { isSubscription } from './Subscription';\nimport { observable as Symbol_observable } from './symbol/observable';\nimport { pipeFromArray } from './util/pipe';\nimport { config } from './config';\nimport { isFunction } from './util/isFunction';\nimport { errorContext } from './util/errorContext';\nvar Observable = (function () {\n function Observable(subscribe) {\n if (subscribe) {\n this._subscribe = subscribe;\n }\n }\n Observable.prototype.lift = function (operator) {\n var observable = new Observable();\n observable.source = this;\n observable.operator = operator;\n return observable;\n };\n Observable.prototype.subscribe = function (observerOrNext, error, complete) {\n var _this = this;\n var subscriber = isSubscriber(observerOrNext) ? observerOrNext : new SafeSubscriber(observerOrNext, error, complete);\n errorContext(function () {\n var _a = _this, operator = _a.operator, source = _a.source;\n subscriber.add(operator\n ?\n operator.call(subscriber, source)\n : source\n ?\n _this._subscribe(subscriber)\n :\n _this._trySubscribe(subscriber));\n });\n return subscriber;\n };\n Observable.prototype._trySubscribe = function (sink) {\n try {\n return this._subscribe(sink);\n }\n catch (err) {\n sink.error(err);\n }\n };\n Observable.prototype.forEach = function (next, promiseCtor) {\n var _this = this;\n promiseCtor = getPromiseCtor(promiseCtor);\n return new promiseCtor(function (resolve, reject) {\n var subscriber = new SafeSubscriber({\n next: function (value) {\n try {\n next(value);\n }\n catch (err) {\n reject(err);\n subscriber.unsubscribe();\n }\n },\n error: reject,\n complete: resolve,\n });\n _this.subscribe(subscriber);\n });\n };\n Observable.prototype._subscribe = function (subscriber) {\n var _a;\n return (_a = this.source) === null || _a === void 0 ? void 0 : _a.subscribe(subscriber);\n };\n Observable.prototype[Symbol_observable] = function () {\n return this;\n };\n Observable.prototype.pipe = function () {\n var operations = [];\n for (var _i = 0; _i < arguments.length; _i++) {\n operations[_i] = arguments[_i];\n }\n return pipeFromArray(operations)(this);\n };\n Observable.prototype.toPromise = function (promiseCtor) {\n var _this = this;\n promiseCtor = getPromiseCtor(promiseCtor);\n return new promiseCtor(function (resolve, reject) {\n var value;\n _this.subscribe(function (x) { return (value = x); }, function (err) { return reject(err); }, function () { return resolve(value); });\n });\n };\n Observable.create = function (subscribe) {\n return new Observable(subscribe);\n };\n return Observable;\n}());\nexport { Observable };\nfunction getPromiseCtor(promiseCtor) {\n var _a;\n return (_a = promiseCtor !== null && promiseCtor !== void 0 ? promiseCtor : config.Promise) !== null && _a !== void 0 ? _a : Promise;\n}\nfunction isObserver(value) {\n return value && isFunction(value.next) && isFunction(value.error) && isFunction(value.complete);\n}\nfunction isSubscriber(value) {\n return (value && value instanceof Subscriber) || (isObserver(value) && isSubscription(value));\n}\n//# sourceMappingURL=Observable.js.map","import { identity } from './identity';\nexport function pipe() {\n var fns = [];\n for (var _i = 0; _i < arguments.length; _i++) {\n fns[_i] = arguments[_i];\n }\n return pipeFromArray(fns);\n}\nexport function pipeFromArray(fns) {\n if (fns.length === 0) {\n return identity;\n }\n if (fns.length === 1) {\n return fns[0];\n }\n return function piped(input) {\n return fns.reduce(function (prev, fn) { return fn(prev); }, input);\n };\n}\n//# sourceMappingURL=pipe.js.map","export function getSymbolIterator() {\n if (typeof Symbol !== 'function' || !Symbol.iterator) {\n return '@@iterator';\n }\n return Symbol.iterator;\n}\nexport var iterator = getSymbolIterator();\n//# sourceMappingURL=iterator.js.map","import { isString } from 'lodash';\nimport { of } from 'rxjs';\nimport { map, mergeMap } from 'rxjs/operators';\nimport { FieldType, getFieldDisplayName, AnnotationEventFieldSource, standardTransformers } from '@grafana/data';\nimport { config } from '@grafana/runtime';\n\nvar __defProp = Object.defineProperty;\nvar __defProps = Object.defineProperties;\nvar __getOwnPropDescs = Object.getOwnPropertyDescriptors;\nvar __getOwnPropSymbols = Object.getOwnPropertySymbols;\nvar __hasOwnProp = Object.prototype.hasOwnProperty;\nvar __propIsEnum = Object.prototype.propertyIsEnumerable;\nvar __defNormalProp = (obj, key, value) => key in obj ? __defProp(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;\nvar __spreadValues = (a, b) => {\n for (var prop in b || (b = {}))\n if (__hasOwnProp.call(b, prop))\n __defNormalProp(a, prop, b[prop]);\n if (__getOwnPropSymbols)\n for (var prop of __getOwnPropSymbols(b)) {\n if (__propIsEnum.call(b, prop))\n __defNormalProp(a, prop, b[prop]);\n }\n return a;\n};\nvar __spreadProps = (a, b) => __defProps(a, __getOwnPropDescs(b));\nvar __objRest = (source, exclude) => {\n var target = {};\n for (var prop in source)\n if (__hasOwnProp.call(source, prop) && exclude.indexOf(prop) < 0)\n target[prop] = source[prop];\n if (source != null && __getOwnPropSymbols)\n for (var prop of __getOwnPropSymbols(source)) {\n if (exclude.indexOf(prop) < 0 && __propIsEnum.call(source, prop))\n target[prop] = source[prop];\n }\n return target;\n};\nconst standardAnnotationSupport = {\n prepareAnnotation: (json) => {\n if (isString(json == null ? void 0 : json.query)) {\n const _a = json, { query } = _a, rest = __objRest(_a, [\"query\"]);\n return __spreadProps(__spreadValues({}, rest), {\n target: {\n refId: \"annotation_query\",\n query\n },\n mappings: {}\n });\n }\n return json;\n },\n prepareQuery: (anno) => anno.target,\n processEvents: (anno, data) => {\n return getAnnotationsFromData(data, anno.mappings);\n }\n};\nfunction singleFrameFromPanelData() {\n return (source) => source.pipe(\n mergeMap((data) => {\n if (!(data == null ? void 0 : data.length)) {\n return of(void 0);\n }\n if (data.length === 1) {\n return of(data[0]);\n }\n const ctx = {\n interpolate: (v) => v\n };\n return of(data).pipe(\n standardTransformers.mergeTransformer.operator({}, ctx),\n map((d) => d[0])\n );\n })\n );\n}\nconst annotationEventNames = [\n {\n key: \"time\",\n field: (frame) => frame.fields.find((f) => f.type === FieldType.time),\n placeholder: \"time, or the first time field\"\n },\n { key: \"timeEnd\", help: \"When this field is defined, the annotation will be treated as a range\" },\n {\n key: \"title\"\n },\n {\n key: \"text\",\n field: (frame) => frame.fields.find((f) => f.type === FieldType.string),\n placeholder: \"text, or the first text field\"\n },\n { key: \"tags\", split: \",\", help: \"The results will be split on comma (,)\" },\n {\n key: \"id\"\n }\n];\nconst publicDashboardEventNames = [\n {\n key: \"color\"\n },\n {\n key: \"isRegion\"\n },\n {\n key: \"source\"\n }\n];\nconst alertEventAndAnnotationFields = [\n ...config.isPublicDashboardView ? publicDashboardEventNames : [],\n ...annotationEventNames,\n { key: \"userId\" },\n { key: \"login\" },\n { key: \"email\" },\n { key: \"prevState\" },\n { key: \"newState\" },\n { key: \"data\" },\n { key: \"panelId\" },\n { key: \"alertId\" },\n { key: \"dashboardId\" },\n { key: \"dashboardUID\" }\n];\nfunction getAnnotationsFromData(data, options) {\n return of(data).pipe(\n singleFrameFromPanelData(),\n map((frame) => {\n if (!(frame == null ? void 0 : frame.length)) {\n return [];\n }\n let hasTime = false;\n let hasText = false;\n const byName = {};\n for (const f of frame.fields) {\n const name = getFieldDisplayName(f, frame);\n byName[name.toLowerCase()] = f;\n }\n if (!options) {\n options = {};\n }\n const fields = [];\n for (const evts of alertEventAndAnnotationFields) {\n const opt = options[evts.key] || {};\n if (opt.source === AnnotationEventFieldSource.Skip) {\n continue;\n }\n const setter = { key: evts.key, split: evts.split };\n if (opt.source === AnnotationEventFieldSource.Text) {\n setter.text = opt.value;\n } else {\n const lower = (opt.value || evts.key).toLowerCase();\n setter.field = byName[lower];\n if (!setter.field && evts.field) {\n setter.field = evts.field(frame);\n }\n }\n if (setter.field || setter.text) {\n fields.push(setter);\n if (setter.key === \"time\") {\n hasTime = true;\n } else if (setter.key === \"text\") {\n hasText = true;\n }\n }\n }\n if (!hasTime || !hasText) {\n console.error(\"Cannot process annotation fields. No time or text present.\");\n return [];\n }\n const events = [];\n for (let i = 0; i < frame.length; i++) {\n const anno = {\n type: \"default\",\n color: \"red\"\n };\n for (const f of fields) {\n let v = void 0;\n if (f.text) {\n v = f.text;\n } else if (f.field) {\n v = f.field.values.get(i);\n if (v !== void 0 && f.regex) {\n const match = f.regex.exec(v);\n if (match) {\n v = match[1] ? match[1] : match[0];\n }\n }\n }\n if (v !== null && v !== void 0) {\n if (f.split && typeof v === \"string\") {\n v = v.split(\",\");\n }\n anno[f.key] = v;\n }\n }\n events.push(anno);\n }\n return events;\n })\n );\n}\nconst legacyRunner = [\n \"prometheus\",\n \"loki\",\n \"elasticsearch\",\n \"grafana-opensearch-datasource\"\n];\nfunction shouldUseLegacyRunner(datasource) {\n const { type } = datasource;\n return !datasource.annotations || legacyRunner.includes(type);\n}\n\nexport { annotationEventNames, getAnnotationsFromData, publicDashboardEventNames, shouldUseLegacyRunner, singleFrameFromPanelData, standardAnnotationSupport };\n//# sourceMappingURL=standardAnnotationsSupport.js.map\n","function writeSceneLog(logger, message, ...rest) {\n if (window.grafanaSceneLogging) {\n console.log(`${logger}: `, message, ...rest);\n }\n}\n\nexport { writeSceneLog };\n//# sourceMappingURL=writeSceneLog.js.map\n","import { from, of } from 'rxjs';\nimport { map, mergeMap } from 'rxjs/operators';\nimport { rangeUtil, CoreApp, DataTopic } from '@grafana/data';\nimport { getRunRequest } from '@grafana/runtime';\nimport { shouldUseLegacyRunner, standardAnnotationSupport } from './standardAnnotationsSupport.js';\nimport { LoadingState } from '@grafana/schema';\nimport { getEnrichedDataRequest } from '../../getEnrichedDataRequest.js';\n\nvar __defProp = Object.defineProperty;\nvar __defProps = Object.defineProperties;\nvar __getOwnPropDescs = Object.getOwnPropertyDescriptors;\nvar __getOwnPropSymbols = Object.getOwnPropertySymbols;\nvar __hasOwnProp = Object.prototype.hasOwnProperty;\nvar __propIsEnum = Object.prototype.propertyIsEnumerable;\nvar __defNormalProp = (obj, key, value) => key in obj ? __defProp(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;\nvar __spreadValues = (a, b) => {\n for (var prop in b || (b = {}))\n if (__hasOwnProp.call(b, prop))\n __defNormalProp(a, prop, b[prop]);\n if (__getOwnPropSymbols)\n for (var prop of __getOwnPropSymbols(b)) {\n if (__propIsEnum.call(b, prop))\n __defNormalProp(a, prop, b[prop]);\n }\n return a;\n};\nvar __spreadProps = (a, b) => __defProps(a, __getOwnPropDescs(b));\nlet counter = 100;\nfunction getNextRequestId() {\n return \"AQ\" + counter++;\n}\nfunction executeAnnotationQuery(datasource, timeRange, query, layer) {\n var _a;\n if (datasource.annotationQuery && shouldUseLegacyRunner(datasource)) {\n console.warn(\"Using deprecated annotationQuery method, please upgrade your datasource\");\n return from(\n datasource.annotationQuery({\n range: timeRange.state.value,\n rangeRaw: timeRange.state.value.raw,\n annotation: query,\n dashboard: {}\n })\n ).pipe(\n map((events) => ({\n state: LoadingState.Done,\n events\n }))\n );\n }\n const processor = __spreadValues(__spreadValues({}, standardAnnotationSupport), datasource.annotations);\n const annotationWithDefaults = __spreadValues(__spreadValues({}, (_a = processor.getDefaultQuery) == null ? void 0 : _a.call(processor)), query);\n const annotation = processor.prepareAnnotation(annotationWithDefaults);\n if (!annotation) {\n return of({\n state: LoadingState.Done,\n events: []\n });\n }\n const processedQuery = processor.prepareQuery(annotation);\n if (!processedQuery) {\n return of({\n state: LoadingState.Done,\n events: []\n });\n }\n const maxDataPoints = window.innerWidth || document.documentElement.clientWidth || document.body.clientWidth;\n const interval = rangeUtil.calculateInterval(timeRange.state.value, maxDataPoints, datasource.interval);\n const scopedVars = {\n __interval: { text: interval.interval, value: interval.interval },\n __interval_ms: { text: interval.intervalMs.toString(), value: interval.intervalMs },\n __annotation: { text: annotation.name, value: annotation },\n __sceneObject: { text: \"__sceneObject\", value: layer }\n };\n const queryRequest = __spreadValues(__spreadProps(__spreadValues({\n startTime: Date.now(),\n requestId: getNextRequestId(),\n range: timeRange.state.value,\n maxDataPoints,\n scopedVars\n }, interval), {\n app: CoreApp.Dashboard,\n timezone: timeRange.getTimeZone(),\n targets: [\n __spreadProps(__spreadValues({}, processedQuery), {\n refId: \"Anno\"\n })\n ]\n }), getEnrichedDataRequest(layer));\n const runRequest = getRunRequest();\n return runRequest(datasource, queryRequest).pipe(\n mergeMap((panelData) => {\n const data = (panelData == null ? void 0 : panelData.series.length) ? panelData.series : panelData.annotations;\n if (!(data == null ? void 0 : data.length)) {\n return of({\n state: panelData.state,\n events: []\n });\n }\n data.forEach((frame) => {\n var _a2;\n if (!((_a2 = frame.meta) == null ? void 0 : _a2.dataTopic)) {\n frame.meta = __spreadProps(__spreadValues({}, frame.meta || {}), { dataTopic: DataTopic.Annotations });\n }\n });\n return processor.processEvents(annotation, data).pipe(\n map((events) => {\n return {\n state: panelData.state,\n events: events || []\n };\n })\n );\n })\n );\n}\n\nexport { executeAnnotationQuery };\n//# sourceMappingURL=standardAnnotationQuery.js.map\n","import { config } from '@grafana/runtime';\nimport { cloneDeep, partition, groupBy, map, every, find, head, concat } from 'lodash';\n\nvar __defProp = Object.defineProperty;\nvar __getOwnPropSymbols = Object.getOwnPropertySymbols;\nvar __hasOwnProp = Object.prototype.hasOwnProperty;\nvar __propIsEnum = Object.prototype.propertyIsEnumerable;\nvar __defNormalProp = (obj, key, value) => key in obj ? __defProp(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;\nvar __spreadValues = (a, b) => {\n for (var prop in b || (b = {}))\n if (__hasOwnProp.call(b, prop))\n __defNormalProp(a, prop, b[prop]);\n if (__getOwnPropSymbols)\n for (var prop of __getOwnPropSymbols(b)) {\n if (__propIsEnum.call(b, prop))\n __defNormalProp(a, prop, b[prop]);\n }\n return a;\n};\nfunction postProcessQueryResult(annotation, results) {\n if (annotation.snapshotData) {\n annotation = cloneDeep(annotation);\n delete annotation.snapshotData;\n }\n const processed = results.map((item) => {\n var _a;\n const processedItem = __spreadValues({}, item);\n processedItem.source = annotation;\n processedItem.color = config.theme2.visualization.getColorByName(annotation.iconColor);\n processedItem.type = annotation.name;\n processedItem.isRegion = Boolean(processedItem.timeEnd && processedItem.time !== processedItem.timeEnd);\n switch ((_a = processedItem.newState) == null ? void 0 : _a.toLowerCase()) {\n case \"pending\":\n processedItem.color = \"yellow\";\n break;\n case \"alerting\":\n processedItem.color = \"red\";\n break;\n case \"ok\":\n processedItem.color = \"green\";\n break;\n case \"normal\":\n processedItem.color = \"green\";\n break;\n case \"no_data\":\n processedItem.color = \"gray\";\n break;\n case \"nodata\":\n processedItem.color = \"gray\";\n break;\n }\n return processedItem;\n });\n return processed;\n}\nfunction dedupAnnotations(annotations) {\n let dedup = [];\n const events = partition(annotations, \"id\");\n const eventsById = groupBy(events[0], \"id\");\n dedup = map(eventsById, (eventGroup) => {\n if (eventGroup.length > 1 && !every(eventGroup, isPanelAlert)) {\n return find(eventGroup, (event) => {\n return event.eventType !== \"panel-alert\";\n });\n } else {\n return head(eventGroup);\n }\n });\n dedup = concat(dedup, events[1]);\n return dedup;\n}\nfunction isPanelAlert(event) {\n return event.eventType === \"panel-alert\";\n}\n\nexport { dedupAnnotations, postProcessQueryResult };\n//# sourceMappingURL=utils.js.map\n","import { DataTopic, arrayToDataFrame } from '@grafana/data';\nimport { LoadingState } from '@grafana/schema';\nimport { map } from 'rxjs';\nimport { emptyPanelData } from '../../../core/SceneDataNode.js';\nimport { sceneGraph } from '../../../core/sceneGraph/index.js';\nimport { getDataSource } from '../../../utils/getDataSource.js';\nimport { getMessageFromError } from '../../../utils/getMessageFromError.js';\nimport { writeSceneLog } from '../../../utils/writeSceneLog.js';\nimport { SceneDataLayerBase } from '../SceneDataLayerBase.js';\nimport { executeAnnotationQuery } from './standardAnnotationQuery.js';\nimport { postProcessQueryResult, dedupAnnotations } from './utils.js';\n\nvar __defProp = Object.defineProperty;\nvar __defProps = Object.defineProperties;\nvar __getOwnPropDescs = Object.getOwnPropertyDescriptors;\nvar __getOwnPropSymbols = Object.getOwnPropertySymbols;\nvar __hasOwnProp = Object.prototype.hasOwnProperty;\nvar __propIsEnum = Object.prototype.propertyIsEnumerable;\nvar __defNormalProp = (obj, key, value) => key in obj ? __defProp(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;\nvar __spreadValues = (a, b) => {\n for (var prop in b || (b = {}))\n if (__hasOwnProp.call(b, prop))\n __defNormalProp(a, prop, b[prop]);\n if (__getOwnPropSymbols)\n for (var prop of __getOwnPropSymbols(b)) {\n if (__propIsEnum.call(b, prop))\n __defNormalProp(a, prop, b[prop]);\n }\n return a;\n};\nvar __spreadProps = (a, b) => __defProps(a, __getOwnPropDescs(b));\nclass AnnotationsDataLayer extends SceneDataLayerBase {\n constructor(initialState) {\n super(\n __spreadValues({\n isEnabled: true\n }, initialState),\n [\"query\"]\n );\n this.topic = DataTopic.Annotations;\n }\n onEnable() {\n const timeRange = sceneGraph.getTimeRange(this);\n this._timeRangeSub = timeRange.subscribeToState(() => {\n this.runWithTimeRange(timeRange);\n });\n }\n onDisable() {\n var _a;\n (_a = this._timeRangeSub) == null ? void 0 : _a.unsubscribe();\n }\n runLayer() {\n writeSceneLog(\"AnnotationsDataLayer\", \"run layer\");\n const timeRange = sceneGraph.getTimeRange(this);\n this.runWithTimeRange(timeRange);\n }\n async runWithTimeRange(timeRange) {\n const { query } = this.state;\n if (this.querySub) {\n this.querySub.unsubscribe();\n }\n if (sceneGraph.hasVariableDependencyInLoadingState(this)) {\n writeSceneLog(\"AnnotationsDataLayer\", \"Variable dependency is in loading state, skipping query execution\");\n this.setState({ _isWaitingForVariables: true });\n return;\n }\n try {\n const ds = await this.resolveDataSource(query);\n const queryExecution = executeAnnotationQuery(ds, timeRange, query, this).pipe(\n map((events) => {\n const stateUpdate = this.processEvents(query, events);\n return stateUpdate;\n })\n );\n this.querySub = queryExecution.subscribe((stateUpdate) => {\n this.publishResults(stateUpdate, DataTopic.Annotations);\n });\n } catch (e) {\n this.publishResults(\n __spreadProps(__spreadValues({}, emptyPanelData), {\n state: LoadingState.Error,\n errors: [\n {\n message: getMessageFromError(e)\n }\n ]\n }),\n DataTopic.Annotations\n );\n console.error(\"AnnotationsDataLayer error\", e);\n }\n }\n async resolveDataSource(query) {\n return await getDataSource(query.datasource || void 0, {});\n }\n processEvents(query, events) {\n let processedEvents = postProcessQueryResult(query, events.events || []);\n processedEvents = dedupAnnotations(processedEvents);\n const stateUpdate = __spreadProps(__spreadValues({}, emptyPanelData), { state: events.state });\n const df = arrayToDataFrame(processedEvents);\n df.meta = __spreadProps(__spreadValues({}, df.meta), {\n dataTopic: DataTopic.Annotations\n });\n stateUpdate.annotations = [df];\n return stateUpdate;\n }\n}\n\nexport { AnnotationsDataLayer };\n//# sourceMappingURL=AnnotationsDataLayer.js.map\n","import { SceneTimeRangeTransformerBase } from './SceneTimeRangeTransformerBase.js';\nimport { getDefaultTimeRange } from '@grafana/data';\nimport { evaluateTimeRange } from '../utils/evaluateTimeRange.js';\n\nvar __defProp = Object.defineProperty;\nvar __defProps = Object.defineProperties;\nvar __getOwnPropDescs = Object.getOwnPropertyDescriptors;\nvar __getOwnPropSymbols = Object.getOwnPropertySymbols;\nvar __hasOwnProp = Object.prototype.hasOwnProperty;\nvar __propIsEnum = Object.prototype.propertyIsEnumerable;\nvar __defNormalProp = (obj, key, value) => key in obj ? __defProp(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;\nvar __spreadValues = (a, b) => {\n for (var prop in b || (b = {}))\n if (__hasOwnProp.call(b, prop))\n __defNormalProp(a, prop, b[prop]);\n if (__getOwnPropSymbols)\n for (var prop of __getOwnPropSymbols(b)) {\n if (__propIsEnum.call(b, prop))\n __defNormalProp(a, prop, b[prop]);\n }\n return a;\n};\nvar __spreadProps = (a, b) => __defProps(a, __getOwnPropDescs(b));\nclass SceneTimeZoneOverride extends SceneTimeRangeTransformerBase {\n constructor(state) {\n super(__spreadProps(__spreadValues({}, state), {\n timeZone: state.timeZone,\n from: \"now-6h\",\n to: \"now\",\n value: getDefaultTimeRange()\n }));\n }\n ancestorTimeRangeChanged(timeRange) {\n this.setState(__spreadProps(__spreadValues({}, timeRange), {\n timeZone: this.state.timeZone,\n value: evaluateTimeRange(timeRange.from, timeRange.to, this.state.timeZone, timeRange.fiscalYearStartMonth)\n }));\n }\n getTimeZone() {\n return this.state.timeZone;\n }\n onTimeZoneChange(timeZone) {\n this.setState({\n timeZone,\n value: evaluateTimeRange(\n this.state.from,\n this.state.to,\n this.state.timeZone,\n this.getAncestorTimeRange().state.fiscalYearStartMonth\n )\n });\n }\n}\n\nexport { SceneTimeZoneOverride };\n//# sourceMappingURL=SceneTimeZoneOverride.js.map\n","import { rangeUtil, dateTime } from '@grafana/data';\nimport { useStyles2, ButtonGroup, ToolbarButton, Checkbox, ButtonSelect } from '@grafana/ui';\nimport React from 'react';\nimport { sceneGraph } from '../core/sceneGraph/index.js';\nimport { SceneObjectBase } from '../core/SceneObjectBase.js';\nimport { SceneObjectUrlSyncConfig } from '../services/SceneObjectUrlSyncConfig.js';\nimport { parseUrlParam } from '../utils/parseUrlParam.js';\nimport { css } from '@emotion/css';\n\nvar __defProp = Object.defineProperty;\nvar __getOwnPropSymbols = Object.getOwnPropertySymbols;\nvar __hasOwnProp = Object.prototype.hasOwnProperty;\nvar __propIsEnum = Object.prototype.propertyIsEnumerable;\nvar __defNormalProp = (obj, key, value) => key in obj ? __defProp(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;\nvar __spreadValues = (a, b) => {\n for (var prop in b || (b = {}))\n if (__hasOwnProp.call(b, prop))\n __defNormalProp(a, prop, b[prop]);\n if (__getOwnPropSymbols)\n for (var prop of __getOwnPropSymbols(b)) {\n if (__propIsEnum.call(b, prop))\n __defNormalProp(a, prop, b[prop]);\n }\n return a;\n};\nconst PREVIOUS_PERIOD_VALUE = \"__previousPeriod\";\nconst NO_PERIOD_VALUE = \"__noPeriod\";\nconst PREVIOUS_PERIOD_COMPARE_OPTION = {\n label: \"Previous period\",\n value: PREVIOUS_PERIOD_VALUE\n};\nconst NO_COMPARE_OPTION = {\n label: \"No comparison\",\n value: NO_PERIOD_VALUE\n};\nconst DEFAULT_COMPARE_OPTIONS = [\n { label: \"Day before\", value: \"24h\" },\n { label: \"Week before\", value: \"1w\" },\n { label: \"Month before\", value: \"1M\" }\n];\nclass SceneTimeRangeCompare extends SceneObjectBase {\n constructor(state) {\n super(__spreadValues({ compareOptions: DEFAULT_COMPARE_OPTIONS }, state));\n this._urlSync = new SceneObjectUrlSyncConfig(this, { keys: [\"compareWith\"] });\n this._onActivate = () => {\n const sceneTimeRange = sceneGraph.getTimeRange(this);\n this.setState({ compareOptions: this.getCompareOptions(sceneTimeRange.state.value) });\n this._subs.add(\n sceneTimeRange.subscribeToState((timeRange) => {\n const compareOptions = this.getCompareOptions(timeRange.value);\n const stateUpdate = { compareOptions };\n if (Boolean(this.state.compareWith) && !compareOptions.find(({ value }) => value === this.state.compareWith)) {\n stateUpdate.compareWith = PREVIOUS_PERIOD_VALUE;\n }\n this.setState(stateUpdate);\n })\n );\n };\n this.getCompareOptions = (timeRange) => {\n const diffDays = Math.ceil(timeRange.to.diff(timeRange.from));\n const matchIndex = DEFAULT_COMPARE_OPTIONS.findIndex(({ value }) => {\n const intervalInMs = rangeUtil.intervalToMs(value);\n return intervalInMs >= diffDays;\n });\n return [\n NO_COMPARE_OPTION,\n PREVIOUS_PERIOD_COMPARE_OPTION,\n ...DEFAULT_COMPARE_OPTIONS.slice(matchIndex).map(({ label, value }) => ({ label, value }))\n ];\n };\n this.onCompareWithChanged = (compareWith) => {\n if (compareWith === NO_PERIOD_VALUE) {\n this.onClearCompare();\n } else {\n this.setState({ compareWith });\n }\n };\n this.onClearCompare = () => {\n this.setState({ compareWith: void 0 });\n };\n this.addActivationHandler(this._onActivate);\n }\n getCompareTimeRange(timeRange) {\n let compareFrom;\n let compareTo;\n if (this.state.compareWith) {\n if (this.state.compareWith === PREVIOUS_PERIOD_VALUE) {\n const diffMs = timeRange.to.diff(timeRange.from);\n compareFrom = dateTime(timeRange.from).subtract(diffMs);\n compareTo = dateTime(timeRange.to).subtract(diffMs);\n } else {\n compareFrom = dateTime(timeRange.from).subtract(rangeUtil.intervalToMs(this.state.compareWith));\n compareTo = dateTime(timeRange.to).subtract(rangeUtil.intervalToMs(this.state.compareWith));\n }\n return {\n from: compareFrom,\n to: compareTo,\n raw: {\n from: compareFrom,\n to: compareTo\n }\n };\n }\n return void 0;\n }\n getUrlState() {\n return {\n compareWith: this.state.compareWith\n };\n }\n updateFromUrl(values) {\n if (!values.compareWith) {\n return;\n }\n const compareWith = parseUrlParam(values.compareWith);\n if (compareWith) {\n const compareOptions = this.getCompareOptions(sceneGraph.getTimeRange(this).state.value);\n if (compareOptions.find(({ value }) => value === compareWith)) {\n this.setState({\n compareWith\n });\n } else {\n this.setState({\n compareWith: \"__previousPeriod\"\n });\n }\n }\n }\n}\nSceneTimeRangeCompare.Component = SceneTimeRangeCompareRenderer;\nfunction SceneTimeRangeCompareRenderer({ model }) {\n var _a;\n const styles = useStyles2(getStyles);\n const { compareWith, compareOptions } = model.useState();\n const [previousCompare, setPreviousCompare] = React.useState(compareWith);\n const previousValue = (_a = compareOptions.find(({ value: value2 }) => value2 === previousCompare)) != null ? _a : PREVIOUS_PERIOD_COMPARE_OPTION;\n const value = compareOptions.find(({ value: value2 }) => value2 === compareWith);\n const enabled = Boolean(value);\n const onClick = () => {\n if (enabled) {\n setPreviousCompare(compareWith);\n model.onClearCompare();\n } else if (!enabled) {\n model.onCompareWithChanged(previousValue.value);\n }\n };\n return /* @__PURE__ */ React.createElement(ButtonGroup, null, /* @__PURE__ */ React.createElement(ToolbarButton, {\n variant: \"canvas\",\n tooltip: \"Enable time frame comparison\",\n onClick: (e) => {\n e.stopPropagation();\n e.preventDefault();\n onClick();\n }\n }, /* @__PURE__ */ React.createElement(Checkbox, {\n label: \" \",\n value: enabled,\n onClick\n }), \"Comparison\"), enabled ? /* @__PURE__ */ React.createElement(ButtonSelect, {\n variant: \"canvas\",\n value,\n options: compareOptions,\n onChange: (v) => {\n model.onCompareWithChanged(v.value);\n }\n }) : /* @__PURE__ */ React.createElement(ToolbarButton, {\n className: styles.previewButton,\n disabled: true,\n variant: \"canvas\",\n isOpen: false\n }, previousValue.label));\n}\nfunction getStyles(theme) {\n return {\n previewButton: css({\n \"&:disabled\": {\n border: `1px solid ${theme.colors.secondary.border}`,\n color: theme.colors.text.disabled,\n opacity: 1\n }\n })\n };\n}\n\nexport { DEFAULT_COMPARE_OPTIONS, NO_COMPARE_OPTION, PREVIOUS_PERIOD_COMPARE_OPTION, SceneTimeRangeCompare };\n//# sourceMappingURL=SceneTimeRangeCompare.js.map\n","const getCompareSeriesRefId = (refId) => `${refId}-compare`;\n\nexport { getCompareSeriesRefId };\n//# sourceMappingURL=getCompareSeriesRefId.js.map\n","import { FieldType } from '@grafana/data';\nimport { config } from '@grafana/runtime';\nimport { map } from 'rxjs';\nimport { getCompareSeriesRefId } from '../utils/getCompareSeriesRefId.js';\n\nvar __defProp = Object.defineProperty;\nvar __defProps = Object.defineProperties;\nvar __getOwnPropDescs = Object.getOwnPropertyDescriptors;\nvar __getOwnPropSymbols = Object.getOwnPropertySymbols;\nvar __hasOwnProp = Object.prototype.hasOwnProperty;\nvar __propIsEnum = Object.prototype.propertyIsEnumerable;\nvar __defNormalProp = (obj, key, value) => key in obj ? __defProp(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;\nvar __spreadValues = (a, b) => {\n for (var prop in b || (b = {}))\n if (__hasOwnProp.call(b, prop))\n __defNormalProp(a, prop, b[prop]);\n if (__getOwnPropSymbols)\n for (var prop of __getOwnPropSymbols(b)) {\n if (__propIsEnum.call(b, prop))\n __defNormalProp(a, prop, b[prop]);\n }\n return a;\n};\nvar __spreadProps = (a, b) => __defProps(a, __getOwnPropDescs(b));\nfunction timeShiftQueryResponseOperator(data) {\n return data.pipe(\n map(([p, s]) => {\n const diff = s.timeRange.from.diff(p.timeRange.from);\n s.series.forEach((series) => {\n series.refId = getCompareSeriesRefId(series.refId || \"\");\n series.meta = __spreadProps(__spreadValues({}, series.meta), {\n timeCompare: {\n diffMs: diff,\n isTimeShiftQuery: true\n }\n });\n series.fields.forEach((field) => {\n if (field.type === FieldType.time) {\n field.values = field.values.map((v) => {\n return diff < 0 ? v - diff : v + diff;\n });\n }\n field.config = __spreadProps(__spreadValues({}, field.config), {\n color: {\n mode: \"fixed\",\n fixedColor: config.theme.palette.gray60\n }\n });\n return field;\n });\n });\n return __spreadProps(__spreadValues({}, p), {\n series: [...p.series, ...s.series]\n });\n })\n );\n}\n\nexport { timeShiftQueryResponseOperator };\n//# sourceMappingURL=timeShiftQueryResponseOperator.js.map\n","var __defProp = Object.defineProperty;\nvar __defProps = Object.defineProperties;\nvar __getOwnPropDescs = Object.getOwnPropertyDescriptors;\nvar __getOwnPropSymbols = Object.getOwnPropertySymbols;\nvar __hasOwnProp = Object.prototype.hasOwnProperty;\nvar __propIsEnum = Object.prototype.propertyIsEnumerable;\nvar __defNormalProp = (obj, key, value) => key in obj ? __defProp(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;\nvar __spreadValues = (a, b) => {\n for (var prop in b || (b = {}))\n if (__hasOwnProp.call(b, prop))\n __defNormalProp(a, prop, b[prop]);\n if (__getOwnPropSymbols)\n for (var prop of __getOwnPropSymbols(b)) {\n if (__propIsEnum.call(b, prop))\n __defNormalProp(a, prop, b[prop]);\n }\n return a;\n};\nvar __spreadProps = (a, b) => __defProps(a, __getOwnPropDescs(b));\nfunction filterAnnotations(data, filters) {\n var _a;\n if (!Array.isArray(data) || data.length === 0) {\n return data;\n }\n const rows = Array.from({ length: data.length }, () => /* @__PURE__ */ new Set());\n let frameIdx = 0;\n for (const frame of data) {\n for (let index = 0; index < frame.length; index++) {\n if (rows[frameIdx].has(index)) {\n continue;\n }\n let matching = true;\n const panelIdField = frame.fields.find((f) => f.name === \"panelId\");\n const sourceField = frame.fields.find((f) => f.name === \"source\");\n if (sourceField) {\n if (panelIdField && sourceField.values[index].type === \"dashboard\") {\n matching = panelIdField.values[index] === filters.panelId;\n }\n const sourceFilter = sourceField.values[index].filter;\n if (sourceFilter) {\n const includes = ((_a = sourceFilter.ids) != null ? _a : []).includes(filters.panelId);\n if (sourceFilter.exclude) {\n if (includes) {\n matching = false;\n }\n } else if (!includes) {\n matching = false;\n }\n }\n }\n if (matching) {\n rows[frameIdx].add(index);\n }\n }\n frameIdx++;\n }\n const processed = [];\n frameIdx = 0;\n for (const frame of data) {\n const frameLength = rows[frameIdx].size;\n const fields = [];\n for (const field of frame.fields) {\n const buffer = [];\n for (let index = 0; index < frame.length; index++) {\n if (rows[frameIdx].has(index)) {\n buffer.push(field.values[index]);\n continue;\n }\n }\n fields.push(__spreadProps(__spreadValues({}, field), {\n values: buffer\n }));\n }\n processed.push(__spreadProps(__spreadValues({}, frame), {\n fields,\n length: frameLength\n }));\n frameIdx++;\n }\n return processed;\n}\n\nexport { filterAnnotations };\n//# sourceMappingURL=filterAnnotations.js.map\n","function isSceneObject(obj) {\n return obj.useState !== void 0;\n}\nfunction isDataRequestEnricher(obj) {\n return \"enrichDataRequest\" in obj;\n}\n\nexport { isDataRequestEnricher, isSceneObject };\n//# sourceMappingURL=types.js.map\n","import { getTemplateSrv, getDataSourceSrv } from '@grafana/runtime';\n\nlet originalGetAdhocFilters = void 0;\nlet allActiveFilterSets = /* @__PURE__ */ new Set();\nfunction patchGetAdhocFilters(filterSet) {\n filterSet.addActivationHandler(() => {\n allActiveFilterSets.add(filterSet);\n return () => allActiveFilterSets.delete(filterSet);\n });\n if (originalGetAdhocFilters) {\n return;\n }\n const templateSrv = getTemplateSrv();\n if (!(templateSrv == null ? void 0 : templateSrv.getAdhocFilters)) {\n console.log(\"Failed to patch getAdhocFilters\");\n return;\n }\n originalGetAdhocFilters = templateSrv.getAdhocFilters;\n templateSrv.getAdhocFilters = function getAdhocFiltersScenePatch(dsName) {\n var _a;\n if (allActiveFilterSets.size === 0) {\n return originalGetAdhocFilters.call(templateSrv);\n }\n const ds = getDataSourceSrv().getInstanceSettings(dsName);\n if (!ds) {\n return [];\n }\n for (const filter of allActiveFilterSets.values()) {\n if (((_a = filter.state.datasource) == null ? void 0 : _a.uid) === ds.uid) {\n return filter.state.filters;\n }\n }\n return [];\n }.bind(templateSrv);\n}\nfunction findActiveAdHocFilterSetByUid(dsUid) {\n var _a;\n for (const filter of allActiveFilterSets.values()) {\n if (((_a = filter.state.datasource) == null ? void 0 : _a.uid) === dsUid) {\n return filter;\n }\n }\n return void 0;\n}\n\nexport { findActiveAdHocFilterSetByUid, patchGetAdhocFilters };\n//# sourceMappingURL=patchGetAdhocFilters.js.map\n","import { cloneDeep } from 'lodash';\nimport { ReplaySubject, merge, mergeAll, map, forkJoin } from 'rxjs';\nimport { LoadingState } from '@grafana/schema';\nimport { rangeUtil, preProcessPanelData, DataTopic, DataFrameView } from '@grafana/data';\nimport { getRunRequest, toDataQueryError } from '@grafana/runtime';\nimport { SceneObjectBase } from '../core/SceneObjectBase.js';\nimport { sceneGraph } from '../core/sceneGraph/index.js';\nimport { getDataSource } from '../utils/getDataSource.js';\nimport { VariableDependencyConfig } from '../variables/VariableDependencyConfig.js';\nimport { writeSceneLog } from '../utils/writeSceneLog.js';\nimport { VariableValueRecorder } from '../variables/VariableValueRecorder.js';\nimport { emptyPanelData } from '../core/SceneDataNode.js';\nimport { SceneTimeRangeCompare } from '../components/SceneTimeRangeCompare.js';\nimport { getClosest } from '../core/sceneGraph/utils.js';\nimport { timeShiftQueryResponseOperator } from './timeShiftQueryResponseOperator.js';\nimport { filterAnnotations } from './layers/annotations/filterAnnotations.js';\nimport { getEnrichedDataRequest } from './getEnrichedDataRequest.js';\nimport { findActiveAdHocFilterSetByUid } from '../variables/adhoc/patchGetAdhocFilters.js';\n\nvar __defProp = Object.defineProperty;\nvar __defProps = Object.defineProperties;\nvar __getOwnPropDescs = Object.getOwnPropertyDescriptors;\nvar __getOwnPropSymbols = Object.getOwnPropertySymbols;\nvar __hasOwnProp = Object.prototype.hasOwnProperty;\nvar __propIsEnum = Object.prototype.propertyIsEnumerable;\nvar __defNormalProp = (obj, key, value) => key in obj ? __defProp(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;\nvar __spreadValues = (a, b) => {\n for (var prop in b || (b = {}))\n if (__hasOwnProp.call(b, prop))\n __defNormalProp(a, prop, b[prop]);\n if (__getOwnPropSymbols)\n for (var prop of __getOwnPropSymbols(b)) {\n if (__propIsEnum.call(b, prop))\n __defNormalProp(a, prop, b[prop]);\n }\n return a;\n};\nvar __spreadProps = (a, b) => __defProps(a, __getOwnPropDescs(b));\nlet counter = 100;\nfunction getNextRequestId() {\n return \"SQR\" + counter++;\n}\nclass SceneQueryRunner extends SceneObjectBase {\n constructor(initialState) {\n super(initialState);\n this._variableValueRecorder = new VariableValueRecorder();\n this._results = new ReplaySubject();\n this._scopedVars = { __sceneObject: { value: this, text: \"__sceneObject\" } };\n this._variableDependency = new VariableDependencyConfig(this, {\n statePaths: [\"queries\", \"datasource\"],\n onVariableUpdatesCompleted: (variables, dependencyChanged) => this.onVariableUpdatesCompleted(variables, dependencyChanged)\n });\n this.prepareRequests = (timeRange, ds) => {\n const comparer = this.getTimeCompare();\n const { minInterval, queries } = this.state;\n let secondaryRequest;\n let request = __spreadValues({\n app: \"scenes\",\n requestId: getNextRequestId(),\n timezone: timeRange.getTimeZone(),\n panelId: 1,\n range: timeRange.state.value,\n interval: \"1s\",\n intervalMs: 1e3,\n targets: cloneDeep(queries),\n maxDataPoints: this.getMaxDataPoints(),\n scopedVars: this._scopedVars,\n startTime: Date.now(),\n liveStreaming: this.state.liveStreaming,\n rangeRaw: {\n from: timeRange.state.from,\n to: timeRange.state.to\n }\n }, getEnrichedDataRequest(this));\n if (this._adhocFilterSet) {\n request.filters = this._adhocFilterSet.state.filters;\n }\n request.targets = request.targets.map((query) => {\n if (!query.datasource) {\n query.datasource = ds.getRef();\n }\n return query;\n });\n const lowerIntervalLimit = minInterval ? minInterval : ds.interval;\n const norm = rangeUtil.calculateInterval(timeRange.state.value, request.maxDataPoints, lowerIntervalLimit);\n request.scopedVars = Object.assign({}, request.scopedVars, {\n __interval: { text: norm.interval, value: norm.interval },\n __interval_ms: { text: norm.intervalMs.toString(), value: norm.intervalMs }\n });\n request.interval = norm.interval;\n request.intervalMs = norm.intervalMs;\n const primaryTimeRange = timeRange.state.value;\n if (comparer) {\n const secondaryTimeRange = comparer.getCompareTimeRange(primaryTimeRange);\n if (secondaryTimeRange) {\n secondaryRequest = __spreadProps(__spreadValues({}, request), {\n range: secondaryTimeRange,\n requestId: getNextRequestId()\n });\n request = __spreadProps(__spreadValues({}, request), {\n range: primaryTimeRange\n });\n }\n }\n return [request, secondaryRequest];\n };\n this.onDataReceived = (data) => {\n this._results.next({ origin: this, data });\n const preProcessedData = preProcessPanelData(data, this.state.data);\n const dataWithLayersApplied = this._combineDataLayers(preProcessedData);\n let hasFetchedData = this.state._hasFetchedData;\n if (!hasFetchedData && preProcessedData.state !== LoadingState.Loading) {\n hasFetchedData = true;\n }\n this.setState({ data: dataWithLayersApplied, _hasFetchedData: hasFetchedData });\n };\n this.addActivationHandler(() => this._onActivate());\n }\n getResultsStream() {\n return this._results;\n }\n _onActivate() {\n const timeRange = sceneGraph.getTimeRange(this);\n const comparer = this.getTimeCompare();\n if (comparer) {\n this._subs.add(\n comparer.subscribeToState((n, p) => {\n if (n.compareWith !== p.compareWith) {\n this.runQueries();\n }\n })\n );\n }\n this._subs.add(\n timeRange.subscribeToState(() => {\n this.runWithTimeRange(timeRange);\n })\n );\n if (this.shouldRunQueriesOnActivate()) {\n this.runQueries();\n }\n return () => this._onDeactivate();\n }\n _handleDataLayers() {\n const dataLayers = sceneGraph.getDataLayers(this);\n const observables = [];\n const resultsMap = /* @__PURE__ */ new Map();\n if (dataLayers.length > 0) {\n dataLayers.forEach((layer) => {\n observables.push(layer.getResultsStream());\n });\n this._dataLayersSub = merge(observables).pipe(\n mergeAll(),\n map((v) => {\n resultsMap.set(v.origin.state.key, v.data);\n return resultsMap;\n })\n ).subscribe((result) => {\n this._onLayersReceived(result);\n });\n }\n }\n _onLayersReceived(results) {\n var _a;\n const timeRange = sceneGraph.getTimeRange(this);\n const dataLayers = sceneGraph.getDataLayers(this);\n const { dataLayerFilter } = this.state;\n let annotations = [];\n let alertStates = [];\n let alertState;\n const layerKeys = Array.from(results.keys());\n Array.from(results.values()).forEach((result, i) => {\n const layerKey = layerKeys[i];\n const layer = dataLayers.find((l) => l.state.key === layerKey);\n if (layer) {\n if (layer.topic === DataTopic.Annotations && result[DataTopic.Annotations]) {\n annotations = annotations.concat(result[DataTopic.Annotations]);\n }\n if (layer.topic === \"alertStates\") {\n alertStates = alertStates.concat(result.series);\n }\n }\n });\n if (dataLayerFilter == null ? void 0 : dataLayerFilter.panelId) {\n if (annotations.length > 0) {\n annotations = filterAnnotations(annotations, dataLayerFilter);\n }\n if (alertStates.length > 0) {\n for (const frame of alertStates) {\n const frameView = new DataFrameView(frame);\n for (const row of frameView) {\n if (row.panelId === dataLayerFilter.panelId) {\n alertState = row;\n break;\n }\n }\n }\n }\n }\n const baseStateUpdate = this.state.data ? this.state.data : __spreadProps(__spreadValues({}, emptyPanelData), { timeRange: timeRange.state.value });\n this.setState({\n data: __spreadProps(__spreadValues({}, baseStateUpdate), {\n annotations,\n alertState: alertState != null ? alertState : (_a = this.state.data) == null ? void 0 : _a.alertState\n })\n });\n }\n onVariableUpdatesCompleted(_variablesThatHaveChanged, dependencyChanged) {\n if (this.state._isWaitingForVariables) {\n this.runQueries();\n return;\n }\n if (dependencyChanged) {\n this.runQueries();\n }\n }\n shouldRunQueriesOnActivate() {\n if (!this.state.maxDataPoints && this.state.maxDataPointsFromWidth && !this._containerWidth) {\n return false;\n }\n if (this._variableValueRecorder.hasDependenciesChanged(this)) {\n writeSceneLog(\n \"SceneQueryRunner\",\n \"Variable dependency changed while inactive, shouldRunQueriesOnActivate returns true\"\n );\n return true;\n }\n if (!this.state.data) {\n return true;\n }\n if (this._isDataTimeRangeStale(this.state.data)) {\n return true;\n }\n return false;\n }\n _isDataTimeRangeStale(data) {\n const timeRange = sceneGraph.getTimeRange(this);\n const stateTimeRange = timeRange.state.value;\n const dataTimeRange = data.timeRange;\n if (stateTimeRange.from.unix() === dataTimeRange.from.unix() && stateTimeRange.to.unix() === dataTimeRange.to.unix()) {\n return false;\n }\n writeSceneLog(\"SceneQueryRunner\", \"Data time range is stale\");\n return true;\n }\n _onDeactivate() {\n if (this._querySub) {\n this._querySub.unsubscribe();\n this._querySub = void 0;\n }\n if (this._dataLayersSub) {\n this._dataLayersSub.unsubscribe();\n this._dataLayersSub = void 0;\n }\n if (this._adhocFilterSub) {\n this._adhocFilterSub.unsubscribe();\n }\n this._variableValueRecorder.recordCurrentDependencyValuesForSceneObject(this);\n }\n setContainerWidth(width) {\n if (!this._containerWidth && width > 0) {\n this._containerWidth = width;\n if (this.state.maxDataPointsFromWidth && !this.state.maxDataPoints) {\n setTimeout(() => {\n if (this.isActive && !this.state._hasFetchedData) {\n this.runQueries();\n }\n }, 0);\n }\n } else {\n if (width > 0) {\n this._containerWidth = width;\n }\n }\n }\n isDataReadyToDisplay() {\n return Boolean(this.state._hasFetchedData);\n }\n runQueries() {\n const timeRange = sceneGraph.getTimeRange(this);\n this.runWithTimeRange(timeRange);\n }\n getMaxDataPoints() {\n var _a;\n if (this.state.maxDataPoints) {\n return this.state.maxDataPoints;\n }\n return this.state.maxDataPointsFromWidth ? (_a = this._containerWidth) != null ? _a : 500 : 500;\n }\n cancelQuery() {\n var _a;\n (_a = this._querySub) == null ? void 0 : _a.unsubscribe();\n if (this._dataLayersSub) {\n this._dataLayersSub.unsubscribe();\n this._dataLayersSub = void 0;\n }\n this.setState({\n data: __spreadProps(__spreadValues({}, this.state.data), { state: LoadingState.Done })\n });\n }\n async runWithTimeRange(timeRange) {\n var _a, _b;\n if (!this._dataLayersSub) {\n this._handleDataLayers();\n }\n const runRequest = getRunRequest();\n (_a = this._querySub) == null ? void 0 : _a.unsubscribe();\n if (sceneGraph.hasVariableDependencyInLoadingState(this)) {\n writeSceneLog(\"SceneQueryRunner\", \"Variable dependency is in loading state, skipping query execution\");\n this.setState({ _isWaitingForVariables: true });\n return;\n }\n if (this.state._isWaitingForVariables) {\n this.setState({ _isWaitingForVariables: false });\n }\n const { queries } = this.state;\n if (!(queries == null ? void 0 : queries.length)) {\n this._setNoDataState();\n return;\n }\n try {\n const datasource = (_b = this.state.datasource) != null ? _b : findFirstDatasource(queries);\n const ds = await getDataSource(datasource, this._scopedVars);\n if (!this._adhocFilterSet) {\n this.findAndSubscribeToAdhocFilters(datasource == null ? void 0 : datasource.uid);\n }\n const [request, secondaryRequest] = this.prepareRequests(timeRange, ds);\n writeSceneLog(\"SceneQueryRunner\", \"Starting runRequest\", this.state.key);\n if (secondaryRequest) {\n this._querySub = forkJoin([runRequest(ds, request), runRequest(ds, secondaryRequest)]).pipe(timeShiftQueryResponseOperator).subscribe(this.onDataReceived);\n } else {\n this._querySub = runRequest(ds, request).subscribe(this.onDataReceived);\n }\n } catch (err) {\n console.error(\"PanelQueryRunner Error\", err);\n const result = __spreadProps(__spreadValues(__spreadValues({}, emptyPanelData), this.state.data), {\n state: LoadingState.Error,\n errors: [toDataQueryError(err)]\n });\n this.setState({\n data: result\n });\n }\n }\n _combineDataLayers(data) {\n if (this.state.data && this.state.data.annotations) {\n data.annotations = (data.annotations || []).concat(this.state.data.annotations);\n }\n if (this.state.data && this.state.data.alertState) {\n data.alertState = this.state.data.alertState;\n }\n return data;\n }\n _setNoDataState() {\n if (this.state.data !== emptyPanelData) {\n this.setState({ data: emptyPanelData });\n }\n }\n getTimeCompare() {\n if (!this.parent) {\n return null;\n }\n return getClosest(this.parent, (s) => {\n let found = null;\n if (s instanceof SceneTimeRangeCompare) {\n return s;\n }\n s.forEachChild((child) => {\n if (child instanceof SceneTimeRangeCompare) {\n found = child;\n }\n });\n return found;\n });\n }\n findAndSubscribeToAdhocFilters(uid) {\n var _a;\n const set = findActiveAdHocFilterSetByUid(uid);\n if (!set || set.state.applyMode !== \"same-datasource\") {\n return;\n }\n this._adhocFilterSet = set;\n this._adhocFilterSub = (_a = this._adhocFilterSet) == null ? void 0 : _a.subscribeToState(() => this.runQueries());\n }\n}\nfunction findFirstDatasource(targets) {\n var _a, _b;\n return (_b = (_a = targets.find((t) => t.datasource !== null)) == null ? void 0 : _a.datasource) != null ? _b : void 0;\n}\n\nexport { SceneQueryRunner, findFirstDatasource, getNextRequestId };\n//# sourceMappingURL=SceneQueryRunner.js.map\n","import { isDataRequestEnricher } from '../core/types.js';\n\nfunction getEnrichedDataRequest(sourceRunner) {\n const root = sourceRunner.getRoot();\n if (isDataRequestEnricher(root)) {\n return root.enrichDataRequest(sourceRunner);\n }\n return null;\n}\n\nexport { getEnrichedDataRequest };\n//# sourceMappingURL=getEnrichedDataRequest.js.map\n","const Components = {\n Breadcrumbs: {\n breadcrumb: (title) => `data-testid ${title} breadcrumb`\n },\n TimePicker: {\n openButton: \"data-testid TimePicker Open Button\",\n fromField: \"Time Range from field\",\n toField: \"Time Range to field\",\n applyTimeRange: \"data-testid TimePicker submit button\",\n calendar: {\n label: \"Time Range calendar\",\n openButton: \"Open time range calendar\",\n closeButton: \"Close time range Calendar\"\n },\n absoluteTimeRangeTitle: \"data-testid-absolute-time-range-narrow\"\n },\n DataSourcePermissions: {\n form: () => 'form[name=\"addPermission\"]',\n roleType: \"Role to add new permission to\",\n rolePicker: \"Built-in role picker\",\n permissionLevel: \"Permission Level\"\n },\n DataSource: {\n TestData: {\n QueryTab: {\n scenarioSelectContainer: \"Test Data Query scenario select container\",\n scenarioSelect: \"Test Data Query scenario select\",\n max: \"TestData max\",\n min: \"TestData min\",\n noise: \"TestData noise\",\n seriesCount: \"TestData series count\",\n spread: \"TestData spread\",\n startValue: \"TestData start value\",\n drop: \"TestData drop values\"\n }\n },\n DataSourceHttpSettings: {\n urlInput: \"Datasource HTTP settings url\"\n },\n Jaeger: {\n traceIDInput: \"Trace ID\"\n },\n Prometheus: {\n configPage: {\n exemplarsAddButton: \"Add exemplar config button\",\n internalLinkSwitch: \"Internal link switch\"\n },\n exemplarMarker: \"Exemplar marker\"\n }\n },\n Menu: {\n MenuComponent: (title) => `${title} menu`,\n MenuGroup: (title) => `${title} menu group`,\n MenuItem: (title) => `${title} menu item`,\n SubMenu: {\n container: \"SubMenu container\",\n icon: \"SubMenu icon\"\n }\n },\n Panels: {\n Panel: {\n title: (title) => `data-testid Panel header ${title}`,\n headerItems: (item) => `Panel header item ${item}`,\n menuItems: (item) => `data-testid Panel menu item ${item}`,\n menu: (title) => `data-testid Panel menu ${title}`,\n containerByTitle: (title) => `${title} panel`,\n headerCornerInfo: (mode) => `Panel header ${mode}`,\n loadingBar: () => `Panel loading bar`,\n HoverWidget: {\n container: \"data-test-id hover-header-container\",\n dragIcon: \"data-testid drag-icon\"\n }\n },\n Visualization: {\n Graph: {\n container: \"Graph container\",\n VisualizationTab: {\n legendSection: \"Legend section\"\n },\n Legend: {\n legendItemAlias: (name) => `gpl alias ${name}`,\n showLegendSwitch: \"gpl show legend\"\n },\n xAxis: {\n labels: () => \"div.flot-x-axis > div.flot-tick-label\"\n }\n },\n BarGauge: {\n /**\n * @deprecated use valueV2 from Grafana 8.3 instead\n */\n value: \"Bar gauge value\",\n valueV2: \"data-testid Bar gauge value\"\n },\n PieChart: {\n svgSlice: \"Pie Chart Slice\"\n },\n Text: {\n container: () => \".markdown-html\"\n },\n Table: {\n header: \"table header\",\n footer: \"table-footer\"\n }\n }\n },\n VizLegend: {\n seriesName: (name) => `VizLegend series ${name}`\n },\n Drawer: {\n General: {\n title: (title) => `Drawer title ${title}`,\n expand: \"Drawer expand\",\n contract: \"Drawer contract\",\n close: \"Drawer close\",\n rcContentWrapper: () => \".rc-drawer-content-wrapper\"\n }\n },\n PanelEditor: {\n General: {\n content: \"Panel editor content\"\n },\n OptionsPane: {\n content: \"Panel editor option pane content\",\n select: \"Panel editor option pane select\",\n fieldLabel: (type) => `${type} field property editor`\n },\n // not sure about the naming *DataPane*\n DataPane: {\n content: \"Panel editor data pane content\"\n },\n applyButton: \"data-testid Apply changes and go back to dashboard\",\n toggleVizPicker: \"data-testid toggle-viz-picker\",\n toggleVizOptions: \"data-testid toggle-viz-options\",\n toggleTableView: \"toggle-table-view\",\n // [Geomap] Map controls\n measureButton: \"show measure tools\"\n },\n PanelInspector: {\n Data: {\n content: \"Panel inspector Data content\"\n },\n Stats: {\n content: \"Panel inspector Stats content\"\n },\n Json: {\n content: \"Panel inspector Json content\"\n },\n Query: {\n content: \"Panel inspector Query content\",\n refreshButton: \"Panel inspector Query refresh button\",\n jsonObjectKeys: () => \".json-formatter-key\"\n }\n },\n Tab: {\n title: (title) => `Tab ${title}`,\n active: () => '[class*=\"-activeTabStyle\"]'\n },\n RefreshPicker: {\n /**\n * @deprecated use runButtonV2 from Grafana 8.3 instead\n */\n runButton: \"RefreshPicker run button\",\n /**\n * @deprecated use intervalButtonV2 from Grafana 8.3 instead\n */\n intervalButton: \"RefreshPicker interval button\",\n runButtonV2: \"data-testid RefreshPicker run button\",\n intervalButtonV2: \"data-testid RefreshPicker interval button\"\n },\n QueryTab: {\n content: \"Query editor tab content\",\n queryInspectorButton: \"Query inspector button\",\n queryHistoryButton: \"Rich history button\",\n addQuery: \"Query editor add query button\"\n },\n QueryHistory: {\n queryText: \"Query text\"\n },\n QueryEditorRows: {\n rows: \"Query editor row\"\n },\n QueryEditorRow: {\n actionButton: (title) => `${title}`,\n title: (refId) => `Query editor row title ${refId}`,\n container: (refId) => `Query editor row ${refId}`\n },\n AlertTab: {\n content: \"Alert editor tab content\"\n },\n Alert: {\n /**\n * @deprecated use alertV2 from Grafana 8.3 instead\n */\n alert: (severity) => `Alert ${severity}`,\n alertV2: (severity) => `data-testid Alert ${severity}`\n },\n TransformTab: {\n content: \"Transform editor tab content\",\n newTransform: (name) => `New transform ${name}`,\n transformationEditor: (name) => `Transformation editor ${name}`,\n transformationEditorDebugger: (name) => `Transformation editor debugger ${name}`\n },\n Transforms: {\n card: (name) => `New transform ${name}`,\n Reduce: {\n modeLabel: \"Transform mode label\",\n calculationsLabel: \"Transform calculations label\"\n },\n SpatialOperations: {\n actionLabel: \"root Action field property editor\",\n locationLabel: \"root Location field property editor\",\n location: {\n autoOption: \"Auto location option\",\n coords: {\n option: \"Coords location option\",\n latitudeFieldLabel: \"root Latitude field field property editor\",\n longitudeFieldLabel: \"root Longitude field field property editor\"\n },\n geohash: {\n option: \"Geohash location option\",\n geohashFieldLabel: \"root Geohash field field property editor\"\n },\n lookup: {\n option: \"Lookup location option\",\n lookupFieldLabel: \"root Lookup field field property editor\",\n gazetteerFieldLabel: \"root Gazetteer field property editor\"\n }\n }\n },\n searchInput: \"search transformations\"\n },\n NavBar: {\n Configuration: {\n button: \"Configuration\"\n },\n Toggle: {\n button: \"Toggle menu\"\n },\n Reporting: {\n button: \"Reporting\"\n }\n },\n NavMenu: {\n item: \"data-testid Nav menu item\"\n },\n NavToolbar: {\n container: \"data-testid Nav toolbar\"\n },\n PageToolbar: {\n container: () => \".page-toolbar\",\n item: (tooltip) => `${tooltip}`,\n itemButton: (title) => `data-testid ${title}`\n },\n QueryEditorToolbarItem: {\n button: (title) => `QueryEditor toolbar item button ${title}`\n },\n BackButton: {\n backArrow: \"Go Back\"\n },\n OptionsGroup: {\n group: (title) => title ? `Options group ${title}` : \"Options group\",\n toggle: (title) => title ? `Options group ${title} toggle` : \"Options group toggle\"\n },\n PluginVisualization: {\n item: (title) => `Plugin visualization item ${title}`,\n current: () => '[class*=\"-currentVisualizationItem\"]'\n },\n Select: {\n option: \"Select option\",\n input: () => 'input[id*=\"time-options-input\"]',\n singleValue: () => 'div[class*=\"-singleValue\"]'\n },\n FieldConfigEditor: {\n content: \"Field config editor content\"\n },\n OverridesConfigEditor: {\n content: \"Field overrides editor content\"\n },\n FolderPicker: {\n /**\n * @deprecated use containerV2 from Grafana 8.3 instead\n */\n container: \"Folder picker select container\",\n containerV2: \"data-testid Folder picker select container\",\n input: \"Select a folder\"\n },\n ReadonlyFolderPicker: {\n container: \"data-testid Readonly folder picker select container\"\n },\n DataSourcePicker: {\n container: \"data-testid Data source picker select container\",\n /**\n * @deprecated use inputV2 instead\n */\n input: () => 'input[id=\"data-source-picker\"]',\n inputV2: \"Select a data source\"\n },\n TimeZonePicker: {\n /**\n * @deprecated use TimeZonePicker.containerV2 from Grafana 8.3 instead\n */\n container: \"Time zone picker select container\",\n containerV2: \"data-testid Time zone picker select container\"\n },\n WeekStartPicker: {\n /**\n * @deprecated use WeekStartPicker.containerV2 from Grafana 8.3 instead\n */\n container: \"Choose starting day of the week\",\n containerV2: \"data-testid Choose starting day of the week\",\n placeholder: \"Choose starting day of the week\"\n },\n TraceViewer: {\n spanBar: \"data-testid SpanBar--wrapper\"\n },\n QueryField: { container: \"Query field\" },\n QueryBuilder: {\n queryPatterns: \"Query patterns\",\n labelSelect: \"Select label\",\n valueSelect: \"Select value\",\n matchOperatorSelect: \"Select match operator\"\n },\n ValuePicker: {\n button: (name) => `Value picker button ${name}`,\n select: (name) => `Value picker select ${name}`\n },\n Search: {\n /**\n * @deprecated use sectionV2 from Grafana 8.3 instead\n */\n section: \"Search section\",\n sectionV2: \"data-testid Search section\",\n /**\n * @deprecated use itemsV2 from Grafana 8.3 instead\n */\n items: \"Search items\",\n itemsV2: \"data-testid Search items\",\n cards: \"data-testid Search cards\",\n collapseFolder: (sectionId) => `data-testid Collapse folder ${sectionId}`,\n expandFolder: (sectionId) => `data-testid Expand folder ${sectionId}`,\n dashboardItem: (item) => `${Components.Search.dashboardItems} ${item}`,\n dashboardCard: (item) => `data-testid Search card ${item}`,\n folderHeader: (folderName) => `data-testid Folder header ${folderName}`,\n folderContent: (folderName) => `data-testid Folder content ${folderName}`,\n dashboardItems: \"data-testid Dashboard search item\"\n },\n DashboardLinks: {\n container: \"data-testid Dashboard link container\",\n dropDown: \"data-testid Dashboard link dropdown\",\n link: \"data-testid Dashboard link\"\n },\n LoadingIndicator: {\n icon: \"Loading indicator\"\n },\n CallToActionCard: {\n /**\n * @deprecated use buttonV2 from Grafana 8.3 instead\n */\n button: (name) => `Call to action button ${name}`,\n buttonV2: (name) => `data-testid Call to action button ${name}`\n },\n DataLinksContextMenu: {\n singleLink: \"Data link\"\n },\n CodeEditor: {\n container: \"Code editor container\"\n },\n DashboardImportPage: {\n textarea: \"data-testid-import-dashboard-textarea\",\n submit: \"data-testid-load-dashboard\"\n },\n ImportDashboardForm: {\n name: \"data-testid-import-dashboard-title\",\n submit: \"data-testid-import-dashboard-submit\"\n },\n PanelAlertTabContent: {\n content: \"Unified alert editor tab content\"\n },\n VisualizationPreview: {\n card: (name) => `data-testid suggestion-${name}`\n },\n ColorSwatch: {\n name: `data-testid-colorswatch`\n },\n DashboardRow: {\n title: (title) => `data-testid dashboard-row-title-${title}`\n },\n UserProfile: {\n profileSaveButton: \"data-testid-user-profile-save\",\n preferencesSaveButton: \"data-testid-shared-prefs-save\",\n orgsTable: \"data-testid-user-orgs-table\",\n sessionsTable: \"data-testid-user-sessions-table\"\n },\n FileUpload: {\n inputField: \"data-testid-file-upload-input-field\",\n fileNameSpan: \"data-testid-file-upload-file-name\"\n },\n DebugOverlay: {\n wrapper: \"debug-overlay\"\n },\n OrgRolePicker: {\n input: \"Role\"\n },\n AnalyticsToolbarButton: {\n button: \"Dashboard insights\"\n },\n Variables: {\n variableOption: \"data-testid variable-option\"\n },\n Annotations: {\n annotationsTypeInput: \"annotations-type-input\",\n annotationsChoosePanelInput: \"choose-panels-input\"\n }\n};\n\nexport { Components };\n//# sourceMappingURL=components.js.map\n","import { Components } from './components.js';\nexport { Components } from './components.js';\nimport { Pages } from './pages.js';\nexport { Pages } from './pages.js';\n\nconst selectors = {\n pages: Pages,\n components: Components\n};\n\nexport { selectors };\n//# sourceMappingURL=index.js.map\n","import { Components } from './components.js';\n\nconst Pages = {\n Login: {\n url: \"/login\",\n username: \"Username input field\",\n password: \"Password input field\",\n submit: \"Login button\",\n skip: \"Skip change password button\"\n },\n Home: {\n url: \"/\"\n },\n DataSource: {\n name: \"Data source settings page name input field\",\n delete: \"Data source settings page Delete button\",\n readOnly: \"Data source settings page read only message\",\n saveAndTest: \"data-testid Data source settings page Save and Test button\",\n alert: \"Data source settings page Alert\"\n },\n DataSources: {\n url: \"/datasources\",\n dataSources: (dataSourceName) => `Data source list item ${dataSourceName}`\n },\n EditDataSource: {\n url: (dataSourceUid) => `/datasources/edit/${dataSourceUid}`,\n settings: \"Datasource settings page basic settings\"\n },\n AddDataSource: {\n url: \"/datasources/new\",\n /** @deprecated Use dataSourcePluginsV2 */\n dataSourcePlugins: (pluginName) => `Data source plugin item ${pluginName}`,\n dataSourcePluginsV2: (pluginName) => `Add new data source ${pluginName}`\n },\n ConfirmModal: {\n delete: \"data-testid Confirm Modal Danger Button\"\n },\n AddDashboard: {\n url: \"/dashboard/new\",\n itemButton: (title) => `data-testid ${title}`,\n addNewPanel: \"Add new panel\",\n addNewRow: \"Add new row\",\n addNewPanelLibrary: \"Add new panel from panel library\"\n },\n Dashboard: {\n url: (uid) => `/d/${uid}`,\n DashNav: {\n /**\n * @deprecated use navV2 from Grafana 8.3 instead\n */\n nav: \"Dashboard navigation\",\n navV2: \"data-testid Dashboard navigation\",\n publicDashboardTag: \"data-testid public dashboard tag\"\n },\n SubMenu: {\n submenu: \"Dashboard submenu\",\n submenuItem: \"data-testid template variable\",\n submenuItemLabels: (item) => `data-testid Dashboard template variables submenu Label ${item}`,\n submenuItemValueDropDownValueLinkTexts: (item) => `data-testid Dashboard template variables Variable Value DropDown value link text ${item}`,\n submenuItemValueDropDownDropDown: \"Variable options\",\n submenuItemValueDropDownOptionTexts: (item) => `data-testid Dashboard template variables Variable Value DropDown option text ${item}`,\n Annotations: {\n annotationsWrapper: \"data-testid annotation-wrapper\",\n annotationLabel: (label) => `data-testid Dashboard annotations submenu Label ${label}`,\n annotationToggle: (label) => `data-testid Dashboard annotations submenu Toggle ${label}`\n }\n },\n Settings: {\n Actions: {\n close: \"data-testid dashboard-settings-close\"\n },\n General: {\n deleteDashBoard: \"Dashboard settings page delete dashboard button\",\n sectionItems: (item) => `Dashboard settings section item ${item}`,\n saveDashBoard: \"Dashboard settings aside actions Save button\",\n saveAsDashBoard: \"Dashboard settings aside actions Save As button\",\n /**\n * @deprecated use components.TimeZonePicker.containerV2 from Grafana 8.3 instead\n */\n timezone: \"Time zone picker select container\",\n title: \"Tab General\"\n },\n Annotations: {\n List: {\n /**\n * @deprecated use addAnnotationCTAV2 from Grafana 8.3 instead\n */\n addAnnotationCTA: Components.CallToActionCard.button(\"Add annotation query\"),\n addAnnotationCTAV2: Components.CallToActionCard.buttonV2(\"Add annotation query\")\n },\n Settings: {\n name: \"Annotations settings name input\"\n },\n NewAnnotation: {\n panelFilterSelect: \"data-testid annotations-panel-filter\",\n showInLabel: \"show-in-label\",\n previewInDashboard: \"data-testid annotations-preview\"\n }\n },\n Variables: {\n List: {\n /**\n * @deprecated use addVariableCTAV2 from Grafana 8.3 instead\n */\n addVariableCTA: Components.CallToActionCard.button(\"Add variable\"),\n addVariableCTAV2: Components.CallToActionCard.buttonV2(\"Add variable\"),\n newButton: \"Variable editor New variable button\",\n table: \"Variable editor Table\",\n tableRowNameFields: (variableName) => `Variable editor Table Name field ${variableName}`,\n tableRowDefinitionFields: (variableName) => `Variable editor Table Definition field ${variableName}`,\n tableRowArrowUpButtons: (variableName) => `Variable editor Table ArrowUp button ${variableName}`,\n tableRowArrowDownButtons: (variableName) => `Variable editor Table ArrowDown button ${variableName}`,\n tableRowDuplicateButtons: (variableName) => `Variable editor Table Duplicate button ${variableName}`,\n tableRowRemoveButtons: (variableName) => `Variable editor Table Remove button ${variableName}`\n },\n Edit: {\n General: {\n headerLink: \"Variable editor Header link\",\n modeLabelNew: \"Variable editor Header mode New\",\n /**\n * @deprecated\n */\n modeLabelEdit: \"Variable editor Header mode Edit\",\n generalNameInput: \"Variable editor Form Name field\",\n generalNameInputV2: \"data-testid Variable editor Form Name field\",\n generalTypeSelect: \"Variable editor Form Type select\",\n generalTypeSelectV2: \"data-testid Variable editor Form Type select\",\n generalLabelInput: \"Variable editor Form Label field\",\n generalLabelInputV2: \"data-testid Variable editor Form Label field\",\n generalHideSelect: \"Variable editor Form Hide select\",\n generalHideSelectV2: \"data-testid Variable editor Form Hide select\",\n selectionOptionsMultiSwitch: \"Variable editor Form Multi switch\",\n selectionOptionsIncludeAllSwitch: \"Variable editor Form IncludeAll switch\",\n selectionOptionsCustomAllInput: \"Variable editor Form IncludeAll field\",\n selectionOptionsCustomAllInputV2: \"data-testid Variable editor Form IncludeAll field\",\n previewOfValuesOption: \"Variable editor Preview of Values option\",\n submitButton: \"Variable editor Submit button\",\n applyButton: \"data-testid Variable editor Apply button\"\n },\n QueryVariable: {\n queryOptionsDataSourceSelect: Components.DataSourcePicker.container,\n queryOptionsRefreshSelect: \"Variable editor Form Query Refresh select\",\n queryOptionsRefreshSelectV2: \"data-testid Variable editor Form Query Refresh select\",\n queryOptionsRegExInput: \"Variable editor Form Query RegEx field\",\n queryOptionsRegExInputV2: \"data-testid Variable editor Form Query RegEx field\",\n queryOptionsSortSelect: \"Variable editor Form Query Sort select\",\n queryOptionsSortSelectV2: \"data-testid Variable editor Form Query Sort select\",\n queryOptionsQueryInput: \"Variable editor Form Default Variable Query Editor textarea\",\n valueGroupsTagsEnabledSwitch: \"Variable editor Form Query UseTags switch\",\n valueGroupsTagsTagsQueryInput: \"Variable editor Form Query TagsQuery field\",\n valueGroupsTagsTagsValuesQueryInput: \"Variable editor Form Query TagsValuesQuery field\"\n },\n ConstantVariable: {\n constantOptionsQueryInput: \"Variable editor Form Constant Query field\",\n constantOptionsQueryInputV2: \"data-testid Variable editor Form Constant Query field\"\n },\n DatasourceVariable: {\n datasourceSelect: \"data-testid datasource variable datasource type\"\n },\n TextBoxVariable: {\n textBoxOptionsQueryInput: \"Variable editor Form TextBox Query field\",\n textBoxOptionsQueryInputV2: \"data-testid Variable editor Form TextBox Query field\"\n },\n CustomVariable: {\n customValueInput: \"data-testid custom-variable-input\"\n },\n IntervalVariable: {\n intervalsValueInput: \"data-testid interval variable intervals input\"\n }\n }\n }\n },\n Annotations: {\n marker: \"data-testid annotation-marker\"\n }\n },\n Dashboards: {\n url: \"/dashboards\",\n /**\n * @deprecated use components.Search.dashboardItem from Grafana 8.3 instead\n */\n dashboards: (title) => `Dashboard search item ${title}`\n },\n SaveDashboardAsModal: {\n newName: \"Save dashboard title field\",\n save: \"Save dashboard button\"\n },\n SaveDashboardModal: {\n save: \"Dashboard settings Save Dashboard Modal Save button\",\n saveVariables: \"Dashboard settings Save Dashboard Modal Save variables checkbox\",\n saveTimerange: \"Dashboard settings Save Dashboard Modal Save timerange checkbox\"\n },\n SharePanelModal: {\n linkToRenderedImage: \"Link to rendered image\"\n },\n ShareDashboardModal: {\n shareButton: \"Share dashboard or panel\",\n PublicDashboard: {\n Tab: \"Tab Public dashboard\",\n WillBePublicCheckbox: \"data-testid public dashboard will be public checkbox\",\n LimitedDSCheckbox: \"data-testid public dashboard limited datasources checkbox\",\n CostIncreaseCheckbox: \"data-testid public dashboard cost may increase checkbox\",\n PauseSwitch: \"data-testid public dashboard pause switch\",\n EnableAnnotationsSwitch: \"data-testid public dashboard on off switch for annotations\",\n CreateButton: \"data-testid public dashboard create button\",\n DeleteButton: \"data-testid public dashboard delete button\",\n CopyUrlInput: \"data-testid public dashboard copy url input\",\n CopyUrlButton: \"data-testid public dashboard copy url button\",\n TemplateVariablesWarningAlert: \"data-testid public dashboard disabled template variables alert\",\n UnsupportedDataSourcesWarningAlert: \"data-testid public dashboard unsupported data sources alert\",\n NoUpsertPermissionsWarningAlert: \"data-testid public dashboard no upsert permissions alert\",\n EnableTimeRangeSwitch: \"data-testid public dashboard on off switch for time range\",\n EmailSharingConfiguration: {\n Container: \"data-testid email sharing config container\",\n ShareType: \"data-testid public dashboard share type\",\n EmailSharingInput: \"data-testid public dashboard email sharing input\",\n EmailSharingInviteButton: \"data-testid public dashboard email sharing invite button\",\n EmailSharingList: \"data-testid public dashboard email sharing list\",\n DeleteEmail: \"data-testid public dashboard delete email button\",\n ReshareLink: \"data-testid public dashboard reshare link button\"\n }\n }\n },\n PublicDashboard: {\n page: \"public-dashboard-page\",\n NotAvailable: {\n container: \"public-dashboard-not-available\",\n title: \"public-dashboard-title\",\n pausedDescription: \"public-dashboard-paused-description\"\n }\n },\n RequestViewAccess: {\n form: \"request-view-access-form\",\n recipientInput: \"request-view-access-recipient-input\",\n submitButton: \"request-view-access-submit-button\"\n },\n Explore: {\n url: \"/explore\",\n General: {\n container: \"data-testid Explore\",\n graph: \"Explore Graph\",\n table: \"Explore Table\",\n scrollView: \"data-testid explorer scroll view\"\n }\n },\n SoloPanel: {\n url: (page) => `/d-solo/${page}`\n },\n PluginsList: {\n page: \"Plugins list page\",\n list: \"Plugins list\",\n listItem: \"Plugins list item\",\n signatureErrorNotice: \"Unsigned plugins notice\"\n },\n PluginPage: {\n page: \"Plugin page\",\n signatureInfo: \"Plugin signature info\",\n disabledInfo: \"Plugin disabled info\"\n },\n PlaylistForm: {\n name: \"Playlist name\",\n interval: \"Playlist interval\",\n itemDelete: \"Delete playlist item\"\n },\n BrowseDashbards: {\n table: {\n row: (uid) => `data-testid ${uid} row`,\n checkbox: (uid) => `data-testid ${uid} checkbox`\n }\n },\n Search: {\n url: \"/?search=openn\",\n FolderView: {\n url: \"/?search=open&layout=folders\"\n }\n },\n PublicDashboards: {\n ListItem: {\n linkButton: \"public-dashboard-link-button\",\n configButton: \"public-dashboard-configuration-button\",\n trashcanButton: \"public-dashboard-remove-button\"\n }\n },\n UserListPage: {\n tabs: {\n allUsers: \"data-testid all-users-tab\",\n orgUsers: \"data-testid org-users-tab\",\n publicDashboardsUsers: \"data-testid public-dashboards-users-tab\",\n users: \"data-testid users-tab\"\n },\n org: {\n url: \"/org/users\"\n },\n admin: {\n url: \"/admin/users\"\n },\n publicDashboards: {\n container: \"data-testid public-dashboards-users-list\"\n },\n UserListAdminPage: {\n container: \"data-testid user-list-admin-page\"\n },\n UsersListPage: {\n container: \"data-testid users-list-page\"\n },\n UsersListPublicDashboardsPage: {\n container: \"data-testid users-list-public-dashboards-page\",\n DashboardsListModal: {\n listItem: (uid) => `data-testid dashboards-list-item-${uid}`\n }\n }\n }\n};\n\nexport { Pages };\n//# sourceMappingURL=pages.js.map\n","import { selectors } from '@grafana/e2e-selectors';\nimport { Tooltip, Icon } from '@grafana/ui';\nimport React from 'react';\n\nfunction LoadingIndicator(props) {\n return /* @__PURE__ */ React.createElement(Tooltip, {\n content: \"Cancel query\"\n }, /* @__PURE__ */ React.createElement(Icon, {\n className: \"spin-clockwise\",\n name: \"sync\",\n size: \"xs\",\n \"aria-label\": selectors.components.LoadingIndicator.icon,\n role: \"button\",\n onMouseDown: (e) => {\n props.onCancel(e);\n }\n }));\n}\n\nexport { LoadingIndicator };\n//# sourceMappingURL=LoadingIndicator.js.map\n","import React from 'react';\nimport { useStyles2, useTheme2, Tooltip, Icon, IconButton } from '@grafana/ui';\nimport { selectors } from '@grafana/e2e-selectors';\nimport { css } from '@emotion/css';\nimport { LoadingIndicator } from './LoadingIndicator.js';\n\nfunction ControlsLabel(props) {\n const styles = useStyles2(getStyles);\n const theme = useTheme2();\n const isVertical = props.layout === \"vertical\";\n const loadingIndicator = Boolean(props.isLoading) ? /* @__PURE__ */ React.createElement(\"div\", {\n style: { marginLeft: theme.spacing(1), marginTop: \"-1px\" }\n }, /* @__PURE__ */ React.createElement(LoadingIndicator, {\n onCancel: (e) => {\n var _a;\n e.preventDefault();\n e.stopPropagation();\n (_a = props.onCancel) == null ? void 0 : _a.call(props);\n }\n })) : null;\n let errorIndicator = null;\n if (props.error) {\n errorIndicator = /* @__PURE__ */ React.createElement(Tooltip, {\n content: props.error,\n placement: \"bottom\"\n }, /* @__PURE__ */ React.createElement(Icon, {\n className: styles.errorIcon,\n name: \"exclamation-triangle\"\n }));\n }\n const testId = typeof props.label === \"string\" ? selectors.pages.Dashboard.SubMenu.submenuItemLabels(props.label) : \"\";\n let labelElement;\n if (isVertical) {\n labelElement = /* @__PURE__ */ React.createElement(\"label\", {\n className: styles.verticalLabel,\n \"data-testid\": testId,\n htmlFor: props.htmlFor\n }, props.label, errorIndicator, props.icon && /* @__PURE__ */ React.createElement(Icon, {\n name: props.icon,\n className: styles.normalIcon\n }), loadingIndicator, props.onRemove && /* @__PURE__ */ React.createElement(IconButton, {\n variant: \"secondary\",\n size: \"xs\",\n name: \"times\",\n onClick: props.onRemove,\n tooltip: \"Remove\"\n }));\n } else {\n labelElement = /* @__PURE__ */ React.createElement(\"label\", {\n className: styles.horizontalLabel,\n \"data-testid\": testId,\n htmlFor: props.htmlFor\n }, errorIndicator, props.icon && /* @__PURE__ */ React.createElement(Icon, {\n name: props.icon,\n className: styles.normalIcon\n }), props.label, loadingIndicator);\n }\n if (props.description) {\n return /* @__PURE__ */ React.createElement(Tooltip, {\n content: props.description,\n placement: isVertical ? \"top\" : \"bottom\"\n }, labelElement);\n }\n return labelElement;\n}\nconst getStyles = (theme) => ({\n horizontalLabel: css({\n background: theme.isDark ? theme.colors.background.primary : theme.colors.background.secondary,\n display: `flex`,\n alignItems: \"center\",\n padding: theme.spacing(0, 1),\n fontWeight: theme.typography.fontWeightMedium,\n fontSize: theme.typography.bodySmall.fontSize,\n height: theme.spacing(theme.components.height.md),\n lineHeight: theme.spacing(theme.components.height.md),\n borderRadius: theme.shape.borderRadius(1),\n border: `1px solid ${theme.components.input.borderColor}`,\n position: \"relative\",\n right: -1,\n whiteSpace: \"nowrap\",\n gap: theme.spacing(0.5)\n }),\n verticalLabel: css({\n display: `flex`,\n alignItems: \"center\",\n fontWeight: theme.typography.fontWeightMedium,\n fontSize: theme.typography.bodySmall.fontSize,\n lineHeight: theme.typography.bodySmall.lineHeight,\n whiteSpace: \"nowrap\",\n marginBottom: theme.spacing(0.5),\n gap: theme.spacing(1)\n }),\n errorIcon: css({\n color: theme.colors.error.text\n }),\n normalIcon: css({\n color: theme.colors.text.secondary\n })\n});\n\nexport { ControlsLabel };\n//# sourceMappingURL=ControlsLabel.js.map\n","import { css } from '@emotion/css';\nimport { LoadingState } from '@grafana/schema';\nimport { InlineSwitch } from '@grafana/ui';\nimport React from 'react';\nimport { sceneGraph } from '../../core/sceneGraph/index.js';\nimport { SceneObjectBase } from '../../core/SceneObjectBase.js';\nimport { ControlsLabel } from '../../utils/ControlsLabel.js';\n\nvar __defProp = Object.defineProperty;\nvar __defProps = Object.defineProperties;\nvar __getOwnPropDescs = Object.getOwnPropertyDescriptors;\nvar __getOwnPropSymbols = Object.getOwnPropertySymbols;\nvar __hasOwnProp = Object.prototype.hasOwnProperty;\nvar __propIsEnum = Object.prototype.propertyIsEnumerable;\nvar __defNormalProp = (obj, key, value) => key in obj ? __defProp(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;\nvar __spreadValues = (a, b) => {\n for (var prop in b || (b = {}))\n if (__hasOwnProp.call(b, prop))\n __defNormalProp(a, prop, b[prop]);\n if (__getOwnPropSymbols)\n for (var prop of __getOwnPropSymbols(b)) {\n if (__propIsEnum.call(b, prop))\n __defNormalProp(a, prop, b[prop]);\n }\n return a;\n};\nvar __spreadProps = (a, b) => __defProps(a, __getOwnPropDescs(b));\nclass SceneDataLayerControls extends SceneObjectBase {\n constructor() {\n super({ layersMap: {} });\n this.addActivationHandler(() => this._onActivate());\n }\n _onActivate() {\n const layers = sceneGraph.getDataLayers(this, true);\n this.setState({ layersMap: layers.reduce((acc, l) => __spreadProps(__spreadValues({}, acc), { [l.state.key]: l.state.isEnabled }), {}) });\n }\n toggleLayer(l) {\n this.setState({ layersMap: __spreadProps(__spreadValues({}, this.state.layersMap), { [l.state.key]: !l.state.isEnabled }) });\n l.setState({ isEnabled: !l.state.isEnabled });\n }\n}\nSceneDataLayerControls.Component = SceneDataLayerControlsRenderer;\nfunction SceneDataLayerControlsRenderer({ model }) {\n const { layersMap } = model.useState();\n const layers = sceneGraph.getDataLayers(model, true);\n if (layers.length === 0) {\n return null;\n }\n return /* @__PURE__ */ React.createElement(React.Fragment, null, layers.map((l) => {\n const elementId = `data-layer-${l.state.key}`;\n if (l.state.isHidden) {\n return null;\n }\n return /* @__PURE__ */ React.createElement(SceneDataLayerControl, {\n key: elementId,\n layer: l,\n onToggleLayer: () => model.toggleLayer(l),\n isEnabled: layersMap[l.state.key]\n });\n }));\n}\nfunction SceneDataLayerControl({ layer, isEnabled, onToggleLayer }) {\n var _a, _b;\n const elementId = `data-layer-${layer.state.key}`;\n const { data } = layer.useState();\n const showLoading = Boolean(data && data.state === LoadingState.Loading);\n return /* @__PURE__ */ React.createElement(\"div\", {\n className: containerStyle\n }, /* @__PURE__ */ React.createElement(ControlsLabel, {\n htmlFor: elementId,\n isLoading: showLoading,\n onCancel: () => {\n var _a2;\n return (_a2 = layer.cancelQuery) == null ? void 0 : _a2.call(layer);\n },\n label: layer.state.name,\n description: layer.state.description,\n error: (_b = (_a = layer.state.data) == null ? void 0 : _a.errors) == null ? void 0 : _b[0].message\n }), /* @__PURE__ */ React.createElement(InlineSwitch, {\n id: elementId,\n value: isEnabled,\n onChange: onToggleLayer\n }));\n}\nconst containerStyle = css({ display: \"flex\" });\n\nexport { SceneDataLayerControl, SceneDataLayerControls };\n//# sourceMappingURL=SceneDataLayerControls.js.map\n","import { transformDataFrame, LoadingState } from '@grafana/data';\nimport { toDataQueryError } from '@grafana/runtime';\nimport { ReplaySubject, map, catchError, of } from 'rxjs';\nimport { sceneGraph } from '../core/sceneGraph/index.js';\nimport { SceneObjectBase } from '../core/SceneObjectBase.js';\nimport { VariableDependencyConfig } from '../variables/VariableDependencyConfig.js';\nimport { SceneDataLayers } from './SceneDataLayers.js';\n\nvar __defProp = Object.defineProperty;\nvar __defProps = Object.defineProperties;\nvar __getOwnPropDescs = Object.getOwnPropertyDescriptors;\nvar __getOwnPropSymbols = Object.getOwnPropertySymbols;\nvar __hasOwnProp = Object.prototype.hasOwnProperty;\nvar __propIsEnum = Object.prototype.propertyIsEnumerable;\nvar __defNormalProp = (obj, key, value) => key in obj ? __defProp(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;\nvar __spreadValues = (a, b) => {\n for (var prop in b || (b = {}))\n if (__hasOwnProp.call(b, prop))\n __defNormalProp(a, prop, b[prop]);\n if (__getOwnPropSymbols)\n for (var prop of __getOwnPropSymbols(b)) {\n if (__propIsEnum.call(b, prop))\n __defNormalProp(a, prop, b[prop]);\n }\n return a;\n};\nvar __spreadProps = (a, b) => __defProps(a, __getOwnPropDescs(b));\nclass SceneDataTransformer extends SceneObjectBase {\n constructor(state) {\n super(state);\n this._results = new ReplaySubject();\n this._variableDependency = new VariableDependencyConfig(\n this,\n {\n statePaths: [\"transformations\"],\n onReferencedVariableValueChanged: () => this.reprocessTransformations()\n }\n );\n this.addActivationHandler(() => this.activationHandler());\n }\n activationHandler() {\n const sourceData = this.getSourceData();\n this._subs.add(sourceData.subscribeToState((state) => this.transform(state.data)));\n if (sourceData.state.data) {\n this.transform(sourceData.state.data);\n }\n return () => {\n if (this._transformSub) {\n this._transformSub.unsubscribe();\n }\n };\n }\n getSourceData() {\n if (this.state.$data) {\n if (this.state.$data instanceof SceneDataLayers) {\n throw new Error(\"SceneDataLayers can not be used as data provider for SceneDataTransformer.\");\n }\n return this.state.$data;\n }\n if (!this.parent || !this.parent.parent) {\n throw new Error(\"SceneDataTransformer must either have $data set on it or have a parent.parent with $data\");\n }\n return sceneGraph.getData(this.parent.parent);\n }\n setContainerWidth(width) {\n if (this.state.$data && this.state.$data.setContainerWidth) {\n this.state.$data.setContainerWidth(width);\n }\n }\n isDataReadyToDisplay() {\n const dataObject = this.getSourceData();\n if (dataObject.isDataReadyToDisplay) {\n return dataObject.isDataReadyToDisplay();\n }\n return true;\n }\n reprocessTransformations() {\n this.transform(this.getSourceData().state.data);\n }\n cancelQuery() {\n var _a, _b;\n (_b = (_a = this.getSourceData()).cancelQuery) == null ? void 0 : _b.call(_a);\n }\n getResultsStream() {\n return this._results;\n }\n transform(data) {\n const transformations = this.state.transformations || [];\n if (transformations.length === 0 || !data) {\n this.setState({ data });\n return;\n }\n if (this._transformSub) {\n this._transformSub.unsubscribe();\n }\n const ctx = {\n interpolate: (value) => {\n var _a;\n return sceneGraph.interpolate(this, value, (_a = data.request) == null ? void 0 : _a.scopedVars);\n }\n };\n this._transformSub = transformDataFrame(transformations, data.series, ctx).pipe(\n map((series) => __spreadProps(__spreadValues({}, data), { series })),\n catchError((err) => {\n var _a;\n console.error(\"Error transforming data: \", err);\n const sourceErr = ((_a = this.getSourceData().state.data) == null ? void 0 : _a.errors) || [];\n const transformationError = toDataQueryError(err);\n transformationError.message = `Error transforming data: ${transformationError.message}`;\n const result = __spreadProps(__spreadValues({}, data), {\n state: LoadingState.Error,\n errors: [...sourceErr, transformationError]\n });\n return of(result);\n })\n ).subscribe((data2) => {\n this._results.next({ origin: this, data: data2 });\n this.setState({ data: data2 });\n });\n }\n}\n\nexport { SceneDataTransformer };\n//# sourceMappingURL=SceneDataTransformer.js.map\n","import React from 'react';\nimport { VariableHide } from '@grafana/data';\nimport { SceneObjectBase } from '../../core/SceneObjectBase.js';\nimport { sceneGraph } from '../../core/sceneGraph/index.js';\nimport { ControlsLabel } from '../../utils/ControlsLabel.js';\nimport { css } from '@emotion/css';\n\nclass VariableValueSelectors extends SceneObjectBase {\n}\nVariableValueSelectors.Component = VariableValueSelectorsRenderer;\nfunction VariableValueSelectorsRenderer({ model }) {\n const variables = sceneGraph.getVariables(model).useState();\n return /* @__PURE__ */ React.createElement(React.Fragment, null, variables.variables.map((variable) => /* @__PURE__ */ React.createElement(VariableValueSelectWrapper, {\n key: variable.state.key,\n variable,\n layout: model.state.layout\n })));\n}\nfunction VariableValueSelectWrapper({ variable, layout }) {\n const state = variable.useState();\n if (state.hide === VariableHide.hideVariable) {\n return null;\n }\n if (layout === \"vertical\") {\n return /* @__PURE__ */ React.createElement(\"div\", {\n className: verticalContainer\n }, /* @__PURE__ */ React.createElement(VariableLabel, {\n variable,\n layout\n }), /* @__PURE__ */ React.createElement(variable.Component, {\n model: variable\n }));\n }\n return /* @__PURE__ */ React.createElement(\"div\", {\n className: containerStyle\n }, /* @__PURE__ */ React.createElement(VariableLabel, {\n variable\n }), /* @__PURE__ */ React.createElement(variable.Component, {\n model: variable\n }));\n}\nfunction VariableLabel({ variable, layout }) {\n var _a, _b;\n const { state } = variable;\n if (variable.state.hide === VariableHide.hideLabel) {\n return null;\n }\n const elementId = `var-${state.key}`;\n const labelOrName = (_a = state.label) != null ? _a : state.name;\n return /* @__PURE__ */ React.createElement(ControlsLabel, {\n htmlFor: elementId,\n isLoading: state.loading,\n onCancel: () => {\n var _a2;\n return (_a2 = variable.onCancel) == null ? void 0 : _a2.call(variable);\n },\n label: labelOrName,\n error: state.error,\n layout,\n description: (_b = state.description) != null ? _b : void 0\n });\n}\nconst containerStyle = css({ display: \"flex\" });\nconst verticalContainer = css({ display: \"flex\", flexDirection: \"column\" });\n\nexport { VariableValueSelectors };\n//# sourceMappingURL=VariableValueSelectors.js.map\n","import { VariableRefresh } from '@grafana/data';\nimport { sceneGraph } from '../../core/sceneGraph/index.js';\nimport { SceneObjectBase } from '../../core/SceneObjectBase.js';\nimport { writeSceneLog } from '../../utils/writeSceneLog.js';\nimport { SceneVariableValueChangedEvent } from '../types.js';\nimport { VariableValueRecorder } from '../VariableValueRecorder.js';\n\nclass SceneVariableSet extends SceneObjectBase {\n constructor(state) {\n super(state);\n this._variablesThatHaveChanged = /* @__PURE__ */ new Set();\n this._variablesToUpdate = /* @__PURE__ */ new Set();\n this._updating = /* @__PURE__ */ new Map();\n this._variableValueRecorder = new VariableValueRecorder();\n this._variableDependency = new SceneVariableSetVariableDependencyHandler(\n this._handleParentVariableUpdatesCompleted.bind(this)\n );\n this._onActivate = () => {\n const timeRange = sceneGraph.getTimeRange(this);\n this._subs.add(\n this.subscribeToEvent(SceneVariableValueChangedEvent, (event) => this._handleVariableValueChanged(event.payload))\n );\n this._subs.add(\n timeRange.subscribeToState(() => {\n this._refreshTimeRangeBasedVariables();\n })\n );\n this._subs.add(this.subscribeToState(this._onStateChanged));\n this._checkForVariablesThatChangedWhileInactive();\n for (const variable of this.state.variables) {\n if (this._variableNeedsUpdate(variable)) {\n this._variablesToUpdate.add(variable);\n }\n }\n this._updateNextBatch();\n return this._onDeactivate;\n };\n this._onDeactivate = () => {\n var _a;\n for (const update of this._updating.values()) {\n (_a = update.subscription) == null ? void 0 : _a.unsubscribe();\n }\n for (const variable of this.state.variables) {\n if (!this._variablesToUpdate.has(variable) && !this._updating.has(variable)) {\n this._variableValueRecorder.recordCurrentValue(variable);\n }\n }\n this._variablesToUpdate.clear();\n this._updating.clear();\n };\n this._onStateChanged = (newState, oldState) => {\n const variablesToUpdateCountStart = this._variablesToUpdate.size;\n for (const variable of oldState.variables) {\n if (!newState.variables.includes(variable)) {\n const updating = this._updating.get(variable);\n if (updating == null ? void 0 : updating.subscription) {\n updating.subscription.unsubscribe();\n }\n this._updating.delete(variable);\n this._variablesToUpdate.delete(variable);\n }\n }\n for (const variable of newState.variables) {\n if (!oldState.variables.includes(variable)) {\n if (this._variableNeedsUpdate(variable)) {\n this._variablesToUpdate.add(variable);\n }\n }\n }\n if (variablesToUpdateCountStart === 0 && this._variablesToUpdate.size > 0) {\n this._updateNextBatch();\n }\n };\n this.addActivationHandler(this._onActivate);\n }\n getByName(name) {\n return this.state.variables.find((x) => x.state.name === name);\n }\n _refreshTimeRangeBasedVariables() {\n for (const variable of this.state.variables) {\n if (\"refresh\" in variable.state && variable.state.refresh === VariableRefresh.onTimeRangeChanged) {\n this._variablesToUpdate.add(variable);\n }\n }\n this._updateNextBatch();\n }\n _checkForVariablesThatChangedWhileInactive() {\n if (!this._variableValueRecorder.hasValues()) {\n return;\n }\n for (const variable of this.state.variables) {\n if (this._variableValueRecorder.hasValueChanged(variable)) {\n writeVariableTraceLog(variable, \"Changed while in-active\");\n this._addDependentVariablesToUpdateQueue(variable);\n }\n }\n }\n _variableNeedsUpdate(variable) {\n if (!variable.validateAndUpdate) {\n return false;\n }\n if (this._variableValueRecorder.hasRecordedValue(variable)) {\n writeVariableTraceLog(variable, \"Skipping updateAndValidate current value valid\");\n return false;\n }\n return true;\n }\n _updateNextBatch() {\n if (this._variablesToUpdate.size === 0) {\n this._notifyDependentSceneObjects();\n return;\n }\n for (const variable of this._variablesToUpdate) {\n if (!variable.validateAndUpdate) {\n throw new Error(\"Variable added to variablesToUpdate but does not have validateAndUpdate\");\n }\n if (this._updating.has(variable)) {\n continue;\n }\n if (sceneGraph.hasVariableDependencyInLoadingState(variable)) {\n continue;\n }\n const variableToUpdate = {\n variable\n };\n this._updating.set(variable, variableToUpdate);\n writeVariableTraceLog(variable, \"updateAndValidate started\");\n variableToUpdate.subscription = variable.validateAndUpdate().subscribe({\n next: () => this._validateAndUpdateCompleted(variable),\n error: (err) => this._handleVariableError(variable, err)\n });\n }\n }\n _validateAndUpdateCompleted(variable) {\n var _a;\n const update = this._updating.get(variable);\n (_a = update == null ? void 0 : update.subscription) == null ? void 0 : _a.unsubscribe();\n this._updating.delete(variable);\n this._variablesToUpdate.delete(variable);\n writeVariableTraceLog(variable, \"updateAndValidate completed\");\n this._updateNextBatch();\n }\n cancel(variable) {\n var _a;\n const update = this._updating.get(variable);\n (_a = update == null ? void 0 : update.subscription) == null ? void 0 : _a.unsubscribe();\n this._updating.delete(variable);\n this._variablesToUpdate.delete(variable);\n }\n _handleVariableError(variable, err) {\n var _a;\n const update = this._updating.get(variable);\n (_a = update == null ? void 0 : update.subscription) == null ? void 0 : _a.unsubscribe();\n this._updating.delete(variable);\n this._variablesToUpdate.delete(variable);\n variable.setState({ loading: false, error: err.message });\n console.error(\"SceneVariableSet updateAndValidate error\", err);\n writeVariableTraceLog(variable, \"updateAndValidate error\", err);\n }\n _handleVariableValueChanged(variableThatChanged) {\n this._variablesThatHaveChanged.add(variableThatChanged);\n this._addDependentVariablesToUpdateQueue(variableThatChanged);\n if (!this._updating.has(variableThatChanged)) {\n this._updateNextBatch();\n }\n }\n _handleParentVariableUpdatesCompleted(changedVariables) {\n for (const changedVar of changedVariables) {\n this._addDependentVariablesToUpdateQueue(changedVar);\n }\n if (this._variablesToUpdate.size > 0 && this._updating.size === 0) {\n this._updateNextBatch();\n }\n }\n _addDependentVariablesToUpdateQueue(variableThatChanged) {\n for (const otherVariable of this.state.variables) {\n if (otherVariable.variableDependency) {\n if (otherVariable.variableDependency.hasDependencyOn(variableThatChanged.state.name)) {\n writeVariableTraceLog(otherVariable, \"Added to update queue, dependant variable value changed\");\n this._variablesToUpdate.add(otherVariable);\n }\n }\n }\n }\n _notifyDependentSceneObjects() {\n if (!this.parent) {\n return;\n }\n this._traverseSceneAndNotify(this.parent);\n this._variablesThatHaveChanged.clear();\n }\n _traverseSceneAndNotify(sceneObject) {\n if (this === sceneObject) {\n return;\n }\n if (!sceneObject.isActive) {\n return;\n }\n if (sceneObject.variableDependency) {\n sceneObject.variableDependency.variableUpdatesCompleted(this._variablesThatHaveChanged);\n }\n sceneObject.forEachChild((child) => this._traverseSceneAndNotify(child));\n }\n isVariableLoadingOrWaitingToUpdate(variable) {\n if (variable.isAncestorLoading && variable.isAncestorLoading()) {\n return true;\n }\n return this._variablesToUpdate.has(variable) || this._updating.has(variable);\n }\n}\nfunction writeVariableTraceLog(variable, message, err) {\n writeSceneLog(\"SceneVariableSet\", `Variable[${variable.state.name}]: ${message}`, err);\n}\nclass SceneVariableSetVariableDependencyHandler {\n constructor(_variableUpdatesCompleted) {\n this._variableUpdatesCompleted = _variableUpdatesCompleted;\n this._emptySet = /* @__PURE__ */ new Set();\n }\n getNames() {\n return this._emptySet;\n }\n hasDependencyOn(name) {\n return false;\n }\n variableUpdatesCompleted(changedVariables) {\n this._variableUpdatesCompleted(changedVariables);\n }\n}\n\nexport { SceneVariableSet };\n//# sourceMappingURL=SceneVariableSet.js.map\n","import { isArray } from 'lodash';\nimport React, { useMemo, useState, useEffect } from 'react';\nimport { Select, MultiSelect } from '@grafana/ui';\n\nfunction VariableValueSelect({ model }) {\n const { value, key } = model.useState();\n const onInputChange = model.onSearchChange ? (value2, meta) => {\n if (meta.action === \"input-change\") {\n model.onSearchChange(value2);\n }\n } : void 0;\n return /* @__PURE__ */ React.createElement(Select, {\n id: key,\n placeholder: \"Select value\",\n width: \"auto\",\n value,\n allowCustomValue: true,\n tabSelectsValue: false,\n onInputChange,\n options: model.getOptionsForSelect(),\n onChange: (newValue) => {\n model.changeValueTo(newValue.value, newValue.label);\n }\n });\n}\nfunction VariableValueSelectMulti({ model }) {\n const { value, key, maxVisibleValues } = model.useState();\n const arrayValue = useMemo(() => isArray(value) ? value : [value], [value]);\n const [uncommittedValue, setUncommittedValue] = useState(arrayValue);\n useEffect(() => {\n setUncommittedValue(arrayValue);\n }, [arrayValue]);\n const onInputChange = model.onSearchChange ? (value2, meta) => {\n if (meta.action === \"input-change\") {\n model.onSearchChange(value2);\n }\n } : void 0;\n return /* @__PURE__ */ React.createElement(MultiSelect, {\n id: key,\n placeholder: \"Select value\",\n width: \"auto\",\n value: uncommittedValue,\n noMultiValueWrap: true,\n maxVisibleValues: maxVisibleValues != null ? maxVisibleValues : 5,\n tabSelectsValue: false,\n allowCustomValue: true,\n options: model.getOptionsForSelect(),\n closeMenuOnSelect: false,\n isClearable: true,\n onInputChange,\n onBlur: () => {\n model.changeValueTo(uncommittedValue);\n },\n onChange: (newValue) => {\n setUncommittedValue(newValue.map((x) => x.value));\n }\n });\n}\nfunction renderSelectForVariable(model) {\n if (model.state.isMulti) {\n return /* @__PURE__ */ React.createElement(VariableValueSelectMulti, {\n model\n });\n } else {\n return /* @__PURE__ */ React.createElement(VariableValueSelect, {\n model\n });\n }\n}\n\nexport { VariableValueSelect, VariableValueSelectMulti, renderSelectForVariable };\n//# sourceMappingURL=VariableValueSelect.js.map\n","import { SceneObjectBase } from '../../core/SceneObjectBase.js';\n\nvar __defProp = Object.defineProperty;\nvar __defProps = Object.defineProperties;\nvar __getOwnPropDescs = Object.getOwnPropertyDescriptors;\nvar __getOwnPropSymbols = Object.getOwnPropertySymbols;\nvar __hasOwnProp = Object.prototype.hasOwnProperty;\nvar __propIsEnum = Object.prototype.propertyIsEnumerable;\nvar __defNormalProp = (obj, key, value) => key in obj ? __defProp(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;\nvar __spreadValues = (a, b) => {\n for (var prop in b || (b = {}))\n if (__hasOwnProp.call(b, prop))\n __defNormalProp(a, prop, b[prop]);\n if (__getOwnPropSymbols)\n for (var prop of __getOwnPropSymbols(b)) {\n if (__propIsEnum.call(b, prop))\n __defNormalProp(a, prop, b[prop]);\n }\n return a;\n};\nvar __spreadProps = (a, b) => __defProps(a, __getOwnPropDescs(b));\nclass ConstantVariable extends SceneObjectBase {\n constructor(initialState) {\n super(__spreadProps(__spreadValues({\n type: \"constant\",\n value: \"\",\n name: \"\"\n }, initialState), {\n skipUrlSync: true\n }));\n }\n getValue() {\n return this.state.value;\n }\n}\n\nexport { ConstantVariable };\n//# sourceMappingURL=ConstantVariable.js.map\n","import { isEqual } from 'lodash';\nimport { map } from 'rxjs';\nimport { ALL_VARIABLE_TEXT, ALL_VARIABLE_VALUE } from '../constants.js';\nimport { SceneObjectBase } from '../../core/SceneObjectBase.js';\nimport { SceneVariableValueChangedEvent } from '../types.js';\nimport { formatRegistry } from '../interpolation/formatRegistry.js';\nimport { VariableFormatID } from '@grafana/schema';\nimport { setBaseClassState } from '../../utils/utils.js';\n\nclass MultiValueVariable extends SceneObjectBase {\n constructor() {\n super(...arguments);\n this._urlSync = new MultiValueUrlSyncHandler(this);\n }\n validateAndUpdate() {\n return this.getValueOptions({}).pipe(\n map((options) => {\n this.updateValueGivenNewOptions(options);\n return {};\n })\n );\n }\n onCancel() {\n this.setStateHelper({ loading: false });\n const sceneVarSet = this.parent;\n sceneVarSet == null ? void 0 : sceneVarSet.cancel(this);\n }\n updateValueGivenNewOptions(options) {\n const { value: currentValue, text: currentText } = this.state;\n const stateUpdate = {\n options,\n loading: false,\n value: currentValue,\n text: currentText\n };\n if (options.length === 0) {\n if (this.state.defaultToAll || this.state.includeAll) {\n stateUpdate.value = ALL_VARIABLE_VALUE;\n stateUpdate.text = ALL_VARIABLE_TEXT;\n }\n } else if (this.hasAllValue()) ; else if (this.state.isMulti) {\n const currentValues = Array.isArray(currentValue) ? currentValue : [currentValue];\n const validValues = currentValues.filter((v) => options.find((o) => o.value === v));\n const validTexts = validValues.map((v) => options.find((o) => o.value === v).label);\n if (validValues.length === 0) {\n const defaultState = this.getDefaultMultiState(options);\n stateUpdate.value = defaultState.value;\n stateUpdate.text = defaultState.text;\n } else if (!isEqual(validValues, currentValue) || !isEqual(validTexts, currentText)) {\n stateUpdate.value = validValues;\n stateUpdate.text = validTexts;\n }\n } else {\n let matchingOption = findOptionMatchingCurrent(currentValue, currentText, options);\n if (matchingOption) {\n stateUpdate.text = matchingOption.label;\n stateUpdate.value = matchingOption.value;\n } else {\n if (this.state.defaultToAll) {\n stateUpdate.value = ALL_VARIABLE_VALUE;\n stateUpdate.text = ALL_VARIABLE_TEXT;\n } else {\n stateUpdate.value = options[0].value;\n stateUpdate.text = options[0].label;\n }\n }\n }\n this.setStateHelper(stateUpdate);\n if (stateUpdate.value !== currentValue || stateUpdate.text !== currentText || this.hasAllValue()) {\n this.publishEvent(new SceneVariableValueChangedEvent(this), true);\n }\n }\n getValue() {\n if (this.hasAllValue()) {\n if (this.state.allValue) {\n return new CustomAllValue(this.state.allValue, this);\n }\n return this.state.options.map((x) => x.value);\n }\n return this.state.value;\n }\n getValueText() {\n if (this.hasAllValue()) {\n return ALL_VARIABLE_TEXT;\n }\n if (Array.isArray(this.state.text)) {\n return this.state.text.join(\" + \");\n }\n return String(this.state.text);\n }\n hasAllValue() {\n const value = this.state.value;\n return value === ALL_VARIABLE_VALUE || Array.isArray(value) && value[0] === ALL_VARIABLE_VALUE;\n }\n getDefaultMultiState(options) {\n if (this.state.defaultToAll) {\n return { value: [ALL_VARIABLE_VALUE], text: [ALL_VARIABLE_TEXT] };\n } else {\n return { value: [options[0].value], text: [options[0].label] };\n }\n }\n changeValueTo(value, text) {\n if (value === this.state.value && text === this.state.text) {\n return;\n }\n if (!text) {\n if (Array.isArray(value)) {\n text = value.map((v) => this.findLabelTextForValue(v));\n } else {\n text = this.findLabelTextForValue(value);\n }\n }\n if (Array.isArray(value)) {\n if (value.length === 0) {\n const state = this.getDefaultMultiState(this.state.options);\n value = state.value;\n text = state.text;\n }\n if (value[value.length - 1] === ALL_VARIABLE_VALUE) {\n value = [ALL_VARIABLE_VALUE];\n text = [ALL_VARIABLE_TEXT];\n } else if (value[0] === ALL_VARIABLE_VALUE && value.length > 1) {\n value.shift();\n if (Array.isArray(text)) {\n text.shift();\n }\n }\n }\n this.setStateHelper({ value, text, loading: false });\n this.publishEvent(new SceneVariableValueChangedEvent(this), true);\n }\n findLabelTextForValue(value) {\n const option = this.state.options.find((x) => x.value === value);\n if (option) {\n return option.label;\n }\n const optionByLabel = this.state.options.find((x) => x.label === value);\n if (optionByLabel) {\n return optionByLabel.label;\n }\n return value;\n }\n setStateHelper(state) {\n setBaseClassState(this, state);\n }\n getOptionsForSelect() {\n let options = this.state.options;\n if (this.state.includeAll) {\n options = [{ value: ALL_VARIABLE_VALUE, label: ALL_VARIABLE_TEXT }, ...options];\n }\n if (!Array.isArray(this.state.value)) {\n const current = options.find((x) => x.value === this.state.value);\n if (!current) {\n options = [{ value: this.state.value, label: String(this.state.text) }, ...options];\n }\n }\n return options;\n }\n}\nfunction findOptionMatchingCurrent(currentValue, currentText, options) {\n let textMatch;\n for (const item of options) {\n if (item.value === currentValue) {\n return item;\n }\n if (item.label === currentText) {\n textMatch = item;\n }\n }\n return textMatch;\n}\nclass MultiValueUrlSyncHandler {\n constructor(_sceneObject) {\n this._sceneObject = _sceneObject;\n }\n getKey() {\n return `var-${this._sceneObject.state.name}`;\n }\n getKeys() {\n if (this._sceneObject.state.skipUrlSync) {\n return [];\n }\n return [this.getKey()];\n }\n getUrlState() {\n if (this._sceneObject.state.skipUrlSync) {\n return {};\n }\n let urlValue = null;\n let value = this._sceneObject.state.value;\n if (Array.isArray(value)) {\n urlValue = value.map(String);\n } else if (this._sceneObject.state.isMulti) {\n urlValue = [String(value)];\n } else {\n urlValue = String(value);\n }\n return { [this.getKey()]: urlValue };\n }\n updateFromUrl(values) {\n const urlValue = values[this.getKey()];\n if (urlValue != null) {\n this._sceneObject.changeValueTo(urlValue);\n }\n }\n}\nclass CustomAllValue {\n constructor(_value, _variable) {\n this._value = _value;\n this._variable = _variable;\n }\n formatter(formatNameOrFn) {\n if (formatNameOrFn === VariableFormatID.Text) {\n return ALL_VARIABLE_TEXT;\n }\n if (formatNameOrFn === VariableFormatID.PercentEncode) {\n return formatRegistry.get(VariableFormatID.PercentEncode).formatter(this._value, [], this._variable);\n }\n if (formatNameOrFn === VariableFormatID.QueryParam) {\n return formatRegistry.get(VariableFormatID.QueryParam).formatter(ALL_VARIABLE_TEXT, [], this._variable);\n }\n return this._value;\n }\n}\n\nexport { CustomAllValue, MultiValueUrlSyncHandler, MultiValueVariable };\n//# sourceMappingURL=MultiValueVariable.js.map\n","function setBaseClassState(sceneObject, newState) {\n sceneObject.setState(newState);\n}\n\nexport { setBaseClassState };\n//# sourceMappingURL=utils.js.map\n","import { of } from 'rxjs';\nimport { VariableDependencyConfig } from '../VariableDependencyConfig.js';\nimport { renderSelectForVariable } from '../components/VariableValueSelect.js';\nimport { MultiValueVariable } from './MultiValueVariable.js';\nimport { sceneGraph } from '../../core/sceneGraph/index.js';\n\nvar __defProp = Object.defineProperty;\nvar __getOwnPropSymbols = Object.getOwnPropertySymbols;\nvar __hasOwnProp = Object.prototype.hasOwnProperty;\nvar __propIsEnum = Object.prototype.propertyIsEnumerable;\nvar __defNormalProp = (obj, key, value) => key in obj ? __defProp(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;\nvar __spreadValues = (a, b) => {\n for (var prop in b || (b = {}))\n if (__hasOwnProp.call(b, prop))\n __defNormalProp(a, prop, b[prop]);\n if (__getOwnPropSymbols)\n for (var prop of __getOwnPropSymbols(b)) {\n if (__propIsEnum.call(b, prop))\n __defNormalProp(a, prop, b[prop]);\n }\n return a;\n};\nclass CustomVariable extends MultiValueVariable {\n constructor(initialState) {\n super(__spreadValues({\n type: \"custom\",\n query: \"\",\n value: \"\",\n text: \"\",\n options: [],\n name: \"\"\n }, initialState));\n this._variableDependency = new VariableDependencyConfig(this, {\n statePaths: [\"query\"]\n });\n }\n getValueOptions(args) {\n var _a;\n const interpolated = sceneGraph.interpolate(this, this.state.query);\n const match = (_a = interpolated.match(/(?:\\\\,|[^,])+/g)) != null ? _a : [];\n const options = match.map((text) => {\n var _a2;\n text = text.replace(/\\\\,/g, \",\");\n const textMatch = (_a2 = /^(.+)\\s:\\s(.+)$/g.exec(text)) != null ? _a2 : [];\n if (textMatch.length === 3) {\n const [, key, value] = textMatch;\n return { label: key.trim(), value: value.trim() };\n } else {\n return { label: text.trim(), value: text.trim() };\n }\n });\n return of(options);\n }\n}\nCustomVariable.Component = ({ model }) => {\n return renderSelectForVariable(model);\n};\n\nexport { CustomVariable };\n//# sourceMappingURL=CustomVariable.js.map\n","import { of } from 'rxjs';\nimport { stringToJsRegex } from '@grafana/data';\nimport { getDataSourceSrv } from '@grafana/runtime';\nimport { sceneGraph } from '../../core/sceneGraph/index.js';\nimport { VariableDependencyConfig } from '../VariableDependencyConfig.js';\nimport { renderSelectForVariable } from '../components/VariableValueSelect.js';\nimport { MultiValueVariable } from './MultiValueVariable.js';\n\nvar __defProp = Object.defineProperty;\nvar __getOwnPropSymbols = Object.getOwnPropertySymbols;\nvar __hasOwnProp = Object.prototype.hasOwnProperty;\nvar __propIsEnum = Object.prototype.propertyIsEnumerable;\nvar __defNormalProp = (obj, key, value) => key in obj ? __defProp(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;\nvar __spreadValues = (a, b) => {\n for (var prop in b || (b = {}))\n if (__hasOwnProp.call(b, prop))\n __defNormalProp(a, prop, b[prop]);\n if (__getOwnPropSymbols)\n for (var prop of __getOwnPropSymbols(b)) {\n if (__propIsEnum.call(b, prop))\n __defNormalProp(a, prop, b[prop]);\n }\n return a;\n};\nclass DataSourceVariable extends MultiValueVariable {\n constructor(initialState) {\n super(__spreadValues({\n type: \"datasource\",\n value: \"\",\n text: \"\",\n options: [],\n name: \"\",\n regex: \"\",\n pluginId: \"\"\n }, initialState));\n this._variableDependency = new VariableDependencyConfig(this, {\n statePaths: [\"regex\"]\n });\n }\n getValueOptions(args) {\n if (!this.state.pluginId) {\n return of([]);\n }\n const dataSources = getDataSourceSrv().getList({ metrics: true, variables: false, pluginId: this.state.pluginId });\n let regex;\n if (this.state.regex) {\n const interpolated = sceneGraph.interpolate(this, this.state.regex, void 0, \"regex\");\n regex = stringToJsRegex(interpolated);\n }\n const options = [];\n for (let i = 0; i < dataSources.length; i++) {\n const source = dataSources[i];\n if (isValid(source, regex)) {\n options.push({ label: source.name, value: source.uid });\n }\n if (this.state.defaultOptionEnabled && isDefault(source, regex)) {\n options.push({ label: \"default\", value: \"default\" });\n }\n }\n if (options.length === 0) {\n this.setState({ error: \"No data sources found\" });\n } else if (this.state.error) {\n this.setState({ error: null });\n }\n return of(options);\n }\n}\nDataSourceVariable.Component = ({ model }) => {\n return renderSelectForVariable(model);\n};\nfunction isValid(source, regex) {\n if (!regex) {\n return true;\n }\n return regex.exec(source.name);\n}\nfunction isDefault(source, regex) {\n if (!source.isDefault) {\n return false;\n }\n if (!regex) {\n return true;\n }\n return regex.exec(\"default\");\n}\n\nexport { DataSourceVariable };\n//# sourceMappingURL=DataSourceVariable.js.map\n","import { VariableSupportType } from '@grafana/data';\n\nconst hasLegacyVariableSupport = (datasource) => {\n return Boolean(datasource.metricFindQuery) && !Boolean(datasource.variables);\n};\nconst hasStandardVariableSupport = (datasource) => {\n if (!datasource.variables) {\n return false;\n }\n if (datasource.variables.getType() !== VariableSupportType.Standard) {\n return false;\n }\n const variableSupport = datasource.variables;\n return \"toDataQuery\" in variableSupport && Boolean(variableSupport.toDataQuery);\n};\nconst hasCustomVariableSupport = (datasource) => {\n if (!datasource.variables) {\n return false;\n }\n if (datasource.variables.getType() !== VariableSupportType.Custom) {\n return false;\n }\n const variableSupport = datasource.variables;\n return \"query\" in variableSupport && \"editor\" in variableSupport && Boolean(variableSupport.query) && Boolean(variableSupport.editor);\n};\n\nexport { hasCustomVariableSupport, hasLegacyVariableSupport, hasStandardVariableSupport };\n//# sourceMappingURL=guards.js.map\n","import { from, mergeMap, of } from 'rxjs';\nimport { LoadingState, getDefaultTimeRange } from '@grafana/data';\nimport { getRunRequest } from '@grafana/runtime';\nimport { hasStandardVariableSupport, hasLegacyVariableSupport, hasCustomVariableSupport } from './guards.js';\n\nvar __defProp = Object.defineProperty;\nvar __defProps = Object.defineProperties;\nvar __getOwnPropDescs = Object.getOwnPropertyDescriptors;\nvar __getOwnPropSymbols = Object.getOwnPropertySymbols;\nvar __hasOwnProp = Object.prototype.hasOwnProperty;\nvar __propIsEnum = Object.prototype.propertyIsEnumerable;\nvar __defNormalProp = (obj, key, value) => key in obj ? __defProp(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;\nvar __spreadValues = (a, b) => {\n for (var prop in b || (b = {}))\n if (__hasOwnProp.call(b, prop))\n __defNormalProp(a, prop, b[prop]);\n if (__getOwnPropSymbols)\n for (var prop of __getOwnPropSymbols(b)) {\n if (__propIsEnum.call(b, prop))\n __defNormalProp(a, prop, b[prop]);\n }\n return a;\n};\nvar __spreadProps = (a, b) => __defProps(a, __getOwnPropDescs(b));\nclass StandardQueryRunner {\n constructor(datasource, _runRequest = getRunRequest()) {\n this.datasource = datasource;\n this._runRequest = _runRequest;\n }\n getTarget(variable) {\n if (hasStandardVariableSupport(this.datasource)) {\n return this.datasource.variables.toDataQuery(ensureVariableQueryModelIsADataQuery(variable));\n }\n throw new Error(\"Couldn't create a target with supplied arguments.\");\n }\n runRequest(_, request) {\n if (!hasStandardVariableSupport(this.datasource)) {\n return getEmptyMetricFindValueObservable();\n }\n if (!this.datasource.variables.query) {\n return this._runRequest(this.datasource, request);\n }\n return this._runRequest(this.datasource, request, this.datasource.variables.query.bind(this.datasource.variables));\n }\n}\nclass LegacyQueryRunner {\n constructor(datasource) {\n this.datasource = datasource;\n }\n getTarget(variable) {\n if (hasLegacyVariableSupport(this.datasource)) {\n return variable.state.query;\n }\n throw new Error(\"Couldn't create a target with supplied arguments.\");\n }\n runRequest({ variable, searchFilter }, request) {\n if (!hasLegacyVariableSupport(this.datasource)) {\n return getEmptyMetricFindValueObservable();\n }\n return from(\n this.datasource.metricFindQuery(variable.state.query, __spreadProps(__spreadValues({}, request), {\n variable: {\n name: variable.state.name,\n type: variable.state.type\n },\n searchFilter\n }))\n ).pipe(\n mergeMap((values) => {\n if (!values || !values.length) {\n return getEmptyMetricFindValueObservable();\n }\n const series = values;\n return of({ series, state: LoadingState.Done, timeRange: request.range });\n })\n );\n }\n}\nclass CustomQueryRunner {\n constructor(datasource, _runRequest = getRunRequest()) {\n this.datasource = datasource;\n this._runRequest = _runRequest;\n }\n getTarget(variable) {\n if (hasCustomVariableSupport(this.datasource)) {\n return variable.state.query;\n }\n throw new Error(\"Couldn't create a target with supplied arguments.\");\n }\n runRequest(_, request) {\n if (!hasCustomVariableSupport(this.datasource)) {\n return getEmptyMetricFindValueObservable();\n }\n if (!this.datasource.variables.query) {\n return this._runRequest(this.datasource, request);\n }\n return this._runRequest(this.datasource, request, this.datasource.variables.query.bind(this.datasource.variables));\n }\n}\nfunction getEmptyMetricFindValueObservable() {\n return of({ state: LoadingState.Done, series: [], timeRange: getDefaultTimeRange() });\n}\nfunction createQueryVariableRunnerFactory(datasource) {\n if (hasStandardVariableSupport(datasource)) {\n return new StandardQueryRunner(datasource, getRunRequest());\n }\n if (hasLegacyVariableSupport(datasource)) {\n return new LegacyQueryRunner(datasource);\n }\n if (hasCustomVariableSupport(datasource)) {\n return new CustomQueryRunner(datasource);\n }\n throw new Error(`Couldn't create a query runner for datasource ${datasource.type}`);\n}\nlet createQueryVariableRunner = createQueryVariableRunnerFactory;\nfunction ensureVariableQueryModelIsADataQuery(variable) {\n const query = variable.state.query;\n if (!query || typeof query !== \"object\") {\n return { query, refId: `variable-${variable.state.name}` };\n }\n if (query.refId == null) {\n return __spreadProps(__spreadValues({}, query), { refId: `variable-${variable.state.name}` });\n }\n return variable.state.query;\n}\n\nexport { createQueryVariableRunner };\n//# sourceMappingURL=createQueryVariableRunner.js.map\n","import { isNumber, uniqBy, sortBy, toLower } from 'lodash';\nimport { stringToJsRegex, VariableSort } from '@grafana/data';\n\nconst metricNamesToVariableValues = (variableRegEx, sort, metricNames) => {\n var _a, _b, _c, _d, _e, _f;\n let regex;\n let options = [];\n if (variableRegEx) {\n regex = stringToJsRegex(variableRegEx);\n }\n for (let i = 0; i < metricNames.length; i++) {\n const item = metricNames[i];\n let text = item.text === void 0 || item.text === null ? item.value : item.text;\n let value = item.value === void 0 || item.value === null ? item.text : item.value;\n if (isNumber(value)) {\n value = value.toString();\n }\n if (isNumber(text)) {\n text = text.toString();\n }\n if (regex) {\n const matches = getAllMatches(value, regex);\n if (!matches.length) {\n continue;\n }\n const valueGroup = matches.find((m) => m.groups && m.groups.value);\n const textGroup = matches.find((m) => m.groups && m.groups.text);\n const firstMatch = matches.find((m) => m.length > 1);\n const manyMatches = matches.length > 1 && firstMatch;\n if (valueGroup || textGroup) {\n value = (_c = (_a = valueGroup == null ? void 0 : valueGroup.groups) == null ? void 0 : _a.value) != null ? _c : (_b = textGroup == null ? void 0 : textGroup.groups) == null ? void 0 : _b.text;\n text = (_f = (_d = textGroup == null ? void 0 : textGroup.groups) == null ? void 0 : _d.text) != null ? _f : (_e = valueGroup == null ? void 0 : valueGroup.groups) == null ? void 0 : _e.value;\n } else if (manyMatches) {\n for (let j = 0; j < matches.length; j++) {\n const match = matches[j];\n options.push({ label: match[1], value: match[1] });\n }\n continue;\n } else if (firstMatch) {\n text = firstMatch[1];\n value = firstMatch[1];\n }\n }\n options.push({ label: text, value });\n }\n options = uniqBy(options, \"value\");\n return sortVariableValues(options, sort);\n};\nconst getAllMatches = (str, regex) => {\n const results = [];\n let matches = null;\n regex.lastIndex = 0;\n do {\n matches = regex.exec(str);\n if (matches) {\n results.push(matches);\n }\n } while (regex.global && matches && matches[0] !== \"\" && matches[0] !== void 0);\n return results;\n};\nconst sortVariableValues = (options, sortOrder) => {\n if (sortOrder === VariableSort.disabled) {\n return options;\n }\n const sortByNumeric = (opt) => {\n if (!opt.text) {\n return -1;\n }\n const matches = opt.text.match(/.*?(\\d+).*/);\n if (!matches || matches.length < 2) {\n return -1;\n } else {\n return parseInt(matches[1], 10);\n }\n };\n const sortByNaturalSort = (options2) => {\n return options2.sort((a, b) => {\n if (!a.text) {\n return -1;\n }\n if (!b.text) {\n return 1;\n }\n return a.text.localeCompare(b.text, void 0, { numeric: true });\n });\n };\n switch (sortOrder) {\n case VariableSort.alphabeticalAsc:\n options = sortBy(options, \"text\");\n break;\n case VariableSort.alphabeticalDesc:\n options = sortBy(options, \"text\").reverse();\n break;\n case VariableSort.numericalAsc:\n options = sortBy(options, sortByNumeric);\n break;\n case VariableSort.numericalDesc:\n options = sortBy(options, sortByNumeric);\n options = options.reverse();\n break;\n case VariableSort.alphabeticalCaseInsensitiveAsc:\n options = sortBy(options, (opt) => {\n return toLower(opt.text);\n });\n break;\n case VariableSort.alphabeticalCaseInsensitiveDesc:\n options = sortBy(options, (opt) => {\n return toLower(opt.text);\n });\n options = options.reverse();\n break;\n case (VariableSort.naturalAsc || 7):\n options = sortByNaturalSort(options);\n break;\n case (VariableSort.naturalDesc || 8):\n options = sortByNaturalSort(options);\n options = options.reverse();\n break;\n }\n return options;\n};\n\nexport { metricNamesToVariableValues, sortVariableValues };\n//# sourceMappingURL=utils.js.map\n","import { lastValueFrom, of, from, mergeMap, filter, take, throwError, catchError } from 'rxjs';\nimport { v4 } from 'uuid';\nimport { VariableRefresh, VariableSort, LoadingState, CoreApp } from '@grafana/data';\nimport { sceneGraph } from '../../../core/sceneGraph/index.js';\nimport { VariableDependencyConfig } from '../../VariableDependencyConfig.js';\nimport { renderSelectForVariable } from '../../components/VariableValueSelect.js';\nimport { MultiValueVariable } from '../MultiValueVariable.js';\nimport { createQueryVariableRunner } from './createQueryVariableRunner.js';\nimport { metricNamesToVariableValues } from './utils.js';\nimport { toMetricFindValues } from './toMetricFindValues.js';\nimport { getDataSource } from '../../../utils/getDataSource.js';\nimport { safeStringifyValue } from '../../utils.js';\nimport { SEARCH_FILTER_VARIABLE } from '../../constants.js';\nimport { debounce } from 'lodash';\n\nvar __defProp = Object.defineProperty;\nvar __getOwnPropSymbols = Object.getOwnPropertySymbols;\nvar __hasOwnProp = Object.prototype.hasOwnProperty;\nvar __propIsEnum = Object.prototype.propertyIsEnumerable;\nvar __defNormalProp = (obj, key, value) => key in obj ? __defProp(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;\nvar __spreadValues = (a, b) => {\n for (var prop in b || (b = {}))\n if (__hasOwnProp.call(b, prop))\n __defNormalProp(a, prop, b[prop]);\n if (__getOwnPropSymbols)\n for (var prop of __getOwnPropSymbols(b)) {\n if (__propIsEnum.call(b, prop))\n __defNormalProp(a, prop, b[prop]);\n }\n return a;\n};\nclass QueryVariable extends MultiValueVariable {\n constructor(initialState) {\n super(__spreadValues({\n type: \"query\",\n name: \"\",\n value: \"\",\n text: \"\",\n options: [],\n datasource: null,\n regex: \"\",\n query: { refId: \"A\" },\n refresh: VariableRefresh.onDashboardLoad,\n sort: VariableSort.disabled\n }, initialState));\n this._variableDependency = new VariableDependencyConfig(this, {\n statePaths: [\"regex\", \"query\", \"datasource\"]\n });\n this.onSearchChange = (searchFilter) => {\n if (!containsSearchFilter(this.state.query)) {\n return;\n }\n this._updateOptionsBasedOnSearchFilter(searchFilter);\n };\n this._updateOptionsBasedOnSearchFilter = debounce(async (searchFilter) => {\n const result = await lastValueFrom(this.getValueOptions({ searchFilter }));\n this.setState({ options: result, loading: false });\n }, 400);\n }\n getValueOptions(args) {\n if (!this.state.query) {\n return of([]);\n }\n this.setState({ loading: true, error: null });\n return from(\n getDataSource(this.state.datasource, {\n __sceneObject: { text: \"__sceneObject\", value: this }\n })\n ).pipe(\n mergeMap((ds) => {\n const runner = createQueryVariableRunner(ds);\n const target = runner.getTarget(this);\n const request = this.getRequest(target, args.searchFilter);\n return runner.runRequest({ variable: this, searchFilter: args.searchFilter }, request).pipe(\n filter((data) => data.state === LoadingState.Done || data.state === LoadingState.Error),\n take(1),\n mergeMap((data) => {\n if (data.state === LoadingState.Error) {\n return throwError(() => data.error);\n }\n return of(data);\n }),\n toMetricFindValues(),\n mergeMap((values) => {\n let regex = \"\";\n if (this.state.regex) {\n regex = sceneGraph.interpolate(this, this.state.regex, void 0, \"regex\");\n }\n return of(metricNamesToVariableValues(regex, this.state.sort, values));\n }),\n catchError((error) => {\n if (error.cancelled) {\n return of([]);\n }\n return throwError(() => error);\n })\n );\n })\n );\n }\n getRequest(target, searchFilter) {\n const scopedVars = {\n __sceneObject: { text: \"__sceneObject\", value: this }\n };\n if (searchFilter) {\n scopedVars.__searchFilter = { value: searchFilter, text: searchFilter };\n }\n const range = sceneGraph.getTimeRange(this).state.value;\n const request = {\n app: CoreApp.Dashboard,\n requestId: v4(),\n timezone: \"\",\n range,\n interval: \"\",\n intervalMs: 0,\n targets: [target],\n scopedVars,\n startTime: Date.now()\n };\n return request;\n }\n}\nQueryVariable.Component = ({ model }) => {\n return renderSelectForVariable(model);\n};\nfunction containsSearchFilter(query) {\n const str = safeStringifyValue(query);\n return str.indexOf(SEARCH_FILTER_VARIABLE);\n}\n\nexport { QueryVariable };\n//# sourceMappingURL=QueryVariable.js.map\n","import { getProcessedDataFrames, getFieldDisplayName, FieldType, isDataFrame } from '@grafana/data';\nimport { map } from 'rxjs';\n\nfunction toMetricFindValues() {\n return (source) => source.pipe(\n map((panelData) => {\n const frames = panelData.series;\n if (!frames || !frames.length) {\n return [];\n }\n if (areMetricFindValues(frames)) {\n return frames;\n }\n if (frames[0].fields.length === 0) {\n return [];\n }\n const processedDataFrames = getProcessedDataFrames(frames);\n const metrics = [];\n let valueIndex = -1;\n let textIndex = -1;\n let stringIndex = -1;\n let expandableIndex = -1;\n for (const frame of processedDataFrames) {\n for (let index = 0; index < frame.fields.length; index++) {\n const field = frame.fields[index];\n const fieldName = getFieldDisplayName(field, frame, frames).toLowerCase();\n if (field.type === FieldType.string && stringIndex === -1) {\n stringIndex = index;\n }\n if (fieldName === \"text\" && field.type === FieldType.string && textIndex === -1) {\n textIndex = index;\n }\n if (fieldName === \"value\" && field.type === FieldType.string && valueIndex === -1) {\n valueIndex = index;\n }\n if (fieldName === \"expandable\" && (field.type === FieldType.boolean || field.type === FieldType.number) && expandableIndex === -1) {\n expandableIndex = index;\n }\n }\n }\n if (stringIndex === -1) {\n throw new Error(\"Couldn't find any field of type string in the results.\");\n }\n for (const frame of frames) {\n for (let index = 0; index < frame.length; index++) {\n const expandable = expandableIndex !== -1 ? frame.fields[expandableIndex].values.get(index) : void 0;\n const string = frame.fields[stringIndex].values.get(index);\n const text = textIndex !== -1 ? frame.fields[textIndex].values.get(index) : null;\n const value = valueIndex !== -1 ? frame.fields[valueIndex].values.get(index) : null;\n if (valueIndex === -1 && textIndex === -1) {\n metrics.push({ text: string, value: string, expandable });\n continue;\n }\n if (valueIndex === -1 && textIndex !== -1) {\n metrics.push({ text, value: text, expandable });\n continue;\n }\n if (valueIndex !== -1 && textIndex === -1) {\n metrics.push({ text: value, value, expandable });\n continue;\n }\n metrics.push({ text, value, expandable });\n }\n }\n return metrics;\n })\n );\n}\nfunction areMetricFindValues(data) {\n if (!data) {\n return false;\n }\n if (!data.length) {\n return true;\n }\n const firstValue = data[0];\n if (isDataFrame(firstValue)) {\n return false;\n }\n for (const firstValueKey in firstValue) {\n if (!firstValue.hasOwnProperty(firstValueKey)) {\n continue;\n }\n if (firstValue[firstValueKey] !== null && typeof firstValue[firstValueKey] !== \"string\" && typeof firstValue[firstValueKey] !== \"number\") {\n continue;\n }\n const key = firstValueKey.toLowerCase();\n if (key === \"text\" || key === \"value\") {\n return true;\n }\n }\n return false;\n}\n\nexport { toMetricFindValues };\n//# sourceMappingURL=toMetricFindValues.js.map\n","function buildMetricTree(parent, depth) {\n const chars = [\"A\", \"B\", \"C\", \"D\", \"E\", \"F\", \"G\", \"H\"];\n const children = [];\n if (depth > 5) {\n return [];\n }\n for (const letter of chars) {\n const nodeName = `${parent}${letter}`;\n children.push({\n name: nodeName,\n children: buildMetricTree(nodeName, depth + 1)\n });\n }\n return children;\n}\nfunction queryTree(children, query, queryIndex) {\n if (queryIndex >= query.length) {\n return children;\n }\n if (query[queryIndex] === \"*\") {\n return children;\n }\n const nodeQuery = query[queryIndex];\n let result = [];\n let namesToMatch = [nodeQuery];\n if (nodeQuery.startsWith(\"{\")) {\n namesToMatch = nodeQuery.replace(/\\{|\\}/g, \"\").split(\",\");\n }\n for (const node of children) {\n for (const nameToMatch of namesToMatch) {\n if (nameToMatch.indexOf(\"*\") !== -1) {\n const pattern = nameToMatch.replace(\"*\", \"\");\n const regex = new RegExp(`^${pattern}.*`, \"gi\");\n if (regex.test(node.name)) {\n result = result.concat(queryTree([node], query, queryIndex + 1));\n }\n } else if (node.name === nameToMatch) {\n result = result.concat(queryTree(node.children, query, queryIndex + 1));\n }\n }\n }\n return result;\n}\nfunction queryMetricTree(query) {\n if (query.indexOf(\"value\") === 0) {\n return [{ name: query, children: [] }];\n }\n const children = buildMetricTree(\"\", 0);\n return queryTree(children, query.split(\".\"), 0);\n}\n\nexport { queryMetricTree };\n//# sourceMappingURL=metricTree.js.map\n","import { Subject, Observable } from 'rxjs';\nimport { sceneGraph } from '../../core/sceneGraph/index.js';\nimport { queryMetricTree } from '../../utils/metricTree.js';\nimport { VariableDependencyConfig } from '../VariableDependencyConfig.js';\nimport { renderSelectForVariable } from '../components/VariableValueSelect.js';\nimport { MultiValueVariable } from './MultiValueVariable.js';\nimport { VariableRefresh } from '@grafana/data';\nimport { getClosest } from '../../core/sceneGraph/utils.js';\nimport { SceneVariableSet } from '../sets/SceneVariableSet.js';\n\nvar __defProp = Object.defineProperty;\nvar __getOwnPropSymbols = Object.getOwnPropertySymbols;\nvar __hasOwnProp = Object.prototype.hasOwnProperty;\nvar __propIsEnum = Object.prototype.propertyIsEnumerable;\nvar __defNormalProp = (obj, key, value) => key in obj ? __defProp(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;\nvar __spreadValues = (a, b) => {\n for (var prop in b || (b = {}))\n if (__hasOwnProp.call(b, prop))\n __defNormalProp(a, prop, b[prop]);\n if (__getOwnPropSymbols)\n for (var prop of __getOwnPropSymbols(b)) {\n if (__propIsEnum.call(b, prop))\n __defNormalProp(a, prop, b[prop]);\n }\n return a;\n};\nclass TestVariable extends MultiValueVariable {\n constructor(initialState) {\n super(__spreadValues({\n type: \"custom\",\n name: \"Test\",\n value: \"Value\",\n text: \"Text\",\n query: \"Query\",\n options: [],\n refresh: VariableRefresh.onDashboardLoad\n }, initialState));\n this.completeUpdate = new Subject();\n this.isGettingValues = true;\n this.getValueOptionsCount = 0;\n this._variableDependency = new VariableDependencyConfig(this, {\n statePaths: [\"query\"]\n });\n }\n getValueOptions(args) {\n const { delayMs } = this.state;\n this.getValueOptionsCount += 1;\n return new Observable((observer) => {\n this.setState({ loading: true });\n if (this.state.throwError) {\n throw new Error(this.state.throwError);\n }\n const sub = this.completeUpdate.subscribe({\n next: () => {\n observer.next(this.issueQuery());\n observer.complete();\n }\n });\n let timeout;\n if (delayMs) {\n timeout = window.setTimeout(() => this.signalUpdateCompleted(), delayMs);\n } else if (delayMs === 0) {\n this.signalUpdateCompleted();\n }\n this.isGettingValues = true;\n return () => {\n sub.unsubscribe();\n window.clearTimeout(timeout);\n this.setState({ loading: false });\n this.isGettingValues = false;\n };\n });\n }\n cancel() {\n const sceneVarSet = getClosest(this, (s) => s instanceof SceneVariableSet ? s : void 0);\n sceneVarSet == null ? void 0 : sceneVarSet.cancel(this);\n }\n issueQuery() {\n const interpolatedQuery = sceneGraph.interpolate(this, this.state.query);\n const options = this.getOptions(interpolatedQuery);\n this.setState({\n issuedQuery: interpolatedQuery,\n options\n });\n return options;\n }\n getOptions(interpolatedQuery) {\n if (this.state.optionsToReturn) {\n return this.state.optionsToReturn;\n }\n return queryMetricTree(interpolatedQuery).map((x) => ({ label: x.name, value: x.name }));\n }\n signalUpdateCompleted() {\n this.completeUpdate.next(1);\n }\n}\nTestVariable.Component = ({ model }) => {\n return renderSelectForVariable(model);\n};\n\nexport { TestVariable };\n//# sourceMappingURL=TestVariable.js.map\n","import React, { useCallback } from 'react';\nimport { AutoSizeInput } from '@grafana/ui';\n\nfunction VariableValueInput({ model }) {\n const { value, key, loading } = model.useState();\n const onBlur = useCallback(\n (e) => {\n model.setValue(e.currentTarget.value);\n },\n [model]\n );\n const onKeyDown = useCallback(\n (e) => {\n if (e.key === \"Enter\") {\n model.setValue(e.currentTarget.value);\n }\n },\n [model]\n );\n return /* @__PURE__ */ React.createElement(AutoSizeInput, {\n id: key,\n placeholder: \"Enter value\",\n minWidth: 15,\n defaultValue: value,\n loading,\n onBlur,\n onKeyDown\n });\n}\n\nexport { VariableValueInput };\n//# sourceMappingURL=VariableValueInput.js.map\n","import React from 'react';\nimport { SceneObjectBase } from '../../core/SceneObjectBase.js';\nimport { SceneObjectUrlSyncConfig } from '../../services/SceneObjectUrlSyncConfig.js';\nimport { VariableValueInput } from '../components/VariableValueInput.js';\nimport { SceneVariableValueChangedEvent } from '../types.js';\n\nvar __defProp = Object.defineProperty;\nvar __getOwnPropSymbols = Object.getOwnPropertySymbols;\nvar __hasOwnProp = Object.prototype.hasOwnProperty;\nvar __propIsEnum = Object.prototype.propertyIsEnumerable;\nvar __defNormalProp = (obj, key, value) => key in obj ? __defProp(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;\nvar __spreadValues = (a, b) => {\n for (var prop in b || (b = {}))\n if (__hasOwnProp.call(b, prop))\n __defNormalProp(a, prop, b[prop]);\n if (__getOwnPropSymbols)\n for (var prop of __getOwnPropSymbols(b)) {\n if (__propIsEnum.call(b, prop))\n __defNormalProp(a, prop, b[prop]);\n }\n return a;\n};\nclass TextBoxVariable extends SceneObjectBase {\n constructor(initialState) {\n super(__spreadValues({\n type: \"textbox\",\n value: \"\",\n name: \"\"\n }, initialState));\n this._urlSync = new SceneObjectUrlSyncConfig(this, { keys: [this.getKey()] });\n }\n getValue() {\n return this.state.value;\n }\n setValue(newValue) {\n if (newValue !== this.state.value) {\n this.setState({ value: newValue });\n this.publishEvent(new SceneVariableValueChangedEvent(this), true);\n }\n }\n getKey() {\n return `var-${this.state.name}`;\n }\n getUrlState() {\n return { [this.getKey()]: this.state.value };\n }\n updateFromUrl(values) {\n const update = {};\n const val = values[this.getKey()];\n if (typeof val === \"string\") {\n update.value = val;\n }\n this.setState(update);\n }\n}\nTextBoxVariable.Component = ({ model }) => {\n return /* @__PURE__ */ React.createElement(VariableValueInput, {\n model\n });\n};\n\nexport { TextBoxVariable };\n//# sourceMappingURL=TextBoxVariable.js.map\n","import { SceneObjectBase } from '../../core/SceneObjectBase.js';\nimport { sceneGraph } from '../../core/sceneGraph/index.js';\n\nvar __defProp = Object.defineProperty;\nvar __defProps = Object.defineProperties;\nvar __getOwnPropDescs = Object.getOwnPropertyDescriptors;\nvar __getOwnPropSymbols = Object.getOwnPropertySymbols;\nvar __hasOwnProp = Object.prototype.hasOwnProperty;\nvar __propIsEnum = Object.prototype.propertyIsEnumerable;\nvar __defNormalProp = (obj, key, value) => key in obj ? __defProp(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;\nvar __spreadValues = (a, b) => {\n for (var prop in b || (b = {}))\n if (__hasOwnProp.call(b, prop))\n __defNormalProp(a, prop, b[prop]);\n if (__getOwnPropSymbols)\n for (var prop of __getOwnPropSymbols(b)) {\n if (__propIsEnum.call(b, prop))\n __defNormalProp(a, prop, b[prop]);\n }\n return a;\n};\nvar __spreadProps = (a, b) => __defProps(a, __getOwnPropDescs(b));\nclass LocalValueVariable extends SceneObjectBase {\n constructor(initialState) {\n super(__spreadProps(__spreadValues({\n type: \"system\",\n value: \"\",\n text: \"\",\n name: \"\"\n }, initialState), {\n skipUrlSync: true\n }));\n }\n getValue() {\n return this.state.value;\n }\n getValueText() {\n return this.state.text.toString();\n }\n isAncestorLoading() {\n var _a, _b;\n const ancestorScope = (_b = (_a = this.parent) == null ? void 0 : _a.parent) == null ? void 0 : _b.parent;\n if (!ancestorScope) {\n throw new Error(\"LocalValueVariable requires a parent SceneVariableSet that has an ancestor SceneVariableSet\");\n }\n const set = sceneGraph.getVariables(ancestorScope);\n const parentVar = sceneGraph.lookupVariable(this.state.name, ancestorScope);\n if (set && parentVar) {\n return set.isVariableLoadingOrWaitingToUpdate(parentVar);\n }\n throw new Error(\"LocalValueVariable requires a parent SceneVariableSet that has an ancestor SceneVariableSet\");\n }\n}\n\nexport { LocalValueVariable };\n//# sourceMappingURL=LocalValueVariable.js.map\n","import { rangeUtil } from '@grafana/data';\nimport { VariableRefresh } from '@grafana/schema';\nimport { Select } from '@grafana/ui';\nimport React from 'react';\nimport { of } from 'rxjs';\nimport { sceneGraph } from '../../core/sceneGraph/index.js';\nimport { SceneObjectBase } from '../../core/SceneObjectBase.js';\nimport { SceneObjectUrlSyncConfig } from '../../services/SceneObjectUrlSyncConfig.js';\nimport { AUTO_VARIABLE_VALUE, AUTO_VARIABLE_TEXT } from '../constants.js';\nimport { SceneVariableValueChangedEvent } from '../types.js';\n\nvar __defProp = Object.defineProperty;\nvar __getOwnPropSymbols = Object.getOwnPropertySymbols;\nvar __hasOwnProp = Object.prototype.hasOwnProperty;\nvar __propIsEnum = Object.prototype.propertyIsEnumerable;\nvar __defNormalProp = (obj, key, value) => key in obj ? __defProp(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;\nvar __spreadValues = (a, b) => {\n for (var prop in b || (b = {}))\n if (__hasOwnProp.call(b, prop))\n __defNormalProp(a, prop, b[prop]);\n if (__getOwnPropSymbols)\n for (var prop of __getOwnPropSymbols(b)) {\n if (__propIsEnum.call(b, prop))\n __defNormalProp(a, prop, b[prop]);\n }\n return a;\n};\nclass IntervalVariable extends SceneObjectBase {\n constructor(initialState) {\n super(__spreadValues({\n type: \"interval\",\n value: \"\",\n intervals: [\"1m\", \"10m\", \"30m\", \"1h\", \"6h\", \"12h\", \"1d\", \"7d\", \"14d\", \"30d\"],\n name: \"\",\n autoStepCount: 30,\n autoMinInterval: \"10s\",\n autoEnabled: false,\n refresh: VariableRefresh.onTimeRangeChanged\n }, initialState));\n this._onChange = (value) => {\n this.setState({ value: value.value });\n this.publishEvent(new SceneVariableValueChangedEvent(this), true);\n };\n this._urlSync = new SceneObjectUrlSyncConfig(this, { keys: [this.getKey()] });\n }\n getKey() {\n return `var-${this.state.name}`;\n }\n getUrlState() {\n return { [this.getKey()]: this.state.value };\n }\n updateFromUrl(values) {\n const update = {};\n const val = values[this.getKey()];\n if (typeof val === \"string\") {\n if (val.startsWith(\"$__auto_interval_\")) {\n update.value = AUTO_VARIABLE_VALUE;\n } else {\n update.value = val;\n }\n }\n this.setState(update);\n }\n getOptionsForSelect() {\n const { value: currentValue, intervals, autoEnabled } = this.state;\n let options = intervals.map((interval) => ({ value: interval, label: interval }));\n if (autoEnabled) {\n options = [{ value: AUTO_VARIABLE_VALUE, label: AUTO_VARIABLE_TEXT }, ...options];\n }\n if (currentValue && !options.some((option) => option.value === currentValue)) {\n options.push({ value: currentValue, label: currentValue });\n }\n return options;\n }\n getValue() {\n const { value, autoStepCount, autoMinInterval } = this.state;\n if (value === AUTO_VARIABLE_VALUE) {\n return this.getAutoRefreshInteval(autoStepCount, autoMinInterval);\n }\n return value;\n }\n getAutoRefreshInteval(autoStepCount, minRefreshInterval) {\n const timeRange = sceneGraph.getTimeRange(this).state.value;\n const intervalObject = rangeUtil.calculateInterval(timeRange, autoStepCount, minRefreshInterval);\n return intervalObject.interval;\n }\n validateAndUpdate() {\n const { value, intervals } = this.state;\n let shouldPublish = false;\n if (value === AUTO_VARIABLE_VALUE) {\n shouldPublish = true;\n } else if (!value && intervals.length > 0) {\n const firstOption = intervals[0];\n this.setState({ value: firstOption });\n shouldPublish = true;\n }\n if (shouldPublish) {\n this.publishEvent(new SceneVariableValueChangedEvent(this), true);\n }\n return of({});\n }\n}\nIntervalVariable.Component = ({ model }) => {\n const { key, value } = model.useState();\n return /* @__PURE__ */ React.createElement(Select, {\n id: key,\n placeholder: \"Select value\",\n width: \"auto\",\n value,\n tabSelectsValue: false,\n options: model.getOptionsForSelect(),\n onChange: model._onChange\n });\n};\n\nexport { IntervalVariable };\n//# sourceMappingURL=IntervalVariable.js.map\n","class AdHocFiltersVariableUrlSyncHandler {\n constructor(_variable) {\n this._variable = _variable;\n }\n getKey() {\n return `var-${this._variable.state.name}`;\n }\n getKeys() {\n return [this.getKey()];\n }\n getUrlState() {\n let filters = this._variable.state.filters;\n const value = filters.map((filter) => toArray(filter).map(escapeDelimiter).join(\"|\"));\n return { [this.getKey()]: value };\n }\n updateFromUrl(values) {\n const urlValue = values[this.getKey()];\n if (urlValue == null) {\n return;\n }\n const filters = deserializeUrlToFilters(urlValue);\n this._variable.setState({ filters });\n }\n}\nfunction deserializeUrlToFilters(value) {\n if (Array.isArray(value)) {\n const values = value;\n return values.map(toFilter).filter(isFilter);\n }\n const filter = toFilter(value);\n return filter === null ? [] : [filter];\n}\nfunction escapeDelimiter(value) {\n if (value === null || value === void 0) {\n return \"\";\n }\n return /\\|/g[Symbol.replace](value, \"__gfp__\");\n}\nfunction unescapeDelimiter(value) {\n if (value === null || value === void 0) {\n return \"\";\n }\n return /__gfp__/g[Symbol.replace](value, \"|\");\n}\nfunction toArray(filter) {\n return [filter.key, filter.operator, filter.value];\n}\nfunction toFilter(value) {\n if (typeof value !== \"string\" || value.length === 0) {\n return null;\n }\n const parts = value.split(\"|\").map(unescapeDelimiter);\n return {\n key: parts[0],\n operator: parts[1],\n value: parts[2],\n condition: \"\"\n };\n}\nfunction isFilter(filter) {\n return filter !== null && typeof filter.key === \"string\" && typeof filter.value === \"string\";\n}\n\nexport { AdHocFiltersVariableUrlSyncHandler };\n//# sourceMappingURL=AdHocFiltersVariableUrlSyncHandler.js.map\n","import React, { useState } from 'react';\nimport { toOption } from '@grafana/data';\nimport { useStyles2, Select, Field, Button } from '@grafana/ui';\nimport { css } from '@emotion/css';\nimport { ControlsLabel } from '../../utils/ControlsLabel.js';\n\nvar __defProp = Object.defineProperty;\nvar __defProps = Object.defineProperties;\nvar __getOwnPropDescs = Object.getOwnPropertyDescriptors;\nvar __getOwnPropSymbols = Object.getOwnPropertySymbols;\nvar __hasOwnProp = Object.prototype.hasOwnProperty;\nvar __propIsEnum = Object.prototype.propertyIsEnumerable;\nvar __defNormalProp = (obj, key, value) => key in obj ? __defProp(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;\nvar __spreadValues = (a, b) => {\n for (var prop in b || (b = {}))\n if (__hasOwnProp.call(b, prop))\n __defNormalProp(a, prop, b[prop]);\n if (__getOwnPropSymbols)\n for (var prop of __getOwnPropSymbols(b)) {\n if (__propIsEnum.call(b, prop))\n __defNormalProp(a, prop, b[prop]);\n }\n return a;\n};\nvar __spreadProps = (a, b) => __defProps(a, __getOwnPropDescs(b));\nfunction AdHocFilterRenderer({ filter, model }) {\n var _a, _b;\n const styles = useStyles2(getStyles);\n const [state, setState] = useState({});\n const keyValue = filter.key !== \"\" ? toOption(filter.key) : null;\n const valueValue = filter.value !== \"\" ? toOption(filter.value) : null;\n const valueSelect = /* @__PURE__ */ React.createElement(Select, {\n disabled: model.state.readOnly,\n className: state.isKeysOpen ? styles.widthWhenOpen : void 0,\n width: \"auto\",\n value: valueValue,\n placeholder: \"value\",\n options: state.values,\n onChange: (v) => model._updateFilter(filter, \"value\", v.value),\n isOpen: state.isValuesOpen,\n isLoading: state.isValuesLoading,\n onOpenMenu: async () => {\n setState(__spreadProps(__spreadValues({}, state), { isValuesLoading: true }));\n const values = await model._getValuesFor(filter);\n setState(__spreadProps(__spreadValues({}, state), { isValuesLoading: false, isValuesOpen: true, values }));\n },\n onCloseMenu: () => {\n setState(__spreadProps(__spreadValues({}, state), { isValuesOpen: false }));\n }\n });\n const keySelect = /* @__PURE__ */ React.createElement(Select, {\n disabled: model.state.readOnly,\n className: state.isKeysOpen ? styles.widthWhenOpen : void 0,\n width: \"auto\",\n value: keyValue,\n placeholder: \"Select label\",\n options: state.keys,\n onChange: (v) => model._updateFilter(filter, \"key\", v.value),\n autoFocus: filter.key === \"\",\n isOpen: state.isKeysOpen,\n isLoading: state.isKeysLoading,\n onOpenMenu: async () => {\n setState(__spreadProps(__spreadValues({}, state), { isKeysLoading: true }));\n const keys = await model._getKeys(filter.key);\n setState(__spreadProps(__spreadValues({}, state), { isKeysLoading: false, isKeysOpen: true, keys }));\n },\n onCloseMenu: () => {\n setState(__spreadProps(__spreadValues({}, state), { isKeysOpen: false }));\n },\n openMenuOnFocus: true\n });\n if (model.state.layout === \"vertical\") {\n if (filter.key) {\n const label = /* @__PURE__ */ React.createElement(ControlsLabel, {\n layout: \"vertical\",\n label: (_a = filter.key) != null ? _a : \"\",\n onRemove: () => model._removeFilter(filter)\n });\n return /* @__PURE__ */ React.createElement(Field, {\n label,\n \"data-testid\": `AdHocFilter-${filter.key}`,\n className: styles.field\n }, valueSelect);\n } else {\n return /* @__PURE__ */ React.createElement(Field, {\n label: \"Select label\",\n \"data-testid\": `AdHocFilter-${filter.key}`,\n className: styles.field\n }, keySelect);\n }\n }\n return /* @__PURE__ */ React.createElement(\"div\", {\n className: styles.wrapper,\n \"data-testid\": `AdHocFilter-${filter.key}`\n }, keySelect, /* @__PURE__ */ React.createElement(Select, {\n value: filter.operator,\n disabled: model.state.readOnly,\n options: model._getOperators(),\n width: \"auto\",\n onChange: (v) => model._updateFilter(filter, \"operator\", v.value)\n }), valueSelect, /* @__PURE__ */ React.createElement(Button, {\n variant: \"secondary\",\n \"aria-label\": \"Remove filter\",\n title: \"Remove filter\",\n className: styles.removeButton,\n icon: \"times\",\n \"data-testid\": `AdHocFilter-remove-${(_b = filter.key) != null ? _b : \"\"}`,\n onClick: () => model._removeFilter(filter)\n }));\n}\nconst getStyles = (theme) => ({\n field: css({\n marginBottom: 0\n }),\n wrapper: css({\n display: \"flex\",\n \"> *\": {\n \"&:not(:first-child)\": {\n marginLeft: -1\n },\n \"&:first-child\": {\n borderTopRightRadius: 0,\n borderBottomRightRadius: 0\n },\n \"&:last-child\": {\n borderTopLeftRadius: 0,\n borderBottomLeftRadius: 0\n },\n \"&:not(:first-child):not(:last-child)\": {\n borderRadius: 0\n },\n position: \"relative\",\n zIndex: 0,\n \"&:hover\": {\n zIndex: 1\n },\n \"&:focus-within\": {\n zIndex: 2\n }\n }\n }),\n widthWhenOpen: css({\n minWidth: theme.spacing(16)\n }),\n removeButton: css({\n paddingLeft: theme.spacing(3 / 2),\n paddingRight: theme.spacing(3 / 2),\n borderLeft: \"none\",\n position: \"relative\",\n left: \"1px\"\n })\n});\n\nexport { AdHocFilterRenderer };\n//# sourceMappingURL=AdHocFilterRenderer.js.map\n","import React from 'react';\nimport { AdHocFilterRenderer } from './AdHocFilterRenderer.js';\nimport { Button } from '@grafana/ui';\n\nfunction AdHocFilterBuilder({ model }) {\n const { _wip } = model.useState();\n if (!_wip) {\n return /* @__PURE__ */ React.createElement(Button, {\n variant: \"secondary\",\n icon: \"plus\",\n title: \"Add filter\",\n \"aria-label\": \"Add filter\",\n \"data-testid\": `AdHocFilter-add`,\n onClick: () => model._addWip()\n });\n }\n return /* @__PURE__ */ React.createElement(AdHocFilterRenderer, {\n filter: _wip,\n model\n });\n}\n\nexport { AdHocFilterBuilder };\n//# sourceMappingURL=AdHocFilterBuilder.js.map\n","import { SceneObjectBase } from '../../core/SceneObjectBase.js';\nimport { patchGetAdhocFilters } from './patchGetAdhocFilters.js';\nimport { getDataSourceSrv } from '@grafana/runtime';\nimport { AdHocFiltersVariableUrlSyncHandler } from './AdHocFiltersVariableUrlSyncHandler.js';\nimport { useStyles2 } from '@grafana/ui';\nimport React from 'react';\nimport { ControlsLabel } from '../../utils/ControlsLabel.js';\nimport { AdHocFilterRenderer } from './AdHocFilterRenderer.js';\nimport { AdHocFilterBuilder } from './AdHocFilterBuilder.js';\nimport { css } from '@emotion/css';\n\nvar __defProp = Object.defineProperty;\nvar __defProps = Object.defineProperties;\nvar __getOwnPropDescs = Object.getOwnPropertyDescriptors;\nvar __getOwnPropSymbols = Object.getOwnPropertySymbols;\nvar __hasOwnProp = Object.prototype.hasOwnProperty;\nvar __propIsEnum = Object.prototype.propertyIsEnumerable;\nvar __defNormalProp = (obj, key, value) => key in obj ? __defProp(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;\nvar __spreadValues = (a, b) => {\n for (var prop in b || (b = {}))\n if (__hasOwnProp.call(b, prop))\n __defNormalProp(a, prop, b[prop]);\n if (__getOwnPropSymbols)\n for (var prop of __getOwnPropSymbols(b)) {\n if (__propIsEnum.call(b, prop))\n __defNormalProp(a, prop, b[prop]);\n }\n return a;\n};\nvar __spreadProps = (a, b) => __defProps(a, __getOwnPropDescs(b));\nclass AdHocFilterSet extends SceneObjectBase {\n constructor(initialState) {\n super(__spreadValues({\n name: \"Filters\",\n filters: [],\n baseFilters: [],\n datasource: null,\n applyMode: \"same-datasource\",\n layout: \"horizontal\"\n }, initialState));\n this._urlSync = new AdHocFiltersVariableUrlSyncHandler(this);\n this._scopedVars = { __sceneObject: { value: this } };\n this._dataSourceSrv = getDataSourceSrv();\n if (this.state.applyMode === \"same-datasource\") {\n patchGetAdhocFilters(this);\n }\n }\n _updateFilter(filter, prop, value) {\n if (value == null) {\n return;\n }\n const { filters, _wip } = this.state;\n if (filter === _wip) {\n if (prop === \"value\") {\n this.setState({ filters: [...filters, __spreadProps(__spreadValues({}, _wip), { [prop]: value })], _wip: void 0 });\n } else {\n this.setState({ _wip: __spreadProps(__spreadValues({}, filter), { [prop]: value }) });\n }\n return;\n }\n const updatedFilters = this.state.filters.map((f) => {\n if (f === filter) {\n return __spreadProps(__spreadValues({}, f), { [prop]: value });\n }\n return f;\n });\n this.setState({ filters: updatedFilters });\n }\n _removeFilter(filter) {\n if (filter === this.state._wip) {\n this.setState({ _wip: void 0 });\n return;\n }\n this.setState({ filters: this.state.filters.filter((f) => f !== filter) });\n }\n async _getKeys(currentKey) {\n var _a, _b;\n const override = await ((_b = (_a = this.state).getTagKeysProvider) == null ? void 0 : _b.call(_a, this, currentKey));\n if (override && override.replace) {\n return override.values.map(toSelectableValue);\n }\n const ds = await this._dataSourceSrv.get(this.state.datasource, this._scopedVars);\n if (!ds || !ds.getTagKeys) {\n return [];\n }\n const otherFilters = this.state.filters.filter((f) => f.key !== currentKey).concat(this.state.baseFilters);\n let keys = await ds.getTagKeys({ filters: otherFilters });\n if (override) {\n keys = keys.concat(override.values);\n }\n const tagKeyRegexFilter = this.state.tagKeyRegexFilter;\n if (tagKeyRegexFilter) {\n keys = keys.filter((f) => f.text.match(tagKeyRegexFilter));\n }\n return keys.map(toSelectableValue);\n }\n async _getValuesFor(filter) {\n var _a, _b;\n const override = await ((_b = (_a = this.state).getTagValuesProvider) == null ? void 0 : _b.call(_a, this, filter));\n if (override && override.replace) {\n return override.values.map(toSelectableValue);\n }\n const ds = await this._dataSourceSrv.get(this.state.datasource, this._scopedVars);\n if (!ds || !ds.getTagValues) {\n return [];\n }\n const otherFilters = this.state.filters.filter((f) => f.key !== filter.key).concat(this.state.baseFilters);\n let values = await ds.getTagValues({ key: filter.key, filters: otherFilters });\n if (override) {\n values = values.concat(override.values);\n }\n return values.map(toSelectableValue);\n }\n _addWip() {\n this.setState({ _wip: { key: \"\", value: \"\", operator: \"=\", condition: \"\" } });\n }\n _getOperators() {\n return [\"=\", \"!=\", \"<\", \">\", \"=~\", \"!~\"].map((value) => ({\n label: value,\n value\n }));\n }\n}\nAdHocFilterSet.Component = AdHocFiltersSetRenderer;\nfunction AdHocFiltersSetRenderer({ model }) {\n const { filters, readOnly, layout, name } = model.useState();\n const styles = useStyles2(getStyles);\n return /* @__PURE__ */ React.createElement(\"div\", {\n className: styles.wrapper\n }, layout !== \"vertical\" && /* @__PURE__ */ React.createElement(ControlsLabel, {\n label: name != null ? name : \"Filters\",\n icon: \"filter\"\n }), filters.map((filter, index) => /* @__PURE__ */ React.createElement(React.Fragment, {\n key: index\n }, /* @__PURE__ */ React.createElement(AdHocFilterRenderer, {\n filter,\n model\n }))), !readOnly && /* @__PURE__ */ React.createElement(AdHocFilterBuilder, {\n model,\n key: \"'builder\"\n }));\n}\nconst getStyles = (theme) => ({\n wrapper: css({\n display: \"flex\",\n gap: theme.spacing(2),\n alignItems: \"flex-end\"\n }),\n filterIcon: css({\n color: theme.colors.text.secondary,\n paddingRight: theme.spacing(0.5)\n })\n});\nfunction toSelectableValue({ text, value }) {\n return {\n label: text,\n value: String(value != null ? value : text)\n };\n}\n\nexport { AdHocFilterSet, AdHocFiltersSetRenderer };\n//# sourceMappingURL=AdHocFiltersSet.js.map\n","import { defaultDashboard as defaultDashboard$1, defaultVariableModel as defaultVariableModel$1, defaultPanel as defaultPanel$1, defaultRowPanel as defaultRowPanel$1, defaultFieldConfig as defaultFieldConfig$1, defaultFieldConfigSource as defaultFieldConfigSource$1, defaultMatcherConfig as defaultMatcherConfig$1, defaultAnnotationQuery as defaultAnnotationQuery$1, defaultAnnotationContainer as defaultAnnotationContainer$1, defaultThresholdsConfig as defaultThresholdsConfig$1 } from '../raw/dashboard/x/dashboard_types.gen.js';\n\nvar __defProp = Object.defineProperty;\nvar __defProps = Object.defineProperties;\nvar __getOwnPropDescs = Object.getOwnPropertyDescriptors;\nvar __getOwnPropSymbols = Object.getOwnPropertySymbols;\nvar __hasOwnProp = Object.prototype.hasOwnProperty;\nvar __propIsEnum = Object.prototype.propertyIsEnumerable;\nvar __defNormalProp = (obj, key, value) => key in obj ? __defProp(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;\nvar __spreadValues = (a, b) => {\n for (var prop in b || (b = {}))\n if (__hasOwnProp.call(b, prop))\n __defNormalProp(a, prop, b[prop]);\n if (__getOwnPropSymbols)\n for (var prop of __getOwnPropSymbols(b)) {\n if (__propIsEnum.call(b, prop))\n __defNormalProp(a, prop, b[prop]);\n }\n return a;\n};\nvar __spreadProps = (a, b) => __defProps(a, __getOwnPropDescs(b));\nvar VariableHide = /* @__PURE__ */ ((VariableHide2) => {\n VariableHide2[VariableHide2[\"dontHide\"] = 0] = \"dontHide\";\n VariableHide2[VariableHide2[\"hideLabel\"] = 1] = \"hideLabel\";\n VariableHide2[VariableHide2[\"hideVariable\"] = 2] = \"hideVariable\";\n return VariableHide2;\n})(VariableHide || {});\nconst defaultDashboard = defaultDashboard$1;\nconst defaultVariableModel = __spreadProps(__spreadValues({}, defaultVariableModel$1), {\n description: null,\n hide: 0 /* dontHide */,\n datasource: null\n});\nconst defaultPanel = defaultPanel$1;\nconst defaultRowPanel = defaultRowPanel$1;\nconst defaultFieldConfig = defaultFieldConfig$1;\nconst defaultFieldConfigSource = defaultFieldConfigSource$1;\nconst defaultMatcherConfig = defaultMatcherConfig$1;\nconst defaultAnnotationQuery = defaultAnnotationQuery$1;\nconst defaultAnnotationContainer = defaultAnnotationContainer$1;\nconst defaultThresholdsConfig = defaultThresholdsConfig$1;\n\nexport { VariableHide, defaultAnnotationContainer, defaultAnnotationQuery, defaultDashboard, defaultFieldConfig, defaultFieldConfigSource, defaultMatcherConfig, defaultPanel, defaultRowPanel, defaultThresholdsConfig, defaultVariableModel };\n//# sourceMappingURL=dashboard.types.js.map\n","import React from 'react';\nimport { SceneObjectBase } from '../../core/SceneObjectBase.js';\nimport { SceneVariableValueChangedEvent } from '../types.js';\nimport { AdHocFilterSet } from './AdHocFiltersSet.js';\nimport { VariableHide } from '@grafana/schema';\n\nvar __defProp = Object.defineProperty;\nvar __defProps = Object.defineProperties;\nvar __getOwnPropDescs = Object.getOwnPropertyDescriptors;\nvar __getOwnPropSymbols = Object.getOwnPropertySymbols;\nvar __hasOwnProp = Object.prototype.hasOwnProperty;\nvar __propIsEnum = Object.prototype.propertyIsEnumerable;\nvar __defNormalProp = (obj, key, value) => key in obj ? __defProp(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;\nvar __spreadValues = (a, b) => {\n for (var prop in b || (b = {}))\n if (__hasOwnProp.call(b, prop))\n __defNormalProp(a, prop, b[prop]);\n if (__getOwnPropSymbols)\n for (var prop of __getOwnPropSymbols(b)) {\n if (__propIsEnum.call(b, prop))\n __defNormalProp(a, prop, b[prop]);\n }\n return a;\n};\nvar __spreadProps = (a, b) => __defProps(a, __getOwnPropDescs(b));\nconst _AdHocFiltersVariable = class extends SceneObjectBase {\n static create(state) {\n var _a;\n return new _AdHocFiltersVariable({\n type: \"adhoc\",\n hide: VariableHide.hideLabel,\n name: (_a = state.name) != null ? _a : \"Filters\",\n set: new AdHocFilterSet(__spreadProps(__spreadValues({}, state), {\n applyMode: \"manual\"\n }))\n });\n }\n constructor(state) {\n var _a;\n super(__spreadProps(__spreadValues({}, state), {\n filterExpression: (_a = state.filterExpression) != null ? _a : renderFilters(state.set.state.filters)\n }));\n this.addActivationHandler(() => {\n this._subs.add(\n this.state.set.subscribeToState((newState, prevState) => {\n if (newState.filters !== prevState.filters) {\n this._updateFilterExpression(newState.filters, true);\n }\n })\n );\n this._updateFilterExpression(this.state.set.state.filters, false);\n });\n }\n getValue() {\n return this.state.filterExpression;\n }\n _updateFilterExpression(filters, publishEvent) {\n let expr = renderFilters(filters);\n if (expr === this.state.filterExpression) {\n return;\n }\n this.setState({ filterExpression: expr });\n if (publishEvent) {\n this.publishEvent(new SceneVariableValueChangedEvent(this), true);\n }\n }\n};\nlet AdHocFiltersVariable = _AdHocFiltersVariable;\nAdHocFiltersVariable.Component = ({ model }) => {\n return /* @__PURE__ */ React.createElement(AdHocFilterSet.Component, {\n model: model.state.set\n });\n};\nfunction renderFilters(filters) {\n let expr = \"\";\n for (const filter of filters) {\n expr += `${renderFilter(filter)},`;\n }\n if (expr.length > 0) {\n expr = expr.slice(0, -1);\n }\n return expr;\n}\nfunction renderFilter(filter) {\n let value = \"\";\n if (filter.operator === \"=~\" || filter.operator === \"!~\\xA8\") {\n value = escapeLabelValueInRegexSelector(filter.value);\n } else {\n value = escapeLabelValueInExactSelector(filter.value);\n }\n return `${filter.key}${filter.operator}\"${value}\"`;\n}\nfunction escapeLabelValueInExactSelector(labelValue) {\n return labelValue.replace(/\\\\/g, \"\\\\\\\\\").replace(/\\n/g, \"\\\\n\").replace(/\"/g, '\\\\\"');\n}\nfunction escapeLabelValueInRegexSelector(labelValue) {\n return escapeLabelValueInExactSelector(escapeLokiRegexp(labelValue));\n}\nconst RE2_METACHARACTERS = /[*+?()|\\\\.\\[\\]{}^$]/g;\nfunction escapeLokiRegexp(value) {\n return value.replace(RE2_METACHARACTERS, \"\\\\$&\");\n}\n\nexport { AdHocFiltersVariable, escapeLabelValueInExactSelector, escapeLabelValueInRegexSelector };\n//# sourceMappingURL=AdHocFiltersVariable.js.map\n","import { isEqual } from 'lodash';\nimport { locationService } from '@grafana/runtime';\nimport { SceneObjectStateChangedEvent } from '../core/events.js';\nimport { writeSceneLog } from '../utils/writeSceneLog.js';\n\nclass UrlSyncManager {\n constructor() {\n this.urlKeyMapper = new UniqueUrlKeyMapper();\n this._stateSub = null;\n this._locationSub = null;\n this._onLocationUpdate = (location) => {\n if (this._lastPath !== location.pathname) {\n return;\n }\n const urlParams = new URLSearchParams(location.search);\n this.urlKeyMapper.rebuildIndex(this._sceneRoot);\n this._syncSceneStateFromUrl(this._sceneRoot, urlParams);\n this._lastPath = location.pathname;\n };\n this._onStateChanged = ({ payload }) => {\n const changedObject = payload.changedObject;\n if (changedObject.urlSync) {\n const newUrlState = changedObject.urlSync.getUrlState();\n const searchParams = locationService.getSearch();\n const mappedUpdated = {};\n this.urlKeyMapper.rebuildIndex(this._sceneRoot);\n for (const [key, newUrlValue] of Object.entries(newUrlState)) {\n const uniqueKey = this.urlKeyMapper.getUniqueKey(key, changedObject);\n const currentUrlValue = searchParams.getAll(uniqueKey);\n if (!isUrlValueEqual(currentUrlValue, newUrlValue)) {\n mappedUpdated[uniqueKey] = newUrlValue;\n }\n }\n if (Object.keys(mappedUpdated).length > 0) {\n locationService.partial(mappedUpdated, true);\n }\n }\n };\n }\n initSync(root) {\n if (!this._locationSub) {\n writeSceneLog(\"UrlSyncManager\", \"New location listen\");\n this._locationSub = locationService.getHistory().listen(this._onLocationUpdate);\n }\n if (this._stateSub) {\n writeSceneLog(\"UrlSyncManager\", \"Unregister previous scene state subscription\", this._sceneRoot.state.key);\n this._stateSub.unsubscribe();\n }\n this._sceneRoot = root;\n this._lastPath = locationService.getLocation().pathname;\n this._stateSub = root.subscribeToEvent(SceneObjectStateChangedEvent, this._onStateChanged);\n this.syncFrom(this._sceneRoot);\n }\n cleanUp(root) {\n if (this._sceneRoot !== root) {\n return;\n }\n writeSceneLog(\"UrlSyncManager\", \"Clean up\");\n if (this._locationSub) {\n this._locationSub();\n writeSceneLog(\"UrlSyncManager\", \"Unregister history listen\");\n this._locationSub = null;\n }\n if (this._stateSub) {\n this._stateSub.unsubscribe();\n this._stateSub = null;\n writeSceneLog(\n \"UrlSyncManager\",\n \"Root deactived, unsub to state\",\n \"same key\",\n this._sceneRoot.state.key === root.state.key\n );\n }\n }\n syncFrom(sceneObj) {\n const urlParams = locationService.getSearch();\n this.urlKeyMapper.rebuildIndex(this._sceneRoot);\n this._syncSceneStateFromUrl(sceneObj, urlParams);\n }\n _syncSceneStateFromUrl(sceneObject, urlParams) {\n if (sceneObject.urlSync) {\n const urlState = {};\n const currentState = sceneObject.urlSync.getUrlState();\n for (const key of sceneObject.urlSync.getKeys()) {\n const uniqueKey = this.urlKeyMapper.getUniqueKey(key, sceneObject);\n const newValue = urlParams.getAll(uniqueKey);\n const currentValue = currentState[key];\n if (isUrlValueEqual(newValue, currentValue)) {\n continue;\n }\n if (newValue.length > 0) {\n if (Array.isArray(currentValue)) {\n urlState[key] = newValue;\n } else {\n urlState[key] = newValue[0];\n }\n } else {\n urlState[key] = null;\n }\n }\n if (Object.keys(urlState).length > 0) {\n sceneObject.urlSync.updateFromUrl(urlState);\n }\n }\n sceneObject.forEachChild((child) => this._syncSceneStateFromUrl(child, urlParams));\n }\n getUrlState(root) {\n const urlKeyMapper = new UniqueUrlKeyMapper();\n urlKeyMapper.rebuildIndex(root);\n const result = {};\n const visitNode = (obj) => {\n if (obj.urlSync) {\n const newUrlState = obj.urlSync.getUrlState();\n for (const [key, value] of Object.entries(newUrlState)) {\n if (value != null) {\n const uniqueKey = urlKeyMapper.getUniqueKey(key, obj);\n result[uniqueKey] = value;\n }\n }\n }\n obj.forEachChild(visitNode);\n };\n visitNode(root);\n return result;\n }\n}\nclass UniqueUrlKeyMapper {\n constructor() {\n this.index = /* @__PURE__ */ new Map();\n }\n getUniqueKey(key, obj) {\n const objectsWithKey = this.index.get(key);\n if (!objectsWithKey) {\n throw new Error(\"Cannot find any scene object that uses the key '\" + key + \"'\");\n }\n const address = objectsWithKey.findIndex((o) => o.sceneObject === obj);\n if (address > 0) {\n return `${key}-${address + 1}`;\n }\n return key;\n }\n rebuildIndex(root) {\n this.index.clear();\n this.buildIndex(root, 0);\n }\n buildIndex(sceneObject, depth) {\n if (sceneObject.urlSync) {\n for (const key of sceneObject.urlSync.getKeys()) {\n const hit = this.index.get(key);\n if (hit) {\n hit.push({ sceneObject, depth });\n hit.sort((a, b) => a.depth - b.depth);\n } else {\n this.index.set(key, [{ sceneObject, depth }]);\n }\n }\n }\n sceneObject.forEachChild((child) => this.buildIndex(child, depth + 1));\n }\n}\nfunction isUrlValueEqual(currentUrlValue, newUrlValue) {\n if (currentUrlValue.length === 0 && newUrlValue == null) {\n return true;\n }\n if (!Array.isArray(newUrlValue) && (currentUrlValue == null ? void 0 : currentUrlValue.length) === 1) {\n return newUrlValue === currentUrlValue[0];\n }\n if ((newUrlValue == null ? void 0 : newUrlValue.length) === 0 && currentUrlValue === null) {\n return true;\n }\n return isEqual(currentUrlValue, newUrlValue);\n}\nlet urlSyncManager;\nfunction getUrlSyncManager() {\n if (!urlSyncManager) {\n urlSyncManager = new UrlSyncManager();\n }\n return urlSyncManager;\n}\n\nexport { UrlSyncManager, getUrlSyncManager, isUrlValueEqual };\n//# sourceMappingURL=UrlSyncManager.js.map\n","import { css } from '@emotion/css';\nimport { useStyles2 } from '@grafana/ui';\nimport React from 'react';\nimport { SceneObjectBase } from '../core/SceneObjectBase.js';\nimport { getUrlSyncManager } from '../services/UrlSyncManager.js';\nimport { setWindowGrafanaSceneContext } from '../utils/compatibility/setWindowGrafanaSceneContext.js';\n\nclass EmbeddedScene extends SceneObjectBase {\n constructor(state) {\n super(state);\n this.addActivationHandler(() => {\n const unsetGlobalScene = setWindowGrafanaSceneContext(this);\n return () => {\n unsetGlobalScene();\n getUrlSyncManager().cleanUp(this);\n };\n });\n }\n initUrlSync() {\n getUrlSyncManager().initSync(this);\n }\n}\nEmbeddedScene.Component = EmbeddedSceneRenderer;\nfunction EmbeddedSceneRenderer({ model }) {\n const { body, controls } = model.useState();\n const styles = useStyles2(getStyles);\n return /* @__PURE__ */ React.createElement(\"div\", {\n className: styles.container\n }, controls && /* @__PURE__ */ React.createElement(\"div\", {\n className: styles.controls\n }, controls.map((control) => /* @__PURE__ */ React.createElement(control.Component, {\n key: control.state.key,\n model: control\n }))), /* @__PURE__ */ React.createElement(\"div\", {\n className: styles.body\n }, /* @__PURE__ */ React.createElement(body.Component, {\n model: body\n })));\n}\nconst getStyles = (theme) => {\n return {\n container: css({\n flexGrow: 1,\n display: \"flex\",\n gap: theme.spacing(2),\n minHeight: \"100%\",\n flexDirection: \"column\"\n }),\n body: css({\n flexGrow: 1,\n display: \"flex\",\n gap: theme.spacing(1)\n }),\n controls: css({\n display: \"flex\",\n gap: theme.spacing(2),\n alignItems: \"flex-end\",\n flexWrap: \"wrap\"\n })\n };\n};\n\nexport { EmbeddedScene };\n//# sourceMappingURL=EmbeddedScene.js.map\n","import { writeSceneLog } from '../writeSceneLog.js';\n\nfunction setWindowGrafanaSceneContext(activeScene) {\n const prevScene = window.__grafanaSceneContext;\n writeSceneLog(\"setWindowGrafanaScene\", \"set window.__grafanaSceneContext\", activeScene);\n window.__grafanaSceneContext = activeScene;\n return () => {\n if (window.__grafanaSceneContext === activeScene) {\n writeSceneLog(\"setWindowGrafanaScene\", \"restore window.__grafanaSceneContext\", prevScene);\n window.__grafanaSceneContext = prevScene;\n }\n };\n}\n\nexport { setWindowGrafanaSceneContext };\n//# sourceMappingURL=setWindowGrafanaSceneContext.js.map\n","export var noop = function () { };\nexport function on(obj) {\n var args = [];\n for (var _i = 1; _i < arguments.length; _i++) {\n args[_i - 1] = arguments[_i];\n }\n if (obj && obj.addEventListener) {\n obj.addEventListener.apply(obj, args);\n }\n}\nexport function off(obj) {\n var args = [];\n for (var _i = 1; _i < arguments.length; _i++) {\n args[_i - 1] = arguments[_i];\n }\n if (obj && obj.removeEventListener) {\n obj.removeEventListener.apply(obj, args);\n }\n}\nexport var isBrowser = typeof window !== 'undefined';\nexport var isNavigator = typeof navigator !== 'undefined';\n","import { useEffect, useLayoutEffect } from 'react';\nimport { isBrowser } from './misc/util';\nvar useIsomorphicLayoutEffect = isBrowser ? useLayoutEffect : useEffect;\nexport default useIsomorphicLayoutEffect;\n","import { useMemo, useState } from 'react';\nimport useIsomorphicLayoutEffect from './useIsomorphicLayoutEffect';\nimport { isBrowser, noop } from './misc/util';\nvar defaultState = {\n x: 0,\n y: 0,\n width: 0,\n height: 0,\n top: 0,\n left: 0,\n bottom: 0,\n right: 0,\n};\nfunction useMeasure() {\n var _a = useState(null), element = _a[0], ref = _a[1];\n var _b = useState(defaultState), rect = _b[0], setRect = _b[1];\n var observer = useMemo(function () {\n return new window.ResizeObserver(function (entries) {\n if (entries[0]) {\n var _a = entries[0].contentRect, x = _a.x, y = _a.y, width = _a.width, height = _a.height, top_1 = _a.top, left = _a.left, bottom = _a.bottom, right = _a.right;\n setRect({ x: x, y: y, width: width, height: height, top: top_1, left: left, bottom: bottom, right: right });\n }\n });\n }, []);\n useIsomorphicLayoutEffect(function () {\n if (!element)\n return;\n observer.observe(element);\n return function () {\n observer.disconnect();\n };\n }, [element]);\n return [ref, rect];\n}\nexport default isBrowser && typeof window.ResizeObserver !== 'undefined'\n ? useMeasure\n : (function () { return [noop, defaultState]; });\n","import React from 'react';\nimport { useMeasure } from 'react-use';\nimport { AlertState, PluginContextProvider } from '@grafana/data';\nimport { getAppEvents } from '@grafana/runtime';\nimport { useStyles2, Tooltip, PanelChrome, Icon, ErrorBoundaryAlert, PanelContextProvider } from '@grafana/ui';\nimport { sceneGraph } from '../../core/sceneGraph/index.js';\nimport { isSceneObject } from '../../core/types.js';\nimport { css, cx } from '@emotion/css';\n\nfunction VizPanelRenderer({ model }) {\n var _a, _b, _c;\n const {\n title,\n options,\n fieldConfig,\n _pluginLoadError,\n $data,\n displayMode,\n hoverHeader,\n menu,\n headerActions,\n titleItems,\n description\n } = model.useState();\n const [ref, { width, height }] = useMeasure();\n const plugin = model.getPlugin();\n const { dragClass, dragClassCancel } = getDragClasses(model);\n const dataObject = sceneGraph.getData(model);\n const rawData = dataObject.useState();\n const dataWithFieldConfig = model.applyFieldConfig(rawData.data);\n const sceneTimeRange = sceneGraph.getTimeRange(model);\n const timeZone = sceneTimeRange.getTimeZone();\n const timeRange = getPanelTimeRange(sceneTimeRange, plugin, dataWithFieldConfig);\n const titleInterpolated = model.interpolate(title, void 0, \"text\");\n const alertStateStyles = useStyles2(getAlertStateStyles);\n if (!plugin) {\n return /* @__PURE__ */ React.createElement(\"div\", null, \"Loading plugin panel...\");\n }\n if (!plugin.panel) {\n return /* @__PURE__ */ React.createElement(\"div\", null, \"Panel plugin has no panel component\");\n }\n const PanelComponent = plugin.panel;\n if ($data && $data.setContainerWidth) {\n $data.setContainerWidth(Math.round(width));\n }\n let titleItemsElement = [];\n if (titleItems) {\n if (Array.isArray(titleItems)) {\n titleItemsElement = titleItemsElement.concat(\n titleItems.map((titleItem) => {\n return /* @__PURE__ */ React.createElement(titleItem.Component, {\n model: titleItem,\n key: `${titleItem.state.key}`\n });\n })\n );\n } else if (isSceneObject(titleItems)) {\n titleItemsElement.push(/* @__PURE__ */ React.createElement(titleItems.Component, {\n model: titleItems\n }));\n } else {\n titleItemsElement.push(titleItems);\n }\n }\n if (model.state.$timeRange) {\n titleItemsElement.push(/* @__PURE__ */ React.createElement(model.state.$timeRange.Component, {\n model: model.state.$timeRange,\n key: model.state.key\n }));\n }\n if (dataWithFieldConfig.alertState) {\n titleItemsElement.push(\n /* @__PURE__ */ React.createElement(Tooltip, {\n content: (_a = dataWithFieldConfig.alertState.state) != null ? _a : \"unknown\",\n key: `alert-states-icon-${model.state.key}`\n }, /* @__PURE__ */ React.createElement(PanelChrome.TitleItem, {\n className: cx({\n [alertStateStyles.ok]: dataWithFieldConfig.alertState.state === AlertState.OK,\n [alertStateStyles.pending]: dataWithFieldConfig.alertState.state === AlertState.Pending,\n [alertStateStyles.alerting]: dataWithFieldConfig.alertState.state === AlertState.Alerting\n })\n }, /* @__PURE__ */ React.createElement(Icon, {\n name: dataWithFieldConfig.alertState.state === \"alerting\" ? \"heart-break\" : \"heart\",\n className: \"panel-alert-icon\",\n size: \"md\"\n })))\n );\n }\n let panelMenu;\n if (menu) {\n panelMenu = /* @__PURE__ */ React.createElement(menu.Component, {\n model: menu\n });\n }\n let actionsElement;\n if (headerActions) {\n if (Array.isArray(headerActions)) {\n actionsElement = /* @__PURE__ */ React.createElement(React.Fragment, null, headerActions.map((action) => {\n return /* @__PURE__ */ React.createElement(action.Component, {\n model: action,\n key: `${action.state.key}`\n });\n }));\n } else if (isSceneObject(headerActions)) {\n actionsElement = /* @__PURE__ */ React.createElement(headerActions.Component, {\n model: headerActions\n });\n } else {\n actionsElement = headerActions;\n }\n }\n const data = dataWithFieldConfig;\n const isReadyToRender = dataObject.isDataReadyToDisplay ? dataObject.isDataReadyToDisplay() : true;\n const context = model.getPanelContext();\n const panelId = (_c = (_b = context.instanceState) == null ? void 0 : _b.legacyPanelId) != null ? _c : 1;\n return /* @__PURE__ */ React.createElement(\"div\", {\n className: relativeWrapper\n }, /* @__PURE__ */ React.createElement(\"div\", {\n ref,\n className: absoluteWrapper,\n \"data-viz-panel-key\": model.state.key\n }, width > 0 && height > 0 && /* @__PURE__ */ React.createElement(PanelChrome, {\n title: titleInterpolated,\n description: (description == null ? void 0 : description.trim()) ? model.getDescription : void 0,\n loadingState: data.state,\n statusMessage: getChromeStatusMessage(data, _pluginLoadError),\n statusMessageOnClick: model.onStatusMessageClick,\n width,\n height,\n displayMode,\n hoverHeader,\n titleItems: titleItemsElement,\n dragClass,\n actions: actionsElement,\n dragClassCancel,\n padding: plugin.noPadding ? \"none\" : \"md\",\n menu: panelMenu,\n onCancelQuery: model.onCancelQuery\n }, (innerWidth, innerHeight) => /* @__PURE__ */ React.createElement(React.Fragment, null, /* @__PURE__ */ React.createElement(ErrorBoundaryAlert, {\n dependencies: [plugin, data]\n }, /* @__PURE__ */ React.createElement(PluginContextProvider, {\n meta: plugin.meta\n }, /* @__PURE__ */ React.createElement(PanelContextProvider, {\n value: context\n }, isReadyToRender && /* @__PURE__ */ React.createElement(PanelComponent, {\n id: panelId,\n data,\n title,\n timeRange,\n timeZone,\n options,\n fieldConfig,\n transparent: false,\n width: innerWidth,\n height: innerHeight,\n renderCounter: 0,\n replaceVariables: model.interpolate,\n onOptionsChange: model.onOptionsChange,\n onFieldConfigChange: model.onFieldConfigChange,\n onChangeTimeRange: model.onTimeRangeChange,\n eventBus: getAppEvents()\n }))))))));\n}\nfunction getDragClasses(panel) {\n var _a, _b;\n const parentLayout = sceneGraph.getLayout(panel);\n const isDraggable = parentLayout == null ? void 0 : parentLayout.isDraggable();\n if (!parentLayout || !isDraggable || itemDraggingDisabled(panel, parentLayout)) {\n return { dragClass: \"\", dragClassCancel: \"\" };\n }\n return { dragClass: (_a = parentLayout.getDragClass) == null ? void 0 : _a.call(parentLayout), dragClassCancel: (_b = parentLayout == null ? void 0 : parentLayout.getDragClassCancel) == null ? void 0 : _b.call(parentLayout) };\n}\nfunction itemDraggingDisabled(item, layout) {\n let ancestor = item.parent;\n while (ancestor && ancestor !== layout) {\n if (\"isDraggable\" in ancestor.state && ancestor.state.isDraggable === false) {\n return true;\n }\n ancestor = ancestor.parent;\n }\n return false;\n}\nfunction getChromeStatusMessage(data, pluginLoadingError) {\n if (pluginLoadingError) {\n return pluginLoadingError;\n }\n let message = data.error ? data.error.message : void 0;\n if (data.errors) {\n message = data.errors.map((e) => e.message).join(\", \");\n }\n return message;\n}\nconst relativeWrapper = css({\n position: \"relative\",\n width: \"100%\",\n height: \"100%\"\n});\nconst absoluteWrapper = css({\n position: \"absolute\",\n width: \"100%\",\n height: \"100%\"\n});\nconst getAlertStateStyles = (theme) => {\n return {\n ok: css({\n color: theme.colors.success.text\n }),\n pending: css({\n color: theme.colors.warning.text\n }),\n alerting: css({\n color: theme.colors.error.text\n })\n };\n};\nfunction getPanelTimeRange(sceneTimeRange, plugin, data) {\n var _a;\n if (!plugin || plugin.meta.skipDataQuery) {\n return sceneTimeRange.state.value;\n }\n if (data && ((_a = data.request) == null ? void 0 : _a.range)) {\n return data.request.range;\n }\n return sceneTimeRange.state.value;\n}\n\nexport { VizPanelRenderer };\n//# sourceMappingURL=VizPanelRenderer.js.map\n","import { isSystemOverrideWithRef, FieldMatcherID, ByNamesMatcherMode, FieldType, getFieldDisplayName, fieldMatchers } from '@grafana/data';\nimport { SeriesVisibilityChangeMode } from '@grafana/ui';\n\nvar __defProp = Object.defineProperty;\nvar __defProps = Object.defineProperties;\nvar __getOwnPropDescs = Object.getOwnPropertyDescriptors;\nvar __getOwnPropSymbols = Object.getOwnPropertySymbols;\nvar __hasOwnProp = Object.prototype.hasOwnProperty;\nvar __propIsEnum = Object.prototype.propertyIsEnumerable;\nvar __defNormalProp = (obj, key, value) => key in obj ? __defProp(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;\nvar __spreadValues = (a, b) => {\n for (var prop in b || (b = {}))\n if (__hasOwnProp.call(b, prop))\n __defNormalProp(a, prop, b[prop]);\n if (__getOwnPropSymbols)\n for (var prop of __getOwnPropSymbols(b)) {\n if (__propIsEnum.call(b, prop))\n __defNormalProp(a, prop, b[prop]);\n }\n return a;\n};\nvar __spreadProps = (a, b) => __defProps(a, __getOwnPropDescs(b));\nconst displayOverrideRef = \"hideSeriesFrom\";\nconst isHideSeriesOverride = isSystemOverrideWithRef(displayOverrideRef);\nfunction seriesVisibilityConfigFactory(label, mode, fieldConfig, data) {\n const { overrides } = fieldConfig;\n const displayName = label;\n const currentIndex = overrides.findIndex(isHideSeriesOverride);\n if (currentIndex < 0) {\n if (mode === SeriesVisibilityChangeMode.ToggleSelection) {\n const override3 = createOverride([displayName, ...getNamesOfHiddenFields(overrides, data)]);\n return __spreadProps(__spreadValues({}, fieldConfig), {\n overrides: [...fieldConfig.overrides, override3]\n });\n }\n const displayNames = getDisplayNames(data, displayName);\n const override2 = createOverride(displayNames);\n return __spreadProps(__spreadValues({}, fieldConfig), {\n overrides: [...fieldConfig.overrides, override2]\n });\n }\n const overridesCopy = Array.from(overrides);\n const [current] = overridesCopy.splice(currentIndex, 1);\n if (mode === SeriesVisibilityChangeMode.ToggleSelection) {\n let existing = getExistingDisplayNames(current);\n const nameOfHiddenFields = getNamesOfHiddenFields(overridesCopy, data);\n if (nameOfHiddenFields.length > 0) {\n existing = existing.filter((el) => nameOfHiddenFields.indexOf(el) < 0);\n }\n if (existing[0] === displayName && existing.length === 1) {\n return __spreadProps(__spreadValues({}, fieldConfig), {\n overrides: overridesCopy\n });\n }\n const override2 = createOverride([displayName, ...nameOfHiddenFields]);\n return __spreadProps(__spreadValues({}, fieldConfig), {\n overrides: [...overridesCopy, override2]\n });\n }\n const override = createExtendedOverride(current, displayName);\n if (allFieldsAreExcluded(override, data)) {\n return __spreadProps(__spreadValues({}, fieldConfig), {\n overrides: overridesCopy\n });\n }\n return __spreadProps(__spreadValues({}, fieldConfig), {\n overrides: [...overridesCopy, override]\n });\n}\nfunction createOverride(names, mode = ByNamesMatcherMode.exclude, property) {\n property = property != null ? property : {\n id: \"custom.hideFrom\",\n value: {\n viz: true,\n legend: false,\n tooltip: false\n }\n };\n return {\n __systemRef: displayOverrideRef,\n matcher: {\n id: FieldMatcherID.byNames,\n options: {\n mode,\n names,\n prefix: mode === ByNamesMatcherMode.exclude ? \"All except:\" : void 0,\n readOnly: true\n }\n },\n properties: [\n __spreadProps(__spreadValues({}, property), {\n value: {\n viz: true,\n legend: false,\n tooltip: false\n }\n })\n ]\n };\n}\nconst createExtendedOverride = (current, displayName, mode = ByNamesMatcherMode.exclude) => {\n const property = current.properties.find((p) => p.id === \"custom.hideFrom\");\n const existing = getExistingDisplayNames(current);\n const index = existing.findIndex((name) => name === displayName);\n if (index < 0) {\n existing.push(displayName);\n } else {\n existing.splice(index, 1);\n }\n return createOverride(existing, mode, property);\n};\nconst getExistingDisplayNames = (rule) => {\n var _a;\n const names = (_a = rule.matcher.options) == null ? void 0 : _a.names;\n if (!Array.isArray(names)) {\n return [];\n }\n return [...names];\n};\nconst allFieldsAreExcluded = (override, data) => {\n return getExistingDisplayNames(override).length === getDisplayNames(data).length;\n};\nconst getDisplayNames = (data, excludeName) => {\n const unique = /* @__PURE__ */ new Set();\n for (const frame of data) {\n for (const field of frame.fields) {\n if (field.type !== FieldType.number) {\n continue;\n }\n const name = getFieldDisplayName(field, frame, data);\n if (name === excludeName) {\n continue;\n }\n unique.add(name);\n }\n }\n return Array.from(unique);\n};\nconst getNamesOfHiddenFields = (overrides, data) => {\n var _a;\n let names = [];\n for (const override of overrides) {\n const property = override.properties.find((p) => p.id === \"custom.hideFrom\");\n if (property !== void 0 && ((_a = property.value) == null ? void 0 : _a.legend) === true) {\n const info = fieldMatchers.get(override.matcher.id);\n const matcher = info.get(override.matcher.options);\n for (const frame of data) {\n for (const field of frame.fields) {\n if (field.type !== FieldType.number) {\n continue;\n }\n const name = getFieldDisplayName(field, frame, data);\n if (matcher(field, frame, data)) {\n names.push(name);\n }\n }\n }\n }\n }\n return names;\n};\n\nexport { seriesVisibilityConfigFactory };\n//# sourceMappingURL=seriesVisibilityConfigFactory.js.map\n","import { FieldMatcherID, FieldColorModeId } from '@grafana/data';\n\nvar __defProp = Object.defineProperty;\nvar __defProps = Object.defineProperties;\nvar __getOwnPropDescs = Object.getOwnPropertyDescriptors;\nvar __getOwnPropSymbols = Object.getOwnPropertySymbols;\nvar __hasOwnProp = Object.prototype.hasOwnProperty;\nvar __propIsEnum = Object.prototype.propertyIsEnumerable;\nvar __defNormalProp = (obj, key, value) => key in obj ? __defProp(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;\nvar __spreadValues = (a, b) => {\n for (var prop in b || (b = {}))\n if (__hasOwnProp.call(b, prop))\n __defNormalProp(a, prop, b[prop]);\n if (__getOwnPropSymbols)\n for (var prop of __getOwnPropSymbols(b)) {\n if (__propIsEnum.call(b, prop))\n __defNormalProp(a, prop, b[prop]);\n }\n return a;\n};\nvar __spreadProps = (a, b) => __defProps(a, __getOwnPropDescs(b));\nconst changeSeriesColorConfigFactory = (label, color, fieldConfig) => {\n const { overrides } = fieldConfig;\n const currentIndex = fieldConfig.overrides.findIndex((override) => {\n return override.matcher.id === FieldMatcherID.byName && override.matcher.options === label;\n });\n if (currentIndex < 0) {\n return __spreadProps(__spreadValues({}, fieldConfig), {\n overrides: [...fieldConfig.overrides, createOverride(label, color)]\n });\n }\n const overridesCopy = Array.from(overrides);\n const existing = overridesCopy[currentIndex];\n const propertyIndex = existing.properties.findIndex((p) => p.id === \"color\");\n if (propertyIndex < 0) {\n overridesCopy[currentIndex] = __spreadProps(__spreadValues({}, existing), {\n properties: [...existing.properties, createProperty(color)]\n });\n return __spreadProps(__spreadValues({}, fieldConfig), {\n overrides: overridesCopy\n });\n }\n const propertiesCopy = Array.from(existing.properties);\n propertiesCopy[propertyIndex] = createProperty(color);\n overridesCopy[currentIndex] = __spreadProps(__spreadValues({}, existing), {\n properties: propertiesCopy\n });\n return __spreadProps(__spreadValues({}, fieldConfig), {\n overrides: overridesCopy\n });\n};\nconst createOverride = (label, color) => {\n return {\n matcher: {\n id: FieldMatcherID.byName,\n options: label\n },\n properties: [createProperty(color)]\n };\n};\nconst createProperty = (color) => {\n return {\n id: \"color\",\n value: {\n mode: FieldColorModeId.Fixed,\n fixedColor: color\n }\n };\n};\n\nexport { changeSeriesColorConfigFactory };\n//# sourceMappingURL=colorSeriesConfigFactory.js.map\n","import { toUtc, getPanelOptionsWithDefaults, renderMarkdown, compareArrayValues, compareDataFrameStructures, applyFieldOverrides, CoreApp, DashboardCursorSync, PanelPlugin, PluginType } from '@grafana/data';\nimport { getPluginImportUtils, config, getAppEvents } from '@grafana/runtime';\nimport { SceneObjectBase } from '../../core/SceneObjectBase.js';\nimport { sceneGraph } from '../../core/sceneGraph/index.js';\nimport { VizPanelRenderer } from './VizPanelRenderer.js';\nimport { VariableDependencyConfig } from '../../variables/VariableDependencyConfig.js';\nimport { seriesVisibilityConfigFactory } from './seriesVisibilityConfigFactory.js';\nimport { emptyPanelData } from '../../core/SceneDataNode.js';\nimport { changeSeriesColorConfigFactory } from './colorSeriesConfigFactory.js';\nimport { loadPanelPluginSync } from './registerRuntimePanelPlugin.js';\nimport { getCursorSyncScope } from '../../behaviors/CursorSync.js';\nimport { mergeWith, cloneDeep, isArray, merge } from 'lodash';\nimport { UserActionEvent } from '../../core/events.js';\n\nvar __defProp = Object.defineProperty;\nvar __defProps = Object.defineProperties;\nvar __getOwnPropDescs = Object.getOwnPropertyDescriptors;\nvar __getOwnPropSymbols = Object.getOwnPropertySymbols;\nvar __hasOwnProp = Object.prototype.hasOwnProperty;\nvar __propIsEnum = Object.prototype.propertyIsEnumerable;\nvar __defNormalProp = (obj, key, value) => key in obj ? __defProp(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;\nvar __spreadValues = (a, b) => {\n for (var prop in b || (b = {}))\n if (__hasOwnProp.call(b, prop))\n __defNormalProp(a, prop, b[prop]);\n if (__getOwnPropSymbols)\n for (var prop of __getOwnPropSymbols(b)) {\n if (__propIsEnum.call(b, prop))\n __defNormalProp(a, prop, b[prop]);\n }\n return a;\n};\nvar __spreadProps = (a, b) => __defProps(a, __getOwnPropDescs(b));\nclass VizPanel extends SceneObjectBase {\n constructor(state) {\n super(__spreadValues({\n options: {},\n fieldConfig: { defaults: {}, overrides: [] },\n title: \"Title\",\n pluginId: \"timeseries\"\n }, state));\n this._variableDependency = new VariableDependencyConfig(this, {\n statePaths: [\"title\", \"options\", \"fieldConfig\"]\n });\n this._structureRev = 0;\n this.onTimeRangeChange = (timeRange) => {\n const sceneTimeRange = sceneGraph.getTimeRange(this);\n sceneTimeRange.onTimeRangeChange({\n raw: {\n from: toUtc(timeRange.from),\n to: toUtc(timeRange.to)\n },\n from: toUtc(timeRange.from),\n to: toUtc(timeRange.to)\n });\n };\n this.onTitleChange = (title) => {\n this.setState({ title });\n };\n this.onDescriptionChange = (description) => {\n this.setState({ description });\n };\n this.onDisplayModeChange = (displayMode) => {\n this.setState({ displayMode });\n };\n this.onOptionsChange = (optionsUpdate, replace = false) => {\n const { fieldConfig, options } = this.state;\n const nextOptions = replace ? optionsUpdate : mergeWith(cloneDeep(options), optionsUpdate, (_, srcValue) => {\n if (isArray(srcValue)) {\n return srcValue;\n }\n return;\n });\n const withDefaults = getPanelOptionsWithDefaults({\n plugin: this._plugin,\n currentOptions: nextOptions,\n currentFieldConfig: fieldConfig,\n isAfterPluginChange: false\n });\n this.setState({\n options: withDefaults.options\n });\n };\n this.onFieldConfigChange = (fieldConfigUpdate, replace) => {\n const { fieldConfig, options } = this.state;\n const nextFieldConfig = replace ? fieldConfigUpdate : merge(cloneDeep(fieldConfig), fieldConfigUpdate);\n const withDefaults = getPanelOptionsWithDefaults({\n plugin: this._plugin,\n currentOptions: options,\n currentFieldConfig: nextFieldConfig,\n isAfterPluginChange: false\n });\n this.setState({\n fieldConfig: withDefaults.fieldConfig\n });\n };\n this.interpolate = (value, scoped, format) => {\n return sceneGraph.interpolate(this, value, scoped, format);\n };\n this.getDescription = () => {\n this.publishEvent(new UserActionEvent({ origin: this, interaction: \"panel-description-shown\" }), true);\n const { description } = this.state;\n if (description) {\n const markdown = this.interpolate(description);\n return renderMarkdown(markdown);\n }\n return \"\";\n };\n this.onCancelQuery = () => {\n var _a;\n this.publishEvent(new UserActionEvent({ origin: this, interaction: \"panel-cancel-query-clicked\" }), true);\n const data = sceneGraph.getData(this);\n (_a = data.cancelQuery) == null ? void 0 : _a.call(data);\n };\n this.onStatusMessageClick = () => {\n this.publishEvent(new UserActionEvent({ origin: this, interaction: \"panel-status-message-clicked\" }), true);\n };\n this._onSeriesColorChange = (label, color) => {\n this.onFieldConfigChange(changeSeriesColorConfigFactory(label, color, this.state.fieldConfig));\n };\n this._onSeriesVisibilityChange = (label, mode) => {\n if (!this._dataWithFieldConfig) {\n return;\n }\n this.onFieldConfigChange(\n seriesVisibilityConfigFactory(label, mode, this.state.fieldConfig, this._dataWithFieldConfig.series),\n true\n );\n };\n this._onInstanceStateChange = (state) => {\n this.setState({ _pluginInstanceState: state });\n };\n this._onToggleLegendSort = (sortKey) => {\n const legendOptions = this.state.options.legend;\n if (!legendOptions) {\n return;\n }\n let sortDesc = legendOptions.sortDesc;\n let sortBy = legendOptions.sortBy;\n if (sortKey !== sortBy) {\n sortDesc = void 0;\n }\n if (sortDesc === false) {\n sortBy = void 0;\n sortDesc = void 0;\n } else {\n sortDesc = !sortDesc;\n sortBy = sortKey;\n }\n this.onOptionsChange(__spreadProps(__spreadValues({}, this.state.options), {\n legend: __spreadProps(__spreadValues({}, legendOptions), { sortBy, sortDesc })\n }));\n };\n this.addActivationHandler(() => {\n this._onActivate();\n });\n if (state.menu) {\n state.menu.addActivationHandler(() => {\n this.publishEvent(new UserActionEvent({ origin: this, interaction: \"panel-menu-shown\" }), true);\n });\n }\n }\n _onActivate() {\n if (!this._plugin) {\n this._loadPlugin(this.state.pluginId);\n }\n }\n _loadPlugin(pluginId) {\n const plugin = loadPanelPluginSync(pluginId);\n if (plugin) {\n this._pluginLoaded(plugin);\n } else {\n const { importPanelPlugin } = getPluginImportUtils();\n try {\n importPanelPlugin(pluginId).then((result) => {\n return this._pluginLoaded(result);\n });\n } catch (err) {\n this._pluginLoaded(getPanelPluginNotFound(pluginId));\n this.setState({ _pluginLoadError: err.message });\n }\n }\n }\n async _pluginLoaded(plugin) {\n const { options, fieldConfig, title, pluginVersion, _UNSAFE_customMigrationHandler } = this.state;\n const panel = {\n title,\n options,\n fieldConfig,\n id: 1,\n type: plugin.meta.id,\n pluginVersion\n };\n const currentVersion = this._getPluginVersion(plugin);\n if (_UNSAFE_customMigrationHandler) {\n _UNSAFE_customMigrationHandler(panel, plugin);\n }\n if (plugin.onPanelMigration) {\n if (currentVersion !== this.state.pluginVersion) {\n panel.options = await plugin.onPanelMigration(panel);\n }\n }\n const withDefaults = getPanelOptionsWithDefaults({\n plugin,\n currentOptions: panel.options,\n currentFieldConfig: panel.fieldConfig,\n isAfterPluginChange: false\n });\n this._plugin = plugin;\n this.setState({\n options: withDefaults.options,\n fieldConfig: withDefaults.fieldConfig,\n pluginVersion: currentVersion\n });\n if (plugin.meta.skipDataQuery) {\n const sceneTimeRange = sceneGraph.getTimeRange(this);\n this._subs.add(sceneTimeRange.subscribeToState(() => this.forceRender()));\n }\n }\n _getPluginVersion(plugin) {\n return plugin && plugin.meta.info.version ? plugin.meta.info.version : config.buildInfo.version;\n }\n getPlugin() {\n return this._plugin;\n }\n getPanelContext() {\n if (!this._panelContext) {\n this._panelContext = this.buildPanelContext();\n }\n return this._panelContext;\n }\n applyFieldConfig(rawData) {\n var _a, _b;\n const plugin = this._plugin;\n if (!plugin || plugin.meta.skipDataQuery || !rawData) {\n return emptyPanelData;\n }\n const pluginDataSupport = plugin.dataSupport || { alertStates: false, annotations: false };\n const fieldConfigRegistry = plugin.fieldConfigRegistry;\n const prevFrames = (_a = this._prevData) == null ? void 0 : _a.series;\n const newFrames = rawData == null ? void 0 : rawData.series;\n if (rawData.structureRev == null && newFrames && prevFrames && !compareArrayValues(newFrames, prevFrames, compareDataFrameStructures)) {\n this._structureRev++;\n }\n this._dataWithFieldConfig = __spreadProps(__spreadValues({}, rawData), {\n structureRev: this._structureRev,\n series: applyFieldOverrides({\n data: newFrames,\n fieldConfig: this.state.fieldConfig,\n fieldConfigRegistry,\n replaceVariables: this.interpolate,\n theme: config.theme2,\n timeZone: (_b = rawData.request) == null ? void 0 : _b.timezone\n })\n });\n if (!pluginDataSupport.alertStates) {\n this._dataWithFieldConfig.alertState = void 0;\n }\n if (!pluginDataSupport.annotations) {\n this._dataWithFieldConfig.annotations = void 0;\n }\n return this._dataWithFieldConfig;\n }\n buildPanelContext() {\n const sync = getCursorSyncScope(this);\n const context = {\n eventsScope: sync ? sync.getEventsScope() : \"__global_\",\n eventBus: sync ? sync.getEventsBus(this) : getAppEvents(),\n app: CoreApp.Unknown,\n sync: () => {\n if (sync) {\n return sync.state.sync;\n }\n return DashboardCursorSync.Off;\n },\n onSeriesColorChange: this._onSeriesColorChange,\n onToggleSeriesVisibility: this._onSeriesVisibilityChange,\n onToggleLegendSort: this._onToggleLegendSort,\n onInstanceStateChange: this._onInstanceStateChange\n };\n if (this.state.extendPanelContext) {\n this.state.extendPanelContext(this, context);\n }\n return context;\n }\n}\nVizPanel.Component = VizPanelRenderer;\nfunction getPanelPluginNotFound(id, silent) {\n const plugin = new PanelPlugin(() => null);\n plugin.meta = {\n id,\n name: id,\n sort: 100,\n type: PluginType.panel,\n module: \"\",\n baseUrl: \"\",\n info: {\n author: {\n name: \"\"\n },\n description: \"\",\n links: [],\n logos: {\n large: \"\",\n small: \"public/img/grafana_icon.svg\"\n },\n screenshots: [],\n updated: \"\",\n version: \"\"\n }\n };\n return plugin;\n}\n\nexport { VizPanel };\n//# sourceMappingURL=VizPanel.js.map\n","import React from 'react';\nimport { SceneObjectBase } from '../../../core/SceneObjectBase.js';\nimport { SceneGridLayout } from './SceneGridLayout.js';\nimport { SceneGridRow } from './SceneGridRow.js';\n\nclass SceneGridItem extends SceneObjectBase {\n}\nSceneGridItem.Component = SceneGridItemRenderer;\nfunction SceneGridItemRenderer({ model }) {\n const { body } = model.useState();\n const parent = model.parent;\n if (parent && !isSceneGridLayout(parent) && !isSceneGridRow(parent)) {\n throw new Error(\"SceneGridItem must be a child of SceneGridLayout or SceneGridRow\");\n }\n if (!body) {\n return null;\n }\n return /* @__PURE__ */ React.createElement(body.Component, {\n model: body\n });\n}\nfunction isSceneGridRow(child) {\n return child instanceof SceneGridRow;\n}\nfunction isSceneGridLayout(child) {\n return child instanceof SceneGridLayout;\n}\n\nexport { SceneGridItem, isSceneGridRow };\n//# sourceMappingURL=SceneGridItem.js.map\n","import React, { useEffect } from 'react';\nimport { Menu } from '@grafana/ui';\nimport { SceneObjectBase } from '../../core/SceneObjectBase.js';\n\nclass VizPanelMenu extends SceneObjectBase {\n addItem(item) {\n this.setState({\n items: this.state.items ? [...this.state.items, item] : [item]\n });\n }\n setItems(items) {\n this.setState({\n items\n });\n }\n}\nVizPanelMenu.Component = VizPanelMenuRenderer;\nfunction VizPanelMenuRenderer({ model }) {\n const { items = [] } = model.useState();\n const ref = React.useRef(null);\n useEffect(() => {\n if (ref.current) {\n ref.current.focus();\n }\n }, []);\n const renderItems = (items2) => {\n return items2.map(\n (item) => item.type === \"divider\" ? /* @__PURE__ */ React.createElement(Menu.Divider, {\n key: item.text\n }) : /* @__PURE__ */ React.createElement(Menu.Item, {\n key: item.text,\n label: item.text,\n icon: item.iconClassName,\n childItems: item.subMenu ? renderItems(item.subMenu) : void 0,\n url: item.href,\n onClick: item.onClick,\n shortcut: item.shortcut\n })\n );\n };\n return /* @__PURE__ */ React.createElement(Menu, {\n ref\n }, renderItems(items));\n}\n\nexport { VizPanelMenu };\n//# sourceMappingURL=VizPanelMenu.js.map\n","import { createElement, PureComponent } from 'react';\n\nvar classCallCheck = function (instance, Constructor) {\n if (!(instance instanceof Constructor)) {\n throw new TypeError(\"Cannot call a class as a function\");\n }\n};\n\nvar createClass = function () {\n function defineProperties(target, props) {\n for (var i = 0; i < props.length; i++) {\n var descriptor = props[i];\n descriptor.enumerable = descriptor.enumerable || false;\n descriptor.configurable = true;\n if (\"value\" in descriptor) descriptor.writable = true;\n Object.defineProperty(target, descriptor.key, descriptor);\n }\n }\n\n return function (Constructor, protoProps, staticProps) {\n if (protoProps) defineProperties(Constructor.prototype, protoProps);\n if (staticProps) defineProperties(Constructor, staticProps);\n return Constructor;\n };\n}();\n\nvar _extends = Object.assign || function (target) {\n for (var i = 1; i < arguments.length; i++) {\n var source = arguments[i];\n\n for (var key in source) {\n if (Object.prototype.hasOwnProperty.call(source, key)) {\n target[key] = source[key];\n }\n }\n }\n\n return target;\n};\n\nvar inherits = function (subClass, superClass) {\n if (typeof superClass !== \"function\" && superClass !== null) {\n throw new TypeError(\"Super expression must either be null or a function, not \" + typeof superClass);\n }\n\n subClass.prototype = Object.create(superClass && superClass.prototype, {\n constructor: {\n value: subClass,\n enumerable: false,\n writable: true,\n configurable: true\n }\n });\n if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass;\n};\n\nvar possibleConstructorReturn = function (self, call) {\n if (!self) {\n throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\");\n }\n\n return call && (typeof call === \"object\" || typeof call === \"function\") ? call : self;\n};\n\nvar slicedToArray = function () {\n function sliceIterator(arr, i) {\n var _arr = [];\n var _n = true;\n var _d = false;\n var _e = undefined;\n\n try {\n for (var _i = arr[Symbol.iterator](), _s; !(_n = (_s = _i.next()).done); _n = true) {\n _arr.push(_s.value);\n\n if (i && _arr.length === i) break;\n }\n } catch (err) {\n _d = true;\n _e = err;\n } finally {\n try {\n if (!_n && _i[\"return\"]) _i[\"return\"]();\n } finally {\n if (_d) throw _e;\n }\n }\n\n return _arr;\n }\n\n return function (arr, i) {\n if (Array.isArray(arr)) {\n return arr;\n } else if (Symbol.iterator in Object(arr)) {\n return sliceIterator(arr, i);\n } else {\n throw new TypeError(\"Invalid attempt to destructure non-iterable instance\");\n }\n };\n}();\n\n/**\n * Detect Element Resize.\n * https://github.com/sdecima/javascript-detect-element-resize\n * Sebastian Decima\n *\n * Forked from version 0.5.3; includes the following modifications:\n * 1) Guard against unsafe 'window' and 'document' references (to support SSR).\n * 2) Defer initialization code via a top-level function wrapper (to support SSR).\n * 3) Avoid unnecessary reflows by not measuring size for scroll events bubbling from children.\n * 4) Add nonce for style element.\n **/\n\n// Check `document` and `window` in case of server-side rendering\nvar windowObject = void 0;\nif (typeof window !== 'undefined') {\n windowObject = window;\n\n // eslint-disable-next-line no-restricted-globals\n} else if (typeof self !== 'undefined') {\n // eslint-disable-next-line no-restricted-globals\n windowObject = self;\n} else {\n windowObject = global;\n}\n\nvar cancelFrame = null;\nvar requestFrame = null;\n\nvar TIMEOUT_DURATION = 20;\n\nvar clearTimeoutFn = windowObject.clearTimeout;\nvar setTimeoutFn = windowObject.setTimeout;\n\nvar cancelAnimationFrameFn = windowObject.cancelAnimationFrame || windowObject.mozCancelAnimationFrame || windowObject.webkitCancelAnimationFrame;\n\nvar requestAnimationFrameFn = windowObject.requestAnimationFrame || windowObject.mozRequestAnimationFrame || windowObject.webkitRequestAnimationFrame;\n\nif (cancelAnimationFrameFn == null || requestAnimationFrameFn == null) {\n // For environments that don't support animation frame,\n // fallback to a setTimeout based approach.\n cancelFrame = clearTimeoutFn;\n requestFrame = function requestAnimationFrameViaSetTimeout(callback) {\n return setTimeoutFn(callback, TIMEOUT_DURATION);\n };\n} else {\n // Counter intuitively, environments that support animation frames can be trickier.\n // Chrome's \"Throttle non-visible cross-origin iframes\" flag can prevent rAFs from being called.\n // In this case, we should fallback to a setTimeout() implementation.\n cancelFrame = function cancelFrame(_ref) {\n var _ref2 = slicedToArray(_ref, 2),\n animationFrameID = _ref2[0],\n timeoutID = _ref2[1];\n\n cancelAnimationFrameFn(animationFrameID);\n clearTimeoutFn(timeoutID);\n };\n requestFrame = function requestAnimationFrameWithSetTimeoutFallback(callback) {\n var animationFrameID = requestAnimationFrameFn(function animationFrameCallback() {\n clearTimeoutFn(timeoutID);\n callback();\n });\n\n var timeoutID = setTimeoutFn(function timeoutCallback() {\n cancelAnimationFrameFn(animationFrameID);\n callback();\n }, TIMEOUT_DURATION);\n\n return [animationFrameID, timeoutID];\n };\n}\n\nfunction createDetectElementResize(nonce) {\n var animationKeyframes = void 0;\n var animationName = void 0;\n var animationStartEvent = void 0;\n var animationStyle = void 0;\n var checkTriggers = void 0;\n var resetTriggers = void 0;\n var scrollListener = void 0;\n\n var attachEvent = typeof document !== 'undefined' && document.attachEvent;\n if (!attachEvent) {\n resetTriggers = function resetTriggers(element) {\n var triggers = element.__resizeTriggers__,\n expand = triggers.firstElementChild,\n contract = triggers.lastElementChild,\n expandChild = expand.firstElementChild;\n contract.scrollLeft = contract.scrollWidth;\n contract.scrollTop = contract.scrollHeight;\n expandChild.style.width = expand.offsetWidth + 1 + 'px';\n expandChild.style.height = expand.offsetHeight + 1 + 'px';\n expand.scrollLeft = expand.scrollWidth;\n expand.scrollTop = expand.scrollHeight;\n };\n\n checkTriggers = function checkTriggers(element) {\n return element.offsetWidth !== element.__resizeLast__.width || element.offsetHeight !== element.__resizeLast__.height;\n };\n\n scrollListener = function scrollListener(e) {\n // Don't measure (which forces) reflow for scrolls that happen inside of children!\n if (e.target.className && typeof e.target.className.indexOf === 'function' && e.target.className.indexOf('contract-trigger') < 0 && e.target.className.indexOf('expand-trigger') < 0) {\n return;\n }\n\n var element = this;\n resetTriggers(this);\n if (this.__resizeRAF__) {\n cancelFrame(this.__resizeRAF__);\n }\n this.__resizeRAF__ = requestFrame(function animationFrame() {\n if (checkTriggers(element)) {\n element.__resizeLast__.width = element.offsetWidth;\n element.__resizeLast__.height = element.offsetHeight;\n element.__resizeListeners__.forEach(function forEachResizeListener(fn) {\n fn.call(element, e);\n });\n }\n });\n };\n\n /* Detect CSS Animations support to detect element display/re-attach */\n var animation = false;\n var keyframeprefix = '';\n animationStartEvent = 'animationstart';\n var domPrefixes = 'Webkit Moz O ms'.split(' ');\n var startEvents = 'webkitAnimationStart animationstart oAnimationStart MSAnimationStart'.split(' ');\n var pfx = '';\n {\n var elm = document.createElement('fakeelement');\n if (elm.style.animationName !== undefined) {\n animation = true;\n }\n\n if (animation === false) {\n for (var i = 0; i < domPrefixes.length; i++) {\n if (elm.style[domPrefixes[i] + 'AnimationName'] !== undefined) {\n pfx = domPrefixes[i];\n keyframeprefix = '-' + pfx.toLowerCase() + '-';\n animationStartEvent = startEvents[i];\n animation = true;\n break;\n }\n }\n }\n }\n\n animationName = 'resizeanim';\n animationKeyframes = '@' + keyframeprefix + 'keyframes ' + animationName + ' { from { opacity: 0; } to { opacity: 0; } } ';\n animationStyle = keyframeprefix + 'animation: 1ms ' + animationName + '; ';\n }\n\n var createStyles = function createStyles(doc) {\n if (!doc.getElementById('detectElementResize')) {\n //opacity:0 works around a chrome bug https://code.google.com/p/chromium/issues/detail?id=286360\n var css = (animationKeyframes ? animationKeyframes : '') + '.resize-triggers { ' + (animationStyle ? animationStyle : '') + 'visibility: hidden; opacity: 0; } ' + '.resize-triggers, .resize-triggers > div, .contract-trigger:before { content: \" \"; display: block; position: absolute; top: 0; left: 0; height: 100%; width: 100%; overflow: hidden; z-index: -1; } .resize-triggers > div { background: #eee; overflow: auto; } .contract-trigger:before { width: 200%; height: 200%; }',\n head = doc.head || doc.getElementsByTagName('head')[0],\n style = doc.createElement('style');\n\n style.id = 'detectElementResize';\n style.type = 'text/css';\n\n if (nonce != null) {\n style.setAttribute('nonce', nonce);\n }\n\n if (style.styleSheet) {\n style.styleSheet.cssText = css;\n } else {\n style.appendChild(doc.createTextNode(css));\n }\n\n head.appendChild(style);\n }\n };\n\n var addResizeListener = function addResizeListener(element, fn) {\n if (attachEvent) {\n element.attachEvent('onresize', fn);\n } else {\n if (!element.__resizeTriggers__) {\n var doc = element.ownerDocument;\n var elementStyle = windowObject.getComputedStyle(element);\n if (elementStyle && elementStyle.position === 'static') {\n element.style.position = 'relative';\n }\n createStyles(doc);\n element.__resizeLast__ = {};\n element.__resizeListeners__ = [];\n (element.__resizeTriggers__ = doc.createElement('div')).className = 'resize-triggers';\n var expandTrigger = doc.createElement('div');\n expandTrigger.className = 'expand-trigger';\n expandTrigger.appendChild(doc.createElement('div'));\n var contractTrigger = doc.createElement('div');\n contractTrigger.className = 'contract-trigger';\n element.__resizeTriggers__.appendChild(expandTrigger);\n element.__resizeTriggers__.appendChild(contractTrigger);\n element.appendChild(element.__resizeTriggers__);\n resetTriggers(element);\n element.addEventListener('scroll', scrollListener, true);\n\n /* Listen for a css animation to detect element display/re-attach */\n if (animationStartEvent) {\n element.__resizeTriggers__.__animationListener__ = function animationListener(e) {\n if (e.animationName === animationName) {\n resetTriggers(element);\n }\n };\n element.__resizeTriggers__.addEventListener(animationStartEvent, element.__resizeTriggers__.__animationListener__);\n }\n }\n element.__resizeListeners__.push(fn);\n }\n };\n\n var removeResizeListener = function removeResizeListener(element, fn) {\n if (attachEvent) {\n element.detachEvent('onresize', fn);\n } else {\n element.__resizeListeners__.splice(element.__resizeListeners__.indexOf(fn), 1);\n if (!element.__resizeListeners__.length) {\n element.removeEventListener('scroll', scrollListener, true);\n if (element.__resizeTriggers__.__animationListener__) {\n element.__resizeTriggers__.removeEventListener(animationStartEvent, element.__resizeTriggers__.__animationListener__);\n element.__resizeTriggers__.__animationListener__ = null;\n }\n try {\n element.__resizeTriggers__ = !element.removeChild(element.__resizeTriggers__);\n } catch (e) {\n // Preact compat; see developit/preact-compat/issues/228\n }\n }\n }\n };\n\n return {\n addResizeListener: addResizeListener,\n removeResizeListener: removeResizeListener\n };\n}\n\nvar AutoSizer = function (_React$PureComponent) {\n inherits(AutoSizer, _React$PureComponent);\n\n function AutoSizer() {\n var _ref;\n\n var _temp, _this, _ret;\n\n classCallCheck(this, AutoSizer);\n\n for (var _len = arguments.length, args = Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n\n return _ret = (_temp = (_this = possibleConstructorReturn(this, (_ref = AutoSizer.__proto__ || Object.getPrototypeOf(AutoSizer)).call.apply(_ref, [this].concat(args))), _this), _this.state = {\n height: _this.props.defaultHeight || 0,\n width: _this.props.defaultWidth || 0\n }, _this._onResize = function () {\n var _this$props = _this.props,\n disableHeight = _this$props.disableHeight,\n disableWidth = _this$props.disableWidth,\n onResize = _this$props.onResize;\n\n\n if (_this._parentNode) {\n // Guard against AutoSizer component being removed from the DOM immediately after being added.\n // This can result in invalid style values which can result in NaN values if we don't handle them.\n // See issue #150 for more context.\n\n var _height = _this._parentNode.offsetHeight || 0;\n var _width = _this._parentNode.offsetWidth || 0;\n\n var _style = window.getComputedStyle(_this._parentNode) || {};\n var paddingLeft = parseInt(_style.paddingLeft, 10) || 0;\n var paddingRight = parseInt(_style.paddingRight, 10) || 0;\n var paddingTop = parseInt(_style.paddingTop, 10) || 0;\n var paddingBottom = parseInt(_style.paddingBottom, 10) || 0;\n\n var newHeight = _height - paddingTop - paddingBottom;\n var newWidth = _width - paddingLeft - paddingRight;\n\n if (!disableHeight && _this.state.height !== newHeight || !disableWidth && _this.state.width !== newWidth) {\n _this.setState({\n height: _height - paddingTop - paddingBottom,\n width: _width - paddingLeft - paddingRight\n });\n\n onResize({ height: _height, width: _width });\n }\n }\n }, _this._setRef = function (autoSizer) {\n _this._autoSizer = autoSizer;\n }, _temp), possibleConstructorReturn(_this, _ret);\n }\n\n createClass(AutoSizer, [{\n key: 'componentDidMount',\n value: function componentDidMount() {\n var nonce = this.props.nonce;\n\n if (this._autoSizer && this._autoSizer.parentNode && this._autoSizer.parentNode.ownerDocument && this._autoSizer.parentNode.ownerDocument.defaultView && this._autoSizer.parentNode instanceof this._autoSizer.parentNode.ownerDocument.defaultView.HTMLElement) {\n // Delay access of parentNode until mount.\n // This handles edge-cases where the component has already been unmounted before its ref has been set,\n // As well as libraries like react-lite which have a slightly different lifecycle.\n this._parentNode = this._autoSizer.parentNode;\n\n // Defer requiring resize handler in order to support server-side rendering.\n // See issue #41\n this._detectElementResize = createDetectElementResize(nonce);\n this._detectElementResize.addResizeListener(this._parentNode, this._onResize);\n\n this._onResize();\n }\n }\n }, {\n key: 'componentWillUnmount',\n value: function componentWillUnmount() {\n if (this._detectElementResize && this._parentNode) {\n this._detectElementResize.removeResizeListener(this._parentNode, this._onResize);\n }\n }\n }, {\n key: 'render',\n value: function render() {\n var _props = this.props,\n children = _props.children,\n className = _props.className,\n disableHeight = _props.disableHeight,\n disableWidth = _props.disableWidth,\n style = _props.style;\n var _state = this.state,\n height = _state.height,\n width = _state.width;\n\n // Outer div should not force width/height since that may prevent containers from shrinking.\n // Inner component should overflow and use calculated width/height.\n // See issue #68 for more information.\n\n var outerStyle = { overflow: 'visible' };\n var childParams = {};\n\n // Avoid rendering children before the initial measurements have been collected.\n // At best this would just be wasting cycles.\n var bailoutOnChildren = false;\n\n if (!disableHeight) {\n if (height === 0) {\n bailoutOnChildren = true;\n }\n outerStyle.height = 0;\n childParams.height = height;\n }\n\n if (!disableWidth) {\n if (width === 0) {\n bailoutOnChildren = true;\n }\n outerStyle.width = 0;\n childParams.width = width;\n }\n\n return createElement(\n 'div',\n {\n className: className,\n ref: this._setRef,\n style: _extends({}, outerStyle, style)\n },\n !bailoutOnChildren && children(childParams)\n );\n }\n }]);\n return AutoSizer;\n}(PureComponent);\n\nAutoSizer.defaultProps = {\n onResize: function onResize() {},\n disableHeight: false,\n disableWidth: false,\n style: {}\n};\n\nexport default AutoSizer;\n","import React, { useState, useRef, useImperativeHandle } from 'react';\nimport { useEffectOnce } from 'react-use';\nimport { uniqueId } from 'lodash';\n\nvar __defProp = Object.defineProperty;\nvar __getOwnPropSymbols = Object.getOwnPropertySymbols;\nvar __hasOwnProp = Object.prototype.hasOwnProperty;\nvar __propIsEnum = Object.prototype.propertyIsEnumerable;\nvar __defNormalProp = (obj, key, value) => key in obj ? __defProp(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;\nvar __spreadValues = (a, b) => {\n for (var prop in b || (b = {}))\n if (__hasOwnProp.call(b, prop))\n __defNormalProp(a, prop, b[prop]);\n if (__getOwnPropSymbols)\n for (var prop of __getOwnPropSymbols(b)) {\n if (__propIsEnum.call(b, prop))\n __defNormalProp(a, prop, b[prop]);\n }\n return a;\n};\nvar __objRest = (source, exclude) => {\n var target = {};\n for (var prop in source)\n if (__hasOwnProp.call(source, prop) && exclude.indexOf(prop) < 0)\n target[prop] = source[prop];\n if (source != null && __getOwnPropSymbols)\n for (var prop of __getOwnPropSymbols(source)) {\n if (exclude.indexOf(prop) < 0 && __propIsEnum.call(source, prop))\n target[prop] = source[prop];\n }\n return target;\n};\nfunction useUniqueId() {\n var _a;\n const idRefLazy = useRef(void 0);\n (_a = idRefLazy.current) != null ? _a : idRefLazy.current = uniqueId();\n return idRefLazy.current;\n}\nconst LazyLoader = React.forwardRef(\n (_a, ref) => {\n var _b = _a, { children, onLoad, onChange } = _b, rest = __objRest(_b, [\"children\", \"onLoad\", \"onChange\"]);\n const id = useUniqueId();\n const [loaded, setLoaded] = useState(false);\n const [isInView, setIsInView] = useState(false);\n const innerRef = useRef(null);\n useImperativeHandle(ref, () => innerRef.current);\n useEffectOnce(() => {\n LazyLoader.addCallback(id, (entry) => {\n if (!loaded && entry.isIntersecting) {\n setLoaded(true);\n onLoad == null ? void 0 : onLoad();\n }\n setIsInView(entry.isIntersecting);\n onChange == null ? void 0 : onChange(entry.isIntersecting);\n });\n const wrapperEl = innerRef.current;\n if (wrapperEl) {\n LazyLoader.observer.observe(wrapperEl);\n }\n return () => {\n delete LazyLoader.callbacks[id];\n wrapperEl && LazyLoader.observer.unobserve(wrapperEl);\n if (Object.keys(LazyLoader.callbacks).length === 0) {\n LazyLoader.observer.disconnect();\n }\n };\n });\n return /* @__PURE__ */ React.createElement(\"div\", __spreadValues({\n id,\n ref: innerRef\n }, rest), loaded && (typeof children === \"function\" ? children({ isInView }) : children));\n }\n);\nLazyLoader.displayName = \"LazyLoader\";\nLazyLoader.callbacks = {};\nLazyLoader.addCallback = (id, c) => LazyLoader.callbacks[id] = c;\nLazyLoader.observer = new IntersectionObserver(\n (entries) => {\n for (const entry of entries) {\n LazyLoader.callbacks[entry.target.id](entry);\n }\n },\n { rootMargin: \"100px\" }\n);\n\nexport { LazyLoader, useUniqueId };\n//# sourceMappingURL=LazyLoader.js.map\n","import { useEffect } from 'react';\nvar useEffectOnce = function (effect) {\n useEffect(effect, []);\n};\nexport default useEffectOnce;\n","import { SceneObjectBase } from '../../../core/SceneObjectBase.js';\nimport { DEFAULT_PANEL_SPAN } from './constants.js';\nimport { isSceneGridRow } from './SceneGridItem.js';\nimport { SceneGridLayoutRenderer } from './SceneGridLayoutRenderer.js';\nimport { SceneGridRow } from './SceneGridRow.js';\n\nvar __defProp = Object.defineProperty;\nvar __defProps = Object.defineProperties;\nvar __getOwnPropDescs = Object.getOwnPropertyDescriptors;\nvar __getOwnPropSymbols = Object.getOwnPropertySymbols;\nvar __hasOwnProp = Object.prototype.hasOwnProperty;\nvar __propIsEnum = Object.prototype.propertyIsEnumerable;\nvar __defNormalProp = (obj, key, value) => key in obj ? __defProp(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;\nvar __spreadValues = (a, b) => {\n for (var prop in b || (b = {}))\n if (__hasOwnProp.call(b, prop))\n __defNormalProp(a, prop, b[prop]);\n if (__getOwnPropSymbols)\n for (var prop of __getOwnPropSymbols(b)) {\n if (__propIsEnum.call(b, prop))\n __defNormalProp(a, prop, b[prop]);\n }\n return a;\n};\nvar __spreadProps = (a, b) => __defProps(a, __getOwnPropDescs(b));\nconst _SceneGridLayout = class extends SceneObjectBase {\n constructor(state) {\n super(__spreadProps(__spreadValues({}, state), {\n children: sortChildrenByPosition(state.children)\n }));\n this._skipOnLayoutChange = false;\n this.onLayoutChange = (layout) => {\n if (this._skipOnLayoutChange) {\n this._skipOnLayoutChange = false;\n return;\n }\n for (const item of layout) {\n const child = this.getSceneLayoutChild(item.i);\n const nextSize = {\n x: item.x,\n y: item.y,\n width: item.w,\n height: item.h\n };\n if (!isItemSizeEqual(child.state, nextSize)) {\n child.setState(__spreadValues({}, nextSize));\n }\n }\n this.setState({ children: sortChildrenByPosition(this.state.children) });\n };\n this.onResizeStop = (_, o, n) => {\n const child = this.getSceneLayoutChild(n.i);\n child.setState({\n width: n.w,\n height: n.h\n });\n };\n this.onDragStop = (gridLayout, o, updatedItem) => {\n const sceneChild = this.getSceneLayoutChild(updatedItem.i);\n gridLayout = sortGridLayout(gridLayout);\n for (let i = 0; i < gridLayout.length; i++) {\n const gridItem = gridLayout[i];\n const child = this.getSceneLayoutChild(gridItem.i);\n const childSize = child.state;\n if ((childSize == null ? void 0 : childSize.x) !== gridItem.x || (childSize == null ? void 0 : childSize.y) !== gridItem.y) {\n child.setState({\n x: gridItem.x,\n y: gridItem.y\n });\n }\n }\n const indexOfUpdatedItem = gridLayout.findIndex((item) => item.i === updatedItem.i);\n const newParent = this.findGridItemSceneParent(gridLayout, indexOfUpdatedItem - 1);\n let newChildren = this.state.children;\n if (newParent !== sceneChild.parent) {\n newChildren = this.moveChildTo(sceneChild, newParent);\n }\n this.setState({ children: sortChildrenByPosition(newChildren) });\n this._skipOnLayoutChange = true;\n };\n }\n isDraggable() {\n var _a;\n return (_a = this.state.isDraggable) != null ? _a : false;\n }\n getDragClass() {\n return `grid-drag-handle-${this.state.key}`;\n }\n getDragClassCancel() {\n return `grid-drag-cancel`;\n }\n toggleRow(row) {\n var _a, _b;\n const isCollapsed = row.state.isCollapsed;\n if (!isCollapsed) {\n row.setState({ isCollapsed: true });\n this.setState({});\n return;\n }\n const rowChildren = row.state.children;\n if (rowChildren.length === 0) {\n row.setState({ isCollapsed: false });\n this.setState({});\n return;\n }\n const rowY = row.state.y;\n const firstPanelYPos = (_a = rowChildren[0].state.y) != null ? _a : rowY;\n const yDiff = firstPanelYPos - (rowY + 1);\n let yMax = rowY;\n for (const panel of rowChildren) {\n const newSize = __spreadValues({}, panel.state);\n newSize.y = (_b = newSize.y) != null ? _b : rowY;\n newSize.y -= yDiff;\n if (newSize.y !== panel.state.y) {\n panel.setState(newSize);\n }\n yMax = Math.max(yMax, Number(newSize.y) + Number(newSize.height));\n }\n const pushDownAmount = yMax - rowY - 1;\n for (const child of this.state.children) {\n if (child.state.y > rowY) {\n this.pushChildDown(child, pushDownAmount);\n }\n if (isSceneGridRow(child) && child !== row) {\n for (const rowChild of child.state.children) {\n if (rowChild.state.y > rowY) {\n this.pushChildDown(rowChild, pushDownAmount);\n }\n }\n }\n }\n row.setState({ isCollapsed: false });\n this.setState({});\n }\n getSceneLayoutChild(key) {\n for (const child of this.state.children) {\n if (child.state.key === key) {\n return child;\n }\n if (child instanceof SceneGridRow) {\n for (const rowChild of child.state.children) {\n if (rowChild.state.key === key) {\n return rowChild;\n }\n }\n }\n }\n throw new Error(\"Scene layout child not found for GridItem\");\n }\n pushChildDown(child, amount) {\n child.setState({\n y: child.state.y + amount\n });\n }\n findGridItemSceneParent(layout, startAt) {\n for (let i = startAt; i >= 0; i--) {\n const gridItem = layout[i];\n const sceneChild = this.getSceneLayoutChild(gridItem.i);\n if (sceneChild instanceof SceneGridRow) {\n if (sceneChild.state.isCollapsed) {\n return this;\n }\n return sceneChild;\n }\n }\n return this;\n }\n moveChildTo(child, target) {\n const currentParent = child.parent;\n let rootChildren = this.state.children;\n const newChild = child.clone({ key: child.state.key });\n if (currentParent instanceof SceneGridRow) {\n const newRow = currentParent.clone({\n children: currentParent.state.children.filter((c) => c.state.key !== child.state.key)\n });\n rootChildren = rootChildren.map((c) => c === currentParent ? newRow : c);\n if (target instanceof SceneGridRow) {\n const targetRow = target.clone({ children: [...target.state.children, newChild] });\n rootChildren = rootChildren.map((c) => c === target ? targetRow : c);\n } else {\n rootChildren = [...rootChildren, newChild];\n }\n } else {\n if (!(target instanceof _SceneGridLayout)) {\n rootChildren = rootChildren.filter((c) => c.state.key !== child.state.key);\n const targetRow = target.clone({ children: [...target.state.children, newChild] });\n rootChildren = rootChildren.map((c) => c === target ? targetRow : c);\n }\n }\n return rootChildren;\n }\n toGridCell(child) {\n var _a, _b;\n const size = child.state;\n let x = (_a = size.x) != null ? _a : 0;\n let y = (_b = size.y) != null ? _b : 0;\n const w = Number.isInteger(Number(size.width)) ? Number(size.width) : DEFAULT_PANEL_SPAN;\n const h = Number.isInteger(Number(size.height)) ? Number(size.height) : DEFAULT_PANEL_SPAN;\n let isDraggable = child.state.isDraggable;\n let isResizable = child.state.isResizable;\n if (child instanceof SceneGridRow) {\n isDraggable = child.state.isCollapsed ? true : false;\n isResizable = false;\n }\n return { i: child.state.key, x, y, h, w, isResizable, isDraggable };\n }\n buildGridLayout(width) {\n let cells = [];\n for (const child of this.state.children) {\n cells.push(this.toGridCell(child));\n if (child instanceof SceneGridRow && !child.state.isCollapsed) {\n for (const rowChild of child.state.children) {\n cells.push(this.toGridCell(rowChild));\n }\n }\n }\n cells = sortGridLayout(cells);\n if (width < 768) {\n this._skipOnLayoutChange = true;\n return cells.map((cell) => __spreadProps(__spreadValues({}, cell), { w: 24 }));\n }\n this._skipOnLayoutChange = false;\n return cells;\n }\n};\nlet SceneGridLayout = _SceneGridLayout;\nSceneGridLayout.Component = SceneGridLayoutRenderer;\nfunction isItemSizeEqual(a, b) {\n return a.x === b.x && a.y === b.y && a.width === b.width && a.height === b.height;\n}\nfunction sortChildrenByPosition(children) {\n return [...children].sort((a, b) => {\n return a.state.y - b.state.y || a.state.x - b.state.x;\n });\n}\nfunction sortGridLayout(layout) {\n return [...layout].sort((a, b) => a.y - b.y || a.x - b.x);\n}\n\nexport { SceneGridLayout };\n//# sourceMappingURL=SceneGridLayout.js.map\n","const DEFAULT_PANEL_SPAN = 4;\nconst GRID_CELL_HEIGHT = 30;\nconst GRID_CELL_VMARGIN = 8;\nconst GRID_COLUMN_COUNT = 24;\n\nexport { DEFAULT_PANEL_SPAN, GRID_CELL_HEIGHT, GRID_CELL_VMARGIN, GRID_COLUMN_COUNT };\n//# sourceMappingURL=constants.js.map\n","import React from 'react';\nimport ReactGridLayout from 'react-grid-layout';\nimport AutoSizer from 'react-virtualized-auto-sizer';\nimport { GRID_CELL_VMARGIN, GRID_COLUMN_COUNT, GRID_CELL_HEIGHT } from './constants.js';\nimport { LazyLoader } from '../LazyLoader.js';\n\nfunction SceneGridLayoutRenderer({ model }) {\n const { children, isLazy, isDraggable, isResizable } = model.useState();\n validateChildrenSize(children);\n return /* @__PURE__ */ React.createElement(AutoSizer, {\n disableHeight: true\n }, ({ width }) => {\n if (width === 0) {\n return null;\n }\n const layout = model.buildGridLayout(width);\n return /* @__PURE__ */ React.createElement(\"div\", {\n style: { width: `${width}px`, height: \"100%\" }\n }, /* @__PURE__ */ React.createElement(ReactGridLayout, {\n width,\n isDraggable: isDraggable && width > 768,\n isResizable: isResizable != null ? isResizable : false,\n containerPadding: [0, 0],\n useCSSTransforms: false,\n margin: [GRID_CELL_VMARGIN, GRID_CELL_VMARGIN],\n cols: GRID_COLUMN_COUNT,\n rowHeight: GRID_CELL_HEIGHT,\n draggableHandle: `.grid-drag-handle-${model.state.key}`,\n draggableCancel: \".grid-drag-cancel\",\n layout,\n onDragStop: model.onDragStop,\n onResizeStop: model.onResizeStop,\n onLayoutChange: model.onLayoutChange,\n isBounded: false\n }, layout.map((gridItem) => {\n var _a;\n const sceneChild = model.getSceneLayoutChild(gridItem.i);\n const className = (_a = sceneChild.getClassName) == null ? void 0 : _a.call(sceneChild);\n return isLazy ? /* @__PURE__ */ React.createElement(LazyLoader, {\n key: sceneChild.state.key,\n \"data-griditem-key\": sceneChild.state.key,\n className\n }, /* @__PURE__ */ React.createElement(sceneChild.Component, {\n model: sceneChild,\n key: sceneChild.state.key\n })) : /* @__PURE__ */ React.createElement(\"div\", {\n key: sceneChild.state.key,\n \"data-griditem-key\": sceneChild.state.key,\n className\n }, /* @__PURE__ */ React.createElement(sceneChild.Component, {\n model: sceneChild,\n key: sceneChild.state.key\n }));\n })));\n });\n}\nfunction validateChildrenSize(children) {\n if (children.some(\n (c) => c.state.height === void 0 || c.state.width === void 0 || c.state.x === void 0 || c.state.y === void 0\n )) {\n throw new Error(\"All children must have a size specified\");\n }\n}\n\nexport { SceneGridLayoutRenderer };\n//# sourceMappingURL=SceneGridLayoutRenderer.js.map\n","import { cx, css } from '@emotion/css';\nimport React from 'react';\nimport { useStyles2, Icon } from '@grafana/ui';\nimport { SceneObjectBase } from '../../../core/SceneObjectBase.js';\nimport { SceneGridLayout } from './SceneGridLayout.js';\nimport { GRID_COLUMN_COUNT } from './constants.js';\nimport { sceneGraph } from '../../../core/sceneGraph/index.js';\n\nvar __defProp = Object.defineProperty;\nvar __defProps = Object.defineProperties;\nvar __getOwnPropDescs = Object.getOwnPropertyDescriptors;\nvar __getOwnPropSymbols = Object.getOwnPropertySymbols;\nvar __hasOwnProp = Object.prototype.hasOwnProperty;\nvar __propIsEnum = Object.prototype.propertyIsEnumerable;\nvar __defNormalProp = (obj, key, value) => key in obj ? __defProp(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;\nvar __spreadValues = (a, b) => {\n for (var prop in b || (b = {}))\n if (__hasOwnProp.call(b, prop))\n __defNormalProp(a, prop, b[prop]);\n if (__getOwnPropSymbols)\n for (var prop of __getOwnPropSymbols(b)) {\n if (__propIsEnum.call(b, prop))\n __defNormalProp(a, prop, b[prop]);\n }\n return a;\n};\nvar __spreadProps = (a, b) => __defProps(a, __getOwnPropDescs(b));\nclass SceneGridRow extends SceneObjectBase {\n constructor(state) {\n super(__spreadProps(__spreadValues({\n children: state.children || [],\n isCollapsible: state.isCollapsible || true,\n title: state.title || \"\"\n }, state), {\n x: 0,\n height: 1,\n width: GRID_COLUMN_COUNT\n }));\n this.onCollapseToggle = () => {\n if (!this.state.isCollapsible) {\n return;\n }\n this.getGridLayout().toggleRow(this);\n };\n }\n getGridLayout() {\n const layout = this.parent;\n if (!layout || !(layout instanceof SceneGridLayout)) {\n throw new Error(\"SceneGridRow must be a child of SceneGridLayout\");\n }\n return layout;\n }\n getUrlState() {\n return { rowc: this.state.isCollapsed ? \"1\" : \"0\" };\n }\n updateFromUrl(values) {\n if (values.rowc == null) {\n return;\n }\n if (values.rowc !== this.getUrlState().rowc) {\n this.onCollapseToggle();\n }\n }\n}\nSceneGridRow.Component = SceneGridRowRenderer;\nfunction SceneGridRowRenderer({ model }) {\n const styles = useStyles2(getSceneGridRowStyles);\n const { isCollapsible, isCollapsed, title, isDraggable, actions } = model.useState();\n const layoutDragClass = model.getGridLayout().getDragClass();\n return /* @__PURE__ */ React.createElement(\"div\", {\n className: cx(styles.row, isCollapsed && styles.rowCollapsed)\n }, /* @__PURE__ */ React.createElement(\"button\", {\n onClick: model.onCollapseToggle,\n className: styles.rowTitleButton,\n \"aria-label\": isCollapsed ? \"Expand row\" : \"Collapse row\"\n }, isCollapsible && /* @__PURE__ */ React.createElement(Icon, {\n name: isCollapsed ? \"angle-right\" : \"angle-down\"\n }), /* @__PURE__ */ React.createElement(\"span\", {\n className: styles.rowTitle,\n role: \"heading\"\n }, sceneGraph.interpolate(model, title, void 0, \"text\"))), actions && /* @__PURE__ */ React.createElement(actions.Component, {\n model: actions\n }), isDraggable && isCollapsed && /* @__PURE__ */ React.createElement(\"div\", {\n className: cx(styles.dragHandle, layoutDragClass)\n }, /* @__PURE__ */ React.createElement(Icon, {\n name: \"draggabledots\"\n })));\n}\nconst getSceneGridRowStyles = (theme) => {\n return {\n row: css({\n width: \"100%\",\n height: \"30px\",\n display: \"flex\",\n justifyContent: \"space-between\",\n gap: theme.spacing(1)\n }),\n rowTitleButton: css({\n display: \"flex\",\n alignItems: \"center\",\n cursor: \"pointer\",\n background: \"transparent\",\n border: \"none\",\n gap: theme.spacing(1)\n }),\n rowCollapsed: css({\n borderBottom: `1px solid ${theme.colors.border.weak}`\n }),\n rowTitle: css({\n fontSize: theme.typography.h5.fontSize,\n fontWeight: theme.typography.fontWeightMedium\n }),\n collapsedInfo: css({\n fontSize: theme.typography.bodySmall.fontSize,\n color: theme.colors.text.secondary,\n display: \"flex\",\n alignItems: \"center\",\n flexGrow: 1\n }),\n dragHandle: css({\n display: \"flex\",\n padding: theme.spacing(0, 1),\n alignItems: \"center\",\n justifyContent: \"flex-end\",\n cursor: \"move\",\n color: theme.colors.text.secondary,\n \"&:hover\": {\n color: theme.colors.text.primary\n }\n })\n };\n};\n\nexport { SceneGridRow, SceneGridRowRenderer, getSceneGridRowStyles };\n//# sourceMappingURL=SceneGridRow.js.map\n","import { cx, css } from '@emotion/css';\nimport React from 'react';\nimport { useStyles2, ToolbarButton, Icon } from '@grafana/ui';\nimport { SceneObjectBase } from '../core/SceneObjectBase.js';\nimport { getSceneGridRowStyles } from './layout/grid/SceneGridRow.js';\nimport { sceneGraph } from '../core/sceneGraph/index.js';\n\nclass NestedScene extends SceneObjectBase {\n constructor() {\n super(...arguments);\n this.onToggle = () => {\n this.setState({\n isCollapsed: !this.state.isCollapsed\n });\n };\n this.onRemove = () => {\n const parent = this.parent;\n if (isSceneLayoutItem(parent)) {\n parent.setState({\n body: void 0\n });\n }\n };\n }\n}\nNestedScene.Component = NestedSceneRenderer;\nfunction NestedSceneRenderer({ model }) {\n const { title, isCollapsed, canCollapse, canRemove, body, controls } = model.useState();\n const gridRow = useStyles2(getSceneGridRowStyles);\n const styles = useStyles2(getStyles);\n const toolbarControls = (controls != null ? controls : []).map((action) => /* @__PURE__ */ React.createElement(action.Component, {\n key: action.state.key,\n model: action\n }));\n if (canRemove) {\n toolbarControls.push(\n /* @__PURE__ */ React.createElement(ToolbarButton, {\n icon: \"times\",\n variant: \"default\",\n onClick: model.onRemove,\n key: \"remove-button\",\n \"aria-label\": \"Remove scene\"\n })\n );\n }\n return /* @__PURE__ */ React.createElement(\"div\", {\n className: styles.wrapper\n }, /* @__PURE__ */ React.createElement(\"div\", {\n className: cx(styles.row, isCollapsed && styles.rowCollapsed)\n }, /* @__PURE__ */ React.createElement(\"button\", {\n onClick: model.onToggle,\n className: gridRow.rowTitleButton,\n \"aria-label\": isCollapsed ? \"Expand scene\" : \"Collapse scene\"\n }, canCollapse && /* @__PURE__ */ React.createElement(Icon, {\n name: isCollapsed ? \"angle-right\" : \"angle-down\"\n }), /* @__PURE__ */ React.createElement(\"span\", {\n className: gridRow.rowTitle,\n role: \"heading\"\n }, sceneGraph.interpolate(model, title, void 0, \"text\"))), /* @__PURE__ */ React.createElement(\"div\", {\n className: styles.actions\n }, toolbarControls)), !isCollapsed && /* @__PURE__ */ React.createElement(body.Component, {\n model: body\n }));\n}\nconst getStyles = (theme) => ({\n wrapper: css({\n display: \"flex\",\n flexDirection: \"column\",\n flexGrow: 1,\n gap: theme.spacing(1),\n cursor: \"pointer\"\n }),\n row: css({\n width: \"100%\",\n display: \"flex\",\n justifyContent: \"space-between\",\n gap: theme.spacing(1)\n }),\n rowCollapsed: css({\n borderBottom: `1px solid ${theme.colors.border.weak}`,\n paddingBottom: theme.spacing(1)\n }),\n actions: css({\n display: \"flex\",\n alignItems: \"center\",\n gap: theme.spacing(1),\n justifyContent: \"flex-end\",\n flexGrow: 1\n })\n});\nfunction isSceneLayoutItem(x) {\n return \"body\" in x.state;\n}\n\nexport { NestedScene, NestedSceneRenderer };\n//# sourceMappingURL=NestedScene.js.map\n","import React from 'react';\nimport { SceneObjectBase } from '../core/SceneObjectBase.js';\nimport { sceneGraph } from '../core/sceneGraph/index.js';\nimport { VariableDependencyConfig } from '../variables/VariableDependencyConfig.js';\nimport { useTheme2 } from '@grafana/ui';\nimport { css } from '@emotion/css';\n\nclass SceneCanvasText extends SceneObjectBase {\n constructor() {\n super(...arguments);\n this._variableDependency = new VariableDependencyConfig(this, { statePaths: [\"text\"] });\n }\n}\nSceneCanvasText.Component = ({ model }) => {\n const { text, fontSize = 20, align = \"left\", key, spacing } = model.useState();\n const theme = useTheme2();\n const style = css({\n fontSize,\n display: \"flex\",\n flexGrow: 1,\n alignItems: \"center\",\n padding: spacing ? theme.spacing(spacing, 0) : void 0,\n justifyContent: align\n });\n return /* @__PURE__ */ React.createElement(\"div\", {\n className: style,\n \"data-testid\": key\n }, sceneGraph.interpolate(model, text));\n};\n\nexport { SceneCanvasText };\n//# sourceMappingURL=SceneCanvasText.js.map\n","import React from 'react';\nimport { ToolbarButton, Input } from '@grafana/ui';\nimport { SceneObjectBase } from '../core/SceneObjectBase.js';\nimport { ControlsLabel } from '../utils/ControlsLabel.js';\n\nclass SceneToolbarButton extends SceneObjectBase {\n}\nSceneToolbarButton.Component = ({ model }) => {\n const state = model.useState();\n return /* @__PURE__ */ React.createElement(ToolbarButton, {\n onClick: state.onClick,\n icon: state.icon\n });\n};\nclass SceneToolbarInput extends SceneObjectBase {\n}\nSceneToolbarInput.Component = ({ model }) => {\n const state = model.useState();\n return /* @__PURE__ */ React.createElement(\"div\", {\n style: { display: \"flex\" }\n }, state.label && /* @__PURE__ */ React.createElement(ControlsLabel, {\n label: state.label\n }), /* @__PURE__ */ React.createElement(Input, {\n defaultValue: state.value,\n width: 8,\n onBlur: (evt) => {\n model.state.onChange(parseInt(evt.currentTarget.value, 10));\n }\n }));\n};\n\nexport { SceneToolbarButton, SceneToolbarInput };\n//# sourceMappingURL=SceneToolbarButton.js.map\n","import React from 'react';\nimport { TimeRangePicker } from '@grafana/ui';\nimport { SceneObjectBase } from '../core/SceneObjectBase.js';\nimport { sceneGraph } from '../core/sceneGraph/index.js';\nimport { toUtc } from '@grafana/data';\n\nclass SceneTimePicker extends SceneObjectBase {\n constructor() {\n super(...arguments);\n this.onZoom = () => {\n const timeRange = sceneGraph.getTimeRange(this);\n const zoomedTimeRange = getZoomedTimeRange(timeRange.state.value, 2);\n timeRange.onTimeRangeChange(zoomedTimeRange);\n };\n this.onChangeFiscalYearStartMonth = (month) => {\n const timeRange = sceneGraph.getTimeRange(this);\n timeRange.setState({ fiscalYearStartMonth: month });\n };\n this.onMoveBackward = () => {\n const timeRange = sceneGraph.getTimeRange(this);\n const {\n state: { value: range }\n } = timeRange;\n timeRange.onTimeRangeChange(getShiftedTimeRange(TimeRangeDirection.Backward, range, Date.now()));\n };\n this.onMoveForward = () => {\n const timeRange = sceneGraph.getTimeRange(this);\n const {\n state: { value: range }\n } = timeRange;\n timeRange.onTimeRangeChange(getShiftedTimeRange(TimeRangeDirection.Forward, range, Date.now()));\n };\n }\n}\nSceneTimePicker.Component = SceneTimePickerRenderer;\nfunction SceneTimePickerRenderer({ model }) {\n const { hidePicker, isOnCanvas } = model.useState();\n const timeRange = sceneGraph.getTimeRange(model);\n const timeZone = timeRange.getTimeZone();\n const timeRangeState = timeRange.useState();\n if (hidePicker) {\n return null;\n }\n return /* @__PURE__ */ React.createElement(TimeRangePicker, {\n isOnCanvas: isOnCanvas != null ? isOnCanvas : true,\n value: timeRangeState.value,\n onChange: timeRange.onTimeRangeChange,\n timeZone,\n fiscalYearStartMonth: timeRangeState.fiscalYearStartMonth,\n onMoveBackward: model.onMoveBackward,\n onMoveForward: model.onMoveForward,\n onZoom: model.onZoom,\n onChangeTimeZone: timeRange.onTimeZoneChange,\n onChangeFiscalYearStartMonth: model.onChangeFiscalYearStartMonth\n });\n}\nfunction getZoomedTimeRange(timeRange, factor) {\n const timespan = timeRange.to.valueOf() - timeRange.from.valueOf();\n const center = timeRange.to.valueOf() - timespan / 2;\n const newTimespan = timespan === 0 ? 3e4 : timespan * factor;\n const to = center + newTimespan / 2;\n const from = center - newTimespan / 2;\n return { from: toUtc(from), to: toUtc(to), raw: { from: toUtc(from), to: toUtc(to) } };\n}\nvar TimeRangeDirection = /* @__PURE__ */ ((TimeRangeDirection2) => {\n TimeRangeDirection2[TimeRangeDirection2[\"Backward\"] = 0] = \"Backward\";\n TimeRangeDirection2[TimeRangeDirection2[\"Forward\"] = 1] = \"Forward\";\n return TimeRangeDirection2;\n})(TimeRangeDirection || {});\nfunction getShiftedTimeRange(dir, timeRange, upperLimit) {\n const oldTo = timeRange.to.valueOf();\n const oldFrom = timeRange.from.valueOf();\n const halfSpan = (oldTo - oldFrom) / 2;\n let fromRaw;\n let toRaw;\n if (dir === 0 /* Backward */) {\n fromRaw = oldFrom - halfSpan;\n toRaw = oldTo - halfSpan;\n } else {\n fromRaw = oldFrom + halfSpan;\n toRaw = oldTo + halfSpan;\n if (toRaw > upperLimit && oldTo < upperLimit) {\n toRaw = upperLimit;\n fromRaw = oldFrom;\n }\n }\n const from = toUtc(fromRaw);\n const to = toUtc(toRaw);\n return {\n from,\n to,\n raw: { from, to }\n };\n}\n\nexport { SceneTimePicker, TimeRangeDirection, getShiftedTimeRange, getZoomedTimeRange };\n//# sourceMappingURL=SceneTimePicker.js.map\n","import React from 'react';\nimport { rangeUtil } from '@grafana/data';\nimport { RefreshPicker } from '@grafana/ui';\nimport { SceneObjectBase } from '../core/SceneObjectBase.js';\nimport { sceneGraph } from '../core/sceneGraph/index.js';\nimport { SceneObjectUrlSyncConfig } from '../services/SceneObjectUrlSyncConfig.js';\n\nvar __defProp = Object.defineProperty;\nvar __defProps = Object.defineProperties;\nvar __getOwnPropDescs = Object.getOwnPropertyDescriptors;\nvar __getOwnPropSymbols = Object.getOwnPropertySymbols;\nvar __hasOwnProp = Object.prototype.hasOwnProperty;\nvar __propIsEnum = Object.prototype.propertyIsEnumerable;\nvar __defNormalProp = (obj, key, value) => key in obj ? __defProp(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;\nvar __spreadValues = (a, b) => {\n for (var prop in b || (b = {}))\n if (__hasOwnProp.call(b, prop))\n __defNormalProp(a, prop, b[prop]);\n if (__getOwnPropSymbols)\n for (var prop of __getOwnPropSymbols(b)) {\n if (__propIsEnum.call(b, prop))\n __defNormalProp(a, prop, b[prop]);\n }\n return a;\n};\nvar __spreadProps = (a, b) => __defProps(a, __getOwnPropDescs(b));\nconst DEFAULT_INTERVALS = [\"5s\", \"10s\", \"30s\", \"1m\", \"5m\", \"15m\", \"30m\", \"1h\", \"2h\", \"1d\"];\nclass SceneRefreshPicker extends SceneObjectBase {\n constructor(state) {\n var _a;\n super(__spreadProps(__spreadValues({\n refresh: \"\"\n }, state), {\n intervals: (_a = state.intervals) != null ? _a : DEFAULT_INTERVALS\n }));\n this._urlSync = new SceneObjectUrlSyncConfig(this, { keys: [\"refresh\"] });\n this.onRefresh = () => {\n const timeRange = sceneGraph.getTimeRange(this);\n if (this._intervalTimer) {\n clearInterval(this._intervalTimer);\n }\n timeRange.onRefresh();\n this.setupIntervalTimer();\n };\n this.onIntervalChanged = (interval) => {\n this.setState({ refresh: interval });\n this.setupIntervalTimer();\n };\n this.setupIntervalTimer = () => {\n const timeRange = sceneGraph.getTimeRange(this);\n const { refresh, intervals } = this.state;\n if (this._intervalTimer || refresh === \"\") {\n clearInterval(this._intervalTimer);\n }\n if (refresh === \"\") {\n return;\n }\n if (intervals && !intervals.includes(refresh)) {\n return;\n }\n const intervalMs = rangeUtil.intervalToMs(refresh);\n this._intervalTimer = setInterval(() => {\n timeRange.onRefresh();\n }, intervalMs);\n };\n this.addActivationHandler(() => {\n this.setupIntervalTimer();\n return () => {\n if (this._intervalTimer) {\n clearInterval(this._intervalTimer);\n }\n };\n });\n }\n getUrlState() {\n return {\n refresh: this.state.refresh\n };\n }\n updateFromUrl(values) {\n const refresh = values.refresh;\n if (refresh && typeof refresh === \"string\") {\n this.setState({\n refresh\n });\n }\n }\n}\nSceneRefreshPicker.Component = SceneRefreshPickerRenderer;\nfunction SceneRefreshPickerRenderer({ model }) {\n const { refresh, intervals, isOnCanvas } = model.useState();\n return /* @__PURE__ */ React.createElement(RefreshPicker, {\n value: refresh,\n intervals,\n onRefresh: model.onRefresh,\n onIntervalChanged: model.onIntervalChanged,\n isOnCanvas: isOnCanvas != null ? isOnCanvas : true\n });\n}\n\nexport { DEFAULT_INTERVALS, SceneRefreshPicker, SceneRefreshPickerRenderer };\n//# sourceMappingURL=SceneRefreshPicker.js.map\n","import React from 'react';\nimport { LoadingState } from '@grafana/data';\nimport { SceneObjectBase } from '../core/SceneObjectBase.js';\nimport { sceneGraph } from '../core/sceneGraph/index.js';\n\nclass SceneByFrameRepeater extends SceneObjectBase {\n constructor(state) {\n super(state);\n this.addActivationHandler(() => {\n const dataProvider = sceneGraph.getData(this);\n this._subs.add(\n dataProvider.subscribeToState((data) => {\n var _a;\n if (((_a = data.data) == null ? void 0 : _a.state) === LoadingState.Done) {\n this.performRepeat(data.data);\n }\n })\n );\n if (dataProvider.state.data) {\n this.performRepeat(dataProvider.state.data);\n }\n });\n }\n performRepeat(data) {\n const newChildren = [];\n for (let seriesIndex = 0; seriesIndex < data.series.length; seriesIndex++) {\n const layoutChild = this.state.getLayoutChild(data, data.series[seriesIndex], seriesIndex);\n newChildren.push(layoutChild);\n }\n this.state.body.setState({ children: newChildren });\n }\n}\nSceneByFrameRepeater.Component = ({ model }) => {\n const { body } = model.useState();\n return /* @__PURE__ */ React.createElement(body.Component, {\n model: body\n });\n};\n\nexport { SceneByFrameRepeater };\n//# sourceMappingURL=SceneByFrameRepeater.js.map\n","import React from 'react';\nimport { SceneObjectBase } from '../core/SceneObjectBase.js';\n\nconst _SceneControlsSpacer = class extends SceneObjectBase {\n constructor() {\n super({});\n }\n get Component() {\n return _SceneControlsSpacer.Component;\n }\n};\nlet SceneControlsSpacer = _SceneControlsSpacer;\nSceneControlsSpacer.Component = (_props) => {\n return /* @__PURE__ */ React.createElement(\"div\", {\n style: { flexGrow: 1 }\n });\n};\n\nexport { SceneControlsSpacer };\n//# sourceMappingURL=SceneControlsSpacer.js.map\n","import { css } from '@emotion/css';\nimport { config } from '@grafana/runtime';\nimport React, { useMemo } from 'react';\nimport { SceneObjectBase } from '../../core/SceneObjectBase.js';\n\nclass SceneFlexLayout extends SceneObjectBase {\n toggleDirection() {\n this.setState({\n direction: this.state.direction === \"row\" ? \"column\" : \"row\"\n });\n }\n isDraggable() {\n return false;\n }\n}\nSceneFlexLayout.Component = SceneFlexLayoutRenderer;\nfunction SceneFlexLayoutRenderer({ model, parentState }) {\n const { children, isHidden } = model.useState();\n const style = useLayoutStyle(model.state, parentState);\n if (isHidden) {\n return null;\n }\n return /* @__PURE__ */ React.createElement(\"div\", {\n className: style\n }, children.map((item) => {\n const Component = item.Component;\n return /* @__PURE__ */ React.createElement(Component, {\n key: item.state.key,\n model: item,\n parentState: model.state\n });\n }));\n}\nclass SceneFlexItem extends SceneObjectBase {\n}\nSceneFlexItem.Component = SceneFlexItemRenderer;\nfunction SceneFlexItemRenderer({ model, parentState }) {\n if (!parentState) {\n throw new Error(\"SceneFlexItem must be a child of SceneFlexLayout\");\n }\n const { body, isHidden } = model.useState();\n const style = useLayoutItemStyle(model.state, parentState);\n if (!body || isHidden) {\n return null;\n }\n return /* @__PURE__ */ React.createElement(\"div\", {\n className: style\n }, /* @__PURE__ */ React.createElement(body.Component, {\n model: body\n }));\n}\nfunction applyItemStyles(style, state, parentState) {\n var _a, _b, _c;\n const parentDirection = (_a = parentState.direction) != null ? _a : \"row\";\n const { xSizing = \"fill\", ySizing = \"fill\" } = state;\n style.display = \"flex\";\n style.position = \"relative\";\n style.flexDirection = parentDirection;\n if (parentDirection === \"column\") {\n if (state.height) {\n style.height = state.height;\n } else {\n style.flexGrow = ySizing === \"fill\" ? 1 : 0;\n }\n if (state.width) {\n style.width = state.width;\n } else {\n style.alignSelf = xSizing === \"fill\" ? \"stretch\" : \"flex-start\";\n }\n } else {\n if (state.height) {\n style.height = state.height;\n } else {\n style.alignSelf = ySizing === \"fill\" ? \"stretch\" : \"flex-start\";\n }\n if (state.width) {\n style.width = state.width;\n } else {\n style.flexGrow = xSizing === \"fill\" ? 1 : 0;\n }\n }\n style.minWidth = state.minWidth;\n style.maxWidth = state.maxWidth;\n style.maxHeight = state.maxHeight;\n style.minHeight = (_b = state.minHeight) != null ? _b : parentState.minHeight;\n style.height = (_c = state.height) != null ? _c : parentState.height;\n return style;\n}\nfunction useLayoutItemStyle(state, parentState) {\n return useMemo(() => {\n var _a, _b, _c, _d, _e, _f, _g, _h, _i, _j;\n const theme = config.theme2;\n const style = applyItemStyles({}, state, parentState);\n style[theme.breakpoints.down(\"md\")] = {\n maxWidth: (_b = (_a = state.md) == null ? void 0 : _a.maxWidth) != null ? _b : \"unset\",\n maxHeight: (_d = (_c = state.md) == null ? void 0 : _c.maxHeight) != null ? _d : \"unset\",\n height: (_g = (_e = state.md) == null ? void 0 : _e.height) != null ? _g : (_f = parentState.md) == null ? void 0 : _f.height,\n width: (_j = (_h = state.md) == null ? void 0 : _h.width) != null ? _j : (_i = parentState.md) == null ? void 0 : _i.width\n };\n return css(style);\n }, [state, parentState]);\n}\nfunction useLayoutStyle(state, parentState) {\n return useMemo(() => {\n var _a, _b, _c, _d, _e, _f, _g, _h, _i, _j;\n const { direction = \"row\", wrap } = state;\n const theme = config.theme2;\n const style = {};\n if (parentState) {\n applyItemStyles(style, state, parentState);\n } else {\n style.display = \"flex\";\n style.flexGrow = 1;\n }\n style.flexDirection = direction;\n style.gap = \"8px\";\n style.flexWrap = wrap || \"nowrap\";\n style.alignContent = \"baseline\";\n style.minHeight = style.minHeight || 0;\n style[theme.breakpoints.down(\"md\")] = {\n flexDirection: (_b = (_a = state.md) == null ? void 0 : _a.direction) != null ? _b : \"column\",\n maxWidth: (_d = (_c = state.md) == null ? void 0 : _c.maxWidth) != null ? _d : \"unset\",\n maxHeight: (_f = (_e = state.md) == null ? void 0 : _e.maxHeight) != null ? _f : \"unset\",\n height: (_h = (_g = state.md) == null ? void 0 : _g.height) != null ? _h : \"unset\",\n width: (_j = (_i = state.md) == null ? void 0 : _i.width) != null ? _j : \"unset\"\n };\n return css(style);\n }, [parentState, state]);\n}\n\nexport { SceneFlexItem, SceneFlexLayout };\n//# sourceMappingURL=SceneFlexLayout.js.map\n","import { css } from '@emotion/css';\nimport React, { useMemo } from 'react';\nimport { SceneObjectBase } from '../../../core/SceneObjectBase.js';\nimport { config } from '@grafana/runtime';\nimport { LazyLoader } from '../LazyLoader.js';\n\nvar __defProp = Object.defineProperty;\nvar __getOwnPropSymbols = Object.getOwnPropertySymbols;\nvar __hasOwnProp = Object.prototype.hasOwnProperty;\nvar __propIsEnum = Object.prototype.propertyIsEnumerable;\nvar __defNormalProp = (obj, key, value) => key in obj ? __defProp(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;\nvar __spreadValues = (a, b) => {\n for (var prop in b || (b = {}))\n if (__hasOwnProp.call(b, prop))\n __defNormalProp(a, prop, b[prop]);\n if (__getOwnPropSymbols)\n for (var prop of __getOwnPropSymbols(b)) {\n if (__propIsEnum.call(b, prop))\n __defNormalProp(a, prop, b[prop]);\n }\n return a;\n};\nclass SceneCSSGridLayout extends SceneObjectBase {\n constructor(state) {\n var _a, _b;\n super(__spreadValues({\n rowGap: 1,\n columnGap: 1,\n templateColumns: \"repeat(auto-fit, minmax(400px, 1fr))\",\n autoRows: (_a = state.autoRows) != null ? _a : `320px`,\n children: (_b = state.children) != null ? _b : []\n }, state));\n }\n isDraggable() {\n return false;\n }\n}\nSceneCSSGridLayout.Component = SceneCSSGridLayoutRenderer;\nfunction SceneCSSGridLayoutRenderer({ model }) {\n const { children, isHidden, isLazy } = model.useState();\n const style = useLayoutStyle(model.state);\n if (isHidden) {\n return null;\n }\n return /* @__PURE__ */ React.createElement(\"div\", {\n className: style\n }, children.map((item) => {\n const Component = item.Component;\n if (isLazy) {\n return /* @__PURE__ */ React.createElement(LazyLoader, {\n key: item.state.key,\n className: style\n }, /* @__PURE__ */ React.createElement(Component, {\n key: item.state.key,\n model: item,\n parentState: model.state\n }));\n }\n return /* @__PURE__ */ React.createElement(Component, {\n key: item.state.key,\n model: item,\n parentState: model.state\n });\n }));\n}\nclass SceneCSSGridItem extends SceneObjectBase {\n}\nSceneCSSGridItem.Component = SceneCSSGridItemRenderer;\nfunction SceneCSSGridItemRenderer({ model, parentState }) {\n if (!parentState) {\n throw new Error(\"SceneCSSGridItem must be a child of SceneCSSGridLayout\");\n }\n const { body, isHidden } = model.useState();\n const style = useItemStyle(model.state);\n if (!body || isHidden) {\n return null;\n }\n return /* @__PURE__ */ React.createElement(\"div\", {\n className: style\n }, /* @__PURE__ */ React.createElement(body.Component, {\n model: body\n }));\n}\nfunction useLayoutStyle(state) {\n return useMemo(() => {\n var _a, _b, _c, _d, _e, _f, _g, _h, _i, _j, _k;\n const style = {};\n const theme = config.theme2;\n style.display = \"grid\";\n style.gridTemplateColumns = state.templateColumns;\n style.gridTemplateRows = state.templateRows || \"unset\";\n style.gridAutoRows = state.autoRows || \"unset\";\n style.rowGap = theme.spacing((_a = state.rowGap) != null ? _a : 1);\n style.columnGap = theme.spacing((_b = state.columnGap) != null ? _b : 1);\n style.justifyItems = state.justifyItems || \"unset\";\n style.alignItems = state.alignItems || \"unset\";\n style.justifyContent = state.justifyContent || \"unset\";\n style.flexGrow = 1;\n if (state.md) {\n style[theme.breakpoints.down(\"md\")] = {\n gridTemplateRows: (_c = state.md) == null ? void 0 : _c.templateRows,\n gridTemplateColumns: (_d = state.md) == null ? void 0 : _d.templateColumns,\n rowGap: state.md.rowGap ? theme.spacing((_f = (_e = state.md) == null ? void 0 : _e.rowGap) != null ? _f : 1) : void 0,\n columnGap: state.md.columnGap ? theme.spacing((_h = (_g = state.md) == null ? void 0 : _g.rowGap) != null ? _h : 1) : void 0,\n justifyItems: (_i = state.md) == null ? void 0 : _i.justifyItems,\n alignItems: (_j = state.md) == null ? void 0 : _j.alignItems,\n justifyContent: (_k = state.md) == null ? void 0 : _k.justifyContent\n };\n }\n return css(style);\n }, [state]);\n}\nfunction useItemStyle(state) {\n return useMemo(() => {\n const style = {};\n style.gridColumn = state.gridColumn || \"unset\";\n style.gridRow = state.gridRow || \"unset\";\n style.position = \"relative\";\n return css(style);\n }, [state]);\n}\n\nexport { SceneCSSGridItem, SceneCSSGridLayout };\n//# sourceMappingURL=SceneCSSGridLayout.js.map\n","import { cx, css } from '@emotion/css';\nimport { useStyles2 } from '@grafana/ui';\nimport { clamp, throttle } from 'lodash';\nimport React, { useRef, useCallback, useLayoutEffect } from 'react';\nimport { useUniqueId } from '../LazyLoader.js';\n\nvar __defProp = Object.defineProperty;\nvar __getOwnPropSymbols = Object.getOwnPropertySymbols;\nvar __hasOwnProp = Object.prototype.hasOwnProperty;\nvar __propIsEnum = Object.prototype.propertyIsEnumerable;\nvar __defNormalProp = (obj, key, value) => key in obj ? __defProp(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;\nvar __spreadValues = (a, b) => {\n for (var prop in b || (b = {}))\n if (__hasOwnProp.call(b, prop))\n __defNormalProp(a, prop, b[prop]);\n if (__getOwnPropSymbols)\n for (var prop of __getOwnPropSymbols(b)) {\n if (__propIsEnum.call(b, prop))\n __defNormalProp(a, prop, b[prop]);\n }\n return a;\n};\nconst PIXELS_PER_MS = 0.3;\nconst VERTICAL_KEYS = /* @__PURE__ */ new Set([\"ArrowUp\", \"ArrowDown\"]);\nconst HORIZONTAL_KEYS = /* @__PURE__ */ new Set([\"ArrowLeft\", \"ArrowRight\"]);\nconst propsForDirection = {\n row: {\n dim: \"width\",\n axis: \"clientX\",\n min: \"minWidth\",\n max: \"maxWidth\"\n },\n column: {\n dim: \"height\",\n axis: \"clientY\",\n min: \"minHeight\",\n max: \"maxHeight\"\n }\n};\nfunction Splitter({\n direction = \"row\",\n handleSize = 32,\n initialSize = \"auto\",\n primaryPaneStyles,\n secondaryPaneStyles,\n onDragFinished,\n children\n}) {\n const kids = React.Children.toArray(children);\n const splitterRef = useRef(null);\n const firstPaneRef = useRef(null);\n const secondPaneRef = useRef(null);\n const containerRef = useRef(null);\n const containerSize = useRef(null);\n const primarySizeRef = useRef(\"1fr\");\n const firstPaneMeasurements = useRef(void 0);\n const savedPos = useRef(void 0);\n const measurementProp = propsForDirection[direction].dim;\n const clientAxis = propsForDirection[direction].axis;\n const minDimProp = propsForDirection[direction].min;\n const maxDimProp = propsForDirection[direction].max;\n useResizeObserver(\n containerRef.current,\n (entries) => {\n for (const entry of entries) {\n if (!entry.target.isSameNode(containerRef.current)) {\n return;\n }\n const curSize = firstPaneRef.current.getBoundingClientRect()[measurementProp];\n const newDims = measureElement(firstPaneRef.current);\n splitterRef.current.ariaValueNow = `${clamp(\n (curSize - newDims[minDimProp]) / (newDims[maxDimProp] - newDims[minDimProp]) * 100,\n 0,\n 100\n )}`;\n }\n },\n 500,\n [maxDimProp, minDimProp, direction, measurementProp]\n );\n const dragStart = useRef(null);\n const onPointerDown = useCallback(\n (e) => {\n primarySizeRef.current = firstPaneRef.current.getBoundingClientRect()[measurementProp];\n containerSize.current = containerRef.current.getBoundingClientRect()[measurementProp];\n dragStart.current = e[clientAxis];\n splitterRef.current.setPointerCapture(e.pointerId);\n firstPaneMeasurements.current = measureElement(firstPaneRef.current);\n savedPos.current = void 0;\n },\n [measurementProp, clientAxis]\n );\n const onPointerMove = useCallback(\n (e) => {\n if (dragStart.current !== null && primarySizeRef.current !== \"1fr\") {\n const diff = e[clientAxis] - dragStart.current;\n const dims = firstPaneMeasurements.current;\n const newSize = clamp(primarySizeRef.current + diff, dims[minDimProp], dims[maxDimProp]);\n const newFlex = newSize / (containerSize.current - handleSize);\n firstPaneRef.current.style.flexGrow = `${newFlex}`;\n secondPaneRef.current.style.flexGrow = `${1 - newFlex}`;\n const ariaValueNow = clamp(\n (newSize - dims[minDimProp]) / (dims[maxDimProp] - dims[minDimProp]) * 100,\n 0,\n 100\n );\n splitterRef.current.ariaValueNow = `${ariaValueNow}`;\n }\n },\n [handleSize, clientAxis, minDimProp, maxDimProp]\n );\n const onPointerUp = useCallback(\n (e) => {\n e.preventDefault();\n e.stopPropagation();\n splitterRef.current.releasePointerCapture(e.pointerId);\n dragStart.current = null;\n onDragFinished == null ? void 0 : onDragFinished(parseFloat(firstPaneRef.current.style.flexGrow));\n },\n [onDragFinished]\n );\n const pressedKeys = useRef(/* @__PURE__ */ new Set());\n const keysLastHandledAt = useRef(null);\n const handlePressedKeys = useCallback(\n (time) => {\n var _a;\n const nothingPressed = pressedKeys.current.size === 0;\n if (nothingPressed) {\n keysLastHandledAt.current = null;\n return;\n } else if (primarySizeRef.current === \"1fr\") {\n return;\n }\n const dt = time - ((_a = keysLastHandledAt.current) != null ? _a : time);\n const dx = dt * PIXELS_PER_MS;\n let sizeChange = 0;\n if (direction === \"row\") {\n if (pressedKeys.current.has(\"ArrowLeft\")) {\n sizeChange -= dx;\n }\n if (pressedKeys.current.has(\"ArrowRight\")) {\n sizeChange += dx;\n }\n } else {\n if (pressedKeys.current.has(\"ArrowUp\")) {\n sizeChange -= dx;\n }\n if (pressedKeys.current.has(\"ArrowDown\")) {\n sizeChange += dx;\n }\n }\n const firstPaneDims = firstPaneMeasurements.current;\n const curSize = firstPaneRef.current.getBoundingClientRect()[measurementProp];\n const newSize = clamp(curSize + sizeChange, firstPaneDims[minDimProp], firstPaneDims[maxDimProp]);\n const newFlex = newSize / (containerSize.current - handleSize);\n firstPaneRef.current.style.flexGrow = `${newFlex}`;\n secondPaneRef.current.style.flexGrow = `${1 - newFlex}`;\n const ariaValueNow = (newSize - firstPaneDims[minDimProp]) / (firstPaneDims[maxDimProp] - firstPaneDims[minDimProp]) * 100;\n splitterRef.current.ariaValueNow = `${clamp(ariaValueNow, 0, 100)}`;\n keysLastHandledAt.current = time;\n window.requestAnimationFrame(handlePressedKeys);\n },\n [direction, handleSize, minDimProp, maxDimProp, measurementProp]\n );\n const onKeyDown = useCallback(\n (e) => {\n if (e.key === \"Enter\") {\n if (savedPos.current === void 0) {\n savedPos.current = firstPaneRef.current.style.flexGrow;\n firstPaneRef.current.style.flexGrow = \"0\";\n secondPaneRef.current.style.flexGrow = \"1\";\n } else {\n firstPaneRef.current.style.flexGrow = savedPos.current;\n secondPaneRef.current.style.flexGrow = `${1 - parseFloat(savedPos.current)}`;\n savedPos.current = void 0;\n }\n return;\n } else if (e.key === \"Home\") {\n firstPaneMeasurements.current = measureElement(firstPaneRef.current);\n containerSize.current = containerRef.current.getBoundingClientRect()[measurementProp];\n const newFlex = firstPaneMeasurements.current[minDimProp] / (containerSize.current - handleSize);\n firstPaneRef.current.style.flexGrow = `${newFlex}`;\n secondPaneRef.current.style.flexGrow = `${1 - newFlex}`;\n splitterRef.current.ariaValueNow = \"0\";\n return;\n } else if (e.key === \"End\") {\n firstPaneMeasurements.current = measureElement(firstPaneRef.current);\n containerSize.current = containerRef.current.getBoundingClientRect()[measurementProp];\n const newFlex = firstPaneMeasurements.current[maxDimProp] / (containerSize.current - handleSize);\n firstPaneRef.current.style.flexGrow = `${newFlex}`;\n secondPaneRef.current.style.flexGrow = `${1 - newFlex}`;\n splitterRef.current.ariaValueNow = \"100\";\n return;\n }\n if (!(direction === \"column\" && VERTICAL_KEYS.has(e.key) || direction === \"row\" && HORIZONTAL_KEYS.has(e.key)) || pressedKeys.current.has(e.key)) {\n return;\n }\n savedPos.current = void 0;\n e.preventDefault();\n e.stopPropagation();\n primarySizeRef.current = firstPaneRef.current.getBoundingClientRect()[measurementProp];\n containerSize.current = containerRef.current.getBoundingClientRect()[measurementProp];\n firstPaneMeasurements.current = measureElement(firstPaneRef.current);\n const newKey = !pressedKeys.current.has(e.key);\n if (newKey) {\n const initiateAnimationLoop = pressedKeys.current.size === 0;\n pressedKeys.current.add(e.key);\n if (initiateAnimationLoop) {\n window.requestAnimationFrame(handlePressedKeys);\n }\n }\n },\n [direction, handlePressedKeys, handleSize, maxDimProp, measurementProp, minDimProp]\n );\n const onKeyUp = useCallback(\n (e) => {\n if (direction === \"row\" && !HORIZONTAL_KEYS.has(e.key) || direction === \"column\" && !VERTICAL_KEYS.has(e.key)) {\n return;\n }\n pressedKeys.current.delete(e.key);\n onDragFinished == null ? void 0 : onDragFinished(parseFloat(firstPaneRef.current.style.flexGrow));\n },\n [direction, onDragFinished]\n );\n const onDoubleClick = useCallback(() => {\n firstPaneRef.current.style.flexGrow = \"0.5\";\n secondPaneRef.current.style.flexGrow = \"0.5\";\n const dim = measureElement(firstPaneRef.current);\n firstPaneMeasurements.current = dim;\n primarySizeRef.current = firstPaneRef.current.getBoundingClientRect()[measurementProp];\n splitterRef.current.ariaValueNow = `${(primarySizeRef.current - dim[minDimProp]) / (dim[maxDimProp] - dim[minDimProp]) * 100}`;\n }, [maxDimProp, measurementProp, minDimProp]);\n const styles = useStyles2(getStyles);\n const id = useUniqueId();\n return /* @__PURE__ */ React.createElement(\"div\", {\n ref: containerRef,\n className: styles.container,\n style: {\n flexDirection: direction\n }\n }, /* @__PURE__ */ React.createElement(\"div\", {\n ref: firstPaneRef,\n className: styles.panel,\n style: __spreadValues({\n flexGrow: initialSize === \"auto\" ? 0.5 : clamp(initialSize, 0, 1),\n [minDimProp]: \"min-content\"\n }, primaryPaneStyles),\n id: `start-panel-${id}`\n }, kids[0]), /* @__PURE__ */ React.createElement(\"div\", {\n ref: splitterRef,\n style: { [measurementProp]: `${handleSize}px` },\n className: cx(styles.handle, { [styles.handleHorizontal]: direction === \"column\" }),\n onPointerUp,\n onPointerDown,\n onPointerMove,\n onKeyDown,\n onKeyUp,\n onDoubleClick,\n role: \"separator\",\n \"aria-valuemin\": 0,\n \"aria-valuemax\": 100,\n \"aria-valuenow\": 50,\n \"aria-controls\": `start-panel-${id}`,\n \"aria-label\": \"Pane resize widget\",\n tabIndex: 0\n }), /* @__PURE__ */ React.createElement(\"div\", {\n ref: secondPaneRef,\n className: styles.panel,\n style: __spreadValues({\n flexGrow: initialSize === \"auto\" ? 0.5 : clamp(1 - initialSize, 0, 1),\n [minDimProp]: \"min-content\"\n }, secondaryPaneStyles),\n id: `end-panel-${id}`\n }, kids[1]));\n}\nfunction getStyles(theme) {\n return {\n handle: css({\n cursor: \"col-resize\",\n position: \"relative\",\n flexShrink: 0,\n userSelect: \"none\",\n \"&::before\": {\n content: '\"\"',\n position: \"absolute\",\n backgroundColor: theme.colors.primary.main,\n left: \"50%\",\n transform: \"translate(-50%)\",\n top: 0,\n height: \"100%\",\n width: \"1px\",\n opacity: 0,\n transition: \"opacity ease-in-out 0.2s\"\n },\n \"&::after\": {\n content: '\"\"',\n width: \"4px\",\n borderRadius: \"4px\",\n backgroundColor: theme.colors.border.weak,\n transition: \"background-color ease-in-out 0.2s\",\n height: \"50%\",\n top: \"calc(50% - (50%) / 2)\",\n transform: \"translateX(-50%)\",\n position: \"absolute\",\n left: \"50%\"\n },\n \"&:hover, &:focus-visible\": {\n outline: \"none\",\n \"&::before\": {\n opacity: 1\n },\n \"&::after\": {\n backgroundColor: theme.colors.primary.main\n }\n }\n }),\n handleHorizontal: css({\n cursor: \"row-resize\",\n \"&::before\": {\n left: \"inherit\",\n transform: \"translateY(-50%)\",\n top: \"50%\",\n height: \"1px\",\n width: \"100%\"\n },\n \"&::after\": {\n width: \"50%\",\n height: \"4px\",\n top: \"50%\",\n transform: \"translateY(-50%)\",\n left: \"calc(50% - (50%) / 2)\"\n }\n }),\n container: css({\n display: \"flex\",\n width: \"100%\",\n flexGrow: 1,\n overflow: \"hidden\"\n }),\n panel: css({ display: \"flex\", position: \"relative\", flexBasis: 0 })\n };\n}\nfunction measureElement(ref) {\n if (ref === null) {\n return void 0;\n }\n const savedBodyOverflow = document.body.style.overflow;\n const savedWidth = ref.style.width;\n const savedHeight = ref.style.height;\n const savedFlex = ref.style.flexGrow;\n document.body.style.overflow = \"hidden\";\n ref.style.flexGrow = \"0\";\n const { width: minWidth, height: minHeight } = ref.getBoundingClientRect();\n ref.style.flexGrow = \"100\";\n const { width: maxWidth, height: maxHeight } = ref.getBoundingClientRect();\n document.body.style.overflow = savedBodyOverflow;\n ref.style.width = savedWidth;\n ref.style.height = savedHeight;\n ref.style.flexGrow = savedFlex;\n return { minWidth, maxWidth, minHeight, maxHeight };\n}\nfunction useResizeObserver(target, cb, throttleWait = 0, deps) {\n const throttledCallback = throttle(cb, throttleWait);\n useLayoutEffect(() => {\n if (!target) {\n return;\n }\n const resizeObserver = new ResizeObserver(throttledCallback);\n resizeObserver.observe(target, { box: \"device-pixel-content-box\" });\n return () => resizeObserver.disconnect();\n }, deps);\n}\n\nexport { Splitter };\n//# sourceMappingURL=Splitter.js.map\n","import { SceneObjectBase } from '../../../core/SceneObjectBase.js';\nimport { SplitLayoutRenderer } from './SplitLayoutRenderer.js';\n\nclass SplitLayout extends SceneObjectBase {\n toggleDirection() {\n this.setState({\n direction: this.state.direction === \"row\" ? \"column\" : \"row\"\n });\n }\n isDraggable() {\n return false;\n }\n}\nSplitLayout.Component = SplitLayoutRenderer;\n\nexport { SplitLayout };\n//# sourceMappingURL=SplitLayout.js.map\n","import React from 'react';\nimport { Splitter } from './Splitter.js';\n\nfunction SplitLayoutRenderer({ model }) {\n const { primary, secondary, direction, isHidden, initialSize } = model.useState();\n if (isHidden) {\n return null;\n }\n const Prim = primary.Component;\n const Sec = secondary.Component;\n return /* @__PURE__ */ React.createElement(Splitter, {\n direction,\n initialSize: initialSize != null ? initialSize : 0.5\n }, /* @__PURE__ */ React.createElement(Prim, {\n key: primary.state.key,\n model: primary,\n parentState: model.state\n }), /* @__PURE__ */ React.createElement(Sec, {\n key: secondary.state.key,\n model: secondary,\n parentState: model.state\n }));\n}\n\nexport { SplitLayoutRenderer };\n//# sourceMappingURL=SplitLayoutRenderer.js.map\n","import React from 'react';\nimport { Switch, Route } from 'react-router-dom';\nimport { SceneObjectBase } from '../../core/SceneObjectBase.js';\nimport { renderSceneComponentWithRouteProps } from './utils.js';\n\nclass SceneApp extends SceneObjectBase {\n enrichDataRequest() {\n return {\n app: this.state.name || \"app\"\n };\n }\n}\nSceneApp.Component = ({ model }) => {\n const { pages } = model.useState();\n return /* @__PURE__ */ React.createElement(Switch, null, pages.map((page) => /* @__PURE__ */ React.createElement(Route, {\n key: page.state.url,\n exact: false,\n path: page.state.url,\n render: (props) => renderSceneComponentWithRouteProps(page, props)\n })));\n};\nconst sceneAppCache = /* @__PURE__ */ new Map();\nfunction useSceneApp(factory) {\n const cachedApp = sceneAppCache.get(factory);\n if (cachedApp) {\n return cachedApp;\n }\n const newApp = factory();\n sceneAppCache.set(factory, newApp);\n return newApp;\n}\n\nexport { SceneApp, useSceneApp };\n//# sourceMappingURL=SceneApp.js.map\n","import React from 'react';\nimport { SceneObjectBase } from '../core/SceneObjectBase.js';\n\nvar __defProp = Object.defineProperty;\nvar __getOwnPropSymbols = Object.getOwnPropertySymbols;\nvar __hasOwnProp = Object.prototype.hasOwnProperty;\nvar __propIsEnum = Object.prototype.propertyIsEnumerable;\nvar __defNormalProp = (obj, key, value) => key in obj ? __defProp(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;\nvar __spreadValues = (a, b) => {\n for (var prop in b || (b = {}))\n if (__hasOwnProp.call(b, prop))\n __defNormalProp(a, prop, b[prop]);\n if (__getOwnPropSymbols)\n for (var prop of __getOwnPropSymbols(b)) {\n if (__propIsEnum.call(b, prop))\n __defNormalProp(a, prop, b[prop]);\n }\n return a;\n};\nclass SceneReactObject extends SceneObjectBase {\n}\nSceneReactObject.Component = ({ model }) => {\n const { component: Component, props, reactNode } = model.useState();\n if (Component) {\n return /* @__PURE__ */ React.createElement(Component, __spreadValues({}, props));\n }\n if (reactNode) {\n return reactNode;\n }\n return null;\n};\n\nexport { SceneReactObject };\n//# sourceMappingURL=SceneReactObject.js.map\n","import { css } from '@emotion/css';\nimport { useStyles2, JSONFormatter, Input } from '@grafana/ui';\nimport { isPlainObject, isArray } from 'lodash';\nimport React from 'react';\nimport { isSceneObject } from '../../core/types.js';\n\nfunction DebugDetails({ node }) {\n const state = node.useState();\n const styles = useStyles2(getStyles);\n return /* @__PURE__ */ React.createElement(\"div\", {\n className: styles.container\n }, Object.keys(state).map((key) => /* @__PURE__ */ React.createElement(\"div\", {\n className: styles.row,\n key\n }, /* @__PURE__ */ React.createElement(\"div\", {\n className: styles.keyName\n }, key), /* @__PURE__ */ React.createElement(\"div\", {\n className: styles.value\n }, renderValue(key, state[key], node)))));\n}\nfunction renderValue(key, value, node) {\n if (value === null) {\n return \"null\";\n }\n switch (typeof value) {\n case \"number\":\n return /* @__PURE__ */ React.createElement(Input, {\n type: \"number\",\n defaultValue: value,\n onBlur: (evt) => node.setState({ [key]: evt.currentTarget.valueAsNumber })\n });\n case \"string\":\n return /* @__PURE__ */ React.createElement(Input, {\n type: \"text\",\n defaultValue: value,\n onBlur: (evt) => node.setState({ [key]: evt.currentTarget.value })\n });\n case \"object\":\n if (isSceneObject(value)) {\n return value.constructor.name;\n }\n if (isPlainObject(value) || isArray(value)) {\n return /* @__PURE__ */ React.createElement(JSONFormatter, {\n json: value,\n open: 0\n });\n }\n return String(value);\n default:\n return typeof value;\n }\n}\nfunction getStyles(theme) {\n return {\n container: css({\n flexGrow: 1,\n display: \"flex\",\n gap: theme.spacing(0.5),\n flexDirection: \"column\"\n }),\n row: css({\n display: \"flex\",\n gap: theme.spacing(2)\n }),\n keyName: css({\n display: \"flex\",\n flexGrow: \"0\",\n width: 120,\n alignItems: \"center\",\n height: theme.spacing(theme.components.height.md)\n }),\n value: css({\n flexGrow: 1,\n minHeight: theme.spacing(theme.components.height.md),\n display: \"flex\",\n alignItems: \"center\"\n })\n };\n}\n\nexport { DebugDetails };\n//# sourceMappingURL=DebugDetails.js.map\n","import { cx, css } from '@emotion/css';\nimport { useStyles2 } from '@grafana/ui';\nimport React from 'react';\n\nfunction DebugTreeNode({ node, selectedObject, onSelect }) {\n const styles = useStyles2(getStyles);\n const children = [];\n const isSelected = node === selectedObject;\n node.forEachChild((child) => {\n children.push(\n /* @__PURE__ */ React.createElement(DebugTreeNode, {\n node: child,\n key: child.state.key,\n selectedObject,\n onSelect\n })\n );\n });\n return /* @__PURE__ */ React.createElement(\"div\", {\n className: styles.container\n }, /* @__PURE__ */ React.createElement(\"div\", {\n className: cx(styles.name, isSelected && styles.selected),\n onClick: () => onSelect(node)\n }, node.constructor.name), /* @__PURE__ */ React.createElement(\"div\", {\n className: styles.children\n }, children));\n}\nfunction getStyles(theme) {\n return {\n container: css({\n flexGrow: 1,\n display: \"flex\",\n gap: theme.spacing(0.5),\n flexDirection: \"column\"\n }),\n name: css({\n flexGrow: 1,\n display: \"flex\",\n gap: theme.spacing(1),\n fontSize: theme.typography.bodySmall.fontSize,\n cursor: \"pointer\",\n padding: theme.spacing(0, 1),\n borderRadius: theme.shape.borderRadius(2),\n position: \"relative\",\n \"&:hover\": {\n background: theme.colors.background.secondary\n }\n }),\n selected: css({\n \"&::before\": {\n display: \"block\",\n content: \"' '\",\n position: \"absolute\",\n left: 0,\n width: 4,\n bottom: 2,\n top: 2,\n borderRadius: theme.shape.radius.default,\n backgroundImage: theme.colors.gradients.brandVertical\n }\n }),\n children: css({\n flexGrow: 1,\n display: \"flex\",\n flexDirection: \"column\",\n paddingLeft: theme.spacing(1)\n })\n };\n}\n\nexport { DebugTreeNode };\n//# sourceMappingURL=DebugTreeNode.js.map\n","import { css } from '@emotion/css';\nimport { useStyles2, ToolbarButton, Drawer, CustomScrollbar } from '@grafana/ui';\nimport React, { useState } from 'react';\nimport { DebugDetails } from './DebugDetails.js';\nimport { DebugTreeNode } from './DebugTreeNode.js';\n\nfunction SceneDebugger({ scene }) {\n const styles = useStyles2(getStyles);\n const [isOpen, setIsOpen] = useState(false);\n const [selectedObject, setSelectedObject] = useState();\n return /* @__PURE__ */ React.createElement(React.Fragment, null, /* @__PURE__ */ React.createElement(ToolbarButton, {\n variant: \"canvas\",\n icon: \"bug\",\n onClick: () => setIsOpen(true)\n }), isOpen && /* @__PURE__ */ React.createElement(Drawer, {\n title: \"Scene debugger\",\n onClose: () => setIsOpen(false),\n size: \"lg\"\n }, /* @__PURE__ */ React.createElement(\"div\", {\n className: styles.panes\n }, /* @__PURE__ */ React.createElement(\"div\", {\n className: styles.pane1\n }, /* @__PURE__ */ React.createElement(\"div\", {\n className: styles.paneHeading\n }, \"Scene graph\"), /* @__PURE__ */ React.createElement(CustomScrollbar, {\n autoHeightMin: \"100%\"\n }, /* @__PURE__ */ React.createElement(\"div\", {\n className: styles.treeWrapper\n }, /* @__PURE__ */ React.createElement(DebugTreeNode, {\n node: scene,\n selectedObject,\n onSelect: setSelectedObject\n })))), /* @__PURE__ */ React.createElement(\"div\", {\n className: styles.pane2\n }, /* @__PURE__ */ React.createElement(\"div\", {\n className: styles.paneHeading\n }, \"Object details\"), selectedObject && /* @__PURE__ */ React.createElement(DebugDetails, {\n node: selectedObject\n })))));\n}\nfunction getStyles(theme) {\n return {\n panes: css({\n flexGrow: 1,\n display: \"flex\",\n height: \"100%\",\n flexDirection: \"row\",\n marginTop: theme.spacing(-2)\n }),\n pane1: css({\n flexGrow: 0,\n display: \"flex\",\n height: \"100%\",\n flexDirection: \"column\",\n borderRight: `1px solid ${theme.colors.border.weak}`\n }),\n pane2: css({\n flexGrow: 1,\n display: \"flex\",\n minHeight: \"100%\",\n flexDirection: \"column\",\n paddingLeft: theme.spacing(2)\n }),\n treeWrapper: css({\n paddingRight: theme.spacing(2),\n height: \"100%\",\n marginLeft: theme.spacing(-1)\n }),\n paneHeading: css({\n padding: theme.spacing(1, 0),\n fontWeight: theme.typography.fontWeightMedium\n })\n };\n}\n\nexport { SceneDebugger };\n//# sourceMappingURL=SceneDebugger.js.map\n","import { PluginPage } from '@grafana/runtime';\nimport React, { useLayoutEffect, useEffect } from 'react';\nimport { SceneDebugger } from '../SceneDebugger/SceneDebugger.js';\nimport { SceneAppPage } from './SceneAppPage.js';\nimport { useAppQueryParams, getUrlWithAppState, renderSceneComponentWithRouteProps } from './utils.js';\n\nfunction SceneAppPageView({ page, routeProps }) {\n const containerPage = getParentPageIfTab(page);\n const containerState = containerPage.useState();\n const params = useAppQueryParams();\n const scene = page.getScene(routeProps.match);\n const isInitialized = containerState.initializedScene === scene;\n useLayoutEffect(() => {\n if (!isInitialized) {\n containerPage.initializeScene(scene);\n }\n }, [scene, containerPage, isInitialized]);\n useEffect(() => {\n return () => containerPage.setState({ initializedScene: void 0 });\n }, [containerPage]);\n if (!isInitialized) {\n return null;\n }\n const pageNav = {\n text: containerState.title,\n img: containerState.titleImg,\n icon: containerState.titleIcon,\n url: getUrlWithAppState(containerState.url, containerState.preserveUrlKeys),\n hideFromBreadcrumbs: containerState.hideFromBreadcrumbs,\n parentItem: getParentBreadcrumbs(\n containerState.getParentPage ? containerState.getParentPage() : containerPage.parent)\n };\n if (containerState.tabs) {\n pageNav.children = containerState.tabs.map((tab) => {\n return {\n text: tab.state.title,\n icon: tab.state.titleIcon,\n tabSuffix: tab.state.tabSuffix,\n active: page === tab,\n url: getUrlWithAppState(tab.state.url, tab.state.preserveUrlKeys),\n parentItem: pageNav\n };\n });\n }\n let pageActions = [];\n if (containerState.controls) {\n pageActions = containerState.controls.map((control) => /* @__PURE__ */ React.createElement(control.Component, {\n model: control,\n key: control.state.key\n }));\n }\n if (params[\"scene-debugger\"]) {\n pageActions.push(/* @__PURE__ */ React.createElement(SceneDebugger, {\n scene: containerPage,\n key: \"scene-debugger\"\n }));\n }\n return /* @__PURE__ */ React.createElement(PluginPage, {\n pageNav,\n actions: pageActions,\n renderTitle: containerState.renderTitle,\n subTitle: containerState.subTitle\n }, /* @__PURE__ */ React.createElement(scene.Component, {\n model: scene\n }));\n}\nfunction getParentPageIfTab(page) {\n if (page.parent instanceof SceneAppPage) {\n return page.parent;\n }\n return page;\n}\nfunction getParentBreadcrumbs(parent, params) {\n if (parent instanceof SceneAppPage) {\n return {\n text: parent.state.title,\n url: getUrlWithAppState(parent.state.url, parent.state.preserveUrlKeys),\n hideFromBreadcrumbs: parent.state.hideFromBreadcrumbs,\n parentItem: getParentBreadcrumbs(\n parent.state.getParentPage ? parent.state.getParentPage() : parent.parent)\n };\n }\n return void 0;\n}\nfunction SceneAppDrilldownViewRender({ drilldown, parent, routeProps }) {\n return renderSceneComponentWithRouteProps(parent.getDrilldownPage(drilldown, routeProps.match), routeProps);\n}\n\nexport { SceneAppDrilldownViewRender, SceneAppPageView };\n//# sourceMappingURL=SceneAppPageView.js.map\n","import React from 'react';\nimport { Route, Switch } from 'react-router-dom';\nimport { SceneObjectBase } from '../../core/SceneObjectBase.js';\nimport { isDataRequestEnricher } from '../../core/types.js';\nimport { getUrlSyncManager } from '../../services/UrlSyncManager.js';\nimport { EmbeddedScene } from '../EmbeddedScene.js';\nimport { SceneFlexLayout, SceneFlexItem } from '../layout/SceneFlexLayout.js';\nimport { SceneReactObject } from '../SceneReactObject.js';\nimport { SceneAppDrilldownViewRender, SceneAppPageView } from './SceneAppPageView.js';\nimport { renderSceneComponentWithRouteProps } from './utils.js';\n\nclass SceneAppPage extends SceneObjectBase {\n constructor(state) {\n super(state);\n this._sceneCache = /* @__PURE__ */ new Map();\n this._drilldownCache = /* @__PURE__ */ new Map();\n this.addActivationHandler(() => {\n return () => getUrlSyncManager().cleanUp(this);\n });\n }\n initializeScene(scene) {\n this.setState({ initializedScene: scene });\n getUrlSyncManager().initSync(this);\n }\n getScene(routeMatch) {\n let scene = this._sceneCache.get(routeMatch.url);\n if (scene) {\n return scene;\n }\n if (!this.state.getScene) {\n throw new Error(\"Missing getScene on SceneAppPage \" + this.state.title);\n }\n scene = this.state.getScene(routeMatch);\n this._sceneCache.set(routeMatch.url, scene);\n return scene;\n }\n getDrilldownPage(drilldown, routeMatch) {\n let page = this._drilldownCache.get(routeMatch.url);\n if (page) {\n return page;\n }\n page = drilldown.getPage(routeMatch, this);\n this._drilldownCache.set(routeMatch.url, page);\n return page;\n }\n enrichDataRequest(source) {\n if (this.state.getParentPage) {\n return this.state.getParentPage().enrichDataRequest(source);\n }\n if (!this.parent) {\n return null;\n }\n const root = this.getRoot();\n if (isDataRequestEnricher(root)) {\n return root.enrichDataRequest(source);\n }\n return null;\n }\n}\nSceneAppPage.Component = SceneAppPageRenderer;\nfunction SceneAppPageRenderer({ model, routeProps }) {\n var _a, _b;\n const { tabs, drilldowns } = model.useState();\n const routes = [];\n if (tabs && tabs.length > 0) {\n for (let tabIndex = 0; tabIndex < tabs.length; tabIndex++) {\n const tab = tabs[tabIndex];\n if (tabIndex === 0) {\n routes.push(\n /* @__PURE__ */ React.createElement(Route, {\n exact: true,\n key: model.state.url,\n path: (_a = model.state.routePath) != null ? _a : model.state.url,\n render: (props) => renderSceneComponentWithRouteProps(tab, props)\n })\n );\n }\n routes.push(\n /* @__PURE__ */ React.createElement(Route, {\n exact: true,\n key: tab.state.url,\n path: (_b = tab.state.routePath) != null ? _b : tab.state.url,\n render: (props) => renderSceneComponentWithRouteProps(tab, props)\n })\n );\n if (tab.state.drilldowns) {\n for (const drilldown of tab.state.drilldowns) {\n routes.push(\n /* @__PURE__ */ React.createElement(Route, {\n exact: false,\n key: drilldown.routePath,\n path: drilldown.routePath,\n render: (props) => /* @__PURE__ */ React.createElement(SceneAppDrilldownViewRender, {\n drilldown,\n parent: tab,\n routeProps: props\n })\n })\n );\n }\n }\n }\n }\n if (drilldowns) {\n for (const drilldown of drilldowns) {\n routes.push(\n /* @__PURE__ */ React.createElement(Route, {\n key: drilldown.routePath,\n exact: false,\n path: drilldown.routePath,\n render: (props) => /* @__PURE__ */ React.createElement(SceneAppDrilldownViewRender, {\n drilldown,\n parent: model,\n routeProps: props\n })\n })\n );\n }\n }\n if (!tabs && isCurrentPageRouteMatch(model, routeProps.match)) {\n return /* @__PURE__ */ React.createElement(SceneAppPageView, {\n page: model,\n routeProps\n });\n }\n routes.push(getFallbackRoute(model, routeProps));\n return /* @__PURE__ */ React.createElement(Switch, null, routes);\n}\nfunction getFallbackRoute(page, routeProps) {\n return /* @__PURE__ */ React.createElement(Route, {\n key: \"fallback route\",\n render: (props) => {\n var _a, _b, _c;\n const fallbackPage = (_c = (_b = (_a = page.state).getFallbackPage) == null ? void 0 : _b.call(_a)) != null ? _c : getDefaultFallbackPage();\n return /* @__PURE__ */ React.createElement(SceneAppPageView, {\n page: fallbackPage,\n routeProps\n });\n }\n });\n}\nfunction isCurrentPageRouteMatch(page, match) {\n if (!match.isExact) {\n return false;\n }\n if (match.url === page.state.url) {\n return true;\n }\n if (page.parent instanceof SceneAppPage && page.parent.state.tabs[0] === page && page.parent.state.url === match.url) {\n return true;\n }\n return false;\n}\nfunction getDefaultFallbackPage() {\n return new SceneAppPage({\n url: \"\",\n title: \"Not found\",\n subTitle: \"The url did not match any page\",\n getScene: () => {\n return new EmbeddedScene({\n body: new SceneFlexLayout({\n direction: \"column\",\n children: [\n new SceneFlexItem({\n body: new SceneReactObject({\n component: () => {\n return /* @__PURE__ */ React.createElement(\"div\", {\n \"data-testid\": \"default-fallback-content\"\n }, \"If you found your way here using a link then there might be a bug in this application.\");\n }\n })\n })\n ]\n })\n });\n }\n });\n}\n\nexport { SceneAppPage };\n//# sourceMappingURL=SceneAppPage.js.map\n","var VisibilityMode = /* @__PURE__ */ ((VisibilityMode2) => {\n VisibilityMode2[\"Always\"] = \"always\";\n VisibilityMode2[\"Auto\"] = \"auto\";\n VisibilityMode2[\"Never\"] = \"never\";\n return VisibilityMode2;\n})(VisibilityMode || {});\nvar GraphGradientMode = /* @__PURE__ */ ((GraphGradientMode2) => {\n GraphGradientMode2[\"Hue\"] = \"hue\";\n GraphGradientMode2[\"None\"] = \"none\";\n GraphGradientMode2[\"Opacity\"] = \"opacity\";\n GraphGradientMode2[\"Scheme\"] = \"scheme\";\n return GraphGradientMode2;\n})(GraphGradientMode || {});\nvar StackingMode = /* @__PURE__ */ ((StackingMode2) => {\n StackingMode2[\"None\"] = \"none\";\n StackingMode2[\"Normal\"] = \"normal\";\n StackingMode2[\"Percent\"] = \"percent\";\n return StackingMode2;\n})(StackingMode || {});\nvar VizOrientation = /* @__PURE__ */ ((VizOrientation2) => {\n VizOrientation2[\"Auto\"] = \"auto\";\n VizOrientation2[\"Horizontal\"] = \"horizontal\";\n VizOrientation2[\"Vertical\"] = \"vertical\";\n return VizOrientation2;\n})(VizOrientation || {});\nvar BigValueColorMode = /* @__PURE__ */ ((BigValueColorMode2) => {\n BigValueColorMode2[\"Background\"] = \"background\";\n BigValueColorMode2[\"BackgroundSolid\"] = \"background_solid\";\n BigValueColorMode2[\"None\"] = \"none\";\n BigValueColorMode2[\"Value\"] = \"value\";\n return BigValueColorMode2;\n})(BigValueColorMode || {});\nvar BigValueGraphMode = /* @__PURE__ */ ((BigValueGraphMode2) => {\n BigValueGraphMode2[\"Area\"] = \"area\";\n BigValueGraphMode2[\"Line\"] = \"line\";\n BigValueGraphMode2[\"None\"] = \"none\";\n return BigValueGraphMode2;\n})(BigValueGraphMode || {});\nvar BigValueJustifyMode = /* @__PURE__ */ ((BigValueJustifyMode2) => {\n BigValueJustifyMode2[\"Auto\"] = \"auto\";\n BigValueJustifyMode2[\"Center\"] = \"center\";\n return BigValueJustifyMode2;\n})(BigValueJustifyMode || {});\nvar BigValueTextMode = /* @__PURE__ */ ((BigValueTextMode2) => {\n BigValueTextMode2[\"Auto\"] = \"auto\";\n BigValueTextMode2[\"Name\"] = \"name\";\n BigValueTextMode2[\"None\"] = \"none\";\n BigValueTextMode2[\"Value\"] = \"value\";\n BigValueTextMode2[\"ValueAndName\"] = \"value_and_name\";\n return BigValueTextMode2;\n})(BigValueTextMode || {});\nvar BarGaugeDisplayMode = /* @__PURE__ */ ((BarGaugeDisplayMode2) => {\n BarGaugeDisplayMode2[\"Basic\"] = \"basic\";\n BarGaugeDisplayMode2[\"Gradient\"] = \"gradient\";\n BarGaugeDisplayMode2[\"Lcd\"] = \"lcd\";\n return BarGaugeDisplayMode2;\n})(BarGaugeDisplayMode || {});\nvar BarGaugeValueMode = /* @__PURE__ */ ((BarGaugeValueMode2) => {\n BarGaugeValueMode2[\"Color\"] = \"color\";\n BarGaugeValueMode2[\"Hidden\"] = \"hidden\";\n BarGaugeValueMode2[\"Text\"] = \"text\";\n return BarGaugeValueMode2;\n})(BarGaugeValueMode || {});\nvar TableCellHeight = /* @__PURE__ */ ((TableCellHeight2) => {\n TableCellHeight2[\"Lg\"] = \"lg\";\n TableCellHeight2[\"Md\"] = \"md\";\n TableCellHeight2[\"Sm\"] = \"sm\";\n return TableCellHeight2;\n})(TableCellHeight || {});\n\nexport { BigValueColorMode as B, GraphGradientMode as G, StackingMode as S, TableCellHeight as T, VisibilityMode as V, BigValueGraphMode as a, BigValueJustifyMode as b, BigValueTextMode as c, BarGaugeDisplayMode as d, BarGaugeValueMode as e, VizOrientation as f };\n","import { f as VizOrientation, V as VisibilityMode, S as StackingMode, G as GraphGradientMode } from '../../../../../common.gen-58e5e938.js';\n\nconst pluginVersion = \"10.0.3\";\nconst defaultOptions = {\n barRadius: 0,\n barWidth: 0.97,\n fullHighlight: false,\n groupWidth: 0.7,\n orientation: VizOrientation.Auto,\n showValue: VisibilityMode.Auto,\n stacking: StackingMode.None,\n xTickLabelRotation: 0,\n xTickLabelSpacing: 0\n};\nconst defaultFieldConfig = {\n fillOpacity: 80,\n gradientMode: GraphGradientMode.None,\n lineWidth: 1\n};\n\nexport { defaultFieldConfig, defaultOptions, pluginVersion };\n","import { d as BarGaugeDisplayMode, e as BarGaugeValueMode } from '../../../../../common.gen-58e5e938.js';\n\nconst pluginVersion = \"10.0.3\";\nconst defaultOptions = {\n displayMode: BarGaugeDisplayMode.Gradient,\n minVizHeight: 10,\n minVizWidth: 0,\n showUnfilled: true,\n valueMode: BarGaugeValueMode.Color\n};\n\nexport { defaultOptions, pluginVersion };\n","import { V as VisibilityMode } from '../../../../../common.gen-58e5e938.js';\n\nconst pluginVersion = \"10.0.3\";\nvar HeatmapColorMode = /* @__PURE__ */ ((HeatmapColorMode2) => {\n HeatmapColorMode2[\"Opacity\"] = \"opacity\";\n HeatmapColorMode2[\"Scheme\"] = \"scheme\";\n return HeatmapColorMode2;\n})(HeatmapColorMode || {});\nvar HeatmapColorScale = /* @__PURE__ */ ((HeatmapColorScale2) => {\n HeatmapColorScale2[\"Exponential\"] = \"exponential\";\n HeatmapColorScale2[\"Linear\"] = \"linear\";\n return HeatmapColorScale2;\n})(HeatmapColorScale || {});\nconst defaultOptions = {\n calculate: false,\n cellGap: 1,\n cellValues: {},\n color: {\n /**\n * mode: HeatmapColorMode // TODO: fix after remove when https://github.com/grafana/cuetsy/issues/74 is fixed\n */\n scheme: \"Oranges\",\n fill: \"dark-orange\",\n /**\n * scale: HeatmapColorScale // TODO: fix after remove when https://github.com/grafana/cuetsy/issues/74 is fixed\n */\n reverse: false,\n exponent: 0.5,\n steps: 64\n },\n exemplars: {\n color: \"rgba(255,0,255,0.7)\"\n },\n filterValues: {\n le: 1e-9\n },\n legend: {\n show: true\n },\n showValue: VisibilityMode.Auto,\n tooltip: {\n show: true,\n yHistogram: false\n }\n};\n\nexport { HeatmapColorMode, HeatmapColorScale, defaultOptions, pluginVersion };\n","import { G as GraphGradientMode } from '../../../../../common.gen-58e5e938.js';\n\nconst pluginVersion = \"10.0.3\";\nconst defaultOptions = {\n bucketOffset: 0\n};\nconst defaultFieldConfig = {\n fillOpacity: 80,\n gradientMode: GraphGradientMode.None,\n lineWidth: 1\n};\n\nexport { defaultFieldConfig, defaultOptions, pluginVersion };\n","import { B as BigValueColorMode, a as BigValueGraphMode, b as BigValueJustifyMode, c as BigValueTextMode } from '../../../../../common.gen-58e5e938.js';\n\nconst pluginVersion = \"10.0.3\";\nconst defaultOptions = {\n colorMode: BigValueColorMode.Value,\n graphMode: BigValueGraphMode.Area,\n justifyMode: BigValueJustifyMode.Auto,\n textMode: BigValueTextMode.Auto\n};\n\nexport { defaultOptions, pluginVersion };\n","import { V as VisibilityMode } from '../../../../../common.gen-58e5e938.js';\n\nconst pluginVersion = \"10.0.3\";\nconst defaultOptions = {\n alignValue: \"left\",\n mergeValues: true,\n rowHeight: 0.9,\n showValue: VisibilityMode.Auto\n};\nconst defaultFieldConfig = {\n fillOpacity: 70,\n lineWidth: 0\n};\n\nexport { defaultFieldConfig, defaultOptions, pluginVersion };\n","import { V as VisibilityMode } from '../../../../../common.gen-58e5e938.js';\n\nconst pluginVersion = \"10.0.3\";\nconst defaultOptions = {\n colWidth: 0.9,\n rowHeight: 0.9,\n showValue: VisibilityMode.Auto\n};\nconst defaultFieldConfig = {\n fillOpacity: 70,\n lineWidth: 1\n};\n\nexport { defaultFieldConfig, defaultOptions, pluginVersion };\n","import { T as TableCellHeight } from '../../../../../common.gen-58e5e938.js';\n\nconst pluginVersion = \"10.0.3\";\nconst defaultOptions = {\n cellHeight: TableCellHeight.Sm,\n footer: {\n /**\n * Controls whether the footer should be shown\n */\n show: false,\n /**\n * Controls whether the footer should show the total number of rows on Count calculation\n */\n countRows: false,\n /**\n * Represents the selected calculations\n */\n reducer: []\n },\n frameIndex: 0,\n showHeader: true,\n showTypeIcons: false,\n sortBy: []\n};\n\nexport { defaultOptions, pluginVersion };\n","import { V as VisibilityMode } from '../../../../../common.gen-58e5e938.js';\n\nconst pluginVersion = \"10.0.3\";\nvar SeriesMapping = /* @__PURE__ */ ((SeriesMapping2) => {\n SeriesMapping2[\"Auto\"] = \"auto\";\n SeriesMapping2[\"Manual\"] = \"manual\";\n return SeriesMapping2;\n})(SeriesMapping || {});\nvar ScatterShow = /* @__PURE__ */ ((ScatterShow2) => {\n ScatterShow2[\"Lines\"] = \"lines\";\n ScatterShow2[\"Points\"] = \"points\";\n ScatterShow2[\"PointsAndLines\"] = \"points+lines\";\n return ScatterShow2;\n})(ScatterShow || {});\nconst defaultXYDimensionConfig = {\n exclude: []\n};\nconst defaultScatterFieldConfig = {\n label: VisibilityMode.Auto,\n show: \"points\" /* Points */\n};\nconst defaultOptions = {\n series: []\n};\n\nexport { ScatterShow, SeriesMapping, defaultOptions, defaultScatterFieldConfig, defaultXYDimensionConfig, pluginVersion };\n","class StandardFieldConfigOverridesBuilder {\n constructor() {\n this._overrides = [];\n }\n overrideColor(value) {\n this._overrides[this._overrides.length - 1].properties.push({ id: \"color\", value });\n return this;\n }\n overrideDecimals(value) {\n this._overrides[this._overrides.length - 1].properties.push({ id: \"decimals\", value });\n return this;\n }\n overrideDisplayName(value) {\n this._overrides[this._overrides.length - 1].properties.push({ id: \"displayName\", value });\n return this;\n }\n overrideFilterable(value) {\n this._overrides[this._overrides.length - 1].properties.push({ id: \"filterable\", value });\n return this;\n }\n overrideLinks(value) {\n this._overrides[this._overrides.length - 1].properties.push({ id: \"links\", value });\n return this;\n }\n overrideMappings(value) {\n this._overrides[this._overrides.length - 1].properties.push({ id: \"mappings\", value });\n return this;\n }\n overrideMax(value) {\n this._overrides[this._overrides.length - 1].properties.push({ id: \"max\", value });\n return this;\n }\n overrideMin(value) {\n this._overrides[this._overrides.length - 1].properties.push({ id: \"min\", value });\n return this;\n }\n overrideNoValue(value) {\n this._overrides[this._overrides.length - 1].properties.push({ id: \"noValue\", value });\n return this;\n }\n overrideThresholds(value) {\n this._overrides[this._overrides.length - 1].properties.push({ id: \"thresholds\", value });\n return this;\n }\n overrideUnit(value) {\n this._overrides[this._overrides.length - 1].properties.push({ id: \"unit\", value });\n return this;\n }\n}\n\nexport { StandardFieldConfigOverridesBuilder };\n//# sourceMappingURL=StandardFieldConfigBuilders.js.map\n","import { FieldMatcherID } from '@grafana/data';\nimport { getCompareSeriesRefId } from '../../utils/getCompareSeriesRefId.js';\nimport { StandardFieldConfigOverridesBuilder } from './StandardFieldConfigBuilders.js';\n\nclass FieldConfigOverridesBuilder extends StandardFieldConfigOverridesBuilder {\n match(matcher) {\n this._overrides.push({ matcher, properties: [] });\n return this;\n }\n matchFieldsWithName(name) {\n this._overrides.push({\n matcher: {\n id: FieldMatcherID.byName,\n options: name\n },\n properties: []\n });\n return this;\n }\n matchFieldsWithNameByRegex(regex) {\n this._overrides.push({\n matcher: {\n id: FieldMatcherID.byRegexp,\n options: regex\n },\n properties: []\n });\n return this;\n }\n matchFieldsByType(fieldType) {\n this._overrides.push({\n matcher: {\n id: FieldMatcherID.byType,\n options: fieldType\n },\n properties: []\n });\n return this;\n }\n matchFieldsByQuery(refId) {\n this._overrides.push({\n matcher: {\n id: FieldMatcherID.byFrameRefID,\n options: refId\n },\n properties: []\n });\n return this;\n }\n matchFieldsByValue(options) {\n this._overrides.push({\n matcher: {\n id: FieldMatcherID.byValue,\n options\n },\n properties: []\n });\n return this;\n }\n matchComparisonQuery(refId) {\n return this.matchFieldsByQuery(getCompareSeriesRefId(refId));\n }\n overrideCustomFieldConfig(id, value) {\n const _id = `custom.${String(id)}`;\n const last = this._overrides[this._overrides.length - 1];\n last.properties.push({ id: _id, value });\n return this;\n }\n build() {\n return this._overrides;\n }\n}\n\nexport { FieldConfigOverridesBuilder };\n//# sourceMappingURL=FieldConfigOverridesBuilder.js.map\n","import { cloneDeep, merge } from 'lodash';\nimport { FieldConfigOverridesBuilder } from './FieldConfigOverridesBuilder.js';\n\nvar __defProp = Object.defineProperty;\nvar __defProps = Object.defineProperties;\nvar __getOwnPropDescs = Object.getOwnPropertyDescriptors;\nvar __getOwnPropSymbols = Object.getOwnPropertySymbols;\nvar __hasOwnProp = Object.prototype.hasOwnProperty;\nvar __propIsEnum = Object.prototype.propertyIsEnumerable;\nvar __defNormalProp = (obj, key, value) => key in obj ? __defProp(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;\nvar __spreadValues = (a, b) => {\n for (var prop in b || (b = {}))\n if (__hasOwnProp.call(b, prop))\n __defNormalProp(a, prop, b[prop]);\n if (__getOwnPropSymbols)\n for (var prop of __getOwnPropSymbols(b)) {\n if (__propIsEnum.call(b, prop))\n __defNormalProp(a, prop, b[prop]);\n }\n return a;\n};\nvar __spreadProps = (a, b) => __defProps(a, __getOwnPropDescs(b));\nclass FieldConfigBuilder {\n constructor(defaultFieldConfig) {\n this.defaultFieldConfig = defaultFieldConfig;\n this._fieldConfig = {\n defaults: {},\n overrides: []\n };\n this._overridesBuilder = new FieldConfigOverridesBuilder();\n this.setDefaults();\n }\n setDefaults() {\n const fieldConfig = {\n defaults: {\n custom: this.defaultFieldConfig ? cloneDeep(this.defaultFieldConfig()) : {}\n },\n overrides: []\n };\n this._fieldConfig = fieldConfig;\n }\n setColor(color) {\n return this.setFieldConfigDefaults(\"color\", color);\n }\n setDecimals(decimals) {\n return this.setFieldConfigDefaults(\"decimals\", decimals);\n }\n setDisplayName(displayName) {\n return this.setFieldConfigDefaults(\"displayName\", displayName);\n }\n setFilterable(filterable) {\n return this.setFieldConfigDefaults(\"filterable\", filterable);\n }\n setLinks(links) {\n return this.setFieldConfigDefaults(\"links\", links);\n }\n setMappings(mappings) {\n return this.setFieldConfigDefaults(\"mappings\", mappings);\n }\n setMax(max) {\n return this.setFieldConfigDefaults(\"max\", max);\n }\n setMin(min) {\n return this.setFieldConfigDefaults(\"min\", min);\n }\n setNoValue(noValue) {\n return this.setFieldConfigDefaults(\"noValue\", noValue);\n }\n setThresholds(thresholds) {\n return this.setFieldConfigDefaults(\"thresholds\", thresholds);\n }\n setUnit(unit) {\n return this.setFieldConfigDefaults(\"unit\", unit);\n }\n setCustomFieldConfig(id, value) {\n this._fieldConfig.defaults = __spreadProps(__spreadValues({}, this._fieldConfig.defaults), {\n custom: merge(this._fieldConfig.defaults.custom, { [id]: value })\n });\n return this;\n }\n setOverrides(builder) {\n builder(this._overridesBuilder);\n return this;\n }\n setFieldConfigDefaults(key, value) {\n this._fieldConfig.defaults = __spreadProps(__spreadValues({}, this._fieldConfig.defaults), {\n [key]: value\n });\n return this;\n }\n build() {\n return {\n defaults: this._fieldConfig.defaults,\n overrides: this._overridesBuilder.build()\n };\n }\n}\n\nexport { FieldConfigBuilder };\n//# sourceMappingURL=FieldConfigBuilder.js.map\n","import { cloneDeep, merge } from 'lodash';\n\nclass PanelOptionsBuilder {\n constructor(defaultOptions) {\n this.defaultOptions = defaultOptions;\n this._options = {};\n this.setDefaults();\n }\n setDefaults() {\n this._options = this.defaultOptions ? cloneDeep(this.defaultOptions()) : {};\n }\n setOption(id, value) {\n this._options = merge(this._options, { [id]: value });\n return this;\n }\n build() {\n return this._options;\n }\n}\n\nexport { PanelOptionsBuilder };\n//# sourceMappingURL=PanelOptionsBuilder.js.map\n","import { VizPanel } from '../../components/VizPanel/VizPanel.js';\nimport { FieldConfigBuilder } from './FieldConfigBuilder.js';\nimport { PanelOptionsBuilder } from './PanelOptionsBuilder.js';\n\nvar __defProp = Object.defineProperty;\nvar __defProps = Object.defineProperties;\nvar __getOwnPropDescs = Object.getOwnPropertyDescriptors;\nvar __getOwnPropSymbols = Object.getOwnPropertySymbols;\nvar __hasOwnProp = Object.prototype.hasOwnProperty;\nvar __propIsEnum = Object.prototype.propertyIsEnumerable;\nvar __defNormalProp = (obj, key, value) => key in obj ? __defProp(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;\nvar __spreadValues = (a, b) => {\n for (var prop in b || (b = {}))\n if (__hasOwnProp.call(b, prop))\n __defNormalProp(a, prop, b[prop]);\n if (__getOwnPropSymbols)\n for (var prop of __getOwnPropSymbols(b)) {\n if (__propIsEnum.call(b, prop))\n __defNormalProp(a, prop, b[prop]);\n }\n return a;\n};\nvar __spreadProps = (a, b) => __defProps(a, __getOwnPropDescs(b));\nclass VizPanelBuilder {\n constructor(pluginId, pluginVersion, defaultOptions, defaultFieldConfig) {\n this._state = {};\n this._state.title = \"\";\n this._state.description = \"\";\n this._state.displayMode = \"default\";\n this._state.hoverHeader = false;\n this._state.pluginId = pluginId;\n this._state.pluginVersion = pluginVersion;\n this._fieldConfigBuilder = new FieldConfigBuilder(defaultFieldConfig);\n this._panelOptionsBuilder = new PanelOptionsBuilder(defaultOptions);\n }\n setTitle(title) {\n this._state.title = title;\n return this;\n }\n setDescription(description) {\n this._state.description = description;\n return this;\n }\n setDisplayMode(displayMode) {\n this._state.displayMode = displayMode;\n return this;\n }\n setHoverHeader(hoverHeader) {\n this._state.hoverHeader = hoverHeader;\n return this;\n }\n setMenu(menu) {\n this._state.menu = menu;\n return this;\n }\n setHeaderActions(headerActions) {\n this._state.headerActions = headerActions;\n return this;\n }\n setColor(color) {\n this._fieldConfigBuilder.setColor(color);\n return this;\n }\n setDecimals(decimals) {\n this._fieldConfigBuilder.setDecimals(decimals);\n return this;\n }\n setDisplayName(displayName) {\n this._fieldConfigBuilder.setDisplayName(displayName);\n return this;\n }\n setFilterable(filterable) {\n this._fieldConfigBuilder.setFilterable(filterable);\n return this;\n }\n setLinks(links) {\n this._fieldConfigBuilder.setLinks(links);\n return this;\n }\n setMappings(mappings) {\n this._fieldConfigBuilder.setMappings(mappings);\n return this;\n }\n setMax(max) {\n this._fieldConfigBuilder.setMax(max);\n return this;\n }\n setMin(min) {\n this._fieldConfigBuilder.setMin(min);\n return this;\n }\n setNoValue(noValue) {\n this._fieldConfigBuilder.setNoValue(noValue);\n return this;\n }\n setThresholds(thresholds) {\n this._fieldConfigBuilder.setThresholds(thresholds);\n return this;\n }\n setUnit(unit) {\n this._fieldConfigBuilder.setUnit(unit);\n return this;\n }\n setCustomFieldConfig(id, value) {\n this._fieldConfigBuilder.setCustomFieldConfig(id, value);\n return this;\n }\n setOverrides(builder) {\n this._fieldConfigBuilder.setOverrides(builder);\n return this;\n }\n setOption(id, value) {\n this._panelOptionsBuilder.setOption(id, value);\n return this;\n }\n setData(data) {\n this._state.$data = data;\n return this;\n }\n setTimeRange(timeRange) {\n this._state.$timeRange = timeRange;\n return this;\n }\n setVariables(variables) {\n this._state.$variables = variables;\n return this;\n }\n setBehaviors(behaviors) {\n this._state.$behaviors = behaviors;\n return this;\n }\n build() {\n const panel = new VizPanel(__spreadProps(__spreadValues({}, this._state), {\n options: this._panelOptionsBuilder.build(),\n fieldConfig: this._fieldConfigBuilder.build()\n }));\n return panel;\n }\n}\n\nexport { VizPanelBuilder };\n//# sourceMappingURL=VizPanelBuilder.js.map\n","import { defaultOptions, defaultFieldConfig } from '@grafana/schema/dist/esm/raw/composable/barchart/panelcfg/x/BarChartPanelCfg_types.gen';\nimport { defaultOptions as defaultOptions$1 } from '@grafana/schema/dist/esm/raw/composable/bargauge/panelcfg/x/BarGaugePanelCfg_types.gen';\nimport { defaultOptions as defaultOptions$2 } from '@grafana/schema/dist/esm/raw/composable/datagrid/panelcfg/x/DatagridPanelCfg_types.gen';\nimport { defaultOptions as defaultOptions$3 } from '@grafana/schema/dist/esm/raw/composable/gauge/panelcfg/x/GaugePanelCfg_types.gen';\nimport { defaultOptions as defaultOptions$4 } from '@grafana/schema/dist/esm/raw/composable/geomap/panelcfg/x/GeomapPanelCfg_types.gen';\nimport { defaultOptions as defaultOptions$5 } from '@grafana/schema/dist/esm/raw/composable/heatmap/panelcfg/x/HeatmapPanelCfg_types.gen';\nimport { defaultOptions as defaultOptions$6, defaultFieldConfig as defaultFieldConfig$1 } from '@grafana/schema/dist/esm/raw/composable/histogram/panelcfg/x/HistogramPanelCfg_types.gen';\nimport { defaultOptions as defaultOptions$7 } from '@grafana/schema/dist/esm/raw/composable/news/panelcfg/x/NewsPanelCfg_types.gen';\nimport { defaultOptions as defaultOptions$8 } from '@grafana/schema/dist/esm/raw/composable/piechart/panelcfg/x/PieChartPanelCfg_types.gen';\nimport { defaultOptions as defaultOptions$9 } from '@grafana/schema/dist/esm/raw/composable/stat/panelcfg/x/StatPanelCfg_types.gen';\nimport { defaultOptions as defaultOptions$a, defaultFieldConfig as defaultFieldConfig$2 } from '@grafana/schema/dist/esm/raw/composable/statetimeline/panelcfg/x/StateTimelinePanelCfg_types.gen';\nimport { defaultOptions as defaultOptions$b, defaultFieldConfig as defaultFieldConfig$3 } from '@grafana/schema/dist/esm/raw/composable/statushistory/panelcfg/x/StatusHistoryPanelCfg_types.gen';\nimport { defaultOptions as defaultOptions$c } from '@grafana/schema/dist/esm/raw/composable/table/panelcfg/x/TablePanelCfg_types.gen';\nimport { defaultOptions as defaultOptions$d } from '@grafana/schema/dist/esm/raw/composable/text/panelcfg/x/TextPanelCfg_types.gen';\nimport { defaultOptions as defaultOptions$e, defaultScatterFieldConfig } from '@grafana/schema/dist/esm/raw/composable/xychart/panelcfg/x/XYChartPanelCfg_types.gen';\nimport { VizPanelBuilder } from './VizPanelBuilder.js';\nimport 'lodash';\nimport '@grafana/data';\n\nconst PanelBuilders = {\n barchart() {\n return new VizPanelBuilder(\n \"barchart\",\n \"10.0.0\",\n () => defaultOptions,\n () => defaultFieldConfig\n );\n },\n bargauge() {\n return new VizPanelBuilder(\"bargauge\", \"10.0.0\", () => defaultOptions$1);\n },\n datagrid() {\n return new VizPanelBuilder(\"datagrid\", \"10.0.0\", () => defaultOptions$2);\n },\n flamegraph() {\n return new VizPanelBuilder(\"flamegraph\", \"10.0.0\");\n },\n gauge() {\n return new VizPanelBuilder(\"gauge\", \"10.0.0\", () => defaultOptions$3);\n },\n geomap() {\n return new VizPanelBuilder(\"geomap\", \"10.0.0\", () => defaultOptions$4);\n },\n heatmap() {\n return new VizPanelBuilder(\"heatmap\", \"10.0.0\", () => defaultOptions$5);\n },\n histogram() {\n return new VizPanelBuilder(\n \"histogram\",\n \"10.0.0\",\n () => defaultOptions$6,\n () => defaultFieldConfig$1\n );\n },\n logs() {\n return new VizPanelBuilder(\"logs\", \"10.0.0\");\n },\n news() {\n return new VizPanelBuilder(\"news\", \"10.0.0\", () => defaultOptions$7);\n },\n nodegraph() {\n return new VizPanelBuilder(\"nodeGraph\", \"10.0.0\");\n },\n piechart() {\n return new VizPanelBuilder(\n \"piechart\",\n \"10.0.0\",\n () => defaultOptions$8\n );\n },\n stat() {\n return new VizPanelBuilder(\"stat\", \"10.0.0\", () => defaultOptions$9);\n },\n statetimeline() {\n return new VizPanelBuilder(\n \"state-timeline\",\n \"10.0.0\",\n () => defaultOptions$a,\n () => defaultFieldConfig$2\n );\n },\n statushistory() {\n return new VizPanelBuilder(\n \"status-history\",\n \"10.0.0\",\n () => defaultOptions$b,\n () => defaultFieldConfig$3\n );\n },\n table() {\n return new VizPanelBuilder(\"table\", \"10.0.0\", () => defaultOptions$c);\n },\n text() {\n return new VizPanelBuilder(\"text\", \"10.0.0\", () => defaultOptions$d);\n },\n timeseries() {\n return new VizPanelBuilder(\"timeseries\", \"10.0.0\");\n },\n trend() {\n return new VizPanelBuilder(\"trend\", \"10.0.0\");\n },\n traces() {\n return new VizPanelBuilder(\"traces\", \"10.0.0\");\n },\n xychart() {\n return new VizPanelBuilder(\n \"xychart\",\n \"10.0.0\",\n () => defaultOptions$e,\n () => defaultScatterFieldConfig\n );\n }\n};\n\nexport { PanelBuilders };\n//# sourceMappingURL=index.js.map\n","import { SceneQueryRunner, PanelBuilders } from '@grafana/scenes';\nimport { INFLUXDB_DATASOURCES_REF } from '../../../constants';\n\nexport const getBandwidthPanel = () => {\n const defaultBandwidthQuery = {\n refId: 'A',\n query: `SELECT mean(value) FROM \"monthly\".\"bandwidth.1min\" WHERE hostname='$hostname' AND $timeFilter GROUP BY time(60s)`,\n rawQuery: true,\n resultFormat: 'time_series',\n alias: 'bandwidth',\n };\n\n const qr = new SceneQueryRunner({\n datasource: INFLUXDB_DATASOURCES_REF.CACHE_STATS,\n queries: [defaultBandwidthQuery],\n });\n\n return PanelBuilders.timeseries()\n .setTitle('Bandwidth')\n .setData(qr)\n .setCustomFieldConfig('fillOpacity', 20)\n .setOption('legend', { showLegend: true, calcs: ['max'] })\n .setUnit('kbps')\n .build();\n};\n","import { SceneQueryRunner, PanelBuilders } from '@grafana/scenes';\nimport { INFLUXDB_DATASOURCES_REF } from '../../../constants';\n\nexport const getConnectionsPanel = () => {\n const defaultConnectionsQuery = [\n {\n refId: 'A',\n query: `SELECT mean(value) FROM \"monthly\".\"connections.1min\" WHERE hostname='$hostname' AND $timeFilter GROUP BY time(60s)`,\n rawQuery: true,\n resultFormat: 'time_series',\n alias: 'connections',\n },\n ];\n\n const qr = new SceneQueryRunner({\n datasource: INFLUXDB_DATASOURCES_REF.CACHE_STATS,\n queries: [...defaultConnectionsQuery],\n });\n\n return PanelBuilders.timeseries()\n .setTitle('Connections')\n .setData(qr)\n .setCustomFieldConfig('fillOpacity', 20)\n .setOption('legend', { showLegend: true, calcs: ['max'] })\n .setCustomFieldConfig('spanNulls', true)\n .build();\n};\n","import { PanelBuilders, SceneQueryRunner } from '@grafana/scenes';\nimport { INFLUXDB_DATASOURCES_REF } from '../../../constants';\n\nexport const getCPUPanel = () => {\n const defaultQuery = {\n refId: 'A',\n query: `SELECT mean(\"usage_system\") AS \"cpu_system\", mean(\"usage_iowait\") AS \"cpu_iowait\", mean(\"usage_user\") AS \"cpu_user\", mean(\"usage_guest\") AS \"cpu_guest\", mean(\"usage_steal\") AS \"cpu_steal\" FROM \"cpu\" WHERE host='$hostname' AND $timeFilter GROUP BY time($interval) fill(null)`,\n rawQuery: true,\n resultFormat: 'time_series',\n alias: '$col',\n };\n\n const qr = new SceneQueryRunner({\n datasource: INFLUXDB_DATASOURCES_REF.TELEGRAF,\n queries: [defaultQuery],\n });\n\n return PanelBuilders.timeseries()\n .setTitle('CPU Usage')\n .setData(qr)\n .setUnit('%')\n .setCustomFieldConfig('spanNulls', true)\n .setCustomFieldConfig('fillOpacity', 20)\n .build();\n};\n","import { PanelBuilders, SceneQueryRunner } from '@grafana/scenes';\nimport { INFLUXDB_DATASOURCES_REF } from '../../../constants';\n\nexport const getLoadAveragePanel = () => {\n const defaultQuery = {\n refId: 'A',\n query: `SELECT mean(\"load1\") AS \"load1\", mean(\"load5\") AS \"load5\", mean(\"load15\") AS \"load15\" FROM \"system\" WHERE host='$hostname' AND $timeFilter GROUP BY time($interval) fill(null)`,\n rawQuery: true,\n resultFormat: 'time_series',\n alias: '$col',\n };\n\n const qr = new SceneQueryRunner({\n datasource: INFLUXDB_DATASOURCES_REF.TELEGRAF,\n queries: [defaultQuery],\n });\n\n return PanelBuilders.timeseries()\n .setTitle('Load Average')\n .setData(qr)\n .setCustomFieldConfig('fillOpacity', 20)\n .setCustomFieldConfig('spanNulls', true)\n .build();\n};\n","import { PanelBuilders, SceneQueryRunner } from '@grafana/scenes';\nimport { INFLUXDB_DATASOURCES_REF } from '../../../constants';\n\nexport const getMemoryPanel = () => {\n const defaultQuery = {\n refId: 'A',\n query: `SELECT mean(\"used_percent\") AS \"mem_used\" FROM \"mem\" WHERE host='$hostname' AND $timeFilter GROUP BY time($interval) fill(null)`,\n rawQuery: true,\n resultFormat: 'time_series',\n alias: '$col',\n };\n\n const qr = new SceneQueryRunner({\n datasource: INFLUXDB_DATASOURCES_REF.TELEGRAF,\n queries: [defaultQuery],\n });\n\n return PanelBuilders.timeseries()\n .setTitle('Memory Usage')\n .setData(qr)\n .setCustomFieldConfig('spanNulls', true)\n .setCustomFieldConfig('fillOpacity', 20)\n .setUnit('%')\n .build();\n};\n","import { PanelBuilders, SceneQueryRunner } from '@grafana/scenes';\nimport { INFLUXDB_DATASOURCES_REF } from '../../../constants';\n\nexport const getNetstatPanel = () => {\n const defaultQuery = {\n refId: 'A',\n query: `SELECT mean(\"tcp_close\") AS \"tcp_close\", mean(\"tcp_close_wait\") AS \"tcp_close_wait\", mean(\"tcp_established\") AS \"tcp_established\", mean(\"tcp_time_wait\") AS \"tcp_time_wait\", mean(\"tcp_closing\") AS \"tcp_closing\", mean(\"tcp_fin_wait1\") AS \"tcp_fin_wait1\", mean(\"tcp_fin_wait2\") AS \"tcp_fin_wait2\", mean(\"tcp_last_ack\") AS \"tcp_last_ack\", mean(\"tcp_syn_recv\") AS \"tcp_syn_recv\", mean(\"tcp_syn_sent\") AS \"tcp_syn_sent\" FROM \"netstat\" WHERE host='$hostname' AND $timeFilter GROUP BY time($interval) fill(null)`,\n rawQuery: true,\n resultFormat: 'time_series',\n alias: '$col',\n };\n\n const qr = new SceneQueryRunner({\n datasource: INFLUXDB_DATASOURCES_REF.TELEGRAF,\n queries: [defaultQuery],\n });\n\n return PanelBuilders.timeseries()\n .setTitle('Netstat')\n .setData(qr)\n .setCustomFieldConfig('spanNulls', true)\n .setCustomFieldConfig('fillOpacity', 20)\n .build();\n};\n","import { PanelBuilders, SceneQueryRunner } from '@grafana/scenes';\nimport { INFLUXDB_DATASOURCES_REF } from '../../../constants';\n\nexport const getReadWriteTimePanel = () => {\n const defaultQueries = [\n {\n refId: 'A',\n query: `SELECT non_negative_derivative(sum(\"read_time\"), 10s) AS \"read_time\" FROM \"diskio\" WHERE host='$hostname' AND $timeFilter GROUP BY time($interval) fill(null)`,\n rawQuery: true,\n resultFormat: 'time_series',\n alias: '$col',\n },\n {\n refId: 'B',\n query: `SELECT non_negative_derivative(sum(\"write_time\"), 10s) AS \"write_time\" FROM \"diskio\" WHERE host='$hostname' AND $timeFilter GROUP BY time($interval) fill(null)`,\n rawQuery: true,\n resultFormat: 'time_series',\n alias: '$col',\n },\n ];\n\n const qr = new SceneQueryRunner({\n datasource: INFLUXDB_DATASOURCES_REF.TELEGRAF,\n queries: [...defaultQueries],\n });\n\n return PanelBuilders.timeseries()\n .setTitle('Read/Write Time')\n .setData(qr)\n .setCustomFieldConfig('spanNulls', true)\n .setCustomFieldConfig('fillOpacity', 20)\n .setUnit('ns')\n .build();\n};\n","import { PanelBuilders, SceneQueryRunner } from '@grafana/scenes';\nimport { INFLUXDB_DATASOURCES_REF } from '../../../constants';\n\nexport const getWrapCountPanel = () => {\n const defaultQuery = {\n refId: 'A',\n query: `SELECT mean(\"vol1_wrap_count\") AS \"vol1\", mean(\"vol2_wrap_count\") AS \"vol2\" FROM \"monthly\".\"wrap_count.1min\" WHERE hostname='$hostname' AND $timeFilter GROUP BY time($interval) fill(null)`,\n rawQuery: true,\n resultFormat: 'time_series',\n alias: '$col',\n };\n\n const qr = new SceneQueryRunner({\n datasource: INFLUXDB_DATASOURCES_REF.CACHE_STATS,\n queries: [defaultQuery],\n });\n\n return PanelBuilders.timeseries()\n .setTitle('Wrap Count')\n .setData(qr)\n .setCustomFieldConfig('spanNulls', true)\n .setCustomFieldConfig('fillOpacity', 20)\n .build();\n};\n","import {\n SceneTimeRange,\n EmbeddedScene,\n SceneFlexLayout,\n SceneFlexItem,\n SceneControlsSpacer,\n SceneRefreshPicker,\n SceneTimePicker,\n QueryVariable,\n SceneVariableSet,\n VariableValueSelectors,\n} from '@grafana/scenes';\nimport {\n getBandwidthPanel,\n getConnectionsPanel,\n getCPUPanel,\n getMemoryPanel,\n getLoadAveragePanel,\n getReadWriteTimePanel,\n getWrapCountPanel,\n getNetstatPanel,\n} from './panels';\nimport { INFLUXDB_DATASOURCES_REF } from '../../constants';\n\nexport function getServerScene() {\n const timeRange = new SceneTimeRange({\n from: 'now-6h',\n to: 'now',\n });\n\n const hostname = new QueryVariable({\n name: 'hostname',\n datasource: INFLUXDB_DATASOURCES_REF.CACHE_STATS,\n query: 'SHOW TAG VALUES ON \"cache_stats\" FROM \"monthly\".\"bandwidth\" with key = \"hostname\"',\n });\n\n return new EmbeddedScene({\n $timeRange: timeRange,\n $variables: new SceneVariableSet({\n variables: [hostname],\n }),\n body: new SceneFlexLayout({\n direction: 'column',\n children: [\n new SceneFlexItem({\n height: 250,\n body: getBandwidthPanel(),\n }),\n new SceneFlexItem({\n height: 250,\n body: getConnectionsPanel(),\n }),\n new SceneFlexLayout({\n direction: 'row',\n height: 250,\n children: [\n new SceneFlexItem({\n width: '50%',\n body: getCPUPanel(),\n }),\n new SceneFlexItem({\n width: '50%',\n body: getMemoryPanel(),\n }),\n ],\n }),\n new SceneFlexLayout({\n direction: 'row',\n height: 250,\n children: [\n new SceneFlexItem({\n width: '50%',\n body: getLoadAveragePanel(),\n }),\n new SceneFlexItem({\n width: '50%',\n body: getReadWriteTimePanel(),\n }),\n ],\n }),\n new SceneFlexLayout({\n direction: 'row',\n height: 250,\n children: [\n new SceneFlexItem({\n width: '50%',\n body: getWrapCountPanel(),\n }),\n new SceneFlexItem({\n width: '50%',\n body: getNetstatPanel(),\n }),\n ],\n }),\n ],\n }),\n controls: [\n new VariableValueSelectors({}),\n new SceneControlsSpacer(),\n new SceneTimePicker({ isOnCanvas: true }),\n new SceneRefreshPicker({\n intervals: ['5s', '1m', '1h'],\n isOnCanvas: true,\n }),\n ],\n });\n}\n","import React, { useMemo } from 'react';\nimport { SceneApp, SceneAppPage } from '@grafana/scenes';\nimport { ROUTES } from '../../constants';\nimport { prefixRoute } from '../../utils/utils.routing';\nimport { getServerScene } from './scene';\n\nconst getScene = () =>\n new SceneApp({\n pages: [\n new SceneAppPage({\n title: 'Server',\n url: prefixRoute(`${ROUTES.Server}`),\n hideFromBreadcrumbs: true,\n getScene: getServerScene,\n }),\n ],\n });\n\nexport const ServerPage = () => {\n const scene = useMemo(() => getScene(), []);\n\n return ;\n};\n","import { SceneQueryRunner, PanelBuilders } from '@grafana/scenes';\nimport { INFLUXDB_DATASOURCES_REF } from '../../../constants';\n\nexport const getBandwidthPanel = () => {\n const defaultBandwidthQuery = {\n refId: 'A',\n query: `SELECT mean(value) FROM \"monthly\".\"kbps.ds.1min\" WHERE deliveryservice='$deliveryservice' AND cachegroup = 'total' and $timeFilter GROUP BY time(60s), deliveryservice ORDER BY asc`,\n rawQuery: true,\n resultFormat: 'time_series',\n alias: '$tag_deliveryservice',\n measurement: 'bw',\n };\n\n const qr = new SceneQueryRunner({\n datasource: INFLUXDB_DATASOURCES_REF.DELIVERYSERVICE_STATS,\n queries: [defaultBandwidthQuery],\n });\n\n return PanelBuilders.timeseries()\n .setTitle('Bandwidth')\n .setData(qr)\n .setOption('legend', { showLegend: true, calcs: ['max'] })\n .setCustomFieldConfig('axisCenteredZero', true)\n .setUnit('bps')\n .build();\n};\n","import { SceneQueryRunner, PanelBuilders } from '@grafana/scenes';\nimport { INFLUXDB_DATASOURCES_REF } from '../../../constants';\n\nexport const getTpsPanel = () => {\n const tpsQueries = [\n {\n refId: 'A',\n query: `SELECT mean(value) FROM \"monthly\".\"tps_2xx.ds.1min\" WHERE $timeFilter AND deliveryservice='$deliveryservice' GROUP BY time(60s) ORDER BY asc`,\n rawQuery: true,\n resultFormat: 'time_series',\n measurement: 'tps_2xx',\n hide: false,\n tags: {\n deliveryservice: `$deliveryservice`,\n },\n },\n {\n refId: 'B',\n query: `SELECT mean(value) FROM \\\"monthly\\\".\\\"tps_3xx.ds.1min\\\" WHERE $timeFilter AND deliveryservice='$deliveryservice' GROUP BY time(60s) ORDER BY asc`,\n rawQuery: true,\n resultFormat: 'time_series',\n },\n {\n refId: 'C',\n query: `SELECT mean(value) FROM \\\"monthly\\\".\\\"tps_4xx.ds.1min\\\" WHERE $timeFilter AND deliveryservice='$deliveryservice' GROUP BY time(60s) ORDER BY asc`,\n rawQuery: true,\n resultFormat: 'time_series',\n },\n {\n refId: 'D',\n query: `SELECT mean(value) FROM \\\"monthly\\\".\\\"tps_5xx.ds.1min\\\" WHERE $timeFilter AND deliveryservice='$deliveryservice' GROUP BY time(60s) ORDER BY asc`,\n rawQuery: true,\n resultFormat: 'time_series',\n },\n ];\n\n const qr = new SceneQueryRunner({\n datasource: INFLUXDB_DATASOURCES_REF.DELIVERYSERVICE_STATS,\n queries: [...tpsQueries],\n });\n\n return PanelBuilders.timeseries()\n .setTitle('TPS')\n .setData(qr)\n .setOption('legend', { showLegend: true, calcs: ['max'] })\n .setCustomFieldConfig('axisCenteredZero', true)\n .setCustomFieldConfig('spanNulls', true)\n .build();\n};\n","import { SceneQueryRunner, PanelBuilders } from '@grafana/scenes';\nimport { INFLUXDB_DATASOURCES_REF } from '../../../constants';\n\nexport const getBandwidthByCGPanel = () => {\n const bandwidthByCacheGroupQuery = {\n refId: 'A',\n query: `SELECT mean(value) FROM \"monthly\".\"kbps.cg.1min\" WHERE deliveryservice='$deliveryservice' AND cachegroup != 'all' and $timeFilter GROUP BY time(60s), cachegroup`,\n rawQuery: true,\n resultFormat: 'time_series',\n alias: '$tag_cachegroup',\n };\n\n const qr = new SceneQueryRunner({\n datasource: INFLUXDB_DATASOURCES_REF.DELIVERYSERVICE_STATS,\n queries: [bandwidthByCacheGroupQuery],\n });\n\n return PanelBuilders.timeseries()\n .setTitle('Bandwidth by CacheGroup')\n .setData(qr)\n .setOption('legend', { showLegend: true, calcs: ['max'] })\n .setCustomFieldConfig('axisCenteredZero', true)\n .setCustomFieldConfig('spanNulls', true)\n .setUnit('bps')\n .build();\n};\n","import {\n SceneTimeRange,\n EmbeddedScene,\n SceneFlexLayout,\n SceneFlexItem,\n SceneControlsSpacer,\n SceneRefreshPicker,\n SceneTimePicker,\n QueryVariable,\n SceneVariableSet,\n VariableValueSelectors,\n} from '@grafana/scenes';\nimport { getBandwidthPanel } from './panels/bandwidth';\nimport { getTpsPanel } from './panels/tps';\nimport { getBandwidthByCGPanel } from './panels/bandwidth-cg';\nimport { INFLUXDB_DATASOURCES_REF } from '../../constants';\n\nexport function getDeliveryServiceScene() {\n const timeRange = new SceneTimeRange({\n from: 'now-6h',\n to: 'now',\n });\n\n const deliveryService = new QueryVariable({\n name: 'deliveryservice',\n datasource: INFLUXDB_DATASOURCES_REF.DELIVERYSERVICE_STATS,\n query: 'SHOW TAG VALUES ON \"deliveryservice_stats\" FROM \"monthly\".\"kbps\" with key = \"deliveryservice\"',\n });\n\n return new EmbeddedScene({\n $timeRange: timeRange,\n $variables: new SceneVariableSet({\n variables: [deliveryService],\n }),\n body: new SceneFlexLayout({\n direction: 'column',\n children: [\n new SceneFlexItem({\n minHeight: 300,\n body: getBandwidthPanel(),\n }),\n new SceneFlexItem({\n minHeight: 300,\n body: getTpsPanel(),\n }),\n new SceneFlexItem({\n minHeight: 300,\n body: getBandwidthByCGPanel(),\n }),\n ],\n }),\n controls: [\n new VariableValueSelectors({}),\n new SceneControlsSpacer(),\n new SceneTimePicker({ isOnCanvas: true }),\n new SceneRefreshPicker({\n intervals: ['5s', '1m', '1h'],\n isOnCanvas: true,\n }),\n ],\n });\n}\n","import React, { useMemo } from 'react';\nimport { SceneApp, SceneAppPage } from '@grafana/scenes';\nimport { ROUTES } from '../../constants';\nimport { prefixRoute } from '../../utils/utils.routing';\nimport { getDeliveryServiceScene } from './scene';\n\nconst getScene = () =>\n new SceneApp({\n pages: [\n new SceneAppPage({\n title: 'Delivery Services',\n url: prefixRoute(`${ROUTES.DeliveryService}`),\n hideFromBreadcrumbs: true,\n getScene: getDeliveryServiceScene,\n }),\n ],\n });\n\nexport const DeliveryServicePage = () => {\n const scene = useMemo(() => getScene(), []);\n\n return ;\n};\n","import { SceneQueryRunner, PanelBuilders } from '@grafana/scenes';\nimport { INFLUXDB_DATASOURCES_REF } from '../../../constants';\n\nexport const getBandwidthPanel = () => {\n const cacheGroupBandwidthQuery = {\n refId: 'A',\n query:\n 'SELECT sum(value) FROM \"monthly\".\"bandwidth.1min\" WHERE \"cachegroup\" = \\'$cachegroup\\' AND $timeFilter GROUP BY time(60s), cachegroup',\n rawQuery: true,\n resultFormat: 'time_series',\n alias: '$tag_cachegroup',\n };\n\n const qr = new SceneQueryRunner({\n datasource: INFLUXDB_DATASOURCES_REF.CACHE_STATS,\n queries: [cacheGroupBandwidthQuery],\n });\n\n return PanelBuilders.timeseries()\n .setTitle('Total bandwidth (stacked)')\n .setData(qr)\n .setCustomFieldConfig('fillOpacity', 20)\n .setOption('legend', { showLegend: true, calcs: ['max'] })\n .setUnit('Kbits')\n .build();\n};\n","import { SceneQueryRunner, PanelBuilders } from '@grafana/scenes';\nimport { INFLUXDB_DATASOURCES_REF } from '../../../constants';\n\nexport const getConnectionsPanel = () => {\n const connectionQuery = {\n refId: 'A',\n query:\n 'SELECT mean(\"value\") FROM \"monthly\".\"connections.1min\" WHERE (\"cachegroup\" = \\'$cachegroup\\') AND $timeFilter GROUP BY time($interval), \"hostname\" fill(null)',\n rawQuery: true,\n resultFormat: 'time_series',\n };\n\n const qr = new SceneQueryRunner({\n datasource: INFLUXDB_DATASOURCES_REF.CACHE_STATS,\n queries: [connectionQuery],\n });\n\n return PanelBuilders.timeseries()\n .setTitle('Connections (stacked)')\n .setCustomFieldConfig('fillOpacity', 20)\n .setData(qr)\n .setOption('legend', { showLegend: true, calcs: ['max'] })\n .setCustomFieldConfig('spanNulls', true)\n .build();\n};\n","import {\n SceneTimeRange,\n EmbeddedScene,\n SceneFlexLayout,\n SceneFlexItem,\n SceneControlsSpacer,\n SceneRefreshPicker,\n SceneTimePicker,\n QueryVariable,\n SceneVariableSet,\n VariableValueSelectors,\n} from '@grafana/scenes';\nimport { getBandwidthPanel } from './panels/bandwidth';\nimport { getConnectionsPanel } from './panels/connections';\nimport { INFLUXDB_DATASOURCES_REF } from '../../constants';\n\nexport function getCacheGroupScene() {\n const timeRange = new SceneTimeRange({\n from: 'now-6h',\n to: 'now',\n });\n\n const cachegroup = new QueryVariable({\n name: 'cachegroup',\n datasource: INFLUXDB_DATASOURCES_REF.CACHE_STATS,\n query: 'SHOW TAG VALUES ON \"cache_stats\" FROM \"monthly\".\"bandwidth\" with key = \"cachegroup\"',\n });\n\n return new EmbeddedScene({\n $timeRange: timeRange,\n $variables: new SceneVariableSet({\n variables: [cachegroup],\n }),\n body: new SceneFlexLayout({\n direction: 'column',\n children: [\n new SceneFlexItem({\n minHeight: 300,\n body: getBandwidthPanel(),\n }),\n new SceneFlexItem({\n minHeight: 300,\n body: getConnectionsPanel(),\n }),\n ],\n }),\n controls: [\n new VariableValueSelectors({}),\n new SceneControlsSpacer(),\n new SceneTimePicker({ isOnCanvas: true }),\n new SceneRefreshPicker({\n intervals: ['5s', '1m', '1h'],\n isOnCanvas: true,\n }),\n ],\n });\n}\n","import React, { useMemo } from 'react';\nimport { SceneApp, SceneAppPage } from '@grafana/scenes';\nimport { ROUTES } from '../../constants';\nimport { prefixRoute } from '../../utils/utils.routing';\nimport { getCacheGroupScene } from './scene';\n\nconst getScene = () =>\n new SceneApp({\n pages: [\n new SceneAppPage({\n title: 'Cache Groups',\n url: prefixRoute(`${ROUTES.CacheGroup}`),\n hideFromBreadcrumbs: true,\n getScene: getCacheGroupScene,\n }),\n ],\n });\n\nexport const CacheGroupPage = () => {\n const scene = useMemo(() => getScene(), []);\n\n return ;\n};\n","import React from 'react';\nimport { Redirect, Route, Switch } from 'react-router-dom';\nimport { prefixRoute } from '../../utils/utils.routing';\nimport { ROUTES } from '../../constants';\nimport { ServerPage } from '../../pages/Server';\nimport { DeliveryServicePage } from '../../pages/DeliveryService';\nimport { CacheGroupPage } from '../../pages/CacheGroup';\n\nexport const Routes = () => {\n return (\n \n \n \n \n \n \n );\n};\n","import React from 'react';\nimport { AppRootProps } from '@grafana/data';\nimport { PluginPropsContext } from '../../utils/utils.plugin';\nimport { Routes } from '../Routes';\n\nexport class App extends React.PureComponent {\n render() {\n return (\n \n \n \n );\n }\n}\n","import { AppPlugin } from '@grafana/data';\nimport { App } from './components/App';\n\nexport const plugin = new AppPlugin<{}>().setRootPage(App);\n"],"names":["r","e","t","f","n","Array","isArray","length","clsx","arguments","HASH_UNDEFINED","COMPARE_PARTIAL_FLAG","COMPARE_UNORDERED_FLAG","MAX_SAFE_INTEGER","argsTag","arrayTag","asyncTag","boolTag","dateTag","errorTag","funcTag","genTag","mapTag","numberTag","nullTag","objectTag","promiseTag","proxyTag","regexpTag","setTag","stringTag","undefinedTag","weakMapTag","arrayBufferTag","dataViewTag","reIsHostCtor","reIsUint","typedArrayTags","freeGlobal","g","Object","freeSelf","self","root","Function","freeExports","exports","nodeType","freeModule","module","moduleExports","freeProcess","process","nodeUtil","binding","nodeIsTypedArray","isTypedArray","arraySome","array","predicate","index","mapToArray","map","result","size","forEach","value","key","setToArray","set","uid","func","transform","arrayProto","prototype","funcProto","objectProto","coreJsData","funcToString","toString","hasOwnProperty","maskSrcKey","exec","keys","IE_PROTO","nativeObjectToString","reIsNative","RegExp","call","replace","Buffer","undefined","Symbol","Uint8Array","propertyIsEnumerable","splice","symToStringTag","toStringTag","nativeGetSymbols","getOwnPropertySymbols","nativeIsBuffer","isBuffer","nativeKeys","arg","DataView","getNative","Map","Promise","Set","WeakMap","nativeCreate","dataViewCtorString","toSource","mapCtorString","promiseCtorString","setCtorString","weakMapCtorString","symbolProto","symbolValueOf","valueOf","Hash","entries","this","clear","entry","ListCache","MapCache","SetCache","values","__data__","add","Stack","data","assocIndexOf","eq","baseGetTag","isOwn","tag","unmasked","getRawTag","objectToString","baseIsArguments","isObjectLike","baseIsEqual","other","bitmask","customizer","stack","object","equalFunc","objIsArr","othIsArr","objTag","getTag","othTag","objIsObj","othIsObj","isSameTag","equalArrays","byteLength","byteOffset","buffer","name","message","convert","isPartial","stacked","get","equalByTag","objIsWrapped","othIsWrapped","objUnwrapped","othUnwrapped","objProps","getAllKeys","objLength","skipCtor","objValue","othValue","compared","objCtor","constructor","othCtor","equalObjects","baseIsEqualDeep","arrLength","othLength","seen","arrValue","othIndex","has","push","keysFunc","symbolsFunc","offset","arrayPush","baseGetAllKeys","getSymbols","getMapData","type","getValue","isObject","isMasked","isFunction","test","baseIsNative","pop","pairs","LARGE_ARRAY_SIZE","resIndex","symbol","arrayFilter","isIndex","ArrayBuffer","resolve","Ctor","ctorString","isArguments","isLength","baseUnary","inherited","isArr","isArg","isBuff","isType","skipIndexes","iteratee","baseTimes","String","arrayLikeKeys","baseKeys","ReactPropTypesSecret","emptyFunction","emptyFunctionWithReset","resetWarningCache","shim","props","propName","componentName","location","propFullName","secret","err","Error","getShim","isRequired","ReactPropTypes","bigint","bool","number","string","any","arrayOf","element","elementType","instanceOf","node","objectOf","oneOf","oneOfType","shape","exact","checkPropTypes","PropTypes","defineProperty","enumerable","_DraggableCore","default","React","obj","nodeInterop","__esModule","cache","_getRequireWildcardCache","newObj","hasPropertyDescriptor","getOwnPropertyDescriptor","desc","_interopRequireWildcard","_propTypes","_interopRequireDefault","_reactDom","_clsx","_domFns","_positionFns","_shims","_log","cacheBabelInterop","cacheNodeInterop","_extends","assign","bind","target","i","source","apply","_defineProperty","input","hint","prim","toPrimitive","res","TypeError","_toPrimitive","_toPropertyKey","configurable","writable","Draggable","Component","getDerivedStateFromProps","_ref","_ref2","position","prevPropsPosition","x","y","super","coreData","onStart","createDraggableData","setState","dragging","dragged","state","uiData","newState","slackX","slackY","bounds","newStateX","newStateY","getBoundPosition","deltaX","deltaY","onDrag","onStop","Boolean","defaultPosition","isElementSVG","console","warn","componentDidMount","window","SVGElement","findDOMNode","componentWillUnmount","_this$props$nodeRef$c","_this$props","nodeRef","current","render","axis","children","defaultClassName","defaultClassNameDragging","defaultClassNameDragged","positionOffset","scale","draggableCoreProps","style","svgTransform","draggable","validPosition","transformOpts","canDragX","canDragY","createSVGTransform","createCSSTransform","className","createElement","onDragStart","onDragStop","cloneElement","Children","only","propTypes","left","right","top","bottom","dontSetMe","defaultProps","eventsFor","start","move","stop","dragEventFor","DraggableCore","NaN","onMouseDown","allowAnyClick","button","thisNode","ownerDocument","body","disabled","defaultView","Node","handle","matchesSelectorAndParentsTo","cancel","preventDefault","touchIdentifier","getTouchIdentifier","getControlPosition","coreEvent","createCoreData","mounted","enableUserSelectHack","addUserSelectStyles","lastX","lastY","addEvent","handleDrag","handleDragStop","grid","snapToGrid","MouseEvent","event","document","createEvent","initMouseEvent","removeUserSelectStyles","removeEvent","handleDragStart","onTouchStart","passive","_this$props2","onMouseUp","onTouchEnd","offsetParent","addClassName","el","handler","inputOptions","options","capture","addEventListener","attachEvent","doc","styleEl","getElementById","id","innerHTML","getElementsByTagName","appendChild","controlPos","translation","getTranslation","_getPrefix","browserPrefixToKey","getTouch","identifier","targetTouches","findInArray","changedTouches","innerHeight","height","clientHeight","computedStyle","getComputedStyle","int","paddingTop","paddingBottom","innerWidth","width","clientWidth","paddingLeft","paddingRight","matchesSelector","selector","baseNode","parentNode","offsetXYFromParent","evt","offsetParentRect","getBoundingClientRect","clientX","scrollLeft","clientY","scrollTop","outerHeight","borderTopWidth","borderBottomWidth","outerWidth","borderLeftWidth","borderRightWidth","removeClassName","removeEventListener","detachEvent","selection","empty","getSelection","removeAllRanges","matchesSelectorFunc","method","unitSuffix","concat","defaultX","defaultY","classList","match","remove","browserPrefixToStyle","prop","prefix","toLowerCase","getPrefix","prefixes","_window$document","documentElement","str","out","shouldCapitalize","toUpperCase","kebabToTitleCase","isStart","isNum","cloneBounds","ownerWindow","boundNode","querySelector","HTMLElement","boundNodeEl","nodeStyle","boundNodeStyle","offsetLeft","marginLeft","offsetTop","marginTop","marginRight","marginBottom","Math","min","max","draggableCore","touchObj","pendingX","pendingY","round","callback","a","parseInt","num","isNaN","_typeof","iterator","_react","_reactDraggable","_reactResizable","_utils","_calculateUtils","_ReactGridLayoutPropTypes","ownKeys","enumerableOnly","symbols","filter","sym","_objectSpread","getOwnPropertyDescriptors","defineProperties","_defineProperties","descriptor","_setPrototypeOf","o","p","setPrototypeOf","__proto__","_assertThisInitialized","ReferenceError","_getPrototypeOf","getPrototypeOf","GridItem","_React$Component","subClass","superClass","create","_inherits","Constructor","protoProps","Derived","hasNativeReflectConstruct","_super","Reflect","construct","sham","Proxy","_isNativeReflectConstruct","Super","NewTarget","_possibleConstructorReturn","_this","instance","_classCallCheck","_len","args","_key","resizing","createRef","transformScale","newPosition","parentRect","clientRect","cLeft","pLeft","cTop","pTop","_calcXY","calcXY","getPositionParams","w","h","isBounded","containerWidth","positionParams","_this$props3","margin","rowHeight","bottomBoundary","calcGridItemWHPx","clamp","colWidth","calcGridColWidth","rightBoundary","_calcXY2","_ref3","_this$props4","_this$state$dragging","_calcXY3","callbackData","onResizeHandler","nextProps","nextState","droppingPosition","oldPosition","calcGridItemPosition","fastPositionEqual","useCSSTransforms","moveDroppingItem","prevProps","elementRef","prevDroppingPosition","shouldDrag","cols","containerPadding","maxRows","pos","_this$props5","usePercentages","setTransform","setTopLeft","perc","child","isDraggable","isResizable","_this$props6","minW","minH","maxW","maxH","resizeHandles","resizeHandle","maxWidth","mins","maxes","minConstraints","maxConstraints","Infinity","Resizable","draggableOpts","onResizeStop","onResizeStart","onResize","_ref4","handlerName","_this$props7","_this$props8","_calcWH","calcWH","_this$props9","newChild","ref","static","dropping","cssTransforms","createStyle","mixinResizable","mixinDraggable","resizeHandleAxesType","resizeHandleType","_lodash","_GridItem","_unsupportedIterableToArray","minLen","_arrayLikeToArray","slice","from","arr","len","arr2","layoutClassName","isFirefox","navigator","userAgent","ReactGridLayout","staticProps","activeDrag","layout","synchronizeLayoutWithChildren","compactType","allowOverlap","oldDragItem","oldLayout","oldResizeItem","droppingDOMNode","l","getLayoutItem","cloneLayoutItem","preventCollision","placeholder","moveElement","compact","newLayout","onLayoutMaybeChanged","_ref5","_this$state","_withLayoutItem","withLayoutItem","hasCollisions","collisions","getAllCollisions","layoutItem","leastX","leastY","Number","isFinite","_withLayoutItem2","_arrayWithHoles","_i","_s","_e","_arr","_n","_d","next","done","_iterableToArrayLimit","_nonIterableRest","_slicedToArray","_ref6","_this$state2","_e$nativeEvent$target","stopPropagation","nativeEvent","contains","droppingItem","onDropDragOver","onDragOverResult","removeDroppingPlaceholder","finalDroppingItem","_e$nativeEvent","layerX","layerY","_this$state$droppingP","calculatedPosition","_arrayWithoutHoles","iter","_iterableToArray","_nonIterableSpread","dragEnterCounter","item","find","onDrop","prevState","newLayoutBase","propsLayout","childrenEqual","fastRGLPropsEqual","autoSize","nbRow","containerPaddingY","onLayoutChange","isDroppingItem","draggableCancel","draggableHandle","_this$state3","resizable","resizeHandlesOptions","bounded","_this2","isDroppable","innerRef","mergedClassName","mergedStyle","containerHeight","noop","onDragLeave","onDragEnter","onDragOver","processGridItem","verticalCompact","_default","_responsiveUtils","_ReactGridLayout","_excluded","getIndentationValue","param","breakpoint","ResponsiveReactGridLayout","generateInitialState","layouts","_cols","findOrGenerateResponsiveLayout","breakpoints","getBreakpointFromWidth","colNo","getColsFromBreakpoint","onWidthChange","newBreakpoint","lastBreakpoint","newCols","newLayouts","cloneLayout","onBreakpointChange","excluded","sourceKeys","indexOf","_objectWithoutPropertiesLoose","sourceSymbolKeys","_objectWithoutProperties","validateLayout","lg","md","sm","xs","xxs","gridUnits","colOrRowSize","marginPx","lowerBound","upperBound","ComposedComponent","_class","WidthProvider","offsetWidth","onWindowResize","measureBeforeMount","rest","b","isEqualImpl","breakpointsSorted","sortBreakpoints","breakpointsAbove","correctBounds","sorted","matching","breakpointName","sort","c","collides","compactItem","getFirstCollision","getStatics","modifyLayout","moveElementAwayFromCollision","translate","WebkitTransform","MozTransform","msTransform","OTransform","sortLayoutItems","sortLayoutItemsByColRow","sortLayoutItemsByRowCol","initialLayout","exists","isProduction","_grid","correctedLayout","itemKey","cb","DEBUG","bottomY","moved","l1","l2","compareWith","heightWidth","resolveCompactionCollision","moveToCoord","sizeProp","otherItem","fullLayout","compactH","collidesWith","isUserAction","log","oldX","oldY","reverse","collision","itemToMove","compactV","fakeItem","contextName","subProps","j","_console","utils","Responsive","handleRefs","lastHandleRect","slack","_proto","resetData","runConstraints","lockAspectRatio","ratio","deltaW","deltaH","abs","oldW","oldH","slackW","slackH","resizeHandler","axisV","axisH","handleRect","_this2$runConstraints","dimensionsChanged","persist","renderResizeHandle","handleAxis","_this3","handleSize","_this3$handleRefs$han","resizableProps","_Resizable","_propTypes2","ResizableBox","propsWidth","propsHeight","_PropTypes$number","_len2","_key2","_PropTypes$number2","__WEBPACK_EXTERNAL_MODULE__644__","__WEBPACK_EXTERNAL_MODULE__305__","__WEBPACK_EXTERNAL_MODULE__545__","__WEBPACK_EXTERNAL_MODULE__388__","__WEBPACK_EXTERNAL_MODULE__980__","__WEBPACK_EXTERNAL_MODULE__650__","__WEBPACK_EXTERNAL_MODULE__729__","__WEBPACK_EXTERNAL_MODULE__814__","__WEBPACK_EXTERNAL_MODULE__177__","__webpack_module_cache__","__webpack_require__","moduleId","cachedModule","loaded","__webpack_modules__","getter","d","definition","globalThis","nmd","paths","PluginPropsContext","PLUGIN_BASE_URL","pluginJson","ROUTES","INFLUXDB_DATASOURCES_REF","CACHE_STATS","DELIVERYSERVICE_STATS","DAILY_STATS","TELEGRAF","prefixRoute","route","__defProp","__getOwnPropSymbols","__hasOwnProp","__propIsEnum","__defNormalProp","__spreadValues","getUrlWithAppState","path","preserveParams","paramsCopy","locationService","getSearchObject","includes","urlUtil","renderUrl","locationUtil","assureBaseUrl","renderSceneComponentWithRouteProps","sceneObject","routeProps","model","runtimePanelPlugins","randomUUID","crypto","getRandomValues","rnds8","rng","byteToHex","buf","rnds","random","unsafeStringify","SceneComponentWrapper","_a","_a2","_b","otherProps","exclude","__objRest","EmptyRenderer","activated","setActivated","useEffect","activate","_","SceneObjectStateChangedEvent","BusEventWithPayload","UserActionEvent","__accessCheck","member","msg","SceneObjectRef","WeakSet","__privateAdd","_isActive","_activationHandlers","_deactivationHandlers","_subs","Subscription","_refCount","_events","EventBusSrv","_state","freeze","_setParent","isActive","parent","_parent","variableDependency","_variableDependency","urlSync","_urlSync","forEachChild","subscribeToState","subscribe","payload","changedObject","subscribeToEvent","eventType","update","_handleActivationOfChangedStateProps","publishEvent","partialUpdate","$data","_handleChangedStateActivation","$variables","$timeRange","oldValue","newValue","deactivationHandler","delete","bubble","publish","getRoot","_internalActivate","$behaviors","behavior","called","error","_internalDeactivate","removeAllListeners","unsubscribe","useState","stateAtFirstRender","s","useSceneObjectState","forceRender","clone","withState","clonedState","sceneState","propValue","newArray","cloneSceneObjectState","cloneSceneObject","addActivationHandler","getRef","getClosest","extract","extracted","curSceneObject","runtimeDataSources","VariableRefresh","VariableRefresh2","LoadingState2","DashboardCursorSync","DashboardCursorSync2","Done","series","timeRange","getDefaultTimeRange","SceneObjectUrlSyncConfig","_sceneObject","_options","_keys","getKeys","getUrlState","updateFromUrl","INTERVAL_STRING_REGEX","parseUrlParam","utcValue","toUtc","isValid","toISOString","epoch","to","timeZone","fiscalYearStartMonth","dateMath","parse","raw","SceneTimeRange","getTimeZone","onTimeRangeChange","updateToEval","onTimeZoneChange","onRefresh","_onActivate","timeZoneSource","getTimeZoneSource","weekStart","setWeekStart","config","bootData","user","EmptyDataNode","getResultsStream","origin","of","DefaultTimeRange","EmptyVariableSet","variables","getByName","isVariableLoadingOrWaitingToUpdate","variable","getTimeRange","VariableFormatID","VariableFormatID2","SceneVariableValueChangedEvent","isCustomVariableValue","scopedVarsVariable","fieldAccessorCache","getFieldAccessor","fieldPath","property","ScopedVarsVariable","realValue","getValueText","text","formatRegistry","Registry","Lucene","description","formatter","luceneEscape","val","join","Raw","Regex","escapeRegex","escapedValues","Pipe","Distributed","CSV","HTML","textUtil","escapeHtml","JSON","stringify","PercentEncode","encodeURIComponentStrict","SingleQuote","regExp","v","strVal","DoubleQuote","SQLString","sqlStringFormatter","Date","nrValue","dateTime","format","Glob","Text","_args","QueryParam","formatQueryParameter","UriEncode","encodeURIStrict","replaceSpecialCharactersToASCII","encodeURIComponent","encodeURI","charCodeAt","SQL_ESCAPE_MAP","ALL_VARIABLE_TEXT","ALL_VARIABLE_VALUE","AUTO_VARIABLE_VALUE","VARIABLE_REGEX","lookupVariable","layers","deactivationHandlers","layer","getData","findObjectInternal","scene","check","alreadySearchedChild","shouldSearchUp","found","maybe","SkipFormattingValue","_value","TimeFromAndToMacro","dateTimeFormat","IntervalMacro","request","intervalMs","interval","collectAllVariables","record","skipUrlSync","fallbackDisplayProcessor","getDisplayProcessor","UrlStateFormatter","_urlQueryParams","params","split","allParams","URLSearchParams","includeOnly","macrosIndex","DataLinkBuiltInVars","includeVars","allVars","keepTime","urlState","toUrlParams","_match","_scopedVars","dataContext","__dataContext","frame","rowIndex","field","calculatedValue","numeric","formattedValueToString","timeField","fields","FieldType","time","display","refId","getFieldDisplayValuesProxy","frameIndex","getFrameDisplayName","frames","getFieldDisplayName","labels","__values","formatLabels","getTemplateProxyForField","getLocation","subUrl","appSubUrl","search","pathname","login","email","orgName","orgId","getVariables","getLayout","isSceneLayout","getDataLayers","localOnly","collected","interpolate","scopedVars","lastIndex","var1","var2","fmt2","var3","fmt3","fmt","scopedVar","getSceneVariableForScopedVar","lookupFormatVariable","formatNameOrFn","multi","isMulti","includeAll","getIfExists","formatValue","sceneInterpolator","hasVariableDependencyInLoadingState","getNames","findObject","getAncestor","ancestorType","isVariableValueEqual","isEqual","safeStringifyValue","_dependencies","scanCount","defaultHandlerReferencedVariableValueChanged","_statePaths","statePaths","hasDependencyOn","variableUpdatesCompleted","changedVariables","deps","dependencyChanged","onVariableUpdatesCompleted","onReferencedVariableValueChanged","scanStateForDependencies","setPaths","variableNames","extractVariablesFrom","matches","matchAll","variableName","CursorSync","sync","Off","getEventsBus","panel","PanelContextEventBus","getEventsScope","_source","_eventsOrigin","getStream","Observable","observer","sub","pipe","newScopedBus","async","datasource","runtimeDataSource","query","getDataSourceSrv","_values","recordCurrentDependencyValuesForSceneObject","clearValues","hasValues","recordCurrentValue","hasRecordedValue","hasValueChanged","hasDependenciesChanged","extendStatics","__extends","__","m","__read","ar","__spreadArray","pack","SuppressedError","ctorFunc","UnsubscriptionError","errors","arrRemove","initialTeardown","closed","_parentage","_finalizers","e_1","e_2","_parentage_1","_parentage_1_1","e_1_1","return","initialFinalizer","_finalizers_1","_finalizers_1_1","finalizer","execFinalizer","e_2_1","teardown","_hasParent","_addParent","_removeParent","EMPTY","isSubscription","onUnhandledError","onStoppedNotification","useDeprecatedSynchronousErrorHandling","useDeprecatedNextContext","timeoutProvider","setTimeout","timeout","delegate","clearTimeout","COMPLETE_NOTIFICATION","createNotification","kind","context","Subscriber","destination","isStopped","EMPTY_OBSERVER","complete","SafeSubscriber","handleStoppedNotification","nextNotification","_next","_error","_complete","_bind","fn","thisArg","ConsumerObserver","partialObserver","handleUnhandledError","observerOrNext","context_1","errorThrown","reportUnhandledError","notification","subscriber","OperatorSubscriber","onNext","onComplete","onError","onFinalize","shouldUnsubscribe","closed_1","observable","identity","getPromiseCtor","promiseCtor","_subscribe","lift","operator","isObserver","isRoot","errorContext","_trySubscribe","sink","reject","operations","fns","reduce","prev","toPromise","logger","grafanaSceneLogging","isPublicDashboardView","PREVIOUS_PERIOD_VALUE","NO_PERIOD_VALUE","PREVIOUS_PERIOD_COMPARE_OPTION","label","NO_COMPARE_OPTION","DEFAULT_COMPARE_OPTIONS","SceneTimeRangeCompare","compareOptions","sceneTimeRange","getCompareOptions","stateUpdate","diffDays","ceil","diff","matchIndex","findIndex","rangeUtil","intervalToMs","onCompareWithChanged","onClearCompare","getCompareTimeRange","compareFrom","compareTo","diffMs","subtract","getStyles","theme","previewButton","css","border","colors","secondary","color","opacity","styles","useStyles2","previousCompare","setPreviousCompare","previousValue","value2","enabled","onClick","ButtonGroup","ToolbarButton","variant","tooltip","Checkbox","ButtonSelect","onChange","isOpen","getCompareSeriesRefId","timeShiftQueryResponseOperator","meta","timeCompare","isTimeShiftQuery","mode","fixedColor","palette","gray60","isSceneObject","isDataRequestEnricher","originalGetAdhocFilters","allActiveFilterSets","SceneQueryRunner","initialState","_variableValueRecorder","_results","ReplaySubject","__sceneObject","prepareRequests","ds","comparer","getTimeCompare","minInterval","queries","secondaryRequest","app","requestId","timezone","panelId","range","targets","cloneDeep","maxDataPoints","getMaxDataPoints","startTime","now","liveStreaming","rangeRaw","sourceRunner","enrichDataRequest","_adhocFilterSet","filters","lowerIntervalLimit","norm","calculateInterval","__interval","__interval_ms","primaryTimeRange","secondaryTimeRange","onDataReceived","preProcessedData","preProcessPanelData","dataWithLayersApplied","_combineDataLayers","hasFetchedData","_hasFetchedData","Loading","runQueries","runWithTimeRange","shouldRunQueriesOnActivate","_onDeactivate","_handleDataLayers","dataLayers","observables","resultsMap","_dataLayersSub","merge","mergeAll","_onLayersReceived","results","dataLayerFilter","alertState","annotations","alertStates","layerKeys","layerKey","topic","DataTopic","Annotations","rows","frameIdx","panelIdField","sourceField","sourceFilter","ids","processed","frameLength","filterAnnotations","frameView","DataFrameView","row","baseStateUpdate","_variablesThatHaveChanged","_isWaitingForVariables","maxDataPointsFromWidth","_containerWidth","_isDataTimeRangeStale","stateTimeRange","dataTimeRange","unix","_querySub","_adhocFilterSub","setContainerWidth","isDataReadyToDisplay","cancelQuery","runRequest","getRunRequest","findFirstDatasource","findAndSubscribeToAdhocFilters","forkJoin","toDataQueryError","_setNoDataState","dsUid","findActiveAdHocFilterSetByUid","applyMode","Components","Breadcrumbs","breadcrumb","title","TimePicker","openButton","fromField","toField","applyTimeRange","calendar","closeButton","absoluteTimeRangeTitle","DataSourcePermissions","form","roleType","rolePicker","permissionLevel","DataSource","TestData","QueryTab","scenarioSelectContainer","scenarioSelect","noise","seriesCount","spread","startValue","drop","DataSourceHttpSettings","urlInput","Jaeger","traceIDInput","Prometheus","configPage","exemplarsAddButton","internalLinkSwitch","exemplarMarker","Menu","MenuComponent","MenuGroup","MenuItem","SubMenu","container","icon","Panels","Panel","headerItems","menuItems","menu","containerByTitle","headerCornerInfo","loadingBar","HoverWidget","dragIcon","Visualization","Graph","VisualizationTab","legendSection","Legend","legendItemAlias","showLegendSwitch","xAxis","BarGauge","valueV2","PieChart","svgSlice","Table","header","footer","VizLegend","seriesName","Drawer","General","expand","contract","close","rcContentWrapper","PanelEditor","content","OptionsPane","select","fieldLabel","DataPane","applyButton","toggleVizPicker","toggleVizOptions","toggleTableView","measureButton","PanelInspector","Data","Stats","Json","Query","refreshButton","jsonObjectKeys","Tab","active","RefreshPicker","runButton","intervalButton","runButtonV2","intervalButtonV2","queryInspectorButton","queryHistoryButton","addQuery","QueryHistory","queryText","QueryEditorRows","QueryEditorRow","actionButton","AlertTab","Alert","alert","severity","alertV2","TransformTab","newTransform","transformationEditor","transformationEditorDebugger","Transforms","card","Reduce","modeLabel","calculationsLabel","SpatialOperations","actionLabel","locationLabel","autoOption","coords","option","latitudeFieldLabel","longitudeFieldLabel","geohash","geohashFieldLabel","lookup","lookupFieldLabel","gazetteerFieldLabel","searchInput","NavBar","Configuration","Toggle","Reporting","NavMenu","NavToolbar","PageToolbar","itemButton","QueryEditorToolbarItem","BackButton","backArrow","OptionsGroup","group","toggle","PluginVisualization","Select","singleValue","FieldConfigEditor","OverridesConfigEditor","FolderPicker","containerV2","ReadonlyFolderPicker","DataSourcePicker","inputV2","TimeZonePicker","WeekStartPicker","TraceViewer","spanBar","QueryField","QueryBuilder","queryPatterns","labelSelect","valueSelect","matchOperatorSelect","ValuePicker","Search","section","sectionV2","items","itemsV2","cards","collapseFolder","sectionId","expandFolder","dashboardItem","dashboardItems","dashboardCard","folderHeader","folderName","folderContent","DashboardLinks","dropDown","link","LoadingIndicator","CallToActionCard","buttonV2","DataLinksContextMenu","singleLink","CodeEditor","DashboardImportPage","textarea","submit","ImportDashboardForm","PanelAlertTabContent","VisualizationPreview","ColorSwatch","DashboardRow","UserProfile","profileSaveButton","preferencesSaveButton","orgsTable","sessionsTable","FileUpload","inputField","fileNameSpan","DebugOverlay","wrapper","OrgRolePicker","AnalyticsToolbarButton","Variables","variableOption","annotationsTypeInput","annotationsChoosePanelInput","selectors","pages","Login","url","username","password","skip","Home","readOnly","saveAndTest","DataSources","dataSources","dataSourceName","EditDataSource","dataSourceUid","settings","AddDataSource","dataSourcePlugins","pluginName","dataSourcePluginsV2","ConfirmModal","AddDashboard","addNewPanel","addNewRow","addNewPanelLibrary","Dashboard","DashNav","nav","navV2","publicDashboardTag","submenu","submenuItem","submenuItemLabels","submenuItemValueDropDownValueLinkTexts","submenuItemValueDropDownDropDown","submenuItemValueDropDownOptionTexts","annotationsWrapper","annotationLabel","annotationToggle","Settings","Actions","deleteDashBoard","sectionItems","saveDashBoard","saveAsDashBoard","List","addAnnotationCTA","addAnnotationCTAV2","NewAnnotation","panelFilterSelect","showInLabel","previewInDashboard","addVariableCTA","addVariableCTAV2","newButton","table","tableRowNameFields","tableRowDefinitionFields","tableRowArrowUpButtons","tableRowArrowDownButtons","tableRowDuplicateButtons","tableRowRemoveButtons","Edit","headerLink","modeLabelNew","modeLabelEdit","generalNameInput","generalNameInputV2","generalTypeSelect","generalTypeSelectV2","generalLabelInput","generalLabelInputV2","generalHideSelect","generalHideSelectV2","selectionOptionsMultiSwitch","selectionOptionsIncludeAllSwitch","selectionOptionsCustomAllInput","selectionOptionsCustomAllInputV2","previewOfValuesOption","submitButton","QueryVariable","queryOptionsDataSourceSelect","queryOptionsRefreshSelect","queryOptionsRefreshSelectV2","queryOptionsRegExInput","queryOptionsRegExInputV2","queryOptionsSortSelect","queryOptionsSortSelectV2","queryOptionsQueryInput","valueGroupsTagsEnabledSwitch","valueGroupsTagsTagsQueryInput","valueGroupsTagsTagsValuesQueryInput","ConstantVariable","constantOptionsQueryInput","constantOptionsQueryInputV2","DatasourceVariable","datasourceSelect","TextBoxVariable","textBoxOptionsQueryInput","textBoxOptionsQueryInputV2","CustomVariable","customValueInput","IntervalVariable","intervalsValueInput","marker","Dashboards","dashboards","SaveDashboardAsModal","newName","save","SaveDashboardModal","saveVariables","saveTimerange","SharePanelModal","linkToRenderedImage","ShareDashboardModal","shareButton","PublicDashboard","WillBePublicCheckbox","LimitedDSCheckbox","CostIncreaseCheckbox","PauseSwitch","EnableAnnotationsSwitch","CreateButton","DeleteButton","CopyUrlInput","CopyUrlButton","TemplateVariablesWarningAlert","UnsupportedDataSourcesWarningAlert","NoUpsertPermissionsWarningAlert","EnableTimeRangeSwitch","EmailSharingConfiguration","Container","ShareType","EmailSharingInput","EmailSharingInviteButton","EmailSharingList","DeleteEmail","ReshareLink","page","NotAvailable","pausedDescription","RequestViewAccess","recipientInput","Explore","graph","scrollView","SoloPanel","PluginsList","list","listItem","signatureErrorNotice","PluginPage","signatureInfo","disabledInfo","PlaylistForm","itemDelete","BrowseDashbards","checkbox","FolderView","PublicDashboards","ListItem","linkButton","configButton","trashcanButton","UserListPage","tabs","allUsers","orgUsers","publicDashboardsUsers","users","org","admin","publicDashboards","UserListAdminPage","UsersListPage","UsersListPublicDashboardsPage","DashboardsListModal","components","Tooltip","Icon","role","onCancel","ControlsLabel","useTheme2","isVertical","loadingIndicator","isLoading","spacing","errorIndicator","placement","errorIcon","testId","labelElement","verticalLabel","htmlFor","normalIcon","onRemove","IconButton","horizontalLabel","background","isDark","primary","alignItems","padding","fontWeight","typography","fontWeightMedium","fontSize","bodySmall","lineHeight","borderRadius","borderColor","whiteSpace","gap","SceneDataLayerControl","isEnabled","onToggleLayer","elementId","showLoading","containerStyle","InlineSwitch","layersMap","acc","toggleLayer","isHidden","VariableValueSelectors","VariableValueSelectWrapper","hide","VariableHide","hideVariable","verticalContainer","VariableLabel","hideLabel","labelOrName","loading","flexDirection","SceneVariableSet","_variablesToUpdate","_updating","SceneVariableSetVariableDependencyHandler","_handleParentVariableUpdatesCompleted","_handleVariableValueChanged","_refreshTimeRangeBasedVariables","_onStateChanged","_checkForVariablesThatChangedWhileInactive","_variableNeedsUpdate","_updateNextBatch","subscription","oldState","variablesToUpdateCountStart","updating","refresh","onTimeRangeChanged","writeVariableTraceLog","_addDependentVariablesToUpdateQueue","validateAndUpdate","variableToUpdate","_validateAndUpdateCompleted","_handleVariableError","_notifyDependentSceneObjects","variableThatChanged","changedVar","otherVariable","_traverseSceneAndNotify","isAncestorLoading","_variableUpdatesCompleted","_emptySet","VariableValueSelect","onInputChange","onSearchChange","action","allowCustomValue","tabSelectsValue","getOptionsForSelect","changeValueTo","VariableValueSelectMulti","maxVisibleValues","arrayValue","useMemo","uncommittedValue","setUncommittedValue","MultiSelect","noMultiValueWrap","closeMenuOnSelect","isClearable","onBlur","renderSelectForVariable","MultiValueVariable","MultiValueUrlSyncHandler","getValueOptions","updateValueGivenNewOptions","setStateHelper","sceneVarSet","currentValue","currentText","defaultToAll","hasAllValue","validValues","validTexts","defaultState","getDefaultMultiState","matchingOption","textMatch","findOptionMatchingCurrent","allValue","CustomAllValue","findLabelTextForValue","shift","optionByLabel","getKey","urlValue","_variable","trim","regex","isDefault","pluginId","getList","metrics","interpolated","stringToJsRegex","defaultOptionEnabled","hasLegacyVariableSupport","metricFindQuery","hasStandardVariableSupport","getType","VariableSupportType","Standard","variableSupport","toDataQuery","hasCustomVariableSupport","Custom","editor","StandardQueryRunner","_runRequest","getTarget","ensureVariableQueryModelIsADataQuery","getEmptyMetricFindValueObservable","LegacyQueryRunner","searchFilter","mergeMap","LoadingState","CustomQueryRunner","getAllMatches","global","onDashboardLoad","VariableSort","_updateOptionsBasedOnSearchFilter","debounce","lastValueFrom","runner","createQueryVariableRunner","getRequest","take","throwError","panelData","firstValue","isDataFrame","firstValueKey","areMetricFindValues","processedDataFrames","getProcessedDataFrames","valueIndex","textIndex","stringIndex","expandableIndex","fieldName","boolean","expandable","variableRegEx","metricNames","_c","_f","isNumber","valueGroup","groups","textGroup","firstMatch","manyMatches","uniqBy","sortOrder","sortByNumeric","opt","sortByNaturalSort","options2","localeCompare","alphabeticalAsc","sortBy","alphabeticalDesc","numericalAsc","numericalDesc","alphabeticalCaseInsensitiveAsc","toLower","alphabeticalCaseInsensitiveDesc","naturalAsc","naturalDesc","sortVariableValues","metricNamesToVariableValues","catchError","cancelled","__searchFilter","CoreApp","buildMetricTree","depth","chars","letter","nodeName","queryTree","queryIndex","nodeQuery","namesToMatch","startsWith","nameToMatch","pattern","queryMetricTree","VariableValueInput","useCallback","setValue","currentTarget","onKeyDown","AutoSizeInput","minWidth","defaultValue","completeUpdate","Subject","isGettingValues","getValueOptionsCount","delayMs","issueQuery","signalUpdateCompleted","interpolatedQuery","getOptions","issuedQuery","optionsToReturn","intervals","autoStepCount","autoMinInterval","autoEnabled","_onChange","some","getAutoRefreshInteval","minRefreshInterval","shouldPublish","firstOption","AdHocFiltersVariableUrlSyncHandler","toArray","escapeDelimiter","toFilter","isFilter","deserializeUrlToFilters","unescapeDelimiter","parts","condition","AdHocFilterRenderer","keyValue","toOption","valueValue","isKeysOpen","widthWhenOpen","_updateFilter","isValuesOpen","isValuesLoading","onOpenMenu","_getValuesFor","onCloseMenu","keySelect","autoFocus","isKeysLoading","_getKeys","openMenuOnFocus","_removeFilter","Field","_getOperators","Button","removeButton","borderTopRightRadius","borderBottomRightRadius","borderTopLeftRadius","borderBottomLeftRadius","zIndex","borderLeft","AdHocFilterBuilder","_wip","_addWip","AdHocFilterSet","baseFilters","_dataSourceSrv","filterSet","templateSrv","getTemplateSrv","getAdhocFilters","dsName","getInstanceSettings","patchGetAdhocFilters","updatedFilters","currentKey","override","getTagKeysProvider","toSelectableValue","getTagKeys","otherFilters","tagKeyRegexFilter","getTagValuesProvider","getTagValues","filterIcon","VariableHide2","_AdHocFiltersVariable","filterExpression","renderFilters","_updateFilterExpression","expr","renderFilter","escapeLabelValueInExactSelector","RE2_METACHARACTERS","escapeLokiRegexp","labelValue","UrlSyncManager","urlKeyMapper","UniqueUrlKeyMapper","_stateSub","_locationSub","_onLocationUpdate","_lastPath","urlParams","rebuildIndex","_sceneRoot","_syncSceneStateFromUrl","newUrlState","searchParams","getSearch","mappedUpdated","newUrlValue","uniqueKey","getUniqueKey","isUrlValueEqual","getAll","partial","initSync","getHistory","listen","syncFrom","cleanUp","sceneObj","currentState","visitNode","objectsWithKey","address","buildIndex","hit","currentUrlValue","urlSyncManager","getUrlSyncManager","EmbeddedScene","unsetGlobalScene","activeScene","prevScene","__grafanaSceneContext","setWindowGrafanaSceneContext","initUrlSync","controls","control","flexGrow","minHeight","flexWrap","isBrowser","useLayoutEffect","ResizeObserver","rect","setRect","contentRect","top_1","observe","disconnect","getChromeStatusMessage","pluginLoadingError","relativeWrapper","absoluteWrapper","getAlertStateStyles","ok","success","pending","warning","alerting","displayOverrideRef","isHideSeriesOverride","isSystemOverrideWithRef","createOverride","names","ByNamesMatcherMode","viz","legend","__systemRef","matcher","FieldMatcherID","byNames","properties","getExistingDisplayNames","rule","getDisplayNames","excludeName","unique","getNamesOfHiddenFields","overrides","fieldMatchers","byName","createProperty","FieldColorModeId","Fixed","VizPanel","fieldConfig","defaults","_structureRev","onTitleChange","onDescriptionChange","onDisplayModeChange","displayMode","onOptionsChange","optionsUpdate","nextOptions","mergeWith","srcValue","withDefaults","getPanelOptionsWithDefaults","plugin","_plugin","currentOptions","currentFieldConfig","isAfterPluginChange","onFieldConfigChange","fieldConfigUpdate","nextFieldConfig","scoped","getDescription","interaction","markdown","renderMarkdown","onCancelQuery","onStatusMessageClick","_onSeriesColorChange","currentIndex","overridesCopy","existing","propertyIndex","propertiesCopy","changeSeriesColorConfigFactory","_onSeriesVisibilityChange","_dataWithFieldConfig","displayName","SeriesVisibilityChangeMode","ToggleSelection","override3","override2","nameOfHiddenFields","createExtendedOverride","allFieldsAreExcluded","seriesVisibilityConfigFactory","_onInstanceStateChange","_pluginInstanceState","_onToggleLegendSort","sortKey","legendOptions","sortDesc","_loadPlugin","getPanelPluginFromCache","getPluginImportUtils","loadPanelPluginSync","_pluginLoaded","importPanelPlugin","then","silent","PanelPlugin","PluginType","baseUrl","info","author","links","logos","large","small","screenshots","updated","version","getPanelPluginNotFound","_pluginLoadError","pluginVersion","_UNSAFE_customMigrationHandler","currentVersion","_getPluginVersion","onPanelMigration","skipDataQuery","buildInfo","getPlugin","getPanelContext","_panelContext","buildPanelContext","applyFieldConfig","rawData","pluginDataSupport","dataSupport","fieldConfigRegistry","prevFrames","_prevData","newFrames","structureRev","compareArrayValues","compareDataFrameStructures","applyFieldOverrides","replaceVariables","theme2","eventsScope","eventBus","getAppEvents","Unknown","onSeriesColorChange","onToggleSeriesVisibility","onToggleLegendSort","onInstanceStateChange","extendPanelContext","isSceneGridRow","SceneGridRow","hoverHeader","headerActions","titleItems","dragClass","dragClassCancel","parentLayout","ancestor","itemDraggingDisabled","getDragClass","getDragClassCancel","getDragClasses","dataObject","dataWithFieldConfig","getPanelTimeRange","titleInterpolated","alertStateStyles","PanelComponent","panelMenu","actionsElement","titleItemsElement","titleItem","PanelChrome","TitleItem","cx","AlertState","OK","Pending","Alerting","isReadyToRender","instanceState","legacyPanelId","loadingState","statusMessage","statusMessageOnClick","actions","noPadding","ErrorBoundaryAlert","dependencies","PluginContextProvider","PanelContextProvider","transparent","renderCounter","onChangeTimeRange","addItem","setItems","focus","renderItems","items2","Divider","Item","iconClassName","childItems","subMenu","href","shortcut","SceneGridLayout","createClass","possibleConstructorReturn","windowObject","cancelFrame","requestFrame","clearTimeoutFn","setTimeoutFn","cancelAnimationFrameFn","cancelAnimationFrame","mozCancelAnimationFrame","webkitCancelAnimationFrame","requestAnimationFrameFn","requestAnimationFrame","mozRequestAnimationFrame","webkitRequestAnimationFrame","sliceIterator","slicedToArray","animationFrameID","timeoutID","AutoSizer","_React$PureComponent","_temp","classCallCheck","defaultHeight","defaultWidth","_onResize","disableHeight","disableWidth","_parentNode","_height","offsetHeight","_width","_style","newHeight","newWidth","_setRef","autoSizer","_autoSizer","inherits","nonce","_detectElementResize","animationKeyframes","animationName","animationStartEvent","animationStyle","checkTriggers","resetTriggers","scrollListener","triggers","__resizeTriggers__","firstElementChild","lastElementChild","expandChild","scrollWidth","scrollHeight","__resizeLast__","__resizeRAF__","__resizeListeners__","animation","keyframeprefix","domPrefixes","startEvents","elm","addResizeListener","elementStyle","head","setAttribute","styleSheet","cssText","createTextNode","createStyles","expandTrigger","contractTrigger","__animationListener__","removeResizeListener","removeChild","createDetectElementResize","_props","outerStyle","overflow","childParams","bailoutOnChildren","PureComponent","useUniqueId","idRefLazy","useRef","uniqueId","LazyLoader","onLoad","setLoaded","isInView","setIsInView","useImperativeHandle","effect","addCallback","isIntersecting","wrapperEl","callbacks","unobserve","IntersectionObserver","rootMargin","_SceneGridLayout","sortChildrenByPosition","_skipOnLayoutChange","getSceneLayoutChild","nextSize","isItemSizeEqual","gridLayout","updatedItem","sceneChild","sortGridLayout","gridItem","childSize","indexOfUpdatedItem","newParent","findGridItemSceneParent","newChildren","moveChildTo","toggleRow","isCollapsed","rowChildren","rowY","yDiff","yMax","newSize","pushDownAmount","pushChildDown","rowChild","amount","startAt","currentParent","rootChildren","newRow","targetRow","toGridCell","isInteger","buildGridLayout","cells","cell","isLazy","validateChildrenSize","getClassName","isCollapsible","onCollapseToggle","getGridLayout","rowc","getSceneGridRowStyles","layoutDragClass","rowCollapsed","rowTitleButton","rowTitle","dragHandle","justifyContent","cursor","borderBottom","weak","h5","collapsedInfo","onToggle","canCollapse","canRemove","gridRow","toolbarControls","align","Input","SceneTimePicker","onZoom","zoomedTimeRange","factor","timespan","center","newTimespan","getZoomedTimeRange","onChangeFiscalYearStartMonth","month","onMoveBackward","getShiftedTimeRange","TimeRangeDirection","Backward","onMoveForward","Forward","hidePicker","isOnCanvas","timeRangeState","TimeRangePicker","onChangeTimeZone","TimeRangeDirection2","dir","upperLimit","oldTo","oldFrom","halfSpan","fromRaw","toRaw","DEFAULT_INTERVALS","SceneRefreshPicker","_intervalTimer","clearInterval","setupIntervalTimer","onIntervalChanged","setInterval","dataProvider","performRepeat","seriesIndex","layoutChild","getLayoutChild","_SceneControlsSpacer","SceneControlsSpacer","SceneFlexLayout","toggleDirection","direction","parentState","_g","_h","_j","wrap","applyItemStyles","alignContent","down","maxHeight","useLayoutStyle","SceneFlexItem","parentDirection","xSizing","ySizing","alignSelf","useLayoutItemStyle","rowGap","columnGap","templateColumns","autoRows","_k","gridTemplateColumns","gridTemplateRows","templateRows","gridAutoRows","justifyItems","gridColumn","VERTICAL_KEYS","HORIZONTAL_KEYS","propsForDirection","dim","column","Splitter","initialSize","primaryPaneStyles","secondaryPaneStyles","onDragFinished","kids","splitterRef","firstPaneRef","secondPaneRef","containerRef","containerSize","primarySizeRef","firstPaneMeasurements","savedPos","measurementProp","clientAxis","minDimProp","maxDimProp","throttleWait","throttledCallback","throttle","resizeObserver","box","useResizeObserver","isSameNode","curSize","newDims","measureElement","ariaValueNow","dragStart","onPointerDown","setPointerCapture","pointerId","onPointerMove","dims","newFlex","onPointerUp","releasePointerCapture","parseFloat","pressedKeys","keysLastHandledAt","handlePressedKeys","dx","sizeChange","firstPaneDims","initiateAnimationLoop","onKeyUp","onDoubleClick","handleHorizontal","tabIndex","flexShrink","userSelect","backgroundColor","main","transition","outline","flexBasis","savedBodyOverflow","savedWidth","savedHeight","savedFlex","Prim","Sec","SceneApp","Switch","Route","SceneReactObject","DebugDetails","keyName","valueAsNumber","isPlainObject","JSONFormatter","json","open","renderValue","DebugTreeNode","selectedObject","onSelect","isSelected","selected","radius","backgroundImage","gradients","brandVertical","SceneDebugger","setIsOpen","setSelectedObject","onClose","panes","pane1","paneHeading","CustomScrollbar","autoHeightMin","treeWrapper","pane2","borderRight","SceneAppPageView","containerPage","SceneAppPage","getParentPageIfTab","containerState","useLocation","locationSearchToObject","useAppQueryParams","getScene","isInitialized","initializedScene","initializeScene","pageNav","img","titleImg","titleIcon","preserveUrlKeys","hideFromBreadcrumbs","parentItem","getParentBreadcrumbs","getParentPage","tab","tabSuffix","pageActions","renderTitle","subTitle","SceneAppDrilldownViewRender","drilldown","getDrilldownPage","component","reactNode","_sceneCache","_drilldownCache","routeMatch","getPage","drilldowns","routes","routePath","isExact","fallbackPage","getFallbackPage","getFallbackRoute","VisibilityMode2","GraphGradientMode2","StackingMode2","VizOrientation2","BigValueColorMode2","BigValueGraphMode2","BigValueJustifyMode2","BigValueTextMode2","BarGaugeDisplayMode2","BarGaugeValueMode2","TableCellHeight2","Auto","None","Gradient","Color","Value","Area","Sm","StandardFieldConfigOverridesBuilder","_overrides","overrideColor","overrideDecimals","overrideDisplayName","overrideFilterable","overrideLinks","overrideMappings","overrideMax","overrideMin","overrideNoValue","overrideThresholds","overrideUnit","FieldConfigOverridesBuilder","matchFieldsWithName","matchFieldsWithNameByRegex","byRegexp","matchFieldsByType","fieldType","byType","matchFieldsByQuery","byFrameRefID","matchFieldsByValue","byValue","matchComparisonQuery","overrideCustomFieldConfig","_id","build","FieldConfigBuilder","defaultFieldConfig","_fieldConfig","_overridesBuilder","setDefaults","custom","setColor","setFieldConfigDefaults","setDecimals","decimals","setDisplayName","setFilterable","filterable","setLinks","setMappings","mappings","setMax","setMin","setNoValue","noValue","setThresholds","thresholds","setUnit","unit","setCustomFieldConfig","setOverrides","builder","PanelOptionsBuilder","defaultOptions","setOption","VizPanelBuilder","_fieldConfigBuilder","_panelOptionsBuilder","setTitle","setDescription","setDisplayMode","setHoverHeader","setMenu","setHeaderActions","setData","setTimeRange","setVariables","setBehaviors","behaviors","PanelBuilders","getBandwidthPanel","qr","rawQuery","resultFormat","alias","showLegend","calcs","getConnectionsPanel","getCPUPanel","getLoadAveragePanel","getMemoryPanel","getNetstatPanel","getReadWriteTimePanel","getWrapCountPanel","getServerScene","hostname","ServerPage","Server","measurement","getTpsPanel","tags","deliveryservice","getBandwidthByCGPanel","getDeliveryServiceScene","deliveryService","DeliveryServicePage","DeliveryService","getCacheGroupScene","cachegroup","CacheGroupPage","CacheGroup","Routes","Redirect","App","Provider","AppPlugin","setRootPage"],"sourceRoot":""} \ No newline at end of file diff --git a/infrastructure/cdn-in-a-box/optional/grafana/trafficcontrol-scenes/dist/plugin.json b/infrastructure/cdn-in-a-box/optional/grafana/trafficcontrol-scenes/dist/plugin.json new file mode 100644 index 0000000000..f94909991e --- /dev/null +++ b/infrastructure/cdn-in-a-box/optional/grafana/trafficcontrol-scenes/dist/plugin.json @@ -0,0 +1,50 @@ +{ + "$schema": "https://raw.githubusercontent.com/grafana/grafana/main/docs/sources/developers/plugins/plugin.schema.json", + "type": "app", + "name": "TrafficControl Grafana Scenes", + "id": "trafficcontrol-scenes-app", + "info": { + "keywords": ["trafficcontrol", "app"], + "description": "Visualize Traffic Stats", + "author": { + "name": "ntheanh201" + }, + "logos": { + "small": "img/logo.png", + "large": "img/logo.png" + }, + "screenshots": [], + "version": "1.0.0", + "updated": "2024-01-18" + }, + "includes": [ + { + "type": "page", + "name": "Cache Group", + "path": "/a/trafficcontrol-scenes-app/cache-group", + "role": "Admin", + "addToNav": true, + "defaultNav": false + }, + { + "type": "page", + "name": "Delivery Service", + "path": "/a/trafficcontrol-scenes-app/delivery-service", + "role": "Admin", + "addToNav": true, + "defaultNav": false + }, + { + "type": "page", + "name": "Server", + "path": "/a/trafficcontrol-scenes-app/server", + "role": "Admin", + "addToNav": true, + "defaultNav": false + } + ], + "dependencies": { + "grafanaDependency": ">=10.0.3", + "plugins": [] + } +} diff --git a/infrastructure/cdn-in-a-box/optional/grafana/trafficcontrol-scenes/jest-setup.js b/infrastructure/cdn-in-a-box/optional/grafana/trafficcontrol-scenes/jest-setup.js new file mode 100644 index 0000000000..35a700b732 --- /dev/null +++ b/infrastructure/cdn-in-a-box/optional/grafana/trafficcontrol-scenes/jest-setup.js @@ -0,0 +1,2 @@ +// Jest setup provided by Grafana scaffolding +import './.config/jest-setup'; diff --git a/infrastructure/cdn-in-a-box/optional/grafana/trafficcontrol-scenes/jest.config.js b/infrastructure/cdn-in-a-box/optional/grafana/trafficcontrol-scenes/jest.config.js new file mode 100644 index 0000000000..79fd52a1b4 --- /dev/null +++ b/infrastructure/cdn-in-a-box/optional/grafana/trafficcontrol-scenes/jest.config.js @@ -0,0 +1,8 @@ +// force timezone to UTC to allow tests to work regardless of local timezone +// generally used by snapshots, but can affect specific tests +process.env.TZ = 'UTC'; + +module.exports = { + // Jest configuration provided by Grafana scaffolding + ...require('./.config/jest.config'), +}; diff --git a/infrastructure/cdn-in-a-box/optional/grafana/trafficcontrol-scenes/package.json b/infrastructure/cdn-in-a-box/optional/grafana/trafficcontrol-scenes/package.json new file mode 100644 index 0000000000..5fa23361a0 --- /dev/null +++ b/infrastructure/cdn-in-a-box/optional/grafana/trafficcontrol-scenes/package.json @@ -0,0 +1,76 @@ +{ + "name": "trafficcontrol-scenes", + "version": "1.0.0", + "description": "Traffic Control Grafana Scenes", + "scripts": { + "build": "webpack -c ./.config/webpack/webpack.config.ts --env production", + "dev": "webpack -w -c ./.config/webpack/webpack.config.ts --env development", + "test": "jest --watch --onlyChanged", + "test:ci": "jest --passWithNoTests --maxWorkers 4", + "typecheck": "tsc --noEmit", + "lint": "eslint --cache --ignore-path ./.gitignore --ext .js,.jsx,.ts,.tsx .", + "lint:fix": "npm run lint -- --fix", + "e2e": "npm exec cypress install && npm exec grafana-e2e run", + "e2e:update": "npm exec cypress install && npm exec grafana-e2e run --update-screenshots", + "server": "docker-compose up --build", + "sign": "npx --yes @grafana/sign-plugin@latest" + }, + "author": "ntheanh201", + "license": "Apache-2.0", + "devDependencies": { + "@babel/core": "^7.21.4", + "@grafana/e2e": "10.0.3", + "@grafana/e2e-selectors": "10.0.3", + "@grafana/eslint-config": "^6.0.0", + "@grafana/tsconfig": "^1.2.0-rc1", + "@swc/core": "^1.3.90", + "@swc/helpers": "^0.5.0", + "@swc/jest": "^0.2.26", + "@testing-library/jest-dom": "6.1.4", + "@testing-library/react": "14.0.0", + "@types/jest": "^29.5.0", + "@types/lodash": "^4.14.194", + "@types/node": "^20.8.7", + "@types/react-router-dom": "^5.3.3", + "@types/testing-library__jest-dom": "5.14.8", + "copy-webpack-plugin": "^11.0.0", + "css-loader": "^6.7.3", + "eslint-plugin-deprecation": "^2.0.0", + "eslint-webpack-plugin": "^4.0.1", + "fork-ts-checker-webpack-plugin": "^8.0.0", + "glob": "^10.2.7", + "identity-obj-proxy": "3.0.0", + "jest": "^29.5.0", + "jest-environment-jsdom": "^29.5.0", + "prettier": "^2.8.7", + "replace-in-file-webpack-plugin": "^1.0.6", + "sass": "1.63.2", + "sass-loader": "13.3.1", + "style-loader": "3.3.3", + "swc-loader": "^0.2.3", + "ts-node": "^10.9.1", + "tsconfig-paths": "^4.2.0", + "typescript": "4.8.4", + "webpack": "^5.86.0", + "webpack-cli": "^5.1.4", + "webpack-livereload-plugin": "^3.0.2" + }, + "engines": { + "node": ">=20" + }, + "dependencies": { + "@emotion/css": "11.10.6", + "@grafana/data": "10.0.3", + "@grafana/runtime": "10.0.3", + "@grafana/scenes": "^1.28.0", + "@grafana/schema": "10.0.3", + "@grafana/ui": "10.0.3", + "globby": "^14.0.0", + "react": "18.2.0", + "react-dom": "18.2.0", + "react-router-dom": "5.3.3", + "rxjs": "7.8.0", + "tslib": "2.5.3" + }, + "packageManager": "npm@10.2.3" +} diff --git a/infrastructure/cdn-in-a-box/optional/grafana/trafficcontrol-scenes/src/README.md b/infrastructure/cdn-in-a-box/optional/grafana/trafficcontrol-scenes/src/README.md new file mode 100644 index 0000000000..c80f2aa08a --- /dev/null +++ b/infrastructure/cdn-in-a-box/optional/grafana/trafficcontrol-scenes/src/README.md @@ -0,0 +1,51 @@ + + +# Grafana Scenes Playground + +Playground + + diff --git a/infrastructure/cdn-in-a-box/optional/grafana/trafficcontrol-scenes/src/components/App/App.tsx b/infrastructure/cdn-in-a-box/optional/grafana/trafficcontrol-scenes/src/components/App/App.tsx new file mode 100644 index 0000000000..f79f7335ac --- /dev/null +++ b/infrastructure/cdn-in-a-box/optional/grafana/trafficcontrol-scenes/src/components/App/App.tsx @@ -0,0 +1,14 @@ +import React from 'react'; +import { AppRootProps } from '@grafana/data'; +import { PluginPropsContext } from '../../utils/utils.plugin'; +import { Routes } from '../Routes'; + +export class App extends React.PureComponent { + render() { + return ( + + + + ); + } +} diff --git a/infrastructure/cdn-in-a-box/optional/grafana/trafficcontrol-scenes/src/components/App/index.tsx b/infrastructure/cdn-in-a-box/optional/grafana/trafficcontrol-scenes/src/components/App/index.tsx new file mode 100644 index 0000000000..ac7ba3b3a2 --- /dev/null +++ b/infrastructure/cdn-in-a-box/optional/grafana/trafficcontrol-scenes/src/components/App/index.tsx @@ -0,0 +1 @@ +export * from './App'; diff --git a/infrastructure/cdn-in-a-box/optional/grafana/trafficcontrol-scenes/src/components/Routes/Routes.tsx b/infrastructure/cdn-in-a-box/optional/grafana/trafficcontrol-scenes/src/components/Routes/Routes.tsx new file mode 100644 index 0000000000..1da49d6a23 --- /dev/null +++ b/infrastructure/cdn-in-a-box/optional/grafana/trafficcontrol-scenes/src/components/Routes/Routes.tsx @@ -0,0 +1,18 @@ +import React from 'react'; +import { Redirect, Route, Switch } from 'react-router-dom'; +import { prefixRoute } from '../../utils/utils.routing'; +import { ROUTES } from '../../constants'; +import { ServerPage } from '../../pages/Server'; +import { DeliveryServicePage } from '../../pages/DeliveryService'; +import { CacheGroupPage } from '../../pages/CacheGroup'; + +export const Routes = () => { + return ( + + + + + + + ); +}; diff --git a/infrastructure/cdn-in-a-box/optional/grafana/trafficcontrol-scenes/src/components/Routes/index.tsx b/infrastructure/cdn-in-a-box/optional/grafana/trafficcontrol-scenes/src/components/Routes/index.tsx new file mode 100644 index 0000000000..2f80a5cca0 --- /dev/null +++ b/infrastructure/cdn-in-a-box/optional/grafana/trafficcontrol-scenes/src/components/Routes/index.tsx @@ -0,0 +1 @@ +export * from './Routes'; diff --git a/infrastructure/cdn-in-a-box/optional/grafana/trafficcontrol-scenes/src/components/testIds.ts b/infrastructure/cdn-in-a-box/optional/grafana/trafficcontrol-scenes/src/components/testIds.ts new file mode 100644 index 0000000000..c17eb22483 --- /dev/null +++ b/infrastructure/cdn-in-a-box/optional/grafana/trafficcontrol-scenes/src/components/testIds.ts @@ -0,0 +1,22 @@ +export const testIds = { + appConfig: { + container: 'data-testid ac-container', + apiKey: 'data-testid ac-api-key', + apiUrl: 'data-testid ac-api-url', + submit: 'data-testid ac-submit-form', + }, + pageOne: { + container: 'data-testid pg-one-container', + navigateToFour: 'data-testid navigate-to-four', + }, + pageTwo: { + container: 'data-testid pg-two-container', + }, + pageThree: { + container: 'data-testid pg-three-container', + }, + pageFour: { + container: 'data-testid pg-four-container', + navigateBack: 'data-testid navigate-back', + }, +}; diff --git a/infrastructure/cdn-in-a-box/optional/grafana/trafficcontrol-scenes/src/constants.ts b/infrastructure/cdn-in-a-box/optional/grafana/trafficcontrol-scenes/src/constants.ts new file mode 100644 index 0000000000..8c5d710d20 --- /dev/null +++ b/infrastructure/cdn-in-a-box/optional/grafana/trafficcontrol-scenes/src/constants.ts @@ -0,0 +1,33 @@ +import pluginJson from './plugin.json'; + +export const PLUGIN_BASE_URL = `/a/${pluginJson.id}`; + +export enum ROUTES { + CacheGroup = 'cache-group', + DeliveryService = 'delivery-service', + Server = 'server', +} + +export const PROMETHEUS_DATASOURCE_REF = { + uid: 'prometheus', + type: 'prometheus', +}; + +export const INFLUXDB_DATASOURCES_REF = { + CACHE_STATS: { + uid: 'cache_stats', + type: 'influxdb', + }, + DELIVERYSERVICE_STATS: { + uid: 'deliveryservice_stats', + type: 'influxdb', + }, + DAILY_STATS: { + uid: 'daily_stats', + type: 'influxdb', + }, + TELEGRAF: { + uid: 'telegraf', + type: 'influxdb', + }, +}; diff --git a/infrastructure/cdn-in-a-box/optional/grafana/trafficcontrol-scenes/src/img/logo.png b/infrastructure/cdn-in-a-box/optional/grafana/trafficcontrol-scenes/src/img/logo.png new file mode 100644 index 0000000000000000000000000000000000000000..749fd7f8d4c41b63626872e2f87c8a2433973374 GIT binary patch literal 106800 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%0DO0AM#nH4S`7`S9w6Ee06H!zo%!a2ll#oLjwTk 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.setRootPage(App); diff --git a/infrastructure/cdn-in-a-box/optional/grafana/trafficcontrol-scenes/src/pages/CacheGroup/CacheGroup.tsx b/infrastructure/cdn-in-a-box/optional/grafana/trafficcontrol-scenes/src/pages/CacheGroup/CacheGroup.tsx new file mode 100644 index 0000000000..a8de269ba6 --- /dev/null +++ b/infrastructure/cdn-in-a-box/optional/grafana/trafficcontrol-scenes/src/pages/CacheGroup/CacheGroup.tsx @@ -0,0 +1,23 @@ +import React, { useMemo } from 'react'; +import { SceneApp, SceneAppPage } from '@grafana/scenes'; +import { ROUTES } from '../../constants'; +import { prefixRoute } from '../../utils/utils.routing'; +import { getCacheGroupScene } from './scene'; + +const getScene = () => + new SceneApp({ + pages: [ + new SceneAppPage({ + title: 'Cache Groups', + url: prefixRoute(`${ROUTES.CacheGroup}`), + hideFromBreadcrumbs: true, + getScene: getCacheGroupScene, + }), + ], + }); + +export const CacheGroupPage = () => { + const scene = useMemo(() => getScene(), []); + + return ; +}; diff --git a/infrastructure/cdn-in-a-box/optional/grafana/trafficcontrol-scenes/src/pages/CacheGroup/CacheGroupCustomObject.tsx b/infrastructure/cdn-in-a-box/optional/grafana/trafficcontrol-scenes/src/pages/CacheGroup/CacheGroupCustomObject.tsx new file mode 100644 index 0000000000..6a9ed19fef --- /dev/null +++ b/infrastructure/cdn-in-a-box/optional/grafana/trafficcontrol-scenes/src/pages/CacheGroup/CacheGroupCustomObject.tsx @@ -0,0 +1,34 @@ +import React from 'react'; + +import { SceneComponentProps, SceneObjectBase, SceneObjectState } from '@grafana/scenes'; +import { InlineField, Input } from '@grafana/ui'; + +interface CacheGroupState extends SceneObjectState { + name: string; +} + +function CacheGroupInputRenderer({ model }: SceneComponentProps) { + const { name } = model.useState(); + + return ( + + { + model.onValueChange(evt.currentTarget.value); + }} + /> + + ); +} + +export class CacheGroupCustomObject extends SceneObjectBase { + public static Component = CacheGroupInputRenderer; + + onValueChange = (value: string) => { + this.setState({ name: value }); + }; +} diff --git a/infrastructure/cdn-in-a-box/optional/grafana/trafficcontrol-scenes/src/pages/CacheGroup/index.tsx b/infrastructure/cdn-in-a-box/optional/grafana/trafficcontrol-scenes/src/pages/CacheGroup/index.tsx new file mode 100644 index 0000000000..76fa1e4a52 --- /dev/null +++ b/infrastructure/cdn-in-a-box/optional/grafana/trafficcontrol-scenes/src/pages/CacheGroup/index.tsx @@ -0,0 +1 @@ +export * from './CacheGroup'; diff --git a/infrastructure/cdn-in-a-box/optional/grafana/trafficcontrol-scenes/src/pages/CacheGroup/panels/bandwidth.tsx b/infrastructure/cdn-in-a-box/optional/grafana/trafficcontrol-scenes/src/pages/CacheGroup/panels/bandwidth.tsx new file mode 100644 index 0000000000..ad29fc9bce --- /dev/null +++ b/infrastructure/cdn-in-a-box/optional/grafana/trafficcontrol-scenes/src/pages/CacheGroup/panels/bandwidth.tsx @@ -0,0 +1,26 @@ +import { SceneQueryRunner, PanelBuilders } from '@grafana/scenes'; +import { INFLUXDB_DATASOURCES_REF } from '../../../constants'; + +export const getBandwidthPanel = () => { + const cacheGroupBandwidthQuery = { + refId: 'A', + query: + 'SELECT sum(value) FROM "monthly"."bandwidth.1min" WHERE "cachegroup" = \'$cachegroup\' AND $timeFilter GROUP BY time(60s), cachegroup', + rawQuery: true, + resultFormat: 'time_series', + alias: '$tag_cachegroup', + }; + + const qr = new SceneQueryRunner({ + datasource: INFLUXDB_DATASOURCES_REF.CACHE_STATS, + queries: [cacheGroupBandwidthQuery], + }); + + return PanelBuilders.timeseries() + .setTitle('Total bandwidth (stacked)') + .setData(qr) + .setCustomFieldConfig('fillOpacity', 20) + .setOption('legend', { showLegend: true, calcs: ['max'] }) + .setUnit('Kbits') + .build(); +}; diff --git a/infrastructure/cdn-in-a-box/optional/grafana/trafficcontrol-scenes/src/pages/CacheGroup/panels/connections.tsx b/infrastructure/cdn-in-a-box/optional/grafana/trafficcontrol-scenes/src/pages/CacheGroup/panels/connections.tsx new file mode 100644 index 0000000000..45cc431bb3 --- /dev/null +++ b/infrastructure/cdn-in-a-box/optional/grafana/trafficcontrol-scenes/src/pages/CacheGroup/panels/connections.tsx @@ -0,0 +1,25 @@ +import { SceneQueryRunner, PanelBuilders } from '@grafana/scenes'; +import { INFLUXDB_DATASOURCES_REF } from '../../../constants'; + +export const getConnectionsPanel = () => { + const connectionQuery = { + refId: 'A', + query: + 'SELECT mean("value") FROM "monthly"."connections.1min" WHERE ("cachegroup" = \'$cachegroup\') AND $timeFilter GROUP BY time($interval), "hostname" fill(null)', + rawQuery: true, + resultFormat: 'time_series', + }; + + const qr = new SceneQueryRunner({ + datasource: INFLUXDB_DATASOURCES_REF.CACHE_STATS, + queries: [connectionQuery], + }); + + return PanelBuilders.timeseries() + .setTitle('Connections (stacked)') + .setCustomFieldConfig('fillOpacity', 20) + .setData(qr) + .setOption('legend', { showLegend: true, calcs: ['max'] }) + .setCustomFieldConfig('spanNulls', true) + .build(); +}; diff --git a/infrastructure/cdn-in-a-box/optional/grafana/trafficcontrol-scenes/src/pages/CacheGroup/scene.tsx b/infrastructure/cdn-in-a-box/optional/grafana/trafficcontrol-scenes/src/pages/CacheGroup/scene.tsx new file mode 100644 index 0000000000..09ebc6d428 --- /dev/null +++ b/infrastructure/cdn-in-a-box/optional/grafana/trafficcontrol-scenes/src/pages/CacheGroup/scene.tsx @@ -0,0 +1,57 @@ +import { + SceneTimeRange, + EmbeddedScene, + SceneFlexLayout, + SceneFlexItem, + SceneControlsSpacer, + SceneRefreshPicker, + SceneTimePicker, + QueryVariable, + SceneVariableSet, + VariableValueSelectors, +} from '@grafana/scenes'; +import { getBandwidthPanel } from './panels/bandwidth'; +import { getConnectionsPanel } from './panels/connections'; +import { INFLUXDB_DATASOURCES_REF } from '../../constants'; + +export function getCacheGroupScene() { + const timeRange = new SceneTimeRange({ + from: 'now-6h', + to: 'now', + }); + + const cachegroup = new QueryVariable({ + name: 'cachegroup', + datasource: INFLUXDB_DATASOURCES_REF.CACHE_STATS, + query: 'SHOW TAG VALUES ON "cache_stats" FROM "monthly"."bandwidth" with key = "cachegroup"', + }); + + return new EmbeddedScene({ + $timeRange: timeRange, + $variables: new SceneVariableSet({ + variables: [cachegroup], + }), + body: new SceneFlexLayout({ + direction: 'column', + children: [ + new SceneFlexItem({ + minHeight: 300, + body: getBandwidthPanel(), + }), + new SceneFlexItem({ + minHeight: 300, + body: getConnectionsPanel(), + }), + ], + }), + controls: [ + new VariableValueSelectors({}), + new SceneControlsSpacer(), + new SceneTimePicker({ isOnCanvas: true }), + new SceneRefreshPicker({ + intervals: ['5s', '1m', '1h'], + isOnCanvas: true, + }), + ], + }); +} diff --git a/infrastructure/cdn-in-a-box/optional/grafana/trafficcontrol-scenes/src/pages/DeliveryService/DSCustomObject.tsx b/infrastructure/cdn-in-a-box/optional/grafana/trafficcontrol-scenes/src/pages/DeliveryService/DSCustomObject.tsx new file mode 100644 index 0000000000..3f9bc0a9ed --- /dev/null +++ b/infrastructure/cdn-in-a-box/optional/grafana/trafficcontrol-scenes/src/pages/DeliveryService/DSCustomObject.tsx @@ -0,0 +1,34 @@ +import React from 'react'; + +import { SceneComponentProps, SceneObjectBase, SceneObjectState } from '@grafana/scenes'; +import { InlineField, Input } from '@grafana/ui'; + +interface DeliveryServiceState extends SceneObjectState { + name: string; +} + +function Renderer({ model }: SceneComponentProps) { + const { name } = model.useState(); + + return ( + + { + model.onValueChange(evt.currentTarget.value); + }} + /> + + ); +} + +export class DeliveryServiceCustomObject extends SceneObjectBase { + public static Component = Renderer; + + onValueChange = (value: string) => { + this.setState({ name: value }); + }; +} diff --git a/infrastructure/cdn-in-a-box/optional/grafana/trafficcontrol-scenes/src/pages/DeliveryService/DeliveryService.tsx b/infrastructure/cdn-in-a-box/optional/grafana/trafficcontrol-scenes/src/pages/DeliveryService/DeliveryService.tsx new file mode 100644 index 0000000000..1ced715a3e --- /dev/null +++ b/infrastructure/cdn-in-a-box/optional/grafana/trafficcontrol-scenes/src/pages/DeliveryService/DeliveryService.tsx @@ -0,0 +1,23 @@ +import React, { useMemo } from 'react'; +import { SceneApp, SceneAppPage } from '@grafana/scenes'; +import { ROUTES } from '../../constants'; +import { prefixRoute } from '../../utils/utils.routing'; +import { getDeliveryServiceScene } from './scene'; + +const getScene = () => + new SceneApp({ + pages: [ + new SceneAppPage({ + title: 'Delivery Services', + url: prefixRoute(`${ROUTES.DeliveryService}`), + hideFromBreadcrumbs: true, + getScene: getDeliveryServiceScene, + }), + ], + }); + +export const DeliveryServicePage = () => { + const scene = useMemo(() => getScene(), []); + + return ; +}; diff --git a/infrastructure/cdn-in-a-box/optional/grafana/trafficcontrol-scenes/src/pages/DeliveryService/index.tsx b/infrastructure/cdn-in-a-box/optional/grafana/trafficcontrol-scenes/src/pages/DeliveryService/index.tsx new file mode 100644 index 0000000000..fb4fa6ff29 --- /dev/null +++ b/infrastructure/cdn-in-a-box/optional/grafana/trafficcontrol-scenes/src/pages/DeliveryService/index.tsx @@ -0,0 +1 @@ +export * from './DeliveryService'; diff --git a/infrastructure/cdn-in-a-box/optional/grafana/trafficcontrol-scenes/src/pages/DeliveryService/panels/bandwidth-cg.tsx b/infrastructure/cdn-in-a-box/optional/grafana/trafficcontrol-scenes/src/pages/DeliveryService/panels/bandwidth-cg.tsx new file mode 100644 index 0000000000..db9199a21b --- /dev/null +++ b/infrastructure/cdn-in-a-box/optional/grafana/trafficcontrol-scenes/src/pages/DeliveryService/panels/bandwidth-cg.tsx @@ -0,0 +1,26 @@ +import { SceneQueryRunner, PanelBuilders } from '@grafana/scenes'; +import { INFLUXDB_DATASOURCES_REF } from '../../../constants'; + +export const getBandwidthByCGPanel = () => { + const bandwidthByCacheGroupQuery = { + refId: 'A', + query: `SELECT mean(value) FROM "monthly"."kbps.cg.1min" WHERE deliveryservice='$deliveryservice' AND cachegroup != 'all' and $timeFilter GROUP BY time(60s), cachegroup`, + rawQuery: true, + resultFormat: 'time_series', + alias: '$tag_cachegroup', + }; + + const qr = new SceneQueryRunner({ + datasource: INFLUXDB_DATASOURCES_REF.DELIVERYSERVICE_STATS, + queries: [bandwidthByCacheGroupQuery], + }); + + return PanelBuilders.timeseries() + .setTitle('Bandwidth by CacheGroup') + .setData(qr) + .setOption('legend', { showLegend: true, calcs: ['max'] }) + .setCustomFieldConfig('axisCenteredZero', true) + .setCustomFieldConfig('spanNulls', true) + .setUnit('bps') + .build(); +}; diff --git a/infrastructure/cdn-in-a-box/optional/grafana/trafficcontrol-scenes/src/pages/DeliveryService/panels/bandwidth.tsx b/infrastructure/cdn-in-a-box/optional/grafana/trafficcontrol-scenes/src/pages/DeliveryService/panels/bandwidth.tsx new file mode 100644 index 0000000000..8462f0880c --- /dev/null +++ b/infrastructure/cdn-in-a-box/optional/grafana/trafficcontrol-scenes/src/pages/DeliveryService/panels/bandwidth.tsx @@ -0,0 +1,26 @@ +import { SceneQueryRunner, PanelBuilders } from '@grafana/scenes'; +import { INFLUXDB_DATASOURCES_REF } from '../../../constants'; + +export const getBandwidthPanel = () => { + const defaultBandwidthQuery = { + refId: 'A', + query: `SELECT mean(value) FROM "monthly"."kbps.ds.1min" WHERE deliveryservice='$deliveryservice' AND cachegroup = 'total' and $timeFilter GROUP BY time(60s), deliveryservice ORDER BY asc`, + rawQuery: true, + resultFormat: 'time_series', + alias: '$tag_deliveryservice', + measurement: 'bw', + }; + + const qr = new SceneQueryRunner({ + datasource: INFLUXDB_DATASOURCES_REF.DELIVERYSERVICE_STATS, + queries: [defaultBandwidthQuery], + }); + + return PanelBuilders.timeseries() + .setTitle('Bandwidth') + .setData(qr) + .setOption('legend', { showLegend: true, calcs: ['max'] }) + .setCustomFieldConfig('axisCenteredZero', true) + .setUnit('bps') + .build(); +}; diff --git a/infrastructure/cdn-in-a-box/optional/grafana/trafficcontrol-scenes/src/pages/DeliveryService/panels/tps.tsx b/infrastructure/cdn-in-a-box/optional/grafana/trafficcontrol-scenes/src/pages/DeliveryService/panels/tps.tsx new file mode 100644 index 0000000000..3147a01eb6 --- /dev/null +++ b/infrastructure/cdn-in-a-box/optional/grafana/trafficcontrol-scenes/src/pages/DeliveryService/panels/tps.tsx @@ -0,0 +1,49 @@ +import { SceneQueryRunner, PanelBuilders } from '@grafana/scenes'; +import { INFLUXDB_DATASOURCES_REF } from '../../../constants'; + +export const getTpsPanel = () => { + const tpsQueries = [ + { + refId: 'A', + query: `SELECT mean(value) FROM "monthly"."tps_2xx.ds.1min" WHERE $timeFilter AND deliveryservice='$deliveryservice' GROUP BY time(60s) ORDER BY asc`, + rawQuery: true, + resultFormat: 'time_series', + measurement: 'tps_2xx', + hide: false, + tags: { + deliveryservice: `$deliveryservice`, + }, + }, + { + refId: 'B', + query: `SELECT mean(value) FROM \"monthly\".\"tps_3xx.ds.1min\" WHERE $timeFilter AND deliveryservice='$deliveryservice' GROUP BY time(60s) ORDER BY asc`, + rawQuery: true, + resultFormat: 'time_series', + }, + { + refId: 'C', + query: `SELECT mean(value) FROM \"monthly\".\"tps_4xx.ds.1min\" WHERE $timeFilter AND deliveryservice='$deliveryservice' GROUP BY time(60s) ORDER BY asc`, + rawQuery: true, + resultFormat: 'time_series', + }, + { + refId: 'D', + query: `SELECT mean(value) FROM \"monthly\".\"tps_5xx.ds.1min\" WHERE $timeFilter AND deliveryservice='$deliveryservice' GROUP BY time(60s) ORDER BY asc`, + rawQuery: true, + resultFormat: 'time_series', + }, + ]; + + const qr = new SceneQueryRunner({ + datasource: INFLUXDB_DATASOURCES_REF.DELIVERYSERVICE_STATS, + queries: [...tpsQueries], + }); + + return PanelBuilders.timeseries() + .setTitle('TPS') + .setData(qr) + .setOption('legend', { showLegend: true, calcs: ['max'] }) + .setCustomFieldConfig('axisCenteredZero', true) + .setCustomFieldConfig('spanNulls', true) + .build(); +}; diff --git a/infrastructure/cdn-in-a-box/optional/grafana/trafficcontrol-scenes/src/pages/DeliveryService/scene.tsx b/infrastructure/cdn-in-a-box/optional/grafana/trafficcontrol-scenes/src/pages/DeliveryService/scene.tsx new file mode 100644 index 0000000000..e79c9dd2bd --- /dev/null +++ b/infrastructure/cdn-in-a-box/optional/grafana/trafficcontrol-scenes/src/pages/DeliveryService/scene.tsx @@ -0,0 +1,62 @@ +import { + SceneTimeRange, + EmbeddedScene, + SceneFlexLayout, + SceneFlexItem, + SceneControlsSpacer, + SceneRefreshPicker, + SceneTimePicker, + QueryVariable, + SceneVariableSet, + VariableValueSelectors, +} from '@grafana/scenes'; +import { getBandwidthPanel } from './panels/bandwidth'; +import { getTpsPanel } from './panels/tps'; +import { getBandwidthByCGPanel } from './panels/bandwidth-cg'; +import { INFLUXDB_DATASOURCES_REF } from '../../constants'; + +export function getDeliveryServiceScene() { + const timeRange = new SceneTimeRange({ + from: 'now-6h', + to: 'now', + }); + + const deliveryService = new QueryVariable({ + name: 'deliveryservice', + datasource: INFLUXDB_DATASOURCES_REF.DELIVERYSERVICE_STATS, + query: 'SHOW TAG VALUES ON "deliveryservice_stats" FROM "monthly"."kbps" with key = "deliveryservice"', + }); + + return new EmbeddedScene({ + $timeRange: timeRange, + $variables: new SceneVariableSet({ + variables: [deliveryService], + }), + body: new SceneFlexLayout({ + direction: 'column', + children: [ + new SceneFlexItem({ + minHeight: 300, + body: getBandwidthPanel(), + }), + new SceneFlexItem({ + minHeight: 300, + body: getTpsPanel(), + }), + new SceneFlexItem({ + minHeight: 300, + body: getBandwidthByCGPanel(), + }), + ], + }), + controls: [ + new VariableValueSelectors({}), + new SceneControlsSpacer(), + new SceneTimePicker({ isOnCanvas: true }), + new SceneRefreshPicker({ + intervals: ['5s', '1m', '1h'], + isOnCanvas: true, + }), + ], + }); +} diff --git a/infrastructure/cdn-in-a-box/optional/grafana/trafficcontrol-scenes/src/pages/Server/Server.tsx b/infrastructure/cdn-in-a-box/optional/grafana/trafficcontrol-scenes/src/pages/Server/Server.tsx new file mode 100644 index 0000000000..bae807fd14 --- /dev/null +++ b/infrastructure/cdn-in-a-box/optional/grafana/trafficcontrol-scenes/src/pages/Server/Server.tsx @@ -0,0 +1,23 @@ +import React, { useMemo } from 'react'; +import { SceneApp, SceneAppPage } from '@grafana/scenes'; +import { ROUTES } from '../../constants'; +import { prefixRoute } from '../../utils/utils.routing'; +import { getServerScene } from './scene'; + +const getScene = () => + new SceneApp({ + pages: [ + new SceneAppPage({ + title: 'Server', + url: prefixRoute(`${ROUTES.Server}`), + hideFromBreadcrumbs: true, + getScene: getServerScene, + }), + ], + }); + +export const ServerPage = () => { + const scene = useMemo(() => getScene(), []); + + return ; +}; diff --git a/infrastructure/cdn-in-a-box/optional/grafana/trafficcontrol-scenes/src/pages/Server/ServerCustomObject.tsx b/infrastructure/cdn-in-a-box/optional/grafana/trafficcontrol-scenes/src/pages/Server/ServerCustomObject.tsx new file mode 100644 index 0000000000..34d69fcbab --- /dev/null +++ b/infrastructure/cdn-in-a-box/optional/grafana/trafficcontrol-scenes/src/pages/Server/ServerCustomObject.tsx @@ -0,0 +1,34 @@ +import React from 'react'; + +import { SceneComponentProps, SceneObjectBase, SceneObjectState } from '@grafana/scenes'; +import { InlineField, Input } from '@grafana/ui'; + +interface ServerState extends SceneObjectState { + name: string; +} + +function Renderer({ model }: SceneComponentProps) { + const { name } = model.useState(); + + return ( + + { + model.onValueChange(evt.currentTarget.value); + }} + /> + + ); +} + +export class ServerCustomObject extends SceneObjectBase { + public static Component = Renderer; + + onValueChange = (value: string) => { + this.setState({ name: value }); + }; +} diff --git a/infrastructure/cdn-in-a-box/optional/grafana/trafficcontrol-scenes/src/pages/Server/index.tsx b/infrastructure/cdn-in-a-box/optional/grafana/trafficcontrol-scenes/src/pages/Server/index.tsx new file mode 100644 index 0000000000..80a7488dc2 --- /dev/null +++ b/infrastructure/cdn-in-a-box/optional/grafana/trafficcontrol-scenes/src/pages/Server/index.tsx @@ -0,0 +1 @@ +export * from './Server'; diff --git a/infrastructure/cdn-in-a-box/optional/grafana/trafficcontrol-scenes/src/pages/Server/panels/bandwidth.tsx b/infrastructure/cdn-in-a-box/optional/grafana/trafficcontrol-scenes/src/pages/Server/panels/bandwidth.tsx new file mode 100644 index 0000000000..cc6d635c0d --- /dev/null +++ b/infrastructure/cdn-in-a-box/optional/grafana/trafficcontrol-scenes/src/pages/Server/panels/bandwidth.tsx @@ -0,0 +1,25 @@ +import { SceneQueryRunner, PanelBuilders } from '@grafana/scenes'; +import { INFLUXDB_DATASOURCES_REF } from '../../../constants'; + +export const getBandwidthPanel = () => { + const defaultBandwidthQuery = { + refId: 'A', + query: `SELECT mean(value) FROM "monthly"."bandwidth.1min" WHERE hostname='$hostname' AND $timeFilter GROUP BY time(60s)`, + rawQuery: true, + resultFormat: 'time_series', + alias: 'bandwidth', + }; + + const qr = new SceneQueryRunner({ + datasource: INFLUXDB_DATASOURCES_REF.CACHE_STATS, + queries: [defaultBandwidthQuery], + }); + + return PanelBuilders.timeseries() + .setTitle('Bandwidth') + .setData(qr) + .setCustomFieldConfig('fillOpacity', 20) + .setOption('legend', { showLegend: true, calcs: ['max'] }) + .setUnit('kbps') + .build(); +}; diff --git a/infrastructure/cdn-in-a-box/optional/grafana/trafficcontrol-scenes/src/pages/Server/panels/connections.tsx b/infrastructure/cdn-in-a-box/optional/grafana/trafficcontrol-scenes/src/pages/Server/panels/connections.tsx new file mode 100644 index 0000000000..e73f6895ae --- /dev/null +++ b/infrastructure/cdn-in-a-box/optional/grafana/trafficcontrol-scenes/src/pages/Server/panels/connections.tsx @@ -0,0 +1,27 @@ +import { SceneQueryRunner, PanelBuilders } from '@grafana/scenes'; +import { INFLUXDB_DATASOURCES_REF } from '../../../constants'; + +export const getConnectionsPanel = () => { + const defaultConnectionsQuery = [ + { + refId: 'A', + query: `SELECT mean(value) FROM "monthly"."connections.1min" WHERE hostname='$hostname' AND $timeFilter GROUP BY time(60s)`, + rawQuery: true, + resultFormat: 'time_series', + alias: 'connections', + }, + ]; + + const qr = new SceneQueryRunner({ + datasource: INFLUXDB_DATASOURCES_REF.CACHE_STATS, + queries: [...defaultConnectionsQuery], + }); + + return PanelBuilders.timeseries() + .setTitle('Connections') + .setData(qr) + .setCustomFieldConfig('fillOpacity', 20) + .setOption('legend', { showLegend: true, calcs: ['max'] }) + .setCustomFieldConfig('spanNulls', true) + .build(); +}; diff --git a/infrastructure/cdn-in-a-box/optional/grafana/trafficcontrol-scenes/src/pages/Server/panels/cpu.tsx b/infrastructure/cdn-in-a-box/optional/grafana/trafficcontrol-scenes/src/pages/Server/panels/cpu.tsx new file mode 100644 index 0000000000..c527642268 --- /dev/null +++ b/infrastructure/cdn-in-a-box/optional/grafana/trafficcontrol-scenes/src/pages/Server/panels/cpu.tsx @@ -0,0 +1,25 @@ +import { PanelBuilders, SceneQueryRunner } from '@grafana/scenes'; +import { INFLUXDB_DATASOURCES_REF } from '../../../constants'; + +export const getCPUPanel = () => { + const defaultQuery = { + refId: 'A', + query: `SELECT mean("usage_system") AS "cpu_system", mean("usage_iowait") AS "cpu_iowait", mean("usage_user") AS "cpu_user", mean("usage_guest") AS "cpu_guest", mean("usage_steal") AS "cpu_steal" FROM "cpu" WHERE host='$hostname' AND $timeFilter GROUP BY time($interval) fill(null)`, + rawQuery: true, + resultFormat: 'time_series', + alias: '$col', + }; + + const qr = new SceneQueryRunner({ + datasource: INFLUXDB_DATASOURCES_REF.TELEGRAF, + queries: [defaultQuery], + }); + + return PanelBuilders.timeseries() + .setTitle('CPU Usage') + .setData(qr) + .setUnit('%') + .setCustomFieldConfig('spanNulls', true) + .setCustomFieldConfig('fillOpacity', 20) + .build(); +}; diff --git a/infrastructure/cdn-in-a-box/optional/grafana/trafficcontrol-scenes/src/pages/Server/panels/index.tsx b/infrastructure/cdn-in-a-box/optional/grafana/trafficcontrol-scenes/src/pages/Server/panels/index.tsx new file mode 100644 index 0000000000..d26bd8b01b --- /dev/null +++ b/infrastructure/cdn-in-a-box/optional/grafana/trafficcontrol-scenes/src/pages/Server/panels/index.tsx @@ -0,0 +1,8 @@ +export * from './bandwidth'; +export * from './connections'; +export * from './cpu'; +export * from './load-average'; +export * from './memory'; +export * from './netstat'; +export * from './read-write-time'; +export * from './wrap-count'; diff --git a/infrastructure/cdn-in-a-box/optional/grafana/trafficcontrol-scenes/src/pages/Server/panels/load-average.tsx b/infrastructure/cdn-in-a-box/optional/grafana/trafficcontrol-scenes/src/pages/Server/panels/load-average.tsx new file mode 100644 index 0000000000..7c2518d566 --- /dev/null +++ b/infrastructure/cdn-in-a-box/optional/grafana/trafficcontrol-scenes/src/pages/Server/panels/load-average.tsx @@ -0,0 +1,24 @@ +import { PanelBuilders, SceneQueryRunner } from '@grafana/scenes'; +import { INFLUXDB_DATASOURCES_REF } from '../../../constants'; + +export const getLoadAveragePanel = () => { + const defaultQuery = { + refId: 'A', + query: `SELECT mean("load1") AS "load1", mean("load5") AS "load5", mean("load15") AS "load15" FROM "system" WHERE host='$hostname' AND $timeFilter GROUP BY time($interval) fill(null)`, + rawQuery: true, + resultFormat: 'time_series', + alias: '$col', + }; + + const qr = new SceneQueryRunner({ + datasource: INFLUXDB_DATASOURCES_REF.TELEGRAF, + queries: [defaultQuery], + }); + + return PanelBuilders.timeseries() + .setTitle('Load Average') + .setData(qr) + .setCustomFieldConfig('fillOpacity', 20) + .setCustomFieldConfig('spanNulls', true) + .build(); +}; diff --git a/infrastructure/cdn-in-a-box/optional/grafana/trafficcontrol-scenes/src/pages/Server/panels/memory.tsx b/infrastructure/cdn-in-a-box/optional/grafana/trafficcontrol-scenes/src/pages/Server/panels/memory.tsx new file mode 100644 index 0000000000..f6a67b4f00 --- /dev/null +++ b/infrastructure/cdn-in-a-box/optional/grafana/trafficcontrol-scenes/src/pages/Server/panels/memory.tsx @@ -0,0 +1,25 @@ +import { PanelBuilders, SceneQueryRunner } from '@grafana/scenes'; +import { INFLUXDB_DATASOURCES_REF } from '../../../constants'; + +export const getMemoryPanel = () => { + const defaultQuery = { + refId: 'A', + query: `SELECT mean("used_percent") AS "mem_used" FROM "mem" WHERE host='$hostname' AND $timeFilter GROUP BY time($interval) fill(null)`, + rawQuery: true, + resultFormat: 'time_series', + alias: '$col', + }; + + const qr = new SceneQueryRunner({ + datasource: INFLUXDB_DATASOURCES_REF.TELEGRAF, + queries: [defaultQuery], + }); + + return PanelBuilders.timeseries() + .setTitle('Memory Usage') + .setData(qr) + .setCustomFieldConfig('spanNulls', true) + .setCustomFieldConfig('fillOpacity', 20) + .setUnit('%') + .build(); +}; diff --git a/infrastructure/cdn-in-a-box/optional/grafana/trafficcontrol-scenes/src/pages/Server/panels/netstat.tsx b/infrastructure/cdn-in-a-box/optional/grafana/trafficcontrol-scenes/src/pages/Server/panels/netstat.tsx new file mode 100644 index 0000000000..e8c9ae5fd2 --- /dev/null +++ b/infrastructure/cdn-in-a-box/optional/grafana/trafficcontrol-scenes/src/pages/Server/panels/netstat.tsx @@ -0,0 +1,24 @@ +import { PanelBuilders, SceneQueryRunner } from '@grafana/scenes'; +import { INFLUXDB_DATASOURCES_REF } from '../../../constants'; + +export const getNetstatPanel = () => { + const defaultQuery = { + refId: 'A', + query: `SELECT mean("tcp_close") AS "tcp_close", mean("tcp_close_wait") AS "tcp_close_wait", mean("tcp_established") AS "tcp_established", mean("tcp_time_wait") AS "tcp_time_wait", mean("tcp_closing") AS "tcp_closing", mean("tcp_fin_wait1") AS "tcp_fin_wait1", mean("tcp_fin_wait2") AS "tcp_fin_wait2", mean("tcp_last_ack") AS "tcp_last_ack", mean("tcp_syn_recv") AS "tcp_syn_recv", mean("tcp_syn_sent") AS "tcp_syn_sent" FROM "netstat" WHERE host='$hostname' AND $timeFilter GROUP BY time($interval) fill(null)`, + rawQuery: true, + resultFormat: 'time_series', + alias: '$col', + }; + + const qr = new SceneQueryRunner({ + datasource: INFLUXDB_DATASOURCES_REF.TELEGRAF, + queries: [defaultQuery], + }); + + return PanelBuilders.timeseries() + .setTitle('Netstat') + .setData(qr) + .setCustomFieldConfig('spanNulls', true) + .setCustomFieldConfig('fillOpacity', 20) + .build(); +}; diff --git a/infrastructure/cdn-in-a-box/optional/grafana/trafficcontrol-scenes/src/pages/Server/panels/read-write-time.tsx b/infrastructure/cdn-in-a-box/optional/grafana/trafficcontrol-scenes/src/pages/Server/panels/read-write-time.tsx new file mode 100644 index 0000000000..3ccba10b0a --- /dev/null +++ b/infrastructure/cdn-in-a-box/optional/grafana/trafficcontrol-scenes/src/pages/Server/panels/read-write-time.tsx @@ -0,0 +1,34 @@ +import { PanelBuilders, SceneQueryRunner } from '@grafana/scenes'; +import { INFLUXDB_DATASOURCES_REF } from '../../../constants'; + +export const getReadWriteTimePanel = () => { + const defaultQueries = [ + { + refId: 'A', + query: `SELECT non_negative_derivative(sum("read_time"), 10s) AS "read_time" FROM "diskio" WHERE host='$hostname' AND $timeFilter GROUP BY time($interval) fill(null)`, + rawQuery: true, + resultFormat: 'time_series', + alias: '$col', + }, + { + refId: 'B', + query: `SELECT non_negative_derivative(sum("write_time"), 10s) AS "write_time" FROM "diskio" WHERE host='$hostname' AND $timeFilter GROUP BY time($interval) fill(null)`, + rawQuery: true, + resultFormat: 'time_series', + alias: '$col', + }, + ]; + + const qr = new SceneQueryRunner({ + datasource: INFLUXDB_DATASOURCES_REF.TELEGRAF, + queries: [...defaultQueries], + }); + + return PanelBuilders.timeseries() + .setTitle('Read/Write Time') + .setData(qr) + .setCustomFieldConfig('spanNulls', true) + .setCustomFieldConfig('fillOpacity', 20) + .setUnit('ns') + .build(); +}; diff --git a/infrastructure/cdn-in-a-box/optional/grafana/trafficcontrol-scenes/src/pages/Server/panels/wrap-count.tsx b/infrastructure/cdn-in-a-box/optional/grafana/trafficcontrol-scenes/src/pages/Server/panels/wrap-count.tsx new file mode 100644 index 0000000000..1b3b10b8e7 --- /dev/null +++ b/infrastructure/cdn-in-a-box/optional/grafana/trafficcontrol-scenes/src/pages/Server/panels/wrap-count.tsx @@ -0,0 +1,24 @@ +import { PanelBuilders, SceneQueryRunner } from '@grafana/scenes'; +import { INFLUXDB_DATASOURCES_REF } from '../../../constants'; + +export const getWrapCountPanel = () => { + const defaultQuery = { + refId: 'A', + query: `SELECT mean("vol1_wrap_count") AS "vol1", mean("vol2_wrap_count") AS "vol2" FROM "monthly"."wrap_count.1min" WHERE hostname='$hostname' AND $timeFilter GROUP BY time($interval) fill(null)`, + rawQuery: true, + resultFormat: 'time_series', + alias: '$col', + }; + + const qr = new SceneQueryRunner({ + datasource: INFLUXDB_DATASOURCES_REF.CACHE_STATS, + queries: [defaultQuery], + }); + + return PanelBuilders.timeseries() + .setTitle('Wrap Count') + .setData(qr) + .setCustomFieldConfig('spanNulls', true) + .setCustomFieldConfig('fillOpacity', 20) + .build(); +}; diff --git a/infrastructure/cdn-in-a-box/optional/grafana/trafficcontrol-scenes/src/pages/Server/scene.tsx b/infrastructure/cdn-in-a-box/optional/grafana/trafficcontrol-scenes/src/pages/Server/scene.tsx new file mode 100644 index 0000000000..6dc652eba2 --- /dev/null +++ b/infrastructure/cdn-in-a-box/optional/grafana/trafficcontrol-scenes/src/pages/Server/scene.tsx @@ -0,0 +1,107 @@ +import { + SceneTimeRange, + EmbeddedScene, + SceneFlexLayout, + SceneFlexItem, + SceneControlsSpacer, + SceneRefreshPicker, + SceneTimePicker, + QueryVariable, + SceneVariableSet, + VariableValueSelectors, +} from '@grafana/scenes'; +import { + getBandwidthPanel, + getConnectionsPanel, + getCPUPanel, + getMemoryPanel, + getLoadAveragePanel, + getReadWriteTimePanel, + getWrapCountPanel, + getNetstatPanel, +} from './panels'; +import { INFLUXDB_DATASOURCES_REF } from '../../constants'; + +export function getServerScene() { + const timeRange = new SceneTimeRange({ + from: 'now-6h', + to: 'now', + }); + + const hostname = new QueryVariable({ + name: 'hostname', + datasource: INFLUXDB_DATASOURCES_REF.CACHE_STATS, + query: 'SHOW TAG VALUES ON "cache_stats" FROM "monthly"."bandwidth" with key = "hostname"', + }); + + return new EmbeddedScene({ + $timeRange: timeRange, + $variables: new SceneVariableSet({ + variables: [hostname], + }), + body: new SceneFlexLayout({ + direction: 'column', + children: [ + new SceneFlexItem({ + height: 250, + body: getBandwidthPanel(), + }), + new SceneFlexItem({ + height: 250, + body: getConnectionsPanel(), + }), + new SceneFlexLayout({ + direction: 'row', + height: 250, + children: [ + new SceneFlexItem({ + width: '50%', + body: getCPUPanel(), + }), + new SceneFlexItem({ + width: '50%', + body: getMemoryPanel(), + }), + ], + }), + new SceneFlexLayout({ + direction: 'row', + height: 250, + children: [ + new SceneFlexItem({ + width: '50%', + body: getLoadAveragePanel(), + }), + new SceneFlexItem({ + width: '50%', + body: getReadWriteTimePanel(), + }), + ], + }), + new SceneFlexLayout({ + direction: 'row', + height: 250, + children: [ + new SceneFlexItem({ + width: '50%', + body: getWrapCountPanel(), + }), + new SceneFlexItem({ + width: '50%', + body: getNetstatPanel(), + }), + ], + }), + ], + }), + controls: [ + new VariableValueSelectors({}), + new SceneControlsSpacer(), + new SceneTimePicker({ isOnCanvas: true }), + new SceneRefreshPicker({ + intervals: ['5s', '1m', '1h'], + isOnCanvas: true, + }), + ], + }); +} diff --git a/infrastructure/cdn-in-a-box/optional/grafana/trafficcontrol-scenes/src/plugin.json b/infrastructure/cdn-in-a-box/optional/grafana/trafficcontrol-scenes/src/plugin.json new file mode 100644 index 0000000000..03c8567dec --- /dev/null +++ b/infrastructure/cdn-in-a-box/optional/grafana/trafficcontrol-scenes/src/plugin.json @@ -0,0 +1,50 @@ +{ + "$schema": "https://raw.githubusercontent.com/grafana/grafana/main/docs/sources/developers/plugins/plugin.schema.json", + "type": "app", + "name": "TrafficControl Grafana Scenes", + "id": "trafficcontrol-scenes-app", + "info": { + "keywords": ["trafficcontrol", "app"], + "description": "Visualize Traffic Stats", + "author": { + "name": "ntheanh201" + }, + "logos": { + "small": "img/logo.png", + "large": "img/logo.png" + }, + "screenshots": [], + "version": "%VERSION%", + "updated": "%TODAY%" + }, + "includes": [ + { + "type": "page", + "name": "Cache Group", + "path": "/a/%PLUGIN_ID%/cache-group", + "role": "Admin", + "addToNav": true, + "defaultNav": false + }, + { + "type": "page", + "name": "Delivery Service", + "path": "/a/%PLUGIN_ID%/delivery-service", + "role": "Admin", + "addToNav": true, + "defaultNav": false + }, + { + "type": "page", + "name": "Server", + "path": "/a/%PLUGIN_ID%/server", + "role": "Admin", + "addToNav": true, + "defaultNav": false + } + ], + "dependencies": { + "grafanaDependency": ">=10.0.3", + "plugins": [] + } +} diff --git a/infrastructure/cdn-in-a-box/optional/grafana/trafficcontrol-scenes/src/utils/utils.plugin.ts b/infrastructure/cdn-in-a-box/optional/grafana/trafficcontrol-scenes/src/utils/utils.plugin.ts new file mode 100644 index 0000000000..2687f4b7f3 --- /dev/null +++ b/infrastructure/cdn-in-a-box/optional/grafana/trafficcontrol-scenes/src/utils/utils.plugin.ts @@ -0,0 +1,17 @@ +import React, { useContext } from 'react'; +import { AppRootProps } from '@grafana/data'; + +// This is used to be able to retrieve the root plugin props anywhere inside the app. +export const PluginPropsContext = React.createContext(null); + +export const usePluginProps = () => { + const pluginProps = useContext(PluginPropsContext); + + return pluginProps; +}; + +export const usePluginMeta = () => { + const pluginProps = usePluginProps(); + + return pluginProps?.meta; +}; diff --git a/infrastructure/cdn-in-a-box/optional/grafana/trafficcontrol-scenes/src/utils/utils.routing.ts b/infrastructure/cdn-in-a-box/optional/grafana/trafficcontrol-scenes/src/utils/utils.routing.ts new file mode 100644 index 0000000000..b9e4c9926b --- /dev/null +++ b/infrastructure/cdn-in-a-box/optional/grafana/trafficcontrol-scenes/src/utils/utils.routing.ts @@ -0,0 +1,6 @@ +import { PLUGIN_BASE_URL } from '../constants'; + +// Prefixes the route with the base URL of the plugin +export function prefixRoute(route: string): string { + return `${PLUGIN_BASE_URL}/${route}`; +} diff --git a/infrastructure/cdn-in-a-box/optional/grafana/trafficcontrol-scenes/tsconfig.json b/infrastructure/cdn-in-a-box/optional/grafana/trafficcontrol-scenes/tsconfig.json new file mode 100644 index 0000000000..102e45b784 --- /dev/null +++ b/infrastructure/cdn-in-a-box/optional/grafana/trafficcontrol-scenes/tsconfig.json @@ -0,0 +1,3 @@ +{ + "extends": "./.config/tsconfig.json" +} diff --git a/traffic_stats/build/traffic_stats.spec b/traffic_stats/build/traffic_stats.spec index 2c7ab0197c..44a3bc136a 100644 --- a/traffic_stats/build/traffic_stats.spec +++ b/traffic_stats/build/traffic_stats.spec @@ -60,7 +60,6 @@ mkdir -p "${RPM_BUILD_ROOT}"/opt/traffic_stats/var/run mkdir -p "${RPM_BUILD_ROOT}"/opt/traffic_stats/var/log/traffic_stats mkdir -p "${RPM_BUILD_ROOT}"/etc/init.d mkdir -p "${RPM_BUILD_ROOT}"/etc/logrotate.d -mkdir -p "${RPM_BUILD_ROOT}"/usr/share/grafana/public/dashboards/ src=src/github.com/apache/trafficcontrol/traffic_stats cp -p "$src"/traffic_stats "${RPM_BUILD_ROOT}"/opt/traffic_stats/bin/traffic_stats @@ -68,7 +67,6 @@ cp "$src"/traffic_stats.cfg "${RPM_BUILD_ROOT}"/opt/traffic_stats/conf/tr cp "$src"/traffic_stats_seelog.xml "${RPM_BUILD_ROOT}"/opt/traffic_stats/conf/traffic_stats_seelog.xml cp "$src"/traffic_stats.init "${RPM_BUILD_ROOT}"/etc/init.d/traffic_stats cp "$src"/traffic_stats.logrotate "${RPM_BUILD_ROOT}"/etc/logrotate.d/traffic_stats -cp "$src"/grafana/*.js "${RPM_BUILD_ROOT}"/usr/share/grafana/public/dashboards/ cp "$src"/influxdb_tools/sync_ts_databases "${RPM_BUILD_ROOT}"/opt/traffic_stats/influxdb_tools/ cp "$src"/influxdb_tools/create_ts_databases "${RPM_BUILD_ROOT}"/opt/traffic_stats/influxdb_tools/ @@ -125,15 +123,10 @@ fi %dir /opt/traffic_stats/var/log %dir /opt/traffic_stats/var/run %dir /opt/traffic_stats/var/log/traffic_stats -%dir /usr/share/grafana/public/dashboards %dir /opt/traffic_stats/influxdb_tools %attr(755, traffic_stats, traffic_stats) /opt/traffic_stats/bin/traffic_stats %attr(755, traffic_stats, traffic_stats) /etc/init.d/traffic_stats -%attr(644, traffic_stats, traffic_stats) /usr/share/grafana/public/dashboards/traffic_ops_cachegroup.js -%attr(644, traffic_stats, traffic_stats) /usr/share/grafana/public/dashboards/traffic_ops_deliveryservice.js -%attr(644, traffic_stats, traffic_stats) /usr/share/grafana/public/dashboards/traffic_ops_scripted.js -%attr(644, traffic_stats, traffic_stats) /usr/share/grafana/public/dashboards/traffic_ops_server.js %attr(755, traffic_stats, traffic_stats) /opt/traffic_stats/influxdb_tools/create_ts_databases %attr(755, traffic_stats, traffic_stats) /opt/traffic_stats/influxdb_tools/sync_ts_databases diff --git a/traffic_stats/grafana/traffic_ops_cachegroup.js b/traffic_stats/grafana/traffic_ops_cachegroup.js deleted file mode 100644 index a714a585ce..0000000000 --- a/traffic_stats/grafana/traffic_ops_cachegroup.js +++ /dev/null @@ -1,254 +0,0 @@ -/* - - Licensed under the Apache License, Version 2.0 (the "License"); - you may not use this file except in compliance with the License. - You may obtain a copy of the License at - - http://www.apache.org/licenses/LICENSE-2.0 - - Unless required by applicable law or agreed to in writing, software - distributed under the License is distributed on an "AS IS" BASIS, - WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - See the License for the specific language governing permissions and - limitations under the License. -*/ - -/* global _ */ - -/* - * Scripted dashboard for traffic ops. - * - * Based on the grafana scripted.js script (which is ASF 2.0 licensed). - */ - - - -// accessible variables in this scope -var window, document, ARGS, $, jQuery, moment, kbn; - -// Setup some variables -var dashboard; - -// All url parameters are available via the ARGS object -var ARGS; - -// Intialize a skeleton with nothing but a rows array and service object -dashboard = { - rows : [], -}; - - -// Set default time -// time can be overriden in the url using from/to parameters, but this is -// handled automatically in grafana core during dashboard initialization -dashboard.time = { - from: "now-6h", - to: "now-60s" -}; - -var which = 'argName'; - -if(!_.isUndefined(ARGS.which)) { - which = ARGS.which; -} - - -// Set a title -dashboard.title = which; -//set refresh interval -dashboard.refresh = "30s"; - -{ - dashboard.rows.push( { - "height": "250px", - "panels": [ - { - "title": "total bandwidth (stacked)", - "error": false, - "span": 12, - "editable": true, - "type": "graph", - "id": 1, - "datasource": "cache_stats", - "renderer": "flot", - "x-axis": true, - "y-axis": true, - "y_formats": [ - "bps", - "short" - ], - "grid": { - "leftLogBase": 1, - "leftMax": null, - "rightMax": null, - "leftMin": null, - "rightMin": null, - "rightLogBase": 1, - "threshold1": null, - "threshold2": null, - "threshold1Color": "rgba(216, 200, 27, 0.27)", - "threshold2Color": "rgba(234, 112, 112, 0.22)" - }, - "lines": true, - "fill": 1, - "linewidth": 2, - "points": false, - "pointradius": 5, - "bars": false, - "stack": true, - "percentage": false, - "legend": { - "show": true, - "values": true, - "min": false, - "max": true, - "current": true, - "total": false, - "avg": false - }, - "nullPointMode": "connected", - "steppedLine": false, - "tooltip": { - "value_type": "individual", - "shared": true - }, - "timeFrom": null, - "timeShift": null, - "targets": [ - { - "rawQuery": true, - "query": "SELECT sum(value)*1000 FROM \"monthly\".\"bandwidth.1min\" WHERE cachegroup='" + which + "' and $timeFilter GROUP BY time(60s), hostname", - "alias": "$tag_hostname" - } - ], - "aliasColors": {}, - "seriesOverrides": [], - "links": [] - }, - { - "title": "Connections (stacked)", - "error": false, - "span": 12, - "editable": true, - "type": "graph", - "isNew": true, - "id": 2, - "targets": [ - { - "refId": "A", - "policy": "monthly", - "dsType": "influxdb", - "resultFormat": "time_series", - "tags": [ - { - "key": "cachegroup", - "operator": "=", - "value": which - } - ], - "groupBy": [ - { - "type": "time", - "params": [ - "$interval" - ] - }, - { - "type": "tag", - "params": [ - "hostname" - ] - }, - { - "type": "fill", - "params": [ - "null" - ] - } - ], - "select": [ - [ - { - "type": "field", - "params": [ - "value" - ] - }, - { - "type": "mean", - "params": [] - } - ] - ], - "measurement": "connections.1min" - } - ], - "datasource": "cache_stats", - "renderer": "flot", - "yaxes": [ - { - "label": null, - "show": true, - "logBase": 1, - "min": null, - "max": null, - "format": "short" - }, - { - "label": null, - "show": true, - "logBase": 1, - "min": null, - "max": null, - "format": "short" - } - ], - "xaxis": { - "show": true - }, - "grid": { - "threshold1": null, - "threshold2": null, - "threshold1Color": "rgba(216, 200, 27, 0.27)", - "threshold2Color": "rgba(234, 112, 112, 0.22)" - }, - "lines": true, - "fill": 1, - "linewidth": 2, - "points": false, - "pointradius": 5, - "bars": false, - "stack": true, - "percentage": false, - "legend": { - "show": true, - "values": true, - "min": false, - "max": true, - "current": true, - "total": false, - "avg": false, - "hideEmpty": true, - "hideZero": true - }, - "nullPointMode": "connected", - "steppedLine": false, - "tooltip": { - "value_type": "individual", - "shared": true, - "msResolution": true - }, - "timeFrom": null, - "timeShift": null, - "aliasColors": {}, - "seriesOverrides": [], - "links": [] - } - ], - "title": "Row", - "collapse": false, - "editable": true - } - ); -} -return dashboard; diff --git a/traffic_stats/grafana/traffic_ops_deliveryservice.js b/traffic_stats/grafana/traffic_ops_deliveryservice.js deleted file mode 100644 index 2508e3c86e..0000000000 --- a/traffic_stats/grafana/traffic_ops_deliveryservice.js +++ /dev/null @@ -1,301 +0,0 @@ -/* - - Licensed under the Apache License, Version 2.0 (the "License"); - you may not use this file except in compliance with the License. - You may obtain a copy of the License at - - http://www.apache.org/licenses/LICENSE-2.0 - - Unless required by applicable law or agreed to in writing, software - distributed under the License is distributed on an "AS IS" BASIS, - WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - See the License for the specific language governing permissions and - limitations under the License. -*/ - -/* global _ */ - -/* - * Scripted dashboard for traffic ops. - * - * Based on the grafana scripted.js script (which is ASF 2.0 licensed). - */ - - - -// accessible variables in this scope -var window, document, ARGS, $, jQuery, moment, kbn; - -// Setup some variables -var dashboard; - -// All url parameters are available via the ARGS object -var ARGS; - -// Intialize a skeleton with nothing but a rows array and service object -dashboard = { - rows : [], -}; - - -// Set default time -// time can be overriden in the url using from/to parameters, but this is -// handled automatically in grafana core during dashboard initialization -dashboard.time = { - from: "now-6h", - to: "now-60s" -}; - -var which = 'argName'; - -if(!_.isUndefined(ARGS.which)) { - which = ARGS.which; -} - -// Set a title -dashboard.title = which; -//set refresh interval -dashboard.refresh = "30s"; - -{ - dashboard.rows.push( { - "collapse": false, - "editable": true, - "height": "250px", - "panels": [ - { - "aliasColors": { - "bw {deliveryservice: xb-dlassets}": "#7EB26D" - }, - "bars": false, - "datasource": "deliveryservice_stats", - "editable": true, - "error": false, - "fill": 1, - "grid": { - "leftLogBase": 1, - "leftMax": null, - "leftMin": null, - "rightLogBase": 1, - "rightMax": null, - "rightMin": null, - "threshold1": null, - "threshold1Color": "rgba(216, 200, 27, 0.27)", - "threshold2": null, - "threshold2Color": "rgba(234, 112, 112, 0.22)" - }, - "id": 1, - "legend": { - "avg": false, - "current": true, - "max": true, - "min": false, - "show": true, - "total": false, - "values": true - }, - "lines": true, - "linewidth": 2, - "links": [], - "nullPointMode": "connected", - "percentage": false, - "pointradius": 5, - "points": false, - "renderer": "flot", - "seriesOverrides": [], - "span": 12, - "stack": false, - "steppedLine": false, - "targets": [ - { - "measurement": "bw", - "query": "SELECT mean(value)*1000 FROM \"monthly\".\"kbps.ds.1min\" WHERE deliveryservice='" + which + "' and cachegroup = 'total' and $timeFilter GROUP BY time(60s), deliveryservice ORDER BY asc", - "rawQuery": true, - "tags": { - "deliveryservice": which - }, - "alias": "$tag_deliveryservice" - } - ], - "timeFrom": null, - "timeShift": null, - "title": "bandwidth", - "tooltip": { - "shared": true, - "value_type": "cumulative" - }, - "type": "graph", - "x-axis": true, - "y-axis": true, - "y_formats": [ - "bps", - "short" - ] - } - ], - "title": "DsGbps" - }, - { - "title": "TPS!", - "height": "250px", - "editable": true, - "collapse": false, - "panels": [ - { - "title": "tps", - "error": false, - "span": 12, - "editable": true, - "type": "graph", - "id": 3, - "datasource": "deliveryservice_stats", - "renderer": "flot", - "x-axis": true, - "y-axis": true, - "y_formats": [ - "short", - "short" - ], - "grid": { - "leftLogBase": 1, - "leftMax": null, - "rightMax": null, - "leftMin": null, - "rightMin": null, - "rightLogBase": 1, - "threshold1": null, - "threshold2": null, - "threshold1Color": "rgba(216, 200, 27, 0.27)", - "threshold2Color": "rgba(234, 112, 112, 0.22)" - }, - "lines": true, - "fill": 1, - "linewidth": 2, - "points": false, - "pointradius": 5, - "bars": false, - "stack": false, - "percentage": false, - "legend": { - "show": true, - "values": false, - "min": false, - "max": false, - "current": false, - "total": false, - "avg": false - }, - "nullPointMode": "connected", - "steppedLine": false, - "tooltip": { - "value_type": "cumulative", - "shared": true - }, - "timeFrom": null, - "timeShift": null, - "targets": [ - { - "measurement": "tps_2xx", - "tags": { - "deliveryservice": which - }, - "query": "SELECT mean(value) FROM \"monthly\".\"tps_2xx.ds.1min\" WHERE $timeFilter AND deliveryservice='" + which + "' GROUP BY time(60s) ORDER BY asc", - "hide": false, - "rawQuery": true - }, - { - "target": "", - "rawQuery": true, - "query": "SELECT mean(value) FROM \"monthly\".\"tps_3xx.ds.1min\" WHERE $timeFilter AND deliveryservice='" + which + "' GROUP BY time(60s) ORDER BY asc" - }, - { - "target": "", - "rawQuery": true, - "query": "SELECT mean(value) FROM \"monthly\".\"tps_4xx.ds.1min\" WHERE $timeFilter AND deliveryservice='" + which + "' GROUP BY time(60s) ORDER BY asc" - }, - { - "target": "", - "rawQuery": true, - "query": "SELECT mean(value) FROM \"monthly\".\"tps_5xx.ds.1min\" WHERE $timeFilter AND deliveryservice='" + which + "' GROUP BY time(60s) ORDER BY asc" - } - ], - "aliasColors": {}, - "seriesOverrides": [], - "links": [] - } - ] - }, - { - "collapse": false, - "editable": true, - "height": "250px", - "panels": [ - { - "aliasColors": {}, - "bars": false, - "datasource": "deliveryservice_stats", - "editable": true, - "error": false, - "fill": 1, - "grid": { - "leftLogBase": 1, - "leftMax": null, - "leftMin": null, - "rightLogBase": 1, - "rightMax": null, - "rightMin": null, - "threshold1": null, - "threshold1Color": "rgba(216, 200, 27, 0.27)", - "threshold2": null, - "threshold2Color": "rgba(234, 112, 112, 0.22)" - }, - "id": 2, - "legend": { - "avg": false, - "current": true, - "hideEmpty": false, - "max": true, - "min": false, - "show": true, - "total": false, - "values": true - }, - "lines": true, - "linewidth": 2, - "links": [], - "nullPointMode": "connected", - "percentage": false, - "pointradius": 5, - "points": false, - "renderer": "flot", - "seriesOverrides": [], - "span": 12, - "stack": true, - "steppedLine": false, - "targets": [ - { - "query": "SELECT mean(value)*1000 FROM \"monthly\".\"kbps.cg.1min\" WHERE deliveryservice='" + which + "' and cachegroup != 'all' and $timeFilter GROUP BY time(60s), cachegroup", - "rawQuery": true, - "alias": "$tag_cachegroup" - } - ], - "timeFrom": null, - "timeShift": null, - "title": "bandwidth by cachegroup", - "tooltip": { - "shared": true, - "value_type": "individual" - }, - "type": "graph", - "x-axis": true, - "y-axis": true, - "y_formats": [ - "bps" - ] - } - ], - "title": "bwByCg" - } - ); -} -return dashboard; diff --git a/traffic_stats/grafana/traffic_ops_scripted.js b/traffic_stats/grafana/traffic_ops_scripted.js deleted file mode 100644 index 78a5d87f32..0000000000 --- a/traffic_stats/grafana/traffic_ops_scripted.js +++ /dev/null @@ -1,524 +0,0 @@ -/* - - Licensed under the Apache License, Version 2.0 (the "License"); - you may not use this file except in compliance with the License. - You may obtain a copy of the License at - - http://www.apache.org/licenses/LICENSE-2.0 - - Unless required by applicable law or agreed to in writing, software - distributed under the License is distributed on an "AS IS" BASIS, - WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - See the License for the specific language governing permissions and - limitations under the License. -*/ - -/* global _ */ - -/* - * Scripted dashboard for traffic ops. - * - * Based on the grafana scripted.js script (which is ASF 2.0 licensed). - */ - - - -// accessible variables in this scope -var window, document, ARGS, $, jQuery, moment, kbn; - -// Setup some variables -var dashboard; - -// All url parameters are available via the ARGS object -var ARGS; - -// Intialize a skeleton with nothing but a rows array and service object -dashboard = { - rows : [], -}; - - -// Set default time -// time can be overriden in the url using from/to parameters, but this is -// handled automatically in grafana core during dashboard initialization -dashboard.time = { - from: "now-6h", - to: "now-60s" -}; - -var which = 'argName'; -var type = "argName"; - -if(!_.isUndefined(ARGS.which)) { - which = ARGS.which; -} - -if(!_.isUndefined(ARGS.type)) { - type = ARGS.type; -} -// Set a title -dashboard.title = which; -//set refresh interval -dashboard.refresh = "30s"; - -if (type == "deliveryservice") { - dashboard.rows.push( { - "collapse": false, - "editable": true, - "height": "250px", - "panels": [ - { - "aliasColors": { - "bw {deliveryservice: xb-dlassets}": "#7EB26D" - }, - "bars": false, - "datasource": "deliveryservice_stats", - "editable": true, - "error": false, - "fill": 1, - "grid": { - "leftLogBase": 1, - "leftMax": null, - "leftMin": null, - "rightLogBase": 1, - "rightMax": null, - "rightMin": null, - "threshold1": null, - "threshold1Color": "rgba(216, 200, 27, 0.27)", - "threshold2": null, - "threshold2Color": "rgba(234, 112, 112, 0.22)" - }, - "id": 1, - "legend": { - "avg": false, - "current": true, - "max": true, - "min": false, - "show": true, - "total": false, - "values": true - }, - "lines": true, - "linewidth": 2, - "links": [], - "nullPointMode": "connected", - "percentage": false, - "pointradius": 5, - "points": false, - "renderer": "flot", - "seriesOverrides": [], - "span": 12, - "stack": false, - "steppedLine": false, - "targets": [ - { - "measurement": "bw", - "query": "SELECT mean(value)*1000 FROM \"monthly\".\"kbps.ds.1min\" WHERE deliveryservice='" + which + "' and cachegroup = 'total' and $timeFilter GROUP BY time(60s), deliveryservice ORDER BY asc", - "rawQuery": true, - "tags": { - "deliveryservice": which - } - } - ], - "timeFrom": null, - "timeShift": null, - "title": "bandwidth", - "tooltip": { - "shared": true, - "value_type": "cumulative" - }, - "type": "graph", - "x-axis": true, - "y-axis": true, - "y_formats": [ - "bps", - "short" - ] - } - ], - "title": "DsGbps" - }, - { - "title": "TPS!", - "height": "250px", - "editable": true, - "collapse": false, - "panels": [ - { - "title": "tps", - "error": false, - "span": 12, - "editable": true, - "type": "graph", - "id": 3, - "datasource": "deliveryservice_stats", - "renderer": "flot", - "x-axis": true, - "y-axis": true, - "y_formats": [ - "short", - "short" - ], - "grid": { - "leftLogBase": 1, - "leftMax": null, - "rightMax": null, - "leftMin": null, - "rightMin": null, - "rightLogBase": 1, - "threshold1": null, - "threshold2": null, - "threshold1Color": "rgba(216, 200, 27, 0.27)", - "threshold2Color": "rgba(234, 112, 112, 0.22)" - }, - "lines": true, - "fill": 1, - "linewidth": 2, - "points": false, - "pointradius": 5, - "bars": false, - "stack": false, - "percentage": false, - "legend": { - "show": true, - "values": false, - "min": false, - "max": false, - "current": false, - "total": false, - "avg": false - }, - "nullPointMode": "connected", - "steppedLine": false, - "tooltip": { - "value_type": "cumulative", - "shared": true - }, - "timeFrom": null, - "timeShift": null, - "targets": [ - { - "measurement": "tps_2xx", - "tags": { - "deliveryservice": which - }, - "query": "SELECT mean(value) FROM \"monthly\".\"tps_2xx.ds.1min\" WHERE $timeFilter AND deliveryservice='" + which + "' GROUP BY time(60s) ORDER BY asc", - "hide": false, - "rawQuery": true - }, - { - "target": "", - "rawQuery": true, - "query": "SELECT mean(value) FROM \"monthly\".\"tps_3xx.ds.1min\" WHERE $timeFilter AND deliveryservice='" + which + "' GROUP BY time(60s) ORDER BY asc" - }, - { - "target": "", - "rawQuery": true, - "query": "SELECT mean(value) FROM \"monthly\".\"tps_4xx.ds.1min\" WHERE $timeFilter AND deliveryservice='" + which + "' GROUP BY time(60s) ORDER BY asc" - }, - { - "target": "", - "rawQuery": true, - "query": "SELECT mean(value) FROM \"monthly\".\"tps_5xx.ds.1min\" WHERE $timeFilter AND deliveryservice='" + which + "' GROUP BY time(60s) ORDER BY asc" - } - ], - "aliasColors": {}, - "seriesOverrides": [], - "links": [] - } - ] - }, - { - "collapse": false, - "editable": true, - "height": "250px", - "panels": [ - { - "aliasColors": {}, - "bars": false, - "datasource": "deliveryservice_stats", - "editable": true, - "error": false, - "fill": 1, - "grid": { - "leftLogBase": 1, - "leftMax": null, - "leftMin": null, - "rightLogBase": 1, - "rightMax": null, - "rightMin": null, - "threshold1": null, - "threshold1Color": "rgba(216, 200, 27, 0.27)", - "threshold2": null, - "threshold2Color": "rgba(234, 112, 112, 0.22)" - }, - "id": 2, - "legend": { - "avg": false, - "current": true, - "hideEmpty": false, - "max": true, - "min": false, - "show": true, - "total": false, - "values": true - }, - "lines": true, - "linewidth": 2, - "links": [], - "nullPointMode": "connected", - "percentage": false, - "pointradius": 5, - "points": false, - "renderer": "flot", - "seriesOverrides": [], - "span": 12, - "stack": false, - "steppedLine": false, - "targets": [ - { - "query": "SELECT mean(value)*1000 FROM \"monthly\".\"kbps.ds.1min\" WHERE deliveryservice='" + which + "' and cachegroup != 'total' and $timeFilter GROUP BY time(60s), cachegroup", - "rawQuery": true - } - ], - "timeFrom": null, - "timeShift": null, - "title": "bandwidth by cachegroup", - "tooltip": { - "shared": false, - "value_type": "cumulative" - }, - "type": "graph", - "x-axis": true, - "y-axis": true, - "y_formats": [ - "bps", - "short" - ] - } - ], - "title": "bwByCg" - } - ); -} -else if ( type == "cachegroup" ) { - dashboard.rows.push( { - "height": "250px", - "panels": [ - { - "title": "total bandwidth (stacked)", - "error": false, - "span": 12, - "editable": true, - "type": "graph", - "id": 1, - "datasource": "cache_stats", - "renderer": "flot", - "x-axis": true, - "y-axis": true, - "y_formats": [ - "bps", - "short" - ], - "grid": { - "leftLogBase": 1, - "leftMax": null, - "rightMax": null, - "leftMin": null, - "rightMin": null, - "rightLogBase": 1, - "threshold1": null, - "threshold2": null, - "threshold1Color": "rgba(216, 200, 27, 0.27)", - "threshold2Color": "rgba(234, 112, 112, 0.22)" - }, - "lines": true, - "fill": 1, - "linewidth": 2, - "points": false, - "pointradius": 5, - "bars": false, - "stack": true, - "percentage": false, - "legend": { - "show": true, - "values": true, - "min": false, - "max": true, - "current": true, - "total": false, - "avg": false - }, - "nullPointMode": "connected", - "steppedLine": false, - "tooltip": { - "value_type": "cumulative", - "shared": true - }, - "timeFrom": null, - "timeShift": null, - "targets": [ - { - "rawQuery": true, - "query": "SELECT mean(value)*1000 FROM \"monthly\".\"bandwidth.1min\" WHERE cachegroup='" + which + "' and $timeFilter GROUP BY time(60s), hostname" - } - ], - "aliasColors": {}, - "seriesOverrides": [], - "links": [] - } - ], - "title": "Row", - "collapse": false, - "editable": true - } - ); -} -else if ( type == "server" ) { - dashboard.rows.push( - { - "height": "250px", - "panels": [ - { - "title": "bandwidth", - "error": false, - "span": 12, - "editable": true, - "type": "graph", - "id": 1, - "datasource": "cache_stats", - "renderer": "flot", - "x-axis": true, - "y-axis": true, - "y_formats": [ - "bps", - "short" - ], - "grid": { - "leftLogBase": 1, - "leftMax": null, - "rightMax": null, - "leftMin": null, - "rightMin": null, - "rightLogBase": 1, - "threshold1": null, - "threshold2": null, - "threshold1Color": "rgba(216, 200, 27, 0.27)", - "threshold2Color": "rgba(234, 112, 112, 0.22)" - }, - "lines": true, - "fill": 1, - "linewidth": 2, - "points": false, - "pointradius": 5, - "bars": false, - "stack": false, - "percentage": false, - "legend": { - "show": true, - "values": true, - "min": false, - "max": true, - "current": true, - "total": false, - "avg": false - }, - "nullPointMode": "connected", - "steppedLine": false, - "tooltip": { - "value_type": "cumulative", - "shared": true - }, - "timeFrom": null, - "timeShift": null, - "targets": [ - { - "measurement": "bandwidth", - "tags": {}, - "query": "SELECT mean(value)*1000 FROM \"monthly\".\"bandwidth.1min\" WHERE hostname='" + which + "' and $timeFilter GROUP BY time(60s)", - "rawQuery": true - } - ], - "aliasColors": {}, - "seriesOverrides": [], - "links": [] - } - ], - "title": "Row", - "collapse": false, - "editable": true - }, - { - "height": "250px", - "panels": [ - { - "title": "conns", - "error": false, - "span": 12, - "editable": true, - "type": "graph", - "id": 2, - "datasource": "cache_stats", - "renderer": "flot", - "x-axis": true, - "y-axis": true, - "y_formats": [ - "short" - ], - "grid": { - "leftLogBase": 1, - "leftMax": null, - "rightMax": null, - "leftMin": null, - "rightMin": null, - "rightLogBase": 1, - "threshold1": null, - "threshold2": null, - "threshold1Color": "rgba(216, 200, 27, 0.27)", - "threshold2Color": "rgba(234, 112, 112, 0.22)" - }, - "lines": true, - "fill": 1, - "linewidth": 2, - "points": false, - "pointradius": 5, - "bars": false, - "stack": false, - "percentage": false, - "legend": { - "show": true, - "values": true, - "min": false, - "max": true, - "current": true, - "total": false, - "avg": false - }, - "nullPointMode": "connected", - "steppedLine": false, - "tooltip": { - "value_type": "cumulative", - "shared": true - }, - "timeFrom": null, - "timeShift": null, - "targets": [ - { - "measurement": "bandwidth", - "tags": {}, - "query": "SELECT mean(value)*1000 FROM \"monthly\".\"connections.1min\" WHERE hostname='" + which + "' and $timeFilter GROUP BY time(60s)", - "rawQuery": true - } - ], - "aliasColors": {}, - "seriesOverrides": [], - "links": [] - } - ], - "title": "Row", - "collapse": false, - "editable": true - } - ); -} -return dashboard; diff --git a/traffic_stats/grafana/traffic_ops_server.js b/traffic_stats/grafana/traffic_ops_server.js deleted file mode 100644 index 786bb7b7bf..0000000000 --- a/traffic_stats/grafana/traffic_ops_server.js +++ /dev/null @@ -1,1372 +0,0 @@ -/* - - Licensed under the Apache License, Version 2.0 (the "License"); - you may not use this file except in compliance with the License. - You may obtain a copy of the License at - - http://www.apache.org/licenses/LICENSE-2.0 - - Unless required by applicable law or agreed to in writing, software - distributed under the License is distributed on an "AS IS" BASIS, - WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - See the License for the specific language governing permissions and - limitations under the License. -*/ - -/* - * Scripted dashboard for traffic ops. - * - * Based on the grafana scripted.js script (which is ASF 2.0 licensed). - */ - -'use strict'; - -// Setup some variables -var dashboard; - -// All URL parameters are available via the ARGS object -var ARGS; - -// Intialize a skeleton with nothing but a rows array and service object, -// and setting default time and refresh interval. -dashboard = { - refresh: "30s", - rows: [], - // time can be overridden in the URL using from/to parameters, but this is - // handled automatically in grafana core during dashboard initialization - time: { - from: "now-24h", - to: "now" - } -}; - -let which = 'argName'; - -if (ARGS.which !== undefined) { - which = ARGS.which; -} - -// Set a title -dashboard.title = which; - -{ - dashboard.rows.push( - { - "height": "250px", - "panels": [ - { - "title": "bandwidth", - "error": false, - "span": 12, - "editable": true, - "type": "graph", - "id": 1, - "datasource": "cache_stats", - "renderer": "flot", - "grid": { - "threshold1": null, - "threshold2": null, - "threshold1Color": "rgba(216, 200, 27, 0.27)", - "threshold2Color": "rgba(234, 112, 112, 0.22)" - }, - "lines": true, - "fill": 1, - "linewidth": 2, - "points": false, - "pointradius": 5, - "bars": false, - "stack": false, - "percentage": false, - "legend": { - "show": true, - "values": true, - "min": false, - "max": true, - "current": true, - "total": false, - "avg": false - }, - "nullPointMode": "connected", - "steppedLine": false, - "tooltip": { - "value_type": "cumulative", - "shared": true, - "sort": 0, - "msResolution": false - }, - "timeFrom": null, - "timeShift": null, - "targets": [ - { - "measurement": "bandwidth.1min", - "tags": {}, - "query": `SELECT mean(value) FROM "monthly"."bandwidth.1min" WHERE hostname= '${which}' and $timeFilter GROUP BY time(60s)`, - "rawQuery": true, - "refId": "A", - "policy": "default", - "dsType": "influxdb", - "resultFormat": "time_series", - "groupBy": [ - { - "type": "time", - "params": [ - "$interval" - ] - }, - { - "type": "fill", - "params": [ - "null" - ] - } - ], - "select": [ - [ - { - "type": "field", - "params": [ - "value" - ] - }, - { - "type": "mean", - "params": [] - } - ] - ], - "alias": "bandwidth" - } - ], - "aliasColors": {}, - "seriesOverrides": [], - "links": [], - "yaxes": [ - { - "show": true, - "min": null, - "max": null, - "logBase": 1, - "format": "Kbits" - }, - { - "show": true, - "min": null, - "max": null, - "logBase": 1, - "format": "short" - } - ], - "xaxis": { - "show": true - } - } - ], - "title": "Row", - "collapse": false, - "editable": true - }, - { - "height": "250px", - "panels": [ - { - "title": "conns", - "error": false, - "span": 12, - "editable": true, - "type": "graph", - "id": 2, - "datasource": "cache_stats", - "renderer": "flot", - "grid": { - "threshold1": null, - "threshold2": null, - "threshold1Color": "rgba(216, 200, 27, 0.27)", - "threshold2Color": "rgba(234, 112, 112, 0.22)" - }, - "lines": true, - "fill": 1, - "linewidth": 2, - "points": false, - "pointradius": 5, - "bars": false, - "stack": false, - "percentage": false, - "legend": { - "show": true, - "values": true, - "min": false, - "max": true, - "current": true, - "total": false, - "avg": false - }, - "nullPointMode": "connected", - "steppedLine": false, - "tooltip": { - "value_type": "cumulative", - "shared": true, - "sort": 0, - "msResolution": false - }, - "timeFrom": null, - "timeShift": null, - "targets": [ - { - "measurement": "connections.1min", - "tags": {}, - "query": `SELECT mean(value) FROM "monthly"."connections.1min" WHERE hostname= '${which}' and $timeFilter GROUP BY time(60s)`, - "rawQuery": true, - "refId": "A", - "policy": "default", - "dsType": "influxdb", - "resultFormat": "time_series", - "groupBy": [ - { - "type": "time", - "params": [ - "$interval" - ] - }, - { - "type": "fill", - "params": [ - "null" - ] - } - ], - "select": [ - [ - { - "type": "field", - "params": [ - "value" - ] - }, - { - "type": "mean", - "params": [] - } - ] - ], - "alias": "connections" - } - ], - "aliasColors": {}, - "seriesOverrides": [], - "links": [], - "yaxes": [ - { - "show": true, - "min": null, - "max": null, - "logBase": 1, - "format": "short" - }, - { - "show": true, - "min": null, - "max": null, - "logBase": 1 - } - ], - "xaxis": { - "show": true - } - } - ], - "title": "Row", - "collapse": false, - "editable": true - }, - { - "title": "cpu and mem", - "height": "250px", - "editable": true, - "collapse": false, - "panels": [ - { - "title": "CPU Usage", - "error": false, - "span": 6, - "editable": true, - "type": "graph", - "isNew": true, - "id": 3, - "targets": [ - { - "refId": "A", - "policy": "default", - "dsType": "influxdb", - "resultFormat": "time_series", - "tags": [ - { - key: "host", - operator: "=", - value: which - } - ], - "groupBy": [ - { - "type": "time", - "params": [ - "$interval" - ] - }, - { - "type": "fill", - "params": [ - "null" - ] - } - ], - "select": [ - [ - { - "type": "field", - "params": [ - "usage_system" - ] - }, - { - "type": "mean", - "params": [] - }, - { - "type": "alias", - "params": [ - "cpu_system" - ] - } - ], - [ - { - "type": "field", - "params": [ - "usage_iowait" - ] - }, - { - "type": "mean", - "params": [] - }, - { - "type": "alias", - "params": [ - "cpu_iowait" - ] - } - ], - [ - { - "type": "field", - "params": [ - "usage_user" - ] - }, - { - "type": "mean", - "params": [] - }, - { - "type": "alias", - "params": [ - "cpu_user" - ] - } - ], - [ - { - "type": "field", - "params": [ - "usage_guest" - ] - }, - { - "type": "mean", - "params": [] - }, - { - "type": "alias", - "params": [ - "cpu_guest" - ] - } - ], - [ - { - "type": "field", - "params": [ - "usage_steal" - ] - }, - { - "type": "mean", - "params": [] - }, - { - "type": "alias", - "params": [ - "cpu_steal" - ] - } - ] - ], - "measurement": "cpu", - "alias": "$col" - } - ], - "datasource": "telegraf", - "renderer": "flot", - "yaxes": [ - { - "label": null, - "show": true, - "logBase": 1, - "min": null, - "max": null, - "format": "percent" - }, - { - "label": null, - "show": true, - "logBase": 1, - "min": null, - "max": null, - "format": "short" - } - ], - "xaxis": { - "show": true - }, - "grid": { - "threshold1": null, - "threshold2": null, - "threshold1Color": "rgba(216, 200, 27, 0.27)", - "threshold2Color": "rgba(234, 112, 112, 0.22)" - }, - "lines": true, - "fill": 1, - "linewidth": 2, - "points": false, - "pointradius": 5, - "bars": false, - "stack": true, - "percentage": false, - "legend": { - "show": true, - "values": false, - "min": false, - "max": false, - "current": false, - "total": false, - "avg": false - }, - "nullPointMode": "connected", - "steppedLine": false, - "tooltip": { - "value_type": "individual", - "shared": true, - "msResolution": true, - "sort": 2 - }, - "timeFrom": null, - "timeShift": null, - "aliasColors": {}, - "seriesOverrides": [], - "links": [] - }, - { - "title": "Memory Usage", - "error": false, - "span": 6, - "editable": true, - "type": "graph", - "isNew": true, - "id": 4, - "targets": [ - { - "refId": "A", - "policy": "default", - "dsType": "influxdb", - "resultFormat": "time_series", - "tags": [ - { - key: "host", - operator: "=", - value: which - } - ], - "groupBy": [ - { - "type": "time", - "params": [ - "$interval" - ] - }, - { - "type": "fill", - "params": [ - "null" - ] - } - ], - "select": [ - [ - { - "type": "field", - "params": [ - "used_percent" - ] - }, - { - "type": "mean", - "params": [] - }, - { - "type": "alias", - "params": [ - "mem_used" - ] - } - ] - ], - "measurement": "mem", - "alias": "$col" - } - ], - "datasource": "telegraf", - "renderer": "flot", - "yaxes": [ - { - "label": null, - "show": true, - "logBase": 1, - "min": null, - "max": null, - "format": "percent" - }, - { - "label": null, - "show": true, - "logBase": 1, - "min": null, - "max": null, - "format": "short" - } - ], - "xaxis": { - "show": true - }, - "grid": { - "threshold1": null, - "threshold2": null, - "threshold1Color": "rgba(216, 200, 27, 0.27)", - "threshold2Color": "rgba(234, 112, 112, 0.22)" - }, - "lines": true, - "fill": 1, - "linewidth": 2, - "points": false, - "pointradius": 5, - "bars": false, - "stack": true, - "percentage": false, - "legend": { - "show": true, - "values": false, - "min": false, - "max": false, - "current": false, - "total": false, - "avg": false - }, - "nullPointMode": "connected", - "steppedLine": false, - "tooltip": { - "value_type": "individual", - "shared": true, - "msResolution": true, - "sort": 0 - }, - "timeFrom": null, - "timeShift": null, - "aliasColors": {}, - "seriesOverrides": [], - "links": [] - } - ] - }, - { - "title": "load avg and diskio", - "height": "250px", - "editable": true, - "collapse": false, - "panels": [ - { - "title": "Load Average", - "error": false, - "span": 6, - "editable": true, - "type": "graph", - "isNew": true, - "id": 5, - "targets": [ - { - "refId": "A", - "policy": "default", - "dsType": "influxdb", - "resultFormat": "time_series", - "tags": [ - { - key: "host", - operator: "=", - value: which - } - ], - "groupBy": [ - { - "type": "time", - "params": [ - "$interval" - ] - }, - { - "type": "fill", - "params": [ - "null" - ] - } - ], - "select": [ - [ - { - "type": "field", - "params": [ - "load1" - ] - }, - { - "type": "mean", - "params": [] - }, - { - "type": "alias", - "params": [ - "load1" - ] - } - ], - [ - { - "type": "field", - "params": [ - "load5" - ] - }, - { - "type": "mean", - "params": [] - }, - { - "type": "alias", - "params": [ - "load5" - ] - } - ], - [ - { - "type": "field", - "params": [ - "load15" - ] - }, - { - "type": "mean", - "params": [] - }, - { - "type": "alias", - "params": [ - "load15" - ] - } - ] - ], - "measurement": "system", - "alias": "$col" - } - ], - "datasource": "telegraf", - "renderer": "flot", - "yaxes": [ - { - "label": null, - "show": true, - "logBase": 1, - "min": null, - "max": null, - "format": "short" - }, - { - "label": null, - "show": true, - "logBase": 1, - "min": null, - "max": null, - "format": "short" - } - ], - "xaxis": { - "show": true - }, - "grid": { - "threshold1": null, - "threshold2": null, - "threshold1Color": "rgba(216, 200, 27, 0.27)", - "threshold2Color": "rgba(234, 112, 112, 0.22)" - }, - "lines": true, - "fill": 1, - "linewidth": 2, - "points": false, - "pointradius": 5, - "bars": false, - "stack": false, - "percentage": false, - "legend": { - "show": true, - "values": false, - "min": false, - "max": false, - "current": false, - "total": false, - "avg": false - }, - "nullPointMode": "connected", - "steppedLine": false, - "tooltip": { - "value_type": "cumulative", - "shared": true, - "msResolution": true, - "sort": 0 - }, - "timeFrom": null, - "timeShift": null, - "aliasColors": {}, - "seriesOverrides": [], - "links": [] - }, - { - "title": "Read/Write Time", - "error": false, - "span": 6, - "editable": true, - "type": "graph", - "isNew": true, - "id": 6, - "targets": [ - { - "refId": "A", - "policy": "default", - "dsType": "influxdb", - "resultFormat": "time_series", - "tags": [ - { - key: "host", - operator: "=", - value: which - } - ], - "groupBy": [ - { - "type": "time", - "params": [ - "$interval" - ] - }, - { - "type": "fill", - "params": [ - "null" - ] - } - ], - "select": [ - [ - { - "type": "field", - "params": [ - "read_time" - ] - }, - { - "type": "sum", - "params": [] - }, - { - "type": "non_negative_derivative", - "params": [ - "10s" - ] - }, - { - "type": "alias", - "params": [ - "read_time" - ] - } - ] - ], - "measurement": "diskio", - "alias": "$col" - }, - { - "refId": "B", - "policy": "default", - "dsType": "influxdb", - "resultFormat": "time_series", - "tags": [ - { - key: "host", - operator: "=", - value: which - } - ], - "groupBy": [ - { - "type": "time", - "params": [ - "$interval" - ] - }, - { - "type": "fill", - "params": [ - "null" - ] - } - ], - "select": [ - [ - { - "type": "field", - "params": [ - "write_time" - ] - }, - { - "type": "sum", - "params": [] - }, - { - "type": "non_negative_derivative", - "params": [ - "10s" - ] - }, - { - "type": "alias", - "params": [ - "write_time" - ] - } - ] - ], - "measurement": "diskio", - "alias": "$col" - } - ], - "datasource": "telegraf", - "renderer": "flot", - "yaxes": [ - { - "label": null, - "show": true, - "logBase": 1, - "min": null, - "max": null, - "format": "ns" - }, - { - "label": null, - "show": true, - "logBase": 1, - "min": null, - "max": null, - "format": "short" - } - ], - "xaxis": { - "show": true - }, - "grid": { - "threshold1": null, - "threshold2": null, - "threshold1Color": "rgba(216, 200, 27, 0.27)", - "threshold2Color": "rgba(234, 112, 112, 0.22)" - }, - "lines": true, - "fill": 1, - "linewidth": 2, - "points": false, - "pointradius": 5, - "bars": false, - "stack": false, - "percentage": false, - "legend": { - "show": true, - "values": false, - "min": false, - "max": false, - "current": false, - "total": false, - "avg": false - }, - "nullPointMode": "connected", - "steppedLine": false, - "tooltip": { - "value_type": "cumulative", - "shared": true, - "msResolution": true, - "sort": 0 - }, - "timeFrom": null, - "timeShift": null, - "aliasColors": {}, - "seriesOverrides": [], - "links": [] - } - ] - }, - { - "title": "Wrap Count and netstat", - "height": "250px", - "editable": true, - "collapse": false, - "panels": [ - { - "title": "wrap count", - "error": false, - "span": 6, - "editable": true, - "type": "graph", - "isNew": true, - "id": 7, - "targets": [ - { - "refId": "A", - "policy": "monthly", - "dsType": "influxdb", - "resultFormat": "time_series", - "tags": [ - { - key: "hostname", - operator: "=", - value: which - } - ], - "groupBy": [ - { - "type": "time", - "params": [ - "$interval" - ] - }, - { - "type": "fill", - "params": [ - "null" - ] - } - ], - "select": [ - [ - { - "type": "field", - "params": [ - "vol1_wrap_count" - ] - }, - { - "type": "mean", - "params": [] - }, - { - "type": "alias", - "params": [ - "vol1" - ] - } - ], - [ - { - "type": "field", - "params": [ - "vol2_wrap_count" - ] - }, - { - "type": "mean", - "params": [] - }, - { - "type": "alias", - "params": [ - "vol2" - ] - } - ] - ], - "measurement": "wrap_count.1min", - "alias": "$col" - } - ], - "datasource": "cache_stats", - "renderer": "flot", - "yaxes": [ - { - "label": null, - "show": true, - "logBase": 1, - "min": null, - "max": null, - "format": "short" - }, - { - "label": null, - "show": true, - "logBase": 1, - "min": null, - "max": null, - "format": "short" - } - ], - "xaxis": { - "show": true - }, - "grid": { - "threshold1": null, - "threshold2": null, - "threshold1Color": "rgba(216, 200, 27, 0.27)", - "threshold2Color": "rgba(234, 112, 112, 0.22)" - }, - "lines": true, - "fill": 1, - "linewidth": 2, - "points": false, - "pointradius": 5, - "bars": false, - "stack": false, - "percentage": false, - "legend": { - "show": true, - "values": false, - "min": false, - "max": false, - "current": false, - "total": false, - "avg": false - }, - "nullPointMode": "connected", - "steppedLine": false, - "tooltip": { - "value_type": "cumulative", - "shared": true, - "sort": 0, - "msResolution": true - }, - "timeFrom": null, - "timeShift": null, - "aliasColors": {}, - "seriesOverrides": [], - "links": [] - }, - { - "title": "netstat", - "error": false, - "span": 6, - "editable": true, - "type": "graph", - "isNew": true, - "id": 8, - "targets": [ - { - "refId": "A", - "policy": "default", - "dsType": "influxdb", - "resultFormat": "time_series", - "tags": [ - { - key: "host", - operator: "=", - value: which - } - ], - "groupBy": [ - { - "type": "time", - "params": [ - "$interval" - ] - }, - { - "type": "fill", - "params": [ - "null" - ] - } - ], - "select": [ - [ - { - "type": "field", - "params": [ - "tcp_close" - ] - }, - { - "type": "mean", - "params": [] - }, - { - "type": "alias", - "params": [ - "tcp_close" - ] - } - ], - [ - { - "type": "field", - "params": [ - "tcp_close_wait" - ] - }, - { - "type": "mean", - "params": [] - }, - { - "type": "alias", - "params": [ - "tcp_close_wait" - ] - } - ], - [ - { - "type": "field", - "params": [ - "tcp_established" - ] - }, - { - "type": "mean", - "params": [] - }, - { - "type": "alias", - "params": [ - "tcp_established" - ] - } - ], - [ - { - "type": "field", - "params": [ - "tcp_time_wait" - ] - }, - { - "type": "mean", - "params": [] - }, - { - "type": "alias", - "params": [ - "tcp_time_wait" - ] - } - ], - [ - { - "type": "field", - "params": [ - "tcp_closing" - ] - }, - { - "type": "mean", - "params": [] - }, - { - "type": "alias", - "params": [ - "tcp_closing" - ] - } - ], - [ - { - "type": "field", - "params": [ - "tcp_fin_wait1" - ] - }, - { - "type": "mean", - "params": [] - }, - { - "type": "alias", - "params": [ - "tcp_fin_wait1" - ] - } - ], - [ - { - "type": "field", - "params": [ - "tcp_fin_wait2" - ] - }, - { - "type": "mean", - "params": [] - }, - { - "type": "alias", - "params": [ - "tcp_fin_wait2" - ] - } - ], - [ - { - "type": "field", - "params": [ - "tcp_last_ack" - ] - }, - { - "type": "mean", - "params": [] - }, - { - "type": "alias", - "params": [ - "tcp_last_ack" - ] - } - ], - [ - { - "type": "field", - "params": [ - "tcp_syn_recv" - ] - }, - { - "type": "mean", - "params": [] - }, - { - "type": "alias", - "params": [ - "tcp_syn_recv" - ] - } - ], - [ - { - "type": "field", - "params": [ - "tcp_syn_sent" - ] - }, - { - "type": "mean", - "params": [] - }, - { - "type": "alias", - "params": [ - "tcp_syn_sent" - ] - } - ] - ], - "measurement": "netstat", - "alias": "$col" - } - ], - "datasource": "telegraf", - "renderer": "flot", - "yaxes": [ - { - "label": null, - "show": true, - "logBase": 1, - "min": null, - "max": null, - "format": "short" - }, - { - "label": null, - "show": true, - "logBase": 1, - "min": null, - "max": null, - "format": "short" - } - ], - "xaxis": { - "show": true - }, - "grid": { - "threshold1": null, - "threshold2": null, - "threshold1Color": "rgba(216, 200, 27, 0.27)", - "threshold2Color": "rgba(234, 112, 112, 0.22)" - }, - "lines": true, - "fill": 1, - "linewidth": 2, - "points": false, - "pointradius": 5, - "bars": false, - "stack": false, - "percentage": false, - "legend": { - "show": true, - "values": false, - "min": false, - "max": false, - "current": false, - "total": false, - "avg": false, - "hideEmpty": true, - "hideZero": true - }, - "nullPointMode": "connected", - "steppedLine": false, - "tooltip": { - "value_type": "cumulative", - "shared": true, - "sort": 2, - "msResolution": true - }, - "timeFrom": null, - "timeShift": null, - "aliasColors": {}, - "seriesOverrides": [], - "links": [] - } - ] - } - ); -} -return dashboard; From bfd1d178739c7d6181ab1c57cc7e33a5695efc5a Mon Sep 17 00:00:00 2001 From: The Anh Nguyen Date: Fri, 19 Jan 2024 15:46:33 +0700 Subject: [PATCH 02/23] update build Grafana scenes --- .../cdn-in-a-box/optional/grafana/Dockerfile | 3 +- .../optional/grafana/app.yaml.template | 2 +- .../optional/grafana/run-grafana.sh | 1 + .../grafana/trafficcontrol-scenes/.eslintrc | 25 + .../grafana/trafficcontrol-scenes/.gitignore | 1 + .../trafficcontrol-scenes/.prettierrc.js | 16 + .../trafficcontrol-scenes/dist/README.md | 51 + .../trafficcontrol-scenes/dist/module.js | 2 +- .../trafficcontrol-scenes/dist/module.js.map | 2 +- .../trafficcontrol-scenes/dist/plugin.json | 2 +- .../trafficcontrol-scenes/package.json | 4 +- .../trafficcontrol-scenes/tsconfig.json | 21 +- .../webpack/constants.ts | 2 + .../trafficcontrol-scenes/webpack/utils.ts | 58 + .../webpack/webpack.config.ts | 214 + .../grafana/trafficcontrol-scenes/yarn.lock | 10242 ++++++++++++++++ 16 files changed, 10637 insertions(+), 9 deletions(-) create mode 100644 infrastructure/cdn-in-a-box/optional/grafana/trafficcontrol-scenes/.eslintrc create mode 100644 infrastructure/cdn-in-a-box/optional/grafana/trafficcontrol-scenes/.gitignore create mode 100644 infrastructure/cdn-in-a-box/optional/grafana/trafficcontrol-scenes/.prettierrc.js create mode 100644 infrastructure/cdn-in-a-box/optional/grafana/trafficcontrol-scenes/dist/README.md create mode 100644 infrastructure/cdn-in-a-box/optional/grafana/trafficcontrol-scenes/webpack/constants.ts create mode 100644 infrastructure/cdn-in-a-box/optional/grafana/trafficcontrol-scenes/webpack/utils.ts create mode 100644 infrastructure/cdn-in-a-box/optional/grafana/trafficcontrol-scenes/webpack/webpack.config.ts create mode 100644 infrastructure/cdn-in-a-box/optional/grafana/trafficcontrol-scenes/yarn.lock diff --git a/infrastructure/cdn-in-a-box/optional/grafana/Dockerfile b/infrastructure/cdn-in-a-box/optional/grafana/Dockerfile index 7cd12a02fe..0b77ac4c82 100644 --- a/infrastructure/cdn-in-a-box/optional/grafana/Dockerfile +++ b/infrastructure/cdn-in-a-box/optional/grafana/Dockerfile @@ -29,6 +29,7 @@ ADD enroller/server_template.json \ optional/grafana/run-grafana.sh \ optional/grafana/datasources.yml.template \ optional/grafana/app.yaml.template \ + optional/grafana/trafficcontrol-scenes/dist \ $TRAFFIC_TS_RPM \ / @@ -42,7 +43,7 @@ COPY dns/set-dns.sh \ dns/insert-self-into-dns.sh \ /usr/local/sbin/ -COPY optional/grafana/trafficcontrol-scenes/dist /var/lib/grafana/plugins/trafficcontrol-scenes +COPY optional/grafana/trafficcontrol-scenes/dist /var/lib/grafana/plugins/trafficcontrol-scenes-app ENTRYPOINT [ "/run-grafana.sh" ] EXPOSE 443 diff --git a/infrastructure/cdn-in-a-box/optional/grafana/app.yaml.template b/infrastructure/cdn-in-a-box/optional/grafana/app.yaml.template index 305a689dd5..7c9a1b0be1 100644 --- a/infrastructure/cdn-in-a-box/optional/grafana/app.yaml.template +++ b/infrastructure/cdn-in-a-box/optional/grafana/app.yaml.template @@ -6,5 +6,5 @@ apps: org_name: 'apache' disabled: false jsonData: - apiUrl: http://default-url.com + apiUrl: https://trafficcontrol.apache.org/ isApiKeySet: true \ No newline at end of file diff --git a/infrastructure/cdn-in-a-box/optional/grafana/run-grafana.sh b/infrastructure/cdn-in-a-box/optional/grafana/run-grafana.sh index e17a1b822a..930b7a1a12 100755 --- a/infrastructure/cdn-in-a-box/optional/grafana/run-grafana.sh +++ b/infrastructure/cdn-in-a-box/optional/grafana/run-grafana.sh @@ -58,6 +58,7 @@ export GF_SERVER_PROTOCOL="https" export GF_SERVER_HTTP_PORT=$GRAFANA_PORT export GF_SERVER_CERT_FILE=$X509_INFRA_CERT_FILE export GF_SERVER_CERT_KEY=$X509_INFRA_KEY_FILE +export GF_DEFAULT_APP_MODE="development" envsubst < "/datasources.yml.template" > "$GF_PATHS_PROVISIONING/datasources/datasources.yml" envsubst < "/app.yaml.template" > "$GF_PATHS_PROVISIONING/plugins/app.yaml" diff --git a/infrastructure/cdn-in-a-box/optional/grafana/trafficcontrol-scenes/.eslintrc b/infrastructure/cdn-in-a-box/optional/grafana/trafficcontrol-scenes/.eslintrc new file mode 100644 index 0000000000..1486ed2e0e --- /dev/null +++ b/infrastructure/cdn-in-a-box/optional/grafana/trafficcontrol-scenes/.eslintrc @@ -0,0 +1,25 @@ +/* + * ⚠️⚠️⚠️ THIS FILE WAS SCAFFOLDED BY `@grafana/create-plugin`. DO NOT EDIT THIS FILE DIRECTLY. ⚠️⚠️⚠️ + * + * In order to extend the configuration follow the steps in + * https://grafana.com/developers/plugin-tools/create-a-plugin/extend-a-plugin/extend-configurations#extend-the-eslint-config + */ +{ + "extends": ["@grafana/eslint-config"], + "root": true, + "rules": { + "react/prop-types": "off" + }, + "overrides": [ + { + "plugins": ["deprecation"], + "files": ["src/**/*.{ts,tsx}"], + "rules": { + "deprecation/deprecation": "warn" + }, + "parserOptions": { + "project": "./tsconfig.json" + } + } + ] +} diff --git a/infrastructure/cdn-in-a-box/optional/grafana/trafficcontrol-scenes/.gitignore b/infrastructure/cdn-in-a-box/optional/grafana/trafficcontrol-scenes/.gitignore new file mode 100644 index 0000000000..b512c09d47 --- /dev/null +++ b/infrastructure/cdn-in-a-box/optional/grafana/trafficcontrol-scenes/.gitignore @@ -0,0 +1 @@ +node_modules \ No newline at end of file diff --git a/infrastructure/cdn-in-a-box/optional/grafana/trafficcontrol-scenes/.prettierrc.js b/infrastructure/cdn-in-a-box/optional/grafana/trafficcontrol-scenes/.prettierrc.js new file mode 100644 index 0000000000..bf506f5ce7 --- /dev/null +++ b/infrastructure/cdn-in-a-box/optional/grafana/trafficcontrol-scenes/.prettierrc.js @@ -0,0 +1,16 @@ +/* + * ⚠️⚠️⚠️ THIS FILE WAS SCAFFOLDED BY `@grafana/create-plugin`. DO NOT EDIT THIS FILE DIRECTLY. ⚠️⚠️⚠️ + * + * In order to extend the configuration follow the steps in .config/README.md + */ + +module.exports = { + endOfLine: 'auto', + printWidth: 120, + trailingComma: 'es5', + semi: true, + jsxSingleQuote: false, + singleQuote: true, + useTabs: false, + tabWidth: 2, +}; diff --git a/infrastructure/cdn-in-a-box/optional/grafana/trafficcontrol-scenes/dist/README.md b/infrastructure/cdn-in-a-box/optional/grafana/trafficcontrol-scenes/dist/README.md new file mode 100644 index 0000000000..c80f2aa08a --- /dev/null +++ b/infrastructure/cdn-in-a-box/optional/grafana/trafficcontrol-scenes/dist/README.md @@ -0,0 +1,51 @@ + + +# Grafana Scenes Playground + +Playground + + diff --git a/infrastructure/cdn-in-a-box/optional/grafana/trafficcontrol-scenes/dist/module.js b/infrastructure/cdn-in-a-box/optional/grafana/trafficcontrol-scenes/dist/module.js index 2f246ef8b2..94e7638eed 100644 --- a/infrastructure/cdn-in-a-box/optional/grafana/trafficcontrol-scenes/dist/module.js +++ b/infrastructure/cdn-in-a-box/optional/grafana/trafficcontrol-scenes/dist/module.js @@ -1,2 +1,2 @@ -define(["@grafana/data","react","react-router-dom","@grafana/runtime","rxjs","lodash","@grafana/ui","@emotion/css","react-dom"],((e,t,r,n,a,o,i,s,l)=>(()=>{var u={944:(e,t,r)=>{"use strict";function n(e){var t,r,a="";if("string"==typeof e||"number"==typeof e)a+=e;else if("object"==typeof e)if(Array.isArray(e))for(t=0;ta,default:()=>o});const o=a},4:(e,t,r)=>{e=r.nmd(e);var n="__lodash_hash_undefined__",a=1,o=2,i=9007199254740991,s="[object Arguments]",l="[object Array]",u="[object AsyncFunction]",c="[object Boolean]",d="[object Date]",p="[object Error]",h="[object Function]",f="[object GeneratorFunction]",m="[object Map]",g="[object Number]",y="[object Null]",b="[object Object]",v="[object Promise]",w="[object Proxy]",S="[object RegExp]",_="[object Set]",O="[object String]",x="[object Undefined]",C="[object WeakMap]",P="[object ArrayBuffer]",D="[object DataView]",E=/^\[object .+?Constructor\]$/,R=/^(?:0|[1-9]\d*)$/,j={};j["[object Float32Array]"]=j["[object Float64Array]"]=j["[object Int8Array]"]=j["[object Int16Array]"]=j["[object Int32Array]"]=j["[object Uint8Array]"]=j["[object Uint8ClampedArray]"]=j["[object Uint16Array]"]=j["[object Uint32Array]"]=!0,j[s]=j[l]=j[P]=j[c]=j[D]=j[d]=j[p]=j[h]=j[m]=j[g]=j[b]=j[S]=j[_]=j[O]=j[C]=!1;var T="object"==typeof r.g&&r.g&&r.g.Object===Object&&r.g,k="object"==typeof self&&self&&self.Object===Object&&self,A=T||k||Function("return this")(),I=t&&!t.nodeType&&t,V=I&&e&&!e.nodeType&&e,F=V&&V.exports===I,L=F&&T.process,M=function(){try{return L&&L.binding&&L.binding("util")}catch(e){}}(),z=M&&M.isTypedArray;function N(e,t){for(var r=-1,n=null==e?0:e.length;++ru))return!1;var d=s.get(e);if(d&&s.get(t))return d==t;var p=-1,h=!0,f=r&o?new Pe:void 0;for(s.set(e,t),s.set(t,e);++p-1},xe.prototype.set=function(e,t){var r=this.__data__,n=Ee(r,e);return n<0?(++this.size,r.push([e,t])):r[n][1]=t,this},Ce.prototype.clear=function(){this.size=0,this.__data__={hash:new Oe,map:new(de||xe),string:new Oe}},Ce.prototype.delete=function(e){var t=Ie(this,e).delete(e);return this.size-=t?1:0,t},Ce.prototype.get=function(e){return Ie(this,e).get(e)},Ce.prototype.has=function(e){return Ie(this,e).has(e)},Ce.prototype.set=function(e,t){var r=Ie(this,e),n=r.size;return r.set(e,t),this.size+=r.size==n?0:1,this},Pe.prototype.add=Pe.prototype.push=function(e){return this.__data__.set(e,n),this},Pe.prototype.has=function(e){return this.__data__.has(e)},De.prototype.clear=function(){this.__data__=new xe,this.size=0},De.prototype.delete=function(e){var t=this.__data__,r=t.delete(e);return this.size=t.size,r},De.prototype.get=function(e){return this.__data__.get(e)},De.prototype.has=function(e){return this.__data__.has(e)},De.prototype.set=function(e,t){var r=this.__data__;if(r instanceof xe){var n=r.__data__;if(!de||n.length<199)return n.push([e,t]),this.size=++r.size,this;r=this.__data__=new Ce(n)}return r.set(e,t),this.size=r.size,this};var Fe=se?function(e){return null==e?[]:(e=Object(e),function(t,r){for(var n=-1,a=null==t?0:t.length,o=0,i=[];++n-1&&e%1==0&&e-1&&e%1==0&&e<=i}function qe(e){var t=typeof e;return null!=e&&("object"==t||"function"==t)}function Ge(e){return null!=e&&"object"==typeof e}var Qe=z?function(e){return function(t){return e(t)}}(z):function(e){return Ge(e)&&We(e.length)&&!!j[Re(e)]};function Ye(e){return null!=(t=e)&&We(t.length)&&!$e(t)?function(e,t){var r=Be(e),n=!r&&He(e),a=!r&&!n&&Ue(e),o=!r&&!n&&!a&&Qe(e),i=r||n||a||o,s=i?function(e,t){for(var r=-1,n=Array(e);++r{"use strict";var n=r(331);function a(){}function o(){}o.resetWarningCache=a,e.exports=function(){function e(e,t,r,a,o,i){if(i!==n){var s=new Error("Calling PropTypes validators directly is not supported by the `prop-types` package. Use PropTypes.checkPropTypes() to call them. Read more at http://fb.me/use-check-prop-types");throw s.name="Invariant Violation",s}}function t(){return e}e.isRequired=e;var r={array:e,bigint:e,bool:e,func:e,number:e,object:e,string:e,symbol:e,any:e,arrayOf:t,element:e,elementType:e,instanceOf:t,node:e,objectOf:t,oneOf:t,oneOfType:t,shape:t,exact:t,checkPropTypes:o,resetWarningCache:a};return r.PropTypes=r,r}},615:(e,t,r)=>{e.exports=r(772)()},331:e=>{"use strict";e.exports="SECRET_DO_NOT_PASS_THIS_OR_YOU_WILL_BE_FIRED"},322:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"DraggableCore",{enumerable:!0,get:function(){return c.default}}),t.default=void 0;var n=function(e,t){if(e&&e.__esModule)return e;if(null===e||"object"!=typeof e&&"function"!=typeof e)return{default:e};var r=h(t);if(r&&r.has(e))return r.get(e);var n={},a=Object.defineProperty&&Object.getOwnPropertyDescriptor;for(var o in e)if("default"!==o&&Object.prototype.hasOwnProperty.call(e,o)){var i=a?Object.getOwnPropertyDescriptor(e,o):null;i&&(i.get||i.set)?Object.defineProperty(n,o,i):n[o]=e[o]}return n.default=e,r&&r.set(e,n),n}(r(650)),a=p(r(615)),o=p(r(729)),i=p(r(944)),s=r(65),l=r(237),u=r(972),c=p(r(700)),d=p(r(936));function p(e){return e&&e.__esModule?e:{default:e}}function h(e){if("function"!=typeof WeakMap)return null;var t=new WeakMap,r=new WeakMap;return(h=function(e){return e?r:t})(e)}function f(){return f=Object.assign?Object.assign.bind():function(e){for(var t=1;t{if((0,d.default)("Draggable: onDragStart: %j",t),!1===this.props.onStart(e,(0,l.createDraggableData)(this,t)))return!1;this.setState({dragging:!0,dragged:!0})})),m(this,"onDrag",((e,t)=>{if(!this.state.dragging)return!1;(0,d.default)("Draggable: onDrag: %j",t);const r=(0,l.createDraggableData)(this,t),n={x:r.x,y:r.y,slackX:0,slackY:0};if(this.props.bounds){const{x:e,y:t}=n;n.x+=this.state.slackX,n.y+=this.state.slackY;const[a,o]=(0,l.getBoundPosition)(this,n.x,n.y);n.x=a,n.y=o,n.slackX=this.state.slackX+(e-n.x),n.slackY=this.state.slackY+(t-n.y),r.x=n.x,r.y=n.y,r.deltaX=n.x-this.state.x,r.deltaY=n.y-this.state.y}if(!1===this.props.onDrag(e,r))return!1;this.setState(n)})),m(this,"onDragStop",((e,t)=>{if(!this.state.dragging)return!1;if(!1===this.props.onStop(e,(0,l.createDraggableData)(this,t)))return!1;(0,d.default)("Draggable: onDragStop: %j",t);const r={dragging:!1,slackX:0,slackY:0};if(Boolean(this.props.position)){const{x:e,y:t}=this.props.position;r.x=e,r.y=t}this.setState(r)})),this.state={dragging:!1,dragged:!1,x:e.position?e.position.x:e.defaultPosition.x,y:e.position?e.position.y:e.defaultPosition.y,prevPropsPosition:{...e.position},slackX:0,slackY:0,isElementSVG:!1},!e.position||e.onDrag||e.onStop||console.warn("A `position` was applied to this , without drag handlers. This will make this component effectively undraggable. Please attach `onDrag` or `onStop` handlers so you can adjust the `position` of this element.")}componentDidMount(){void 0!==window.SVGElement&&this.findDOMNode()instanceof window.SVGElement&&this.setState({isElementSVG:!0})}componentWillUnmount(){this.setState({dragging:!1})}findDOMNode(){var e,t;return null!==(e=null===(t=this.props)||void 0===t||null===(t=t.nodeRef)||void 0===t?void 0:t.current)&&void 0!==e?e:o.default.findDOMNode(this)}render(){const{axis:e,bounds:t,children:r,defaultPosition:a,defaultClassName:o,defaultClassNameDragging:u,defaultClassNameDragged:d,position:p,positionOffset:h,scale:m,...g}=this.props;let y={},b=null;const v=!Boolean(p)||this.state.dragging,w=p||a,S={x:(0,l.canDragX)(this)&&v?this.state.x:w.x,y:(0,l.canDragY)(this)&&v?this.state.y:w.y};this.state.isElementSVG?b=(0,s.createSVGTransform)(S,h):y=(0,s.createCSSTransform)(S,h);const _=(0,i.default)(r.props.className||"",o,{[u]:this.state.dragging,[d]:this.state.dragged});return n.createElement(c.default,f({},g,{onStart:this.onDragStart,onDrag:this.onDrag,onStop:this.onDragStop}),n.cloneElement(n.Children.only(r),{className:_,style:{...r.props.style,...y},transform:b}))}}t.default=g,m(g,"displayName","Draggable"),m(g,"propTypes",{...c.default.propTypes,axis:a.default.oneOf(["both","x","y","none"]),bounds:a.default.oneOfType([a.default.shape({left:a.default.number,right:a.default.number,top:a.default.number,bottom:a.default.number}),a.default.string,a.default.oneOf([!1])]),defaultClassName:a.default.string,defaultClassNameDragging:a.default.string,defaultClassNameDragged:a.default.string,defaultPosition:a.default.shape({x:a.default.number,y:a.default.number}),positionOffset:a.default.shape({x:a.default.oneOfType([a.default.number,a.default.string]),y:a.default.oneOfType([a.default.number,a.default.string])}),position:a.default.shape({x:a.default.number,y:a.default.number}),className:u.dontSetMe,style:u.dontSetMe,transform:u.dontSetMe}),m(g,"defaultProps",{...c.default.defaultProps,axis:"both",bounds:!1,defaultClassName:"react-draggable",defaultClassNameDragging:"react-draggable-dragging",defaultClassNameDragged:"react-draggable-dragged",defaultPosition:{x:0,y:0},scale:1})},700:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.default=void 0;var n=function(e,t){if(e&&e.__esModule)return e;if(null===e||"object"!=typeof e&&"function"!=typeof e)return{default:e};var r=d(t);if(r&&r.has(e))return r.get(e);var n={},a=Object.defineProperty&&Object.getOwnPropertyDescriptor;for(var o in e)if("default"!==o&&Object.prototype.hasOwnProperty.call(e,o)){var i=a?Object.getOwnPropertyDescriptor(e,o):null;i&&(i.get||i.set)?Object.defineProperty(n,o,i):n[o]=e[o]}return n.default=e,r&&r.set(e,n),n}(r(650)),a=c(r(615)),o=c(r(729)),i=r(65),s=r(237),l=r(972),u=c(r(936));function c(e){return e&&e.__esModule?e:{default:e}}function d(e){if("function"!=typeof WeakMap)return null;var t=new WeakMap,r=new WeakMap;return(d=function(e){return e?r:t})(e)}function p(e,t,r){return(t=function(e){var t=function(e,t){if("object"!=typeof e||null===e)return e;var r=e[Symbol.toPrimitive];if(void 0!==r){var n=r.call(e,"string");if("object"!=typeof n)return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return String(e)}(e);return"symbol"==typeof t?t:String(t)}(t))in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}const h={start:"touchstart",move:"touchmove",stop:"touchend"},f={start:"mousedown",move:"mousemove",stop:"mouseup"};let m=f;class g extends n.Component{constructor(){super(...arguments),p(this,"dragging",!1),p(this,"lastX",NaN),p(this,"lastY",NaN),p(this,"touchIdentifier",null),p(this,"mounted",!1),p(this,"handleDragStart",(e=>{if(this.props.onMouseDown(e),!this.props.allowAnyClick&&"number"==typeof e.button&&0!==e.button)return!1;const t=this.findDOMNode();if(!t||!t.ownerDocument||!t.ownerDocument.body)throw new Error(" not mounted on DragStart!");const{ownerDocument:r}=t;if(this.props.disabled||!(e.target instanceof r.defaultView.Node)||this.props.handle&&!(0,i.matchesSelectorAndParentsTo)(e.target,this.props.handle,t)||this.props.cancel&&(0,i.matchesSelectorAndParentsTo)(e.target,this.props.cancel,t))return;"touchstart"===e.type&&e.preventDefault();const n=(0,i.getTouchIdentifier)(e);this.touchIdentifier=n;const a=(0,s.getControlPosition)(e,n,this);if(null==a)return;const{x:o,y:l}=a,c=(0,s.createCoreData)(this,o,l);(0,u.default)("DraggableCore: handleDragStart: %j",c),(0,u.default)("calling",this.props.onStart),!1!==this.props.onStart(e,c)&&!1!==this.mounted&&(this.props.enableUserSelectHack&&(0,i.addUserSelectStyles)(r),this.dragging=!0,this.lastX=o,this.lastY=l,(0,i.addEvent)(r,m.move,this.handleDrag),(0,i.addEvent)(r,m.stop,this.handleDragStop))})),p(this,"handleDrag",(e=>{const t=(0,s.getControlPosition)(e,this.touchIdentifier,this);if(null==t)return;let{x:r,y:n}=t;if(Array.isArray(this.props.grid)){let e=r-this.lastX,t=n-this.lastY;if([e,t]=(0,s.snapToGrid)(this.props.grid,e,t),!e&&!t)return;r=this.lastX+e,n=this.lastY+t}const a=(0,s.createCoreData)(this,r,n);if((0,u.default)("DraggableCore: handleDrag: %j",a),!1!==this.props.onDrag(e,a)&&!1!==this.mounted)this.lastX=r,this.lastY=n;else try{this.handleDragStop(new MouseEvent("mouseup"))}catch(e){const t=document.createEvent("MouseEvents");t.initMouseEvent("mouseup",!0,!0,window,0,0,0,0,0,!1,!1,!1,!1,0,null),this.handleDragStop(t)}})),p(this,"handleDragStop",(e=>{if(!this.dragging)return;const t=(0,s.getControlPosition)(e,this.touchIdentifier,this);if(null==t)return;let{x:r,y:n}=t;if(Array.isArray(this.props.grid)){let e=r-this.lastX||0,t=n-this.lastY||0;[e,t]=(0,s.snapToGrid)(this.props.grid,e,t),r=this.lastX+e,n=this.lastY+t}const a=(0,s.createCoreData)(this,r,n);if(!1===this.props.onStop(e,a)||!1===this.mounted)return!1;const o=this.findDOMNode();o&&this.props.enableUserSelectHack&&(0,i.removeUserSelectStyles)(o.ownerDocument),(0,u.default)("DraggableCore: handleDragStop: %j",a),this.dragging=!1,this.lastX=NaN,this.lastY=NaN,o&&((0,u.default)("DraggableCore: Removing handlers"),(0,i.removeEvent)(o.ownerDocument,m.move,this.handleDrag),(0,i.removeEvent)(o.ownerDocument,m.stop,this.handleDragStop))})),p(this,"onMouseDown",(e=>(m=f,this.handleDragStart(e)))),p(this,"onMouseUp",(e=>(m=f,this.handleDragStop(e)))),p(this,"onTouchStart",(e=>(m=h,this.handleDragStart(e)))),p(this,"onTouchEnd",(e=>(m=h,this.handleDragStop(e))))}componentDidMount(){this.mounted=!0;const e=this.findDOMNode();e&&(0,i.addEvent)(e,h.start,this.onTouchStart,{passive:!1})}componentWillUnmount(){this.mounted=!1;const e=this.findDOMNode();if(e){const{ownerDocument:t}=e;(0,i.removeEvent)(t,f.move,this.handleDrag),(0,i.removeEvent)(t,h.move,this.handleDrag),(0,i.removeEvent)(t,f.stop,this.handleDragStop),(0,i.removeEvent)(t,h.stop,this.handleDragStop),(0,i.removeEvent)(e,h.start,this.onTouchStart,{passive:!1}),this.props.enableUserSelectHack&&(0,i.removeUserSelectStyles)(t)}}findDOMNode(){var e,t;return null!==(e=this.props)&&void 0!==e&&e.nodeRef?null===(t=this.props)||void 0===t||null===(t=t.nodeRef)||void 0===t?void 0:t.current:o.default.findDOMNode(this)}render(){return n.cloneElement(n.Children.only(this.props.children),{onMouseDown:this.onMouseDown,onMouseUp:this.onMouseUp,onTouchEnd:this.onTouchEnd})}}t.default=g,p(g,"displayName","DraggableCore"),p(g,"propTypes",{allowAnyClick:a.default.bool,children:a.default.node.isRequired,disabled:a.default.bool,enableUserSelectHack:a.default.bool,offsetParent:function(e,t){if(e[t]&&1!==e[t].nodeType)throw new Error("Draggable's offsetParent must be a DOM Node.")},grid:a.default.arrayOf(a.default.number),handle:a.default.string,cancel:a.default.string,nodeRef:a.default.object,onStart:a.default.func,onDrag:a.default.func,onStop:a.default.func,onMouseDown:a.default.func,scale:a.default.number,className:l.dontSetMe,style:l.dontSetMe,transform:l.dontSetMe}),p(g,"defaultProps",{allowAnyClick:!1,disabled:!1,enableUserSelectHack:!0,onStart:function(){},onDrag:function(){},onStop:function(){},onMouseDown:function(){},scale:1})},529:(e,t,r)=>{"use strict";const{default:n,DraggableCore:a}=r(322);e.exports=n,e.exports.default=n,e.exports.DraggableCore=a},65:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.addClassName=u,t.addEvent=function(e,t,r,n){if(!e)return;const a={capture:!0,...n};e.addEventListener?e.addEventListener(t,r,a):e.attachEvent?e.attachEvent("on"+t,r):e["on"+t]=r},t.addUserSelectStyles=function(e){if(!e)return;let t=e.getElementById("react-draggable-style-el");t||(t=e.createElement("style"),t.type="text/css",t.id="react-draggable-style-el",t.innerHTML=".react-draggable-transparent-selection *::-moz-selection {all: inherit;}\n",t.innerHTML+=".react-draggable-transparent-selection *::selection {all: inherit;}\n",e.getElementsByTagName("head")[0].appendChild(t)),e.body&&u(e.body,"react-draggable-transparent-selection")},t.createCSSTransform=function(e,t){const r=l(e,t,"px");return{[(0,a.browserPrefixToKey)("transform",a.default)]:r}},t.createSVGTransform=function(e,t){return l(e,t,"")},t.getTouch=function(e,t){return e.targetTouches&&(0,n.findInArray)(e.targetTouches,(e=>t===e.identifier))||e.changedTouches&&(0,n.findInArray)(e.changedTouches,(e=>t===e.identifier))},t.getTouchIdentifier=function(e){return e.targetTouches&&e.targetTouches[0]?e.targetTouches[0].identifier:e.changedTouches&&e.changedTouches[0]?e.changedTouches[0].identifier:void 0},t.getTranslation=l,t.innerHeight=function(e){let t=e.clientHeight;const r=e.ownerDocument.defaultView.getComputedStyle(e);return t-=(0,n.int)(r.paddingTop),t-=(0,n.int)(r.paddingBottom),t},t.innerWidth=function(e){let t=e.clientWidth;const r=e.ownerDocument.defaultView.getComputedStyle(e);return t-=(0,n.int)(r.paddingLeft),t-=(0,n.int)(r.paddingRight),t},t.matchesSelector=s,t.matchesSelectorAndParentsTo=function(e,t,r){let n=e;do{if(s(n,t))return!0;if(n===r)return!1;n=n.parentNode}while(n);return!1},t.offsetXYFromParent=function(e,t,r){const n=t===t.ownerDocument.body?{left:0,top:0}:t.getBoundingClientRect();return{x:(e.clientX+t.scrollLeft-n.left)/r,y:(e.clientY+t.scrollTop-n.top)/r}},t.outerHeight=function(e){let t=e.clientHeight;const r=e.ownerDocument.defaultView.getComputedStyle(e);return t+=(0,n.int)(r.borderTopWidth),t+=(0,n.int)(r.borderBottomWidth),t},t.outerWidth=function(e){let t=e.clientWidth;const r=e.ownerDocument.defaultView.getComputedStyle(e);return t+=(0,n.int)(r.borderLeftWidth),t+=(0,n.int)(r.borderRightWidth),t},t.removeClassName=c,t.removeEvent=function(e,t,r,n){if(!e)return;const a={capture:!0,...n};e.removeEventListener?e.removeEventListener(t,r,a):e.detachEvent?e.detachEvent("on"+t,r):e["on"+t]=null},t.removeUserSelectStyles=function(e){if(e)try{if(e.body&&c(e.body,"react-draggable-transparent-selection"),e.selection)e.selection.empty();else{const t=(e.defaultView||window).getSelection();t&&"Caret"!==t.type&&t.removeAllRanges()}}catch(e){}};var n=r(972),a=function(e,t){if(e&&e.__esModule)return e;if(null===e||"object"!=typeof e&&"function"!=typeof e)return{default:e};var r=o(t);if(r&&r.has(e))return r.get(e);var n={},a=Object.defineProperty&&Object.getOwnPropertyDescriptor;for(var i in e)if("default"!==i&&Object.prototype.hasOwnProperty.call(e,i)){var s=a?Object.getOwnPropertyDescriptor(e,i):null;s&&(s.get||s.set)?Object.defineProperty(n,i,s):n[i]=e[i]}return n.default=e,r&&r.set(e,n),n}(r(249));function o(e){if("function"!=typeof WeakMap)return null;var t=new WeakMap,r=new WeakMap;return(o=function(e){return e?r:t})(e)}let i="";function s(e,t){return i||(i=(0,n.findInArray)(["matches","webkitMatchesSelector","mozMatchesSelector","msMatchesSelector","oMatchesSelector"],(function(t){return(0,n.isFunction)(e[t])}))),!!(0,n.isFunction)(e[i])&&e[i](t)}function l(e,t,r){let{x:n,y:a}=e,o="translate(".concat(n).concat(r,",").concat(a).concat(r,")");if(t){const e="".concat("string"==typeof t.x?t.x:t.x+r),n="".concat("string"==typeof t.y?t.y:t.y+r);o="translate(".concat(e,", ").concat(n,")")+o}return o}function u(e,t){e.classList?e.classList.add(t):e.className.match(new RegExp("(?:^|\\s)".concat(t,"(?!\\S)")))||(e.className+=" ".concat(t))}function c(e,t){e.classList?e.classList.remove(t):e.className=e.className.replace(new RegExp("(?:^|\\s)".concat(t,"(?!\\S)"),"g"),"")}},249:(e,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.browserPrefixToKey=a,t.browserPrefixToStyle=function(e,t){return t?"-".concat(t.toLowerCase(),"-").concat(e):e},t.default=void 0,t.getPrefix=n;const r=["Moz","Webkit","O","ms"];function n(){var e;let t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:"transform";if("undefined"==typeof window)return"";const n=null===(e=window.document)||void 0===e||null===(e=e.documentElement)||void 0===e?void 0:e.style;if(!n)return"";if(t in n)return"";for(let e=0;e{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.default=function(){}},237:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.canDragX=function(e){return"both"===e.props.axis||"x"===e.props.axis},t.canDragY=function(e){return"both"===e.props.axis||"y"===e.props.axis},t.createCoreData=function(e,t,r){const a=!(0,n.isNum)(e.lastX),i=o(e);return a?{node:i,deltaX:0,deltaY:0,lastX:t,lastY:r,x:t,y:r}:{node:i,deltaX:t-e.lastX,deltaY:r-e.lastY,lastX:e.lastX,lastY:e.lastY,x:t,y:r}},t.createDraggableData=function(e,t){const r=e.props.scale;return{node:t.node,x:e.state.x+t.deltaX/r,y:e.state.y+t.deltaY/r,deltaX:t.deltaX/r,deltaY:t.deltaY/r,lastX:e.state.x,lastY:e.state.y}},t.getBoundPosition=function(e,t,r){if(!e.props.bounds)return[t,r];let{bounds:i}=e.props;i="string"==typeof i?i:function(e){return{left:e.left,top:e.top,right:e.right,bottom:e.bottom}}(i);const s=o(e);if("string"==typeof i){const{ownerDocument:e}=s,t=e.defaultView;let r;if(r="parent"===i?s.parentNode:e.querySelector(i),!(r instanceof t.HTMLElement))throw new Error('Bounds selector "'+i+'" could not find an element.');const o=r,l=t.getComputedStyle(s),u=t.getComputedStyle(o);i={left:-s.offsetLeft+(0,n.int)(u.paddingLeft)+(0,n.int)(l.marginLeft),top:-s.offsetTop+(0,n.int)(u.paddingTop)+(0,n.int)(l.marginTop),right:(0,a.innerWidth)(o)-(0,a.outerWidth)(s)-s.offsetLeft+(0,n.int)(u.paddingRight)-(0,n.int)(l.marginRight),bottom:(0,a.innerHeight)(o)-(0,a.outerHeight)(s)-s.offsetTop+(0,n.int)(u.paddingBottom)-(0,n.int)(l.marginBottom)}}return(0,n.isNum)(i.right)&&(t=Math.min(t,i.right)),(0,n.isNum)(i.bottom)&&(r=Math.min(r,i.bottom)),(0,n.isNum)(i.left)&&(t=Math.max(t,i.left)),(0,n.isNum)(i.top)&&(r=Math.max(r,i.top)),[t,r]},t.getControlPosition=function(e,t,r){const n="number"==typeof t?(0,a.getTouch)(e,t):null;if("number"==typeof t&&!n)return null;const i=o(r),s=r.props.offsetParent||i.offsetParent||i.ownerDocument.body;return(0,a.offsetXYFromParent)(n||e,s,r.props.scale)},t.snapToGrid=function(e,t,r){return[Math.round(t/e[0])*e[0],Math.round(r/e[1])*e[1]]};var n=r(972),a=r(65);function o(e){const t=e.findDOMNode();if(!t)throw new Error(": Unmounted during event!");return t}},972:(e,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.dontSetMe=function(e,t,r){if(e[t])return new Error("Invalid prop ".concat(t," passed to ").concat(r," - do not set this, set it on the child."))},t.findInArray=function(e,t){for(let r=0,n=e.length;r{"use strict";function n(e){return n="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},n(e)}Object.defineProperty(t,"__esModule",{value:!0}),t.default=void 0;var a=p(r(650)),o=p(r(615)),i=r(529),s=r(26),l=r(728),u=r(284),c=r(288),d=p(r(944));function p(e){return e&&e.__esModule?e:{default:e}}function h(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),r.push.apply(r,n)}return r}function f(e){for(var t=1;t0&&void 0!==arguments[0]?arguments[0]:this.props;return{cols:e.cols,containerPadding:e.containerPadding,containerWidth:e.containerWidth,margin:e.margin,maxRows:e.maxRows,rowHeight:e.rowHeight}}},{key:"createStyle",value:function(e){var t,r=this.props,n=r.usePercentages,a=r.containerWidth;return r.useCSSTransforms?t=(0,l.setTransform)(e):(t=(0,l.setTopLeft)(e),n&&(t.left=(0,l.perc)(e.left/a),t.width=(0,l.perc)(e.width/a))),t}},{key:"mixinDraggable",value:function(e,t){return a.default.createElement(i.DraggableCore,{disabled:!t,onStart:this.onDragStart,onDrag:this.onDrag,onStop:this.onDragStop,handle:this.props.handle,cancel:".react-resizable-handle"+(this.props.cancel?","+this.props.cancel:""),scale:this.props.transformScale,nodeRef:this.elementRef},e)}},{key:"mixinResizable",value:function(e,t,r){var n=this.props,o=n.cols,i=n.x,l=n.minW,c=n.minH,d=n.maxW,p=n.maxH,h=n.transformScale,f=n.resizeHandles,m=n.resizeHandle,g=this.getPositionParams(),y=(0,u.calcGridItemPosition)(g,0,0,o-i,0).width,b=(0,u.calcGridItemPosition)(g,0,0,l,c),v=(0,u.calcGridItemPosition)(g,0,0,d,p),w=[b.width,b.height],S=[Math.min(v.width,y),Math.min(v.height,1/0)];return a.default.createElement(s.Resizable,{draggableOpts:{disabled:!r},className:r?void 0:"react-resizable-hide",width:t.width,height:t.height,minConstraints:w,maxConstraints:S,onResizeStop:this.onResizeStop,onResizeStart:this.onResizeStart,onResize:this.onResize,transformScale:h,resizeHandles:f,handle:m},e)}},{key:"onResizeHandler",value:function(e,t,r){var n=t.node,a=t.size,o=this.props[r];if(o){var i=this.props,s=i.cols,l=i.x,c=i.y,d=i.i,p=i.maxH,h=i.minH,f=this.props,m=f.minW,g=f.maxW,y=(0,u.calcWH)(this.getPositionParams(),a.width,a.height,l,c),b=y.w,v=y.h;m=Math.max(m,1),g=Math.min(g,s-l),b=(0,u.clamp)(b,m,g),v=(0,u.clamp)(v,h,p),this.setState({resizing:"onResizeStop"===r?null:a}),o.call(this,d,b,v,{e,node:n,size:a})}}},{key:"render",value:function(){var e=this.props,t=e.x,r=e.y,n=e.w,o=e.h,i=e.isDraggable,s=e.isResizable,l=e.droppingPosition,c=e.useCSSTransforms,p=(0,u.calcGridItemPosition)(this.getPositionParams(),t,r,n,o,this.state),h=a.default.Children.only(this.props.children),m=a.default.cloneElement(h,{ref:this.elementRef,className:(0,d.default)("react-grid-item",h.props.className,this.props.className,{static:this.props.static,resizing:Boolean(this.state.resizing),"react-draggable":i,"react-draggable-dragging":Boolean(this.state.dragging),dropping:Boolean(l),cssTransforms:c}),style:f(f(f({},this.props.style),h.props.style),this.createStyle(p))});return m=this.mixinResizable(m,p,s),this.mixinDraggable(m,i)}}],r&&m(t.prototype,r),Object.defineProperty(t,"prototype",{writable:!1}),h}(a.default.Component);t.default=w,v(w,"propTypes",{children:o.default.element,cols:o.default.number.isRequired,containerWidth:o.default.number.isRequired,rowHeight:o.default.number.isRequired,margin:o.default.array.isRequired,maxRows:o.default.number.isRequired,containerPadding:o.default.array.isRequired,x:o.default.number.isRequired,y:o.default.number.isRequired,w:o.default.number.isRequired,h:o.default.number.isRequired,minW:function(e,t){var r=e[t];return"number"!=typeof r?new Error("minWidth not Number"):r>e.w||r>e.maxW?new Error("minWidth larger than item width/maxWidth"):void 0},maxW:function(e,t){var r=e[t];return"number"!=typeof r?new Error("maxWidth not Number"):re.h||r>e.maxH?new Error("minHeight larger than item height/maxHeight"):void 0},maxH:function(e,t){var r=e[t];return"number"!=typeof r?new Error("maxHeight not Number"):r{"use strict";function n(e){return n="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},n(e)}Object.defineProperty(t,"__esModule",{value:!0}),t.default=void 0;var a=function(e,t){if(e&&e.__esModule)return e;if(null===e||"object"!==n(e)&&"function"!=typeof e)return{default:e};var r=p(t);if(r&&r.has(e))return r.get(e);var a={},o=Object.defineProperty&&Object.getOwnPropertyDescriptor;for(var i in e)if("default"!==i&&Object.prototype.hasOwnProperty.call(e,i)){var s=o?Object.getOwnPropertyDescriptor(e,i):null;s&&(s.get||s.set)?Object.defineProperty(a,i,s):a[i]=e[i]}return a.default=e,r&&r.set(e,a),a}(r(650)),o=d(r(4)),i=d(r(944)),s=r(728),l=r(284),u=d(r(275)),c=d(r(288));function d(e){return e&&e.__esModule?e:{default:e}}function p(e){if("function"!=typeof WeakMap)return null;var t=new WeakMap,r=new WeakMap;return(p=function(e){return e?r:t})(e)}function h(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),r.push.apply(r,n)}return r}function f(e){for(var t=1;te.length)&&(t=e.length);for(var r=0,n=new Array(t);r0){var o=1/0,i=1/0;a.forEach((function(t){t.x>e.x&&(o=Math.min(o,t.x)),t.y>e.y&&(i=Math.min(i,t.y))})),Number.isFinite(o)&&(e.w=o-e.x),Number.isFinite(i)&&(e.h=i-e.y)}}return t||(e.w=r,e.h=n),e})),b=function(e,t){return function(e){if(Array.isArray(e))return e}(e)||function(e,t){var r=null==e?null:"undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(null!=r){var n,a,o=[],i=!0,s=!1;try{for(r=r.call(e);!(i=(n=r.next()).done)&&(o.push(n.value),!t||o.length!==t);i=!0);}catch(e){s=!0,a=e}finally{try{i||null==r.return||r.return()}finally{if(s)throw a}}return o}}(e,t)||m(e,t)||function(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}(y,2),v=b[0],w=b[1];if(w){var S={w:w.w,h:w.h,x:w.x,y:w.y,static:!0,i:t};e.props.onResize(v,c,w,S,o,i),e.setState({layout:g?v:(0,s.compact)(v,(0,s.compactType)(e.props),p),activeDrag:S})}})),S(v(e),"onResizeStop",(function(t,r,n,a){var o=a.e,i=a.node,l=e.state,u=l.layout,c=l.oldResizeItem,d=e.props,p=d.cols,h=d.allowOverlap,f=(0,s.getLayoutItem)(u,t);e.props.onResizeStop(u,c,f,null,o,i);var m=h?u:(0,s.compact)(u,(0,s.compactType)(e.props),p),g=e.state.oldLayout;e.setState({activeDrag:null,layout:m,oldResizeItem:null,oldLayout:null}),e.onLayoutMaybeChanged(m,g)})),S(v(e),"onDragOver",(function(t){var r;if(t.preventDefault(),t.stopPropagation(),O&&(null===(r=t.nativeEvent.target)||void 0===r||!r.classList.contains(_)))return!1;var n=e.props,o=n.droppingItem,i=n.onDropDragOver,s=n.margin,u=n.cols,c=n.rowHeight,d=n.maxRows,p=n.width,h=n.containerPadding,y=n.transformScale,b=null==i?void 0:i(t);if(!1===b)return e.state.droppingDOMNode&&e.removeDroppingPlaceholder(),!1;var v,w=f(f({},o),b),S=e.state.layout,x=t.nativeEvent,C=x.layerX,P=x.layerY,D={left:C/y,top:P/y,e:t};if(e.state.droppingDOMNode){if(e.state.droppingPosition){var E=e.state.droppingPosition,R=E.left,j=E.top;(R!=C||j!=P)&&e.setState({droppingPosition:D})}}else{var T={cols:u,margin:s,maxRows:d,rowHeight:c,containerWidth:p,containerPadding:h||s},k=(0,l.calcXY)(T,P,C,w.w,w.h);e.setState({droppingDOMNode:a.createElement("div",{key:w.i}),droppingPosition:D,layout:[].concat((v=S,function(e){if(Array.isArray(e))return g(e)}(v)||function(e){if("undefined"!=typeof Symbol&&null!=e[Symbol.iterator]||null!=e["@@iterator"])return Array.from(e)}(v)||m(v)||function(){throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()),[f(f({},w),{},{x:k.x,y:k.y,static:!1,isDraggable:!0})])})}})),S(v(e),"removeDroppingPlaceholder",(function(){var t=e.props,r=t.droppingItem,n=t.cols,a=e.state.layout,o=(0,s.compact)(a.filter((function(e){return e.i!==r.i})),(0,s.compactType)(e.props),n);e.setState({layout:o,droppingDOMNode:null,activeDrag:null,droppingPosition:void 0})})),S(v(e),"onDragLeave",(function(t){t.preventDefault(),t.stopPropagation(),e.dragEnterCounter--,0===e.dragEnterCounter&&e.removeDroppingPlaceholder()})),S(v(e),"onDragEnter",(function(t){t.preventDefault(),t.stopPropagation(),e.dragEnterCounter++})),S(v(e),"onDrop",(function(t){t.preventDefault(),t.stopPropagation();var r=e.props.droppingItem,n=e.state.layout,a=n.find((function(e){return e.i===r.i}));e.dragEnterCounter=0,e.removeDroppingPlaceholder(),e.props.onDrop(n,a,t)})),e}return t=x,c=[{key:"getDerivedStateFromProps",value:function(e,t){var r;return t.activeDrag?null:((0,o.default)(e.layout,t.propsLayout)&&e.compactType===t.compactType?(0,s.childrenEqual)(e.children,t.children)||(r=t.layout):r=e.layout,r?{layout:(0,s.synchronizeLayoutWithChildren)(r,e.children,e.cols,(0,s.compactType)(e),e.allowOverlap),compactType:e.compactType,children:e.children,propsLayout:e.layout}:null)}}],(r=[{key:"componentDidMount",value:function(){this.setState({mounted:!0}),this.onLayoutMaybeChanged(this.state.layout,this.props.layout)}},{key:"shouldComponentUpdate",value:function(e,t){return this.props.children!==e.children||!(0,s.fastRGLPropsEqual)(this.props,e,o.default)||this.state.activeDrag!==t.activeDrag||this.state.mounted!==t.mounted||this.state.droppingPosition!==t.droppingPosition}},{key:"componentDidUpdate",value:function(e,t){if(!this.state.activeDrag){var r=this.state.layout,n=t.layout;this.onLayoutMaybeChanged(r,n)}}},{key:"containerHeight",value:function(){if(this.props.autoSize){var e=(0,s.bottom)(this.state.layout),t=this.props.containerPadding?this.props.containerPadding[1]:this.props.margin[1];return e*this.props.rowHeight+(e-1)*this.props.margin[1]+2*t+"px"}}},{key:"onLayoutMaybeChanged",value:function(e,t){t||(t=this.state.layout),(0,o.default)(t,e)||this.props.onLayoutChange(e)}},{key:"placeholder",value:function(){var e=this.state.activeDrag;if(!e)return null;var t=this.props,r=t.width,n=t.cols,o=t.margin,i=t.containerPadding,s=t.rowHeight,l=t.maxRows,c=t.useCSSTransforms,d=t.transformScale;return a.createElement(u.default,{w:e.w,h:e.h,x:e.x,y:e.y,i:e.i,className:"react-grid-placeholder",containerWidth:r,cols:n,margin:o,containerPadding:i||o,maxRows:l,rowHeight:s,isDraggable:!1,isResizable:!1,isBounded:!1,useCSSTransforms:c,transformScale:d},a.createElement("div",null))}},{key:"processGridItem",value:function(e,t){if(e&&e.key){var r=(0,s.getLayoutItem)(this.state.layout,String(e.key));if(!r)return null;var n=this.props,o=n.width,i=n.cols,l=n.margin,c=n.containerPadding,d=n.rowHeight,p=n.maxRows,h=n.isDraggable,f=n.isResizable,m=n.isBounded,g=n.useCSSTransforms,y=n.transformScale,b=n.draggableCancel,v=n.draggableHandle,w=n.resizeHandles,S=n.resizeHandle,_=this.state,O=_.mounted,x=_.droppingPosition,C="boolean"==typeof r.isDraggable?r.isDraggable:!r.static&&h,P="boolean"==typeof r.isResizable?r.isResizable:!r.static&&f,D=r.resizeHandles||w,E=C&&m&&!1!==r.isBounded;return a.createElement(u.default,{containerWidth:o,cols:i,margin:l,containerPadding:c||l,maxRows:p,rowHeight:d,cancel:b,handle:v,onDragStop:this.onDragStop,onDragStart:this.onDragStart,onDrag:this.onDrag,onResizeStart:this.onResizeStart,onResize:this.onResize,onResizeStop:this.onResizeStop,isDraggable:C,isResizable:P,isBounded:E,useCSSTransforms:g&&O,usePercentages:!O,transformScale:y,w:r.w,h:r.h,x:r.x,y:r.y,i:r.i,minH:r.minH,minW:r.minW,maxH:r.maxH,maxW:r.maxW,static:r.static,droppingPosition:t?x:void 0,resizeHandles:D,resizeHandle:S},e)}}},{key:"render",value:function(){var e=this,t=this.props,r=t.className,n=t.style,o=t.isDroppable,l=t.innerRef,u=(0,i.default)(_,r),c=f({height:this.containerHeight()},n);return a.createElement("div",{ref:l,className:u,style:c,onDrop:o?this.onDrop:s.noop,onDragLeave:o?this.onDragLeave:s.noop,onDragEnter:o?this.onDragEnter:s.noop,onDragOver:o?this.onDragOver:s.noop},a.Children.map(this.props.children,(function(t){return e.processGridItem(t)})),o&&this.state.droppingDOMNode&&this.processGridItem(this.state.droppingDOMNode,!0),this.placeholder())}}])&&y(t.prototype,r),c&&y(t,c),Object.defineProperty(t,"prototype",{writable:!1}),x}(a.Component);t.default=x,S(x,"displayName","ReactGridLayout"),S(x,"propTypes",c.default),S(x,"defaultProps",{autoSize:!0,cols:12,className:"",style:{},draggableHandle:"",draggableCancel:"",containerPadding:null,rowHeight:150,maxRows:1/0,layout:[],margin:[10,10],isBounded:!1,isDraggable:!0,isResizable:!0,allowOverlap:!1,isDroppable:!1,useCSSTransforms:!0,transformScale:1,verticalCompact:!0,compactType:"vertical",preventCollision:!1,droppingItem:{i:"__dropping-elem__",h:1,w:1},resizeHandles:["se"],onLayoutChange:s.noop,onDragStart:s.noop,onDrag:s.noop,onDragStop:s.noop,onResizeStart:s.noop,onResize:s.noop,onResizeStop:s.noop,onDrop:s.noop,onDropDragOver:s.noop})},288:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.resizeHandleType=t.resizeHandleAxesType=t.default=void 0;var n=o(r(615)),a=o(r(650));function o(e){return e&&e.__esModule?e:{default:e}}var i=n.default.arrayOf(n.default.oneOf(["s","w","e","n","sw","nw","se","ne"]));t.resizeHandleAxesType=i;var s=n.default.oneOfType([n.default.node,n.default.func]);t.resizeHandleType=s;var l={className:n.default.string,style:n.default.object,width:n.default.number,autoSize:n.default.bool,cols:n.default.number,draggableCancel:n.default.string,draggableHandle:n.default.string,verticalCompact:function(e){e.verticalCompact},compactType:n.default.oneOf(["vertical","horizontal"]),layout:function(e){var t=e.layout;void 0!==t&&r(728).validateLayout(t,"layout")},margin:n.default.arrayOf(n.default.number),containerPadding:n.default.arrayOf(n.default.number),rowHeight:n.default.number,maxRows:n.default.number,isBounded:n.default.bool,isDraggable:n.default.bool,isResizable:n.default.bool,allowOverlap:n.default.bool,preventCollision:n.default.bool,useCSSTransforms:n.default.bool,transformScale:n.default.number,isDroppable:n.default.bool,resizeHandles:i,resizeHandle:s,onLayoutChange:n.default.func,onDragStart:n.default.func,onDrag:n.default.func,onDragStop:n.default.func,onResizeStart:n.default.func,onResize:n.default.func,onResizeStop:n.default.func,onDrop:n.default.func,droppingItem:n.default.shape({i:n.default.string.isRequired,w:n.default.number.isRequired,h:n.default.number.isRequired}),children:function(e,t){var r=e[t],n={};a.default.Children.forEach(r,(function(e){if(null!=(null==e?void 0:e.key)){if(n[e.key])throw new Error('Duplicate child key "'+e.key+'" found! This will cause problems in ReactGridLayout.');n[e.key]=!0}}))},innerRef:n.default.any};t.default=l},255:(e,t,r)=>{"use strict";function n(e){return n="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},n(e)}t.default=void 0;var a=function(e,t){if(e&&e.__esModule)return e;if(null===e||"object"!==n(e)&&"function"!=typeof e)return{default:e};var r=p(t);if(r&&r.has(e))return r.get(e);var a={},o=Object.defineProperty&&Object.getOwnPropertyDescriptor;for(var i in e)if("default"!==i&&Object.prototype.hasOwnProperty.call(e,i)){var s=o?Object.getOwnPropertyDescriptor(e,i):null;s&&(s.get||s.set)?Object.defineProperty(a,i,s):a[i]=e[i]}return a.default=e,r&&r.set(e,a),a}(r(650)),o=d(r(615)),i=d(r(4)),s=r(728),l=r(119),u=d(r(402)),c=["breakpoint","breakpoints","cols","layouts","margin","containerPadding","onBreakpointChange","onLayoutChange","onWidthChange"];function d(e){return e&&e.__esModule?e:{default:e}}function p(e){if("function"!=typeof WeakMap)return null;var t=new WeakMap,r=new WeakMap;return(p=function(e){return e?r:t})(e)}function h(){return h=Object.assign||function(e){for(var t=1;t=0||(a[r]=e[r]);return a}(e,t);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(e);for(n=0;n=0||Object.prototype.propertyIsEnumerable.call(e,r)&&(a[r]=e[r])}return a}(e,c));return a.createElement(u.default,h({},n,{margin:_(t,this.state.breakpoint),containerPadding:_(r,this.state.breakpoint),onLayoutChange:this.onLayoutChange,layout:this.state.layout,cols:this.state.cols}))}}])&&g(t.prototype,r),o&&g(t,o),Object.defineProperty(t,"prototype",{writable:!1}),S}(a.Component);t.default=O,w(O,"propTypes",{breakpoint:o.default.string,breakpoints:o.default.object,allowOverlap:o.default.bool,cols:o.default.object,margin:o.default.oneOfType([o.default.array,o.default.object]),containerPadding:o.default.oneOfType([o.default.array,o.default.object]),layouts:function(e,t){if("[object Object]"!==S(e[t]))throw new Error("Layout property must be an object. Received: "+S(e[t]));Object.keys(e[t]).forEach((function(t){if(!(t in e.breakpoints))throw new Error("Each key in layouts must align with a key in breakpoints.");(0,s.validateLayout)(e.layouts[t],"layouts."+t)}))},width:o.default.number.isRequired,onBreakpointChange:o.default.func,onLayoutChange:o.default.func,onWidthChange:o.default.func}),w(O,"defaultProps",{breakpoints:{lg:1200,md:996,sm:768,xs:480,xxs:0},cols:{lg:12,md:10,sm:6,xs:4,xxs:2},containerPadding:{lg:null,md:null,sm:null,xs:null,xxs:null},layouts:{},margin:[10,10],allowOverlap:!1,onBreakpointChange:s.noop,onLayoutChange:s.noop,onWidthChange:s.noop})},284:(e,t)=>{"use strict";function r(e){var t=e.margin,r=e.containerPadding,n=e.containerWidth,a=e.cols;return(n-t[0]*(a-1)-2*r[0])/a}function n(e,t,r){return Number.isFinite(e)?Math.round(t*e+Math.max(0,e-1)*r):e}function a(e,t,r){return Math.max(Math.min(e,r),t)}Object.defineProperty(t,"__esModule",{value:!0}),t.calcGridColWidth=r,t.calcGridItemPosition=function(e,t,a,o,i,s){var l=e.margin,u=e.containerPadding,c=e.rowHeight,d=r(e),p={};return s&&s.resizing?(p.width=Math.round(s.resizing.width),p.height=Math.round(s.resizing.height)):(p.width=n(o,d,l[0]),p.height=n(i,c,l[1])),s&&s.dragging?(p.top=Math.round(s.dragging.top),p.left=Math.round(s.dragging.left)):(p.top=Math.round((c+l[1])*a+u[1]),p.left=Math.round((d+l[0])*t+u[0])),p},t.calcGridItemWHPx=n,t.calcWH=function(e,t,n,o,i){var s=e.margin,l=e.maxRows,u=e.cols,c=e.rowHeight,d=r(e),p=Math.round((t+s[0])/(d+s[0])),h=Math.round((n+s[1])/(c+s[1]));return{w:p=a(p,0,u-o),h:h=a(h,0,l-i)}},t.calcXY=function(e,t,n,o,i){var s=e.margin,l=e.cols,u=e.rowHeight,c=e.maxRows,d=r(e),p=Math.round((n-s[0])/(d+s[0])),h=Math.round((t-s[1])/(u+s[1]));return{x:p=a(p,0,l-o),y:h=a(h,0,c-i)}},t.clamp=a},22:(e,t,r)=>{"use strict";function n(e){return n="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},n(e)}t.default=function(e){var t;return t=function(t){!function(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function");e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,writable:!0,configurable:!0}}),Object.defineProperty(e,"prototype",{writable:!1}),t&&p(e,t)}(b,t);var r,o,l,u,y=(r=b,o=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){}))),!0}catch(e){return!1}}(),function(){var e,t=f(r);if(o){var a=f(this).constructor;e=Reflect.construct(t,arguments,a)}else e=t.apply(this,arguments);return function(e,t){if(t&&("object"===n(t)||"function"==typeof t))return t;if(void 0!==t)throw new TypeError("Derived constructors may only return object or undefined");return h(e)}(this,e)});function b(){var e;!function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,b);for(var t=arguments.length,r=new Array(t),n=0;n=0||(a[r]=e[r]);return a}(e,t);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(e);for(n=0;n=0||Object.prototype.propertyIsEnumerable.call(e,r)&&(a[r]=e[r])}return a}(t,s);return r&&!this.mounted?a.createElement("div",{className:(0,i.default)(this.props.className,g),style:this.props.style,ref:this.elementRef}):a.createElement(e,c({innerRef:this.elementRef},n,this.state))}}])&&d(l.prototype,u),Object.defineProperty(l,"prototype",{writable:!1}),b}(a.Component),m(t,"defaultProps",{measureBeforeMount:!1}),m(t,"propTypes",{measureBeforeMount:o.default.bool}),t};var a=function(e,t){if(e&&e.__esModule)return e;if(null===e||"object"!==n(e)&&"function"!=typeof e)return{default:e};var r=u(t);if(r&&r.has(e))return r.get(e);var a={},o=Object.defineProperty&&Object.getOwnPropertyDescriptor;for(var i in e)if("default"!==i&&Object.prototype.hasOwnProperty.call(e,i)){var s=o?Object.getOwnPropertyDescriptor(e,i):null;s&&(s.get||s.set)?Object.defineProperty(a,i,s):a[i]=e[i]}return a.default=e,r&&r.set(e,a),a}(r(650)),o=l(r(615)),i=l(r(944)),s=["measureBeforeMount"];function l(e){return e&&e.__esModule?e:{default:e}}function u(e){if("function"!=typeof WeakMap)return null;var t=new WeakMap,r=new WeakMap;return(u=function(e){return e?r:t})(e)}function c(){return c=Object.assign||function(e){for(var t=1;t{e.exports=function(e,t,r){return e===t||e.className===t.className&&r(e.style,t.style)&&e.width===t.width&&e.autoSize===t.autoSize&&e.cols===t.cols&&e.draggableCancel===t.draggableCancel&&e.draggableHandle===t.draggableHandle&&r(e.verticalCompact,t.verticalCompact)&&r(e.compactType,t.compactType)&&r(e.layout,t.layout)&&r(e.margin,t.margin)&&r(e.containerPadding,t.containerPadding)&&e.rowHeight===t.rowHeight&&e.maxRows===t.maxRows&&e.isBounded===t.isBounded&&e.isDraggable===t.isDraggable&&e.isResizable===t.isResizable&&e.allowOverlap===t.allowOverlap&&e.preventCollision===t.preventCollision&&e.useCSSTransforms===t.useCSSTransforms&&e.transformScale===t.transformScale&&e.isDroppable===t.isDroppable&&r(e.resizeHandles,t.resizeHandles)&&r(e.resizeHandle,t.resizeHandle)&&e.onLayoutChange===t.onLayoutChange&&e.onDragStart===t.onDragStart&&e.onDrag===t.onDrag&&e.onDragStop===t.onDragStop&&e.onResizeStart===t.onResizeStart&&e.onResize===t.onResize&&e.onResizeStop===t.onResizeStop&&e.onDrop===t.onDrop&&r(e.droppingItem,t.droppingItem)&&r(e.innerRef,t.innerRef)}},119:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.findOrGenerateResponsiveLayout=function(e,t,r,o,i,s){if(e[r])return(0,n.cloneLayout)(e[r]);for(var l=e[o],u=a(t),c=u.slice(u.indexOf(r)),d=0,p=c.length;de[s]&&(n=s)}return n},t.getColsFromBreakpoint=function(e,t){if(!t[e])throw new Error("ResponsiveReactGridLayout: `cols` entry for breakpoint "+e+" is missing!");return t[e]},t.sortBreakpoints=a;var n=r(728);function a(e){return Object.keys(e).sort((function(t,r){return e[t]-e[r]}))}},728:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.bottom=d,t.childrenEqual=function(e,t){return(0,n.default)(a.default.Children.map(e,(function(e){return null==e?void 0:e.key})),a.default.Children.map(t,(function(e){return null==e?void 0:e.key})))},t.cloneLayout=p,t.cloneLayoutItem=f,t.collides=g,t.compact=y,t.compactItem=w,t.compactType=function(e){var t=e||{},r=t.verticalCompact,n=t.compactType;return!1===r?null:n},t.correctBounds=S,t.fastPositionEqual=function(e,t){return e.left===t.left&&e.top===t.top&&e.width===t.width&&e.height===t.height},t.fastRGLPropsEqual=void 0,t.getAllCollisions=x,t.getFirstCollision=O,t.getLayoutItem=_,t.getStatics=C,t.modifyLayout=h,t.moveElement=P,t.moveElementAwayFromCollision=D,t.noop=void 0,t.perc=function(e){return 100*e+"%"},t.setTopLeft=function(e){var t=e.top,r=e.left,n=e.width,a=e.height;return{top:"".concat(t,"px"),left:"".concat(r,"px"),width:"".concat(n,"px"),height:"".concat(a,"px"),position:"absolute"}},t.setTransform=function(e){var t=e.top,r=e.left,n=e.width,a=e.height,o="translate(".concat(r,"px,").concat(t,"px)");return{transform:o,WebkitTransform:o,MozTransform:o,msTransform:o,OTransform:o,width:"".concat(n,"px"),height:"".concat(a,"px"),position:"absolute"}},t.sortLayoutItems=E,t.sortLayoutItemsByColRow=j,t.sortLayoutItemsByRowCol=R,t.synchronizeLayoutWithChildren=function(e,t,r,n,o){e=e||[];var i=[];a.default.Children.forEach(t,(function(t){if(null!=(null==t?void 0:t.key)){var r=_(e,String(t.key));if(r)i.push(f(r));else{!u&&t.props._grid&&console.warn("`_grid` properties on children have been deprecated as of React 15.2. Please use `data-grid` or add your properties directly to the `layout`.");var n=t.props["data-grid"]||t.props._grid;n?(u||T([n],"ReactGridLayout.children"),i.push(f(s(s({},n),{},{i:t.key})))):i.push(f({w:1,h:1,x:0,y:d(i),i:String(t.key)}))}}}));var l=S(i,{cols:r});return o?l:y(l,n,r)},t.validateLayout=T,t.withLayoutItem=function(e,t,r){var n=_(e,t);return n?[e=h(e,n=r(f(n))),n]:[e,null]};var n=o(r(4)),a=o(r(650));function o(e){return e&&e.__esModule?e:{default:e}}function i(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),r.push.apply(r,n)}return r}function s(e){for(var t=1;tr&&(r=t);return r}function p(e){for(var t=Array(e.length),r=0,n=e.length;r=t.x+t.w||e.y+e.h<=t.y||e.y>=t.y+t.h)}function y(e,t,r){for(var n=C(e),a=E(e,t),o=Array(e.length),i=0,s=a.length;it.y+t.h)break;g(t,i)&&v(e,i,r+t[a],n)}}t[n]=r}function w(e,t,r,n,a){var o,i="horizontal"===r;if("vertical"===r)for(t.y=Math.min(d(e),t.y);t.y>0&&!O(e,t);)t.y--;else if(i)for(;t.x>0&&!O(e,t);)t.x--;for(;o=O(e,t);)i?v(a,t,o.x+o.w,"x"):v(a,t,o.y+o.h,"y"),i&&t.x+t.w>n&&(t.x=n-t.w,t.y++);return t.y=Math.max(t.y,0),t.x=Math.max(t.x,0),t}function S(e,t){for(var r=C(e),n=0,a=e.length;nt.cols&&(o.x=t.cols-o.w),o.x<0&&(o.x=0,o.w=t.cols),o.static)for(;O(r,o);)o.y++;else r.push(o)}return e}function _(e,t){for(var r=0,n=e.length;r=n:"horizontal"===i&&"number"==typeof r&&u>=r)&&(d=d.reverse());var h=x(d,t),f=h.length>0;if(f&&l)return p(e);if(f&&o)return k("Collision prevented on ".concat(t.i,", reverting.")),t.x=u,t.y=c,t.moved=!1,e;for(var m=0,g=h.length;mt.y||e.y===t.y&&e.x>t.x?1:e.y===t.y&&e.x===t.x?0:-1}))}function j(e){return e.slice(0).sort((function(e,t){return e.x>t.x||e.x===t.x&&e.y>t.y?1:-1}))}function T(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:"Layout",r=["x","y","w","h"];if(!Array.isArray(e))throw new Error(t+" must be an array!");for(var n=0,a=e.length;n{e.exports=r(402).default,e.exports.utils=r(728),e.exports.Responsive=r(255).default,e.exports.Responsive.utils=r(119),e.exports.WidthProvider=r(22).default},377:(e,t,r)=>{"use strict";t.__esModule=!0,t.default=void 0;var n=function(e,t){if(e&&e.__esModule)return e;if(null===e||"object"!=typeof e&&"function"!=typeof e)return{default:e};var r=l(t);if(r&&r.has(e))return r.get(e);var n={},a=Object.defineProperty&&Object.getOwnPropertyDescriptor;for(var o in e)if("default"!==o&&Object.prototype.hasOwnProperty.call(e,o)){var i=a?Object.getOwnPropertyDescriptor(e,o):null;i&&(i.get||i.set)?Object.defineProperty(n,o,i):n[o]=e[o]}return n.default=e,r&&r.set(e,n),n}(r(650)),a=r(529),o=r(203),i=r(404),s=["children","className","draggableOpts","width","height","handle","handleSize","lockAspectRatio","axis","minConstraints","maxConstraints","onResize","onResizeStop","onResizeStart","resizeHandles","transformScale"];function l(e){if("function"!=typeof WeakMap)return null;var t=new WeakMap,r=new WeakMap;return(l=function(e){return e?r:t})(e)}function u(){return u=Object.assign?Object.assign.bind():function(e){for(var t=1;tMath.abs(l*i)?t=e/i:e=t*i}var u=e,c=t,d=this.slack||[0,0],p=d[0],h=d[1];return e+=p,t+=h,n&&(e=Math.max(n[0],e),t=Math.max(n[1],t)),a&&(e=Math.min(a[0],e),t=Math.min(a[1],t)),this.slack=[p+(u-e),h+(c-t)],[e,t]},l.resizeHandler=function(e,t){var r=this;return function(n,a){var o=a.node,i=a.deltaX,s=a.deltaY;"onResizeStart"===e&&r.resetData();var l=("both"===r.props.axis||"x"===r.props.axis)&&"n"!==t&&"s"!==t,u=("both"===r.props.axis||"y"===r.props.axis)&&"e"!==t&&"w"!==t;if(l||u){var c=t[0],d=t[t.length-1],p=o.getBoundingClientRect();null!=r.lastHandleRect&&("w"===d&&(i+=p.left-r.lastHandleRect.left),"n"===c&&(s+=p.top-r.lastHandleRect.top)),r.lastHandleRect=p,"w"===d&&(i=-i),"n"===c&&(s=-s);var h=r.props.width+(l?i/r.props.transformScale:0),f=r.props.height+(u?s/r.props.transformScale:0),m=r.runConstraints(h,f);h=m[0],f=m[1];var g=h!==r.props.width||f!==r.props.height,y="function"==typeof r.props[e]?r.props[e]:null;y&&!("onResize"===e&&!g)&&(null==n.persist||n.persist(),y(n,{node:o,size:{width:h,height:f},handle:t})),"onResizeStop"===e&&r.resetData()}}},l.renderResizeHandle=function(e,t){var r=this.props.handle;if(!r)return n.createElement("span",{className:"react-resizable-handle react-resizable-handle-"+e,ref:t});if("function"==typeof r)return r(e,t);var a=d({ref:t},"string"==typeof r.type?{}:{handleAxis:e});return n.cloneElement(r,a)},l.render=function(){var e=this,t=this.props,r=t.children,i=t.className,l=t.draggableOpts,c=(t.width,t.height,t.handle,t.handleSize,t.lockAspectRatio,t.axis,t.minConstraints,t.maxConstraints,t.onResize,t.onResizeStop,t.onResizeStart,t.resizeHandles),p=(t.transformScale,function(e,t){if(null==e)return{};var r,n,a={},o=Object.keys(e);for(n=0;n=0||(a[r]=e[r]);return a}(t,s));return(0,o.cloneElement)(r,d(d({},p),{},{className:(i?i+" ":"")+"react-resizable",children:[].concat(r.props.children,c.map((function(t){var r,o=null!=(r=e.handleRefs[t])?r:e.handleRefs[t]=n.createRef();return n.createElement(a.DraggableCore,u({},l,{nodeRef:o,key:"resizableHandle-"+t,onStop:e.resizeHandler("onResizeStop",t),onStart:e.resizeHandler("onResizeStart",t),onDrag:e.resizeHandler("onResize",t)}),e.renderResizeHandle(t,o))})))}))},i}(n.Component);t.default=f,f.propTypes=i.resizableProps,f.defaultProps={axis:"both",handleSize:[20,20],lockAspectRatio:!1,minConstraints:[20,20],maxConstraints:[1/0,1/0],resizeHandles:["se"],transformScale:1}},60:(e,t,r)=>{"use strict";t.default=void 0;var n=function(e,t){if(e&&e.__esModule)return e;if(null===e||"object"!=typeof e&&"function"!=typeof e)return{default:e};var r=u(t);if(r&&r.has(e))return r.get(e);var n={},a=Object.defineProperty&&Object.getOwnPropertyDescriptor;for(var o in e)if("default"!==o&&Object.prototype.hasOwnProperty.call(e,o)){var i=a?Object.getOwnPropertyDescriptor(e,o):null;i&&(i.get||i.set)?Object.defineProperty(n,o,i):n[o]=e[o]}return n.default=e,r&&r.set(e,n),n}(r(650)),a=l(r(615)),o=l(r(377)),i=r(404),s=["handle","handleSize","onResize","onResizeStart","onResizeStop","draggableOpts","minConstraints","maxConstraints","lockAspectRatio","axis","width","height","resizeHandles","style","transformScale"];function l(e){return e&&e.__esModule?e:{default:e}}function u(e){if("function"!=typeof WeakMap)return null;var t=new WeakMap,r=new WeakMap;return(u=function(e){return e?r:t})(e)}function c(){return c=Object.assign?Object.assign.bind():function(e){for(var t=1;t=0||(a[r]=e[r]);return a}(e,s);return n.createElement(o.default,{axis:f,draggableOpts:l,handle:t,handleSize:r,height:this.state.height,lockAspectRatio:h,maxConstraints:d,minConstraints:u,onResizeStart:a,onResize:this.onResize,onResizeStop:i,resizeHandles:m,transformScale:y,width:this.state.width},n.createElement("div",c({},b,{style:p(p({},g),{},{width:this.state.width+"px",height:this.state.height+"px"})})))},a}(n.Component);t.default=m,m.propTypes=p(p({},i.resizableProps),{},{children:a.default.element})},404:(e,t,r)=>{"use strict";t.__esModule=!0,t.resizableProps=void 0;var n,a=(n=r(615))&&n.__esModule?n:{default:n};r(529);var o={axis:a.default.oneOf(["both","x","y","none"]),className:a.default.string,children:a.default.element.isRequired,draggableOpts:a.default.shape({allowAnyClick:a.default.bool,cancel:a.default.string,children:a.default.node,disabled:a.default.bool,enableUserSelectHack:a.default.bool,offsetParent:a.default.node,grid:a.default.arrayOf(a.default.number),handle:a.default.string,nodeRef:a.default.object,onStart:a.default.func,onDrag:a.default.func,onStop:a.default.func,onMouseDown:a.default.func,scale:a.default.number}),height:function(){for(var e=arguments.length,t=new Array(e),r=0;r{"use strict";t.__esModule=!0,t.cloneElement=function(e,t){return t.style&&e.props.style&&(t.style=i(i({},e.props.style),t.style)),t.className&&e.props.className&&(t.className=e.props.className+" "+t.className),a.default.cloneElement(e,t)};var n,a=(n=r(650))&&n.__esModule?n:{default:n};function o(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),r.push.apply(r,n)}return r}function i(e){for(var t=1;t{"use strict";e.exports=function(){throw new Error("Don't instantiate Resizable directly! Use require('react-resizable').Resizable")},e.exports.Resizable=r(377).default,e.exports.ResizableBox=r(60).default},644:e=>{"use strict";e.exports=s},305:t=>{"use strict";t.exports=e},545:e=>{"use strict";e.exports=n},388:e=>{"use strict";e.exports=i},980:e=>{"use strict";e.exports=o},650:e=>{"use strict";e.exports=t},729:e=>{"use strict";e.exports=l},814:e=>{"use strict";e.exports=r},177:e=>{"use strict";e.exports=a}},c={};function d(e){var t=c[e];if(void 0!==t)return t.exports;var r=c[e]={id:e,loaded:!1,exports:{}};return u[e](r,r.exports,d),r.loaded=!0,r.exports}d.n=e=>{var t=e&&e.__esModule?()=>e.default:()=>e;return d.d(t,{a:t}),t},d.d=(e,t)=>{for(var r in t)d.o(t,r)&&!d.o(e,r)&&Object.defineProperty(e,r,{enumerable:!0,get:t[r]})},d.g=function(){if("object"==typeof globalThis)return globalThis;try{return this||new Function("return this")()}catch(e){if("object"==typeof window)return window}}(),d.o=(e,t)=>Object.prototype.hasOwnProperty.call(e,t),d.r=e=>{"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},d.nmd=e=>(e.paths=[],e.children||(e.children=[]),e);var p={};return(()=>{"use strict";d.r(p),d.d(p,{plugin:()=>hu});var e=d(305),t=d(650),r=d.n(t);const n=r().createContext(null);var a=d(814);const o=`/a/${JSON.parse('{"id":"trafficcontrol-scenes-app"}').id}`;var i;!function(e){e.CacheGroup="cache-group",e.DeliveryService="delivery-service",e.Server="server"}(i||(i={}));const s={CACHE_STATS:{uid:"cache_stats",type:"influxdb"},DELIVERYSERVICE_STATS:{uid:"deliveryservice_stats",type:"influxdb"},DAILY_STATS:{uid:"daily_stats",type:"influxdb"},TELEGRAF:{uid:"telegraf",type:"influxdb"}};function l(e){return`${o}/${e}`}var u=d(545),c=Object.defineProperty,h=Object.getOwnPropertySymbols,f=Object.prototype.hasOwnProperty,m=Object.prototype.propertyIsEnumerable,g=(e,t,r)=>t in e?c(e,t,{enumerable:!0,configurable:!0,writable:!0,value:r}):e[t]=r,y=(e,t)=>{for(var r in t||(t={}))f.call(t,r)&&g(e,r,t[r]);if(h)for(var r of h(t))m.call(t,r)&&g(e,r,t[r]);return e};function b(t,r){const n=y({},u.locationService.getSearchObject());if(r)for(const e of Object.keys(n))r.includes(e)||delete n[e];return e.urlUtil.renderUrl(e.locationUtil.assureBaseUrl(t),n)}function v(e,t){return r().createElement(e.Component,{model:e,routeProps:t})}Object.defineProperty,Object.defineProperties,Object.getOwnPropertyDescriptors,Object.getOwnPropertySymbols,Object.prototype.hasOwnProperty,Object.prototype.propertyIsEnumerable;const w=new Map;var S=d(177);const _={randomUUID:"undefined"!=typeof crypto&&crypto.randomUUID&&crypto.randomUUID.bind(crypto)};let O;const x=new Uint8Array(16);function C(){if(!O&&(O="undefined"!=typeof crypto&&crypto.getRandomValues&&crypto.getRandomValues.bind(crypto),!O))throw new Error("crypto.getRandomValues() not supported. See https://github.com/uuidjs/uuid#getrandomvalues-not-supported");return O(x)}const P=[];for(let e=0;e<256;++e)P.push((e+256).toString(16).slice(1));const D=function(e,t,r){if(_.randomUUID&&!t&&!e)return _.randomUUID();const n=(e=e||{}).random||(e.rng||C)();if(n[6]=15&n[6]|64,n[8]=63&n[8]|128,t){r=r||0;for(let e=0;e<16;++e)t[r+e]=n[e];return t}return function(e,t=0){return P[e[t+0]]+P[e[t+1]]+P[e[t+2]]+P[e[t+3]]+"-"+P[e[t+4]]+P[e[t+5]]+"-"+P[e[t+6]]+P[e[t+7]]+"-"+P[e[t+8]]+P[e[t+9]]+"-"+P[e[t+10]]+P[e[t+11]]+P[e[t+12]]+P[e[t+13]]+P[e[t+14]]+P[e[t+15]]}(n)};var E=Object.defineProperty,R=Object.defineProperties,j=Object.getOwnPropertyDescriptors,T=Object.getOwnPropertySymbols,k=Object.prototype.hasOwnProperty,A=Object.prototype.propertyIsEnumerable,I=(e,t,r)=>t in e?E(e,t,{enumerable:!0,configurable:!0,writable:!0,value:r}):e[t]=r;const V=r().memo((function(e){var n,a=e,{model:o}=a,i=((e,t)=>{var r={};for(var n in e)k.call(e,n)&&t.indexOf(n)<0&&(r[n]=e[n]);if(null!=e&&T)for(var n of T(e))t.indexOf(n)<0&&A.call(e,n)&&(r[n]=e[n]);return r})(a,["model"]);const s=null!=(n=o.constructor.Component)?n:F,[l,u]=r().useState(!1);return(0,t.useEffect)((()=>(u(!0),o.activate())),[o]),l?r().createElement(s,(c=((e,t)=>{for(var r in t||(t={}))k.call(t,r)&&I(e,r,t[r]);if(T)for(var r of T(t))A.call(t,r)&&I(e,r,t[r]);return e})({},i),R(c,j({model:o})))):null;var c}));function F(e){return null}class L extends e.BusEventWithPayload{}L.type="scene-object-state-change";class M extends e.BusEventWithPayload{}M.type="scene-object-user-action";var z,N=(e,t,r)=>{if(!t.has(e))throw TypeError("Cannot "+r)};class H{constructor(e){var t,r;((e,t,r)=>{if(t.has(e))throw TypeError("Cannot add the same private member more than once");t instanceof WeakSet?t.add(e):t.set(e,void 0)})(this,z),r=e,N(this,t=z,"write to private field"),t.set(this,r)}resolve(){return N(this,e=z,"read from private field"),e.get(this);var e}}z=new WeakMap;var B=Object.defineProperty,U=Object.getOwnPropertySymbols,$=Object.prototype.hasOwnProperty,W=Object.prototype.propertyIsEnumerable,q=(e,t,r)=>t in e?B(e,t,{enumerable:!0,configurable:!0,writable:!0,value:r}):e[t]=r,G=(e,t)=>{for(var r in t||(t={}))$.call(t,r)&&q(e,r,t[r]);if(U)for(var r of U(t))W.call(t,r)&&q(e,r,t[r]);return e};class Q{constructor(t){this._isActive=!1,this._activationHandlers=[],this._deactivationHandlers=new Map,this._subs=new S.Subscription,this._refCount=0,t.key||(t.key=D()),this._events=new e.EventBusSrv,this._state=Object.freeze(t),this._setParent()}get state(){return this._state}get isActive(){return this._isActive}get parent(){return this._parent}get variableDependency(){return this._variableDependency}get urlSync(){return this._urlSync}get Component(){return V}_setParent(){this.forEachChild((e=>{e._parent&&e._parent!==this&&console.warn("SceneObject already has a parent set that is different from the new parent. You cannot share the same SceneObject instance in multiple scenes or in multiple different places of the same scene graph. Use SceneObject.clone() to duplicate a SceneObject or store a state key reference and use sceneGraph.findObject to locate it.",e,this),e._parent=this}))}subscribeToState(e){return this._events.subscribe(L,(t=>{t.payload.changedObject===this&&e(t.payload.newState,t.payload.prevState)}))}subscribeToEvent(e,t){return this._events.subscribe(e,t)}setState(e){const t=this._state,r=G(G({},this._state),e);this._state=Object.freeze(r),this._setParent(),this._handleActivationOfChangedStateProps(t,r),this.publishEvent(new L({prevState:t,newState:r,partialUpdate:e,changedObject:this}),!0)}_handleActivationOfChangedStateProps(e,t){this.isActive&&(e.$data!==t.$data&&this._handleChangedStateActivation(e.$data,t.$data),e.$variables!==t.$variables&&this._handleChangedStateActivation(e.$variables,t.$variables),e.$timeRange!==t.$timeRange&&this._handleChangedStateActivation(e.$timeRange,t.$timeRange))}_handleChangedStateActivation(e,t){if(e){const t=this._deactivationHandlers.get(e);t&&(t(),this._deactivationHandlers.delete(e))}t&&this._deactivationHandlers.set(t,t.activate())}publishEvent(e,t){this._events.publish(e),t&&this.parent&&this.parent.publishEvent(e,t)}getRoot(){return this._parent?this._parent.getRoot():this}_internalActivate(){this._isActive=!0;const{$data:e,$variables:t,$timeRange:r,$behaviors:n}=this.state;if(r&&!r.isActive&&this._deactivationHandlers.set(r,r.activate()),t&&!t.isActive&&this._deactivationHandlers.set(t,t.activate()),e&&!e.isActive&&this._deactivationHandlers.set(e,e.activate()),n)for(const e of n)if(e instanceof Q)this._deactivationHandlers.set(e,e.activate());else if("function"==typeof e){const t=e(this);t&&this._deactivationHandlers.set(e,t)}this._activationHandlers.forEach((e=>{const t=e();t&&this._deactivationHandlers.set(t,t)}))}activate(){this.isActive||this._internalActivate(),this._refCount++;let e=!1;return()=>{if(this._refCount--,e){const e="SceneObject cancelation handler returned by activate() called a second time";throw console.error(e,this),new Error(e)}e=!0,0===this._refCount&&this._internalDeactivate()}}_internalDeactivate(){this._isActive=!1;for(let e of this._deactivationHandlers.values())e();this._deactivationHandlers.clear(),this._events.removeAllListeners(),this._subs.unsubscribe(),this._subs=new S.Subscription}useState(){return function(e){const[r,n]=(0,t.useState)(e.state),a=e.state;return(0,t.useEffect)((()=>{const t=e.subscribeToState(n);return e.state!==a&&n(e.state),()=>t.unsubscribe()}),[e]),e.state}(this)}forceRender(){this.setState({})}clone(e){return function(e,t){const r=function(e,t){const r=ee({},e);for(const e in r){const t=r[e];if(t instanceof Q&&(r[e]=t.clone()),t instanceof H)throw new Error("Cannot clone a SceneObject with a SceneObjectRef in state");if(Array.isArray(t)){const n=[];for(const e of t)e instanceof Q?n.push(e.clone()):n.push(e);r[e]=n}}return Object.assign(r,t),r}(e.state,t);return new e.constructor(r)}(this,e)}addActivationHandler(e){this._activationHandlers.push(e)}forEachChild(e){for(const t of Object.values(this.state))if(t instanceof Q&&e(t),Array.isArray(t))for(const r of t)r instanceof Q&&e(r)}getRef(){return this._ref||(this._ref=new H(this)),this._ref}}var Y=Object.defineProperty,K=Object.getOwnPropertySymbols,X=Object.prototype.hasOwnProperty,Z=Object.prototype.propertyIsEnumerable,J=(e,t,r)=>t in e?Y(e,t,{enumerable:!0,configurable:!0,writable:!0,value:r}):e[t]=r,ee=(e,t)=>{for(var r in t||(t={}))X.call(t,r)&&J(e,r,t[r]);if(K)for(var r of K(t))Z.call(t,r)&&J(e,r,t[r]);return e};function te(e,t){let r,n=e;for(;n&&!r;)r=t(n),n=n.parent;return r}const re=new Map;var ne=(e=>(e[e.never=0]="never",e[e.onDashboardLoad=1]="onDashboardLoad",e[e.onTimeRangeChanged=2]="onTimeRangeChanged",e))(ne||{}),ae=(e=>(e.Done="Done",e.Error="Error",e.Loading="Loading",e.NotStarted="NotStarted",e.Streaming="Streaming",e))(ae||{}),oe=(e=>(e[e.Crosshair=1]="Crosshair",e[e.Off=0]="Off",e[e.Tooltip=2]="Tooltip",e))(oe||{}),ie=Object.defineProperty,se=Object.getOwnPropertySymbols,le=Object.prototype.hasOwnProperty,ue=Object.prototype.propertyIsEnumerable,ce=(e,t,r)=>t in e?ie(e,t,{enumerable:!0,configurable:!0,writable:!0,value:r}):e[t]=r;const de={state:ae.Done,series:[],timeRange:(0,e.getDefaultTimeRange)()};class pe{constructor(e,t){this._sceneObject=e,this._keys=t.keys}getKeys(){return this._keys}getUrlState(){return this._sceneObject.getUrlState()}updateFromUrl(e){this._sceneObject.updateFromUrl(e)}}const he=/^\d+[yYmMsSwWhHdD]$/;function fe(t){if("string"!=typeof t)return null;if(-1!==t.indexOf("now"))return t;if(he.test(t))return t;if(8===t.length){const r=(0,e.toUtc)(t,"YYYYMMDD");if(r.isValid())return r.toISOString()}else if(15===t.length){const r=(0,e.toUtc)(t,"YYYYMMDDTHHmmss");if(r.isValid())return r.toISOString()}else if(24===t.length)return(0,e.toUtc)(t).toISOString();const r=parseInt(t,10);return isNaN(r)?null:(0,e.toUtc)(r).toISOString()}function me(t,r,n,a){return{from:e.dateMath.parse(t,!1,n,a),to:e.dateMath.parse(r,!0,n,a),raw:{from:t,to:r}}}var ge=Object.defineProperty,ye=Object.getOwnPropertySymbols,be=Object.prototype.hasOwnProperty,ve=Object.prototype.propertyIsEnumerable,we=(e,t,r)=>t in e?ge(e,t,{enumerable:!0,configurable:!0,writable:!0,value:r}):e[t]=r;class Se extends Q{constructor(t={}){var r,n;const a=null!=(r=t.from)?r:"now-6h",o=null!=(n=t.to)?n:"now",i=t.timeZone;super(((e,t)=>{for(var r in t||(t={}))be.call(t,r)&&we(e,r,t[r]);if(ye)for(var r of ye(t))ve.call(t,r)&&we(e,r,t[r]);return e})({from:a,to:o,timeZone:i,value:me(a,o,i||(0,e.getTimeZone)(),t.fiscalYearStartMonth)},t)),this._urlSync=new pe(this,{keys:["from","to"]}),this.onTimeRangeChange=e=>{const t={},r={};"string"==typeof e.raw.from?(t.from=e.raw.from,r.from=e.raw.from):(t.from=e.raw.from.toISOString(),r.from=e.raw.from.toISOString(!0)),"string"==typeof e.raw.to?(t.to=e.raw.to,r.to=e.raw.to):(t.to=e.raw.to.toISOString(),r.to=e.raw.to.toISOString(!0)),t.value=me(r.from,r.to,this.getTimeZone(),this.state.fiscalYearStartMonth),t.from===this.state.from&&t.to===this.state.to||this.setState(t)},this.onTimeZoneChange=e=>{this.setState({timeZone:e})},this.onRefresh=()=>{this.setState({value:me(this.state.from,this.state.to,this.getTimeZone(),this.state.fiscalYearStartMonth)})},this.addActivationHandler(this._onActivate.bind(this))}_onActivate(){if(!this.state.timeZone){const e=this.getTimeZoneSource();e!==this&&this._subs.add(e.subscribeToState(((t,r)=>{void 0!==t.timeZone&&t.timeZone!==r.timeZone&&this.setState({value:me(this.state.from,this.state.to,e.getTimeZone(),this.state.fiscalYearStartMonth)})})))}return this.state.weekStart&&(0,e.setWeekStart)(this.state.weekStart),()=>{this.state.weekStart&&(0,e.setWeekStart)(u.config.bootData.user.weekStart)}}getTimeZoneSource(){if(!this.parent||!this.parent.parent)return this;return te(this.parent.parent,(e=>{if(e.state.$timeRange&&e.state.$timeRange.state.timeZone)return e.state.$timeRange}))||this}getTimeZone(){if(this.state.timeZone)return this.state.timeZone;const t=this.getTimeZoneSource();return t!==this?t.state.timeZone:(0,e.getTimeZone)()}getUrlState(){return{from:this.state.from,to:this.state.to}}updateFromUrl(e){var t,r;if(!e.to&&!e.from)return;const n={},a=fe(e.from);a&&(n.from=a);const o=fe(e.to);o&&(n.to=o),n.value=me(null!=(t=n.from)?t:this.state.from,null!=(r=n.to)?r:this.state.to,this.getTimeZone(),this.state.fiscalYearStartMonth),this.setState(n)}}const _e=new class extends Q{constructor(e){super(((e,t)=>{for(var r in t||(t={}))le.call(t,r)&&ce(e,r,t[r]);if(se)for(var r of se(t))ue.call(t,r)&&ce(e,r,t[r]);return e})({data:de},e))}getResultsStream(){const e={origin:this,data:this.state.data};return(0,S.of)(e)}},Oe=new Se,xe=new class extends Q{constructor(){super({variables:[]})}getByName(e){}isVariableLoadingOrWaitingToUpdate(e){return!1}};function Ce(e){var t;return null!=(t=te(e,(e=>e.state.$timeRange)))?t:Oe}var Pe=(e=>(e.CSV="csv",e.Date="date",e.Distributed="distributed",e.DoubleQuote="doublequote",e.Glob="glob",e.HTML="html",e.JSON="json",e.Lucene="lucene",e.PercentEncode="percentencode",e.Pipe="pipe",e.QueryParam="queryparam",e.Raw="raw",e.Regex="regex",e.SQLString="sqlstring",e.SingleQuote="singlequote",e.Text="text",e.UriEncode="uriencode",e))(Pe||{});class De extends e.BusEventWithPayload{}function Ee(e){return"object"==typeof e&&"formatter"in e}De.type="scene-variable-changed-value";var Re=d(980);let je,Te={};function ke(e){return Te[e]||(Te[e]=(0,Re.property)(e))}class Ae{constructor(e,t){this.state={name:e,value:t,type:"scopedvar"}}getValue(e){let{value:t}=this.state,r=t.value;return r=e?ke(e)(t.value):t.value,"string"===r||"number"===r||"boolean"===r?r:String(r)}getValueText(){const{value:e}=this.state;return null!=e.text?String(e.text):String(e)}}const Ie=new e.Registry((()=>[{id:Pe.Lucene,name:"Lucene",description:"Values are lucene escaped and multi-valued variables generate an OR expression",formatter:e=>"string"==typeof e?Ve(e):Array.isArray(e)?0===e.length?"__empty__":"("+(0,Re.map)(e,(e=>'"'+Ve(e)+'"')).join(" OR ")+")":Ve(`${e}`)},{id:Pe.Raw,name:"raw",description:"Keep value as is",formatter:e=>String(e)},{id:Pe.Regex,name:"Regex",description:"Values are regex escaped and multi-valued variables generate a (|) expression",formatter:t=>{if("string"==typeof t)return(0,e.escapeRegex)(t);if(Array.isArray(t)){const r=t.map((t=>"string"==typeof t?(0,e.escapeRegex)(t):(0,e.escapeRegex)(String(t))));return 1===r.length?r[0]:"("+r.join("|")+")"}return(0,e.escapeRegex)(`${t}`)}},{id:Pe.Pipe,name:"Pipe",description:"Values are separated by | character",formatter:e=>"string"==typeof e?e:Array.isArray(e)?e.join("|"):`${e}`},{id:Pe.Distributed,name:"Distributed",description:"Multiple values are formatted like variable=value",formatter:(e,t,r)=>"string"==typeof e?e:Array.isArray(e)?(e=(0,Re.map)(e,((e,t)=>0!==t?r.state.name+"="+e:e))).join(","):`${e}`},{id:Pe.CSV,name:"Csv",description:"Comma-separated values",formatter:e=>"string"==typeof e?e:(0,Re.isArray)(e)?e.join(","):String(e)},{id:Pe.HTML,name:"HTML",description:"HTML escaping of values",formatter:t=>"string"==typeof t?e.textUtil.escapeHtml(t):(0,Re.isArray)(t)?e.textUtil.escapeHtml(t.join(", ")):e.textUtil.escapeHtml(String(t))},{id:Pe.JSON,name:"JSON",description:"JSON stringify value",formatter:e=>"string"==typeof e?e:JSON.stringify(e)},{id:Pe.PercentEncode,name:"Percent encode",description:"Useful for URL escaping values",formatter:e=>(0,Re.isArray)(e)?Fe("{"+e.join(",")+"}"):Fe(e)},{id:Pe.SingleQuote,name:"Single quote",description:"Single quoted values",formatter:e=>{const t=new RegExp("'","g");if((0,Re.isArray)(e))return(0,Re.map)(e,(e=>`'${(0,Re.replace)(e,t,"\\'")}'`)).join(",");let r="string"==typeof e?e:String(e);return`'${(0,Re.replace)(r,t,"\\'")}'`}},{id:Pe.DoubleQuote,name:"Double quote",description:"Double quoted values",formatter:e=>{const t=new RegExp('"',"g");if((0,Re.isArray)(e))return(0,Re.map)(e,(e=>`"${(0,Re.replace)(e,t,'\\"')}"`)).join(",");let r="string"==typeof e?e:String(e);return`"${(0,Re.replace)(r,t,'\\"')}"`}},{id:Pe.SQLString,name:"SQL string",description:"SQL string quoting and commas for use in IN statements and other scenarios",formatter:He},{id:Pe.Date,name:"Date",description:"Format date in different ways",formatter:(t,r)=>{var n;let a=NaN;if("number"==typeof t?a=t:"string"==typeof t&&(a=parseInt(t,10)),isNaN(a))return"NaN";const o=null!=(n=r[0])?n:"iso";switch(o){case"ms":return String(t);case"seconds":return`${Math.round(a/1e3)}`;case"iso":return(0,e.dateTime)(a).toISOString();default:return(r||[]).length>1?(0,e.dateTime)(a).format(r.join(":")):(0,e.dateTime)(a).format(o)}}},{id:Pe.Glob,name:"Glob",description:"Format multi-valued variables using glob syntax, example {value1,value2}",formatter:e=>(0,Re.isArray)(e)&&e.length>1?"{"+e.join(",")+"}":String(e)},{id:Pe.Text,name:"Text",description:"Format variables in their text representation. Example in multi-variable scenario A + B + C.",formatter:(e,t,r)=>r.getValueText?r.getValueText():String(e)},{id:Pe.QueryParam,name:"Query parameter",description:"Format variables as URL parameters. Example in multi-variable scenario A + B + C => var-foo=A&var-foo=B&var-foo=C.",formatter:(e,t,r)=>Array.isArray(e)?e.map((e=>ze(r.state.name,e))).join("&"):ze(r.state.name,e)},{id:Pe.UriEncode,name:"Percent encode as URI",description:"Useful for URL escaping values, taking into URI syntax characters",formatter:e=>(0,Re.isArray)(e)?Le("{"+e.join(",")+"}"):Le(e)}]));function Ve(e){return!1===isNaN(+e)?e:e.replace(/([\!\*\+\-\=<>\s\&\|\(\)\[\]\{\}\^\~\?\:\\/"])/g,"\\$1")}function Fe(e){return"object"==typeof e&&(e=String(e)),Me(encodeURIComponent(e))}const Le=e=>Me(encodeURI(String(e))),Me=e=>e.replace(/[!'()*]/g,(e=>"%"+e.charCodeAt(0).toString(16).toUpperCase()));function ze(e,t){return`var-${e}=${Fe(t)}`}const Ne={"'":"''",'"':'\\"'};function He(e){const t=new RegExp("'|\"","g");if((0,Re.isArray)(e))return(0,Re.map)(e,(e=>`'${(0,Re.replace)(e,t,(e=>{var t;return null!=(t=Ne[e])?t:""}))}'`)).join(",");let r="string"==typeof e?e:String(e);return`'${(0,Re.replace)(r,t,(e=>{var t;return null!=(t=Ne[e])?t:""}))}'`}const Be="All",Ue="$__all",$e="$__auto",We=/\$(\w+)|\[\[(\w+?)(?::(\w+))?\]\]|\${(\w+)(?:\.([^:^\}]+))?(?::([^\}]+))?}/g;function qe(e,t){const r=t.state.$variables;if(!r)return t.parent?qe(e,t.parent):null;return r.getByName(e)||(t.parent?qe(e,t.parent):null)}class Ge extends Q{constructor(e){super(e),this.addActivationHandler((()=>this._onActivate()))}_onActivate(){const{layers:e}=this.state,t=[];for(const r of e)t.push(r.activate());return()=>{t.forEach((e=>e()))}}}function Qe(e){var t;return null!=(t=te(e,(e=>e.state.$data)))?t:_e}function Ye(e,t,r,n){if(t(e))return e;let a=null;return e.forEachChild((e=>{if(e===r)return;let n=Ye(e,t);n&&(a=n)})),a||(n&&e.parent?Ye(e.parent,t,e,!0):null)}class Ke{constructor(e){this._value=e}formatter(){return this._value}}class Xe{constructor(e,t){this.state={name:e,type:"time_macro"},this._sceneObject=t}getValue(){const e=Ce(this._sceneObject);return"__from"===this.state.name?e.state.value.from.valueOf():e.state.value.to.valueOf()}getValueText(){const t=Ce(this._sceneObject);return"__from"===this.state.name?(0,e.dateTimeFormat)(t.state.value.from,{timeZone:t.getTimeZone()}):(0,e.dateTimeFormat)(t.state.value.to,{timeZone:t.getTimeZone()})}}class Ze{constructor(e,t){this.state={name:e,type:"time_macro"},this._sceneObject=t}getValue(){var e;const t=Qe(this._sceneObject);if(t){const r=null==(e=t.state.data)?void 0:e.request;return r?"__interval_ms"===this.state.name?r.intervalMs:r.interval:`\${${this.state.name}}`}return`\${${this.state.name}}`}}function Je(e,t={}){if(e.state.$variables)for(const r of e.state.$variables.state.variables)r.state.skipUrlSync||t[r.state.name]||(t[r.state.name]=r);return e.parent&&Je(e.parent,t),t}var et=Object.defineProperty,tt=Object.defineProperties,rt=Object.getOwnPropertyDescriptors,nt=Object.getOwnPropertySymbols,at=Object.prototype.hasOwnProperty,ot=Object.prototype.propertyIsEnumerable,it=(e,t,r)=>t in e?et(e,t,{enumerable:!0,configurable:!0,writable:!0,value:r}):e[t]=r;const st=(0,e.getDisplayProcessor)();class lt{constructor(e){this._urlQueryParams=e}formatter(e){if(!e)return this._urlQueryParams;const t=e.split(":");if("exclude"===t[0]&&t.length>1){const e=new URLSearchParams(this._urlQueryParams);for(const r of t[1].split(","))e.delete(r);return`?${e}`}if("include"===t[0]&&t.length>1){const e=new URLSearchParams(this._urlQueryParams),r=t[1].split(",");for(const t of e.keys())r.includes(t)||e.delete(t);return`?${e}`}return this._urlQueryParams}}const ut={[e.DataLinkBuiltInVars.includeVars]:class{constructor(e,t){this.state={name:e,type:"url_variable"},this._sceneObject=t}getValue(){const e=Je(this._sceneObject),t=Ie.get(Pe.QueryParam),r=[];for(const n of Object.keys(e)){const a=e[n],o=a.getValue();o&&(Ee(o)?r.push(o.formatter(Pe.QueryParam)):r.push(t.formatter(o,[],a)))}return new Ke(r.join("&"))}getValueText(){return""}},[e.DataLinkBuiltInVars.keepTime]:class{constructor(e,t){this.state={name:e,type:"url_variable"},this._sceneObject=t}getValue(){var t;const r=null==(t=Ce(this._sceneObject).urlSync)?void 0:t.getUrlState();return new Ke(e.urlUtil.toUrlParams(r))}getValueText(){return""}},__value:class{constructor(e,t,r,n){this._match=r,this._scopedVars=n,this.state={name:e,type:"__value"}}getValue(t){var r,n;const a=null==(r=this._scopedVars)?void 0:r.__dataContext;if(!a)return this._match;const{frame:o,rowIndex:i,field:s,calculatedValue:l}=a.value;if(l)switch(t){case"numeric":case"raw":return l.numeric;case"time":return"";default:return(0,e.formattedValueToString)(l)}if(null==i)return this._match;if("time"===t){const t=o.fields.find((t=>t.type===e.FieldType.time));return t?t.values.get(i):void 0}if(!s)return this._match;const u=s.values.get(i);if("raw"===t)return u;const c=(null!=(n=s.display)?n:st)(u);return"numeric"===t?c.numeric:(0,e.formattedValueToString)(c)}getValueText(){return""}},__data:class{constructor(e,t,r,n){this._match=r,this._scopedVars=n,this.state={name:e,type:"__data"}}getValue(t){var r,n;const a=null==(r=this._scopedVars)?void 0:r.__dataContext;if(!a||!t)return this._match;const{frame:o,rowIndex:i}=a.value;if(void 0===i||void 0===t)return this._match;const s={name:o.name,refId:o.refId,fields:(0,e.getFieldDisplayValuesProxy)({frame:o,rowIndex:i})};return null!=(n=ke(t)(s))?n:""}getValueText(){return""}},__series:class{constructor(e,t,r,n){this._match=r,this._scopedVars=n,this.state={name:e,type:"__series"}}getValue(t){var r;const n=null==(r=this._scopedVars)?void 0:r.__dataContext;if(!n||!t)return this._match;if("name"!==t)return this._match;const{frame:a,frameIndex:o}=n.value;return(0,e.getFrameDisplayName)(a,o)}getValueText(){return""}},__field:class{constructor(e,t,r,n){this._match=r,this._scopedVars=n,this.state={name:e,type:"__field"}}getValue(t){var r,n;const a=null==(r=this._scopedVars)?void 0:r.__dataContext;if(!a||!t)return this._match;if(void 0===t||""===t)return this._match;const{frame:o,field:i,data:s}=a.value,l=function(t,r,n){return new Proxy({},{get:(a,o)=>{return"name"===o?t.name:"displayName"===o?(0,e.getFieldDisplayName)(t,r,n):"labels"===o||"formattedLabels"===o?t.labels?(i=((e,t)=>{for(var r in t||(t={}))at.call(t,r)&&it(e,r,t[r]);if(nt)for(var r of nt(t))ot.call(t,r)&&it(e,r,t[r]);return e})({},t.labels),s={__values:Object.values(t.labels).sort().join(", "),toString:()=>(0,e.formatLabels)(t.labels,"",!0)},tt(i,rt(s))):"":void 0;var i,s}})}(i,o,s);return null!=(n=ke(t)(l))?n:""}getValueText(){return""}},__url:class{constructor(e,t){this.state={name:e,type:"url_macro"}}getValue(e){var t;const r=u.locationService.getLocation(),n=null!=(t=u.config.appSubUrl)?t:"";switch(null!=e?e:""){case"params":return new lt(r.search);case"path":return n+r.pathname;default:return n+r.pathname+r.search}}getValueText(){return""}},__from:Xe,__to:Xe,__timezone:class{constructor(e,t){this.state={name:e,type:"time_macro"},this._sceneObject=t}getValue(){return Ce(this._sceneObject).getTimeZone()}getValueText(){return this.getValue()}},__user:class{constructor(e,t){this.state={name:e,type:"user_macro"}}getValue(e){const t=u.config.bootData.user;switch(e){case"login":return t.login;case"email":return t.email;default:return String(t.id)}}getValueText(){return""}},__org:class{constructor(e,t){this.state={name:e,type:"org_macro"}}getValue(e){const t=u.config.bootData.user;return"name"===e?t.orgName:String(t.orgId)}getValueText(){return""}},__interval:Ze,__interval_ms:Ze},ct={getVariables:function(e){var t;return null!=(t=te(e,(e=>e.state.$variables)))?t:xe},getData:Qe,getTimeRange:Ce,getLayout:function(e){return te(e,(e=>function(e){return"isDraggable"in e}(e)?e:void 0))||null},getDataLayers:function(e,t=!1){let r,n=e,a=[];for(;n&&(!n.state.$data||n.state.$data instanceof Ge||n.state.$data.state.$data instanceof Ge&&(r=n.state.$data.state.$data),n.state.$data&&n.state.$data instanceof Ge&&(r=n.state.$data),!r||(a=a.concat(r.state.layers),!t));)n=n.parent;return a},interpolate:function(e,t,r,n){return""===t||null==t?"":function(e,t,r,n){return t?(We.lastIndex=0,t.replace(We,((t,a,o,i,s,l,u)=>{const c=i||u||n,d=function(e,t,r,n){const a=null==r?void 0:r[e];if(a)return function(e,t){return je?(je.state.name=e,je.state.value=t):je=new Ae(e,t),je}(e,a);return qe(e,n)||(ut[e]?new ut[e](e,n,t,r):null)}(a||o||s,t,r,e);return d?function(e,t,r){if(null==t)return"";if(Ee(t))return t.formatter(r);if(Array.isArray(t)||"object"!=typeof t||(t=`${t}`),"function"==typeof r)return r(t,{name:e.state.name,type:e.state.type,multi:e.state.isMulti,includeAll:e.state.includeAll});let n=[];r?(n=r.split(":"),n.length>1?(r=n[0],n=n.slice(1)):n=[]):r=Pe.Glob;let a=Ie.getIfExists(r);return a||(console.error(`Variable format ${r} not found. Using glob format as fallback.`),a=Ie.get(Pe.Glob)),a.formatter(t,n,e)}(d,d.getValue(l),c):t}))):null!=t?t:""}(e,t,r,n)},lookupVariable:qe,hasVariableDependencyInLoadingState:function(e){if(!e.variableDependency)return!1;for(const t of e.variableDependency.getNames()){const r=qe(t,e);if(r&&r.parent.isVariableLoadingOrWaitingToUpdate(r))return!0}return!1},findObject:function(e,t){return Ye(e,t,void 0,!0)},getAncestor:function(e,t){let r=e;for(;r;){if(r instanceof t)return r;r=r.parent}throw new Error("Unable to find parent of type "+t.name)}};function dt(e,t){return e===t||(0,Re.isEqual)(e,t)}function pt(e){try{return JSON.stringify(e,null)}catch(e){console.error(e)}return""}class ht{constructor(e,t){this._sceneObject=e,this._options=t,this._dependencies=new Set,this.scanCount=0,this.defaultHandlerReferencedVariableValueChanged=()=>{this._sceneObject.forceRender()},this._statePaths=t.statePaths}hasDependencyOn(e){return this.getNames().has(e)}variableUpdatesCompleted(e){const t=this.getNames();let r=!1;for(const n of e)if(t.has(n.state.name)){r=!0;break}this._options.onVariableUpdatesCompleted?this._options.onVariableUpdatesCompleted(e,r):r&&(this._options.onReferencedVariableValueChanged?this._options.onReferencedVariableValueChanged():this.defaultHandlerReferencedVariableValueChanged())}getNames(){const e=this._state,t=this._state=this._sceneObject.state;if(!e)return this.scanStateForDependencies(this._state),this._dependencies;if(t!==e)if(this._statePaths){for(const r of this._statePaths)if(t[r]!==e[r]){this.scanStateForDependencies(t);break}}else this.scanStateForDependencies(t);return this._dependencies}setPaths(e){this._statePaths=e}scanStateForDependencies(e){if(this._dependencies.clear(),this.scanCount+=1,this._options.variableNames)for(const e of this._options.variableNames)this._dependencies.add(e);else if(this._statePaths)for(const t of this._statePaths){const r=e[t];r&&this.extractVariablesFrom(r)}else this.extractVariablesFrom(e)}extractVariablesFrom(e){We.lastIndex=0;const t=("string"!=typeof e?pt(e):e).matchAll(We);if(t)for(const e of t){const[,t,r,,n]=e,a=t||r||n;this._dependencies.add(a)}}}var ft=Object.defineProperty,mt=Object.defineProperties,gt=Object.getOwnPropertyDescriptors,yt=Object.getOwnPropertySymbols,bt=Object.prototype.hasOwnProperty,vt=Object.prototype.propertyIsEnumerable,wt=(e,t,r)=>t in e?ft(e,t,{enumerable:!0,configurable:!0,writable:!0,value:r}):e[t]=r;class St extends Q{constructor(e){var t,r;super((t=((e,t)=>{for(var r in t||(t={}))bt.call(t,r)&&wt(e,r,t[r]);if(yt)for(var r of yt(t))vt.call(t,r)&&wt(e,r,t[r]);return e})({},e),r={sync:e.sync||oe.Off},mt(t,gt(r)))),this.getEventsBus=e=>{if(!this.parent)throw new Error("EnableCursorSync cannot be used as a standalone scene object");return new _t(this.parent,e)}}getEventsScope(){if(!this.parent)throw new Error("EnableCursorSync cannot be used as a standalone scene object");return this.state.key}}class _t{constructor(e,t){this._source=e,this._eventsOrigin=t}publish(e){e.origin=this,this._eventsOrigin.publishEvent(e,!0)}getStream(e){return new S.Observable((t=>{const r=this._source.subscribeToEvent(e,(e=>{t.next(e)}));return()=>r.unsubscribe()}))}subscribe(e,t){return this.getStream(e).pipe().subscribe(t)}removeAllListeners(){}newScopedBus(e,t){throw new Error("For internal use only")}}async function Ot(e,t){if(null==e?void 0:e.uid){const t=re.get(e.uid);if(t)return t}return e&&e.query?e:await(0,u.getDataSourceSrv)().get(e,t)}class xt{constructor(){this._values=new Map}recordCurrentDependencyValuesForSceneObject(e){if(this.clearValues(),e.variableDependency)for(const t of e.variableDependency.getNames()){const r=ct.lookupVariable(t,e);r&&this._values.set(r,r.getValue())}}clearValues(){this._values.clear()}hasValues(){return!!this._values}recordCurrentValue(e){this._values.set(e,e.getValue())}hasRecordedValue(e){return this._values.has(e)}hasValueChanged(e){return!(!this._values.has(e)||dt(this._values.get(e),e.getValue()))}hasDependenciesChanged(e){if(!this._values)return!1;if(!e.variableDependency)return!1;for(const t of e.variableDependency.getNames()){const r=ct.lookupVariable(t,e);if(r&&this._values.has(r)&&!dt(this._values.get(r),r.getValue()))return!0}return!1}}function Ct(e){return"function"==typeof e}Object.defineProperty,Object.getOwnPropertySymbols,Object.prototype.hasOwnProperty,Object.prototype.propertyIsEnumerable;var Pt=function(e,t){return Pt=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var r in t)Object.prototype.hasOwnProperty.call(t,r)&&(e[r]=t[r])},Pt(e,t)};function Dt(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Class extends value "+String(t)+" is not a constructor or null");function r(){this.constructor=e}Pt(e,t),e.prototype=null===t?Object.create(t):(r.prototype=t.prototype,new r)}function Et(e){var t="function"==typeof Symbol&&Symbol.iterator,r=t&&e[t],n=0;if(r)return r.call(e);if(e&&"number"==typeof e.length)return{next:function(){return e&&n>=e.length&&(e=void 0),{value:e&&e[n++],done:!e}}};throw new TypeError(t?"Object is not iterable.":"Symbol.iterator is not defined.")}function Rt(e,t){var r="function"==typeof Symbol&&e[Symbol.iterator];if(!r)return e;var n,a,o=r.call(e),i=[];try{for(;(void 0===t||t-- >0)&&!(n=o.next()).done;)i.push(n.value)}catch(e){a={error:e}}finally{try{n&&!n.done&&(r=o.return)&&r.call(o)}finally{if(a)throw a.error}}return i}function jt(e,t,r){if(r||2===arguments.length)for(var n,a=0,o=t.length;at in e?nr(e,t,{enumerable:!0,configurable:!0,writable:!0,value:r}):e[t]=r;const lr="__previousPeriod",ur="__noPeriod",cr={label:"Previous period",value:lr},dr={label:"No comparison",value:ur},pr=[{label:"Day before",value:"24h"},{label:"Week before",value:"1w"},{label:"Month before",value:"1M"}];class hr extends Q{constructor(t){super(((e,t)=>{for(var r in t||(t={}))or.call(t,r)&&sr(e,r,t[r]);if(ar)for(var r of ar(t))ir.call(t,r)&&sr(e,r,t[r]);return e})({compareOptions:pr},t)),this._urlSync=new pe(this,{keys:["compareWith"]}),this._onActivate=()=>{const e=ct.getTimeRange(this);this.setState({compareOptions:this.getCompareOptions(e.state.value)}),this._subs.add(e.subscribeToState((e=>{const t=this.getCompareOptions(e.value),r={compareOptions:t};Boolean(this.state.compareWith)&&!t.find((({value:e})=>e===this.state.compareWith))&&(r.compareWith=lr),this.setState(r)})))},this.getCompareOptions=t=>{const r=Math.ceil(t.to.diff(t.from)),n=pr.findIndex((({value:t})=>e.rangeUtil.intervalToMs(t)>=r));return[dr,cr,...pr.slice(n).map((({label:e,value:t})=>({label:e,value:t})))]},this.onCompareWithChanged=e=>{e===ur?this.onClearCompare():this.setState({compareWith:e})},this.onClearCompare=()=>{this.setState({compareWith:void 0})},this.addActivationHandler(this._onActivate)}getCompareTimeRange(t){let r,n;if(this.state.compareWith){if(this.state.compareWith===lr){const a=t.to.diff(t.from);r=(0,e.dateTime)(t.from).subtract(a),n=(0,e.dateTime)(t.to).subtract(a)}else r=(0,e.dateTime)(t.from).subtract(e.rangeUtil.intervalToMs(this.state.compareWith)),n=(0,e.dateTime)(t.to).subtract(e.rangeUtil.intervalToMs(this.state.compareWith));return{from:r,to:n,raw:{from:r,to:n}}}}getUrlState(){return{compareWith:this.state.compareWith}}updateFromUrl(e){if(!e.compareWith)return;const t=fe(e.compareWith);t&&(this.getCompareOptions(ct.getTimeRange(this).state.value).find((({value:e})=>e===t))?this.setState({compareWith:t}):this.setState({compareWith:"__previousPeriod"}))}}function fr(e){return{previewButton:(0,rr.css)({"&:disabled":{border:`1px solid ${e.colors.secondary.border}`,color:e.colors.text.disabled,opacity:1}})}}hr.Component=function({model:e}){var t;const n=(0,tr.useStyles2)(fr),{compareWith:a,compareOptions:o}=e.useState(),[i,s]=r().useState(a),l=null!=(t=o.find((({value:e})=>e===i)))?t:cr,u=o.find((({value:e})=>e===a)),c=Boolean(u),d=()=>{c?(s(a),e.onClearCompare()):c||e.onCompareWithChanged(l.value)};return r().createElement(tr.ButtonGroup,null,r().createElement(tr.ToolbarButton,{variant:"canvas",tooltip:"Enable time frame comparison",onClick:e=>{e.stopPropagation(),e.preventDefault(),d()}},r().createElement(tr.Checkbox,{label:" ",value:c,onClick:d}),"Comparison"),c?r().createElement(tr.ButtonSelect,{variant:"canvas",value:u,options:o,onChange:t=>{e.onCompareWithChanged(t.value)}}):r().createElement(tr.ToolbarButton,{className:n.previewButton,disabled:!0,variant:"canvas",isOpen:!1},l.label))};const mr=e=>`${e}-compare`;var gr=Object.defineProperty,yr=Object.defineProperties,br=Object.getOwnPropertyDescriptors,vr=Object.getOwnPropertySymbols,wr=Object.prototype.hasOwnProperty,Sr=Object.prototype.propertyIsEnumerable,_r=(e,t,r)=>t in e?gr(e,t,{enumerable:!0,configurable:!0,writable:!0,value:r}):e[t]=r,Or=(e,t)=>{for(var r in t||(t={}))wr.call(t,r)&&_r(e,r,t[r]);if(vr)for(var r of vr(t))Sr.call(t,r)&&_r(e,r,t[r]);return e},xr=(e,t)=>yr(e,br(t));function Cr(t){return t.pipe((0,S.map)((([t,r])=>{const n=r.timeRange.from.diff(t.timeRange.from);return r.series.forEach((t=>{t.refId=mr(t.refId||""),t.meta=xr(Or({},t.meta),{timeCompare:{diffMs:n,isTimeShiftQuery:!0}}),t.fields.forEach((t=>(t.type===e.FieldType.time&&(t.values=t.values.map((e=>n<0?e-n:e+n))),t.config=xr(Or({},t.config),{color:{mode:"fixed",fixedColor:u.config.theme.palette.gray60}}),t)))})),xr(Or({},t),{series:[...t.series,...r.series]})})))}var Pr=Object.defineProperty,Dr=Object.defineProperties,Er=Object.getOwnPropertyDescriptors,Rr=Object.getOwnPropertySymbols,jr=Object.prototype.hasOwnProperty,Tr=Object.prototype.propertyIsEnumerable,kr=(e,t,r)=>t in e?Pr(e,t,{enumerable:!0,configurable:!0,writable:!0,value:r}):e[t]=r,Ar=(e,t)=>{for(var r in t||(t={}))jr.call(t,r)&&kr(e,r,t[r]);if(Rr)for(var r of Rr(t))Tr.call(t,r)&&kr(e,r,t[r]);return e},Ir=(e,t)=>Dr(e,Er(t));function Vr(e){return void 0!==e.useState}function Fr(e){return"enrichDataRequest"in e}let Lr,Mr=new Set;var zr=Object.defineProperty,Nr=Object.defineProperties,Hr=Object.getOwnPropertyDescriptors,Br=Object.getOwnPropertySymbols,Ur=Object.prototype.hasOwnProperty,$r=Object.prototype.propertyIsEnumerable,Wr=(e,t,r)=>t in e?zr(e,t,{enumerable:!0,configurable:!0,writable:!0,value:r}):e[t]=r,qr=(e,t)=>{for(var r in t||(t={}))Ur.call(t,r)&&Wr(e,r,t[r]);if(Br)for(var r of Br(t))$r.call(t,r)&&Wr(e,r,t[r]);return e},Gr=(e,t)=>Nr(e,Hr(t));let Qr=100;function Yr(){return"SQR"+Qr++}class Kr extends Q{constructor(t){super(t),this._variableValueRecorder=new xt,this._results=new S.ReplaySubject,this._scopedVars={__sceneObject:{value:this,text:"__sceneObject"}},this._variableDependency=new ht(this,{statePaths:["queries","datasource"],onVariableUpdatesCompleted:(e,t)=>this.onVariableUpdatesCompleted(e,t)}),this.prepareRequests=(t,r)=>{const n=this.getTimeCompare(),{minInterval:a,queries:o}=this.state;let i,s=qr({app:"scenes",requestId:Yr(),timezone:t.getTimeZone(),panelId:1,range:t.state.value,interval:"1s",intervalMs:1e3,targets:(0,Re.cloneDeep)(o),maxDataPoints:this.getMaxDataPoints(),scopedVars:this._scopedVars,startTime:Date.now(),liveStreaming:this.state.liveStreaming,rangeRaw:{from:t.state.from,to:t.state.to}},function(e){const t=e.getRoot();return Fr(t)?t.enrichDataRequest(e):null}(this));this._adhocFilterSet&&(s.filters=this._adhocFilterSet.state.filters),s.targets=s.targets.map((e=>(e.datasource||(e.datasource=r.getRef()),e)));const l=a||r.interval,u=e.rangeUtil.calculateInterval(t.state.value,s.maxDataPoints,l);s.scopedVars=Object.assign({},s.scopedVars,{__interval:{text:u.interval,value:u.interval},__interval_ms:{text:u.intervalMs.toString(),value:u.intervalMs}}),s.interval=u.interval,s.intervalMs=u.intervalMs;const c=t.state.value;if(n){const e=n.getCompareTimeRange(c);e&&(i=Gr(qr({},s),{range:e,requestId:Yr()}),s=Gr(qr({},s),{range:c}))}return[s,i]},this.onDataReceived=t=>{this._results.next({origin:this,data:t});const r=(0,e.preProcessPanelData)(t,this.state.data),n=this._combineDataLayers(r);let a=this.state._hasFetchedData;a||r.state===ae.Loading||(a=!0),this.setState({data:n,_hasFetchedData:a})},this.addActivationHandler((()=>this._onActivate()))}getResultsStream(){return this._results}_onActivate(){const e=ct.getTimeRange(this),t=this.getTimeCompare();return t&&this._subs.add(t.subscribeToState(((e,t)=>{e.compareWith!==t.compareWith&&this.runQueries()}))),this._subs.add(e.subscribeToState((()=>{this.runWithTimeRange(e)}))),this.shouldRunQueriesOnActivate()&&this.runQueries(),()=>this._onDeactivate()}_handleDataLayers(){const e=ct.getDataLayers(this),t=[],r=new Map;e.length>0&&(e.forEach((e=>{t.push(e.getResultsStream())})),this._dataLayersSub=(0,S.merge)(t).pipe((0,S.mergeAll)(),(0,S.map)((e=>(r.set(e.origin.state.key,e.data),r)))).subscribe((e=>{this._onLayersReceived(e)})))}_onLayersReceived(t){var r;const n=ct.getTimeRange(this),a=ct.getDataLayers(this),{dataLayerFilter:o}=this.state;let i,s=[],l=[];const u=Array.from(t.keys());if(Array.from(t.values()).forEach(((t,r)=>{const n=u[r],o=a.find((e=>e.state.key===n));o&&(o.topic===e.DataTopic.Annotations&&t[e.DataTopic.Annotations]&&(s=s.concat(t[e.DataTopic.Annotations])),"alertStates"===o.topic&&(l=l.concat(t.series)))})),(null==o?void 0:o.panelId)&&(s.length>0&&(s=function(e,t){var r;if(!Array.isArray(e)||0===e.length)return e;const n=Array.from({length:e.length},(()=>new Set));let a=0;for(const o of e){for(let e=0;e"panelId"===e.name)),l=o.fields.find((e=>"source"===e.name));if(l){s&&"dashboard"===l.values[e].type&&(i=s.values[e]===t.panelId);const n=l.values[e].filter;if(n){const e=(null!=(r=n.ids)?r:[]).includes(t.panelId);n.exclude?e&&(i=!1):e||(i=!1)}}i&&n[a].add(e)}a++}const o=[];a=0;for(const t of e){const e=n[a].size,r=[];for(const e of t.fields){const o=[];for(let r=0;r0))for(const t of l){const r=new e.DataFrameView(t);for(const e of r)if(e.panelId===o.panelId){i=e;break}}const c=this.state.data?this.state.data:Gr(qr({},de),{timeRange:n.state.value});this.setState({data:Gr(qr({},c),{annotations:s,alertState:null!=i?i:null==(r=this.state.data)?void 0:r.alertState})})}onVariableUpdatesCompleted(e,t){(this.state._isWaitingForVariables||t)&&this.runQueries()}shouldRunQueriesOnActivate(){return!(!this.state.maxDataPoints&&this.state.maxDataPointsFromWidth&&!this._containerWidth||(this._variableValueRecorder.hasDependenciesChanged(this)?(er("SceneQueryRunner","Variable dependency changed while inactive, shouldRunQueriesOnActivate returns true"),0):this.state.data&&!this._isDataTimeRangeStale(this.state.data)))}_isDataTimeRangeStale(e){const t=ct.getTimeRange(this).state.value,r=e.timeRange;return(t.from.unix()!==r.from.unix()||t.to.unix()!==r.to.unix())&&(er("SceneQueryRunner","Data time range is stale"),!0)}_onDeactivate(){this._querySub&&(this._querySub.unsubscribe(),this._querySub=void 0),this._dataLayersSub&&(this._dataLayersSub.unsubscribe(),this._dataLayersSub=void 0),this._adhocFilterSub&&this._adhocFilterSub.unsubscribe(),this._variableValueRecorder.recordCurrentDependencyValuesForSceneObject(this)}setContainerWidth(e){!this._containerWidth&&e>0?(this._containerWidth=e,this.state.maxDataPointsFromWidth&&!this.state.maxDataPoints&&setTimeout((()=>{this.isActive&&!this.state._hasFetchedData&&this.runQueries()}),0)):e>0&&(this._containerWidth=e)}isDataReadyToDisplay(){return Boolean(this.state._hasFetchedData)}runQueries(){const e=ct.getTimeRange(this);this.runWithTimeRange(e)}getMaxDataPoints(){var e;return this.state.maxDataPoints?this.state.maxDataPoints:this.state.maxDataPointsFromWidth&&null!=(e=this._containerWidth)?e:500}cancelQuery(){var e;null==(e=this._querySub)||e.unsubscribe(),this._dataLayersSub&&(this._dataLayersSub.unsubscribe(),this._dataLayersSub=void 0),this.setState({data:Gr(qr({},this.state.data),{state:ae.Done})})}async runWithTimeRange(e){var t,r;this._dataLayersSub||this._handleDataLayers();const n=(0,u.getRunRequest)();if(null==(t=this._querySub)||t.unsubscribe(),ct.hasVariableDependencyInLoadingState(this))return er("SceneQueryRunner","Variable dependency is in loading state, skipping query execution"),void this.setState({_isWaitingForVariables:!0});this.state._isWaitingForVariables&&this.setState({_isWaitingForVariables:!1});const{queries:a}=this.state;if(null==a?void 0:a.length)try{const t=null!=(r=this.state.datasource)?r:function(e){var t,r;return null!=(r=null==(t=e.find((e=>null!==e.datasource)))?void 0:t.datasource)?r:void 0}(a),o=await Ot(t,this._scopedVars);this._adhocFilterSet||this.findAndSubscribeToAdhocFilters(null==t?void 0:t.uid);const[i,s]=this.prepareRequests(e,o);er("SceneQueryRunner","Starting runRequest",this.state.key),this._querySub=s?(0,S.forkJoin)([n(o,i),n(o,s)]).pipe(Cr).subscribe(this.onDataReceived):n(o,i).subscribe(this.onDataReceived)}catch(e){console.error("PanelQueryRunner Error",e);const t=Gr(qr(qr({},de),this.state.data),{state:ae.Error,errors:[(0,u.toDataQueryError)(e)]});this.setState({data:t})}else this._setNoDataState()}_combineDataLayers(e){return this.state.data&&this.state.data.annotations&&(e.annotations=(e.annotations||[]).concat(this.state.data.annotations)),this.state.data&&this.state.data.alertState&&(e.alertState=this.state.data.alertState),e}_setNoDataState(){this.state.data!==de&&this.setState({data:de})}getTimeCompare(){return this.parent?te(this.parent,(e=>{let t=null;return e instanceof hr?e:(e.forEachChild((e=>{e instanceof hr&&(t=e)})),t)})):null}findAndSubscribeToAdhocFilters(e){var t;const r=function(e){var t;for(const r of Mr.values())if((null==(t=r.state.datasource)?void 0:t.uid)===e)return r}(e);r&&"same-datasource"===r.state.applyMode&&(this._adhocFilterSet=r,this._adhocFilterSub=null==(t=this._adhocFilterSet)?void 0:t.subscribeToState((()=>this.runQueries())))}}const Xr={Breadcrumbs:{breadcrumb:e=>`data-testid ${e} breadcrumb`},TimePicker:{openButton:"data-testid TimePicker Open Button",fromField:"Time Range from field",toField:"Time Range to field",applyTimeRange:"data-testid TimePicker submit button",calendar:{label:"Time Range calendar",openButton:"Open time range calendar",closeButton:"Close time range Calendar"},absoluteTimeRangeTitle:"data-testid-absolute-time-range-narrow"},DataSourcePermissions:{form:()=>'form[name="addPermission"]',roleType:"Role to add new permission to",rolePicker:"Built-in role picker",permissionLevel:"Permission Level"},DataSource:{TestData:{QueryTab:{scenarioSelectContainer:"Test Data Query scenario select container",scenarioSelect:"Test Data Query scenario select",max:"TestData max",min:"TestData min",noise:"TestData noise",seriesCount:"TestData series count",spread:"TestData spread",startValue:"TestData start value",drop:"TestData drop values"}},DataSourceHttpSettings:{urlInput:"Datasource HTTP settings url"},Jaeger:{traceIDInput:"Trace ID"},Prometheus:{configPage:{exemplarsAddButton:"Add exemplar config button",internalLinkSwitch:"Internal link switch"},exemplarMarker:"Exemplar marker"}},Menu:{MenuComponent:e=>`${e} menu`,MenuGroup:e=>`${e} menu group`,MenuItem:e=>`${e} menu item`,SubMenu:{container:"SubMenu container",icon:"SubMenu icon"}},Panels:{Panel:{title:e=>`data-testid Panel header ${e}`,headerItems:e=>`Panel header item ${e}`,menuItems:e=>`data-testid Panel menu item ${e}`,menu:e=>`data-testid Panel menu ${e}`,containerByTitle:e=>`${e} panel`,headerCornerInfo:e=>`Panel header ${e}`,loadingBar:()=>"Panel loading bar",HoverWidget:{container:"data-test-id hover-header-container",dragIcon:"data-testid drag-icon"}},Visualization:{Graph:{container:"Graph container",VisualizationTab:{legendSection:"Legend section"},Legend:{legendItemAlias:e=>`gpl alias ${e}`,showLegendSwitch:"gpl show legend"},xAxis:{labels:()=>"div.flot-x-axis > div.flot-tick-label"}},BarGauge:{value:"Bar gauge value",valueV2:"data-testid Bar gauge value"},PieChart:{svgSlice:"Pie Chart Slice"},Text:{container:()=>".markdown-html"},Table:{header:"table header",footer:"table-footer"}}},VizLegend:{seriesName:e=>`VizLegend series ${e}`},Drawer:{General:{title:e=>`Drawer title ${e}`,expand:"Drawer expand",contract:"Drawer contract",close:"Drawer close",rcContentWrapper:()=>".rc-drawer-content-wrapper"}},PanelEditor:{General:{content:"Panel editor content"},OptionsPane:{content:"Panel editor option pane content",select:"Panel editor option pane select",fieldLabel:e=>`${e} field property editor`},DataPane:{content:"Panel editor data pane content"},applyButton:"data-testid Apply changes and go back to dashboard",toggleVizPicker:"data-testid toggle-viz-picker",toggleVizOptions:"data-testid toggle-viz-options",toggleTableView:"toggle-table-view",measureButton:"show measure tools"},PanelInspector:{Data:{content:"Panel inspector Data content"},Stats:{content:"Panel inspector Stats content"},Json:{content:"Panel inspector Json content"},Query:{content:"Panel inspector Query content",refreshButton:"Panel inspector Query refresh button",jsonObjectKeys:()=>".json-formatter-key"}},Tab:{title:e=>`Tab ${e}`,active:()=>'[class*="-activeTabStyle"]'},RefreshPicker:{runButton:"RefreshPicker run button",intervalButton:"RefreshPicker interval button",runButtonV2:"data-testid RefreshPicker run button",intervalButtonV2:"data-testid RefreshPicker interval button"},QueryTab:{content:"Query editor tab content",queryInspectorButton:"Query inspector button",queryHistoryButton:"Rich history button",addQuery:"Query editor add query button"},QueryHistory:{queryText:"Query text"},QueryEditorRows:{rows:"Query editor row"},QueryEditorRow:{actionButton:e=>`${e}`,title:e=>`Query editor row title ${e}`,container:e=>`Query editor row ${e}`},AlertTab:{content:"Alert editor tab content"},Alert:{alert:e=>`Alert ${e}`,alertV2:e=>`data-testid Alert ${e}`},TransformTab:{content:"Transform editor tab content",newTransform:e=>`New transform ${e}`,transformationEditor:e=>`Transformation editor ${e}`,transformationEditorDebugger:e=>`Transformation editor debugger ${e}`},Transforms:{card:e=>`New transform ${e}`,Reduce:{modeLabel:"Transform mode label",calculationsLabel:"Transform calculations label"},SpatialOperations:{actionLabel:"root Action field property editor",locationLabel:"root Location field property editor",location:{autoOption:"Auto location option",coords:{option:"Coords location option",latitudeFieldLabel:"root Latitude field field property editor",longitudeFieldLabel:"root Longitude field field property editor"},geohash:{option:"Geohash location option",geohashFieldLabel:"root Geohash field field property editor"},lookup:{option:"Lookup location option",lookupFieldLabel:"root Lookup field field property editor",gazetteerFieldLabel:"root Gazetteer field property editor"}}},searchInput:"search transformations"},NavBar:{Configuration:{button:"Configuration"},Toggle:{button:"Toggle menu"},Reporting:{button:"Reporting"}},NavMenu:{item:"data-testid Nav menu item"},NavToolbar:{container:"data-testid Nav toolbar"},PageToolbar:{container:()=>".page-toolbar",item:e=>`${e}`,itemButton:e=>`data-testid ${e}`},QueryEditorToolbarItem:{button:e=>`QueryEditor toolbar item button ${e}`},BackButton:{backArrow:"Go Back"},OptionsGroup:{group:e=>e?`Options group ${e}`:"Options group",toggle:e=>e?`Options group ${e} toggle`:"Options group toggle"},PluginVisualization:{item:e=>`Plugin visualization item ${e}`,current:()=>'[class*="-currentVisualizationItem"]'},Select:{option:"Select option",input:()=>'input[id*="time-options-input"]',singleValue:()=>'div[class*="-singleValue"]'},FieldConfigEditor:{content:"Field config editor content"},OverridesConfigEditor:{content:"Field overrides editor content"},FolderPicker:{container:"Folder picker select container",containerV2:"data-testid Folder picker select container",input:"Select a folder"},ReadonlyFolderPicker:{container:"data-testid Readonly folder picker select container"},DataSourcePicker:{container:"data-testid Data source picker select container",input:()=>'input[id="data-source-picker"]',inputV2:"Select a data source"},TimeZonePicker:{container:"Time zone picker select container",containerV2:"data-testid Time zone picker select container"},WeekStartPicker:{container:"Choose starting day of the week",containerV2:"data-testid Choose starting day of the week",placeholder:"Choose starting day of the week"},TraceViewer:{spanBar:"data-testid SpanBar--wrapper"},QueryField:{container:"Query field"},QueryBuilder:{queryPatterns:"Query patterns",labelSelect:"Select label",valueSelect:"Select value",matchOperatorSelect:"Select match operator"},ValuePicker:{button:e=>`Value picker button ${e}`,select:e=>`Value picker select ${e}`},Search:{section:"Search section",sectionV2:"data-testid Search section",items:"Search items",itemsV2:"data-testid Search items",cards:"data-testid Search cards",collapseFolder:e=>`data-testid Collapse folder ${e}`,expandFolder:e=>`data-testid Expand folder ${e}`,dashboardItem:e=>`${Xr.Search.dashboardItems} ${e}`,dashboardCard:e=>`data-testid Search card ${e}`,folderHeader:e=>`data-testid Folder header ${e}`,folderContent:e=>`data-testid Folder content ${e}`,dashboardItems:"data-testid Dashboard search item"},DashboardLinks:{container:"data-testid Dashboard link container",dropDown:"data-testid Dashboard link dropdown",link:"data-testid Dashboard link"},LoadingIndicator:{icon:"Loading indicator"},CallToActionCard:{button:e=>`Call to action button ${e}`,buttonV2:e=>`data-testid Call to action button ${e}`},DataLinksContextMenu:{singleLink:"Data link"},CodeEditor:{container:"Code editor container"},DashboardImportPage:{textarea:"data-testid-import-dashboard-textarea",submit:"data-testid-load-dashboard"},ImportDashboardForm:{name:"data-testid-import-dashboard-title",submit:"data-testid-import-dashboard-submit"},PanelAlertTabContent:{content:"Unified alert editor tab content"},VisualizationPreview:{card:e=>`data-testid suggestion-${e}`},ColorSwatch:{name:"data-testid-colorswatch"},DashboardRow:{title:e=>`data-testid dashboard-row-title-${e}`},UserProfile:{profileSaveButton:"data-testid-user-profile-save",preferencesSaveButton:"data-testid-shared-prefs-save",orgsTable:"data-testid-user-orgs-table",sessionsTable:"data-testid-user-sessions-table"},FileUpload:{inputField:"data-testid-file-upload-input-field",fileNameSpan:"data-testid-file-upload-file-name"},DebugOverlay:{wrapper:"debug-overlay"},OrgRolePicker:{input:"Role"},AnalyticsToolbarButton:{button:"Dashboard insights"},Variables:{variableOption:"data-testid variable-option"},Annotations:{annotationsTypeInput:"annotations-type-input",annotationsChoosePanelInput:"choose-panels-input"}},Zr={pages:{Login:{url:"/login",username:"Username input field",password:"Password input field",submit:"Login button",skip:"Skip change password button"},Home:{url:"/"},DataSource:{name:"Data source settings page name input field",delete:"Data source settings page Delete button",readOnly:"Data source settings page read only message",saveAndTest:"data-testid Data source settings page Save and Test button",alert:"Data source settings page Alert"},DataSources:{url:"/datasources",dataSources:e=>`Data source list item ${e}`},EditDataSource:{url:e=>`/datasources/edit/${e}`,settings:"Datasource settings page basic settings"},AddDataSource:{url:"/datasources/new",dataSourcePlugins:e=>`Data source plugin item ${e}`,dataSourcePluginsV2:e=>`Add new data source ${e}`},ConfirmModal:{delete:"data-testid Confirm Modal Danger Button"},AddDashboard:{url:"/dashboard/new",itemButton:e=>`data-testid ${e}`,addNewPanel:"Add new panel",addNewRow:"Add new row",addNewPanelLibrary:"Add new panel from panel library"},Dashboard:{url:e=>`/d/${e}`,DashNav:{nav:"Dashboard navigation",navV2:"data-testid Dashboard navigation",publicDashboardTag:"data-testid public dashboard tag"},SubMenu:{submenu:"Dashboard submenu",submenuItem:"data-testid template variable",submenuItemLabels:e=>`data-testid Dashboard template variables submenu Label ${e}`,submenuItemValueDropDownValueLinkTexts:e=>`data-testid Dashboard template variables Variable Value DropDown value link text ${e}`,submenuItemValueDropDownDropDown:"Variable options",submenuItemValueDropDownOptionTexts:e=>`data-testid Dashboard template variables Variable Value DropDown option text ${e}`,Annotations:{annotationsWrapper:"data-testid annotation-wrapper",annotationLabel:e=>`data-testid Dashboard annotations submenu Label ${e}`,annotationToggle:e=>`data-testid Dashboard annotations submenu Toggle ${e}`}},Settings:{Actions:{close:"data-testid dashboard-settings-close"},General:{deleteDashBoard:"Dashboard settings page delete dashboard button",sectionItems:e=>`Dashboard settings section item ${e}`,saveDashBoard:"Dashboard settings aside actions Save button",saveAsDashBoard:"Dashboard settings aside actions Save As button",timezone:"Time zone picker select container",title:"Tab General"},Annotations:{List:{addAnnotationCTA:Xr.CallToActionCard.button("Add annotation query"),addAnnotationCTAV2:Xr.CallToActionCard.buttonV2("Add annotation query")},Settings:{name:"Annotations settings name input"},NewAnnotation:{panelFilterSelect:"data-testid annotations-panel-filter",showInLabel:"show-in-label",previewInDashboard:"data-testid annotations-preview"}},Variables:{List:{addVariableCTA:Xr.CallToActionCard.button("Add variable"),addVariableCTAV2:Xr.CallToActionCard.buttonV2("Add variable"),newButton:"Variable editor New variable button",table:"Variable editor Table",tableRowNameFields:e=>`Variable editor Table Name field ${e}`,tableRowDefinitionFields:e=>`Variable editor Table Definition field ${e}`,tableRowArrowUpButtons:e=>`Variable editor Table ArrowUp button ${e}`,tableRowArrowDownButtons:e=>`Variable editor Table ArrowDown button ${e}`,tableRowDuplicateButtons:e=>`Variable editor Table Duplicate button ${e}`,tableRowRemoveButtons:e=>`Variable editor Table Remove button ${e}`},Edit:{General:{headerLink:"Variable editor Header link",modeLabelNew:"Variable editor Header mode New",modeLabelEdit:"Variable editor Header mode Edit",generalNameInput:"Variable editor Form Name field",generalNameInputV2:"data-testid Variable editor Form Name field",generalTypeSelect:"Variable editor Form Type select",generalTypeSelectV2:"data-testid Variable editor Form Type select",generalLabelInput:"Variable editor Form Label field",generalLabelInputV2:"data-testid Variable editor Form Label field",generalHideSelect:"Variable editor Form Hide select",generalHideSelectV2:"data-testid Variable editor Form Hide select",selectionOptionsMultiSwitch:"Variable editor Form Multi switch",selectionOptionsIncludeAllSwitch:"Variable editor Form IncludeAll switch",selectionOptionsCustomAllInput:"Variable editor Form IncludeAll field",selectionOptionsCustomAllInputV2:"data-testid Variable editor Form IncludeAll field",previewOfValuesOption:"Variable editor Preview of Values option",submitButton:"Variable editor Submit button",applyButton:"data-testid Variable editor Apply button"},QueryVariable:{queryOptionsDataSourceSelect:Xr.DataSourcePicker.container,queryOptionsRefreshSelect:"Variable editor Form Query Refresh select",queryOptionsRefreshSelectV2:"data-testid Variable editor Form Query Refresh select",queryOptionsRegExInput:"Variable editor Form Query RegEx field",queryOptionsRegExInputV2:"data-testid Variable editor Form Query RegEx field",queryOptionsSortSelect:"Variable editor Form Query Sort select",queryOptionsSortSelectV2:"data-testid Variable editor Form Query Sort select",queryOptionsQueryInput:"Variable editor Form Default Variable Query Editor textarea",valueGroupsTagsEnabledSwitch:"Variable editor Form Query UseTags switch",valueGroupsTagsTagsQueryInput:"Variable editor Form Query TagsQuery field",valueGroupsTagsTagsValuesQueryInput:"Variable editor Form Query TagsValuesQuery field"},ConstantVariable:{constantOptionsQueryInput:"Variable editor Form Constant Query field",constantOptionsQueryInputV2:"data-testid Variable editor Form Constant Query field"},DatasourceVariable:{datasourceSelect:"data-testid datasource variable datasource type"},TextBoxVariable:{textBoxOptionsQueryInput:"Variable editor Form TextBox Query field",textBoxOptionsQueryInputV2:"data-testid Variable editor Form TextBox Query field"},CustomVariable:{customValueInput:"data-testid custom-variable-input"},IntervalVariable:{intervalsValueInput:"data-testid interval variable intervals input"}}}},Annotations:{marker:"data-testid annotation-marker"}},Dashboards:{url:"/dashboards",dashboards:e=>`Dashboard search item ${e}`},SaveDashboardAsModal:{newName:"Save dashboard title field",save:"Save dashboard button"},SaveDashboardModal:{save:"Dashboard settings Save Dashboard Modal Save button",saveVariables:"Dashboard settings Save Dashboard Modal Save variables checkbox",saveTimerange:"Dashboard settings Save Dashboard Modal Save timerange checkbox"},SharePanelModal:{linkToRenderedImage:"Link to rendered image"},ShareDashboardModal:{shareButton:"Share dashboard or panel",PublicDashboard:{Tab:"Tab Public dashboard",WillBePublicCheckbox:"data-testid public dashboard will be public checkbox",LimitedDSCheckbox:"data-testid public dashboard limited datasources checkbox",CostIncreaseCheckbox:"data-testid public dashboard cost may increase checkbox",PauseSwitch:"data-testid public dashboard pause switch",EnableAnnotationsSwitch:"data-testid public dashboard on off switch for annotations",CreateButton:"data-testid public dashboard create button",DeleteButton:"data-testid public dashboard delete button",CopyUrlInput:"data-testid public dashboard copy url input",CopyUrlButton:"data-testid public dashboard copy url button",TemplateVariablesWarningAlert:"data-testid public dashboard disabled template variables alert",UnsupportedDataSourcesWarningAlert:"data-testid public dashboard unsupported data sources alert",NoUpsertPermissionsWarningAlert:"data-testid public dashboard no upsert permissions alert",EnableTimeRangeSwitch:"data-testid public dashboard on off switch for time range",EmailSharingConfiguration:{Container:"data-testid email sharing config container",ShareType:"data-testid public dashboard share type",EmailSharingInput:"data-testid public dashboard email sharing input",EmailSharingInviteButton:"data-testid public dashboard email sharing invite button",EmailSharingList:"data-testid public dashboard email sharing list",DeleteEmail:"data-testid public dashboard delete email button",ReshareLink:"data-testid public dashboard reshare link button"}}},PublicDashboard:{page:"public-dashboard-page",NotAvailable:{container:"public-dashboard-not-available",title:"public-dashboard-title",pausedDescription:"public-dashboard-paused-description"}},RequestViewAccess:{form:"request-view-access-form",recipientInput:"request-view-access-recipient-input",submitButton:"request-view-access-submit-button"},Explore:{url:"/explore",General:{container:"data-testid Explore",graph:"Explore Graph",table:"Explore Table",scrollView:"data-testid explorer scroll view"}},SoloPanel:{url:e=>`/d-solo/${e}`},PluginsList:{page:"Plugins list page",list:"Plugins list",listItem:"Plugins list item",signatureErrorNotice:"Unsigned plugins notice"},PluginPage:{page:"Plugin page",signatureInfo:"Plugin signature info",disabledInfo:"Plugin disabled info"},PlaylistForm:{name:"Playlist name",interval:"Playlist interval",itemDelete:"Delete playlist item"},BrowseDashbards:{table:{row:e=>`data-testid ${e} row`,checkbox:e=>`data-testid ${e} checkbox`}},Search:{url:"/?search=openn",FolderView:{url:"/?search=open&layout=folders"}},PublicDashboards:{ListItem:{linkButton:"public-dashboard-link-button",configButton:"public-dashboard-configuration-button",trashcanButton:"public-dashboard-remove-button"}},UserListPage:{tabs:{allUsers:"data-testid all-users-tab",orgUsers:"data-testid org-users-tab",publicDashboardsUsers:"data-testid public-dashboards-users-tab",users:"data-testid users-tab"},org:{url:"/org/users"},admin:{url:"/admin/users"},publicDashboards:{container:"data-testid public-dashboards-users-list"},UserListAdminPage:{container:"data-testid user-list-admin-page"},UsersListPage:{container:"data-testid users-list-page"},UsersListPublicDashboardsPage:{container:"data-testid users-list-public-dashboards-page",DashboardsListModal:{listItem:e=>`data-testid dashboards-list-item-${e}`}}}},components:Xr};function Jr(e){return r().createElement(tr.Tooltip,{content:"Cancel query"},r().createElement(tr.Icon,{className:"spin-clockwise",name:"sync",size:"xs","aria-label":Zr.components.LoadingIndicator.icon,role:"button",onMouseDown:t=>{e.onCancel(t)}}))}function en(e){const t=(0,tr.useStyles2)(tn),n=(0,tr.useTheme2)(),a="vertical"===e.layout,o=Boolean(e.isLoading)?r().createElement("div",{style:{marginLeft:n.spacing(1),marginTop:"-1px"}},r().createElement(Jr,{onCancel:t=>{var r;t.preventDefault(),t.stopPropagation(),null==(r=e.onCancel)||r.call(e)}})):null;let i=null;e.error&&(i=r().createElement(tr.Tooltip,{content:e.error,placement:"bottom"},r().createElement(tr.Icon,{className:t.errorIcon,name:"exclamation-triangle"})));const s="string"==typeof e.label?Zr.pages.Dashboard.SubMenu.submenuItemLabels(e.label):"";let l;return l=a?r().createElement("label",{className:t.verticalLabel,"data-testid":s,htmlFor:e.htmlFor},e.label,i,e.icon&&r().createElement(tr.Icon,{name:e.icon,className:t.normalIcon}),o,e.onRemove&&r().createElement(tr.IconButton,{variant:"secondary",size:"xs",name:"times",onClick:e.onRemove,tooltip:"Remove"})):r().createElement("label",{className:t.horizontalLabel,"data-testid":s,htmlFor:e.htmlFor},i,e.icon&&r().createElement(tr.Icon,{name:e.icon,className:t.normalIcon}),e.label,o),e.description?r().createElement(tr.Tooltip,{content:e.description,placement:a?"top":"bottom"},l):l}const tn=e=>({horizontalLabel:(0,rr.css)({background:e.isDark?e.colors.background.primary:e.colors.background.secondary,display:"flex",alignItems:"center",padding:e.spacing(0,1),fontWeight:e.typography.fontWeightMedium,fontSize:e.typography.bodySmall.fontSize,height:e.spacing(e.components.height.md),lineHeight:e.spacing(e.components.height.md),borderRadius:e.shape.borderRadius(1),border:`1px solid ${e.components.input.borderColor}`,position:"relative",right:-1,whiteSpace:"nowrap",gap:e.spacing(.5)}),verticalLabel:(0,rr.css)({display:"flex",alignItems:"center",fontWeight:e.typography.fontWeightMedium,fontSize:e.typography.bodySmall.fontSize,lineHeight:e.typography.bodySmall.lineHeight,whiteSpace:"nowrap",marginBottom:e.spacing(.5),gap:e.spacing(1)}),errorIcon:(0,rr.css)({color:e.colors.error.text}),normalIcon:(0,rr.css)({color:e.colors.text.secondary})});var rn=Object.defineProperty,nn=Object.defineProperties,an=Object.getOwnPropertyDescriptors,on=Object.getOwnPropertySymbols,sn=Object.prototype.hasOwnProperty,ln=Object.prototype.propertyIsEnumerable,un=(e,t,r)=>t in e?rn(e,t,{enumerable:!0,configurable:!0,writable:!0,value:r}):e[t]=r,cn=(e,t)=>{for(var r in t||(t={}))sn.call(t,r)&&un(e,r,t[r]);if(on)for(var r of on(t))ln.call(t,r)&&un(e,r,t[r]);return e},dn=(e,t)=>nn(e,an(t));function pn({layer:e,isEnabled:t,onToggleLayer:n}){var a,o;const i=`data-layer-${e.state.key}`,{data:s}=e.useState(),l=Boolean(s&&s.state===ae.Loading);return r().createElement("div",{className:hn},r().createElement(en,{htmlFor:i,isLoading:l,onCancel:()=>{var t;return null==(t=e.cancelQuery)?void 0:t.call(e)},label:e.state.name,description:e.state.description,error:null==(o=null==(a=e.state.data)?void 0:a.errors)?void 0:o[0].message}),r().createElement(tr.InlineSwitch,{id:i,value:t,onChange:n}))}(class extends Q{constructor(){super({layersMap:{}}),this.addActivationHandler((()=>this._onActivate()))}_onActivate(){const e=ct.getDataLayers(this,!0);this.setState({layersMap:e.reduce(((e,t)=>dn(cn({},e),{[t.state.key]:t.state.isEnabled})),{})})}toggleLayer(e){this.setState({layersMap:dn(cn({},this.state.layersMap),{[e.state.key]:!e.state.isEnabled})}),e.setState({isEnabled:!e.state.isEnabled})}}).Component=function({model:e}){const{layersMap:t}=e.useState(),n=ct.getDataLayers(e,!0);return 0===n.length?null:r().createElement(r().Fragment,null,n.map((n=>{const a=`data-layer-${n.state.key}`;return n.state.isHidden?null:r().createElement(pn,{key:a,layer:n,onToggleLayer:()=>e.toggleLayer(n),isEnabled:t[n.state.key]})})))};const hn=(0,rr.css)({display:"flex"});Object.defineProperty,Object.defineProperties,Object.getOwnPropertyDescriptors,Object.getOwnPropertySymbols,Object.prototype.hasOwnProperty,Object.prototype.propertyIsEnumerable;class fn extends Q{}function mn({variable:t,layout:n}){return t.useState().hide===e.VariableHide.hideVariable?null:"vertical"===n?r().createElement("div",{className:bn},r().createElement(gn,{variable:t,layout:n}),r().createElement(t.Component,{model:t})):r().createElement("div",{className:yn},r().createElement(gn,{variable:t}),r().createElement(t.Component,{model:t}))}function gn({variable:t,layout:n}){var a,o;const{state:i}=t;if(t.state.hide===e.VariableHide.hideLabel)return null;const s=`var-${i.key}`,l=null!=(a=i.label)?a:i.name;return r().createElement(en,{htmlFor:s,isLoading:i.loading,onCancel:()=>{var e;return null==(e=t.onCancel)?void 0:e.call(t)},label:l,error:i.error,layout:n,description:null!=(o=i.description)?o:void 0})}fn.Component=function({model:e}){const t=ct.getVariables(e).useState();return r().createElement(r().Fragment,null,t.variables.map((t=>r().createElement(mn,{key:t.state.key,variable:t,layout:e.state.layout}))))};const yn=(0,rr.css)({display:"flex"}),bn=(0,rr.css)({display:"flex",flexDirection:"column"});class vn extends Q{constructor(e){super(e),this._variablesThatHaveChanged=new Set,this._variablesToUpdate=new Set,this._updating=new Map,this._variableValueRecorder=new xt,this._variableDependency=new Sn(this._handleParentVariableUpdatesCompleted.bind(this)),this._onActivate=()=>{const e=ct.getTimeRange(this);this._subs.add(this.subscribeToEvent(De,(e=>this._handleVariableValueChanged(e.payload)))),this._subs.add(e.subscribeToState((()=>{this._refreshTimeRangeBasedVariables()}))),this._subs.add(this.subscribeToState(this._onStateChanged)),this._checkForVariablesThatChangedWhileInactive();for(const e of this.state.variables)this._variableNeedsUpdate(e)&&this._variablesToUpdate.add(e);return this._updateNextBatch(),this._onDeactivate},this._onDeactivate=()=>{var e;for(const t of this._updating.values())null==(e=t.subscription)||e.unsubscribe();for(const e of this.state.variables)this._variablesToUpdate.has(e)||this._updating.has(e)||this._variableValueRecorder.recordCurrentValue(e);this._variablesToUpdate.clear(),this._updating.clear()},this._onStateChanged=(e,t)=>{const r=this._variablesToUpdate.size;for(const r of t.variables)if(!e.variables.includes(r)){const e=this._updating.get(r);(null==e?void 0:e.subscription)&&e.subscription.unsubscribe(),this._updating.delete(r),this._variablesToUpdate.delete(r)}for(const r of e.variables)t.variables.includes(r)||this._variableNeedsUpdate(r)&&this._variablesToUpdate.add(r);0===r&&this._variablesToUpdate.size>0&&this._updateNextBatch()},this.addActivationHandler(this._onActivate)}getByName(e){return this.state.variables.find((t=>t.state.name===e))}_refreshTimeRangeBasedVariables(){for(const t of this.state.variables)"refresh"in t.state&&t.state.refresh===e.VariableRefresh.onTimeRangeChanged&&this._variablesToUpdate.add(t);this._updateNextBatch()}_checkForVariablesThatChangedWhileInactive(){if(this._variableValueRecorder.hasValues())for(const e of this.state.variables)this._variableValueRecorder.hasValueChanged(e)&&(wn(e,"Changed while in-active"),this._addDependentVariablesToUpdateQueue(e))}_variableNeedsUpdate(e){return!(!e.validateAndUpdate||this._variableValueRecorder.hasRecordedValue(e)&&(wn(e,"Skipping updateAndValidate current value valid"),1))}_updateNextBatch(){if(0!==this._variablesToUpdate.size)for(const e of this._variablesToUpdate){if(!e.validateAndUpdate)throw new Error("Variable added to variablesToUpdate but does not have validateAndUpdate");if(this._updating.has(e))continue;if(ct.hasVariableDependencyInLoadingState(e))continue;const t={variable:e};this._updating.set(e,t),wn(e,"updateAndValidate started"),t.subscription=e.validateAndUpdate().subscribe({next:()=>this._validateAndUpdateCompleted(e),error:t=>this._handleVariableError(e,t)})}else this._notifyDependentSceneObjects()}_validateAndUpdateCompleted(e){var t;const r=this._updating.get(e);null==(t=null==r?void 0:r.subscription)||t.unsubscribe(),this._updating.delete(e),this._variablesToUpdate.delete(e),wn(e,"updateAndValidate completed"),this._updateNextBatch()}cancel(e){var t;const r=this._updating.get(e);null==(t=null==r?void 0:r.subscription)||t.unsubscribe(),this._updating.delete(e),this._variablesToUpdate.delete(e)}_handleVariableError(e,t){var r;const n=this._updating.get(e);null==(r=null==n?void 0:n.subscription)||r.unsubscribe(),this._updating.delete(e),this._variablesToUpdate.delete(e),e.setState({loading:!1,error:t.message}),console.error("SceneVariableSet updateAndValidate error",t),wn(e,"updateAndValidate error",t)}_handleVariableValueChanged(e){this._variablesThatHaveChanged.add(e),this._addDependentVariablesToUpdateQueue(e),this._updating.has(e)||this._updateNextBatch()}_handleParentVariableUpdatesCompleted(e){for(const t of e)this._addDependentVariablesToUpdateQueue(t);this._variablesToUpdate.size>0&&0===this._updating.size&&this._updateNextBatch()}_addDependentVariablesToUpdateQueue(e){for(const t of this.state.variables)t.variableDependency&&t.variableDependency.hasDependencyOn(e.state.name)&&(wn(t,"Added to update queue, dependant variable value changed"),this._variablesToUpdate.add(t))}_notifyDependentSceneObjects(){this.parent&&(this._traverseSceneAndNotify(this.parent),this._variablesThatHaveChanged.clear())}_traverseSceneAndNotify(e){this!==e&&e.isActive&&(e.variableDependency&&e.variableDependency.variableUpdatesCompleted(this._variablesThatHaveChanged),e.forEachChild((e=>this._traverseSceneAndNotify(e))))}isVariableLoadingOrWaitingToUpdate(e){return!(!e.isAncestorLoading||!e.isAncestorLoading())||this._variablesToUpdate.has(e)||this._updating.has(e)}}function wn(e,t,r){er("SceneVariableSet",`Variable[${e.state.name}]: ${t}`,r)}class Sn{constructor(e){this._variableUpdatesCompleted=e,this._emptySet=new Set}getNames(){return this._emptySet}hasDependencyOn(e){return!1}variableUpdatesCompleted(e){this._variableUpdatesCompleted(e)}}function _n({model:e}){const{value:t,key:n}=e.useState(),a=e.onSearchChange?(t,r)=>{"input-change"===r.action&&e.onSearchChange(t)}:void 0;return r().createElement(tr.Select,{id:n,placeholder:"Select value",width:"auto",value:t,allowCustomValue:!0,tabSelectsValue:!1,onInputChange:a,options:e.getOptionsForSelect(),onChange:t=>{e.changeValueTo(t.value,t.label)}})}function On({model:e}){const{value:n,key:a,maxVisibleValues:o}=e.useState(),i=(0,t.useMemo)((()=>(0,Re.isArray)(n)?n:[n]),[n]),[s,l]=(0,t.useState)(i);(0,t.useEffect)((()=>{l(i)}),[i]);const u=e.onSearchChange?(t,r)=>{"input-change"===r.action&&e.onSearchChange(t)}:void 0;return r().createElement(tr.MultiSelect,{id:a,placeholder:"Select value",width:"auto",value:s,noMultiValueWrap:!0,maxVisibleValues:null!=o?o:5,tabSelectsValue:!1,allowCustomValue:!0,options:e.getOptionsForSelect(),closeMenuOnSelect:!1,isClearable:!0,onInputChange:u,onBlur:()=>{e.changeValueTo(s)},onChange:e=>{l(e.map((e=>e.value)))}})}function xn(e){return e.state.isMulti?r().createElement(On,{model:e}):r().createElement(_n,{model:e})}Object.defineProperty,Object.defineProperties,Object.getOwnPropertyDescriptors,Object.getOwnPropertySymbols,Object.prototype.hasOwnProperty,Object.prototype.propertyIsEnumerable;class Cn extends Q{constructor(){super(...arguments),this._urlSync=new Pn(this)}validateAndUpdate(){return this.getValueOptions({}).pipe((0,S.map)((e=>(this.updateValueGivenNewOptions(e),{}))))}onCancel(){this.setStateHelper({loading:!1});const e=this.parent;null==e||e.cancel(this)}updateValueGivenNewOptions(e){const{value:t,text:r}=this.state,n={options:e,loading:!1,value:t,text:r};if(0===e.length)(this.state.defaultToAll||this.state.includeAll)&&(n.value=Ue,n.text=Be);else if(this.hasAllValue());else if(this.state.isMulti){const a=(Array.isArray(t)?t:[t]).filter((t=>e.find((e=>e.value===t)))),o=a.map((t=>e.find((e=>e.value===t)).label));if(0===a.length){const t=this.getDefaultMultiState(e);n.value=t.value,n.text=t.text}else(0,Re.isEqual)(a,t)&&(0,Re.isEqual)(o,r)||(n.value=a,n.text=o)}else{let a=function(e,t,r){let n;for(const a of r){if(a.value===e)return a;a.label===t&&(n=a)}return n}(t,r,e);a?(n.text=a.label,n.value=a.value):this.state.defaultToAll?(n.value=Ue,n.text=Be):(n.value=e[0].value,n.text=e[0].label)}this.setStateHelper(n),(n.value!==t||n.text!==r||this.hasAllValue())&&this.publishEvent(new De(this),!0)}getValue(){return this.hasAllValue()?this.state.allValue?new Dn(this.state.allValue,this):this.state.options.map((e=>e.value)):this.state.value}getValueText(){return this.hasAllValue()?Be:Array.isArray(this.state.text)?this.state.text.join(" + "):String(this.state.text)}hasAllValue(){const e=this.state.value;return e===Ue||Array.isArray(e)&&e[0]===Ue}getDefaultMultiState(e){return this.state.defaultToAll?{value:[Ue],text:[Be]}:{value:[e[0].value],text:[e[0].label]}}changeValueTo(e,t){if(e!==this.state.value||t!==this.state.text){if(t||(t=Array.isArray(e)?e.map((e=>this.findLabelTextForValue(e))):this.findLabelTextForValue(e)),Array.isArray(e)){if(0===e.length){const r=this.getDefaultMultiState(this.state.options);e=r.value,t=r.text}e[e.length-1]===Ue?(e=[Ue],t=[Be]):e[0]===Ue&&e.length>1&&(e.shift(),Array.isArray(t)&&t.shift())}this.setStateHelper({value:e,text:t,loading:!1}),this.publishEvent(new De(this),!0)}}findLabelTextForValue(e){const t=this.state.options.find((t=>t.value===e));if(t)return t.label;const r=this.state.options.find((t=>t.label===e));return r?r.label:e}setStateHelper(e){var t;t=e,this.setState(t)}getOptionsForSelect(){let e=this.state.options;return this.state.includeAll&&(e=[{value:Ue,label:Be},...e]),Array.isArray(this.state.value)||e.find((e=>e.value===this.state.value))||(e=[{value:this.state.value,label:String(this.state.text)},...e]),e}}class Pn{constructor(e){this._sceneObject=e}getKey(){return`var-${this._sceneObject.state.name}`}getKeys(){return this._sceneObject.state.skipUrlSync?[]:[this.getKey()]}getUrlState(){if(this._sceneObject.state.skipUrlSync)return{};let e=null,t=this._sceneObject.state.value;return e=Array.isArray(t)?t.map(String):this._sceneObject.state.isMulti?[String(t)]:String(t),{[this.getKey()]:e}}updateFromUrl(e){const t=e[this.getKey()];null!=t&&this._sceneObject.changeValueTo(t)}}class Dn{constructor(e,t){this._value=e,this._variable=t}formatter(e){return e===Pe.Text?Be:e===Pe.PercentEncode?Ie.get(Pe.PercentEncode).formatter(this._value,[],this._variable):e===Pe.QueryParam?Ie.get(Pe.QueryParam).formatter(Be,[],this._variable):this._value}}var En=Object.defineProperty,Rn=Object.getOwnPropertySymbols,jn=Object.prototype.hasOwnProperty,Tn=Object.prototype.propertyIsEnumerable,kn=(e,t,r)=>t in e?En(e,t,{enumerable:!0,configurable:!0,writable:!0,value:r}):e[t]=r;(class extends Cn{constructor(e){super(((e,t)=>{for(var r in t||(t={}))jn.call(t,r)&&kn(e,r,t[r]);if(Rn)for(var r of Rn(t))Tn.call(t,r)&&kn(e,r,t[r]);return e})({type:"custom",query:"",value:"",text:"",options:[],name:""},e)),this._variableDependency=new ht(this,{statePaths:["query"]})}getValueOptions(e){var t;const r=(null!=(t=ct.interpolate(this,this.state.query).match(/(?:\\,|[^,])+/g))?t:[]).map((e=>{var t;e=e.replace(/\\,/g,",");const r=null!=(t=/^(.+)\s:\s(.+)$/g.exec(e))?t:[];if(3===r.length){const[,e,t]=r;return{label:e.trim(),value:t.trim()}}return{label:e.trim(),value:e.trim()}}));return(0,S.of)(r)}}).Component=({model:e})=>xn(e);var An=Object.defineProperty,In=Object.getOwnPropertySymbols,Vn=Object.prototype.hasOwnProperty,Fn=Object.prototype.propertyIsEnumerable,Ln=(e,t,r)=>t in e?An(e,t,{enumerable:!0,configurable:!0,writable:!0,value:r}):e[t]=r;function Mn(e,t){return!t||t.exec(e.name)}function zn(e,t){return!!e.isDefault&&(!t||t.exec("default"))}(class extends Cn{constructor(e){super(((e,t)=>{for(var r in t||(t={}))Vn.call(t,r)&&Ln(e,r,t[r]);if(In)for(var r of In(t))Fn.call(t,r)&&Ln(e,r,t[r]);return e})({type:"datasource",value:"",text:"",options:[],name:"",regex:"",pluginId:""},e)),this._variableDependency=new ht(this,{statePaths:["regex"]})}getValueOptions(t){if(!this.state.pluginId)return(0,S.of)([]);const r=(0,u.getDataSourceSrv)().getList({metrics:!0,variables:!1,pluginId:this.state.pluginId});let n;if(this.state.regex){const t=ct.interpolate(this,this.state.regex,void 0,"regex");n=(0,e.stringToJsRegex)(t)}const a=[];for(let e=0;exn(e);const Nn=e=>Boolean(e.metricFindQuery)&&!Boolean(e.variables),Hn=t=>{if(!t.variables)return!1;if(t.variables.getType()!==e.VariableSupportType.Standard)return!1;const r=t.variables;return"toDataQuery"in r&&Boolean(r.toDataQuery)},Bn=t=>{if(!t.variables)return!1;if(t.variables.getType()!==e.VariableSupportType.Custom)return!1;const r=t.variables;return"query"in r&&"editor"in r&&Boolean(r.query)&&Boolean(r.editor)};var Un=Object.defineProperty,$n=Object.defineProperties,Wn=Object.getOwnPropertyDescriptors,qn=Object.getOwnPropertySymbols,Gn=Object.prototype.hasOwnProperty,Qn=Object.prototype.propertyIsEnumerable,Yn=(e,t,r)=>t in e?Un(e,t,{enumerable:!0,configurable:!0,writable:!0,value:r}):e[t]=r,Kn=(e,t)=>{for(var r in t||(t={}))Gn.call(t,r)&&Yn(e,r,t[r]);if(qn)for(var r of qn(t))Qn.call(t,r)&&Yn(e,r,t[r]);return e},Xn=(e,t)=>$n(e,Wn(t));class Zn{constructor(e,t=(0,u.getRunRequest)()){this.datasource=e,this._runRequest=t}getTarget(e){if(Hn(this.datasource))return this.datasource.variables.toDataQuery(function(e){const t=e.state.query;return t&&"object"==typeof t?null==t.refId?Xn(Kn({},t),{refId:`variable-${e.state.name}`}):e.state.query:{query:t,refId:`variable-${e.state.name}`}}(e));throw new Error("Couldn't create a target with supplied arguments.")}runRequest(e,t){return Hn(this.datasource)?this.datasource.variables.query?this._runRequest(this.datasource,t,this.datasource.variables.query.bind(this.datasource.variables)):this._runRequest(this.datasource,t):ta()}}class Jn{constructor(e){this.datasource=e}getTarget(e){if(Nn(this.datasource))return e.state.query;throw new Error("Couldn't create a target with supplied arguments.")}runRequest({variable:t,searchFilter:r},n){return Nn(this.datasource)?(0,S.from)(this.datasource.metricFindQuery(t.state.query,Xn(Kn({},n),{variable:{name:t.state.name,type:t.state.type},searchFilter:r}))).pipe((0,S.mergeMap)((t=>{if(!t||!t.length)return ta();const r=t;return(0,S.of)({series:r,state:e.LoadingState.Done,timeRange:n.range})}))):ta()}}class ea{constructor(e,t=(0,u.getRunRequest)()){this.datasource=e,this._runRequest=t}getTarget(e){if(Bn(this.datasource))return e.state.query;throw new Error("Couldn't create a target with supplied arguments.")}runRequest(e,t){return Bn(this.datasource)?this.datasource.variables.query?this._runRequest(this.datasource,t,this.datasource.variables.query.bind(this.datasource.variables)):this._runRequest(this.datasource,t):ta()}}function ta(){return(0,S.of)({state:e.LoadingState.Done,series:[],timeRange:(0,e.getDefaultTimeRange)()})}const ra=(e,t)=>{const r=[];let n=null;t.lastIndex=0;do{n=t.exec(e),n&&r.push(n)}while(t.global&&n&&""!==n[0]&&void 0!==n[0]);return r};var na=Object.defineProperty,aa=Object.getOwnPropertySymbols,oa=Object.prototype.hasOwnProperty,ia=Object.prototype.propertyIsEnumerable,sa=(e,t,r)=>t in e?na(e,t,{enumerable:!0,configurable:!0,writable:!0,value:r}):e[t]=r;class la extends Cn{constructor(t){super(((e,t)=>{for(var r in t||(t={}))oa.call(t,r)&&sa(e,r,t[r]);if(aa)for(var r of aa(t))ia.call(t,r)&&sa(e,r,t[r]);return e})({type:"query",name:"",value:"",text:"",options:[],datasource:null,regex:"",query:{refId:"A"},refresh:e.VariableRefresh.onDashboardLoad,sort:e.VariableSort.disabled},t)),this._variableDependency=new ht(this,{statePaths:["regex","query","datasource"]}),this.onSearchChange=e=>{pt(this.state.query).indexOf("__searchFilter")&&this._updateOptionsBasedOnSearchFilter(e)},this._updateOptionsBasedOnSearchFilter=(0,Re.debounce)((async e=>{const t=await(0,S.lastValueFrom)(this.getValueOptions({searchFilter:e}));this.setState({options:t,loading:!1})}),400)}getValueOptions(t){return this.state.query?(this.setState({loading:!0,error:null}),(0,S.from)(Ot(this.state.datasource,{__sceneObject:{text:"__sceneObject",value:this}})).pipe((0,S.mergeMap)((r=>{const n=function(e){if(Hn(e))return new Zn(e,(0,u.getRunRequest)());if(Nn(e))return new Jn(e);if(Bn(e))return new ea(e);throw new Error(`Couldn't create a query runner for datasource ${e.type}`)}(r),a=n.getTarget(this),o=this.getRequest(a,t.searchFilter);return n.runRequest({variable:this,searchFilter:t.searchFilter},o).pipe((0,S.filter)((t=>t.state===e.LoadingState.Done||t.state===e.LoadingState.Error)),(0,S.take)(1),(0,S.mergeMap)((t=>t.state===e.LoadingState.Error?(0,S.throwError)((()=>t.error)):(0,S.of)(t))),(t=>t.pipe((0,S.map)((t=>{const r=t.series;if(!r||!r.length)return[];if(function(t){if(!t)return!1;if(!t.length)return!0;const r=t[0];if((0,e.isDataFrame)(r))return!1;for(const e in r){if(!r.hasOwnProperty(e))continue;if(null!==r[e]&&"string"!=typeof r[e]&&"number"!=typeof r[e])continue;const t=e.toLowerCase();if("text"===t||"value"===t)return!0}return!1}(r))return r;if(0===r[0].fields.length)return[];const n=(0,e.getProcessedDataFrames)(r),a=[];let o=-1,i=-1,s=-1,l=-1;for(const t of n)for(let n=0;n{let r="";return this.state.regex&&(r=ct.interpolate(this,this.state.regex,void 0,"regex")),(0,S.of)(((t,r,n)=>{var a,o,i,s,l,u;let c,d=[];t&&(c=(0,e.stringToJsRegex)(t));for(let e=0;ee.groups&&e.groups.value)),n=e.find((e=>e.groups&&e.groups.text)),h=e.find((e=>e.length>1)),f=e.length>1&&h;if(t||n)p=null!=(i=null==(a=null==t?void 0:t.groups)?void 0:a.value)?i:null==(o=null==n?void 0:n.groups)?void 0:o.text,r=null!=(u=null==(s=null==n?void 0:n.groups)?void 0:s.text)?u:null==(l=null==t?void 0:t.groups)?void 0:l.value;else{if(f){for(let t=0;t{if(r===e.VariableSort.disabled)return t;const n=e=>{if(!e.text)return-1;const t=e.text.match(/.*?(\d+).*/);return!t||t.length<2?-1:parseInt(t[1],10)},a=e=>e.sort(((e,t)=>e.text?t.text?e.text.localeCompare(t.text,void 0,{numeric:!0}):1:-1));switch(r){case e.VariableSort.alphabeticalAsc:t=(0,Re.sortBy)(t,"text");break;case e.VariableSort.alphabeticalDesc:t=(0,Re.sortBy)(t,"text").reverse();break;case e.VariableSort.numericalAsc:t=(0,Re.sortBy)(t,n);break;case e.VariableSort.numericalDesc:t=(t=(0,Re.sortBy)(t,n)).reverse();break;case e.VariableSort.alphabeticalCaseInsensitiveAsc:t=(0,Re.sortBy)(t,(e=>(0,Re.toLower)(e.text)));break;case e.VariableSort.alphabeticalCaseInsensitiveDesc:t=(t=(0,Re.sortBy)(t,(e=>(0,Re.toLower)(e.text)))).reverse();break;case e.VariableSort.naturalAsc||7:t=a(t);break;case e.VariableSort.naturalDesc||8:t=(t=a(t)).reverse()}return t})(d,r)})(r,this.state.sort,t))})),(0,S.catchError)((e=>e.cancelled?(0,S.of)([]):(0,S.throwError)((()=>e)))))})))):(0,S.of)([])}getRequest(t,r){const n={__sceneObject:{text:"__sceneObject",value:this}};r&&(n.__searchFilter={value:r,text:r});const a=ct.getTimeRange(this).state.value;return{app:e.CoreApp.Dashboard,requestId:D(),timezone:"",range:a,interval:"",intervalMs:0,targets:[t],scopedVars:n,startTime:Date.now()}}}function ua(e,t){const r=["A","B","C","D","E","F","G","H"],n=[];if(t>5)return[];for(const a of r){const r=`${e}${a}`;n.push({name:r,children:ua(r,t+1)})}return n}function ca(e,t,r){if(r>=t.length)return e;if("*"===t[r])return e;const n=t[r];let a=[],o=[n];n.startsWith("{")&&(o=n.replace(/\{|\}/g,"").split(","));for(const n of e)for(const e of o)if(-1!==e.indexOf("*")){const o=e.replace("*","");new RegExp(`^${o}.*`,"gi").test(n.name)&&(a=a.concat(ca([n],t,r+1)))}else n.name===e&&(a=a.concat(ca(n.children,t,r+1)));return a}function da(e){return 0===e.indexOf("value")?[{name:e,children:[]}]:ca(ua("",0),e.split("."),0)}la.Component=({model:e})=>xn(e);var pa=Object.defineProperty,ha=Object.getOwnPropertySymbols,fa=Object.prototype.hasOwnProperty,ma=Object.prototype.propertyIsEnumerable,ga=(e,t,r)=>t in e?pa(e,t,{enumerable:!0,configurable:!0,writable:!0,value:r}):e[t]=r;function ya({model:e}){const{value:n,key:a,loading:o}=e.useState(),i=(0,t.useCallback)((t=>{e.setValue(t.currentTarget.value)}),[e]),s=(0,t.useCallback)((t=>{"Enter"===t.key&&e.setValue(t.currentTarget.value)}),[e]);return r().createElement(tr.AutoSizeInput,{id:a,placeholder:"Enter value",minWidth:15,defaultValue:n,loading:o,onBlur:i,onKeyDown:s})}(class extends Cn{constructor(t){super(((e,t)=>{for(var r in t||(t={}))fa.call(t,r)&&ga(e,r,t[r]);if(ha)for(var r of ha(t))ma.call(t,r)&&ga(e,r,t[r]);return e})({type:"custom",name:"Test",value:"Value",text:"Text",query:"Query",options:[],refresh:e.VariableRefresh.onDashboardLoad},t)),this.completeUpdate=new S.Subject,this.isGettingValues=!0,this.getValueOptionsCount=0,this._variableDependency=new ht(this,{statePaths:["query"]})}getValueOptions(e){const{delayMs:t}=this.state;return this.getValueOptionsCount+=1,new S.Observable((e=>{if(this.setState({loading:!0}),this.state.throwError)throw new Error(this.state.throwError);const r=this.completeUpdate.subscribe({next:()=>{e.next(this.issueQuery()),e.complete()}});let n;return t?n=window.setTimeout((()=>this.signalUpdateCompleted()),t):0===t&&this.signalUpdateCompleted(),this.isGettingValues=!0,()=>{r.unsubscribe(),window.clearTimeout(n),this.setState({loading:!1}),this.isGettingValues=!1}}))}cancel(){const e=te(this,(e=>e instanceof vn?e:void 0));null==e||e.cancel(this)}issueQuery(){const e=ct.interpolate(this,this.state.query),t=this.getOptions(e);return this.setState({issuedQuery:e,options:t}),t}getOptions(e){return this.state.optionsToReturn?this.state.optionsToReturn:da(e).map((e=>({label:e.name,value:e.name})))}signalUpdateCompleted(){this.completeUpdate.next(1)}}).Component=({model:e})=>xn(e);var ba=Object.defineProperty,va=Object.getOwnPropertySymbols,wa=Object.prototype.hasOwnProperty,Sa=Object.prototype.propertyIsEnumerable,_a=(e,t,r)=>t in e?ba(e,t,{enumerable:!0,configurable:!0,writable:!0,value:r}):e[t]=r;(class extends Q{constructor(e){super(((e,t)=>{for(var r in t||(t={}))wa.call(t,r)&&_a(e,r,t[r]);if(va)for(var r of va(t))Sa.call(t,r)&&_a(e,r,t[r]);return e})({type:"textbox",value:"",name:""},e)),this._urlSync=new pe(this,{keys:[this.getKey()]})}getValue(){return this.state.value}setValue(e){e!==this.state.value&&(this.setState({value:e}),this.publishEvent(new De(this),!0))}getKey(){return`var-${this.state.name}`}getUrlState(){return{[this.getKey()]:this.state.value}}updateFromUrl(e){const t={},r=e[this.getKey()];"string"==typeof r&&(t.value=r),this.setState(t)}}).Component=({model:e})=>r().createElement(ya,{model:e}),Object.defineProperty,Object.defineProperties,Object.getOwnPropertyDescriptors,Object.getOwnPropertySymbols,Object.prototype.hasOwnProperty,Object.prototype.propertyIsEnumerable;var Oa=Object.defineProperty,xa=Object.getOwnPropertySymbols,Ca=Object.prototype.hasOwnProperty,Pa=Object.prototype.propertyIsEnumerable,Da=(e,t,r)=>t in e?Oa(e,t,{enumerable:!0,configurable:!0,writable:!0,value:r}):e[t]=r;(class extends Q{constructor(e){super(((e,t)=>{for(var r in t||(t={}))Ca.call(t,r)&&Da(e,r,t[r]);if(xa)for(var r of xa(t))Pa.call(t,r)&&Da(e,r,t[r]);return e})({type:"interval",value:"",intervals:["1m","10m","30m","1h","6h","12h","1d","7d","14d","30d"],name:"",autoStepCount:30,autoMinInterval:"10s",autoEnabled:!1,refresh:ne.onTimeRangeChanged},e)),this._onChange=e=>{this.setState({value:e.value}),this.publishEvent(new De(this),!0)},this._urlSync=new pe(this,{keys:[this.getKey()]})}getKey(){return`var-${this.state.name}`}getUrlState(){return{[this.getKey()]:this.state.value}}updateFromUrl(e){const t={},r=e[this.getKey()];"string"==typeof r&&(r.startsWith("$__auto_interval_")?t.value=$e:t.value=r),this.setState(t)}getOptionsForSelect(){const{value:e,intervals:t,autoEnabled:r}=this.state;let n=t.map((e=>({value:e,label:e})));return r&&(n=[{value:$e,label:"Auto"},...n]),e&&!n.some((t=>t.value===e))&&n.push({value:e,label:e}),n}getValue(){const{value:e,autoStepCount:t,autoMinInterval:r}=this.state;return e===$e?this.getAutoRefreshInteval(t,r):e}getAutoRefreshInteval(t,r){const n=ct.getTimeRange(this).state.value;return e.rangeUtil.calculateInterval(n,t,r).interval}validateAndUpdate(){const{value:e,intervals:t}=this.state;let r=!1;if(e===$e)r=!0;else if(!e&&t.length>0){const e=t[0];this.setState({value:e}),r=!0}return r&&this.publishEvent(new De(this),!0),(0,S.of)({})}}).Component=({model:e})=>{const{key:t,value:n}=e.useState();return r().createElement(tr.Select,{id:t,placeholder:"Select value",width:"auto",value:n,tabSelectsValue:!1,options:e.getOptionsForSelect(),onChange:e._onChange})};class Ea{constructor(e){this._variable=e}getKey(){return`var-${this._variable.state.name}`}getKeys(){return[this.getKey()]}getUrlState(){const e=this._variable.state.filters.map((e=>function(e){return[e.key,e.operator,e.value]}(e).map(Ra).join("|")));return{[this.getKey()]:e}}updateFromUrl(e){const t=e[this.getKey()];if(null==t)return;const r=function(e){if(Array.isArray(e))return e.map(Ta).filter(ka);const t=Ta(e);return null===t?[]:[t]}(t);this._variable.setState({filters:r})}}function Ra(e){return null==e?"":/\|/g[Symbol.replace](e,"__gfp__")}function ja(e){return null==e?"":/__gfp__/g[Symbol.replace](e,"|")}function Ta(e){if("string"!=typeof e||0===e.length)return null;const t=e.split("|").map(ja);return{key:t[0],operator:t[1],value:t[2],condition:""}}function ka(e){return null!==e&&"string"==typeof e.key&&"string"==typeof e.value}var Aa=Object.defineProperty,Ia=Object.defineProperties,Va=Object.getOwnPropertyDescriptors,Fa=Object.getOwnPropertySymbols,La=Object.prototype.hasOwnProperty,Ma=Object.prototype.propertyIsEnumerable,za=(e,t,r)=>t in e?Aa(e,t,{enumerable:!0,configurable:!0,writable:!0,value:r}):e[t]=r,Na=(e,t)=>{for(var r in t||(t={}))La.call(t,r)&&za(e,r,t[r]);if(Fa)for(var r of Fa(t))Ma.call(t,r)&&za(e,r,t[r]);return e},Ha=(e,t)=>Ia(e,Va(t));function Ba({filter:n,model:a}){var o,i;const s=(0,tr.useStyles2)(Ua),[l,u]=(0,t.useState)({}),c=""!==n.key?(0,e.toOption)(n.key):null,d=""!==n.value?(0,e.toOption)(n.value):null,p=r().createElement(tr.Select,{disabled:a.state.readOnly,className:l.isKeysOpen?s.widthWhenOpen:void 0,width:"auto",value:d,placeholder:"value",options:l.values,onChange:e=>a._updateFilter(n,"value",e.value),isOpen:l.isValuesOpen,isLoading:l.isValuesLoading,onOpenMenu:async()=>{u(Ha(Na({},l),{isValuesLoading:!0}));const e=await a._getValuesFor(n);u(Ha(Na({},l),{isValuesLoading:!1,isValuesOpen:!0,values:e}))},onCloseMenu:()=>{u(Ha(Na({},l),{isValuesOpen:!1}))}}),h=r().createElement(tr.Select,{disabled:a.state.readOnly,className:l.isKeysOpen?s.widthWhenOpen:void 0,width:"auto",value:c,placeholder:"Select label",options:l.keys,onChange:e=>a._updateFilter(n,"key",e.value),autoFocus:""===n.key,isOpen:l.isKeysOpen,isLoading:l.isKeysLoading,onOpenMenu:async()=>{u(Ha(Na({},l),{isKeysLoading:!0}));const e=await a._getKeys(n.key);u(Ha(Na({},l),{isKeysLoading:!1,isKeysOpen:!0,keys:e}))},onCloseMenu:()=>{u(Ha(Na({},l),{isKeysOpen:!1}))},openMenuOnFocus:!0});if("vertical"===a.state.layout){if(n.key){const e=r().createElement(en,{layout:"vertical",label:null!=(o=n.key)?o:"",onRemove:()=>a._removeFilter(n)});return r().createElement(tr.Field,{label:e,"data-testid":`AdHocFilter-${n.key}`,className:s.field},p)}return r().createElement(tr.Field,{label:"Select label","data-testid":`AdHocFilter-${n.key}`,className:s.field},h)}return r().createElement("div",{className:s.wrapper,"data-testid":`AdHocFilter-${n.key}`},h,r().createElement(tr.Select,{value:n.operator,disabled:a.state.readOnly,options:a._getOperators(),width:"auto",onChange:e=>a._updateFilter(n,"operator",e.value)}),p,r().createElement(tr.Button,{variant:"secondary","aria-label":"Remove filter",title:"Remove filter",className:s.removeButton,icon:"times","data-testid":`AdHocFilter-remove-${null!=(i=n.key)?i:""}`,onClick:()=>a._removeFilter(n)}))}const Ua=e=>({field:(0,rr.css)({marginBottom:0}),wrapper:(0,rr.css)({display:"flex","> *":{"&:not(:first-child)":{marginLeft:-1},"&:first-child":{borderTopRightRadius:0,borderBottomRightRadius:0},"&:last-child":{borderTopLeftRadius:0,borderBottomLeftRadius:0},"&:not(:first-child):not(:last-child)":{borderRadius:0},position:"relative",zIndex:0,"&:hover":{zIndex:1},"&:focus-within":{zIndex:2}}}),widthWhenOpen:(0,rr.css)({minWidth:e.spacing(16)}),removeButton:(0,rr.css)({paddingLeft:e.spacing(1.5),paddingRight:e.spacing(1.5),borderLeft:"none",position:"relative",left:"1px"})});function $a({model:e}){const{_wip:t}=e.useState();return t?r().createElement(Ba,{filter:t,model:e}):r().createElement(tr.Button,{variant:"secondary",icon:"plus",title:"Add filter","aria-label":"Add filter","data-testid":"AdHocFilter-add",onClick:()=>e._addWip()})}var Wa=Object.defineProperty,qa=Object.defineProperties,Ga=Object.getOwnPropertyDescriptors,Qa=Object.getOwnPropertySymbols,Ya=Object.prototype.hasOwnProperty,Ka=Object.prototype.propertyIsEnumerable,Xa=(e,t,r)=>t in e?Wa(e,t,{enumerable:!0,configurable:!0,writable:!0,value:r}):e[t]=r,Za=(e,t)=>{for(var r in t||(t={}))Ya.call(t,r)&&Xa(e,r,t[r]);if(Qa)for(var r of Qa(t))Ka.call(t,r)&&Xa(e,r,t[r]);return e},Ja=(e,t)=>qa(e,Ga(t));class eo extends Q{constructor(e){super(Za({name:"Filters",filters:[],baseFilters:[],datasource:null,applyMode:"same-datasource",layout:"horizontal"},e)),this._urlSync=new Ea(this),this._scopedVars={__sceneObject:{value:this}},this._dataSourceSrv=(0,u.getDataSourceSrv)(),"same-datasource"===this.state.applyMode&&function(e){if(e.addActivationHandler((()=>(Mr.add(e),()=>Mr.delete(e)))),Lr)return;const t=(0,u.getTemplateSrv)();(null==t?void 0:t.getAdhocFilters)?(Lr=t.getAdhocFilters,t.getAdhocFilters=function(e){var r;if(0===Mr.size)return Lr.call(t);const n=(0,u.getDataSourceSrv)().getInstanceSettings(e);if(!n)return[];for(const e of Mr.values())if((null==(r=e.state.datasource)?void 0:r.uid)===n.uid)return e.state.filters;return[]}.bind(t)):console.log("Failed to patch getAdhocFilters")}(this)}_updateFilter(e,t,r){if(null==r)return;const{filters:n,_wip:a}=this.state;if(e===a)return void("value"===t?this.setState({filters:[...n,Ja(Za({},a),{[t]:r})],_wip:void 0}):this.setState({_wip:Ja(Za({},e),{[t]:r})}));const o=this.state.filters.map((n=>n===e?Ja(Za({},n),{[t]:r}):n));this.setState({filters:o})}_removeFilter(e){e!==this.state._wip?this.setState({filters:this.state.filters.filter((t=>t!==e))}):this.setState({_wip:void 0})}async _getKeys(e){var t,r;const n=await(null==(r=(t=this.state).getTagKeysProvider)?void 0:r.call(t,this,e));if(n&&n.replace)return n.values.map(ro);const a=await this._dataSourceSrv.get(this.state.datasource,this._scopedVars);if(!a||!a.getTagKeys)return[];const o=this.state.filters.filter((t=>t.key!==e)).concat(this.state.baseFilters);let i=await a.getTagKeys({filters:o});n&&(i=i.concat(n.values));const s=this.state.tagKeyRegexFilter;return s&&(i=i.filter((e=>e.text.match(s)))),i.map(ro)}async _getValuesFor(e){var t,r;const n=await(null==(r=(t=this.state).getTagValuesProvider)?void 0:r.call(t,this,e));if(n&&n.replace)return n.values.map(ro);const a=await this._dataSourceSrv.get(this.state.datasource,this._scopedVars);if(!a||!a.getTagValues)return[];const o=this.state.filters.filter((t=>t.key!==e.key)).concat(this.state.baseFilters);let i=await a.getTagValues({key:e.key,filters:o});return n&&(i=i.concat(n.values)),i.map(ro)}_addWip(){this.setState({_wip:{key:"",value:"",operator:"=",condition:""}})}_getOperators(){return["=","!=","<",">","=~","!~"].map((e=>({label:e,value:e})))}}eo.Component=function({model:e}){const{filters:t,readOnly:n,layout:a,name:o}=e.useState(),i=(0,tr.useStyles2)(to);return r().createElement("div",{className:i.wrapper},"vertical"!==a&&r().createElement(en,{label:null!=o?o:"Filters",icon:"filter"}),t.map(((t,n)=>r().createElement(r().Fragment,{key:n},r().createElement(Ba,{filter:t,model:e})))),!n&&r().createElement($a,{model:e,key:"'builder"}))};const to=e=>({wrapper:(0,rr.css)({display:"flex",gap:e.spacing(2),alignItems:"flex-end"}),filterIcon:(0,rr.css)({color:e.colors.text.secondary,paddingRight:e.spacing(.5)})});function ro({text:e,value:t}){return{label:e,value:String(null!=t?t:e)}}var no=Object.defineProperty,ao=Object.defineProperties,oo=Object.getOwnPropertyDescriptors,io=Object.getOwnPropertySymbols,so=Object.prototype.hasOwnProperty,lo=Object.prototype.propertyIsEnumerable,uo=(e,t,r)=>t in e?no(e,t,{enumerable:!0,configurable:!0,writable:!0,value:r}):e[t]=r,co=(e=>(e[e.dontHide=0]="dontHide",e[e.hideLabel=1]="hideLabel",e[e.hideVariable=2]="hideVariable",e))(co||{});ao(((e,t)=>{for(var r in t||(t={}))so.call(t,r)&&uo(e,r,t[r]);if(io)for(var r of io(t))lo.call(t,r)&&uo(e,r,t[r]);return e})({},{id:"00000000-0000-0000-0000-000000000000",multi:!1,options:[],skipUrlSync:!1}),oo({description:null,hide:0,datasource:null}));var po=Object.defineProperty,ho=Object.defineProperties,fo=Object.getOwnPropertyDescriptors,mo=Object.getOwnPropertySymbols,go=Object.prototype.hasOwnProperty,yo=Object.prototype.propertyIsEnumerable,bo=(e,t,r)=>t in e?po(e,t,{enumerable:!0,configurable:!0,writable:!0,value:r}):e[t]=r,vo=(e,t)=>{for(var r in t||(t={}))go.call(t,r)&&bo(e,r,t[r]);if(mo)for(var r of mo(t))yo.call(t,r)&&bo(e,r,t[r]);return e},wo=(e,t)=>ho(e,fo(t));const So=class extends Q{static create(e){var t;return new So({type:"adhoc",hide:co.hideLabel,name:null!=(t=e.name)?t:"Filters",set:new eo(wo(vo({},e),{applyMode:"manual"}))})}constructor(e){var t;super(wo(vo({},e),{filterExpression:null!=(t=e.filterExpression)?t:_o(e.set.state.filters)})),this.addActivationHandler((()=>{this._subs.add(this.state.set.subscribeToState(((e,t)=>{e.filters!==t.filters&&this._updateFilterExpression(e.filters,!0)}))),this._updateFilterExpression(this.state.set.state.filters,!1)}))}getValue(){return this.state.filterExpression}_updateFilterExpression(e,t){let r=_o(e);r!==this.state.filterExpression&&(this.setState({filterExpression:r}),t&&this.publishEvent(new De(this),!0))}};function _o(e){let t="";for(const r of e)t+=`${Oo(r)},`;return t.length>0&&(t=t.slice(0,-1)),t}function Oo(e){let t="";return t="=~"===e.operator||"!~¨"===e.operator?xo(function(e){return e.replace(Co,"\\$&")}(e.value)):xo(e.value),`${e.key}${e.operator}"${t}"`}function xo(e){return e.replace(/\\/g,"\\\\").replace(/\n/g,"\\n").replace(/"/g,'\\"')}So.Component=({model:e})=>r().createElement(eo.Component,{model:e.state.set});const Co=/[*+?()|\\.\[\]{}^$]/g;class Po{constructor(){this.urlKeyMapper=new Do,this._stateSub=null,this._locationSub=null,this._onLocationUpdate=e=>{if(this._lastPath!==e.pathname)return;const t=new URLSearchParams(e.search);this.urlKeyMapper.rebuildIndex(this._sceneRoot),this._syncSceneStateFromUrl(this._sceneRoot,t),this._lastPath=e.pathname},this._onStateChanged=({payload:e})=>{const t=e.changedObject;if(t.urlSync){const e=t.urlSync.getUrlState(),r=u.locationService.getSearch(),n={};this.urlKeyMapper.rebuildIndex(this._sceneRoot);for(const[a,o]of Object.entries(e)){const e=this.urlKeyMapper.getUniqueKey(a,t);Eo(r.getAll(e),o)||(n[e]=o)}Object.keys(n).length>0&&u.locationService.partial(n,!0)}}}initSync(e){this._locationSub||(er("UrlSyncManager","New location listen"),this._locationSub=u.locationService.getHistory().listen(this._onLocationUpdate)),this._stateSub&&(er("UrlSyncManager","Unregister previous scene state subscription",this._sceneRoot.state.key),this._stateSub.unsubscribe()),this._sceneRoot=e,this._lastPath=u.locationService.getLocation().pathname,this._stateSub=e.subscribeToEvent(L,this._onStateChanged),this.syncFrom(this._sceneRoot)}cleanUp(e){this._sceneRoot===e&&(er("UrlSyncManager","Clean up"),this._locationSub&&(this._locationSub(),er("UrlSyncManager","Unregister history listen"),this._locationSub=null),this._stateSub&&(this._stateSub.unsubscribe(),this._stateSub=null,er("UrlSyncManager","Root deactived, unsub to state","same key",this._sceneRoot.state.key===e.state.key)))}syncFrom(e){const t=u.locationService.getSearch();this.urlKeyMapper.rebuildIndex(this._sceneRoot),this._syncSceneStateFromUrl(e,t)}_syncSceneStateFromUrl(e,t){if(e.urlSync){const r={},n=e.urlSync.getUrlState();for(const a of e.urlSync.getKeys()){const o=this.urlKeyMapper.getUniqueKey(a,e),i=t.getAll(o),s=n[a];Eo(i,s)||(i.length>0?Array.isArray(s)?r[a]=i:r[a]=i[0]:r[a]=null)}Object.keys(r).length>0&&e.urlSync.updateFromUrl(r)}e.forEachChild((e=>this._syncSceneStateFromUrl(e,t)))}getUrlState(e){const t=new Do;t.rebuildIndex(e);const r={},n=e=>{if(e.urlSync){const n=e.urlSync.getUrlState();for(const[a,o]of Object.entries(n))if(null!=o){const n=t.getUniqueKey(a,e);r[n]=o}}e.forEachChild(n)};return n(e),r}}class Do{constructor(){this.index=new Map}getUniqueKey(e,t){const r=this.index.get(e);if(!r)throw new Error("Cannot find any scene object that uses the key '"+e+"'");const n=r.findIndex((e=>e.sceneObject===t));return n>0?`${e}-${n+1}`:e}rebuildIndex(e){this.index.clear(),this.buildIndex(e,0)}buildIndex(e,t){if(e.urlSync)for(const r of e.urlSync.getKeys()){const n=this.index.get(r);n?(n.push({sceneObject:e,depth:t}),n.sort(((e,t)=>e.depth-t.depth))):this.index.set(r,[{sceneObject:e,depth:t}])}e.forEachChild((e=>this.buildIndex(e,t+1)))}}function Eo(e,t){return 0===e.length&&null==t||(Array.isArray(t)||1!==(null==e?void 0:e.length)?0===(null==t?void 0:t.length)&&null===e||(0,Re.isEqual)(e,t):t===e[0])}let Ro;function jo(){return Ro||(Ro=new Po),Ro}class To extends Q{constructor(e){super(e),this.addActivationHandler((()=>{const e=function(e){const t=window.__grafanaSceneContext;return er("setWindowGrafanaScene","set window.__grafanaSceneContext",e),window.__grafanaSceneContext=e,()=>{window.__grafanaSceneContext===e&&(er("setWindowGrafanaScene","restore window.__grafanaSceneContext",t),window.__grafanaSceneContext=t)}}(this);return()=>{e(),jo().cleanUp(this)}}))}initUrlSync(){jo().initSync(this)}}To.Component=function({model:e}){const{body:t,controls:n}=e.useState(),a=(0,tr.useStyles2)(ko);return r().createElement("div",{className:a.container},n&&r().createElement("div",{className:a.controls},n.map((e=>r().createElement(e.Component,{key:e.state.key,model:e})))),r().createElement("div",{className:a.body},r().createElement(t.Component,{model:t})))};const ko=e=>({container:(0,rr.css)({flexGrow:1,display:"flex",gap:e.spacing(2),minHeight:"100%",flexDirection:"column"}),body:(0,rr.css)({flexGrow:1,display:"flex",gap:e.spacing(1)}),controls:(0,rr.css)({display:"flex",gap:e.spacing(2),alignItems:"flex-end",flexWrap:"wrap"})});var Ao=function(){},Io="undefined"!=typeof window;const Vo=Io?t.useLayoutEffect:t.useEffect;var Fo={x:0,y:0,width:0,height:0,top:0,left:0,bottom:0,right:0};const Lo=Io&&void 0!==window.ResizeObserver?function(){var e=(0,t.useState)(null),r=e[0],n=e[1],a=(0,t.useState)(Fo),o=a[0],i=a[1],s=(0,t.useMemo)((function(){return new window.ResizeObserver((function(e){if(e[0]){var t=e[0].contentRect,r=t.x,n=t.y,a=t.width,o=t.height,s=t.top,l=t.left,u=t.bottom,c=t.right;i({x:r,y:n,width:a,height:o,top:s,left:l,bottom:u,right:c})}}))}),[]);return Vo((function(){if(r)return s.observe(r),function(){s.disconnect()}}),[r]),[n,o]}:function(){return[Ao,Fo]};function Mo(e,t){if(t)return t;let r=e.error?e.error.message:void 0;return e.errors&&(r=e.errors.map((e=>e.message)).join(", ")),r}const zo=(0,rr.css)({position:"relative",width:"100%",height:"100%"}),No=(0,rr.css)({position:"absolute",width:"100%",height:"100%"}),Ho=e=>({ok:(0,rr.css)({color:e.colors.success.text}),pending:(0,rr.css)({color:e.colors.warning.text}),alerting:(0,rr.css)({color:e.colors.error.text})});var Bo=Object.defineProperty,Uo=Object.defineProperties,$o=Object.getOwnPropertyDescriptors,Wo=Object.getOwnPropertySymbols,qo=Object.prototype.hasOwnProperty,Go=Object.prototype.propertyIsEnumerable,Qo=(e,t,r)=>t in e?Bo(e,t,{enumerable:!0,configurable:!0,writable:!0,value:r}):e[t]=r,Yo=(e,t)=>{for(var r in t||(t={}))qo.call(t,r)&&Qo(e,r,t[r]);if(Wo)for(var r of Wo(t))Go.call(t,r)&&Qo(e,r,t[r]);return e},Ko=(e,t)=>Uo(e,$o(t));const Xo="hideSeriesFrom",Zo=(0,e.isSystemOverrideWithRef)(Xo);function Jo(t,r=e.ByNamesMatcherMode.exclude,n){return n=null!=n?n:{id:"custom.hideFrom",value:{viz:!0,legend:!1,tooltip:!1}},{__systemRef:Xo,matcher:{id:e.FieldMatcherID.byNames,options:{mode:r,names:t,prefix:r===e.ByNamesMatcherMode.exclude?"All except:":void 0,readOnly:!0}},properties:[Ko(Yo({},n),{value:{viz:!0,legend:!1,tooltip:!1}})]}}const ei=e=>{var t;const r=null==(t=e.matcher.options)?void 0:t.names;return Array.isArray(r)?[...r]:[]},ti=(t,r)=>{const n=new Set;for(const a of t)for(const o of a.fields){if(o.type!==e.FieldType.number)continue;const i=(0,e.getFieldDisplayName)(o,a,t);i!==r&&n.add(i)}return Array.from(n)},ri=(t,r)=>{var n;let a=[];for(const o of t){const t=o.properties.find((e=>"custom.hideFrom"===e.id));if(void 0!==t&&!0===(null==(n=t.value)?void 0:n.legend)){const t=e.fieldMatchers.get(o.matcher.id).get(o.matcher.options);for(const n of r)for(const o of n.fields){if(o.type!==e.FieldType.number)continue;const i=(0,e.getFieldDisplayName)(o,n,r);t(o,n,r)&&a.push(i)}}}return a};var ni=Object.defineProperty,ai=Object.defineProperties,oi=Object.getOwnPropertyDescriptors,ii=Object.getOwnPropertySymbols,si=Object.prototype.hasOwnProperty,li=Object.prototype.propertyIsEnumerable,ui=(e,t,r)=>t in e?ni(e,t,{enumerable:!0,configurable:!0,writable:!0,value:r}):e[t]=r,ci=(e,t)=>{for(var r in t||(t={}))si.call(t,r)&&ui(e,r,t[r]);if(ii)for(var r of ii(t))li.call(t,r)&&ui(e,r,t[r]);return e},di=(e,t)=>ai(e,oi(t));const pi=(t,r)=>({matcher:{id:e.FieldMatcherID.byName,options:t},properties:[hi(r)]}),hi=t=>({id:"color",value:{mode:e.FieldColorModeId.Fixed,fixedColor:t}});var fi=Object.defineProperty,mi=Object.defineProperties,gi=Object.getOwnPropertyDescriptors,yi=Object.getOwnPropertySymbols,bi=Object.prototype.hasOwnProperty,vi=Object.prototype.propertyIsEnumerable,wi=(e,t,r)=>t in e?fi(e,t,{enumerable:!0,configurable:!0,writable:!0,value:r}):e[t]=r,Si=(e,t)=>{for(var r in t||(t={}))bi.call(t,r)&&wi(e,r,t[r]);if(yi)for(var r of yi(t))vi.call(t,r)&&wi(e,r,t[r]);return e},_i=(e,t)=>mi(e,gi(t));class Oi extends Q{constructor(t){super(Si({options:{},fieldConfig:{defaults:{},overrides:[]},title:"Title",pluginId:"timeseries"},t)),this._variableDependency=new ht(this,{statePaths:["title","options","fieldConfig"]}),this._structureRev=0,this.onTimeRangeChange=t=>{ct.getTimeRange(this).onTimeRangeChange({raw:{from:(0,e.toUtc)(t.from),to:(0,e.toUtc)(t.to)},from:(0,e.toUtc)(t.from),to:(0,e.toUtc)(t.to)})},this.onTitleChange=e=>{this.setState({title:e})},this.onDescriptionChange=e=>{this.setState({description:e})},this.onDisplayModeChange=e=>{this.setState({displayMode:e})},this.onOptionsChange=(t,r=!1)=>{const{fieldConfig:n,options:a}=this.state,o=r?t:(0,Re.mergeWith)((0,Re.cloneDeep)(a),t,((e,t)=>{if((0,Re.isArray)(t))return t})),i=(0,e.getPanelOptionsWithDefaults)({plugin:this._plugin,currentOptions:o,currentFieldConfig:n,isAfterPluginChange:!1});this.setState({options:i.options})},this.onFieldConfigChange=(t,r)=>{const{fieldConfig:n,options:a}=this.state,o=r?t:(0,Re.merge)((0,Re.cloneDeep)(n),t),i=(0,e.getPanelOptionsWithDefaults)({plugin:this._plugin,currentOptions:a,currentFieldConfig:o,isAfterPluginChange:!1});this.setState({fieldConfig:i.fieldConfig})},this.interpolate=(e,t,r)=>ct.interpolate(this,e,t,r),this.getDescription=()=>{this.publishEvent(new M({origin:this,interaction:"panel-description-shown"}),!0);const{description:t}=this.state;if(t){const r=this.interpolate(t);return(0,e.renderMarkdown)(r)}return""},this.onCancelQuery=()=>{var e;this.publishEvent(new M({origin:this,interaction:"panel-cancel-query-clicked"}),!0);const t=ct.getData(this);null==(e=t.cancelQuery)||e.call(t)},this.onStatusMessageClick=()=>{this.publishEvent(new M({origin:this,interaction:"panel-status-message-clicked"}),!0)},this._onSeriesColorChange=(t,r)=>{this.onFieldConfigChange(((t,r,n)=>{const{overrides:a}=n,o=n.overrides.findIndex((r=>r.matcher.id===e.FieldMatcherID.byName&&r.matcher.options===t));if(o<0)return di(ci({},n),{overrides:[...n.overrides,pi(t,r)]});const i=Array.from(a),s=i[o],l=s.properties.findIndex((e=>"color"===e.id));if(l<0)return i[o]=di(ci({},s),{properties:[...s.properties,hi(r)]}),di(ci({},n),{overrides:i});const u=Array.from(s.properties);return u[l]=hi(r),i[o]=di(ci({},s),{properties:u}),di(ci({},n),{overrides:i})})(t,r,this.state.fieldConfig))},this._onSeriesVisibilityChange=(t,r)=>{this._dataWithFieldConfig&&this.onFieldConfigChange(function(t,r,n,a){const{overrides:o}=n,i=t,s=o.findIndex(Zo);if(s<0){if(r===tr.SeriesVisibilityChangeMode.ToggleSelection){const e=Jo([i,...ri(o,a)]);return Ko(Yo({},n),{overrides:[...n.overrides,e]})}const e=Jo(ti(a,i));return Ko(Yo({},n),{overrides:[...n.overrides,e]})}const l=Array.from(o),[u]=l.splice(s,1);if(r===tr.SeriesVisibilityChangeMode.ToggleSelection){let e=ei(u);const t=ri(l,a);if(t.length>0&&(e=e.filter((e=>t.indexOf(e)<0))),e[0]===i&&1===e.length)return Ko(Yo({},n),{overrides:l});const r=Jo([i,...t]);return Ko(Yo({},n),{overrides:[...l,r]})}const c=((t,r,n=e.ByNamesMatcherMode.exclude)=>{const a=t.properties.find((e=>"custom.hideFrom"===e.id)),o=ei(t),i=o.findIndex((e=>e===r));return i<0?o.push(r):o.splice(i,1),Jo(o,n,a)})(u,i);return((e,t)=>ei(e).length===ti(t).length)(c,a)?Ko(Yo({},n),{overrides:l}):Ko(Yo({},n),{overrides:[...l,c]})}(t,r,this.state.fieldConfig,this._dataWithFieldConfig.series),!0)},this._onInstanceStateChange=e=>{this.setState({_pluginInstanceState:e})},this._onToggleLegendSort=e=>{const t=this.state.options.legend;if(!t)return;let r=t.sortDesc,n=t.sortBy;e!==n&&(r=void 0),!1===r?(n=void 0,r=void 0):(r=!r,n=e),this.onOptionsChange(_i(Si({},this.state.options),{legend:_i(Si({},t),{sortBy:n,sortDesc:r})}))},this.addActivationHandler((()=>{this._onActivate()})),t.menu&&t.menu.addActivationHandler((()=>{this.publishEvent(new M({origin:this,interaction:"panel-menu-shown"}),!0)}))}_onActivate(){this._plugin||this._loadPlugin(this.state.pluginId)}_loadPlugin(t){const r=function(e){var t;const{getPanelPluginFromCache:r}=(0,u.getPluginImportUtils)();return null!=(t=r(e))?t:w.get(e)}(t);if(r)this._pluginLoaded(r);else{const{importPanelPlugin:r}=(0,u.getPluginImportUtils)();try{r(t).then((e=>this._pluginLoaded(e)))}catch(r){this._pluginLoaded(function(t,r){const n=new e.PanelPlugin((()=>null));return n.meta={id:t,name:t,sort:100,type:e.PluginType.panel,module:"",baseUrl:"",info:{author:{name:""},description:"",links:[],logos:{large:"",small:"public/img/grafana_icon.svg"},screenshots:[],updated:"",version:""}},n}(t)),this.setState({_pluginLoadError:r.message})}}}async _pluginLoaded(t){const{options:r,fieldConfig:n,title:a,pluginVersion:o,_UNSAFE_customMigrationHandler:i}=this.state,s={title:a,options:r,fieldConfig:n,id:1,type:t.meta.id,pluginVersion:o},l=this._getPluginVersion(t);i&&i(s,t),t.onPanelMigration&&l!==this.state.pluginVersion&&(s.options=await t.onPanelMigration(s));const u=(0,e.getPanelOptionsWithDefaults)({plugin:t,currentOptions:s.options,currentFieldConfig:s.fieldConfig,isAfterPluginChange:!1});if(this._plugin=t,this.setState({options:u.options,fieldConfig:u.fieldConfig,pluginVersion:l}),t.meta.skipDataQuery){const e=ct.getTimeRange(this);this._subs.add(e.subscribeToState((()=>this.forceRender())))}}_getPluginVersion(e){return e&&e.meta.info.version?e.meta.info.version:u.config.buildInfo.version}getPlugin(){return this._plugin}getPanelContext(){return this._panelContext||(this._panelContext=this.buildPanelContext()),this._panelContext}applyFieldConfig(t){var r,n;const a=this._plugin;if(!a||a.meta.skipDataQuery||!t)return de;const o=a.dataSupport||{alertStates:!1,annotations:!1},i=a.fieldConfigRegistry,s=null==(r=this._prevData)?void 0:r.series,l=null==t?void 0:t.series;return null==t.structureRev&&l&&s&&!(0,e.compareArrayValues)(l,s,e.compareDataFrameStructures)&&this._structureRev++,this._dataWithFieldConfig=_i(Si({},t),{structureRev:this._structureRev,series:(0,e.applyFieldOverrides)({data:l,fieldConfig:this.state.fieldConfig,fieldConfigRegistry:i,replaceVariables:this.interpolate,theme:u.config.theme2,timeZone:null==(n=t.request)?void 0:n.timezone})}),o.alertStates||(this._dataWithFieldConfig.alertState=void 0),o.annotations||(this._dataWithFieldConfig.annotations=void 0),this._dataWithFieldConfig}buildPanelContext(){const t=(this,ct.findObject(this,(e=>e instanceof St)));const r={eventsScope:t?t.getEventsScope():"__global_",eventBus:t?t.getEventsBus(this):(0,u.getAppEvents)(),app:e.CoreApp.Unknown,sync:()=>t?t.state.sync:e.DashboardCursorSync.Off,onSeriesColorChange:this._onSeriesColorChange,onToggleSeriesVisibility:this._onSeriesVisibilityChange,onToggleLegendSort:this._onToggleLegendSort,onInstanceStateChange:this._onInstanceStateChange};return this.state.extendPanelContext&&this.state.extendPanelContext(this,r),r}}function xi(e){return e instanceof hs}Oi.Component=function({model:t}){var n,a,o;const{title:i,options:s,fieldConfig:l,_pluginLoadError:c,$data:d,displayMode:p,hoverHeader:h,menu:f,headerActions:m,titleItems:g,description:y}=t.useState(),[b,{width:v,height:w}]=Lo(),S=t.getPlugin(),{dragClass:_,dragClassCancel:O}=function(e){var t,r;const n=ct.getLayout(e),a=null==n?void 0:n.isDraggable();return n&&a&&!function(e,t){let r=e.parent;for(;r&&r!==t;){if("isDraggable"in r.state&&!1===r.state.isDraggable)return!0;r=r.parent}return!1}(e,n)?{dragClass:null==(t=n.getDragClass)?void 0:t.call(n),dragClassCancel:null==(r=null==n?void 0:n.getDragClassCancel)?void 0:r.call(n)}:{dragClass:"",dragClassCancel:""}}(t),x=ct.getData(t),C=x.useState(),P=t.applyFieldConfig(C.data),D=ct.getTimeRange(t),E=D.getTimeZone(),R=function(e,t,r){var n;return!t||t.meta.skipDataQuery?e.state.value:r&&(null==(n=r.request)?void 0:n.range)?r.request.range:e.state.value}(D,S,P),j=t.interpolate(i,void 0,"text"),T=(0,tr.useStyles2)(Ho);if(!S)return r().createElement("div",null,"Loading plugin panel...");if(!S.panel)return r().createElement("div",null,"Panel plugin has no panel component");const k=S.panel;d&&d.setContainerWidth&&d.setContainerWidth(Math.round(v));let A,I,V=[];g&&(Array.isArray(g)?V=V.concat(g.map((e=>r().createElement(e.Component,{model:e,key:`${e.state.key}`})))):Vr(g)?V.push(r().createElement(g.Component,{model:g})):V.push(g)),t.state.$timeRange&&V.push(r().createElement(t.state.$timeRange.Component,{model:t.state.$timeRange,key:t.state.key})),P.alertState&&V.push(r().createElement(tr.Tooltip,{content:null!=(n=P.alertState.state)?n:"unknown",key:`alert-states-icon-${t.state.key}`},r().createElement(tr.PanelChrome.TitleItem,{className:(0,rr.cx)({[T.ok]:P.alertState.state===e.AlertState.OK,[T.pending]:P.alertState.state===e.AlertState.Pending,[T.alerting]:P.alertState.state===e.AlertState.Alerting})},r().createElement(tr.Icon,{name:"alerting"===P.alertState.state?"heart-break":"heart",className:"panel-alert-icon",size:"md"})))),f&&(A=r().createElement(f.Component,{model:f})),m&&(I=Array.isArray(m)?r().createElement(r().Fragment,null,m.map((e=>r().createElement(e.Component,{model:e,key:`${e.state.key}`})))):Vr(m)?r().createElement(m.Component,{model:m}):m);const F=P,L=!x.isDataReadyToDisplay||x.isDataReadyToDisplay(),M=t.getPanelContext(),z=null!=(o=null==(a=M.instanceState)?void 0:a.legacyPanelId)?o:1;return r().createElement("div",{className:zo},r().createElement("div",{ref:b,className:No,"data-viz-panel-key":t.state.key},v>0&&w>0&&r().createElement(tr.PanelChrome,{title:j,description:(null==y?void 0:y.trim())?t.getDescription:void 0,loadingState:F.state,statusMessage:Mo(F,c),statusMessageOnClick:t.onStatusMessageClick,width:v,height:w,displayMode:p,hoverHeader:h,titleItems:V,dragClass:_,actions:I,dragClassCancel:O,padding:S.noPadding?"none":"md",menu:A,onCancelQuery:t.onCancelQuery},((n,a)=>r().createElement(r().Fragment,null,r().createElement(tr.ErrorBoundaryAlert,{dependencies:[S,F]},r().createElement(e.PluginContextProvider,{meta:S.meta},r().createElement(tr.PanelContextProvider,{value:M},L&&r().createElement(k,{id:z,data:F,title:i,timeRange:R,timeZone:E,options:s,fieldConfig:l,transparent:!1,width:n,height:a,renderCounter:0,replaceVariables:t.interpolate,onOptionsChange:t.onOptionsChange,onFieldConfigChange:t.onFieldConfigChange,onChangeTimeRange:t.onTimeRangeChange,eventBus:(0,u.getAppEvents)()})))))))))},class extends Q{addItem(e){this.setState({items:this.state.items?[...this.state.items,e]:[e]})}setItems(e){this.setState({items:e})}}.Component=function({model:e}){const{items:n=[]}=e.useState(),a=r().useRef(null);(0,t.useEffect)((()=>{a.current&&a.current.focus()}),[]);const o=e=>e.map((e=>"divider"===e.type?r().createElement(tr.Menu.Divider,{key:e.text}):r().createElement(tr.Menu.Item,{key:e.text,label:e.text,icon:e.iconClassName,childItems:e.subMenu?o(e.subMenu):void 0,url:e.href,onClick:e.onClick,shortcut:e.shortcut})));return r().createElement(tr.Menu,{ref:a},o(n))},class extends Q{}.Component=function({model:e}){const{body:t}=e.useState(),n=e.parent;if(n&&!(n instanceof rs)&&!xi(n))throw new Error("SceneGridItem must be a child of SceneGridLayout or SceneGridRow");return t?r().createElement(t.Component,{model:t}):null};var Ci=d(788),Pi=d.n(Ci),Di=function(){function e(e,t){for(var r=0;r div, .contract-trigger:before { content: " "; display: block; position: absolute; top: 0; left: 0; height: 100%; width: 100%; overflow: hidden; z-index: -1; } .resize-triggers > div { background: #eee; overflow: auto; } .contract-trigger:before { width: 200%; height: 200%; }',o=r.head||r.getElementsByTagName("head")[0],i=r.createElement("style");i.id="detectElementResize",i.type="text/css",null!=e&&i.setAttribute("nonce",e),i.styleSheet?i.styleSheet.cssText=n:i.appendChild(r.createTextNode(n)),o.appendChild(i)}}(c),o.__resizeLast__={},o.__resizeListeners__=[],(o.__resizeTriggers__=c.createElement("div")).className="resize-triggers";var p=c.createElement("div");p.className="expand-trigger",p.appendChild(c.createElement("div"));var h=c.createElement("div");h.className="contract-trigger",o.__resizeTriggers__.appendChild(p),o.__resizeTriggers__.appendChild(h),o.appendChild(o.__resizeTriggers__),i(o),o.addEventListener("scroll",s,!0),n&&(o.__resizeTriggers__.__animationListener__=function(e){e.animationName===r&&i(o)},o.__resizeTriggers__.addEventListener(n,o.__resizeTriggers__.__animationListener__))}o.__resizeListeners__.push(u)}},removeResizeListener:function(e,t){if(l)e.detachEvent("onresize",t);else if(e.__resizeListeners__.splice(e.__resizeListeners__.indexOf(t),1),!e.__resizeListeners__.length){e.removeEventListener("scroll",s,!0),e.__resizeTriggers__.__animationListener__&&(e.__resizeTriggers__.removeEventListener(n,e.__resizeTriggers__.__animationListener__),e.__resizeTriggers__.__animationListener__=null);try{e.__resizeTriggers__=!e.removeChild(e.__resizeTriggers__)}catch(e){}}}}}(e),this._detectElementResize.addResizeListener(this._parentNode,this._onResize),this._onResize())}},{key:"componentWillUnmount",value:function(){this._detectElementResize&&this._parentNode&&this._detectElementResize.removeResizeListener(this._parentNode,this._onResize)}},{key:"render",value:function(){var e=this.props,r=e.children,n=e.className,a=e.disableHeight,o=e.disableWidth,i=e.style,s=this.state,l=s.height,u=s.width,c={overflow:"visible"},d={},p=!1;return a||(0===l&&(p=!0),c.height=0,d.height=l),o||(0===u&&(p=!0),c.width=0,d.width=u),(0,t.createElement)("div",{className:n,ref:this._setRef,style:Ei({},c,i)},!p&&r(d))}}]),r}(t.PureComponent);Li.defaultProps={onResize:function(){},disableHeight:!1,disableWidth:!1,style:{}};const Mi=Li;var zi=Object.defineProperty,Ni=Object.getOwnPropertySymbols,Hi=Object.prototype.hasOwnProperty,Bi=Object.prototype.propertyIsEnumerable,Ui=(e,t,r)=>t in e?zi(e,t,{enumerable:!0,configurable:!0,writable:!0,value:r}):e[t]=r;function $i(){const e=(0,t.useRef)(void 0);return null!=e.current||(e.current=(0,Re.uniqueId)()),e.current}const Wi=r().forwardRef(((e,n)=>{var a=e,{children:o,onLoad:i,onChange:s}=a,l=((e,t)=>{var r={};for(var n in e)Hi.call(e,n)&&t.indexOf(n)<0&&(r[n]=e[n]);if(null!=e&&Ni)for(var n of Ni(e))t.indexOf(n)<0&&Bi.call(e,n)&&(r[n]=e[n]);return r})(a,["children","onLoad","onChange"]);const u=$i(),[c,d]=(0,t.useState)(!1),[p,h]=(0,t.useState)(!1),f=(0,t.useRef)(null);return(0,t.useImperativeHandle)(n,(()=>f.current)),m=()=>{Wi.addCallback(u,(e=>{!c&&e.isIntersecting&&(d(!0),null==i||i()),h(e.isIntersecting),null==s||s(e.isIntersecting)}));const e=f.current;return e&&Wi.observer.observe(e),()=>{delete Wi.callbacks[u],e&&Wi.observer.unobserve(e),0===Object.keys(Wi.callbacks).length&&Wi.observer.disconnect()}},(0,t.useEffect)(m,[]),r().createElement("div",((e,t)=>{for(var r in t||(t={}))Hi.call(t,r)&&Ui(e,r,t[r]);if(Ni)for(var r of Ni(t))Bi.call(t,r)&&Ui(e,r,t[r]);return e})({id:u,ref:f},l),c&&("function"==typeof o?o({isInView:p}):o));var m}));Wi.displayName="LazyLoader",Wi.callbacks={},Wi.addCallback=(e,t)=>Wi.callbacks[e]=t,Wi.observer=new IntersectionObserver((e=>{for(const t of e)Wi.callbacks[t.target.id](t)}),{rootMargin:"100px"});var qi=Object.defineProperty,Gi=Object.defineProperties,Qi=Object.getOwnPropertyDescriptors,Yi=Object.getOwnPropertySymbols,Ki=Object.prototype.hasOwnProperty,Xi=Object.prototype.propertyIsEnumerable,Zi=(e,t,r)=>t in e?qi(e,t,{enumerable:!0,configurable:!0,writable:!0,value:r}):e[t]=r,Ji=(e,t)=>{for(var r in t||(t={}))Ki.call(t,r)&&Zi(e,r,t[r]);if(Yi)for(var r of Yi(t))Xi.call(t,r)&&Zi(e,r,t[r]);return e},es=(e,t)=>Gi(e,Qi(t));const ts=class extends Q{constructor(e){super(es(Ji({},e),{children:as(e.children)})),this._skipOnLayoutChange=!1,this.onLayoutChange=e=>{if(this._skipOnLayoutChange)this._skipOnLayoutChange=!1;else{for(const t of e){const e=this.getSceneLayoutChild(t.i),r={x:t.x,y:t.y,width:t.w,height:t.h};ns(e.state,r)||e.setState(Ji({},r))}this.setState({children:as(this.state.children)})}},this.onResizeStop=(e,t,r)=>{this.getSceneLayoutChild(r.i).setState({width:r.w,height:r.h})},this.onDragStop=(e,t,r)=>{const n=this.getSceneLayoutChild(r.i);e=os(e);for(let t=0;te.i===r.i)),o=this.findGridItemSceneParent(e,a-1);let i=this.state.children;o!==n.parent&&(i=this.moveChildTo(n,o)),this.setState({children:as(i)}),this._skipOnLayoutChange=!0}}isDraggable(){var e;return null!=(e=this.state.isDraggable)&&e}getDragClass(){return`grid-drag-handle-${this.state.key}`}getDragClassCancel(){return"grid-drag-cancel"}toggleRow(e){var t,r;if(!e.state.isCollapsed)return e.setState({isCollapsed:!0}),void this.setState({});const n=e.state.children;if(0===n.length)return e.setState({isCollapsed:!1}),void this.setState({});const a=e.state.y,o=(null!=(t=n[0].state.y)?t:a)-(a+1);let i=a;for(const e of n){const t=Ji({},e.state);t.y=null!=(r=t.y)?r:a,t.y-=o,t.y!==e.state.y&&e.setState(t),i=Math.max(i,Number(t.y)+Number(t.height))}const s=i-a-1;for(const t of this.state.children)if(t.state.y>a&&this.pushChildDown(t,s),xi(t)&&t!==e)for(const e of t.state.children)e.state.y>a&&this.pushChildDown(e,s);e.setState({isCollapsed:!1}),this.setState({})}getSceneLayoutChild(e){for(const t of this.state.children){if(t.state.key===e)return t;if(t instanceof hs)for(const r of t.state.children)if(r.state.key===e)return r}throw new Error("Scene layout child not found for GridItem")}pushChildDown(e,t){e.setState({y:e.state.y+t})}findGridItemSceneParent(e,t){for(let r=t;r>=0;r--){const t=e[r],n=this.getSceneLayoutChild(t.i);if(n instanceof hs)return n.state.isCollapsed?this:n}return this}moveChildTo(e,t){const r=e.parent;let n=this.state.children;const a=e.clone({key:e.state.key});if(r instanceof hs){const o=r.clone({children:r.state.children.filter((t=>t.state.key!==e.state.key))});if(n=n.map((e=>e===r?o:e)),t instanceof hs){const e=t.clone({children:[...t.state.children,a]});n=n.map((r=>r===t?e:r))}else n=[...n,a]}else if(!(t instanceof ts)){n=n.filter((t=>t.state.key!==e.state.key));const r=t.clone({children:[...t.state.children,a]});n=n.map((e=>e===t?r:e))}return n}toGridCell(e){var t,r;const n=e.state;let a=null!=(t=n.x)?t:0,o=null!=(r=n.y)?r:0;const i=Number.isInteger(Number(n.width))?Number(n.width):4,s=Number.isInteger(Number(n.height))?Number(n.height):4;let l=e.state.isDraggable,u=e.state.isResizable;return e instanceof hs&&(l=!!e.state.isCollapsed,u=!1),{i:e.state.key,x:a,y:o,h:s,w:i,isResizable:u,isDraggable:l}}buildGridLayout(e){let t=[];for(const e of this.state.children)if(t.push(this.toGridCell(e)),e instanceof hs&&!e.state.isCollapsed)for(const r of e.state.children)t.push(this.toGridCell(r));return t=os(t),e<768?(this._skipOnLayoutChange=!0,t.map((e=>es(Ji({},e),{w:24})))):(this._skipOnLayoutChange=!1,t)}};let rs=ts;function ns(e,t){return e.x===t.x&&e.y===t.y&&e.width===t.width&&e.height===t.height}function as(e){return[...e].sort(((e,t)=>e.state.y-t.state.y||e.state.x-t.state.x))}function os(e){return[...e].sort(((e,t)=>e.y-t.y||e.x-t.x))}rs.Component=function({model:e}){const{children:t,isLazy:n,isDraggable:a,isResizable:o}=e.useState();return function(e){if(e.some((e=>void 0===e.state.height||void 0===e.state.width||void 0===e.state.x||void 0===e.state.y)))throw new Error("All children must have a size specified")}(t),r().createElement(Mi,{disableHeight:!0},(({width:t})=>{if(0===t)return null;const i=e.buildGridLayout(t);return r().createElement("div",{style:{width:`${t}px`,height:"100%"}},r().createElement(Pi(),{width:t,isDraggable:a&&t>768,isResizable:null!=o&&o,containerPadding:[0,0],useCSSTransforms:!1,margin:[8,8],cols:24,rowHeight:30,draggableHandle:`.grid-drag-handle-${e.state.key}`,draggableCancel:".grid-drag-cancel",layout:i,onDragStop:e.onDragStop,onResizeStop:e.onResizeStop,onLayoutChange:e.onLayoutChange,isBounded:!1},i.map((t=>{var a;const o=e.getSceneLayoutChild(t.i),i=null==(a=o.getClassName)?void 0:a.call(o);return n?r().createElement(Wi,{key:o.state.key,"data-griditem-key":o.state.key,className:i},r().createElement(o.Component,{model:o,key:o.state.key})):r().createElement("div",{key:o.state.key,"data-griditem-key":o.state.key,className:i},r().createElement(o.Component,{model:o,key:o.state.key}))}))))}))};var is=Object.defineProperty,ss=Object.defineProperties,ls=Object.getOwnPropertyDescriptors,us=Object.getOwnPropertySymbols,cs=Object.prototype.hasOwnProperty,ds=Object.prototype.propertyIsEnumerable,ps=(e,t,r)=>t in e?is(e,t,{enumerable:!0,configurable:!0,writable:!0,value:r}):e[t]=r;class hs extends Q{constructor(e){super(((e,t)=>ss(e,ls({x:0,height:1,width:24})))(((e,t)=>{for(var r in t||(t={}))cs.call(t,r)&&ps(e,r,t[r]);if(us)for(var r of us(t))ds.call(t,r)&&ps(e,r,t[r]);return e})({children:e.children||[],isCollapsible:e.isCollapsible||!0,title:e.title||""},e))),this.onCollapseToggle=()=>{this.state.isCollapsible&&this.getGridLayout().toggleRow(this)}}getGridLayout(){const e=this.parent;if(!(e&&e instanceof rs))throw new Error("SceneGridRow must be a child of SceneGridLayout");return e}getUrlState(){return{rowc:this.state.isCollapsed?"1":"0"}}updateFromUrl(e){null!=e.rowc&&e.rowc!==this.getUrlState().rowc&&this.onCollapseToggle()}}hs.Component=function({model:e}){const t=(0,tr.useStyles2)(fs),{isCollapsible:n,isCollapsed:a,title:o,isDraggable:i,actions:s}=e.useState(),l=e.getGridLayout().getDragClass();return r().createElement("div",{className:(0,rr.cx)(t.row,a&&t.rowCollapsed)},r().createElement("button",{onClick:e.onCollapseToggle,className:t.rowTitleButton,"aria-label":a?"Expand row":"Collapse row"},n&&r().createElement(tr.Icon,{name:a?"angle-right":"angle-down"}),r().createElement("span",{className:t.rowTitle,role:"heading"},ct.interpolate(e,o,void 0,"text"))),s&&r().createElement(s.Component,{model:s}),i&&a&&r().createElement("div",{className:(0,rr.cx)(t.dragHandle,l)},r().createElement(tr.Icon,{name:"draggabledots"})))};const fs=e=>({row:(0,rr.css)({width:"100%",height:"30px",display:"flex",justifyContent:"space-between",gap:e.spacing(1)}),rowTitleButton:(0,rr.css)({display:"flex",alignItems:"center",cursor:"pointer",background:"transparent",border:"none",gap:e.spacing(1)}),rowCollapsed:(0,rr.css)({borderBottom:`1px solid ${e.colors.border.weak}`}),rowTitle:(0,rr.css)({fontSize:e.typography.h5.fontSize,fontWeight:e.typography.fontWeightMedium}),collapsedInfo:(0,rr.css)({fontSize:e.typography.bodySmall.fontSize,color:e.colors.text.secondary,display:"flex",alignItems:"center",flexGrow:1}),dragHandle:(0,rr.css)({display:"flex",padding:e.spacing(0,1),alignItems:"center",justifyContent:"flex-end",cursor:"move",color:e.colors.text.secondary,"&:hover":{color:e.colors.text.primary}})});(class extends Q{constructor(){super(...arguments),this.onToggle=()=>{this.setState({isCollapsed:!this.state.isCollapsed})},this.onRemove=()=>{const e=this.parent;"body"in e.state&&e.setState({body:void 0})}}}).Component=function({model:e}){const{title:t,isCollapsed:n,canCollapse:a,canRemove:o,body:i,controls:s}=e.useState(),l=(0,tr.useStyles2)(fs),u=(0,tr.useStyles2)(ms),c=(null!=s?s:[]).map((e=>r().createElement(e.Component,{key:e.state.key,model:e})));return o&&c.push(r().createElement(tr.ToolbarButton,{icon:"times",variant:"default",onClick:e.onRemove,key:"remove-button","aria-label":"Remove scene"})),r().createElement("div",{className:u.wrapper},r().createElement("div",{className:(0,rr.cx)(u.row,n&&u.rowCollapsed)},r().createElement("button",{onClick:e.onToggle,className:l.rowTitleButton,"aria-label":n?"Expand scene":"Collapse scene"},a&&r().createElement(tr.Icon,{name:n?"angle-right":"angle-down"}),r().createElement("span",{className:l.rowTitle,role:"heading"},ct.interpolate(e,t,void 0,"text"))),r().createElement("div",{className:u.actions},c)),!n&&r().createElement(i.Component,{model:i}))};const ms=e=>({wrapper:(0,rr.css)({display:"flex",flexDirection:"column",flexGrow:1,gap:e.spacing(1),cursor:"pointer"}),row:(0,rr.css)({width:"100%",display:"flex",justifyContent:"space-between",gap:e.spacing(1)}),rowCollapsed:(0,rr.css)({borderBottom:`1px solid ${e.colors.border.weak}`,paddingBottom:e.spacing(1)}),actions:(0,rr.css)({display:"flex",alignItems:"center",gap:e.spacing(1),justifyContent:"flex-end",flexGrow:1})});(class extends Q{constructor(){super(...arguments),this._variableDependency=new ht(this,{statePaths:["text"]})}}).Component=({model:e})=>{const{text:t,fontSize:n=20,align:a="left",key:o,spacing:i}=e.useState(),s=(0,tr.useTheme2)(),l=(0,rr.css)({fontSize:n,display:"flex",flexGrow:1,alignItems:"center",padding:i?s.spacing(i,0):void 0,justifyContent:a});return r().createElement("div",{className:l,"data-testid":o},ct.interpolate(e,t))},class extends Q{}.Component=({model:e})=>{const t=e.useState();return r().createElement(tr.ToolbarButton,{onClick:t.onClick,icon:t.icon})},class extends Q{}.Component=({model:e})=>{const t=e.useState();return r().createElement("div",{style:{display:"flex"}},t.label&&r().createElement(en,{label:t.label}),r().createElement(tr.Input,{defaultValue:t.value,width:8,onBlur:t=>{e.state.onChange(parseInt(t.currentTarget.value,10))}}))};class gs extends Q{constructor(){super(...arguments),this.onZoom=()=>{const t=ct.getTimeRange(this),r=function(t,r){const n=t.to.valueOf()-t.from.valueOf(),a=t.to.valueOf()-n/2,o=0===n?3e4:2*n,i=a+o/2,s=a-o/2;return{from:(0,e.toUtc)(s),to:(0,e.toUtc)(i),raw:{from:(0,e.toUtc)(s),to:(0,e.toUtc)(i)}}}(t.state.value);t.onTimeRangeChange(r)},this.onChangeFiscalYearStartMonth=e=>{ct.getTimeRange(this).setState({fiscalYearStartMonth:e})},this.onMoveBackward=()=>{const e=ct.getTimeRange(this),{state:{value:t}}=e;e.onTimeRangeChange(bs(ys.Backward,t,Date.now()))},this.onMoveForward=()=>{const e=ct.getTimeRange(this),{state:{value:t}}=e;e.onTimeRangeChange(bs(ys.Forward,t,Date.now()))}}}gs.Component=function({model:e}){const{hidePicker:t,isOnCanvas:n}=e.useState(),a=ct.getTimeRange(e),o=a.getTimeZone(),i=a.useState();return t?null:r().createElement(tr.TimeRangePicker,{isOnCanvas:null==n||n,value:i.value,onChange:a.onTimeRangeChange,timeZone:o,fiscalYearStartMonth:i.fiscalYearStartMonth,onMoveBackward:e.onMoveBackward,onMoveForward:e.onMoveForward,onZoom:e.onZoom,onChangeTimeZone:a.onTimeZoneChange,onChangeFiscalYearStartMonth:e.onChangeFiscalYearStartMonth})};var ys=(e=>(e[e.Backward=0]="Backward",e[e.Forward=1]="Forward",e))(ys||{});function bs(t,r,n){const a=r.to.valueOf(),o=r.from.valueOf(),i=(a-o)/2;let s,l;0===t?(s=o-i,l=a-i):(s=o+i,l=a+i,l>n&&at in e?vs(e,t,{enumerable:!0,configurable:!0,writable:!0,value:r}):e[t]=r;const Ps=["5s","10s","30s","1m","5m","15m","30m","1h","2h","1d"];class Ds extends Q{constructor(t){var r;super(((e,t)=>ws(e,Ss(t)))(((e,t)=>{for(var r in t||(t={}))Os.call(t,r)&&Cs(e,r,t[r]);if(_s)for(var r of _s(t))xs.call(t,r)&&Cs(e,r,t[r]);return e})({refresh:""},t),{intervals:null!=(r=t.intervals)?r:Ps})),this._urlSync=new pe(this,{keys:["refresh"]}),this.onRefresh=()=>{const e=ct.getTimeRange(this);this._intervalTimer&&clearInterval(this._intervalTimer),e.onRefresh(),this.setupIntervalTimer()},this.onIntervalChanged=e=>{this.setState({refresh:e}),this.setupIntervalTimer()},this.setupIntervalTimer=()=>{const t=ct.getTimeRange(this),{refresh:r,intervals:n}=this.state;if((this._intervalTimer||""===r)&&clearInterval(this._intervalTimer),""===r)return;if(n&&!n.includes(r))return;const a=e.rangeUtil.intervalToMs(r);this._intervalTimer=setInterval((()=>{t.onRefresh()}),a)},this.addActivationHandler((()=>(this.setupIntervalTimer(),()=>{this._intervalTimer&&clearInterval(this._intervalTimer)})))}getUrlState(){return{refresh:this.state.refresh}}updateFromUrl(e){const t=e.refresh;t&&"string"==typeof t&&this.setState({refresh:t})}}Ds.Component=function({model:e}){const{refresh:t,intervals:n,isOnCanvas:a}=e.useState();return r().createElement(tr.RefreshPicker,{value:t,intervals:n,onRefresh:e.onRefresh,onIntervalChanged:e.onIntervalChanged,isOnCanvas:null==a||a})},class extends Q{constructor(t){super(t),this.addActivationHandler((()=>{const t=ct.getData(this);this._subs.add(t.subscribeToState((t=>{var r;(null==(r=t.data)?void 0:r.state)===e.LoadingState.Done&&this.performRepeat(t.data)}))),t.state.data&&this.performRepeat(t.state.data)}))}performRepeat(e){const t=[];for(let r=0;r{const{body:t}=e.useState();return r().createElement(t.Component,{model:t})};const Es=class extends Q{constructor(){super({})}get Component(){return Es.Component}};let Rs=Es;Rs.Component=e=>r().createElement("div",{style:{flexGrow:1}});class js extends Q{toggleDirection(){this.setState({direction:"row"===this.state.direction?"column":"row"})}isDraggable(){return!1}}js.Component=function({model:e,parentState:n}){const{children:a,isHidden:o}=e.useState(),i=function(e,r){return(0,t.useMemo)((()=>{var t,n,a,o,i,s,l,c,d,p;const{direction:h="row",wrap:f}=e,m=u.config.theme2,g={};return r?ks(g,e,r):(g.display="flex",g.flexGrow=1),g.flexDirection=h,g.gap="8px",g.flexWrap=f||"nowrap",g.alignContent="baseline",g.minHeight=g.minHeight||0,g[m.breakpoints.down("md")]={flexDirection:null!=(n=null==(t=e.md)?void 0:t.direction)?n:"column",maxWidth:null!=(o=null==(a=e.md)?void 0:a.maxWidth)?o:"unset",maxHeight:null!=(s=null==(i=e.md)?void 0:i.maxHeight)?s:"unset",height:null!=(c=null==(l=e.md)?void 0:l.height)?c:"unset",width:null!=(p=null==(d=e.md)?void 0:d.width)?p:"unset"},(0,rr.css)(g)}),[r,e])}(e.state,n);return o?null:r().createElement("div",{className:i},a.map((t=>{const n=t.Component;return r().createElement(n,{key:t.state.key,model:t,parentState:e.state})})))};class Ts extends Q{}function ks(e,t,r){var n,a,o;const i=null!=(n=r.direction)?n:"row",{xSizing:s="fill",ySizing:l="fill"}=t;return e.display="flex",e.position="relative",e.flexDirection=i,"column"===i?(t.height?e.height=t.height:e.flexGrow="fill"===l?1:0,t.width?e.width=t.width:e.alignSelf="fill"===s?"stretch":"flex-start"):(t.height?e.height=t.height:e.alignSelf="fill"===l?"stretch":"flex-start",t.width?e.width=t.width:e.flexGrow="fill"===s?1:0),e.minWidth=t.minWidth,e.maxWidth=t.maxWidth,e.maxHeight=t.maxHeight,e.minHeight=null!=(a=t.minHeight)?a:r.minHeight,e.height=null!=(o=t.height)?o:r.height,e}Ts.Component=function({model:e,parentState:n}){if(!n)throw new Error("SceneFlexItem must be a child of SceneFlexLayout");const{body:a,isHidden:o}=e.useState(),i=function(e,r){return(0,t.useMemo)((()=>{var t,n,a,o,i,s,l,c,d,p;const h=u.config.theme2,f=ks({},e,r);return f[h.breakpoints.down("md")]={maxWidth:null!=(n=null==(t=e.md)?void 0:t.maxWidth)?n:"unset",maxHeight:null!=(o=null==(a=e.md)?void 0:a.maxHeight)?o:"unset",height:null!=(l=null==(i=e.md)?void 0:i.height)?l:null==(s=r.md)?void 0:s.height,width:null!=(p=null==(c=e.md)?void 0:c.width)?p:null==(d=r.md)?void 0:d.width},(0,rr.css)(f)}),[e,r])}(e.state,n);return!a||o?null:r().createElement("div",{className:i},r().createElement(a.Component,{model:a}))};var As=Object.defineProperty,Is=Object.getOwnPropertySymbols,Vs=Object.prototype.hasOwnProperty,Fs=Object.prototype.propertyIsEnumerable,Ls=(e,t,r)=>t in e?As(e,t,{enumerable:!0,configurable:!0,writable:!0,value:r}):e[t]=r;(class extends Q{constructor(e){var t,r;super(((e,t)=>{for(var r in t||(t={}))Vs.call(t,r)&&Ls(e,r,t[r]);if(Is)for(var r of Is(t))Fs.call(t,r)&&Ls(e,r,t[r]);return e})({rowGap:1,columnGap:1,templateColumns:"repeat(auto-fit, minmax(400px, 1fr))",autoRows:null!=(t=e.autoRows)?t:"320px",children:null!=(r=e.children)?r:[]},e))}isDraggable(){return!1}}).Component=function({model:e}){const{children:n,isHidden:a,isLazy:o}=e.useState(),i=(s=e.state,(0,t.useMemo)((()=>{var e,t,r,n,a,o,i,l,c,d,p;const h={},f=u.config.theme2;return h.display="grid",h.gridTemplateColumns=s.templateColumns,h.gridTemplateRows=s.templateRows||"unset",h.gridAutoRows=s.autoRows||"unset",h.rowGap=f.spacing(null!=(e=s.rowGap)?e:1),h.columnGap=f.spacing(null!=(t=s.columnGap)?t:1),h.justifyItems=s.justifyItems||"unset",h.alignItems=s.alignItems||"unset",h.justifyContent=s.justifyContent||"unset",h.flexGrow=1,s.md&&(h[f.breakpoints.down("md")]={gridTemplateRows:null==(r=s.md)?void 0:r.templateRows,gridTemplateColumns:null==(n=s.md)?void 0:n.templateColumns,rowGap:s.md.rowGap?f.spacing(null!=(o=null==(a=s.md)?void 0:a.rowGap)?o:1):void 0,columnGap:s.md.columnGap?f.spacing(null!=(l=null==(i=s.md)?void 0:i.rowGap)?l:1):void 0,justifyItems:null==(c=s.md)?void 0:c.justifyItems,alignItems:null==(d=s.md)?void 0:d.alignItems,justifyContent:null==(p=s.md)?void 0:p.justifyContent}),(0,rr.css)(h)}),[s]));var s;return a?null:r().createElement("div",{className:i},n.map((t=>{const n=t.Component;return o?r().createElement(Wi,{key:t.state.key,className:i},r().createElement(n,{key:t.state.key,model:t,parentState:e.state})):r().createElement(n,{key:t.state.key,model:t,parentState:e.state})})))},class extends Q{}.Component=function({model:e,parentState:n}){if(!n)throw new Error("SceneCSSGridItem must be a child of SceneCSSGridLayout");const{body:a,isHidden:o}=e.useState(),i=(s=e.state,(0,t.useMemo)((()=>{const e={};return e.gridColumn=s.gridColumn||"unset",e.gridRow=s.gridRow||"unset",e.position="relative",(0,rr.css)(e)}),[s]));var s;return!a||o?null:r().createElement("div",{className:i},r().createElement(a.Component,{model:a}))};var Ms=Object.defineProperty,zs=Object.getOwnPropertySymbols,Ns=Object.prototype.hasOwnProperty,Hs=Object.prototype.propertyIsEnumerable,Bs=(e,t,r)=>t in e?Ms(e,t,{enumerable:!0,configurable:!0,writable:!0,value:r}):e[t]=r,Us=(e,t)=>{for(var r in t||(t={}))Ns.call(t,r)&&Bs(e,r,t[r]);if(zs)for(var r of zs(t))Hs.call(t,r)&&Bs(e,r,t[r]);return e};const $s=new Set(["ArrowUp","ArrowDown"]),Ws=new Set(["ArrowLeft","ArrowRight"]),qs={row:{dim:"width",axis:"clientX",min:"minWidth",max:"maxWidth"},column:{dim:"height",axis:"clientY",min:"minHeight",max:"maxHeight"}};function Gs({direction:e="row",handleSize:n=32,initialSize:a="auto",primaryPaneStyles:o,secondaryPaneStyles:i,onDragFinished:s,children:l}){const u=r().Children.toArray(l),c=(0,t.useRef)(null),d=(0,t.useRef)(null),p=(0,t.useRef)(null),h=(0,t.useRef)(null),f=(0,t.useRef)(null),m=(0,t.useRef)("1fr"),g=(0,t.useRef)(void 0),y=(0,t.useRef)(void 0),b=qs[e].dim,v=qs[e].axis,w=qs[e].min,S=qs[e].max;!function(e,r,n=0,a){const o=(0,Re.throttle)(r,n);(0,t.useLayoutEffect)((()=>{if(!e)return;const t=new ResizeObserver(o);return t.observe(e,{box:"device-pixel-content-box"}),()=>t.disconnect()}),a)}(h.current,(e=>{for(const t of e){if(!t.target.isSameNode(h.current))return;const e=d.current.getBoundingClientRect()[b],r=Ys(d.current);c.current.ariaValueNow=`${(0,Re.clamp)((e-r[w])/(r[S]-r[w])*100,0,100)}`}}),500,[S,w,e,b]);const _=(0,t.useRef)(null),O=(0,t.useCallback)((e=>{m.current=d.current.getBoundingClientRect()[b],f.current=h.current.getBoundingClientRect()[b],_.current=e[v],c.current.setPointerCapture(e.pointerId),g.current=Ys(d.current),y.current=void 0}),[b,v]),x=(0,t.useCallback)((e=>{if(null!==_.current&&"1fr"!==m.current){const t=e[v]-_.current,r=g.current,a=(0,Re.clamp)(m.current+t,r[w],r[S]),o=a/(f.current-n);d.current.style.flexGrow=`${o}`,p.current.style.flexGrow=""+(1-o);const i=(0,Re.clamp)((a-r[w])/(r[S]-r[w])*100,0,100);c.current.ariaValueNow=`${i}`}}),[n,v,w,S]),C=(0,t.useCallback)((e=>{e.preventDefault(),e.stopPropagation(),c.current.releasePointerCapture(e.pointerId),_.current=null,null==s||s(parseFloat(d.current.style.flexGrow))}),[s]),P=(0,t.useRef)(new Set),D=(0,t.useRef)(null),E=(0,t.useCallback)((t=>{var r;if(0===P.current.size)return void(D.current=null);if("1fr"===m.current)return;const a=.3*(t-(null!=(r=D.current)?r:t));let o=0;"row"===e?(P.current.has("ArrowLeft")&&(o-=a),P.current.has("ArrowRight")&&(o+=a)):(P.current.has("ArrowUp")&&(o-=a),P.current.has("ArrowDown")&&(o+=a));const i=g.current,s=d.current.getBoundingClientRect()[b],l=(0,Re.clamp)(s+o,i[w],i[S]),u=l/(f.current-n);d.current.style.flexGrow=`${u}`,p.current.style.flexGrow=""+(1-u);const h=(l-i[w])/(i[S]-i[w])*100;c.current.ariaValueNow=`${(0,Re.clamp)(h,0,100)}`,D.current=t,window.requestAnimationFrame(E)}),[e,n,w,S,b]),R=(0,t.useCallback)((t=>{if("Enter"!==t.key){if("Home"===t.key){g.current=Ys(d.current),f.current=h.current.getBoundingClientRect()[b];const e=g.current[w]/(f.current-n);return d.current.style.flexGrow=`${e}`,p.current.style.flexGrow=""+(1-e),void(c.current.ariaValueNow="0")}if("End"===t.key){g.current=Ys(d.current),f.current=h.current.getBoundingClientRect()[b];const e=g.current[S]/(f.current-n);return d.current.style.flexGrow=`${e}`,p.current.style.flexGrow=""+(1-e),void(c.current.ariaValueNow="100")}if(("column"===e&&$s.has(t.key)||"row"===e&&Ws.has(t.key))&&!P.current.has(t.key)&&(y.current=void 0,t.preventDefault(),t.stopPropagation(),m.current=d.current.getBoundingClientRect()[b],f.current=h.current.getBoundingClientRect()[b],g.current=Ys(d.current),!P.current.has(t.key))){const e=0===P.current.size;P.current.add(t.key),e&&window.requestAnimationFrame(E)}}else void 0===y.current?(y.current=d.current.style.flexGrow,d.current.style.flexGrow="0",p.current.style.flexGrow="1"):(d.current.style.flexGrow=y.current,p.current.style.flexGrow=""+(1-parseFloat(y.current)),y.current=void 0)}),[e,E,n,S,b,w]),j=(0,t.useCallback)((t=>{"row"===e&&!Ws.has(t.key)||"column"===e&&!$s.has(t.key)||(P.current.delete(t.key),null==s||s(parseFloat(d.current.style.flexGrow)))}),[e,s]),T=(0,t.useCallback)((()=>{d.current.style.flexGrow="0.5",p.current.style.flexGrow="0.5";const e=Ys(d.current);g.current=e,m.current=d.current.getBoundingClientRect()[b],c.current.ariaValueNow=""+(m.current-e[w])/(e[S]-e[w])*100}),[S,b,w]),k=(0,tr.useStyles2)(Qs),A=$i();return r().createElement("div",{ref:h,className:k.container,style:{flexDirection:e}},r().createElement("div",{ref:d,className:k.panel,style:Us({flexGrow:"auto"===a?.5:(0,Re.clamp)(a,0,1),[w]:"min-content"},o),id:`start-panel-${A}`},u[0]),r().createElement("div",{ref:c,style:{[b]:`${n}px`},className:(0,rr.cx)(k.handle,{[k.handleHorizontal]:"column"===e}),onPointerUp:C,onPointerDown:O,onPointerMove:x,onKeyDown:R,onKeyUp:j,onDoubleClick:T,role:"separator","aria-valuemin":0,"aria-valuemax":100,"aria-valuenow":50,"aria-controls":`start-panel-${A}`,"aria-label":"Pane resize widget",tabIndex:0}),r().createElement("div",{ref:p,className:k.panel,style:Us({flexGrow:"auto"===a?.5:(0,Re.clamp)(1-a,0,1),[w]:"min-content"},i),id:`end-panel-${A}`},u[1]))}function Qs(e){return{handle:(0,rr.css)({cursor:"col-resize",position:"relative",flexShrink:0,userSelect:"none","&::before":{content:'""',position:"absolute",backgroundColor:e.colors.primary.main,left:"50%",transform:"translate(-50%)",top:0,height:"100%",width:"1px",opacity:0,transition:"opacity ease-in-out 0.2s"},"&::after":{content:'""',width:"4px",borderRadius:"4px",backgroundColor:e.colors.border.weak,transition:"background-color ease-in-out 0.2s",height:"50%",top:"calc(50% - (50%) / 2)",transform:"translateX(-50%)",position:"absolute",left:"50%"},"&:hover, &:focus-visible":{outline:"none","&::before":{opacity:1},"&::after":{backgroundColor:e.colors.primary.main}}}),handleHorizontal:(0,rr.css)({cursor:"row-resize","&::before":{left:"inherit",transform:"translateY(-50%)",top:"50%",height:"1px",width:"100%"},"&::after":{width:"50%",height:"4px",top:"50%",transform:"translateY(-50%)",left:"calc(50% - (50%) / 2)"}}),container:(0,rr.css)({display:"flex",width:"100%",flexGrow:1,overflow:"hidden"}),panel:(0,rr.css)({display:"flex",position:"relative",flexBasis:0})}}function Ys(e){if(null===e)return;const t=document.body.style.overflow,r=e.style.width,n=e.style.height,a=e.style.flexGrow;document.body.style.overflow="hidden",e.style.flexGrow="0";const{width:o,height:i}=e.getBoundingClientRect();e.style.flexGrow="100";const{width:s,height:l}=e.getBoundingClientRect();return document.body.style.overflow=t,e.style.width=r,e.style.height=n,e.style.flexGrow=a,{minWidth:o,maxWidth:s,minHeight:i,maxHeight:l}}(class extends Q{toggleDirection(){this.setState({direction:"row"===this.state.direction?"column":"row"})}isDraggable(){return!1}}).Component=function({model:e}){const{primary:t,secondary:n,direction:a,isHidden:o,initialSize:i}=e.useState();if(o)return null;const s=t.Component,l=n.Component;return r().createElement(Gs,{direction:a,initialSize:null!=i?i:.5},r().createElement(s,{key:t.state.key,model:t,parentState:e.state}),r().createElement(l,{key:n.state.key,model:n,parentState:e.state}))};class Ks extends Q{enrichDataRequest(){return{app:this.state.name||"app"}}}Ks.Component=({model:e})=>{const{pages:t}=e.useState();return r().createElement(a.Switch,null,t.map((e=>r().createElement(a.Route,{key:e.state.url,exact:!1,path:e.state.url,render:t=>v(e,t)}))))};var Xs=Object.defineProperty,Zs=Object.getOwnPropertySymbols,Js=Object.prototype.hasOwnProperty,el=Object.prototype.propertyIsEnumerable,tl=(e,t,r)=>t in e?Xs(e,t,{enumerable:!0,configurable:!0,writable:!0,value:r}):e[t]=r;class rl extends Q{}function nl({node:e}){const t=e.useState(),n=(0,tr.useStyles2)(al);return r().createElement("div",{className:n.container},Object.keys(t).map((a=>r().createElement("div",{className:n.row,key:a},r().createElement("div",{className:n.keyName},a),r().createElement("div",{className:n.value},function(e,t,n){if(null===t)return"null";switch(typeof t){case"number":return r().createElement(tr.Input,{type:"number",defaultValue:t,onBlur:t=>n.setState({[e]:t.currentTarget.valueAsNumber})});case"string":return r().createElement(tr.Input,{type:"text",defaultValue:t,onBlur:t=>n.setState({[e]:t.currentTarget.value})});case"object":return Vr(t)?t.constructor.name:(0,Re.isPlainObject)(t)||(0,Re.isArray)(t)?r().createElement(tr.JSONFormatter,{json:t,open:0}):String(t);default:return typeof t}}(a,t[a],e))))))}function al(e){return{container:(0,rr.css)({flexGrow:1,display:"flex",gap:e.spacing(.5),flexDirection:"column"}),row:(0,rr.css)({display:"flex",gap:e.spacing(2)}),keyName:(0,rr.css)({display:"flex",flexGrow:"0",width:120,alignItems:"center",height:e.spacing(e.components.height.md)}),value:(0,rr.css)({flexGrow:1,minHeight:e.spacing(e.components.height.md),display:"flex",alignItems:"center"})}}function ol({node:e,selectedObject:t,onSelect:n}){const a=(0,tr.useStyles2)(il),o=[],i=e===t;return e.forEachChild((e=>{o.push(r().createElement(ol,{node:e,key:e.state.key,selectedObject:t,onSelect:n}))})),r().createElement("div",{className:a.container},r().createElement("div",{className:(0,rr.cx)(a.name,i&&a.selected),onClick:()=>n(e)},e.constructor.name),r().createElement("div",{className:a.children},o))}function il(e){return{container:(0,rr.css)({flexGrow:1,display:"flex",gap:e.spacing(.5),flexDirection:"column"}),name:(0,rr.css)({flexGrow:1,display:"flex",gap:e.spacing(1),fontSize:e.typography.bodySmall.fontSize,cursor:"pointer",padding:e.spacing(0,1),borderRadius:e.shape.borderRadius(2),position:"relative","&:hover":{background:e.colors.background.secondary}}),selected:(0,rr.css)({"&::before":{display:"block",content:"' '",position:"absolute",left:0,width:4,bottom:2,top:2,borderRadius:e.shape.radius.default,backgroundImage:e.colors.gradients.brandVertical}}),children:(0,rr.css)({flexGrow:1,display:"flex",flexDirection:"column",paddingLeft:e.spacing(1)})}}function sl({scene:e}){const n=(0,tr.useStyles2)(ll),[a,o]=(0,t.useState)(!1),[i,s]=(0,t.useState)();return r().createElement(r().Fragment,null,r().createElement(tr.ToolbarButton,{variant:"canvas",icon:"bug",onClick:()=>o(!0)}),a&&r().createElement(tr.Drawer,{title:"Scene debugger",onClose:()=>o(!1),size:"lg"},r().createElement("div",{className:n.panes},r().createElement("div",{className:n.pane1},r().createElement("div",{className:n.paneHeading},"Scene graph"),r().createElement(tr.CustomScrollbar,{autoHeightMin:"100%"},r().createElement("div",{className:n.treeWrapper},r().createElement(ol,{node:e,selectedObject:i,onSelect:s})))),r().createElement("div",{className:n.pane2},r().createElement("div",{className:n.paneHeading},"Object details"),i&&r().createElement(nl,{node:i})))))}function ll(e){return{panes:(0,rr.css)({flexGrow:1,display:"flex",height:"100%",flexDirection:"row",marginTop:e.spacing(-2)}),pane1:(0,rr.css)({flexGrow:0,display:"flex",height:"100%",flexDirection:"column",borderRight:`1px solid ${e.colors.border.weak}`}),pane2:(0,rr.css)({flexGrow:1,display:"flex",minHeight:"100%",flexDirection:"column",paddingLeft:e.spacing(2)}),treeWrapper:(0,rr.css)({paddingRight:e.spacing(2),height:"100%",marginLeft:e.spacing(-1)}),paneHeading:(0,rr.css)({padding:e.spacing(1,0),fontWeight:e.typography.fontWeightMedium})}}function ul({page:e,routeProps:n}){const o=function(e){return e.parent instanceof pl?e.parent:e}(e),i=o.useState(),s=function(){const e=(0,a.useLocation)();return(0,u.locationSearchToObject)(e.search||"")}(),l=e.getScene(n.match),c=i.initializedScene===l;if((0,t.useLayoutEffect)((()=>{c||o.initializeScene(l)}),[l,o,c]),(0,t.useEffect)((()=>()=>o.setState({initializedScene:void 0})),[o]),!c)return null;const d={text:i.title,img:i.titleImg,icon:i.titleIcon,url:b(i.url,i.preserveUrlKeys),hideFromBreadcrumbs:i.hideFromBreadcrumbs,parentItem:cl(i.getParentPage?i.getParentPage():o.parent)};i.tabs&&(d.children=i.tabs.map((t=>({text:t.state.title,icon:t.state.titleIcon,tabSuffix:t.state.tabSuffix,active:e===t,url:b(t.state.url,t.state.preserveUrlKeys),parentItem:d}))));let p=[];return i.controls&&(p=i.controls.map((e=>r().createElement(e.Component,{model:e,key:e.state.key})))),s["scene-debugger"]&&p.push(r().createElement(sl,{scene:o,key:"scene-debugger"})),r().createElement(u.PluginPage,{pageNav:d,actions:p,renderTitle:i.renderTitle,subTitle:i.subTitle},r().createElement(l.Component,{model:l}))}function cl(e,t){if(e instanceof pl)return{text:e.state.title,url:b(e.state.url,e.state.preserveUrlKeys),hideFromBreadcrumbs:e.state.hideFromBreadcrumbs,parentItem:cl(e.state.getParentPage?e.state.getParentPage():e.parent)}}function dl({drilldown:e,parent:t,routeProps:r}){return v(t.getDrilldownPage(e,r.match),r)}rl.Component=({model:e})=>{const{component:t,props:n,reactNode:a}=e.useState();return t?r().createElement(t,((e,t)=>{for(var r in t||(t={}))Js.call(t,r)&&tl(e,r,t[r]);if(Zs)for(var r of Zs(t))el.call(t,r)&&tl(e,r,t[r]);return e})({},n)):a||null};class pl extends Q{constructor(e){super(e),this._sceneCache=new Map,this._drilldownCache=new Map,this.addActivationHandler((()=>()=>jo().cleanUp(this)))}initializeScene(e){this.setState({initializedScene:e}),jo().initSync(this)}getScene(e){let t=this._sceneCache.get(e.url);if(t)return t;if(!this.state.getScene)throw new Error("Missing getScene on SceneAppPage "+this.state.title);return t=this.state.getScene(e),this._sceneCache.set(e.url,t),t}getDrilldownPage(e,t){let r=this._drilldownCache.get(t.url);return r||(r=e.getPage(t,this),this._drilldownCache.set(t.url,r),r)}enrichDataRequest(e){if(this.state.getParentPage)return this.state.getParentPage().enrichDataRequest(e);if(!this.parent)return null;const t=this.getRoot();return Fr(t)?t.enrichDataRequest(e):null}}pl.Component=function({model:e,routeProps:t}){var n,o;const{tabs:i,drilldowns:s}=e.useState(),l=[];if(i&&i.length>0)for(let t=0;tv(s,e)})),l.push(r().createElement(a.Route,{exact:!0,key:s.state.url,path:null!=(o=s.state.routePath)?o:s.state.url,render:e=>v(s,e)})),s.state.drilldowns)for(const e of s.state.drilldowns)l.push(r().createElement(a.Route,{exact:!1,key:e.routePath,path:e.routePath,render:t=>r().createElement(dl,{drilldown:e,parent:s,routeProps:t})}))}if(s)for(const t of s)l.push(r().createElement(a.Route,{key:t.routePath,exact:!1,path:t.routePath,render:n=>r().createElement(dl,{drilldown:t,parent:e,routeProps:n})}));return!i&&(u=e,(c=t.match).isExact&&(c.url===u.state.url||u.parent instanceof pl&&u.parent.state.tabs[0]===u&&u.parent.state.url===c.url))?r().createElement(ul,{page:e,routeProps:t}):(l.push(function(e,t){return r().createElement(a.Route,{key:"fallback route",render:n=>{var a,o,i;const s=null!=(i=null==(o=(a=e.state).getFallbackPage)?void 0:o.call(a))?i:new pl({url:"",title:"Not found",subTitle:"The url did not match any page",getScene:()=>new To({body:new js({direction:"column",children:[new Ts({body:new rl({component:()=>r().createElement("div",{"data-testid":"default-fallback-content"},"If you found your way here using a link then there might be a bug in this application.")})})]})})});return r().createElement(ul,{page:s,routeProps:t})}})}(e,t)),r().createElement(a.Switch,null,l));var u,c};var hl=(e=>(e.Always="always",e.Auto="auto",e.Never="never",e))(hl||{}),fl=(e=>(e.Hue="hue",e.None="none",e.Opacity="opacity",e.Scheme="scheme",e))(fl||{}),ml=(e=>(e.None="none",e.Normal="normal",e.Percent="percent",e))(ml||{}),gl=(e=>(e.Auto="auto",e.Horizontal="horizontal",e.Vertical="vertical",e))(gl||{}),yl=(e=>(e.Background="background",e.BackgroundSolid="background_solid",e.None="none",e.Value="value",e))(yl||{}),bl=(e=>(e.Area="area",e.Line="line",e.None="none",e))(bl||{}),vl=(e=>(e.Auto="auto",e.Center="center",e))(vl||{}),wl=(e=>(e.Auto="auto",e.Name="name",e.None="none",e.Value="value",e.ValueAndName="value_and_name",e))(wl||{}),Sl=(e=>(e.Basic="basic",e.Gradient="gradient",e.Lcd="lcd",e))(Sl||{}),_l=(e=>(e.Color="color",e.Hidden="hidden",e.Text="text",e))(_l||{}),Ol=(e=>(e.Lg="lg",e.Md="md",e.Sm="sm",e))(Ol||{});gl.Auto,hl.Auto,ml.None,fl.None,Sl.Gradient,_l.Color,hl.Auto,fl.None,yl.Value,bl.Area,vl.Auto,wl.Auto,hl.Auto,hl.Auto,Ol.Sm,hl.Auto;class xl{constructor(){this._overrides=[]}overrideColor(e){return this._overrides[this._overrides.length-1].properties.push({id:"color",value:e}),this}overrideDecimals(e){return this._overrides[this._overrides.length-1].properties.push({id:"decimals",value:e}),this}overrideDisplayName(e){return this._overrides[this._overrides.length-1].properties.push({id:"displayName",value:e}),this}overrideFilterable(e){return this._overrides[this._overrides.length-1].properties.push({id:"filterable",value:e}),this}overrideLinks(e){return this._overrides[this._overrides.length-1].properties.push({id:"links",value:e}),this}overrideMappings(e){return this._overrides[this._overrides.length-1].properties.push({id:"mappings",value:e}),this}overrideMax(e){return this._overrides[this._overrides.length-1].properties.push({id:"max",value:e}),this}overrideMin(e){return this._overrides[this._overrides.length-1].properties.push({id:"min",value:e}),this}overrideNoValue(e){return this._overrides[this._overrides.length-1].properties.push({id:"noValue",value:e}),this}overrideThresholds(e){return this._overrides[this._overrides.length-1].properties.push({id:"thresholds",value:e}),this}overrideUnit(e){return this._overrides[this._overrides.length-1].properties.push({id:"unit",value:e}),this}}class Cl extends xl{match(e){return this._overrides.push({matcher:e,properties:[]}),this}matchFieldsWithName(t){return this._overrides.push({matcher:{id:e.FieldMatcherID.byName,options:t},properties:[]}),this}matchFieldsWithNameByRegex(t){return this._overrides.push({matcher:{id:e.FieldMatcherID.byRegexp,options:t},properties:[]}),this}matchFieldsByType(t){return this._overrides.push({matcher:{id:e.FieldMatcherID.byType,options:t},properties:[]}),this}matchFieldsByQuery(t){return this._overrides.push({matcher:{id:e.FieldMatcherID.byFrameRefID,options:t},properties:[]}),this}matchFieldsByValue(t){return this._overrides.push({matcher:{id:e.FieldMatcherID.byValue,options:t},properties:[]}),this}matchComparisonQuery(e){return this.matchFieldsByQuery(mr(e))}overrideCustomFieldConfig(e,t){const r=`custom.${String(e)}`;return this._overrides[this._overrides.length-1].properties.push({id:r,value:t}),this}build(){return this._overrides}}var Pl=Object.defineProperty,Dl=Object.defineProperties,El=Object.getOwnPropertyDescriptors,Rl=Object.getOwnPropertySymbols,jl=Object.prototype.hasOwnProperty,Tl=Object.prototype.propertyIsEnumerable,kl=(e,t,r)=>t in e?Pl(e,t,{enumerable:!0,configurable:!0,writable:!0,value:r}):e[t]=r,Al=(e,t)=>{for(var r in t||(t={}))jl.call(t,r)&&kl(e,r,t[r]);if(Rl)for(var r of Rl(t))Tl.call(t,r)&&kl(e,r,t[r]);return e},Il=(e,t)=>Dl(e,El(t));class Vl{constructor(e){this.defaultFieldConfig=e,this._fieldConfig={defaults:{},overrides:[]},this._overridesBuilder=new Cl,this.setDefaults()}setDefaults(){const e={defaults:{custom:this.defaultFieldConfig?(0,Re.cloneDeep)(this.defaultFieldConfig()):{}},overrides:[]};this._fieldConfig=e}setColor(e){return this.setFieldConfigDefaults("color",e)}setDecimals(e){return this.setFieldConfigDefaults("decimals",e)}setDisplayName(e){return this.setFieldConfigDefaults("displayName",e)}setFilterable(e){return this.setFieldConfigDefaults("filterable",e)}setLinks(e){return this.setFieldConfigDefaults("links",e)}setMappings(e){return this.setFieldConfigDefaults("mappings",e)}setMax(e){return this.setFieldConfigDefaults("max",e)}setMin(e){return this.setFieldConfigDefaults("min",e)}setNoValue(e){return this.setFieldConfigDefaults("noValue",e)}setThresholds(e){return this.setFieldConfigDefaults("thresholds",e)}setUnit(e){return this.setFieldConfigDefaults("unit",e)}setCustomFieldConfig(e,t){return this._fieldConfig.defaults=Il(Al({},this._fieldConfig.defaults),{custom:(0,Re.merge)(this._fieldConfig.defaults.custom,{[e]:t})}),this}setOverrides(e){return e(this._overridesBuilder),this}setFieldConfigDefaults(e,t){return this._fieldConfig.defaults=Il(Al({},this._fieldConfig.defaults),{[e]:t}),this}build(){return{defaults:this._fieldConfig.defaults,overrides:this._overridesBuilder.build()}}}class Fl{constructor(e){this.defaultOptions=e,this._options={},this.setDefaults()}setDefaults(){this._options=this.defaultOptions?(0,Re.cloneDeep)(this.defaultOptions()):{}}setOption(e,t){return this._options=(0,Re.merge)(this._options,{[e]:t}),this}build(){return this._options}}var Ll=Object.defineProperty,Ml=Object.defineProperties,zl=Object.getOwnPropertyDescriptors,Nl=Object.getOwnPropertySymbols,Hl=Object.prototype.hasOwnProperty,Bl=Object.prototype.propertyIsEnumerable,Ul=(e,t,r)=>t in e?Ll(e,t,{enumerable:!0,configurable:!0,writable:!0,value:r}):e[t]=r;class $l{constructor(e,t,r,n){this._state={},this._state.title="",this._state.description="",this._state.displayMode="default",this._state.hoverHeader=!1,this._state.pluginId=e,this._state.pluginVersion=t,this._fieldConfigBuilder=new Vl(n),this._panelOptionsBuilder=new Fl(r)}setTitle(e){return this._state.title=e,this}setDescription(e){return this._state.description=e,this}setDisplayMode(e){return this._state.displayMode=e,this}setHoverHeader(e){return this._state.hoverHeader=e,this}setMenu(e){return this._state.menu=e,this}setHeaderActions(e){return this._state.headerActions=e,this}setColor(e){return this._fieldConfigBuilder.setColor(e),this}setDecimals(e){return this._fieldConfigBuilder.setDecimals(e),this}setDisplayName(e){return this._fieldConfigBuilder.setDisplayName(e),this}setFilterable(e){return this._fieldConfigBuilder.setFilterable(e),this}setLinks(e){return this._fieldConfigBuilder.setLinks(e),this}setMappings(e){return this._fieldConfigBuilder.setMappings(e),this}setMax(e){return this._fieldConfigBuilder.setMax(e),this}setMin(e){return this._fieldConfigBuilder.setMin(e),this}setNoValue(e){return this._fieldConfigBuilder.setNoValue(e),this}setThresholds(e){return this._fieldConfigBuilder.setThresholds(e),this}setUnit(e){return this._fieldConfigBuilder.setUnit(e),this}setCustomFieldConfig(e,t){return this._fieldConfigBuilder.setCustomFieldConfig(e,t),this}setOverrides(e){return this._fieldConfigBuilder.setOverrides(e),this}setOption(e,t){return this._panelOptionsBuilder.setOption(e,t),this}setData(e){return this._state.$data=e,this}setTimeRange(e){return this._state.$timeRange=e,this}setVariables(e){return this._state.$variables=e,this}setBehaviors(e){return this._state.$behaviors=e,this}build(){const e=new Oi(((e,t)=>Ml(e,zl(t)))(((e,t)=>{for(var r in t||(t={}))Hl.call(t,r)&&Ul(e,r,t[r]);if(Nl)for(var r of Nl(t))Bl.call(t,r)&&Ul(e,r,t[r]);return e})({},this._state),{options:this._panelOptionsBuilder.build(),fieldConfig:this._fieldConfigBuilder.build()}));return e}}const Wl=()=>new $l("timeseries","10.0.0"),ql=()=>{const e=new Kr({datasource:s.CACHE_STATS,queries:[{refId:"A",query:'SELECT mean(value) FROM "monthly"."bandwidth.1min" WHERE hostname=\'$hostname\' AND $timeFilter GROUP BY time(60s)',rawQuery:!0,resultFormat:"time_series",alias:"bandwidth"}]});return Wl().setTitle("Bandwidth").setData(e).setCustomFieldConfig("fillOpacity",20).setOption("legend",{showLegend:!0,calcs:["max"]}).setUnit("kbps").build()},Gl=()=>{const e=new Kr({datasource:s.CACHE_STATS,queries:[{refId:"A",query:'SELECT mean(value) FROM "monthly"."connections.1min" WHERE hostname=\'$hostname\' AND $timeFilter GROUP BY time(60s)',rawQuery:!0,resultFormat:"time_series",alias:"connections"}]});return Wl().setTitle("Connections").setData(e).setCustomFieldConfig("fillOpacity",20).setOption("legend",{showLegend:!0,calcs:["max"]}).setCustomFieldConfig("spanNulls",!0).build()},Ql=()=>{const e=new Kr({datasource:s.TELEGRAF,queries:[{refId:"A",query:'SELECT mean("usage_system") AS "cpu_system", mean("usage_iowait") AS "cpu_iowait", mean("usage_user") AS "cpu_user", mean("usage_guest") AS "cpu_guest", mean("usage_steal") AS "cpu_steal" FROM "cpu" WHERE host=\'$hostname\' AND $timeFilter GROUP BY time($interval) fill(null)',rawQuery:!0,resultFormat:"time_series",alias:"$col"}]});return Wl().setTitle("CPU Usage").setData(e).setUnit("%").setCustomFieldConfig("spanNulls",!0).setCustomFieldConfig("fillOpacity",20).build()},Yl=()=>{const e=new Kr({datasource:s.TELEGRAF,queries:[{refId:"A",query:'SELECT mean("load1") AS "load1", mean("load5") AS "load5", mean("load15") AS "load15" FROM "system" WHERE host=\'$hostname\' AND $timeFilter GROUP BY time($interval) fill(null)',rawQuery:!0,resultFormat:"time_series",alias:"$col"}]});return Wl().setTitle("Load Average").setData(e).setCustomFieldConfig("fillOpacity",20).setCustomFieldConfig("spanNulls",!0).build()},Kl=()=>{const e=new Kr({datasource:s.TELEGRAF,queries:[{refId:"A",query:'SELECT mean("used_percent") AS "mem_used" FROM "mem" WHERE host=\'$hostname\' AND $timeFilter GROUP BY time($interval) fill(null)',rawQuery:!0,resultFormat:"time_series",alias:"$col"}]});return Wl().setTitle("Memory Usage").setData(e).setCustomFieldConfig("spanNulls",!0).setCustomFieldConfig("fillOpacity",20).setUnit("%").build()},Xl=()=>{const e=new Kr({datasource:s.TELEGRAF,queries:[{refId:"A",query:'SELECT mean("tcp_close") AS "tcp_close", mean("tcp_close_wait") AS "tcp_close_wait", mean("tcp_established") AS "tcp_established", mean("tcp_time_wait") AS "tcp_time_wait", mean("tcp_closing") AS "tcp_closing", mean("tcp_fin_wait1") AS "tcp_fin_wait1", mean("tcp_fin_wait2") AS "tcp_fin_wait2", mean("tcp_last_ack") AS "tcp_last_ack", mean("tcp_syn_recv") AS "tcp_syn_recv", mean("tcp_syn_sent") AS "tcp_syn_sent" FROM "netstat" WHERE host=\'$hostname\' AND $timeFilter GROUP BY time($interval) fill(null)',rawQuery:!0,resultFormat:"time_series",alias:"$col"}]});return Wl().setTitle("Netstat").setData(e).setCustomFieldConfig("spanNulls",!0).setCustomFieldConfig("fillOpacity",20).build()},Zl=()=>{const e=new Kr({datasource:s.TELEGRAF,queries:[{refId:"A",query:'SELECT non_negative_derivative(sum("read_time"), 10s) AS "read_time" FROM "diskio" WHERE host=\'$hostname\' AND $timeFilter GROUP BY time($interval) fill(null)',rawQuery:!0,resultFormat:"time_series",alias:"$col"},{refId:"B",query:'SELECT non_negative_derivative(sum("write_time"), 10s) AS "write_time" FROM "diskio" WHERE host=\'$hostname\' AND $timeFilter GROUP BY time($interval) fill(null)',rawQuery:!0,resultFormat:"time_series",alias:"$col"}]});return Wl().setTitle("Read/Write Time").setData(e).setCustomFieldConfig("spanNulls",!0).setCustomFieldConfig("fillOpacity",20).setUnit("ns").build()},Jl=()=>{const e=new Kr({datasource:s.CACHE_STATS,queries:[{refId:"A",query:'SELECT mean("vol1_wrap_count") AS "vol1", mean("vol2_wrap_count") AS "vol2" FROM "monthly"."wrap_count.1min" WHERE hostname=\'$hostname\' AND $timeFilter GROUP BY time($interval) fill(null)',rawQuery:!0,resultFormat:"time_series",alias:"$col"}]});return Wl().setTitle("Wrap Count").setData(e).setCustomFieldConfig("spanNulls",!0).setCustomFieldConfig("fillOpacity",20).build()};function eu(){const e=new Se({from:"now-6h",to:"now"}),t=new la({name:"hostname",datasource:s.CACHE_STATS,query:'SHOW TAG VALUES ON "cache_stats" FROM "monthly"."bandwidth" with key = "hostname"'});return new To({$timeRange:e,$variables:new vn({variables:[t]}),body:new js({direction:"column",children:[new Ts({height:250,body:ql()}),new Ts({height:250,body:Gl()}),new js({direction:"row",height:250,children:[new Ts({width:"50%",body:Ql()}),new Ts({width:"50%",body:Kl()})]}),new js({direction:"row",height:250,children:[new Ts({width:"50%",body:Yl()}),new Ts({width:"50%",body:Zl()})]}),new js({direction:"row",height:250,children:[new Ts({width:"50%",body:Jl()}),new Ts({width:"50%",body:Xl()})]})]}),controls:[new fn({}),new Rs,new gs({isOnCanvas:!0}),new Ds({intervals:["5s","1m","1h"],isOnCanvas:!0})]})}const tu=()=>{const e=(0,t.useMemo)((()=>new Ks({pages:[new pl({title:"Server",url:l(`${i.Server}`),hideFromBreadcrumbs:!0,getScene:eu})]})),[]);return r().createElement(e.Component,{model:e})},ru=()=>{const e=new Kr({datasource:s.DELIVERYSERVICE_STATS,queries:[{refId:"A",query:"SELECT mean(value) FROM \"monthly\".\"kbps.ds.1min\" WHERE deliveryservice='$deliveryservice' AND cachegroup = 'total' and $timeFilter GROUP BY time(60s), deliveryservice ORDER BY asc",rawQuery:!0,resultFormat:"time_series",alias:"$tag_deliveryservice",measurement:"bw"}]});return Wl().setTitle("Bandwidth").setData(e).setOption("legend",{showLegend:!0,calcs:["max"]}).setCustomFieldConfig("axisCenteredZero",!0).setUnit("bps").build()},nu=()=>{const e=new Kr({datasource:s.DELIVERYSERVICE_STATS,queries:[{refId:"A",query:'SELECT mean(value) FROM "monthly"."tps_2xx.ds.1min" WHERE $timeFilter AND deliveryservice=\'$deliveryservice\' GROUP BY time(60s) ORDER BY asc',rawQuery:!0,resultFormat:"time_series",measurement:"tps_2xx",hide:!1,tags:{deliveryservice:"$deliveryservice"}},{refId:"B",query:'SELECT mean(value) FROM "monthly"."tps_3xx.ds.1min" WHERE $timeFilter AND deliveryservice=\'$deliveryservice\' GROUP BY time(60s) ORDER BY asc',rawQuery:!0,resultFormat:"time_series"},{refId:"C",query:'SELECT mean(value) FROM "monthly"."tps_4xx.ds.1min" WHERE $timeFilter AND deliveryservice=\'$deliveryservice\' GROUP BY time(60s) ORDER BY asc',rawQuery:!0,resultFormat:"time_series"},{refId:"D",query:'SELECT mean(value) FROM "monthly"."tps_5xx.ds.1min" WHERE $timeFilter AND deliveryservice=\'$deliveryservice\' GROUP BY time(60s) ORDER BY asc',rawQuery:!0,resultFormat:"time_series"}]});return Wl().setTitle("TPS").setData(e).setOption("legend",{showLegend:!0,calcs:["max"]}).setCustomFieldConfig("axisCenteredZero",!0).setCustomFieldConfig("spanNulls",!0).build()},au=()=>{const e=new Kr({datasource:s.DELIVERYSERVICE_STATS,queries:[{refId:"A",query:"SELECT mean(value) FROM \"monthly\".\"kbps.cg.1min\" WHERE deliveryservice='$deliveryservice' AND cachegroup != 'all' and $timeFilter GROUP BY time(60s), cachegroup",rawQuery:!0,resultFormat:"time_series",alias:"$tag_cachegroup"}]});return Wl().setTitle("Bandwidth by CacheGroup").setData(e).setOption("legend",{showLegend:!0,calcs:["max"]}).setCustomFieldConfig("axisCenteredZero",!0).setCustomFieldConfig("spanNulls",!0).setUnit("bps").build()};function ou(){const e=new Se({from:"now-6h",to:"now"}),t=new la({name:"deliveryservice",datasource:s.DELIVERYSERVICE_STATS,query:'SHOW TAG VALUES ON "deliveryservice_stats" FROM "monthly"."kbps" with key = "deliveryservice"'});return new To({$timeRange:e,$variables:new vn({variables:[t]}),body:new js({direction:"column",children:[new Ts({minHeight:300,body:ru()}),new Ts({minHeight:300,body:nu()}),new Ts({minHeight:300,body:au()})]}),controls:[new fn({}),new Rs,new gs({isOnCanvas:!0}),new Ds({intervals:["5s","1m","1h"],isOnCanvas:!0})]})}const iu=()=>{const e=(0,t.useMemo)((()=>new Ks({pages:[new pl({title:"Delivery Services",url:l(`${i.DeliveryService}`),hideFromBreadcrumbs:!0,getScene:ou})]})),[]);return r().createElement(e.Component,{model:e})},su=()=>{const e=new Kr({datasource:s.CACHE_STATS,queries:[{refId:"A",query:'SELECT sum(value) FROM "monthly"."bandwidth.1min" WHERE "cachegroup" = \'$cachegroup\' AND $timeFilter GROUP BY time(60s), cachegroup',rawQuery:!0,resultFormat:"time_series",alias:"$tag_cachegroup"}]});return Wl().setTitle("Total bandwidth (stacked)").setData(e).setCustomFieldConfig("fillOpacity",20).setOption("legend",{showLegend:!0,calcs:["max"]}).setUnit("Kbits").build()},lu=()=>{const e=new Kr({datasource:s.CACHE_STATS,queries:[{refId:"A",query:'SELECT mean("value") FROM "monthly"."connections.1min" WHERE ("cachegroup" = \'$cachegroup\') AND $timeFilter GROUP BY time($interval), "hostname" fill(null)',rawQuery:!0,resultFormat:"time_series"}]});return Wl().setTitle("Connections (stacked)").setCustomFieldConfig("fillOpacity",20).setData(e).setOption("legend",{showLegend:!0,calcs:["max"]}).setCustomFieldConfig("spanNulls",!0).build()};function uu(){const e=new Se({from:"now-6h",to:"now"}),t=new la({name:"cachegroup",datasource:s.CACHE_STATS,query:'SHOW TAG VALUES ON "cache_stats" FROM "monthly"."bandwidth" with key = "cachegroup"'});return new To({$timeRange:e,$variables:new vn({variables:[t]}),body:new js({direction:"column",children:[new Ts({minHeight:300,body:su()}),new Ts({minHeight:300,body:lu()})]}),controls:[new fn({}),new Rs,new gs({isOnCanvas:!0}),new Ds({intervals:["5s","1m","1h"],isOnCanvas:!0})]})}const cu=()=>{const e=(0,t.useMemo)((()=>new Ks({pages:[new pl({title:"Cache Groups",url:l(`${i.CacheGroup}`),hideFromBreadcrumbs:!0,getScene:uu})]})),[]);return r().createElement(e.Component,{model:e})},du=()=>r().createElement(a.Switch,null,r().createElement(a.Route,{path:l(`${i.CacheGroup}`),component:cu}),r().createElement(a.Route,{path:l(`${i.DeliveryService}`),component:iu}),r().createElement(a.Route,{path:l(`${i.Server}`),component:tu}),r().createElement(a.Redirect,{to:l(i.CacheGroup)}));class pu extends r().PureComponent{render(){return r().createElement(n.Provider,{value:this.props},r().createElement(du,null))}}const hu=(new e.AppPlugin).setRootPage(pu)})(),p})())); +define(["@grafana/data","react","react-router-dom","@grafana/runtime","rxjs","lodash","@grafana/ui","@emotion/css","react-dom"],((e,t,r,n,a,o,i,s,l)=>(()=>{var u={944:(e,t,r)=>{"use strict";function n(e){var t,r,a="";if("string"==typeof e||"number"==typeof e)a+=e;else if("object"==typeof e)if(Array.isArray(e))for(t=0;ta,default:()=>o});const o=a},4:(e,t,r)=>{e=r.nmd(e);var n="__lodash_hash_undefined__",a=1,o=2,i=9007199254740991,s="[object Arguments]",l="[object Array]",u="[object AsyncFunction]",c="[object Boolean]",d="[object Date]",p="[object Error]",h="[object Function]",f="[object GeneratorFunction]",m="[object Map]",g="[object Number]",y="[object Null]",b="[object Object]",v="[object Promise]",w="[object Proxy]",S="[object RegExp]",_="[object Set]",O="[object String]",x="[object Undefined]",C="[object WeakMap]",P="[object ArrayBuffer]",D="[object DataView]",E=/^\[object .+?Constructor\]$/,R=/^(?:0|[1-9]\d*)$/,j={};j["[object Float32Array]"]=j["[object Float64Array]"]=j["[object Int8Array]"]=j["[object Int16Array]"]=j["[object Int32Array]"]=j["[object Uint8Array]"]=j["[object Uint8ClampedArray]"]=j["[object Uint16Array]"]=j["[object Uint32Array]"]=!0,j[s]=j[l]=j[P]=j[c]=j[D]=j[d]=j[p]=j[h]=j[m]=j[g]=j[b]=j[S]=j[_]=j[O]=j[C]=!1;var T="object"==typeof r.g&&r.g&&r.g.Object===Object&&r.g,k="object"==typeof self&&self&&self.Object===Object&&self,A=T||k||Function("return this")(),I=t&&!t.nodeType&&t,F=I&&e&&!e.nodeType&&e,V=F&&F.exports===I,L=V&&T.process,M=function(){try{return L&&L.binding&&L.binding("util")}catch(e){}}(),z=M&&M.isTypedArray;function N(e,t){for(var r=-1,n=null==e?0:e.length;++ru))return!1;var d=s.get(e);if(d&&s.get(t))return d==t;var p=-1,h=!0,f=r&o?new Pe:void 0;for(s.set(e,t),s.set(t,e);++p-1},xe.prototype.set=function(e,t){var r=this.__data__,n=Ee(r,e);return n<0?(++this.size,r.push([e,t])):r[n][1]=t,this},Ce.prototype.clear=function(){this.size=0,this.__data__={hash:new Oe,map:new(de||xe),string:new Oe}},Ce.prototype.delete=function(e){var t=Ie(this,e).delete(e);return this.size-=t?1:0,t},Ce.prototype.get=function(e){return Ie(this,e).get(e)},Ce.prototype.has=function(e){return Ie(this,e).has(e)},Ce.prototype.set=function(e,t){var r=Ie(this,e),n=r.size;return r.set(e,t),this.size+=r.size==n?0:1,this},Pe.prototype.add=Pe.prototype.push=function(e){return this.__data__.set(e,n),this},Pe.prototype.has=function(e){return this.__data__.has(e)},De.prototype.clear=function(){this.__data__=new xe,this.size=0},De.prototype.delete=function(e){var t=this.__data__,r=t.delete(e);return this.size=t.size,r},De.prototype.get=function(e){return this.__data__.get(e)},De.prototype.has=function(e){return this.__data__.has(e)},De.prototype.set=function(e,t){var r=this.__data__;if(r instanceof xe){var n=r.__data__;if(!de||n.length<199)return n.push([e,t]),this.size=++r.size,this;r=this.__data__=new Ce(n)}return r.set(e,t),this.size=r.size,this};var Ve=se?function(e){return null==e?[]:(e=Object(e),function(t,r){for(var n=-1,a=null==t?0:t.length,o=0,i=[];++n-1&&e%1==0&&e-1&&e%1==0&&e<=i}function qe(e){var t=typeof e;return null!=e&&("object"==t||"function"==t)}function Ge(e){return null!=e&&"object"==typeof e}var Qe=z?function(e){return function(t){return e(t)}}(z):function(e){return Ge(e)&&We(e.length)&&!!j[Re(e)]};function Ye(e){return null!=(t=e)&&We(t.length)&&!$e(t)?function(e,t){var r=Be(e),n=!r&&He(e),a=!r&&!n&&Ue(e),o=!r&&!n&&!a&&Qe(e),i=r||n||a||o,s=i?function(e,t){for(var r=-1,n=Array(e);++r{"use strict";var n=r(331);function a(){}function o(){}o.resetWarningCache=a,e.exports=function(){function e(e,t,r,a,o,i){if(i!==n){var s=new Error("Calling PropTypes validators directly is not supported by the `prop-types` package. Use PropTypes.checkPropTypes() to call them. Read more at http://fb.me/use-check-prop-types");throw s.name="Invariant Violation",s}}function t(){return e}e.isRequired=e;var r={array:e,bigint:e,bool:e,func:e,number:e,object:e,string:e,symbol:e,any:e,arrayOf:t,element:e,elementType:e,instanceOf:t,node:e,objectOf:t,oneOf:t,oneOfType:t,shape:t,exact:t,checkPropTypes:o,resetWarningCache:a};return r.PropTypes=r,r}},615:(e,t,r)=>{e.exports=r(772)()},331:e=>{"use strict";e.exports="SECRET_DO_NOT_PASS_THIS_OR_YOU_WILL_BE_FIRED"},322:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"DraggableCore",{enumerable:!0,get:function(){return c.default}}),t.default=void 0;var n=function(e,t){if(e&&e.__esModule)return e;if(null===e||"object"!=typeof e&&"function"!=typeof e)return{default:e};var r=h(t);if(r&&r.has(e))return r.get(e);var n={},a=Object.defineProperty&&Object.getOwnPropertyDescriptor;for(var o in e)if("default"!==o&&Object.prototype.hasOwnProperty.call(e,o)){var i=a?Object.getOwnPropertyDescriptor(e,o):null;i&&(i.get||i.set)?Object.defineProperty(n,o,i):n[o]=e[o]}return n.default=e,r&&r.set(e,n),n}(r(650)),a=p(r(615)),o=p(r(729)),i=p(r(944)),s=r(65),l=r(237),u=r(972),c=p(r(700)),d=p(r(936));function p(e){return e&&e.__esModule?e:{default:e}}function h(e){if("function"!=typeof WeakMap)return null;var t=new WeakMap,r=new WeakMap;return(h=function(e){return e?r:t})(e)}function f(){return f=Object.assign?Object.assign.bind():function(e){for(var t=1;t{if((0,d.default)("Draggable: onDragStart: %j",t),!1===this.props.onStart(e,(0,l.createDraggableData)(this,t)))return!1;this.setState({dragging:!0,dragged:!0})})),m(this,"onDrag",((e,t)=>{if(!this.state.dragging)return!1;(0,d.default)("Draggable: onDrag: %j",t);const r=(0,l.createDraggableData)(this,t),n={x:r.x,y:r.y,slackX:0,slackY:0};if(this.props.bounds){const{x:e,y:t}=n;n.x+=this.state.slackX,n.y+=this.state.slackY;const[a,o]=(0,l.getBoundPosition)(this,n.x,n.y);n.x=a,n.y=o,n.slackX=this.state.slackX+(e-n.x),n.slackY=this.state.slackY+(t-n.y),r.x=n.x,r.y=n.y,r.deltaX=n.x-this.state.x,r.deltaY=n.y-this.state.y}if(!1===this.props.onDrag(e,r))return!1;this.setState(n)})),m(this,"onDragStop",((e,t)=>{if(!this.state.dragging)return!1;if(!1===this.props.onStop(e,(0,l.createDraggableData)(this,t)))return!1;(0,d.default)("Draggable: onDragStop: %j",t);const r={dragging:!1,slackX:0,slackY:0};if(Boolean(this.props.position)){const{x:e,y:t}=this.props.position;r.x=e,r.y=t}this.setState(r)})),this.state={dragging:!1,dragged:!1,x:e.position?e.position.x:e.defaultPosition.x,y:e.position?e.position.y:e.defaultPosition.y,prevPropsPosition:{...e.position},slackX:0,slackY:0,isElementSVG:!1},!e.position||e.onDrag||e.onStop||console.warn("A `position` was applied to this , without drag handlers. This will make this component effectively undraggable. Please attach `onDrag` or `onStop` handlers so you can adjust the `position` of this element.")}componentDidMount(){void 0!==window.SVGElement&&this.findDOMNode()instanceof window.SVGElement&&this.setState({isElementSVG:!0})}componentWillUnmount(){this.setState({dragging:!1})}findDOMNode(){var e,t;return null!==(e=null===(t=this.props)||void 0===t||null===(t=t.nodeRef)||void 0===t?void 0:t.current)&&void 0!==e?e:o.default.findDOMNode(this)}render(){const{axis:e,bounds:t,children:r,defaultPosition:a,defaultClassName:o,defaultClassNameDragging:u,defaultClassNameDragged:d,position:p,positionOffset:h,scale:m,...g}=this.props;let y={},b=null;const v=!Boolean(p)||this.state.dragging,w=p||a,S={x:(0,l.canDragX)(this)&&v?this.state.x:w.x,y:(0,l.canDragY)(this)&&v?this.state.y:w.y};this.state.isElementSVG?b=(0,s.createSVGTransform)(S,h):y=(0,s.createCSSTransform)(S,h);const _=(0,i.default)(r.props.className||"",o,{[u]:this.state.dragging,[d]:this.state.dragged});return n.createElement(c.default,f({},g,{onStart:this.onDragStart,onDrag:this.onDrag,onStop:this.onDragStop}),n.cloneElement(n.Children.only(r),{className:_,style:{...r.props.style,...y},transform:b}))}}t.default=g,m(g,"displayName","Draggable"),m(g,"propTypes",{...c.default.propTypes,axis:a.default.oneOf(["both","x","y","none"]),bounds:a.default.oneOfType([a.default.shape({left:a.default.number,right:a.default.number,top:a.default.number,bottom:a.default.number}),a.default.string,a.default.oneOf([!1])]),defaultClassName:a.default.string,defaultClassNameDragging:a.default.string,defaultClassNameDragged:a.default.string,defaultPosition:a.default.shape({x:a.default.number,y:a.default.number}),positionOffset:a.default.shape({x:a.default.oneOfType([a.default.number,a.default.string]),y:a.default.oneOfType([a.default.number,a.default.string])}),position:a.default.shape({x:a.default.number,y:a.default.number}),className:u.dontSetMe,style:u.dontSetMe,transform:u.dontSetMe}),m(g,"defaultProps",{...c.default.defaultProps,axis:"both",bounds:!1,defaultClassName:"react-draggable",defaultClassNameDragging:"react-draggable-dragging",defaultClassNameDragged:"react-draggable-dragged",defaultPosition:{x:0,y:0},scale:1})},700:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.default=void 0;var n=function(e,t){if(e&&e.__esModule)return e;if(null===e||"object"!=typeof e&&"function"!=typeof e)return{default:e};var r=d(t);if(r&&r.has(e))return r.get(e);var n={},a=Object.defineProperty&&Object.getOwnPropertyDescriptor;for(var o in e)if("default"!==o&&Object.prototype.hasOwnProperty.call(e,o)){var i=a?Object.getOwnPropertyDescriptor(e,o):null;i&&(i.get||i.set)?Object.defineProperty(n,o,i):n[o]=e[o]}return n.default=e,r&&r.set(e,n),n}(r(650)),a=c(r(615)),o=c(r(729)),i=r(65),s=r(237),l=r(972),u=c(r(936));function c(e){return e&&e.__esModule?e:{default:e}}function d(e){if("function"!=typeof WeakMap)return null;var t=new WeakMap,r=new WeakMap;return(d=function(e){return e?r:t})(e)}function p(e,t,r){return(t=function(e){var t=function(e,t){if("object"!=typeof e||null===e)return e;var r=e[Symbol.toPrimitive];if(void 0!==r){var n=r.call(e,"string");if("object"!=typeof n)return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return String(e)}(e);return"symbol"==typeof t?t:String(t)}(t))in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}const h={start:"touchstart",move:"touchmove",stop:"touchend"},f={start:"mousedown",move:"mousemove",stop:"mouseup"};let m=f;class g extends n.Component{constructor(){super(...arguments),p(this,"dragging",!1),p(this,"lastX",NaN),p(this,"lastY",NaN),p(this,"touchIdentifier",null),p(this,"mounted",!1),p(this,"handleDragStart",(e=>{if(this.props.onMouseDown(e),!this.props.allowAnyClick&&"number"==typeof e.button&&0!==e.button)return!1;const t=this.findDOMNode();if(!t||!t.ownerDocument||!t.ownerDocument.body)throw new Error(" not mounted on DragStart!");const{ownerDocument:r}=t;if(this.props.disabled||!(e.target instanceof r.defaultView.Node)||this.props.handle&&!(0,i.matchesSelectorAndParentsTo)(e.target,this.props.handle,t)||this.props.cancel&&(0,i.matchesSelectorAndParentsTo)(e.target,this.props.cancel,t))return;"touchstart"===e.type&&e.preventDefault();const n=(0,i.getTouchIdentifier)(e);this.touchIdentifier=n;const a=(0,s.getControlPosition)(e,n,this);if(null==a)return;const{x:o,y:l}=a,c=(0,s.createCoreData)(this,o,l);(0,u.default)("DraggableCore: handleDragStart: %j",c),(0,u.default)("calling",this.props.onStart),!1!==this.props.onStart(e,c)&&!1!==this.mounted&&(this.props.enableUserSelectHack&&(0,i.addUserSelectStyles)(r),this.dragging=!0,this.lastX=o,this.lastY=l,(0,i.addEvent)(r,m.move,this.handleDrag),(0,i.addEvent)(r,m.stop,this.handleDragStop))})),p(this,"handleDrag",(e=>{const t=(0,s.getControlPosition)(e,this.touchIdentifier,this);if(null==t)return;let{x:r,y:n}=t;if(Array.isArray(this.props.grid)){let e=r-this.lastX,t=n-this.lastY;if([e,t]=(0,s.snapToGrid)(this.props.grid,e,t),!e&&!t)return;r=this.lastX+e,n=this.lastY+t}const a=(0,s.createCoreData)(this,r,n);if((0,u.default)("DraggableCore: handleDrag: %j",a),!1!==this.props.onDrag(e,a)&&!1!==this.mounted)this.lastX=r,this.lastY=n;else try{this.handleDragStop(new MouseEvent("mouseup"))}catch(e){const t=document.createEvent("MouseEvents");t.initMouseEvent("mouseup",!0,!0,window,0,0,0,0,0,!1,!1,!1,!1,0,null),this.handleDragStop(t)}})),p(this,"handleDragStop",(e=>{if(!this.dragging)return;const t=(0,s.getControlPosition)(e,this.touchIdentifier,this);if(null==t)return;let{x:r,y:n}=t;if(Array.isArray(this.props.grid)){let e=r-this.lastX||0,t=n-this.lastY||0;[e,t]=(0,s.snapToGrid)(this.props.grid,e,t),r=this.lastX+e,n=this.lastY+t}const a=(0,s.createCoreData)(this,r,n);if(!1===this.props.onStop(e,a)||!1===this.mounted)return!1;const o=this.findDOMNode();o&&this.props.enableUserSelectHack&&(0,i.removeUserSelectStyles)(o.ownerDocument),(0,u.default)("DraggableCore: handleDragStop: %j",a),this.dragging=!1,this.lastX=NaN,this.lastY=NaN,o&&((0,u.default)("DraggableCore: Removing handlers"),(0,i.removeEvent)(o.ownerDocument,m.move,this.handleDrag),(0,i.removeEvent)(o.ownerDocument,m.stop,this.handleDragStop))})),p(this,"onMouseDown",(e=>(m=f,this.handleDragStart(e)))),p(this,"onMouseUp",(e=>(m=f,this.handleDragStop(e)))),p(this,"onTouchStart",(e=>(m=h,this.handleDragStart(e)))),p(this,"onTouchEnd",(e=>(m=h,this.handleDragStop(e))))}componentDidMount(){this.mounted=!0;const e=this.findDOMNode();e&&(0,i.addEvent)(e,h.start,this.onTouchStart,{passive:!1})}componentWillUnmount(){this.mounted=!1;const e=this.findDOMNode();if(e){const{ownerDocument:t}=e;(0,i.removeEvent)(t,f.move,this.handleDrag),(0,i.removeEvent)(t,h.move,this.handleDrag),(0,i.removeEvent)(t,f.stop,this.handleDragStop),(0,i.removeEvent)(t,h.stop,this.handleDragStop),(0,i.removeEvent)(e,h.start,this.onTouchStart,{passive:!1}),this.props.enableUserSelectHack&&(0,i.removeUserSelectStyles)(t)}}findDOMNode(){var e,t;return null!==(e=this.props)&&void 0!==e&&e.nodeRef?null===(t=this.props)||void 0===t||null===(t=t.nodeRef)||void 0===t?void 0:t.current:o.default.findDOMNode(this)}render(){return n.cloneElement(n.Children.only(this.props.children),{onMouseDown:this.onMouseDown,onMouseUp:this.onMouseUp,onTouchEnd:this.onTouchEnd})}}t.default=g,p(g,"displayName","DraggableCore"),p(g,"propTypes",{allowAnyClick:a.default.bool,children:a.default.node.isRequired,disabled:a.default.bool,enableUserSelectHack:a.default.bool,offsetParent:function(e,t){if(e[t]&&1!==e[t].nodeType)throw new Error("Draggable's offsetParent must be a DOM Node.")},grid:a.default.arrayOf(a.default.number),handle:a.default.string,cancel:a.default.string,nodeRef:a.default.object,onStart:a.default.func,onDrag:a.default.func,onStop:a.default.func,onMouseDown:a.default.func,scale:a.default.number,className:l.dontSetMe,style:l.dontSetMe,transform:l.dontSetMe}),p(g,"defaultProps",{allowAnyClick:!1,disabled:!1,enableUserSelectHack:!0,onStart:function(){},onDrag:function(){},onStop:function(){},onMouseDown:function(){},scale:1})},529:(e,t,r)=>{"use strict";const{default:n,DraggableCore:a}=r(322);e.exports=n,e.exports.default=n,e.exports.DraggableCore=a},65:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.addClassName=u,t.addEvent=function(e,t,r,n){if(!e)return;const a={capture:!0,...n};e.addEventListener?e.addEventListener(t,r,a):e.attachEvent?e.attachEvent("on"+t,r):e["on"+t]=r},t.addUserSelectStyles=function(e){if(!e)return;let t=e.getElementById("react-draggable-style-el");t||(t=e.createElement("style"),t.type="text/css",t.id="react-draggable-style-el",t.innerHTML=".react-draggable-transparent-selection *::-moz-selection {all: inherit;}\n",t.innerHTML+=".react-draggable-transparent-selection *::selection {all: inherit;}\n",e.getElementsByTagName("head")[0].appendChild(t)),e.body&&u(e.body,"react-draggable-transparent-selection")},t.createCSSTransform=function(e,t){const r=l(e,t,"px");return{[(0,a.browserPrefixToKey)("transform",a.default)]:r}},t.createSVGTransform=function(e,t){return l(e,t,"")},t.getTouch=function(e,t){return e.targetTouches&&(0,n.findInArray)(e.targetTouches,(e=>t===e.identifier))||e.changedTouches&&(0,n.findInArray)(e.changedTouches,(e=>t===e.identifier))},t.getTouchIdentifier=function(e){return e.targetTouches&&e.targetTouches[0]?e.targetTouches[0].identifier:e.changedTouches&&e.changedTouches[0]?e.changedTouches[0].identifier:void 0},t.getTranslation=l,t.innerHeight=function(e){let t=e.clientHeight;const r=e.ownerDocument.defaultView.getComputedStyle(e);return t-=(0,n.int)(r.paddingTop),t-=(0,n.int)(r.paddingBottom),t},t.innerWidth=function(e){let t=e.clientWidth;const r=e.ownerDocument.defaultView.getComputedStyle(e);return t-=(0,n.int)(r.paddingLeft),t-=(0,n.int)(r.paddingRight),t},t.matchesSelector=s,t.matchesSelectorAndParentsTo=function(e,t,r){let n=e;do{if(s(n,t))return!0;if(n===r)return!1;n=n.parentNode}while(n);return!1},t.offsetXYFromParent=function(e,t,r){const n=t===t.ownerDocument.body?{left:0,top:0}:t.getBoundingClientRect();return{x:(e.clientX+t.scrollLeft-n.left)/r,y:(e.clientY+t.scrollTop-n.top)/r}},t.outerHeight=function(e){let t=e.clientHeight;const r=e.ownerDocument.defaultView.getComputedStyle(e);return t+=(0,n.int)(r.borderTopWidth),t+=(0,n.int)(r.borderBottomWidth),t},t.outerWidth=function(e){let t=e.clientWidth;const r=e.ownerDocument.defaultView.getComputedStyle(e);return t+=(0,n.int)(r.borderLeftWidth),t+=(0,n.int)(r.borderRightWidth),t},t.removeClassName=c,t.removeEvent=function(e,t,r,n){if(!e)return;const a={capture:!0,...n};e.removeEventListener?e.removeEventListener(t,r,a):e.detachEvent?e.detachEvent("on"+t,r):e["on"+t]=null},t.removeUserSelectStyles=function(e){if(e)try{if(e.body&&c(e.body,"react-draggable-transparent-selection"),e.selection)e.selection.empty();else{const t=(e.defaultView||window).getSelection();t&&"Caret"!==t.type&&t.removeAllRanges()}}catch(e){}};var n=r(972),a=function(e,t){if(e&&e.__esModule)return e;if(null===e||"object"!=typeof e&&"function"!=typeof e)return{default:e};var r=o(t);if(r&&r.has(e))return r.get(e);var n={},a=Object.defineProperty&&Object.getOwnPropertyDescriptor;for(var i in e)if("default"!==i&&Object.prototype.hasOwnProperty.call(e,i)){var s=a?Object.getOwnPropertyDescriptor(e,i):null;s&&(s.get||s.set)?Object.defineProperty(n,i,s):n[i]=e[i]}return n.default=e,r&&r.set(e,n),n}(r(249));function o(e){if("function"!=typeof WeakMap)return null;var t=new WeakMap,r=new WeakMap;return(o=function(e){return e?r:t})(e)}let i="";function s(e,t){return i||(i=(0,n.findInArray)(["matches","webkitMatchesSelector","mozMatchesSelector","msMatchesSelector","oMatchesSelector"],(function(t){return(0,n.isFunction)(e[t])}))),!!(0,n.isFunction)(e[i])&&e[i](t)}function l(e,t,r){let{x:n,y:a}=e,o="translate(".concat(n).concat(r,",").concat(a).concat(r,")");if(t){const e="".concat("string"==typeof t.x?t.x:t.x+r),n="".concat("string"==typeof t.y?t.y:t.y+r);o="translate(".concat(e,", ").concat(n,")")+o}return o}function u(e,t){e.classList?e.classList.add(t):e.className.match(new RegExp("(?:^|\\s)".concat(t,"(?!\\S)")))||(e.className+=" ".concat(t))}function c(e,t){e.classList?e.classList.remove(t):e.className=e.className.replace(new RegExp("(?:^|\\s)".concat(t,"(?!\\S)"),"g"),"")}},249:(e,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.browserPrefixToKey=a,t.browserPrefixToStyle=function(e,t){return t?"-".concat(t.toLowerCase(),"-").concat(e):e},t.default=void 0,t.getPrefix=n;const r=["Moz","Webkit","O","ms"];function n(){var e;let t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:"transform";if("undefined"==typeof window)return"";const n=null===(e=window.document)||void 0===e||null===(e=e.documentElement)||void 0===e?void 0:e.style;if(!n)return"";if(t in n)return"";for(let e=0;e{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.default=function(){}},237:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.canDragX=function(e){return"both"===e.props.axis||"x"===e.props.axis},t.canDragY=function(e){return"both"===e.props.axis||"y"===e.props.axis},t.createCoreData=function(e,t,r){const a=!(0,n.isNum)(e.lastX),i=o(e);return a?{node:i,deltaX:0,deltaY:0,lastX:t,lastY:r,x:t,y:r}:{node:i,deltaX:t-e.lastX,deltaY:r-e.lastY,lastX:e.lastX,lastY:e.lastY,x:t,y:r}},t.createDraggableData=function(e,t){const r=e.props.scale;return{node:t.node,x:e.state.x+t.deltaX/r,y:e.state.y+t.deltaY/r,deltaX:t.deltaX/r,deltaY:t.deltaY/r,lastX:e.state.x,lastY:e.state.y}},t.getBoundPosition=function(e,t,r){if(!e.props.bounds)return[t,r];let{bounds:i}=e.props;i="string"==typeof i?i:function(e){return{left:e.left,top:e.top,right:e.right,bottom:e.bottom}}(i);const s=o(e);if("string"==typeof i){const{ownerDocument:e}=s,t=e.defaultView;let r;if(r="parent"===i?s.parentNode:e.querySelector(i),!(r instanceof t.HTMLElement))throw new Error('Bounds selector "'+i+'" could not find an element.');const o=r,l=t.getComputedStyle(s),u=t.getComputedStyle(o);i={left:-s.offsetLeft+(0,n.int)(u.paddingLeft)+(0,n.int)(l.marginLeft),top:-s.offsetTop+(0,n.int)(u.paddingTop)+(0,n.int)(l.marginTop),right:(0,a.innerWidth)(o)-(0,a.outerWidth)(s)-s.offsetLeft+(0,n.int)(u.paddingRight)-(0,n.int)(l.marginRight),bottom:(0,a.innerHeight)(o)-(0,a.outerHeight)(s)-s.offsetTop+(0,n.int)(u.paddingBottom)-(0,n.int)(l.marginBottom)}}return(0,n.isNum)(i.right)&&(t=Math.min(t,i.right)),(0,n.isNum)(i.bottom)&&(r=Math.min(r,i.bottom)),(0,n.isNum)(i.left)&&(t=Math.max(t,i.left)),(0,n.isNum)(i.top)&&(r=Math.max(r,i.top)),[t,r]},t.getControlPosition=function(e,t,r){const n="number"==typeof t?(0,a.getTouch)(e,t):null;if("number"==typeof t&&!n)return null;const i=o(r),s=r.props.offsetParent||i.offsetParent||i.ownerDocument.body;return(0,a.offsetXYFromParent)(n||e,s,r.props.scale)},t.snapToGrid=function(e,t,r){return[Math.round(t/e[0])*e[0],Math.round(r/e[1])*e[1]]};var n=r(972),a=r(65);function o(e){const t=e.findDOMNode();if(!t)throw new Error(": Unmounted during event!");return t}},972:(e,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.dontSetMe=function(e,t,r){if(e[t])return new Error("Invalid prop ".concat(t," passed to ").concat(r," - do not set this, set it on the child."))},t.findInArray=function(e,t){for(let r=0,n=e.length;r{"use strict";function n(e){return n="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},n(e)}Object.defineProperty(t,"__esModule",{value:!0}),t.default=void 0;var a=p(r(650)),o=p(r(615)),i=r(529),s=r(26),l=r(728),u=r(284),c=r(288),d=p(r(944));function p(e){return e&&e.__esModule?e:{default:e}}function h(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),r.push.apply(r,n)}return r}function f(e){for(var t=1;t0&&void 0!==arguments[0]?arguments[0]:this.props;return{cols:e.cols,containerPadding:e.containerPadding,containerWidth:e.containerWidth,margin:e.margin,maxRows:e.maxRows,rowHeight:e.rowHeight}}},{key:"createStyle",value:function(e){var t,r=this.props,n=r.usePercentages,a=r.containerWidth;return r.useCSSTransforms?t=(0,l.setTransform)(e):(t=(0,l.setTopLeft)(e),n&&(t.left=(0,l.perc)(e.left/a),t.width=(0,l.perc)(e.width/a))),t}},{key:"mixinDraggable",value:function(e,t){return a.default.createElement(i.DraggableCore,{disabled:!t,onStart:this.onDragStart,onDrag:this.onDrag,onStop:this.onDragStop,handle:this.props.handle,cancel:".react-resizable-handle"+(this.props.cancel?","+this.props.cancel:""),scale:this.props.transformScale,nodeRef:this.elementRef},e)}},{key:"mixinResizable",value:function(e,t,r){var n=this.props,o=n.cols,i=n.x,l=n.minW,c=n.minH,d=n.maxW,p=n.maxH,h=n.transformScale,f=n.resizeHandles,m=n.resizeHandle,g=this.getPositionParams(),y=(0,u.calcGridItemPosition)(g,0,0,o-i,0).width,b=(0,u.calcGridItemPosition)(g,0,0,l,c),v=(0,u.calcGridItemPosition)(g,0,0,d,p),w=[b.width,b.height],S=[Math.min(v.width,y),Math.min(v.height,1/0)];return a.default.createElement(s.Resizable,{draggableOpts:{disabled:!r},className:r?void 0:"react-resizable-hide",width:t.width,height:t.height,minConstraints:w,maxConstraints:S,onResizeStop:this.onResizeStop,onResizeStart:this.onResizeStart,onResize:this.onResize,transformScale:h,resizeHandles:f,handle:m},e)}},{key:"onResizeHandler",value:function(e,t,r){var n=t.node,a=t.size,o=this.props[r];if(o){var i=this.props,s=i.cols,l=i.x,c=i.y,d=i.i,p=i.maxH,h=i.minH,f=this.props,m=f.minW,g=f.maxW,y=(0,u.calcWH)(this.getPositionParams(),a.width,a.height,l,c),b=y.w,v=y.h;m=Math.max(m,1),g=Math.min(g,s-l),b=(0,u.clamp)(b,m,g),v=(0,u.clamp)(v,h,p),this.setState({resizing:"onResizeStop"===r?null:a}),o.call(this,d,b,v,{e,node:n,size:a})}}},{key:"render",value:function(){var e=this.props,t=e.x,r=e.y,n=e.w,o=e.h,i=e.isDraggable,s=e.isResizable,l=e.droppingPosition,c=e.useCSSTransforms,p=(0,u.calcGridItemPosition)(this.getPositionParams(),t,r,n,o,this.state),h=a.default.Children.only(this.props.children),m=a.default.cloneElement(h,{ref:this.elementRef,className:(0,d.default)("react-grid-item",h.props.className,this.props.className,{static:this.props.static,resizing:Boolean(this.state.resizing),"react-draggable":i,"react-draggable-dragging":Boolean(this.state.dragging),dropping:Boolean(l),cssTransforms:c}),style:f(f(f({},this.props.style),h.props.style),this.createStyle(p))});return m=this.mixinResizable(m,p,s),this.mixinDraggable(m,i)}}],r&&m(t.prototype,r),Object.defineProperty(t,"prototype",{writable:!1}),h}(a.default.Component);t.default=w,v(w,"propTypes",{children:o.default.element,cols:o.default.number.isRequired,containerWidth:o.default.number.isRequired,rowHeight:o.default.number.isRequired,margin:o.default.array.isRequired,maxRows:o.default.number.isRequired,containerPadding:o.default.array.isRequired,x:o.default.number.isRequired,y:o.default.number.isRequired,w:o.default.number.isRequired,h:o.default.number.isRequired,minW:function(e,t){var r=e[t];return"number"!=typeof r?new Error("minWidth not Number"):r>e.w||r>e.maxW?new Error("minWidth larger than item width/maxWidth"):void 0},maxW:function(e,t){var r=e[t];return"number"!=typeof r?new Error("maxWidth not Number"):re.h||r>e.maxH?new Error("minHeight larger than item height/maxHeight"):void 0},maxH:function(e,t){var r=e[t];return"number"!=typeof r?new Error("maxHeight not Number"):r{"use strict";function n(e){return n="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},n(e)}Object.defineProperty(t,"__esModule",{value:!0}),t.default=void 0;var a=function(e,t){if(e&&e.__esModule)return e;if(null===e||"object"!==n(e)&&"function"!=typeof e)return{default:e};var r=p(t);if(r&&r.has(e))return r.get(e);var a={},o=Object.defineProperty&&Object.getOwnPropertyDescriptor;for(var i in e)if("default"!==i&&Object.prototype.hasOwnProperty.call(e,i)){var s=o?Object.getOwnPropertyDescriptor(e,i):null;s&&(s.get||s.set)?Object.defineProperty(a,i,s):a[i]=e[i]}return a.default=e,r&&r.set(e,a),a}(r(650)),o=d(r(4)),i=d(r(944)),s=r(728),l=r(284),u=d(r(275)),c=d(r(288));function d(e){return e&&e.__esModule?e:{default:e}}function p(e){if("function"!=typeof WeakMap)return null;var t=new WeakMap,r=new WeakMap;return(p=function(e){return e?r:t})(e)}function h(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),r.push.apply(r,n)}return r}function f(e){for(var t=1;te.length)&&(t=e.length);for(var r=0,n=new Array(t);r0){var o=1/0,i=1/0;a.forEach((function(t){t.x>e.x&&(o=Math.min(o,t.x)),t.y>e.y&&(i=Math.min(i,t.y))})),Number.isFinite(o)&&(e.w=o-e.x),Number.isFinite(i)&&(e.h=i-e.y)}}return t||(e.w=r,e.h=n),e})),b=function(e,t){return function(e){if(Array.isArray(e))return e}(e)||function(e,t){var r=null==e?null:"undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(null!=r){var n,a,o=[],i=!0,s=!1;try{for(r=r.call(e);!(i=(n=r.next()).done)&&(o.push(n.value),!t||o.length!==t);i=!0);}catch(e){s=!0,a=e}finally{try{i||null==r.return||r.return()}finally{if(s)throw a}}return o}}(e,t)||m(e,t)||function(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}(y,2),v=b[0],w=b[1];if(w){var S={w:w.w,h:w.h,x:w.x,y:w.y,static:!0,i:t};e.props.onResize(v,c,w,S,o,i),e.setState({layout:g?v:(0,s.compact)(v,(0,s.compactType)(e.props),p),activeDrag:S})}})),S(v(e),"onResizeStop",(function(t,r,n,a){var o=a.e,i=a.node,l=e.state,u=l.layout,c=l.oldResizeItem,d=e.props,p=d.cols,h=d.allowOverlap,f=(0,s.getLayoutItem)(u,t);e.props.onResizeStop(u,c,f,null,o,i);var m=h?u:(0,s.compact)(u,(0,s.compactType)(e.props),p),g=e.state.oldLayout;e.setState({activeDrag:null,layout:m,oldResizeItem:null,oldLayout:null}),e.onLayoutMaybeChanged(m,g)})),S(v(e),"onDragOver",(function(t){var r;if(t.preventDefault(),t.stopPropagation(),O&&(null===(r=t.nativeEvent.target)||void 0===r||!r.classList.contains(_)))return!1;var n=e.props,o=n.droppingItem,i=n.onDropDragOver,s=n.margin,u=n.cols,c=n.rowHeight,d=n.maxRows,p=n.width,h=n.containerPadding,y=n.transformScale,b=null==i?void 0:i(t);if(!1===b)return e.state.droppingDOMNode&&e.removeDroppingPlaceholder(),!1;var v,w=f(f({},o),b),S=e.state.layout,x=t.nativeEvent,C=x.layerX,P=x.layerY,D={left:C/y,top:P/y,e:t};if(e.state.droppingDOMNode){if(e.state.droppingPosition){var E=e.state.droppingPosition,R=E.left,j=E.top;(R!=C||j!=P)&&e.setState({droppingPosition:D})}}else{var T={cols:u,margin:s,maxRows:d,rowHeight:c,containerWidth:p,containerPadding:h||s},k=(0,l.calcXY)(T,P,C,w.w,w.h);e.setState({droppingDOMNode:a.createElement("div",{key:w.i}),droppingPosition:D,layout:[].concat((v=S,function(e){if(Array.isArray(e))return g(e)}(v)||function(e){if("undefined"!=typeof Symbol&&null!=e[Symbol.iterator]||null!=e["@@iterator"])return Array.from(e)}(v)||m(v)||function(){throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()),[f(f({},w),{},{x:k.x,y:k.y,static:!1,isDraggable:!0})])})}})),S(v(e),"removeDroppingPlaceholder",(function(){var t=e.props,r=t.droppingItem,n=t.cols,a=e.state.layout,o=(0,s.compact)(a.filter((function(e){return e.i!==r.i})),(0,s.compactType)(e.props),n);e.setState({layout:o,droppingDOMNode:null,activeDrag:null,droppingPosition:void 0})})),S(v(e),"onDragLeave",(function(t){t.preventDefault(),t.stopPropagation(),e.dragEnterCounter--,0===e.dragEnterCounter&&e.removeDroppingPlaceholder()})),S(v(e),"onDragEnter",(function(t){t.preventDefault(),t.stopPropagation(),e.dragEnterCounter++})),S(v(e),"onDrop",(function(t){t.preventDefault(),t.stopPropagation();var r=e.props.droppingItem,n=e.state.layout,a=n.find((function(e){return e.i===r.i}));e.dragEnterCounter=0,e.removeDroppingPlaceholder(),e.props.onDrop(n,a,t)})),e}return t=x,c=[{key:"getDerivedStateFromProps",value:function(e,t){var r;return t.activeDrag?null:((0,o.default)(e.layout,t.propsLayout)&&e.compactType===t.compactType?(0,s.childrenEqual)(e.children,t.children)||(r=t.layout):r=e.layout,r?{layout:(0,s.synchronizeLayoutWithChildren)(r,e.children,e.cols,(0,s.compactType)(e),e.allowOverlap),compactType:e.compactType,children:e.children,propsLayout:e.layout}:null)}}],(r=[{key:"componentDidMount",value:function(){this.setState({mounted:!0}),this.onLayoutMaybeChanged(this.state.layout,this.props.layout)}},{key:"shouldComponentUpdate",value:function(e,t){return this.props.children!==e.children||!(0,s.fastRGLPropsEqual)(this.props,e,o.default)||this.state.activeDrag!==t.activeDrag||this.state.mounted!==t.mounted||this.state.droppingPosition!==t.droppingPosition}},{key:"componentDidUpdate",value:function(e,t){if(!this.state.activeDrag){var r=this.state.layout,n=t.layout;this.onLayoutMaybeChanged(r,n)}}},{key:"containerHeight",value:function(){if(this.props.autoSize){var e=(0,s.bottom)(this.state.layout),t=this.props.containerPadding?this.props.containerPadding[1]:this.props.margin[1];return e*this.props.rowHeight+(e-1)*this.props.margin[1]+2*t+"px"}}},{key:"onLayoutMaybeChanged",value:function(e,t){t||(t=this.state.layout),(0,o.default)(t,e)||this.props.onLayoutChange(e)}},{key:"placeholder",value:function(){var e=this.state.activeDrag;if(!e)return null;var t=this.props,r=t.width,n=t.cols,o=t.margin,i=t.containerPadding,s=t.rowHeight,l=t.maxRows,c=t.useCSSTransforms,d=t.transformScale;return a.createElement(u.default,{w:e.w,h:e.h,x:e.x,y:e.y,i:e.i,className:"react-grid-placeholder",containerWidth:r,cols:n,margin:o,containerPadding:i||o,maxRows:l,rowHeight:s,isDraggable:!1,isResizable:!1,isBounded:!1,useCSSTransforms:c,transformScale:d},a.createElement("div",null))}},{key:"processGridItem",value:function(e,t){if(e&&e.key){var r=(0,s.getLayoutItem)(this.state.layout,String(e.key));if(!r)return null;var n=this.props,o=n.width,i=n.cols,l=n.margin,c=n.containerPadding,d=n.rowHeight,p=n.maxRows,h=n.isDraggable,f=n.isResizable,m=n.isBounded,g=n.useCSSTransforms,y=n.transformScale,b=n.draggableCancel,v=n.draggableHandle,w=n.resizeHandles,S=n.resizeHandle,_=this.state,O=_.mounted,x=_.droppingPosition,C="boolean"==typeof r.isDraggable?r.isDraggable:!r.static&&h,P="boolean"==typeof r.isResizable?r.isResizable:!r.static&&f,D=r.resizeHandles||w,E=C&&m&&!1!==r.isBounded;return a.createElement(u.default,{containerWidth:o,cols:i,margin:l,containerPadding:c||l,maxRows:p,rowHeight:d,cancel:b,handle:v,onDragStop:this.onDragStop,onDragStart:this.onDragStart,onDrag:this.onDrag,onResizeStart:this.onResizeStart,onResize:this.onResize,onResizeStop:this.onResizeStop,isDraggable:C,isResizable:P,isBounded:E,useCSSTransforms:g&&O,usePercentages:!O,transformScale:y,w:r.w,h:r.h,x:r.x,y:r.y,i:r.i,minH:r.minH,minW:r.minW,maxH:r.maxH,maxW:r.maxW,static:r.static,droppingPosition:t?x:void 0,resizeHandles:D,resizeHandle:S},e)}}},{key:"render",value:function(){var e=this,t=this.props,r=t.className,n=t.style,o=t.isDroppable,l=t.innerRef,u=(0,i.default)(_,r),c=f({height:this.containerHeight()},n);return a.createElement("div",{ref:l,className:u,style:c,onDrop:o?this.onDrop:s.noop,onDragLeave:o?this.onDragLeave:s.noop,onDragEnter:o?this.onDragEnter:s.noop,onDragOver:o?this.onDragOver:s.noop},a.Children.map(this.props.children,(function(t){return e.processGridItem(t)})),o&&this.state.droppingDOMNode&&this.processGridItem(this.state.droppingDOMNode,!0),this.placeholder())}}])&&y(t.prototype,r),c&&y(t,c),Object.defineProperty(t,"prototype",{writable:!1}),x}(a.Component);t.default=x,S(x,"displayName","ReactGridLayout"),S(x,"propTypes",c.default),S(x,"defaultProps",{autoSize:!0,cols:12,className:"",style:{},draggableHandle:"",draggableCancel:"",containerPadding:null,rowHeight:150,maxRows:1/0,layout:[],margin:[10,10],isBounded:!1,isDraggable:!0,isResizable:!0,allowOverlap:!1,isDroppable:!1,useCSSTransforms:!0,transformScale:1,verticalCompact:!0,compactType:"vertical",preventCollision:!1,droppingItem:{i:"__dropping-elem__",h:1,w:1},resizeHandles:["se"],onLayoutChange:s.noop,onDragStart:s.noop,onDrag:s.noop,onDragStop:s.noop,onResizeStart:s.noop,onResize:s.noop,onResizeStop:s.noop,onDrop:s.noop,onDropDragOver:s.noop})},288:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.resizeHandleType=t.resizeHandleAxesType=t.default=void 0;var n=o(r(615)),a=o(r(650));function o(e){return e&&e.__esModule?e:{default:e}}var i=n.default.arrayOf(n.default.oneOf(["s","w","e","n","sw","nw","se","ne"]));t.resizeHandleAxesType=i;var s=n.default.oneOfType([n.default.node,n.default.func]);t.resizeHandleType=s;var l={className:n.default.string,style:n.default.object,width:n.default.number,autoSize:n.default.bool,cols:n.default.number,draggableCancel:n.default.string,draggableHandle:n.default.string,verticalCompact:function(e){e.verticalCompact},compactType:n.default.oneOf(["vertical","horizontal"]),layout:function(e){var t=e.layout;void 0!==t&&r(728).validateLayout(t,"layout")},margin:n.default.arrayOf(n.default.number),containerPadding:n.default.arrayOf(n.default.number),rowHeight:n.default.number,maxRows:n.default.number,isBounded:n.default.bool,isDraggable:n.default.bool,isResizable:n.default.bool,allowOverlap:n.default.bool,preventCollision:n.default.bool,useCSSTransforms:n.default.bool,transformScale:n.default.number,isDroppable:n.default.bool,resizeHandles:i,resizeHandle:s,onLayoutChange:n.default.func,onDragStart:n.default.func,onDrag:n.default.func,onDragStop:n.default.func,onResizeStart:n.default.func,onResize:n.default.func,onResizeStop:n.default.func,onDrop:n.default.func,droppingItem:n.default.shape({i:n.default.string.isRequired,w:n.default.number.isRequired,h:n.default.number.isRequired}),children:function(e,t){var r=e[t],n={};a.default.Children.forEach(r,(function(e){if(null!=(null==e?void 0:e.key)){if(n[e.key])throw new Error('Duplicate child key "'+e.key+'" found! This will cause problems in ReactGridLayout.');n[e.key]=!0}}))},innerRef:n.default.any};t.default=l},255:(e,t,r)=>{"use strict";function n(e){return n="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},n(e)}t.default=void 0;var a=function(e,t){if(e&&e.__esModule)return e;if(null===e||"object"!==n(e)&&"function"!=typeof e)return{default:e};var r=p(t);if(r&&r.has(e))return r.get(e);var a={},o=Object.defineProperty&&Object.getOwnPropertyDescriptor;for(var i in e)if("default"!==i&&Object.prototype.hasOwnProperty.call(e,i)){var s=o?Object.getOwnPropertyDescriptor(e,i):null;s&&(s.get||s.set)?Object.defineProperty(a,i,s):a[i]=e[i]}return a.default=e,r&&r.set(e,a),a}(r(650)),o=d(r(615)),i=d(r(4)),s=r(728),l=r(119),u=d(r(402)),c=["breakpoint","breakpoints","cols","layouts","margin","containerPadding","onBreakpointChange","onLayoutChange","onWidthChange"];function d(e){return e&&e.__esModule?e:{default:e}}function p(e){if("function"!=typeof WeakMap)return null;var t=new WeakMap,r=new WeakMap;return(p=function(e){return e?r:t})(e)}function h(){return h=Object.assign||function(e){for(var t=1;t=0||(a[r]=e[r]);return a}(e,t);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(e);for(n=0;n=0||Object.prototype.propertyIsEnumerable.call(e,r)&&(a[r]=e[r])}return a}(e,c));return a.createElement(u.default,h({},n,{margin:_(t,this.state.breakpoint),containerPadding:_(r,this.state.breakpoint),onLayoutChange:this.onLayoutChange,layout:this.state.layout,cols:this.state.cols}))}}])&&g(t.prototype,r),o&&g(t,o),Object.defineProperty(t,"prototype",{writable:!1}),S}(a.Component);t.default=O,w(O,"propTypes",{breakpoint:o.default.string,breakpoints:o.default.object,allowOverlap:o.default.bool,cols:o.default.object,margin:o.default.oneOfType([o.default.array,o.default.object]),containerPadding:o.default.oneOfType([o.default.array,o.default.object]),layouts:function(e,t){if("[object Object]"!==S(e[t]))throw new Error("Layout property must be an object. Received: "+S(e[t]));Object.keys(e[t]).forEach((function(t){if(!(t in e.breakpoints))throw new Error("Each key in layouts must align with a key in breakpoints.");(0,s.validateLayout)(e.layouts[t],"layouts."+t)}))},width:o.default.number.isRequired,onBreakpointChange:o.default.func,onLayoutChange:o.default.func,onWidthChange:o.default.func}),w(O,"defaultProps",{breakpoints:{lg:1200,md:996,sm:768,xs:480,xxs:0},cols:{lg:12,md:10,sm:6,xs:4,xxs:2},containerPadding:{lg:null,md:null,sm:null,xs:null,xxs:null},layouts:{},margin:[10,10],allowOverlap:!1,onBreakpointChange:s.noop,onLayoutChange:s.noop,onWidthChange:s.noop})},284:(e,t)=>{"use strict";function r(e){var t=e.margin,r=e.containerPadding,n=e.containerWidth,a=e.cols;return(n-t[0]*(a-1)-2*r[0])/a}function n(e,t,r){return Number.isFinite(e)?Math.round(t*e+Math.max(0,e-1)*r):e}function a(e,t,r){return Math.max(Math.min(e,r),t)}Object.defineProperty(t,"__esModule",{value:!0}),t.calcGridColWidth=r,t.calcGridItemPosition=function(e,t,a,o,i,s){var l=e.margin,u=e.containerPadding,c=e.rowHeight,d=r(e),p={};return s&&s.resizing?(p.width=Math.round(s.resizing.width),p.height=Math.round(s.resizing.height)):(p.width=n(o,d,l[0]),p.height=n(i,c,l[1])),s&&s.dragging?(p.top=Math.round(s.dragging.top),p.left=Math.round(s.dragging.left)):(p.top=Math.round((c+l[1])*a+u[1]),p.left=Math.round((d+l[0])*t+u[0])),p},t.calcGridItemWHPx=n,t.calcWH=function(e,t,n,o,i){var s=e.margin,l=e.maxRows,u=e.cols,c=e.rowHeight,d=r(e),p=Math.round((t+s[0])/(d+s[0])),h=Math.round((n+s[1])/(c+s[1]));return{w:p=a(p,0,u-o),h:h=a(h,0,l-i)}},t.calcXY=function(e,t,n,o,i){var s=e.margin,l=e.cols,u=e.rowHeight,c=e.maxRows,d=r(e),p=Math.round((n-s[0])/(d+s[0])),h=Math.round((t-s[1])/(u+s[1]));return{x:p=a(p,0,l-o),y:h=a(h,0,c-i)}},t.clamp=a},22:(e,t,r)=>{"use strict";function n(e){return n="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},n(e)}t.default=function(e){var t;return t=function(t){!function(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function");e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,writable:!0,configurable:!0}}),Object.defineProperty(e,"prototype",{writable:!1}),t&&p(e,t)}(b,t);var r,o,l,u,y=(r=b,o=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){}))),!0}catch(e){return!1}}(),function(){var e,t=f(r);if(o){var a=f(this).constructor;e=Reflect.construct(t,arguments,a)}else e=t.apply(this,arguments);return function(e,t){if(t&&("object"===n(t)||"function"==typeof t))return t;if(void 0!==t)throw new TypeError("Derived constructors may only return object or undefined");return h(e)}(this,e)});function b(){var e;!function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,b);for(var t=arguments.length,r=new Array(t),n=0;n=0||(a[r]=e[r]);return a}(e,t);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(e);for(n=0;n=0||Object.prototype.propertyIsEnumerable.call(e,r)&&(a[r]=e[r])}return a}(t,s);return r&&!this.mounted?a.createElement("div",{className:(0,i.default)(this.props.className,g),style:this.props.style,ref:this.elementRef}):a.createElement(e,c({innerRef:this.elementRef},n,this.state))}}])&&d(l.prototype,u),Object.defineProperty(l,"prototype",{writable:!1}),b}(a.Component),m(t,"defaultProps",{measureBeforeMount:!1}),m(t,"propTypes",{measureBeforeMount:o.default.bool}),t};var a=function(e,t){if(e&&e.__esModule)return e;if(null===e||"object"!==n(e)&&"function"!=typeof e)return{default:e};var r=u(t);if(r&&r.has(e))return r.get(e);var a={},o=Object.defineProperty&&Object.getOwnPropertyDescriptor;for(var i in e)if("default"!==i&&Object.prototype.hasOwnProperty.call(e,i)){var s=o?Object.getOwnPropertyDescriptor(e,i):null;s&&(s.get||s.set)?Object.defineProperty(a,i,s):a[i]=e[i]}return a.default=e,r&&r.set(e,a),a}(r(650)),o=l(r(615)),i=l(r(944)),s=["measureBeforeMount"];function l(e){return e&&e.__esModule?e:{default:e}}function u(e){if("function"!=typeof WeakMap)return null;var t=new WeakMap,r=new WeakMap;return(u=function(e){return e?r:t})(e)}function c(){return c=Object.assign||function(e){for(var t=1;t{e.exports=function(e,t,r){return e===t||e.className===t.className&&r(e.style,t.style)&&e.width===t.width&&e.autoSize===t.autoSize&&e.cols===t.cols&&e.draggableCancel===t.draggableCancel&&e.draggableHandle===t.draggableHandle&&r(e.verticalCompact,t.verticalCompact)&&r(e.compactType,t.compactType)&&r(e.layout,t.layout)&&r(e.margin,t.margin)&&r(e.containerPadding,t.containerPadding)&&e.rowHeight===t.rowHeight&&e.maxRows===t.maxRows&&e.isBounded===t.isBounded&&e.isDraggable===t.isDraggable&&e.isResizable===t.isResizable&&e.allowOverlap===t.allowOverlap&&e.preventCollision===t.preventCollision&&e.useCSSTransforms===t.useCSSTransforms&&e.transformScale===t.transformScale&&e.isDroppable===t.isDroppable&&r(e.resizeHandles,t.resizeHandles)&&r(e.resizeHandle,t.resizeHandle)&&e.onLayoutChange===t.onLayoutChange&&e.onDragStart===t.onDragStart&&e.onDrag===t.onDrag&&e.onDragStop===t.onDragStop&&e.onResizeStart===t.onResizeStart&&e.onResize===t.onResize&&e.onResizeStop===t.onResizeStop&&e.onDrop===t.onDrop&&r(e.droppingItem,t.droppingItem)&&r(e.innerRef,t.innerRef)}},119:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.findOrGenerateResponsiveLayout=function(e,t,r,o,i,s){if(e[r])return(0,n.cloneLayout)(e[r]);for(var l=e[o],u=a(t),c=u.slice(u.indexOf(r)),d=0,p=c.length;de[s]&&(n=s)}return n},t.getColsFromBreakpoint=function(e,t){if(!t[e])throw new Error("ResponsiveReactGridLayout: `cols` entry for breakpoint "+e+" is missing!");return t[e]},t.sortBreakpoints=a;var n=r(728);function a(e){return Object.keys(e).sort((function(t,r){return e[t]-e[r]}))}},728:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.bottom=d,t.childrenEqual=function(e,t){return(0,n.default)(a.default.Children.map(e,(function(e){return null==e?void 0:e.key})),a.default.Children.map(t,(function(e){return null==e?void 0:e.key})))},t.cloneLayout=p,t.cloneLayoutItem=f,t.collides=g,t.compact=y,t.compactItem=w,t.compactType=function(e){var t=e||{},r=t.verticalCompact,n=t.compactType;return!1===r?null:n},t.correctBounds=S,t.fastPositionEqual=function(e,t){return e.left===t.left&&e.top===t.top&&e.width===t.width&&e.height===t.height},t.fastRGLPropsEqual=void 0,t.getAllCollisions=x,t.getFirstCollision=O,t.getLayoutItem=_,t.getStatics=C,t.modifyLayout=h,t.moveElement=P,t.moveElementAwayFromCollision=D,t.noop=void 0,t.perc=function(e){return 100*e+"%"},t.setTopLeft=function(e){var t=e.top,r=e.left,n=e.width,a=e.height;return{top:"".concat(t,"px"),left:"".concat(r,"px"),width:"".concat(n,"px"),height:"".concat(a,"px"),position:"absolute"}},t.setTransform=function(e){var t=e.top,r=e.left,n=e.width,a=e.height,o="translate(".concat(r,"px,").concat(t,"px)");return{transform:o,WebkitTransform:o,MozTransform:o,msTransform:o,OTransform:o,width:"".concat(n,"px"),height:"".concat(a,"px"),position:"absolute"}},t.sortLayoutItems=E,t.sortLayoutItemsByColRow=j,t.sortLayoutItemsByRowCol=R,t.synchronizeLayoutWithChildren=function(e,t,r,n,o){e=e||[];var i=[];a.default.Children.forEach(t,(function(t){if(null!=(null==t?void 0:t.key)){var r=_(e,String(t.key));if(r)i.push(f(r));else{!u&&t.props._grid&&console.warn("`_grid` properties on children have been deprecated as of React 15.2. Please use `data-grid` or add your properties directly to the `layout`.");var n=t.props["data-grid"]||t.props._grid;n?(u||T([n],"ReactGridLayout.children"),i.push(f(s(s({},n),{},{i:t.key})))):i.push(f({w:1,h:1,x:0,y:d(i),i:String(t.key)}))}}}));var l=S(i,{cols:r});return o?l:y(l,n,r)},t.validateLayout=T,t.withLayoutItem=function(e,t,r){var n=_(e,t);return n?[e=h(e,n=r(f(n))),n]:[e,null]};var n=o(r(4)),a=o(r(650));function o(e){return e&&e.__esModule?e:{default:e}}function i(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),r.push.apply(r,n)}return r}function s(e){for(var t=1;tr&&(r=t);return r}function p(e){for(var t=Array(e.length),r=0,n=e.length;r=t.x+t.w||e.y+e.h<=t.y||e.y>=t.y+t.h)}function y(e,t,r){for(var n=C(e),a=E(e,t),o=Array(e.length),i=0,s=a.length;it.y+t.h)break;g(t,i)&&v(e,i,r+t[a],n)}}t[n]=r}function w(e,t,r,n,a){var o,i="horizontal"===r;if("vertical"===r)for(t.y=Math.min(d(e),t.y);t.y>0&&!O(e,t);)t.y--;else if(i)for(;t.x>0&&!O(e,t);)t.x--;for(;o=O(e,t);)i?v(a,t,o.x+o.w,"x"):v(a,t,o.y+o.h,"y"),i&&t.x+t.w>n&&(t.x=n-t.w,t.y++);return t.y=Math.max(t.y,0),t.x=Math.max(t.x,0),t}function S(e,t){for(var r=C(e),n=0,a=e.length;nt.cols&&(o.x=t.cols-o.w),o.x<0&&(o.x=0,o.w=t.cols),o.static)for(;O(r,o);)o.y++;else r.push(o)}return e}function _(e,t){for(var r=0,n=e.length;r=n:"horizontal"===i&&"number"==typeof r&&u>=r)&&(d=d.reverse());var h=x(d,t),f=h.length>0;if(f&&l)return p(e);if(f&&o)return k("Collision prevented on ".concat(t.i,", reverting.")),t.x=u,t.y=c,t.moved=!1,e;for(var m=0,g=h.length;mt.y||e.y===t.y&&e.x>t.x?1:e.y===t.y&&e.x===t.x?0:-1}))}function j(e){return e.slice(0).sort((function(e,t){return e.x>t.x||e.x===t.x&&e.y>t.y?1:-1}))}function T(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:"Layout",r=["x","y","w","h"];if(!Array.isArray(e))throw new Error(t+" must be an array!");for(var n=0,a=e.length;n{e.exports=r(402).default,e.exports.utils=r(728),e.exports.Responsive=r(255).default,e.exports.Responsive.utils=r(119),e.exports.WidthProvider=r(22).default},377:(e,t,r)=>{"use strict";t.__esModule=!0,t.default=void 0;var n=function(e,t){if(e&&e.__esModule)return e;if(null===e||"object"!=typeof e&&"function"!=typeof e)return{default:e};var r=l(t);if(r&&r.has(e))return r.get(e);var n={},a=Object.defineProperty&&Object.getOwnPropertyDescriptor;for(var o in e)if("default"!==o&&Object.prototype.hasOwnProperty.call(e,o)){var i=a?Object.getOwnPropertyDescriptor(e,o):null;i&&(i.get||i.set)?Object.defineProperty(n,o,i):n[o]=e[o]}return n.default=e,r&&r.set(e,n),n}(r(650)),a=r(529),o=r(203),i=r(404),s=["children","className","draggableOpts","width","height","handle","handleSize","lockAspectRatio","axis","minConstraints","maxConstraints","onResize","onResizeStop","onResizeStart","resizeHandles","transformScale"];function l(e){if("function"!=typeof WeakMap)return null;var t=new WeakMap,r=new WeakMap;return(l=function(e){return e?r:t})(e)}function u(){return u=Object.assign?Object.assign.bind():function(e){for(var t=1;tMath.abs(l*i)?t=e/i:e=t*i}var u=e,c=t,d=this.slack||[0,0],p=d[0],h=d[1];return e+=p,t+=h,n&&(e=Math.max(n[0],e),t=Math.max(n[1],t)),a&&(e=Math.min(a[0],e),t=Math.min(a[1],t)),this.slack=[p+(u-e),h+(c-t)],[e,t]},l.resizeHandler=function(e,t){var r=this;return function(n,a){var o=a.node,i=a.deltaX,s=a.deltaY;"onResizeStart"===e&&r.resetData();var l=("both"===r.props.axis||"x"===r.props.axis)&&"n"!==t&&"s"!==t,u=("both"===r.props.axis||"y"===r.props.axis)&&"e"!==t&&"w"!==t;if(l||u){var c=t[0],d=t[t.length-1],p=o.getBoundingClientRect();null!=r.lastHandleRect&&("w"===d&&(i+=p.left-r.lastHandleRect.left),"n"===c&&(s+=p.top-r.lastHandleRect.top)),r.lastHandleRect=p,"w"===d&&(i=-i),"n"===c&&(s=-s);var h=r.props.width+(l?i/r.props.transformScale:0),f=r.props.height+(u?s/r.props.transformScale:0),m=r.runConstraints(h,f);h=m[0],f=m[1];var g=h!==r.props.width||f!==r.props.height,y="function"==typeof r.props[e]?r.props[e]:null;y&&!("onResize"===e&&!g)&&(null==n.persist||n.persist(),y(n,{node:o,size:{width:h,height:f},handle:t})),"onResizeStop"===e&&r.resetData()}}},l.renderResizeHandle=function(e,t){var r=this.props.handle;if(!r)return n.createElement("span",{className:"react-resizable-handle react-resizable-handle-"+e,ref:t});if("function"==typeof r)return r(e,t);var a=d({ref:t},"string"==typeof r.type?{}:{handleAxis:e});return n.cloneElement(r,a)},l.render=function(){var e=this,t=this.props,r=t.children,i=t.className,l=t.draggableOpts,c=(t.width,t.height,t.handle,t.handleSize,t.lockAspectRatio,t.axis,t.minConstraints,t.maxConstraints,t.onResize,t.onResizeStop,t.onResizeStart,t.resizeHandles),p=(t.transformScale,function(e,t){if(null==e)return{};var r,n,a={},o=Object.keys(e);for(n=0;n=0||(a[r]=e[r]);return a}(t,s));return(0,o.cloneElement)(r,d(d({},p),{},{className:(i?i+" ":"")+"react-resizable",children:[].concat(r.props.children,c.map((function(t){var r,o=null!=(r=e.handleRefs[t])?r:e.handleRefs[t]=n.createRef();return n.createElement(a.DraggableCore,u({},l,{nodeRef:o,key:"resizableHandle-"+t,onStop:e.resizeHandler("onResizeStop",t),onStart:e.resizeHandler("onResizeStart",t),onDrag:e.resizeHandler("onResize",t)}),e.renderResizeHandle(t,o))})))}))},i}(n.Component);t.default=f,f.propTypes=i.resizableProps,f.defaultProps={axis:"both",handleSize:[20,20],lockAspectRatio:!1,minConstraints:[20,20],maxConstraints:[1/0,1/0],resizeHandles:["se"],transformScale:1}},60:(e,t,r)=>{"use strict";t.default=void 0;var n=function(e,t){if(e&&e.__esModule)return e;if(null===e||"object"!=typeof e&&"function"!=typeof e)return{default:e};var r=u(t);if(r&&r.has(e))return r.get(e);var n={},a=Object.defineProperty&&Object.getOwnPropertyDescriptor;for(var o in e)if("default"!==o&&Object.prototype.hasOwnProperty.call(e,o)){var i=a?Object.getOwnPropertyDescriptor(e,o):null;i&&(i.get||i.set)?Object.defineProperty(n,o,i):n[o]=e[o]}return n.default=e,r&&r.set(e,n),n}(r(650)),a=l(r(615)),o=l(r(377)),i=r(404),s=["handle","handleSize","onResize","onResizeStart","onResizeStop","draggableOpts","minConstraints","maxConstraints","lockAspectRatio","axis","width","height","resizeHandles","style","transformScale"];function l(e){return e&&e.__esModule?e:{default:e}}function u(e){if("function"!=typeof WeakMap)return null;var t=new WeakMap,r=new WeakMap;return(u=function(e){return e?r:t})(e)}function c(){return c=Object.assign?Object.assign.bind():function(e){for(var t=1;t=0||(a[r]=e[r]);return a}(e,s);return n.createElement(o.default,{axis:f,draggableOpts:l,handle:t,handleSize:r,height:this.state.height,lockAspectRatio:h,maxConstraints:d,minConstraints:u,onResizeStart:a,onResize:this.onResize,onResizeStop:i,resizeHandles:m,transformScale:y,width:this.state.width},n.createElement("div",c({},b,{style:p(p({},g),{},{width:this.state.width+"px",height:this.state.height+"px"})})))},a}(n.Component);t.default=m,m.propTypes=p(p({},i.resizableProps),{},{children:a.default.element})},404:(e,t,r)=>{"use strict";t.__esModule=!0,t.resizableProps=void 0;var n,a=(n=r(615))&&n.__esModule?n:{default:n};r(529);var o={axis:a.default.oneOf(["both","x","y","none"]),className:a.default.string,children:a.default.element.isRequired,draggableOpts:a.default.shape({allowAnyClick:a.default.bool,cancel:a.default.string,children:a.default.node,disabled:a.default.bool,enableUserSelectHack:a.default.bool,offsetParent:a.default.node,grid:a.default.arrayOf(a.default.number),handle:a.default.string,nodeRef:a.default.object,onStart:a.default.func,onDrag:a.default.func,onStop:a.default.func,onMouseDown:a.default.func,scale:a.default.number}),height:function(){for(var e=arguments.length,t=new Array(e),r=0;r{"use strict";t.__esModule=!0,t.cloneElement=function(e,t){return t.style&&e.props.style&&(t.style=i(i({},e.props.style),t.style)),t.className&&e.props.className&&(t.className=e.props.className+" "+t.className),a.default.cloneElement(e,t)};var n,a=(n=r(650))&&n.__esModule?n:{default:n};function o(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),r.push.apply(r,n)}return r}function i(e){for(var t=1;t{"use strict";e.exports=function(){throw new Error("Don't instantiate Resizable directly! Use require('react-resizable').Resizable")},e.exports.Resizable=r(377).default,e.exports.ResizableBox=r(60).default},644:e=>{"use strict";e.exports=s},305:t=>{"use strict";t.exports=e},545:e=>{"use strict";e.exports=n},388:e=>{"use strict";e.exports=i},980:e=>{"use strict";e.exports=o},650:e=>{"use strict";e.exports=t},729:e=>{"use strict";e.exports=l},814:e=>{"use strict";e.exports=r},177:e=>{"use strict";e.exports=a}},c={};function d(e){var t=c[e];if(void 0!==t)return t.exports;var r=c[e]={id:e,loaded:!1,exports:{}};return u[e](r,r.exports,d),r.loaded=!0,r.exports}d.n=e=>{var t=e&&e.__esModule?()=>e.default:()=>e;return d.d(t,{a:t}),t},d.d=(e,t)=>{for(var r in t)d.o(t,r)&&!d.o(e,r)&&Object.defineProperty(e,r,{enumerable:!0,get:t[r]})},d.g=function(){if("object"==typeof globalThis)return globalThis;try{return this||new Function("return this")()}catch(e){if("object"==typeof window)return window}}(),d.o=(e,t)=>Object.prototype.hasOwnProperty.call(e,t),d.r=e=>{"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},d.nmd=e=>(e.paths=[],e.children||(e.children=[]),e);var p={};return(()=>{"use strict";d.r(p),d.d(p,{plugin:()=>_u});var e=d(305),t=d(650),r=d.n(t);const n=r().createContext(null);var a=d(814);const o=`/a/${JSON.parse('{"id":"trafficcontrol-scenes-app"}').id}`;var i;!function(e){e.CacheGroup="cache-group",e.DeliveryService="delivery-service",e.Server="server"}(i||(i={}));const s={CACHE_STATS:{uid:"cache_stats",type:"influxdb"},DELIVERYSERVICE_STATS:{uid:"deliveryservice_stats",type:"influxdb"},DAILY_STATS:{uid:"daily_stats",type:"influxdb"},TELEGRAF:{uid:"telegraf",type:"influxdb"}};function l(e){return`${o}/${e}`}var u=d(545),c=Object.defineProperty,h=Object.getOwnPropertySymbols,f=Object.prototype.hasOwnProperty,m=Object.prototype.propertyIsEnumerable,g=(e,t,r)=>t in e?c(e,t,{enumerable:!0,configurable:!0,writable:!0,value:r}):e[t]=r,y=(e,t)=>{for(var r in t||(t={}))f.call(t,r)&&g(e,r,t[r]);if(h)for(var r of h(t))m.call(t,r)&&g(e,r,t[r]);return e};function b(t,r){const n=y({},u.locationService.getSearchObject());if(r)for(const e of Object.keys(n))r.includes(e)||delete n[e];return e.urlUtil.renderUrl(e.locationUtil.assureBaseUrl(t),n)}function v(e,t){return r().createElement(e.Component,{model:e,routeProps:t})}Object.defineProperty,Object.defineProperties,Object.getOwnPropertyDescriptors,Object.getOwnPropertySymbols,Object.prototype.hasOwnProperty,Object.prototype.propertyIsEnumerable;const w=new Map;var S=d(177);const _={randomUUID:"undefined"!=typeof crypto&&crypto.randomUUID&&crypto.randomUUID.bind(crypto)};let O;const x=new Uint8Array(16);function C(){if(!O&&(O="undefined"!=typeof crypto&&crypto.getRandomValues&&crypto.getRandomValues.bind(crypto),!O))throw new Error("crypto.getRandomValues() not supported. See https://github.com/uuidjs/uuid#getrandomvalues-not-supported");return O(x)}const P=[];for(let e=0;e<256;++e)P.push((e+256).toString(16).slice(1));const D=function(e,t,r){if(_.randomUUID&&!t&&!e)return _.randomUUID();const n=(e=e||{}).random||(e.rng||C)();if(n[6]=15&n[6]|64,n[8]=63&n[8]|128,t){r=r||0;for(let e=0;e<16;++e)t[r+e]=n[e];return t}return function(e,t=0){return P[e[t+0]]+P[e[t+1]]+P[e[t+2]]+P[e[t+3]]+"-"+P[e[t+4]]+P[e[t+5]]+"-"+P[e[t+6]]+P[e[t+7]]+"-"+P[e[t+8]]+P[e[t+9]]+"-"+P[e[t+10]]+P[e[t+11]]+P[e[t+12]]+P[e[t+13]]+P[e[t+14]]+P[e[t+15]]}(n)};var E=Object.defineProperty,R=Object.defineProperties,j=Object.getOwnPropertyDescriptors,T=Object.getOwnPropertySymbols,k=Object.prototype.hasOwnProperty,A=Object.prototype.propertyIsEnumerable,I=(e,t,r)=>t in e?E(e,t,{enumerable:!0,configurable:!0,writable:!0,value:r}):e[t]=r;const F=r().memo((function(e){var n,a=e,{model:o}=a,i=((e,t)=>{var r={};for(var n in e)k.call(e,n)&&t.indexOf(n)<0&&(r[n]=e[n]);if(null!=e&&T)for(var n of T(e))t.indexOf(n)<0&&A.call(e,n)&&(r[n]=e[n]);return r})(a,["model"]);const s=null!=(n=o.constructor.Component)?n:V,[l,u]=r().useState(!1);return(0,t.useEffect)((()=>(u(!0),o.activate())),[o]),l?r().createElement(s,(c=((e,t)=>{for(var r in t||(t={}))k.call(t,r)&&I(e,r,t[r]);if(T)for(var r of T(t))A.call(t,r)&&I(e,r,t[r]);return e})({},i),R(c,j({model:o})))):null;var c}));function V(e){return null}class L extends e.BusEventWithPayload{}L.type="scene-object-state-change";class M extends e.BusEventWithPayload{}M.type="scene-object-user-action";var z,N=(e,t,r)=>{if(!t.has(e))throw TypeError("Cannot "+r)};class H{constructor(e){var t,r;((e,t,r)=>{if(t.has(e))throw TypeError("Cannot add the same private member more than once");t instanceof WeakSet?t.add(e):t.set(e,void 0)})(this,z),r=e,N(this,t=z,"write to private field"),t.set(this,r)}resolve(){return N(this,e=z,"read from private field"),e.get(this);var e}}z=new WeakMap;var B=Object.defineProperty,U=Object.getOwnPropertySymbols,$=Object.prototype.hasOwnProperty,W=Object.prototype.propertyIsEnumerable,q=(e,t,r)=>t in e?B(e,t,{enumerable:!0,configurable:!0,writable:!0,value:r}):e[t]=r,G=(e,t)=>{for(var r in t||(t={}))$.call(t,r)&&q(e,r,t[r]);if(U)for(var r of U(t))W.call(t,r)&&q(e,r,t[r]);return e};class Q{constructor(t){this._isActive=!1,this._activationHandlers=[],this._deactivationHandlers=new Map,this._subs=new S.Subscription,this._refCount=0,t.key||(t.key=D()),this._events=new e.EventBusSrv,this._state=Object.freeze(t),this._setParent()}get state(){return this._state}get isActive(){return this._isActive}get parent(){return this._parent}get variableDependency(){return this._variableDependency}get urlSync(){return this._urlSync}get Component(){return F}_setParent(){this.forEachChild((e=>{e._parent&&e._parent!==this&&console.warn("SceneObject already has a parent set that is different from the new parent. You cannot share the same SceneObject instance in multiple scenes or in multiple different places of the same scene graph. Use SceneObject.clone() to duplicate a SceneObject or store a state key reference and use sceneGraph.findObject to locate it.",e,this),e._parent=this}))}subscribeToState(e){return this._events.subscribe(L,(t=>{t.payload.changedObject===this&&e(t.payload.newState,t.payload.prevState)}))}subscribeToEvent(e,t){return this._events.subscribe(e,t)}setState(e){const t=this._state,r=G(G({},this._state),e);this._state=Object.freeze(r),this._setParent(),this._handleActivationOfChangedStateProps(t,r),this.publishEvent(new L({prevState:t,newState:r,partialUpdate:e,changedObject:this}),!0)}_handleActivationOfChangedStateProps(e,t){this.isActive&&(e.$data!==t.$data&&this._handleChangedStateActivation(e.$data,t.$data),e.$variables!==t.$variables&&this._handleChangedStateActivation(e.$variables,t.$variables),e.$timeRange!==t.$timeRange&&this._handleChangedStateActivation(e.$timeRange,t.$timeRange))}_handleChangedStateActivation(e,t){if(e){const t=this._deactivationHandlers.get(e);t&&(t(),this._deactivationHandlers.delete(e))}t&&this._deactivationHandlers.set(t,t.activate())}publishEvent(e,t){this._events.publish(e),t&&this.parent&&this.parent.publishEvent(e,t)}getRoot(){return this._parent?this._parent.getRoot():this}_internalActivate(){this._isActive=!0;const{$data:e,$variables:t,$timeRange:r,$behaviors:n}=this.state;if(r&&!r.isActive&&this._deactivationHandlers.set(r,r.activate()),t&&!t.isActive&&this._deactivationHandlers.set(t,t.activate()),e&&!e.isActive&&this._deactivationHandlers.set(e,e.activate()),n)for(const e of n)if(e instanceof Q)this._deactivationHandlers.set(e,e.activate());else if("function"==typeof e){const t=e(this);t&&this._deactivationHandlers.set(e,t)}this._activationHandlers.forEach((e=>{const t=e();t&&this._deactivationHandlers.set(t,t)}))}activate(){this.isActive||this._internalActivate(),this._refCount++;let e=!1;return()=>{if(this._refCount--,e){const e="SceneObject cancelation handler returned by activate() called a second time";throw console.error(e,this),new Error(e)}e=!0,0===this._refCount&&this._internalDeactivate()}}_internalDeactivate(){this._isActive=!1;for(let e of this._deactivationHandlers.values())e();this._deactivationHandlers.clear(),this._events.removeAllListeners(),this._subs.unsubscribe(),this._subs=new S.Subscription}useState(){return function(e){const[r,n]=(0,t.useState)(e.state),a=e.state;return(0,t.useEffect)((()=>{const t=e.subscribeToState(n);return e.state!==a&&n(e.state),()=>t.unsubscribe()}),[e]),e.state}(this)}forceRender(){this.setState({})}clone(e){return function(e,t){const r=function(e,t){const r=ee({},e);for(const e in r){const t=r[e];if(t instanceof Q&&(r[e]=t.clone()),t instanceof H)throw new Error("Cannot clone a SceneObject with a SceneObjectRef in state");if(Array.isArray(t)){const n=[];for(const e of t)e instanceof Q?n.push(e.clone()):n.push(e);r[e]=n}}return Object.assign(r,t),r}(e.state,t);return new e.constructor(r)}(this,e)}addActivationHandler(e){this._activationHandlers.push(e)}forEachChild(e){for(const t of Object.values(this.state))if(t instanceof Q&&e(t),Array.isArray(t))for(const r of t)r instanceof Q&&e(r)}getRef(){return this._ref||(this._ref=new H(this)),this._ref}}var Y=Object.defineProperty,K=Object.getOwnPropertySymbols,X=Object.prototype.hasOwnProperty,Z=Object.prototype.propertyIsEnumerable,J=(e,t,r)=>t in e?Y(e,t,{enumerable:!0,configurable:!0,writable:!0,value:r}):e[t]=r,ee=(e,t)=>{for(var r in t||(t={}))X.call(t,r)&&J(e,r,t[r]);if(K)for(var r of K(t))Z.call(t,r)&&J(e,r,t[r]);return e};function te(e,t){let r,n=e;for(;n&&!r;)r=t(n),n=n.parent;return r}const re=new Map;var ne=(e=>(e[e.never=0]="never",e[e.onDashboardLoad=1]="onDashboardLoad",e[e.onTimeRangeChanged=2]="onTimeRangeChanged",e))(ne||{}),ae=(e=>(e.Done="Done",e.Error="Error",e.Loading="Loading",e.NotStarted="NotStarted",e.Streaming="Streaming",e))(ae||{}),oe=(e=>(e[e.Crosshair=1]="Crosshair",e[e.Off=0]="Off",e[e.Tooltip=2]="Tooltip",e))(oe||{}),ie=Object.defineProperty,se=Object.getOwnPropertySymbols,le=Object.prototype.hasOwnProperty,ue=Object.prototype.propertyIsEnumerable,ce=(e,t,r)=>t in e?ie(e,t,{enumerable:!0,configurable:!0,writable:!0,value:r}):e[t]=r;const de={state:ae.Done,series:[],timeRange:(0,e.getDefaultTimeRange)()};class pe{constructor(e,t){this._sceneObject=e,this._keys=t.keys}getKeys(){return this._keys}getUrlState(){return this._sceneObject.getUrlState()}updateFromUrl(e){this._sceneObject.updateFromUrl(e)}}const he=/^\d+[yYmMsSwWhHdD]$/;function fe(t){if("string"!=typeof t)return null;if(-1!==t.indexOf("now"))return t;if(he.test(t))return t;if(8===t.length){const r=(0,e.toUtc)(t,"YYYYMMDD");if(r.isValid())return r.toISOString()}else if(15===t.length){const r=(0,e.toUtc)(t,"YYYYMMDDTHHmmss");if(r.isValid())return r.toISOString()}else if(24===t.length)return(0,e.toUtc)(t).toISOString();const r=parseInt(t,10);return isNaN(r)?null:(0,e.toUtc)(r).toISOString()}function me(t,r,n,a,o){const i=o&&"now"===r;return{from:e.dateMath.parse(t,!1,n,a),to:e.dateMath.parse(i?"now-"+o:r,!0,n,a),raw:{from:t,to:r}}}var ge=Object.defineProperty,ye=Object.getOwnPropertySymbols,be=Object.prototype.hasOwnProperty,ve=Object.prototype.propertyIsEnumerable,we=(e,t,r)=>t in e?ge(e,t,{enumerable:!0,configurable:!0,writable:!0,value:r}):e[t]=r;class Se extends Q{constructor(t={}){var r,n;const a=null!=(r=t.from)?r:"now-6h",o=null!=(n=t.to)?n:"now",i=t.timeZone;super(((e,t)=>{for(var r in t||(t={}))be.call(t,r)&&we(e,r,t[r]);if(ye)for(var r of ye(t))ve.call(t,r)&&we(e,r,t[r]);return e})({from:a,to:o,timeZone:i,value:me(a,o,i||(0,e.getTimeZone)(),t.fiscalYearStartMonth,t.UNSAFE_nowDelay)},t)),this._urlSync=new pe(this,{keys:["from","to"]}),this.onTimeRangeChange=e=>{const t={},r={};"string"==typeof e.raw.from?(t.from=e.raw.from,r.from=e.raw.from):(t.from=e.raw.from.toISOString(),r.from=e.raw.from.toISOString(!0)),"string"==typeof e.raw.to?(t.to=e.raw.to,r.to=e.raw.to):(t.to=e.raw.to.toISOString(),r.to=e.raw.to.toISOString(!0)),t.value=me(r.from,r.to,this.getTimeZone(),this.state.fiscalYearStartMonth,this.state.UNSAFE_nowDelay),t.from===this.state.from&&t.to===this.state.to||this.setState(t)},this.onTimeZoneChange=e=>{this.setState({timeZone:e})},this.onRefresh=()=>{this.setState({value:me(this.state.from,this.state.to,this.getTimeZone(),this.state.fiscalYearStartMonth,this.state.UNSAFE_nowDelay)})},this.addActivationHandler(this._onActivate.bind(this))}_onActivate(){if(!this.state.timeZone){const e=this.getTimeZoneSource();e!==this&&this._subs.add(e.subscribeToState(((t,r)=>{void 0!==t.timeZone&&t.timeZone!==r.timeZone&&this.setState({value:me(this.state.from,this.state.to,e.getTimeZone(),this.state.fiscalYearStartMonth,this.state.UNSAFE_nowDelay)})})))}return this.state.weekStart&&(0,e.setWeekStart)(this.state.weekStart),()=>{this.state.weekStart&&(0,e.setWeekStart)(u.config.bootData.user.weekStart)}}getTimeZoneSource(){if(!this.parent||!this.parent.parent)return this;return te(this.parent.parent,(e=>{if(e.state.$timeRange&&e.state.$timeRange.state.timeZone)return e.state.$timeRange}))||this}getTimeZone(){if(this.state.timeZone)return this.state.timeZone;const t=this.getTimeZoneSource();return t!==this?t.state.timeZone:(0,e.getTimeZone)()}getUrlState(){return{from:this.state.from,to:this.state.to}}updateFromUrl(e){var t,r;if(!e.to&&!e.from)return;const n={},a=fe(e.from);a&&(n.from=a);const o=fe(e.to);o&&(n.to=o),n.value=me(null!=(t=n.from)?t:this.state.from,null!=(r=n.to)?r:this.state.to,this.getTimeZone(),this.state.fiscalYearStartMonth,this.state.UNSAFE_nowDelay),this.setState(n)}}const _e=new class extends Q{constructor(e){super(((e,t)=>{for(var r in t||(t={}))le.call(t,r)&&ce(e,r,t[r]);if(se)for(var r of se(t))ue.call(t,r)&&ce(e,r,t[r]);return e})({data:de},e))}getResultsStream(){const e={origin:this,data:this.state.data};return(0,S.of)(e)}},Oe=new Se,xe=new class extends Q{constructor(){super({variables:[]})}getByName(e){}isVariableLoadingOrWaitingToUpdate(e){return!1}};function Ce(e){var t;return null!=(t=te(e,(e=>e.state.$timeRange)))?t:Oe}var Pe=(e=>(e.CSV="csv",e.Date="date",e.Distributed="distributed",e.DoubleQuote="doublequote",e.Glob="glob",e.HTML="html",e.JSON="json",e.Lucene="lucene",e.PercentEncode="percentencode",e.Pipe="pipe",e.QueryParam="queryparam",e.Raw="raw",e.Regex="regex",e.SQLString="sqlstring",e.SingleQuote="singlequote",e.Text="text",e.UriEncode="uriencode",e))(Pe||{});class De extends e.BusEventWithPayload{}function Ee(e){return"object"==typeof e&&"formatter"in e}De.type="scene-variable-changed-value";var Re=d(980);let je,Te={};function ke(e){return Te[e]||(Te[e]=(0,Re.property)(e))}class Ae{constructor(e,t){this.state={name:e,value:t,type:"scopedvar"}}getValue(e){let{value:t}=this.state,r=t.value;return r=e?ke(e)(t.value):t.value,"string"===r||"number"===r||"boolean"===r?r:String(r)}getValueText(){const{value:e}=this.state;return null!=e.text?String(e.text):String(e)}}const Ie=new e.Registry((()=>[{id:Pe.Lucene,name:"Lucene",description:"Values are lucene escaped and multi-valued variables generate an OR expression",formatter:e=>"string"==typeof e?Fe(e):Array.isArray(e)?0===e.length?"__empty__":"("+(0,Re.map)(e,(e=>'"'+Fe(e)+'"')).join(" OR ")+")":Fe(`${e}`)},{id:Pe.Raw,name:"raw",description:"Keep value as is",formatter:e=>String(e)},{id:Pe.Regex,name:"Regex",description:"Values are regex escaped and multi-valued variables generate a (|) expression",formatter:t=>{if("string"==typeof t)return(0,e.escapeRegex)(t);if(Array.isArray(t)){const r=t.map((t=>"string"==typeof t?(0,e.escapeRegex)(t):(0,e.escapeRegex)(String(t))));return 1===r.length?r[0]:"("+r.join("|")+")"}return(0,e.escapeRegex)(`${t}`)}},{id:Pe.Pipe,name:"Pipe",description:"Values are separated by | character",formatter:e=>"string"==typeof e?e:Array.isArray(e)?e.join("|"):`${e}`},{id:Pe.Distributed,name:"Distributed",description:"Multiple values are formatted like variable=value",formatter:(e,t,r)=>"string"==typeof e?e:Array.isArray(e)?(e=(0,Re.map)(e,((e,t)=>0!==t?r.state.name+"="+e:e))).join(","):`${e}`},{id:Pe.CSV,name:"Csv",description:"Comma-separated values",formatter:e=>"string"==typeof e?e:(0,Re.isArray)(e)?e.join(","):String(e)},{id:Pe.HTML,name:"HTML",description:"HTML escaping of values",formatter:t=>"string"==typeof t?e.textUtil.escapeHtml(t):(0,Re.isArray)(t)?e.textUtil.escapeHtml(t.join(", ")):e.textUtil.escapeHtml(String(t))},{id:Pe.JSON,name:"JSON",description:"JSON stringify value",formatter:e=>"string"==typeof e?e:JSON.stringify(e)},{id:Pe.PercentEncode,name:"Percent encode",description:"Useful for URL escaping values",formatter:e=>(0,Re.isArray)(e)?Ve("{"+e.join(",")+"}"):Ve(e)},{id:Pe.SingleQuote,name:"Single quote",description:"Single quoted values",formatter:e=>{const t=new RegExp("'","g");if((0,Re.isArray)(e))return(0,Re.map)(e,(e=>`'${(0,Re.replace)(e,t,"\\'")}'`)).join(",");let r="string"==typeof e?e:String(e);return`'${(0,Re.replace)(r,t,"\\'")}'`}},{id:Pe.DoubleQuote,name:"Double quote",description:"Double quoted values",formatter:e=>{const t=new RegExp('"',"g");if((0,Re.isArray)(e))return(0,Re.map)(e,(e=>`"${(0,Re.replace)(e,t,'\\"')}"`)).join(",");let r="string"==typeof e?e:String(e);return`"${(0,Re.replace)(r,t,'\\"')}"`}},{id:Pe.SQLString,name:"SQL string",description:"SQL string quoting and commas for use in IN statements and other scenarios",formatter:He},{id:Pe.Date,name:"Date",description:"Format date in different ways",formatter:(t,r)=>{var n;let a=NaN;if("number"==typeof t?a=t:"string"==typeof t&&(a=parseInt(t,10)),isNaN(a))return"NaN";const o=null!=(n=r[0])?n:"iso";switch(o){case"ms":return String(t);case"seconds":return`${Math.round(a/1e3)}`;case"iso":return(0,e.dateTime)(a).toISOString();default:return(r||[]).length>1?(0,e.dateTime)(a).format(r.join(":")):(0,e.dateTime)(a).format(o)}}},{id:Pe.Glob,name:"Glob",description:"Format multi-valued variables using glob syntax, example {value1,value2}",formatter:e=>(0,Re.isArray)(e)&&e.length>1?"{"+e.join(",")+"}":String(e)},{id:Pe.Text,name:"Text",description:"Format variables in their text representation. Example in multi-variable scenario A + B + C.",formatter:(e,t,r)=>r.getValueText?r.getValueText():String(e)},{id:Pe.QueryParam,name:"Query parameter",description:"Format variables as URL parameters. Example in multi-variable scenario A + B + C => var-foo=A&var-foo=B&var-foo=C.",formatter:(e,t,r)=>Array.isArray(e)?e.map((e=>ze(r.state.name,e))).join("&"):ze(r.state.name,e)},{id:Pe.UriEncode,name:"Percent encode as URI",description:"Useful for URL escaping values, taking into URI syntax characters",formatter:e=>(0,Re.isArray)(e)?Le("{"+e.join(",")+"}"):Le(e)}]));function Fe(e){return!1===isNaN(+e)?e:e.replace(/([\!\*\+\-\=<>\s\&\|\(\)\[\]\{\}\^\~\?\:\\/"])/g,"\\$1")}function Ve(e){return"object"==typeof e&&(e=String(e)),Me(encodeURIComponent(e))}const Le=e=>Me(encodeURI(String(e))),Me=e=>e.replace(/[!'()*]/g,(e=>"%"+e.charCodeAt(0).toString(16).toUpperCase()));function ze(e,t){return`var-${e}=${Ve(t)}`}const Ne={"'":"''",'"':'\\"'};function He(e){const t=new RegExp("'|\"","g");if((0,Re.isArray)(e))return(0,Re.map)(e,(e=>`'${(0,Re.replace)(e,t,(e=>{var t;return null!=(t=Ne[e])?t:""}))}'`)).join(",");let r="string"==typeof e?e:String(e);return`'${(0,Re.replace)(r,t,(e=>{var t;return null!=(t=Ne[e])?t:""}))}'`}const Be="All",Ue="$__all",$e="$__auto",We=/\$(\w+)|\[\[(\w+?)(?::(\w+))?\]\]|\${(\w+)(?:\.([^:^\}]+))?(?::([^\}]+))?}/g;function qe(e,t){const r=t.state.$variables;if(!r)return t.parent?qe(e,t.parent):null;return r.getByName(e)||(t.parent?qe(e,t.parent):null)}class Ge extends Q{constructor(e){super(e),this.addActivationHandler((()=>this._onActivate()))}_onActivate(){const{layers:e}=this.state,t=[];for(const r of e)t.push(r.activate());return()=>{t.forEach((e=>e()))}}}function Qe(e){var t;return null!=(t=te(e,(e=>e.state.$data)))?t:_e}function Ye(e,t,r,n){if(t(e))return e;let a=null;return e.forEachChild((e=>{if(e===r)return;let n=Ye(e,t);n&&(a=n)})),a||(n&&e.parent?Ye(e.parent,t,e,!0):null)}class Ke{constructor(e){this._value=e}formatter(){return this._value}}class Xe{constructor(e,t){this.state={name:e,type:"time_macro"},this._sceneObject=t}getValue(){const e=Ce(this._sceneObject);return"__from"===this.state.name?e.state.value.from.valueOf():e.state.value.to.valueOf()}getValueText(){const t=Ce(this._sceneObject);return"__from"===this.state.name?(0,e.dateTimeFormat)(t.state.value.from,{timeZone:t.getTimeZone()}):(0,e.dateTimeFormat)(t.state.value.to,{timeZone:t.getTimeZone()})}}class Ze{constructor(e,t){this.state={name:e,type:"time_macro"},this._sceneObject=t}getValue(){var e;const t=Qe(this._sceneObject);if(t){const r=null==(e=t.state.data)?void 0:e.request;return r?"__interval_ms"===this.state.name?r.intervalMs:r.interval:`\${${this.state.name}}`}return`\${${this.state.name}}`}}function Je(e,t={}){if(e.state.$variables)for(const r of e.state.$variables.state.variables)r.state.skipUrlSync||t[r.state.name]||(t[r.state.name]=r);return e.parent&&Je(e.parent,t),t}var et=Object.defineProperty,tt=Object.defineProperties,rt=Object.getOwnPropertyDescriptors,nt=Object.getOwnPropertySymbols,at=Object.prototype.hasOwnProperty,ot=Object.prototype.propertyIsEnumerable,it=(e,t,r)=>t in e?et(e,t,{enumerable:!0,configurable:!0,writable:!0,value:r}):e[t]=r;const st=(0,e.getDisplayProcessor)();class lt{constructor(e){this._urlQueryParams=e}formatter(e){if(!e)return this._urlQueryParams;const t=e.split(":");if("exclude"===t[0]&&t.length>1){const e=new URLSearchParams(this._urlQueryParams);for(const r of t[1].split(","))e.delete(r);return`?${e}`}if("include"===t[0]&&t.length>1){const e=new URLSearchParams(this._urlQueryParams),r=t[1].split(",");for(const t of e.keys())r.includes(t)||e.delete(t);return`?${e}`}return this._urlQueryParams}}const ut={[e.DataLinkBuiltInVars.includeVars]:class{constructor(e,t){this.state={name:e,type:"url_variable"},this._sceneObject=t}getValue(){const e=Je(this._sceneObject),t=Ie.get(Pe.QueryParam),r=[];for(const n of Object.keys(e)){const a=e[n],o=a.getValue();o&&(Ee(o)?r.push(o.formatter(Pe.QueryParam)):r.push(t.formatter(o,[],a)))}return new Ke(r.join("&"))}getValueText(){return""}},[e.DataLinkBuiltInVars.keepTime]:class{constructor(e,t){this.state={name:e,type:"url_variable"},this._sceneObject=t}getValue(){var t;const r=null==(t=Ce(this._sceneObject).urlSync)?void 0:t.getUrlState();return new Ke(e.urlUtil.toUrlParams(r))}getValueText(){return""}},__value:class{constructor(e,t,r,n){this._match=r,this._scopedVars=n,this.state={name:e,type:"__value"}}getValue(t){var r,n;const a=null==(r=this._scopedVars)?void 0:r.__dataContext;if(!a)return this._match;const{frame:o,rowIndex:i,field:s,calculatedValue:l}=a.value;if(l)switch(t){case"numeric":case"raw":return l.numeric;case"time":return"";default:return(0,e.formattedValueToString)(l)}if(null==i)return this._match;if("time"===t){const t=o.fields.find((t=>t.type===e.FieldType.time));return t?t.values.get(i):void 0}if(!s)return this._match;const u=s.values.get(i);if("raw"===t)return u;const c=(null!=(n=s.display)?n:st)(u);return"numeric"===t?c.numeric:(0,e.formattedValueToString)(c)}getValueText(){return""}},__data:class{constructor(e,t,r,n){this._match=r,this._scopedVars=n,this.state={name:e,type:"__data"}}getValue(t){var r,n;const a=null==(r=this._scopedVars)?void 0:r.__dataContext;if(!a||!t)return this._match;const{frame:o,rowIndex:i}=a.value;if(void 0===i||void 0===t)return this._match;const s={name:o.name,refId:o.refId,fields:(0,e.getFieldDisplayValuesProxy)({frame:o,rowIndex:i})};return null!=(n=ke(t)(s))?n:""}getValueText(){return""}},__series:class{constructor(e,t,r,n){this._match=r,this._scopedVars=n,this.state={name:e,type:"__series"}}getValue(t){var r;const n=null==(r=this._scopedVars)?void 0:r.__dataContext;if(!n||!t)return this._match;if("name"!==t)return this._match;const{frame:a,frameIndex:o}=n.value;return(0,e.getFrameDisplayName)(a,o)}getValueText(){return""}},__field:class{constructor(e,t,r,n){this._match=r,this._scopedVars=n,this.state={name:e,type:"__field"}}getValue(t){var r,n;const a=null==(r=this._scopedVars)?void 0:r.__dataContext;if(!a||!t)return this._match;if(void 0===t||""===t)return this._match;const{frame:o,field:i,data:s}=a.value,l=function(t,r,n){return new Proxy({},{get:(a,o)=>{return"name"===o?t.name:"displayName"===o?(0,e.getFieldDisplayName)(t,r,n):"labels"===o||"formattedLabels"===o?t.labels?(i=((e,t)=>{for(var r in t||(t={}))at.call(t,r)&&it(e,r,t[r]);if(nt)for(var r of nt(t))ot.call(t,r)&&it(e,r,t[r]);return e})({},t.labels),s={__values:Object.values(t.labels).sort().join(", "),toString:()=>(0,e.formatLabels)(t.labels,"",!0)},tt(i,rt(s))):"":void 0;var i,s}})}(i,o,s);return null!=(n=ke(t)(l))?n:""}getValueText(){return""}},__url:class{constructor(e,t){this.state={name:e,type:"url_macro"}}getValue(e){var t;const r=u.locationService.getLocation(),n=null!=(t=u.config.appSubUrl)?t:"";switch(null!=e?e:""){case"params":return new lt(r.search);case"path":return n+r.pathname;default:return n+r.pathname+r.search}}getValueText(){return""}},__from:Xe,__to:Xe,__timezone:class{constructor(e,t){this.state={name:e,type:"time_macro"},this._sceneObject=t}getValue(){return Ce(this._sceneObject).getTimeZone()}getValueText(){return this.getValue()}},__user:class{constructor(e,t){this.state={name:e,type:"user_macro"}}getValue(e){const t=u.config.bootData.user;switch(e){case"login":return t.login;case"email":return t.email;default:return String(t.id)}}getValueText(){return""}},__org:class{constructor(e,t){this.state={name:e,type:"org_macro"}}getValue(e){const t=u.config.bootData.user;return"name"===e?t.orgName:String(t.orgId)}getValueText(){return""}},__interval:Ze,__interval_ms:Ze};function ct(e,t){return e===t||(0,Re.isEqual)(e,t)}function dt(e){try{return JSON.stringify(e,null)}catch(e){console.error(e)}return""}function pt(e){return e.map((e=>function(e){let t="";return t="=~"===e.operator||"!~¨"===e.operator?ht(function(e){return e.replace(ft,"\\$&")}(e.value)):ht(e.value),`${e.key}${e.operator}"${t}"`}(e))).join(",")}function ht(e){return e.replace(/\\/g,"\\\\").replace(/\n/g,"\\n").replace(/"/g,'\\"')}const ft=/[*+?()|\\.\[\]{}^$]/g,mt={getVariables:function(e){var t;return null!=(t=te(e,(e=>e.state.$variables)))?t:xe},getData:Qe,getTimeRange:Ce,getLayout:function(e){return te(e,(e=>function(e){return"isDraggable"in e}(e)?e:void 0))||null},getDataLayers:function(e,t=!1){let r,n=e,a=[];for(;n&&(!n.state.$data||n.state.$data instanceof Ge||n.state.$data.state.$data instanceof Ge&&(r=n.state.$data.state.$data),n.state.$data&&n.state.$data instanceof Ge&&(r=n.state.$data),!r||(a=a.concat(r.state.layers),!t));)n=n.parent;return a},interpolate:function(e,t,r,n){return""===t||null==t?"":function(e,t,r,n){return t?(We.lastIndex=0,t.replace(We,((t,a,o,i,s,l,u)=>{const c=i||u||n,d=function(e,t,r,n){const a=null==r?void 0:r[e];if(a)return function(e,t){return je?(je.state.name=e,je.state.value=t):je=new Ae(e,t),je}(e,a);return qe(e,n)||(ut[e]?new ut[e](e,n,t,r):null)}(a||o||s,t,r,e);return d?function(e,t,r){if(null==t)return"";if(Ee(t))return t.formatter(r);if(Array.isArray(t)||"object"!=typeof t||(t=`${t}`),"function"==typeof r)return r(t,{name:e.state.name,type:e.state.type,multi:e.state.isMulti,includeAll:e.state.includeAll});let n=[];r?(n=r.split(":"),n.length>1?(r=n[0],n=n.slice(1)):n=[]):r=Pe.Glob;let a=Ie.getIfExists(r);return a||(console.error(`Variable format ${r} not found. Using glob format as fallback.`),a=Ie.get(Pe.Glob)),a.formatter(t,n,e)}(d,d.getValue(l),c):t}))):null!=t?t:""}(e,t,r,n)},lookupVariable:qe,hasVariableDependencyInLoadingState:function(e){if(!e.variableDependency)return!1;for(const t of e.variableDependency.getNames()){const r=qe(t,e);if(r&&r.parent.isVariableLoadingOrWaitingToUpdate(r))return!0}return!1},findObject:function(e,t){return Ye(e,t,void 0,!0)},getAncestor:function(e,t){let r=e;for(;r;){if(r instanceof t)return r;r=r.parent}throw new Error("Unable to find parent of type "+t.name)}};class gt{constructor(e,t){this._sceneObject=e,this._options=t,this._dependencies=new Set,this.scanCount=0,this.defaultHandlerReferencedVariableValueChanged=()=>{this._sceneObject.forceRender()},this._statePaths=t.statePaths}hasDependencyOn(e){return this.getNames().has(e)}variableUpdatesCompleted(e){const t=this.getNames();let r=!1;for(const n of e)if(t.has(n.state.name)){r=!0;break}this._options.onVariableUpdatesCompleted?this._options.onVariableUpdatesCompleted(e,r):r&&(this._options.onReferencedVariableValueChanged?this._options.onReferencedVariableValueChanged():this.defaultHandlerReferencedVariableValueChanged())}getNames(){const e=this._state,t=this._state=this._sceneObject.state;if(!e)return this.scanStateForDependencies(this._state),this._dependencies;if(t!==e)if(this._statePaths){for(const r of this._statePaths)if(t[r]!==e[r]){this.scanStateForDependencies(t);break}}else this.scanStateForDependencies(t);return this._dependencies}setPaths(e){this._statePaths=e}scanStateForDependencies(e){if(this._dependencies.clear(),this.scanCount+=1,this._options.variableNames)for(const e of this._options.variableNames)this._dependencies.add(e);else if(this._statePaths)for(const t of this._statePaths){const r=e[t];r&&this.extractVariablesFrom(r)}else this.extractVariablesFrom(e)}extractVariablesFrom(e){We.lastIndex=0;const t=("string"!=typeof e?dt(e):e).matchAll(We);if(t)for(const e of t){const[,t,r,,n]=e,a=t||r||n;this._dependencies.add(a)}}}var yt=Object.defineProperty,bt=Object.defineProperties,vt=Object.getOwnPropertyDescriptors,wt=Object.getOwnPropertySymbols,St=Object.prototype.hasOwnProperty,_t=Object.prototype.propertyIsEnumerable,Ot=(e,t,r)=>t in e?yt(e,t,{enumerable:!0,configurable:!0,writable:!0,value:r}):e[t]=r;class xt extends Q{constructor(e){var t,r;super((t=((e,t)=>{for(var r in t||(t={}))St.call(t,r)&&Ot(e,r,t[r]);if(wt)for(var r of wt(t))_t.call(t,r)&&Ot(e,r,t[r]);return e})({},e),r={sync:e.sync||oe.Off},bt(t,vt(r)))),this.getEventsBus=e=>{if(!this.parent)throw new Error("EnableCursorSync cannot be used as a standalone scene object");return new Ct(this.parent,e)}}getEventsScope(){if(!this.parent)throw new Error("EnableCursorSync cannot be used as a standalone scene object");return this.state.key}}class Ct{constructor(e,t){this._source=e,this._eventsOrigin=t}publish(e){e.origin=this,this._eventsOrigin.publishEvent(e,!0)}getStream(e){return new S.Observable((t=>{const r=this._source.subscribeToEvent(e,(e=>{t.next(e)}));return()=>r.unsubscribe()}))}subscribe(e,t){return this.getStream(e).pipe().subscribe(t)}removeAllListeners(){}newScopedBus(e,t){throw new Error("For internal use only")}}async function Pt(e,t){if(null==e?void 0:e.uid){const t=re.get(e.uid);if(t)return t}return e&&e.query?e:await(0,u.getDataSourceSrv)().get(e,t)}class Dt{constructor(){this._values=new Map}recordCurrentDependencyValuesForSceneObject(e){if(this.clearValues(),e.variableDependency)for(const t of e.variableDependency.getNames()){const r=mt.lookupVariable(t,e);r&&this._values.set(r,r.getValue())}}clearValues(){this._values.clear()}hasValues(){return!!this._values}recordCurrentValue(e){this._values.set(e,e.getValue())}hasRecordedValue(e){return this._values.has(e)}hasValueChanged(e){return!(!this._values.has(e)||ct(this._values.get(e),e.getValue()))}hasDependenciesChanged(e){if(!this._values)return!1;if(!e.variableDependency)return!1;for(const t of e.variableDependency.getNames()){const r=mt.lookupVariable(t,e);if(r&&this._values.has(r)&&!ct(this._values.get(r),r.getValue()))return!0}return!1}}function Et(e){return"function"==typeof e}Object.defineProperty,Object.getOwnPropertySymbols,Object.prototype.hasOwnProperty,Object.prototype.propertyIsEnumerable;var Rt=function(e,t){return Rt=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var r in t)Object.prototype.hasOwnProperty.call(t,r)&&(e[r]=t[r])},Rt(e,t)};function jt(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Class extends value "+String(t)+" is not a constructor or null");function r(){this.constructor=e}Rt(e,t),e.prototype=null===t?Object.create(t):(r.prototype=t.prototype,new r)}function Tt(e){var t="function"==typeof Symbol&&Symbol.iterator,r=t&&e[t],n=0;if(r)return r.call(e);if(e&&"number"==typeof e.length)return{next:function(){return e&&n>=e.length&&(e=void 0),{value:e&&e[n++],done:!e}}};throw new TypeError(t?"Object is not iterable.":"Symbol.iterator is not defined.")}function kt(e,t){var r="function"==typeof Symbol&&e[Symbol.iterator];if(!r)return e;var n,a,o=r.call(e),i=[];try{for(;(void 0===t||t-- >0)&&!(n=o.next()).done;)i.push(n.value)}catch(e){a={error:e}}finally{try{n&&!n.done&&(r=o.return)&&r.call(o)}finally{if(a)throw a.error}}return i}function At(e,t,r){if(r||2===arguments.length)for(var n,a=0,o=t.length;at in e?ir(e,t,{enumerable:!0,configurable:!0,writable:!0,value:r}):e[t]=r;const dr="__previousPeriod",pr="__noPeriod",hr={label:"Previous period",value:dr},fr={label:"No comparison",value:pr},mr=[{label:"Day before",value:"24h"},{label:"Week before",value:"1w"},{label:"Month before",value:"1M"}];class gr extends Q{constructor(t){super(((e,t)=>{for(var r in t||(t={}))lr.call(t,r)&&cr(e,r,t[r]);if(sr)for(var r of sr(t))ur.call(t,r)&&cr(e,r,t[r]);return e})({compareOptions:mr},t)),this._urlSync=new pe(this,{keys:["compareWith"]}),this._onActivate=()=>{const e=mt.getTimeRange(this);this.setState({compareOptions:this.getCompareOptions(e.state.value)}),this._subs.add(e.subscribeToState((e=>{const t=this.getCompareOptions(e.value),r={compareOptions:t};Boolean(this.state.compareWith)&&!t.find((({value:e})=>e===this.state.compareWith))&&(r.compareWith=dr),this.setState(r)})))},this.getCompareOptions=t=>{const r=Math.ceil(t.to.diff(t.from)),n=mr.findIndex((({value:t})=>e.rangeUtil.intervalToMs(t)>=r));return[fr,hr,...mr.slice(n).map((({label:e,value:t})=>({label:e,value:t})))]},this.onCompareWithChanged=e=>{e===pr?this.onClearCompare():this.setState({compareWith:e})},this.onClearCompare=()=>{this.setState({compareWith:void 0})},this.addActivationHandler(this._onActivate)}getCompareTimeRange(t){let r,n;if(this.state.compareWith){if(this.state.compareWith===dr){const a=t.to.diff(t.from);r=(0,e.dateTime)(t.from).subtract(a),n=(0,e.dateTime)(t.to).subtract(a)}else r=(0,e.dateTime)(t.from).subtract(e.rangeUtil.intervalToMs(this.state.compareWith)),n=(0,e.dateTime)(t.to).subtract(e.rangeUtil.intervalToMs(this.state.compareWith));return{from:r,to:n,raw:{from:r,to:n}}}}getUrlState(){return{compareWith:this.state.compareWith}}updateFromUrl(e){if(!e.compareWith)return;const t=fe(e.compareWith);t&&(this.getCompareOptions(mt.getTimeRange(this).state.value).find((({value:e})=>e===t))?this.setState({compareWith:t}):this.setState({compareWith:"__previousPeriod"}))}}function yr(e){return{previewButton:(0,or.css)({"&:disabled":{border:`1px solid ${e.colors.secondary.border}`,color:e.colors.text.disabled,opacity:1}})}}gr.Component=function({model:e}){var t;const n=(0,ar.useStyles2)(yr),{compareWith:a,compareOptions:o}=e.useState(),[i,s]=r().useState(a),l=null!=(t=o.find((({value:e})=>e===i)))?t:hr,u=o.find((({value:e})=>e===a)),c=Boolean(u),d=()=>{c?(s(a),e.onClearCompare()):c||e.onCompareWithChanged(l.value)};return r().createElement(ar.ButtonGroup,null,r().createElement(ar.ToolbarButton,{variant:"canvas",tooltip:"Enable time frame comparison",onClick:e=>{e.stopPropagation(),e.preventDefault(),d()}},r().createElement(ar.Checkbox,{label:" ",value:c,onClick:d}),"Comparison"),c?r().createElement(ar.ButtonSelect,{variant:"canvas",value:u,options:o,onChange:t=>{e.onCompareWithChanged(t.value)}}):r().createElement(ar.ToolbarButton,{className:n.previewButton,disabled:!0,variant:"canvas",isOpen:!1},l.label))};const br=e=>`${e}-compare`;var vr=Object.defineProperty,wr=Object.defineProperties,Sr=Object.getOwnPropertyDescriptors,_r=Object.getOwnPropertySymbols,Or=Object.prototype.hasOwnProperty,xr=Object.prototype.propertyIsEnumerable,Cr=(e,t,r)=>t in e?vr(e,t,{enumerable:!0,configurable:!0,writable:!0,value:r}):e[t]=r,Pr=(e,t)=>{for(var r in t||(t={}))Or.call(t,r)&&Cr(e,r,t[r]);if(_r)for(var r of _r(t))xr.call(t,r)&&Cr(e,r,t[r]);return e},Dr=(e,t)=>wr(e,Sr(t));function Er(t){return t.pipe((0,S.map)((([t,r])=>{const n=r.timeRange.from.diff(t.timeRange.from);return r.series.forEach((t=>{t.refId=br(t.refId||""),t.meta=Dr(Pr({},t.meta),{timeCompare:{diffMs:n,isTimeShiftQuery:!0}}),t.fields.forEach((t=>(t.type===e.FieldType.time&&(t.values=t.values.map((e=>n<0?e-n:e+n))),t.config=Dr(Pr({},t.config),{color:{mode:"fixed",fixedColor:u.config.theme.palette.gray60}}),t)))})),Dr(Pr({},t),{series:[...t.series,...r.series]})})))}var Rr=Object.defineProperty,jr=Object.defineProperties,Tr=Object.getOwnPropertyDescriptors,kr=Object.getOwnPropertySymbols,Ar=Object.prototype.hasOwnProperty,Ir=Object.prototype.propertyIsEnumerable,Fr=(e,t,r)=>t in e?Rr(e,t,{enumerable:!0,configurable:!0,writable:!0,value:r}):e[t]=r,Vr=(e,t)=>{for(var r in t||(t={}))Ar.call(t,r)&&Fr(e,r,t[r]);if(kr)for(var r of kr(t))Ir.call(t,r)&&Fr(e,r,t[r]);return e},Lr=(e,t)=>jr(e,Tr(t));function Mr(e){return void 0!==e.useState}function zr(e){return"enrichDataRequest"in e}let Nr,Hr=new Set;var Br=Object.defineProperty,Ur=Object.defineProperties,$r=Object.getOwnPropertyDescriptors,Wr=Object.getOwnPropertySymbols,qr=Object.prototype.hasOwnProperty,Gr=Object.prototype.propertyIsEnumerable,Qr=(e,t,r)=>t in e?Br(e,t,{enumerable:!0,configurable:!0,writable:!0,value:r}):e[t]=r,Yr=(e,t)=>{for(var r in t||(t={}))qr.call(t,r)&&Qr(e,r,t[r]);if(Wr)for(var r of Wr(t))Gr.call(t,r)&&Qr(e,r,t[r]);return e},Kr=(e,t)=>Ur(e,$r(t));let Xr=100;function Zr(){return"SQR"+Xr++}class Jr extends Q{constructor(t){super(t),this._variableValueRecorder=new Dt,this._results=new S.ReplaySubject,this._scopedVars={__sceneObject:{value:this,text:"__sceneObject"}},this._variableDependency=new gt(this,{statePaths:["queries","datasource"],onVariableUpdatesCompleted:(e,t)=>this.onVariableUpdatesCompleted(e,t)}),this.prepareRequests=(t,r)=>{const n=this.getTimeCompare(),{minInterval:a,queries:o}=this.state;let i,s=Yr({app:"scenes",requestId:Zr(),timezone:t.getTimeZone(),panelId:1,range:t.state.value,interval:"1s",intervalMs:1e3,targets:(0,Re.cloneDeep)(o),maxDataPoints:this.getMaxDataPoints(),scopedVars:this._scopedVars,startTime:Date.now(),liveStreaming:this.state.liveStreaming,rangeRaw:{from:t.state.from,to:t.state.to}},function(e){const t=e.getRoot();return zr(t)?t.enrichDataRequest(e):null}(this));this._adhocFilterSet&&(s.filters=this._adhocFilterSet.state.filters),s.targets=s.targets.map((e=>(e.datasource||(e.datasource=r.getRef()),e)));const l=a||r.interval,u=e.rangeUtil.calculateInterval(t.state.value,s.maxDataPoints,l);s.scopedVars=Object.assign({},s.scopedVars,{__interval:{text:u.interval,value:u.interval},__interval_ms:{text:u.intervalMs.toString(),value:u.intervalMs}}),s.interval=u.interval,s.intervalMs=u.intervalMs;const c=t.state.value;if(n){const e=n.getCompareTimeRange(c);e&&(i=Kr(Yr({},s),{range:e,requestId:Zr()}),s=Kr(Yr({},s),{range:c}))}return[s,i]},this.onDataReceived=t=>{this._results.next({origin:this,data:t});const r=(0,e.preProcessPanelData)(t,this.state.data),n=this._combineDataLayers(r);let a=this.state._hasFetchedData;a||r.state===ae.Loading||(a=!0),this._resultAnnotations=t.annotations,this.setState({data:n,_hasFetchedData:a})},this.addActivationHandler((()=>this._onActivate()))}getResultsStream(){return this._results}_onActivate(){const e=mt.getTimeRange(this),t=this.getTimeCompare();return t&&this._subs.add(t.subscribeToState(((e,t)=>{e.compareWith!==t.compareWith&&this.runQueries()}))),this._subs.add(e.subscribeToState((()=>{this.runWithTimeRange(e)}))),this.shouldRunQueriesOnActivate()&&this.runQueries(),()=>this._onDeactivate()}_handleDataLayers(){const e=mt.getDataLayers(this),t=[],r=new Map;e.length>0&&(e.forEach((e=>{t.push(e.getResultsStream())})),this._dataLayersSub=(0,S.merge)(t).pipe((0,S.mergeAll)(),(0,S.map)((e=>(r.set(e.origin.state.key,e.data),r)))).subscribe((e=>{this._onLayersReceived(e)})))}_onLayersReceived(t){var r,n;const a=mt.getTimeRange(this),o=mt.getDataLayers(this),{dataLayerFilter:i}=this.state;let s,l=[],u=[];const c=Array.from(t.keys());if(Array.from(t.values()).forEach(((t,r)=>{const n=c[r],a=o.find((e=>e.state.key===n));a&&(a.topic===e.DataTopic.Annotations&&t[e.DataTopic.Annotations]&&(l=l.concat(t[e.DataTopic.Annotations])),"alertStates"===a.topic&&(u=u.concat(t.series)))})),(null==i?void 0:i.panelId)&&(l.length>0&&(l=function(e,t){var r;if(!Array.isArray(e)||0===e.length)return e;const n=Array.from({length:e.length},(()=>new Set));let a=0;for(const o of e){for(let e=0;e"panelId"===e.name)),l=o.fields.find((e=>"source"===e.name));if(l){s&&"dashboard"===l.values[e].type&&(i=s.values[e]===t.panelId);const n=l.values[e].filter;if(n){const e=(null!=(r=n.ids)?r:[]).includes(t.panelId);n.exclude?e&&(i=!1):e||(i=!1)}}i&&n[a].add(e)}a++}const o=[];a=0;for(const t of e){const e=n[a].size,r=[];for(const e of t.fields){const o=[];for(let r=0;r0))for(const t of u){const r=new e.DataFrameView(t);for(const e of r)if(e.panelId===i.panelId){s=e;break}}const d=this.state.data?this.state.data:Kr(Yr({},de),{timeRange:a.state.value});this._layerAnnotations=l,this.setState({data:Kr(Yr({},d),{annotations:[...null!=(r=this._resultAnnotations)?r:[],...l],alertState:null!=s?s:null==(n=this.state.data)?void 0:n.alertState})})}onVariableUpdatesCompleted(e,t){(this.state.maxDataPoints||!this.state.maxDataPointsFromWidth||this._containerWidth)&&(this.state._isWaitingForVariables||t)&&this.runQueries()}shouldRunQueriesOnActivate(){return!(!this.state.maxDataPoints&&this.state.maxDataPointsFromWidth&&!this._containerWidth||(this._variableValueRecorder.hasDependenciesChanged(this)?(nr("SceneQueryRunner","Variable dependency changed while inactive, shouldRunQueriesOnActivate returns true"),0):this.state.data&&!this._isDataTimeRangeStale(this.state.data)))}_isDataTimeRangeStale(e){const t=mt.getTimeRange(this).state.value,r=e.timeRange;return(t.from.unix()!==r.from.unix()||t.to.unix()!==r.to.unix())&&(nr("SceneQueryRunner","Data time range is stale"),!0)}_onDeactivate(){this._querySub&&(this._querySub.unsubscribe(),this._querySub=void 0),this._dataLayersSub&&(this._dataLayersSub.unsubscribe(),this._dataLayersSub=void 0),this._adhocFilterSub&&this._adhocFilterSub.unsubscribe(),this._variableValueRecorder.recordCurrentDependencyValuesForSceneObject(this)}setContainerWidth(e){!this._containerWidth&&e>0?(this._containerWidth=e,this.state.maxDataPointsFromWidth&&!this.state.maxDataPoints&&setTimeout((()=>{this.isActive&&!this.state._hasFetchedData&&this.runQueries()}),0)):e>0&&(this._containerWidth=e)}isDataReadyToDisplay(){return Boolean(this.state._hasFetchedData)}runQueries(){const e=mt.getTimeRange(this);this.runWithTimeRange(e)}getMaxDataPoints(){var e;return this.state.maxDataPoints?this.state.maxDataPoints:this.state.maxDataPointsFromWidth&&null!=(e=this._containerWidth)?e:500}cancelQuery(){var e;null==(e=this._querySub)||e.unsubscribe(),this._dataLayersSub&&(this._dataLayersSub.unsubscribe(),this._dataLayersSub=void 0),this.setState({data:Kr(Yr({},this.state.data),{state:ae.Done})})}async runWithTimeRange(e){var t,r;this._dataLayersSub||this._handleDataLayers();const n=(0,u.getRunRequest)();if(null==(t=this._querySub)||t.unsubscribe(),mt.hasVariableDependencyInLoadingState(this))return nr("SceneQueryRunner","Variable dependency is in loading state, skipping query execution"),void this.setState({_isWaitingForVariables:!0});this.state._isWaitingForVariables&&this.setState({_isWaitingForVariables:!1});const{queries:a}=this.state;if(null==a?void 0:a.length)try{const t=null!=(r=this.state.datasource)?r:function(e){var t,r;return null!=(r=null==(t=e.find((e=>null!==e.datasource)))?void 0:t.datasource)?r:void 0}(a),o=await Pt(t,this._scopedVars);this._adhocFilterSet||this.findAndSubscribeToAdhocFilters(null==t?void 0:t.uid);const[i,s]=this.prepareRequests(e,o);nr("SceneQueryRunner","Starting runRequest",this.state.key),this._querySub=s?(0,S.forkJoin)([n(o,i),n(o,s)]).pipe(Er).subscribe(this.onDataReceived):n(o,i).subscribe(this.onDataReceived)}catch(e){console.error("PanelQueryRunner Error",e);const t=Kr(Yr(Yr({},de),this.state.data),{state:ae.Error,errors:[(0,u.toDataQueryError)(e)]});this.setState({data:t})}else this._setNoDataState()}_combineDataLayers(e){var t;return this.state.data&&this.state.data.annotations&&(e.annotations=(e.annotations||[]).concat(null!=(t=this._layerAnnotations)?t:[])),this.state.data&&this.state.data.alertState&&(e.alertState=this.state.data.alertState),e}_setNoDataState(){this.state.data!==de&&this.setState({data:de})}getTimeCompare(){return this.parent?te(this.parent,(e=>{let t=null;return e instanceof gr?e:(e.forEachChild((e=>{e instanceof gr&&(t=e)})),t)})):null}findAndSubscribeToAdhocFilters(e){var t;const r=function(e){var t;for(const r of Hr.values())if((null==(t=r.state.datasource)?void 0:t.uid)===e)return r}(e);r&&"same-datasource"===r.state.applyMode&&(this._adhocFilterSet=r,this._adhocFilterSub=null==(t=this._adhocFilterSet)?void 0:t.subscribeToState((()=>this.runQueries())))}}const en={Breadcrumbs:{breadcrumb:e=>`data-testid ${e} breadcrumb`},TimePicker:{openButton:"data-testid TimePicker Open Button",fromField:"Time Range from field",toField:"Time Range to field",applyTimeRange:"data-testid TimePicker submit button",calendar:{label:"Time Range calendar",openButton:"Open time range calendar",closeButton:"Close time range Calendar"},absoluteTimeRangeTitle:"data-testid-absolute-time-range-narrow"},DataSourcePermissions:{form:()=>'form[name="addPermission"]',roleType:"Role to add new permission to",rolePicker:"Built-in role picker",permissionLevel:"Permission Level"},DataSource:{TestData:{QueryTab:{scenarioSelectContainer:"Test Data Query scenario select container",scenarioSelect:"Test Data Query scenario select",max:"TestData max",min:"TestData min",noise:"TestData noise",seriesCount:"TestData series count",spread:"TestData spread",startValue:"TestData start value",drop:"TestData drop values"}},DataSourceHttpSettings:{urlInput:"Datasource HTTP settings url"},Jaeger:{traceIDInput:"Trace ID"},Prometheus:{configPage:{exemplarsAddButton:"Add exemplar config button",internalLinkSwitch:"Internal link switch"},exemplarMarker:"Exemplar marker"}},Menu:{MenuComponent:e=>`${e} menu`,MenuGroup:e=>`${e} menu group`,MenuItem:e=>`${e} menu item`,SubMenu:{container:"SubMenu container",icon:"SubMenu icon"}},Panels:{Panel:{title:e=>`data-testid Panel header ${e}`,headerItems:e=>`Panel header item ${e}`,menuItems:e=>`data-testid Panel menu item ${e}`,menu:e=>`data-testid Panel menu ${e}`,containerByTitle:e=>`${e} panel`,headerCornerInfo:e=>`Panel header ${e}`,loadingBar:()=>"Panel loading bar",HoverWidget:{container:"data-test-id hover-header-container",dragIcon:"data-testid drag-icon"}},Visualization:{Graph:{container:"Graph container",VisualizationTab:{legendSection:"Legend section"},Legend:{legendItemAlias:e=>`gpl alias ${e}`,showLegendSwitch:"gpl show legend"},xAxis:{labels:()=>"div.flot-x-axis > div.flot-tick-label"}},BarGauge:{value:"Bar gauge value",valueV2:"data-testid Bar gauge value"},PieChart:{svgSlice:"Pie Chart Slice"},Text:{container:()=>".markdown-html"},Table:{header:"table header",footer:"table-footer"}}},VizLegend:{seriesName:e=>`VizLegend series ${e}`},Drawer:{General:{title:e=>`Drawer title ${e}`,expand:"Drawer expand",contract:"Drawer contract",close:"Drawer close",rcContentWrapper:()=>".rc-drawer-content-wrapper"}},PanelEditor:{General:{content:"Panel editor content"},OptionsPane:{content:"Panel editor option pane content",select:"Panel editor option pane select",fieldLabel:e=>`${e} field property editor`},DataPane:{content:"Panel editor data pane content"},applyButton:"data-testid Apply changes and go back to dashboard",toggleVizPicker:"data-testid toggle-viz-picker",toggleVizOptions:"data-testid toggle-viz-options",toggleTableView:"toggle-table-view",measureButton:"show measure tools"},PanelInspector:{Data:{content:"Panel inspector Data content"},Stats:{content:"Panel inspector Stats content"},Json:{content:"Panel inspector Json content"},Query:{content:"Panel inspector Query content",refreshButton:"Panel inspector Query refresh button",jsonObjectKeys:()=>".json-formatter-key"}},Tab:{title:e=>`Tab ${e}`,active:()=>'[class*="-activeTabStyle"]'},RefreshPicker:{runButton:"RefreshPicker run button",intervalButton:"RefreshPicker interval button",runButtonV2:"data-testid RefreshPicker run button",intervalButtonV2:"data-testid RefreshPicker interval button"},QueryTab:{content:"Query editor tab content",queryInspectorButton:"Query inspector button",queryHistoryButton:"Rich history button",addQuery:"Query editor add query button"},QueryHistory:{queryText:"Query text"},QueryEditorRows:{rows:"Query editor row"},QueryEditorRow:{actionButton:e=>`${e}`,title:e=>`Query editor row title ${e}`,container:e=>`Query editor row ${e}`},AlertTab:{content:"Alert editor tab content"},Alert:{alert:e=>`Alert ${e}`,alertV2:e=>`data-testid Alert ${e}`},TransformTab:{content:"Transform editor tab content",newTransform:e=>`New transform ${e}`,transformationEditor:e=>`Transformation editor ${e}`,transformationEditorDebugger:e=>`Transformation editor debugger ${e}`},Transforms:{card:e=>`New transform ${e}`,Reduce:{modeLabel:"Transform mode label",calculationsLabel:"Transform calculations label"},SpatialOperations:{actionLabel:"root Action field property editor",locationLabel:"root Location field property editor",location:{autoOption:"Auto location option",coords:{option:"Coords location option",latitudeFieldLabel:"root Latitude field field property editor",longitudeFieldLabel:"root Longitude field field property editor"},geohash:{option:"Geohash location option",geohashFieldLabel:"root Geohash field field property editor"},lookup:{option:"Lookup location option",lookupFieldLabel:"root Lookup field field property editor",gazetteerFieldLabel:"root Gazetteer field property editor"}}},searchInput:"search transformations"},NavBar:{Configuration:{button:"Configuration"},Toggle:{button:"Toggle menu"},Reporting:{button:"Reporting"}},NavMenu:{item:"data-testid Nav menu item"},NavToolbar:{container:"data-testid Nav toolbar"},PageToolbar:{container:()=>".page-toolbar",item:e=>`${e}`,itemButton:e=>`data-testid ${e}`},QueryEditorToolbarItem:{button:e=>`QueryEditor toolbar item button ${e}`},BackButton:{backArrow:"Go Back"},OptionsGroup:{group:e=>e?`Options group ${e}`:"Options group",toggle:e=>e?`Options group ${e} toggle`:"Options group toggle"},PluginVisualization:{item:e=>`Plugin visualization item ${e}`,current:()=>'[class*="-currentVisualizationItem"]'},Select:{option:"Select option",input:()=>'input[id*="time-options-input"]',singleValue:()=>'div[class*="-singleValue"]'},FieldConfigEditor:{content:"Field config editor content"},OverridesConfigEditor:{content:"Field overrides editor content"},FolderPicker:{container:"Folder picker select container",containerV2:"data-testid Folder picker select container",input:"Select a folder"},ReadonlyFolderPicker:{container:"data-testid Readonly folder picker select container"},DataSourcePicker:{container:"data-testid Data source picker select container",input:()=>'input[id="data-source-picker"]',inputV2:"Select a data source"},TimeZonePicker:{container:"Time zone picker select container",containerV2:"data-testid Time zone picker select container"},WeekStartPicker:{container:"Choose starting day of the week",containerV2:"data-testid Choose starting day of the week",placeholder:"Choose starting day of the week"},TraceViewer:{spanBar:"data-testid SpanBar--wrapper"},QueryField:{container:"Query field"},QueryBuilder:{queryPatterns:"Query patterns",labelSelect:"Select label",valueSelect:"Select value",matchOperatorSelect:"Select match operator"},ValuePicker:{button:e=>`Value picker button ${e}`,select:e=>`Value picker select ${e}`},Search:{section:"Search section",sectionV2:"data-testid Search section",items:"Search items",itemsV2:"data-testid Search items",cards:"data-testid Search cards",collapseFolder:e=>`data-testid Collapse folder ${e}`,expandFolder:e=>`data-testid Expand folder ${e}`,dashboardItem:e=>`${en.Search.dashboardItems} ${e}`,dashboardCard:e=>`data-testid Search card ${e}`,folderHeader:e=>`data-testid Folder header ${e}`,folderContent:e=>`data-testid Folder content ${e}`,dashboardItems:"data-testid Dashboard search item"},DashboardLinks:{container:"data-testid Dashboard link container",dropDown:"data-testid Dashboard link dropdown",link:"data-testid Dashboard link"},LoadingIndicator:{icon:"Loading indicator"},CallToActionCard:{button:e=>`Call to action button ${e}`,buttonV2:e=>`data-testid Call to action button ${e}`},DataLinksContextMenu:{singleLink:"Data link"},CodeEditor:{container:"Code editor container"},DashboardImportPage:{textarea:"data-testid-import-dashboard-textarea",submit:"data-testid-load-dashboard"},ImportDashboardForm:{name:"data-testid-import-dashboard-title",submit:"data-testid-import-dashboard-submit"},PanelAlertTabContent:{content:"Unified alert editor tab content"},VisualizationPreview:{card:e=>`data-testid suggestion-${e}`},ColorSwatch:{name:"data-testid-colorswatch"},DashboardRow:{title:e=>`data-testid dashboard-row-title-${e}`},UserProfile:{profileSaveButton:"data-testid-user-profile-save",preferencesSaveButton:"data-testid-shared-prefs-save",orgsTable:"data-testid-user-orgs-table",sessionsTable:"data-testid-user-sessions-table"},FileUpload:{inputField:"data-testid-file-upload-input-field",fileNameSpan:"data-testid-file-upload-file-name"},DebugOverlay:{wrapper:"debug-overlay"},OrgRolePicker:{input:"Role"},AnalyticsToolbarButton:{button:"Dashboard insights"},Variables:{variableOption:"data-testid variable-option"},Annotations:{annotationsTypeInput:"annotations-type-input",annotationsChoosePanelInput:"choose-panels-input"}},tn={pages:{Login:{url:"/login",username:"Username input field",password:"Password input field",submit:"Login button",skip:"Skip change password button"},Home:{url:"/"},DataSource:{name:"Data source settings page name input field",delete:"Data source settings page Delete button",readOnly:"Data source settings page read only message",saveAndTest:"data-testid Data source settings page Save and Test button",alert:"Data source settings page Alert"},DataSources:{url:"/datasources",dataSources:e=>`Data source list item ${e}`},EditDataSource:{url:e=>`/datasources/edit/${e}`,settings:"Datasource settings page basic settings"},AddDataSource:{url:"/datasources/new",dataSourcePlugins:e=>`Data source plugin item ${e}`,dataSourcePluginsV2:e=>`Add new data source ${e}`},ConfirmModal:{delete:"data-testid Confirm Modal Danger Button"},AddDashboard:{url:"/dashboard/new",itemButton:e=>`data-testid ${e}`,addNewPanel:"Add new panel",addNewRow:"Add new row",addNewPanelLibrary:"Add new panel from panel library"},Dashboard:{url:e=>`/d/${e}`,DashNav:{nav:"Dashboard navigation",navV2:"data-testid Dashboard navigation",publicDashboardTag:"data-testid public dashboard tag"},SubMenu:{submenu:"Dashboard submenu",submenuItem:"data-testid template variable",submenuItemLabels:e=>`data-testid Dashboard template variables submenu Label ${e}`,submenuItemValueDropDownValueLinkTexts:e=>`data-testid Dashboard template variables Variable Value DropDown value link text ${e}`,submenuItemValueDropDownDropDown:"Variable options",submenuItemValueDropDownOptionTexts:e=>`data-testid Dashboard template variables Variable Value DropDown option text ${e}`,Annotations:{annotationsWrapper:"data-testid annotation-wrapper",annotationLabel:e=>`data-testid Dashboard annotations submenu Label ${e}`,annotationToggle:e=>`data-testid Dashboard annotations submenu Toggle ${e}`}},Settings:{Actions:{close:"data-testid dashboard-settings-close"},General:{deleteDashBoard:"Dashboard settings page delete dashboard button",sectionItems:e=>`Dashboard settings section item ${e}`,saveDashBoard:"Dashboard settings aside actions Save button",saveAsDashBoard:"Dashboard settings aside actions Save As button",timezone:"Time zone picker select container",title:"Tab General"},Annotations:{List:{addAnnotationCTA:en.CallToActionCard.button("Add annotation query"),addAnnotationCTAV2:en.CallToActionCard.buttonV2("Add annotation query")},Settings:{name:"Annotations settings name input"},NewAnnotation:{panelFilterSelect:"data-testid annotations-panel-filter",showInLabel:"show-in-label",previewInDashboard:"data-testid annotations-preview"}},Variables:{List:{addVariableCTA:en.CallToActionCard.button("Add variable"),addVariableCTAV2:en.CallToActionCard.buttonV2("Add variable"),newButton:"Variable editor New variable button",table:"Variable editor Table",tableRowNameFields:e=>`Variable editor Table Name field ${e}`,tableRowDefinitionFields:e=>`Variable editor Table Definition field ${e}`,tableRowArrowUpButtons:e=>`Variable editor Table ArrowUp button ${e}`,tableRowArrowDownButtons:e=>`Variable editor Table ArrowDown button ${e}`,tableRowDuplicateButtons:e=>`Variable editor Table Duplicate button ${e}`,tableRowRemoveButtons:e=>`Variable editor Table Remove button ${e}`},Edit:{General:{headerLink:"Variable editor Header link",modeLabelNew:"Variable editor Header mode New",modeLabelEdit:"Variable editor Header mode Edit",generalNameInput:"Variable editor Form Name field",generalNameInputV2:"data-testid Variable editor Form Name field",generalTypeSelect:"Variable editor Form Type select",generalTypeSelectV2:"data-testid Variable editor Form Type select",generalLabelInput:"Variable editor Form Label field",generalLabelInputV2:"data-testid Variable editor Form Label field",generalHideSelect:"Variable editor Form Hide select",generalHideSelectV2:"data-testid Variable editor Form Hide select",selectionOptionsMultiSwitch:"Variable editor Form Multi switch",selectionOptionsIncludeAllSwitch:"Variable editor Form IncludeAll switch",selectionOptionsCustomAllInput:"Variable editor Form IncludeAll field",selectionOptionsCustomAllInputV2:"data-testid Variable editor Form IncludeAll field",previewOfValuesOption:"Variable editor Preview of Values option",submitButton:"Variable editor Submit button",applyButton:"data-testid Variable editor Apply button"},QueryVariable:{queryOptionsDataSourceSelect:en.DataSourcePicker.container,queryOptionsRefreshSelect:"Variable editor Form Query Refresh select",queryOptionsRefreshSelectV2:"data-testid Variable editor Form Query Refresh select",queryOptionsRegExInput:"Variable editor Form Query RegEx field",queryOptionsRegExInputV2:"data-testid Variable editor Form Query RegEx field",queryOptionsSortSelect:"Variable editor Form Query Sort select",queryOptionsSortSelectV2:"data-testid Variable editor Form Query Sort select",queryOptionsQueryInput:"Variable editor Form Default Variable Query Editor textarea",valueGroupsTagsEnabledSwitch:"Variable editor Form Query UseTags switch",valueGroupsTagsTagsQueryInput:"Variable editor Form Query TagsQuery field",valueGroupsTagsTagsValuesQueryInput:"Variable editor Form Query TagsValuesQuery field"},ConstantVariable:{constantOptionsQueryInput:"Variable editor Form Constant Query field",constantOptionsQueryInputV2:"data-testid Variable editor Form Constant Query field"},DatasourceVariable:{datasourceSelect:"data-testid datasource variable datasource type"},TextBoxVariable:{textBoxOptionsQueryInput:"Variable editor Form TextBox Query field",textBoxOptionsQueryInputV2:"data-testid Variable editor Form TextBox Query field"},CustomVariable:{customValueInput:"data-testid custom-variable-input"},IntervalVariable:{intervalsValueInput:"data-testid interval variable intervals input"}}}},Annotations:{marker:"data-testid annotation-marker"}},Dashboards:{url:"/dashboards",dashboards:e=>`Dashboard search item ${e}`},SaveDashboardAsModal:{newName:"Save dashboard title field",save:"Save dashboard button"},SaveDashboardModal:{save:"Dashboard settings Save Dashboard Modal Save button",saveVariables:"Dashboard settings Save Dashboard Modal Save variables checkbox",saveTimerange:"Dashboard settings Save Dashboard Modal Save timerange checkbox"},SharePanelModal:{linkToRenderedImage:"Link to rendered image"},ShareDashboardModal:{shareButton:"Share dashboard or panel",PublicDashboard:{Tab:"Tab Public dashboard",WillBePublicCheckbox:"data-testid public dashboard will be public checkbox",LimitedDSCheckbox:"data-testid public dashboard limited datasources checkbox",CostIncreaseCheckbox:"data-testid public dashboard cost may increase checkbox",PauseSwitch:"data-testid public dashboard pause switch",EnableAnnotationsSwitch:"data-testid public dashboard on off switch for annotations",CreateButton:"data-testid public dashboard create button",DeleteButton:"data-testid public dashboard delete button",CopyUrlInput:"data-testid public dashboard copy url input",CopyUrlButton:"data-testid public dashboard copy url button",TemplateVariablesWarningAlert:"data-testid public dashboard disabled template variables alert",UnsupportedDataSourcesWarningAlert:"data-testid public dashboard unsupported data sources alert",NoUpsertPermissionsWarningAlert:"data-testid public dashboard no upsert permissions alert",EnableTimeRangeSwitch:"data-testid public dashboard on off switch for time range",EmailSharingConfiguration:{Container:"data-testid email sharing config container",ShareType:"data-testid public dashboard share type",EmailSharingInput:"data-testid public dashboard email sharing input",EmailSharingInviteButton:"data-testid public dashboard email sharing invite button",EmailSharingList:"data-testid public dashboard email sharing list",DeleteEmail:"data-testid public dashboard delete email button",ReshareLink:"data-testid public dashboard reshare link button"}}},PublicDashboard:{page:"public-dashboard-page",NotAvailable:{container:"public-dashboard-not-available",title:"public-dashboard-title",pausedDescription:"public-dashboard-paused-description"}},RequestViewAccess:{form:"request-view-access-form",recipientInput:"request-view-access-recipient-input",submitButton:"request-view-access-submit-button"},Explore:{url:"/explore",General:{container:"data-testid Explore",graph:"Explore Graph",table:"Explore Table",scrollView:"data-testid explorer scroll view"}},SoloPanel:{url:e=>`/d-solo/${e}`},PluginsList:{page:"Plugins list page",list:"Plugins list",listItem:"Plugins list item",signatureErrorNotice:"Unsigned plugins notice"},PluginPage:{page:"Plugin page",signatureInfo:"Plugin signature info",disabledInfo:"Plugin disabled info"},PlaylistForm:{name:"Playlist name",interval:"Playlist interval",itemDelete:"Delete playlist item"},BrowseDashbards:{table:{row:e=>`data-testid ${e} row`,checkbox:e=>`data-testid ${e} checkbox`}},Search:{url:"/?search=openn",FolderView:{url:"/?search=open&layout=folders"}},PublicDashboards:{ListItem:{linkButton:"public-dashboard-link-button",configButton:"public-dashboard-configuration-button",trashcanButton:"public-dashboard-remove-button"}},UserListPage:{tabs:{allUsers:"data-testid all-users-tab",orgUsers:"data-testid org-users-tab",publicDashboardsUsers:"data-testid public-dashboards-users-tab",users:"data-testid users-tab"},org:{url:"/org/users"},admin:{url:"/admin/users"},publicDashboards:{container:"data-testid public-dashboards-users-list"},UserListAdminPage:{container:"data-testid user-list-admin-page"},UsersListPage:{container:"data-testid users-list-page"},UsersListPublicDashboardsPage:{container:"data-testid users-list-public-dashboards-page",DashboardsListModal:{listItem:e=>`data-testid dashboards-list-item-${e}`}}}},components:en};function rn(e){return r().createElement(ar.Tooltip,{content:"Cancel query"},r().createElement(ar.Icon,{className:"spin-clockwise",name:"sync",size:"xs","aria-label":tn.components.LoadingIndicator.icon,role:"button",onMouseDown:t=>{e.onCancel(t)}}))}function nn(e){const t=(0,ar.useStyles2)(an),n=(0,ar.useTheme2)(),a="vertical"===e.layout,o=Boolean(e.isLoading)?r().createElement("div",{style:{marginLeft:n.spacing(1),marginTop:"-1px"}},r().createElement(rn,{onCancel:t=>{var r;t.preventDefault(),t.stopPropagation(),null==(r=e.onCancel)||r.call(e)}})):null;let i=null;e.error&&(i=r().createElement(ar.Tooltip,{content:e.error,placement:"bottom"},r().createElement(ar.Icon,{className:t.errorIcon,name:"exclamation-triangle"})));const s="string"==typeof e.label?tn.pages.Dashboard.SubMenu.submenuItemLabels(e.label):"";let l;return l=a?r().createElement("label",{className:t.verticalLabel,"data-testid":s,htmlFor:e.htmlFor},e.label,i,e.icon&&r().createElement(ar.Icon,{name:e.icon,className:t.normalIcon}),o,e.onRemove&&r().createElement(ar.IconButton,{variant:"secondary",size:"xs",name:"times",onClick:e.onRemove,tooltip:"Remove"})):r().createElement("label",{className:t.horizontalLabel,"data-testid":s,htmlFor:e.htmlFor},i,e.icon&&r().createElement(ar.Icon,{name:e.icon,className:t.normalIcon}),e.label,o),e.description?r().createElement(ar.Tooltip,{content:e.description,placement:a?"top":"bottom"},l):l}const an=e=>({horizontalLabel:(0,or.css)({background:e.isDark?e.colors.background.primary:e.colors.background.secondary,display:"flex",alignItems:"center",padding:e.spacing(0,1),fontWeight:e.typography.fontWeightMedium,fontSize:e.typography.bodySmall.fontSize,height:e.spacing(e.components.height.md),lineHeight:e.spacing(e.components.height.md),borderRadius:e.shape.borderRadius(1),border:`1px solid ${e.components.input.borderColor}`,position:"relative",right:-1,whiteSpace:"nowrap",gap:e.spacing(.5)}),verticalLabel:(0,or.css)({display:"flex",alignItems:"center",fontWeight:e.typography.fontWeightMedium,fontSize:e.typography.bodySmall.fontSize,lineHeight:e.typography.bodySmall.lineHeight,whiteSpace:"nowrap",marginBottom:e.spacing(.5),gap:e.spacing(1)}),errorIcon:(0,or.css)({color:e.colors.error.text}),normalIcon:(0,or.css)({color:e.colors.text.secondary})});var on=Object.defineProperty,sn=Object.defineProperties,ln=Object.getOwnPropertyDescriptors,un=Object.getOwnPropertySymbols,cn=Object.prototype.hasOwnProperty,dn=Object.prototype.propertyIsEnumerable,pn=(e,t,r)=>t in e?on(e,t,{enumerable:!0,configurable:!0,writable:!0,value:r}):e[t]=r,hn=(e,t)=>{for(var r in t||(t={}))cn.call(t,r)&&pn(e,r,t[r]);if(un)for(var r of un(t))dn.call(t,r)&&pn(e,r,t[r]);return e},fn=(e,t)=>sn(e,ln(t));function mn({layer:e,isEnabled:t,onToggleLayer:n}){var a,o;const i=`data-layer-${e.state.key}`,{data:s}=e.useState(),l=Boolean(s&&s.state===ae.Loading);return r().createElement("div",{className:gn},r().createElement(nn,{htmlFor:i,isLoading:l,onCancel:()=>{var t;return null==(t=e.cancelQuery)?void 0:t.call(e)},label:e.state.name,description:e.state.description,error:null==(o=null==(a=e.state.data)?void 0:a.errors)?void 0:o[0].message}),r().createElement(ar.InlineSwitch,{id:i,value:t,onChange:n}))}(class extends Q{constructor(){super({layersMap:{}}),this.addActivationHandler((()=>this._onActivate()))}_onActivate(){const e=mt.getDataLayers(this,!0);this.setState({layersMap:e.reduce(((e,t)=>fn(hn({},e),{[t.state.key]:t.state.isEnabled})),{})})}toggleLayer(e){this.setState({layersMap:fn(hn({},this.state.layersMap),{[e.state.key]:!e.state.isEnabled})}),e.setState({isEnabled:!e.state.isEnabled})}}).Component=function({model:e}){const{layersMap:t}=e.useState(),n=mt.getDataLayers(e,!0);return 0===n.length?null:r().createElement(r().Fragment,null,n.map((n=>{const a=`data-layer-${n.state.key}`;return n.state.isHidden?null:r().createElement(mn,{key:a,layer:n,onToggleLayer:()=>e.toggleLayer(n),isEnabled:t[n.state.key]})})))};const gn=(0,or.css)({display:"flex"});Object.defineProperty,Object.defineProperties,Object.getOwnPropertyDescriptors,Object.getOwnPropertySymbols,Object.prototype.hasOwnProperty,Object.prototype.propertyIsEnumerable;class yn extends Q{}function bn({variable:t,layout:n}){return t.useState().hide===e.VariableHide.hideVariable?null:"vertical"===n?r().createElement("div",{className:Sn},r().createElement(vn,{variable:t,layout:n}),r().createElement(t.Component,{model:t})):r().createElement("div",{className:wn},r().createElement(vn,{variable:t}),r().createElement(t.Component,{model:t}))}function vn({variable:t,layout:n}){var a,o;const{state:i}=t;if(t.state.hide===e.VariableHide.hideLabel)return null;const s=`var-${i.key}`,l=null!=(a=i.label)?a:i.name;return r().createElement(nn,{htmlFor:s,isLoading:i.loading,onCancel:()=>{var e;return null==(e=t.onCancel)?void 0:e.call(t)},label:l,error:i.error,layout:n,description:null!=(o=i.description)?o:void 0})}yn.Component=function({model:e}){const t=mt.getVariables(e).useState();return r().createElement(r().Fragment,null,t.variables.map((t=>r().createElement(bn,{key:t.state.key,variable:t,layout:e.state.layout}))))};const wn=(0,or.css)({display:"flex"}),Sn=(0,or.css)({display:"flex",flexDirection:"column"});class _n extends Q{constructor(e){super(e),this._variablesThatHaveChanged=new Set,this._variablesToUpdate=new Set,this._updating=new Map,this._variableValueRecorder=new Dt,this._variableDependency=new xn(this._handleParentVariableUpdatesCompleted.bind(this)),this._onActivate=()=>{const e=mt.getTimeRange(this);this._subs.add(this.subscribeToEvent(De,(e=>this._handleVariableValueChanged(e.payload)))),this._subs.add(e.subscribeToState((()=>{this._refreshTimeRangeBasedVariables()}))),this._subs.add(this.subscribeToState(this._onStateChanged)),this._checkForVariablesThatChangedWhileInactive();for(const e of this.state.variables)this._variableNeedsUpdate(e)&&this._variablesToUpdate.add(e);return this._updateNextBatch(),this._onDeactivate},this._onDeactivate=()=>{var e;for(const t of this._updating.values())null==(e=t.subscription)||e.unsubscribe();for(const e of this.state.variables)this._variablesToUpdate.has(e)||this._updating.has(e)||this._variableValueRecorder.recordCurrentValue(e);this._variablesToUpdate.clear(),this._updating.clear()},this._onStateChanged=(e,t)=>{const r=this._variablesToUpdate.size;for(const r of t.variables)if(!e.variables.includes(r)){const e=this._updating.get(r);(null==e?void 0:e.subscription)&&e.subscription.unsubscribe(),this._updating.delete(r),this._variablesToUpdate.delete(r)}for(const r of e.variables)t.variables.includes(r)||this._variableNeedsUpdate(r)&&this._variablesToUpdate.add(r);0===r&&this._variablesToUpdate.size>0&&this._updateNextBatch()},this.addActivationHandler(this._onActivate)}getByName(e){return this.state.variables.find((t=>t.state.name===e))}_refreshTimeRangeBasedVariables(){for(const t of this.state.variables)"refresh"in t.state&&t.state.refresh===e.VariableRefresh.onTimeRangeChanged&&this._variablesToUpdate.add(t);this._updateNextBatch()}_checkForVariablesThatChangedWhileInactive(){if(this._variableValueRecorder.hasValues())for(const e of this.state.variables)this._variableValueRecorder.hasValueChanged(e)&&(On(e,"Changed while in-active"),this._addDependentVariablesToUpdateQueue(e))}_variableNeedsUpdate(e){return!(!e.validateAndUpdate||this._variableValueRecorder.hasRecordedValue(e)&&(On(e,"Skipping updateAndValidate current value valid"),1))}_updateNextBatch(){if(0!==this._variablesToUpdate.size)for(const e of this._variablesToUpdate){if(!e.validateAndUpdate)throw new Error("Variable added to variablesToUpdate but does not have validateAndUpdate");if(this._updating.has(e))continue;if(mt.hasVariableDependencyInLoadingState(e))continue;const t={variable:e};this._updating.set(e,t),On(e,"updateAndValidate started"),t.subscription=e.validateAndUpdate().subscribe({next:()=>this._validateAndUpdateCompleted(e),error:t=>this._handleVariableError(e,t)})}else this._notifyDependentSceneObjects()}_validateAndUpdateCompleted(e){var t;const r=this._updating.get(e);null==(t=null==r?void 0:r.subscription)||t.unsubscribe(),this._updating.delete(e),this._variablesToUpdate.delete(e),On(e,"updateAndValidate completed"),this._updateNextBatch()}cancel(e){var t;const r=this._updating.get(e);null==(t=null==r?void 0:r.subscription)||t.unsubscribe(),this._updating.delete(e),this._variablesToUpdate.delete(e)}_handleVariableError(e,t){var r;const n=this._updating.get(e);null==(r=null==n?void 0:n.subscription)||r.unsubscribe(),this._updating.delete(e),this._variablesToUpdate.delete(e),e.setState({loading:!1,error:t.message}),console.error("SceneVariableSet updateAndValidate error",t),On(e,"updateAndValidate error",t)}_handleVariableValueChanged(e){this._variablesThatHaveChanged.add(e),this._addDependentVariablesToUpdateQueue(e),this._updating.has(e)||this._updateNextBatch()}_handleParentVariableUpdatesCompleted(e){for(const t of e)this._addDependentVariablesToUpdateQueue(t);this._variablesToUpdate.size>0&&0===this._updating.size&&this._updateNextBatch()}_addDependentVariablesToUpdateQueue(e){for(const t of this.state.variables)t.variableDependency&&t.variableDependency.hasDependencyOn(e.state.name)&&(On(t,"Added to update queue, dependant variable value changed"),this._variablesToUpdate.add(t))}_notifyDependentSceneObjects(){this.parent&&(this._traverseSceneAndNotify(this.parent),this._variablesThatHaveChanged.clear())}_traverseSceneAndNotify(e){this!==e&&e.isActive&&(e.variableDependency&&e.variableDependency.variableUpdatesCompleted(this._variablesThatHaveChanged),e.forEachChild((e=>this._traverseSceneAndNotify(e))))}isVariableLoadingOrWaitingToUpdate(e){return!(!e.isAncestorLoading||!e.isAncestorLoading())||!(!this._variablesToUpdate.has(e)&&!this._updating.has(e))||mt.hasVariableDependencyInLoadingState(e)}}function On(e,t,r){nr("SceneVariableSet",`Variable[${e.state.name}]: ${t}`,r)}class xn{constructor(e){this._variableUpdatesCompleted=e,this._emptySet=new Set}getNames(){return this._emptySet}hasDependencyOn(e){return!1}variableUpdatesCompleted(e){this._variableUpdatesCompleted(e)}}function Cn({model:e}){const{value:t,key:n}=e.useState(),a=e.onSearchChange?(t,r)=>{"input-change"===r.action&&e.onSearchChange(t)}:void 0;return r().createElement(ar.Select,{id:n,placeholder:"Select value",width:"auto",value:t,allowCustomValue:!0,tabSelectsValue:!1,onInputChange:a,options:e.getOptionsForSelect(),onChange:t=>{e.changeValueTo(t.value,t.label)}})}function Pn({model:e}){const{value:n,key:a,maxVisibleValues:o}=e.useState(),i=(0,t.useMemo)((()=>(0,Re.isArray)(n)?n:[n]),[n]),[s,l]=(0,t.useState)(i);(0,t.useEffect)((()=>{l(i)}),[i]);const u=e.onSearchChange?(t,r)=>{"input-change"===r.action&&e.onSearchChange(t)}:void 0;return r().createElement(ar.MultiSelect,{id:a,placeholder:"Select value",width:"auto",value:s,noMultiValueWrap:!0,maxVisibleValues:null!=o?o:5,tabSelectsValue:!1,allowCustomValue:!0,options:e.getOptionsForSelect(),closeMenuOnSelect:!1,isClearable:!0,onInputChange:u,onBlur:()=>{e.changeValueTo(s)},onChange:e=>{l(e.map((e=>e.value)))}})}function Dn(e){return e.state.isMulti?r().createElement(Pn,{model:e}):r().createElement(Cn,{model:e})}Object.defineProperty,Object.defineProperties,Object.getOwnPropertyDescriptors,Object.getOwnPropertySymbols,Object.prototype.hasOwnProperty,Object.prototype.propertyIsEnumerable;class En extends Q{constructor(){super(...arguments),this._urlSync=new Rn(this)}validateAndUpdate(){return this.getValueOptions({}).pipe((0,S.map)((e=>(this.updateValueGivenNewOptions(e),{}))))}onCancel(){this.setStateHelper({loading:!1});const e=this.parent;null==e||e.cancel(this)}updateValueGivenNewOptions(e){const{value:t,text:r}=this.state,n={options:e,loading:!1,value:t,text:r};if(0===e.length)(this.state.defaultToAll||this.state.includeAll)&&(n.value=Ue,n.text=Be);else if(this.hasAllValue());else if(this.state.isMulti){const a=(Array.isArray(t)?t:[t]).filter((t=>e.find((e=>e.value===t)))),o=a.map((t=>e.find((e=>e.value===t)).label));if(0===a.length){const t=this.getDefaultMultiState(e);n.value=t.value,n.text=t.text}else(0,Re.isEqual)(a,t)&&(0,Re.isEqual)(o,r)||(n.value=a,n.text=o)}else{let a=function(e,t,r){let n;for(const a of r){if(a.value===e)return a;a.label===t&&(n=a)}return n}(t,r,e);a?(n.text=a.label,n.value=a.value):this.state.defaultToAll?(n.value=Ue,n.text=Be):(n.value=e[0].value,n.text=e[0].label)}this.setStateHelper(n),(n.value!==t||n.text!==r||this.hasAllValue())&&this.publishEvent(new De(this),!0)}getValue(){return this.hasAllValue()?this.state.allValue?new jn(this.state.allValue,this):this.state.options.map((e=>e.value)):this.state.value}getValueText(){return this.hasAllValue()?Be:Array.isArray(this.state.text)?this.state.text.join(" + "):String(this.state.text)}hasAllValue(){const e=this.state.value;return e===Ue||Array.isArray(e)&&e[0]===Ue}getDefaultMultiState(e){return this.state.defaultToAll?{value:[Ue],text:[Be]}:{value:[e[0].value],text:[e[0].label]}}changeValueTo(e,t){if(e!==this.state.value||t!==this.state.text){if(t||(t=Array.isArray(e)?e.map((e=>this.findLabelTextForValue(e))):this.findLabelTextForValue(e)),Array.isArray(e)){if(0===e.length){const r=this.getDefaultMultiState(this.state.options);e=r.value,t=r.text}e[e.length-1]===Ue?(e=[Ue],t=[Be]):e[0]===Ue&&e.length>1&&(e.shift(),Array.isArray(t)&&t.shift())}this.setStateHelper({value:e,text:t,loading:!1}),this.publishEvent(new De(this),!0)}}findLabelTextForValue(e){const t=this.state.options.find((t=>t.value===e));if(t)return t.label;const r=this.state.options.find((t=>t.label===e));return r?r.label:e}setStateHelper(e){var t;t=e,this.setState(t)}getOptionsForSelect(){let e=this.state.options;return this.state.includeAll&&(e=[{value:Ue,label:Be},...e]),Array.isArray(this.state.value)||e.find((e=>e.value===this.state.value))||(e=[{value:this.state.value,label:String(this.state.text)},...e]),e}}class Rn{constructor(e){this._sceneObject=e}getKey(){return`var-${this._sceneObject.state.name}`}getKeys(){return this._sceneObject.state.skipUrlSync?[]:[this.getKey()]}getUrlState(){if(this._sceneObject.state.skipUrlSync)return{};let e=null,t=this._sceneObject.state.value;return e=Array.isArray(t)?t.map(String):this._sceneObject.state.isMulti?[String(t)]:String(t),{[this.getKey()]:e}}updateFromUrl(e){const t=e[this.getKey()];null!=t&&this._sceneObject.changeValueTo(t)}}class jn{constructor(e,t){this._value=e,this._variable=t}formatter(e){return e===Pe.Text?Be:e===Pe.PercentEncode?Ie.get(Pe.PercentEncode).formatter(this._value,[],this._variable):e===Pe.QueryParam?Ie.get(Pe.QueryParam).formatter(Be,[],this._variable):this._value}}var Tn=Object.defineProperty,kn=Object.getOwnPropertySymbols,An=Object.prototype.hasOwnProperty,In=Object.prototype.propertyIsEnumerable,Fn=(e,t,r)=>t in e?Tn(e,t,{enumerable:!0,configurable:!0,writable:!0,value:r}):e[t]=r;(class extends En{constructor(e){super(((e,t)=>{for(var r in t||(t={}))An.call(t,r)&&Fn(e,r,t[r]);if(kn)for(var r of kn(t))In.call(t,r)&&Fn(e,r,t[r]);return e})({type:"custom",query:"",value:"",text:"",options:[],name:""},e)),this._variableDependency=new gt(this,{statePaths:["query"]})}getValueOptions(e){var t;const r=(null!=(t=mt.interpolate(this,this.state.query).match(/(?:\\,|[^,])+/g))?t:[]).map((e=>{var t;e=e.replace(/\\,/g,",");const r=null!=(t=/^(.+)\s:\s(.+)$/g.exec(e))?t:[];if(3===r.length){const[,e,t]=r;return{label:e.trim(),value:t.trim()}}return{label:e.trim(),value:e.trim()}}));return(0,S.of)(r)}}).Component=({model:e})=>Dn(e);var Vn=Object.defineProperty,Ln=Object.getOwnPropertySymbols,Mn=Object.prototype.hasOwnProperty,zn=Object.prototype.propertyIsEnumerable,Nn=(e,t,r)=>t in e?Vn(e,t,{enumerable:!0,configurable:!0,writable:!0,value:r}):e[t]=r;function Hn(e,t){return!t||t.exec(e.name)}function Bn(e,t){return!!e.isDefault&&(!t||t.exec("default"))}(class extends En{constructor(e){super(((e,t)=>{for(var r in t||(t={}))Mn.call(t,r)&&Nn(e,r,t[r]);if(Ln)for(var r of Ln(t))zn.call(t,r)&&Nn(e,r,t[r]);return e})({type:"datasource",value:"",text:"",options:[],name:"",regex:"",pluginId:""},e)),this._variableDependency=new gt(this,{statePaths:["regex"]})}getValueOptions(t){if(!this.state.pluginId)return(0,S.of)([]);const r=(0,u.getDataSourceSrv)().getList({metrics:!0,variables:!1,pluginId:this.state.pluginId});let n;if(this.state.regex){const t=mt.interpolate(this,this.state.regex,void 0,"regex");n=(0,e.stringToJsRegex)(t)}const a=[];for(let e=0;eDn(e);const Un=e=>Boolean(e.metricFindQuery)&&!Boolean(e.variables),$n=t=>{if(!t.variables)return!1;if(t.variables.getType()!==e.VariableSupportType.Standard)return!1;const r=t.variables;return"toDataQuery"in r&&Boolean(r.toDataQuery)},Wn=t=>{if(!t.variables)return!1;if(t.variables.getType()!==e.VariableSupportType.Custom)return!1;const r=t.variables;return"query"in r&&"editor"in r&&Boolean(r.query)&&Boolean(r.editor)};var qn=Object.defineProperty,Gn=Object.defineProperties,Qn=Object.getOwnPropertyDescriptors,Yn=Object.getOwnPropertySymbols,Kn=Object.prototype.hasOwnProperty,Xn=Object.prototype.propertyIsEnumerable,Zn=(e,t,r)=>t in e?qn(e,t,{enumerable:!0,configurable:!0,writable:!0,value:r}):e[t]=r,Jn=(e,t)=>{for(var r in t||(t={}))Kn.call(t,r)&&Zn(e,r,t[r]);if(Yn)for(var r of Yn(t))Xn.call(t,r)&&Zn(e,r,t[r]);return e},ea=(e,t)=>Gn(e,Qn(t));class ta{constructor(e,t=(0,u.getRunRequest)()){this.datasource=e,this._runRequest=t}getTarget(e){if($n(this.datasource))return this.datasource.variables.toDataQuery(function(e){const t=e.state.query;return t&&"object"==typeof t?null==t.refId?ea(Jn({},t),{refId:`variable-${e.state.name}`}):e.state.query:{query:t,refId:`variable-${e.state.name}`}}(e));throw new Error("Couldn't create a target with supplied arguments.")}runRequest(e,t){return $n(this.datasource)?this.datasource.variables.query?this._runRequest(this.datasource,t,this.datasource.variables.query.bind(this.datasource.variables)):this._runRequest(this.datasource,t):aa()}}class ra{constructor(e){this.datasource=e}getTarget(e){if(Un(this.datasource))return e.state.query;throw new Error("Couldn't create a target with supplied arguments.")}runRequest({variable:t,searchFilter:r},n){return Un(this.datasource)?(0,S.from)(this.datasource.metricFindQuery(t.state.query,ea(Jn({},n),{variable:{name:t.state.name,type:t.state.type},searchFilter:r}))).pipe((0,S.mergeMap)((t=>{if(!t||!t.length)return aa();const r=t;return(0,S.of)({series:r,state:e.LoadingState.Done,timeRange:n.range})}))):aa()}}class na{constructor(e,t=(0,u.getRunRequest)()){this.datasource=e,this._runRequest=t}getTarget(e){if(Wn(this.datasource))return e.state.query;throw new Error("Couldn't create a target with supplied arguments.")}runRequest(e,t){return Wn(this.datasource)?this.datasource.variables.query?this._runRequest(this.datasource,t,this.datasource.variables.query.bind(this.datasource.variables)):this._runRequest(this.datasource,t):aa()}}function aa(){return(0,S.of)({state:e.LoadingState.Done,series:[],timeRange:(0,e.getDefaultTimeRange)()})}const oa=(e,t)=>{const r=[];let n=null;t.lastIndex=0;do{n=t.exec(e),n&&r.push(n)}while(t.global&&n&&""!==n[0]&&void 0!==n[0]);return r};var ia=Object.defineProperty,sa=Object.getOwnPropertySymbols,la=Object.prototype.hasOwnProperty,ua=Object.prototype.propertyIsEnumerable,ca=(e,t,r)=>t in e?ia(e,t,{enumerable:!0,configurable:!0,writable:!0,value:r}):e[t]=r;class da extends En{constructor(t){super(((e,t)=>{for(var r in t||(t={}))la.call(t,r)&&ca(e,r,t[r]);if(sa)for(var r of sa(t))ua.call(t,r)&&ca(e,r,t[r]);return e})({type:"query",name:"",value:"",text:"",options:[],datasource:null,regex:"",query:{refId:"A"},refresh:e.VariableRefresh.onDashboardLoad,sort:e.VariableSort.disabled},t)),this._variableDependency=new gt(this,{statePaths:["regex","query","datasource"]}),this.onSearchChange=e=>{dt(this.state.query).indexOf("__searchFilter")&&this._updateOptionsBasedOnSearchFilter(e)},this._updateOptionsBasedOnSearchFilter=(0,Re.debounce)((async e=>{const t=await(0,S.lastValueFrom)(this.getValueOptions({searchFilter:e}));this.setState({options:t,loading:!1})}),400)}getValueOptions(t){return this.state.query?(this.setState({loading:!0,error:null}),(0,S.from)(Pt(this.state.datasource,{__sceneObject:{text:"__sceneObject",value:this}})).pipe((0,S.mergeMap)((r=>{const n=function(e){if($n(e))return new ta(e,(0,u.getRunRequest)());if(Un(e))return new ra(e);if(Wn(e))return new na(e);throw new Error(`Couldn't create a query runner for datasource ${e.type}`)}(r),a=n.getTarget(this),o=this.getRequest(a,t.searchFilter);return n.runRequest({variable:this,searchFilter:t.searchFilter},o).pipe((0,S.filter)((t=>t.state===e.LoadingState.Done||t.state===e.LoadingState.Error)),(0,S.take)(1),(0,S.mergeMap)((t=>t.state===e.LoadingState.Error?(0,S.throwError)((()=>t.error)):(0,S.of)(t))),(t=>t.pipe((0,S.map)((t=>{const r=t.series;if(!r||!r.length)return[];if(function(t){if(!t)return!1;if(!t.length)return!0;const r=t[0];if((0,e.isDataFrame)(r))return!1;for(const e in r){if(!r.hasOwnProperty(e))continue;if(null!==r[e]&&"string"!=typeof r[e]&&"number"!=typeof r[e])continue;const t=e.toLowerCase();if("text"===t||"value"===t)return!0}return!1}(r))return r;if(0===r[0].fields.length)return[];const n=(0,e.getProcessedDataFrames)(r),a=[];let o=-1,i=-1,s=-1,l=-1;for(const t of n)for(let n=0;n{let r="";return this.state.regex&&(r=mt.interpolate(this,this.state.regex,void 0,"regex")),(0,S.of)(((t,r,n)=>{var a,o,i,s,l,u;let c,d=[];t&&(c=(0,e.stringToJsRegex)(t));for(let e=0;ee.groups&&e.groups.value)),n=e.find((e=>e.groups&&e.groups.text)),h=e.find((e=>e.length>1)),f=e.length>1&&h;if(t||n)p=null!=(i=null==(a=null==t?void 0:t.groups)?void 0:a.value)?i:null==(o=null==n?void 0:n.groups)?void 0:o.text,r=null!=(u=null==(s=null==n?void 0:n.groups)?void 0:s.text)?u:null==(l=null==t?void 0:t.groups)?void 0:l.value;else{if(f){for(let t=0;t{if(r===e.VariableSort.disabled)return t;const n=e=>{if(!e.text)return-1;const t=e.text.match(/.*?(\d+).*/);return!t||t.length<2?-1:parseInt(t[1],10)},a=e=>e.sort(((e,t)=>e.text?t.text?e.text.localeCompare(t.text,void 0,{numeric:!0}):1:-1));switch(r){case e.VariableSort.alphabeticalAsc:t=(0,Re.sortBy)(t,"text");break;case e.VariableSort.alphabeticalDesc:t=(0,Re.sortBy)(t,"text").reverse();break;case e.VariableSort.numericalAsc:t=(0,Re.sortBy)(t,n);break;case e.VariableSort.numericalDesc:t=(t=(0,Re.sortBy)(t,n)).reverse();break;case e.VariableSort.alphabeticalCaseInsensitiveAsc:t=(0,Re.sortBy)(t,(e=>(0,Re.toLower)(e.text)));break;case e.VariableSort.alphabeticalCaseInsensitiveDesc:t=(t=(0,Re.sortBy)(t,(e=>(0,Re.toLower)(e.text)))).reverse();break;case e.VariableSort.naturalAsc||7:t=a(t);break;case e.VariableSort.naturalDesc||8:t=(t=a(t)).reverse()}return t})(d,r)})(r,this.state.sort,t))})),(0,S.catchError)((e=>e.cancelled?(0,S.of)([]):(0,S.throwError)((()=>e)))))})))):(0,S.of)([])}getRequest(t,r){const n={__sceneObject:{text:"__sceneObject",value:this}};r&&(n.__searchFilter={value:r,text:r});const a=mt.getTimeRange(this).state.value;return{app:e.CoreApp.Dashboard,requestId:D(),timezone:"",range:a,interval:"",intervalMs:0,targets:[t],scopedVars:n,startTime:Date.now()}}}function pa(e,t){const r=["A","B","C","D","E","F","G","H"],n=[];if(t>5)return[];for(const a of r){const r=`${e}${a}`;n.push({name:r,children:pa(r,t+1)})}return n}function ha(e,t,r){if(r>=t.length)return e;if("*"===t[r])return e;const n=t[r];let a=[],o=[n];n.startsWith("{")&&(o=n.replace(/\{|\}/g,"").split(","));for(const n of e)for(const e of o)if(-1!==e.indexOf("*")){const o=e.replace("*","");new RegExp(`^${o}.*`,"gi").test(n.name)&&(a=a.concat(ha([n],t,r+1)))}else n.name===e&&(a=a.concat(ha(n.children,t,r+1)));return a}function fa(e){return 0===e.indexOf("value")?[{name:e,children:[]}]:ha(pa("",0),e.split("."),0)}da.Component=({model:e})=>Dn(e);var ma=Object.defineProperty,ga=Object.getOwnPropertySymbols,ya=Object.prototype.hasOwnProperty,ba=Object.prototype.propertyIsEnumerable,va=(e,t,r)=>t in e?ma(e,t,{enumerable:!0,configurable:!0,writable:!0,value:r}):e[t]=r;function wa({model:e}){const{value:n,key:a,loading:o}=e.useState(),i=(0,t.useCallback)((t=>{e.setValue(t.currentTarget.value)}),[e]),s=(0,t.useCallback)((t=>{"Enter"===t.key&&e.setValue(t.currentTarget.value)}),[e]);return r().createElement(ar.AutoSizeInput,{id:a,placeholder:"Enter value",minWidth:15,defaultValue:n,loading:o,onBlur:i,onKeyDown:s})}(class extends En{constructor(t){super(((e,t)=>{for(var r in t||(t={}))ya.call(t,r)&&va(e,r,t[r]);if(ga)for(var r of ga(t))ba.call(t,r)&&va(e,r,t[r]);return e})({type:"custom",name:"Test",value:"Value",text:"Text",query:"Query",options:[],refresh:e.VariableRefresh.onDashboardLoad},t)),this.completeUpdate=new S.Subject,this.isGettingValues=!0,this.getValueOptionsCount=0,this._variableDependency=new gt(this,{statePaths:["query"]})}getValueOptions(e){const{delayMs:t}=this.state;return this.getValueOptionsCount+=1,new S.Observable((e=>{if(this.setState({loading:!0}),this.state.throwError)throw new Error(this.state.throwError);const r=this.completeUpdate.subscribe({next:()=>{e.next(this.issueQuery()),e.complete()}});let n;return t?n=window.setTimeout((()=>this.signalUpdateCompleted()),t):0===t&&this.signalUpdateCompleted(),this.isGettingValues=!0,()=>{r.unsubscribe(),window.clearTimeout(n),this.setState({loading:!1}),this.isGettingValues=!1}}))}cancel(){const e=te(this,(e=>e instanceof _n?e:void 0));null==e||e.cancel(this)}issueQuery(){const e=mt.interpolate(this,this.state.query),t=this.getOptions(e);return this.setState({issuedQuery:e,options:t}),t}getOptions(e){return this.state.optionsToReturn?this.state.optionsToReturn:fa(e).map((e=>({label:e.name,value:e.name})))}signalUpdateCompleted(){this.completeUpdate.next(1)}}).Component=({model:e})=>Dn(e);var Sa=Object.defineProperty,_a=Object.getOwnPropertySymbols,Oa=Object.prototype.hasOwnProperty,xa=Object.prototype.propertyIsEnumerable,Ca=(e,t,r)=>t in e?Sa(e,t,{enumerable:!0,configurable:!0,writable:!0,value:r}):e[t]=r;(class extends Q{constructor(e){super(((e,t)=>{for(var r in t||(t={}))Oa.call(t,r)&&Ca(e,r,t[r]);if(_a)for(var r of _a(t))xa.call(t,r)&&Ca(e,r,t[r]);return e})({type:"textbox",value:"",name:""},e)),this._urlSync=new pe(this,{keys:[this.getKey()]})}getValue(){return this.state.value}setValue(e){e!==this.state.value&&(this.setState({value:e}),this.publishEvent(new De(this),!0))}getKey(){return`var-${this.state.name}`}getUrlState(){return{[this.getKey()]:this.state.value}}updateFromUrl(e){const t={},r=e[this.getKey()];"string"==typeof r&&(t.value=r),this.setState(t)}}).Component=({model:e})=>r().createElement(wa,{model:e}),Object.defineProperty,Object.defineProperties,Object.getOwnPropertyDescriptors,Object.getOwnPropertySymbols,Object.prototype.hasOwnProperty,Object.prototype.propertyIsEnumerable;var Pa=Object.defineProperty,Da=Object.getOwnPropertySymbols,Ea=Object.prototype.hasOwnProperty,Ra=Object.prototype.propertyIsEnumerable,ja=(e,t,r)=>t in e?Pa(e,t,{enumerable:!0,configurable:!0,writable:!0,value:r}):e[t]=r;(class extends Q{constructor(e){super(((e,t)=>{for(var r in t||(t={}))Ea.call(t,r)&&ja(e,r,t[r]);if(Da)for(var r of Da(t))Ra.call(t,r)&&ja(e,r,t[r]);return e})({type:"interval",value:"",intervals:["1m","10m","30m","1h","6h","12h","1d","7d","14d","30d"],name:"",autoStepCount:30,autoMinInterval:"10s",autoEnabled:!1,refresh:ne.onTimeRangeChanged},e)),this._onChange=e=>{this.setState({value:e.value}),this.publishEvent(new De(this),!0)},this._urlSync=new pe(this,{keys:[this.getKey()]})}getKey(){return`var-${this.state.name}`}getUrlState(){return{[this.getKey()]:this.state.value}}updateFromUrl(e){const t={},r=e[this.getKey()];"string"==typeof r&&(r.startsWith("$__auto_interval_")?t.value=$e:t.value=r),this.setState(t)}getOptionsForSelect(){const{value:e,intervals:t,autoEnabled:r}=this.state;let n=t.map((e=>({value:e,label:e})));return r&&(n=[{value:$e,label:"Auto"},...n]),e&&!n.some((t=>t.value===e))&&n.push({value:e,label:e}),n}getValue(){const{value:e,autoStepCount:t,autoMinInterval:r}=this.state;return e===$e?this.getAutoRefreshInteval(t,r):e}getAutoRefreshInteval(t,r){const n=mt.getTimeRange(this).state.value;return e.rangeUtil.calculateInterval(n,t,r).interval}validateAndUpdate(){const{value:e,intervals:t}=this.state;let r=!1;if(e===$e)r=!0;else if(!e&&t.length>0){const e=t[0];this.setState({value:e}),r=!0}return r&&this.publishEvent(new De(this),!0),(0,S.of)({})}}).Component=({model:e})=>{const{key:t,value:n}=e.useState();return r().createElement(ar.Select,{id:t,placeholder:"Select value",width:"auto",value:n,tabSelectsValue:!1,options:e.getOptionsForSelect(),onChange:e._onChange})};class Ta{constructor(e){this._variable=e}getKey(){return`var-${this._variable.state.name}`}getKeys(){return[this.getKey()]}getUrlState(){const e=this._variable.state.filters.map((e=>function(e){return[e.key,e.operator,e.value]}(e).map(ka).join("|")));return{[this.getKey()]:e}}updateFromUrl(e){const t=e[this.getKey()];if(null==t)return;const r=function(e){if(Array.isArray(e))return e.map(Ia).filter(Fa);const t=Ia(e);return null===t?[]:[t]}(t);this._variable.setState({filters:r})}}function ka(e){return null==e?"":/\|/g[Symbol.replace](e,"__gfp__")}function Aa(e){return null==e?"":/__gfp__/g[Symbol.replace](e,"|")}function Ia(e){if("string"!=typeof e||0===e.length)return null;const t=e.split("|").map(Aa);return{key:t[0],operator:t[1],value:t[2],condition:""}}function Fa(e){return null!==e&&"string"==typeof e.key&&"string"==typeof e.value}var Va=Object.defineProperty,La=Object.defineProperties,Ma=Object.getOwnPropertyDescriptors,za=Object.getOwnPropertySymbols,Na=Object.prototype.hasOwnProperty,Ha=Object.prototype.propertyIsEnumerable,Ba=(e,t,r)=>t in e?Va(e,t,{enumerable:!0,configurable:!0,writable:!0,value:r}):e[t]=r,Ua=(e,t)=>{for(var r in t||(t={}))Na.call(t,r)&&Ba(e,r,t[r]);if(za)for(var r of za(t))Ha.call(t,r)&&Ba(e,r,t[r]);return e},$a=(e,t)=>La(e,Ma(t));function Wa({filter:n,model:a}){var o,i;const s=(0,ar.useStyles2)(qa),[l,u]=(0,t.useState)({}),c=""!==n.key?(0,e.toOption)(n.key):null,d=""!==n.value?(0,e.toOption)(n.value):null,p=r().createElement(ar.Select,{disabled:a.state.readOnly,className:l.isKeysOpen?s.widthWhenOpen:void 0,width:"auto",value:d,placeholder:"value",options:l.values,onChange:e=>a._updateFilter(n,"value",e.value),isOpen:l.isValuesOpen,isLoading:l.isValuesLoading,onOpenMenu:async()=>{u($a(Ua({},l),{isValuesLoading:!0}));const e=await a._getValuesFor(n);u($a(Ua({},l),{isValuesLoading:!1,isValuesOpen:!0,values:e}))},onCloseMenu:()=>{u($a(Ua({},l),{isValuesOpen:!1}))}}),h=r().createElement(ar.Select,{disabled:a.state.readOnly,className:l.isKeysOpen?s.widthWhenOpen:void 0,width:"auto",value:c,placeholder:"Select label",options:l.keys,onChange:e=>a._updateFilter(n,"key",e.value),autoFocus:""===n.key,isOpen:l.isKeysOpen,isLoading:l.isKeysLoading,onOpenMenu:async()=>{u($a(Ua({},l),{isKeysLoading:!0}));const e=await a._getKeys(n.key);u($a(Ua({},l),{isKeysLoading:!1,isKeysOpen:!0,keys:e}))},onCloseMenu:()=>{u($a(Ua({},l),{isKeysOpen:!1}))},openMenuOnFocus:!0});if("vertical"===a.state.layout){if(n.key){const e=r().createElement(nn,{layout:"vertical",label:null!=(o=n.key)?o:"",onRemove:()=>a._removeFilter(n)});return r().createElement(ar.Field,{label:e,"data-testid":`AdHocFilter-${n.key}`,className:s.field},p)}return r().createElement(ar.Field,{label:"Select label","data-testid":`AdHocFilter-${n.key}`,className:s.field},h)}return r().createElement("div",{className:s.wrapper,"data-testid":`AdHocFilter-${n.key}`},h,r().createElement(ar.Select,{value:n.operator,disabled:a.state.readOnly,options:a._getOperators(),width:"auto",onChange:e=>a._updateFilter(n,"operator",e.value)}),p,r().createElement(ar.Button,{variant:"secondary","aria-label":"Remove filter",title:"Remove filter",className:s.removeButton,icon:"times","data-testid":`AdHocFilter-remove-${null!=(i=n.key)?i:""}`,onClick:()=>a._removeFilter(n)}))}const qa=e=>({field:(0,or.css)({marginBottom:0}),wrapper:(0,or.css)({display:"flex","> *":{"&:not(:first-child)":{marginLeft:-1},"&:first-child":{borderTopRightRadius:0,borderBottomRightRadius:0},"&:last-child":{borderTopLeftRadius:0,borderBottomLeftRadius:0},"&:not(:first-child):not(:last-child)":{borderRadius:0},position:"relative",zIndex:0,"&:hover":{zIndex:1},"&:focus-within":{zIndex:2}}}),widthWhenOpen:(0,or.css)({minWidth:e.spacing(16)}),removeButton:(0,or.css)({paddingLeft:e.spacing(1.5),paddingRight:e.spacing(1.5),borderLeft:"none",position:"relative",left:"1px"})});function Ga({model:e}){const{_wip:t}=e.useState();return t?r().createElement(Wa,{filter:t,model:e}):r().createElement(ar.Button,{variant:"secondary",icon:"plus",title:"Add filter","aria-label":"Add filter","data-testid":"AdHocFilter-add",onClick:()=>e._addWip()})}var Qa=Object.defineProperty,Ya=Object.defineProperties,Ka=Object.getOwnPropertyDescriptors,Xa=Object.getOwnPropertySymbols,Za=Object.prototype.hasOwnProperty,Ja=Object.prototype.propertyIsEnumerable,eo=(e,t,r)=>t in e?Qa(e,t,{enumerable:!0,configurable:!0,writable:!0,value:r}):e[t]=r,to=(e,t)=>{for(var r in t||(t={}))Za.call(t,r)&&eo(e,r,t[r]);if(Xa)for(var r of Xa(t))Ja.call(t,r)&&eo(e,r,t[r]);return e},ro=(e,t)=>Ya(e,Ka(t));class no extends Q{constructor(e){super(to({name:"Filters",filters:[],baseFilters:[],datasource:null,applyMode:"same-datasource",layout:"horizontal"},e)),this._urlSync=new Ta(this),this._scopedVars={__sceneObject:{value:this}},this._dataSourceSrv=(0,u.getDataSourceSrv)(),"same-datasource"===this.state.applyMode&&function(e){if(e.addActivationHandler((()=>(Hr.add(e),()=>Hr.delete(e)))),Nr)return;const t=(0,u.getTemplateSrv)();(null==t?void 0:t.getAdhocFilters)?(Nr=t.getAdhocFilters,t.getAdhocFilters=function(e){var r;if(0===Hr.size)return Nr.call(t);const n=(0,u.getDataSourceSrv)().getInstanceSettings(e);if(!n)return[];for(const e of Hr.values())if((null==(r=e.state.datasource)?void 0:r.uid)===n.uid)return e.state.filters;return[]}.bind(t)):console.log("Failed to patch getAdhocFilters")}(this)}_updateFilter(e,t,r){if(null==r)return;const{filters:n,_wip:a}=this.state;if(e===a)return void("value"===t?this.setState({filters:[...n,ro(to({},a),{[t]:r})],_wip:void 0}):this.setState({_wip:ro(to({},e),{[t]:r})}));const o=this.state.filters.map((n=>n===e?ro(to({},n),{[t]:r}):n));this.setState({filters:o})}_removeFilter(e){e!==this.state._wip?this.setState({filters:this.state.filters.filter((t=>t!==e))}):this.setState({_wip:void 0})}async _getKeys(e){var t,r;const n=await(null==(r=(t=this.state).getTagKeysProvider)?void 0:r.call(t,this,e));if(n&&n.replace)return n.values.map(oo);const a=await this._dataSourceSrv.get(this.state.datasource,this._scopedVars);if(!a||!a.getTagKeys)return[];const o=this.state.filters.filter((t=>t.key!==e)).concat(this.state.baseFilters);let i=await a.getTagKeys({filters:o});n&&(i=i.concat(n.values));const s=this.state.tagKeyRegexFilter;return s&&(i=i.filter((e=>e.text.match(s)))),i.map(oo)}async _getValuesFor(e){var t,r;const n=await(null==(r=(t=this.state).getTagValuesProvider)?void 0:r.call(t,this,e));if(n&&n.replace)return n.values.map(oo);const a=await this._dataSourceSrv.get(this.state.datasource,this._scopedVars);if(!a||!a.getTagValues)return[];const o=this.state.filters.filter((t=>t.key!==e.key)).concat(this.state.baseFilters),i=mt.getTimeRange(this).state.value;let s=await a.getTagValues({key:e.key,filters:o,timeRange:i});return n&&(s=s.concat(n.values)),s.map(oo)}_addWip(){this.setState({_wip:{key:"",value:"",operator:"=",condition:""}})}_getOperators(){return["=","!=","<",">","=~","!~"].map((e=>({label:e,value:e})))}}no.Component=function({model:e}){const{filters:t,readOnly:n,layout:a,name:o}=e.useState(),i=(0,ar.useStyles2)(ao);return r().createElement("div",{className:i.wrapper},"vertical"!==a&&r().createElement(nn,{label:null!=o?o:"Filters",icon:"filter"}),t.map(((t,n)=>r().createElement(r().Fragment,{key:n},r().createElement(Wa,{filter:t,model:e})))),!n&&r().createElement(Ga,{model:e,key:"'builder"}))};const ao=e=>({wrapper:(0,or.css)({display:"flex",gap:e.spacing(2),alignItems:"flex-end"}),filterIcon:(0,or.css)({color:e.colors.text.secondary,paddingRight:e.spacing(.5)})});function oo({text:e,value:t}){return{label:e,value:String(null!=t?t:e)}}var io=Object.defineProperty,so=Object.defineProperties,lo=Object.getOwnPropertyDescriptors,uo=Object.getOwnPropertySymbols,co=Object.prototype.hasOwnProperty,po=Object.prototype.propertyIsEnumerable,ho=(e,t,r)=>t in e?io(e,t,{enumerable:!0,configurable:!0,writable:!0,value:r}):e[t]=r,fo=(e=>(e[e.dontHide=0]="dontHide",e[e.hideLabel=1]="hideLabel",e[e.hideVariable=2]="hideVariable",e))(fo||{});so(((e,t)=>{for(var r in t||(t={}))co.call(t,r)&&ho(e,r,t[r]);if(uo)for(var r of uo(t))po.call(t,r)&&ho(e,r,t[r]);return e})({},{id:"00000000-0000-0000-0000-000000000000",multi:!1,options:[],skipUrlSync:!1}),lo({description:null,hide:0,datasource:null}));var mo=Object.defineProperty,go=Object.defineProperties,yo=Object.getOwnPropertyDescriptors,bo=Object.getOwnPropertySymbols,vo=Object.prototype.hasOwnProperty,wo=Object.prototype.propertyIsEnumerable,So=(e,t,r)=>t in e?mo(e,t,{enumerable:!0,configurable:!0,writable:!0,value:r}):e[t]=r,_o=(e,t)=>{for(var r in t||(t={}))vo.call(t,r)&&So(e,r,t[r]);if(bo)for(var r of bo(t))wo.call(t,r)&&So(e,r,t[r]);return e},Oo=(e,t)=>go(e,yo(t));const xo=class extends Q{static create(e){var t;return new xo({type:"adhoc",hide:fo.hideLabel,name:null!=(t=e.name)?t:"Filters",set:new no(Oo(_o({},e),{applyMode:"manual"}))})}constructor(e){var t;super(Oo(_o({},e),{filterExpression:null!=(t=e.filterExpression)?t:pt(e.set.state.filters)})),this.addActivationHandler((()=>{this._subs.add(this.state.set.subscribeToState(((e,t)=>{e.filters!==t.filters&&this._updateFilterExpression(e.filters,!0)}))),this._updateFilterExpression(this.state.set.state.filters,!1)}))}getValue(){return this.state.filterExpression}_updateFilterExpression(e,t){let r=pt(e);r!==this.state.filterExpression&&(this.setState({filterExpression:r}),t&&this.publishEvent(new De(this),!0))}};let Co;xo.Component=({model:e})=>r().createElement(no.Component,{model:e.state.set});class Po{constructor(){this.urlKeyMapper=new Do,this._stateSub=null,this._locationSub=null,this._onLocationUpdate=e=>{if(this._lastPath!==e.pathname)return;const t=new URLSearchParams(e.search);this.urlKeyMapper.rebuildIndex(this._sceneRoot),this._syncSceneStateFromUrl(this._sceneRoot,t),this._lastPath=e.pathname},this._onStateChanged=({payload:e})=>{const t=e.changedObject;if(t.urlSync){const e=t.urlSync.getUrlState(),r=u.locationService.getSearch(),n={};this.urlKeyMapper.rebuildIndex(this._sceneRoot);for(const[a,o]of Object.entries(e)){const e=this.urlKeyMapper.getUniqueKey(a,t);Eo(r.getAll(e),o)||(n[e]=o)}Object.keys(n).length>0&&u.locationService.partial(n,!0)}}}initSync(e){this._locationSub||(nr("UrlSyncManager","New location listen"),this._locationSub=u.locationService.getHistory().listen(this._onLocationUpdate)),this._stateSub&&(nr("UrlSyncManager","Unregister previous scene state subscription",this._sceneRoot.state.key),this._stateSub.unsubscribe()),this._sceneRoot=e,this._lastPath=u.locationService.getLocation().pathname,this._stateSub=e.subscribeToEvent(L,this._onStateChanged),this.syncFrom(this._sceneRoot)}cleanUp(e){this._sceneRoot===e&&(nr("UrlSyncManager","Clean up"),this._locationSub&&(this._locationSub(),nr("UrlSyncManager","Unregister history listen"),this._locationSub=null),this._stateSub&&(this._stateSub.unsubscribe(),this._stateSub=null,nr("UrlSyncManager","Root deactived, unsub to state","same key",this._sceneRoot.state.key===e.state.key)))}syncFrom(e){const t=u.locationService.getSearch();this.urlKeyMapper.rebuildIndex(this._sceneRoot),this._syncSceneStateFromUrl(e,t)}_syncSceneStateFromUrl(e,t){if(e.urlSync){const r={},n=e.urlSync.getUrlState();for(const a of e.urlSync.getKeys()){const o=this.urlKeyMapper.getUniqueKey(a,e),i=t.getAll(o),s=n[a];Eo(i,s)||(i.length>0?Array.isArray(s)?r[a]=i:r[a]=i[0]:r[a]=null)}Object.keys(r).length>0&&e.urlSync.updateFromUrl(r)}e.forEachChild((e=>this._syncSceneStateFromUrl(e,t)))}getUrlState(e){const t=new Do;t.rebuildIndex(e);const r={},n=e=>{if(e.urlSync){const n=e.urlSync.getUrlState();for(const[a,o]of Object.entries(n))if(null!=o){const n=t.getUniqueKey(a,e);r[n]=o}}e.forEachChild(n)};return n(e),r}}class Do{constructor(){this.index=new Map}getUniqueKey(e,t){const r=this.index.get(e);if(!r)throw new Error("Cannot find any scene object that uses the key '"+e+"'");const n=r.findIndex((e=>e.sceneObject===t));return n>0?`${e}-${n+1}`:e}rebuildIndex(e){this.index.clear(),this.buildIndex(e,0)}buildIndex(e,t){if(e.urlSync)for(const r of e.urlSync.getKeys()){const n=this.index.get(r);n?(n.push({sceneObject:e,depth:t}),n.sort(((e,t)=>e.depth-t.depth))):this.index.set(r,[{sceneObject:e,depth:t}])}e.forEachChild((e=>this.buildIndex(e,t+1)))}}function Eo(e,t){return 0===e.length&&null==t||(Array.isArray(t)||1!==(null==e?void 0:e.length)?0===(null==t?void 0:t.length)&&null===e||(0,Re.isEqual)(e,t):t===e[0])}function Ro(){return Co||(Co=new Po),Co}class jo extends Q{constructor(e){super(e),this.addActivationHandler((()=>{const e=function(e){const t=window.__grafanaSceneContext;return nr("setWindowGrafanaScene","set window.__grafanaSceneContext",e),window.__grafanaSceneContext=e,()=>{window.__grafanaSceneContext===e&&(nr("setWindowGrafanaScene","restore window.__grafanaSceneContext",t),window.__grafanaSceneContext=t)}}(this);return()=>{e(),Ro().cleanUp(this)}}))}initUrlSync(){Ro().initSync(this)}}jo.Component=function({model:e}){const{body:t,controls:n}=e.useState(),a=(0,ar.useStyles2)(To);return r().createElement("div",{className:a.container},n&&r().createElement("div",{className:a.controls},n.map((e=>r().createElement(e.Component,{key:e.state.key,model:e})))),r().createElement("div",{className:a.body},r().createElement(t.Component,{model:t})))};const To=e=>({container:(0,or.css)({flexGrow:1,display:"flex",gap:e.spacing(2),minHeight:"100%",flexDirection:"column"}),body:(0,or.css)({flexGrow:1,display:"flex",gap:e.spacing(1)}),controls:(0,or.css)({display:"flex",gap:e.spacing(2),alignItems:"flex-end",flexWrap:"wrap"})});var ko=function(){},Ao="undefined"!=typeof window;const Io=Ao?t.useLayoutEffect:t.useEffect;var Fo={x:0,y:0,width:0,height:0,top:0,left:0,bottom:0,right:0};const Vo=Ao&&void 0!==window.ResizeObserver?function(){var e=(0,t.useState)(null),r=e[0],n=e[1],a=(0,t.useState)(Fo),o=a[0],i=a[1],s=(0,t.useMemo)((function(){return new window.ResizeObserver((function(e){if(e[0]){var t=e[0].contentRect,r=t.x,n=t.y,a=t.width,o=t.height,s=t.top,l=t.left,u=t.bottom,c=t.right;i({x:r,y:n,width:a,height:o,top:s,left:l,bottom:u,right:c})}}))}),[]);return Io((function(){if(r)return s.observe(r),function(){s.disconnect()}}),[r]),[n,o]}:function(){return[ko,Fo]};function Lo(e,t){if(t)return t;let r=e.error?e.error.message:void 0;return e.errors&&(r=e.errors.map((e=>e.message)).join(", ")),r}const Mo=(0,or.css)({position:"relative",width:"100%",height:"100%"}),zo=(0,or.css)({position:"absolute",width:"100%",height:"100%"}),No=e=>({ok:(0,or.css)({color:e.colors.success.text}),pending:(0,or.css)({color:e.colors.warning.text}),alerting:(0,or.css)({color:e.colors.error.text})});var Ho=Object.defineProperty,Bo=Object.defineProperties,Uo=Object.getOwnPropertyDescriptors,$o=Object.getOwnPropertySymbols,Wo=Object.prototype.hasOwnProperty,qo=Object.prototype.propertyIsEnumerable,Go=(e,t,r)=>t in e?Ho(e,t,{enumerable:!0,configurable:!0,writable:!0,value:r}):e[t]=r,Qo=(e,t)=>{for(var r in t||(t={}))Wo.call(t,r)&&Go(e,r,t[r]);if($o)for(var r of $o(t))qo.call(t,r)&&Go(e,r,t[r]);return e},Yo=(e,t)=>Bo(e,Uo(t));const Ko="hideSeriesFrom",Xo=(0,e.isSystemOverrideWithRef)(Ko);function Zo(t,r=e.ByNamesMatcherMode.exclude,n){return n=null!=n?n:{id:"custom.hideFrom",value:{viz:!0,legend:!1,tooltip:!1}},{__systemRef:Ko,matcher:{id:e.FieldMatcherID.byNames,options:{mode:r,names:t,prefix:r===e.ByNamesMatcherMode.exclude?"All except:":void 0,readOnly:!0}},properties:[Yo(Qo({},n),{value:{viz:!0,legend:!1,tooltip:!1}})]}}const Jo=e=>{var t;const r=null==(t=e.matcher.options)?void 0:t.names;return Array.isArray(r)?[...r]:[]},ei=(t,r)=>{const n=new Set;for(const a of t)for(const o of a.fields){if(o.type!==e.FieldType.number)continue;const i=(0,e.getFieldDisplayName)(o,a,t);i!==r&&n.add(i)}return Array.from(n)},ti=(t,r)=>{var n;let a=[];for(const o of t){const t=o.properties.find((e=>"custom.hideFrom"===e.id));if(void 0!==t&&!0===(null==(n=t.value)?void 0:n.legend)){const t=e.fieldMatchers.get(o.matcher.id).get(o.matcher.options);for(const n of r)for(const o of n.fields){if(o.type!==e.FieldType.number)continue;const i=(0,e.getFieldDisplayName)(o,n,r);t(o,n,r)&&a.push(i)}}}return a};var ri=Object.defineProperty,ni=Object.defineProperties,ai=Object.getOwnPropertyDescriptors,oi=Object.getOwnPropertySymbols,ii=Object.prototype.hasOwnProperty,si=Object.prototype.propertyIsEnumerable,li=(e,t,r)=>t in e?ri(e,t,{enumerable:!0,configurable:!0,writable:!0,value:r}):e[t]=r,ui=(e,t)=>{for(var r in t||(t={}))ii.call(t,r)&&li(e,r,t[r]);if(oi)for(var r of oi(t))si.call(t,r)&&li(e,r,t[r]);return e},ci=(e,t)=>ni(e,ai(t));const di=(t,r)=>({matcher:{id:e.FieldMatcherID.byName,options:t},properties:[pi(r)]}),pi=t=>({id:"color",value:{mode:e.FieldColorModeId.Fixed,fixedColor:t}});var hi=Object.defineProperty,fi=Object.defineProperties,mi=Object.getOwnPropertyDescriptors,gi=Object.getOwnPropertySymbols,yi=Object.prototype.hasOwnProperty,bi=Object.prototype.propertyIsEnumerable,vi=(e,t,r)=>t in e?hi(e,t,{enumerable:!0,configurable:!0,writable:!0,value:r}):e[t]=r,wi=(e,t)=>{for(var r in t||(t={}))yi.call(t,r)&&vi(e,r,t[r]);if(gi)for(var r of gi(t))bi.call(t,r)&&vi(e,r,t[r]);return e},Si=(e,t)=>fi(e,mi(t));class _i extends Q{constructor(t){super(wi({options:{},fieldConfig:{defaults:{},overrides:[]},title:"Title",pluginId:"timeseries"},t)),this._variableDependency=new gt(this,{statePaths:["title","options","fieldConfig"]}),this._structureRev=0,this.onTimeRangeChange=t=>{mt.getTimeRange(this).onTimeRangeChange({raw:{from:(0,e.toUtc)(t.from),to:(0,e.toUtc)(t.to)},from:(0,e.toUtc)(t.from),to:(0,e.toUtc)(t.to)})},this.onTitleChange=e=>{this.setState({title:e})},this.onDescriptionChange=e=>{this.setState({description:e})},this.onDisplayModeChange=e=>{this.setState({displayMode:e})},this.onOptionsChange=(t,r=!1)=>{const{fieldConfig:n,options:a}=this.state,o=r?t:(0,Re.mergeWith)((0,Re.cloneDeep)(a),t,((e,t)=>{if((0,Re.isArray)(t))return t})),i=(0,e.getPanelOptionsWithDefaults)({plugin:this._plugin,currentOptions:o,currentFieldConfig:n,isAfterPluginChange:!1});this.setState({options:i.options})},this.onFieldConfigChange=(t,r)=>{const{fieldConfig:n,options:a}=this.state,o=r?t:(0,Re.merge)((0,Re.cloneDeep)(n),t),i=(0,e.getPanelOptionsWithDefaults)({plugin:this._plugin,currentOptions:a,currentFieldConfig:o,isAfterPluginChange:!1});this.setState({fieldConfig:i.fieldConfig})},this.interpolate=(e,t,r)=>mt.interpolate(this,e,t,r),this.getDescription=()=>{this.publishEvent(new M({origin:this,interaction:"panel-description-shown"}),!0);const{description:t}=this.state;if(t){const r=this.interpolate(t);return(0,e.renderMarkdown)(r)}return""},this.onCancelQuery=()=>{var e;this.publishEvent(new M({origin:this,interaction:"panel-cancel-query-clicked"}),!0);const t=mt.getData(this);null==(e=t.cancelQuery)||e.call(t)},this.onStatusMessageClick=()=>{this.publishEvent(new M({origin:this,interaction:"panel-status-message-clicked"}),!0)},this._onSeriesColorChange=(t,r)=>{this.onFieldConfigChange(((t,r,n)=>{const{overrides:a}=n,o=n.overrides.findIndex((r=>r.matcher.id===e.FieldMatcherID.byName&&r.matcher.options===t));if(o<0)return ci(ui({},n),{overrides:[...n.overrides,di(t,r)]});const i=Array.from(a),s=i[o],l=s.properties.findIndex((e=>"color"===e.id));if(l<0)return i[o]=ci(ui({},s),{properties:[...s.properties,pi(r)]}),ci(ui({},n),{overrides:i});const u=Array.from(s.properties);return u[l]=pi(r),i[o]=ci(ui({},s),{properties:u}),ci(ui({},n),{overrides:i})})(t,r,this.state.fieldConfig))},this._onSeriesVisibilityChange=(t,r)=>{this._dataWithFieldConfig&&this.onFieldConfigChange(function(t,r,n,a){const{overrides:o}=n,i=t,s=o.findIndex(Xo);if(s<0){if(r===ar.SeriesVisibilityChangeMode.ToggleSelection){const e=Zo([i,...ti(o,a)]);return Yo(Qo({},n),{overrides:[...n.overrides,e]})}const e=Zo(ei(a,i));return Yo(Qo({},n),{overrides:[...n.overrides,e]})}const l=Array.from(o),[u]=l.splice(s,1);if(r===ar.SeriesVisibilityChangeMode.ToggleSelection){let e=Jo(u);const t=ti(l,a);if(t.length>0&&(e=e.filter((e=>t.indexOf(e)<0))),e[0]===i&&1===e.length)return Yo(Qo({},n),{overrides:l});const r=Zo([i,...t]);return Yo(Qo({},n),{overrides:[...l,r]})}const c=((t,r,n=e.ByNamesMatcherMode.exclude)=>{const a=t.properties.find((e=>"custom.hideFrom"===e.id)),o=Jo(t),i=o.findIndex((e=>e===r));return i<0?o.push(r):o.splice(i,1),Zo(o,n,a)})(u,i);return((e,t)=>Jo(e).length===ei(t).length)(c,a)?Yo(Qo({},n),{overrides:l}):Yo(Qo({},n),{overrides:[...l,c]})}(t,r,this.state.fieldConfig,this._dataWithFieldConfig.series),!0)},this._onInstanceStateChange=e=>{this.setState({_pluginInstanceState:e})},this._onToggleLegendSort=e=>{const t=this.state.options.legend;if(!t)return;let r=t.sortDesc,n=t.sortBy;e!==n&&(r=void 0),!1===r?(n=void 0,r=void 0):(r=!r,n=e),this.onOptionsChange(Si(wi({},this.state.options),{legend:Si(wi({},t),{sortBy:n,sortDesc:r})}))},this.addActivationHandler((()=>{this._onActivate()})),t.menu&&t.menu.addActivationHandler((()=>{this.publishEvent(new M({origin:this,interaction:"panel-menu-shown"}),!0)}))}_onActivate(){this._plugin||this._loadPlugin(this.state.pluginId)}_loadPlugin(t){const r=function(e){var t;const{getPanelPluginFromCache:r}=(0,u.getPluginImportUtils)();return null!=(t=r(e))?t:w.get(e)}(t);if(r)this._pluginLoaded(r);else{const{importPanelPlugin:r}=(0,u.getPluginImportUtils)();try{r(t).then((e=>this._pluginLoaded(e)))}catch(r){this._pluginLoaded(function(t,r){const n=new e.PanelPlugin((()=>null));return n.meta={id:t,name:t,sort:100,type:e.PluginType.panel,module:"",baseUrl:"",info:{author:{name:""},description:"",links:[],logos:{large:"",small:"public/img/grafana_icon.svg"},screenshots:[],updated:"",version:""}},n}(t)),this.setState({_pluginLoadError:r.message})}}}async _pluginLoaded(t){const{options:r,fieldConfig:n,title:a,pluginVersion:o,_UNSAFE_customMigrationHandler:i}=this.state,s={title:a,options:r,fieldConfig:n,id:1,type:t.meta.id,pluginVersion:o},l=this._getPluginVersion(t);i&&i(s,t),t.onPanelMigration&&l!==this.state.pluginVersion&&(s.options=await t.onPanelMigration(s));const u=(0,e.getPanelOptionsWithDefaults)({plugin:t,currentOptions:s.options,currentFieldConfig:s.fieldConfig,isAfterPluginChange:!1});if(this._plugin=t,this.setState({options:u.options,fieldConfig:u.fieldConfig,pluginVersion:l}),t.meta.skipDataQuery){const e=mt.getTimeRange(this);this._subs.add(e.subscribeToState((()=>this.forceRender())))}}_getPluginVersion(e){return e&&e.meta.info.version?e.meta.info.version:u.config.buildInfo.version}getPlugin(){return this._plugin}getPanelContext(){return this._panelContext||(this._panelContext=this.buildPanelContext()),this._panelContext}applyFieldConfig(t){var r,n;const a=this._plugin;if(!a||a.meta.skipDataQuery||!t)return de;const o=a.dataSupport||{alertStates:!1,annotations:!1},i=a.fieldConfigRegistry,s=null==(r=this._prevData)?void 0:r.series,l=null==t?void 0:t.series;return null==t.structureRev&&l&&s&&!(0,e.compareArrayValues)(l,s,e.compareDataFrameStructures)&&this._structureRev++,this._dataWithFieldConfig=Si(wi({},t),{structureRev:this._structureRev,series:(0,e.applyFieldOverrides)({data:l,fieldConfig:this.state.fieldConfig,fieldConfigRegistry:i,replaceVariables:this.interpolate,theme:u.config.theme2,timeZone:null==(n=t.request)?void 0:n.timezone})}),o.alertStates||(this._dataWithFieldConfig.alertState=void 0),o.annotations||(this._dataWithFieldConfig.annotations=void 0),this._dataWithFieldConfig}buildPanelContext(){const t=(this,mt.findObject(this,(e=>e instanceof xt)));const r={eventsScope:t?t.getEventsScope():"__global_",eventBus:t?t.getEventsBus(this):(0,u.getAppEvents)(),app:e.CoreApp.Unknown,sync:()=>t?t.state.sync:e.DashboardCursorSync.Off,onSeriesColorChange:this._onSeriesColorChange,onToggleSeriesVisibility:this._onSeriesVisibilityChange,onToggleLegendSort:this._onToggleLegendSort,onInstanceStateChange:this._onInstanceStateChange};return this.state.extendPanelContext&&this.state.extendPanelContext(this,r),r}}function Oi(e){return e instanceof _s}_i.Component=function({model:t}){var n,a,o;const{title:i,options:s,fieldConfig:l,_pluginLoadError:c,$data:d,displayMode:p,hoverHeader:h,menu:f,headerActions:m,titleItems:g,description:y}=t.useState(),[b,{width:v,height:w}]=Vo(),S=t.getPlugin(),{dragClass:_,dragClassCancel:O}=function(e){var t,r;const n=mt.getLayout(e),a=null==n?void 0:n.isDraggable();return n&&a&&!function(e,t){let r=e.parent;for(;r&&r!==t;){if("isDraggable"in r.state&&!1===r.state.isDraggable)return!0;r=r.parent}return!1}(e,n)?{dragClass:null==(t=n.getDragClass)?void 0:t.call(n),dragClassCancel:null==(r=null==n?void 0:n.getDragClassCancel)?void 0:r.call(n)}:{dragClass:"",dragClassCancel:""}}(t),x=mt.getData(t),C=x.useState(),P=t.applyFieldConfig(C.data),D=mt.getTimeRange(t),E=D.getTimeZone(),R=function(e,t,r){var n;return!t||t.meta.skipDataQuery?e.state.value:r&&(null==(n=r.request)?void 0:n.range)?r.request.range:e.state.value}(D,S,P),j=t.interpolate(i,void 0,"text"),T=(0,ar.useStyles2)(No);if(!S)return r().createElement("div",null,"Loading plugin panel...");if(!S.panel)return r().createElement("div",null,"Panel plugin has no panel component");const k=S.panel;d&&d.setContainerWidth&&d.setContainerWidth(Math.round(v));let A,I,F=[];g&&(Array.isArray(g)?F=F.concat(g.map((e=>r().createElement(e.Component,{model:e,key:`${e.state.key}`})))):Mr(g)?F.push(r().createElement(g.Component,{model:g})):F.push(g)),t.state.$timeRange&&F.push(r().createElement(t.state.$timeRange.Component,{model:t.state.$timeRange,key:t.state.key})),P.alertState&&F.push(r().createElement(ar.Tooltip,{content:null!=(n=P.alertState.state)?n:"unknown",key:`alert-states-icon-${t.state.key}`},r().createElement(ar.PanelChrome.TitleItem,{className:(0,or.cx)({[T.ok]:P.alertState.state===e.AlertState.OK,[T.pending]:P.alertState.state===e.AlertState.Pending,[T.alerting]:P.alertState.state===e.AlertState.Alerting})},r().createElement(ar.Icon,{name:"alerting"===P.alertState.state?"heart-break":"heart",className:"panel-alert-icon",size:"md"})))),f&&(A=r().createElement(f.Component,{model:f})),m&&(I=Array.isArray(m)?r().createElement(r().Fragment,null,m.map((e=>r().createElement(e.Component,{model:e,key:`${e.state.key}`})))):Mr(m)?r().createElement(m.Component,{model:m}):m);const V=P,L=!x.isDataReadyToDisplay||x.isDataReadyToDisplay(),M=t.getPanelContext(),z=null!=(o=null==(a=M.instanceState)?void 0:a.legacyPanelId)?o:1;return r().createElement("div",{className:Mo},r().createElement("div",{ref:b,className:zo,"data-viz-panel-key":t.state.key},v>0&&w>0&&r().createElement(ar.PanelChrome,{title:j,description:(null==y?void 0:y.trim())?t.getDescription:void 0,loadingState:V.state,statusMessage:Lo(V,c),statusMessageOnClick:t.onStatusMessageClick,width:v,height:w,displayMode:p,hoverHeader:h,titleItems:F,dragClass:_,actions:I,dragClassCancel:O,padding:S.noPadding?"none":"md",menu:A,onCancelQuery:t.onCancelQuery},((n,a)=>r().createElement(r().Fragment,null,r().createElement(ar.ErrorBoundaryAlert,{dependencies:[S,V]},r().createElement(e.PluginContextProvider,{meta:S.meta},r().createElement(ar.PanelContextProvider,{value:M},L&&r().createElement(k,{id:z,data:V,title:i,timeRange:R,timeZone:E,options:s,fieldConfig:l,transparent:!1,width:n,height:a,renderCounter:0,replaceVariables:t.interpolate,onOptionsChange:t.onOptionsChange,onFieldConfigChange:t.onFieldConfigChange,onChangeTimeRange:t.onTimeRangeChange,eventBus:(0,u.getAppEvents)()})))))))))},class extends Q{addItem(e){this.setState({items:this.state.items?[...this.state.items,e]:[e]})}setItems(e){this.setState({items:e})}}.Component=function({model:e}){const{items:n=[]}=e.useState(),a=r().useRef(null);(0,t.useEffect)((()=>{a.current&&a.current.focus()}),[]);const o=e=>e.map((e=>"divider"===e.type?r().createElement(ar.Menu.Divider,{key:e.text}):r().createElement(ar.Menu.Item,{key:e.text,label:e.text,icon:e.iconClassName,childItems:e.subMenu?o(e.subMenu):void 0,url:e.href,onClick:e.onClick,shortcut:e.shortcut})));return r().createElement(ar.Menu,{ref:a},o(n))},class extends Q{}.Component=function({model:e}){const{body:t}=e.useState(),n=e.parent;if(n&&!(n instanceof ds)&&!Oi(n))throw new Error("SceneGridItem must be a child of SceneGridLayout or SceneGridRow");return t?r().createElement(t.Component,{model:t}):null};var xi=d(788),Ci=d.n(xi),Pi=function(){function e(e,t){for(var r=0;r div, .contract-trigger:before { content: " "; display: block; position: absolute; top: 0; left: 0; height: 100%; width: 100%; overflow: hidden; z-index: -1; } .resize-triggers > div { background: #eee; overflow: auto; } .contract-trigger:before { width: 200%; height: 200%; }',o=r.head||r.getElementsByTagName("head")[0],i=r.createElement("style");i.id="detectElementResize",i.type="text/css",null!=e&&i.setAttribute("nonce",e),i.styleSheet?i.styleSheet.cssText=n:i.appendChild(r.createTextNode(n)),o.appendChild(i)}}(c),o.__resizeLast__={},o.__resizeListeners__=[],(o.__resizeTriggers__=c.createElement("div")).className="resize-triggers";var p=c.createElement("div");p.className="expand-trigger",p.appendChild(c.createElement("div"));var h=c.createElement("div");h.className="contract-trigger",o.__resizeTriggers__.appendChild(p),o.__resizeTriggers__.appendChild(h),o.appendChild(o.__resizeTriggers__),i(o),o.addEventListener("scroll",s,!0),n&&(o.__resizeTriggers__.__animationListener__=function(e){e.animationName===r&&i(o)},o.__resizeTriggers__.addEventListener(n,o.__resizeTriggers__.__animationListener__))}o.__resizeListeners__.push(u)}},removeResizeListener:function(e,t){if(l)e.detachEvent("onresize",t);else if(e.__resizeListeners__.splice(e.__resizeListeners__.indexOf(t),1),!e.__resizeListeners__.length){e.removeEventListener("scroll",s,!0),e.__resizeTriggers__.__animationListener__&&(e.__resizeTriggers__.removeEventListener(n,e.__resizeTriggers__.__animationListener__),e.__resizeTriggers__.__animationListener__=null);try{e.__resizeTriggers__=!e.removeChild(e.__resizeTriggers__)}catch(e){}}}}}(e),this._detectElementResize.addResizeListener(this._parentNode,this._onResize),this._onResize())}},{key:"componentWillUnmount",value:function(){this._detectElementResize&&this._parentNode&&this._detectElementResize.removeResizeListener(this._parentNode,this._onResize)}},{key:"render",value:function(){var e=this.props,r=e.children,n=e.className,a=e.disableHeight,o=e.disableWidth,i=e.style,s=this.state,l=s.height,u=s.width,c={overflow:"visible"},d={},p=!1;return a||(0===l&&(p=!0),c.height=0,d.height=l),o||(0===u&&(p=!0),c.width=0,d.width=u),(0,t.createElement)("div",{className:n,ref:this._setRef,style:Di({},c,i)},!p&&r(d))}}]),r}(t.PureComponent);Vi.defaultProps={onResize:function(){},disableHeight:!1,disableWidth:!1,style:{}};const Li=Vi;var Mi=Object.defineProperty,zi=Object.getOwnPropertySymbols,Ni=Object.prototype.hasOwnProperty,Hi=Object.prototype.propertyIsEnumerable,Bi=(e,t,r)=>t in e?Mi(e,t,{enumerable:!0,configurable:!0,writable:!0,value:r}):e[t]=r;function Ui(){const e=(0,t.useRef)(void 0);return null!=e.current||(e.current=(0,Re.uniqueId)()),e.current}const $i=r().forwardRef(((e,n)=>{var a=e,{children:o,onLoad:i,onChange:s}=a,l=((e,t)=>{var r={};for(var n in e)Ni.call(e,n)&&t.indexOf(n)<0&&(r[n]=e[n]);if(null!=e&&zi)for(var n of zi(e))t.indexOf(n)<0&&Hi.call(e,n)&&(r[n]=e[n]);return r})(a,["children","onLoad","onChange"]);const u=Ui(),[c,d]=(0,t.useState)(!1),[p,h]=(0,t.useState)(!1),f=(0,t.useRef)(null);return(0,t.useImperativeHandle)(n,(()=>f.current)),m=()=>{$i.addCallback(u,(e=>{!c&&e.isIntersecting&&(d(!0),null==i||i()),h(e.isIntersecting),null==s||s(e.isIntersecting)}));const e=f.current;return e&&$i.observer.observe(e),()=>{delete $i.callbacks[u],e&&$i.observer.unobserve(e),0===Object.keys($i.callbacks).length&&$i.observer.disconnect()}},(0,t.useEffect)(m,[]),r().createElement("div",((e,t)=>{for(var r in t||(t={}))Ni.call(t,r)&&Bi(e,r,t[r]);if(zi)for(var r of zi(t))Hi.call(t,r)&&Bi(e,r,t[r]);return e})({id:u,ref:f},l),c&&("function"==typeof o?o({isInView:p}):o));var m}));$i.displayName="LazyLoader",$i.callbacks={},$i.addCallback=(e,t)=>$i.callbacks[e]=t,$i.observer=new IntersectionObserver((e=>{for(const t of e)$i.callbacks[t.target.id](t)}),{rootMargin:"100px"});var Wi=Object.defineProperty,qi=Object.defineProperties,Gi=Object.getOwnPropertyDescriptors,Qi=Object.getOwnPropertySymbols,Yi=Object.prototype.hasOwnProperty,Ki=Object.prototype.propertyIsEnumerable,Xi=(e,t,r)=>t in e?Wi(e,t,{enumerable:!0,configurable:!0,writable:!0,value:r}):e[t]=r,Zi=(e,t)=>{for(var r in t||(t={}))Yi.call(t,r)&&Xi(e,r,t[r]);if(Qi)for(var r of Qi(t))Ki.call(t,r)&&Xi(e,r,t[r]);return e},Ji=(e,t)=>qi(e,Gi(t));const es=r().forwardRef(((e,n)=>{var a;const o=e,{grid:i,layoutItem:s,index:l,totalCount:u,isLazy:c,style:d,onLoad:p,onChange:h}=o,f=((e,t)=>{var r={};for(var n in e)Yi.call(e,n)&&t.indexOf(n)<0&&(r[n]=e[n]);if(null!=e&&Qi)for(var n of Qi(e))t.indexOf(n)<0&&Ki.call(e,n)&&(r[n]=e[n]);return r})(o,["grid","layoutItem","index","totalCount","isLazy","style","onLoad","onChange"]),m=i.getSceneLayoutChild(s.i),g=null==(a=m.getClassName)?void 0:a.call(m),y=(0,ar.useTheme2)(),b=(0,t.useRef)(0),[v,w]=(0,t.useReducer)((e=>e+1),0),S=(0,t.useCallback)((()=>(b.current+=1,w(),()=>{b.current-=1,w()})),[w]),_=(0,t.useMemo)((()=>({boostZIndex:S})),[S]),O=u-l,x=r().createElement(m.Component,{model:m,key:m.state.key}),C=ar.LayoutItemContext?r().createElement(ar.LayoutItemContext.Provider,{value:_},x):x,P=Ji(Zi({},d),{zIndex:0===b.current?O:y.zIndex.dropdown});return c?r().createElement($i,Ji(Zi({},f),{key:m.state.key,"data-griditem-key":m.state.key,className:(0,or.cx)(g,e.className),style:P,ref:n}),C):r().createElement("div",Ji(Zi({},f),{ref:n,key:m.state.key,"data-griditem-key":m.state.key,className:(0,or.cx)(g,e.className),style:P}),C)}));es.displayName="GridItemWrapper";var ts=Object.defineProperty,rs=Object.defineProperties,ns=Object.getOwnPropertyDescriptors,as=Object.getOwnPropertySymbols,os=Object.prototype.hasOwnProperty,is=Object.prototype.propertyIsEnumerable,ss=(e,t,r)=>t in e?ts(e,t,{enumerable:!0,configurable:!0,writable:!0,value:r}):e[t]=r,ls=(e,t)=>{for(var r in t||(t={}))os.call(t,r)&&ss(e,r,t[r]);if(as)for(var r of as(t))is.call(t,r)&&ss(e,r,t[r]);return e},us=(e,t)=>rs(e,ns(t));const cs=class extends Q{constructor(e){super(us(ls({},e),{children:hs(e.children)})),this._skipOnLayoutChange=!1,this.onLayoutChange=e=>{if(this._skipOnLayoutChange)this._skipOnLayoutChange=!1;else{for(const t of e){const e=this.getSceneLayoutChild(t.i),r={x:t.x,y:t.y,width:t.w,height:t.h};ps(e.state,r)||e.setState(ls({},r))}this.setState({children:hs(this.state.children)})}},this.onResizeStop=(e,t,r)=>{this.getSceneLayoutChild(r.i).setState({width:r.w,height:r.h})},this.onDragStop=(e,t,r)=>{const n=this.getSceneLayoutChild(r.i);e=fs(e);for(let t=0;te.i===r.i)),o=this.findGridItemSceneParent(e,a-1);let i=this.state.children;o!==n.parent&&(i=this.moveChildTo(n,o)),this.setState({children:hs(i)}),this._skipOnLayoutChange=!0}}isDraggable(){var e;return null!=(e=this.state.isDraggable)&&e}getDragClass(){return`grid-drag-handle-${this.state.key}`}getDragClassCancel(){return"grid-drag-cancel"}toggleRow(e){var t,r;if(!e.state.isCollapsed)return e.setState({isCollapsed:!0}),void this.setState({});const n=e.state.children;if(0===n.length)return e.setState({isCollapsed:!1}),void this.setState({});const a=e.state.y,o=(null!=(t=n[0].state.y)?t:a)-(a+1);let i=a;for(const e of n){const t=ls({},e.state);t.y=null!=(r=t.y)?r:a,t.y-=o,t.y!==e.state.y&&e.setState(t),i=Math.max(i,Number(t.y)+Number(t.height))}const s=i-a-1;for(const t of this.state.children)if(t.state.y>a&&this.pushChildDown(t,s),Oi(t)&&t!==e)for(const e of t.state.children)e.state.y>a&&this.pushChildDown(e,s);e.setState({isCollapsed:!1}),this.setState({})}getSceneLayoutChild(e){for(const t of this.state.children){if(t.state.key===e)return t;if(t instanceof _s)for(const r of t.state.children)if(r.state.key===e)return r}throw new Error("Scene layout child not found for GridItem")}pushChildDown(e,t){e.setState({y:e.state.y+t})}findGridItemSceneParent(e,t){for(let r=t;r>=0;r--){const t=e[r],n=this.getSceneLayoutChild(t.i);if(n instanceof _s)return n.state.isCollapsed?this:n}return this}moveChildTo(e,t){const r=e.parent;let n=this.state.children;const a=e.clone({key:e.state.key});if(r instanceof _s){const o=r.clone({children:r.state.children.filter((t=>t.state.key!==e.state.key))});if(n=n.map((e=>e===r?o:e)),t instanceof _s){const e=t.clone({children:[...t.state.children,a]});n=n.map((r=>r===t?e:r))}else n=[...n,a]}else if(!(t instanceof cs)){n=n.filter((t=>t.state.key!==e.state.key));const r=t.clone({children:[...t.state.children,a]});n=n.map((e=>e===t?r:e))}return n}toGridCell(e){var t,r;const n=e.state;let a=null!=(t=n.x)?t:0,o=null!=(r=n.y)?r:0;const i=Number.isInteger(Number(n.width))?Number(n.width):4,s=Number.isInteger(Number(n.height))?Number(n.height):4;let l=e.state.isDraggable,u=e.state.isResizable;return e instanceof _s&&(l=!!e.state.isCollapsed,u=!1),{i:e.state.key,x:a,y:o,h:s,w:i,isResizable:u,isDraggable:l}}buildGridLayout(e){let t=[];for(const e of this.state.children)if(t.push(this.toGridCell(e)),e instanceof _s&&!e.state.isCollapsed)for(const r of e.state.children)t.push(this.toGridCell(r));return t=fs(t),e<768?(this._skipOnLayoutChange=!0,t.map((e=>us(ls({},e),{w:24})))):(this._skipOnLayoutChange=!1,t)}};let ds=cs;function ps(e,t){return e.x===t.x&&e.y===t.y&&e.width===t.width&&e.height===t.height}function hs(e){return[...e].sort(((e,t)=>e.state.y-t.state.y||e.state.x-t.state.x))}function fs(e){return[...e].sort(((e,t)=>e.y-t.y||e.x-t.x))}ds.Component=function({model:e}){const{children:t,isLazy:n,isDraggable:a,isResizable:o}=e.useState();return function(e){if(e.some((e=>void 0===e.state.height||void 0===e.state.width||void 0===e.state.x||void 0===e.state.y)))throw new Error("All children must have a size specified")}(t),r().createElement(Li,{disableHeight:!0},(({width:t})=>{if(0===t)return null;const i=e.buildGridLayout(t);return r().createElement("div",{style:{width:`${t}px`,height:"100%",position:"relative",zIndex:1}},r().createElement(Ci(),{width:t,isDraggable:a&&t>768,isResizable:null!=o&&o,containerPadding:[0,0],useCSSTransforms:!1,margin:[8,8],cols:24,rowHeight:30,draggableHandle:`.grid-drag-handle-${e.state.key}`,draggableCancel:".grid-drag-cancel",layout:i,onDragStop:e.onDragStop,onResizeStop:e.onResizeStop,onLayoutChange:e.onLayoutChange,isBounded:!1},i.map(((t,a)=>r().createElement(es,{key:t.i,grid:e,layoutItem:t,index:a,isLazy:n,totalCount:i.length})))))}))};var ms=Object.defineProperty,gs=Object.defineProperties,ys=Object.getOwnPropertyDescriptors,bs=Object.getOwnPropertySymbols,vs=Object.prototype.hasOwnProperty,ws=Object.prototype.propertyIsEnumerable,Ss=(e,t,r)=>t in e?ms(e,t,{enumerable:!0,configurable:!0,writable:!0,value:r}):e[t]=r;class _s extends Q{constructor(e){super(((e,t)=>gs(e,ys({x:0,height:1,width:24})))(((e,t)=>{for(var r in t||(t={}))vs.call(t,r)&&Ss(e,r,t[r]);if(bs)for(var r of bs(t))ws.call(t,r)&&Ss(e,r,t[r]);return e})({children:e.children||[],isCollapsible:e.isCollapsible||!0,title:e.title||""},e))),this.onCollapseToggle=()=>{this.state.isCollapsible&&this.getGridLayout().toggleRow(this)}}getGridLayout(){const e=this.parent;if(!(e&&e instanceof ds))throw new Error("SceneGridRow must be a child of SceneGridLayout");return e}getUrlState(){return{rowc:this.state.isCollapsed?"1":"0"}}updateFromUrl(e){null!=e.rowc&&e.rowc!==this.getUrlState().rowc&&this.onCollapseToggle()}}_s.Component=function({model:e}){const t=(0,ar.useStyles2)(Os),{isCollapsible:n,isCollapsed:a,title:o,isDraggable:i,actions:s}=e.useState(),l=e.getGridLayout().getDragClass();return r().createElement("div",{className:(0,or.cx)(t.row,a&&t.rowCollapsed)},r().createElement("button",{onClick:e.onCollapseToggle,className:t.rowTitleButton,"aria-label":a?"Expand row":"Collapse row"},n&&r().createElement(ar.Icon,{name:a?"angle-right":"angle-down"}),r().createElement("span",{className:t.rowTitle,role:"heading"},mt.interpolate(e,o,void 0,"text"))),s&&r().createElement(s.Component,{model:s}),i&&a&&r().createElement("div",{className:(0,or.cx)(t.dragHandle,l)},r().createElement(ar.Icon,{name:"draggabledots"})))};const Os=e=>({row:(0,or.css)({width:"100%",height:"30px",display:"flex",justifyContent:"space-between",gap:e.spacing(1)}),rowTitleButton:(0,or.css)({display:"flex",alignItems:"center",cursor:"pointer",background:"transparent",border:"none",gap:e.spacing(1)}),rowCollapsed:(0,or.css)({borderBottom:`1px solid ${e.colors.border.weak}`}),rowTitle:(0,or.css)({fontSize:e.typography.h5.fontSize,fontWeight:e.typography.fontWeightMedium}),collapsedInfo:(0,or.css)({fontSize:e.typography.bodySmall.fontSize,color:e.colors.text.secondary,display:"flex",alignItems:"center",flexGrow:1}),dragHandle:(0,or.css)({display:"flex",padding:e.spacing(0,1),alignItems:"center",justifyContent:"flex-end",cursor:"move",color:e.colors.text.secondary,"&:hover":{color:e.colors.text.primary}})});(class extends Q{constructor(){super(...arguments),this.onToggle=()=>{this.setState({isCollapsed:!this.state.isCollapsed})},this.onRemove=()=>{const e=this.parent;"body"in e.state&&e.setState({body:void 0})}}}).Component=function({model:e}){const{title:t,isCollapsed:n,canCollapse:a,canRemove:o,body:i,controls:s}=e.useState(),l=(0,ar.useStyles2)(Os),u=(0,ar.useStyles2)(xs),c=(null!=s?s:[]).map((e=>r().createElement(e.Component,{key:e.state.key,model:e})));return o&&c.push(r().createElement(ar.ToolbarButton,{icon:"times",variant:"default",onClick:e.onRemove,key:"remove-button","aria-label":"Remove scene"})),r().createElement("div",{className:u.wrapper},r().createElement("div",{className:(0,or.cx)(u.row,n&&u.rowCollapsed)},r().createElement("button",{onClick:e.onToggle,className:l.rowTitleButton,"aria-label":n?"Expand scene":"Collapse scene"},a&&r().createElement(ar.Icon,{name:n?"angle-right":"angle-down"}),r().createElement("span",{className:l.rowTitle,role:"heading"},mt.interpolate(e,t,void 0,"text"))),r().createElement("div",{className:u.actions},c)),!n&&r().createElement(i.Component,{model:i}))};const xs=e=>({wrapper:(0,or.css)({display:"flex",flexDirection:"column",flexGrow:1,gap:e.spacing(1),cursor:"pointer"}),row:(0,or.css)({width:"100%",display:"flex",justifyContent:"space-between",gap:e.spacing(1)}),rowCollapsed:(0,or.css)({borderBottom:`1px solid ${e.colors.border.weak}`,paddingBottom:e.spacing(1)}),actions:(0,or.css)({display:"flex",alignItems:"center",gap:e.spacing(1),justifyContent:"flex-end",flexGrow:1})});(class extends Q{constructor(){super(...arguments),this._variableDependency=new gt(this,{statePaths:["text"]})}}).Component=({model:e})=>{const{text:t,fontSize:n=20,align:a="left",key:o,spacing:i}=e.useState(),s=(0,ar.useTheme2)(),l=(0,or.css)({fontSize:n,display:"flex",flexGrow:1,alignItems:"center",padding:i?s.spacing(i,0):void 0,justifyContent:a});return r().createElement("div",{className:l,"data-testid":o},mt.interpolate(e,t))},class extends Q{}.Component=({model:e})=>{const t=e.useState();return r().createElement(ar.ToolbarButton,{onClick:t.onClick,icon:t.icon})},class extends Q{}.Component=({model:e})=>{const t=e.useState();return r().createElement("div",{style:{display:"flex"}},t.label&&r().createElement(nn,{label:t.label}),r().createElement(ar.Input,{defaultValue:t.value,width:8,onBlur:t=>{e.state.onChange(parseInt(t.currentTarget.value,10))}}))};class Cs extends Q{constructor(){super(...arguments),this.onZoom=()=>{const t=mt.getTimeRange(this),r=function(t,r){const n=t.to.valueOf()-t.from.valueOf(),a=t.to.valueOf()-n/2,o=0===n?3e4:2*n,i=a+o/2,s=a-o/2;return{from:(0,e.toUtc)(s),to:(0,e.toUtc)(i),raw:{from:(0,e.toUtc)(s),to:(0,e.toUtc)(i)}}}(t.state.value);t.onTimeRangeChange(r)},this.onChangeFiscalYearStartMonth=e=>{mt.getTimeRange(this).setState({fiscalYearStartMonth:e})},this.onMoveBackward=()=>{const e=mt.getTimeRange(this),{state:{value:t}}=e;e.onTimeRangeChange(Ds(Ps.Backward,t,Date.now()))},this.onMoveForward=()=>{const e=mt.getTimeRange(this),{state:{value:t}}=e;e.onTimeRangeChange(Ds(Ps.Forward,t,Date.now()))}}}Cs.Component=function({model:e}){const{hidePicker:t,isOnCanvas:n}=e.useState(),a=mt.getTimeRange(e),o=a.getTimeZone(),i=a.useState();return t?null:r().createElement(ar.TimeRangePicker,{isOnCanvas:null==n||n,value:i.value,onChange:a.onTimeRangeChange,timeZone:o,fiscalYearStartMonth:i.fiscalYearStartMonth,onMoveBackward:e.onMoveBackward,onMoveForward:e.onMoveForward,onZoom:e.onZoom,onChangeTimeZone:a.onTimeZoneChange,onChangeFiscalYearStartMonth:e.onChangeFiscalYearStartMonth})};var Ps=(e=>(e[e.Backward=0]="Backward",e[e.Forward=1]="Forward",e))(Ps||{});function Ds(t,r,n){const a=r.to.valueOf(),o=r.from.valueOf(),i=(a-o)/2;let s,l;0===t?(s=o-i,l=a-i):(s=o+i,l=a+i,l>n&&at in e?Es(e,t,{enumerable:!0,configurable:!0,writable:!0,value:r}):e[t]=r;const Fs=["5s","10s","30s","1m","5m","15m","30m","1h","2h","1d"];class Vs extends Q{constructor(t){var r;super(((e,t)=>Rs(e,js(t)))(((e,t)=>{for(var r in t||(t={}))ks.call(t,r)&&Is(e,r,t[r]);if(Ts)for(var r of Ts(t))As.call(t,r)&&Is(e,r,t[r]);return e})({refresh:""},t),{intervals:null!=(r=t.intervals)?r:Fs})),this._urlSync=new pe(this,{keys:["refresh"]}),this.onRefresh=()=>{const e=mt.getTimeRange(this);this._intervalTimer&&clearInterval(this._intervalTimer),e.onRefresh(),this.setupIntervalTimer()},this.onIntervalChanged=e=>{this.setState({refresh:e}),this.setupIntervalTimer()},this.setupIntervalTimer=()=>{const t=mt.getTimeRange(this),{refresh:r,intervals:n}=this.state;if((this._intervalTimer||""===r)&&clearInterval(this._intervalTimer),""===r)return;if(n&&!n.includes(r))return;const a=e.rangeUtil.intervalToMs(r);this._intervalTimer=setInterval((()=>{t.onRefresh()}),a)},this.addActivationHandler((()=>(this.setupIntervalTimer(),()=>{this._intervalTimer&&clearInterval(this._intervalTimer)})))}getUrlState(){return{refresh:this.state.refresh}}updateFromUrl(e){const t=e.refresh;t&&"string"==typeof t&&this.setState({refresh:t})}}Vs.Component=function({model:e}){const{refresh:t,intervals:n,isOnCanvas:a}=e.useState();return r().createElement(ar.RefreshPicker,{value:t,intervals:n,onRefresh:e.onRefresh,onIntervalChanged:e.onIntervalChanged,isOnCanvas:null==a||a})},class extends Q{constructor(t){super(t),this.addActivationHandler((()=>{const t=mt.getData(this);this._subs.add(t.subscribeToState((t=>{var r;(null==(r=t.data)?void 0:r.state)===e.LoadingState.Done&&this.performRepeat(t.data)}))),t.state.data&&this.performRepeat(t.state.data)}))}performRepeat(e){const t=[];for(let r=0;r{const{body:t}=e.useState();return r().createElement(t.Component,{model:t})};const Ls=class extends Q{constructor(){super({})}get Component(){return Ls.Component}};let Ms=Ls;Ms.Component=e=>r().createElement("div",{style:{flexGrow:1}});class zs extends Q{toggleDirection(){this.setState({direction:"row"===this.state.direction?"column":"row"})}isDraggable(){return!1}}zs.Component=function({model:e,parentState:n}){const{children:a,isHidden:o}=e.useState(),i=function(e,r){return(0,t.useMemo)((()=>{var t,n,a,o,i,s,l,c,d,p;const{direction:h="row",wrap:f}=e,m=u.config.theme2,g={};return r?Hs(g,e,r):(g.display="flex",g.flexGrow=1),g.flexDirection=h,g.gap="8px",g.flexWrap=f||"nowrap",g.alignContent="baseline",g.minHeight=g.minHeight||0,g[m.breakpoints.down("md")]={flexDirection:null!=(n=null==(t=e.md)?void 0:t.direction)?n:"column",maxWidth:null!=(o=null==(a=e.md)?void 0:a.maxWidth)?o:"unset",maxHeight:null!=(s=null==(i=e.md)?void 0:i.maxHeight)?s:"unset",height:null!=(c=null==(l=e.md)?void 0:l.height)?c:"unset",width:null!=(p=null==(d=e.md)?void 0:d.width)?p:"unset"},(0,or.css)(g)}),[r,e])}(e.state,n);return o?null:r().createElement("div",{className:i},a.map((t=>{const n=t.Component;return r().createElement(n,{key:t.state.key,model:t,parentState:e.state})})))};class Ns extends Q{}function Hs(e,t,r){var n,a,o;const i=null!=(n=r.direction)?n:"row",{xSizing:s="fill",ySizing:l="fill"}=t;return e.display="flex",e.position="relative",e.flexDirection=i,"column"===i?(t.height?e.height=t.height:e.flexGrow="fill"===l?1:0,t.width?e.width=t.width:e.alignSelf="fill"===s?"stretch":"flex-start"):(t.height?e.height=t.height:e.alignSelf="fill"===l?"stretch":"flex-start",t.width?e.width=t.width:e.flexGrow="fill"===s?1:0),e.minWidth=t.minWidth,e.maxWidth=t.maxWidth,e.maxHeight=t.maxHeight,e.minHeight=null!=(a=t.minHeight)?a:r.minHeight,e.height=null!=(o=t.height)?o:r.height,e}Ns.Component=function({model:e,parentState:n}){if(!n)throw new Error("SceneFlexItem must be a child of SceneFlexLayout");const{body:a,isHidden:o}=e.useState(),i=function(e,r){return(0,t.useMemo)((()=>{var t,n,a,o,i,s,l,c,d,p;const h=u.config.theme2,f=Hs({},e,r);return f[h.breakpoints.down("md")]={maxWidth:null!=(n=null==(t=e.md)?void 0:t.maxWidth)?n:"unset",maxHeight:null!=(o=null==(a=e.md)?void 0:a.maxHeight)?o:"unset",height:null!=(l=null==(i=e.md)?void 0:i.height)?l:null==(s=r.md)?void 0:s.height,width:null!=(p=null==(c=e.md)?void 0:c.width)?p:null==(d=r.md)?void 0:d.width},(0,or.css)(f)}),[e,r])}(e.state,n);return!a||o?null:r().createElement("div",{className:i},r().createElement(a.Component,{model:a}))};var Bs=Object.defineProperty,Us=Object.getOwnPropertySymbols,$s=Object.prototype.hasOwnProperty,Ws=Object.prototype.propertyIsEnumerable,qs=(e,t,r)=>t in e?Bs(e,t,{enumerable:!0,configurable:!0,writable:!0,value:r}):e[t]=r;(class extends Q{constructor(e){var t,r;super(((e,t)=>{for(var r in t||(t={}))$s.call(t,r)&&qs(e,r,t[r]);if(Us)for(var r of Us(t))Ws.call(t,r)&&qs(e,r,t[r]);return e})({rowGap:1,columnGap:1,templateColumns:"repeat(auto-fit, minmax(400px, 1fr))",autoRows:null!=(t=e.autoRows)?t:"320px",children:null!=(r=e.children)?r:[]},e))}isDraggable(){return!1}}).Component=function({model:e}){const{children:n,isHidden:a,isLazy:o}=e.useState(),i=(s=e.state,(0,t.useMemo)((()=>{var e,t,r,n,a,o,i,l,c,d,p;const h={},f=u.config.theme2;return h.display="grid",h.gridTemplateColumns=s.templateColumns,h.gridTemplateRows=s.templateRows||"unset",h.gridAutoRows=s.autoRows||"unset",h.rowGap=f.spacing(null!=(e=s.rowGap)?e:1),h.columnGap=f.spacing(null!=(t=s.columnGap)?t:1),h.justifyItems=s.justifyItems||"unset",h.alignItems=s.alignItems||"unset",h.justifyContent=s.justifyContent||"unset",h.flexGrow=1,s.md&&(h[f.breakpoints.down("md")]={gridTemplateRows:null==(r=s.md)?void 0:r.templateRows,gridTemplateColumns:null==(n=s.md)?void 0:n.templateColumns,rowGap:s.md.rowGap?f.spacing(null!=(o=null==(a=s.md)?void 0:a.rowGap)?o:1):void 0,columnGap:s.md.columnGap?f.spacing(null!=(l=null==(i=s.md)?void 0:i.rowGap)?l:1):void 0,justifyItems:null==(c=s.md)?void 0:c.justifyItems,alignItems:null==(d=s.md)?void 0:d.alignItems,justifyContent:null==(p=s.md)?void 0:p.justifyContent}),(0,or.css)(h)}),[s]));var s;return a?null:r().createElement("div",{className:i},n.map((t=>{const n=t.Component;return o?r().createElement($i,{key:t.state.key,className:i},r().createElement(n,{key:t.state.key,model:t,parentState:e.state})):r().createElement(n,{key:t.state.key,model:t,parentState:e.state})})))},class extends Q{}.Component=function({model:e,parentState:n}){if(!n)throw new Error("SceneCSSGridItem must be a child of SceneCSSGridLayout");const{body:a,isHidden:o}=e.useState(),i=(s=e.state,(0,t.useMemo)((()=>{const e={};return e.gridColumn=s.gridColumn||"unset",e.gridRow=s.gridRow||"unset",e.position="relative",(0,or.css)(e)}),[s]));var s;return!a||o?null:r().createElement("div",{className:i},r().createElement(a.Component,{model:a}))};var Gs=Object.defineProperty,Qs=Object.getOwnPropertySymbols,Ys=Object.prototype.hasOwnProperty,Ks=Object.prototype.propertyIsEnumerable,Xs=(e,t,r)=>t in e?Gs(e,t,{enumerable:!0,configurable:!0,writable:!0,value:r}):e[t]=r,Zs=(e,t)=>{for(var r in t||(t={}))Ys.call(t,r)&&Xs(e,r,t[r]);if(Qs)for(var r of Qs(t))Ks.call(t,r)&&Xs(e,r,t[r]);return e};const Js=new Set(["ArrowUp","ArrowDown"]),el=new Set(["ArrowLeft","ArrowRight"]),tl={row:{dim:"width",axis:"clientX",min:"minWidth",max:"maxWidth"},column:{dim:"height",axis:"clientY",min:"minHeight",max:"maxHeight"}};function rl({direction:e="row",handleSize:n=32,initialSize:a="auto",primaryPaneStyles:o,secondaryPaneStyles:i,onDragFinished:s,children:l}){const u=r().Children.toArray(l),c=(0,t.useRef)(null),d=(0,t.useRef)(null),p=(0,t.useRef)(null),h=(0,t.useRef)(null),f=(0,t.useRef)(null),m=(0,t.useRef)("1fr"),g=(0,t.useRef)(void 0),y=(0,t.useRef)(void 0),b=tl[e].dim,v=tl[e].axis,w=tl[e].min,S=tl[e].max;!function(e,r,n=0,a){const o=(0,Re.throttle)(r,n);(0,t.useLayoutEffect)((()=>{if(!e)return;const t=new ResizeObserver(o);return t.observe(e,{box:"device-pixel-content-box"}),()=>t.disconnect()}),a)}(h.current,(e=>{for(const t of e){if(!t.target.isSameNode(h.current))return;const e=d.current.getBoundingClientRect()[b],r=al(d.current);c.current.ariaValueNow=`${(0,Re.clamp)((e-r[w])/(r[S]-r[w])*100,0,100)}`}}),500,[S,w,e,b]);const _=(0,t.useRef)(null),O=(0,t.useCallback)((e=>{m.current=d.current.getBoundingClientRect()[b],f.current=h.current.getBoundingClientRect()[b],_.current=e[v],c.current.setPointerCapture(e.pointerId),g.current=al(d.current),y.current=void 0}),[b,v]),x=(0,t.useCallback)((e=>{if(null!==_.current&&"1fr"!==m.current){const t=e[v]-_.current,r=g.current,a=(0,Re.clamp)(m.current+t,r[w],r[S]),o=a/(f.current-n);d.current.style.flexGrow=`${o}`,p.current.style.flexGrow=""+(1-o);const i=(0,Re.clamp)((a-r[w])/(r[S]-r[w])*100,0,100);c.current.ariaValueNow=`${i}`}}),[n,v,w,S]),C=(0,t.useCallback)((e=>{e.preventDefault(),e.stopPropagation(),c.current.releasePointerCapture(e.pointerId),_.current=null,null==s||s(parseFloat(d.current.style.flexGrow))}),[s]),P=(0,t.useRef)(new Set),D=(0,t.useRef)(null),E=(0,t.useCallback)((t=>{var r;if(0===P.current.size)return void(D.current=null);if("1fr"===m.current)return;const a=.3*(t-(null!=(r=D.current)?r:t));let o=0;"row"===e?(P.current.has("ArrowLeft")&&(o-=a),P.current.has("ArrowRight")&&(o+=a)):(P.current.has("ArrowUp")&&(o-=a),P.current.has("ArrowDown")&&(o+=a));const i=g.current,s=d.current.getBoundingClientRect()[b],l=(0,Re.clamp)(s+o,i[w],i[S]),u=l/(f.current-n);d.current.style.flexGrow=`${u}`,p.current.style.flexGrow=""+(1-u);const h=(l-i[w])/(i[S]-i[w])*100;c.current.ariaValueNow=`${(0,Re.clamp)(h,0,100)}`,D.current=t,window.requestAnimationFrame(E)}),[e,n,w,S,b]),R=(0,t.useCallback)((t=>{if("Enter"!==t.key){if("Home"===t.key){g.current=al(d.current),f.current=h.current.getBoundingClientRect()[b];const e=g.current[w]/(f.current-n);return d.current.style.flexGrow=`${e}`,p.current.style.flexGrow=""+(1-e),void(c.current.ariaValueNow="0")}if("End"===t.key){g.current=al(d.current),f.current=h.current.getBoundingClientRect()[b];const e=g.current[S]/(f.current-n);return d.current.style.flexGrow=`${e}`,p.current.style.flexGrow=""+(1-e),void(c.current.ariaValueNow="100")}if(("column"===e&&Js.has(t.key)||"row"===e&&el.has(t.key))&&!P.current.has(t.key)&&(y.current=void 0,t.preventDefault(),t.stopPropagation(),m.current=d.current.getBoundingClientRect()[b],f.current=h.current.getBoundingClientRect()[b],g.current=al(d.current),!P.current.has(t.key))){const e=0===P.current.size;P.current.add(t.key),e&&window.requestAnimationFrame(E)}}else void 0===y.current?(y.current=d.current.style.flexGrow,d.current.style.flexGrow="0",p.current.style.flexGrow="1"):(d.current.style.flexGrow=y.current,p.current.style.flexGrow=""+(1-parseFloat(y.current)),y.current=void 0)}),[e,E,n,S,b,w]),j=(0,t.useCallback)((t=>{"row"===e&&!el.has(t.key)||"column"===e&&!Js.has(t.key)||(P.current.delete(t.key),null==s||s(parseFloat(d.current.style.flexGrow)))}),[e,s]),T=(0,t.useCallback)((()=>{d.current.style.flexGrow="0.5",p.current.style.flexGrow="0.5";const e=al(d.current);g.current=e,m.current=d.current.getBoundingClientRect()[b],c.current.ariaValueNow=""+(m.current-e[w])/(e[S]-e[w])*100}),[S,b,w]),k=(0,t.useCallback)((()=>{P.current.size>0&&(P.current.clear(),_.current=null,null==s||s(parseFloat(d.current.style.flexGrow)))}),[s]),A=(0,ar.useStyles2)(nl),I=Ui();return r().createElement("div",{ref:h,className:A.container,style:{flexDirection:e}},r().createElement("div",{ref:d,className:A.panel,style:Zs({flexGrow:"auto"===a?.5:(0,Re.clamp)(a,0,1),[w]:"min-content"},o),id:`start-panel-${I}`},u[0]),r().createElement("div",{ref:c,style:{[b]:`${n}px`},className:(0,or.cx)(A.handle,{[A.handleHorizontal]:"column"===e}),onPointerUp:C,onPointerDown:O,onPointerMove:x,onKeyDown:R,onKeyUp:j,onDoubleClick:T,onBlur:k,role:"separator","aria-valuemin":0,"aria-valuemax":100,"aria-valuenow":50,"aria-controls":`start-panel-${I}`,"aria-label":"Pane resize widget",tabIndex:0}),r().createElement("div",{ref:p,className:A.panel,style:Zs({flexGrow:"auto"===a?.5:(0,Re.clamp)(1-a,0,1),[w]:"min-content"},i),id:`end-panel-${I}`},u[1]))}function nl(e){return{handle:(0,or.css)({cursor:"col-resize",position:"relative",flexShrink:0,userSelect:"none","&::before":{content:'""',position:"absolute",backgroundColor:e.colors.primary.main,left:"50%",transform:"translate(-50%)",top:0,height:"100%",width:"1px",opacity:0,transition:"opacity ease-in-out 0.2s"},"&::after":{content:'""',width:"4px",borderRadius:"4px",backgroundColor:e.colors.border.weak,transition:"background-color ease-in-out 0.2s",height:"50%",top:"calc(50% - (50%) / 2)",transform:"translateX(-50%)",position:"absolute",left:"50%"},"&:hover, &:focus-visible":{outline:"none","&::before":{opacity:1},"&::after":{backgroundColor:e.colors.primary.main}}}),handleHorizontal:(0,or.css)({cursor:"row-resize","&::before":{left:"inherit",transform:"translateY(-50%)",top:"50%",height:"1px",width:"100%"},"&::after":{width:"50%",height:"4px",top:"50%",transform:"translateY(-50%)",left:"calc(50% - (50%) / 2)"}}),container:(0,or.css)({display:"flex",width:"100%",flexGrow:1,overflow:"hidden"}),panel:(0,or.css)({display:"flex",position:"relative",flexBasis:0})}}function al(e){if(null===e)return;const t=document.body.style.overflow,r=e.style.width,n=e.style.height,a=e.style.flexGrow;document.body.style.overflow="hidden",e.style.flexGrow="0";const{width:o,height:i}=e.getBoundingClientRect();e.style.flexGrow="100";const{width:s,height:l}=e.getBoundingClientRect();return document.body.style.overflow=t,e.style.width=r,e.style.height=n,e.style.flexGrow=a,{minWidth:o,maxWidth:s,minHeight:i,maxHeight:l}}(class extends Q{toggleDirection(){this.setState({direction:"row"===this.state.direction?"column":"row"})}isDraggable(){return!1}}).Component=function({model:e}){const{primary:t,secondary:n,direction:a,isHidden:o,initialSize:i,primaryPaneStyles:s,secondaryPaneStyles:l}=e.useState();if(o)return null;const u=t.Component,c=n.Component;return r().createElement(rl,{direction:a,initialSize:null!=i?i:.5,primaryPaneStyles:s,secondaryPaneStyles:l},r().createElement(u,{key:t.state.key,model:t,parentState:e.state}),r().createElement(c,{key:n.state.key,model:n,parentState:e.state}))};class ol extends Q{enrichDataRequest(){return{app:this.state.name||"app"}}}ol.Component=({model:e})=>{const{pages:t}=e.useState();return r().createElement(a.Switch,null,t.map((e=>r().createElement(a.Route,{key:e.state.url,exact:!1,path:e.state.url,render:t=>v(e,t)}))))};var il=Object.defineProperty,sl=Object.getOwnPropertySymbols,ll=Object.prototype.hasOwnProperty,ul=Object.prototype.propertyIsEnumerable,cl=(e,t,r)=>t in e?il(e,t,{enumerable:!0,configurable:!0,writable:!0,value:r}):e[t]=r;class dl extends Q{}function pl({node:e}){const t=e.useState(),n=(0,ar.useStyles2)(hl);return r().createElement("div",{className:n.container},Object.keys(t).map((a=>r().createElement("div",{className:n.row,key:a},r().createElement("div",{className:n.keyName},a),r().createElement("div",{className:n.value},function(e,t,n){if(null===t)return"null";switch(typeof t){case"number":return r().createElement(ar.Input,{type:"number",defaultValue:t,onBlur:t=>n.setState({[e]:t.currentTarget.valueAsNumber})});case"string":return r().createElement(ar.Input,{type:"text",defaultValue:t,onBlur:t=>n.setState({[e]:t.currentTarget.value})});case"object":return Mr(t)?t.constructor.name:(0,Re.isPlainObject)(t)||(0,Re.isArray)(t)?r().createElement(ar.JSONFormatter,{json:t,open:0}):String(t);default:return typeof t}}(a,t[a],e))))))}function hl(e){return{container:(0,or.css)({flexGrow:1,display:"flex",gap:e.spacing(.5),flexDirection:"column"}),row:(0,or.css)({display:"flex",gap:e.spacing(2)}),keyName:(0,or.css)({display:"flex",flexGrow:"0",width:120,alignItems:"center",height:e.spacing(e.components.height.md)}),value:(0,or.css)({flexGrow:1,minHeight:e.spacing(e.components.height.md),display:"flex",alignItems:"center"})}}function fl({node:e,selectedObject:t,onSelect:n}){const a=(0,ar.useStyles2)(ml),o=[],i=e===t;return e.forEachChild((e=>{o.push(r().createElement(fl,{node:e,key:e.state.key,selectedObject:t,onSelect:n}))})),r().createElement("div",{className:a.container},r().createElement("div",{className:(0,or.cx)(a.name,i&&a.selected),onClick:()=>n(e)},e.constructor.name),r().createElement("div",{className:a.children},o))}function ml(e){return{container:(0,or.css)({flexGrow:1,display:"flex",gap:e.spacing(.5),flexDirection:"column"}),name:(0,or.css)({flexGrow:1,display:"flex",gap:e.spacing(1),fontSize:e.typography.bodySmall.fontSize,cursor:"pointer",padding:e.spacing(0,1),borderRadius:e.shape.borderRadius(2),position:"relative","&:hover":{background:e.colors.background.secondary}}),selected:(0,or.css)({"&::before":{display:"block",content:"' '",position:"absolute",left:0,width:4,bottom:2,top:2,borderRadius:e.shape.radius.default,backgroundImage:e.colors.gradients.brandVertical}}),children:(0,or.css)({flexGrow:1,display:"flex",flexDirection:"column",paddingLeft:e.spacing(1)})}}function gl({scene:e}){const n=(0,ar.useStyles2)(yl),[a,o]=(0,t.useState)(!1),[i,s]=(0,t.useState)();return r().createElement(r().Fragment,null,r().createElement(ar.ToolbarButton,{variant:"canvas",icon:"bug",onClick:()=>o(!0)}),a&&r().createElement(ar.Drawer,{title:"Scene debugger",onClose:()=>o(!1),size:"lg"},r().createElement("div",{className:n.panes},r().createElement("div",{className:n.pane1},r().createElement("div",{className:n.paneHeading},"Scene graph"),r().createElement(ar.CustomScrollbar,{autoHeightMin:"100%"},r().createElement("div",{className:n.treeWrapper},r().createElement(fl,{node:e,selectedObject:i,onSelect:s})))),r().createElement("div",{className:n.pane2},r().createElement("div",{className:n.paneHeading},"Object details"),i&&r().createElement(pl,{node:i})))))}function yl(e){return{panes:(0,or.css)({flexGrow:1,display:"flex",height:"100%",flexDirection:"row",marginTop:e.spacing(-2)}),pane1:(0,or.css)({flexGrow:0,display:"flex",height:"100%",flexDirection:"column",borderRight:`1px solid ${e.colors.border.weak}`}),pane2:(0,or.css)({flexGrow:1,display:"flex",minHeight:"100%",flexDirection:"column",paddingLeft:e.spacing(2)}),treeWrapper:(0,or.css)({paddingRight:e.spacing(2),height:"100%",marginLeft:e.spacing(-1)}),paneHeading:(0,or.css)({padding:e.spacing(1,0),fontWeight:e.typography.fontWeightMedium})}}function bl({page:e,routeProps:n}){const o=function(e){return e.parent instanceof Sl?e.parent:e}(e),i=o.useState(),s=function(){const e=(0,a.useLocation)();return(0,u.locationSearchToObject)(e.search||"")}(),l=e.getScene(n.match),c=i.initializedScene===l;if((0,t.useLayoutEffect)((()=>{c||o.initializeScene(l)}),[l,o,c]),(0,t.useEffect)((()=>()=>o.setState({initializedScene:void 0})),[o]),!c)return null;const d={text:i.title,img:i.titleImg,icon:i.titleIcon,url:b(i.url,i.preserveUrlKeys),hideFromBreadcrumbs:i.hideFromBreadcrumbs,parentItem:vl(i.getParentPage?i.getParentPage():o.parent)};i.tabs&&(d.children=i.tabs.map((t=>({text:t.state.title,icon:t.state.titleIcon,tabSuffix:t.state.tabSuffix,active:e===t,url:b(t.state.url,t.state.preserveUrlKeys),parentItem:d}))));let p=[];return i.controls&&(p=i.controls.map((e=>r().createElement(e.Component,{model:e,key:e.state.key})))),s["scene-debugger"]&&p.push(r().createElement(gl,{scene:o,key:"scene-debugger"})),r().createElement(u.PluginPage,{pageNav:d,actions:p,renderTitle:i.renderTitle,subTitle:i.subTitle},r().createElement(l.Component,{model:l}))}function vl(e,t){if(e instanceof Sl)return{text:e.state.title,url:b(e.state.url,e.state.preserveUrlKeys),hideFromBreadcrumbs:e.state.hideFromBreadcrumbs,parentItem:vl(e.state.getParentPage?e.state.getParentPage():e.parent)}}function wl({drilldown:e,parent:t,routeProps:r}){return v(t.getDrilldownPage(e,r.match),r)}dl.Component=({model:e})=>{const{component:t,props:n,reactNode:a}=e.useState();return t?r().createElement(t,((e,t)=>{for(var r in t||(t={}))ll.call(t,r)&&cl(e,r,t[r]);if(sl)for(var r of sl(t))ul.call(t,r)&&cl(e,r,t[r]);return e})({},n)):a||null};class Sl extends Q{constructor(e){super(e),this._sceneCache=new Map,this._drilldownCache=new Map,this.addActivationHandler((()=>()=>Ro().cleanUp(this)))}initializeScene(e){this.setState({initializedScene:e}),Ro().initSync(this)}getScene(e){let t=this._sceneCache.get(e.url);if(t)return t;if(!this.state.getScene)throw new Error("Missing getScene on SceneAppPage "+this.state.title);return t=this.state.getScene(e),this._sceneCache.set(e.url,t),t}getDrilldownPage(e,t){let r=this._drilldownCache.get(t.url);return r||(r=e.getPage(t,this),this._drilldownCache.set(t.url,r),r)}enrichDataRequest(e){if(this.state.getParentPage)return this.state.getParentPage().enrichDataRequest(e);if(!this.parent)return null;const t=this.getRoot();return zr(t)?t.enrichDataRequest(e):null}}Sl.Component=function({model:e,routeProps:t}){var n,o;const{tabs:i,drilldowns:s}=e.useState(),l=[];if(i&&i.length>0)for(let t=0;tv(s,e)})),l.push(r().createElement(a.Route,{exact:!0,key:s.state.url,path:null!=(o=s.state.routePath)?o:s.state.url,render:e=>v(s,e)})),s.state.drilldowns)for(const e of s.state.drilldowns)l.push(r().createElement(a.Route,{exact:!1,key:e.routePath,path:e.routePath,render:t=>r().createElement(wl,{drilldown:e,parent:s,routeProps:t})}))}if(s)for(const t of s)l.push(r().createElement(a.Route,{key:t.routePath,exact:!1,path:t.routePath,render:n=>r().createElement(wl,{drilldown:t,parent:e,routeProps:n})}));return!i&&(u=e,(c=t.match).isExact&&(c.url===u.state.url||u.parent instanceof Sl&&u.parent.state.tabs[0]===u&&u.parent.state.url===c.url))?r().createElement(bl,{page:e,routeProps:t}):(l.push(function(e,t){return r().createElement(a.Route,{key:"fallback route",render:n=>{var a,o,i;const s=null!=(i=null==(o=(a=e.state).getFallbackPage)?void 0:o.call(a))?i:new Sl({url:"",title:"Not found",subTitle:"The url did not match any page",getScene:()=>new jo({body:new zs({direction:"column",children:[new Ns({body:new dl({component:()=>r().createElement("div",{"data-testid":"default-fallback-content"},"If you found your way here using a link then there might be a bug in this application.")})})]})})});return r().createElement(bl,{page:s,routeProps:t})}})}(e,t)),r().createElement(a.Switch,null,l));var u,c};var _l=(e=>(e.Always="always",e.Auto="auto",e.Never="never",e))(_l||{}),Ol=(e=>(e.Hue="hue",e.None="none",e.Opacity="opacity",e.Scheme="scheme",e))(Ol||{}),xl=(e=>(e.None="none",e.Normal="normal",e.Percent="percent",e))(xl||{}),Cl=(e=>(e.Auto="auto",e.Horizontal="horizontal",e.Vertical="vertical",e))(Cl||{}),Pl=(e=>(e.Background="background",e.BackgroundSolid="background_solid",e.None="none",e.Value="value",e))(Pl||{}),Dl=(e=>(e.Area="area",e.Line="line",e.None="none",e))(Dl||{}),El=(e=>(e.Auto="auto",e.Center="center",e))(El||{}),Rl=(e=>(e.Auto="auto",e.Name="name",e.None="none",e.Value="value",e.ValueAndName="value_and_name",e))(Rl||{}),jl=(e=>(e.Basic="basic",e.Gradient="gradient",e.Lcd="lcd",e))(jl||{}),Tl=(e=>(e.Color="color",e.Hidden="hidden",e.Text="text",e))(Tl||{}),kl=(e=>(e.Lg="lg",e.Md="md",e.Sm="sm",e))(kl||{});Cl.Auto,_l.Auto,xl.None,Ol.None,jl.Gradient,Tl.Color,_l.Auto,Ol.None,Pl.Value,Dl.Area,El.Auto,Rl.Auto,_l.Auto,_l.Auto,kl.Sm,_l.Auto;class Al{constructor(){this._overrides=[]}overrideColor(e){return this._overrides[this._overrides.length-1].properties.push({id:"color",value:e}),this}overrideDecimals(e){return this._overrides[this._overrides.length-1].properties.push({id:"decimals",value:e}),this}overrideDisplayName(e){return this._overrides[this._overrides.length-1].properties.push({id:"displayName",value:e}),this}overrideFilterable(e){return this._overrides[this._overrides.length-1].properties.push({id:"filterable",value:e}),this}overrideLinks(e){return this._overrides[this._overrides.length-1].properties.push({id:"links",value:e}),this}overrideMappings(e){return this._overrides[this._overrides.length-1].properties.push({id:"mappings",value:e}),this}overrideMax(e){return this._overrides[this._overrides.length-1].properties.push({id:"max",value:e}),this}overrideMin(e){return this._overrides[this._overrides.length-1].properties.push({id:"min",value:e}),this}overrideNoValue(e){return this._overrides[this._overrides.length-1].properties.push({id:"noValue",value:e}),this}overrideThresholds(e){return this._overrides[this._overrides.length-1].properties.push({id:"thresholds",value:e}),this}overrideUnit(e){return this._overrides[this._overrides.length-1].properties.push({id:"unit",value:e}),this}}class Il extends Al{match(e){return this._overrides.push({matcher:e,properties:[]}),this}matchFieldsWithName(t){return this._overrides.push({matcher:{id:e.FieldMatcherID.byName,options:t},properties:[]}),this}matchFieldsWithNameByRegex(t){return this._overrides.push({matcher:{id:e.FieldMatcherID.byRegexp,options:t},properties:[]}),this}matchFieldsByType(t){return this._overrides.push({matcher:{id:e.FieldMatcherID.byType,options:t},properties:[]}),this}matchFieldsByQuery(t){return this._overrides.push({matcher:{id:e.FieldMatcherID.byFrameRefID,options:t},properties:[]}),this}matchFieldsByValue(t){return this._overrides.push({matcher:{id:e.FieldMatcherID.byValue,options:t},properties:[]}),this}matchComparisonQuery(e){return this.matchFieldsByQuery(br(e))}overrideCustomFieldConfig(e,t){const r=`custom.${String(e)}`;return this._overrides[this._overrides.length-1].properties.push({id:r,value:t}),this}build(){return this._overrides}}var Fl=Object.defineProperty,Vl=Object.defineProperties,Ll=Object.getOwnPropertyDescriptors,Ml=Object.getOwnPropertySymbols,zl=Object.prototype.hasOwnProperty,Nl=Object.prototype.propertyIsEnumerable,Hl=(e,t,r)=>t in e?Fl(e,t,{enumerable:!0,configurable:!0,writable:!0,value:r}):e[t]=r,Bl=(e,t)=>{for(var r in t||(t={}))zl.call(t,r)&&Hl(e,r,t[r]);if(Ml)for(var r of Ml(t))Nl.call(t,r)&&Hl(e,r,t[r]);return e},Ul=(e,t)=>Vl(e,Ll(t));class $l{constructor(e){this.defaultFieldConfig=e,this._fieldConfig={defaults:{},overrides:[]},this._overridesBuilder=new Il,this.setDefaults()}setDefaults(){const e={defaults:{custom:this.defaultFieldConfig?(0,Re.cloneDeep)(this.defaultFieldConfig()):{}},overrides:[]};this._fieldConfig=e}setColor(e){return this.setFieldConfigDefaults("color",e)}setDecimals(e){return this.setFieldConfigDefaults("decimals",e)}setDisplayName(e){return this.setFieldConfigDefaults("displayName",e)}setFilterable(e){return this.setFieldConfigDefaults("filterable",e)}setLinks(e){return this.setFieldConfigDefaults("links",e)}setMappings(e){return this.setFieldConfigDefaults("mappings",e)}setMax(e){return this.setFieldConfigDefaults("max",e)}setMin(e){return this.setFieldConfigDefaults("min",e)}setNoValue(e){return this.setFieldConfigDefaults("noValue",e)}setThresholds(e){return this.setFieldConfigDefaults("thresholds",e)}setUnit(e){return this.setFieldConfigDefaults("unit",e)}setCustomFieldConfig(e,t){return this._fieldConfig.defaults=Ul(Bl({},this._fieldConfig.defaults),{custom:(0,Re.merge)(this._fieldConfig.defaults.custom,{[e]:t})}),this}setOverrides(e){return e(this._overridesBuilder),this}setFieldConfigDefaults(e,t){return this._fieldConfig.defaults=Ul(Bl({},this._fieldConfig.defaults),{[e]:t}),this}build(){return{defaults:this._fieldConfig.defaults,overrides:this._overridesBuilder.build()}}}class Wl{constructor(e){this.defaultOptions=e,this._options={},this.setDefaults()}setDefaults(){this._options=this.defaultOptions?(0,Re.cloneDeep)(this.defaultOptions()):{}}setOption(e,t){return this._options=(0,Re.merge)(this._options,{[e]:t}),this}build(){return this._options}}var ql=Object.defineProperty,Gl=Object.defineProperties,Ql=Object.getOwnPropertyDescriptors,Yl=Object.getOwnPropertySymbols,Kl=Object.prototype.hasOwnProperty,Xl=Object.prototype.propertyIsEnumerable,Zl=(e,t,r)=>t in e?ql(e,t,{enumerable:!0,configurable:!0,writable:!0,value:r}):e[t]=r;class Jl{constructor(e,t,r,n){this._state={},this._state.title="",this._state.description="",this._state.displayMode="default",this._state.hoverHeader=!1,this._state.pluginId=e,this._state.pluginVersion=t,this._fieldConfigBuilder=new $l(n),this._panelOptionsBuilder=new Wl(r)}setTitle(e){return this._state.title=e,this}setDescription(e){return this._state.description=e,this}setDisplayMode(e){return this._state.displayMode=e,this}setHoverHeader(e){return this._state.hoverHeader=e,this}setMenu(e){return this._state.menu=e,this}setHeaderActions(e){return this._state.headerActions=e,this}setColor(e){return this._fieldConfigBuilder.setColor(e),this}setDecimals(e){return this._fieldConfigBuilder.setDecimals(e),this}setDisplayName(e){return this._fieldConfigBuilder.setDisplayName(e),this}setFilterable(e){return this._fieldConfigBuilder.setFilterable(e),this}setLinks(e){return this._fieldConfigBuilder.setLinks(e),this}setMappings(e){return this._fieldConfigBuilder.setMappings(e),this}setMax(e){return this._fieldConfigBuilder.setMax(e),this}setMin(e){return this._fieldConfigBuilder.setMin(e),this}setNoValue(e){return this._fieldConfigBuilder.setNoValue(e),this}setThresholds(e){return this._fieldConfigBuilder.setThresholds(e),this}setUnit(e){return this._fieldConfigBuilder.setUnit(e),this}setCustomFieldConfig(e,t){return this._fieldConfigBuilder.setCustomFieldConfig(e,t),this}setOverrides(e){return this._fieldConfigBuilder.setOverrides(e),this}setOption(e,t){return this._panelOptionsBuilder.setOption(e,t),this}setData(e){return this._state.$data=e,this}setTimeRange(e){return this._state.$timeRange=e,this}setVariables(e){return this._state.$variables=e,this}setBehaviors(e){return this._state.$behaviors=e,this}build(){const e=new _i(((e,t)=>Gl(e,Ql(t)))(((e,t)=>{for(var r in t||(t={}))Kl.call(t,r)&&Zl(e,r,t[r]);if(Yl)for(var r of Yl(t))Xl.call(t,r)&&Zl(e,r,t[r]);return e})({},this._state),{options:this._panelOptionsBuilder.build(),fieldConfig:this._fieldConfigBuilder.build()}));return e}}const eu=()=>new Jl("timeseries","10.0.0"),tu=()=>{const e=new Jr({datasource:s.CACHE_STATS,queries:[{refId:"A",query:'SELECT mean(value) FROM "monthly"."bandwidth.1min" WHERE hostname=\'$hostname\' AND $timeFilter GROUP BY time(60s)',rawQuery:!0,resultFormat:"time_series",alias:"bandwidth"}]});return eu().setTitle("Bandwidth").setData(e).setCustomFieldConfig("fillOpacity",20).setOption("legend",{showLegend:!0,calcs:["max"]}).setUnit("kbps").build()},ru=()=>{const e=new Jr({datasource:s.CACHE_STATS,queries:[{refId:"A",query:'SELECT mean(value) FROM "monthly"."connections.1min" WHERE hostname=\'$hostname\' AND $timeFilter GROUP BY time(60s)',rawQuery:!0,resultFormat:"time_series",alias:"connections"}]});return eu().setTitle("Connections").setData(e).setCustomFieldConfig("fillOpacity",20).setOption("legend",{showLegend:!0,calcs:["max"]}).setCustomFieldConfig("spanNulls",!0).build()},nu=()=>{const e=new Jr({datasource:s.TELEGRAF,queries:[{refId:"A",query:'SELECT mean("usage_system") AS "cpu_system", mean("usage_iowait") AS "cpu_iowait", mean("usage_user") AS "cpu_user", mean("usage_guest") AS "cpu_guest", mean("usage_steal") AS "cpu_steal" FROM "cpu" WHERE host=\'$hostname\' AND $timeFilter GROUP BY time($interval) fill(null)',rawQuery:!0,resultFormat:"time_series",alias:"$col"}]});return eu().setTitle("CPU Usage").setData(e).setUnit("%").setCustomFieldConfig("spanNulls",!0).setCustomFieldConfig("fillOpacity",20).build()},au=()=>{const e=new Jr({datasource:s.TELEGRAF,queries:[{refId:"A",query:'SELECT mean("load1") AS "load1", mean("load5") AS "load5", mean("load15") AS "load15" FROM "system" WHERE host=\'$hostname\' AND $timeFilter GROUP BY time($interval) fill(null)',rawQuery:!0,resultFormat:"time_series",alias:"$col"}]});return eu().setTitle("Load Average").setData(e).setCustomFieldConfig("fillOpacity",20).setCustomFieldConfig("spanNulls",!0).build()},ou=()=>{const e=new Jr({datasource:s.TELEGRAF,queries:[{refId:"A",query:'SELECT mean("used_percent") AS "mem_used" FROM "mem" WHERE host=\'$hostname\' AND $timeFilter GROUP BY time($interval) fill(null)',rawQuery:!0,resultFormat:"time_series",alias:"$col"}]});return eu().setTitle("Memory Usage").setData(e).setCustomFieldConfig("spanNulls",!0).setCustomFieldConfig("fillOpacity",20).setUnit("%").build()},iu=()=>{const e=new Jr({datasource:s.TELEGRAF,queries:[{refId:"A",query:'SELECT mean("tcp_close") AS "tcp_close", mean("tcp_close_wait") AS "tcp_close_wait", mean("tcp_established") AS "tcp_established", mean("tcp_time_wait") AS "tcp_time_wait", mean("tcp_closing") AS "tcp_closing", mean("tcp_fin_wait1") AS "tcp_fin_wait1", mean("tcp_fin_wait2") AS "tcp_fin_wait2", mean("tcp_last_ack") AS "tcp_last_ack", mean("tcp_syn_recv") AS "tcp_syn_recv", mean("tcp_syn_sent") AS "tcp_syn_sent" FROM "netstat" WHERE host=\'$hostname\' AND $timeFilter GROUP BY time($interval) fill(null)',rawQuery:!0,resultFormat:"time_series",alias:"$col"}]});return eu().setTitle("Netstat").setData(e).setCustomFieldConfig("spanNulls",!0).setCustomFieldConfig("fillOpacity",20).build()},su=()=>{const e=new Jr({datasource:s.TELEGRAF,queries:[{refId:"A",query:'SELECT non_negative_derivative(sum("read_time"), 10s) AS "read_time" FROM "diskio" WHERE host=\'$hostname\' AND $timeFilter GROUP BY time($interval) fill(null)',rawQuery:!0,resultFormat:"time_series",alias:"$col"},{refId:"B",query:'SELECT non_negative_derivative(sum("write_time"), 10s) AS "write_time" FROM "diskio" WHERE host=\'$hostname\' AND $timeFilter GROUP BY time($interval) fill(null)',rawQuery:!0,resultFormat:"time_series",alias:"$col"}]});return eu().setTitle("Read/Write Time").setData(e).setCustomFieldConfig("spanNulls",!0).setCustomFieldConfig("fillOpacity",20).setUnit("ns").build()},lu=()=>{const e=new Jr({datasource:s.CACHE_STATS,queries:[{refId:"A",query:'SELECT mean("vol1_wrap_count") AS "vol1", mean("vol2_wrap_count") AS "vol2" FROM "monthly"."wrap_count.1min" WHERE hostname=\'$hostname\' AND $timeFilter GROUP BY time($interval) fill(null)',rawQuery:!0,resultFormat:"time_series",alias:"$col"}]});return eu().setTitle("Wrap Count").setData(e).setCustomFieldConfig("spanNulls",!0).setCustomFieldConfig("fillOpacity",20).build()};function uu(){const e=new Se({from:"now-6h",to:"now"}),t=new da({name:"hostname",datasource:s.CACHE_STATS,query:'SHOW TAG VALUES ON "cache_stats" FROM "monthly"."bandwidth" with key = "hostname"'});return new jo({$timeRange:e,$variables:new _n({variables:[t]}),body:new zs({direction:"column",children:[new Ns({height:250,body:tu()}),new Ns({height:250,body:ru()}),new zs({direction:"row",height:250,children:[new Ns({width:"50%",body:nu()}),new Ns({width:"50%",body:ou()})]}),new zs({direction:"row",height:250,children:[new Ns({width:"50%",body:au()}),new Ns({width:"50%",body:su()})]}),new zs({direction:"row",height:250,children:[new Ns({width:"50%",body:lu()}),new Ns({width:"50%",body:iu()})]})]}),controls:[new yn({}),new Ms,new Cs({isOnCanvas:!0}),new Vs({intervals:["5s","1m","1h"],isOnCanvas:!0})]})}const cu=()=>{const e=(0,t.useMemo)((()=>new ol({pages:[new Sl({title:"Server",url:l(`${i.Server}`),hideFromBreadcrumbs:!0,getScene:uu})]})),[]);return r().createElement(e.Component,{model:e})},du=()=>{const e=new Jr({datasource:s.DELIVERYSERVICE_STATS,queries:[{refId:"A",query:"SELECT mean(value) FROM \"monthly\".\"kbps.ds.1min\" WHERE deliveryservice='$deliveryservice' AND cachegroup = 'total' and $timeFilter GROUP BY time(60s), deliveryservice ORDER BY asc",rawQuery:!0,resultFormat:"time_series",alias:"$tag_deliveryservice",measurement:"bw"}]});return eu().setTitle("Bandwidth").setData(e).setOption("legend",{showLegend:!0,calcs:["max"]}).setCustomFieldConfig("axisCenteredZero",!0).setUnit("bps").build()},pu=()=>{const e=new Jr({datasource:s.DELIVERYSERVICE_STATS,queries:[{refId:"A",query:'SELECT mean(value) FROM "monthly"."tps_2xx.ds.1min" WHERE $timeFilter AND deliveryservice=\'$deliveryservice\' GROUP BY time(60s) ORDER BY asc',rawQuery:!0,resultFormat:"time_series",measurement:"tps_2xx",hide:!1,tags:{deliveryservice:"$deliveryservice"}},{refId:"B",query:'SELECT mean(value) FROM "monthly"."tps_3xx.ds.1min" WHERE $timeFilter AND deliveryservice=\'$deliveryservice\' GROUP BY time(60s) ORDER BY asc',rawQuery:!0,resultFormat:"time_series"},{refId:"C",query:'SELECT mean(value) FROM "monthly"."tps_4xx.ds.1min" WHERE $timeFilter AND deliveryservice=\'$deliveryservice\' GROUP BY time(60s) ORDER BY asc',rawQuery:!0,resultFormat:"time_series"},{refId:"D",query:'SELECT mean(value) FROM "monthly"."tps_5xx.ds.1min" WHERE $timeFilter AND deliveryservice=\'$deliveryservice\' GROUP BY time(60s) ORDER BY asc',rawQuery:!0,resultFormat:"time_series"}]});return eu().setTitle("TPS").setData(e).setOption("legend",{showLegend:!0,calcs:["max"]}).setCustomFieldConfig("axisCenteredZero",!0).setCustomFieldConfig("spanNulls",!0).build()},hu=()=>{const e=new Jr({datasource:s.DELIVERYSERVICE_STATS,queries:[{refId:"A",query:"SELECT mean(value) FROM \"monthly\".\"kbps.cg.1min\" WHERE deliveryservice='$deliveryservice' AND cachegroup != 'all' and $timeFilter GROUP BY time(60s), cachegroup",rawQuery:!0,resultFormat:"time_series",alias:"$tag_cachegroup"}]});return eu().setTitle("Bandwidth by CacheGroup").setData(e).setOption("legend",{showLegend:!0,calcs:["max"]}).setCustomFieldConfig("axisCenteredZero",!0).setCustomFieldConfig("spanNulls",!0).setUnit("bps").build()};function fu(){const e=new Se({from:"now-6h",to:"now"}),t=new da({name:"deliveryservice",datasource:s.DELIVERYSERVICE_STATS,query:'SHOW TAG VALUES ON "deliveryservice_stats" FROM "monthly"."kbps" with key = "deliveryservice"'});return new jo({$timeRange:e,$variables:new _n({variables:[t]}),body:new zs({direction:"column",children:[new Ns({minHeight:300,body:du()}),new Ns({minHeight:300,body:pu()}),new Ns({minHeight:300,body:hu()})]}),controls:[new yn({}),new Ms,new Cs({isOnCanvas:!0}),new Vs({intervals:["5s","1m","1h"],isOnCanvas:!0})]})}const mu=()=>{const e=(0,t.useMemo)((()=>new ol({pages:[new Sl({title:"Delivery Services",url:l(`${i.DeliveryService}`),hideFromBreadcrumbs:!0,getScene:fu})]})),[]);return r().createElement(e.Component,{model:e})},gu=()=>{const e=new Jr({datasource:s.CACHE_STATS,queries:[{refId:"A",query:'SELECT sum(value) FROM "monthly"."bandwidth.1min" WHERE "cachegroup" = \'$cachegroup\' AND $timeFilter GROUP BY time(60s), cachegroup',rawQuery:!0,resultFormat:"time_series",alias:"$tag_cachegroup"}]});return eu().setTitle("Total bandwidth (stacked)").setData(e).setCustomFieldConfig("fillOpacity",20).setOption("legend",{showLegend:!0,calcs:["max"]}).setUnit("Kbits").build()},yu=()=>{const e=new Jr({datasource:s.CACHE_STATS,queries:[{refId:"A",query:'SELECT mean("value") FROM "monthly"."connections.1min" WHERE ("cachegroup" = \'$cachegroup\') AND $timeFilter GROUP BY time($interval), "hostname" fill(null)',rawQuery:!0,resultFormat:"time_series"}]});return eu().setTitle("Connections (stacked)").setCustomFieldConfig("fillOpacity",20).setData(e).setOption("legend",{showLegend:!0,calcs:["max"]}).setCustomFieldConfig("spanNulls",!0).build()};function bu(){const e=new Se({from:"now-6h",to:"now"}),t=new da({name:"cachegroup",datasource:s.CACHE_STATS,query:'SHOW TAG VALUES ON "cache_stats" FROM "monthly"."bandwidth" with key = "cachegroup"'});return new jo({$timeRange:e,$variables:new _n({variables:[t]}),body:new zs({direction:"column",children:[new Ns({minHeight:300,body:gu()}),new Ns({minHeight:300,body:yu()})]}),controls:[new yn({}),new Ms,new Cs({isOnCanvas:!0}),new Vs({intervals:["5s","1m","1h"],isOnCanvas:!0})]})}const vu=()=>{const e=(0,t.useMemo)((()=>new ol({pages:[new Sl({title:"Cache Groups",url:l(`${i.CacheGroup}`),hideFromBreadcrumbs:!0,getScene:bu})]})),[]);return r().createElement(e.Component,{model:e})},wu=()=>r().createElement(a.Switch,null,r().createElement(a.Route,{path:l(`${i.CacheGroup}`),component:vu}),r().createElement(a.Route,{path:l(`${i.DeliveryService}`),component:mu}),r().createElement(a.Route,{path:l(`${i.Server}`),component:cu}),r().createElement(a.Redirect,{to:l(i.CacheGroup)}));class Su extends r().PureComponent{render(){return r().createElement(n.Provider,{value:this.props},r().createElement(wu,null))}}const _u=(new e.AppPlugin).setRootPage(Su)})(),p})())); //# sourceMappingURL=module.js.map \ No newline at end of file diff --git a/infrastructure/cdn-in-a-box/optional/grafana/trafficcontrol-scenes/dist/module.js.map b/infrastructure/cdn-in-a-box/optional/grafana/trafficcontrol-scenes/dist/module.js.map index 29f34e22b4..ebcd5ba165 100644 --- a/infrastructure/cdn-in-a-box/optional/grafana/trafficcontrol-scenes/dist/module.js.map +++ b/infrastructure/cdn-in-a-box/optional/grafana/trafficcontrol-scenes/dist/module.js.map @@ -1 +1 @@ -{"version":3,"file":"module.js","mappings":"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","sources":["webpack://trafficcontrol-scenes-app/../node_modules/clsx/dist/clsx.m.js","webpack://trafficcontrol-scenes-app/../node_modules/lodash.isequal/index.js","webpack://trafficcontrol-scenes-app/../node_modules/prop-types/factoryWithThrowingShims.js","webpack://trafficcontrol-scenes-app/../node_modules/prop-types/index.js","webpack://trafficcontrol-scenes-app/../node_modules/prop-types/lib/ReactPropTypesSecret.js","webpack://trafficcontrol-scenes-app/../node_modules/react-draggable/build/cjs/Draggable.js","webpack://trafficcontrol-scenes-app/../node_modules/react-draggable/build/cjs/DraggableCore.js","webpack://trafficcontrol-scenes-app/../node_modules/react-draggable/build/cjs/cjs.js","webpack://trafficcontrol-scenes-app/../node_modules/react-draggable/build/cjs/utils/domFns.js","webpack://trafficcontrol-scenes-app/../node_modules/react-draggable/build/cjs/utils/getPrefix.js","webpack://trafficcontrol-scenes-app/../node_modules/react-draggable/build/cjs/utils/log.js","webpack://trafficcontrol-scenes-app/../node_modules/react-draggable/build/cjs/utils/positionFns.js","webpack://trafficcontrol-scenes-app/../node_modules/react-draggable/build/cjs/utils/shims.js","webpack://trafficcontrol-scenes-app/../node_modules/react-grid-layout/build/GridItem.js","webpack://trafficcontrol-scenes-app/../node_modules/react-grid-layout/build/ReactGridLayout.js","webpack://trafficcontrol-scenes-app/../node_modules/react-grid-layout/build/ReactGridLayoutPropTypes.js","webpack://trafficcontrol-scenes-app/../node_modules/react-grid-layout/build/ResponsiveReactGridLayout.js","webpack://trafficcontrol-scenes-app/../node_modules/react-grid-layout/build/calculateUtils.js","webpack://trafficcontrol-scenes-app/../node_modules/react-grid-layout/build/components/WidthProvider.js","webpack://trafficcontrol-scenes-app/../node_modules/react-grid-layout/build/fastRGLPropsEqual.js","webpack://trafficcontrol-scenes-app/../node_modules/react-grid-layout/build/responsiveUtils.js","webpack://trafficcontrol-scenes-app/../node_modules/react-grid-layout/build/utils.js","webpack://trafficcontrol-scenes-app/../node_modules/react-grid-layout/index.js","webpack://trafficcontrol-scenes-app/../node_modules/react-resizable/build/Resizable.js","webpack://trafficcontrol-scenes-app/../node_modules/react-resizable/build/ResizableBox.js","webpack://trafficcontrol-scenes-app/../node_modules/react-resizable/build/propTypes.js","webpack://trafficcontrol-scenes-app/../node_modules/react-resizable/build/utils.js","webpack://trafficcontrol-scenes-app/../node_modules/react-resizable/index.js","webpack://trafficcontrol-scenes-app/external amd \"@emotion/css\"","webpack://trafficcontrol-scenes-app/external amd \"@grafana/data\"","webpack://trafficcontrol-scenes-app/external amd \"@grafana/runtime\"","webpack://trafficcontrol-scenes-app/external amd \"@grafana/ui\"","webpack://trafficcontrol-scenes-app/external amd \"lodash\"","webpack://trafficcontrol-scenes-app/external amd \"react\"","webpack://trafficcontrol-scenes-app/external amd \"react-dom\"","webpack://trafficcontrol-scenes-app/external amd \"react-router-dom\"","webpack://trafficcontrol-scenes-app/external amd \"rxjs\"","webpack://trafficcontrol-scenes-app/webpack/bootstrap","webpack://trafficcontrol-scenes-app/webpack/runtime/compat get default export","webpack://trafficcontrol-scenes-app/webpack/runtime/define property getters","webpack://trafficcontrol-scenes-app/webpack/runtime/global","webpack://trafficcontrol-scenes-app/webpack/runtime/hasOwnProperty shorthand","webpack://trafficcontrol-scenes-app/webpack/runtime/make namespace object","webpack://trafficcontrol-scenes-app/webpack/runtime/node module decorator","webpack://trafficcontrol-scenes-app/./utils/utils.plugin.ts","webpack://trafficcontrol-scenes-app/./constants.ts","webpack://trafficcontrol-scenes-app/./utils/utils.routing.ts","webpack://trafficcontrol-scenes-app/../node_modules/@grafana/scenes/dist/esm/components/SceneApp/utils.js","webpack://trafficcontrol-scenes-app/../node_modules/@grafana/scenes/dist/esm/components/VizPanel/registerRuntimePanelPlugin.js","webpack://trafficcontrol-scenes-app/../node_modules/@grafana/scenes/node_modules/uuid/dist/esm-browser/native.js","webpack://trafficcontrol-scenes-app/../node_modules/@grafana/scenes/node_modules/uuid/dist/esm-browser/rng.js","webpack://trafficcontrol-scenes-app/../node_modules/@grafana/scenes/node_modules/uuid/dist/esm-browser/stringify.js","webpack://trafficcontrol-scenes-app/../node_modules/@grafana/scenes/node_modules/uuid/dist/esm-browser/v4.js","webpack://trafficcontrol-scenes-app/../node_modules/@grafana/scenes/dist/esm/core/SceneComponentWrapper.js","webpack://trafficcontrol-scenes-app/../node_modules/@grafana/scenes/dist/esm/core/events.js","webpack://trafficcontrol-scenes-app/../node_modules/@grafana/scenes/dist/esm/core/SceneObjectRef.js","webpack://trafficcontrol-scenes-app/../node_modules/@grafana/scenes/dist/esm/core/SceneObjectBase.js","webpack://trafficcontrol-scenes-app/../node_modules/@grafana/scenes/dist/esm/core/sceneGraph/utils.js","webpack://trafficcontrol-scenes-app/../node_modules/@grafana/scenes/dist/esm/querying/RuntimeDataSource.js","webpack://trafficcontrol-scenes-app/../node_modules/@grafana/schema/dist/esm/raw/dashboard/x/dashboard_types.gen.js","webpack://trafficcontrol-scenes-app/../node_modules/@grafana/scenes/dist/esm/core/SceneDataNode.js","webpack://trafficcontrol-scenes-app/../node_modules/@grafana/scenes/dist/esm/services/SceneObjectUrlSyncConfig.js","webpack://trafficcontrol-scenes-app/../node_modules/@grafana/scenes/dist/esm/utils/parseUrlParam.js","webpack://trafficcontrol-scenes-app/../node_modules/@grafana/scenes/dist/esm/utils/evaluateTimeRange.js","webpack://trafficcontrol-scenes-app/../node_modules/@grafana/scenes/dist/esm/core/SceneTimeRange.js","webpack://trafficcontrol-scenes-app/../node_modules/@grafana/scenes/dist/esm/variables/interpolation/defaults.js","webpack://trafficcontrol-scenes-app/../node_modules/@grafana/scenes/dist/esm/core/sceneGraph/getTimeRange.js","webpack://trafficcontrol-scenes-app/../node_modules/@grafana/schema/dist/esm/common/common.gen.js","webpack://trafficcontrol-scenes-app/../node_modules/@grafana/scenes/dist/esm/variables/types.js","webpack://trafficcontrol-scenes-app/../node_modules/@grafana/scenes/dist/esm/variables/interpolation/fieldAccessorCache.js","webpack://trafficcontrol-scenes-app/../node_modules/@grafana/scenes/dist/esm/variables/interpolation/ScopedVarsVariable.js","webpack://trafficcontrol-scenes-app/../node_modules/@grafana/scenes/dist/esm/variables/interpolation/formatRegistry.js","webpack://trafficcontrol-scenes-app/../node_modules/@grafana/scenes/dist/esm/variables/constants.js","webpack://trafficcontrol-scenes-app/../node_modules/@grafana/scenes/dist/esm/variables/lookupVariable.js","webpack://trafficcontrol-scenes-app/../node_modules/@grafana/scenes/dist/esm/querying/SceneDataLayers.js","webpack://trafficcontrol-scenes-app/../node_modules/@grafana/scenes/dist/esm/core/sceneGraph/sceneGraph.js","webpack://trafficcontrol-scenes-app/../node_modules/@grafana/scenes/dist/esm/variables/macros/types.js","webpack://trafficcontrol-scenes-app/../node_modules/@grafana/scenes/dist/esm/variables/macros/timeMacros.js","webpack://trafficcontrol-scenes-app/../node_modules/@grafana/scenes/dist/esm/variables/macros/AllVariablesMacro.js","webpack://trafficcontrol-scenes-app/../node_modules/@grafana/scenes/dist/esm/variables/macros/templateProxies.js","webpack://trafficcontrol-scenes-app/../node_modules/@grafana/scenes/dist/esm/variables/macros/dataMacros.js","webpack://trafficcontrol-scenes-app/../node_modules/@grafana/scenes/dist/esm/variables/macros/urlMacros.js","webpack://trafficcontrol-scenes-app/../node_modules/@grafana/scenes/dist/esm/variables/macros/index.js","webpack://trafficcontrol-scenes-app/../node_modules/@grafana/scenes/dist/esm/variables/macros/contextMacros.js","webpack://trafficcontrol-scenes-app/../node_modules/@grafana/scenes/dist/esm/core/sceneGraph/index.js","webpack://trafficcontrol-scenes-app/../node_modules/@grafana/scenes/dist/esm/variables/interpolation/sceneInterpolator.js","webpack://trafficcontrol-scenes-app/../node_modules/@grafana/scenes/dist/esm/variables/utils.js","webpack://trafficcontrol-scenes-app/../node_modules/@grafana/scenes/dist/esm/variables/VariableDependencyConfig.js","webpack://trafficcontrol-scenes-app/../node_modules/@grafana/scenes/dist/esm/behaviors/CursorSync.js","webpack://trafficcontrol-scenes-app/../node_modules/@grafana/scenes/dist/esm/utils/getDataSource.js","webpack://trafficcontrol-scenes-app/../node_modules/@grafana/scenes/dist/esm/variables/VariableValueRecorder.js","webpack://trafficcontrol-scenes-app/../node_modules/rxjs/dist/esm5/internal/util/isFunction.js","webpack://trafficcontrol-scenes-app/../node_modules/@grafana/scenes/dist/esm/querying/layers/SceneDataLayerBase.js","webpack://trafficcontrol-scenes-app/../node_modules/rxjs/node_modules/tslib/tslib.es6.mjs","webpack://trafficcontrol-scenes-app/../node_modules/rxjs/dist/esm5/internal/util/UnsubscriptionError.js","webpack://trafficcontrol-scenes-app/../node_modules/rxjs/dist/esm5/internal/util/createErrorClass.js","webpack://trafficcontrol-scenes-app/../node_modules/rxjs/dist/esm5/internal/util/arrRemove.js","webpack://trafficcontrol-scenes-app/../node_modules/rxjs/dist/esm5/internal/Subscription.js","webpack://trafficcontrol-scenes-app/../node_modules/rxjs/dist/esm5/internal/config.js","webpack://trafficcontrol-scenes-app/../node_modules/rxjs/dist/esm5/internal/scheduler/timeoutProvider.js","webpack://trafficcontrol-scenes-app/../node_modules/rxjs/dist/esm5/internal/util/noop.js","webpack://trafficcontrol-scenes-app/../node_modules/rxjs/dist/esm5/internal/NotificationFactories.js","webpack://trafficcontrol-scenes-app/../node_modules/rxjs/dist/esm5/internal/util/errorContext.js","webpack://trafficcontrol-scenes-app/../node_modules/rxjs/dist/esm5/internal/Subscriber.js","webpack://trafficcontrol-scenes-app/../node_modules/rxjs/dist/esm5/internal/util/reportUnhandledError.js","webpack://trafficcontrol-scenes-app/../node_modules/rxjs/dist/esm5/internal/operators/OperatorSubscriber.js","webpack://trafficcontrol-scenes-app/../node_modules/rxjs/dist/esm5/internal/symbol/observable.js","webpack://trafficcontrol-scenes-app/../node_modules/rxjs/dist/esm5/internal/util/identity.js","webpack://trafficcontrol-scenes-app/../node_modules/rxjs/dist/esm5/internal/Observable.js","webpack://trafficcontrol-scenes-app/../node_modules/rxjs/dist/esm5/internal/util/pipe.js","webpack://trafficcontrol-scenes-app/../node_modules/rxjs/dist/esm5/internal/symbol/iterator.js","webpack://trafficcontrol-scenes-app/../node_modules/@grafana/scenes/dist/esm/querying/layers/annotations/standardAnnotationsSupport.js","webpack://trafficcontrol-scenes-app/../node_modules/@grafana/scenes/dist/esm/utils/writeSceneLog.js","webpack://trafficcontrol-scenes-app/../node_modules/@grafana/scenes/dist/esm/querying/layers/annotations/standardAnnotationQuery.js","webpack://trafficcontrol-scenes-app/../node_modules/@grafana/scenes/dist/esm/querying/layers/annotations/utils.js","webpack://trafficcontrol-scenes-app/../node_modules/@grafana/scenes/dist/esm/querying/layers/annotations/AnnotationsDataLayer.js","webpack://trafficcontrol-scenes-app/../node_modules/@grafana/scenes/dist/esm/core/SceneTimeZoneOverride.js","webpack://trafficcontrol-scenes-app/../node_modules/@grafana/scenes/dist/esm/components/SceneTimeRangeCompare.js","webpack://trafficcontrol-scenes-app/../node_modules/@grafana/scenes/dist/esm/utils/getCompareSeriesRefId.js","webpack://trafficcontrol-scenes-app/../node_modules/@grafana/scenes/dist/esm/querying/timeShiftQueryResponseOperator.js","webpack://trafficcontrol-scenes-app/../node_modules/@grafana/scenes/dist/esm/querying/layers/annotations/filterAnnotations.js","webpack://trafficcontrol-scenes-app/../node_modules/@grafana/scenes/dist/esm/core/types.js","webpack://trafficcontrol-scenes-app/../node_modules/@grafana/scenes/dist/esm/variables/adhoc/patchGetAdhocFilters.js","webpack://trafficcontrol-scenes-app/../node_modules/@grafana/scenes/dist/esm/querying/SceneQueryRunner.js","webpack://trafficcontrol-scenes-app/../node_modules/@grafana/scenes/dist/esm/querying/getEnrichedDataRequest.js","webpack://trafficcontrol-scenes-app/../node_modules/@grafana/scenes/node_modules/@grafana/e2e-selectors/dist/esm/selectors/components.js","webpack://trafficcontrol-scenes-app/../node_modules/@grafana/scenes/node_modules/@grafana/e2e-selectors/dist/esm/selectors/index.js","webpack://trafficcontrol-scenes-app/../node_modules/@grafana/scenes/node_modules/@grafana/e2e-selectors/dist/esm/selectors/pages.js","webpack://trafficcontrol-scenes-app/../node_modules/@grafana/scenes/dist/esm/utils/LoadingIndicator.js","webpack://trafficcontrol-scenes-app/../node_modules/@grafana/scenes/dist/esm/utils/ControlsLabel.js","webpack://trafficcontrol-scenes-app/../node_modules/@grafana/scenes/dist/esm/querying/layers/SceneDataLayerControls.js","webpack://trafficcontrol-scenes-app/../node_modules/@grafana/scenes/dist/esm/querying/SceneDataTransformer.js","webpack://trafficcontrol-scenes-app/../node_modules/@grafana/scenes/dist/esm/variables/components/VariableValueSelectors.js","webpack://trafficcontrol-scenes-app/../node_modules/@grafana/scenes/dist/esm/variables/sets/SceneVariableSet.js","webpack://trafficcontrol-scenes-app/../node_modules/@grafana/scenes/dist/esm/variables/components/VariableValueSelect.js","webpack://trafficcontrol-scenes-app/../node_modules/@grafana/scenes/dist/esm/variables/variants/ConstantVariable.js","webpack://trafficcontrol-scenes-app/../node_modules/@grafana/scenes/dist/esm/variables/variants/MultiValueVariable.js","webpack://trafficcontrol-scenes-app/../node_modules/@grafana/scenes/dist/esm/utils/utils.js","webpack://trafficcontrol-scenes-app/../node_modules/@grafana/scenes/dist/esm/variables/variants/CustomVariable.js","webpack://trafficcontrol-scenes-app/../node_modules/@grafana/scenes/dist/esm/variables/variants/DataSourceVariable.js","webpack://trafficcontrol-scenes-app/../node_modules/@grafana/scenes/dist/esm/variables/variants/query/guards.js","webpack://trafficcontrol-scenes-app/../node_modules/@grafana/scenes/dist/esm/variables/variants/query/createQueryVariableRunner.js","webpack://trafficcontrol-scenes-app/../node_modules/@grafana/scenes/dist/esm/variables/variants/query/utils.js","webpack://trafficcontrol-scenes-app/../node_modules/@grafana/scenes/dist/esm/variables/variants/query/QueryVariable.js","webpack://trafficcontrol-scenes-app/../node_modules/@grafana/scenes/dist/esm/variables/variants/query/toMetricFindValues.js","webpack://trafficcontrol-scenes-app/../node_modules/@grafana/scenes/dist/esm/utils/metricTree.js","webpack://trafficcontrol-scenes-app/../node_modules/@grafana/scenes/dist/esm/variables/variants/TestVariable.js","webpack://trafficcontrol-scenes-app/../node_modules/@grafana/scenes/dist/esm/variables/components/VariableValueInput.js","webpack://trafficcontrol-scenes-app/../node_modules/@grafana/scenes/dist/esm/variables/variants/TextBoxVariable.js","webpack://trafficcontrol-scenes-app/../node_modules/@grafana/scenes/dist/esm/variables/variants/LocalValueVariable.js","webpack://trafficcontrol-scenes-app/../node_modules/@grafana/scenes/dist/esm/variables/variants/IntervalVariable.js","webpack://trafficcontrol-scenes-app/../node_modules/@grafana/scenes/dist/esm/variables/adhoc/AdHocFiltersVariableUrlSyncHandler.js","webpack://trafficcontrol-scenes-app/../node_modules/@grafana/scenes/dist/esm/variables/adhoc/AdHocFilterRenderer.js","webpack://trafficcontrol-scenes-app/../node_modules/@grafana/scenes/dist/esm/variables/adhoc/AdHocFilterBuilder.js","webpack://trafficcontrol-scenes-app/../node_modules/@grafana/scenes/dist/esm/variables/adhoc/AdHocFiltersSet.js","webpack://trafficcontrol-scenes-app/../node_modules/@grafana/schema/dist/esm/veneer/dashboard.types.js","webpack://trafficcontrol-scenes-app/../node_modules/@grafana/scenes/dist/esm/variables/adhoc/AdHocFiltersVariable.js","webpack://trafficcontrol-scenes-app/../node_modules/@grafana/scenes/dist/esm/services/UrlSyncManager.js","webpack://trafficcontrol-scenes-app/../node_modules/@grafana/scenes/dist/esm/components/EmbeddedScene.js","webpack://trafficcontrol-scenes-app/../node_modules/@grafana/scenes/dist/esm/utils/compatibility/setWindowGrafanaSceneContext.js","webpack://trafficcontrol-scenes-app/../node_modules/react-use/esm/misc/util.js","webpack://trafficcontrol-scenes-app/../node_modules/react-use/esm/useIsomorphicLayoutEffect.js","webpack://trafficcontrol-scenes-app/../node_modules/react-use/esm/useMeasure.js","webpack://trafficcontrol-scenes-app/../node_modules/@grafana/scenes/dist/esm/components/VizPanel/VizPanelRenderer.js","webpack://trafficcontrol-scenes-app/../node_modules/@grafana/scenes/dist/esm/components/VizPanel/seriesVisibilityConfigFactory.js","webpack://trafficcontrol-scenes-app/../node_modules/@grafana/scenes/dist/esm/components/VizPanel/colorSeriesConfigFactory.js","webpack://trafficcontrol-scenes-app/../node_modules/@grafana/scenes/dist/esm/components/VizPanel/VizPanel.js","webpack://trafficcontrol-scenes-app/../node_modules/@grafana/scenes/dist/esm/components/layout/grid/SceneGridItem.js","webpack://trafficcontrol-scenes-app/../node_modules/@grafana/scenes/dist/esm/components/VizPanel/VizPanelMenu.js","webpack://trafficcontrol-scenes-app/../node_modules/react-virtualized-auto-sizer/dist/index.esm.js","webpack://trafficcontrol-scenes-app/../node_modules/@grafana/scenes/dist/esm/components/layout/LazyLoader.js","webpack://trafficcontrol-scenes-app/../node_modules/react-use/esm/useEffectOnce.js","webpack://trafficcontrol-scenes-app/../node_modules/@grafana/scenes/dist/esm/components/layout/grid/SceneGridLayout.js","webpack://trafficcontrol-scenes-app/../node_modules/@grafana/scenes/dist/esm/components/layout/grid/constants.js","webpack://trafficcontrol-scenes-app/../node_modules/@grafana/scenes/dist/esm/components/layout/grid/SceneGridLayoutRenderer.js","webpack://trafficcontrol-scenes-app/../node_modules/@grafana/scenes/dist/esm/components/layout/grid/SceneGridRow.js","webpack://trafficcontrol-scenes-app/../node_modules/@grafana/scenes/dist/esm/components/NestedScene.js","webpack://trafficcontrol-scenes-app/../node_modules/@grafana/scenes/dist/esm/components/SceneCanvasText.js","webpack://trafficcontrol-scenes-app/../node_modules/@grafana/scenes/dist/esm/components/SceneToolbarButton.js","webpack://trafficcontrol-scenes-app/../node_modules/@grafana/scenes/dist/esm/components/SceneTimePicker.js","webpack://trafficcontrol-scenes-app/../node_modules/@grafana/scenes/dist/esm/components/SceneRefreshPicker.js","webpack://trafficcontrol-scenes-app/../node_modules/@grafana/scenes/dist/esm/components/SceneByFrameRepeater.js","webpack://trafficcontrol-scenes-app/../node_modules/@grafana/scenes/dist/esm/components/SceneControlsSpacer.js","webpack://trafficcontrol-scenes-app/../node_modules/@grafana/scenes/dist/esm/components/layout/SceneFlexLayout.js","webpack://trafficcontrol-scenes-app/../node_modules/@grafana/scenes/dist/esm/components/layout/CSSGrid/SceneCSSGridLayout.js","webpack://trafficcontrol-scenes-app/../node_modules/@grafana/scenes/dist/esm/components/layout/split/Splitter.js","webpack://trafficcontrol-scenes-app/../node_modules/@grafana/scenes/dist/esm/components/layout/split/SplitLayout.js","webpack://trafficcontrol-scenes-app/../node_modules/@grafana/scenes/dist/esm/components/layout/split/SplitLayoutRenderer.js","webpack://trafficcontrol-scenes-app/../node_modules/@grafana/scenes/dist/esm/components/SceneApp/SceneApp.js","webpack://trafficcontrol-scenes-app/../node_modules/@grafana/scenes/dist/esm/components/SceneReactObject.js","webpack://trafficcontrol-scenes-app/../node_modules/@grafana/scenes/dist/esm/components/SceneDebugger/DebugDetails.js","webpack://trafficcontrol-scenes-app/../node_modules/@grafana/scenes/dist/esm/components/SceneDebugger/DebugTreeNode.js","webpack://trafficcontrol-scenes-app/../node_modules/@grafana/scenes/dist/esm/components/SceneDebugger/SceneDebugger.js","webpack://trafficcontrol-scenes-app/../node_modules/@grafana/scenes/dist/esm/components/SceneApp/SceneAppPageView.js","webpack://trafficcontrol-scenes-app/../node_modules/@grafana/scenes/dist/esm/components/SceneApp/SceneAppPage.js","webpack://trafficcontrol-scenes-app/../node_modules/@grafana/schema/dist/esm/common.gen-58e5e938.js","webpack://trafficcontrol-scenes-app/../node_modules/@grafana/schema/dist/esm/raw/composable/barchart/panelcfg/x/BarChartPanelCfg_types.gen.js","webpack://trafficcontrol-scenes-app/../node_modules/@grafana/schema/dist/esm/raw/composable/bargauge/panelcfg/x/BarGaugePanelCfg_types.gen.js","webpack://trafficcontrol-scenes-app/../node_modules/@grafana/schema/dist/esm/raw/composable/heatmap/panelcfg/x/HeatmapPanelCfg_types.gen.js","webpack://trafficcontrol-scenes-app/../node_modules/@grafana/schema/dist/esm/raw/composable/histogram/panelcfg/x/HistogramPanelCfg_types.gen.js","webpack://trafficcontrol-scenes-app/../node_modules/@grafana/schema/dist/esm/raw/composable/stat/panelcfg/x/StatPanelCfg_types.gen.js","webpack://trafficcontrol-scenes-app/../node_modules/@grafana/schema/dist/esm/raw/composable/statetimeline/panelcfg/x/StateTimelinePanelCfg_types.gen.js","webpack://trafficcontrol-scenes-app/../node_modules/@grafana/schema/dist/esm/raw/composable/statushistory/panelcfg/x/StatusHistoryPanelCfg_types.gen.js","webpack://trafficcontrol-scenes-app/../node_modules/@grafana/schema/dist/esm/raw/composable/table/panelcfg/x/TablePanelCfg_types.gen.js","webpack://trafficcontrol-scenes-app/../node_modules/@grafana/schema/dist/esm/raw/composable/xychart/panelcfg/x/XYChartPanelCfg_types.gen.js","webpack://trafficcontrol-scenes-app/../node_modules/@grafana/scenes/dist/esm/core/PanelBuilders/StandardFieldConfigBuilders.js","webpack://trafficcontrol-scenes-app/../node_modules/@grafana/scenes/dist/esm/core/PanelBuilders/FieldConfigOverridesBuilder.js","webpack://trafficcontrol-scenes-app/../node_modules/@grafana/scenes/dist/esm/core/PanelBuilders/FieldConfigBuilder.js","webpack://trafficcontrol-scenes-app/../node_modules/@grafana/scenes/dist/esm/core/PanelBuilders/PanelOptionsBuilder.js","webpack://trafficcontrol-scenes-app/../node_modules/@grafana/scenes/dist/esm/core/PanelBuilders/VizPanelBuilder.js","webpack://trafficcontrol-scenes-app/../node_modules/@grafana/scenes/dist/esm/core/PanelBuilders/index.js","webpack://trafficcontrol-scenes-app/./pages/Server/panels/bandwidth.tsx","webpack://trafficcontrol-scenes-app/./pages/Server/panels/connections.tsx","webpack://trafficcontrol-scenes-app/./pages/Server/panels/cpu.tsx","webpack://trafficcontrol-scenes-app/./pages/Server/panels/load-average.tsx","webpack://trafficcontrol-scenes-app/./pages/Server/panels/memory.tsx","webpack://trafficcontrol-scenes-app/./pages/Server/panels/netstat.tsx","webpack://trafficcontrol-scenes-app/./pages/Server/panels/read-write-time.tsx","webpack://trafficcontrol-scenes-app/./pages/Server/panels/wrap-count.tsx","webpack://trafficcontrol-scenes-app/./pages/Server/scene.tsx","webpack://trafficcontrol-scenes-app/./pages/Server/Server.tsx","webpack://trafficcontrol-scenes-app/./pages/DeliveryService/panels/bandwidth.tsx","webpack://trafficcontrol-scenes-app/./pages/DeliveryService/panels/tps.tsx","webpack://trafficcontrol-scenes-app/./pages/DeliveryService/panels/bandwidth-cg.tsx","webpack://trafficcontrol-scenes-app/./pages/DeliveryService/scene.tsx","webpack://trafficcontrol-scenes-app/./pages/DeliveryService/DeliveryService.tsx","webpack://trafficcontrol-scenes-app/./pages/CacheGroup/panels/bandwidth.tsx","webpack://trafficcontrol-scenes-app/./pages/CacheGroup/panels/connections.tsx","webpack://trafficcontrol-scenes-app/./pages/CacheGroup/scene.tsx","webpack://trafficcontrol-scenes-app/./pages/CacheGroup/CacheGroup.tsx","webpack://trafficcontrol-scenes-app/./components/Routes/Routes.tsx","webpack://trafficcontrol-scenes-app/./components/App/App.tsx","webpack://trafficcontrol-scenes-app/./module.ts"],"sourcesContent":["function r(e){var t,f,n=\"\";if(\"string\"==typeof e||\"number\"==typeof e)n+=e;else if(\"object\"==typeof e)if(Array.isArray(e))for(t=0;t\n * Build: `lodash modularize exports=\"npm\" -o ./`\n * Copyright JS Foundation and other contributors \n * Released under MIT license \n * Based on Underscore.js 1.8.3 \n * Copyright Jeremy Ashkenas, DocumentCloud and Investigative Reporters & Editors\n */\n\n/** Used as the size to enable large array optimizations. */\nvar LARGE_ARRAY_SIZE = 200;\n\n/** Used to stand-in for `undefined` hash values. */\nvar HASH_UNDEFINED = '__lodash_hash_undefined__';\n\n/** Used to compose bitmasks for value comparisons. */\nvar COMPARE_PARTIAL_FLAG = 1,\n COMPARE_UNORDERED_FLAG = 2;\n\n/** Used as references for various `Number` constants. */\nvar MAX_SAFE_INTEGER = 9007199254740991;\n\n/** `Object#toString` result references. */\nvar argsTag = '[object Arguments]',\n arrayTag = '[object Array]',\n asyncTag = '[object AsyncFunction]',\n boolTag = '[object Boolean]',\n dateTag = '[object Date]',\n errorTag = '[object Error]',\n funcTag = '[object Function]',\n genTag = '[object GeneratorFunction]',\n mapTag = '[object Map]',\n numberTag = '[object Number]',\n nullTag = '[object Null]',\n objectTag = '[object Object]',\n promiseTag = '[object Promise]',\n proxyTag = '[object Proxy]',\n regexpTag = '[object RegExp]',\n setTag = '[object Set]',\n stringTag = '[object String]',\n symbolTag = '[object Symbol]',\n undefinedTag = '[object Undefined]',\n weakMapTag = '[object WeakMap]';\n\nvar arrayBufferTag = '[object ArrayBuffer]',\n dataViewTag = '[object DataView]',\n float32Tag = '[object Float32Array]',\n float64Tag = '[object Float64Array]',\n int8Tag = '[object Int8Array]',\n int16Tag = '[object Int16Array]',\n int32Tag = '[object Int32Array]',\n uint8Tag = '[object Uint8Array]',\n uint8ClampedTag = '[object Uint8ClampedArray]',\n uint16Tag = '[object Uint16Array]',\n uint32Tag = '[object Uint32Array]';\n\n/**\n * Used to match `RegExp`\n * [syntax characters](http://ecma-international.org/ecma-262/7.0/#sec-patterns).\n */\nvar reRegExpChar = /[\\\\^$.*+?()[\\]{}|]/g;\n\n/** Used to detect host constructors (Safari). */\nvar reIsHostCtor = /^\\[object .+?Constructor\\]$/;\n\n/** Used to detect unsigned integer values. */\nvar reIsUint = /^(?:0|[1-9]\\d*)$/;\n\n/** Used to identify `toStringTag` values of typed arrays. */\nvar typedArrayTags = {};\ntypedArrayTags[float32Tag] = typedArrayTags[float64Tag] =\ntypedArrayTags[int8Tag] = typedArrayTags[int16Tag] =\ntypedArrayTags[int32Tag] = typedArrayTags[uint8Tag] =\ntypedArrayTags[uint8ClampedTag] = typedArrayTags[uint16Tag] =\ntypedArrayTags[uint32Tag] = true;\ntypedArrayTags[argsTag] = typedArrayTags[arrayTag] =\ntypedArrayTags[arrayBufferTag] = typedArrayTags[boolTag] =\ntypedArrayTags[dataViewTag] = typedArrayTags[dateTag] =\ntypedArrayTags[errorTag] = typedArrayTags[funcTag] =\ntypedArrayTags[mapTag] = typedArrayTags[numberTag] =\ntypedArrayTags[objectTag] = typedArrayTags[regexpTag] =\ntypedArrayTags[setTag] = typedArrayTags[stringTag] =\ntypedArrayTags[weakMapTag] = false;\n\n/** Detect free variable `global` from Node.js. */\nvar freeGlobal = typeof global == 'object' && global && global.Object === Object && global;\n\n/** Detect free variable `self`. */\nvar freeSelf = typeof self == 'object' && self && self.Object === Object && self;\n\n/** Used as a reference to the global object. */\nvar root = freeGlobal || freeSelf || Function('return this')();\n\n/** Detect free variable `exports`. */\nvar freeExports = typeof exports == 'object' && exports && !exports.nodeType && exports;\n\n/** Detect free variable `module`. */\nvar freeModule = freeExports && typeof module == 'object' && module && !module.nodeType && module;\n\n/** Detect the popular CommonJS extension `module.exports`. */\nvar moduleExports = freeModule && freeModule.exports === freeExports;\n\n/** Detect free variable `process` from Node.js. */\nvar freeProcess = moduleExports && freeGlobal.process;\n\n/** Used to access faster Node.js helpers. */\nvar nodeUtil = (function() {\n try {\n return freeProcess && freeProcess.binding && freeProcess.binding('util');\n } catch (e) {}\n}());\n\n/* Node.js helper references. */\nvar nodeIsTypedArray = nodeUtil && nodeUtil.isTypedArray;\n\n/**\n * A specialized version of `_.filter` for arrays without support for\n * iteratee shorthands.\n *\n * @private\n * @param {Array} [array] The array to iterate over.\n * @param {Function} predicate The function invoked per iteration.\n * @returns {Array} Returns the new filtered array.\n */\nfunction arrayFilter(array, predicate) {\n var index = -1,\n length = array == null ? 0 : array.length,\n resIndex = 0,\n result = [];\n\n while (++index < length) {\n var value = array[index];\n if (predicate(value, index, array)) {\n result[resIndex++] = value;\n }\n }\n return result;\n}\n\n/**\n * Appends the elements of `values` to `array`.\n *\n * @private\n * @param {Array} array The array to modify.\n * @param {Array} values The values to append.\n * @returns {Array} Returns `array`.\n */\nfunction arrayPush(array, values) {\n var index = -1,\n length = values.length,\n offset = array.length;\n\n while (++index < length) {\n array[offset + index] = values[index];\n }\n return array;\n}\n\n/**\n * A specialized version of `_.some` for arrays without support for iteratee\n * shorthands.\n *\n * @private\n * @param {Array} [array] The array to iterate over.\n * @param {Function} predicate The function invoked per iteration.\n * @returns {boolean} Returns `true` if any element passes the predicate check,\n * else `false`.\n */\nfunction arraySome(array, predicate) {\n var index = -1,\n length = array == null ? 0 : array.length;\n\n while (++index < length) {\n if (predicate(array[index], index, array)) {\n return true;\n }\n }\n return false;\n}\n\n/**\n * The base implementation of `_.times` without support for iteratee shorthands\n * or max array length checks.\n *\n * @private\n * @param {number} n The number of times to invoke `iteratee`.\n * @param {Function} iteratee The function invoked per iteration.\n * @returns {Array} Returns the array of results.\n */\nfunction baseTimes(n, iteratee) {\n var index = -1,\n result = Array(n);\n\n while (++index < n) {\n result[index] = iteratee(index);\n }\n return result;\n}\n\n/**\n * The base implementation of `_.unary` without support for storing metadata.\n *\n * @private\n * @param {Function} func The function to cap arguments for.\n * @returns {Function} Returns the new capped function.\n */\nfunction baseUnary(func) {\n return function(value) {\n return func(value);\n };\n}\n\n/**\n * Checks if a `cache` value for `key` exists.\n *\n * @private\n * @param {Object} cache The cache to query.\n * @param {string} key The key of the entry to check.\n * @returns {boolean} Returns `true` if an entry for `key` exists, else `false`.\n */\nfunction cacheHas(cache, key) {\n return cache.has(key);\n}\n\n/**\n * Gets the value at `key` of `object`.\n *\n * @private\n * @param {Object} [object] The object to query.\n * @param {string} key The key of the property to get.\n * @returns {*} Returns the property value.\n */\nfunction getValue(object, key) {\n return object == null ? undefined : object[key];\n}\n\n/**\n * Converts `map` to its key-value pairs.\n *\n * @private\n * @param {Object} map The map to convert.\n * @returns {Array} Returns the key-value pairs.\n */\nfunction mapToArray(map) {\n var index = -1,\n result = Array(map.size);\n\n map.forEach(function(value, key) {\n result[++index] = [key, value];\n });\n return result;\n}\n\n/**\n * Creates a unary function that invokes `func` with its argument transformed.\n *\n * @private\n * @param {Function} func The function to wrap.\n * @param {Function} transform The argument transform.\n * @returns {Function} Returns the new function.\n */\nfunction overArg(func, transform) {\n return function(arg) {\n return func(transform(arg));\n };\n}\n\n/**\n * Converts `set` to an array of its values.\n *\n * @private\n * @param {Object} set The set to convert.\n * @returns {Array} Returns the values.\n */\nfunction setToArray(set) {\n var index = -1,\n result = Array(set.size);\n\n set.forEach(function(value) {\n result[++index] = value;\n });\n return result;\n}\n\n/** Used for built-in method references. */\nvar arrayProto = Array.prototype,\n funcProto = Function.prototype,\n objectProto = Object.prototype;\n\n/** Used to detect overreaching core-js shims. */\nvar coreJsData = root['__core-js_shared__'];\n\n/** Used to resolve the decompiled source of functions. */\nvar funcToString = funcProto.toString;\n\n/** Used to check objects for own properties. */\nvar hasOwnProperty = objectProto.hasOwnProperty;\n\n/** Used to detect methods masquerading as native. */\nvar maskSrcKey = (function() {\n var uid = /[^.]+$/.exec(coreJsData && coreJsData.keys && coreJsData.keys.IE_PROTO || '');\n return uid ? ('Symbol(src)_1.' + uid) : '';\n}());\n\n/**\n * Used to resolve the\n * [`toStringTag`](http://ecma-international.org/ecma-262/7.0/#sec-object.prototype.tostring)\n * of values.\n */\nvar nativeObjectToString = objectProto.toString;\n\n/** Used to detect if a method is native. */\nvar reIsNative = RegExp('^' +\n funcToString.call(hasOwnProperty).replace(reRegExpChar, '\\\\$&')\n .replace(/hasOwnProperty|(function).*?(?=\\\\\\()| for .+?(?=\\\\\\])/g, '$1.*?') + '$'\n);\n\n/** Built-in value references. */\nvar Buffer = moduleExports ? root.Buffer : undefined,\n Symbol = root.Symbol,\n Uint8Array = root.Uint8Array,\n propertyIsEnumerable = objectProto.propertyIsEnumerable,\n splice = arrayProto.splice,\n symToStringTag = Symbol ? Symbol.toStringTag : undefined;\n\n/* Built-in method references for those with the same name as other `lodash` methods. */\nvar nativeGetSymbols = Object.getOwnPropertySymbols,\n nativeIsBuffer = Buffer ? Buffer.isBuffer : undefined,\n nativeKeys = overArg(Object.keys, Object);\n\n/* Built-in method references that are verified to be native. */\nvar DataView = getNative(root, 'DataView'),\n Map = getNative(root, 'Map'),\n Promise = getNative(root, 'Promise'),\n Set = getNative(root, 'Set'),\n WeakMap = getNative(root, 'WeakMap'),\n nativeCreate = getNative(Object, 'create');\n\n/** Used to detect maps, sets, and weakmaps. */\nvar dataViewCtorString = toSource(DataView),\n mapCtorString = toSource(Map),\n promiseCtorString = toSource(Promise),\n setCtorString = toSource(Set),\n weakMapCtorString = toSource(WeakMap);\n\n/** Used to convert symbols to primitives and strings. */\nvar symbolProto = Symbol ? Symbol.prototype : undefined,\n symbolValueOf = symbolProto ? symbolProto.valueOf : undefined;\n\n/**\n * Creates a hash object.\n *\n * @private\n * @constructor\n * @param {Array} [entries] The key-value pairs to cache.\n */\nfunction Hash(entries) {\n var index = -1,\n length = entries == null ? 0 : entries.length;\n\n this.clear();\n while (++index < length) {\n var entry = entries[index];\n this.set(entry[0], entry[1]);\n }\n}\n\n/**\n * Removes all key-value entries from the hash.\n *\n * @private\n * @name clear\n * @memberOf Hash\n */\nfunction hashClear() {\n this.__data__ = nativeCreate ? nativeCreate(null) : {};\n this.size = 0;\n}\n\n/**\n * Removes `key` and its value from the hash.\n *\n * @private\n * @name delete\n * @memberOf Hash\n * @param {Object} hash The hash to modify.\n * @param {string} key The key of the value to remove.\n * @returns {boolean} Returns `true` if the entry was removed, else `false`.\n */\nfunction hashDelete(key) {\n var result = this.has(key) && delete this.__data__[key];\n this.size -= result ? 1 : 0;\n return result;\n}\n\n/**\n * Gets the hash value for `key`.\n *\n * @private\n * @name get\n * @memberOf Hash\n * @param {string} key The key of the value to get.\n * @returns {*} Returns the entry value.\n */\nfunction hashGet(key) {\n var data = this.__data__;\n if (nativeCreate) {\n var result = data[key];\n return result === HASH_UNDEFINED ? undefined : result;\n }\n return hasOwnProperty.call(data, key) ? data[key] : undefined;\n}\n\n/**\n * Checks if a hash value for `key` exists.\n *\n * @private\n * @name has\n * @memberOf Hash\n * @param {string} key The key of the entry to check.\n * @returns {boolean} Returns `true` if an entry for `key` exists, else `false`.\n */\nfunction hashHas(key) {\n var data = this.__data__;\n return nativeCreate ? (data[key] !== undefined) : hasOwnProperty.call(data, key);\n}\n\n/**\n * Sets the hash `key` to `value`.\n *\n * @private\n * @name set\n * @memberOf Hash\n * @param {string} key The key of the value to set.\n * @param {*} value The value to set.\n * @returns {Object} Returns the hash instance.\n */\nfunction hashSet(key, value) {\n var data = this.__data__;\n this.size += this.has(key) ? 0 : 1;\n data[key] = (nativeCreate && value === undefined) ? HASH_UNDEFINED : value;\n return this;\n}\n\n// Add methods to `Hash`.\nHash.prototype.clear = hashClear;\nHash.prototype['delete'] = hashDelete;\nHash.prototype.get = hashGet;\nHash.prototype.has = hashHas;\nHash.prototype.set = hashSet;\n\n/**\n * Creates an list cache object.\n *\n * @private\n * @constructor\n * @param {Array} [entries] The key-value pairs to cache.\n */\nfunction ListCache(entries) {\n var index = -1,\n length = entries == null ? 0 : entries.length;\n\n this.clear();\n while (++index < length) {\n var entry = entries[index];\n this.set(entry[0], entry[1]);\n }\n}\n\n/**\n * Removes all key-value entries from the list cache.\n *\n * @private\n * @name clear\n * @memberOf ListCache\n */\nfunction listCacheClear() {\n this.__data__ = [];\n this.size = 0;\n}\n\n/**\n * Removes `key` and its value from the list cache.\n *\n * @private\n * @name delete\n * @memberOf ListCache\n * @param {string} key The key of the value to remove.\n * @returns {boolean} Returns `true` if the entry was removed, else `false`.\n */\nfunction listCacheDelete(key) {\n var data = this.__data__,\n index = assocIndexOf(data, key);\n\n if (index < 0) {\n return false;\n }\n var lastIndex = data.length - 1;\n if (index == lastIndex) {\n data.pop();\n } else {\n splice.call(data, index, 1);\n }\n --this.size;\n return true;\n}\n\n/**\n * Gets the list cache value for `key`.\n *\n * @private\n * @name get\n * @memberOf ListCache\n * @param {string} key The key of the value to get.\n * @returns {*} Returns the entry value.\n */\nfunction listCacheGet(key) {\n var data = this.__data__,\n index = assocIndexOf(data, key);\n\n return index < 0 ? undefined : data[index][1];\n}\n\n/**\n * Checks if a list cache value for `key` exists.\n *\n * @private\n * @name has\n * @memberOf ListCache\n * @param {string} key The key of the entry to check.\n * @returns {boolean} Returns `true` if an entry for `key` exists, else `false`.\n */\nfunction listCacheHas(key) {\n return assocIndexOf(this.__data__, key) > -1;\n}\n\n/**\n * Sets the list cache `key` to `value`.\n *\n * @private\n * @name set\n * @memberOf ListCache\n * @param {string} key The key of the value to set.\n * @param {*} value The value to set.\n * @returns {Object} Returns the list cache instance.\n */\nfunction listCacheSet(key, value) {\n var data = this.__data__,\n index = assocIndexOf(data, key);\n\n if (index < 0) {\n ++this.size;\n data.push([key, value]);\n } else {\n data[index][1] = value;\n }\n return this;\n}\n\n// Add methods to `ListCache`.\nListCache.prototype.clear = listCacheClear;\nListCache.prototype['delete'] = listCacheDelete;\nListCache.prototype.get = listCacheGet;\nListCache.prototype.has = listCacheHas;\nListCache.prototype.set = listCacheSet;\n\n/**\n * Creates a map cache object to store key-value pairs.\n *\n * @private\n * @constructor\n * @param {Array} [entries] The key-value pairs to cache.\n */\nfunction MapCache(entries) {\n var index = -1,\n length = entries == null ? 0 : entries.length;\n\n this.clear();\n while (++index < length) {\n var entry = entries[index];\n this.set(entry[0], entry[1]);\n }\n}\n\n/**\n * Removes all key-value entries from the map.\n *\n * @private\n * @name clear\n * @memberOf MapCache\n */\nfunction mapCacheClear() {\n this.size = 0;\n this.__data__ = {\n 'hash': new Hash,\n 'map': new (Map || ListCache),\n 'string': new Hash\n };\n}\n\n/**\n * Removes `key` and its value from the map.\n *\n * @private\n * @name delete\n * @memberOf MapCache\n * @param {string} key The key of the value to remove.\n * @returns {boolean} Returns `true` if the entry was removed, else `false`.\n */\nfunction mapCacheDelete(key) {\n var result = getMapData(this, key)['delete'](key);\n this.size -= result ? 1 : 0;\n return result;\n}\n\n/**\n * Gets the map value for `key`.\n *\n * @private\n * @name get\n * @memberOf MapCache\n * @param {string} key The key of the value to get.\n * @returns {*} Returns the entry value.\n */\nfunction mapCacheGet(key) {\n return getMapData(this, key).get(key);\n}\n\n/**\n * Checks if a map value for `key` exists.\n *\n * @private\n * @name has\n * @memberOf MapCache\n * @param {string} key The key of the entry to check.\n * @returns {boolean} Returns `true` if an entry for `key` exists, else `false`.\n */\nfunction mapCacheHas(key) {\n return getMapData(this, key).has(key);\n}\n\n/**\n * Sets the map `key` to `value`.\n *\n * @private\n * @name set\n * @memberOf MapCache\n * @param {string} key The key of the value to set.\n * @param {*} value The value to set.\n * @returns {Object} Returns the map cache instance.\n */\nfunction mapCacheSet(key, value) {\n var data = getMapData(this, key),\n size = data.size;\n\n data.set(key, value);\n this.size += data.size == size ? 0 : 1;\n return this;\n}\n\n// Add methods to `MapCache`.\nMapCache.prototype.clear = mapCacheClear;\nMapCache.prototype['delete'] = mapCacheDelete;\nMapCache.prototype.get = mapCacheGet;\nMapCache.prototype.has = mapCacheHas;\nMapCache.prototype.set = mapCacheSet;\n\n/**\n *\n * Creates an array cache object to store unique values.\n *\n * @private\n * @constructor\n * @param {Array} [values] The values to cache.\n */\nfunction SetCache(values) {\n var index = -1,\n length = values == null ? 0 : values.length;\n\n this.__data__ = new MapCache;\n while (++index < length) {\n this.add(values[index]);\n }\n}\n\n/**\n * Adds `value` to the array cache.\n *\n * @private\n * @name add\n * @memberOf SetCache\n * @alias push\n * @param {*} value The value to cache.\n * @returns {Object} Returns the cache instance.\n */\nfunction setCacheAdd(value) {\n this.__data__.set(value, HASH_UNDEFINED);\n return this;\n}\n\n/**\n * Checks if `value` is in the array cache.\n *\n * @private\n * @name has\n * @memberOf SetCache\n * @param {*} value The value to search for.\n * @returns {number} Returns `true` if `value` is found, else `false`.\n */\nfunction setCacheHas(value) {\n return this.__data__.has(value);\n}\n\n// Add methods to `SetCache`.\nSetCache.prototype.add = SetCache.prototype.push = setCacheAdd;\nSetCache.prototype.has = setCacheHas;\n\n/**\n * Creates a stack cache object to store key-value pairs.\n *\n * @private\n * @constructor\n * @param {Array} [entries] The key-value pairs to cache.\n */\nfunction Stack(entries) {\n var data = this.__data__ = new ListCache(entries);\n this.size = data.size;\n}\n\n/**\n * Removes all key-value entries from the stack.\n *\n * @private\n * @name clear\n * @memberOf Stack\n */\nfunction stackClear() {\n this.__data__ = new ListCache;\n this.size = 0;\n}\n\n/**\n * Removes `key` and its value from the stack.\n *\n * @private\n * @name delete\n * @memberOf Stack\n * @param {string} key The key of the value to remove.\n * @returns {boolean} Returns `true` if the entry was removed, else `false`.\n */\nfunction stackDelete(key) {\n var data = this.__data__,\n result = data['delete'](key);\n\n this.size = data.size;\n return result;\n}\n\n/**\n * Gets the stack value for `key`.\n *\n * @private\n * @name get\n * @memberOf Stack\n * @param {string} key The key of the value to get.\n * @returns {*} Returns the entry value.\n */\nfunction stackGet(key) {\n return this.__data__.get(key);\n}\n\n/**\n * Checks if a stack value for `key` exists.\n *\n * @private\n * @name has\n * @memberOf Stack\n * @param {string} key The key of the entry to check.\n * @returns {boolean} Returns `true` if an entry for `key` exists, else `false`.\n */\nfunction stackHas(key) {\n return this.__data__.has(key);\n}\n\n/**\n * Sets the stack `key` to `value`.\n *\n * @private\n * @name set\n * @memberOf Stack\n * @param {string} key The key of the value to set.\n * @param {*} value The value to set.\n * @returns {Object} Returns the stack cache instance.\n */\nfunction stackSet(key, value) {\n var data = this.__data__;\n if (data instanceof ListCache) {\n var pairs = data.__data__;\n if (!Map || (pairs.length < LARGE_ARRAY_SIZE - 1)) {\n pairs.push([key, value]);\n this.size = ++data.size;\n return this;\n }\n data = this.__data__ = new MapCache(pairs);\n }\n data.set(key, value);\n this.size = data.size;\n return this;\n}\n\n// Add methods to `Stack`.\nStack.prototype.clear = stackClear;\nStack.prototype['delete'] = stackDelete;\nStack.prototype.get = stackGet;\nStack.prototype.has = stackHas;\nStack.prototype.set = stackSet;\n\n/**\n * Creates an array of the enumerable property names of the array-like `value`.\n *\n * @private\n * @param {*} value The value to query.\n * @param {boolean} inherited Specify returning inherited property names.\n * @returns {Array} Returns the array of property names.\n */\nfunction arrayLikeKeys(value, inherited) {\n var isArr = isArray(value),\n isArg = !isArr && isArguments(value),\n isBuff = !isArr && !isArg && isBuffer(value),\n isType = !isArr && !isArg && !isBuff && isTypedArray(value),\n skipIndexes = isArr || isArg || isBuff || isType,\n result = skipIndexes ? baseTimes(value.length, String) : [],\n length = result.length;\n\n for (var key in value) {\n if ((inherited || hasOwnProperty.call(value, key)) &&\n !(skipIndexes && (\n // Safari 9 has enumerable `arguments.length` in strict mode.\n key == 'length' ||\n // Node.js 0.10 has enumerable non-index properties on buffers.\n (isBuff && (key == 'offset' || key == 'parent')) ||\n // PhantomJS 2 has enumerable non-index properties on typed arrays.\n (isType && (key == 'buffer' || key == 'byteLength' || key == 'byteOffset')) ||\n // Skip index properties.\n isIndex(key, length)\n ))) {\n result.push(key);\n }\n }\n return result;\n}\n\n/**\n * Gets the index at which the `key` is found in `array` of key-value pairs.\n *\n * @private\n * @param {Array} array The array to inspect.\n * @param {*} key The key to search for.\n * @returns {number} Returns the index of the matched value, else `-1`.\n */\nfunction assocIndexOf(array, key) {\n var length = array.length;\n while (length--) {\n if (eq(array[length][0], key)) {\n return length;\n }\n }\n return -1;\n}\n\n/**\n * The base implementation of `getAllKeys` and `getAllKeysIn` which uses\n * `keysFunc` and `symbolsFunc` to get the enumerable property names and\n * symbols of `object`.\n *\n * @private\n * @param {Object} object The object to query.\n * @param {Function} keysFunc The function to get the keys of `object`.\n * @param {Function} symbolsFunc The function to get the symbols of `object`.\n * @returns {Array} Returns the array of property names and symbols.\n */\nfunction baseGetAllKeys(object, keysFunc, symbolsFunc) {\n var result = keysFunc(object);\n return isArray(object) ? result : arrayPush(result, symbolsFunc(object));\n}\n\n/**\n * The base implementation of `getTag` without fallbacks for buggy environments.\n *\n * @private\n * @param {*} value The value to query.\n * @returns {string} Returns the `toStringTag`.\n */\nfunction baseGetTag(value) {\n if (value == null) {\n return value === undefined ? undefinedTag : nullTag;\n }\n return (symToStringTag && symToStringTag in Object(value))\n ? getRawTag(value)\n : objectToString(value);\n}\n\n/**\n * The base implementation of `_.isArguments`.\n *\n * @private\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is an `arguments` object,\n */\nfunction baseIsArguments(value) {\n return isObjectLike(value) && baseGetTag(value) == argsTag;\n}\n\n/**\n * The base implementation of `_.isEqual` which supports partial comparisons\n * and tracks traversed objects.\n *\n * @private\n * @param {*} value The value to compare.\n * @param {*} other The other value to compare.\n * @param {boolean} bitmask The bitmask flags.\n * 1 - Unordered comparison\n * 2 - Partial comparison\n * @param {Function} [customizer] The function to customize comparisons.\n * @param {Object} [stack] Tracks traversed `value` and `other` objects.\n * @returns {boolean} Returns `true` if the values are equivalent, else `false`.\n */\nfunction baseIsEqual(value, other, bitmask, customizer, stack) {\n if (value === other) {\n return true;\n }\n if (value == null || other == null || (!isObjectLike(value) && !isObjectLike(other))) {\n return value !== value && other !== other;\n }\n return baseIsEqualDeep(value, other, bitmask, customizer, baseIsEqual, stack);\n}\n\n/**\n * A specialized version of `baseIsEqual` for arrays and objects which performs\n * deep comparisons and tracks traversed objects enabling objects with circular\n * references to be compared.\n *\n * @private\n * @param {Object} object The object to compare.\n * @param {Object} other The other object to compare.\n * @param {number} bitmask The bitmask flags. See `baseIsEqual` for more details.\n * @param {Function} customizer The function to customize comparisons.\n * @param {Function} equalFunc The function to determine equivalents of values.\n * @param {Object} [stack] Tracks traversed `object` and `other` objects.\n * @returns {boolean} Returns `true` if the objects are equivalent, else `false`.\n */\nfunction baseIsEqualDeep(object, other, bitmask, customizer, equalFunc, stack) {\n var objIsArr = isArray(object),\n othIsArr = isArray(other),\n objTag = objIsArr ? arrayTag : getTag(object),\n othTag = othIsArr ? arrayTag : getTag(other);\n\n objTag = objTag == argsTag ? objectTag : objTag;\n othTag = othTag == argsTag ? objectTag : othTag;\n\n var objIsObj = objTag == objectTag,\n othIsObj = othTag == objectTag,\n isSameTag = objTag == othTag;\n\n if (isSameTag && isBuffer(object)) {\n if (!isBuffer(other)) {\n return false;\n }\n objIsArr = true;\n objIsObj = false;\n }\n if (isSameTag && !objIsObj) {\n stack || (stack = new Stack);\n return (objIsArr || isTypedArray(object))\n ? equalArrays(object, other, bitmask, customizer, equalFunc, stack)\n : equalByTag(object, other, objTag, bitmask, customizer, equalFunc, stack);\n }\n if (!(bitmask & COMPARE_PARTIAL_FLAG)) {\n var objIsWrapped = objIsObj && hasOwnProperty.call(object, '__wrapped__'),\n othIsWrapped = othIsObj && hasOwnProperty.call(other, '__wrapped__');\n\n if (objIsWrapped || othIsWrapped) {\n var objUnwrapped = objIsWrapped ? object.value() : object,\n othUnwrapped = othIsWrapped ? other.value() : other;\n\n stack || (stack = new Stack);\n return equalFunc(objUnwrapped, othUnwrapped, bitmask, customizer, stack);\n }\n }\n if (!isSameTag) {\n return false;\n }\n stack || (stack = new Stack);\n return equalObjects(object, other, bitmask, customizer, equalFunc, stack);\n}\n\n/**\n * The base implementation of `_.isNative` without bad shim checks.\n *\n * @private\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a native function,\n * else `false`.\n */\nfunction baseIsNative(value) {\n if (!isObject(value) || isMasked(value)) {\n return false;\n }\n var pattern = isFunction(value) ? reIsNative : reIsHostCtor;\n return pattern.test(toSource(value));\n}\n\n/**\n * The base implementation of `_.isTypedArray` without Node.js optimizations.\n *\n * @private\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a typed array, else `false`.\n */\nfunction baseIsTypedArray(value) {\n return isObjectLike(value) &&\n isLength(value.length) && !!typedArrayTags[baseGetTag(value)];\n}\n\n/**\n * The base implementation of `_.keys` which doesn't treat sparse arrays as dense.\n *\n * @private\n * @param {Object} object The object to query.\n * @returns {Array} Returns the array of property names.\n */\nfunction baseKeys(object) {\n if (!isPrototype(object)) {\n return nativeKeys(object);\n }\n var result = [];\n for (var key in Object(object)) {\n if (hasOwnProperty.call(object, key) && key != 'constructor') {\n result.push(key);\n }\n }\n return result;\n}\n\n/**\n * A specialized version of `baseIsEqualDeep` for arrays with support for\n * partial deep comparisons.\n *\n * @private\n * @param {Array} array The array to compare.\n * @param {Array} other The other array to compare.\n * @param {number} bitmask The bitmask flags. See `baseIsEqual` for more details.\n * @param {Function} customizer The function to customize comparisons.\n * @param {Function} equalFunc The function to determine equivalents of values.\n * @param {Object} stack Tracks traversed `array` and `other` objects.\n * @returns {boolean} Returns `true` if the arrays are equivalent, else `false`.\n */\nfunction equalArrays(array, other, bitmask, customizer, equalFunc, stack) {\n var isPartial = bitmask & COMPARE_PARTIAL_FLAG,\n arrLength = array.length,\n othLength = other.length;\n\n if (arrLength != othLength && !(isPartial && othLength > arrLength)) {\n return false;\n }\n // Assume cyclic values are equal.\n var stacked = stack.get(array);\n if (stacked && stack.get(other)) {\n return stacked == other;\n }\n var index = -1,\n result = true,\n seen = (bitmask & COMPARE_UNORDERED_FLAG) ? new SetCache : undefined;\n\n stack.set(array, other);\n stack.set(other, array);\n\n // Ignore non-index properties.\n while (++index < arrLength) {\n var arrValue = array[index],\n othValue = other[index];\n\n if (customizer) {\n var compared = isPartial\n ? customizer(othValue, arrValue, index, other, array, stack)\n : customizer(arrValue, othValue, index, array, other, stack);\n }\n if (compared !== undefined) {\n if (compared) {\n continue;\n }\n result = false;\n break;\n }\n // Recursively compare arrays (susceptible to call stack limits).\n if (seen) {\n if (!arraySome(other, function(othValue, othIndex) {\n if (!cacheHas(seen, othIndex) &&\n (arrValue === othValue || equalFunc(arrValue, othValue, bitmask, customizer, stack))) {\n return seen.push(othIndex);\n }\n })) {\n result = false;\n break;\n }\n } else if (!(\n arrValue === othValue ||\n equalFunc(arrValue, othValue, bitmask, customizer, stack)\n )) {\n result = false;\n break;\n }\n }\n stack['delete'](array);\n stack['delete'](other);\n return result;\n}\n\n/**\n * A specialized version of `baseIsEqualDeep` for comparing objects of\n * the same `toStringTag`.\n *\n * **Note:** This function only supports comparing values with tags of\n * `Boolean`, `Date`, `Error`, `Number`, `RegExp`, or `String`.\n *\n * @private\n * @param {Object} object The object to compare.\n * @param {Object} other The other object to compare.\n * @param {string} tag The `toStringTag` of the objects to compare.\n * @param {number} bitmask The bitmask flags. See `baseIsEqual` for more details.\n * @param {Function} customizer The function to customize comparisons.\n * @param {Function} equalFunc The function to determine equivalents of values.\n * @param {Object} stack Tracks traversed `object` and `other` objects.\n * @returns {boolean} Returns `true` if the objects are equivalent, else `false`.\n */\nfunction equalByTag(object, other, tag, bitmask, customizer, equalFunc, stack) {\n switch (tag) {\n case dataViewTag:\n if ((object.byteLength != other.byteLength) ||\n (object.byteOffset != other.byteOffset)) {\n return false;\n }\n object = object.buffer;\n other = other.buffer;\n\n case arrayBufferTag:\n if ((object.byteLength != other.byteLength) ||\n !equalFunc(new Uint8Array(object), new Uint8Array(other))) {\n return false;\n }\n return true;\n\n case boolTag:\n case dateTag:\n case numberTag:\n // Coerce booleans to `1` or `0` and dates to milliseconds.\n // Invalid dates are coerced to `NaN`.\n return eq(+object, +other);\n\n case errorTag:\n return object.name == other.name && object.message == other.message;\n\n case regexpTag:\n case stringTag:\n // Coerce regexes to strings and treat strings, primitives and objects,\n // as equal. See http://www.ecma-international.org/ecma-262/7.0/#sec-regexp.prototype.tostring\n // for more details.\n return object == (other + '');\n\n case mapTag:\n var convert = mapToArray;\n\n case setTag:\n var isPartial = bitmask & COMPARE_PARTIAL_FLAG;\n convert || (convert = setToArray);\n\n if (object.size != other.size && !isPartial) {\n return false;\n }\n // Assume cyclic values are equal.\n var stacked = stack.get(object);\n if (stacked) {\n return stacked == other;\n }\n bitmask |= COMPARE_UNORDERED_FLAG;\n\n // Recursively compare objects (susceptible to call stack limits).\n stack.set(object, other);\n var result = equalArrays(convert(object), convert(other), bitmask, customizer, equalFunc, stack);\n stack['delete'](object);\n return result;\n\n case symbolTag:\n if (symbolValueOf) {\n return symbolValueOf.call(object) == symbolValueOf.call(other);\n }\n }\n return false;\n}\n\n/**\n * A specialized version of `baseIsEqualDeep` for objects with support for\n * partial deep comparisons.\n *\n * @private\n * @param {Object} object The object to compare.\n * @param {Object} other The other object to compare.\n * @param {number} bitmask The bitmask flags. See `baseIsEqual` for more details.\n * @param {Function} customizer The function to customize comparisons.\n * @param {Function} equalFunc The function to determine equivalents of values.\n * @param {Object} stack Tracks traversed `object` and `other` objects.\n * @returns {boolean} Returns `true` if the objects are equivalent, else `false`.\n */\nfunction equalObjects(object, other, bitmask, customizer, equalFunc, stack) {\n var isPartial = bitmask & COMPARE_PARTIAL_FLAG,\n objProps = getAllKeys(object),\n objLength = objProps.length,\n othProps = getAllKeys(other),\n othLength = othProps.length;\n\n if (objLength != othLength && !isPartial) {\n return false;\n }\n var index = objLength;\n while (index--) {\n var key = objProps[index];\n if (!(isPartial ? key in other : hasOwnProperty.call(other, key))) {\n return false;\n }\n }\n // Assume cyclic values are equal.\n var stacked = stack.get(object);\n if (stacked && stack.get(other)) {\n return stacked == other;\n }\n var result = true;\n stack.set(object, other);\n stack.set(other, object);\n\n var skipCtor = isPartial;\n while (++index < objLength) {\n key = objProps[index];\n var objValue = object[key],\n othValue = other[key];\n\n if (customizer) {\n var compared = isPartial\n ? customizer(othValue, objValue, key, other, object, stack)\n : customizer(objValue, othValue, key, object, other, stack);\n }\n // Recursively compare objects (susceptible to call stack limits).\n if (!(compared === undefined\n ? (objValue === othValue || equalFunc(objValue, othValue, bitmask, customizer, stack))\n : compared\n )) {\n result = false;\n break;\n }\n skipCtor || (skipCtor = key == 'constructor');\n }\n if (result && !skipCtor) {\n var objCtor = object.constructor,\n othCtor = other.constructor;\n\n // Non `Object` object instances with different constructors are not equal.\n if (objCtor != othCtor &&\n ('constructor' in object && 'constructor' in other) &&\n !(typeof objCtor == 'function' && objCtor instanceof objCtor &&\n typeof othCtor == 'function' && othCtor instanceof othCtor)) {\n result = false;\n }\n }\n stack['delete'](object);\n stack['delete'](other);\n return result;\n}\n\n/**\n * Creates an array of own enumerable property names and symbols of `object`.\n *\n * @private\n * @param {Object} object The object to query.\n * @returns {Array} Returns the array of property names and symbols.\n */\nfunction getAllKeys(object) {\n return baseGetAllKeys(object, keys, getSymbols);\n}\n\n/**\n * Gets the data for `map`.\n *\n * @private\n * @param {Object} map The map to query.\n * @param {string} key The reference key.\n * @returns {*} Returns the map data.\n */\nfunction getMapData(map, key) {\n var data = map.__data__;\n return isKeyable(key)\n ? data[typeof key == 'string' ? 'string' : 'hash']\n : data.map;\n}\n\n/**\n * Gets the native function at `key` of `object`.\n *\n * @private\n * @param {Object} object The object to query.\n * @param {string} key The key of the method to get.\n * @returns {*} Returns the function if it's native, else `undefined`.\n */\nfunction getNative(object, key) {\n var value = getValue(object, key);\n return baseIsNative(value) ? value : undefined;\n}\n\n/**\n * A specialized version of `baseGetTag` which ignores `Symbol.toStringTag` values.\n *\n * @private\n * @param {*} value The value to query.\n * @returns {string} Returns the raw `toStringTag`.\n */\nfunction getRawTag(value) {\n var isOwn = hasOwnProperty.call(value, symToStringTag),\n tag = value[symToStringTag];\n\n try {\n value[symToStringTag] = undefined;\n var unmasked = true;\n } catch (e) {}\n\n var result = nativeObjectToString.call(value);\n if (unmasked) {\n if (isOwn) {\n value[symToStringTag] = tag;\n } else {\n delete value[symToStringTag];\n }\n }\n return result;\n}\n\n/**\n * Creates an array of the own enumerable symbols of `object`.\n *\n * @private\n * @param {Object} object The object to query.\n * @returns {Array} Returns the array of symbols.\n */\nvar getSymbols = !nativeGetSymbols ? stubArray : function(object) {\n if (object == null) {\n return [];\n }\n object = Object(object);\n return arrayFilter(nativeGetSymbols(object), function(symbol) {\n return propertyIsEnumerable.call(object, symbol);\n });\n};\n\n/**\n * Gets the `toStringTag` of `value`.\n *\n * @private\n * @param {*} value The value to query.\n * @returns {string} Returns the `toStringTag`.\n */\nvar getTag = baseGetTag;\n\n// Fallback for data views, maps, sets, and weak maps in IE 11 and promises in Node.js < 6.\nif ((DataView && getTag(new DataView(new ArrayBuffer(1))) != dataViewTag) ||\n (Map && getTag(new Map) != mapTag) ||\n (Promise && getTag(Promise.resolve()) != promiseTag) ||\n (Set && getTag(new Set) != setTag) ||\n (WeakMap && getTag(new WeakMap) != weakMapTag)) {\n getTag = function(value) {\n var result = baseGetTag(value),\n Ctor = result == objectTag ? value.constructor : undefined,\n ctorString = Ctor ? toSource(Ctor) : '';\n\n if (ctorString) {\n switch (ctorString) {\n case dataViewCtorString: return dataViewTag;\n case mapCtorString: return mapTag;\n case promiseCtorString: return promiseTag;\n case setCtorString: return setTag;\n case weakMapCtorString: return weakMapTag;\n }\n }\n return result;\n };\n}\n\n/**\n * Checks if `value` is a valid array-like index.\n *\n * @private\n * @param {*} value The value to check.\n * @param {number} [length=MAX_SAFE_INTEGER] The upper bounds of a valid index.\n * @returns {boolean} Returns `true` if `value` is a valid index, else `false`.\n */\nfunction isIndex(value, length) {\n length = length == null ? MAX_SAFE_INTEGER : length;\n return !!length &&\n (typeof value == 'number' || reIsUint.test(value)) &&\n (value > -1 && value % 1 == 0 && value < length);\n}\n\n/**\n * Checks if `value` is suitable for use as unique object key.\n *\n * @private\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is suitable, else `false`.\n */\nfunction isKeyable(value) {\n var type = typeof value;\n return (type == 'string' || type == 'number' || type == 'symbol' || type == 'boolean')\n ? (value !== '__proto__')\n : (value === null);\n}\n\n/**\n * Checks if `func` has its source masked.\n *\n * @private\n * @param {Function} func The function to check.\n * @returns {boolean} Returns `true` if `func` is masked, else `false`.\n */\nfunction isMasked(func) {\n return !!maskSrcKey && (maskSrcKey in func);\n}\n\n/**\n * Checks if `value` is likely a prototype object.\n *\n * @private\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a prototype, else `false`.\n */\nfunction isPrototype(value) {\n var Ctor = value && value.constructor,\n proto = (typeof Ctor == 'function' && Ctor.prototype) || objectProto;\n\n return value === proto;\n}\n\n/**\n * Converts `value` to a string using `Object.prototype.toString`.\n *\n * @private\n * @param {*} value The value to convert.\n * @returns {string} Returns the converted string.\n */\nfunction objectToString(value) {\n return nativeObjectToString.call(value);\n}\n\n/**\n * Converts `func` to its source code.\n *\n * @private\n * @param {Function} func The function to convert.\n * @returns {string} Returns the source code.\n */\nfunction toSource(func) {\n if (func != null) {\n try {\n return funcToString.call(func);\n } catch (e) {}\n try {\n return (func + '');\n } catch (e) {}\n }\n return '';\n}\n\n/**\n * Performs a\n * [`SameValueZero`](http://ecma-international.org/ecma-262/7.0/#sec-samevaluezero)\n * comparison between two values to determine if they are equivalent.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to compare.\n * @param {*} other The other value to compare.\n * @returns {boolean} Returns `true` if the values are equivalent, else `false`.\n * @example\n *\n * var object = { 'a': 1 };\n * var other = { 'a': 1 };\n *\n * _.eq(object, object);\n * // => true\n *\n * _.eq(object, other);\n * // => false\n *\n * _.eq('a', 'a');\n * // => true\n *\n * _.eq('a', Object('a'));\n * // => false\n *\n * _.eq(NaN, NaN);\n * // => true\n */\nfunction eq(value, other) {\n return value === other || (value !== value && other !== other);\n}\n\n/**\n * Checks if `value` is likely an `arguments` object.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is an `arguments` object,\n * else `false`.\n * @example\n *\n * _.isArguments(function() { return arguments; }());\n * // => true\n *\n * _.isArguments([1, 2, 3]);\n * // => false\n */\nvar isArguments = baseIsArguments(function() { return arguments; }()) ? baseIsArguments : function(value) {\n return isObjectLike(value) && hasOwnProperty.call(value, 'callee') &&\n !propertyIsEnumerable.call(value, 'callee');\n};\n\n/**\n * Checks if `value` is classified as an `Array` object.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is an array, else `false`.\n * @example\n *\n * _.isArray([1, 2, 3]);\n * // => true\n *\n * _.isArray(document.body.children);\n * // => false\n *\n * _.isArray('abc');\n * // => false\n *\n * _.isArray(_.noop);\n * // => false\n */\nvar isArray = Array.isArray;\n\n/**\n * Checks if `value` is array-like. A value is considered array-like if it's\n * not a function and has a `value.length` that's an integer greater than or\n * equal to `0` and less than or equal to `Number.MAX_SAFE_INTEGER`.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is array-like, else `false`.\n * @example\n *\n * _.isArrayLike([1, 2, 3]);\n * // => true\n *\n * _.isArrayLike(document.body.children);\n * // => true\n *\n * _.isArrayLike('abc');\n * // => true\n *\n * _.isArrayLike(_.noop);\n * // => false\n */\nfunction isArrayLike(value) {\n return value != null && isLength(value.length) && !isFunction(value);\n}\n\n/**\n * Checks if `value` is a buffer.\n *\n * @static\n * @memberOf _\n * @since 4.3.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a buffer, else `false`.\n * @example\n *\n * _.isBuffer(new Buffer(2));\n * // => true\n *\n * _.isBuffer(new Uint8Array(2));\n * // => false\n */\nvar isBuffer = nativeIsBuffer || stubFalse;\n\n/**\n * Performs a deep comparison between two values to determine if they are\n * equivalent.\n *\n * **Note:** This method supports comparing arrays, array buffers, booleans,\n * date objects, error objects, maps, numbers, `Object` objects, regexes,\n * sets, strings, symbols, and typed arrays. `Object` objects are compared\n * by their own, not inherited, enumerable properties. Functions and DOM\n * nodes are compared by strict equality, i.e. `===`.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Lang\n * @param {*} value The value to compare.\n * @param {*} other The other value to compare.\n * @returns {boolean} Returns `true` if the values are equivalent, else `false`.\n * @example\n *\n * var object = { 'a': 1 };\n * var other = { 'a': 1 };\n *\n * _.isEqual(object, other);\n * // => true\n *\n * object === other;\n * // => false\n */\nfunction isEqual(value, other) {\n return baseIsEqual(value, other);\n}\n\n/**\n * Checks if `value` is classified as a `Function` object.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a function, else `false`.\n * @example\n *\n * _.isFunction(_);\n * // => true\n *\n * _.isFunction(/abc/);\n * // => false\n */\nfunction isFunction(value) {\n if (!isObject(value)) {\n return false;\n }\n // The use of `Object#toString` avoids issues with the `typeof` operator\n // in Safari 9 which returns 'object' for typed arrays and other constructors.\n var tag = baseGetTag(value);\n return tag == funcTag || tag == genTag || tag == asyncTag || tag == proxyTag;\n}\n\n/**\n * Checks if `value` is a valid array-like length.\n *\n * **Note:** This method is loosely based on\n * [`ToLength`](http://ecma-international.org/ecma-262/7.0/#sec-tolength).\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a valid length, else `false`.\n * @example\n *\n * _.isLength(3);\n * // => true\n *\n * _.isLength(Number.MIN_VALUE);\n * // => false\n *\n * _.isLength(Infinity);\n * // => false\n *\n * _.isLength('3');\n * // => false\n */\nfunction isLength(value) {\n return typeof value == 'number' &&\n value > -1 && value % 1 == 0 && value <= MAX_SAFE_INTEGER;\n}\n\n/**\n * Checks if `value` is the\n * [language type](http://www.ecma-international.org/ecma-262/7.0/#sec-ecmascript-language-types)\n * of `Object`. (e.g. arrays, functions, objects, regexes, `new Number(0)`, and `new String('')`)\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is an object, else `false`.\n * @example\n *\n * _.isObject({});\n * // => true\n *\n * _.isObject([1, 2, 3]);\n * // => true\n *\n * _.isObject(_.noop);\n * // => true\n *\n * _.isObject(null);\n * // => false\n */\nfunction isObject(value) {\n var type = typeof value;\n return value != null && (type == 'object' || type == 'function');\n}\n\n/**\n * Checks if `value` is object-like. A value is object-like if it's not `null`\n * and has a `typeof` result of \"object\".\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is object-like, else `false`.\n * @example\n *\n * _.isObjectLike({});\n * // => true\n *\n * _.isObjectLike([1, 2, 3]);\n * // => true\n *\n * _.isObjectLike(_.noop);\n * // => false\n *\n * _.isObjectLike(null);\n * // => false\n */\nfunction isObjectLike(value) {\n return value != null && typeof value == 'object';\n}\n\n/**\n * Checks if `value` is classified as a typed array.\n *\n * @static\n * @memberOf _\n * @since 3.0.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a typed array, else `false`.\n * @example\n *\n * _.isTypedArray(new Uint8Array);\n * // => true\n *\n * _.isTypedArray([]);\n * // => false\n */\nvar isTypedArray = nodeIsTypedArray ? baseUnary(nodeIsTypedArray) : baseIsTypedArray;\n\n/**\n * Creates an array of the own enumerable property names of `object`.\n *\n * **Note:** Non-object values are coerced to objects. See the\n * [ES spec](http://ecma-international.org/ecma-262/7.0/#sec-object.keys)\n * for more details.\n *\n * @static\n * @since 0.1.0\n * @memberOf _\n * @category Object\n * @param {Object} object The object to query.\n * @returns {Array} Returns the array of property names.\n * @example\n *\n * function Foo() {\n * this.a = 1;\n * this.b = 2;\n * }\n *\n * Foo.prototype.c = 3;\n *\n * _.keys(new Foo);\n * // => ['a', 'b'] (iteration order is not guaranteed)\n *\n * _.keys('hi');\n * // => ['0', '1']\n */\nfunction keys(object) {\n return isArrayLike(object) ? arrayLikeKeys(object) : baseKeys(object);\n}\n\n/**\n * This method returns a new empty array.\n *\n * @static\n * @memberOf _\n * @since 4.13.0\n * @category Util\n * @returns {Array} Returns the new empty array.\n * @example\n *\n * var arrays = _.times(2, _.stubArray);\n *\n * console.log(arrays);\n * // => [[], []]\n *\n * console.log(arrays[0] === arrays[1]);\n * // => false\n */\nfunction stubArray() {\n return [];\n}\n\n/**\n * This method returns `false`.\n *\n * @static\n * @memberOf _\n * @since 4.13.0\n * @category Util\n * @returns {boolean} Returns `false`.\n * @example\n *\n * _.times(2, _.stubFalse);\n * // => [false, false]\n */\nfunction stubFalse() {\n return false;\n}\n\nmodule.exports = isEqual;\n","/**\n * Copyright (c) 2013-present, Facebook, Inc.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\n'use strict';\n\nvar ReactPropTypesSecret = require('./lib/ReactPropTypesSecret');\n\nfunction emptyFunction() {}\nfunction emptyFunctionWithReset() {}\nemptyFunctionWithReset.resetWarningCache = emptyFunction;\n\nmodule.exports = function() {\n function shim(props, propName, componentName, location, propFullName, secret) {\n if (secret === ReactPropTypesSecret) {\n // It is still safe when called from React.\n return;\n }\n var err = new Error(\n 'Calling PropTypes validators directly is not supported by the `prop-types` package. ' +\n 'Use PropTypes.checkPropTypes() to call them. ' +\n 'Read more at http://fb.me/use-check-prop-types'\n );\n err.name = 'Invariant Violation';\n throw err;\n };\n shim.isRequired = shim;\n function getShim() {\n return shim;\n };\n // Important!\n // Keep this list in sync with production version in `./factoryWithTypeCheckers.js`.\n var ReactPropTypes = {\n array: shim,\n bigint: shim,\n bool: shim,\n func: shim,\n number: shim,\n object: shim,\n string: shim,\n symbol: shim,\n\n any: shim,\n arrayOf: getShim,\n element: shim,\n elementType: shim,\n instanceOf: getShim,\n node: shim,\n objectOf: getShim,\n oneOf: getShim,\n oneOfType: getShim,\n shape: getShim,\n exact: getShim,\n\n checkPropTypes: emptyFunctionWithReset,\n resetWarningCache: emptyFunction\n };\n\n ReactPropTypes.PropTypes = ReactPropTypes;\n\n return ReactPropTypes;\n};\n","/**\n * Copyright (c) 2013-present, Facebook, Inc.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\nif (process.env.NODE_ENV !== 'production') {\n var ReactIs = require('react-is');\n\n // By explicitly using `prop-types` you are opting into new development behavior.\n // http://fb.me/prop-types-in-prod\n var throwOnDirectAccess = true;\n module.exports = require('./factoryWithTypeCheckers')(ReactIs.isElement, throwOnDirectAccess);\n} else {\n // By explicitly using `prop-types` you are opting into new production behavior.\n // http://fb.me/prop-types-in-prod\n module.exports = require('./factoryWithThrowingShims')();\n}\n","/**\n * Copyright (c) 2013-present, Facebook, Inc.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\n'use strict';\n\nvar ReactPropTypesSecret = 'SECRET_DO_NOT_PASS_THIS_OR_YOU_WILL_BE_FIRED';\n\nmodule.exports = ReactPropTypesSecret;\n","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nObject.defineProperty(exports, \"DraggableCore\", {\n enumerable: true,\n get: function () {\n return _DraggableCore.default;\n }\n});\nexports.default = void 0;\nvar React = _interopRequireWildcard(require(\"react\"));\nvar _propTypes = _interopRequireDefault(require(\"prop-types\"));\nvar _reactDom = _interopRequireDefault(require(\"react-dom\"));\nvar _clsx = _interopRequireDefault(require(\"clsx\"));\nvar _domFns = require(\"./utils/domFns\");\nvar _positionFns = require(\"./utils/positionFns\");\nvar _shims = require(\"./utils/shims\");\nvar _DraggableCore = _interopRequireDefault(require(\"./DraggableCore\"));\nvar _log = _interopRequireDefault(require(\"./utils/log\"));\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\nfunction _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== \"function\") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function (nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }\nfunction _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || typeof obj !== \"object\" && typeof obj !== \"function\") { return { default: obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== \"default\" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj.default = obj; if (cache) { cache.set(obj, newObj); } return newObj; }\nfunction _extends() { _extends = Object.assign ? Object.assign.bind() : function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\nfunction _defineProperty(obj, key, value) { key = _toPropertyKey(key); if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\nfunction _toPropertyKey(arg) { var key = _toPrimitive(arg, \"string\"); return typeof key === \"symbol\" ? key : String(key); }\nfunction _toPrimitive(input, hint) { if (typeof input !== \"object\" || input === null) return input; var prim = input[Symbol.toPrimitive]; if (prim !== undefined) { var res = prim.call(input, hint || \"default\"); if (typeof res !== \"object\") return res; throw new TypeError(\"@@toPrimitive must return a primitive value.\"); } return (hint === \"string\" ? String : Number)(input); } /*:: import type {ControlPosition, PositionOffsetControlPosition, DraggableCoreProps, DraggableCoreDefaultProps} from './DraggableCore';*/\n/*:: import type {Bounds, DraggableEventHandler} from './utils/types';*/\n/*:: import type {Element as ReactElement} from 'react';*/\n/*:: type DraggableState = {\n dragging: boolean,\n dragged: boolean,\n x: number, y: number,\n slackX: number, slackY: number,\n isElementSVG: boolean,\n prevPropsPosition: ?ControlPosition,\n};*/\n/*:: export type DraggableDefaultProps = {\n ...DraggableCoreDefaultProps,\n axis: 'both' | 'x' | 'y' | 'none',\n bounds: Bounds | string | false,\n defaultClassName: string,\n defaultClassNameDragging: string,\n defaultClassNameDragged: string,\n defaultPosition: ControlPosition,\n scale: number,\n};*/\n/*:: export type DraggableProps = {\n ...DraggableCoreProps,\n ...DraggableDefaultProps,\n positionOffset: PositionOffsetControlPosition,\n position: ControlPosition,\n};*/\n//\n// Define \n//\nclass Draggable extends React.Component /*:: */{\n // React 16.3+\n // Arity (props, state)\n static getDerivedStateFromProps(_ref /*:: */, _ref2 /*:: */) /*: ?Partial*/{\n let {\n position\n } /*: DraggableProps*/ = _ref /*: DraggableProps*/;\n let {\n prevPropsPosition\n } /*: DraggableState*/ = _ref2 /*: DraggableState*/;\n // Set x/y if a new position is provided in props that is different than the previous.\n if (position && (!prevPropsPosition || position.x !== prevPropsPosition.x || position.y !== prevPropsPosition.y)) {\n (0, _log.default)('Draggable: getDerivedStateFromProps %j', {\n position,\n prevPropsPosition\n });\n return {\n x: position.x,\n y: position.y,\n prevPropsPosition: {\n ...position\n }\n };\n }\n return null;\n }\n constructor(props /*: DraggableProps*/) {\n super(props);\n _defineProperty(this, \"onDragStart\", (e, coreData) => {\n (0, _log.default)('Draggable: onDragStart: %j', coreData);\n\n // Short-circuit if user's callback killed it.\n const shouldStart = this.props.onStart(e, (0, _positionFns.createDraggableData)(this, coreData));\n // Kills start event on core as well, so move handlers are never bound.\n if (shouldStart === false) return false;\n this.setState({\n dragging: true,\n dragged: true\n });\n });\n _defineProperty(this, \"onDrag\", (e, coreData) => {\n if (!this.state.dragging) return false;\n (0, _log.default)('Draggable: onDrag: %j', coreData);\n const uiData = (0, _positionFns.createDraggableData)(this, coreData);\n const newState = {\n x: uiData.x,\n y: uiData.y,\n slackX: 0,\n slackY: 0\n };\n\n // Keep within bounds.\n if (this.props.bounds) {\n // Save original x and y.\n const {\n x,\n y\n } = newState;\n\n // Add slack to the values used to calculate bound position. This will ensure that if\n // we start removing slack, the element won't react to it right away until it's been\n // completely removed.\n newState.x += this.state.slackX;\n newState.y += this.state.slackY;\n\n // Get bound position. This will ceil/floor the x and y within the boundaries.\n const [newStateX, newStateY] = (0, _positionFns.getBoundPosition)(this, newState.x, newState.y);\n newState.x = newStateX;\n newState.y = newStateY;\n\n // Recalculate slack by noting how much was shaved by the boundPosition handler.\n newState.slackX = this.state.slackX + (x - newState.x);\n newState.slackY = this.state.slackY + (y - newState.y);\n\n // Update the event we fire to reflect what really happened after bounds took effect.\n uiData.x = newState.x;\n uiData.y = newState.y;\n uiData.deltaX = newState.x - this.state.x;\n uiData.deltaY = newState.y - this.state.y;\n }\n\n // Short-circuit if user's callback killed it.\n const shouldUpdate = this.props.onDrag(e, uiData);\n if (shouldUpdate === false) return false;\n this.setState(newState);\n });\n _defineProperty(this, \"onDragStop\", (e, coreData) => {\n if (!this.state.dragging) return false;\n\n // Short-circuit if user's callback killed it.\n const shouldContinue = this.props.onStop(e, (0, _positionFns.createDraggableData)(this, coreData));\n if (shouldContinue === false) return false;\n (0, _log.default)('Draggable: onDragStop: %j', coreData);\n const newState /*: Partial*/ = {\n dragging: false,\n slackX: 0,\n slackY: 0\n };\n\n // If this is a controlled component, the result of this operation will be to\n // revert back to the old position. We expect a handler on `onDragStop`, at the least.\n const controlled = Boolean(this.props.position);\n if (controlled) {\n const {\n x,\n y\n } = this.props.position;\n newState.x = x;\n newState.y = y;\n }\n this.setState(newState);\n });\n this.state = {\n // Whether or not we are currently dragging.\n dragging: false,\n // Whether or not we have been dragged before.\n dragged: false,\n // Current transform x and y.\n x: props.position ? props.position.x : props.defaultPosition.x,\n y: props.position ? props.position.y : props.defaultPosition.y,\n prevPropsPosition: {\n ...props.position\n },\n // Used for compensating for out-of-bounds drags\n slackX: 0,\n slackY: 0,\n // Can only determine if SVG after mounting\n isElementSVG: false\n };\n if (props.position && !(props.onDrag || props.onStop)) {\n // eslint-disable-next-line no-console\n console.warn('A `position` was applied to this , without drag handlers. This will make this ' + 'component effectively undraggable. Please attach `onDrag` or `onStop` handlers so you can adjust the ' + '`position` of this element.');\n }\n }\n componentDidMount() {\n // Check to see if the element passed is an instanceof SVGElement\n if (typeof window.SVGElement !== 'undefined' && this.findDOMNode() instanceof window.SVGElement) {\n this.setState({\n isElementSVG: true\n });\n }\n }\n componentWillUnmount() {\n this.setState({\n dragging: false\n }); // prevents invariant if unmounted while dragging\n }\n\n // React Strict Mode compatibility: if `nodeRef` is passed, we will use it instead of trying to find\n // the underlying DOM node ourselves. See the README for more information.\n findDOMNode() /*: ?HTMLElement*/{\n var _this$props$nodeRef$c, _this$props;\n return (_this$props$nodeRef$c = (_this$props = this.props) === null || _this$props === void 0 || (_this$props = _this$props.nodeRef) === null || _this$props === void 0 ? void 0 : _this$props.current) !== null && _this$props$nodeRef$c !== void 0 ? _this$props$nodeRef$c : _reactDom.default.findDOMNode(this);\n }\n render() /*: ReactElement*/{\n const {\n axis,\n bounds,\n children,\n defaultPosition,\n defaultClassName,\n defaultClassNameDragging,\n defaultClassNameDragged,\n position,\n positionOffset,\n scale,\n ...draggableCoreProps\n } = this.props;\n let style = {};\n let svgTransform = null;\n\n // If this is controlled, we don't want to move it - unless it's dragging.\n const controlled = Boolean(position);\n const draggable = !controlled || this.state.dragging;\n const validPosition = position || defaultPosition;\n const transformOpts = {\n // Set left if horizontal drag is enabled\n x: (0, _positionFns.canDragX)(this) && draggable ? this.state.x : validPosition.x,\n // Set top if vertical drag is enabled\n y: (0, _positionFns.canDragY)(this) && draggable ? this.state.y : validPosition.y\n };\n\n // If this element was SVG, we use the `transform` attribute.\n if (this.state.isElementSVG) {\n svgTransform = (0, _domFns.createSVGTransform)(transformOpts, positionOffset);\n } else {\n // Add a CSS transform to move the element around. This allows us to move the element around\n // without worrying about whether or not it is relatively or absolutely positioned.\n // If the item you are dragging already has a transform set, wrap it in a so \n // has a clean slate.\n style = (0, _domFns.createCSSTransform)(transformOpts, positionOffset);\n }\n\n // Mark with class while dragging\n const className = (0, _clsx.default)(children.props.className || '', defaultClassName, {\n [defaultClassNameDragging]: this.state.dragging,\n [defaultClassNameDragged]: this.state.dragged\n });\n\n // Reuse the child provided\n // This makes it flexible to use whatever element is wanted (div, ul, etc)\n return /*#__PURE__*/React.createElement(_DraggableCore.default, _extends({}, draggableCoreProps, {\n onStart: this.onDragStart,\n onDrag: this.onDrag,\n onStop: this.onDragStop\n }), /*#__PURE__*/React.cloneElement(React.Children.only(children), {\n className: className,\n style: {\n ...children.props.style,\n ...style\n },\n transform: svgTransform\n }));\n }\n}\nexports.default = Draggable;\n_defineProperty(Draggable, \"displayName\", 'Draggable');\n_defineProperty(Draggable, \"propTypes\", {\n // Accepts all props accepts.\n ..._DraggableCore.default.propTypes,\n /**\n * `axis` determines which axis the draggable can move.\n *\n * Note that all callbacks will still return data as normal. This only\n * controls flushing to the DOM.\n *\n * 'both' allows movement horizontally and vertically.\n * 'x' limits movement to horizontal axis.\n * 'y' limits movement to vertical axis.\n * 'none' limits all movement.\n *\n * Defaults to 'both'.\n */\n axis: _propTypes.default.oneOf(['both', 'x', 'y', 'none']),\n /**\n * `bounds` determines the range of movement available to the element.\n * Available values are:\n *\n * 'parent' restricts movement within the Draggable's parent node.\n *\n * Alternatively, pass an object with the following properties, all of which are optional:\n *\n * {left: LEFT_BOUND, right: RIGHT_BOUND, bottom: BOTTOM_BOUND, top: TOP_BOUND}\n *\n * All values are in px.\n *\n * Example:\n *\n * ```jsx\n * let App = React.createClass({\n * render: function () {\n * return (\n * \n *

Content
\n *
\n * );\n * }\n * });\n * ```\n */\n bounds: _propTypes.default.oneOfType([_propTypes.default.shape({\n left: _propTypes.default.number,\n right: _propTypes.default.number,\n top: _propTypes.default.number,\n bottom: _propTypes.default.number\n }), _propTypes.default.string, _propTypes.default.oneOf([false])]),\n defaultClassName: _propTypes.default.string,\n defaultClassNameDragging: _propTypes.default.string,\n defaultClassNameDragged: _propTypes.default.string,\n /**\n * `defaultPosition` specifies the x and y that the dragged item should start at\n *\n * Example:\n *\n * ```jsx\n * let App = React.createClass({\n * render: function () {\n * return (\n * \n *
I start with transformX: 25px and transformY: 25px;
\n *
\n * );\n * }\n * });\n * ```\n */\n defaultPosition: _propTypes.default.shape({\n x: _propTypes.default.number,\n y: _propTypes.default.number\n }),\n positionOffset: _propTypes.default.shape({\n x: _propTypes.default.oneOfType([_propTypes.default.number, _propTypes.default.string]),\n y: _propTypes.default.oneOfType([_propTypes.default.number, _propTypes.default.string])\n }),\n /**\n * `position`, if present, defines the current position of the element.\n *\n * This is similar to how form elements in React work - if no `position` is supplied, the component\n * is uncontrolled.\n *\n * Example:\n *\n * ```jsx\n * let App = React.createClass({\n * render: function () {\n * return (\n * \n *
I start with transformX: 25px and transformY: 25px;
\n *
\n * );\n * }\n * });\n * ```\n */\n position: _propTypes.default.shape({\n x: _propTypes.default.number,\n y: _propTypes.default.number\n }),\n /**\n * These properties should be defined on the child, not here.\n */\n className: _shims.dontSetMe,\n style: _shims.dontSetMe,\n transform: _shims.dontSetMe\n});\n_defineProperty(Draggable, \"defaultProps\", {\n ..._DraggableCore.default.defaultProps,\n axis: 'both',\n bounds: false,\n defaultClassName: 'react-draggable',\n defaultClassNameDragging: 'react-draggable-dragging',\n defaultClassNameDragged: 'react-draggable-dragged',\n defaultPosition: {\n x: 0,\n y: 0\n },\n scale: 1\n});","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = void 0;\nvar React = _interopRequireWildcard(require(\"react\"));\nvar _propTypes = _interopRequireDefault(require(\"prop-types\"));\nvar _reactDom = _interopRequireDefault(require(\"react-dom\"));\nvar _domFns = require(\"./utils/domFns\");\nvar _positionFns = require(\"./utils/positionFns\");\nvar _shims = require(\"./utils/shims\");\nvar _log = _interopRequireDefault(require(\"./utils/log\"));\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\nfunction _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== \"function\") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function (nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }\nfunction _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || typeof obj !== \"object\" && typeof obj !== \"function\") { return { default: obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== \"default\" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj.default = obj; if (cache) { cache.set(obj, newObj); } return newObj; }\nfunction _defineProperty(obj, key, value) { key = _toPropertyKey(key); if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\nfunction _toPropertyKey(arg) { var key = _toPrimitive(arg, \"string\"); return typeof key === \"symbol\" ? key : String(key); }\nfunction _toPrimitive(input, hint) { if (typeof input !== \"object\" || input === null) return input; var prim = input[Symbol.toPrimitive]; if (prim !== undefined) { var res = prim.call(input, hint || \"default\"); if (typeof res !== \"object\") return res; throw new TypeError(\"@@toPrimitive must return a primitive value.\"); } return (hint === \"string\" ? String : Number)(input); }\n/*:: import type {EventHandler, MouseTouchEvent} from './utils/types';*/\n/*:: import type {Element as ReactElement} from 'react';*/\n// Simple abstraction for dragging events names.\nconst eventsFor = {\n touch: {\n start: 'touchstart',\n move: 'touchmove',\n stop: 'touchend'\n },\n mouse: {\n start: 'mousedown',\n move: 'mousemove',\n stop: 'mouseup'\n }\n};\n\n// Default to mouse events.\nlet dragEventFor = eventsFor.mouse;\n/*:: export type DraggableData = {\n node: HTMLElement,\n x: number, y: number,\n deltaX: number, deltaY: number,\n lastX: number, lastY: number,\n};*/\n/*:: export type DraggableEventHandler = (e: MouseEvent, data: DraggableData) => void | false;*/\n/*:: export type ControlPosition = {x: number, y: number};*/\n/*:: export type PositionOffsetControlPosition = {x: number|string, y: number|string};*/\n/*:: export type DraggableCoreDefaultProps = {\n allowAnyClick: boolean,\n disabled: boolean,\n enableUserSelectHack: boolean,\n onStart: DraggableEventHandler,\n onDrag: DraggableEventHandler,\n onStop: DraggableEventHandler,\n onMouseDown: (e: MouseEvent) => void,\n scale: number,\n};*/\n/*:: export type DraggableCoreProps = {\n ...DraggableCoreDefaultProps,\n cancel: string,\n children: ReactElement,\n offsetParent: HTMLElement,\n grid: [number, number],\n handle: string,\n nodeRef?: ?React.ElementRef,\n};*/\n//\n// Define .\n//\n// is for advanced usage of . It maintains minimal internal state so it can\n// work well with libraries that require more control over the element.\n//\n\nclass DraggableCore extends React.Component /*:: */{\n constructor() {\n super(...arguments);\n _defineProperty(this, \"dragging\", false);\n // Used while dragging to determine deltas.\n _defineProperty(this, \"lastX\", NaN);\n _defineProperty(this, \"lastY\", NaN);\n _defineProperty(this, \"touchIdentifier\", null);\n _defineProperty(this, \"mounted\", false);\n _defineProperty(this, \"handleDragStart\", e => {\n // Make it possible to attach event handlers on top of this one.\n this.props.onMouseDown(e);\n\n // Only accept left-clicks.\n if (!this.props.allowAnyClick && typeof e.button === 'number' && e.button !== 0) return false;\n\n // Get nodes. Be sure to grab relative document (could be iframed)\n const thisNode = this.findDOMNode();\n if (!thisNode || !thisNode.ownerDocument || !thisNode.ownerDocument.body) {\n throw new Error(' not mounted on DragStart!');\n }\n const {\n ownerDocument\n } = thisNode;\n\n // Short circuit if handle or cancel prop was provided and selector doesn't match.\n if (this.props.disabled || !(e.target instanceof ownerDocument.defaultView.Node) || this.props.handle && !(0, _domFns.matchesSelectorAndParentsTo)(e.target, this.props.handle, thisNode) || this.props.cancel && (0, _domFns.matchesSelectorAndParentsTo)(e.target, this.props.cancel, thisNode)) {\n return;\n }\n\n // Prevent scrolling on mobile devices, like ipad/iphone.\n // Important that this is after handle/cancel.\n if (e.type === 'touchstart') e.preventDefault();\n\n // Set touch identifier in component state if this is a touch event. This allows us to\n // distinguish between individual touches on multitouch screens by identifying which\n // touchpoint was set to this element.\n const touchIdentifier = (0, _domFns.getTouchIdentifier)(e);\n this.touchIdentifier = touchIdentifier;\n\n // Get the current drag point from the event. This is used as the offset.\n const position = (0, _positionFns.getControlPosition)(e, touchIdentifier, this);\n if (position == null) return; // not possible but satisfies flow\n const {\n x,\n y\n } = position;\n\n // Create an event object with all the data parents need to make a decision here.\n const coreEvent = (0, _positionFns.createCoreData)(this, x, y);\n (0, _log.default)('DraggableCore: handleDragStart: %j', coreEvent);\n\n // Call event handler. If it returns explicit false, cancel.\n (0, _log.default)('calling', this.props.onStart);\n const shouldUpdate = this.props.onStart(e, coreEvent);\n if (shouldUpdate === false || this.mounted === false) return;\n\n // Add a style to the body to disable user-select. This prevents text from\n // being selected all over the page.\n if (this.props.enableUserSelectHack) (0, _domFns.addUserSelectStyles)(ownerDocument);\n\n // Initiate dragging. Set the current x and y as offsets\n // so we know how much we've moved during the drag. This allows us\n // to drag elements around even if they have been moved, without issue.\n this.dragging = true;\n this.lastX = x;\n this.lastY = y;\n\n // Add events to the document directly so we catch when the user's mouse/touch moves outside of\n // this element. We use different events depending on whether or not we have detected that this\n // is a touch-capable device.\n (0, _domFns.addEvent)(ownerDocument, dragEventFor.move, this.handleDrag);\n (0, _domFns.addEvent)(ownerDocument, dragEventFor.stop, this.handleDragStop);\n });\n _defineProperty(this, \"handleDrag\", e => {\n // Get the current drag point from the event. This is used as the offset.\n const position = (0, _positionFns.getControlPosition)(e, this.touchIdentifier, this);\n if (position == null) return;\n let {\n x,\n y\n } = position;\n\n // Snap to grid if prop has been provided\n if (Array.isArray(this.props.grid)) {\n let deltaX = x - this.lastX,\n deltaY = y - this.lastY;\n [deltaX, deltaY] = (0, _positionFns.snapToGrid)(this.props.grid, deltaX, deltaY);\n if (!deltaX && !deltaY) return; // skip useless drag\n x = this.lastX + deltaX, y = this.lastY + deltaY;\n }\n const coreEvent = (0, _positionFns.createCoreData)(this, x, y);\n (0, _log.default)('DraggableCore: handleDrag: %j', coreEvent);\n\n // Call event handler. If it returns explicit false, trigger end.\n const shouldUpdate = this.props.onDrag(e, coreEvent);\n if (shouldUpdate === false || this.mounted === false) {\n try {\n // $FlowIgnore\n this.handleDragStop(new MouseEvent('mouseup'));\n } catch (err) {\n // Old browsers\n const event = ((document.createEvent('MouseEvents') /*: any*/) /*: MouseTouchEvent*/);\n // I see why this insanity was deprecated\n // $FlowIgnore\n event.initMouseEvent('mouseup', true, true, window, 0, 0, 0, 0, 0, false, false, false, false, 0, null);\n this.handleDragStop(event);\n }\n return;\n }\n this.lastX = x;\n this.lastY = y;\n });\n _defineProperty(this, \"handleDragStop\", e => {\n if (!this.dragging) return;\n const position = (0, _positionFns.getControlPosition)(e, this.touchIdentifier, this);\n if (position == null) return;\n let {\n x,\n y\n } = position;\n\n // Snap to grid if prop has been provided\n if (Array.isArray(this.props.grid)) {\n let deltaX = x - this.lastX || 0;\n let deltaY = y - this.lastY || 0;\n [deltaX, deltaY] = (0, _positionFns.snapToGrid)(this.props.grid, deltaX, deltaY);\n x = this.lastX + deltaX, y = this.lastY + deltaY;\n }\n const coreEvent = (0, _positionFns.createCoreData)(this, x, y);\n\n // Call event handler\n const shouldContinue = this.props.onStop(e, coreEvent);\n if (shouldContinue === false || this.mounted === false) return false;\n const thisNode = this.findDOMNode();\n if (thisNode) {\n // Remove user-select hack\n if (this.props.enableUserSelectHack) (0, _domFns.removeUserSelectStyles)(thisNode.ownerDocument);\n }\n (0, _log.default)('DraggableCore: handleDragStop: %j', coreEvent);\n\n // Reset the el.\n this.dragging = false;\n this.lastX = NaN;\n this.lastY = NaN;\n if (thisNode) {\n // Remove event handlers\n (0, _log.default)('DraggableCore: Removing handlers');\n (0, _domFns.removeEvent)(thisNode.ownerDocument, dragEventFor.move, this.handleDrag);\n (0, _domFns.removeEvent)(thisNode.ownerDocument, dragEventFor.stop, this.handleDragStop);\n }\n });\n _defineProperty(this, \"onMouseDown\", e => {\n dragEventFor = eventsFor.mouse; // on touchscreen laptops we could switch back to mouse\n\n return this.handleDragStart(e);\n });\n _defineProperty(this, \"onMouseUp\", e => {\n dragEventFor = eventsFor.mouse;\n return this.handleDragStop(e);\n });\n // Same as onMouseDown (start drag), but now consider this a touch device.\n _defineProperty(this, \"onTouchStart\", e => {\n // We're on a touch device now, so change the event handlers\n dragEventFor = eventsFor.touch;\n return this.handleDragStart(e);\n });\n _defineProperty(this, \"onTouchEnd\", e => {\n // We're on a touch device now, so change the event handlers\n dragEventFor = eventsFor.touch;\n return this.handleDragStop(e);\n });\n }\n componentDidMount() {\n this.mounted = true;\n // Touch handlers must be added with {passive: false} to be cancelable.\n // https://developers.google.com/web/updates/2017/01/scrolling-intervention\n const thisNode = this.findDOMNode();\n if (thisNode) {\n (0, _domFns.addEvent)(thisNode, eventsFor.touch.start, this.onTouchStart, {\n passive: false\n });\n }\n }\n componentWillUnmount() {\n this.mounted = false;\n // Remove any leftover event handlers. Remove both touch and mouse handlers in case\n // some browser quirk caused a touch event to fire during a mouse move, or vice versa.\n const thisNode = this.findDOMNode();\n if (thisNode) {\n const {\n ownerDocument\n } = thisNode;\n (0, _domFns.removeEvent)(ownerDocument, eventsFor.mouse.move, this.handleDrag);\n (0, _domFns.removeEvent)(ownerDocument, eventsFor.touch.move, this.handleDrag);\n (0, _domFns.removeEvent)(ownerDocument, eventsFor.mouse.stop, this.handleDragStop);\n (0, _domFns.removeEvent)(ownerDocument, eventsFor.touch.stop, this.handleDragStop);\n (0, _domFns.removeEvent)(thisNode, eventsFor.touch.start, this.onTouchStart, {\n passive: false\n });\n if (this.props.enableUserSelectHack) (0, _domFns.removeUserSelectStyles)(ownerDocument);\n }\n }\n\n // React Strict Mode compatibility: if `nodeRef` is passed, we will use it instead of trying to find\n // the underlying DOM node ourselves. See the README for more information.\n findDOMNode() /*: ?HTMLElement*/{\n var _this$props, _this$props2;\n return (_this$props = this.props) !== null && _this$props !== void 0 && _this$props.nodeRef ? (_this$props2 = this.props) === null || _this$props2 === void 0 || (_this$props2 = _this$props2.nodeRef) === null || _this$props2 === void 0 ? void 0 : _this$props2.current : _reactDom.default.findDOMNode(this);\n }\n render() /*: React.Element*/{\n // Reuse the child provided\n // This makes it flexible to use whatever element is wanted (div, ul, etc)\n return /*#__PURE__*/React.cloneElement(React.Children.only(this.props.children), {\n // Note: mouseMove handler is attached to document so it will still function\n // when the user drags quickly and leaves the bounds of the element.\n onMouseDown: this.onMouseDown,\n onMouseUp: this.onMouseUp,\n // onTouchStart is added on `componentDidMount` so they can be added with\n // {passive: false}, which allows it to cancel. See\n // https://developers.google.com/web/updates/2017/01/scrolling-intervention\n onTouchEnd: this.onTouchEnd\n });\n }\n}\nexports.default = DraggableCore;\n_defineProperty(DraggableCore, \"displayName\", 'DraggableCore');\n_defineProperty(DraggableCore, \"propTypes\", {\n /**\n * `allowAnyClick` allows dragging using any mouse button.\n * By default, we only accept the left button.\n *\n * Defaults to `false`.\n */\n allowAnyClick: _propTypes.default.bool,\n children: _propTypes.default.node.isRequired,\n /**\n * `disabled`, if true, stops the from dragging. All handlers,\n * with the exception of `onMouseDown`, will not fire.\n */\n disabled: _propTypes.default.bool,\n /**\n * By default, we add 'user-select:none' attributes to the document body\n * to prevent ugly text selection during drag. If this is causing problems\n * for your app, set this to `false`.\n */\n enableUserSelectHack: _propTypes.default.bool,\n /**\n * `offsetParent`, if set, uses the passed DOM node to compute drag offsets\n * instead of using the parent node.\n */\n offsetParent: function (props /*: DraggableCoreProps*/, propName /*: $Keys*/) {\n if (props[propName] && props[propName].nodeType !== 1) {\n throw new Error('Draggable\\'s offsetParent must be a DOM Node.');\n }\n },\n /**\n * `grid` specifies the x and y that dragging should snap to.\n */\n grid: _propTypes.default.arrayOf(_propTypes.default.number),\n /**\n * `handle` specifies a selector to be used as the handle that initiates drag.\n *\n * Example:\n *\n * ```jsx\n * let App = React.createClass({\n * render: function () {\n * return (\n * \n *
\n *
Click me to drag
\n *
This is some other content
\n *
\n *
\n * );\n * }\n * });\n * ```\n */\n handle: _propTypes.default.string,\n /**\n * `cancel` specifies a selector to be used to prevent drag initialization.\n *\n * Example:\n *\n * ```jsx\n * let App = React.createClass({\n * render: function () {\n * return(\n * \n *
\n *
You can't drag from here
\n *
Dragging here works fine
\n *
\n *
\n * );\n * }\n * });\n * ```\n */\n cancel: _propTypes.default.string,\n /* If running in React Strict mode, ReactDOM.findDOMNode() is deprecated.\n * Unfortunately, in order for to work properly, we need raw access\n * to the underlying DOM node. If you want to avoid the warning, pass a `nodeRef`\n * as in this example:\n *\n * function MyComponent() {\n * const nodeRef = React.useRef(null);\n * return (\n * \n *
Example Target
\n *
\n * );\n * }\n *\n * This can be used for arbitrarily nested components, so long as the ref ends up\n * pointing to the actual child DOM node and not a custom component.\n */\n nodeRef: _propTypes.default.object,\n /**\n * Called when dragging starts.\n * If this function returns the boolean false, dragging will be canceled.\n */\n onStart: _propTypes.default.func,\n /**\n * Called while dragging.\n * If this function returns the boolean false, dragging will be canceled.\n */\n onDrag: _propTypes.default.func,\n /**\n * Called when dragging stops.\n * If this function returns the boolean false, the drag will remain active.\n */\n onStop: _propTypes.default.func,\n /**\n * A workaround option which can be passed if onMouseDown needs to be accessed,\n * since it'll always be blocked (as there is internal use of onMouseDown)\n */\n onMouseDown: _propTypes.default.func,\n /**\n * `scale`, if set, applies scaling while dragging an element\n */\n scale: _propTypes.default.number,\n /**\n * These properties should be defined on the child, not here.\n */\n className: _shims.dontSetMe,\n style: _shims.dontSetMe,\n transform: _shims.dontSetMe\n});\n_defineProperty(DraggableCore, \"defaultProps\", {\n allowAnyClick: false,\n // by default only accept left click\n disabled: false,\n enableUserSelectHack: true,\n onStart: function () {},\n onDrag: function () {},\n onStop: function () {},\n onMouseDown: function () {},\n scale: 1\n});","\"use strict\";\n\nconst {\n default: Draggable,\n DraggableCore\n} = require('./Draggable');\n\n// Previous versions of this lib exported as the root export. As to no-// them, or TypeScript, we export *both* as the root and as 'default'.\n// See https://github.com/mzabriskie/react-draggable/pull/254\n// and https://github.com/mzabriskie/react-draggable/issues/266\nmodule.exports = Draggable;\nmodule.exports.default = Draggable;\nmodule.exports.DraggableCore = DraggableCore;","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.addClassName = addClassName;\nexports.addEvent = addEvent;\nexports.addUserSelectStyles = addUserSelectStyles;\nexports.createCSSTransform = createCSSTransform;\nexports.createSVGTransform = createSVGTransform;\nexports.getTouch = getTouch;\nexports.getTouchIdentifier = getTouchIdentifier;\nexports.getTranslation = getTranslation;\nexports.innerHeight = innerHeight;\nexports.innerWidth = innerWidth;\nexports.matchesSelector = matchesSelector;\nexports.matchesSelectorAndParentsTo = matchesSelectorAndParentsTo;\nexports.offsetXYFromParent = offsetXYFromParent;\nexports.outerHeight = outerHeight;\nexports.outerWidth = outerWidth;\nexports.removeClassName = removeClassName;\nexports.removeEvent = removeEvent;\nexports.removeUserSelectStyles = removeUserSelectStyles;\nvar _shims = require(\"./shims\");\nvar _getPrefix = _interopRequireWildcard(require(\"./getPrefix\"));\nfunction _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== \"function\") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function (nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }\nfunction _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || typeof obj !== \"object\" && typeof obj !== \"function\") { return { default: obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== \"default\" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj.default = obj; if (cache) { cache.set(obj, newObj); } return newObj; }\n/*:: import type {ControlPosition, PositionOffsetControlPosition, MouseTouchEvent} from './types';*/\nlet matchesSelectorFunc = '';\nfunction matchesSelector(el /*: Node*/, selector /*: string*/) /*: boolean*/{\n if (!matchesSelectorFunc) {\n matchesSelectorFunc = (0, _shims.findInArray)(['matches', 'webkitMatchesSelector', 'mozMatchesSelector', 'msMatchesSelector', 'oMatchesSelector'], function (method) {\n // $FlowIgnore: Doesn't think elements are indexable\n return (0, _shims.isFunction)(el[method]);\n });\n }\n\n // Might not be found entirely (not an Element?) - in that case, bail\n // $FlowIgnore: Doesn't think elements are indexable\n if (!(0, _shims.isFunction)(el[matchesSelectorFunc])) return false;\n\n // $FlowIgnore: Doesn't think elements are indexable\n return el[matchesSelectorFunc](selector);\n}\n\n// Works up the tree to the draggable itself attempting to match selector.\nfunction matchesSelectorAndParentsTo(el /*: Node*/, selector /*: string*/, baseNode /*: Node*/) /*: boolean*/{\n let node = el;\n do {\n if (matchesSelector(node, selector)) return true;\n if (node === baseNode) return false;\n // $FlowIgnore[incompatible-type]\n node = node.parentNode;\n } while (node);\n return false;\n}\nfunction addEvent(el /*: ?Node*/, event /*: string*/, handler /*: Function*/, inputOptions /*: Object*/) /*: void*/{\n if (!el) return;\n const options = {\n capture: true,\n ...inputOptions\n };\n // $FlowIgnore[method-unbinding]\n if (el.addEventListener) {\n el.addEventListener(event, handler, options);\n } else if (el.attachEvent) {\n el.attachEvent('on' + event, handler);\n } else {\n // $FlowIgnore: Doesn't think elements are indexable\n el['on' + event] = handler;\n }\n}\nfunction removeEvent(el /*: ?Node*/, event /*: string*/, handler /*: Function*/, inputOptions /*: Object*/) /*: void*/{\n if (!el) return;\n const options = {\n capture: true,\n ...inputOptions\n };\n // $FlowIgnore[method-unbinding]\n if (el.removeEventListener) {\n el.removeEventListener(event, handler, options);\n } else if (el.detachEvent) {\n el.detachEvent('on' + event, handler);\n } else {\n // $FlowIgnore: Doesn't think elements are indexable\n el['on' + event] = null;\n }\n}\nfunction outerHeight(node /*: HTMLElement*/) /*: number*/{\n // This is deliberately excluding margin for our calculations, since we are using\n // offsetTop which is including margin. See getBoundPosition\n let height = node.clientHeight;\n const computedStyle = node.ownerDocument.defaultView.getComputedStyle(node);\n height += (0, _shims.int)(computedStyle.borderTopWidth);\n height += (0, _shims.int)(computedStyle.borderBottomWidth);\n return height;\n}\nfunction outerWidth(node /*: HTMLElement*/) /*: number*/{\n // This is deliberately excluding margin for our calculations, since we are using\n // offsetLeft which is including margin. See getBoundPosition\n let width = node.clientWidth;\n const computedStyle = node.ownerDocument.defaultView.getComputedStyle(node);\n width += (0, _shims.int)(computedStyle.borderLeftWidth);\n width += (0, _shims.int)(computedStyle.borderRightWidth);\n return width;\n}\nfunction innerHeight(node /*: HTMLElement*/) /*: number*/{\n let height = node.clientHeight;\n const computedStyle = node.ownerDocument.defaultView.getComputedStyle(node);\n height -= (0, _shims.int)(computedStyle.paddingTop);\n height -= (0, _shims.int)(computedStyle.paddingBottom);\n return height;\n}\nfunction innerWidth(node /*: HTMLElement*/) /*: number*/{\n let width = node.clientWidth;\n const computedStyle = node.ownerDocument.defaultView.getComputedStyle(node);\n width -= (0, _shims.int)(computedStyle.paddingLeft);\n width -= (0, _shims.int)(computedStyle.paddingRight);\n return width;\n}\n/*:: interface EventWithOffset {\n clientX: number, clientY: number\n}*/\n// Get from offsetParent\nfunction offsetXYFromParent(evt /*: EventWithOffset*/, offsetParent /*: HTMLElement*/, scale /*: number*/) /*: ControlPosition*/{\n const isBody = offsetParent === offsetParent.ownerDocument.body;\n const offsetParentRect = isBody ? {\n left: 0,\n top: 0\n } : offsetParent.getBoundingClientRect();\n const x = (evt.clientX + offsetParent.scrollLeft - offsetParentRect.left) / scale;\n const y = (evt.clientY + offsetParent.scrollTop - offsetParentRect.top) / scale;\n return {\n x,\n y\n };\n}\nfunction createCSSTransform(controlPos /*: ControlPosition*/, positionOffset /*: PositionOffsetControlPosition*/) /*: Object*/{\n const translation = getTranslation(controlPos, positionOffset, 'px');\n return {\n [(0, _getPrefix.browserPrefixToKey)('transform', _getPrefix.default)]: translation\n };\n}\nfunction createSVGTransform(controlPos /*: ControlPosition*/, positionOffset /*: PositionOffsetControlPosition*/) /*: string*/{\n const translation = getTranslation(controlPos, positionOffset, '');\n return translation;\n}\nfunction getTranslation(_ref /*:: */, positionOffset /*: PositionOffsetControlPosition*/, unitSuffix /*: string*/) /*: string*/{\n let {\n x,\n y\n } /*: ControlPosition*/ = _ref /*: ControlPosition*/;\n let translation = \"translate(\".concat(x).concat(unitSuffix, \",\").concat(y).concat(unitSuffix, \")\");\n if (positionOffset) {\n const defaultX = \"\".concat(typeof positionOffset.x === 'string' ? positionOffset.x : positionOffset.x + unitSuffix);\n const defaultY = \"\".concat(typeof positionOffset.y === 'string' ? positionOffset.y : positionOffset.y + unitSuffix);\n translation = \"translate(\".concat(defaultX, \", \").concat(defaultY, \")\") + translation;\n }\n return translation;\n}\nfunction getTouch(e /*: MouseTouchEvent*/, identifier /*: number*/) /*: ?{clientX: number, clientY: number}*/{\n return e.targetTouches && (0, _shims.findInArray)(e.targetTouches, t => identifier === t.identifier) || e.changedTouches && (0, _shims.findInArray)(e.changedTouches, t => identifier === t.identifier);\n}\nfunction getTouchIdentifier(e /*: MouseTouchEvent*/) /*: ?number*/{\n if (e.targetTouches && e.targetTouches[0]) return e.targetTouches[0].identifier;\n if (e.changedTouches && e.changedTouches[0]) return e.changedTouches[0].identifier;\n}\n\n// User-select Hacks:\n//\n// Useful for preventing blue highlights all over everything when dragging.\n\n// Note we're passing `document` b/c we could be iframed\nfunction addUserSelectStyles(doc /*: ?Document*/) {\n if (!doc) return;\n let styleEl = doc.getElementById('react-draggable-style-el');\n if (!styleEl) {\n styleEl = doc.createElement('style');\n styleEl.type = 'text/css';\n styleEl.id = 'react-draggable-style-el';\n styleEl.innerHTML = '.react-draggable-transparent-selection *::-moz-selection {all: inherit;}\\n';\n styleEl.innerHTML += '.react-draggable-transparent-selection *::selection {all: inherit;}\\n';\n doc.getElementsByTagName('head')[0].appendChild(styleEl);\n }\n if (doc.body) addClassName(doc.body, 'react-draggable-transparent-selection');\n}\nfunction removeUserSelectStyles(doc /*: ?Document*/) {\n if (!doc) return;\n try {\n if (doc.body) removeClassName(doc.body, 'react-draggable-transparent-selection');\n // $FlowIgnore: IE\n if (doc.selection) {\n // $FlowIgnore: IE\n doc.selection.empty();\n } else {\n // Remove selection caused by scroll, unless it's a focused input\n // (we use doc.defaultView in case we're in an iframe)\n const selection = (doc.defaultView || window).getSelection();\n if (selection && selection.type !== 'Caret') {\n selection.removeAllRanges();\n }\n }\n } catch (e) {\n // probably IE\n }\n}\nfunction addClassName(el /*: HTMLElement*/, className /*: string*/) {\n if (el.classList) {\n el.classList.add(className);\n } else {\n if (!el.className.match(new RegExp(\"(?:^|\\\\s)\".concat(className, \"(?!\\\\S)\")))) {\n el.className += \" \".concat(className);\n }\n }\n}\nfunction removeClassName(el /*: HTMLElement*/, className /*: string*/) {\n if (el.classList) {\n el.classList.remove(className);\n } else {\n el.className = el.className.replace(new RegExp(\"(?:^|\\\\s)\".concat(className, \"(?!\\\\S)\"), 'g'), '');\n }\n}","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.browserPrefixToKey = browserPrefixToKey;\nexports.browserPrefixToStyle = browserPrefixToStyle;\nexports.default = void 0;\nexports.getPrefix = getPrefix;\nconst prefixes = ['Moz', 'Webkit', 'O', 'ms'];\nfunction getPrefix() /*: string*/{\n var _window$document;\n let prop /*: string*/ = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : 'transform';\n // Ensure we're running in an environment where there is actually a global\n // `window` obj\n if (typeof window === 'undefined') return '';\n\n // If we're in a pseudo-browser server-side environment, this access\n // path may not exist, so bail out if it doesn't.\n const style = (_window$document = window.document) === null || _window$document === void 0 || (_window$document = _window$document.documentElement) === null || _window$document === void 0 ? void 0 : _window$document.style;\n if (!style) return '';\n if (prop in style) return '';\n for (let i = 0; i < prefixes.length; i++) {\n if (browserPrefixToKey(prop, prefixes[i]) in style) return prefixes[i];\n }\n return '';\n}\nfunction browserPrefixToKey(prop /*: string*/, prefix /*: string*/) /*: string*/{\n return prefix ? \"\".concat(prefix).concat(kebabToTitleCase(prop)) : prop;\n}\nfunction browserPrefixToStyle(prop /*: string*/, prefix /*: string*/) /*: string*/{\n return prefix ? \"-\".concat(prefix.toLowerCase(), \"-\").concat(prop) : prop;\n}\nfunction kebabToTitleCase(str /*: string*/) /*: string*/{\n let out = '';\n let shouldCapitalize = true;\n for (let i = 0; i < str.length; i++) {\n if (shouldCapitalize) {\n out += str[i].toUpperCase();\n shouldCapitalize = false;\n } else if (str[i] === '-') {\n shouldCapitalize = true;\n } else {\n out += str[i];\n }\n }\n return out;\n}\n\n// Default export is the prefix itself, like 'Moz', 'Webkit', etc\n// Note that you may have to re-test for certain things; for instance, Chrome 50\n// can handle unprefixed `transform`, but not unprefixed `user-select`\nvar _default = exports.default = (getPrefix() /*: string*/);","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = log;\n/*eslint no-console:0*/\nfunction log() {\n if (undefined) console.log(...arguments);\n}","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.canDragX = canDragX;\nexports.canDragY = canDragY;\nexports.createCoreData = createCoreData;\nexports.createDraggableData = createDraggableData;\nexports.getBoundPosition = getBoundPosition;\nexports.getControlPosition = getControlPosition;\nexports.snapToGrid = snapToGrid;\nvar _shims = require(\"./shims\");\nvar _domFns = require(\"./domFns\");\n/*:: import type Draggable from '../Draggable';*/\n/*:: import type {Bounds, ControlPosition, DraggableData, MouseTouchEvent} from './types';*/\n/*:: import type DraggableCore from '../DraggableCore';*/\nfunction getBoundPosition(draggable /*: Draggable*/, x /*: number*/, y /*: number*/) /*: [number, number]*/{\n // If no bounds, short-circuit and move on\n if (!draggable.props.bounds) return [x, y];\n\n // Clone new bounds\n let {\n bounds\n } = draggable.props;\n bounds = typeof bounds === 'string' ? bounds : cloneBounds(bounds);\n const node = findDOMNode(draggable);\n if (typeof bounds === 'string') {\n const {\n ownerDocument\n } = node;\n const ownerWindow = ownerDocument.defaultView;\n let boundNode;\n if (bounds === 'parent') {\n boundNode = node.parentNode;\n } else {\n boundNode = ownerDocument.querySelector(bounds);\n }\n if (!(boundNode instanceof ownerWindow.HTMLElement)) {\n throw new Error('Bounds selector \"' + bounds + '\" could not find an element.');\n }\n const boundNodeEl /*: HTMLElement*/ = boundNode; // for Flow, can't seem to refine correctly\n const nodeStyle = ownerWindow.getComputedStyle(node);\n const boundNodeStyle = ownerWindow.getComputedStyle(boundNodeEl);\n // Compute bounds. This is a pain with padding and offsets but this gets it exactly right.\n bounds = {\n left: -node.offsetLeft + (0, _shims.int)(boundNodeStyle.paddingLeft) + (0, _shims.int)(nodeStyle.marginLeft),\n top: -node.offsetTop + (0, _shims.int)(boundNodeStyle.paddingTop) + (0, _shims.int)(nodeStyle.marginTop),\n right: (0, _domFns.innerWidth)(boundNodeEl) - (0, _domFns.outerWidth)(node) - node.offsetLeft + (0, _shims.int)(boundNodeStyle.paddingRight) - (0, _shims.int)(nodeStyle.marginRight),\n bottom: (0, _domFns.innerHeight)(boundNodeEl) - (0, _domFns.outerHeight)(node) - node.offsetTop + (0, _shims.int)(boundNodeStyle.paddingBottom) - (0, _shims.int)(nodeStyle.marginBottom)\n };\n }\n\n // Keep x and y below right and bottom limits...\n if ((0, _shims.isNum)(bounds.right)) x = Math.min(x, bounds.right);\n if ((0, _shims.isNum)(bounds.bottom)) y = Math.min(y, bounds.bottom);\n\n // But above left and top limits.\n if ((0, _shims.isNum)(bounds.left)) x = Math.max(x, bounds.left);\n if ((0, _shims.isNum)(bounds.top)) y = Math.max(y, bounds.top);\n return [x, y];\n}\nfunction snapToGrid(grid /*: [number, number]*/, pendingX /*: number*/, pendingY /*: number*/) /*: [number, number]*/{\n const x = Math.round(pendingX / grid[0]) * grid[0];\n const y = Math.round(pendingY / grid[1]) * grid[1];\n return [x, y];\n}\nfunction canDragX(draggable /*: Draggable*/) /*: boolean*/{\n return draggable.props.axis === 'both' || draggable.props.axis === 'x';\n}\nfunction canDragY(draggable /*: Draggable*/) /*: boolean*/{\n return draggable.props.axis === 'both' || draggable.props.axis === 'y';\n}\n\n// Get {x, y} positions from event.\nfunction getControlPosition(e /*: MouseTouchEvent*/, touchIdentifier /*: ?number*/, draggableCore /*: DraggableCore*/) /*: ?ControlPosition*/{\n const touchObj = typeof touchIdentifier === 'number' ? (0, _domFns.getTouch)(e, touchIdentifier) : null;\n if (typeof touchIdentifier === 'number' && !touchObj) return null; // not the right touch\n const node = findDOMNode(draggableCore);\n // User can provide an offsetParent if desired.\n const offsetParent = draggableCore.props.offsetParent || node.offsetParent || node.ownerDocument.body;\n return (0, _domFns.offsetXYFromParent)(touchObj || e, offsetParent, draggableCore.props.scale);\n}\n\n// Create an data object exposed by 's events\nfunction createCoreData(draggable /*: DraggableCore*/, x /*: number*/, y /*: number*/) /*: DraggableData*/{\n const isStart = !(0, _shims.isNum)(draggable.lastX);\n const node = findDOMNode(draggable);\n if (isStart) {\n // If this is our first move, use the x and y as last coords.\n return {\n node,\n deltaX: 0,\n deltaY: 0,\n lastX: x,\n lastY: y,\n x,\n y\n };\n } else {\n // Otherwise calculate proper values.\n return {\n node,\n deltaX: x - draggable.lastX,\n deltaY: y - draggable.lastY,\n lastX: draggable.lastX,\n lastY: draggable.lastY,\n x,\n y\n };\n }\n}\n\n// Create an data exposed by 's events\nfunction createDraggableData(draggable /*: Draggable*/, coreData /*: DraggableData*/) /*: DraggableData*/{\n const scale = draggable.props.scale;\n return {\n node: coreData.node,\n x: draggable.state.x + coreData.deltaX / scale,\n y: draggable.state.y + coreData.deltaY / scale,\n deltaX: coreData.deltaX / scale,\n deltaY: coreData.deltaY / scale,\n lastX: draggable.state.x,\n lastY: draggable.state.y\n };\n}\n\n// A lot faster than stringify/parse\nfunction cloneBounds(bounds /*: Bounds*/) /*: Bounds*/{\n return {\n left: bounds.left,\n top: bounds.top,\n right: bounds.right,\n bottom: bounds.bottom\n };\n}\nfunction findDOMNode(draggable /*: Draggable | DraggableCore*/) /*: HTMLElement*/{\n const node = draggable.findDOMNode();\n if (!node) {\n throw new Error(': Unmounted during event!');\n }\n // $FlowIgnore we can't assert on HTMLElement due to tests... FIXME\n return node;\n}","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.dontSetMe = dontSetMe;\nexports.findInArray = findInArray;\nexports.int = int;\nexports.isFunction = isFunction;\nexports.isNum = isNum;\n// @credits https://gist.github.com/rogozhnikoff/a43cfed27c41e4e68cdc\nfunction findInArray(array /*: Array | TouchList*/, callback /*: Function*/) /*: any*/{\n for (let i = 0, length = array.length; i < length; i++) {\n if (callback.apply(callback, [array[i], i, array])) return array[i];\n }\n}\nfunction isFunction(func /*: any*/) /*: boolean %checks*/{\n // $FlowIgnore[method-unbinding]\n return typeof func === 'function' || Object.prototype.toString.call(func) === '[object Function]';\n}\nfunction isNum(num /*: any*/) /*: boolean %checks*/{\n return typeof num === 'number' && !isNaN(num);\n}\nfunction int(a /*: string*/) /*: number*/{\n return parseInt(a, 10);\n}\nfunction dontSetMe(props /*: Object*/, propName /*: string*/, componentName /*: string*/) /*: ?Error*/{\n if (props[propName]) {\n return new Error(\"Invalid prop \".concat(propName, \" passed to \").concat(componentName, \" - do not set this, set it on the child.\"));\n }\n}","\"use strict\";\n\nfunction _typeof(obj) { \"@babel/helpers - typeof\"; return _typeof = \"function\" == typeof Symbol && \"symbol\" == typeof Symbol.iterator ? function (obj) { return typeof obj; } : function (obj) { return obj && \"function\" == typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; }, _typeof(obj); }\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = void 0;\n\nvar _react = _interopRequireDefault(require(\"react\"));\n\nvar _propTypes = _interopRequireDefault(require(\"prop-types\"));\n\nvar _reactDraggable = require(\"react-draggable\");\n\nvar _reactResizable = require(\"react-resizable\");\n\nvar _utils = require(\"./utils\");\n\nvar _calculateUtils = require(\"./calculateUtils\");\n\nvar _ReactGridLayoutPropTypes = require(\"./ReactGridLayoutPropTypes\");\n\nvar _clsx = _interopRequireDefault(require(\"clsx\"));\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }\n\nfunction _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { _defineProperty(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } }\n\nfunction _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); Object.defineProperty(Constructor, \"prototype\", { writable: false }); return Constructor; }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function\"); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, writable: true, configurable: true } }); Object.defineProperty(subClass, \"prototype\", { writable: false }); if (superClass) _setPrototypeOf(subClass, superClass); }\n\nfunction _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); }\n\nfunction _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = _getPrototypeOf(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = _getPrototypeOf(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return _possibleConstructorReturn(this, result); }; }\n\nfunction _possibleConstructorReturn(self, call) { if (call && (_typeof(call) === \"object\" || typeof call === \"function\")) { return call; } else if (call !== void 0) { throw new TypeError(\"Derived constructors may only return object or undefined\"); } return _assertThisInitialized(self); }\n\nfunction _assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return self; }\n\nfunction _isNativeReflectConstruct() { if (typeof Reflect === \"undefined\" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === \"function\") return true; try { Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); return true; } catch (e) { return false; } }\n\nfunction _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return _getPrototypeOf(o); }\n\nfunction _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\n\n/**\n * An individual item within a ReactGridLayout.\n */\nvar GridItem = /*#__PURE__*/function (_React$Component) {\n _inherits(GridItem, _React$Component);\n\n var _super = _createSuper(GridItem);\n\n function GridItem() {\n var _this;\n\n _classCallCheck(this, GridItem);\n\n for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n\n _this = _super.call.apply(_super, [this].concat(args));\n\n _defineProperty(_assertThisInitialized(_this), \"state\", {\n resizing: null,\n dragging: null,\n className: \"\"\n });\n\n _defineProperty(_assertThisInitialized(_this), \"elementRef\", /*#__PURE__*/_react.default.createRef());\n\n _defineProperty(_assertThisInitialized(_this), \"onDragStart\", function (e, _ref) {\n var node = _ref.node;\n var _this$props = _this.props,\n onDragStart = _this$props.onDragStart,\n transformScale = _this$props.transformScale;\n if (!onDragStart) return;\n var newPosition\n /*: PartialPosition*/\n = {\n top: 0,\n left: 0\n }; // TODO: this wont work on nested parents\n\n var offsetParent = node.offsetParent;\n if (!offsetParent) return;\n var parentRect = offsetParent.getBoundingClientRect();\n var clientRect = node.getBoundingClientRect();\n var cLeft = clientRect.left / transformScale;\n var pLeft = parentRect.left / transformScale;\n var cTop = clientRect.top / transformScale;\n var pTop = parentRect.top / transformScale;\n newPosition.left = cLeft - pLeft + offsetParent.scrollLeft;\n newPosition.top = cTop - pTop + offsetParent.scrollTop;\n\n _this.setState({\n dragging: newPosition\n }); // Call callback with this data\n\n\n var _calcXY = (0, _calculateUtils.calcXY)(_this.getPositionParams(), newPosition.top, newPosition.left, _this.props.w, _this.props.h),\n x = _calcXY.x,\n y = _calcXY.y;\n\n return onDragStart.call(_assertThisInitialized(_this), _this.props.i, x, y, {\n e: e,\n node: node,\n newPosition: newPosition\n });\n });\n\n _defineProperty(_assertThisInitialized(_this), \"onDrag\", function (e, _ref2) {\n var node = _ref2.node,\n deltaX = _ref2.deltaX,\n deltaY = _ref2.deltaY;\n var onDrag = _this.props.onDrag;\n if (!onDrag) return;\n\n if (!_this.state.dragging) {\n throw new Error(\"onDrag called before onDragStart.\");\n }\n\n var top = _this.state.dragging.top + deltaY;\n var left = _this.state.dragging.left + deltaX;\n var _this$props2 = _this.props,\n isBounded = _this$props2.isBounded,\n i = _this$props2.i,\n w = _this$props2.w,\n h = _this$props2.h,\n containerWidth = _this$props2.containerWidth;\n\n var positionParams = _this.getPositionParams(); // Boundary calculations; keeps items within the grid\n\n\n if (isBounded) {\n var offsetParent = node.offsetParent;\n\n if (offsetParent) {\n var _this$props3 = _this.props,\n margin = _this$props3.margin,\n rowHeight = _this$props3.rowHeight;\n var bottomBoundary = offsetParent.clientHeight - (0, _calculateUtils.calcGridItemWHPx)(h, rowHeight, margin[1]);\n top = (0, _calculateUtils.clamp)(top, 0, bottomBoundary);\n var colWidth = (0, _calculateUtils.calcGridColWidth)(positionParams);\n var rightBoundary = containerWidth - (0, _calculateUtils.calcGridItemWHPx)(w, colWidth, margin[0]);\n left = (0, _calculateUtils.clamp)(left, 0, rightBoundary);\n }\n }\n\n var newPosition\n /*: PartialPosition*/\n = {\n top: top,\n left: left\n };\n\n _this.setState({\n dragging: newPosition\n }); // Call callback with this data\n\n\n var _calcXY2 = (0, _calculateUtils.calcXY)(positionParams, top, left, w, h),\n x = _calcXY2.x,\n y = _calcXY2.y;\n\n return onDrag.call(_assertThisInitialized(_this), i, x, y, {\n e: e,\n node: node,\n newPosition: newPosition\n });\n });\n\n _defineProperty(_assertThisInitialized(_this), \"onDragStop\", function (e, _ref3) {\n var node = _ref3.node;\n var onDragStop = _this.props.onDragStop;\n if (!onDragStop) return;\n\n if (!_this.state.dragging) {\n throw new Error(\"onDragEnd called before onDragStart.\");\n }\n\n var _this$props4 = _this.props,\n w = _this$props4.w,\n h = _this$props4.h,\n i = _this$props4.i;\n var _this$state$dragging = _this.state.dragging,\n left = _this$state$dragging.left,\n top = _this$state$dragging.top;\n var newPosition\n /*: PartialPosition*/\n = {\n top: top,\n left: left\n };\n\n _this.setState({\n dragging: null\n });\n\n var _calcXY3 = (0, _calculateUtils.calcXY)(_this.getPositionParams(), top, left, w, h),\n x = _calcXY3.x,\n y = _calcXY3.y;\n\n return onDragStop.call(_assertThisInitialized(_this), i, x, y, {\n e: e,\n node: node,\n newPosition: newPosition\n });\n });\n\n _defineProperty(_assertThisInitialized(_this), \"onResizeStop\", function (e, callbackData) {\n _this.onResizeHandler(e, callbackData, \"onResizeStop\");\n });\n\n _defineProperty(_assertThisInitialized(_this), \"onResizeStart\", function (e, callbackData) {\n _this.onResizeHandler(e, callbackData, \"onResizeStart\");\n });\n\n _defineProperty(_assertThisInitialized(_this), \"onResize\", function (e, callbackData) {\n _this.onResizeHandler(e, callbackData, \"onResize\");\n });\n\n return _this;\n }\n\n _createClass(GridItem, [{\n key: \"shouldComponentUpdate\",\n value: function shouldComponentUpdate(nextProps\n /*: Props*/\n , nextState\n /*: State*/\n )\n /*: boolean*/\n {\n // We can't deeply compare children. If the developer memoizes them, we can\n // use this optimization.\n if (this.props.children !== nextProps.children) return true;\n if (this.props.droppingPosition !== nextProps.droppingPosition) return true; // TODO memoize these calculations so they don't take so long?\n\n var oldPosition = (0, _calculateUtils.calcGridItemPosition)(this.getPositionParams(this.props), this.props.x, this.props.y, this.props.w, this.props.h, this.state);\n var newPosition = (0, _calculateUtils.calcGridItemPosition)(this.getPositionParams(nextProps), nextProps.x, nextProps.y, nextProps.w, nextProps.h, nextState);\n return !(0, _utils.fastPositionEqual)(oldPosition, newPosition) || this.props.useCSSTransforms !== nextProps.useCSSTransforms;\n }\n }, {\n key: \"componentDidMount\",\n value: function componentDidMount() {\n this.moveDroppingItem({});\n }\n }, {\n key: \"componentDidUpdate\",\n value: function componentDidUpdate(prevProps\n /*: Props*/\n ) {\n this.moveDroppingItem(prevProps);\n } // When a droppingPosition is present, this means we should fire a move event, as if we had moved\n // this element by `x, y` pixels.\n\n }, {\n key: \"moveDroppingItem\",\n value: function moveDroppingItem(prevProps\n /*: Props*/\n ) {\n var droppingPosition = this.props.droppingPosition;\n if (!droppingPosition) return;\n var node = this.elementRef.current; // Can't find DOM node (are we unmounted?)\n\n if (!node) return;\n var prevDroppingPosition = prevProps.droppingPosition || {\n left: 0,\n top: 0\n };\n var dragging = this.state.dragging;\n var shouldDrag = dragging && droppingPosition.left !== prevDroppingPosition.left || droppingPosition.top !== prevDroppingPosition.top;\n\n if (!dragging) {\n this.onDragStart(droppingPosition.e, {\n node: node,\n deltaX: droppingPosition.left,\n deltaY: droppingPosition.top\n });\n } else if (shouldDrag) {\n var deltaX = droppingPosition.left - dragging.left;\n var deltaY = droppingPosition.top - dragging.top;\n this.onDrag(droppingPosition.e, {\n node: node,\n deltaX: deltaX,\n deltaY: deltaY\n });\n }\n }\n }, {\n key: \"getPositionParams\",\n value: function getPositionParams()\n /*: PositionParams*/\n {\n var props\n /*: Props*/\n = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : this.props;\n return {\n cols: props.cols,\n containerPadding: props.containerPadding,\n containerWidth: props.containerWidth,\n margin: props.margin,\n maxRows: props.maxRows,\n rowHeight: props.rowHeight\n };\n }\n /**\n * This is where we set the grid item's absolute placement. It gets a little tricky because we want to do it\n * well when server rendering, and the only way to do that properly is to use percentage width/left because\n * we don't know exactly what the browser viewport is.\n * Unfortunately, CSS Transforms, which are great for performance, break in this instance because a percentage\n * left is relative to the item itself, not its container! So we cannot use them on the server rendering pass.\n *\n * @param {Object} pos Position object with width, height, left, top.\n * @return {Object} Style object.\n */\n\n }, {\n key: \"createStyle\",\n value: function createStyle(pos\n /*: Position*/\n )\n /*: { [key: string]: ?string }*/\n {\n var _this$props5 = this.props,\n usePercentages = _this$props5.usePercentages,\n containerWidth = _this$props5.containerWidth,\n useCSSTransforms = _this$props5.useCSSTransforms;\n var style; // CSS Transforms support (default)\n\n if (useCSSTransforms) {\n style = (0, _utils.setTransform)(pos);\n } else {\n // top,left (slow)\n style = (0, _utils.setTopLeft)(pos); // This is used for server rendering.\n\n if (usePercentages) {\n style.left = (0, _utils.perc)(pos.left / containerWidth);\n style.width = (0, _utils.perc)(pos.width / containerWidth);\n }\n }\n\n return style;\n }\n /**\n * Mix a Draggable instance into a child.\n * @param {Element} child Child element.\n * @return {Element} Child wrapped in Draggable.\n */\n\n }, {\n key: \"mixinDraggable\",\n value: function mixinDraggable(child\n /*: ReactElement*/\n , isDraggable\n /*: boolean*/\n )\n /*: ReactElement*/\n {\n return /*#__PURE__*/_react.default.createElement(_reactDraggable.DraggableCore, {\n disabled: !isDraggable,\n onStart: this.onDragStart,\n onDrag: this.onDrag,\n onStop: this.onDragStop,\n handle: this.props.handle,\n cancel: \".react-resizable-handle\" + (this.props.cancel ? \",\" + this.props.cancel : \"\"),\n scale: this.props.transformScale,\n nodeRef: this.elementRef\n }, child);\n }\n /**\n * Mix a Resizable instance into a child.\n * @param {Element} child Child element.\n * @param {Object} position Position object (pixel values)\n * @return {Element} Child wrapped in Resizable.\n */\n\n }, {\n key: \"mixinResizable\",\n value: function mixinResizable(child\n /*: ReactElement*/\n , position\n /*: Position*/\n , isResizable\n /*: boolean*/\n )\n /*: ReactElement*/\n {\n var _this$props6 = this.props,\n cols = _this$props6.cols,\n x = _this$props6.x,\n minW = _this$props6.minW,\n minH = _this$props6.minH,\n maxW = _this$props6.maxW,\n maxH = _this$props6.maxH,\n transformScale = _this$props6.transformScale,\n resizeHandles = _this$props6.resizeHandles,\n resizeHandle = _this$props6.resizeHandle;\n var positionParams = this.getPositionParams(); // This is the max possible width - doesn't go to infinity because of the width of the window\n\n var maxWidth = (0, _calculateUtils.calcGridItemPosition)(positionParams, 0, 0, cols - x, 0).width; // Calculate min/max constraints using our min & maxes\n\n var mins = (0, _calculateUtils.calcGridItemPosition)(positionParams, 0, 0, minW, minH);\n var maxes = (0, _calculateUtils.calcGridItemPosition)(positionParams, 0, 0, maxW, maxH);\n var minConstraints = [mins.width, mins.height];\n var maxConstraints = [Math.min(maxes.width, maxWidth), Math.min(maxes.height, Infinity)];\n return /*#__PURE__*/_react.default.createElement(_reactResizable.Resizable // These are opts for the resize handle itself\n , {\n draggableOpts: {\n disabled: !isResizable\n },\n className: isResizable ? undefined : \"react-resizable-hide\",\n width: position.width,\n height: position.height,\n minConstraints: minConstraints,\n maxConstraints: maxConstraints,\n onResizeStop: this.onResizeStop,\n onResizeStart: this.onResizeStart,\n onResize: this.onResize,\n transformScale: transformScale,\n resizeHandles: resizeHandles,\n handle: resizeHandle\n }, child);\n }\n /**\n * onDragStart event handler\n * @param {Event} e event data\n * @param {Object} callbackData an object with node, delta and position information\n */\n\n }, {\n key: \"onResizeHandler\",\n value:\n /**\n * Wrapper around drag events to provide more useful data.\n * All drag events call the function with the given handler name,\n * with the signature (index, x, y).\n *\n * @param {String} handlerName Handler name to wrap.\n * @return {Function} Handler function.\n */\n function onResizeHandler(e\n /*: Event*/\n , _ref4, handlerName\n /*: string*/\n )\n /*: void*/\n {\n var node = _ref4.node,\n size = _ref4.size;\n var handler = this.props[handlerName];\n if (!handler) return;\n var _this$props7 = this.props,\n cols = _this$props7.cols,\n x = _this$props7.x,\n y = _this$props7.y,\n i = _this$props7.i,\n maxH = _this$props7.maxH,\n minH = _this$props7.minH;\n var _this$props8 = this.props,\n minW = _this$props8.minW,\n maxW = _this$props8.maxW; // Get new XY\n\n var _calcWH = (0, _calculateUtils.calcWH)(this.getPositionParams(), size.width, size.height, x, y),\n w = _calcWH.w,\n h = _calcWH.h; // minW should be at least 1 (TODO propTypes validation?)\n\n\n minW = Math.max(minW, 1); // maxW should be at most (cols - x)\n\n maxW = Math.min(maxW, cols - x); // Min/max capping\n\n w = (0, _calculateUtils.clamp)(w, minW, maxW);\n h = (0, _calculateUtils.clamp)(h, minH, maxH);\n this.setState({\n resizing: handlerName === \"onResizeStop\" ? null : size\n });\n handler.call(this, i, w, h, {\n e: e,\n node: node,\n size: size\n });\n }\n }, {\n key: \"render\",\n value: function render()\n /*: ReactNode*/\n {\n var _this$props9 = this.props,\n x = _this$props9.x,\n y = _this$props9.y,\n w = _this$props9.w,\n h = _this$props9.h,\n isDraggable = _this$props9.isDraggable,\n isResizable = _this$props9.isResizable,\n droppingPosition = _this$props9.droppingPosition,\n useCSSTransforms = _this$props9.useCSSTransforms;\n var pos = (0, _calculateUtils.calcGridItemPosition)(this.getPositionParams(), x, y, w, h, this.state);\n\n var child = _react.default.Children.only(this.props.children); // Create the child element. We clone the existing element but modify its className and style.\n\n\n var newChild = /*#__PURE__*/_react.default.cloneElement(child, {\n ref: this.elementRef,\n className: (0, _clsx.default)(\"react-grid-item\", child.props.className, this.props.className, {\n static: this.props.static,\n resizing: Boolean(this.state.resizing),\n \"react-draggable\": isDraggable,\n \"react-draggable-dragging\": Boolean(this.state.dragging),\n dropping: Boolean(droppingPosition),\n cssTransforms: useCSSTransforms\n }),\n // We can set the width and height on the child, but unfortunately we can't set the position.\n style: _objectSpread(_objectSpread(_objectSpread({}, this.props.style), child.props.style), this.createStyle(pos))\n }); // Resizable support. This is usually on but the user can toggle it off.\n\n\n newChild = this.mixinResizable(newChild, pos, isResizable); // Draggable support. This is always on, except for with placeholders.\n\n newChild = this.mixinDraggable(newChild, isDraggable);\n return newChild;\n }\n }]);\n\n return GridItem;\n}(_react.default.Component);\n\nexports.default = GridItem;\n\n_defineProperty(GridItem, \"propTypes\", {\n // Children must be only a single element\n children: _propTypes.default.element,\n // General grid attributes\n cols: _propTypes.default.number.isRequired,\n containerWidth: _propTypes.default.number.isRequired,\n rowHeight: _propTypes.default.number.isRequired,\n margin: _propTypes.default.array.isRequired,\n maxRows: _propTypes.default.number.isRequired,\n containerPadding: _propTypes.default.array.isRequired,\n // These are all in grid units\n x: _propTypes.default.number.isRequired,\n y: _propTypes.default.number.isRequired,\n w: _propTypes.default.number.isRequired,\n h: _propTypes.default.number.isRequired,\n // All optional\n minW: function minW(props\n /*: Props*/\n , propName\n /*: string*/\n ) {\n var value = props[propName];\n if (typeof value !== \"number\") return new Error(\"minWidth not Number\");\n if (value > props.w || value > props.maxW) return new Error(\"minWidth larger than item width/maxWidth\");\n },\n maxW: function maxW(props\n /*: Props*/\n , propName\n /*: string*/\n ) {\n var value = props[propName];\n if (typeof value !== \"number\") return new Error(\"maxWidth not Number\");\n if (value < props.w || value < props.minW) return new Error(\"maxWidth smaller than item width/minWidth\");\n },\n minH: function minH(props\n /*: Props*/\n , propName\n /*: string*/\n ) {\n var value = props[propName];\n if (typeof value !== \"number\") return new Error(\"minHeight not Number\");\n if (value > props.h || value > props.maxH) return new Error(\"minHeight larger than item height/maxHeight\");\n },\n maxH: function maxH(props\n /*: Props*/\n , propName\n /*: string*/\n ) {\n var value = props[propName];\n if (typeof value !== \"number\") return new Error(\"maxHeight not Number\");\n if (value < props.h || value < props.minH) return new Error(\"maxHeight smaller than item height/minHeight\");\n },\n // ID is nice to have for callbacks\n i: _propTypes.default.string.isRequired,\n // Resize handle options\n resizeHandles: _ReactGridLayoutPropTypes.resizeHandleAxesType,\n resizeHandle: _ReactGridLayoutPropTypes.resizeHandleType,\n // Functions\n onDragStop: _propTypes.default.func,\n onDragStart: _propTypes.default.func,\n onDrag: _propTypes.default.func,\n onResizeStop: _propTypes.default.func,\n onResizeStart: _propTypes.default.func,\n onResize: _propTypes.default.func,\n // Flags\n isDraggable: _propTypes.default.bool.isRequired,\n isResizable: _propTypes.default.bool.isRequired,\n isBounded: _propTypes.default.bool.isRequired,\n static: _propTypes.default.bool,\n // Use CSS transforms instead of top/left\n useCSSTransforms: _propTypes.default.bool.isRequired,\n transformScale: _propTypes.default.number,\n // Others\n className: _propTypes.default.string,\n // Selector for draggable handle\n handle: _propTypes.default.string,\n // Selector for draggable cancel (see react-draggable)\n cancel: _propTypes.default.string,\n // Current position of a dropping element\n droppingPosition: _propTypes.default.shape({\n e: _propTypes.default.object.isRequired,\n left: _propTypes.default.number.isRequired,\n top: _propTypes.default.number.isRequired\n })\n});\n\n_defineProperty(GridItem, \"defaultProps\", {\n className: \"\",\n cancel: \"\",\n handle: \"\",\n minH: 1,\n minW: 1,\n maxH: Infinity,\n maxW: Infinity,\n transformScale: 1\n});","\"use strict\";\n\nfunction _typeof(obj) { \"@babel/helpers - typeof\"; return _typeof = \"function\" == typeof Symbol && \"symbol\" == typeof Symbol.iterator ? function (obj) { return typeof obj; } : function (obj) { return obj && \"function\" == typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; }, _typeof(obj); }\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = void 0;\n\nvar React = _interopRequireWildcard(require(\"react\"));\n\nvar _lodash = _interopRequireDefault(require(\"lodash.isequal\"));\n\nvar _clsx = _interopRequireDefault(require(\"clsx\"));\n\nvar _utils = require(\"./utils\");\n\nvar _calculateUtils = require(\"./calculateUtils\");\n\nvar _GridItem = _interopRequireDefault(require(\"./GridItem\"));\n\nvar _ReactGridLayoutPropTypes = _interopRequireDefault(require(\"./ReactGridLayoutPropTypes\"));\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== \"function\") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }\n\nfunction _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || _typeof(obj) !== \"object\" && typeof obj !== \"function\") { return { default: obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== \"default\" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj.default = obj; if (cache) { cache.set(obj, newObj); } return newObj; }\n\nfunction _toConsumableArray(arr) { return _arrayWithoutHoles(arr) || _iterableToArray(arr) || _unsupportedIterableToArray(arr) || _nonIterableSpread(); }\n\nfunction _nonIterableSpread() { throw new TypeError(\"Invalid attempt to spread non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\"); }\n\nfunction _iterableToArray(iter) { if (typeof Symbol !== \"undefined\" && iter[Symbol.iterator] != null || iter[\"@@iterator\"] != null) return Array.from(iter); }\n\nfunction _arrayWithoutHoles(arr) { if (Array.isArray(arr)) return _arrayLikeToArray(arr); }\n\nfunction ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }\n\nfunction _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { _defineProperty(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }\n\nfunction _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest(); }\n\nfunction _nonIterableRest() { throw new TypeError(\"Invalid attempt to destructure non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\"); }\n\nfunction _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === \"string\") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === \"Object\" && o.constructor) n = o.constructor.name; if (n === \"Map\" || n === \"Set\") return Array.from(o); if (n === \"Arguments\" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }\n\nfunction _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) { arr2[i] = arr[i]; } return arr2; }\n\nfunction _iterableToArrayLimit(arr, i) { var _i = arr == null ? null : typeof Symbol !== \"undefined\" && arr[Symbol.iterator] || arr[\"@@iterator\"]; if (_i == null) return; var _arr = []; var _n = true; var _d = false; var _s, _e; try { for (_i = _i.call(arr); !(_n = (_s = _i.next()).done); _n = true) { _arr.push(_s.value); if (i && _arr.length === i) break; } } catch (err) { _d = true; _e = err; } finally { try { if (!_n && _i[\"return\"] != null) _i[\"return\"](); } finally { if (_d) throw _e; } } return _arr; }\n\nfunction _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } }\n\nfunction _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); Object.defineProperty(Constructor, \"prototype\", { writable: false }); return Constructor; }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function\"); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, writable: true, configurable: true } }); Object.defineProperty(subClass, \"prototype\", { writable: false }); if (superClass) _setPrototypeOf(subClass, superClass); }\n\nfunction _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); }\n\nfunction _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = _getPrototypeOf(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = _getPrototypeOf(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return _possibleConstructorReturn(this, result); }; }\n\nfunction _possibleConstructorReturn(self, call) { if (call && (_typeof(call) === \"object\" || typeof call === \"function\")) { return call; } else if (call !== void 0) { throw new TypeError(\"Derived constructors may only return object or undefined\"); } return _assertThisInitialized(self); }\n\nfunction _assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return self; }\n\nfunction _isNativeReflectConstruct() { if (typeof Reflect === \"undefined\" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === \"function\") return true; try { Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); return true; } catch (e) { return false; } }\n\nfunction _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return _getPrototypeOf(o); }\n\nfunction _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\n\n// End Types\nvar layoutClassName = \"react-grid-layout\";\nvar isFirefox = false; // Try...catch will protect from navigator not existing (e.g. node) or a bad implementation of navigator\n\ntry {\n isFirefox = /firefox/i.test(navigator.userAgent);\n} catch (e) {\n /* Ignore */\n}\n/**\n * A reactive, fluid grid layout with draggable, resizable components.\n */\n\n\nvar ReactGridLayout = /*#__PURE__*/function (_React$Component) {\n _inherits(ReactGridLayout, _React$Component);\n\n var _super = _createSuper(ReactGridLayout);\n\n function ReactGridLayout() {\n var _this;\n\n _classCallCheck(this, ReactGridLayout);\n\n for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n\n _this = _super.call.apply(_super, [this].concat(args));\n\n _defineProperty(_assertThisInitialized(_this), \"state\", {\n activeDrag: null,\n layout: (0, _utils.synchronizeLayoutWithChildren)(_this.props.layout, _this.props.children, _this.props.cols, // Legacy support for verticalCompact: false\n (0, _utils.compactType)(_this.props), _this.props.allowOverlap),\n mounted: false,\n oldDragItem: null,\n oldLayout: null,\n oldResizeItem: null,\n droppingDOMNode: null,\n children: []\n });\n\n _defineProperty(_assertThisInitialized(_this), \"dragEnterCounter\", 0);\n\n _defineProperty(_assertThisInitialized(_this), \"onDragStart\", function (i\n /*: string*/\n , x\n /*: number*/\n , y\n /*: number*/\n , _ref) {\n var e = _ref.e,\n node = _ref.node;\n var layout = _this.state.layout;\n var l = (0, _utils.getLayoutItem)(layout, i);\n if (!l) return;\n\n _this.setState({\n oldDragItem: (0, _utils.cloneLayoutItem)(l),\n oldLayout: layout\n });\n\n return _this.props.onDragStart(layout, l, l, null, e, node);\n });\n\n _defineProperty(_assertThisInitialized(_this), \"onDrag\", function (i, x, y, _ref2) {\n var e = _ref2.e,\n node = _ref2.node;\n var oldDragItem = _this.state.oldDragItem;\n var layout = _this.state.layout;\n var _this$props = _this.props,\n cols = _this$props.cols,\n allowOverlap = _this$props.allowOverlap,\n preventCollision = _this$props.preventCollision;\n var l = (0, _utils.getLayoutItem)(layout, i);\n if (!l) return; // Create placeholder (display only)\n\n var placeholder = {\n w: l.w,\n h: l.h,\n x: l.x,\n y: l.y,\n placeholder: true,\n i: i\n }; // Move the element to the dragged location.\n\n var isUserAction = true;\n layout = (0, _utils.moveElement)(layout, l, x, y, isUserAction, preventCollision, (0, _utils.compactType)(_this.props), cols, allowOverlap);\n\n _this.props.onDrag(layout, oldDragItem, l, placeholder, e, node);\n\n _this.setState({\n layout: allowOverlap ? layout : (0, _utils.compact)(layout, (0, _utils.compactType)(_this.props), cols),\n activeDrag: placeholder\n });\n });\n\n _defineProperty(_assertThisInitialized(_this), \"onDragStop\", function (i, x, y, _ref3) {\n var e = _ref3.e,\n node = _ref3.node;\n if (!_this.state.activeDrag) return;\n var oldDragItem = _this.state.oldDragItem;\n var layout = _this.state.layout;\n var _this$props2 = _this.props,\n cols = _this$props2.cols,\n preventCollision = _this$props2.preventCollision,\n allowOverlap = _this$props2.allowOverlap;\n var l = (0, _utils.getLayoutItem)(layout, i);\n if (!l) return; // Move the element here\n\n var isUserAction = true;\n layout = (0, _utils.moveElement)(layout, l, x, y, isUserAction, preventCollision, (0, _utils.compactType)(_this.props), cols, allowOverlap);\n\n _this.props.onDragStop(layout, oldDragItem, l, null, e, node); // Set state\n\n\n var newLayout = allowOverlap ? layout : (0, _utils.compact)(layout, (0, _utils.compactType)(_this.props), cols);\n var oldLayout = _this.state.oldLayout;\n\n _this.setState({\n activeDrag: null,\n layout: newLayout,\n oldDragItem: null,\n oldLayout: null\n });\n\n _this.onLayoutMaybeChanged(newLayout, oldLayout);\n });\n\n _defineProperty(_assertThisInitialized(_this), \"onResizeStart\", function (i, w, h, _ref4) {\n var e = _ref4.e,\n node = _ref4.node;\n var layout = _this.state.layout;\n var l = (0, _utils.getLayoutItem)(layout, i);\n if (!l) return;\n\n _this.setState({\n oldResizeItem: (0, _utils.cloneLayoutItem)(l),\n oldLayout: _this.state.layout\n });\n\n _this.props.onResizeStart(layout, l, l, null, e, node);\n });\n\n _defineProperty(_assertThisInitialized(_this), \"onResize\", function (i, w, h, _ref5) {\n var e = _ref5.e,\n node = _ref5.node;\n var _this$state = _this.state,\n layout = _this$state.layout,\n oldResizeItem = _this$state.oldResizeItem;\n var _this$props3 = _this.props,\n cols = _this$props3.cols,\n preventCollision = _this$props3.preventCollision,\n allowOverlap = _this$props3.allowOverlap;\n\n var _withLayoutItem = (0, _utils.withLayoutItem)(layout, i, function (l) {\n // Something like quad tree should be used\n // to find collisions faster\n var hasCollisions;\n\n if (preventCollision && !allowOverlap) {\n var collisions = (0, _utils.getAllCollisions)(layout, _objectSpread(_objectSpread({}, l), {}, {\n w: w,\n h: h\n })).filter(function (layoutItem) {\n return layoutItem.i !== l.i;\n });\n hasCollisions = collisions.length > 0; // If we're colliding, we need adjust the placeholder.\n\n // If we're colliding, we need adjust the placeholder.\n if (hasCollisions) {\n // adjust w && h to maximum allowed space\n var leastX = Infinity,\n leastY = Infinity;\n collisions.forEach(function (layoutItem) {\n if (layoutItem.x > l.x) leastX = Math.min(leastX, layoutItem.x);\n if (layoutItem.y > l.y) leastY = Math.min(leastY, layoutItem.y);\n });\n if (Number.isFinite(leastX)) l.w = leastX - l.x;\n if (Number.isFinite(leastY)) l.h = leastY - l.y;\n }\n }\n\n if (!hasCollisions) {\n // Set new width and height.\n l.w = w;\n l.h = h;\n }\n\n return l;\n }),\n _withLayoutItem2 = _slicedToArray(_withLayoutItem, 2),\n newLayout = _withLayoutItem2[0],\n l = _withLayoutItem2[1]; // Shouldn't ever happen, but typechecking makes it necessary\n\n\n if (!l) return; // Create placeholder element (display only)\n\n var placeholder = {\n w: l.w,\n h: l.h,\n x: l.x,\n y: l.y,\n static: true,\n i: i\n };\n\n _this.props.onResize(newLayout, oldResizeItem, l, placeholder, e, node); // Re-compact the newLayout and set the drag placeholder.\n\n\n _this.setState({\n layout: allowOverlap ? newLayout : (0, _utils.compact)(newLayout, (0, _utils.compactType)(_this.props), cols),\n activeDrag: placeholder\n });\n });\n\n _defineProperty(_assertThisInitialized(_this), \"onResizeStop\", function (i, w, h, _ref6) {\n var e = _ref6.e,\n node = _ref6.node;\n var _this$state2 = _this.state,\n layout = _this$state2.layout,\n oldResizeItem = _this$state2.oldResizeItem;\n var _this$props4 = _this.props,\n cols = _this$props4.cols,\n allowOverlap = _this$props4.allowOverlap;\n var l = (0, _utils.getLayoutItem)(layout, i);\n\n _this.props.onResizeStop(layout, oldResizeItem, l, null, e, node); // Set state\n\n\n var newLayout = allowOverlap ? layout : (0, _utils.compact)(layout, (0, _utils.compactType)(_this.props), cols);\n var oldLayout = _this.state.oldLayout;\n\n _this.setState({\n activeDrag: null,\n layout: newLayout,\n oldResizeItem: null,\n oldLayout: null\n });\n\n _this.onLayoutMaybeChanged(newLayout, oldLayout);\n });\n\n _defineProperty(_assertThisInitialized(_this), \"onDragOver\", function (e) {\n var _e$nativeEvent$target;\n\n e.preventDefault(); // Prevent any browser native action\n\n e.stopPropagation(); // we should ignore events from layout's children in Firefox\n // to avoid unpredictable jumping of a dropping placeholder\n // FIXME remove this hack\n\n if (isFirefox && // $FlowIgnore can't figure this out\n !((_e$nativeEvent$target = e.nativeEvent.target) !== null && _e$nativeEvent$target !== void 0 && _e$nativeEvent$target.classList.contains(layoutClassName))) {\n return false;\n }\n\n var _this$props5 = _this.props,\n droppingItem = _this$props5.droppingItem,\n onDropDragOver = _this$props5.onDropDragOver,\n margin = _this$props5.margin,\n cols = _this$props5.cols,\n rowHeight = _this$props5.rowHeight,\n maxRows = _this$props5.maxRows,\n width = _this$props5.width,\n containerPadding = _this$props5.containerPadding,\n transformScale = _this$props5.transformScale; // Allow user to customize the dropping item or short-circuit the drop based on the results\n // of the `onDragOver(e: Event)` callback.\n\n var onDragOverResult = onDropDragOver === null || onDropDragOver === void 0 ? void 0 : onDropDragOver(e);\n\n if (onDragOverResult === false) {\n if (_this.state.droppingDOMNode) {\n _this.removeDroppingPlaceholder();\n }\n\n return false;\n }\n\n var finalDroppingItem = _objectSpread(_objectSpread({}, droppingItem), onDragOverResult);\n\n var layout = _this.state.layout; // This is relative to the DOM element that this event fired for.\n\n var _e$nativeEvent = e.nativeEvent,\n layerX = _e$nativeEvent.layerX,\n layerY = _e$nativeEvent.layerY;\n var droppingPosition = {\n left: layerX / transformScale,\n top: layerY / transformScale,\n e: e\n };\n\n if (!_this.state.droppingDOMNode) {\n var positionParams\n /*: PositionParams*/\n = {\n cols: cols,\n margin: margin,\n maxRows: maxRows,\n rowHeight: rowHeight,\n containerWidth: width,\n containerPadding: containerPadding || margin\n };\n var calculatedPosition = (0, _calculateUtils.calcXY)(positionParams, layerY, layerX, finalDroppingItem.w, finalDroppingItem.h);\n\n _this.setState({\n droppingDOMNode: /*#__PURE__*/React.createElement(\"div\", {\n key: finalDroppingItem.i\n }),\n droppingPosition: droppingPosition,\n layout: [].concat(_toConsumableArray(layout), [_objectSpread(_objectSpread({}, finalDroppingItem), {}, {\n x: calculatedPosition.x,\n y: calculatedPosition.y,\n static: false,\n isDraggable: true\n })])\n });\n } else if (_this.state.droppingPosition) {\n var _this$state$droppingP = _this.state.droppingPosition,\n left = _this$state$droppingP.left,\n top = _this$state$droppingP.top;\n var shouldUpdatePosition = left != layerX || top != layerY;\n\n if (shouldUpdatePosition) {\n _this.setState({\n droppingPosition: droppingPosition\n });\n }\n }\n });\n\n _defineProperty(_assertThisInitialized(_this), \"removeDroppingPlaceholder\", function () {\n var _this$props6 = _this.props,\n droppingItem = _this$props6.droppingItem,\n cols = _this$props6.cols;\n var layout = _this.state.layout;\n var newLayout = (0, _utils.compact)(layout.filter(function (l) {\n return l.i !== droppingItem.i;\n }), (0, _utils.compactType)(_this.props), cols);\n\n _this.setState({\n layout: newLayout,\n droppingDOMNode: null,\n activeDrag: null,\n droppingPosition: undefined\n });\n });\n\n _defineProperty(_assertThisInitialized(_this), \"onDragLeave\", function (e) {\n e.preventDefault(); // Prevent any browser native action\n\n e.stopPropagation();\n _this.dragEnterCounter--; // onDragLeave can be triggered on each layout's child.\n // But we know that count of dragEnter and dragLeave events\n // will be balanced after leaving the layout's container\n // so we can increase and decrease count of dragEnter and\n // when it'll be equal to 0 we'll remove the placeholder\n\n if (_this.dragEnterCounter === 0) {\n _this.removeDroppingPlaceholder();\n }\n });\n\n _defineProperty(_assertThisInitialized(_this), \"onDragEnter\", function (e) {\n e.preventDefault(); // Prevent any browser native action\n\n e.stopPropagation();\n _this.dragEnterCounter++;\n });\n\n _defineProperty(_assertThisInitialized(_this), \"onDrop\", function (e\n /*: Event*/\n ) {\n e.preventDefault(); // Prevent any browser native action\n\n e.stopPropagation();\n var droppingItem = _this.props.droppingItem;\n var layout = _this.state.layout;\n var item = layout.find(function (l) {\n return l.i === droppingItem.i;\n }); // reset dragEnter counter on drop\n\n _this.dragEnterCounter = 0;\n\n _this.removeDroppingPlaceholder();\n\n _this.props.onDrop(layout, item, e);\n });\n\n return _this;\n }\n\n _createClass(ReactGridLayout, [{\n key: \"componentDidMount\",\n value: function componentDidMount() {\n this.setState({\n mounted: true\n }); // Possibly call back with layout on mount. This should be done after correcting the layout width\n // to ensure we don't rerender with the wrong width.\n\n this.onLayoutMaybeChanged(this.state.layout, this.props.layout);\n }\n }, {\n key: \"shouldComponentUpdate\",\n value: function shouldComponentUpdate(nextProps\n /*: Props*/\n , nextState\n /*: State*/\n )\n /*: boolean*/\n {\n return (// NOTE: this is almost always unequal. Therefore the only way to get better performance\n // from SCU is if the user intentionally memoizes children. If they do, and they can\n // handle changes properly, performance will increase.\n this.props.children !== nextProps.children || !(0, _utils.fastRGLPropsEqual)(this.props, nextProps, _lodash.default) || this.state.activeDrag !== nextState.activeDrag || this.state.mounted !== nextState.mounted || this.state.droppingPosition !== nextState.droppingPosition\n );\n }\n }, {\n key: \"componentDidUpdate\",\n value: function componentDidUpdate(prevProps\n /*: Props*/\n , prevState\n /*: State*/\n ) {\n if (!this.state.activeDrag) {\n var newLayout = this.state.layout;\n var oldLayout = prevState.layout;\n this.onLayoutMaybeChanged(newLayout, oldLayout);\n }\n }\n /**\n * Calculates a pixel value for the container.\n * @return {String} Container height in pixels.\n */\n\n }, {\n key: \"containerHeight\",\n value: function containerHeight()\n /*: ?string*/\n {\n if (!this.props.autoSize) return;\n var nbRow = (0, _utils.bottom)(this.state.layout);\n var containerPaddingY = this.props.containerPadding ? this.props.containerPadding[1] : this.props.margin[1];\n return nbRow * this.props.rowHeight + (nbRow - 1) * this.props.margin[1] + containerPaddingY * 2 + \"px\";\n }\n /**\n * When dragging starts\n * @param {String} i Id of the child\n * @param {Number} x X position of the move\n * @param {Number} y Y position of the move\n * @param {Event} e The mousedown event\n * @param {Element} node The current dragging DOM element\n */\n\n }, {\n key: \"onLayoutMaybeChanged\",\n value: function onLayoutMaybeChanged(newLayout\n /*: Layout*/\n , oldLayout\n /*: ?Layout*/\n ) {\n if (!oldLayout) oldLayout = this.state.layout;\n\n if (!(0, _lodash.default)(oldLayout, newLayout)) {\n this.props.onLayoutChange(newLayout);\n }\n }\n }, {\n key: \"placeholder\",\n value:\n /**\n * Create a placeholder object.\n * @return {Element} Placeholder div.\n */\n function placeholder()\n /*: ?ReactElement*/\n {\n var activeDrag = this.state.activeDrag;\n if (!activeDrag) return null;\n var _this$props7 = this.props,\n width = _this$props7.width,\n cols = _this$props7.cols,\n margin = _this$props7.margin,\n containerPadding = _this$props7.containerPadding,\n rowHeight = _this$props7.rowHeight,\n maxRows = _this$props7.maxRows,\n useCSSTransforms = _this$props7.useCSSTransforms,\n transformScale = _this$props7.transformScale; // {...this.state.activeDrag} is pretty slow, actually\n\n return /*#__PURE__*/React.createElement(_GridItem.default, {\n w: activeDrag.w,\n h: activeDrag.h,\n x: activeDrag.x,\n y: activeDrag.y,\n i: activeDrag.i,\n className: \"react-grid-placeholder\",\n containerWidth: width,\n cols: cols,\n margin: margin,\n containerPadding: containerPadding || margin,\n maxRows: maxRows,\n rowHeight: rowHeight,\n isDraggable: false,\n isResizable: false,\n isBounded: false,\n useCSSTransforms: useCSSTransforms,\n transformScale: transformScale\n }, /*#__PURE__*/React.createElement(\"div\", null));\n }\n /**\n * Given a grid item, set its style attributes & surround in a .\n * @param {Element} child React element.\n * @return {Element} Element wrapped in draggable and properly placed.\n */\n\n }, {\n key: \"processGridItem\",\n value: function processGridItem(child\n /*: ReactElement*/\n , isDroppingItem\n /*: boolean*/\n )\n /*: ?ReactElement*/\n {\n if (!child || !child.key) return;\n var l = (0, _utils.getLayoutItem)(this.state.layout, String(child.key));\n if (!l) return null;\n var _this$props8 = this.props,\n width = _this$props8.width,\n cols = _this$props8.cols,\n margin = _this$props8.margin,\n containerPadding = _this$props8.containerPadding,\n rowHeight = _this$props8.rowHeight,\n maxRows = _this$props8.maxRows,\n isDraggable = _this$props8.isDraggable,\n isResizable = _this$props8.isResizable,\n isBounded = _this$props8.isBounded,\n useCSSTransforms = _this$props8.useCSSTransforms,\n transformScale = _this$props8.transformScale,\n draggableCancel = _this$props8.draggableCancel,\n draggableHandle = _this$props8.draggableHandle,\n resizeHandles = _this$props8.resizeHandles,\n resizeHandle = _this$props8.resizeHandle;\n var _this$state3 = this.state,\n mounted = _this$state3.mounted,\n droppingPosition = _this$state3.droppingPosition; // Determine user manipulations possible.\n // If an item is static, it can't be manipulated by default.\n // Any properties defined directly on the grid item will take precedence.\n\n var draggable = typeof l.isDraggable === \"boolean\" ? l.isDraggable : !l.static && isDraggable;\n var resizable = typeof l.isResizable === \"boolean\" ? l.isResizable : !l.static && isResizable;\n var resizeHandlesOptions = l.resizeHandles || resizeHandles; // isBounded set on child if set on parent, and child is not explicitly false\n\n var bounded = draggable && isBounded && l.isBounded !== false;\n return /*#__PURE__*/React.createElement(_GridItem.default, {\n containerWidth: width,\n cols: cols,\n margin: margin,\n containerPadding: containerPadding || margin,\n maxRows: maxRows,\n rowHeight: rowHeight,\n cancel: draggableCancel,\n handle: draggableHandle,\n onDragStop: this.onDragStop,\n onDragStart: this.onDragStart,\n onDrag: this.onDrag,\n onResizeStart: this.onResizeStart,\n onResize: this.onResize,\n onResizeStop: this.onResizeStop,\n isDraggable: draggable,\n isResizable: resizable,\n isBounded: bounded,\n useCSSTransforms: useCSSTransforms && mounted,\n usePercentages: !mounted,\n transformScale: transformScale,\n w: l.w,\n h: l.h,\n x: l.x,\n y: l.y,\n i: l.i,\n minH: l.minH,\n minW: l.minW,\n maxH: l.maxH,\n maxW: l.maxW,\n static: l.static,\n droppingPosition: isDroppingItem ? droppingPosition : undefined,\n resizeHandles: resizeHandlesOptions,\n resizeHandle: resizeHandle\n }, child);\n } // Called while dragging an element. Part of browser native drag/drop API.\n // Native event target might be the layout itself, or an element within the layout.\n\n }, {\n key: \"render\",\n value: function render()\n /*: React.Element<\"div\">*/\n {\n var _this2 = this;\n\n var _this$props9 = this.props,\n className = _this$props9.className,\n style = _this$props9.style,\n isDroppable = _this$props9.isDroppable,\n innerRef = _this$props9.innerRef;\n var mergedClassName = (0, _clsx.default)(layoutClassName, className);\n\n var mergedStyle = _objectSpread({\n height: this.containerHeight()\n }, style);\n\n return /*#__PURE__*/React.createElement(\"div\", {\n ref: innerRef,\n className: mergedClassName,\n style: mergedStyle,\n onDrop: isDroppable ? this.onDrop : _utils.noop,\n onDragLeave: isDroppable ? this.onDragLeave : _utils.noop,\n onDragEnter: isDroppable ? this.onDragEnter : _utils.noop,\n onDragOver: isDroppable ? this.onDragOver : _utils.noop\n }, React.Children.map(this.props.children, function (child) {\n return _this2.processGridItem(child);\n }), isDroppable && this.state.droppingDOMNode && this.processGridItem(this.state.droppingDOMNode, true), this.placeholder());\n }\n }], [{\n key: \"getDerivedStateFromProps\",\n value: function getDerivedStateFromProps(nextProps\n /*: Props*/\n , prevState\n /*: State*/\n )\n /*: $Shape | null*/\n {\n var newLayoutBase;\n\n if (prevState.activeDrag) {\n return null;\n } // Legacy support for compactType\n // Allow parent to set layout directly.\n\n\n if (!(0, _lodash.default)(nextProps.layout, prevState.propsLayout) || nextProps.compactType !== prevState.compactType) {\n newLayoutBase = nextProps.layout;\n } else if (!(0, _utils.childrenEqual)(nextProps.children, prevState.children)) {\n // If children change, also regenerate the layout. Use our state\n // as the base in case because it may be more up to date than\n // what is in props.\n newLayoutBase = prevState.layout;\n } // We need to regenerate the layout.\n\n\n if (newLayoutBase) {\n var newLayout = (0, _utils.synchronizeLayoutWithChildren)(newLayoutBase, nextProps.children, nextProps.cols, (0, _utils.compactType)(nextProps), nextProps.allowOverlap);\n return {\n layout: newLayout,\n // We need to save these props to state for using\n // getDerivedStateFromProps instead of componentDidMount (in which we would get extra rerender)\n compactType: nextProps.compactType,\n children: nextProps.children,\n propsLayout: nextProps.layout\n };\n }\n\n return null;\n }\n }]);\n\n return ReactGridLayout;\n}(React.Component);\n\nexports.default = ReactGridLayout;\n\n_defineProperty(ReactGridLayout, \"displayName\", \"ReactGridLayout\");\n\n_defineProperty(ReactGridLayout, \"propTypes\", _ReactGridLayoutPropTypes.default);\n\n_defineProperty(ReactGridLayout, \"defaultProps\", {\n autoSize: true,\n cols: 12,\n className: \"\",\n style: {},\n draggableHandle: \"\",\n draggableCancel: \"\",\n containerPadding: null,\n rowHeight: 150,\n maxRows: Infinity,\n // infinite vertical growth\n layout: [],\n margin: [10, 10],\n isBounded: false,\n isDraggable: true,\n isResizable: true,\n allowOverlap: false,\n isDroppable: false,\n useCSSTransforms: true,\n transformScale: 1,\n verticalCompact: true,\n compactType: \"vertical\",\n preventCollision: false,\n droppingItem: {\n i: \"__dropping-elem__\",\n h: 1,\n w: 1\n },\n resizeHandles: [\"se\"],\n onLayoutChange: _utils.noop,\n onDragStart: _utils.noop,\n onDrag: _utils.noop,\n onDragStop: _utils.noop,\n onResizeStart: _utils.noop,\n onResize: _utils.noop,\n onResizeStop: _utils.noop,\n onDrop: _utils.noop,\n onDropDragOver: _utils.noop\n});","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.resizeHandleType = exports.resizeHandleAxesType = exports.default = void 0;\n\nvar _propTypes = _interopRequireDefault(require(\"prop-types\"));\n\nvar _react = _interopRequireDefault(require(\"react\"));\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\n// Defines which resize handles should be rendered (default: 'se')\n// Allows for any combination of:\n// 's' - South handle (bottom-center)\n// 'w' - West handle (left-center)\n// 'e' - East handle (right-center)\n// 'n' - North handle (top-center)\n// 'sw' - Southwest handle (bottom-left)\n// 'nw' - Northwest handle (top-left)\n// 'se' - Southeast handle (bottom-right)\n// 'ne' - Northeast handle (top-right)\nvar resizeHandleAxesType\n/*: ReactPropsChainableTypeChecker*/\n= _propTypes.default.arrayOf(_propTypes.default.oneOf([\"s\", \"w\", \"e\", \"n\", \"sw\", \"nw\", \"se\", \"ne\"])); // Custom component for resize handles\n\n\nexports.resizeHandleAxesType = resizeHandleAxesType;\n\nvar resizeHandleType\n/*: ReactPropsChainableTypeChecker*/\n= _propTypes.default.oneOfType([_propTypes.default.node, _propTypes.default.func]);\n/*:: export type Props = {|\n className: string,\n style: Object,\n width: number,\n autoSize: boolean,\n cols: number,\n draggableCancel: string,\n draggableHandle: string,\n verticalCompact: boolean,\n compactType: CompactType,\n layout: Layout,\n margin: [number, number],\n containerPadding: ?[number, number],\n rowHeight: number,\n maxRows: number,\n isBounded: boolean,\n isDraggable: boolean,\n isResizable: boolean,\n isDroppable: boolean,\n preventCollision: boolean,\n useCSSTransforms: boolean,\n transformScale: number,\n droppingItem: $Shape,\n resizeHandles: ResizeHandleAxis[],\n resizeHandle?: ResizeHandle,\n allowOverlap: boolean,\n\n // Callbacks\n onLayoutChange: Layout => void,\n onDrag: EventCallback,\n onDragStart: EventCallback,\n onDragStop: EventCallback,\n onResize: EventCallback,\n onResizeStart: EventCallback,\n onResizeStop: EventCallback,\n onDropDragOver: (e: DragOverEvent) => ?({| w?: number, h?: number |} | false),\n onDrop: (layout: Layout, item: ?LayoutItem, e: Event) => void,\n children: ReactChildrenArray>,\n innerRef?: Ref<\"div\">\n|};*/\n\n/*:: export type DefaultProps = $Diff<\n Props,\n {\n children: ReactChildrenArray>,\n width: number\n }\n>;*/\n\n\nexports.resizeHandleType = resizeHandleType;\nvar _default = {\n //\n // Basic props\n //\n className: _propTypes.default.string,\n style: _propTypes.default.object,\n // This can be set explicitly. If it is not set, it will automatically\n // be set to the container width. Note that resizes will *not* cause this to adjust.\n // If you need that behavior, use WidthProvider.\n width: _propTypes.default.number,\n // If true, the container height swells and contracts to fit contents\n autoSize: _propTypes.default.bool,\n // # of cols.\n cols: _propTypes.default.number,\n // A selector that will not be draggable.\n draggableCancel: _propTypes.default.string,\n // A selector for the draggable handler\n draggableHandle: _propTypes.default.string,\n // Deprecated\n verticalCompact: function verticalCompact(props\n /*: Props*/\n ) {\n if (props.verticalCompact === false && process.env.NODE_ENV !== \"production\") {\n console.warn( // eslint-disable-line no-console\n \"`verticalCompact` on is deprecated and will be removed soon. \" + 'Use `compactType`: \"horizontal\" | \"vertical\" | null.');\n }\n },\n // Choose vertical or hotizontal compaction\n compactType: (_propTypes.default.oneOf([\"vertical\", \"horizontal\"])\n /*: ReactPropsChainableTypeChecker*/\n ),\n // layout is an array of object with the format:\n // {x: Number, y: Number, w: Number, h: Number, i: String}\n layout: function layout(props\n /*: Props*/\n ) {\n var layout = props.layout; // I hope you're setting the data-grid property on the grid items\n\n if (layout === undefined) return;\n\n require(\"./utils\").validateLayout(layout, \"layout\");\n },\n //\n // Grid Dimensions\n //\n // Margin between items [x, y] in px\n margin: (_propTypes.default.arrayOf(_propTypes.default.number)\n /*: ReactPropsChainableTypeChecker*/\n ),\n // Padding inside the container [x, y] in px\n containerPadding: (_propTypes.default.arrayOf(_propTypes.default.number)\n /*: ReactPropsChainableTypeChecker*/\n ),\n // Rows have a static height, but you can change this based on breakpoints if you like\n rowHeight: _propTypes.default.number,\n // Default Infinity, but you can specify a max here if you like.\n // Note that this isn't fully fleshed out and won't error if you specify a layout that\n // extends beyond the row capacity. It will, however, not allow users to drag/resize\n // an item past the barrier. They can push items beyond the barrier, though.\n // Intentionally not documented for this reason.\n maxRows: _propTypes.default.number,\n //\n // Flags\n //\n isBounded: _propTypes.default.bool,\n isDraggable: _propTypes.default.bool,\n isResizable: _propTypes.default.bool,\n // If true, grid can be placed one over the other.\n allowOverlap: _propTypes.default.bool,\n // If true, grid items won't change position when being dragged over.\n preventCollision: _propTypes.default.bool,\n // Use CSS transforms instead of top/left\n useCSSTransforms: _propTypes.default.bool,\n // parent layout transform scale\n transformScale: _propTypes.default.number,\n // If true, an external element can trigger onDrop callback with a specific grid position as a parameter\n isDroppable: _propTypes.default.bool,\n // Resize handle options\n resizeHandles: resizeHandleAxesType,\n resizeHandle: resizeHandleType,\n //\n // Callbacks\n //\n // Callback so you can save the layout. Calls after each drag & resize stops.\n onLayoutChange: _propTypes.default.func,\n // Calls when drag starts. Callback is of the signature (layout, oldItem, newItem, placeholder, e, ?node).\n // All callbacks below have the same signature. 'start' and 'stop' callbacks omit the 'placeholder'.\n onDragStart: _propTypes.default.func,\n // Calls on each drag movement.\n onDrag: _propTypes.default.func,\n // Calls when drag is complete.\n onDragStop: _propTypes.default.func,\n //Calls when resize starts.\n onResizeStart: _propTypes.default.func,\n // Calls when resize movement happens.\n onResize: _propTypes.default.func,\n // Calls when resize is complete.\n onResizeStop: _propTypes.default.func,\n // Calls when some element is dropped.\n onDrop: _propTypes.default.func,\n //\n // Other validations\n //\n droppingItem: (_propTypes.default.shape({\n i: _propTypes.default.string.isRequired,\n w: _propTypes.default.number.isRequired,\n h: _propTypes.default.number.isRequired\n })\n /*: ReactPropsChainableTypeChecker*/\n ),\n // Children must not have duplicate keys.\n children: function children(props\n /*: Props*/\n , propName\n /*: string*/\n ) {\n var children = props[propName]; // Check children keys for duplicates. Throw if found.\n\n var keys = {};\n\n _react.default.Children.forEach(children, function (child) {\n if ((child === null || child === void 0 ? void 0 : child.key) == null) return;\n\n if (keys[child.key]) {\n throw new Error('Duplicate child key \"' + child.key + '\" found! This will cause problems in ReactGridLayout.');\n }\n\n keys[child.key] = true;\n });\n },\n // Optional ref for getting a reference for the wrapping div.\n innerRef: _propTypes.default.any\n};\nexports.default = _default;","\"use strict\";\n\nfunction _typeof(obj) { \"@babel/helpers - typeof\"; return _typeof = \"function\" == typeof Symbol && \"symbol\" == typeof Symbol.iterator ? function (obj) { return typeof obj; } : function (obj) { return obj && \"function\" == typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; }, _typeof(obj); }\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = void 0;\n\nvar React = _interopRequireWildcard(require(\"react\"));\n\nvar _propTypes = _interopRequireDefault(require(\"prop-types\"));\n\nvar _lodash = _interopRequireDefault(require(\"lodash.isequal\"));\n\nvar _utils = require(\"./utils\");\n\nvar _responsiveUtils = require(\"./responsiveUtils\");\n\nvar _ReactGridLayout = _interopRequireDefault(require(\"./ReactGridLayout\"));\n\nvar _excluded = [\"breakpoint\", \"breakpoints\", \"cols\", \"layouts\", \"margin\", \"containerPadding\", \"onBreakpointChange\", \"onLayoutChange\", \"onWidthChange\"];\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== \"function\") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }\n\nfunction _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || _typeof(obj) !== \"object\" && typeof obj !== \"function\") { return { default: obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== \"default\" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj.default = obj; if (cache) { cache.set(obj, newObj); } return newObj; }\n\nfunction _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\n\nfunction _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }\n\nfunction _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }\n\nfunction ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }\n\nfunction _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { _defineProperty(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } }\n\nfunction _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); Object.defineProperty(Constructor, \"prototype\", { writable: false }); return Constructor; }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function\"); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, writable: true, configurable: true } }); Object.defineProperty(subClass, \"prototype\", { writable: false }); if (superClass) _setPrototypeOf(subClass, superClass); }\n\nfunction _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); }\n\nfunction _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = _getPrototypeOf(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = _getPrototypeOf(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return _possibleConstructorReturn(this, result); }; }\n\nfunction _possibleConstructorReturn(self, call) { if (call && (_typeof(call) === \"object\" || typeof call === \"function\")) { return call; } else if (call !== void 0) { throw new TypeError(\"Derived constructors may only return object or undefined\"); } return _assertThisInitialized(self); }\n\nfunction _assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return self; }\n\nfunction _isNativeReflectConstruct() { if (typeof Reflect === \"undefined\" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === \"function\") return true; try { Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); return true; } catch (e) { return false; } }\n\nfunction _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return _getPrototypeOf(o); }\n\nfunction _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\n\n// $FlowFixMe[method-unbinding]\nvar type = function type(obj) {\n return Object.prototype.toString.call(obj);\n};\n/**\n * Get a value of margin or containerPadding.\n *\n * @param {Array | Object} param Margin | containerPadding, e.g. [10, 10] | {lg: [10, 10], ...}.\n * @param {String} breakpoint Breakpoint: lg, md, sm, xs and etc.\n * @return {Array}\n */\n\n\nfunction getIndentationValue\n/*:: */\n(param\n/*: { [key: string]: T } | T*/\n, breakpoint\n/*: string*/\n)\n/*: T*/\n{\n // $FlowIgnore TODO fix this typedef\n if (param == null) return null; // $FlowIgnore TODO fix this typedef\n\n return Array.isArray(param) ? param : param[breakpoint];\n}\n/*:: type State = {\n layout: Layout,\n breakpoint: string,\n cols: number,\n layouts?: ResponsiveLayout\n};*/\n\n/*:: type Props = {|\n ...React.ElementConfig,\n\n // Responsive config\n breakpoint?: ?Breakpoint,\n breakpoints: Breakpoints,\n cols: { [key: Breakpoint]: number },\n layouts: ResponsiveLayout,\n width: number,\n margin: { [key: Breakpoint]: [number, number] } | [number, number],\n /* prettier-ignore *-/\n containerPadding: { [key: Breakpoint]: ?[number, number] } | ?[number, number],\n\n // Callbacks\n onBreakpointChange: (Breakpoint, cols: number) => void,\n onLayoutChange: OnLayoutChangeCallback,\n onWidthChange: (\n containerWidth: number,\n margin: [number, number],\n cols: number,\n containerPadding: ?[number, number]\n ) => void\n|};*/\n\n/*:: type DefaultProps = Pick<\n Props<>,\n {|\n allowOverlap: 0,\n breakpoints: 0,\n cols: 0,\n containerPadding: 0,\n layouts: 0,\n margin: 0,\n onBreakpointChange: 0,\n onLayoutChange: 0,\n onWidthChange: 0\n |}\n>;*/\n\n\nvar ResponsiveReactGridLayout = /*#__PURE__*/function (_React$Component) {\n _inherits(ResponsiveReactGridLayout, _React$Component);\n\n var _super = _createSuper(ResponsiveReactGridLayout);\n\n function ResponsiveReactGridLayout() {\n var _this;\n\n _classCallCheck(this, ResponsiveReactGridLayout);\n\n for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n\n _this = _super.call.apply(_super, [this].concat(args));\n\n _defineProperty(_assertThisInitialized(_this), \"state\", _this.generateInitialState());\n\n _defineProperty(_assertThisInitialized(_this), \"onLayoutChange\", function (layout\n /*: Layout*/\n ) {\n _this.props.onLayoutChange(layout, _objectSpread(_objectSpread({}, _this.props.layouts), {}, _defineProperty({}, _this.state.breakpoint, layout)));\n });\n\n return _this;\n }\n\n _createClass(ResponsiveReactGridLayout, [{\n key: \"generateInitialState\",\n value: function generateInitialState()\n /*: State*/\n {\n var _this$props = this.props,\n width = _this$props.width,\n breakpoints = _this$props.breakpoints,\n layouts = _this$props.layouts,\n cols = _this$props.cols;\n var breakpoint = (0, _responsiveUtils.getBreakpointFromWidth)(breakpoints, width);\n var colNo = (0, _responsiveUtils.getColsFromBreakpoint)(breakpoint, cols); // verticalCompact compatibility, now deprecated\n\n var compactType = this.props.verticalCompact === false ? null : this.props.compactType; // Get the initial layout. This can tricky; we try to generate one however possible if one doesn't exist\n // for this layout.\n\n var initialLayout = (0, _responsiveUtils.findOrGenerateResponsiveLayout)(layouts, breakpoints, breakpoint, breakpoint, colNo, compactType);\n return {\n layout: initialLayout,\n breakpoint: breakpoint,\n cols: colNo\n };\n }\n }, {\n key: \"componentDidUpdate\",\n value: function componentDidUpdate(prevProps\n /*: Props<*>*/\n ) {\n // Allow parent to set width or breakpoint directly.\n if (this.props.width != prevProps.width || this.props.breakpoint !== prevProps.breakpoint || !(0, _lodash.default)(this.props.breakpoints, prevProps.breakpoints) || !(0, _lodash.default)(this.props.cols, prevProps.cols)) {\n this.onWidthChange(prevProps);\n }\n } // wrap layouts so we do not need to pass layouts to child\n\n }, {\n key: \"onWidthChange\",\n value:\n /**\n * When the width changes work through breakpoints and reset state with the new width & breakpoint.\n * Width changes are necessary to figure out the widget widths.\n */\n function onWidthChange(prevProps\n /*: Props<*>*/\n ) {\n var _this$props2 = this.props,\n breakpoints = _this$props2.breakpoints,\n cols = _this$props2.cols,\n layouts = _this$props2.layouts,\n compactType = _this$props2.compactType;\n var newBreakpoint = this.props.breakpoint || (0, _responsiveUtils.getBreakpointFromWidth)(this.props.breakpoints, this.props.width);\n var lastBreakpoint = this.state.breakpoint;\n var newCols\n /*: number*/\n = (0, _responsiveUtils.getColsFromBreakpoint)(newBreakpoint, cols);\n\n var newLayouts = _objectSpread({}, layouts); // Breakpoint change\n\n\n if (lastBreakpoint !== newBreakpoint || prevProps.breakpoints !== breakpoints || prevProps.cols !== cols) {\n // Preserve the current layout if the current breakpoint is not present in the next layouts.\n if (!(lastBreakpoint in newLayouts)) newLayouts[lastBreakpoint] = (0, _utils.cloneLayout)(this.state.layout); // Find or generate a new layout.\n\n var layout = (0, _responsiveUtils.findOrGenerateResponsiveLayout)(newLayouts, breakpoints, newBreakpoint, lastBreakpoint, newCols, compactType); // This adds missing items.\n\n layout = (0, _utils.synchronizeLayoutWithChildren)(layout, this.props.children, newCols, compactType, this.props.allowOverlap); // Store the new layout.\n\n newLayouts[newBreakpoint] = layout; // callbacks\n\n this.props.onLayoutChange(layout, newLayouts);\n this.props.onBreakpointChange(newBreakpoint, newCols);\n this.setState({\n breakpoint: newBreakpoint,\n layout: layout,\n cols: newCols\n });\n }\n\n var margin = getIndentationValue(this.props.margin, newBreakpoint);\n var containerPadding = getIndentationValue(this.props.containerPadding, newBreakpoint); //call onWidthChange on every change of width, not only on breakpoint changes\n\n this.props.onWidthChange(this.props.width, margin, newCols, containerPadding);\n }\n }, {\n key: \"render\",\n value: function render()\n /*: React.Element*/\n {\n /* eslint-disable no-unused-vars */\n var _this$props3 = this.props,\n breakpoint = _this$props3.breakpoint,\n breakpoints = _this$props3.breakpoints,\n cols = _this$props3.cols,\n layouts = _this$props3.layouts,\n margin = _this$props3.margin,\n containerPadding = _this$props3.containerPadding,\n onBreakpointChange = _this$props3.onBreakpointChange,\n onLayoutChange = _this$props3.onLayoutChange,\n onWidthChange = _this$props3.onWidthChange,\n other = _objectWithoutProperties(_this$props3, _excluded);\n /* eslint-enable no-unused-vars */\n\n\n return /*#__PURE__*/React.createElement(_ReactGridLayout.default, _extends({}, other, {\n // $FlowIgnore should allow nullable here due to DefaultProps\n margin: getIndentationValue(margin, this.state.breakpoint),\n containerPadding: getIndentationValue(containerPadding, this.state.breakpoint),\n onLayoutChange: this.onLayoutChange,\n layout: this.state.layout,\n cols: this.state.cols\n }));\n }\n }], [{\n key: \"getDerivedStateFromProps\",\n value: function getDerivedStateFromProps(nextProps\n /*: Props<*>*/\n , prevState\n /*: State*/\n )\n /*: ?$Shape*/\n {\n if (!(0, _lodash.default)(nextProps.layouts, prevState.layouts)) {\n // Allow parent to set layouts directly.\n var breakpoint = prevState.breakpoint,\n _cols = prevState.cols; // Since we're setting an entirely new layout object, we must generate a new responsive layout\n // if one does not exist.\n\n var newLayout = (0, _responsiveUtils.findOrGenerateResponsiveLayout)(nextProps.layouts, nextProps.breakpoints, breakpoint, breakpoint, _cols, nextProps.compactType);\n return {\n layout: newLayout,\n layouts: nextProps.layouts\n };\n }\n\n return null;\n }\n }]);\n\n return ResponsiveReactGridLayout;\n}(React.Component);\n\nexports.default = ResponsiveReactGridLayout;\n\n_defineProperty(ResponsiveReactGridLayout, \"propTypes\", {\n //\n // Basic props\n //\n // Optional, but if you are managing width yourself you may want to set the breakpoint\n // yourself as well.\n breakpoint: _propTypes.default.string,\n // {name: pxVal}, e.g. {lg: 1200, md: 996, sm: 768, xs: 480}\n breakpoints: _propTypes.default.object,\n allowOverlap: _propTypes.default.bool,\n // # of cols. This is a breakpoint -> cols map\n cols: _propTypes.default.object,\n // # of margin. This is a breakpoint -> margin map\n // e.g. { lg: [5, 5], md: [10, 10], sm: [15, 15] }\n // Margin between items [x, y] in px\n // e.g. [10, 10]\n margin: _propTypes.default.oneOfType([_propTypes.default.array, _propTypes.default.object]),\n // # of containerPadding. This is a breakpoint -> containerPadding map\n // e.g. { lg: [5, 5], md: [10, 10], sm: [15, 15] }\n // Padding inside the container [x, y] in px\n // e.g. [10, 10]\n containerPadding: _propTypes.default.oneOfType([_propTypes.default.array, _propTypes.default.object]),\n // layouts is an object mapping breakpoints to layouts.\n // e.g. {lg: Layout, md: Layout, ...}\n layouts: function layouts(props\n /*: Props<>*/\n , propName\n /*: string*/\n ) {\n if (type(props[propName]) !== \"[object Object]\") {\n throw new Error(\"Layout property must be an object. Received: \" + type(props[propName]));\n }\n\n Object.keys(props[propName]).forEach(function (key) {\n if (!(key in props.breakpoints)) {\n throw new Error(\"Each key in layouts must align with a key in breakpoints.\");\n }\n\n (0, _utils.validateLayout)(props.layouts[key], \"layouts.\" + key);\n });\n },\n // The width of this component.\n // Required in this propTypes stanza because generateInitialState() will fail without it.\n width: _propTypes.default.number.isRequired,\n //\n // Callbacks\n //\n // Calls back with breakpoint and new # cols\n onBreakpointChange: _propTypes.default.func,\n // Callback so you can save the layout.\n // Calls back with (currentLayout, allLayouts). allLayouts are keyed by breakpoint.\n onLayoutChange: _propTypes.default.func,\n // Calls back with (containerWidth, margin, cols, containerPadding)\n onWidthChange: _propTypes.default.func\n});\n\n_defineProperty(ResponsiveReactGridLayout, \"defaultProps\", {\n breakpoints: {\n lg: 1200,\n md: 996,\n sm: 768,\n xs: 480,\n xxs: 0\n },\n cols: {\n lg: 12,\n md: 10,\n sm: 6,\n xs: 4,\n xxs: 2\n },\n containerPadding: {\n lg: null,\n md: null,\n sm: null,\n xs: null,\n xxs: null\n },\n layouts: {},\n margin: [10, 10],\n allowOverlap: false,\n onBreakpointChange: _utils.noop,\n onLayoutChange: _utils.noop,\n onWidthChange: _utils.noop\n});","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.calcGridColWidth = calcGridColWidth;\nexports.calcGridItemPosition = calcGridItemPosition;\nexports.calcGridItemWHPx = calcGridItemWHPx;\nexports.calcWH = calcWH;\nexports.calcXY = calcXY;\nexports.clamp = clamp;\n\n/*:: import type { Position } from \"./utils\";*/\n\n/*:: export type PositionParams = {\n margin: [number, number],\n containerPadding: [number, number],\n containerWidth: number,\n cols: number,\n rowHeight: number,\n maxRows: number\n};*/\n// Helper for generating column width\nfunction calcGridColWidth(positionParams\n/*: PositionParams*/\n)\n/*: number*/\n{\n var margin = positionParams.margin,\n containerPadding = positionParams.containerPadding,\n containerWidth = positionParams.containerWidth,\n cols = positionParams.cols;\n return (containerWidth - margin[0] * (cols - 1) - containerPadding[0] * 2) / cols;\n} // This can either be called:\n// calcGridItemWHPx(w, colWidth, margin[0])\n// or\n// calcGridItemWHPx(h, rowHeight, margin[1])\n\n\nfunction calcGridItemWHPx(gridUnits\n/*: number*/\n, colOrRowSize\n/*: number*/\n, marginPx\n/*: number*/\n)\n/*: number*/\n{\n // 0 * Infinity === NaN, which causes problems with resize contraints\n if (!Number.isFinite(gridUnits)) return gridUnits;\n return Math.round(colOrRowSize * gridUnits + Math.max(0, gridUnits - 1) * marginPx);\n}\n/**\n * Return position on the page given an x, y, w, h.\n * left, top, width, height are all in pixels.\n * @param {PositionParams} positionParams Parameters of grid needed for coordinates calculations.\n * @param {Number} x X coordinate in grid units.\n * @param {Number} y Y coordinate in grid units.\n * @param {Number} w W coordinate in grid units.\n * @param {Number} h H coordinate in grid units.\n * @return {Position} Object containing coords.\n */\n\n\nfunction calcGridItemPosition(positionParams\n/*: PositionParams*/\n, x\n/*: number*/\n, y\n/*: number*/\n, w\n/*: number*/\n, h\n/*: number*/\n, state\n/*: ?Object*/\n)\n/*: Position*/\n{\n var margin = positionParams.margin,\n containerPadding = positionParams.containerPadding,\n rowHeight = positionParams.rowHeight;\n var colWidth = calcGridColWidth(positionParams);\n var out = {}; // If resizing, use the exact width and height as returned from resizing callbacks.\n\n if (state && state.resizing) {\n out.width = Math.round(state.resizing.width);\n out.height = Math.round(state.resizing.height);\n } // Otherwise, calculate from grid units.\n else {\n out.width = calcGridItemWHPx(w, colWidth, margin[0]);\n out.height = calcGridItemWHPx(h, rowHeight, margin[1]);\n } // If dragging, use the exact width and height as returned from dragging callbacks.\n\n\n if (state && state.dragging) {\n out.top = Math.round(state.dragging.top);\n out.left = Math.round(state.dragging.left);\n } // Otherwise, calculate from grid units.\n else {\n out.top = Math.round((rowHeight + margin[1]) * y + containerPadding[1]);\n out.left = Math.round((colWidth + margin[0]) * x + containerPadding[0]);\n }\n\n return out;\n}\n/**\n * Translate x and y coordinates from pixels to grid units.\n * @param {PositionParams} positionParams Parameters of grid needed for coordinates calculations.\n * @param {Number} top Top position (relative to parent) in pixels.\n * @param {Number} left Left position (relative to parent) in pixels.\n * @param {Number} w W coordinate in grid units.\n * @param {Number} h H coordinate in grid units.\n * @return {Object} x and y in grid units.\n */\n\n\nfunction calcXY(positionParams\n/*: PositionParams*/\n, top\n/*: number*/\n, left\n/*: number*/\n, w\n/*: number*/\n, h\n/*: number*/\n)\n/*: { x: number, y: number }*/\n{\n var margin = positionParams.margin,\n cols = positionParams.cols,\n rowHeight = positionParams.rowHeight,\n maxRows = positionParams.maxRows;\n var colWidth = calcGridColWidth(positionParams); // left = colWidth * x + margin * (x + 1)\n // l = cx + m(x+1)\n // l = cx + mx + m\n // l - m = cx + mx\n // l - m = x(c + m)\n // (l - m) / (c + m) = x\n // x = (left - margin) / (coldWidth + margin)\n\n var x = Math.round((left - margin[0]) / (colWidth + margin[0]));\n var y = Math.round((top - margin[1]) / (rowHeight + margin[1])); // Capping\n\n x = clamp(x, 0, cols - w);\n y = clamp(y, 0, maxRows - h);\n return {\n x: x,\n y: y\n };\n}\n/**\n * Given a height and width in pixel values, calculate grid units.\n * @param {PositionParams} positionParams Parameters of grid needed for coordinates calcluations.\n * @param {Number} height Height in pixels.\n * @param {Number} width Width in pixels.\n * @param {Number} x X coordinate in grid units.\n * @param {Number} y Y coordinate in grid units.\n * @return {Object} w, h as grid units.\n */\n\n\nfunction calcWH(positionParams\n/*: PositionParams*/\n, width\n/*: number*/\n, height\n/*: number*/\n, x\n/*: number*/\n, y\n/*: number*/\n)\n/*: { w: number, h: number }*/\n{\n var margin = positionParams.margin,\n maxRows = positionParams.maxRows,\n cols = positionParams.cols,\n rowHeight = positionParams.rowHeight;\n var colWidth = calcGridColWidth(positionParams); // width = colWidth * w - (margin * (w - 1))\n // ...\n // w = (width + margin) / (colWidth + margin)\n\n var w = Math.round((width + margin[0]) / (colWidth + margin[0]));\n var h = Math.round((height + margin[1]) / (rowHeight + margin[1])); // Capping\n\n w = clamp(w, 0, cols - x);\n h = clamp(h, 0, maxRows - y);\n return {\n w: w,\n h: h\n };\n} // Similar to _.clamp\n\n\nfunction clamp(num\n/*: number*/\n, lowerBound\n/*: number*/\n, upperBound\n/*: number*/\n)\n/*: number*/\n{\n return Math.max(Math.min(num, upperBound), lowerBound);\n}","\"use strict\";\n\nfunction _typeof(obj) { \"@babel/helpers - typeof\"; return _typeof = \"function\" == typeof Symbol && \"symbol\" == typeof Symbol.iterator ? function (obj) { return typeof obj; } : function (obj) { return obj && \"function\" == typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; }, _typeof(obj); }\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = WidthProvideRGL;\n\nvar React = _interopRequireWildcard(require(\"react\"));\n\nvar _propTypes = _interopRequireDefault(require(\"prop-types\"));\n\nvar _clsx = _interopRequireDefault(require(\"clsx\"));\n\nvar _excluded = [\"measureBeforeMount\"];\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== \"function\") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }\n\nfunction _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || _typeof(obj) !== \"object\" && typeof obj !== \"function\") { return { default: obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== \"default\" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj.default = obj; if (cache) { cache.set(obj, newObj); } return newObj; }\n\nfunction _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\n\nfunction _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }\n\nfunction _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } }\n\nfunction _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); Object.defineProperty(Constructor, \"prototype\", { writable: false }); return Constructor; }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function\"); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, writable: true, configurable: true } }); Object.defineProperty(subClass, \"prototype\", { writable: false }); if (superClass) _setPrototypeOf(subClass, superClass); }\n\nfunction _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); }\n\nfunction _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = _getPrototypeOf(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = _getPrototypeOf(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return _possibleConstructorReturn(this, result); }; }\n\nfunction _possibleConstructorReturn(self, call) { if (call && (_typeof(call) === \"object\" || typeof call === \"function\")) { return call; } else if (call !== void 0) { throw new TypeError(\"Derived constructors may only return object or undefined\"); } return _assertThisInitialized(self); }\n\nfunction _assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return self; }\n\nfunction _isNativeReflectConstruct() { if (typeof Reflect === \"undefined\" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === \"function\") return true; try { Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); return true; } catch (e) { return false; } }\n\nfunction _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return _getPrototypeOf(o); }\n\nfunction _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\n\nvar layoutClassName = \"react-grid-layout\";\n/*\n * A simple HOC that provides facility for listening to container resizes.\n *\n * The Flow type is pretty janky here. I can't just spread `WPProps` into this returned object - I wish I could - but it triggers\n * a flow bug of some sort that causes it to stop typechecking.\n */\n\nfunction WidthProvideRGL\n/*:: */\n(ComposedComponent\n/*: React.AbstractComponent*/\n)\n/*: React.AbstractComponent>*/\n{\n var _class;\n\n return _class = /*#__PURE__*/function (_React$Component) {\n _inherits(WidthProvider, _React$Component);\n\n var _super = _createSuper(WidthProvider);\n\n function WidthProvider() {\n var _this;\n\n _classCallCheck(this, WidthProvider);\n\n for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n\n _this = _super.call.apply(_super, [this].concat(args));\n\n _defineProperty(_assertThisInitialized(_this), \"state\", {\n width: 1280\n });\n\n _defineProperty(_assertThisInitialized(_this), \"elementRef\", /*#__PURE__*/React.createRef());\n\n _defineProperty(_assertThisInitialized(_this), \"mounted\", false);\n\n _defineProperty(_assertThisInitialized(_this), \"onWindowResize\", function () {\n if (!_this.mounted) return;\n var node = _this.elementRef.current; // Flow casts this to Text | Element\n // fix: grid position error when node or parentNode display is none by window resize\n // #924 #1084\n\n if (node instanceof HTMLElement && node.offsetWidth) {\n _this.setState({\n width: node.offsetWidth\n });\n }\n });\n\n return _this;\n }\n\n _createClass(WidthProvider, [{\n key: \"componentDidMount\",\n value: function componentDidMount() {\n this.mounted = true;\n window.addEventListener(\"resize\", this.onWindowResize); // Call to properly set the breakpoint and resize the elements.\n // Note that if you're doing a full-width element, this can get a little wonky if a scrollbar\n // appears because of the grid. In that case, fire your own resize event, or set `overflow: scroll` on your body.\n\n this.onWindowResize();\n }\n }, {\n key: \"componentWillUnmount\",\n value: function componentWillUnmount() {\n this.mounted = false;\n window.removeEventListener(\"resize\", this.onWindowResize);\n }\n }, {\n key: \"render\",\n value: function render() {\n var _this$props = this.props,\n measureBeforeMount = _this$props.measureBeforeMount,\n rest = _objectWithoutProperties(_this$props, _excluded);\n\n if (measureBeforeMount && !this.mounted) {\n return /*#__PURE__*/React.createElement(\"div\", {\n className: (0, _clsx.default)(this.props.className, layoutClassName),\n style: this.props.style // $FlowIgnore ref types\n ,\n ref: this.elementRef\n });\n }\n\n return /*#__PURE__*/React.createElement(ComposedComponent, _extends({\n innerRef: this.elementRef\n }, rest, this.state));\n }\n }]);\n\n return WidthProvider;\n }(React.Component), _defineProperty(_class, \"defaultProps\", {\n measureBeforeMount: false\n }), _defineProperty(_class, \"propTypes\", {\n // If true, will not render children until mounted. Useful for getting the exact width before\n // rendering, to prevent any unsightly resizing.\n measureBeforeMount: _propTypes.default.bool\n }), _class;\n}","// this file was prevaled\nmodule.exports = function fastRGLPropsEqual(a, b, isEqualImpl) {\n if (a === b) return true;\n return a.className === b.className && isEqualImpl(a.style, b.style) && a.width === b.width && a.autoSize === b.autoSize && a.cols === b.cols && a.draggableCancel === b.draggableCancel && a.draggableHandle === b.draggableHandle && isEqualImpl(a.verticalCompact, b.verticalCompact) && isEqualImpl(a.compactType, b.compactType) && isEqualImpl(a.layout, b.layout) && isEqualImpl(a.margin, b.margin) && isEqualImpl(a.containerPadding, b.containerPadding) && a.rowHeight === b.rowHeight && a.maxRows === b.maxRows && a.isBounded === b.isBounded && a.isDraggable === b.isDraggable && a.isResizable === b.isResizable && a.allowOverlap === b.allowOverlap && a.preventCollision === b.preventCollision && a.useCSSTransforms === b.useCSSTransforms && a.transformScale === b.transformScale && a.isDroppable === b.isDroppable && isEqualImpl(a.resizeHandles, b.resizeHandles) && isEqualImpl(a.resizeHandle, b.resizeHandle) && a.onLayoutChange === b.onLayoutChange && a.onDragStart === b.onDragStart && a.onDrag === b.onDrag && a.onDragStop === b.onDragStop && a.onResizeStart === b.onResizeStart && a.onResize === b.onResize && a.onResizeStop === b.onResizeStop && a.onDrop === b.onDrop && isEqualImpl(a.droppingItem, b.droppingItem) && isEqualImpl(a.innerRef, b.innerRef);\n};","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.findOrGenerateResponsiveLayout = findOrGenerateResponsiveLayout;\nexports.getBreakpointFromWidth = getBreakpointFromWidth;\nexports.getColsFromBreakpoint = getColsFromBreakpoint;\nexports.sortBreakpoints = sortBreakpoints;\n\nvar _utils = require(\"./utils\");\n\n/**\n * Given a width, find the highest breakpoint that matches is valid for it (width > breakpoint).\n *\n * @param {Object} breakpoints Breakpoints object (e.g. {lg: 1200, md: 960, ...})\n * @param {Number} width Screen width.\n * @return {String} Highest breakpoint that is less than width.\n */\nfunction getBreakpointFromWidth(breakpoints\n/*: Breakpoints*/\n, width\n/*: number*/\n)\n/*: Breakpoint*/\n{\n var sorted = sortBreakpoints(breakpoints);\n var matching = sorted[0];\n\n for (var i = 1, len = sorted.length; i < len; i++) {\n var breakpointName = sorted[i];\n if (width > breakpoints[breakpointName]) matching = breakpointName;\n }\n\n return matching;\n}\n/**\n * Given a breakpoint, get the # of cols set for it.\n * @param {String} breakpoint Breakpoint name.\n * @param {Object} cols Map of breakpoints to cols.\n * @return {Number} Number of cols.\n */\n\n\nfunction getColsFromBreakpoint(breakpoint\n/*: Breakpoint*/\n, cols\n/*: Breakpoints*/\n)\n/*: number*/\n{\n if (!cols[breakpoint]) {\n throw new Error(\"ResponsiveReactGridLayout: `cols` entry for breakpoint \" + breakpoint + \" is missing!\");\n }\n\n return cols[breakpoint];\n}\n/**\n * Given existing layouts and a new breakpoint, find or generate a new layout.\n *\n * This finds the layout above the new one and generates from it, if it exists.\n *\n * @param {Object} layouts Existing layouts.\n * @param {Array} breakpoints All breakpoints.\n * @param {String} breakpoint New breakpoint.\n * @param {String} breakpoint Last breakpoint (for fallback).\n * @param {Number} cols Column count at new breakpoint.\n * @param {Boolean} verticalCompact Whether or not to compact the layout\n * vertically.\n * @return {Array} New layout.\n */\n\n\nfunction findOrGenerateResponsiveLayout(layouts\n/*: ResponsiveLayout*/\n, breakpoints\n/*: Breakpoints*/\n, breakpoint\n/*: Breakpoint*/\n, lastBreakpoint\n/*: Breakpoint*/\n, cols\n/*: number*/\n, compactType\n/*: CompactType*/\n)\n/*: Layout*/\n{\n // If it already exists, just return it.\n if (layouts[breakpoint]) return (0, _utils.cloneLayout)(layouts[breakpoint]); // Find or generate the next layout\n\n var layout = layouts[lastBreakpoint];\n var breakpointsSorted = sortBreakpoints(breakpoints);\n var breakpointsAbove = breakpointsSorted.slice(breakpointsSorted.indexOf(breakpoint));\n\n for (var i = 0, len = breakpointsAbove.length; i < len; i++) {\n var b = breakpointsAbove[i];\n\n if (layouts[b]) {\n layout = layouts[b];\n break;\n }\n }\n\n layout = (0, _utils.cloneLayout)(layout || []); // clone layout so we don't modify existing items\n\n return (0, _utils.compact)((0, _utils.correctBounds)(layout, {\n cols: cols\n }), compactType, cols);\n}\n/**\n * Given breakpoints, return an array of breakpoints sorted by width. This is usually\n * e.g. ['xxs', 'xs', 'sm', ...]\n *\n * @param {Object} breakpoints Key/value pair of breakpoint names to widths.\n * @return {Array} Sorted breakpoints.\n */\n\n\nfunction sortBreakpoints(breakpoints\n/*: Breakpoints*/\n)\n/*: Array*/\n{\n var keys\n /*: Array*/\n = Object.keys(breakpoints);\n return keys.sort(function (a, b) {\n return breakpoints[a] - breakpoints[b];\n });\n}","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.bottom = bottom;\nexports.childrenEqual = childrenEqual;\nexports.cloneLayout = cloneLayout;\nexports.cloneLayoutItem = cloneLayoutItem;\nexports.collides = collides;\nexports.compact = compact;\nexports.compactItem = compactItem;\nexports.compactType = compactType;\nexports.correctBounds = correctBounds;\nexports.fastPositionEqual = fastPositionEqual;\nexports.fastRGLPropsEqual = void 0;\nexports.getAllCollisions = getAllCollisions;\nexports.getFirstCollision = getFirstCollision;\nexports.getLayoutItem = getLayoutItem;\nexports.getStatics = getStatics;\nexports.modifyLayout = modifyLayout;\nexports.moveElement = moveElement;\nexports.moveElementAwayFromCollision = moveElementAwayFromCollision;\nexports.noop = void 0;\nexports.perc = perc;\nexports.setTopLeft = setTopLeft;\nexports.setTransform = setTransform;\nexports.sortLayoutItems = sortLayoutItems;\nexports.sortLayoutItemsByColRow = sortLayoutItemsByColRow;\nexports.sortLayoutItemsByRowCol = sortLayoutItemsByRowCol;\nexports.synchronizeLayoutWithChildren = synchronizeLayoutWithChildren;\nexports.validateLayout = validateLayout;\nexports.withLayoutItem = withLayoutItem;\n\nvar _lodash = _interopRequireDefault(require(\"lodash.isequal\"));\n\nvar _react = _interopRequireDefault(require(\"react\"));\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }\n\nfunction _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { _defineProperty(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }\n\nfunction _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\n\nvar isProduction = process.env.NODE_ENV === \"production\";\nvar DEBUG = false;\n/**\n * Return the bottom coordinate of the layout.\n *\n * @param {Array} layout Layout array.\n * @return {Number} Bottom coordinate.\n */\n\nfunction bottom(layout\n/*: Layout*/\n)\n/*: number*/\n{\n var max = 0,\n bottomY;\n\n for (var i = 0, len = layout.length; i < len; i++) {\n bottomY = layout[i].y + layout[i].h;\n if (bottomY > max) max = bottomY;\n }\n\n return max;\n}\n\nfunction cloneLayout(layout\n/*: Layout*/\n)\n/*: Layout*/\n{\n var newLayout = Array(layout.length);\n\n for (var i = 0, len = layout.length; i < len; i++) {\n newLayout[i] = cloneLayoutItem(layout[i]);\n }\n\n return newLayout;\n} // Modify a layoutItem inside a layout. Returns a new Layout,\n// does not mutate. Carries over all other LayoutItems unmodified.\n\n\nfunction modifyLayout(layout\n/*: Layout*/\n, layoutItem\n/*: LayoutItem*/\n)\n/*: Layout*/\n{\n var newLayout = Array(layout.length);\n\n for (var i = 0, len = layout.length; i < len; i++) {\n if (layoutItem.i === layout[i].i) {\n newLayout[i] = layoutItem;\n } else {\n newLayout[i] = layout[i];\n }\n }\n\n return newLayout;\n} // Function to be called to modify a layout item.\n// Does defensive clones to ensure the layout is not modified.\n\n\nfunction withLayoutItem(layout\n/*: Layout*/\n, itemKey\n/*: string*/\n, cb\n/*: LayoutItem => LayoutItem*/\n)\n/*: [Layout, ?LayoutItem]*/\n{\n var item = getLayoutItem(layout, itemKey);\n if (!item) return [layout, null];\n item = cb(cloneLayoutItem(item)); // defensive clone then modify\n // FIXME could do this faster if we already knew the index\n\n layout = modifyLayout(layout, item);\n return [layout, item];\n} // Fast path to cloning, since this is monomorphic\n\n\nfunction cloneLayoutItem(layoutItem\n/*: LayoutItem*/\n)\n/*: LayoutItem*/\n{\n return {\n w: layoutItem.w,\n h: layoutItem.h,\n x: layoutItem.x,\n y: layoutItem.y,\n i: layoutItem.i,\n minW: layoutItem.minW,\n maxW: layoutItem.maxW,\n minH: layoutItem.minH,\n maxH: layoutItem.maxH,\n moved: Boolean(layoutItem.moved),\n static: Boolean(layoutItem.static),\n // These can be null/undefined\n isDraggable: layoutItem.isDraggable,\n isResizable: layoutItem.isResizable,\n resizeHandles: layoutItem.resizeHandles,\n isBounded: layoutItem.isBounded\n };\n}\n/**\n * Comparing React `children` is a bit difficult. This is a good way to compare them.\n * This will catch differences in keys, order, and length.\n */\n\n\nfunction childrenEqual(a\n/*: ReactChildren*/\n, b\n/*: ReactChildren*/\n)\n/*: boolean*/\n{\n return (0, _lodash.default)(_react.default.Children.map(a, function (c) {\n return c === null || c === void 0 ? void 0 : c.key;\n }), _react.default.Children.map(b, function (c) {\n return c === null || c === void 0 ? void 0 : c.key;\n }));\n}\n/**\n * See `fastRGLPropsEqual.js`.\n * We want this to run as fast as possible - it is called often - and to be\n * resilient to new props that we add. So rather than call lodash.isEqual,\n * which isn't suited to comparing props very well, we use this specialized\n * function in conjunction with preval to generate the fastest possible comparison\n * function, tuned for exactly our props.\n */\n\n/*:: type FastRGLPropsEqual = (Object, Object, Function) => boolean;*/\n\n\nvar fastRGLPropsEqual\n/*: FastRGLPropsEqual*/\n= require(\"./fastRGLPropsEqual\"); // Like the above, but a lot simpler.\n\n\nexports.fastRGLPropsEqual = fastRGLPropsEqual;\n\nfunction fastPositionEqual(a\n/*: Position*/\n, b\n/*: Position*/\n)\n/*: boolean*/\n{\n return a.left === b.left && a.top === b.top && a.width === b.width && a.height === b.height;\n}\n/**\n * Given two layoutitems, check if they collide.\n */\n\n\nfunction collides(l1\n/*: LayoutItem*/\n, l2\n/*: LayoutItem*/\n)\n/*: boolean*/\n{\n if (l1.i === l2.i) return false; // same element\n\n if (l1.x + l1.w <= l2.x) return false; // l1 is left of l2\n\n if (l1.x >= l2.x + l2.w) return false; // l1 is right of l2\n\n if (l1.y + l1.h <= l2.y) return false; // l1 is above l2\n\n if (l1.y >= l2.y + l2.h) return false; // l1 is below l2\n\n return true; // boxes overlap\n}\n/**\n * Given a layout, compact it. This involves going down each y coordinate and removing gaps\n * between items.\n *\n * Does not modify layout items (clones). Creates a new layout array.\n *\n * @param {Array} layout Layout.\n * @param {Boolean} verticalCompact Whether or not to compact the layout\n * vertically.\n * @return {Array} Compacted Layout.\n */\n\n\nfunction compact(layout\n/*: Layout*/\n, compactType\n/*: CompactType*/\n, cols\n/*: number*/\n)\n/*: Layout*/\n{\n // Statics go in the compareWith array right away so items flow around them.\n var compareWith = getStatics(layout); // We go through the items by row and column.\n\n var sorted = sortLayoutItems(layout, compactType); // Holding for new items.\n\n var out = Array(layout.length);\n\n for (var i = 0, len = sorted.length; i < len; i++) {\n var l = cloneLayoutItem(sorted[i]); // Don't move static elements\n\n if (!l.static) {\n l = compactItem(compareWith, l, compactType, cols, sorted); // Add to comparison array. We only collide with items before this one.\n // Statics are already in this array.\n\n compareWith.push(l);\n } // Add to output array to make sure they still come out in the right order.\n\n\n out[layout.indexOf(sorted[i])] = l; // Clear moved flag, if it exists.\n\n l.moved = false;\n }\n\n return out;\n}\n\nvar heightWidth = {\n x: \"w\",\n y: \"h\"\n};\n/**\n * Before moving item down, it will check if the movement will cause collisions and move those items down before.\n */\n\nfunction resolveCompactionCollision(layout\n/*: Layout*/\n, item\n/*: LayoutItem*/\n, moveToCoord\n/*: number*/\n, axis\n/*: \"x\" | \"y\"*/\n) {\n var sizeProp = heightWidth[axis];\n item[axis] += 1;\n var itemIndex = layout.map(function (layoutItem) {\n return layoutItem.i;\n }).indexOf(item.i); // Go through each item we collide with.\n\n for (var i = itemIndex + 1; i < layout.length; i++) {\n var otherItem = layout[i]; // Ignore static items\n\n if (otherItem.static) continue; // Optimization: we can break early if we know we're past this el\n // We can do this b/c it's a sorted layout\n\n if (otherItem.y > item.y + item.h) break;\n\n if (collides(item, otherItem)) {\n resolveCompactionCollision(layout, otherItem, moveToCoord + item[sizeProp], axis);\n }\n }\n\n item[axis] = moveToCoord;\n}\n/**\n * Compact an item in the layout.\n *\n * Modifies item.\n *\n */\n\n\nfunction compactItem(compareWith\n/*: Layout*/\n, l\n/*: LayoutItem*/\n, compactType\n/*: CompactType*/\n, cols\n/*: number*/\n, fullLayout\n/*: Layout*/\n)\n/*: LayoutItem*/\n{\n var compactV = compactType === \"vertical\";\n var compactH = compactType === \"horizontal\";\n\n if (compactV) {\n // Bottom 'y' possible is the bottom of the layout.\n // This allows you to do nice stuff like specify {y: Infinity}\n // This is here because the layout must be sorted in order to get the correct bottom `y`.\n l.y = Math.min(bottom(compareWith), l.y); // Move the element up as far as it can go without colliding.\n\n while (l.y > 0 && !getFirstCollision(compareWith, l)) {\n l.y--;\n }\n } else if (compactH) {\n // Move the element left as far as it can go without colliding.\n while (l.x > 0 && !getFirstCollision(compareWith, l)) {\n l.x--;\n }\n } // Move it down, and keep moving it down if it's colliding.\n\n\n var collides;\n\n while (collides = getFirstCollision(compareWith, l)) {\n if (compactH) {\n resolveCompactionCollision(fullLayout, l, collides.x + collides.w, \"x\");\n } else {\n resolveCompactionCollision(fullLayout, l, collides.y + collides.h, \"y\");\n } // Since we can't grow without bounds horizontally, if we've overflown, let's move it down and try again.\n\n\n if (compactH && l.x + l.w > cols) {\n l.x = cols - l.w;\n l.y++;\n }\n } // Ensure that there are no negative positions\n\n\n l.y = Math.max(l.y, 0);\n l.x = Math.max(l.x, 0);\n return l;\n}\n/**\n * Given a layout, make sure all elements fit within its bounds.\n *\n * Modifies layout items.\n *\n * @param {Array} layout Layout array.\n * @param {Number} bounds Number of columns.\n */\n\n\nfunction correctBounds(layout\n/*: Layout*/\n, bounds\n/*: { cols: number }*/\n)\n/*: Layout*/\n{\n var collidesWith = getStatics(layout);\n\n for (var i = 0, len = layout.length; i < len; i++) {\n var l = layout[i]; // Overflows right\n\n if (l.x + l.w > bounds.cols) l.x = bounds.cols - l.w; // Overflows left\n\n if (l.x < 0) {\n l.x = 0;\n l.w = bounds.cols;\n }\n\n if (!l.static) collidesWith.push(l);else {\n // If this is static and collides with other statics, we must move it down.\n // We have to do something nicer than just letting them overlap.\n while (getFirstCollision(collidesWith, l)) {\n l.y++;\n }\n }\n }\n\n return layout;\n}\n/**\n * Get a layout item by ID. Used so we can override later on if necessary.\n *\n * @param {Array} layout Layout array.\n * @param {String} id ID\n * @return {LayoutItem} Item at ID.\n */\n\n\nfunction getLayoutItem(layout\n/*: Layout*/\n, id\n/*: string*/\n)\n/*: ?LayoutItem*/\n{\n for (var i = 0, len = layout.length; i < len; i++) {\n if (layout[i].i === id) return layout[i];\n }\n}\n/**\n * Returns the first item this layout collides with.\n * It doesn't appear to matter which order we approach this from, although\n * perhaps that is the wrong thing to do.\n *\n * @param {Object} layoutItem Layout item.\n * @return {Object|undefined} A colliding layout item, or undefined.\n */\n\n\nfunction getFirstCollision(layout\n/*: Layout*/\n, layoutItem\n/*: LayoutItem*/\n)\n/*: ?LayoutItem*/\n{\n for (var i = 0, len = layout.length; i < len; i++) {\n if (collides(layout[i], layoutItem)) return layout[i];\n }\n}\n\nfunction getAllCollisions(layout\n/*: Layout*/\n, layoutItem\n/*: LayoutItem*/\n)\n/*: Array*/\n{\n return layout.filter(function (l) {\n return collides(l, layoutItem);\n });\n}\n/**\n * Get all static elements.\n * @param {Array} layout Array of layout objects.\n * @return {Array} Array of static layout items..\n */\n\n\nfunction getStatics(layout\n/*: Layout*/\n)\n/*: Array*/\n{\n return layout.filter(function (l) {\n return l.static;\n });\n}\n/**\n * Move an element. Responsible for doing cascading movements of other elements.\n *\n * Modifies layout items.\n *\n * @param {Array} layout Full layout to modify.\n * @param {LayoutItem} l element to move.\n * @param {Number} [x] X position in grid units.\n * @param {Number} [y] Y position in grid units.\n */\n\n\nfunction moveElement(layout\n/*: Layout*/\n, l\n/*: LayoutItem*/\n, x\n/*: ?number*/\n, y\n/*: ?number*/\n, isUserAction\n/*: ?boolean*/\n, preventCollision\n/*: ?boolean*/\n, compactType\n/*: CompactType*/\n, cols\n/*: number*/\n, allowOverlap\n/*: ?boolean*/\n)\n/*: Layout*/\n{\n // If this is static and not explicitly enabled as draggable,\n // no move is possible, so we can short-circuit this immediately.\n if (l.static && l.isDraggable !== true) return layout; // Short-circuit if nothing to do.\n\n if (l.y === y && l.x === x) return layout;\n log(\"Moving element \".concat(l.i, \" to [\").concat(String(x), \",\").concat(String(y), \"] from [\").concat(l.x, \",\").concat(l.y, \"]\"));\n var oldX = l.x;\n var oldY = l.y; // This is quite a bit faster than extending the object\n\n if (typeof x === \"number\") l.x = x;\n if (typeof y === \"number\") l.y = y;\n l.moved = true; // If this collides with anything, move it.\n // When doing this comparison, we have to sort the items we compare with\n // to ensure, in the case of multiple collisions, that we're getting the\n // nearest collision.\n\n var sorted = sortLayoutItems(layout, compactType);\n var movingUp = compactType === \"vertical\" && typeof y === \"number\" ? oldY >= y : compactType === \"horizontal\" && typeof x === \"number\" ? oldX >= x : false; // $FlowIgnore acceptable modification of read-only array as it was recently cloned\n\n if (movingUp) sorted = sorted.reverse();\n var collisions = getAllCollisions(sorted, l);\n var hasCollisions = collisions.length > 0; // We may have collisions. We can short-circuit if we've turned off collisions or\n // allowed overlap.\n\n if (hasCollisions && allowOverlap) {\n // Easy, we don't need to resolve collisions. But we *did* change the layout,\n // so clone it on the way out.\n return cloneLayout(layout);\n } else if (hasCollisions && preventCollision) {\n // If we are preventing collision but not allowing overlap, we need to\n // revert the position of this element so it goes to where it came from, rather\n // than the user's desired location.\n log(\"Collision prevented on \".concat(l.i, \", reverting.\"));\n l.x = oldX;\n l.y = oldY;\n l.moved = false;\n return layout; // did not change so don't clone\n } // Move each item that collides away from this element.\n\n\n for (var i = 0, len = collisions.length; i < len; i++) {\n var collision = collisions[i];\n log(\"Resolving collision between \".concat(l.i, \" at [\").concat(l.x, \",\").concat(l.y, \"] and \").concat(collision.i, \" at [\").concat(collision.x, \",\").concat(collision.y, \"]\")); // Short circuit so we can't infinite loop\n\n if (collision.moved) continue; // Don't move static items - we have to move *this* element away\n\n if (collision.static) {\n layout = moveElementAwayFromCollision(layout, collision, l, isUserAction, compactType, cols);\n } else {\n layout = moveElementAwayFromCollision(layout, l, collision, isUserAction, compactType, cols);\n }\n }\n\n return layout;\n}\n/**\n * This is where the magic needs to happen - given a collision, move an element away from the collision.\n * We attempt to move it up if there's room, otherwise it goes below.\n *\n * @param {Array} layout Full layout to modify.\n * @param {LayoutItem} collidesWith Layout item we're colliding with.\n * @param {LayoutItem} itemToMove Layout item we're moving.\n */\n\n\nfunction moveElementAwayFromCollision(layout\n/*: Layout*/\n, collidesWith\n/*: LayoutItem*/\n, itemToMove\n/*: LayoutItem*/\n, isUserAction\n/*: ?boolean*/\n, compactType\n/*: CompactType*/\n, cols\n/*: number*/\n)\n/*: Layout*/\n{\n var compactH = compactType === \"horizontal\"; // Compact vertically if not set to horizontal\n\n var compactV = compactType !== \"horizontal\";\n var preventCollision = collidesWith.static; // we're already colliding (not for static items)\n // If there is enough space above the collision to put this element, move it there.\n // We only do this on the main collision as this can get funky in cascades and cause\n // unwanted swapping behavior.\n\n if (isUserAction) {\n // Reset isUserAction flag because we're not in the main collision anymore.\n isUserAction = false; // Make a mock item so we don't modify the item here, only modify in moveElement.\n\n var fakeItem\n /*: LayoutItem*/\n = {\n x: compactH ? Math.max(collidesWith.x - itemToMove.w, 0) : itemToMove.x,\n y: compactV ? Math.max(collidesWith.y - itemToMove.h, 0) : itemToMove.y,\n w: itemToMove.w,\n h: itemToMove.h,\n i: \"-1\"\n }; // No collision? If so, we can go up there; otherwise, we'll end up moving down as normal\n\n if (!getFirstCollision(layout, fakeItem)) {\n log(\"Doing reverse collision on \".concat(itemToMove.i, \" up to [\").concat(fakeItem.x, \",\").concat(fakeItem.y, \"].\"));\n return moveElement(layout, itemToMove, compactH ? fakeItem.x : undefined, compactV ? fakeItem.y : undefined, isUserAction, preventCollision, compactType, cols);\n }\n }\n\n return moveElement(layout, itemToMove, compactH ? itemToMove.x + 1 : undefined, compactV ? itemToMove.y + 1 : undefined, isUserAction, preventCollision, compactType, cols);\n}\n/**\n * Helper to convert a number to a percentage string.\n *\n * @param {Number} num Any number\n * @return {String} That number as a percentage.\n */\n\n\nfunction perc(num\n/*: number*/\n)\n/*: string*/\n{\n return num * 100 + \"%\";\n}\n\nfunction setTransform(_ref)\n/*: Object*/\n{\n var top = _ref.top,\n left = _ref.left,\n width = _ref.width,\n height = _ref.height;\n // Replace unitless items with px\n var translate = \"translate(\".concat(left, \"px,\").concat(top, \"px)\");\n return {\n transform: translate,\n WebkitTransform: translate,\n MozTransform: translate,\n msTransform: translate,\n OTransform: translate,\n width: \"\".concat(width, \"px\"),\n height: \"\".concat(height, \"px\"),\n position: \"absolute\"\n };\n}\n\nfunction setTopLeft(_ref2)\n/*: Object*/\n{\n var top = _ref2.top,\n left = _ref2.left,\n width = _ref2.width,\n height = _ref2.height;\n return {\n top: \"\".concat(top, \"px\"),\n left: \"\".concat(left, \"px\"),\n width: \"\".concat(width, \"px\"),\n height: \"\".concat(height, \"px\"),\n position: \"absolute\"\n };\n}\n/**\n * Get layout items sorted from top left to right and down.\n *\n * @return {Array} Array of layout objects.\n * @return {Array} Layout, sorted static items first.\n */\n\n\nfunction sortLayoutItems(layout\n/*: Layout*/\n, compactType\n/*: CompactType*/\n)\n/*: Layout*/\n{\n if (compactType === \"horizontal\") return sortLayoutItemsByColRow(layout);\n if (compactType === \"vertical\") return sortLayoutItemsByRowCol(layout);else return layout;\n}\n/**\n * Sort layout items by row ascending and column ascending.\n *\n * Does not modify Layout.\n */\n\n\nfunction sortLayoutItemsByRowCol(layout\n/*: Layout*/\n)\n/*: Layout*/\n{\n // Slice to clone array as sort modifies\n return layout.slice(0).sort(function (a, b) {\n if (a.y > b.y || a.y === b.y && a.x > b.x) {\n return 1;\n } else if (a.y === b.y && a.x === b.x) {\n // Without this, we can get different sort results in IE vs. Chrome/FF\n return 0;\n }\n\n return -1;\n });\n}\n/**\n * Sort layout items by column ascending then row ascending.\n *\n * Does not modify Layout.\n */\n\n\nfunction sortLayoutItemsByColRow(layout\n/*: Layout*/\n)\n/*: Layout*/\n{\n return layout.slice(0).sort(function (a, b) {\n if (a.x > b.x || a.x === b.x && a.y > b.y) {\n return 1;\n }\n\n return -1;\n });\n}\n/**\n * Generate a layout using the initialLayout and children as a template.\n * Missing entries will be added, extraneous ones will be truncated.\n *\n * Does not modify initialLayout.\n *\n * @param {Array} initialLayout Layout passed in through props.\n * @param {String} breakpoint Current responsive breakpoint.\n * @param {?String} compact Compaction option.\n * @return {Array} Working layout.\n */\n\n\nfunction synchronizeLayoutWithChildren(initialLayout\n/*: Layout*/\n, children\n/*: ReactChildren*/\n, cols\n/*: number*/\n, compactType\n/*: CompactType*/\n, allowOverlap\n/*: ?boolean*/\n)\n/*: Layout*/\n{\n initialLayout = initialLayout || []; // Generate one layout item per child.\n\n var layout\n /*: LayoutItem[]*/\n = [];\n\n _react.default.Children.forEach(children, function (child\n /*: ReactElement*/\n ) {\n // Child may not exist\n if ((child === null || child === void 0 ? void 0 : child.key) == null) return; // Don't overwrite if it already exists.\n\n var exists = getLayoutItem(initialLayout, String(child.key));\n\n if (exists) {\n layout.push(cloneLayoutItem(exists));\n } else {\n if (!isProduction && child.props._grid) {\n console.warn(\"`_grid` properties on children have been deprecated as of React 15.2. \" + \"Please use `data-grid` or add your properties directly to the `layout`.\");\n }\n\n var g = child.props[\"data-grid\"] || child.props._grid; // Hey, this item has a data-grid property, use it.\n\n if (g) {\n if (!isProduction) {\n validateLayout([g], \"ReactGridLayout.children\");\n } // FIXME clone not really necessary here\n\n\n layout.push(cloneLayoutItem(_objectSpread(_objectSpread({}, g), {}, {\n i: child.key\n })));\n } else {\n // Nothing provided: ensure this is added to the bottom\n // FIXME clone not really necessary here\n layout.push(cloneLayoutItem({\n w: 1,\n h: 1,\n x: 0,\n y: bottom(layout),\n i: String(child.key)\n }));\n }\n }\n }); // Correct the layout.\n\n\n var correctedLayout = correctBounds(layout, {\n cols: cols\n });\n return allowOverlap ? correctedLayout : compact(correctedLayout, compactType, cols);\n}\n/**\n * Validate a layout. Throws errors.\n *\n * @param {Array} layout Array of layout items.\n * @param {String} [contextName] Context name for errors.\n * @throw {Error} Validation error.\n */\n\n\nfunction validateLayout(layout\n/*: Layout*/\n)\n/*: void*/\n{\n var contextName\n /*: string*/\n = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : \"Layout\";\n var subProps = [\"x\", \"y\", \"w\", \"h\"];\n if (!Array.isArray(layout)) throw new Error(contextName + \" must be an array!\");\n\n for (var i = 0, len = layout.length; i < len; i++) {\n var item = layout[i];\n\n for (var j = 0; j < subProps.length; j++) {\n if (typeof item[subProps[j]] !== \"number\") {\n throw new Error(\"ReactGridLayout: \" + contextName + \"[\" + i + \"].\" + subProps[j] + \" must be a number!\");\n }\n }\n }\n} // Legacy support for verticalCompact: false\n\n\nfunction compactType(props\n/*: ?{ verticalCompact: boolean, compactType: CompactType }*/\n)\n/*: CompactType*/\n{\n var _ref3 = props || {},\n verticalCompact = _ref3.verticalCompact,\n compactType = _ref3.compactType;\n\n return verticalCompact === false ? null : compactType;\n}\n\nfunction log() {\n var _console;\n\n if (!DEBUG) return; // eslint-disable-next-line no-console\n\n (_console = console).log.apply(_console, arguments);\n}\n\nvar noop = function noop() {};\n\nexports.noop = noop;","module.exports = require(\"./build/ReactGridLayout\").default;\nmodule.exports.utils = require(\"./build/utils\");\nmodule.exports.Responsive =\n require(\"./build/ResponsiveReactGridLayout\").default;\nmodule.exports.Responsive.utils = require(\"./build/responsiveUtils\");\nmodule.exports.WidthProvider =\n require(\"./build/components/WidthProvider\").default;\n","\"use strict\";\n\nexports.__esModule = true;\nexports.default = void 0;\nvar React = _interopRequireWildcard(require(\"react\"));\nvar _reactDraggable = require(\"react-draggable\");\nvar _utils = require(\"./utils\");\nvar _propTypes = require(\"./propTypes\");\nvar _excluded = [\"children\", \"className\", \"draggableOpts\", \"width\", \"height\", \"handle\", \"handleSize\", \"lockAspectRatio\", \"axis\", \"minConstraints\", \"maxConstraints\", \"onResize\", \"onResizeStop\", \"onResizeStart\", \"resizeHandles\", \"transformScale\"];\nfunction _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== \"function\") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }\nfunction _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || typeof obj !== \"object\" && typeof obj !== \"function\") { return { default: obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== \"default\" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj.default = obj; if (cache) { cache.set(obj, newObj); } return newObj; }\nfunction _extends() { _extends = Object.assign ? Object.assign.bind() : function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\nfunction _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }\nfunction ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }\nfunction _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { _defineProperty(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }\nfunction _defineProperty(obj, key, value) { key = _toPropertyKey(key); if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\nfunction _toPropertyKey(arg) { var key = _toPrimitive(arg, \"string\"); return typeof key === \"symbol\" ? key : String(key); }\nfunction _toPrimitive(input, hint) { if (typeof input !== \"object\" || input === null) return input; var prim = input[Symbol.toPrimitive]; if (prim !== undefined) { var res = prim.call(input, hint || \"default\"); if (typeof res !== \"object\") return res; throw new TypeError(\"@@toPrimitive must return a primitive value.\"); } return (hint === \"string\" ? String : Number)(input); }\nfunction _inheritsLoose(subClass, superClass) { subClass.prototype = Object.create(superClass.prototype); subClass.prototype.constructor = subClass; _setPrototypeOf(subClass, superClass); }\nfunction _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf ? Object.setPrototypeOf.bind() : function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); }\n// The base component.\n// This component does not have state and relies on the parent to set its props based on callback data.\nvar Resizable = /*#__PURE__*/function (_React$Component) {\n _inheritsLoose(Resizable, _React$Component);\n function Resizable() {\n var _this;\n for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n _this = _React$Component.call.apply(_React$Component, [this].concat(args)) || this;\n _this.handleRefs = {};\n _this.lastHandleRect = null;\n _this.slack = null;\n return _this;\n }\n var _proto = Resizable.prototype;\n _proto.componentWillUnmount = function componentWillUnmount() {\n this.resetData();\n };\n _proto.resetData = function resetData() {\n this.lastHandleRect = this.slack = null;\n }\n\n // Clamp width and height within provided constraints\n ;\n _proto.runConstraints = function runConstraints(width, height) {\n var _this$props = this.props,\n minConstraints = _this$props.minConstraints,\n maxConstraints = _this$props.maxConstraints,\n lockAspectRatio = _this$props.lockAspectRatio;\n // short circuit\n if (!minConstraints && !maxConstraints && !lockAspectRatio) return [width, height];\n\n // If constraining to min and max, we need to also fit width and height to aspect ratio.\n if (lockAspectRatio) {\n var ratio = this.props.width / this.props.height;\n var deltaW = width - this.props.width;\n var deltaH = height - this.props.height;\n\n // Find which coordinate was greater and should push the other toward it.\n // E.g.:\n // ratio = 1, deltaW = 10, deltaH = 5, deltaH should become 10.\n // ratio = 2, deltaW = 10, deltaH = 6, deltaW should become 12.\n if (Math.abs(deltaW) > Math.abs(deltaH * ratio)) {\n height = width / ratio;\n } else {\n width = height * ratio;\n }\n }\n var oldW = width,\n oldH = height;\n\n // Add slack to the values used to calculate bound position. This will ensure that if\n // we start removing slack, the element won't react to it right away until it's been\n // completely removed.\n var _ref = this.slack || [0, 0],\n slackW = _ref[0],\n slackH = _ref[1];\n width += slackW;\n height += slackH;\n if (minConstraints) {\n width = Math.max(minConstraints[0], width);\n height = Math.max(minConstraints[1], height);\n }\n if (maxConstraints) {\n width = Math.min(maxConstraints[0], width);\n height = Math.min(maxConstraints[1], height);\n }\n\n // If the width or height changed, we must have introduced some slack. Record it for the next iteration.\n this.slack = [slackW + (oldW - width), slackH + (oldH - height)];\n return [width, height];\n }\n\n /**\n * Wrapper around drag events to provide more useful data.\n *\n * @param {String} handlerName Handler name to wrap.\n * @return {Function} Handler function.\n */;\n _proto.resizeHandler = function resizeHandler(handlerName, axis) {\n var _this2 = this;\n return function (e, _ref2) {\n var node = _ref2.node,\n deltaX = _ref2.deltaX,\n deltaY = _ref2.deltaY;\n // Reset data in case it was left over somehow (should not be possible)\n if (handlerName === 'onResizeStart') _this2.resetData();\n\n // Axis restrictions\n var canDragX = (_this2.props.axis === 'both' || _this2.props.axis === 'x') && axis !== 'n' && axis !== 's';\n var canDragY = (_this2.props.axis === 'both' || _this2.props.axis === 'y') && axis !== 'e' && axis !== 'w';\n // No dragging possible.\n if (!canDragX && !canDragY) return;\n\n // Decompose axis for later use\n var axisV = axis[0];\n var axisH = axis[axis.length - 1]; // intentionally not axis[1], so that this catches axis === 'w' for example\n\n // Track the element being dragged to account for changes in position.\n // If a handle's position is changed between callbacks, we need to factor this in to the next callback.\n // Failure to do so will cause the element to \"skip\" when resized upwards or leftwards.\n var handleRect = node.getBoundingClientRect();\n if (_this2.lastHandleRect != null) {\n // If the handle has repositioned on either axis since last render,\n // we need to increase our callback values by this much.\n // Only checking 'n', 'w' since resizing by 's', 'w' won't affect the overall position on page,\n if (axisH === 'w') {\n var deltaLeftSinceLast = handleRect.left - _this2.lastHandleRect.left;\n deltaX += deltaLeftSinceLast;\n }\n if (axisV === 'n') {\n var deltaTopSinceLast = handleRect.top - _this2.lastHandleRect.top;\n deltaY += deltaTopSinceLast;\n }\n }\n // Storage of last rect so we know how much it has really moved.\n _this2.lastHandleRect = handleRect;\n\n // Reverse delta if using top or left drag handles.\n if (axisH === 'w') deltaX = -deltaX;\n if (axisV === 'n') deltaY = -deltaY;\n\n // Update w/h by the deltas. Also factor in transformScale.\n var width = _this2.props.width + (canDragX ? deltaX / _this2.props.transformScale : 0);\n var height = _this2.props.height + (canDragY ? deltaY / _this2.props.transformScale : 0);\n\n // Run user-provided constraints.\n var _this2$runConstraints = _this2.runConstraints(width, height);\n width = _this2$runConstraints[0];\n height = _this2$runConstraints[1];\n var dimensionsChanged = width !== _this2.props.width || height !== _this2.props.height;\n\n // Call user-supplied callback if present.\n var cb = typeof _this2.props[handlerName] === 'function' ? _this2.props[handlerName] : null;\n // Don't call 'onResize' if dimensions haven't changed.\n var shouldSkipCb = handlerName === 'onResize' && !dimensionsChanged;\n if (cb && !shouldSkipCb) {\n e.persist == null ? void 0 : e.persist();\n cb(e, {\n node: node,\n size: {\n width: width,\n height: height\n },\n handle: axis\n });\n }\n\n // Reset internal data\n if (handlerName === 'onResizeStop') _this2.resetData();\n };\n }\n\n // Render a resize handle given an axis & DOM ref. Ref *must* be attached for\n // the underlying draggable library to work properly.\n ;\n _proto.renderResizeHandle = function renderResizeHandle(handleAxis, ref) {\n var handle = this.props.handle;\n // No handle provided, make the default\n if (!handle) {\n return /*#__PURE__*/React.createElement(\"span\", {\n className: \"react-resizable-handle react-resizable-handle-\" + handleAxis,\n ref: ref\n });\n }\n // Handle is a function, such as:\n // `handle={(handleAxis) => }`\n if (typeof handle === 'function') {\n return handle(handleAxis, ref);\n }\n // Handle is a React component (composite or DOM).\n var isDOMElement = typeof handle.type === 'string';\n var props = _objectSpread({\n ref: ref\n }, isDOMElement ? {} : {\n handleAxis: handleAxis\n });\n return /*#__PURE__*/React.cloneElement(handle, props);\n };\n _proto.render = function render() {\n var _this3 = this;\n // Pass along only props not meant for the ``.`\n // eslint-disable-next-line no-unused-vars\n var _this$props2 = this.props,\n children = _this$props2.children,\n className = _this$props2.className,\n draggableOpts = _this$props2.draggableOpts,\n width = _this$props2.width,\n height = _this$props2.height,\n handle = _this$props2.handle,\n handleSize = _this$props2.handleSize,\n lockAspectRatio = _this$props2.lockAspectRatio,\n axis = _this$props2.axis,\n minConstraints = _this$props2.minConstraints,\n maxConstraints = _this$props2.maxConstraints,\n onResize = _this$props2.onResize,\n onResizeStop = _this$props2.onResizeStop,\n onResizeStart = _this$props2.onResizeStart,\n resizeHandles = _this$props2.resizeHandles,\n transformScale = _this$props2.transformScale,\n p = _objectWithoutPropertiesLoose(_this$props2, _excluded);\n\n // What we're doing here is getting the child of this element, and cloning it with this element's props.\n // We are then defining its children as:\n // 1. Its original children (resizable's child's children), and\n // 2. One or more draggable handles.\n return (0, _utils.cloneElement)(children, _objectSpread(_objectSpread({}, p), {}, {\n className: (className ? className + \" \" : '') + \"react-resizable\",\n children: [].concat(children.props.children, resizeHandles.map(function (handleAxis) {\n var _this3$handleRefs$han;\n // Create a ref to the handle so that `` doesn't have to use ReactDOM.findDOMNode().\n var ref = (_this3$handleRefs$han = _this3.handleRefs[handleAxis]) != null ? _this3$handleRefs$han : _this3.handleRefs[handleAxis] = /*#__PURE__*/React.createRef();\n return /*#__PURE__*/React.createElement(_reactDraggable.DraggableCore, _extends({}, draggableOpts, {\n nodeRef: ref,\n key: \"resizableHandle-\" + handleAxis,\n onStop: _this3.resizeHandler('onResizeStop', handleAxis),\n onStart: _this3.resizeHandler('onResizeStart', handleAxis),\n onDrag: _this3.resizeHandler('onResize', handleAxis)\n }), _this3.renderResizeHandle(handleAxis, ref));\n }))\n }));\n };\n return Resizable;\n}(React.Component);\nexports.default = Resizable;\nResizable.propTypes = _propTypes.resizableProps;\nResizable.defaultProps = {\n axis: 'both',\n handleSize: [20, 20],\n lockAspectRatio: false,\n minConstraints: [20, 20],\n maxConstraints: [Infinity, Infinity],\n resizeHandles: ['se'],\n transformScale: 1\n};","\"use strict\";\n\nexports.__esModule = true;\nexports.default = void 0;\nvar React = _interopRequireWildcard(require(\"react\"));\nvar _propTypes = _interopRequireDefault(require(\"prop-types\"));\nvar _Resizable = _interopRequireDefault(require(\"./Resizable\"));\nvar _propTypes2 = require(\"./propTypes\");\nvar _excluded = [\"handle\", \"handleSize\", \"onResize\", \"onResizeStart\", \"onResizeStop\", \"draggableOpts\", \"minConstraints\", \"maxConstraints\", \"lockAspectRatio\", \"axis\", \"width\", \"height\", \"resizeHandles\", \"style\", \"transformScale\"];\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\nfunction _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== \"function\") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }\nfunction _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || typeof obj !== \"object\" && typeof obj !== \"function\") { return { default: obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== \"default\" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj.default = obj; if (cache) { cache.set(obj, newObj); } return newObj; }\nfunction _extends() { _extends = Object.assign ? Object.assign.bind() : function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\nfunction ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }\nfunction _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { _defineProperty(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }\nfunction _defineProperty(obj, key, value) { key = _toPropertyKey(key); if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\nfunction _toPropertyKey(arg) { var key = _toPrimitive(arg, \"string\"); return typeof key === \"symbol\" ? key : String(key); }\nfunction _toPrimitive(input, hint) { if (typeof input !== \"object\" || input === null) return input; var prim = input[Symbol.toPrimitive]; if (prim !== undefined) { var res = prim.call(input, hint || \"default\"); if (typeof res !== \"object\") return res; throw new TypeError(\"@@toPrimitive must return a primitive value.\"); } return (hint === \"string\" ? String : Number)(input); }\nfunction _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }\nfunction _inheritsLoose(subClass, superClass) { subClass.prototype = Object.create(superClass.prototype); subClass.prototype.constructor = subClass; _setPrototypeOf(subClass, superClass); }\nfunction _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf ? Object.setPrototypeOf.bind() : function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); }\nvar ResizableBox = /*#__PURE__*/function (_React$Component) {\n _inheritsLoose(ResizableBox, _React$Component);\n function ResizableBox() {\n var _this;\n for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n _this = _React$Component.call.apply(_React$Component, [this].concat(args)) || this;\n _this.state = {\n width: _this.props.width,\n height: _this.props.height,\n propsWidth: _this.props.width,\n propsHeight: _this.props.height\n };\n _this.onResize = function (e, data) {\n var size = data.size;\n if (_this.props.onResize) {\n e.persist == null ? void 0 : e.persist();\n _this.setState(size, function () {\n return _this.props.onResize && _this.props.onResize(e, data);\n });\n } else {\n _this.setState(size);\n }\n };\n return _this;\n }\n ResizableBox.getDerivedStateFromProps = function getDerivedStateFromProps(props, state) {\n // If parent changes height/width, set that in our state.\n if (state.propsWidth !== props.width || state.propsHeight !== props.height) {\n return {\n width: props.width,\n height: props.height,\n propsWidth: props.width,\n propsHeight: props.height\n };\n }\n return null;\n };\n var _proto = ResizableBox.prototype;\n _proto.render = function render() {\n // Basic wrapper around a Resizable instance.\n // If you use Resizable directly, you are responsible for updating the child component\n // with a new width and height.\n var _this$props = this.props,\n handle = _this$props.handle,\n handleSize = _this$props.handleSize,\n onResize = _this$props.onResize,\n onResizeStart = _this$props.onResizeStart,\n onResizeStop = _this$props.onResizeStop,\n draggableOpts = _this$props.draggableOpts,\n minConstraints = _this$props.minConstraints,\n maxConstraints = _this$props.maxConstraints,\n lockAspectRatio = _this$props.lockAspectRatio,\n axis = _this$props.axis,\n width = _this$props.width,\n height = _this$props.height,\n resizeHandles = _this$props.resizeHandles,\n style = _this$props.style,\n transformScale = _this$props.transformScale,\n props = _objectWithoutPropertiesLoose(_this$props, _excluded);\n return /*#__PURE__*/React.createElement(_Resizable.default, {\n axis: axis,\n draggableOpts: draggableOpts,\n handle: handle,\n handleSize: handleSize,\n height: this.state.height,\n lockAspectRatio: lockAspectRatio,\n maxConstraints: maxConstraints,\n minConstraints: minConstraints,\n onResizeStart: onResizeStart,\n onResize: this.onResize,\n onResizeStop: onResizeStop,\n resizeHandles: resizeHandles,\n transformScale: transformScale,\n width: this.state.width\n }, /*#__PURE__*/React.createElement(\"div\", _extends({}, props, {\n style: _objectSpread(_objectSpread({}, style), {}, {\n width: this.state.width + 'px',\n height: this.state.height + 'px'\n })\n })));\n };\n return ResizableBox;\n}(React.Component);\nexports.default = ResizableBox;\n// PropTypes are identical to , except that children are not strictly required to be present.\nResizableBox.propTypes = _objectSpread(_objectSpread({}, _propTypes2.resizableProps), {}, {\n children: _propTypes.default.element\n});","\"use strict\";\n\nexports.__esModule = true;\nexports.resizableProps = void 0;\nvar _propTypes = _interopRequireDefault(require(\"prop-types\"));\nvar _reactDraggable = require(\"react-draggable\");\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\nvar resizableProps = {\n /*\n * Restricts resizing to a particular axis (default: 'both')\n * 'both' - allows resizing by width or height\n * 'x' - only allows the width to be changed\n * 'y' - only allows the height to be changed\n * 'none' - disables resizing altogether\n * */\n axis: _propTypes.default.oneOf(['both', 'x', 'y', 'none']),\n className: _propTypes.default.string,\n /*\n * Require that one and only one child be present.\n * */\n children: _propTypes.default.element.isRequired,\n /*\n * These will be passed wholesale to react-draggable's DraggableCore\n * */\n draggableOpts: _propTypes.default.shape({\n allowAnyClick: _propTypes.default.bool,\n cancel: _propTypes.default.string,\n children: _propTypes.default.node,\n disabled: _propTypes.default.bool,\n enableUserSelectHack: _propTypes.default.bool,\n offsetParent: _propTypes.default.node,\n grid: _propTypes.default.arrayOf(_propTypes.default.number),\n handle: _propTypes.default.string,\n nodeRef: _propTypes.default.object,\n onStart: _propTypes.default.func,\n onDrag: _propTypes.default.func,\n onStop: _propTypes.default.func,\n onMouseDown: _propTypes.default.func,\n scale: _propTypes.default.number\n }),\n /*\n * Initial height\n * */\n height: function height() {\n for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n var props = args[0];\n // Required if resizing height or both\n if (props.axis === 'both' || props.axis === 'y') {\n var _PropTypes$number;\n return (_PropTypes$number = _propTypes.default.number).isRequired.apply(_PropTypes$number, args);\n }\n return _propTypes.default.number.apply(_propTypes.default, args);\n },\n /*\n * Customize cursor resize handle\n * */\n handle: _propTypes.default.oneOfType([_propTypes.default.node, _propTypes.default.func]),\n /*\n * If you change this, be sure to update your css\n * */\n handleSize: _propTypes.default.arrayOf(_propTypes.default.number),\n lockAspectRatio: _propTypes.default.bool,\n /*\n * Max X & Y measure\n * */\n maxConstraints: _propTypes.default.arrayOf(_propTypes.default.number),\n /*\n * Min X & Y measure\n * */\n minConstraints: _propTypes.default.arrayOf(_propTypes.default.number),\n /*\n * Called on stop resize event\n * */\n onResizeStop: _propTypes.default.func,\n /*\n * Called on start resize event\n * */\n onResizeStart: _propTypes.default.func,\n /*\n * Called on resize event\n * */\n onResize: _propTypes.default.func,\n /*\n * Defines which resize handles should be rendered (default: 'se')\n * 's' - South handle (bottom-center)\n * 'w' - West handle (left-center)\n * 'e' - East handle (right-center)\n * 'n' - North handle (top-center)\n * 'sw' - Southwest handle (bottom-left)\n * 'nw' - Northwest handle (top-left)\n * 'se' - Southeast handle (bottom-right)\n * 'ne' - Northeast handle (top-center)\n * */\n resizeHandles: _propTypes.default.arrayOf(_propTypes.default.oneOf(['s', 'w', 'e', 'n', 'sw', 'nw', 'se', 'ne'])),\n /*\n * If `transform: scale(n)` is set on the parent, this should be set to `n`.\n * */\n transformScale: _propTypes.default.number,\n /*\n * Initial width\n */\n width: function width() {\n for (var _len2 = arguments.length, args = new Array(_len2), _key2 = 0; _key2 < _len2; _key2++) {\n args[_key2] = arguments[_key2];\n }\n var props = args[0];\n // Required if resizing width or both\n if (props.axis === 'both' || props.axis === 'x') {\n var _PropTypes$number2;\n return (_PropTypes$number2 = _propTypes.default.number).isRequired.apply(_PropTypes$number2, args);\n }\n return _propTypes.default.number.apply(_propTypes.default, args);\n }\n};\nexports.resizableProps = resizableProps;","\"use strict\";\n\nexports.__esModule = true;\nexports.cloneElement = cloneElement;\nvar _react = _interopRequireDefault(require(\"react\"));\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\nfunction ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }\nfunction _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { _defineProperty(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }\nfunction _defineProperty(obj, key, value) { key = _toPropertyKey(key); if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\nfunction _toPropertyKey(arg) { var key = _toPrimitive(arg, \"string\"); return typeof key === \"symbol\" ? key : String(key); }\nfunction _toPrimitive(input, hint) { if (typeof input !== \"object\" || input === null) return input; var prim = input[Symbol.toPrimitive]; if (prim !== undefined) { var res = prim.call(input, hint || \"default\"); if (typeof res !== \"object\") return res; throw new TypeError(\"@@toPrimitive must return a primitive value.\"); } return (hint === \"string\" ? String : Number)(input); }\n// React.addons.cloneWithProps look-alike that merges style & className.\nfunction cloneElement(element, props) {\n if (props.style && element.props.style) {\n props.style = _objectSpread(_objectSpread({}, element.props.style), props.style);\n }\n if (props.className && element.props.className) {\n props.className = element.props.className + \" \" + props.className;\n }\n return /*#__PURE__*/_react.default.cloneElement(element, props);\n}","'use strict';\nmodule.exports = function() {\n throw new Error(\"Don't instantiate Resizable directly! Use require('react-resizable').Resizable\");\n};\n\nmodule.exports.Resizable = require('./build/Resizable').default;\nmodule.exports.ResizableBox = require('./build/ResizableBox').default;\n","module.exports = __WEBPACK_EXTERNAL_MODULE__644__;","module.exports = __WEBPACK_EXTERNAL_MODULE__305__;","module.exports = __WEBPACK_EXTERNAL_MODULE__545__;","module.exports = __WEBPACK_EXTERNAL_MODULE__388__;","module.exports = __WEBPACK_EXTERNAL_MODULE__980__;","module.exports = __WEBPACK_EXTERNAL_MODULE__650__;","module.exports = __WEBPACK_EXTERNAL_MODULE__729__;","module.exports = __WEBPACK_EXTERNAL_MODULE__814__;","module.exports = __WEBPACK_EXTERNAL_MODULE__177__;","// The module cache\nvar __webpack_module_cache__ = {};\n\n// The require function\nfunction __webpack_require__(moduleId) {\n\t// Check if module is in cache\n\tvar cachedModule = __webpack_module_cache__[moduleId];\n\tif (cachedModule !== undefined) {\n\t\treturn cachedModule.exports;\n\t}\n\t// Create a new module (and put it into the cache)\n\tvar module = __webpack_module_cache__[moduleId] = {\n\t\tid: moduleId,\n\t\tloaded: false,\n\t\texports: {}\n\t};\n\n\t// Execute the module function\n\t__webpack_modules__[moduleId](module, module.exports, __webpack_require__);\n\n\t// Flag the module as loaded\n\tmodule.loaded = true;\n\n\t// Return the exports of the module\n\treturn module.exports;\n}\n\n","// getDefaultExport function for compatibility with non-harmony modules\n__webpack_require__.n = (module) => {\n\tvar getter = module && module.__esModule ?\n\t\t() => (module['default']) :\n\t\t() => (module);\n\t__webpack_require__.d(getter, { a: getter });\n\treturn getter;\n};","// define getter functions for harmony exports\n__webpack_require__.d = (exports, definition) => {\n\tfor(var key in definition) {\n\t\tif(__webpack_require__.o(definition, key) && !__webpack_require__.o(exports, key)) {\n\t\t\tObject.defineProperty(exports, key, { enumerable: true, get: definition[key] });\n\t\t}\n\t}\n};","__webpack_require__.g = (function() {\n\tif (typeof globalThis === 'object') return globalThis;\n\ttry {\n\t\treturn this || new Function('return this')();\n\t} catch (e) {\n\t\tif (typeof window === 'object') return window;\n\t}\n})();","__webpack_require__.o = (obj, prop) => (Object.prototype.hasOwnProperty.call(obj, prop))","// define __esModule on exports\n__webpack_require__.r = (exports) => {\n\tif(typeof Symbol !== 'undefined' && Symbol.toStringTag) {\n\t\tObject.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });\n\t}\n\tObject.defineProperty(exports, '__esModule', { value: true });\n};","__webpack_require__.nmd = (module) => {\n\tmodule.paths = [];\n\tif (!module.children) module.children = [];\n\treturn module;\n};","import React, { useContext } from 'react';\nimport { AppRootProps } from '@grafana/data';\n\n// This is used to be able to retrieve the root plugin props anywhere inside the app.\nexport const PluginPropsContext = React.createContext(null);\n\nexport const usePluginProps = () => {\n const pluginProps = useContext(PluginPropsContext);\n\n return pluginProps;\n};\n\nexport const usePluginMeta = () => {\n const pluginProps = usePluginProps();\n\n return pluginProps?.meta;\n};\n","import pluginJson from './plugin.json';\n\nexport const PLUGIN_BASE_URL = `/a/${pluginJson.id}`;\n\nexport enum ROUTES {\n CacheGroup = 'cache-group',\n DeliveryService = 'delivery-service',\n Server = 'server',\n}\n\nexport const PROMETHEUS_DATASOURCE_REF = {\n uid: 'prometheus',\n type: 'prometheus',\n};\n\nexport const INFLUXDB_DATASOURCES_REF = {\n CACHE_STATS: {\n uid: 'cache_stats',\n type: 'influxdb',\n },\n DELIVERYSERVICE_STATS: {\n uid: 'deliveryservice_stats',\n type: 'influxdb',\n },\n DAILY_STATS: {\n uid: 'daily_stats',\n type: 'influxdb',\n },\n TELEGRAF: {\n uid: 'telegraf',\n type: 'influxdb',\n },\n};\n","import { PLUGIN_BASE_URL } from '../constants';\n\n// Prefixes the route with the base URL of the plugin\nexport function prefixRoute(route: string): string {\n return `${PLUGIN_BASE_URL}/${route}`;\n}\n","import React from 'react';\nimport { useLocation } from 'react-router-dom';\nimport { urlUtil, locationUtil } from '@grafana/data';\nimport { locationService, locationSearchToObject } from '@grafana/runtime';\n\nvar __defProp = Object.defineProperty;\nvar __getOwnPropSymbols = Object.getOwnPropertySymbols;\nvar __hasOwnProp = Object.prototype.hasOwnProperty;\nvar __propIsEnum = Object.prototype.propertyIsEnumerable;\nvar __defNormalProp = (obj, key, value) => key in obj ? __defProp(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;\nvar __spreadValues = (a, b) => {\n for (var prop in b || (b = {}))\n if (__hasOwnProp.call(b, prop))\n __defNormalProp(a, prop, b[prop]);\n if (__getOwnPropSymbols)\n for (var prop of __getOwnPropSymbols(b)) {\n if (__propIsEnum.call(b, prop))\n __defNormalProp(a, prop, b[prop]);\n }\n return a;\n};\nfunction useAppQueryParams() {\n const location = useLocation();\n return locationSearchToObject(location.search || \"\");\n}\nfunction getUrlWithAppState(path, preserveParams) {\n const paramsCopy = __spreadValues({}, locationService.getSearchObject());\n if (preserveParams) {\n for (const key of Object.keys(paramsCopy)) {\n if (!preserveParams.includes(key)) {\n delete paramsCopy[key];\n }\n }\n }\n return urlUtil.renderUrl(locationUtil.assureBaseUrl(path), paramsCopy);\n}\nfunction renderSceneComponentWithRouteProps(sceneObject, routeProps) {\n return React.createElement(sceneObject.Component, { model: sceneObject, routeProps });\n}\n\nexport { getUrlWithAppState, renderSceneComponentWithRouteProps, useAppQueryParams };\n//# sourceMappingURL=utils.js.map\n","import { getPluginImportUtils } from '@grafana/runtime';\n\nvar __defProp = Object.defineProperty;\nvar __defProps = Object.defineProperties;\nvar __getOwnPropDescs = Object.getOwnPropertyDescriptors;\nvar __getOwnPropSymbols = Object.getOwnPropertySymbols;\nvar __hasOwnProp = Object.prototype.hasOwnProperty;\nvar __propIsEnum = Object.prototype.propertyIsEnumerable;\nvar __defNormalProp = (obj, key, value) => key in obj ? __defProp(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;\nvar __spreadValues = (a, b) => {\n for (var prop in b || (b = {}))\n if (__hasOwnProp.call(b, prop))\n __defNormalProp(a, prop, b[prop]);\n if (__getOwnPropSymbols)\n for (var prop of __getOwnPropSymbols(b)) {\n if (__propIsEnum.call(b, prop))\n __defNormalProp(a, prop, b[prop]);\n }\n return a;\n};\nvar __spreadProps = (a, b) => __defProps(a, __getOwnPropDescs(b));\nconst runtimePanelPlugins = /* @__PURE__ */ new Map();\nfunction registerRuntimePanelPlugin({ pluginId, plugin }) {\n if (runtimePanelPlugins.has(pluginId)) {\n throw new Error(`A runtime panel plugin with id ${pluginId} has already been registered`);\n }\n plugin.meta = __spreadProps(__spreadValues({}, plugin.meta), {\n id: pluginId,\n name: pluginId,\n module: \"runtime plugin\",\n baseUrl: \"runtime plugin\",\n info: {\n author: {\n name: \"Runtime plugin \" + pluginId\n },\n description: \"\",\n links: [],\n logos: {\n large: \"\",\n small: \"\"\n },\n screenshots: [],\n updated: \"\",\n version: \"\"\n }\n });\n runtimePanelPlugins.set(pluginId, plugin);\n}\nfunction loadPanelPluginSync(pluginId) {\n var _a;\n const { getPanelPluginFromCache } = getPluginImportUtils();\n return (_a = getPanelPluginFromCache(pluginId)) != null ? _a : runtimePanelPlugins.get(pluginId);\n}\n\nexport { loadPanelPluginSync, registerRuntimePanelPlugin, runtimePanelPlugins };\n//# sourceMappingURL=registerRuntimePanelPlugin.js.map\n","const randomUUID = typeof crypto !== 'undefined' && crypto.randomUUID && crypto.randomUUID.bind(crypto);\nexport default {\n randomUUID\n};","// Unique ID creation requires a high quality random # generator. In the browser we therefore\n// require the crypto API and do not support built-in fallback to lower quality random number\n// generators (like Math.random()).\nlet getRandomValues;\nconst rnds8 = new Uint8Array(16);\nexport default function rng() {\n // lazy load so that environments that need to polyfill have a chance to do so\n if (!getRandomValues) {\n // getRandomValues needs to be invoked in a context where \"this\" is a Crypto implementation.\n getRandomValues = typeof crypto !== 'undefined' && crypto.getRandomValues && crypto.getRandomValues.bind(crypto);\n\n if (!getRandomValues) {\n throw new Error('crypto.getRandomValues() not supported. See https://github.com/uuidjs/uuid#getrandomvalues-not-supported');\n }\n }\n\n return getRandomValues(rnds8);\n}","import validate from './validate.js';\n/**\n * Convert array of 16 byte values to UUID string format of the form:\n * XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX\n */\n\nconst byteToHex = [];\n\nfor (let i = 0; i < 256; ++i) {\n byteToHex.push((i + 0x100).toString(16).slice(1));\n}\n\nexport function unsafeStringify(arr, offset = 0) {\n // Note: Be careful editing this code! It's been tuned for performance\n // and works in ways you may not expect. See https://github.com/uuidjs/uuid/pull/434\n return byteToHex[arr[offset + 0]] + byteToHex[arr[offset + 1]] + byteToHex[arr[offset + 2]] + byteToHex[arr[offset + 3]] + '-' + byteToHex[arr[offset + 4]] + byteToHex[arr[offset + 5]] + '-' + byteToHex[arr[offset + 6]] + byteToHex[arr[offset + 7]] + '-' + byteToHex[arr[offset + 8]] + byteToHex[arr[offset + 9]] + '-' + byteToHex[arr[offset + 10]] + byteToHex[arr[offset + 11]] + byteToHex[arr[offset + 12]] + byteToHex[arr[offset + 13]] + byteToHex[arr[offset + 14]] + byteToHex[arr[offset + 15]];\n}\n\nfunction stringify(arr, offset = 0) {\n const uuid = unsafeStringify(arr, offset); // Consistency check for valid UUID. If this throws, it's likely due to one\n // of the following:\n // - One or more input array values don't map to a hex octet (leading to\n // \"undefined\" in the uuid)\n // - Invalid input values for the RFC `version` or `variant` fields\n\n if (!validate(uuid)) {\n throw TypeError('Stringified UUID is invalid');\n }\n\n return uuid;\n}\n\nexport default stringify;","import native from './native.js';\nimport rng from './rng.js';\nimport { unsafeStringify } from './stringify.js';\n\nfunction v4(options, buf, offset) {\n if (native.randomUUID && !buf && !options) {\n return native.randomUUID();\n }\n\n options = options || {};\n const rnds = options.random || (options.rng || rng)(); // Per 4.4, set bits for version and `clock_seq_hi_and_reserved`\n\n rnds[6] = rnds[6] & 0x0f | 0x40;\n rnds[8] = rnds[8] & 0x3f | 0x80; // Copy bytes to buffer, if provided\n\n if (buf) {\n offset = offset || 0;\n\n for (let i = 0; i < 16; ++i) {\n buf[offset + i] = rnds[i];\n }\n\n return buf;\n }\n\n return unsafeStringify(rnds);\n}\n\nexport default v4;","import React, { useEffect } from 'react';\n\nvar __defProp = Object.defineProperty;\nvar __defProps = Object.defineProperties;\nvar __getOwnPropDescs = Object.getOwnPropertyDescriptors;\nvar __getOwnPropSymbols = Object.getOwnPropertySymbols;\nvar __hasOwnProp = Object.prototype.hasOwnProperty;\nvar __propIsEnum = Object.prototype.propertyIsEnumerable;\nvar __defNormalProp = (obj, key, value) => key in obj ? __defProp(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;\nvar __spreadValues = (a, b) => {\n for (var prop in b || (b = {}))\n if (__hasOwnProp.call(b, prop))\n __defNormalProp(a, prop, b[prop]);\n if (__getOwnPropSymbols)\n for (var prop of __getOwnPropSymbols(b)) {\n if (__propIsEnum.call(b, prop))\n __defNormalProp(a, prop, b[prop]);\n }\n return a;\n};\nvar __spreadProps = (a, b) => __defProps(a, __getOwnPropDescs(b));\nvar __objRest = (source, exclude) => {\n var target = {};\n for (var prop in source)\n if (__hasOwnProp.call(source, prop) && exclude.indexOf(prop) < 0)\n target[prop] = source[prop];\n if (source != null && __getOwnPropSymbols)\n for (var prop of __getOwnPropSymbols(source)) {\n if (exclude.indexOf(prop) < 0 && __propIsEnum.call(source, prop))\n target[prop] = source[prop];\n }\n return target;\n};\nfunction SceneComponentWrapperWithoutMemo(_a) {\n var _b = _a, { model } = _b, otherProps = __objRest(_b, [\"model\"]);\n var _a2;\n const Component = (_a2 = model.constructor[\"Component\"]) != null ? _a2 : EmptyRenderer;\n const [activated, setActivated] = React.useState(false);\n useEffect(() => {\n setActivated(true);\n return model.activate();\n }, [model]);\n if (!activated) {\n return null;\n }\n return /* @__PURE__ */ React.createElement(Component, __spreadProps(__spreadValues({}, otherProps), {\n model\n }));\n}\nconst SceneComponentWrapper = React.memo(SceneComponentWrapperWithoutMemo);\nfunction EmptyRenderer(_) {\n return null;\n}\n\nexport { SceneComponentWrapper };\n//# sourceMappingURL=SceneComponentWrapper.js.map\n","import { BusEventWithPayload } from '@grafana/data';\n\nclass SceneObjectStateChangedEvent extends BusEventWithPayload {\n}\nSceneObjectStateChangedEvent.type = \"scene-object-state-change\";\nclass UserActionEvent extends BusEventWithPayload {\n}\nUserActionEvent.type = \"scene-object-user-action\";\n\nexport { SceneObjectStateChangedEvent, UserActionEvent };\n//# sourceMappingURL=events.js.map\n","var __accessCheck = (obj, member, msg) => {\n if (!member.has(obj))\n throw TypeError(\"Cannot \" + msg);\n};\nvar __privateGet = (obj, member, getter) => {\n __accessCheck(obj, member, \"read from private field\");\n return getter ? getter.call(obj) : member.get(obj);\n};\nvar __privateAdd = (obj, member, value) => {\n if (member.has(obj))\n throw TypeError(\"Cannot add the same private member more than once\");\n member instanceof WeakSet ? member.add(obj) : member.set(obj, value);\n};\nvar __privateSet = (obj, member, value, setter) => {\n __accessCheck(obj, member, \"write to private field\");\n setter ? setter.call(obj, value) : member.set(obj, value);\n return value;\n};\nvar _ref;\nclass SceneObjectRef {\n constructor(ref) {\n __privateAdd(this, _ref, void 0);\n __privateSet(this, _ref, ref);\n }\n resolve() {\n return __privateGet(this, _ref);\n }\n}\n_ref = new WeakMap();\n\nexport { SceneObjectRef };\n//# sourceMappingURL=SceneObjectRef.js.map\n","import { useState, useEffect } from 'react';\nimport { Subscription } from 'rxjs';\nimport { v4 } from 'uuid';\nimport { EventBusSrv } from '@grafana/data';\nimport { SceneComponentWrapper } from './SceneComponentWrapper.js';\nimport { SceneObjectStateChangedEvent } from './events.js';\nimport { cloneSceneObject } from './sceneGraph/utils.js';\nimport { SceneObjectRef } from './SceneObjectRef.js';\n\nvar __defProp = Object.defineProperty;\nvar __getOwnPropSymbols = Object.getOwnPropertySymbols;\nvar __hasOwnProp = Object.prototype.hasOwnProperty;\nvar __propIsEnum = Object.prototype.propertyIsEnumerable;\nvar __defNormalProp = (obj, key, value) => key in obj ? __defProp(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;\nvar __spreadValues = (a, b) => {\n for (var prop in b || (b = {}))\n if (__hasOwnProp.call(b, prop))\n __defNormalProp(a, prop, b[prop]);\n if (__getOwnPropSymbols)\n for (var prop of __getOwnPropSymbols(b)) {\n if (__propIsEnum.call(b, prop))\n __defNormalProp(a, prop, b[prop]);\n }\n return a;\n};\nclass SceneObjectBase {\n constructor(state) {\n this._isActive = false;\n this._activationHandlers = [];\n this._deactivationHandlers = /* @__PURE__ */ new Map();\n this._subs = new Subscription();\n this._refCount = 0;\n if (!state.key) {\n state.key = v4();\n }\n this._events = new EventBusSrv();\n this._state = Object.freeze(state);\n this._setParent();\n }\n get state() {\n return this._state;\n }\n get isActive() {\n return this._isActive;\n }\n get parent() {\n return this._parent;\n }\n get variableDependency() {\n return this._variableDependency;\n }\n get urlSync() {\n return this._urlSync;\n }\n get Component() {\n return SceneComponentWrapper;\n }\n _setParent() {\n this.forEachChild((child) => {\n if (child._parent && child._parent !== this) {\n console.warn(\n \"SceneObject already has a parent set that is different from the new parent. You cannot share the same SceneObject instance in multiple scenes or in multiple different places of the same scene graph. Use SceneObject.clone() to duplicate a SceneObject or store a state key reference and use sceneGraph.findObject to locate it.\",\n child,\n this\n );\n }\n child._parent = this;\n });\n }\n subscribeToState(handler) {\n return this._events.subscribe(SceneObjectStateChangedEvent, (event) => {\n if (event.payload.changedObject === this) {\n handler(event.payload.newState, event.payload.prevState);\n }\n });\n }\n subscribeToEvent(eventType, handler) {\n return this._events.subscribe(eventType, handler);\n }\n setState(update) {\n const prevState = this._state;\n const newState = __spreadValues(__spreadValues({}, this._state), update);\n this._state = Object.freeze(newState);\n this._setParent();\n this._handleActivationOfChangedStateProps(prevState, newState);\n this.publishEvent(\n new SceneObjectStateChangedEvent({\n prevState,\n newState,\n partialUpdate: update,\n changedObject: this\n }),\n true\n );\n }\n _handleActivationOfChangedStateProps(prevState, newState) {\n if (!this.isActive) {\n return;\n }\n if (prevState.$data !== newState.$data) {\n this._handleChangedStateActivation(prevState.$data, newState.$data);\n }\n if (prevState.$variables !== newState.$variables) {\n this._handleChangedStateActivation(prevState.$variables, newState.$variables);\n }\n if (prevState.$timeRange !== newState.$timeRange) {\n this._handleChangedStateActivation(prevState.$timeRange, newState.$timeRange);\n }\n }\n _handleChangedStateActivation(oldValue, newValue) {\n if (oldValue) {\n const deactivationHandler = this._deactivationHandlers.get(oldValue);\n if (deactivationHandler) {\n deactivationHandler();\n this._deactivationHandlers.delete(oldValue);\n }\n }\n if (newValue) {\n this._deactivationHandlers.set(newValue, newValue.activate());\n }\n }\n publishEvent(event, bubble) {\n this._events.publish(event);\n if (bubble && this.parent) {\n this.parent.publishEvent(event, bubble);\n }\n }\n getRoot() {\n return !this._parent ? this : this._parent.getRoot();\n }\n _internalActivate() {\n this._isActive = true;\n const { $data, $variables, $timeRange, $behaviors } = this.state;\n if ($timeRange && !$timeRange.isActive) {\n this._deactivationHandlers.set($timeRange, $timeRange.activate());\n }\n if ($variables && !$variables.isActive) {\n this._deactivationHandlers.set($variables, $variables.activate());\n }\n if ($data && !$data.isActive) {\n this._deactivationHandlers.set($data, $data.activate());\n }\n if ($behaviors) {\n for (const behavior of $behaviors) {\n if (behavior instanceof SceneObjectBase) {\n this._deactivationHandlers.set(behavior, behavior.activate());\n } else if (typeof behavior === \"function\") {\n const deactivationHandler = behavior(this);\n if (deactivationHandler) {\n this._deactivationHandlers.set(behavior, deactivationHandler);\n }\n }\n }\n }\n this._activationHandlers.forEach((handler) => {\n const result = handler();\n if (result) {\n this._deactivationHandlers.set(result, result);\n }\n });\n }\n activate() {\n if (!this.isActive) {\n this._internalActivate();\n }\n this._refCount++;\n let called = false;\n return () => {\n this._refCount--;\n if (called) {\n const msg = `SceneObject cancelation handler returned by activate() called a second time`;\n console.error(msg, this);\n throw new Error(msg);\n }\n called = true;\n if (this._refCount === 0) {\n this._internalDeactivate();\n }\n };\n }\n _internalDeactivate() {\n this._isActive = false;\n for (let handler of this._deactivationHandlers.values()) {\n handler();\n }\n this._deactivationHandlers.clear();\n this._events.removeAllListeners();\n this._subs.unsubscribe();\n this._subs = new Subscription();\n }\n useState() {\n return useSceneObjectState(this);\n }\n forceRender() {\n this.setState({});\n }\n clone(withState) {\n return cloneSceneObject(this, withState);\n }\n addActivationHandler(handler) {\n this._activationHandlers.push(handler);\n }\n forEachChild(callback) {\n for (const propValue of Object.values(this.state)) {\n if (propValue instanceof SceneObjectBase) {\n callback(propValue);\n }\n if (Array.isArray(propValue)) {\n for (const child of propValue) {\n if (child instanceof SceneObjectBase) {\n callback(child);\n }\n }\n }\n }\n }\n getRef() {\n if (!this._ref) {\n this._ref = new SceneObjectRef(this);\n }\n return this._ref;\n }\n}\nfunction useSceneObjectState(model) {\n const [_, setState] = useState(model.state);\n const stateAtFirstRender = model.state;\n useEffect(() => {\n const s = model.subscribeToState(setState);\n if (model.state !== stateAtFirstRender) {\n setState(model.state);\n }\n return () => s.unsubscribe();\n }, [model]);\n return model.state;\n}\n\nexport { SceneObjectBase };\n//# sourceMappingURL=SceneObjectBase.js.map\n","import { SceneObjectBase } from '../SceneObjectBase.js';\nimport { SceneObjectRef } from '../SceneObjectRef.js';\n\nvar __defProp = Object.defineProperty;\nvar __getOwnPropSymbols = Object.getOwnPropertySymbols;\nvar __hasOwnProp = Object.prototype.hasOwnProperty;\nvar __propIsEnum = Object.prototype.propertyIsEnumerable;\nvar __defNormalProp = (obj, key, value) => key in obj ? __defProp(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;\nvar __spreadValues = (a, b) => {\n for (var prop in b || (b = {}))\n if (__hasOwnProp.call(b, prop))\n __defNormalProp(a, prop, b[prop]);\n if (__getOwnPropSymbols)\n for (var prop of __getOwnPropSymbols(b)) {\n if (__propIsEnum.call(b, prop))\n __defNormalProp(a, prop, b[prop]);\n }\n return a;\n};\nfunction cloneSceneObject(sceneObject, withState) {\n const clonedState = cloneSceneObjectState(sceneObject.state, withState);\n return new sceneObject.constructor(clonedState);\n}\nfunction cloneSceneObjectState(sceneState, withState) {\n const clonedState = __spreadValues({}, sceneState);\n for (const key in clonedState) {\n const propValue = clonedState[key];\n if (propValue instanceof SceneObjectBase) {\n clonedState[key] = propValue.clone();\n }\n if (propValue instanceof SceneObjectRef) {\n throw new Error(\"Cannot clone a SceneObject with a SceneObjectRef in state\");\n }\n if (Array.isArray(propValue)) {\n const newArray = [];\n for (const child of propValue) {\n if (child instanceof SceneObjectBase) {\n newArray.push(child.clone());\n } else {\n newArray.push(child);\n }\n }\n clonedState[key] = newArray;\n }\n }\n Object.assign(clonedState, withState);\n return clonedState;\n}\nfunction getClosest(sceneObject, extract) {\n let curSceneObject = sceneObject;\n let extracted = void 0;\n while (curSceneObject && !extracted) {\n extracted = extract(curSceneObject);\n curSceneObject = curSceneObject.parent;\n }\n return extracted;\n}\n\nexport { cloneSceneObject, cloneSceneObjectState, getClosest };\n//# sourceMappingURL=utils.js.map\n","import { DataSourceApi, PluginType } from '@grafana/data';\n\nclass RuntimeDataSource extends DataSourceApi {\n constructor(pluginId, uid) {\n super({\n name: \"RuntimeDataSource-\" + pluginId,\n uid,\n type: pluginId,\n id: 1,\n readOnly: true,\n jsonData: {},\n access: \"direct\",\n meta: {\n id: pluginId,\n name: \"RuntimeDataSource-\" + pluginId,\n type: PluginType.datasource,\n info: {\n author: {\n name: \"\"\n },\n description: \"\",\n links: [],\n logos: {\n large: \"\",\n small: \"\"\n },\n screenshots: [],\n updated: \"\",\n version: \"\"\n },\n module: \"\",\n baseUrl: \"\"\n }\n });\n }\n testDatasource() {\n return Promise.resolve({});\n }\n}\nconst runtimeDataSources = /* @__PURE__ */ new Map();\nfunction registerRuntimeDataSource({ dataSource }) {\n if (runtimeDataSources.has(dataSource.uid)) {\n throw new Error(`A runtime data source with uid ${dataSource.uid} has already been registered`);\n }\n runtimeDataSources.set(dataSource.uid, dataSource);\n}\n\nexport { RuntimeDataSource, registerRuntimeDataSource, runtimeDataSources };\n//# sourceMappingURL=RuntimeDataSource.js.map\n","const defaultAnnotationTarget = {\n tags: []\n};\nconst defaultAnnotationPanelFilter = {\n exclude: false,\n ids: []\n};\nconst defaultAnnotationContainer = {\n list: []\n};\nconst defaultAnnotationQuery = {\n enable: true,\n hide: false\n};\nconst defaultVariableModel = {\n id: \"00000000-0000-0000-0000-000000000000\",\n multi: false,\n options: [],\n skipUrlSync: false\n};\nvar VariableRefresh = /* @__PURE__ */ ((VariableRefresh2) => {\n VariableRefresh2[VariableRefresh2[\"never\"] = 0] = \"never\";\n VariableRefresh2[VariableRefresh2[\"onDashboardLoad\"] = 1] = \"onDashboardLoad\";\n VariableRefresh2[VariableRefresh2[\"onTimeRangeChanged\"] = 2] = \"onTimeRangeChanged\";\n return VariableRefresh2;\n})(VariableRefresh || {});\nvar VariableSort = /* @__PURE__ */ ((VariableSort2) => {\n VariableSort2[VariableSort2[\"alphabeticalAsc\"] = 1] = \"alphabeticalAsc\";\n VariableSort2[VariableSort2[\"alphabeticalCaseInsensitiveAsc\"] = 5] = \"alphabeticalCaseInsensitiveAsc\";\n VariableSort2[VariableSort2[\"alphabeticalCaseInsensitiveDesc\"] = 6] = \"alphabeticalCaseInsensitiveDesc\";\n VariableSort2[VariableSort2[\"alphabeticalDesc\"] = 2] = \"alphabeticalDesc\";\n VariableSort2[VariableSort2[\"disabled\"] = 0] = \"disabled\";\n VariableSort2[VariableSort2[\"numericalAsc\"] = 3] = \"numericalAsc\";\n VariableSort2[VariableSort2[\"numericalDesc\"] = 4] = \"numericalDesc\";\n return VariableSort2;\n})(VariableSort || {});\nvar LoadingState = /* @__PURE__ */ ((LoadingState2) => {\n LoadingState2[\"Done\"] = \"Done\";\n LoadingState2[\"Error\"] = \"Error\";\n LoadingState2[\"Loading\"] = \"Loading\";\n LoadingState2[\"NotStarted\"] = \"NotStarted\";\n LoadingState2[\"Streaming\"] = \"Streaming\";\n return LoadingState2;\n})(LoadingState || {});\nconst defaultDashboardLink = {\n asDropdown: false,\n includeVars: false,\n keepTime: false,\n tags: [],\n targetBlank: false\n};\nvar FieldColorModeId = /* @__PURE__ */ ((FieldColorModeId2) => {\n FieldColorModeId2[\"ContinuousBlPu\"] = \"continuous-BlPu\";\n FieldColorModeId2[\"ContinuousBlYlRd\"] = \"continuous-BlYlRd\";\n FieldColorModeId2[\"ContinuousBlues\"] = \"continuous-blues\";\n FieldColorModeId2[\"ContinuousGrYlRd\"] = \"continuous-GrYlRd\";\n FieldColorModeId2[\"ContinuousGreens\"] = \"continuous-greens\";\n FieldColorModeId2[\"ContinuousPurples\"] = \"continuous-purples\";\n FieldColorModeId2[\"ContinuousRdYlGr\"] = \"continuous-RdYlGr\";\n FieldColorModeId2[\"ContinuousReds\"] = \"continuous-reds\";\n FieldColorModeId2[\"ContinuousYlBl\"] = \"continuous-YlBl\";\n FieldColorModeId2[\"ContinuousYlRd\"] = \"continuous-YlRd\";\n FieldColorModeId2[\"Fixed\"] = \"fixed\";\n FieldColorModeId2[\"PaletteClassic\"] = \"palette-classic\";\n FieldColorModeId2[\"PaletteClassicByName\"] = \"palette-classic-by-name\";\n FieldColorModeId2[\"Shades\"] = \"shades\";\n FieldColorModeId2[\"Thresholds\"] = \"thresholds\";\n return FieldColorModeId2;\n})(FieldColorModeId || {});\nconst defaultGridPos = {\n h: 9,\n w: 12,\n x: 0,\n y: 0\n};\nvar ThresholdsMode = /* @__PURE__ */ ((ThresholdsMode2) => {\n ThresholdsMode2[\"Absolute\"] = \"absolute\";\n ThresholdsMode2[\"Percentage\"] = \"percentage\";\n return ThresholdsMode2;\n})(ThresholdsMode || {});\nconst defaultThresholdsConfig = {\n steps: []\n};\nvar MappingType = /* @__PURE__ */ ((MappingType2) => {\n MappingType2[\"RangeToText\"] = \"range\";\n MappingType2[\"RegexToText\"] = \"regex\";\n MappingType2[\"SpecialValue\"] = \"special\";\n MappingType2[\"ValueToText\"] = \"value\";\n return MappingType2;\n})(MappingType || {});\nvar SpecialValueMatch = /* @__PURE__ */ ((SpecialValueMatch2) => {\n SpecialValueMatch2[\"Empty\"] = \"empty\";\n SpecialValueMatch2[\"False\"] = \"false\";\n SpecialValueMatch2[\"NaN\"] = \"nan\";\n SpecialValueMatch2[\"Null\"] = \"null\";\n SpecialValueMatch2[\"NullAndNan\"] = \"null+nan\";\n SpecialValueMatch2[\"True\"] = \"true\";\n return SpecialValueMatch2;\n})(SpecialValueMatch || {});\nvar DashboardCursorSync = /* @__PURE__ */ ((DashboardCursorSync2) => {\n DashboardCursorSync2[DashboardCursorSync2[\"Crosshair\"] = 1] = \"Crosshair\";\n DashboardCursorSync2[DashboardCursorSync2[\"Off\"] = 0] = \"Off\";\n DashboardCursorSync2[DashboardCursorSync2[\"Tooltip\"] = 2] = \"Tooltip\";\n return DashboardCursorSync2;\n})(DashboardCursorSync || {});\nconst defaultDashboardCursorSync = 0 /* Off */;\nconst defaultPanel = {\n links: [],\n repeatDirection: \"h\",\n tags: [],\n targets: [],\n transformations: [],\n transparent: false\n};\nconst defaultFieldConfigSource = {\n overrides: []\n};\nconst defaultMatcherConfig = {\n id: \"\"\n};\nconst defaultFieldConfig = {\n links: [],\n mappings: []\n};\nconst defaultRowPanel = {\n collapsed: false,\n panels: []\n};\nconst defaultDashboard = {\n editable: true,\n fiscalYearStartMonth: 0,\n graphTooltip: 0 /* Off */,\n links: [],\n panels: [],\n schemaVersion: 36,\n style: \"dark\",\n tags: [],\n timezone: \"browser\"\n};\n\nexport { DashboardCursorSync, FieldColorModeId, LoadingState, MappingType, SpecialValueMatch, ThresholdsMode, VariableRefresh, VariableSort, defaultAnnotationContainer, defaultAnnotationPanelFilter, defaultAnnotationQuery, defaultAnnotationTarget, defaultDashboard, defaultDashboardCursorSync, defaultDashboardLink, defaultFieldConfig, defaultFieldConfigSource, defaultGridPos, defaultMatcherConfig, defaultPanel, defaultRowPanel, defaultThresholdsConfig, defaultVariableModel };\n//# sourceMappingURL=dashboard_types.gen.js.map\n","import { getDefaultTimeRange } from '@grafana/data';\nimport { LoadingState } from '@grafana/schema';\nimport { of } from 'rxjs';\nimport { SceneObjectBase } from './SceneObjectBase.js';\n\nvar __defProp = Object.defineProperty;\nvar __getOwnPropSymbols = Object.getOwnPropertySymbols;\nvar __hasOwnProp = Object.prototype.hasOwnProperty;\nvar __propIsEnum = Object.prototype.propertyIsEnumerable;\nvar __defNormalProp = (obj, key, value) => key in obj ? __defProp(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;\nvar __spreadValues = (a, b) => {\n for (var prop in b || (b = {}))\n if (__hasOwnProp.call(b, prop))\n __defNormalProp(a, prop, b[prop]);\n if (__getOwnPropSymbols)\n for (var prop of __getOwnPropSymbols(b)) {\n if (__propIsEnum.call(b, prop))\n __defNormalProp(a, prop, b[prop]);\n }\n return a;\n};\nclass SceneDataNode extends SceneObjectBase {\n constructor(state) {\n super(__spreadValues({\n data: emptyPanelData\n }, state));\n }\n getResultsStream() {\n const result = {\n origin: this,\n data: this.state.data\n };\n return of(result);\n }\n}\nconst emptyPanelData = {\n state: LoadingState.Done,\n series: [],\n timeRange: getDefaultTimeRange()\n};\n\nexport { SceneDataNode, emptyPanelData };\n//# sourceMappingURL=SceneDataNode.js.map\n","class SceneObjectUrlSyncConfig {\n constructor(_sceneObject, _options) {\n this._sceneObject = _sceneObject;\n this._keys = _options.keys;\n }\n getKeys() {\n return this._keys;\n }\n getUrlState() {\n return this._sceneObject.getUrlState();\n }\n updateFromUrl(values) {\n this._sceneObject.updateFromUrl(values);\n }\n}\n\nexport { SceneObjectUrlSyncConfig };\n//# sourceMappingURL=SceneObjectUrlSyncConfig.js.map\n","import { toUtc } from '@grafana/data';\n\nconst INTERVAL_STRING_REGEX = /^\\d+[yYmMsSwWhHdD]$/;\nfunction parseUrlParam(value) {\n if (typeof value !== \"string\") {\n return null;\n }\n if (value.indexOf(\"now\") !== -1) {\n return value;\n }\n if (INTERVAL_STRING_REGEX.test(value)) {\n return value;\n }\n if (value.length === 8) {\n const utcValue = toUtc(value, \"YYYYMMDD\");\n if (utcValue.isValid()) {\n return utcValue.toISOString();\n }\n } else if (value.length === 15) {\n const utcValue = toUtc(value, \"YYYYMMDDTHHmmss\");\n if (utcValue.isValid()) {\n return utcValue.toISOString();\n }\n } else if (value.length === 24) {\n const utcValue = toUtc(value);\n return utcValue.toISOString();\n }\n const epoch = parseInt(value, 10);\n if (!isNaN(epoch)) {\n return toUtc(epoch).toISOString();\n }\n return null;\n}\n\nexport { parseUrlParam };\n//# sourceMappingURL=parseUrlParam.js.map\n","import { dateMath } from '@grafana/data';\n\nfunction evaluateTimeRange(from, to, timeZone, fiscalYearStartMonth) {\n return {\n from: dateMath.parse(from, false, timeZone, fiscalYearStartMonth),\n to: dateMath.parse(to, true, timeZone, fiscalYearStartMonth),\n raw: {\n from,\n to\n }\n };\n}\n\nexport { evaluateTimeRange };\n//# sourceMappingURL=evaluateTimeRange.js.map\n","import { getTimeZone, setWeekStart } from '@grafana/data';\nimport { SceneObjectUrlSyncConfig } from '../services/SceneObjectUrlSyncConfig.js';\nimport { SceneObjectBase } from './SceneObjectBase.js';\nimport { getClosest } from './sceneGraph/utils.js';\nimport { parseUrlParam } from '../utils/parseUrlParam.js';\nimport { evaluateTimeRange } from '../utils/evaluateTimeRange.js';\nimport { config } from '@grafana/runtime';\n\nvar __defProp = Object.defineProperty;\nvar __getOwnPropSymbols = Object.getOwnPropertySymbols;\nvar __hasOwnProp = Object.prototype.hasOwnProperty;\nvar __propIsEnum = Object.prototype.propertyIsEnumerable;\nvar __defNormalProp = (obj, key, value) => key in obj ? __defProp(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;\nvar __spreadValues = (a, b) => {\n for (var prop in b || (b = {}))\n if (__hasOwnProp.call(b, prop))\n __defNormalProp(a, prop, b[prop]);\n if (__getOwnPropSymbols)\n for (var prop of __getOwnPropSymbols(b)) {\n if (__propIsEnum.call(b, prop))\n __defNormalProp(a, prop, b[prop]);\n }\n return a;\n};\nclass SceneTimeRange extends SceneObjectBase {\n constructor(state = {}) {\n var _a, _b;\n const from = (_a = state.from) != null ? _a : \"now-6h\";\n const to = (_b = state.to) != null ? _b : \"now\";\n const timeZone = state.timeZone;\n const value = evaluateTimeRange(from, to, timeZone || getTimeZone(), state.fiscalYearStartMonth);\n super(__spreadValues({ from, to, timeZone, value }, state));\n this._urlSync = new SceneObjectUrlSyncConfig(this, { keys: [\"from\", \"to\"] });\n this.onTimeRangeChange = (timeRange) => {\n const update = {};\n const updateToEval = {};\n if (typeof timeRange.raw.from === \"string\") {\n update.from = timeRange.raw.from;\n updateToEval.from = timeRange.raw.from;\n } else {\n update.from = timeRange.raw.from.toISOString();\n updateToEval.from = timeRange.raw.from.toISOString(true);\n }\n if (typeof timeRange.raw.to === \"string\") {\n update.to = timeRange.raw.to;\n updateToEval.to = timeRange.raw.to;\n } else {\n update.to = timeRange.raw.to.toISOString();\n updateToEval.to = timeRange.raw.to.toISOString(true);\n }\n update.value = evaluateTimeRange(\n updateToEval.from,\n updateToEval.to,\n this.getTimeZone(),\n this.state.fiscalYearStartMonth\n );\n if (update.from !== this.state.from || update.to !== this.state.to) {\n this.setState(update);\n }\n };\n this.onTimeZoneChange = (timeZone) => {\n this.setState({ timeZone });\n };\n this.onRefresh = () => {\n this.setState({\n value: evaluateTimeRange(this.state.from, this.state.to, this.getTimeZone(), this.state.fiscalYearStartMonth)\n });\n };\n this.addActivationHandler(this._onActivate.bind(this));\n }\n _onActivate() {\n if (!this.state.timeZone) {\n const timeZoneSource = this.getTimeZoneSource();\n if (timeZoneSource !== this) {\n this._subs.add(\n timeZoneSource.subscribeToState((n, p) => {\n if (n.timeZone !== void 0 && n.timeZone !== p.timeZone) {\n this.setState({\n value: evaluateTimeRange(\n this.state.from,\n this.state.to,\n timeZoneSource.getTimeZone(),\n this.state.fiscalYearStartMonth\n )\n });\n }\n })\n );\n }\n }\n if (this.state.weekStart) {\n setWeekStart(this.state.weekStart);\n }\n return () => {\n if (this.state.weekStart) {\n setWeekStart(config.bootData.user.weekStart);\n }\n };\n }\n getTimeZoneSource() {\n if (!this.parent || !this.parent.parent) {\n return this;\n }\n const source = getClosest(this.parent.parent, (o) => {\n if (o.state.$timeRange && o.state.$timeRange.state.timeZone) {\n return o.state.$timeRange;\n }\n return void 0;\n });\n if (!source) {\n return this;\n }\n return source;\n }\n getTimeZone() {\n if (this.state.timeZone) {\n return this.state.timeZone;\n }\n const timeZoneSource = this.getTimeZoneSource();\n if (timeZoneSource !== this) {\n return timeZoneSource.state.timeZone;\n }\n return getTimeZone();\n }\n getUrlState() {\n return { from: this.state.from, to: this.state.to };\n }\n updateFromUrl(values) {\n var _a, _b;\n if (!values.to && !values.from) {\n return;\n }\n const update = {};\n const from = parseUrlParam(values.from);\n if (from) {\n update.from = from;\n }\n const to = parseUrlParam(values.to);\n if (to) {\n update.to = to;\n }\n update.value = evaluateTimeRange(\n (_a = update.from) != null ? _a : this.state.from,\n (_b = update.to) != null ? _b : this.state.to,\n this.getTimeZone(),\n this.state.fiscalYearStartMonth\n );\n this.setState(update);\n }\n}\n\nexport { SceneTimeRange };\n//# sourceMappingURL=SceneTimeRange.js.map\n","import { SceneDataNode } from '../../core/SceneDataNode.js';\nimport { SceneObjectBase } from '../../core/SceneObjectBase.js';\nimport { SceneTimeRange } from '../../core/SceneTimeRange.js';\n\nconst EmptyDataNode = new SceneDataNode();\nconst DefaultTimeRange = new SceneTimeRange();\nclass EmptyVariableSetImpl extends SceneObjectBase {\n constructor() {\n super({ variables: [] });\n }\n getByName(name) {\n return void 0;\n }\n isVariableLoadingOrWaitingToUpdate(variable) {\n return false;\n }\n}\nconst EmptyVariableSet = new EmptyVariableSetImpl();\n\nexport { DefaultTimeRange, EmptyDataNode, EmptyVariableSet, EmptyVariableSetImpl };\n//# sourceMappingURL=defaults.js.map\n","import { DefaultTimeRange } from '../../variables/interpolation/defaults.js';\nimport { getClosest } from './utils.js';\n\nfunction getTimeRange(sceneObject) {\n var _a;\n return (_a = getClosest(sceneObject, (s) => s.state.$timeRange)) != null ? _a : DefaultTimeRange;\n}\n\nexport { getTimeRange };\n//# sourceMappingURL=getTimeRange.js.map\n","var ScaleDimensionMode = /* @__PURE__ */ ((ScaleDimensionMode2) => {\n ScaleDimensionMode2[\"Linear\"] = \"linear\";\n ScaleDimensionMode2[\"Quad\"] = \"quad\";\n return ScaleDimensionMode2;\n})(ScaleDimensionMode || {});\nvar ScalarDimensionMode = /* @__PURE__ */ ((ScalarDimensionMode2) => {\n ScalarDimensionMode2[\"Clamped\"] = \"clamped\";\n ScalarDimensionMode2[\"Mod\"] = \"mod\";\n return ScalarDimensionMode2;\n})(ScalarDimensionMode || {});\nvar TextDimensionMode = /* @__PURE__ */ ((TextDimensionMode2) => {\n TextDimensionMode2[\"Field\"] = \"field\";\n TextDimensionMode2[\"Fixed\"] = \"fixed\";\n TextDimensionMode2[\"Template\"] = \"template\";\n return TextDimensionMode2;\n})(TextDimensionMode || {});\nvar ResourceDimensionMode = /* @__PURE__ */ ((ResourceDimensionMode2) => {\n ResourceDimensionMode2[\"Field\"] = \"field\";\n ResourceDimensionMode2[\"Fixed\"] = \"fixed\";\n ResourceDimensionMode2[\"Mapping\"] = \"mapping\";\n return ResourceDimensionMode2;\n})(ResourceDimensionMode || {});\nvar FrameGeometrySourceMode = /* @__PURE__ */ ((FrameGeometrySourceMode2) => {\n FrameGeometrySourceMode2[\"Auto\"] = \"auto\";\n FrameGeometrySourceMode2[\"Coords\"] = \"coords\";\n FrameGeometrySourceMode2[\"Geohash\"] = \"geohash\";\n FrameGeometrySourceMode2[\"Lookup\"] = \"lookup\";\n return FrameGeometrySourceMode2;\n})(FrameGeometrySourceMode || {});\nvar HeatmapCalculationMode = /* @__PURE__ */ ((HeatmapCalculationMode2) => {\n HeatmapCalculationMode2[\"Count\"] = \"count\";\n HeatmapCalculationMode2[\"Size\"] = \"size\";\n return HeatmapCalculationMode2;\n})(HeatmapCalculationMode || {});\nvar HeatmapCellLayout = /* @__PURE__ */ ((HeatmapCellLayout2) => {\n HeatmapCellLayout2[\"auto\"] = \"auto\";\n HeatmapCellLayout2[\"ge\"] = \"ge\";\n HeatmapCellLayout2[\"le\"] = \"le\";\n HeatmapCellLayout2[\"unknown\"] = \"unknown\";\n return HeatmapCellLayout2;\n})(HeatmapCellLayout || {});\nvar LogsSortOrder = /* @__PURE__ */ ((LogsSortOrder2) => {\n LogsSortOrder2[\"Ascending\"] = \"Ascending\";\n LogsSortOrder2[\"Descending\"] = \"Descending\";\n return LogsSortOrder2;\n})(LogsSortOrder || {});\nvar AxisPlacement = /* @__PURE__ */ ((AxisPlacement2) => {\n AxisPlacement2[\"Auto\"] = \"auto\";\n AxisPlacement2[\"Bottom\"] = \"bottom\";\n AxisPlacement2[\"Hidden\"] = \"hidden\";\n AxisPlacement2[\"Left\"] = \"left\";\n AxisPlacement2[\"Right\"] = \"right\";\n AxisPlacement2[\"Top\"] = \"top\";\n return AxisPlacement2;\n})(AxisPlacement || {});\nvar AxisColorMode = /* @__PURE__ */ ((AxisColorMode2) => {\n AxisColorMode2[\"Series\"] = \"series\";\n AxisColorMode2[\"Text\"] = \"text\";\n return AxisColorMode2;\n})(AxisColorMode || {});\nvar VisibilityMode = /* @__PURE__ */ ((VisibilityMode2) => {\n VisibilityMode2[\"Always\"] = \"always\";\n VisibilityMode2[\"Auto\"] = \"auto\";\n VisibilityMode2[\"Never\"] = \"never\";\n return VisibilityMode2;\n})(VisibilityMode || {});\nvar GraphDrawStyle = /* @__PURE__ */ ((GraphDrawStyle2) => {\n GraphDrawStyle2[\"Bars\"] = \"bars\";\n GraphDrawStyle2[\"Line\"] = \"line\";\n GraphDrawStyle2[\"Points\"] = \"points\";\n return GraphDrawStyle2;\n})(GraphDrawStyle || {});\nvar GraphTransform = /* @__PURE__ */ ((GraphTransform2) => {\n GraphTransform2[\"Constant\"] = \"constant\";\n GraphTransform2[\"NegativeY\"] = \"negative-Y\";\n return GraphTransform2;\n})(GraphTransform || {});\nvar LineInterpolation = /* @__PURE__ */ ((LineInterpolation2) => {\n LineInterpolation2[\"Linear\"] = \"linear\";\n LineInterpolation2[\"Smooth\"] = \"smooth\";\n LineInterpolation2[\"StepAfter\"] = \"stepAfter\";\n LineInterpolation2[\"StepBefore\"] = \"stepBefore\";\n return LineInterpolation2;\n})(LineInterpolation || {});\nvar ScaleDistribution = /* @__PURE__ */ ((ScaleDistribution2) => {\n ScaleDistribution2[\"Linear\"] = \"linear\";\n ScaleDistribution2[\"Log\"] = \"log\";\n ScaleDistribution2[\"Ordinal\"] = \"ordinal\";\n ScaleDistribution2[\"Symlog\"] = \"symlog\";\n return ScaleDistribution2;\n})(ScaleDistribution || {});\nvar GraphGradientMode = /* @__PURE__ */ ((GraphGradientMode2) => {\n GraphGradientMode2[\"Hue\"] = \"hue\";\n GraphGradientMode2[\"None\"] = \"none\";\n GraphGradientMode2[\"Opacity\"] = \"opacity\";\n GraphGradientMode2[\"Scheme\"] = \"scheme\";\n return GraphGradientMode2;\n})(GraphGradientMode || {});\nvar StackingMode = /* @__PURE__ */ ((StackingMode2) => {\n StackingMode2[\"None\"] = \"none\";\n StackingMode2[\"Normal\"] = \"normal\";\n StackingMode2[\"Percent\"] = \"percent\";\n return StackingMode2;\n})(StackingMode || {});\nvar BarAlignment = /* @__PURE__ */ ((BarAlignment2) => {\n BarAlignment2[BarAlignment2[\"After\"] = 1] = \"After\";\n BarAlignment2[BarAlignment2[\"Before\"] = -1] = \"Before\";\n BarAlignment2[BarAlignment2[\"Center\"] = 0] = \"Center\";\n return BarAlignment2;\n})(BarAlignment || {});\nvar ScaleOrientation = /* @__PURE__ */ ((ScaleOrientation2) => {\n ScaleOrientation2[ScaleOrientation2[\"Horizontal\"] = 0] = \"Horizontal\";\n ScaleOrientation2[ScaleOrientation2[\"Vertical\"] = 1] = \"Vertical\";\n return ScaleOrientation2;\n})(ScaleOrientation || {});\nvar ScaleDirection = /* @__PURE__ */ ((ScaleDirection2) => {\n ScaleDirection2[ScaleDirection2[\"Down\"] = -1] = \"Down\";\n ScaleDirection2[ScaleDirection2[\"Left\"] = -1] = \"Left\";\n ScaleDirection2[ScaleDirection2[\"Right\"] = 1] = \"Right\";\n ScaleDirection2[ScaleDirection2[\"Up\"] = 1] = \"Up\";\n return ScaleDirection2;\n})(ScaleDirection || {});\nconst defaultLineStyle = {\n dash: []\n};\nvar GraphTresholdsStyleMode = /* @__PURE__ */ ((GraphTresholdsStyleMode2) => {\n GraphTresholdsStyleMode2[\"Area\"] = \"area\";\n GraphTresholdsStyleMode2[\"Dashed\"] = \"dashed\";\n GraphTresholdsStyleMode2[\"DashedAndArea\"] = \"dashed+area\";\n GraphTresholdsStyleMode2[\"Line\"] = \"line\";\n GraphTresholdsStyleMode2[\"LineAndArea\"] = \"line+area\";\n GraphTresholdsStyleMode2[\"Off\"] = \"off\";\n GraphTresholdsStyleMode2[\"Series\"] = \"series\";\n return GraphTresholdsStyleMode2;\n})(GraphTresholdsStyleMode || {});\nvar LegendDisplayMode = /* @__PURE__ */ ((LegendDisplayMode2) => {\n LegendDisplayMode2[\"Hidden\"] = \"hidden\";\n LegendDisplayMode2[\"List\"] = \"list\";\n LegendDisplayMode2[\"Table\"] = \"table\";\n return LegendDisplayMode2;\n})(LegendDisplayMode || {});\nconst defaultReduceDataOptions = {\n calcs: []\n};\nvar VizOrientation = /* @__PURE__ */ ((VizOrientation2) => {\n VizOrientation2[\"Auto\"] = \"auto\";\n VizOrientation2[\"Horizontal\"] = \"horizontal\";\n VizOrientation2[\"Vertical\"] = \"vertical\";\n return VizOrientation2;\n})(VizOrientation || {});\nconst defaultOptionsWithTimezones = {\n timezone: []\n};\nvar BigValueColorMode = /* @__PURE__ */ ((BigValueColorMode2) => {\n BigValueColorMode2[\"Background\"] = \"background\";\n BigValueColorMode2[\"BackgroundSolid\"] = \"background_solid\";\n BigValueColorMode2[\"None\"] = \"none\";\n BigValueColorMode2[\"Value\"] = \"value\";\n return BigValueColorMode2;\n})(BigValueColorMode || {});\nvar BigValueGraphMode = /* @__PURE__ */ ((BigValueGraphMode2) => {\n BigValueGraphMode2[\"Area\"] = \"area\";\n BigValueGraphMode2[\"Line\"] = \"line\";\n BigValueGraphMode2[\"None\"] = \"none\";\n return BigValueGraphMode2;\n})(BigValueGraphMode || {});\nvar BigValueJustifyMode = /* @__PURE__ */ ((BigValueJustifyMode2) => {\n BigValueJustifyMode2[\"Auto\"] = \"auto\";\n BigValueJustifyMode2[\"Center\"] = \"center\";\n return BigValueJustifyMode2;\n})(BigValueJustifyMode || {});\nvar BigValueTextMode = /* @__PURE__ */ ((BigValueTextMode2) => {\n BigValueTextMode2[\"Auto\"] = \"auto\";\n BigValueTextMode2[\"Name\"] = \"name\";\n BigValueTextMode2[\"None\"] = \"none\";\n BigValueTextMode2[\"Value\"] = \"value\";\n BigValueTextMode2[\"ValueAndName\"] = \"value_and_name\";\n return BigValueTextMode2;\n})(BigValueTextMode || {});\nvar TooltipDisplayMode = /* @__PURE__ */ ((TooltipDisplayMode2) => {\n TooltipDisplayMode2[\"Multi\"] = \"multi\";\n TooltipDisplayMode2[\"None\"] = \"none\";\n TooltipDisplayMode2[\"Single\"] = \"single\";\n return TooltipDisplayMode2;\n})(TooltipDisplayMode || {});\nvar SortOrder = /* @__PURE__ */ ((SortOrder2) => {\n SortOrder2[\"Ascending\"] = \"asc\";\n SortOrder2[\"Descending\"] = \"desc\";\n SortOrder2[\"None\"] = \"none\";\n return SortOrder2;\n})(SortOrder || {});\nconst defaultVizLegendOptions = {\n calcs: []\n};\nvar BarGaugeDisplayMode = /* @__PURE__ */ ((BarGaugeDisplayMode2) => {\n BarGaugeDisplayMode2[\"Basic\"] = \"basic\";\n BarGaugeDisplayMode2[\"Gradient\"] = \"gradient\";\n BarGaugeDisplayMode2[\"Lcd\"] = \"lcd\";\n return BarGaugeDisplayMode2;\n})(BarGaugeDisplayMode || {});\nvar BarGaugeValueMode = /* @__PURE__ */ ((BarGaugeValueMode2) => {\n BarGaugeValueMode2[\"Color\"] = \"color\";\n BarGaugeValueMode2[\"Hidden\"] = \"hidden\";\n BarGaugeValueMode2[\"Text\"] = \"text\";\n return BarGaugeValueMode2;\n})(BarGaugeValueMode || {});\nvar TableCellDisplayMode = /* @__PURE__ */ ((TableCellDisplayMode2) => {\n TableCellDisplayMode2[\"Auto\"] = \"auto\";\n TableCellDisplayMode2[\"BasicGauge\"] = \"basic\";\n TableCellDisplayMode2[\"ColorBackground\"] = \"color-background\";\n TableCellDisplayMode2[\"ColorBackgroundSolid\"] = \"color-background-solid\";\n TableCellDisplayMode2[\"ColorText\"] = \"color-text\";\n TableCellDisplayMode2[\"Gauge\"] = \"gauge\";\n TableCellDisplayMode2[\"GradientGauge\"] = \"gradient-gauge\";\n TableCellDisplayMode2[\"Image\"] = \"image\";\n TableCellDisplayMode2[\"JSONView\"] = \"json-view\";\n TableCellDisplayMode2[\"LcdGauge\"] = \"lcd-gauge\";\n TableCellDisplayMode2[\"Sparkline\"] = \"sparkline\";\n return TableCellDisplayMode2;\n})(TableCellDisplayMode || {});\nvar TableCellBackgroundDisplayMode = /* @__PURE__ */ ((TableCellBackgroundDisplayMode2) => {\n TableCellBackgroundDisplayMode2[\"Basic\"] = \"basic\";\n TableCellBackgroundDisplayMode2[\"Gradient\"] = \"gradient\";\n return TableCellBackgroundDisplayMode2;\n})(TableCellBackgroundDisplayMode || {});\nconst defaultTableFooterOptions = {\n fields: [],\n reducer: []\n};\nvar TableCellHeight = /* @__PURE__ */ ((TableCellHeight2) => {\n TableCellHeight2[\"Lg\"] = \"lg\";\n TableCellHeight2[\"Md\"] = \"md\";\n TableCellHeight2[\"Sm\"] = \"sm\";\n return TableCellHeight2;\n})(TableCellHeight || {});\nvar VariableFormatID = /* @__PURE__ */ ((VariableFormatID2) => {\n VariableFormatID2[\"CSV\"] = \"csv\";\n VariableFormatID2[\"Date\"] = \"date\";\n VariableFormatID2[\"Distributed\"] = \"distributed\";\n VariableFormatID2[\"DoubleQuote\"] = \"doublequote\";\n VariableFormatID2[\"Glob\"] = \"glob\";\n VariableFormatID2[\"HTML\"] = \"html\";\n VariableFormatID2[\"JSON\"] = \"json\";\n VariableFormatID2[\"Lucene\"] = \"lucene\";\n VariableFormatID2[\"PercentEncode\"] = \"percentencode\";\n VariableFormatID2[\"Pipe\"] = \"pipe\";\n VariableFormatID2[\"QueryParam\"] = \"queryparam\";\n VariableFormatID2[\"Raw\"] = \"raw\";\n VariableFormatID2[\"Regex\"] = \"regex\";\n VariableFormatID2[\"SQLString\"] = \"sqlstring\";\n VariableFormatID2[\"SingleQuote\"] = \"singlequote\";\n VariableFormatID2[\"Text\"] = \"text\";\n VariableFormatID2[\"UriEncode\"] = \"uriencode\";\n return VariableFormatID2;\n})(VariableFormatID || {});\nvar LogsDedupStrategy = /* @__PURE__ */ ((LogsDedupStrategy2) => {\n LogsDedupStrategy2[\"exact\"] = \"exact\";\n LogsDedupStrategy2[\"none\"] = \"none\";\n LogsDedupStrategy2[\"numbers\"] = \"numbers\";\n LogsDedupStrategy2[\"signature\"] = \"signature\";\n return LogsDedupStrategy2;\n})(LogsDedupStrategy || {});\nvar ComparisonOperation = /* @__PURE__ */ ((ComparisonOperation2) => {\n ComparisonOperation2[\"EQ\"] = \"eq\";\n ComparisonOperation2[\"GT\"] = \"gt\";\n ComparisonOperation2[\"GTE\"] = \"gte\";\n ComparisonOperation2[\"LT\"] = \"lt\";\n ComparisonOperation2[\"LTE\"] = \"lte\";\n ComparisonOperation2[\"NEQ\"] = \"neq\";\n return ComparisonOperation2;\n})(ComparisonOperation || {});\nconst defaultTimeZone = \"browser\";\n\nexport { AxisColorMode, AxisPlacement, BarAlignment, BarGaugeDisplayMode, BarGaugeValueMode, BigValueColorMode, BigValueGraphMode, BigValueJustifyMode, BigValueTextMode, ComparisonOperation, FrameGeometrySourceMode, GraphDrawStyle, GraphGradientMode, GraphTransform, GraphTresholdsStyleMode, HeatmapCalculationMode, HeatmapCellLayout, LegendDisplayMode, LineInterpolation, LogsDedupStrategy, LogsSortOrder, ResourceDimensionMode, ScalarDimensionMode, ScaleDimensionMode, ScaleDirection, ScaleDistribution, ScaleOrientation, SortOrder, StackingMode, TableCellBackgroundDisplayMode, TableCellDisplayMode, TableCellHeight, TextDimensionMode, TooltipDisplayMode, VariableFormatID, VisibilityMode, VizOrientation, defaultLineStyle, defaultOptionsWithTimezones, defaultReduceDataOptions, defaultTableFooterOptions, defaultTimeZone, defaultVizLegendOptions };\n//# sourceMappingURL=common.gen.js.map\n","import { BusEventWithPayload } from '@grafana/data';\n\nclass SceneVariableValueChangedEvent extends BusEventWithPayload {\n}\nSceneVariableValueChangedEvent.type = \"scene-variable-changed-value\";\nfunction isCustomVariableValue(value) {\n return typeof value === \"object\" && \"formatter\" in value;\n}\n\nexport { SceneVariableValueChangedEvent, isCustomVariableValue };\n//# sourceMappingURL=types.js.map\n","import { property } from 'lodash';\n\nlet fieldAccessorCache = {};\nfunction getFieldAccessor(fieldPath) {\n const accessor = fieldAccessorCache[fieldPath];\n if (accessor) {\n return accessor;\n }\n return fieldAccessorCache[fieldPath] = property(fieldPath);\n}\n\nexport { getFieldAccessor };\n//# sourceMappingURL=fieldAccessorCache.js.map\n","import { getFieldAccessor } from './fieldAccessorCache.js';\n\nclass ScopedVarsVariable {\n constructor(name, value) {\n this.state = { name, value, type: \"scopedvar\" };\n }\n getValue(fieldPath) {\n let { value } = this.state;\n let realValue = value.value;\n if (fieldPath) {\n realValue = getFieldAccessor(fieldPath)(value.value);\n } else {\n realValue = value.value;\n }\n if (realValue === \"string\" || realValue === \"number\" || realValue === \"boolean\") {\n return realValue;\n }\n return String(realValue);\n }\n getValueText() {\n const { value } = this.state;\n if (value.text != null) {\n return String(value.text);\n }\n return String(value);\n }\n}\nlet scopedVarsVariable;\nfunction getSceneVariableForScopedVar(name, value) {\n if (!scopedVarsVariable) {\n scopedVarsVariable = new ScopedVarsVariable(name, value);\n } else {\n scopedVarsVariable.state.name = name;\n scopedVarsVariable.state.value = value;\n }\n return scopedVarsVariable;\n}\n\nexport { ScopedVarsVariable, getSceneVariableForScopedVar };\n//# sourceMappingURL=ScopedVarsVariable.js.map\n","import { map, isArray, replace } from 'lodash';\nimport { Registry, escapeRegex, textUtil, dateTime } from '@grafana/data';\nimport { VariableFormatID } from '@grafana/schema';\n\nconst formatRegistry = new Registry(() => {\n const formats = [\n {\n id: VariableFormatID.Lucene,\n name: \"Lucene\",\n description: \"Values are lucene escaped and multi-valued variables generate an OR expression\",\n formatter: (value) => {\n if (typeof value === \"string\") {\n return luceneEscape(value);\n }\n if (Array.isArray(value)) {\n if (value.length === 0) {\n return \"__empty__\";\n }\n const quotedValues = map(value, (val) => {\n return '\"' + luceneEscape(val) + '\"';\n });\n return \"(\" + quotedValues.join(\" OR \") + \")\";\n } else {\n return luceneEscape(`${value}`);\n }\n }\n },\n {\n id: VariableFormatID.Raw,\n name: \"raw\",\n description: \"Keep value as is\",\n formatter: (value) => String(value)\n },\n {\n id: VariableFormatID.Regex,\n name: \"Regex\",\n description: \"Values are regex escaped and multi-valued variables generate a (|) expression\",\n formatter: (value) => {\n if (typeof value === \"string\") {\n return escapeRegex(value);\n }\n if (Array.isArray(value)) {\n const escapedValues = value.map((item) => {\n if (typeof item === \"string\") {\n return escapeRegex(item);\n } else {\n return escapeRegex(String(item));\n }\n });\n if (escapedValues.length === 1) {\n return escapedValues[0];\n }\n return \"(\" + escapedValues.join(\"|\") + \")\";\n }\n return escapeRegex(`${value}`);\n }\n },\n {\n id: VariableFormatID.Pipe,\n name: \"Pipe\",\n description: \"Values are separated by | character\",\n formatter: (value) => {\n if (typeof value === \"string\") {\n return value;\n }\n if (Array.isArray(value)) {\n return value.join(\"|\");\n }\n return `${value}`;\n }\n },\n {\n id: VariableFormatID.Distributed,\n name: \"Distributed\",\n description: \"Multiple values are formatted like variable=value\",\n formatter: (value, args, variable) => {\n if (typeof value === \"string\") {\n return value;\n }\n if (Array.isArray(value)) {\n value = map(value, (val, index) => {\n if (index !== 0) {\n return variable.state.name + \"=\" + val;\n } else {\n return val;\n }\n });\n return value.join(\",\");\n }\n return `${value}`;\n }\n },\n {\n id: VariableFormatID.CSV,\n name: \"Csv\",\n description: \"Comma-separated values\",\n formatter: (value) => {\n if (typeof value === \"string\") {\n return value;\n }\n if (isArray(value)) {\n return value.join(\",\");\n }\n return String(value);\n }\n },\n {\n id: VariableFormatID.HTML,\n name: \"HTML\",\n description: \"HTML escaping of values\",\n formatter: (value) => {\n if (typeof value === \"string\") {\n return textUtil.escapeHtml(value);\n }\n if (isArray(value)) {\n return textUtil.escapeHtml(value.join(\", \"));\n }\n return textUtil.escapeHtml(String(value));\n }\n },\n {\n id: VariableFormatID.JSON,\n name: \"JSON\",\n description: \"JSON stringify value\",\n formatter: (value) => {\n if (typeof value === \"string\") {\n return value;\n }\n return JSON.stringify(value);\n }\n },\n {\n id: VariableFormatID.PercentEncode,\n name: \"Percent encode\",\n description: \"Useful for URL escaping values\",\n formatter: (value) => {\n if (isArray(value)) {\n return encodeURIComponentStrict(\"{\" + value.join(\",\") + \"}\");\n }\n return encodeURIComponentStrict(value);\n }\n },\n {\n id: VariableFormatID.SingleQuote,\n name: \"Single quote\",\n description: \"Single quoted values\",\n formatter: (value) => {\n const regExp = new RegExp(`'`, \"g\");\n if (isArray(value)) {\n return map(value, (v) => `'${replace(v, regExp, `\\\\'`)}'`).join(\",\");\n }\n let strVal = typeof value === \"string\" ? value : String(value);\n return `'${replace(strVal, regExp, `\\\\'`)}'`;\n }\n },\n {\n id: VariableFormatID.DoubleQuote,\n name: \"Double quote\",\n description: \"Double quoted values\",\n formatter: (value) => {\n const regExp = new RegExp('\"', \"g\");\n if (isArray(value)) {\n return map(value, (v) => `\"${replace(v, regExp, '\\\\\"')}\"`).join(\",\");\n }\n let strVal = typeof value === \"string\" ? value : String(value);\n return `\"${replace(strVal, regExp, '\\\\\"')}\"`;\n }\n },\n {\n id: VariableFormatID.SQLString,\n name: \"SQL string\",\n description: \"SQL string quoting and commas for use in IN statements and other scenarios\",\n formatter: sqlStringFormatter\n },\n {\n id: VariableFormatID.Date,\n name: \"Date\",\n description: \"Format date in different ways\",\n formatter: (value, args) => {\n var _a;\n let nrValue = NaN;\n if (typeof value === \"number\") {\n nrValue = value;\n } else if (typeof value === \"string\") {\n nrValue = parseInt(value, 10);\n }\n if (isNaN(nrValue)) {\n return \"NaN\";\n }\n const arg = (_a = args[0]) != null ? _a : \"iso\";\n switch (arg) {\n case \"ms\":\n return String(value);\n case \"seconds\":\n return `${Math.round(nrValue / 1e3)}`;\n case \"iso\":\n return dateTime(nrValue).toISOString();\n default:\n if ((args || []).length > 1) {\n return dateTime(nrValue).format(args.join(\":\"));\n }\n return dateTime(nrValue).format(arg);\n }\n }\n },\n {\n id: VariableFormatID.Glob,\n name: \"Glob\",\n description: \"Format multi-valued variables using glob syntax, example {value1,value2}\",\n formatter: (value) => {\n if (isArray(value) && value.length > 1) {\n return \"{\" + value.join(\",\") + \"}\";\n }\n return String(value);\n }\n },\n {\n id: VariableFormatID.Text,\n name: \"Text\",\n description: \"Format variables in their text representation. Example in multi-variable scenario A + B + C.\",\n formatter: (value, _args, variable) => {\n if (variable.getValueText) {\n return variable.getValueText();\n }\n return String(value);\n }\n },\n {\n id: VariableFormatID.QueryParam,\n name: \"Query parameter\",\n description: \"Format variables as URL parameters. Example in multi-variable scenario A + B + C => var-foo=A&var-foo=B&var-foo=C.\",\n formatter: (value, _args, variable) => {\n if (Array.isArray(value)) {\n return value.map((v) => formatQueryParameter(variable.state.name, v)).join(\"&\");\n }\n return formatQueryParameter(variable.state.name, value);\n }\n },\n {\n id: VariableFormatID.UriEncode,\n name: \"Percent encode as URI\",\n description: \"Useful for URL escaping values, taking into URI syntax characters\",\n formatter: (value) => {\n if (isArray(value)) {\n return encodeURIStrict(\"{\" + value.join(\",\") + \"}\");\n }\n return encodeURIStrict(value);\n }\n }\n ];\n return formats;\n});\nfunction luceneEscape(value) {\n if (isNaN(+value) === false) {\n return value;\n }\n return value.replace(/([\\!\\*\\+\\-\\=<>\\s\\&\\|\\(\\)\\[\\]\\{\\}\\^\\~\\?\\:\\\\/\"])/g, \"\\\\$1\");\n}\nfunction encodeURIComponentStrict(str) {\n if (typeof str === \"object\") {\n str = String(str);\n }\n return replaceSpecialCharactersToASCII(encodeURIComponent(str));\n}\nconst encodeURIStrict = (str) => replaceSpecialCharactersToASCII(encodeURI(String(str)));\nconst replaceSpecialCharactersToASCII = (value) => value.replace(/[!'()*]/g, (c) => {\n return \"%\" + c.charCodeAt(0).toString(16).toUpperCase();\n});\nfunction formatQueryParameter(name, value) {\n return `var-${name}=${encodeURIComponentStrict(value)}`;\n}\nconst SQL_ESCAPE_MAP = {\n \"'\": \"''\",\n '\"': '\\\\\"'\n};\nfunction sqlStringFormatter(value) {\n const regExp = new RegExp(`'|\"`, \"g\");\n if (isArray(value)) {\n return map(value, (v) => `'${replace(v, regExp, (match) => {\n var _a;\n return (_a = SQL_ESCAPE_MAP[match]) != null ? _a : \"\";\n })}'`).join(\",\");\n }\n let strVal = typeof value === \"string\" ? value : String(value);\n return `'${replace(strVal, regExp, (match) => {\n var _a;\n return (_a = SQL_ESCAPE_MAP[match]) != null ? _a : \"\";\n })}'`;\n}\n\nexport { formatRegistry };\n//# sourceMappingURL=formatRegistry.js.map\n","const ALL_VARIABLE_TEXT = \"All\";\nconst ALL_VARIABLE_VALUE = \"$__all\";\nconst AUTO_VARIABLE_TEXT = \"Auto\";\nconst AUTO_VARIABLE_VALUE = \"$__auto\";\nconst VARIABLE_REGEX = /\\$(\\w+)|\\[\\[(\\w+?)(?::(\\w+))?\\]\\]|\\${(\\w+)(?:\\.([^:^\\}]+))?(?::([^\\}]+))?}/g;\nconst SEARCH_FILTER_VARIABLE = \"__searchFilter\";\n\nexport { ALL_VARIABLE_TEXT, ALL_VARIABLE_VALUE, AUTO_VARIABLE_TEXT, AUTO_VARIABLE_VALUE, SEARCH_FILTER_VARIABLE, VARIABLE_REGEX };\n//# sourceMappingURL=constants.js.map\n","function lookupVariable(name, sceneObject) {\n const variables = sceneObject.state.$variables;\n if (!variables) {\n if (sceneObject.parent) {\n return lookupVariable(name, sceneObject.parent);\n } else {\n return null;\n }\n }\n const found = variables.getByName(name);\n if (found) {\n return found;\n } else if (sceneObject.parent) {\n return lookupVariable(name, sceneObject.parent);\n }\n return null;\n}\n\nexport { lookupVariable };\n//# sourceMappingURL=lookupVariable.js.map\n","import { SceneObjectBase } from '../core/SceneObjectBase.js';\n\nclass SceneDataLayers extends SceneObjectBase {\n constructor(state) {\n super(state);\n this.addActivationHandler(() => this._onActivate());\n }\n _onActivate() {\n const { layers } = this.state;\n const deactivationHandlers = [];\n for (const layer of layers) {\n deactivationHandlers.push(layer.activate());\n }\n return () => {\n deactivationHandlers.forEach((handler) => handler());\n };\n }\n}\n\nexport { SceneDataLayers };\n//# sourceMappingURL=SceneDataLayers.js.map\n","import { EmptyVariableSet, EmptyDataNode } from '../../variables/interpolation/defaults.js';\nimport { sceneInterpolator } from '../../variables/interpolation/sceneInterpolator.js';\nimport { lookupVariable } from '../../variables/lookupVariable.js';\nimport { getClosest } from './utils.js';\nimport { SceneDataLayers } from '../../querying/SceneDataLayers.js';\n\nfunction getVariables(sceneObject) {\n var _a;\n return (_a = getClosest(sceneObject, (s) => s.state.$variables)) != null ? _a : EmptyVariableSet;\n}\nfunction getData(sceneObject) {\n var _a;\n return (_a = getClosest(sceneObject, (s) => s.state.$data)) != null ? _a : EmptyDataNode;\n}\nfunction isSceneLayout(s) {\n return \"isDraggable\" in s;\n}\nfunction getLayout(scene) {\n const parent = getClosest(scene, (s) => isSceneLayout(s) ? s : void 0);\n if (parent) {\n return parent;\n }\n return null;\n}\nfunction interpolate(sceneObject, value, scopedVars, format) {\n if (value === \"\" || value == null) {\n return \"\";\n }\n return sceneInterpolator(sceneObject, value, scopedVars, format);\n}\nfunction hasVariableDependencyInLoadingState(sceneObject) {\n if (!sceneObject.variableDependency) {\n return false;\n }\n for (const name of sceneObject.variableDependency.getNames()) {\n const variable = lookupVariable(name, sceneObject);\n if (!variable) {\n continue;\n }\n const set = variable.parent;\n if (set.isVariableLoadingOrWaitingToUpdate(variable)) {\n return true;\n }\n }\n return false;\n}\nfunction findObjectInternal(scene, check, alreadySearchedChild, shouldSearchUp) {\n if (check(scene)) {\n return scene;\n }\n let found = null;\n scene.forEachChild((child) => {\n if (child === alreadySearchedChild) {\n return;\n }\n let maybe = findObjectInternal(child, check);\n if (maybe) {\n found = maybe;\n }\n });\n if (found) {\n return found;\n }\n if (shouldSearchUp && scene.parent) {\n return findObjectInternal(scene.parent, check, scene, true);\n }\n return null;\n}\nfunction findObject(scene, check) {\n return findObjectInternal(scene, check, void 0, true);\n}\nfunction getDataLayers(sceneObject, localOnly = false) {\n let parent = sceneObject;\n let collected = [];\n let source;\n while (parent) {\n if (parent.state.$data && !(parent.state.$data instanceof SceneDataLayers)) {\n if (parent.state.$data.state.$data instanceof SceneDataLayers) {\n source = parent.state.$data.state.$data;\n }\n }\n if (parent.state.$data && parent.state.$data instanceof SceneDataLayers) {\n source = parent.state.$data;\n }\n if (source) {\n collected = collected.concat(source.state.layers);\n if (localOnly) {\n break;\n }\n }\n parent = parent.parent;\n }\n return collected;\n}\nfunction getAncestor(sceneObject, ancestorType) {\n let parent = sceneObject;\n while (parent) {\n if (parent instanceof ancestorType) {\n return parent;\n }\n parent = parent.parent;\n }\n throw new Error(\"Unable to find parent of type \" + ancestorType.name);\n}\n\nexport { findObject, getAncestor, getData, getDataLayers, getLayout, getVariables, hasVariableDependencyInLoadingState, interpolate };\n//# sourceMappingURL=sceneGraph.js.map\n","class SkipFormattingValue {\n constructor(_value) {\n this._value = _value;\n }\n formatter() {\n return this._value;\n }\n}\n\nexport { SkipFormattingValue };\n//# sourceMappingURL=types.js.map\n","import { urlUtil, dateTimeFormat } from '@grafana/data';\nimport { getTimeRange } from '../../core/sceneGraph/getTimeRange.js';\nimport { getData } from '../../core/sceneGraph/sceneGraph.js';\nimport { SkipFormattingValue } from './types.js';\n\nclass UrlTimeRangeMacro {\n constructor(name, sceneObject) {\n this.state = { name, type: \"url_variable\" };\n this._sceneObject = sceneObject;\n }\n getValue() {\n var _a;\n const timeRange = getTimeRange(this._sceneObject);\n const urlState = (_a = timeRange.urlSync) == null ? void 0 : _a.getUrlState();\n return new SkipFormattingValue(urlUtil.toUrlParams(urlState));\n }\n getValueText() {\n return \"\";\n }\n}\nclass TimeFromAndToMacro {\n constructor(name, sceneObject) {\n this.state = { name, type: \"time_macro\" };\n this._sceneObject = sceneObject;\n }\n getValue() {\n const timeRange = getTimeRange(this._sceneObject);\n if (this.state.name === \"__from\") {\n return timeRange.state.value.from.valueOf();\n } else {\n return timeRange.state.value.to.valueOf();\n }\n }\n getValueText() {\n const timeRange = getTimeRange(this._sceneObject);\n if (this.state.name === \"__from\") {\n return dateTimeFormat(timeRange.state.value.from, { timeZone: timeRange.getTimeZone() });\n } else {\n return dateTimeFormat(timeRange.state.value.to, { timeZone: timeRange.getTimeZone() });\n }\n }\n}\nclass TimezoneMacro {\n constructor(name, sceneObject) {\n this.state = { name, type: \"time_macro\" };\n this._sceneObject = sceneObject;\n }\n getValue() {\n const timeRange = getTimeRange(this._sceneObject);\n return timeRange.getTimeZone();\n }\n getValueText() {\n return this.getValue();\n }\n}\nclass IntervalMacro {\n constructor(name, sceneObject) {\n this.state = { name, type: \"time_macro\" };\n this._sceneObject = sceneObject;\n }\n getValue() {\n var _a;\n const data = getData(this._sceneObject);\n if (data) {\n const request = (_a = data.state.data) == null ? void 0 : _a.request;\n if (!request) {\n return `\\${${this.state.name}}`;\n }\n if (this.state.name === \"__interval_ms\") {\n return request.intervalMs;\n }\n return request.interval;\n }\n return `\\${${this.state.name}}`;\n }\n}\n\nexport { IntervalMacro, TimeFromAndToMacro, TimezoneMacro, UrlTimeRangeMacro };\n//# sourceMappingURL=timeMacros.js.map\n","import { isCustomVariableValue } from '../types.js';\nimport { formatRegistry } from '../interpolation/formatRegistry.js';\nimport { SkipFormattingValue } from './types.js';\nimport { VariableFormatID } from '@grafana/schema';\n\nclass AllVariablesMacro {\n constructor(name, sceneObject) {\n this.state = { name, type: \"url_variable\" };\n this._sceneObject = sceneObject;\n }\n getValue() {\n const allVars = collectAllVariables(this._sceneObject);\n const format = formatRegistry.get(VariableFormatID.QueryParam);\n const params = [];\n for (const name of Object.keys(allVars)) {\n const variable = allVars[name];\n const value = variable.getValue();\n if (!value) {\n continue;\n }\n if (isCustomVariableValue(value)) {\n params.push(value.formatter(VariableFormatID.QueryParam));\n } else {\n params.push(format.formatter(value, [], variable));\n }\n }\n return new SkipFormattingValue(params.join(\"&\"));\n }\n getValueText() {\n return \"\";\n }\n}\nfunction collectAllVariables(sceneObject, record = {}) {\n if (sceneObject.state.$variables) {\n for (const variable of sceneObject.state.$variables.state.variables) {\n if (variable.state.skipUrlSync) {\n continue;\n }\n if (!record[variable.state.name]) {\n record[variable.state.name] = variable;\n }\n }\n }\n if (sceneObject.parent) {\n collectAllVariables(sceneObject.parent, record);\n }\n return record;\n}\n\nexport { AllVariablesMacro };\n//# sourceMappingURL=AllVariablesMacro.js.map\n","import { getFieldDisplayName, formatLabels } from '@grafana/data';\n\nvar __defProp = Object.defineProperty;\nvar __defProps = Object.defineProperties;\nvar __getOwnPropDescs = Object.getOwnPropertyDescriptors;\nvar __getOwnPropSymbols = Object.getOwnPropertySymbols;\nvar __hasOwnProp = Object.prototype.hasOwnProperty;\nvar __propIsEnum = Object.prototype.propertyIsEnumerable;\nvar __defNormalProp = (obj, key, value) => key in obj ? __defProp(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;\nvar __spreadValues = (a, b) => {\n for (var prop in b || (b = {}))\n if (__hasOwnProp.call(b, prop))\n __defNormalProp(a, prop, b[prop]);\n if (__getOwnPropSymbols)\n for (var prop of __getOwnPropSymbols(b)) {\n if (__propIsEnum.call(b, prop))\n __defNormalProp(a, prop, b[prop]);\n }\n return a;\n};\nvar __spreadProps = (a, b) => __defProps(a, __getOwnPropDescs(b));\nfunction getTemplateProxyForField(field, frame, frames) {\n return new Proxy(\n {},\n {\n get: (obj, key) => {\n if (key === \"name\") {\n return field.name;\n }\n if (key === \"displayName\") {\n return getFieldDisplayName(field, frame, frames);\n }\n if (key === \"labels\" || key === \"formattedLabels\") {\n if (!field.labels) {\n return \"\";\n }\n return __spreadProps(__spreadValues({}, field.labels), {\n __values: Object.values(field.labels).sort().join(\", \"),\n toString: () => {\n return formatLabels(field.labels, \"\", true);\n }\n });\n }\n return void 0;\n }\n }\n );\n}\n\nexport { getTemplateProxyForField };\n//# sourceMappingURL=templateProxies.js.map\n","import { getDisplayProcessor, formattedValueToString, FieldType, getFieldDisplayValuesProxy, getFrameDisplayName } from '@grafana/data';\nimport { getFieldAccessor } from '../interpolation/fieldAccessorCache.js';\nimport { getTemplateProxyForField } from './templateProxies.js';\n\nclass ValueMacro {\n constructor(name, sceneObject, _match, _scopedVars) {\n this._match = _match;\n this._scopedVars = _scopedVars;\n this.state = { name, type: \"__value\" };\n }\n getValue(fieldPath) {\n var _a, _b;\n const dataContext = (_a = this._scopedVars) == null ? void 0 : _a.__dataContext;\n if (!dataContext) {\n return this._match;\n }\n const { frame, rowIndex, field, calculatedValue } = dataContext.value;\n if (calculatedValue) {\n switch (fieldPath) {\n case \"numeric\":\n return calculatedValue.numeric;\n case \"raw\":\n return calculatedValue.numeric;\n case \"time\":\n return \"\";\n case \"text\":\n default:\n return formattedValueToString(calculatedValue);\n }\n }\n if (rowIndex == null) {\n return this._match;\n }\n if (fieldPath === \"time\") {\n const timeField = frame.fields.find((f) => f.type === FieldType.time);\n return timeField ? timeField.values.get(rowIndex) : void 0;\n }\n if (!field) {\n return this._match;\n }\n const value = field.values.get(rowIndex);\n if (fieldPath === \"raw\") {\n return value;\n }\n const displayProcessor = (_b = field.display) != null ? _b : fallbackDisplayProcessor;\n const result = displayProcessor(value);\n switch (fieldPath) {\n case \"numeric\":\n return result.numeric;\n case \"text\":\n default:\n return formattedValueToString(result);\n }\n }\n getValueText() {\n return \"\";\n }\n}\nconst fallbackDisplayProcessor = getDisplayProcessor();\nclass DataMacro {\n constructor(name, sceneObject, _match, _scopedVars) {\n this._match = _match;\n this._scopedVars = _scopedVars;\n this.state = { name, type: \"__data\" };\n }\n getValue(fieldPath) {\n var _a, _b;\n const dataContext = (_a = this._scopedVars) == null ? void 0 : _a.__dataContext;\n if (!dataContext || !fieldPath) {\n return this._match;\n }\n const { frame, rowIndex } = dataContext.value;\n if (rowIndex === void 0 || fieldPath === void 0) {\n return this._match;\n }\n const obj = {\n name: frame.name,\n refId: frame.refId,\n fields: getFieldDisplayValuesProxy({ frame, rowIndex })\n };\n return (_b = getFieldAccessor(fieldPath)(obj)) != null ? _b : \"\";\n }\n getValueText() {\n return \"\";\n }\n}\nclass SeriesMacro {\n constructor(name, sceneObject, _match, _scopedVars) {\n this._match = _match;\n this._scopedVars = _scopedVars;\n this.state = { name, type: \"__series\" };\n }\n getValue(fieldPath) {\n var _a;\n const dataContext = (_a = this._scopedVars) == null ? void 0 : _a.__dataContext;\n if (!dataContext || !fieldPath) {\n return this._match;\n }\n if (fieldPath !== \"name\") {\n return this._match;\n }\n const { frame, frameIndex } = dataContext.value;\n return getFrameDisplayName(frame, frameIndex);\n }\n getValueText() {\n return \"\";\n }\n}\nclass FieldMacro {\n constructor(name, sceneObject, _match, _scopedVars) {\n this._match = _match;\n this._scopedVars = _scopedVars;\n this.state = { name, type: \"__field\" };\n }\n getValue(fieldPath) {\n var _a, _b;\n const dataContext = (_a = this._scopedVars) == null ? void 0 : _a.__dataContext;\n if (!dataContext || !fieldPath) {\n return this._match;\n }\n if (fieldPath === void 0 || fieldPath === \"\") {\n return this._match;\n }\n const { frame, field, data } = dataContext.value;\n const obj = getTemplateProxyForField(field, frame, data);\n return (_b = getFieldAccessor(fieldPath)(obj)) != null ? _b : \"\";\n }\n getValueText() {\n return \"\";\n }\n}\n\nexport { DataMacro, FieldMacro, SeriesMacro, ValueMacro };\n//# sourceMappingURL=dataMacros.js.map\n","import { locationService, config } from '@grafana/runtime';\n\nclass UrlMacro {\n constructor(name, _) {\n this.state = { name, type: \"url_macro\" };\n }\n getValue(fieldPath) {\n var _a;\n const location = locationService.getLocation();\n const subUrl = (_a = config.appSubUrl) != null ? _a : \"\";\n switch (fieldPath != null ? fieldPath : \"\") {\n case \"params\":\n return new UrlStateFormatter(location.search);\n case \"path\":\n return subUrl + location.pathname;\n case \"\":\n default:\n return subUrl + location.pathname + location.search;\n }\n }\n getValueText() {\n return \"\";\n }\n}\nclass UrlStateFormatter {\n constructor(_urlQueryParams) {\n this._urlQueryParams = _urlQueryParams;\n }\n formatter(options) {\n if (!options) {\n return this._urlQueryParams;\n }\n const params = options.split(\":\");\n if (params[0] === \"exclude\" && params.length > 1) {\n const allParams = new URLSearchParams(this._urlQueryParams);\n for (const param of params[1].split(\",\")) {\n allParams.delete(param);\n }\n return `?${allParams}`;\n }\n if (params[0] === \"include\" && params.length > 1) {\n const allParams = new URLSearchParams(this._urlQueryParams);\n const includeOnly = params[1].split(\",\");\n for (const param of allParams.keys()) {\n if (!includeOnly.includes(param)) {\n allParams.delete(param);\n }\n }\n return `?${allParams}`;\n }\n return this._urlQueryParams;\n }\n}\n\nexport { UrlMacro };\n//# sourceMappingURL=urlMacros.js.map\n","import { DataLinkBuiltInVars } from '@grafana/data';\nimport { UrlTimeRangeMacro, TimeFromAndToMacro, TimezoneMacro, IntervalMacro } from './timeMacros.js';\nimport { AllVariablesMacro } from './AllVariablesMacro.js';\nimport { ValueMacro, DataMacro, SeriesMacro, FieldMacro } from './dataMacros.js';\nimport { UrlMacro } from './urlMacros.js';\nimport { UserMacro, OrgMacro } from './contextMacros.js';\n\nconst macrosIndex = {\n [DataLinkBuiltInVars.includeVars]: AllVariablesMacro,\n [DataLinkBuiltInVars.keepTime]: UrlTimeRangeMacro,\n [\"__value\"]: ValueMacro,\n [\"__data\"]: DataMacro,\n [\"__series\"]: SeriesMacro,\n [\"__field\"]: FieldMacro,\n [\"__url\"]: UrlMacro,\n [\"__from\"]: TimeFromAndToMacro,\n [\"__to\"]: TimeFromAndToMacro,\n [\"__timezone\"]: TimezoneMacro,\n [\"__user\"]: UserMacro,\n [\"__org\"]: OrgMacro,\n [\"__interval\"]: IntervalMacro,\n [\"__interval_ms\"]: IntervalMacro\n};\nfunction registerVariableMacro(name, macro) {\n if (macrosIndex[name]) {\n throw new Error(`Macro already registered ${name}`);\n }\n macrosIndex[name] = macro;\n return () => {\n delete macrosIndex[name];\n };\n}\n\nexport { macrosIndex, registerVariableMacro };\n//# sourceMappingURL=index.js.map\n","import { config } from '@grafana/runtime';\n\nclass UserMacro {\n constructor(name, _) {\n this.state = { name, type: \"user_macro\" };\n }\n getValue(fieldPath) {\n const user = config.bootData.user;\n switch (fieldPath) {\n case \"login\":\n return user.login;\n case \"email\":\n return user.email;\n case \"id\":\n default:\n return String(user.id);\n }\n }\n getValueText() {\n return \"\";\n }\n}\nclass OrgMacro {\n constructor(name, _) {\n this.state = { name, type: \"org_macro\" };\n }\n getValue(fieldPath) {\n const user = config.bootData.user;\n switch (fieldPath) {\n case \"name\":\n return user.orgName;\n case \"id\":\n default:\n return String(user.orgId);\n }\n }\n getValueText() {\n return \"\";\n }\n}\n\nexport { OrgMacro, UserMacro };\n//# sourceMappingURL=contextMacros.js.map\n","import { lookupVariable } from '../../variables/lookupVariable.js';\nimport { getTimeRange } from './getTimeRange.js';\nimport { getVariables, getData, getLayout, getDataLayers, interpolate, hasVariableDependencyInLoadingState, findObject, getAncestor } from './sceneGraph.js';\n\nconst sceneGraph = {\n getVariables,\n getData,\n getTimeRange,\n getLayout,\n getDataLayers,\n interpolate,\n lookupVariable,\n hasVariableDependencyInLoadingState,\n findObject,\n getAncestor\n};\n\nexport { sceneGraph };\n//# sourceMappingURL=index.js.map\n","import { VariableFormatID } from '@grafana/schema';\nimport { isCustomVariableValue } from '../types.js';\nimport { getSceneVariableForScopedVar } from './ScopedVarsVariable.js';\nimport { formatRegistry } from './formatRegistry.js';\nimport { VARIABLE_REGEX } from '../constants.js';\nimport { lookupVariable } from '../lookupVariable.js';\nimport { macrosIndex } from '../macros/index.js';\n\nfunction sceneInterpolator(sceneObject, target, scopedVars, format) {\n if (!target) {\n return target != null ? target : \"\";\n }\n VARIABLE_REGEX.lastIndex = 0;\n return target.replace(VARIABLE_REGEX, (match, var1, var2, fmt2, var3, fieldPath, fmt3) => {\n const variableName = var1 || var2 || var3;\n const fmt = fmt2 || fmt3 || format;\n const variable = lookupFormatVariable(variableName, match, scopedVars, sceneObject);\n if (!variable) {\n return match;\n }\n return formatValue(variable, variable.getValue(fieldPath), fmt);\n });\n}\nfunction lookupFormatVariable(name, match, scopedVars, sceneObject) {\n const scopedVar = scopedVars == null ? void 0 : scopedVars[name];\n if (scopedVar) {\n return getSceneVariableForScopedVar(name, scopedVar);\n }\n const variable = lookupVariable(name, sceneObject);\n if (variable) {\n return variable;\n }\n if (macrosIndex[name]) {\n return new macrosIndex[name](name, sceneObject, match, scopedVars);\n }\n return null;\n}\nfunction formatValue(variable, value, formatNameOrFn) {\n if (value === null || value === void 0) {\n return \"\";\n }\n if (isCustomVariableValue(value)) {\n return value.formatter(formatNameOrFn);\n }\n if (!Array.isArray(value) && typeof value === \"object\") {\n value = `${value}`;\n }\n if (typeof formatNameOrFn === \"function\") {\n return formatNameOrFn(value, {\n name: variable.state.name,\n type: variable.state.type,\n multi: variable.state.isMulti,\n includeAll: variable.state.includeAll\n });\n }\n let args = [];\n if (!formatNameOrFn) {\n formatNameOrFn = VariableFormatID.Glob;\n } else {\n args = formatNameOrFn.split(\":\");\n if (args.length > 1) {\n formatNameOrFn = args[0];\n args = args.slice(1);\n } else {\n args = [];\n }\n }\n let formatter = formatRegistry.getIfExists(formatNameOrFn);\n if (!formatter) {\n console.error(`Variable format ${formatNameOrFn} not found. Using glob format as fallback.`);\n formatter = formatRegistry.get(VariableFormatID.Glob);\n }\n return formatter.formatter(value, args, variable);\n}\n\nexport { sceneInterpolator };\n//# sourceMappingURL=sceneInterpolator.js.map\n","import { isEqual } from 'lodash';\n\nfunction isVariableValueEqual(a, b) {\n if (a === b) {\n return true;\n }\n return isEqual(a, b);\n}\nfunction safeStringifyValue(value) {\n try {\n return JSON.stringify(value, null);\n } catch (error) {\n console.error(error);\n }\n return \"\";\n}\n\nexport { isVariableValueEqual, safeStringifyValue };\n//# sourceMappingURL=utils.js.map\n","import { VARIABLE_REGEX } from './constants.js';\nimport { safeStringifyValue } from './utils.js';\n\nclass VariableDependencyConfig {\n constructor(_sceneObject, _options) {\n this._sceneObject = _sceneObject;\n this._options = _options;\n this._dependencies = /* @__PURE__ */ new Set();\n this.scanCount = 0;\n this.defaultHandlerReferencedVariableValueChanged = () => {\n this._sceneObject.forceRender();\n };\n this._statePaths = _options.statePaths;\n }\n hasDependencyOn(name) {\n return this.getNames().has(name);\n }\n variableUpdatesCompleted(changedVariables) {\n const deps = this.getNames();\n let dependencyChanged = false;\n for (const variable of changedVariables) {\n if (deps.has(variable.state.name)) {\n dependencyChanged = true;\n break;\n }\n }\n if (this._options.onVariableUpdatesCompleted) {\n this._options.onVariableUpdatesCompleted(changedVariables, dependencyChanged);\n return;\n }\n if (dependencyChanged) {\n if (this._options.onReferencedVariableValueChanged) {\n this._options.onReferencedVariableValueChanged();\n } else {\n this.defaultHandlerReferencedVariableValueChanged();\n }\n }\n }\n getNames() {\n const prevState = this._state;\n const newState = this._state = this._sceneObject.state;\n if (!prevState) {\n this.scanStateForDependencies(this._state);\n return this._dependencies;\n }\n if (newState !== prevState) {\n if (this._statePaths) {\n for (const path of this._statePaths) {\n if (newState[path] !== prevState[path]) {\n this.scanStateForDependencies(newState);\n break;\n }\n }\n } else {\n this.scanStateForDependencies(newState);\n }\n }\n return this._dependencies;\n }\n setPaths(paths) {\n this._statePaths = paths;\n }\n scanStateForDependencies(state) {\n this._dependencies.clear();\n this.scanCount += 1;\n if (this._options.variableNames) {\n for (const name of this._options.variableNames) {\n this._dependencies.add(name);\n }\n } else {\n if (this._statePaths) {\n for (const path of this._statePaths) {\n const value = state[path];\n if (value) {\n this.extractVariablesFrom(value);\n }\n }\n } else {\n this.extractVariablesFrom(state);\n }\n }\n }\n extractVariablesFrom(value) {\n VARIABLE_REGEX.lastIndex = 0;\n const stringToCheck = typeof value !== \"string\" ? safeStringifyValue(value) : value;\n const matches = stringToCheck.matchAll(VARIABLE_REGEX);\n if (!matches) {\n return;\n }\n for (const match of matches) {\n const [, var1, var2, , var3] = match;\n const variableName = var1 || var2 || var3;\n this._dependencies.add(variableName);\n }\n }\n}\n\nexport { VariableDependencyConfig };\n//# sourceMappingURL=VariableDependencyConfig.js.map\n","import { DashboardCursorSync } from '@grafana/schema';\nimport { Observable } from 'rxjs';\nimport { sceneGraph } from '../core/sceneGraph/index.js';\nimport { SceneObjectBase } from '../core/SceneObjectBase.js';\n\nvar __defProp = Object.defineProperty;\nvar __defProps = Object.defineProperties;\nvar __getOwnPropDescs = Object.getOwnPropertyDescriptors;\nvar __getOwnPropSymbols = Object.getOwnPropertySymbols;\nvar __hasOwnProp = Object.prototype.hasOwnProperty;\nvar __propIsEnum = Object.prototype.propertyIsEnumerable;\nvar __defNormalProp = (obj, key, value) => key in obj ? __defProp(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;\nvar __spreadValues = (a, b) => {\n for (var prop in b || (b = {}))\n if (__hasOwnProp.call(b, prop))\n __defNormalProp(a, prop, b[prop]);\n if (__getOwnPropSymbols)\n for (var prop of __getOwnPropSymbols(b)) {\n if (__propIsEnum.call(b, prop))\n __defNormalProp(a, prop, b[prop]);\n }\n return a;\n};\nvar __spreadProps = (a, b) => __defProps(a, __getOwnPropDescs(b));\nclass CursorSync extends SceneObjectBase {\n constructor(state) {\n super(__spreadProps(__spreadValues({}, state), {\n sync: state.sync || DashboardCursorSync.Off\n }));\n this.getEventsBus = (panel) => {\n if (!this.parent) {\n throw new Error(\"EnableCursorSync cannot be used as a standalone scene object\");\n }\n return new PanelContextEventBus(this.parent, panel);\n };\n }\n getEventsScope() {\n if (!this.parent) {\n throw new Error(\"EnableCursorSync cannot be used as a standalone scene object\");\n }\n return this.state.key;\n }\n}\nclass PanelContextEventBus {\n constructor(_source, _eventsOrigin) {\n this._source = _source;\n this._eventsOrigin = _eventsOrigin;\n }\n publish(event) {\n event.origin = this;\n this._eventsOrigin.publishEvent(event, true);\n }\n getStream(eventType) {\n return new Observable((observer) => {\n const handler = (event) => {\n observer.next(event);\n };\n const sub = this._source.subscribeToEvent(eventType, handler);\n return () => sub.unsubscribe();\n });\n }\n subscribe(eventType, handler) {\n return this.getStream(eventType).pipe().subscribe(handler);\n }\n removeAllListeners() {\n }\n newScopedBus(key, filter) {\n throw new Error(\"For internal use only\");\n }\n}\nfunction getCursorSyncScope(sceneObject) {\n return sceneGraph.findObject(sceneObject, (o) => o instanceof CursorSync);\n}\n\nexport { CursorSync, getCursorSyncScope };\n//# sourceMappingURL=CursorSync.js.map\n","import { getDataSourceSrv } from '@grafana/runtime';\nimport { runtimeDataSources } from '../querying/RuntimeDataSource.js';\n\nasync function getDataSource(datasource, scopedVars) {\n if (datasource == null ? void 0 : datasource.uid) {\n const runtimeDataSource = runtimeDataSources.get(datasource.uid);\n if (runtimeDataSource) {\n return runtimeDataSource;\n }\n }\n if (datasource && datasource.query) {\n return datasource;\n }\n return await getDataSourceSrv().get(datasource, scopedVars);\n}\n\nexport { getDataSource };\n//# sourceMappingURL=getDataSource.js.map\n","import { sceneGraph } from '../core/sceneGraph/index.js';\nimport { isVariableValueEqual } from './utils.js';\n\nclass VariableValueRecorder {\n constructor() {\n this._values = /* @__PURE__ */ new Map();\n }\n recordCurrentDependencyValuesForSceneObject(sceneObject) {\n this.clearValues();\n if (!sceneObject.variableDependency) {\n return;\n }\n for (const variableName of sceneObject.variableDependency.getNames()) {\n const variable = sceneGraph.lookupVariable(variableName, sceneObject);\n if (variable) {\n this._values.set(variable, variable.getValue());\n }\n }\n }\n clearValues() {\n this._values.clear();\n }\n hasValues() {\n return !!this._values;\n }\n recordCurrentValue(variable) {\n this._values.set(variable, variable.getValue());\n }\n hasRecordedValue(variable) {\n return this._values.has(variable);\n }\n hasValueChanged(variable) {\n if (this._values.has(variable)) {\n const value = this._values.get(variable);\n if (!isVariableValueEqual(value, variable.getValue())) {\n return true;\n }\n }\n return false;\n }\n hasDependenciesChanged(sceneObject) {\n if (!this._values) {\n return false;\n }\n if (!sceneObject.variableDependency) {\n return false;\n }\n for (const variableName of sceneObject.variableDependency.getNames()) {\n const variable = sceneGraph.lookupVariable(variableName, sceneObject);\n if (variable && this._values.has(variable)) {\n const value = this._values.get(variable);\n if (!isVariableValueEqual(value, variable.getValue())) {\n return true;\n }\n }\n }\n return false;\n }\n}\n\nexport { VariableValueRecorder };\n//# sourceMappingURL=VariableValueRecorder.js.map\n","export function isFunction(value) {\n return typeof value === 'function';\n}\n//# sourceMappingURL=isFunction.js.map","import { ReplaySubject } from 'rxjs';\nimport { emptyPanelData } from '../../core/SceneDataNode.js';\nimport { SceneObjectBase } from '../../core/SceneObjectBase.js';\nimport { setBaseClassState } from '../../utils/utils.js';\nimport { writeSceneLog } from '../../utils/writeSceneLog.js';\nimport { VariableDependencyConfig } from '../../variables/VariableDependencyConfig.js';\nimport { VariableValueRecorder } from '../../variables/VariableValueRecorder.js';\n\nvar __defProp = Object.defineProperty;\nvar __getOwnPropSymbols = Object.getOwnPropertySymbols;\nvar __hasOwnProp = Object.prototype.hasOwnProperty;\nvar __propIsEnum = Object.prototype.propertyIsEnumerable;\nvar __defNormalProp = (obj, key, value) => key in obj ? __defProp(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;\nvar __spreadValues = (a, b) => {\n for (var prop in b || (b = {}))\n if (__hasOwnProp.call(b, prop))\n __defNormalProp(a, prop, b[prop]);\n if (__getOwnPropSymbols)\n for (var prop of __getOwnPropSymbols(b)) {\n if (__propIsEnum.call(b, prop))\n __defNormalProp(a, prop, b[prop]);\n }\n return a;\n};\nclass SceneDataLayerBase extends SceneObjectBase {\n constructor(initialState, variableDependencyStatePaths = []) {\n super(__spreadValues({\n isEnabled: true\n }, initialState));\n this._results = new ReplaySubject();\n this._variableValueRecorder = new VariableValueRecorder();\n this._variableDependency = new VariableDependencyConfig(this, {\n onVariableUpdatesCompleted: (variables, dependencyChanged) => this.onVariableUpdatesCompleted(variables, dependencyChanged)\n });\n this._variableDependency.setPaths(variableDependencyStatePaths);\n this.addActivationHandler(() => this.onActivate());\n }\n onActivate() {\n if (this.state.isEnabled) {\n this.onEnable();\n }\n if (this.shouldRunLayerOnActivate()) {\n this.runLayer();\n }\n this.subscribeToState((n, p) => {\n if (!n.isEnabled && this.querySub) {\n this.querySub.unsubscribe();\n this.querySub = void 0;\n this.onDisable();\n this._results.next({\n origin: this,\n data: emptyPanelData,\n topic: this.topic\n });\n this.setStateHelper({\n data: emptyPanelData\n });\n }\n if (n.isEnabled && !p.isEnabled) {\n this.onEnable();\n this.runLayer();\n }\n });\n return () => {\n this.onDeactivate();\n };\n }\n onDeactivate() {\n if (this.querySub) {\n this.querySub.unsubscribe();\n this.querySub = void 0;\n }\n this.onDisable();\n this._variableValueRecorder.recordCurrentDependencyValuesForSceneObject(this);\n }\n onVariableUpdatesCompleted(variables, dependencyChanged) {\n writeSceneLog(\"SceneDataLayerBase\", \"onVariableUpdatesCompleted\");\n if (this.state._isWaitingForVariables && this.shouldRunLayerOnActivate()) {\n this.runLayer();\n return;\n }\n if (dependencyChanged) {\n this.runLayer();\n }\n }\n cancelQuery() {\n if (this.querySub) {\n this.querySub.unsubscribe();\n this.querySub = void 0;\n this.publishResults(emptyPanelData, this.topic);\n }\n }\n publishResults(data, topic) {\n if (this.state.isEnabled) {\n this._results.next({\n origin: this,\n data,\n topic\n });\n this.setStateHelper({\n data\n });\n }\n }\n getResultsStream() {\n return this._results;\n }\n shouldRunLayerOnActivate() {\n if (this._variableValueRecorder.hasDependenciesChanged(this)) {\n writeSceneLog(\n \"SceneDataLayerBase\",\n \"Variable dependency changed while inactive, shouldRunLayerOnActivate returns true\"\n );\n return true;\n }\n if (this.state.data) {\n return false;\n }\n return true;\n }\n setStateHelper(state) {\n setBaseClassState(this, state);\n }\n}\n\nexport { SceneDataLayerBase };\n//# sourceMappingURL=SceneDataLayerBase.js.map\n","/******************************************************************************\nCopyright (c) Microsoft Corporation.\n\nPermission to use, copy, modify, and/or distribute this software for any\npurpose with or without fee is hereby granted.\n\nTHE SOFTWARE IS PROVIDED \"AS IS\" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH\nREGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY\nAND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,\nINDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM\nLOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR\nOTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR\nPERFORMANCE OF THIS SOFTWARE.\n***************************************************************************** */\n/* global Reflect, Promise, SuppressedError, Symbol */\n\nvar extendStatics = function(d, b) {\n extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };\n return extendStatics(d, b);\n};\n\nexport function __extends(d, b) {\n if (typeof b !== \"function\" && b !== null)\n throw new TypeError(\"Class extends value \" + String(b) + \" is not a constructor or null\");\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n}\n\nexport var __assign = function() {\n __assign = Object.assign || function __assign(t) {\n for (var s, i = 1, n = arguments.length; i < n; i++) {\n s = arguments[i];\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p];\n }\n return t;\n }\n return __assign.apply(this, arguments);\n}\n\nexport function __rest(s, e) {\n var t = {};\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)\n t[p] = s[p];\n if (s != null && typeof Object.getOwnPropertySymbols === \"function\")\n for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {\n if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))\n t[p[i]] = s[p[i]];\n }\n return t;\n}\n\nexport function __decorate(decorators, target, key, desc) {\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\n return c > 3 && r && Object.defineProperty(target, key, r), r;\n}\n\nexport function __param(paramIndex, decorator) {\n return function (target, key) { decorator(target, key, paramIndex); }\n}\n\nexport function __esDecorate(ctor, descriptorIn, decorators, contextIn, initializers, extraInitializers) {\n function accept(f) { if (f !== void 0 && typeof f !== \"function\") throw new TypeError(\"Function expected\"); return f; }\n var kind = contextIn.kind, key = kind === \"getter\" ? \"get\" : kind === \"setter\" ? \"set\" : \"value\";\n var target = !descriptorIn && ctor ? contextIn[\"static\"] ? ctor : ctor.prototype : null;\n var descriptor = descriptorIn || (target ? Object.getOwnPropertyDescriptor(target, contextIn.name) : {});\n var _, done = false;\n for (var i = decorators.length - 1; i >= 0; i--) {\n var context = {};\n for (var p in contextIn) context[p] = p === \"access\" ? {} : contextIn[p];\n for (var p in contextIn.access) context.access[p] = contextIn.access[p];\n context.addInitializer = function (f) { if (done) throw new TypeError(\"Cannot add initializers after decoration has completed\"); extraInitializers.push(accept(f || null)); };\n var result = (0, decorators[i])(kind === \"accessor\" ? { get: descriptor.get, set: descriptor.set } : descriptor[key], context);\n if (kind === \"accessor\") {\n if (result === void 0) continue;\n if (result === null || typeof result !== \"object\") throw new TypeError(\"Object expected\");\n if (_ = accept(result.get)) descriptor.get = _;\n if (_ = accept(result.set)) descriptor.set = _;\n if (_ = accept(result.init)) initializers.unshift(_);\n }\n else if (_ = accept(result)) {\n if (kind === \"field\") initializers.unshift(_);\n else descriptor[key] = _;\n }\n }\n if (target) Object.defineProperty(target, contextIn.name, descriptor);\n done = true;\n};\n\nexport function __runInitializers(thisArg, initializers, value) {\n var useValue = arguments.length > 2;\n for (var i = 0; i < initializers.length; i++) {\n value = useValue ? initializers[i].call(thisArg, value) : initializers[i].call(thisArg);\n }\n return useValue ? value : void 0;\n};\n\nexport function __propKey(x) {\n return typeof x === \"symbol\" ? x : \"\".concat(x);\n};\n\nexport function __setFunctionName(f, name, prefix) {\n if (typeof name === \"symbol\") name = name.description ? \"[\".concat(name.description, \"]\") : \"\";\n return Object.defineProperty(f, \"name\", { configurable: true, value: prefix ? \"\".concat(prefix, \" \", name) : name });\n};\n\nexport function __metadata(metadataKey, metadataValue) {\n if (typeof Reflect === \"object\" && typeof Reflect.metadata === \"function\") return Reflect.metadata(metadataKey, metadataValue);\n}\n\nexport function __awaiter(thisArg, _arguments, P, generator) {\n function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\n return new (P || (P = Promise))(function (resolve, reject) {\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\n function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\n step((generator = generator.apply(thisArg, _arguments || [])).next());\n });\n}\n\nexport function __generator(thisArg, body) {\n var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;\n return g = { next: verb(0), \"throw\": verb(1), \"return\": verb(2) }, typeof Symbol === \"function\" && (g[Symbol.iterator] = function() { return this; }), g;\n function verb(n) { return function (v) { return step([n, v]); }; }\n function step(op) {\n if (f) throw new TypeError(\"Generator is already executing.\");\n while (g && (g = 0, op[0] && (_ = 0)), _) try {\n if (f = 1, y && (t = op[0] & 2 ? y[\"return\"] : op[0] ? y[\"throw\"] || ((t = y[\"return\"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;\n if (y = 0, t) op = [op[0] & 2, t.value];\n switch (op[0]) {\n case 0: case 1: t = op; break;\n case 4: _.label++; return { value: op[1], done: false };\n case 5: _.label++; y = op[1]; op = [0]; continue;\n case 7: op = _.ops.pop(); _.trys.pop(); continue;\n default:\n if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }\n if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }\n if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }\n if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }\n if (t[2]) _.ops.pop();\n _.trys.pop(); continue;\n }\n op = body.call(thisArg, _);\n } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }\n if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };\n }\n}\n\nexport var __createBinding = Object.create ? (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n var desc = Object.getOwnPropertyDescriptor(m, k);\n if (!desc || (\"get\" in desc ? !m.__esModule : desc.writable || desc.configurable)) {\n desc = { enumerable: true, get: function() { return m[k]; } };\n }\n Object.defineProperty(o, k2, desc);\n}) : (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n o[k2] = m[k];\n});\n\nexport function __exportStar(m, o) {\n for (var p in m) if (p !== \"default\" && !Object.prototype.hasOwnProperty.call(o, p)) __createBinding(o, m, p);\n}\n\nexport function __values(o) {\n var s = typeof Symbol === \"function\" && Symbol.iterator, m = s && o[s], i = 0;\n if (m) return m.call(o);\n if (o && typeof o.length === \"number\") return {\n next: function () {\n if (o && i >= o.length) o = void 0;\n return { value: o && o[i++], done: !o };\n }\n };\n throw new TypeError(s ? \"Object is not iterable.\" : \"Symbol.iterator is not defined.\");\n}\n\nexport function __read(o, n) {\n var m = typeof Symbol === \"function\" && o[Symbol.iterator];\n if (!m) return o;\n var i = m.call(o), r, ar = [], e;\n try {\n while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);\n }\n catch (error) { e = { error: error }; }\n finally {\n try {\n if (r && !r.done && (m = i[\"return\"])) m.call(i);\n }\n finally { if (e) throw e.error; }\n }\n return ar;\n}\n\n/** @deprecated */\nexport function __spread() {\n for (var ar = [], i = 0; i < arguments.length; i++)\n ar = ar.concat(__read(arguments[i]));\n return ar;\n}\n\n/** @deprecated */\nexport function __spreadArrays() {\n for (var s = 0, i = 0, il = arguments.length; i < il; i++) s += arguments[i].length;\n for (var r = Array(s), k = 0, i = 0; i < il; i++)\n for (var a = arguments[i], j = 0, jl = a.length; j < jl; j++, k++)\n r[k] = a[j];\n return r;\n}\n\nexport function __spreadArray(to, from, pack) {\n if (pack || arguments.length === 2) for (var i = 0, l = from.length, ar; i < l; i++) {\n if (ar || !(i in from)) {\n if (!ar) ar = Array.prototype.slice.call(from, 0, i);\n ar[i] = from[i];\n }\n }\n return to.concat(ar || Array.prototype.slice.call(from));\n}\n\nexport function __await(v) {\n return this instanceof __await ? (this.v = v, this) : new __await(v);\n}\n\nexport function __asyncGenerator(thisArg, _arguments, generator) {\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\n var g = generator.apply(thisArg, _arguments || []), i, q = [];\n return i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i;\n function verb(n) { if (g[n]) i[n] = function (v) { return new Promise(function (a, b) { q.push([n, v, a, b]) > 1 || resume(n, v); }); }; }\n function resume(n, v) { try { step(g[n](v)); } catch (e) { settle(q[0][3], e); } }\n function step(r) { r.value instanceof __await ? Promise.resolve(r.value.v).then(fulfill, reject) : settle(q[0][2], r); }\n function fulfill(value) { resume(\"next\", value); }\n function reject(value) { resume(\"throw\", value); }\n function settle(f, v) { if (f(v), q.shift(), q.length) resume(q[0][0], q[0][1]); }\n}\n\nexport function __asyncDelegator(o) {\n var i, p;\n return i = {}, verb(\"next\"), verb(\"throw\", function (e) { throw e; }), verb(\"return\"), i[Symbol.iterator] = function () { return this; }, i;\n function verb(n, f) { i[n] = o[n] ? function (v) { return (p = !p) ? { value: __await(o[n](v)), done: false } : f ? f(v) : v; } : f; }\n}\n\nexport function __asyncValues(o) {\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\n var m = o[Symbol.asyncIterator], i;\n return m ? m.call(o) : (o = typeof __values === \"function\" ? __values(o) : o[Symbol.iterator](), i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i);\n function verb(n) { i[n] = o[n] && function (v) { return new Promise(function (resolve, reject) { v = o[n](v), settle(resolve, reject, v.done, v.value); }); }; }\n function settle(resolve, reject, d, v) { Promise.resolve(v).then(function(v) { resolve({ value: v, done: d }); }, reject); }\n}\n\nexport function __makeTemplateObject(cooked, raw) {\n if (Object.defineProperty) { Object.defineProperty(cooked, \"raw\", { value: raw }); } else { cooked.raw = raw; }\n return cooked;\n};\n\nvar __setModuleDefault = Object.create ? (function(o, v) {\n Object.defineProperty(o, \"default\", { enumerable: true, value: v });\n}) : function(o, v) {\n o[\"default\"] = v;\n};\n\nexport function __importStar(mod) {\n if (mod && mod.__esModule) return mod;\n var result = {};\n if (mod != null) for (var k in mod) if (k !== \"default\" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);\n __setModuleDefault(result, mod);\n return result;\n}\n\nexport function __importDefault(mod) {\n return (mod && mod.__esModule) ? mod : { default: mod };\n}\n\nexport function __classPrivateFieldGet(receiver, state, kind, f) {\n if (kind === \"a\" && !f) throw new TypeError(\"Private accessor was defined without a getter\");\n if (typeof state === \"function\" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError(\"Cannot read private member from an object whose class did not declare it\");\n return kind === \"m\" ? f : kind === \"a\" ? f.call(receiver) : f ? f.value : state.get(receiver);\n}\n\nexport function __classPrivateFieldSet(receiver, state, value, kind, f) {\n if (kind === \"m\") throw new TypeError(\"Private method is not writable\");\n if (kind === \"a\" && !f) throw new TypeError(\"Private accessor was defined without a setter\");\n if (typeof state === \"function\" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError(\"Cannot write private member to an object whose class did not declare it\");\n return (kind === \"a\" ? f.call(receiver, value) : f ? f.value = value : state.set(receiver, value)), value;\n}\n\nexport function __classPrivateFieldIn(state, receiver) {\n if (receiver === null || (typeof receiver !== \"object\" && typeof receiver !== \"function\")) throw new TypeError(\"Cannot use 'in' operator on non-object\");\n return typeof state === \"function\" ? receiver === state : state.has(receiver);\n}\n\nexport function __addDisposableResource(env, value, async) {\n if (value !== null && value !== void 0) {\n if (typeof value !== \"object\" && typeof value !== \"function\") throw new TypeError(\"Object expected.\");\n var dispose;\n if (async) {\n if (!Symbol.asyncDispose) throw new TypeError(\"Symbol.asyncDispose is not defined.\");\n dispose = value[Symbol.asyncDispose];\n }\n if (dispose === void 0) {\n if (!Symbol.dispose) throw new TypeError(\"Symbol.dispose is not defined.\");\n dispose = value[Symbol.dispose];\n }\n if (typeof dispose !== \"function\") throw new TypeError(\"Object not disposable.\");\n env.stack.push({ value: value, dispose: dispose, async: async });\n }\n else if (async) {\n env.stack.push({ async: true });\n }\n return value;\n}\n\nvar _SuppressedError = typeof SuppressedError === \"function\" ? SuppressedError : function (error, suppressed, message) {\n var e = new Error(message);\n return e.name = \"SuppressedError\", e.error = error, e.suppressed = suppressed, e;\n};\n\nexport function __disposeResources(env) {\n function fail(e) {\n env.error = env.hasError ? new _SuppressedError(e, env.error, \"An error was suppressed during disposal.\") : e;\n env.hasError = true;\n }\n function next() {\n while (env.stack.length) {\n var rec = env.stack.pop();\n try {\n var result = rec.dispose && rec.dispose.call(rec.value);\n if (rec.async) return Promise.resolve(result).then(next, function(e) { fail(e); return next(); });\n }\n catch (e) {\n fail(e);\n }\n }\n if (env.hasError) throw env.error;\n }\n return next();\n}\n\nexport default {\n __extends,\n __assign,\n __rest,\n __decorate,\n __param,\n __metadata,\n __awaiter,\n __generator,\n __createBinding,\n __exportStar,\n __values,\n __read,\n __spread,\n __spreadArrays,\n __spreadArray,\n __await,\n __asyncGenerator,\n __asyncDelegator,\n __asyncValues,\n __makeTemplateObject,\n __importStar,\n __importDefault,\n __classPrivateFieldGet,\n __classPrivateFieldSet,\n __classPrivateFieldIn,\n __addDisposableResource,\n __disposeResources,\n};\n","import { createErrorClass } from './createErrorClass';\nexport var UnsubscriptionError = createErrorClass(function (_super) {\n return function UnsubscriptionErrorImpl(errors) {\n _super(this);\n this.message = errors\n ? errors.length + \" errors occurred during unsubscription:\\n\" + errors.map(function (err, i) { return i + 1 + \") \" + err.toString(); }).join('\\n ')\n : '';\n this.name = 'UnsubscriptionError';\n this.errors = errors;\n };\n});\n//# sourceMappingURL=UnsubscriptionError.js.map","export function createErrorClass(createImpl) {\n var _super = function (instance) {\n Error.call(instance);\n instance.stack = new Error().stack;\n };\n var ctorFunc = createImpl(_super);\n ctorFunc.prototype = Object.create(Error.prototype);\n ctorFunc.prototype.constructor = ctorFunc;\n return ctorFunc;\n}\n//# sourceMappingURL=createErrorClass.js.map","export function arrRemove(arr, item) {\n if (arr) {\n var index = arr.indexOf(item);\n 0 <= index && arr.splice(index, 1);\n }\n}\n//# sourceMappingURL=arrRemove.js.map","import { __read, __spreadArray, __values } from \"tslib\";\nimport { isFunction } from './util/isFunction';\nimport { UnsubscriptionError } from './util/UnsubscriptionError';\nimport { arrRemove } from './util/arrRemove';\nvar Subscription = (function () {\n function Subscription(initialTeardown) {\n this.initialTeardown = initialTeardown;\n this.closed = false;\n this._parentage = null;\n this._finalizers = null;\n }\n Subscription.prototype.unsubscribe = function () {\n var e_1, _a, e_2, _b;\n var errors;\n if (!this.closed) {\n this.closed = true;\n var _parentage = this._parentage;\n if (_parentage) {\n this._parentage = null;\n if (Array.isArray(_parentage)) {\n try {\n for (var _parentage_1 = __values(_parentage), _parentage_1_1 = _parentage_1.next(); !_parentage_1_1.done; _parentage_1_1 = _parentage_1.next()) {\n var parent_1 = _parentage_1_1.value;\n parent_1.remove(this);\n }\n }\n catch (e_1_1) { e_1 = { error: e_1_1 }; }\n finally {\n try {\n if (_parentage_1_1 && !_parentage_1_1.done && (_a = _parentage_1.return)) _a.call(_parentage_1);\n }\n finally { if (e_1) throw e_1.error; }\n }\n }\n else {\n _parentage.remove(this);\n }\n }\n var initialFinalizer = this.initialTeardown;\n if (isFunction(initialFinalizer)) {\n try {\n initialFinalizer();\n }\n catch (e) {\n errors = e instanceof UnsubscriptionError ? e.errors : [e];\n }\n }\n var _finalizers = this._finalizers;\n if (_finalizers) {\n this._finalizers = null;\n try {\n for (var _finalizers_1 = __values(_finalizers), _finalizers_1_1 = _finalizers_1.next(); !_finalizers_1_1.done; _finalizers_1_1 = _finalizers_1.next()) {\n var finalizer = _finalizers_1_1.value;\n try {\n execFinalizer(finalizer);\n }\n catch (err) {\n errors = errors !== null && errors !== void 0 ? errors : [];\n if (err instanceof UnsubscriptionError) {\n errors = __spreadArray(__spreadArray([], __read(errors)), __read(err.errors));\n }\n else {\n errors.push(err);\n }\n }\n }\n }\n catch (e_2_1) { e_2 = { error: e_2_1 }; }\n finally {\n try {\n if (_finalizers_1_1 && !_finalizers_1_1.done && (_b = _finalizers_1.return)) _b.call(_finalizers_1);\n }\n finally { if (e_2) throw e_2.error; }\n }\n }\n if (errors) {\n throw new UnsubscriptionError(errors);\n }\n }\n };\n Subscription.prototype.add = function (teardown) {\n var _a;\n if (teardown && teardown !== this) {\n if (this.closed) {\n execFinalizer(teardown);\n }\n else {\n if (teardown instanceof Subscription) {\n if (teardown.closed || teardown._hasParent(this)) {\n return;\n }\n teardown._addParent(this);\n }\n (this._finalizers = (_a = this._finalizers) !== null && _a !== void 0 ? _a : []).push(teardown);\n }\n }\n };\n Subscription.prototype._hasParent = function (parent) {\n var _parentage = this._parentage;\n return _parentage === parent || (Array.isArray(_parentage) && _parentage.includes(parent));\n };\n Subscription.prototype._addParent = function (parent) {\n var _parentage = this._parentage;\n this._parentage = Array.isArray(_parentage) ? (_parentage.push(parent), _parentage) : _parentage ? [_parentage, parent] : parent;\n };\n Subscription.prototype._removeParent = function (parent) {\n var _parentage = this._parentage;\n if (_parentage === parent) {\n this._parentage = null;\n }\n else if (Array.isArray(_parentage)) {\n arrRemove(_parentage, parent);\n }\n };\n Subscription.prototype.remove = function (teardown) {\n var _finalizers = this._finalizers;\n _finalizers && arrRemove(_finalizers, teardown);\n if (teardown instanceof Subscription) {\n teardown._removeParent(this);\n }\n };\n Subscription.EMPTY = (function () {\n var empty = new Subscription();\n empty.closed = true;\n return empty;\n })();\n return Subscription;\n}());\nexport { Subscription };\nexport var EMPTY_SUBSCRIPTION = Subscription.EMPTY;\nexport function isSubscription(value) {\n return (value instanceof Subscription ||\n (value && 'closed' in value && isFunction(value.remove) && isFunction(value.add) && isFunction(value.unsubscribe)));\n}\nfunction execFinalizer(finalizer) {\n if (isFunction(finalizer)) {\n finalizer();\n }\n else {\n finalizer.unsubscribe();\n }\n}\n//# sourceMappingURL=Subscription.js.map","export var config = {\n onUnhandledError: null,\n onStoppedNotification: null,\n Promise: undefined,\n useDeprecatedSynchronousErrorHandling: false,\n useDeprecatedNextContext: false,\n};\n//# sourceMappingURL=config.js.map","import { __read, __spreadArray } from \"tslib\";\nexport var timeoutProvider = {\n setTimeout: function (handler, timeout) {\n var args = [];\n for (var _i = 2; _i < arguments.length; _i++) {\n args[_i - 2] = arguments[_i];\n }\n var delegate = timeoutProvider.delegate;\n if (delegate === null || delegate === void 0 ? void 0 : delegate.setTimeout) {\n return delegate.setTimeout.apply(delegate, __spreadArray([handler, timeout], __read(args)));\n }\n return setTimeout.apply(void 0, __spreadArray([handler, timeout], __read(args)));\n },\n clearTimeout: function (handle) {\n var delegate = timeoutProvider.delegate;\n return ((delegate === null || delegate === void 0 ? void 0 : delegate.clearTimeout) || clearTimeout)(handle);\n },\n delegate: undefined,\n};\n//# sourceMappingURL=timeoutProvider.js.map","export function noop() { }\n//# sourceMappingURL=noop.js.map","export var COMPLETE_NOTIFICATION = (function () { return createNotification('C', undefined, undefined); })();\nexport function errorNotification(error) {\n return createNotification('E', undefined, error);\n}\nexport function nextNotification(value) {\n return createNotification('N', value, undefined);\n}\nexport function createNotification(kind, value, error) {\n return {\n kind: kind,\n value: value,\n error: error,\n };\n}\n//# sourceMappingURL=NotificationFactories.js.map","import { config } from '../config';\nvar context = null;\nexport function errorContext(cb) {\n if (config.useDeprecatedSynchronousErrorHandling) {\n var isRoot = !context;\n if (isRoot) {\n context = { errorThrown: false, error: null };\n }\n cb();\n if (isRoot) {\n var _a = context, errorThrown = _a.errorThrown, error = _a.error;\n context = null;\n if (errorThrown) {\n throw error;\n }\n }\n }\n else {\n cb();\n }\n}\nexport function captureError(err) {\n if (config.useDeprecatedSynchronousErrorHandling && context) {\n context.errorThrown = true;\n context.error = err;\n }\n}\n//# sourceMappingURL=errorContext.js.map","import { __extends } from \"tslib\";\nimport { isFunction } from './util/isFunction';\nimport { isSubscription, Subscription } from './Subscription';\nimport { config } from './config';\nimport { reportUnhandledError } from './util/reportUnhandledError';\nimport { noop } from './util/noop';\nimport { nextNotification, errorNotification, COMPLETE_NOTIFICATION } from './NotificationFactories';\nimport { timeoutProvider } from './scheduler/timeoutProvider';\nimport { captureError } from './util/errorContext';\nvar Subscriber = (function (_super) {\n __extends(Subscriber, _super);\n function Subscriber(destination) {\n var _this = _super.call(this) || this;\n _this.isStopped = false;\n if (destination) {\n _this.destination = destination;\n if (isSubscription(destination)) {\n destination.add(_this);\n }\n }\n else {\n _this.destination = EMPTY_OBSERVER;\n }\n return _this;\n }\n Subscriber.create = function (next, error, complete) {\n return new SafeSubscriber(next, error, complete);\n };\n Subscriber.prototype.next = function (value) {\n if (this.isStopped) {\n handleStoppedNotification(nextNotification(value), this);\n }\n else {\n this._next(value);\n }\n };\n Subscriber.prototype.error = function (err) {\n if (this.isStopped) {\n handleStoppedNotification(errorNotification(err), this);\n }\n else {\n this.isStopped = true;\n this._error(err);\n }\n };\n Subscriber.prototype.complete = function () {\n if (this.isStopped) {\n handleStoppedNotification(COMPLETE_NOTIFICATION, this);\n }\n else {\n this.isStopped = true;\n this._complete();\n }\n };\n Subscriber.prototype.unsubscribe = function () {\n if (!this.closed) {\n this.isStopped = true;\n _super.prototype.unsubscribe.call(this);\n this.destination = null;\n }\n };\n Subscriber.prototype._next = function (value) {\n this.destination.next(value);\n };\n Subscriber.prototype._error = function (err) {\n try {\n this.destination.error(err);\n }\n finally {\n this.unsubscribe();\n }\n };\n Subscriber.prototype._complete = function () {\n try {\n this.destination.complete();\n }\n finally {\n this.unsubscribe();\n }\n };\n return Subscriber;\n}(Subscription));\nexport { Subscriber };\nvar _bind = Function.prototype.bind;\nfunction bind(fn, thisArg) {\n return _bind.call(fn, thisArg);\n}\nvar ConsumerObserver = (function () {\n function ConsumerObserver(partialObserver) {\n this.partialObserver = partialObserver;\n }\n ConsumerObserver.prototype.next = function (value) {\n var partialObserver = this.partialObserver;\n if (partialObserver.next) {\n try {\n partialObserver.next(value);\n }\n catch (error) {\n handleUnhandledError(error);\n }\n }\n };\n ConsumerObserver.prototype.error = function (err) {\n var partialObserver = this.partialObserver;\n if (partialObserver.error) {\n try {\n partialObserver.error(err);\n }\n catch (error) {\n handleUnhandledError(error);\n }\n }\n else {\n handleUnhandledError(err);\n }\n };\n ConsumerObserver.prototype.complete = function () {\n var partialObserver = this.partialObserver;\n if (partialObserver.complete) {\n try {\n partialObserver.complete();\n }\n catch (error) {\n handleUnhandledError(error);\n }\n }\n };\n return ConsumerObserver;\n}());\nvar SafeSubscriber = (function (_super) {\n __extends(SafeSubscriber, _super);\n function SafeSubscriber(observerOrNext, error, complete) {\n var _this = _super.call(this) || this;\n var partialObserver;\n if (isFunction(observerOrNext) || !observerOrNext) {\n partialObserver = {\n next: (observerOrNext !== null && observerOrNext !== void 0 ? observerOrNext : undefined),\n error: error !== null && error !== void 0 ? error : undefined,\n complete: complete !== null && complete !== void 0 ? complete : undefined,\n };\n }\n else {\n var context_1;\n if (_this && config.useDeprecatedNextContext) {\n context_1 = Object.create(observerOrNext);\n context_1.unsubscribe = function () { return _this.unsubscribe(); };\n partialObserver = {\n next: observerOrNext.next && bind(observerOrNext.next, context_1),\n error: observerOrNext.error && bind(observerOrNext.error, context_1),\n complete: observerOrNext.complete && bind(observerOrNext.complete, context_1),\n };\n }\n else {\n partialObserver = observerOrNext;\n }\n }\n _this.destination = new ConsumerObserver(partialObserver);\n return _this;\n }\n return SafeSubscriber;\n}(Subscriber));\nexport { SafeSubscriber };\nfunction handleUnhandledError(error) {\n if (config.useDeprecatedSynchronousErrorHandling) {\n captureError(error);\n }\n else {\n reportUnhandledError(error);\n }\n}\nfunction defaultErrorHandler(err) {\n throw err;\n}\nfunction handleStoppedNotification(notification, subscriber) {\n var onStoppedNotification = config.onStoppedNotification;\n onStoppedNotification && timeoutProvider.setTimeout(function () { return onStoppedNotification(notification, subscriber); });\n}\nexport var EMPTY_OBSERVER = {\n closed: true,\n next: noop,\n error: defaultErrorHandler,\n complete: noop,\n};\n//# sourceMappingURL=Subscriber.js.map","import { config } from '../config';\nimport { timeoutProvider } from '../scheduler/timeoutProvider';\nexport function reportUnhandledError(err) {\n timeoutProvider.setTimeout(function () {\n var onUnhandledError = config.onUnhandledError;\n if (onUnhandledError) {\n onUnhandledError(err);\n }\n else {\n throw err;\n }\n });\n}\n//# sourceMappingURL=reportUnhandledError.js.map","import { __extends } from \"tslib\";\nimport { Subscriber } from '../Subscriber';\nexport function createOperatorSubscriber(destination, onNext, onComplete, onError, onFinalize) {\n return new OperatorSubscriber(destination, onNext, onComplete, onError, onFinalize);\n}\nvar OperatorSubscriber = (function (_super) {\n __extends(OperatorSubscriber, _super);\n function OperatorSubscriber(destination, onNext, onComplete, onError, onFinalize, shouldUnsubscribe) {\n var _this = _super.call(this, destination) || this;\n _this.onFinalize = onFinalize;\n _this.shouldUnsubscribe = shouldUnsubscribe;\n _this._next = onNext\n ? function (value) {\n try {\n onNext(value);\n }\n catch (err) {\n destination.error(err);\n }\n }\n : _super.prototype._next;\n _this._error = onError\n ? function (err) {\n try {\n onError(err);\n }\n catch (err) {\n destination.error(err);\n }\n finally {\n this.unsubscribe();\n }\n }\n : _super.prototype._error;\n _this._complete = onComplete\n ? function () {\n try {\n onComplete();\n }\n catch (err) {\n destination.error(err);\n }\n finally {\n this.unsubscribe();\n }\n }\n : _super.prototype._complete;\n return _this;\n }\n OperatorSubscriber.prototype.unsubscribe = function () {\n var _a;\n if (!this.shouldUnsubscribe || this.shouldUnsubscribe()) {\n var closed_1 = this.closed;\n _super.prototype.unsubscribe.call(this);\n !closed_1 && ((_a = this.onFinalize) === null || _a === void 0 ? void 0 : _a.call(this));\n }\n };\n return OperatorSubscriber;\n}(Subscriber));\nexport { OperatorSubscriber };\n//# sourceMappingURL=OperatorSubscriber.js.map","export var observable = (function () { return (typeof Symbol === 'function' && Symbol.observable) || '@@observable'; })();\n//# sourceMappingURL=observable.js.map","export function identity(x) {\n return x;\n}\n//# sourceMappingURL=identity.js.map","import { SafeSubscriber, Subscriber } from './Subscriber';\nimport { isSubscription } from './Subscription';\nimport { observable as Symbol_observable } from './symbol/observable';\nimport { pipeFromArray } from './util/pipe';\nimport { config } from './config';\nimport { isFunction } from './util/isFunction';\nimport { errorContext } from './util/errorContext';\nvar Observable = (function () {\n function Observable(subscribe) {\n if (subscribe) {\n this._subscribe = subscribe;\n }\n }\n Observable.prototype.lift = function (operator) {\n var observable = new Observable();\n observable.source = this;\n observable.operator = operator;\n return observable;\n };\n Observable.prototype.subscribe = function (observerOrNext, error, complete) {\n var _this = this;\n var subscriber = isSubscriber(observerOrNext) ? observerOrNext : new SafeSubscriber(observerOrNext, error, complete);\n errorContext(function () {\n var _a = _this, operator = _a.operator, source = _a.source;\n subscriber.add(operator\n ?\n operator.call(subscriber, source)\n : source\n ?\n _this._subscribe(subscriber)\n :\n _this._trySubscribe(subscriber));\n });\n return subscriber;\n };\n Observable.prototype._trySubscribe = function (sink) {\n try {\n return this._subscribe(sink);\n }\n catch (err) {\n sink.error(err);\n }\n };\n Observable.prototype.forEach = function (next, promiseCtor) {\n var _this = this;\n promiseCtor = getPromiseCtor(promiseCtor);\n return new promiseCtor(function (resolve, reject) {\n var subscriber = new SafeSubscriber({\n next: function (value) {\n try {\n next(value);\n }\n catch (err) {\n reject(err);\n subscriber.unsubscribe();\n }\n },\n error: reject,\n complete: resolve,\n });\n _this.subscribe(subscriber);\n });\n };\n Observable.prototype._subscribe = function (subscriber) {\n var _a;\n return (_a = this.source) === null || _a === void 0 ? void 0 : _a.subscribe(subscriber);\n };\n Observable.prototype[Symbol_observable] = function () {\n return this;\n };\n Observable.prototype.pipe = function () {\n var operations = [];\n for (var _i = 0; _i < arguments.length; _i++) {\n operations[_i] = arguments[_i];\n }\n return pipeFromArray(operations)(this);\n };\n Observable.prototype.toPromise = function (promiseCtor) {\n var _this = this;\n promiseCtor = getPromiseCtor(promiseCtor);\n return new promiseCtor(function (resolve, reject) {\n var value;\n _this.subscribe(function (x) { return (value = x); }, function (err) { return reject(err); }, function () { return resolve(value); });\n });\n };\n Observable.create = function (subscribe) {\n return new Observable(subscribe);\n };\n return Observable;\n}());\nexport { Observable };\nfunction getPromiseCtor(promiseCtor) {\n var _a;\n return (_a = promiseCtor !== null && promiseCtor !== void 0 ? promiseCtor : config.Promise) !== null && _a !== void 0 ? _a : Promise;\n}\nfunction isObserver(value) {\n return value && isFunction(value.next) && isFunction(value.error) && isFunction(value.complete);\n}\nfunction isSubscriber(value) {\n return (value && value instanceof Subscriber) || (isObserver(value) && isSubscription(value));\n}\n//# sourceMappingURL=Observable.js.map","import { identity } from './identity';\nexport function pipe() {\n var fns = [];\n for (var _i = 0; _i < arguments.length; _i++) {\n fns[_i] = arguments[_i];\n }\n return pipeFromArray(fns);\n}\nexport function pipeFromArray(fns) {\n if (fns.length === 0) {\n return identity;\n }\n if (fns.length === 1) {\n return fns[0];\n }\n return function piped(input) {\n return fns.reduce(function (prev, fn) { return fn(prev); }, input);\n };\n}\n//# sourceMappingURL=pipe.js.map","export function getSymbolIterator() {\n if (typeof Symbol !== 'function' || !Symbol.iterator) {\n return '@@iterator';\n }\n return Symbol.iterator;\n}\nexport var iterator = getSymbolIterator();\n//# sourceMappingURL=iterator.js.map","import { isString } from 'lodash';\nimport { of } from 'rxjs';\nimport { map, mergeMap } from 'rxjs/operators';\nimport { FieldType, getFieldDisplayName, AnnotationEventFieldSource, standardTransformers } from '@grafana/data';\nimport { config } from '@grafana/runtime';\n\nvar __defProp = Object.defineProperty;\nvar __defProps = Object.defineProperties;\nvar __getOwnPropDescs = Object.getOwnPropertyDescriptors;\nvar __getOwnPropSymbols = Object.getOwnPropertySymbols;\nvar __hasOwnProp = Object.prototype.hasOwnProperty;\nvar __propIsEnum = Object.prototype.propertyIsEnumerable;\nvar __defNormalProp = (obj, key, value) => key in obj ? __defProp(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;\nvar __spreadValues = (a, b) => {\n for (var prop in b || (b = {}))\n if (__hasOwnProp.call(b, prop))\n __defNormalProp(a, prop, b[prop]);\n if (__getOwnPropSymbols)\n for (var prop of __getOwnPropSymbols(b)) {\n if (__propIsEnum.call(b, prop))\n __defNormalProp(a, prop, b[prop]);\n }\n return a;\n};\nvar __spreadProps = (a, b) => __defProps(a, __getOwnPropDescs(b));\nvar __objRest = (source, exclude) => {\n var target = {};\n for (var prop in source)\n if (__hasOwnProp.call(source, prop) && exclude.indexOf(prop) < 0)\n target[prop] = source[prop];\n if (source != null && __getOwnPropSymbols)\n for (var prop of __getOwnPropSymbols(source)) {\n if (exclude.indexOf(prop) < 0 && __propIsEnum.call(source, prop))\n target[prop] = source[prop];\n }\n return target;\n};\nconst standardAnnotationSupport = {\n prepareAnnotation: (json) => {\n if (isString(json == null ? void 0 : json.query)) {\n const _a = json, { query } = _a, rest = __objRest(_a, [\"query\"]);\n return __spreadProps(__spreadValues({}, rest), {\n target: {\n refId: \"annotation_query\",\n query\n },\n mappings: {}\n });\n }\n return json;\n },\n prepareQuery: (anno) => anno.target,\n processEvents: (anno, data) => {\n return getAnnotationsFromData(data, anno.mappings);\n }\n};\nfunction singleFrameFromPanelData() {\n return (source) => source.pipe(\n mergeMap((data) => {\n if (!(data == null ? void 0 : data.length)) {\n return of(void 0);\n }\n if (data.length === 1) {\n return of(data[0]);\n }\n const ctx = {\n interpolate: (v) => v\n };\n return of(data).pipe(\n standardTransformers.mergeTransformer.operator({}, ctx),\n map((d) => d[0])\n );\n })\n );\n}\nconst annotationEventNames = [\n {\n key: \"time\",\n field: (frame) => frame.fields.find((f) => f.type === FieldType.time),\n placeholder: \"time, or the first time field\"\n },\n { key: \"timeEnd\", help: \"When this field is defined, the annotation will be treated as a range\" },\n {\n key: \"title\"\n },\n {\n key: \"text\",\n field: (frame) => frame.fields.find((f) => f.type === FieldType.string),\n placeholder: \"text, or the first text field\"\n },\n { key: \"tags\", split: \",\", help: \"The results will be split on comma (,)\" },\n {\n key: \"id\"\n }\n];\nconst publicDashboardEventNames = [\n {\n key: \"color\"\n },\n {\n key: \"isRegion\"\n },\n {\n key: \"source\"\n }\n];\nconst alertEventAndAnnotationFields = [\n ...config.isPublicDashboardView ? publicDashboardEventNames : [],\n ...annotationEventNames,\n { key: \"userId\" },\n { key: \"login\" },\n { key: \"email\" },\n { key: \"prevState\" },\n { key: \"newState\" },\n { key: \"data\" },\n { key: \"panelId\" },\n { key: \"alertId\" },\n { key: \"dashboardId\" },\n { key: \"dashboardUID\" }\n];\nfunction getAnnotationsFromData(data, options) {\n return of(data).pipe(\n singleFrameFromPanelData(),\n map((frame) => {\n if (!(frame == null ? void 0 : frame.length)) {\n return [];\n }\n let hasTime = false;\n let hasText = false;\n const byName = {};\n for (const f of frame.fields) {\n const name = getFieldDisplayName(f, frame);\n byName[name.toLowerCase()] = f;\n }\n if (!options) {\n options = {};\n }\n const fields = [];\n for (const evts of alertEventAndAnnotationFields) {\n const opt = options[evts.key] || {};\n if (opt.source === AnnotationEventFieldSource.Skip) {\n continue;\n }\n const setter = { key: evts.key, split: evts.split };\n if (opt.source === AnnotationEventFieldSource.Text) {\n setter.text = opt.value;\n } else {\n const lower = (opt.value || evts.key).toLowerCase();\n setter.field = byName[lower];\n if (!setter.field && evts.field) {\n setter.field = evts.field(frame);\n }\n }\n if (setter.field || setter.text) {\n fields.push(setter);\n if (setter.key === \"time\") {\n hasTime = true;\n } else if (setter.key === \"text\") {\n hasText = true;\n }\n }\n }\n if (!hasTime || !hasText) {\n console.error(\"Cannot process annotation fields. No time or text present.\");\n return [];\n }\n const events = [];\n for (let i = 0; i < frame.length; i++) {\n const anno = {\n type: \"default\",\n color: \"red\"\n };\n for (const f of fields) {\n let v = void 0;\n if (f.text) {\n v = f.text;\n } else if (f.field) {\n v = f.field.values.get(i);\n if (v !== void 0 && f.regex) {\n const match = f.regex.exec(v);\n if (match) {\n v = match[1] ? match[1] : match[0];\n }\n }\n }\n if (v !== null && v !== void 0) {\n if (f.split && typeof v === \"string\") {\n v = v.split(\",\");\n }\n anno[f.key] = v;\n }\n }\n events.push(anno);\n }\n return events;\n })\n );\n}\nconst legacyRunner = [\n \"prometheus\",\n \"loki\",\n \"elasticsearch\",\n \"grafana-opensearch-datasource\"\n];\nfunction shouldUseLegacyRunner(datasource) {\n const { type } = datasource;\n return !datasource.annotations || legacyRunner.includes(type);\n}\n\nexport { annotationEventNames, getAnnotationsFromData, publicDashboardEventNames, shouldUseLegacyRunner, singleFrameFromPanelData, standardAnnotationSupport };\n//# sourceMappingURL=standardAnnotationsSupport.js.map\n","function writeSceneLog(logger, message, ...rest) {\n if (window.grafanaSceneLogging) {\n console.log(`${logger}: `, message, ...rest);\n }\n}\n\nexport { writeSceneLog };\n//# sourceMappingURL=writeSceneLog.js.map\n","import { from, of } from 'rxjs';\nimport { map, mergeMap } from 'rxjs/operators';\nimport { rangeUtil, CoreApp, DataTopic } from '@grafana/data';\nimport { getRunRequest } from '@grafana/runtime';\nimport { shouldUseLegacyRunner, standardAnnotationSupport } from './standardAnnotationsSupport.js';\nimport { LoadingState } from '@grafana/schema';\nimport { getEnrichedDataRequest } from '../../getEnrichedDataRequest.js';\n\nvar __defProp = Object.defineProperty;\nvar __defProps = Object.defineProperties;\nvar __getOwnPropDescs = Object.getOwnPropertyDescriptors;\nvar __getOwnPropSymbols = Object.getOwnPropertySymbols;\nvar __hasOwnProp = Object.prototype.hasOwnProperty;\nvar __propIsEnum = Object.prototype.propertyIsEnumerable;\nvar __defNormalProp = (obj, key, value) => key in obj ? __defProp(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;\nvar __spreadValues = (a, b) => {\n for (var prop in b || (b = {}))\n if (__hasOwnProp.call(b, prop))\n __defNormalProp(a, prop, b[prop]);\n if (__getOwnPropSymbols)\n for (var prop of __getOwnPropSymbols(b)) {\n if (__propIsEnum.call(b, prop))\n __defNormalProp(a, prop, b[prop]);\n }\n return a;\n};\nvar __spreadProps = (a, b) => __defProps(a, __getOwnPropDescs(b));\nlet counter = 100;\nfunction getNextRequestId() {\n return \"AQ\" + counter++;\n}\nfunction executeAnnotationQuery(datasource, timeRange, query, layer) {\n var _a;\n if (datasource.annotationQuery && shouldUseLegacyRunner(datasource)) {\n console.warn(\"Using deprecated annotationQuery method, please upgrade your datasource\");\n return from(\n datasource.annotationQuery({\n range: timeRange.state.value,\n rangeRaw: timeRange.state.value.raw,\n annotation: query,\n dashboard: {}\n })\n ).pipe(\n map((events) => ({\n state: LoadingState.Done,\n events\n }))\n );\n }\n const processor = __spreadValues(__spreadValues({}, standardAnnotationSupport), datasource.annotations);\n const annotationWithDefaults = __spreadValues(__spreadValues({}, (_a = processor.getDefaultQuery) == null ? void 0 : _a.call(processor)), query);\n const annotation = processor.prepareAnnotation(annotationWithDefaults);\n if (!annotation) {\n return of({\n state: LoadingState.Done,\n events: []\n });\n }\n const processedQuery = processor.prepareQuery(annotation);\n if (!processedQuery) {\n return of({\n state: LoadingState.Done,\n events: []\n });\n }\n const maxDataPoints = window.innerWidth || document.documentElement.clientWidth || document.body.clientWidth;\n const interval = rangeUtil.calculateInterval(timeRange.state.value, maxDataPoints, datasource.interval);\n const scopedVars = {\n __interval: { text: interval.interval, value: interval.interval },\n __interval_ms: { text: interval.intervalMs.toString(), value: interval.intervalMs },\n __annotation: { text: annotation.name, value: annotation },\n __sceneObject: { text: \"__sceneObject\", value: layer }\n };\n const queryRequest = __spreadValues(__spreadProps(__spreadValues({\n startTime: Date.now(),\n requestId: getNextRequestId(),\n range: timeRange.state.value,\n maxDataPoints,\n scopedVars\n }, interval), {\n app: CoreApp.Dashboard,\n timezone: timeRange.getTimeZone(),\n targets: [\n __spreadProps(__spreadValues({}, processedQuery), {\n refId: \"Anno\"\n })\n ]\n }), getEnrichedDataRequest(layer));\n const runRequest = getRunRequest();\n return runRequest(datasource, queryRequest).pipe(\n mergeMap((panelData) => {\n const data = (panelData == null ? void 0 : panelData.series.length) ? panelData.series : panelData.annotations;\n if (!(data == null ? void 0 : data.length)) {\n return of({\n state: panelData.state,\n events: []\n });\n }\n data.forEach((frame) => {\n var _a2;\n if (!((_a2 = frame.meta) == null ? void 0 : _a2.dataTopic)) {\n frame.meta = __spreadProps(__spreadValues({}, frame.meta || {}), { dataTopic: DataTopic.Annotations });\n }\n });\n return processor.processEvents(annotation, data).pipe(\n map((events) => {\n return {\n state: panelData.state,\n events: events || []\n };\n })\n );\n })\n );\n}\n\nexport { executeAnnotationQuery };\n//# sourceMappingURL=standardAnnotationQuery.js.map\n","import { config } from '@grafana/runtime';\nimport { cloneDeep, partition, groupBy, map, every, find, head, concat } from 'lodash';\n\nvar __defProp = Object.defineProperty;\nvar __getOwnPropSymbols = Object.getOwnPropertySymbols;\nvar __hasOwnProp = Object.prototype.hasOwnProperty;\nvar __propIsEnum = Object.prototype.propertyIsEnumerable;\nvar __defNormalProp = (obj, key, value) => key in obj ? __defProp(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;\nvar __spreadValues = (a, b) => {\n for (var prop in b || (b = {}))\n if (__hasOwnProp.call(b, prop))\n __defNormalProp(a, prop, b[prop]);\n if (__getOwnPropSymbols)\n for (var prop of __getOwnPropSymbols(b)) {\n if (__propIsEnum.call(b, prop))\n __defNormalProp(a, prop, b[prop]);\n }\n return a;\n};\nfunction postProcessQueryResult(annotation, results) {\n if (annotation.snapshotData) {\n annotation = cloneDeep(annotation);\n delete annotation.snapshotData;\n }\n const processed = results.map((item) => {\n var _a;\n const processedItem = __spreadValues({}, item);\n processedItem.source = annotation;\n processedItem.color = config.theme2.visualization.getColorByName(annotation.iconColor);\n processedItem.type = annotation.name;\n processedItem.isRegion = Boolean(processedItem.timeEnd && processedItem.time !== processedItem.timeEnd);\n switch ((_a = processedItem.newState) == null ? void 0 : _a.toLowerCase()) {\n case \"pending\":\n processedItem.color = \"yellow\";\n break;\n case \"alerting\":\n processedItem.color = \"red\";\n break;\n case \"ok\":\n processedItem.color = \"green\";\n break;\n case \"normal\":\n processedItem.color = \"green\";\n break;\n case \"no_data\":\n processedItem.color = \"gray\";\n break;\n case \"nodata\":\n processedItem.color = \"gray\";\n break;\n }\n return processedItem;\n });\n return processed;\n}\nfunction dedupAnnotations(annotations) {\n let dedup = [];\n const events = partition(annotations, \"id\");\n const eventsById = groupBy(events[0], \"id\");\n dedup = map(eventsById, (eventGroup) => {\n if (eventGroup.length > 1 && !every(eventGroup, isPanelAlert)) {\n return find(eventGroup, (event) => {\n return event.eventType !== \"panel-alert\";\n });\n } else {\n return head(eventGroup);\n }\n });\n dedup = concat(dedup, events[1]);\n return dedup;\n}\nfunction isPanelAlert(event) {\n return event.eventType === \"panel-alert\";\n}\n\nexport { dedupAnnotations, postProcessQueryResult };\n//# sourceMappingURL=utils.js.map\n","import { DataTopic, arrayToDataFrame } from '@grafana/data';\nimport { LoadingState } from '@grafana/schema';\nimport { map } from 'rxjs';\nimport { emptyPanelData } from '../../../core/SceneDataNode.js';\nimport { sceneGraph } from '../../../core/sceneGraph/index.js';\nimport { getDataSource } from '../../../utils/getDataSource.js';\nimport { getMessageFromError } from '../../../utils/getMessageFromError.js';\nimport { writeSceneLog } from '../../../utils/writeSceneLog.js';\nimport { SceneDataLayerBase } from '../SceneDataLayerBase.js';\nimport { executeAnnotationQuery } from './standardAnnotationQuery.js';\nimport { postProcessQueryResult, dedupAnnotations } from './utils.js';\n\nvar __defProp = Object.defineProperty;\nvar __defProps = Object.defineProperties;\nvar __getOwnPropDescs = Object.getOwnPropertyDescriptors;\nvar __getOwnPropSymbols = Object.getOwnPropertySymbols;\nvar __hasOwnProp = Object.prototype.hasOwnProperty;\nvar __propIsEnum = Object.prototype.propertyIsEnumerable;\nvar __defNormalProp = (obj, key, value) => key in obj ? __defProp(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;\nvar __spreadValues = (a, b) => {\n for (var prop in b || (b = {}))\n if (__hasOwnProp.call(b, prop))\n __defNormalProp(a, prop, b[prop]);\n if (__getOwnPropSymbols)\n for (var prop of __getOwnPropSymbols(b)) {\n if (__propIsEnum.call(b, prop))\n __defNormalProp(a, prop, b[prop]);\n }\n return a;\n};\nvar __spreadProps = (a, b) => __defProps(a, __getOwnPropDescs(b));\nclass AnnotationsDataLayer extends SceneDataLayerBase {\n constructor(initialState) {\n super(\n __spreadValues({\n isEnabled: true\n }, initialState),\n [\"query\"]\n );\n this.topic = DataTopic.Annotations;\n }\n onEnable() {\n const timeRange = sceneGraph.getTimeRange(this);\n this._timeRangeSub = timeRange.subscribeToState(() => {\n this.runWithTimeRange(timeRange);\n });\n }\n onDisable() {\n var _a;\n (_a = this._timeRangeSub) == null ? void 0 : _a.unsubscribe();\n }\n runLayer() {\n writeSceneLog(\"AnnotationsDataLayer\", \"run layer\");\n const timeRange = sceneGraph.getTimeRange(this);\n this.runWithTimeRange(timeRange);\n }\n async runWithTimeRange(timeRange) {\n const { query } = this.state;\n if (this.querySub) {\n this.querySub.unsubscribe();\n }\n if (sceneGraph.hasVariableDependencyInLoadingState(this)) {\n writeSceneLog(\"AnnotationsDataLayer\", \"Variable dependency is in loading state, skipping query execution\");\n this.setState({ _isWaitingForVariables: true });\n return;\n }\n try {\n const ds = await this.resolveDataSource(query);\n const queryExecution = executeAnnotationQuery(ds, timeRange, query, this).pipe(\n map((events) => {\n const stateUpdate = this.processEvents(query, events);\n return stateUpdate;\n })\n );\n this.querySub = queryExecution.subscribe((stateUpdate) => {\n this.publishResults(stateUpdate, DataTopic.Annotations);\n });\n } catch (e) {\n this.publishResults(\n __spreadProps(__spreadValues({}, emptyPanelData), {\n state: LoadingState.Error,\n errors: [\n {\n message: getMessageFromError(e)\n }\n ]\n }),\n DataTopic.Annotations\n );\n console.error(\"AnnotationsDataLayer error\", e);\n }\n }\n async resolveDataSource(query) {\n return await getDataSource(query.datasource || void 0, {});\n }\n processEvents(query, events) {\n let processedEvents = postProcessQueryResult(query, events.events || []);\n processedEvents = dedupAnnotations(processedEvents);\n const stateUpdate = __spreadProps(__spreadValues({}, emptyPanelData), { state: events.state });\n const df = arrayToDataFrame(processedEvents);\n df.meta = __spreadProps(__spreadValues({}, df.meta), {\n dataTopic: DataTopic.Annotations\n });\n stateUpdate.annotations = [df];\n return stateUpdate;\n }\n}\n\nexport { AnnotationsDataLayer };\n//# sourceMappingURL=AnnotationsDataLayer.js.map\n","import { SceneTimeRangeTransformerBase } from './SceneTimeRangeTransformerBase.js';\nimport { getDefaultTimeRange } from '@grafana/data';\nimport { evaluateTimeRange } from '../utils/evaluateTimeRange.js';\n\nvar __defProp = Object.defineProperty;\nvar __defProps = Object.defineProperties;\nvar __getOwnPropDescs = Object.getOwnPropertyDescriptors;\nvar __getOwnPropSymbols = Object.getOwnPropertySymbols;\nvar __hasOwnProp = Object.prototype.hasOwnProperty;\nvar __propIsEnum = Object.prototype.propertyIsEnumerable;\nvar __defNormalProp = (obj, key, value) => key in obj ? __defProp(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;\nvar __spreadValues = (a, b) => {\n for (var prop in b || (b = {}))\n if (__hasOwnProp.call(b, prop))\n __defNormalProp(a, prop, b[prop]);\n if (__getOwnPropSymbols)\n for (var prop of __getOwnPropSymbols(b)) {\n if (__propIsEnum.call(b, prop))\n __defNormalProp(a, prop, b[prop]);\n }\n return a;\n};\nvar __spreadProps = (a, b) => __defProps(a, __getOwnPropDescs(b));\nclass SceneTimeZoneOverride extends SceneTimeRangeTransformerBase {\n constructor(state) {\n super(__spreadProps(__spreadValues({}, state), {\n timeZone: state.timeZone,\n from: \"now-6h\",\n to: \"now\",\n value: getDefaultTimeRange()\n }));\n }\n ancestorTimeRangeChanged(timeRange) {\n this.setState(__spreadProps(__spreadValues({}, timeRange), {\n timeZone: this.state.timeZone,\n value: evaluateTimeRange(timeRange.from, timeRange.to, this.state.timeZone, timeRange.fiscalYearStartMonth)\n }));\n }\n getTimeZone() {\n return this.state.timeZone;\n }\n onTimeZoneChange(timeZone) {\n this.setState({\n timeZone,\n value: evaluateTimeRange(\n this.state.from,\n this.state.to,\n this.state.timeZone,\n this.getAncestorTimeRange().state.fiscalYearStartMonth\n )\n });\n }\n}\n\nexport { SceneTimeZoneOverride };\n//# sourceMappingURL=SceneTimeZoneOverride.js.map\n","import { rangeUtil, dateTime } from '@grafana/data';\nimport { useStyles2, ButtonGroup, ToolbarButton, Checkbox, ButtonSelect } from '@grafana/ui';\nimport React from 'react';\nimport { sceneGraph } from '../core/sceneGraph/index.js';\nimport { SceneObjectBase } from '../core/SceneObjectBase.js';\nimport { SceneObjectUrlSyncConfig } from '../services/SceneObjectUrlSyncConfig.js';\nimport { parseUrlParam } from '../utils/parseUrlParam.js';\nimport { css } from '@emotion/css';\n\nvar __defProp = Object.defineProperty;\nvar __getOwnPropSymbols = Object.getOwnPropertySymbols;\nvar __hasOwnProp = Object.prototype.hasOwnProperty;\nvar __propIsEnum = Object.prototype.propertyIsEnumerable;\nvar __defNormalProp = (obj, key, value) => key in obj ? __defProp(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;\nvar __spreadValues = (a, b) => {\n for (var prop in b || (b = {}))\n if (__hasOwnProp.call(b, prop))\n __defNormalProp(a, prop, b[prop]);\n if (__getOwnPropSymbols)\n for (var prop of __getOwnPropSymbols(b)) {\n if (__propIsEnum.call(b, prop))\n __defNormalProp(a, prop, b[prop]);\n }\n return a;\n};\nconst PREVIOUS_PERIOD_VALUE = \"__previousPeriod\";\nconst NO_PERIOD_VALUE = \"__noPeriod\";\nconst PREVIOUS_PERIOD_COMPARE_OPTION = {\n label: \"Previous period\",\n value: PREVIOUS_PERIOD_VALUE\n};\nconst NO_COMPARE_OPTION = {\n label: \"No comparison\",\n value: NO_PERIOD_VALUE\n};\nconst DEFAULT_COMPARE_OPTIONS = [\n { label: \"Day before\", value: \"24h\" },\n { label: \"Week before\", value: \"1w\" },\n { label: \"Month before\", value: \"1M\" }\n];\nclass SceneTimeRangeCompare extends SceneObjectBase {\n constructor(state) {\n super(__spreadValues({ compareOptions: DEFAULT_COMPARE_OPTIONS }, state));\n this._urlSync = new SceneObjectUrlSyncConfig(this, { keys: [\"compareWith\"] });\n this._onActivate = () => {\n const sceneTimeRange = sceneGraph.getTimeRange(this);\n this.setState({ compareOptions: this.getCompareOptions(sceneTimeRange.state.value) });\n this._subs.add(\n sceneTimeRange.subscribeToState((timeRange) => {\n const compareOptions = this.getCompareOptions(timeRange.value);\n const stateUpdate = { compareOptions };\n if (Boolean(this.state.compareWith) && !compareOptions.find(({ value }) => value === this.state.compareWith)) {\n stateUpdate.compareWith = PREVIOUS_PERIOD_VALUE;\n }\n this.setState(stateUpdate);\n })\n );\n };\n this.getCompareOptions = (timeRange) => {\n const diffDays = Math.ceil(timeRange.to.diff(timeRange.from));\n const matchIndex = DEFAULT_COMPARE_OPTIONS.findIndex(({ value }) => {\n const intervalInMs = rangeUtil.intervalToMs(value);\n return intervalInMs >= diffDays;\n });\n return [\n NO_COMPARE_OPTION,\n PREVIOUS_PERIOD_COMPARE_OPTION,\n ...DEFAULT_COMPARE_OPTIONS.slice(matchIndex).map(({ label, value }) => ({ label, value }))\n ];\n };\n this.onCompareWithChanged = (compareWith) => {\n if (compareWith === NO_PERIOD_VALUE) {\n this.onClearCompare();\n } else {\n this.setState({ compareWith });\n }\n };\n this.onClearCompare = () => {\n this.setState({ compareWith: void 0 });\n };\n this.addActivationHandler(this._onActivate);\n }\n getCompareTimeRange(timeRange) {\n let compareFrom;\n let compareTo;\n if (this.state.compareWith) {\n if (this.state.compareWith === PREVIOUS_PERIOD_VALUE) {\n const diffMs = timeRange.to.diff(timeRange.from);\n compareFrom = dateTime(timeRange.from).subtract(diffMs);\n compareTo = dateTime(timeRange.to).subtract(diffMs);\n } else {\n compareFrom = dateTime(timeRange.from).subtract(rangeUtil.intervalToMs(this.state.compareWith));\n compareTo = dateTime(timeRange.to).subtract(rangeUtil.intervalToMs(this.state.compareWith));\n }\n return {\n from: compareFrom,\n to: compareTo,\n raw: {\n from: compareFrom,\n to: compareTo\n }\n };\n }\n return void 0;\n }\n getUrlState() {\n return {\n compareWith: this.state.compareWith\n };\n }\n updateFromUrl(values) {\n if (!values.compareWith) {\n return;\n }\n const compareWith = parseUrlParam(values.compareWith);\n if (compareWith) {\n const compareOptions = this.getCompareOptions(sceneGraph.getTimeRange(this).state.value);\n if (compareOptions.find(({ value }) => value === compareWith)) {\n this.setState({\n compareWith\n });\n } else {\n this.setState({\n compareWith: \"__previousPeriod\"\n });\n }\n }\n }\n}\nSceneTimeRangeCompare.Component = SceneTimeRangeCompareRenderer;\nfunction SceneTimeRangeCompareRenderer({ model }) {\n var _a;\n const styles = useStyles2(getStyles);\n const { compareWith, compareOptions } = model.useState();\n const [previousCompare, setPreviousCompare] = React.useState(compareWith);\n const previousValue = (_a = compareOptions.find(({ value: value2 }) => value2 === previousCompare)) != null ? _a : PREVIOUS_PERIOD_COMPARE_OPTION;\n const value = compareOptions.find(({ value: value2 }) => value2 === compareWith);\n const enabled = Boolean(value);\n const onClick = () => {\n if (enabled) {\n setPreviousCompare(compareWith);\n model.onClearCompare();\n } else if (!enabled) {\n model.onCompareWithChanged(previousValue.value);\n }\n };\n return /* @__PURE__ */ React.createElement(ButtonGroup, null, /* @__PURE__ */ React.createElement(ToolbarButton, {\n variant: \"canvas\",\n tooltip: \"Enable time frame comparison\",\n onClick: (e) => {\n e.stopPropagation();\n e.preventDefault();\n onClick();\n }\n }, /* @__PURE__ */ React.createElement(Checkbox, {\n label: \" \",\n value: enabled,\n onClick\n }), \"Comparison\"), enabled ? /* @__PURE__ */ React.createElement(ButtonSelect, {\n variant: \"canvas\",\n value,\n options: compareOptions,\n onChange: (v) => {\n model.onCompareWithChanged(v.value);\n }\n }) : /* @__PURE__ */ React.createElement(ToolbarButton, {\n className: styles.previewButton,\n disabled: true,\n variant: \"canvas\",\n isOpen: false\n }, previousValue.label));\n}\nfunction getStyles(theme) {\n return {\n previewButton: css({\n \"&:disabled\": {\n border: `1px solid ${theme.colors.secondary.border}`,\n color: theme.colors.text.disabled,\n opacity: 1\n }\n })\n };\n}\n\nexport { DEFAULT_COMPARE_OPTIONS, NO_COMPARE_OPTION, PREVIOUS_PERIOD_COMPARE_OPTION, SceneTimeRangeCompare };\n//# sourceMappingURL=SceneTimeRangeCompare.js.map\n","const getCompareSeriesRefId = (refId) => `${refId}-compare`;\n\nexport { getCompareSeriesRefId };\n//# sourceMappingURL=getCompareSeriesRefId.js.map\n","import { FieldType } from '@grafana/data';\nimport { config } from '@grafana/runtime';\nimport { map } from 'rxjs';\nimport { getCompareSeriesRefId } from '../utils/getCompareSeriesRefId.js';\n\nvar __defProp = Object.defineProperty;\nvar __defProps = Object.defineProperties;\nvar __getOwnPropDescs = Object.getOwnPropertyDescriptors;\nvar __getOwnPropSymbols = Object.getOwnPropertySymbols;\nvar __hasOwnProp = Object.prototype.hasOwnProperty;\nvar __propIsEnum = Object.prototype.propertyIsEnumerable;\nvar __defNormalProp = (obj, key, value) => key in obj ? __defProp(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;\nvar __spreadValues = (a, b) => {\n for (var prop in b || (b = {}))\n if (__hasOwnProp.call(b, prop))\n __defNormalProp(a, prop, b[prop]);\n if (__getOwnPropSymbols)\n for (var prop of __getOwnPropSymbols(b)) {\n if (__propIsEnum.call(b, prop))\n __defNormalProp(a, prop, b[prop]);\n }\n return a;\n};\nvar __spreadProps = (a, b) => __defProps(a, __getOwnPropDescs(b));\nfunction timeShiftQueryResponseOperator(data) {\n return data.pipe(\n map(([p, s]) => {\n const diff = s.timeRange.from.diff(p.timeRange.from);\n s.series.forEach((series) => {\n series.refId = getCompareSeriesRefId(series.refId || \"\");\n series.meta = __spreadProps(__spreadValues({}, series.meta), {\n timeCompare: {\n diffMs: diff,\n isTimeShiftQuery: true\n }\n });\n series.fields.forEach((field) => {\n if (field.type === FieldType.time) {\n field.values = field.values.map((v) => {\n return diff < 0 ? v - diff : v + diff;\n });\n }\n field.config = __spreadProps(__spreadValues({}, field.config), {\n color: {\n mode: \"fixed\",\n fixedColor: config.theme.palette.gray60\n }\n });\n return field;\n });\n });\n return __spreadProps(__spreadValues({}, p), {\n series: [...p.series, ...s.series]\n });\n })\n );\n}\n\nexport { timeShiftQueryResponseOperator };\n//# sourceMappingURL=timeShiftQueryResponseOperator.js.map\n","var __defProp = Object.defineProperty;\nvar __defProps = Object.defineProperties;\nvar __getOwnPropDescs = Object.getOwnPropertyDescriptors;\nvar __getOwnPropSymbols = Object.getOwnPropertySymbols;\nvar __hasOwnProp = Object.prototype.hasOwnProperty;\nvar __propIsEnum = Object.prototype.propertyIsEnumerable;\nvar __defNormalProp = (obj, key, value) => key in obj ? __defProp(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;\nvar __spreadValues = (a, b) => {\n for (var prop in b || (b = {}))\n if (__hasOwnProp.call(b, prop))\n __defNormalProp(a, prop, b[prop]);\n if (__getOwnPropSymbols)\n for (var prop of __getOwnPropSymbols(b)) {\n if (__propIsEnum.call(b, prop))\n __defNormalProp(a, prop, b[prop]);\n }\n return a;\n};\nvar __spreadProps = (a, b) => __defProps(a, __getOwnPropDescs(b));\nfunction filterAnnotations(data, filters) {\n var _a;\n if (!Array.isArray(data) || data.length === 0) {\n return data;\n }\n const rows = Array.from({ length: data.length }, () => /* @__PURE__ */ new Set());\n let frameIdx = 0;\n for (const frame of data) {\n for (let index = 0; index < frame.length; index++) {\n if (rows[frameIdx].has(index)) {\n continue;\n }\n let matching = true;\n const panelIdField = frame.fields.find((f) => f.name === \"panelId\");\n const sourceField = frame.fields.find((f) => f.name === \"source\");\n if (sourceField) {\n if (panelIdField && sourceField.values[index].type === \"dashboard\") {\n matching = panelIdField.values[index] === filters.panelId;\n }\n const sourceFilter = sourceField.values[index].filter;\n if (sourceFilter) {\n const includes = ((_a = sourceFilter.ids) != null ? _a : []).includes(filters.panelId);\n if (sourceFilter.exclude) {\n if (includes) {\n matching = false;\n }\n } else if (!includes) {\n matching = false;\n }\n }\n }\n if (matching) {\n rows[frameIdx].add(index);\n }\n }\n frameIdx++;\n }\n const processed = [];\n frameIdx = 0;\n for (const frame of data) {\n const frameLength = rows[frameIdx].size;\n const fields = [];\n for (const field of frame.fields) {\n const buffer = [];\n for (let index = 0; index < frame.length; index++) {\n if (rows[frameIdx].has(index)) {\n buffer.push(field.values[index]);\n continue;\n }\n }\n fields.push(__spreadProps(__spreadValues({}, field), {\n values: buffer\n }));\n }\n processed.push(__spreadProps(__spreadValues({}, frame), {\n fields,\n length: frameLength\n }));\n frameIdx++;\n }\n return processed;\n}\n\nexport { filterAnnotations };\n//# sourceMappingURL=filterAnnotations.js.map\n","function isSceneObject(obj) {\n return obj.useState !== void 0;\n}\nfunction isDataRequestEnricher(obj) {\n return \"enrichDataRequest\" in obj;\n}\n\nexport { isDataRequestEnricher, isSceneObject };\n//# sourceMappingURL=types.js.map\n","import { getTemplateSrv, getDataSourceSrv } from '@grafana/runtime';\n\nlet originalGetAdhocFilters = void 0;\nlet allActiveFilterSets = /* @__PURE__ */ new Set();\nfunction patchGetAdhocFilters(filterSet) {\n filterSet.addActivationHandler(() => {\n allActiveFilterSets.add(filterSet);\n return () => allActiveFilterSets.delete(filterSet);\n });\n if (originalGetAdhocFilters) {\n return;\n }\n const templateSrv = getTemplateSrv();\n if (!(templateSrv == null ? void 0 : templateSrv.getAdhocFilters)) {\n console.log(\"Failed to patch getAdhocFilters\");\n return;\n }\n originalGetAdhocFilters = templateSrv.getAdhocFilters;\n templateSrv.getAdhocFilters = function getAdhocFiltersScenePatch(dsName) {\n var _a;\n if (allActiveFilterSets.size === 0) {\n return originalGetAdhocFilters.call(templateSrv);\n }\n const ds = getDataSourceSrv().getInstanceSettings(dsName);\n if (!ds) {\n return [];\n }\n for (const filter of allActiveFilterSets.values()) {\n if (((_a = filter.state.datasource) == null ? void 0 : _a.uid) === ds.uid) {\n return filter.state.filters;\n }\n }\n return [];\n }.bind(templateSrv);\n}\nfunction findActiveAdHocFilterSetByUid(dsUid) {\n var _a;\n for (const filter of allActiveFilterSets.values()) {\n if (((_a = filter.state.datasource) == null ? void 0 : _a.uid) === dsUid) {\n return filter;\n }\n }\n return void 0;\n}\n\nexport { findActiveAdHocFilterSetByUid, patchGetAdhocFilters };\n//# sourceMappingURL=patchGetAdhocFilters.js.map\n","import { cloneDeep } from 'lodash';\nimport { ReplaySubject, merge, mergeAll, map, forkJoin } from 'rxjs';\nimport { LoadingState } from '@grafana/schema';\nimport { rangeUtil, preProcessPanelData, DataTopic, DataFrameView } from '@grafana/data';\nimport { getRunRequest, toDataQueryError } from '@grafana/runtime';\nimport { SceneObjectBase } from '../core/SceneObjectBase.js';\nimport { sceneGraph } from '../core/sceneGraph/index.js';\nimport { getDataSource } from '../utils/getDataSource.js';\nimport { VariableDependencyConfig } from '../variables/VariableDependencyConfig.js';\nimport { writeSceneLog } from '../utils/writeSceneLog.js';\nimport { VariableValueRecorder } from '../variables/VariableValueRecorder.js';\nimport { emptyPanelData } from '../core/SceneDataNode.js';\nimport { SceneTimeRangeCompare } from '../components/SceneTimeRangeCompare.js';\nimport { getClosest } from '../core/sceneGraph/utils.js';\nimport { timeShiftQueryResponseOperator } from './timeShiftQueryResponseOperator.js';\nimport { filterAnnotations } from './layers/annotations/filterAnnotations.js';\nimport { getEnrichedDataRequest } from './getEnrichedDataRequest.js';\nimport { findActiveAdHocFilterSetByUid } from '../variables/adhoc/patchGetAdhocFilters.js';\n\nvar __defProp = Object.defineProperty;\nvar __defProps = Object.defineProperties;\nvar __getOwnPropDescs = Object.getOwnPropertyDescriptors;\nvar __getOwnPropSymbols = Object.getOwnPropertySymbols;\nvar __hasOwnProp = Object.prototype.hasOwnProperty;\nvar __propIsEnum = Object.prototype.propertyIsEnumerable;\nvar __defNormalProp = (obj, key, value) => key in obj ? __defProp(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;\nvar __spreadValues = (a, b) => {\n for (var prop in b || (b = {}))\n if (__hasOwnProp.call(b, prop))\n __defNormalProp(a, prop, b[prop]);\n if (__getOwnPropSymbols)\n for (var prop of __getOwnPropSymbols(b)) {\n if (__propIsEnum.call(b, prop))\n __defNormalProp(a, prop, b[prop]);\n }\n return a;\n};\nvar __spreadProps = (a, b) => __defProps(a, __getOwnPropDescs(b));\nlet counter = 100;\nfunction getNextRequestId() {\n return \"SQR\" + counter++;\n}\nclass SceneQueryRunner extends SceneObjectBase {\n constructor(initialState) {\n super(initialState);\n this._variableValueRecorder = new VariableValueRecorder();\n this._results = new ReplaySubject();\n this._scopedVars = { __sceneObject: { value: this, text: \"__sceneObject\" } };\n this._variableDependency = new VariableDependencyConfig(this, {\n statePaths: [\"queries\", \"datasource\"],\n onVariableUpdatesCompleted: (variables, dependencyChanged) => this.onVariableUpdatesCompleted(variables, dependencyChanged)\n });\n this.prepareRequests = (timeRange, ds) => {\n const comparer = this.getTimeCompare();\n const { minInterval, queries } = this.state;\n let secondaryRequest;\n let request = __spreadValues({\n app: \"scenes\",\n requestId: getNextRequestId(),\n timezone: timeRange.getTimeZone(),\n panelId: 1,\n range: timeRange.state.value,\n interval: \"1s\",\n intervalMs: 1e3,\n targets: cloneDeep(queries),\n maxDataPoints: this.getMaxDataPoints(),\n scopedVars: this._scopedVars,\n startTime: Date.now(),\n liveStreaming: this.state.liveStreaming,\n rangeRaw: {\n from: timeRange.state.from,\n to: timeRange.state.to\n }\n }, getEnrichedDataRequest(this));\n if (this._adhocFilterSet) {\n request.filters = this._adhocFilterSet.state.filters;\n }\n request.targets = request.targets.map((query) => {\n if (!query.datasource) {\n query.datasource = ds.getRef();\n }\n return query;\n });\n const lowerIntervalLimit = minInterval ? minInterval : ds.interval;\n const norm = rangeUtil.calculateInterval(timeRange.state.value, request.maxDataPoints, lowerIntervalLimit);\n request.scopedVars = Object.assign({}, request.scopedVars, {\n __interval: { text: norm.interval, value: norm.interval },\n __interval_ms: { text: norm.intervalMs.toString(), value: norm.intervalMs }\n });\n request.interval = norm.interval;\n request.intervalMs = norm.intervalMs;\n const primaryTimeRange = timeRange.state.value;\n if (comparer) {\n const secondaryTimeRange = comparer.getCompareTimeRange(primaryTimeRange);\n if (secondaryTimeRange) {\n secondaryRequest = __spreadProps(__spreadValues({}, request), {\n range: secondaryTimeRange,\n requestId: getNextRequestId()\n });\n request = __spreadProps(__spreadValues({}, request), {\n range: primaryTimeRange\n });\n }\n }\n return [request, secondaryRequest];\n };\n this.onDataReceived = (data) => {\n this._results.next({ origin: this, data });\n const preProcessedData = preProcessPanelData(data, this.state.data);\n const dataWithLayersApplied = this._combineDataLayers(preProcessedData);\n let hasFetchedData = this.state._hasFetchedData;\n if (!hasFetchedData && preProcessedData.state !== LoadingState.Loading) {\n hasFetchedData = true;\n }\n this.setState({ data: dataWithLayersApplied, _hasFetchedData: hasFetchedData });\n };\n this.addActivationHandler(() => this._onActivate());\n }\n getResultsStream() {\n return this._results;\n }\n _onActivate() {\n const timeRange = sceneGraph.getTimeRange(this);\n const comparer = this.getTimeCompare();\n if (comparer) {\n this._subs.add(\n comparer.subscribeToState((n, p) => {\n if (n.compareWith !== p.compareWith) {\n this.runQueries();\n }\n })\n );\n }\n this._subs.add(\n timeRange.subscribeToState(() => {\n this.runWithTimeRange(timeRange);\n })\n );\n if (this.shouldRunQueriesOnActivate()) {\n this.runQueries();\n }\n return () => this._onDeactivate();\n }\n _handleDataLayers() {\n const dataLayers = sceneGraph.getDataLayers(this);\n const observables = [];\n const resultsMap = /* @__PURE__ */ new Map();\n if (dataLayers.length > 0) {\n dataLayers.forEach((layer) => {\n observables.push(layer.getResultsStream());\n });\n this._dataLayersSub = merge(observables).pipe(\n mergeAll(),\n map((v) => {\n resultsMap.set(v.origin.state.key, v.data);\n return resultsMap;\n })\n ).subscribe((result) => {\n this._onLayersReceived(result);\n });\n }\n }\n _onLayersReceived(results) {\n var _a;\n const timeRange = sceneGraph.getTimeRange(this);\n const dataLayers = sceneGraph.getDataLayers(this);\n const { dataLayerFilter } = this.state;\n let annotations = [];\n let alertStates = [];\n let alertState;\n const layerKeys = Array.from(results.keys());\n Array.from(results.values()).forEach((result, i) => {\n const layerKey = layerKeys[i];\n const layer = dataLayers.find((l) => l.state.key === layerKey);\n if (layer) {\n if (layer.topic === DataTopic.Annotations && result[DataTopic.Annotations]) {\n annotations = annotations.concat(result[DataTopic.Annotations]);\n }\n if (layer.topic === \"alertStates\") {\n alertStates = alertStates.concat(result.series);\n }\n }\n });\n if (dataLayerFilter == null ? void 0 : dataLayerFilter.panelId) {\n if (annotations.length > 0) {\n annotations = filterAnnotations(annotations, dataLayerFilter);\n }\n if (alertStates.length > 0) {\n for (const frame of alertStates) {\n const frameView = new DataFrameView(frame);\n for (const row of frameView) {\n if (row.panelId === dataLayerFilter.panelId) {\n alertState = row;\n break;\n }\n }\n }\n }\n }\n const baseStateUpdate = this.state.data ? this.state.data : __spreadProps(__spreadValues({}, emptyPanelData), { timeRange: timeRange.state.value });\n this.setState({\n data: __spreadProps(__spreadValues({}, baseStateUpdate), {\n annotations,\n alertState: alertState != null ? alertState : (_a = this.state.data) == null ? void 0 : _a.alertState\n })\n });\n }\n onVariableUpdatesCompleted(_variablesThatHaveChanged, dependencyChanged) {\n if (this.state._isWaitingForVariables) {\n this.runQueries();\n return;\n }\n if (dependencyChanged) {\n this.runQueries();\n }\n }\n shouldRunQueriesOnActivate() {\n if (!this.state.maxDataPoints && this.state.maxDataPointsFromWidth && !this._containerWidth) {\n return false;\n }\n if (this._variableValueRecorder.hasDependenciesChanged(this)) {\n writeSceneLog(\n \"SceneQueryRunner\",\n \"Variable dependency changed while inactive, shouldRunQueriesOnActivate returns true\"\n );\n return true;\n }\n if (!this.state.data) {\n return true;\n }\n if (this._isDataTimeRangeStale(this.state.data)) {\n return true;\n }\n return false;\n }\n _isDataTimeRangeStale(data) {\n const timeRange = sceneGraph.getTimeRange(this);\n const stateTimeRange = timeRange.state.value;\n const dataTimeRange = data.timeRange;\n if (stateTimeRange.from.unix() === dataTimeRange.from.unix() && stateTimeRange.to.unix() === dataTimeRange.to.unix()) {\n return false;\n }\n writeSceneLog(\"SceneQueryRunner\", \"Data time range is stale\");\n return true;\n }\n _onDeactivate() {\n if (this._querySub) {\n this._querySub.unsubscribe();\n this._querySub = void 0;\n }\n if (this._dataLayersSub) {\n this._dataLayersSub.unsubscribe();\n this._dataLayersSub = void 0;\n }\n if (this._adhocFilterSub) {\n this._adhocFilterSub.unsubscribe();\n }\n this._variableValueRecorder.recordCurrentDependencyValuesForSceneObject(this);\n }\n setContainerWidth(width) {\n if (!this._containerWidth && width > 0) {\n this._containerWidth = width;\n if (this.state.maxDataPointsFromWidth && !this.state.maxDataPoints) {\n setTimeout(() => {\n if (this.isActive && !this.state._hasFetchedData) {\n this.runQueries();\n }\n }, 0);\n }\n } else {\n if (width > 0) {\n this._containerWidth = width;\n }\n }\n }\n isDataReadyToDisplay() {\n return Boolean(this.state._hasFetchedData);\n }\n runQueries() {\n const timeRange = sceneGraph.getTimeRange(this);\n this.runWithTimeRange(timeRange);\n }\n getMaxDataPoints() {\n var _a;\n if (this.state.maxDataPoints) {\n return this.state.maxDataPoints;\n }\n return this.state.maxDataPointsFromWidth ? (_a = this._containerWidth) != null ? _a : 500 : 500;\n }\n cancelQuery() {\n var _a;\n (_a = this._querySub) == null ? void 0 : _a.unsubscribe();\n if (this._dataLayersSub) {\n this._dataLayersSub.unsubscribe();\n this._dataLayersSub = void 0;\n }\n this.setState({\n data: __spreadProps(__spreadValues({}, this.state.data), { state: LoadingState.Done })\n });\n }\n async runWithTimeRange(timeRange) {\n var _a, _b;\n if (!this._dataLayersSub) {\n this._handleDataLayers();\n }\n const runRequest = getRunRequest();\n (_a = this._querySub) == null ? void 0 : _a.unsubscribe();\n if (sceneGraph.hasVariableDependencyInLoadingState(this)) {\n writeSceneLog(\"SceneQueryRunner\", \"Variable dependency is in loading state, skipping query execution\");\n this.setState({ _isWaitingForVariables: true });\n return;\n }\n if (this.state._isWaitingForVariables) {\n this.setState({ _isWaitingForVariables: false });\n }\n const { queries } = this.state;\n if (!(queries == null ? void 0 : queries.length)) {\n this._setNoDataState();\n return;\n }\n try {\n const datasource = (_b = this.state.datasource) != null ? _b : findFirstDatasource(queries);\n const ds = await getDataSource(datasource, this._scopedVars);\n if (!this._adhocFilterSet) {\n this.findAndSubscribeToAdhocFilters(datasource == null ? void 0 : datasource.uid);\n }\n const [request, secondaryRequest] = this.prepareRequests(timeRange, ds);\n writeSceneLog(\"SceneQueryRunner\", \"Starting runRequest\", this.state.key);\n if (secondaryRequest) {\n this._querySub = forkJoin([runRequest(ds, request), runRequest(ds, secondaryRequest)]).pipe(timeShiftQueryResponseOperator).subscribe(this.onDataReceived);\n } else {\n this._querySub = runRequest(ds, request).subscribe(this.onDataReceived);\n }\n } catch (err) {\n console.error(\"PanelQueryRunner Error\", err);\n const result = __spreadProps(__spreadValues(__spreadValues({}, emptyPanelData), this.state.data), {\n state: LoadingState.Error,\n errors: [toDataQueryError(err)]\n });\n this.setState({\n data: result\n });\n }\n }\n _combineDataLayers(data) {\n if (this.state.data && this.state.data.annotations) {\n data.annotations = (data.annotations || []).concat(this.state.data.annotations);\n }\n if (this.state.data && this.state.data.alertState) {\n data.alertState = this.state.data.alertState;\n }\n return data;\n }\n _setNoDataState() {\n if (this.state.data !== emptyPanelData) {\n this.setState({ data: emptyPanelData });\n }\n }\n getTimeCompare() {\n if (!this.parent) {\n return null;\n }\n return getClosest(this.parent, (s) => {\n let found = null;\n if (s instanceof SceneTimeRangeCompare) {\n return s;\n }\n s.forEachChild((child) => {\n if (child instanceof SceneTimeRangeCompare) {\n found = child;\n }\n });\n return found;\n });\n }\n findAndSubscribeToAdhocFilters(uid) {\n var _a;\n const set = findActiveAdHocFilterSetByUid(uid);\n if (!set || set.state.applyMode !== \"same-datasource\") {\n return;\n }\n this._adhocFilterSet = set;\n this._adhocFilterSub = (_a = this._adhocFilterSet) == null ? void 0 : _a.subscribeToState(() => this.runQueries());\n }\n}\nfunction findFirstDatasource(targets) {\n var _a, _b;\n return (_b = (_a = targets.find((t) => t.datasource !== null)) == null ? void 0 : _a.datasource) != null ? _b : void 0;\n}\n\nexport { SceneQueryRunner, findFirstDatasource, getNextRequestId };\n//# sourceMappingURL=SceneQueryRunner.js.map\n","import { isDataRequestEnricher } from '../core/types.js';\n\nfunction getEnrichedDataRequest(sourceRunner) {\n const root = sourceRunner.getRoot();\n if (isDataRequestEnricher(root)) {\n return root.enrichDataRequest(sourceRunner);\n }\n return null;\n}\n\nexport { getEnrichedDataRequest };\n//# sourceMappingURL=getEnrichedDataRequest.js.map\n","const Components = {\n Breadcrumbs: {\n breadcrumb: (title) => `data-testid ${title} breadcrumb`\n },\n TimePicker: {\n openButton: \"data-testid TimePicker Open Button\",\n fromField: \"Time Range from field\",\n toField: \"Time Range to field\",\n applyTimeRange: \"data-testid TimePicker submit button\",\n calendar: {\n label: \"Time Range calendar\",\n openButton: \"Open time range calendar\",\n closeButton: \"Close time range Calendar\"\n },\n absoluteTimeRangeTitle: \"data-testid-absolute-time-range-narrow\"\n },\n DataSourcePermissions: {\n form: () => 'form[name=\"addPermission\"]',\n roleType: \"Role to add new permission to\",\n rolePicker: \"Built-in role picker\",\n permissionLevel: \"Permission Level\"\n },\n DataSource: {\n TestData: {\n QueryTab: {\n scenarioSelectContainer: \"Test Data Query scenario select container\",\n scenarioSelect: \"Test Data Query scenario select\",\n max: \"TestData max\",\n min: \"TestData min\",\n noise: \"TestData noise\",\n seriesCount: \"TestData series count\",\n spread: \"TestData spread\",\n startValue: \"TestData start value\",\n drop: \"TestData drop values\"\n }\n },\n DataSourceHttpSettings: {\n urlInput: \"Datasource HTTP settings url\"\n },\n Jaeger: {\n traceIDInput: \"Trace ID\"\n },\n Prometheus: {\n configPage: {\n exemplarsAddButton: \"Add exemplar config button\",\n internalLinkSwitch: \"Internal link switch\"\n },\n exemplarMarker: \"Exemplar marker\"\n }\n },\n Menu: {\n MenuComponent: (title) => `${title} menu`,\n MenuGroup: (title) => `${title} menu group`,\n MenuItem: (title) => `${title} menu item`,\n SubMenu: {\n container: \"SubMenu container\",\n icon: \"SubMenu icon\"\n }\n },\n Panels: {\n Panel: {\n title: (title) => `data-testid Panel header ${title}`,\n headerItems: (item) => `Panel header item ${item}`,\n menuItems: (item) => `data-testid Panel menu item ${item}`,\n menu: (title) => `data-testid Panel menu ${title}`,\n containerByTitle: (title) => `${title} panel`,\n headerCornerInfo: (mode) => `Panel header ${mode}`,\n loadingBar: () => `Panel loading bar`,\n HoverWidget: {\n container: \"data-test-id hover-header-container\",\n dragIcon: \"data-testid drag-icon\"\n }\n },\n Visualization: {\n Graph: {\n container: \"Graph container\",\n VisualizationTab: {\n legendSection: \"Legend section\"\n },\n Legend: {\n legendItemAlias: (name) => `gpl alias ${name}`,\n showLegendSwitch: \"gpl show legend\"\n },\n xAxis: {\n labels: () => \"div.flot-x-axis > div.flot-tick-label\"\n }\n },\n BarGauge: {\n /**\n * @deprecated use valueV2 from Grafana 8.3 instead\n */\n value: \"Bar gauge value\",\n valueV2: \"data-testid Bar gauge value\"\n },\n PieChart: {\n svgSlice: \"Pie Chart Slice\"\n },\n Text: {\n container: () => \".markdown-html\"\n },\n Table: {\n header: \"table header\",\n footer: \"table-footer\"\n }\n }\n },\n VizLegend: {\n seriesName: (name) => `VizLegend series ${name}`\n },\n Drawer: {\n General: {\n title: (title) => `Drawer title ${title}`,\n expand: \"Drawer expand\",\n contract: \"Drawer contract\",\n close: \"Drawer close\",\n rcContentWrapper: () => \".rc-drawer-content-wrapper\"\n }\n },\n PanelEditor: {\n General: {\n content: \"Panel editor content\"\n },\n OptionsPane: {\n content: \"Panel editor option pane content\",\n select: \"Panel editor option pane select\",\n fieldLabel: (type) => `${type} field property editor`\n },\n // not sure about the naming *DataPane*\n DataPane: {\n content: \"Panel editor data pane content\"\n },\n applyButton: \"data-testid Apply changes and go back to dashboard\",\n toggleVizPicker: \"data-testid toggle-viz-picker\",\n toggleVizOptions: \"data-testid toggle-viz-options\",\n toggleTableView: \"toggle-table-view\",\n // [Geomap] Map controls\n measureButton: \"show measure tools\"\n },\n PanelInspector: {\n Data: {\n content: \"Panel inspector Data content\"\n },\n Stats: {\n content: \"Panel inspector Stats content\"\n },\n Json: {\n content: \"Panel inspector Json content\"\n },\n Query: {\n content: \"Panel inspector Query content\",\n refreshButton: \"Panel inspector Query refresh button\",\n jsonObjectKeys: () => \".json-formatter-key\"\n }\n },\n Tab: {\n title: (title) => `Tab ${title}`,\n active: () => '[class*=\"-activeTabStyle\"]'\n },\n RefreshPicker: {\n /**\n * @deprecated use runButtonV2 from Grafana 8.3 instead\n */\n runButton: \"RefreshPicker run button\",\n /**\n * @deprecated use intervalButtonV2 from Grafana 8.3 instead\n */\n intervalButton: \"RefreshPicker interval button\",\n runButtonV2: \"data-testid RefreshPicker run button\",\n intervalButtonV2: \"data-testid RefreshPicker interval button\"\n },\n QueryTab: {\n content: \"Query editor tab content\",\n queryInspectorButton: \"Query inspector button\",\n queryHistoryButton: \"Rich history button\",\n addQuery: \"Query editor add query button\"\n },\n QueryHistory: {\n queryText: \"Query text\"\n },\n QueryEditorRows: {\n rows: \"Query editor row\"\n },\n QueryEditorRow: {\n actionButton: (title) => `${title}`,\n title: (refId) => `Query editor row title ${refId}`,\n container: (refId) => `Query editor row ${refId}`\n },\n AlertTab: {\n content: \"Alert editor tab content\"\n },\n Alert: {\n /**\n * @deprecated use alertV2 from Grafana 8.3 instead\n */\n alert: (severity) => `Alert ${severity}`,\n alertV2: (severity) => `data-testid Alert ${severity}`\n },\n TransformTab: {\n content: \"Transform editor tab content\",\n newTransform: (name) => `New transform ${name}`,\n transformationEditor: (name) => `Transformation editor ${name}`,\n transformationEditorDebugger: (name) => `Transformation editor debugger ${name}`\n },\n Transforms: {\n card: (name) => `New transform ${name}`,\n Reduce: {\n modeLabel: \"Transform mode label\",\n calculationsLabel: \"Transform calculations label\"\n },\n SpatialOperations: {\n actionLabel: \"root Action field property editor\",\n locationLabel: \"root Location field property editor\",\n location: {\n autoOption: \"Auto location option\",\n coords: {\n option: \"Coords location option\",\n latitudeFieldLabel: \"root Latitude field field property editor\",\n longitudeFieldLabel: \"root Longitude field field property editor\"\n },\n geohash: {\n option: \"Geohash location option\",\n geohashFieldLabel: \"root Geohash field field property editor\"\n },\n lookup: {\n option: \"Lookup location option\",\n lookupFieldLabel: \"root Lookup field field property editor\",\n gazetteerFieldLabel: \"root Gazetteer field property editor\"\n }\n }\n },\n searchInput: \"search transformations\"\n },\n NavBar: {\n Configuration: {\n button: \"Configuration\"\n },\n Toggle: {\n button: \"Toggle menu\"\n },\n Reporting: {\n button: \"Reporting\"\n }\n },\n NavMenu: {\n item: \"data-testid Nav menu item\"\n },\n NavToolbar: {\n container: \"data-testid Nav toolbar\"\n },\n PageToolbar: {\n container: () => \".page-toolbar\",\n item: (tooltip) => `${tooltip}`,\n itemButton: (title) => `data-testid ${title}`\n },\n QueryEditorToolbarItem: {\n button: (title) => `QueryEditor toolbar item button ${title}`\n },\n BackButton: {\n backArrow: \"Go Back\"\n },\n OptionsGroup: {\n group: (title) => title ? `Options group ${title}` : \"Options group\",\n toggle: (title) => title ? `Options group ${title} toggle` : \"Options group toggle\"\n },\n PluginVisualization: {\n item: (title) => `Plugin visualization item ${title}`,\n current: () => '[class*=\"-currentVisualizationItem\"]'\n },\n Select: {\n option: \"Select option\",\n input: () => 'input[id*=\"time-options-input\"]',\n singleValue: () => 'div[class*=\"-singleValue\"]'\n },\n FieldConfigEditor: {\n content: \"Field config editor content\"\n },\n OverridesConfigEditor: {\n content: \"Field overrides editor content\"\n },\n FolderPicker: {\n /**\n * @deprecated use containerV2 from Grafana 8.3 instead\n */\n container: \"Folder picker select container\",\n containerV2: \"data-testid Folder picker select container\",\n input: \"Select a folder\"\n },\n ReadonlyFolderPicker: {\n container: \"data-testid Readonly folder picker select container\"\n },\n DataSourcePicker: {\n container: \"data-testid Data source picker select container\",\n /**\n * @deprecated use inputV2 instead\n */\n input: () => 'input[id=\"data-source-picker\"]',\n inputV2: \"Select a data source\"\n },\n TimeZonePicker: {\n /**\n * @deprecated use TimeZonePicker.containerV2 from Grafana 8.3 instead\n */\n container: \"Time zone picker select container\",\n containerV2: \"data-testid Time zone picker select container\"\n },\n WeekStartPicker: {\n /**\n * @deprecated use WeekStartPicker.containerV2 from Grafana 8.3 instead\n */\n container: \"Choose starting day of the week\",\n containerV2: \"data-testid Choose starting day of the week\",\n placeholder: \"Choose starting day of the week\"\n },\n TraceViewer: {\n spanBar: \"data-testid SpanBar--wrapper\"\n },\n QueryField: { container: \"Query field\" },\n QueryBuilder: {\n queryPatterns: \"Query patterns\",\n labelSelect: \"Select label\",\n valueSelect: \"Select value\",\n matchOperatorSelect: \"Select match operator\"\n },\n ValuePicker: {\n button: (name) => `Value picker button ${name}`,\n select: (name) => `Value picker select ${name}`\n },\n Search: {\n /**\n * @deprecated use sectionV2 from Grafana 8.3 instead\n */\n section: \"Search section\",\n sectionV2: \"data-testid Search section\",\n /**\n * @deprecated use itemsV2 from Grafana 8.3 instead\n */\n items: \"Search items\",\n itemsV2: \"data-testid Search items\",\n cards: \"data-testid Search cards\",\n collapseFolder: (sectionId) => `data-testid Collapse folder ${sectionId}`,\n expandFolder: (sectionId) => `data-testid Expand folder ${sectionId}`,\n dashboardItem: (item) => `${Components.Search.dashboardItems} ${item}`,\n dashboardCard: (item) => `data-testid Search card ${item}`,\n folderHeader: (folderName) => `data-testid Folder header ${folderName}`,\n folderContent: (folderName) => `data-testid Folder content ${folderName}`,\n dashboardItems: \"data-testid Dashboard search item\"\n },\n DashboardLinks: {\n container: \"data-testid Dashboard link container\",\n dropDown: \"data-testid Dashboard link dropdown\",\n link: \"data-testid Dashboard link\"\n },\n LoadingIndicator: {\n icon: \"Loading indicator\"\n },\n CallToActionCard: {\n /**\n * @deprecated use buttonV2 from Grafana 8.3 instead\n */\n button: (name) => `Call to action button ${name}`,\n buttonV2: (name) => `data-testid Call to action button ${name}`\n },\n DataLinksContextMenu: {\n singleLink: \"Data link\"\n },\n CodeEditor: {\n container: \"Code editor container\"\n },\n DashboardImportPage: {\n textarea: \"data-testid-import-dashboard-textarea\",\n submit: \"data-testid-load-dashboard\"\n },\n ImportDashboardForm: {\n name: \"data-testid-import-dashboard-title\",\n submit: \"data-testid-import-dashboard-submit\"\n },\n PanelAlertTabContent: {\n content: \"Unified alert editor tab content\"\n },\n VisualizationPreview: {\n card: (name) => `data-testid suggestion-${name}`\n },\n ColorSwatch: {\n name: `data-testid-colorswatch`\n },\n DashboardRow: {\n title: (title) => `data-testid dashboard-row-title-${title}`\n },\n UserProfile: {\n profileSaveButton: \"data-testid-user-profile-save\",\n preferencesSaveButton: \"data-testid-shared-prefs-save\",\n orgsTable: \"data-testid-user-orgs-table\",\n sessionsTable: \"data-testid-user-sessions-table\"\n },\n FileUpload: {\n inputField: \"data-testid-file-upload-input-field\",\n fileNameSpan: \"data-testid-file-upload-file-name\"\n },\n DebugOverlay: {\n wrapper: \"debug-overlay\"\n },\n OrgRolePicker: {\n input: \"Role\"\n },\n AnalyticsToolbarButton: {\n button: \"Dashboard insights\"\n },\n Variables: {\n variableOption: \"data-testid variable-option\"\n },\n Annotations: {\n annotationsTypeInput: \"annotations-type-input\",\n annotationsChoosePanelInput: \"choose-panels-input\"\n }\n};\n\nexport { Components };\n//# sourceMappingURL=components.js.map\n","import { Components } from './components.js';\nexport { Components } from './components.js';\nimport { Pages } from './pages.js';\nexport { Pages } from './pages.js';\n\nconst selectors = {\n pages: Pages,\n components: Components\n};\n\nexport { selectors };\n//# sourceMappingURL=index.js.map\n","import { Components } from './components.js';\n\nconst Pages = {\n Login: {\n url: \"/login\",\n username: \"Username input field\",\n password: \"Password input field\",\n submit: \"Login button\",\n skip: \"Skip change password button\"\n },\n Home: {\n url: \"/\"\n },\n DataSource: {\n name: \"Data source settings page name input field\",\n delete: \"Data source settings page Delete button\",\n readOnly: \"Data source settings page read only message\",\n saveAndTest: \"data-testid Data source settings page Save and Test button\",\n alert: \"Data source settings page Alert\"\n },\n DataSources: {\n url: \"/datasources\",\n dataSources: (dataSourceName) => `Data source list item ${dataSourceName}`\n },\n EditDataSource: {\n url: (dataSourceUid) => `/datasources/edit/${dataSourceUid}`,\n settings: \"Datasource settings page basic settings\"\n },\n AddDataSource: {\n url: \"/datasources/new\",\n /** @deprecated Use dataSourcePluginsV2 */\n dataSourcePlugins: (pluginName) => `Data source plugin item ${pluginName}`,\n dataSourcePluginsV2: (pluginName) => `Add new data source ${pluginName}`\n },\n ConfirmModal: {\n delete: \"data-testid Confirm Modal Danger Button\"\n },\n AddDashboard: {\n url: \"/dashboard/new\",\n itemButton: (title) => `data-testid ${title}`,\n addNewPanel: \"Add new panel\",\n addNewRow: \"Add new row\",\n addNewPanelLibrary: \"Add new panel from panel library\"\n },\n Dashboard: {\n url: (uid) => `/d/${uid}`,\n DashNav: {\n /**\n * @deprecated use navV2 from Grafana 8.3 instead\n */\n nav: \"Dashboard navigation\",\n navV2: \"data-testid Dashboard navigation\",\n publicDashboardTag: \"data-testid public dashboard tag\"\n },\n SubMenu: {\n submenu: \"Dashboard submenu\",\n submenuItem: \"data-testid template variable\",\n submenuItemLabels: (item) => `data-testid Dashboard template variables submenu Label ${item}`,\n submenuItemValueDropDownValueLinkTexts: (item) => `data-testid Dashboard template variables Variable Value DropDown value link text ${item}`,\n submenuItemValueDropDownDropDown: \"Variable options\",\n submenuItemValueDropDownOptionTexts: (item) => `data-testid Dashboard template variables Variable Value DropDown option text ${item}`,\n Annotations: {\n annotationsWrapper: \"data-testid annotation-wrapper\",\n annotationLabel: (label) => `data-testid Dashboard annotations submenu Label ${label}`,\n annotationToggle: (label) => `data-testid Dashboard annotations submenu Toggle ${label}`\n }\n },\n Settings: {\n Actions: {\n close: \"data-testid dashboard-settings-close\"\n },\n General: {\n deleteDashBoard: \"Dashboard settings page delete dashboard button\",\n sectionItems: (item) => `Dashboard settings section item ${item}`,\n saveDashBoard: \"Dashboard settings aside actions Save button\",\n saveAsDashBoard: \"Dashboard settings aside actions Save As button\",\n /**\n * @deprecated use components.TimeZonePicker.containerV2 from Grafana 8.3 instead\n */\n timezone: \"Time zone picker select container\",\n title: \"Tab General\"\n },\n Annotations: {\n List: {\n /**\n * @deprecated use addAnnotationCTAV2 from Grafana 8.3 instead\n */\n addAnnotationCTA: Components.CallToActionCard.button(\"Add annotation query\"),\n addAnnotationCTAV2: Components.CallToActionCard.buttonV2(\"Add annotation query\")\n },\n Settings: {\n name: \"Annotations settings name input\"\n },\n NewAnnotation: {\n panelFilterSelect: \"data-testid annotations-panel-filter\",\n showInLabel: \"show-in-label\",\n previewInDashboard: \"data-testid annotations-preview\"\n }\n },\n Variables: {\n List: {\n /**\n * @deprecated use addVariableCTAV2 from Grafana 8.3 instead\n */\n addVariableCTA: Components.CallToActionCard.button(\"Add variable\"),\n addVariableCTAV2: Components.CallToActionCard.buttonV2(\"Add variable\"),\n newButton: \"Variable editor New variable button\",\n table: \"Variable editor Table\",\n tableRowNameFields: (variableName) => `Variable editor Table Name field ${variableName}`,\n tableRowDefinitionFields: (variableName) => `Variable editor Table Definition field ${variableName}`,\n tableRowArrowUpButtons: (variableName) => `Variable editor Table ArrowUp button ${variableName}`,\n tableRowArrowDownButtons: (variableName) => `Variable editor Table ArrowDown button ${variableName}`,\n tableRowDuplicateButtons: (variableName) => `Variable editor Table Duplicate button ${variableName}`,\n tableRowRemoveButtons: (variableName) => `Variable editor Table Remove button ${variableName}`\n },\n Edit: {\n General: {\n headerLink: \"Variable editor Header link\",\n modeLabelNew: \"Variable editor Header mode New\",\n /**\n * @deprecated\n */\n modeLabelEdit: \"Variable editor Header mode Edit\",\n generalNameInput: \"Variable editor Form Name field\",\n generalNameInputV2: \"data-testid Variable editor Form Name field\",\n generalTypeSelect: \"Variable editor Form Type select\",\n generalTypeSelectV2: \"data-testid Variable editor Form Type select\",\n generalLabelInput: \"Variable editor Form Label field\",\n generalLabelInputV2: \"data-testid Variable editor Form Label field\",\n generalHideSelect: \"Variable editor Form Hide select\",\n generalHideSelectV2: \"data-testid Variable editor Form Hide select\",\n selectionOptionsMultiSwitch: \"Variable editor Form Multi switch\",\n selectionOptionsIncludeAllSwitch: \"Variable editor Form IncludeAll switch\",\n selectionOptionsCustomAllInput: \"Variable editor Form IncludeAll field\",\n selectionOptionsCustomAllInputV2: \"data-testid Variable editor Form IncludeAll field\",\n previewOfValuesOption: \"Variable editor Preview of Values option\",\n submitButton: \"Variable editor Submit button\",\n applyButton: \"data-testid Variable editor Apply button\"\n },\n QueryVariable: {\n queryOptionsDataSourceSelect: Components.DataSourcePicker.container,\n queryOptionsRefreshSelect: \"Variable editor Form Query Refresh select\",\n queryOptionsRefreshSelectV2: \"data-testid Variable editor Form Query Refresh select\",\n queryOptionsRegExInput: \"Variable editor Form Query RegEx field\",\n queryOptionsRegExInputV2: \"data-testid Variable editor Form Query RegEx field\",\n queryOptionsSortSelect: \"Variable editor Form Query Sort select\",\n queryOptionsSortSelectV2: \"data-testid Variable editor Form Query Sort select\",\n queryOptionsQueryInput: \"Variable editor Form Default Variable Query Editor textarea\",\n valueGroupsTagsEnabledSwitch: \"Variable editor Form Query UseTags switch\",\n valueGroupsTagsTagsQueryInput: \"Variable editor Form Query TagsQuery field\",\n valueGroupsTagsTagsValuesQueryInput: \"Variable editor Form Query TagsValuesQuery field\"\n },\n ConstantVariable: {\n constantOptionsQueryInput: \"Variable editor Form Constant Query field\",\n constantOptionsQueryInputV2: \"data-testid Variable editor Form Constant Query field\"\n },\n DatasourceVariable: {\n datasourceSelect: \"data-testid datasource variable datasource type\"\n },\n TextBoxVariable: {\n textBoxOptionsQueryInput: \"Variable editor Form TextBox Query field\",\n textBoxOptionsQueryInputV2: \"data-testid Variable editor Form TextBox Query field\"\n },\n CustomVariable: {\n customValueInput: \"data-testid custom-variable-input\"\n },\n IntervalVariable: {\n intervalsValueInput: \"data-testid interval variable intervals input\"\n }\n }\n }\n },\n Annotations: {\n marker: \"data-testid annotation-marker\"\n }\n },\n Dashboards: {\n url: \"/dashboards\",\n /**\n * @deprecated use components.Search.dashboardItem from Grafana 8.3 instead\n */\n dashboards: (title) => `Dashboard search item ${title}`\n },\n SaveDashboardAsModal: {\n newName: \"Save dashboard title field\",\n save: \"Save dashboard button\"\n },\n SaveDashboardModal: {\n save: \"Dashboard settings Save Dashboard Modal Save button\",\n saveVariables: \"Dashboard settings Save Dashboard Modal Save variables checkbox\",\n saveTimerange: \"Dashboard settings Save Dashboard Modal Save timerange checkbox\"\n },\n SharePanelModal: {\n linkToRenderedImage: \"Link to rendered image\"\n },\n ShareDashboardModal: {\n shareButton: \"Share dashboard or panel\",\n PublicDashboard: {\n Tab: \"Tab Public dashboard\",\n WillBePublicCheckbox: \"data-testid public dashboard will be public checkbox\",\n LimitedDSCheckbox: \"data-testid public dashboard limited datasources checkbox\",\n CostIncreaseCheckbox: \"data-testid public dashboard cost may increase checkbox\",\n PauseSwitch: \"data-testid public dashboard pause switch\",\n EnableAnnotationsSwitch: \"data-testid public dashboard on off switch for annotations\",\n CreateButton: \"data-testid public dashboard create button\",\n DeleteButton: \"data-testid public dashboard delete button\",\n CopyUrlInput: \"data-testid public dashboard copy url input\",\n CopyUrlButton: \"data-testid public dashboard copy url button\",\n TemplateVariablesWarningAlert: \"data-testid public dashboard disabled template variables alert\",\n UnsupportedDataSourcesWarningAlert: \"data-testid public dashboard unsupported data sources alert\",\n NoUpsertPermissionsWarningAlert: \"data-testid public dashboard no upsert permissions alert\",\n EnableTimeRangeSwitch: \"data-testid public dashboard on off switch for time range\",\n EmailSharingConfiguration: {\n Container: \"data-testid email sharing config container\",\n ShareType: \"data-testid public dashboard share type\",\n EmailSharingInput: \"data-testid public dashboard email sharing input\",\n EmailSharingInviteButton: \"data-testid public dashboard email sharing invite button\",\n EmailSharingList: \"data-testid public dashboard email sharing list\",\n DeleteEmail: \"data-testid public dashboard delete email button\",\n ReshareLink: \"data-testid public dashboard reshare link button\"\n }\n }\n },\n PublicDashboard: {\n page: \"public-dashboard-page\",\n NotAvailable: {\n container: \"public-dashboard-not-available\",\n title: \"public-dashboard-title\",\n pausedDescription: \"public-dashboard-paused-description\"\n }\n },\n RequestViewAccess: {\n form: \"request-view-access-form\",\n recipientInput: \"request-view-access-recipient-input\",\n submitButton: \"request-view-access-submit-button\"\n },\n Explore: {\n url: \"/explore\",\n General: {\n container: \"data-testid Explore\",\n graph: \"Explore Graph\",\n table: \"Explore Table\",\n scrollView: \"data-testid explorer scroll view\"\n }\n },\n SoloPanel: {\n url: (page) => `/d-solo/${page}`\n },\n PluginsList: {\n page: \"Plugins list page\",\n list: \"Plugins list\",\n listItem: \"Plugins list item\",\n signatureErrorNotice: \"Unsigned plugins notice\"\n },\n PluginPage: {\n page: \"Plugin page\",\n signatureInfo: \"Plugin signature info\",\n disabledInfo: \"Plugin disabled info\"\n },\n PlaylistForm: {\n name: \"Playlist name\",\n interval: \"Playlist interval\",\n itemDelete: \"Delete playlist item\"\n },\n BrowseDashbards: {\n table: {\n row: (uid) => `data-testid ${uid} row`,\n checkbox: (uid) => `data-testid ${uid} checkbox`\n }\n },\n Search: {\n url: \"/?search=openn\",\n FolderView: {\n url: \"/?search=open&layout=folders\"\n }\n },\n PublicDashboards: {\n ListItem: {\n linkButton: \"public-dashboard-link-button\",\n configButton: \"public-dashboard-configuration-button\",\n trashcanButton: \"public-dashboard-remove-button\"\n }\n },\n UserListPage: {\n tabs: {\n allUsers: \"data-testid all-users-tab\",\n orgUsers: \"data-testid org-users-tab\",\n publicDashboardsUsers: \"data-testid public-dashboards-users-tab\",\n users: \"data-testid users-tab\"\n },\n org: {\n url: \"/org/users\"\n },\n admin: {\n url: \"/admin/users\"\n },\n publicDashboards: {\n container: \"data-testid public-dashboards-users-list\"\n },\n UserListAdminPage: {\n container: \"data-testid user-list-admin-page\"\n },\n UsersListPage: {\n container: \"data-testid users-list-page\"\n },\n UsersListPublicDashboardsPage: {\n container: \"data-testid users-list-public-dashboards-page\",\n DashboardsListModal: {\n listItem: (uid) => `data-testid dashboards-list-item-${uid}`\n }\n }\n }\n};\n\nexport { Pages };\n//# sourceMappingURL=pages.js.map\n","import { selectors } from '@grafana/e2e-selectors';\nimport { Tooltip, Icon } from '@grafana/ui';\nimport React from 'react';\n\nfunction LoadingIndicator(props) {\n return /* @__PURE__ */ React.createElement(Tooltip, {\n content: \"Cancel query\"\n }, /* @__PURE__ */ React.createElement(Icon, {\n className: \"spin-clockwise\",\n name: \"sync\",\n size: \"xs\",\n \"aria-label\": selectors.components.LoadingIndicator.icon,\n role: \"button\",\n onMouseDown: (e) => {\n props.onCancel(e);\n }\n }));\n}\n\nexport { LoadingIndicator };\n//# sourceMappingURL=LoadingIndicator.js.map\n","import React from 'react';\nimport { useStyles2, useTheme2, Tooltip, Icon, IconButton } from '@grafana/ui';\nimport { selectors } from '@grafana/e2e-selectors';\nimport { css } from '@emotion/css';\nimport { LoadingIndicator } from './LoadingIndicator.js';\n\nfunction ControlsLabel(props) {\n const styles = useStyles2(getStyles);\n const theme = useTheme2();\n const isVertical = props.layout === \"vertical\";\n const loadingIndicator = Boolean(props.isLoading) ? /* @__PURE__ */ React.createElement(\"div\", {\n style: { marginLeft: theme.spacing(1), marginTop: \"-1px\" }\n }, /* @__PURE__ */ React.createElement(LoadingIndicator, {\n onCancel: (e) => {\n var _a;\n e.preventDefault();\n e.stopPropagation();\n (_a = props.onCancel) == null ? void 0 : _a.call(props);\n }\n })) : null;\n let errorIndicator = null;\n if (props.error) {\n errorIndicator = /* @__PURE__ */ React.createElement(Tooltip, {\n content: props.error,\n placement: \"bottom\"\n }, /* @__PURE__ */ React.createElement(Icon, {\n className: styles.errorIcon,\n name: \"exclamation-triangle\"\n }));\n }\n const testId = typeof props.label === \"string\" ? selectors.pages.Dashboard.SubMenu.submenuItemLabels(props.label) : \"\";\n let labelElement;\n if (isVertical) {\n labelElement = /* @__PURE__ */ React.createElement(\"label\", {\n className: styles.verticalLabel,\n \"data-testid\": testId,\n htmlFor: props.htmlFor\n }, props.label, errorIndicator, props.icon && /* @__PURE__ */ React.createElement(Icon, {\n name: props.icon,\n className: styles.normalIcon\n }), loadingIndicator, props.onRemove && /* @__PURE__ */ React.createElement(IconButton, {\n variant: \"secondary\",\n size: \"xs\",\n name: \"times\",\n onClick: props.onRemove,\n tooltip: \"Remove\"\n }));\n } else {\n labelElement = /* @__PURE__ */ React.createElement(\"label\", {\n className: styles.horizontalLabel,\n \"data-testid\": testId,\n htmlFor: props.htmlFor\n }, errorIndicator, props.icon && /* @__PURE__ */ React.createElement(Icon, {\n name: props.icon,\n className: styles.normalIcon\n }), props.label, loadingIndicator);\n }\n if (props.description) {\n return /* @__PURE__ */ React.createElement(Tooltip, {\n content: props.description,\n placement: isVertical ? \"top\" : \"bottom\"\n }, labelElement);\n }\n return labelElement;\n}\nconst getStyles = (theme) => ({\n horizontalLabel: css({\n background: theme.isDark ? theme.colors.background.primary : theme.colors.background.secondary,\n display: `flex`,\n alignItems: \"center\",\n padding: theme.spacing(0, 1),\n fontWeight: theme.typography.fontWeightMedium,\n fontSize: theme.typography.bodySmall.fontSize,\n height: theme.spacing(theme.components.height.md),\n lineHeight: theme.spacing(theme.components.height.md),\n borderRadius: theme.shape.borderRadius(1),\n border: `1px solid ${theme.components.input.borderColor}`,\n position: \"relative\",\n right: -1,\n whiteSpace: \"nowrap\",\n gap: theme.spacing(0.5)\n }),\n verticalLabel: css({\n display: `flex`,\n alignItems: \"center\",\n fontWeight: theme.typography.fontWeightMedium,\n fontSize: theme.typography.bodySmall.fontSize,\n lineHeight: theme.typography.bodySmall.lineHeight,\n whiteSpace: \"nowrap\",\n marginBottom: theme.spacing(0.5),\n gap: theme.spacing(1)\n }),\n errorIcon: css({\n color: theme.colors.error.text\n }),\n normalIcon: css({\n color: theme.colors.text.secondary\n })\n});\n\nexport { ControlsLabel };\n//# sourceMappingURL=ControlsLabel.js.map\n","import { css } from '@emotion/css';\nimport { LoadingState } from '@grafana/schema';\nimport { InlineSwitch } from '@grafana/ui';\nimport React from 'react';\nimport { sceneGraph } from '../../core/sceneGraph/index.js';\nimport { SceneObjectBase } from '../../core/SceneObjectBase.js';\nimport { ControlsLabel } from '../../utils/ControlsLabel.js';\n\nvar __defProp = Object.defineProperty;\nvar __defProps = Object.defineProperties;\nvar __getOwnPropDescs = Object.getOwnPropertyDescriptors;\nvar __getOwnPropSymbols = Object.getOwnPropertySymbols;\nvar __hasOwnProp = Object.prototype.hasOwnProperty;\nvar __propIsEnum = Object.prototype.propertyIsEnumerable;\nvar __defNormalProp = (obj, key, value) => key in obj ? __defProp(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;\nvar __spreadValues = (a, b) => {\n for (var prop in b || (b = {}))\n if (__hasOwnProp.call(b, prop))\n __defNormalProp(a, prop, b[prop]);\n if (__getOwnPropSymbols)\n for (var prop of __getOwnPropSymbols(b)) {\n if (__propIsEnum.call(b, prop))\n __defNormalProp(a, prop, b[prop]);\n }\n return a;\n};\nvar __spreadProps = (a, b) => __defProps(a, __getOwnPropDescs(b));\nclass SceneDataLayerControls extends SceneObjectBase {\n constructor() {\n super({ layersMap: {} });\n this.addActivationHandler(() => this._onActivate());\n }\n _onActivate() {\n const layers = sceneGraph.getDataLayers(this, true);\n this.setState({ layersMap: layers.reduce((acc, l) => __spreadProps(__spreadValues({}, acc), { [l.state.key]: l.state.isEnabled }), {}) });\n }\n toggleLayer(l) {\n this.setState({ layersMap: __spreadProps(__spreadValues({}, this.state.layersMap), { [l.state.key]: !l.state.isEnabled }) });\n l.setState({ isEnabled: !l.state.isEnabled });\n }\n}\nSceneDataLayerControls.Component = SceneDataLayerControlsRenderer;\nfunction SceneDataLayerControlsRenderer({ model }) {\n const { layersMap } = model.useState();\n const layers = sceneGraph.getDataLayers(model, true);\n if (layers.length === 0) {\n return null;\n }\n return /* @__PURE__ */ React.createElement(React.Fragment, null, layers.map((l) => {\n const elementId = `data-layer-${l.state.key}`;\n if (l.state.isHidden) {\n return null;\n }\n return /* @__PURE__ */ React.createElement(SceneDataLayerControl, {\n key: elementId,\n layer: l,\n onToggleLayer: () => model.toggleLayer(l),\n isEnabled: layersMap[l.state.key]\n });\n }));\n}\nfunction SceneDataLayerControl({ layer, isEnabled, onToggleLayer }) {\n var _a, _b;\n const elementId = `data-layer-${layer.state.key}`;\n const { data } = layer.useState();\n const showLoading = Boolean(data && data.state === LoadingState.Loading);\n return /* @__PURE__ */ React.createElement(\"div\", {\n className: containerStyle\n }, /* @__PURE__ */ React.createElement(ControlsLabel, {\n htmlFor: elementId,\n isLoading: showLoading,\n onCancel: () => {\n var _a2;\n return (_a2 = layer.cancelQuery) == null ? void 0 : _a2.call(layer);\n },\n label: layer.state.name,\n description: layer.state.description,\n error: (_b = (_a = layer.state.data) == null ? void 0 : _a.errors) == null ? void 0 : _b[0].message\n }), /* @__PURE__ */ React.createElement(InlineSwitch, {\n id: elementId,\n value: isEnabled,\n onChange: onToggleLayer\n }));\n}\nconst containerStyle = css({ display: \"flex\" });\n\nexport { SceneDataLayerControl, SceneDataLayerControls };\n//# sourceMappingURL=SceneDataLayerControls.js.map\n","import { transformDataFrame, LoadingState } from '@grafana/data';\nimport { toDataQueryError } from '@grafana/runtime';\nimport { ReplaySubject, map, catchError, of } from 'rxjs';\nimport { sceneGraph } from '../core/sceneGraph/index.js';\nimport { SceneObjectBase } from '../core/SceneObjectBase.js';\nimport { VariableDependencyConfig } from '../variables/VariableDependencyConfig.js';\nimport { SceneDataLayers } from './SceneDataLayers.js';\n\nvar __defProp = Object.defineProperty;\nvar __defProps = Object.defineProperties;\nvar __getOwnPropDescs = Object.getOwnPropertyDescriptors;\nvar __getOwnPropSymbols = Object.getOwnPropertySymbols;\nvar __hasOwnProp = Object.prototype.hasOwnProperty;\nvar __propIsEnum = Object.prototype.propertyIsEnumerable;\nvar __defNormalProp = (obj, key, value) => key in obj ? __defProp(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;\nvar __spreadValues = (a, b) => {\n for (var prop in b || (b = {}))\n if (__hasOwnProp.call(b, prop))\n __defNormalProp(a, prop, b[prop]);\n if (__getOwnPropSymbols)\n for (var prop of __getOwnPropSymbols(b)) {\n if (__propIsEnum.call(b, prop))\n __defNormalProp(a, prop, b[prop]);\n }\n return a;\n};\nvar __spreadProps = (a, b) => __defProps(a, __getOwnPropDescs(b));\nclass SceneDataTransformer extends SceneObjectBase {\n constructor(state) {\n super(state);\n this._results = new ReplaySubject();\n this._variableDependency = new VariableDependencyConfig(\n this,\n {\n statePaths: [\"transformations\"],\n onReferencedVariableValueChanged: () => this.reprocessTransformations()\n }\n );\n this.addActivationHandler(() => this.activationHandler());\n }\n activationHandler() {\n const sourceData = this.getSourceData();\n this._subs.add(sourceData.subscribeToState((state) => this.transform(state.data)));\n if (sourceData.state.data) {\n this.transform(sourceData.state.data);\n }\n return () => {\n if (this._transformSub) {\n this._transformSub.unsubscribe();\n }\n };\n }\n getSourceData() {\n if (this.state.$data) {\n if (this.state.$data instanceof SceneDataLayers) {\n throw new Error(\"SceneDataLayers can not be used as data provider for SceneDataTransformer.\");\n }\n return this.state.$data;\n }\n if (!this.parent || !this.parent.parent) {\n throw new Error(\"SceneDataTransformer must either have $data set on it or have a parent.parent with $data\");\n }\n return sceneGraph.getData(this.parent.parent);\n }\n setContainerWidth(width) {\n if (this.state.$data && this.state.$data.setContainerWidth) {\n this.state.$data.setContainerWidth(width);\n }\n }\n isDataReadyToDisplay() {\n const dataObject = this.getSourceData();\n if (dataObject.isDataReadyToDisplay) {\n return dataObject.isDataReadyToDisplay();\n }\n return true;\n }\n reprocessTransformations() {\n this.transform(this.getSourceData().state.data);\n }\n cancelQuery() {\n var _a, _b;\n (_b = (_a = this.getSourceData()).cancelQuery) == null ? void 0 : _b.call(_a);\n }\n getResultsStream() {\n return this._results;\n }\n transform(data) {\n const transformations = this.state.transformations || [];\n if (transformations.length === 0 || !data) {\n this.setState({ data });\n return;\n }\n if (this._transformSub) {\n this._transformSub.unsubscribe();\n }\n const ctx = {\n interpolate: (value) => {\n var _a;\n return sceneGraph.interpolate(this, value, (_a = data.request) == null ? void 0 : _a.scopedVars);\n }\n };\n this._transformSub = transformDataFrame(transformations, data.series, ctx).pipe(\n map((series) => __spreadProps(__spreadValues({}, data), { series })),\n catchError((err) => {\n var _a;\n console.error(\"Error transforming data: \", err);\n const sourceErr = ((_a = this.getSourceData().state.data) == null ? void 0 : _a.errors) || [];\n const transformationError = toDataQueryError(err);\n transformationError.message = `Error transforming data: ${transformationError.message}`;\n const result = __spreadProps(__spreadValues({}, data), {\n state: LoadingState.Error,\n errors: [...sourceErr, transformationError]\n });\n return of(result);\n })\n ).subscribe((data2) => {\n this._results.next({ origin: this, data: data2 });\n this.setState({ data: data2 });\n });\n }\n}\n\nexport { SceneDataTransformer };\n//# sourceMappingURL=SceneDataTransformer.js.map\n","import React from 'react';\nimport { VariableHide } from '@grafana/data';\nimport { SceneObjectBase } from '../../core/SceneObjectBase.js';\nimport { sceneGraph } from '../../core/sceneGraph/index.js';\nimport { ControlsLabel } from '../../utils/ControlsLabel.js';\nimport { css } from '@emotion/css';\n\nclass VariableValueSelectors extends SceneObjectBase {\n}\nVariableValueSelectors.Component = VariableValueSelectorsRenderer;\nfunction VariableValueSelectorsRenderer({ model }) {\n const variables = sceneGraph.getVariables(model).useState();\n return /* @__PURE__ */ React.createElement(React.Fragment, null, variables.variables.map((variable) => /* @__PURE__ */ React.createElement(VariableValueSelectWrapper, {\n key: variable.state.key,\n variable,\n layout: model.state.layout\n })));\n}\nfunction VariableValueSelectWrapper({ variable, layout }) {\n const state = variable.useState();\n if (state.hide === VariableHide.hideVariable) {\n return null;\n }\n if (layout === \"vertical\") {\n return /* @__PURE__ */ React.createElement(\"div\", {\n className: verticalContainer\n }, /* @__PURE__ */ React.createElement(VariableLabel, {\n variable,\n layout\n }), /* @__PURE__ */ React.createElement(variable.Component, {\n model: variable\n }));\n }\n return /* @__PURE__ */ React.createElement(\"div\", {\n className: containerStyle\n }, /* @__PURE__ */ React.createElement(VariableLabel, {\n variable\n }), /* @__PURE__ */ React.createElement(variable.Component, {\n model: variable\n }));\n}\nfunction VariableLabel({ variable, layout }) {\n var _a, _b;\n const { state } = variable;\n if (variable.state.hide === VariableHide.hideLabel) {\n return null;\n }\n const elementId = `var-${state.key}`;\n const labelOrName = (_a = state.label) != null ? _a : state.name;\n return /* @__PURE__ */ React.createElement(ControlsLabel, {\n htmlFor: elementId,\n isLoading: state.loading,\n onCancel: () => {\n var _a2;\n return (_a2 = variable.onCancel) == null ? void 0 : _a2.call(variable);\n },\n label: labelOrName,\n error: state.error,\n layout,\n description: (_b = state.description) != null ? _b : void 0\n });\n}\nconst containerStyle = css({ display: \"flex\" });\nconst verticalContainer = css({ display: \"flex\", flexDirection: \"column\" });\n\nexport { VariableValueSelectors };\n//# sourceMappingURL=VariableValueSelectors.js.map\n","import { VariableRefresh } from '@grafana/data';\nimport { sceneGraph } from '../../core/sceneGraph/index.js';\nimport { SceneObjectBase } from '../../core/SceneObjectBase.js';\nimport { writeSceneLog } from '../../utils/writeSceneLog.js';\nimport { SceneVariableValueChangedEvent } from '../types.js';\nimport { VariableValueRecorder } from '../VariableValueRecorder.js';\n\nclass SceneVariableSet extends SceneObjectBase {\n constructor(state) {\n super(state);\n this._variablesThatHaveChanged = /* @__PURE__ */ new Set();\n this._variablesToUpdate = /* @__PURE__ */ new Set();\n this._updating = /* @__PURE__ */ new Map();\n this._variableValueRecorder = new VariableValueRecorder();\n this._variableDependency = new SceneVariableSetVariableDependencyHandler(\n this._handleParentVariableUpdatesCompleted.bind(this)\n );\n this._onActivate = () => {\n const timeRange = sceneGraph.getTimeRange(this);\n this._subs.add(\n this.subscribeToEvent(SceneVariableValueChangedEvent, (event) => this._handleVariableValueChanged(event.payload))\n );\n this._subs.add(\n timeRange.subscribeToState(() => {\n this._refreshTimeRangeBasedVariables();\n })\n );\n this._subs.add(this.subscribeToState(this._onStateChanged));\n this._checkForVariablesThatChangedWhileInactive();\n for (const variable of this.state.variables) {\n if (this._variableNeedsUpdate(variable)) {\n this._variablesToUpdate.add(variable);\n }\n }\n this._updateNextBatch();\n return this._onDeactivate;\n };\n this._onDeactivate = () => {\n var _a;\n for (const update of this._updating.values()) {\n (_a = update.subscription) == null ? void 0 : _a.unsubscribe();\n }\n for (const variable of this.state.variables) {\n if (!this._variablesToUpdate.has(variable) && !this._updating.has(variable)) {\n this._variableValueRecorder.recordCurrentValue(variable);\n }\n }\n this._variablesToUpdate.clear();\n this._updating.clear();\n };\n this._onStateChanged = (newState, oldState) => {\n const variablesToUpdateCountStart = this._variablesToUpdate.size;\n for (const variable of oldState.variables) {\n if (!newState.variables.includes(variable)) {\n const updating = this._updating.get(variable);\n if (updating == null ? void 0 : updating.subscription) {\n updating.subscription.unsubscribe();\n }\n this._updating.delete(variable);\n this._variablesToUpdate.delete(variable);\n }\n }\n for (const variable of newState.variables) {\n if (!oldState.variables.includes(variable)) {\n if (this._variableNeedsUpdate(variable)) {\n this._variablesToUpdate.add(variable);\n }\n }\n }\n if (variablesToUpdateCountStart === 0 && this._variablesToUpdate.size > 0) {\n this._updateNextBatch();\n }\n };\n this.addActivationHandler(this._onActivate);\n }\n getByName(name) {\n return this.state.variables.find((x) => x.state.name === name);\n }\n _refreshTimeRangeBasedVariables() {\n for (const variable of this.state.variables) {\n if (\"refresh\" in variable.state && variable.state.refresh === VariableRefresh.onTimeRangeChanged) {\n this._variablesToUpdate.add(variable);\n }\n }\n this._updateNextBatch();\n }\n _checkForVariablesThatChangedWhileInactive() {\n if (!this._variableValueRecorder.hasValues()) {\n return;\n }\n for (const variable of this.state.variables) {\n if (this._variableValueRecorder.hasValueChanged(variable)) {\n writeVariableTraceLog(variable, \"Changed while in-active\");\n this._addDependentVariablesToUpdateQueue(variable);\n }\n }\n }\n _variableNeedsUpdate(variable) {\n if (!variable.validateAndUpdate) {\n return false;\n }\n if (this._variableValueRecorder.hasRecordedValue(variable)) {\n writeVariableTraceLog(variable, \"Skipping updateAndValidate current value valid\");\n return false;\n }\n return true;\n }\n _updateNextBatch() {\n if (this._variablesToUpdate.size === 0) {\n this._notifyDependentSceneObjects();\n return;\n }\n for (const variable of this._variablesToUpdate) {\n if (!variable.validateAndUpdate) {\n throw new Error(\"Variable added to variablesToUpdate but does not have validateAndUpdate\");\n }\n if (this._updating.has(variable)) {\n continue;\n }\n if (sceneGraph.hasVariableDependencyInLoadingState(variable)) {\n continue;\n }\n const variableToUpdate = {\n variable\n };\n this._updating.set(variable, variableToUpdate);\n writeVariableTraceLog(variable, \"updateAndValidate started\");\n variableToUpdate.subscription = variable.validateAndUpdate().subscribe({\n next: () => this._validateAndUpdateCompleted(variable),\n error: (err) => this._handleVariableError(variable, err)\n });\n }\n }\n _validateAndUpdateCompleted(variable) {\n var _a;\n const update = this._updating.get(variable);\n (_a = update == null ? void 0 : update.subscription) == null ? void 0 : _a.unsubscribe();\n this._updating.delete(variable);\n this._variablesToUpdate.delete(variable);\n writeVariableTraceLog(variable, \"updateAndValidate completed\");\n this._updateNextBatch();\n }\n cancel(variable) {\n var _a;\n const update = this._updating.get(variable);\n (_a = update == null ? void 0 : update.subscription) == null ? void 0 : _a.unsubscribe();\n this._updating.delete(variable);\n this._variablesToUpdate.delete(variable);\n }\n _handleVariableError(variable, err) {\n var _a;\n const update = this._updating.get(variable);\n (_a = update == null ? void 0 : update.subscription) == null ? void 0 : _a.unsubscribe();\n this._updating.delete(variable);\n this._variablesToUpdate.delete(variable);\n variable.setState({ loading: false, error: err.message });\n console.error(\"SceneVariableSet updateAndValidate error\", err);\n writeVariableTraceLog(variable, \"updateAndValidate error\", err);\n }\n _handleVariableValueChanged(variableThatChanged) {\n this._variablesThatHaveChanged.add(variableThatChanged);\n this._addDependentVariablesToUpdateQueue(variableThatChanged);\n if (!this._updating.has(variableThatChanged)) {\n this._updateNextBatch();\n }\n }\n _handleParentVariableUpdatesCompleted(changedVariables) {\n for (const changedVar of changedVariables) {\n this._addDependentVariablesToUpdateQueue(changedVar);\n }\n if (this._variablesToUpdate.size > 0 && this._updating.size === 0) {\n this._updateNextBatch();\n }\n }\n _addDependentVariablesToUpdateQueue(variableThatChanged) {\n for (const otherVariable of this.state.variables) {\n if (otherVariable.variableDependency) {\n if (otherVariable.variableDependency.hasDependencyOn(variableThatChanged.state.name)) {\n writeVariableTraceLog(otherVariable, \"Added to update queue, dependant variable value changed\");\n this._variablesToUpdate.add(otherVariable);\n }\n }\n }\n }\n _notifyDependentSceneObjects() {\n if (!this.parent) {\n return;\n }\n this._traverseSceneAndNotify(this.parent);\n this._variablesThatHaveChanged.clear();\n }\n _traverseSceneAndNotify(sceneObject) {\n if (this === sceneObject) {\n return;\n }\n if (!sceneObject.isActive) {\n return;\n }\n if (sceneObject.variableDependency) {\n sceneObject.variableDependency.variableUpdatesCompleted(this._variablesThatHaveChanged);\n }\n sceneObject.forEachChild((child) => this._traverseSceneAndNotify(child));\n }\n isVariableLoadingOrWaitingToUpdate(variable) {\n if (variable.isAncestorLoading && variable.isAncestorLoading()) {\n return true;\n }\n return this._variablesToUpdate.has(variable) || this._updating.has(variable);\n }\n}\nfunction writeVariableTraceLog(variable, message, err) {\n writeSceneLog(\"SceneVariableSet\", `Variable[${variable.state.name}]: ${message}`, err);\n}\nclass SceneVariableSetVariableDependencyHandler {\n constructor(_variableUpdatesCompleted) {\n this._variableUpdatesCompleted = _variableUpdatesCompleted;\n this._emptySet = /* @__PURE__ */ new Set();\n }\n getNames() {\n return this._emptySet;\n }\n hasDependencyOn(name) {\n return false;\n }\n variableUpdatesCompleted(changedVariables) {\n this._variableUpdatesCompleted(changedVariables);\n }\n}\n\nexport { SceneVariableSet };\n//# sourceMappingURL=SceneVariableSet.js.map\n","import { isArray } from 'lodash';\nimport React, { useMemo, useState, useEffect } from 'react';\nimport { Select, MultiSelect } from '@grafana/ui';\n\nfunction VariableValueSelect({ model }) {\n const { value, key } = model.useState();\n const onInputChange = model.onSearchChange ? (value2, meta) => {\n if (meta.action === \"input-change\") {\n model.onSearchChange(value2);\n }\n } : void 0;\n return /* @__PURE__ */ React.createElement(Select, {\n id: key,\n placeholder: \"Select value\",\n width: \"auto\",\n value,\n allowCustomValue: true,\n tabSelectsValue: false,\n onInputChange,\n options: model.getOptionsForSelect(),\n onChange: (newValue) => {\n model.changeValueTo(newValue.value, newValue.label);\n }\n });\n}\nfunction VariableValueSelectMulti({ model }) {\n const { value, key, maxVisibleValues } = model.useState();\n const arrayValue = useMemo(() => isArray(value) ? value : [value], [value]);\n const [uncommittedValue, setUncommittedValue] = useState(arrayValue);\n useEffect(() => {\n setUncommittedValue(arrayValue);\n }, [arrayValue]);\n const onInputChange = model.onSearchChange ? (value2, meta) => {\n if (meta.action === \"input-change\") {\n model.onSearchChange(value2);\n }\n } : void 0;\n return /* @__PURE__ */ React.createElement(MultiSelect, {\n id: key,\n placeholder: \"Select value\",\n width: \"auto\",\n value: uncommittedValue,\n noMultiValueWrap: true,\n maxVisibleValues: maxVisibleValues != null ? maxVisibleValues : 5,\n tabSelectsValue: false,\n allowCustomValue: true,\n options: model.getOptionsForSelect(),\n closeMenuOnSelect: false,\n isClearable: true,\n onInputChange,\n onBlur: () => {\n model.changeValueTo(uncommittedValue);\n },\n onChange: (newValue) => {\n setUncommittedValue(newValue.map((x) => x.value));\n }\n });\n}\nfunction renderSelectForVariable(model) {\n if (model.state.isMulti) {\n return /* @__PURE__ */ React.createElement(VariableValueSelectMulti, {\n model\n });\n } else {\n return /* @__PURE__ */ React.createElement(VariableValueSelect, {\n model\n });\n }\n}\n\nexport { VariableValueSelect, VariableValueSelectMulti, renderSelectForVariable };\n//# sourceMappingURL=VariableValueSelect.js.map\n","import { SceneObjectBase } from '../../core/SceneObjectBase.js';\n\nvar __defProp = Object.defineProperty;\nvar __defProps = Object.defineProperties;\nvar __getOwnPropDescs = Object.getOwnPropertyDescriptors;\nvar __getOwnPropSymbols = Object.getOwnPropertySymbols;\nvar __hasOwnProp = Object.prototype.hasOwnProperty;\nvar __propIsEnum = Object.prototype.propertyIsEnumerable;\nvar __defNormalProp = (obj, key, value) => key in obj ? __defProp(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;\nvar __spreadValues = (a, b) => {\n for (var prop in b || (b = {}))\n if (__hasOwnProp.call(b, prop))\n __defNormalProp(a, prop, b[prop]);\n if (__getOwnPropSymbols)\n for (var prop of __getOwnPropSymbols(b)) {\n if (__propIsEnum.call(b, prop))\n __defNormalProp(a, prop, b[prop]);\n }\n return a;\n};\nvar __spreadProps = (a, b) => __defProps(a, __getOwnPropDescs(b));\nclass ConstantVariable extends SceneObjectBase {\n constructor(initialState) {\n super(__spreadProps(__spreadValues({\n type: \"constant\",\n value: \"\",\n name: \"\"\n }, initialState), {\n skipUrlSync: true\n }));\n }\n getValue() {\n return this.state.value;\n }\n}\n\nexport { ConstantVariable };\n//# sourceMappingURL=ConstantVariable.js.map\n","import { isEqual } from 'lodash';\nimport { map } from 'rxjs';\nimport { ALL_VARIABLE_TEXT, ALL_VARIABLE_VALUE } from '../constants.js';\nimport { SceneObjectBase } from '../../core/SceneObjectBase.js';\nimport { SceneVariableValueChangedEvent } from '../types.js';\nimport { formatRegistry } from '../interpolation/formatRegistry.js';\nimport { VariableFormatID } from '@grafana/schema';\nimport { setBaseClassState } from '../../utils/utils.js';\n\nclass MultiValueVariable extends SceneObjectBase {\n constructor() {\n super(...arguments);\n this._urlSync = new MultiValueUrlSyncHandler(this);\n }\n validateAndUpdate() {\n return this.getValueOptions({}).pipe(\n map((options) => {\n this.updateValueGivenNewOptions(options);\n return {};\n })\n );\n }\n onCancel() {\n this.setStateHelper({ loading: false });\n const sceneVarSet = this.parent;\n sceneVarSet == null ? void 0 : sceneVarSet.cancel(this);\n }\n updateValueGivenNewOptions(options) {\n const { value: currentValue, text: currentText } = this.state;\n const stateUpdate = {\n options,\n loading: false,\n value: currentValue,\n text: currentText\n };\n if (options.length === 0) {\n if (this.state.defaultToAll || this.state.includeAll) {\n stateUpdate.value = ALL_VARIABLE_VALUE;\n stateUpdate.text = ALL_VARIABLE_TEXT;\n }\n } else if (this.hasAllValue()) ; else if (this.state.isMulti) {\n const currentValues = Array.isArray(currentValue) ? currentValue : [currentValue];\n const validValues = currentValues.filter((v) => options.find((o) => o.value === v));\n const validTexts = validValues.map((v) => options.find((o) => o.value === v).label);\n if (validValues.length === 0) {\n const defaultState = this.getDefaultMultiState(options);\n stateUpdate.value = defaultState.value;\n stateUpdate.text = defaultState.text;\n } else if (!isEqual(validValues, currentValue) || !isEqual(validTexts, currentText)) {\n stateUpdate.value = validValues;\n stateUpdate.text = validTexts;\n }\n } else {\n let matchingOption = findOptionMatchingCurrent(currentValue, currentText, options);\n if (matchingOption) {\n stateUpdate.text = matchingOption.label;\n stateUpdate.value = matchingOption.value;\n } else {\n if (this.state.defaultToAll) {\n stateUpdate.value = ALL_VARIABLE_VALUE;\n stateUpdate.text = ALL_VARIABLE_TEXT;\n } else {\n stateUpdate.value = options[0].value;\n stateUpdate.text = options[0].label;\n }\n }\n }\n this.setStateHelper(stateUpdate);\n if (stateUpdate.value !== currentValue || stateUpdate.text !== currentText || this.hasAllValue()) {\n this.publishEvent(new SceneVariableValueChangedEvent(this), true);\n }\n }\n getValue() {\n if (this.hasAllValue()) {\n if (this.state.allValue) {\n return new CustomAllValue(this.state.allValue, this);\n }\n return this.state.options.map((x) => x.value);\n }\n return this.state.value;\n }\n getValueText() {\n if (this.hasAllValue()) {\n return ALL_VARIABLE_TEXT;\n }\n if (Array.isArray(this.state.text)) {\n return this.state.text.join(\" + \");\n }\n return String(this.state.text);\n }\n hasAllValue() {\n const value = this.state.value;\n return value === ALL_VARIABLE_VALUE || Array.isArray(value) && value[0] === ALL_VARIABLE_VALUE;\n }\n getDefaultMultiState(options) {\n if (this.state.defaultToAll) {\n return { value: [ALL_VARIABLE_VALUE], text: [ALL_VARIABLE_TEXT] };\n } else {\n return { value: [options[0].value], text: [options[0].label] };\n }\n }\n changeValueTo(value, text) {\n if (value === this.state.value && text === this.state.text) {\n return;\n }\n if (!text) {\n if (Array.isArray(value)) {\n text = value.map((v) => this.findLabelTextForValue(v));\n } else {\n text = this.findLabelTextForValue(value);\n }\n }\n if (Array.isArray(value)) {\n if (value.length === 0) {\n const state = this.getDefaultMultiState(this.state.options);\n value = state.value;\n text = state.text;\n }\n if (value[value.length - 1] === ALL_VARIABLE_VALUE) {\n value = [ALL_VARIABLE_VALUE];\n text = [ALL_VARIABLE_TEXT];\n } else if (value[0] === ALL_VARIABLE_VALUE && value.length > 1) {\n value.shift();\n if (Array.isArray(text)) {\n text.shift();\n }\n }\n }\n this.setStateHelper({ value, text, loading: false });\n this.publishEvent(new SceneVariableValueChangedEvent(this), true);\n }\n findLabelTextForValue(value) {\n const option = this.state.options.find((x) => x.value === value);\n if (option) {\n return option.label;\n }\n const optionByLabel = this.state.options.find((x) => x.label === value);\n if (optionByLabel) {\n return optionByLabel.label;\n }\n return value;\n }\n setStateHelper(state) {\n setBaseClassState(this, state);\n }\n getOptionsForSelect() {\n let options = this.state.options;\n if (this.state.includeAll) {\n options = [{ value: ALL_VARIABLE_VALUE, label: ALL_VARIABLE_TEXT }, ...options];\n }\n if (!Array.isArray(this.state.value)) {\n const current = options.find((x) => x.value === this.state.value);\n if (!current) {\n options = [{ value: this.state.value, label: String(this.state.text) }, ...options];\n }\n }\n return options;\n }\n}\nfunction findOptionMatchingCurrent(currentValue, currentText, options) {\n let textMatch;\n for (const item of options) {\n if (item.value === currentValue) {\n return item;\n }\n if (item.label === currentText) {\n textMatch = item;\n }\n }\n return textMatch;\n}\nclass MultiValueUrlSyncHandler {\n constructor(_sceneObject) {\n this._sceneObject = _sceneObject;\n }\n getKey() {\n return `var-${this._sceneObject.state.name}`;\n }\n getKeys() {\n if (this._sceneObject.state.skipUrlSync) {\n return [];\n }\n return [this.getKey()];\n }\n getUrlState() {\n if (this._sceneObject.state.skipUrlSync) {\n return {};\n }\n let urlValue = null;\n let value = this._sceneObject.state.value;\n if (Array.isArray(value)) {\n urlValue = value.map(String);\n } else if (this._sceneObject.state.isMulti) {\n urlValue = [String(value)];\n } else {\n urlValue = String(value);\n }\n return { [this.getKey()]: urlValue };\n }\n updateFromUrl(values) {\n const urlValue = values[this.getKey()];\n if (urlValue != null) {\n this._sceneObject.changeValueTo(urlValue);\n }\n }\n}\nclass CustomAllValue {\n constructor(_value, _variable) {\n this._value = _value;\n this._variable = _variable;\n }\n formatter(formatNameOrFn) {\n if (formatNameOrFn === VariableFormatID.Text) {\n return ALL_VARIABLE_TEXT;\n }\n if (formatNameOrFn === VariableFormatID.PercentEncode) {\n return formatRegistry.get(VariableFormatID.PercentEncode).formatter(this._value, [], this._variable);\n }\n if (formatNameOrFn === VariableFormatID.QueryParam) {\n return formatRegistry.get(VariableFormatID.QueryParam).formatter(ALL_VARIABLE_TEXT, [], this._variable);\n }\n return this._value;\n }\n}\n\nexport { CustomAllValue, MultiValueUrlSyncHandler, MultiValueVariable };\n//# sourceMappingURL=MultiValueVariable.js.map\n","function setBaseClassState(sceneObject, newState) {\n sceneObject.setState(newState);\n}\n\nexport { setBaseClassState };\n//# sourceMappingURL=utils.js.map\n","import { of } from 'rxjs';\nimport { VariableDependencyConfig } from '../VariableDependencyConfig.js';\nimport { renderSelectForVariable } from '../components/VariableValueSelect.js';\nimport { MultiValueVariable } from './MultiValueVariable.js';\nimport { sceneGraph } from '../../core/sceneGraph/index.js';\n\nvar __defProp = Object.defineProperty;\nvar __getOwnPropSymbols = Object.getOwnPropertySymbols;\nvar __hasOwnProp = Object.prototype.hasOwnProperty;\nvar __propIsEnum = Object.prototype.propertyIsEnumerable;\nvar __defNormalProp = (obj, key, value) => key in obj ? __defProp(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;\nvar __spreadValues = (a, b) => {\n for (var prop in b || (b = {}))\n if (__hasOwnProp.call(b, prop))\n __defNormalProp(a, prop, b[prop]);\n if (__getOwnPropSymbols)\n for (var prop of __getOwnPropSymbols(b)) {\n if (__propIsEnum.call(b, prop))\n __defNormalProp(a, prop, b[prop]);\n }\n return a;\n};\nclass CustomVariable extends MultiValueVariable {\n constructor(initialState) {\n super(__spreadValues({\n type: \"custom\",\n query: \"\",\n value: \"\",\n text: \"\",\n options: [],\n name: \"\"\n }, initialState));\n this._variableDependency = new VariableDependencyConfig(this, {\n statePaths: [\"query\"]\n });\n }\n getValueOptions(args) {\n var _a;\n const interpolated = sceneGraph.interpolate(this, this.state.query);\n const match = (_a = interpolated.match(/(?:\\\\,|[^,])+/g)) != null ? _a : [];\n const options = match.map((text) => {\n var _a2;\n text = text.replace(/\\\\,/g, \",\");\n const textMatch = (_a2 = /^(.+)\\s:\\s(.+)$/g.exec(text)) != null ? _a2 : [];\n if (textMatch.length === 3) {\n const [, key, value] = textMatch;\n return { label: key.trim(), value: value.trim() };\n } else {\n return { label: text.trim(), value: text.trim() };\n }\n });\n return of(options);\n }\n}\nCustomVariable.Component = ({ model }) => {\n return renderSelectForVariable(model);\n};\n\nexport { CustomVariable };\n//# sourceMappingURL=CustomVariable.js.map\n","import { of } from 'rxjs';\nimport { stringToJsRegex } from '@grafana/data';\nimport { getDataSourceSrv } from '@grafana/runtime';\nimport { sceneGraph } from '../../core/sceneGraph/index.js';\nimport { VariableDependencyConfig } from '../VariableDependencyConfig.js';\nimport { renderSelectForVariable } from '../components/VariableValueSelect.js';\nimport { MultiValueVariable } from './MultiValueVariable.js';\n\nvar __defProp = Object.defineProperty;\nvar __getOwnPropSymbols = Object.getOwnPropertySymbols;\nvar __hasOwnProp = Object.prototype.hasOwnProperty;\nvar __propIsEnum = Object.prototype.propertyIsEnumerable;\nvar __defNormalProp = (obj, key, value) => key in obj ? __defProp(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;\nvar __spreadValues = (a, b) => {\n for (var prop in b || (b = {}))\n if (__hasOwnProp.call(b, prop))\n __defNormalProp(a, prop, b[prop]);\n if (__getOwnPropSymbols)\n for (var prop of __getOwnPropSymbols(b)) {\n if (__propIsEnum.call(b, prop))\n __defNormalProp(a, prop, b[prop]);\n }\n return a;\n};\nclass DataSourceVariable extends MultiValueVariable {\n constructor(initialState) {\n super(__spreadValues({\n type: \"datasource\",\n value: \"\",\n text: \"\",\n options: [],\n name: \"\",\n regex: \"\",\n pluginId: \"\"\n }, initialState));\n this._variableDependency = new VariableDependencyConfig(this, {\n statePaths: [\"regex\"]\n });\n }\n getValueOptions(args) {\n if (!this.state.pluginId) {\n return of([]);\n }\n const dataSources = getDataSourceSrv().getList({ metrics: true, variables: false, pluginId: this.state.pluginId });\n let regex;\n if (this.state.regex) {\n const interpolated = sceneGraph.interpolate(this, this.state.regex, void 0, \"regex\");\n regex = stringToJsRegex(interpolated);\n }\n const options = [];\n for (let i = 0; i < dataSources.length; i++) {\n const source = dataSources[i];\n if (isValid(source, regex)) {\n options.push({ label: source.name, value: source.uid });\n }\n if (this.state.defaultOptionEnabled && isDefault(source, regex)) {\n options.push({ label: \"default\", value: \"default\" });\n }\n }\n if (options.length === 0) {\n this.setState({ error: \"No data sources found\" });\n } else if (this.state.error) {\n this.setState({ error: null });\n }\n return of(options);\n }\n}\nDataSourceVariable.Component = ({ model }) => {\n return renderSelectForVariable(model);\n};\nfunction isValid(source, regex) {\n if (!regex) {\n return true;\n }\n return regex.exec(source.name);\n}\nfunction isDefault(source, regex) {\n if (!source.isDefault) {\n return false;\n }\n if (!regex) {\n return true;\n }\n return regex.exec(\"default\");\n}\n\nexport { DataSourceVariable };\n//# sourceMappingURL=DataSourceVariable.js.map\n","import { VariableSupportType } from '@grafana/data';\n\nconst hasLegacyVariableSupport = (datasource) => {\n return Boolean(datasource.metricFindQuery) && !Boolean(datasource.variables);\n};\nconst hasStandardVariableSupport = (datasource) => {\n if (!datasource.variables) {\n return false;\n }\n if (datasource.variables.getType() !== VariableSupportType.Standard) {\n return false;\n }\n const variableSupport = datasource.variables;\n return \"toDataQuery\" in variableSupport && Boolean(variableSupport.toDataQuery);\n};\nconst hasCustomVariableSupport = (datasource) => {\n if (!datasource.variables) {\n return false;\n }\n if (datasource.variables.getType() !== VariableSupportType.Custom) {\n return false;\n }\n const variableSupport = datasource.variables;\n return \"query\" in variableSupport && \"editor\" in variableSupport && Boolean(variableSupport.query) && Boolean(variableSupport.editor);\n};\n\nexport { hasCustomVariableSupport, hasLegacyVariableSupport, hasStandardVariableSupport };\n//# sourceMappingURL=guards.js.map\n","import { from, mergeMap, of } from 'rxjs';\nimport { LoadingState, getDefaultTimeRange } from '@grafana/data';\nimport { getRunRequest } from '@grafana/runtime';\nimport { hasStandardVariableSupport, hasLegacyVariableSupport, hasCustomVariableSupport } from './guards.js';\n\nvar __defProp = Object.defineProperty;\nvar __defProps = Object.defineProperties;\nvar __getOwnPropDescs = Object.getOwnPropertyDescriptors;\nvar __getOwnPropSymbols = Object.getOwnPropertySymbols;\nvar __hasOwnProp = Object.prototype.hasOwnProperty;\nvar __propIsEnum = Object.prototype.propertyIsEnumerable;\nvar __defNormalProp = (obj, key, value) => key in obj ? __defProp(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;\nvar __spreadValues = (a, b) => {\n for (var prop in b || (b = {}))\n if (__hasOwnProp.call(b, prop))\n __defNormalProp(a, prop, b[prop]);\n if (__getOwnPropSymbols)\n for (var prop of __getOwnPropSymbols(b)) {\n if (__propIsEnum.call(b, prop))\n __defNormalProp(a, prop, b[prop]);\n }\n return a;\n};\nvar __spreadProps = (a, b) => __defProps(a, __getOwnPropDescs(b));\nclass StandardQueryRunner {\n constructor(datasource, _runRequest = getRunRequest()) {\n this.datasource = datasource;\n this._runRequest = _runRequest;\n }\n getTarget(variable) {\n if (hasStandardVariableSupport(this.datasource)) {\n return this.datasource.variables.toDataQuery(ensureVariableQueryModelIsADataQuery(variable));\n }\n throw new Error(\"Couldn't create a target with supplied arguments.\");\n }\n runRequest(_, request) {\n if (!hasStandardVariableSupport(this.datasource)) {\n return getEmptyMetricFindValueObservable();\n }\n if (!this.datasource.variables.query) {\n return this._runRequest(this.datasource, request);\n }\n return this._runRequest(this.datasource, request, this.datasource.variables.query.bind(this.datasource.variables));\n }\n}\nclass LegacyQueryRunner {\n constructor(datasource) {\n this.datasource = datasource;\n }\n getTarget(variable) {\n if (hasLegacyVariableSupport(this.datasource)) {\n return variable.state.query;\n }\n throw new Error(\"Couldn't create a target with supplied arguments.\");\n }\n runRequest({ variable, searchFilter }, request) {\n if (!hasLegacyVariableSupport(this.datasource)) {\n return getEmptyMetricFindValueObservable();\n }\n return from(\n this.datasource.metricFindQuery(variable.state.query, __spreadProps(__spreadValues({}, request), {\n variable: {\n name: variable.state.name,\n type: variable.state.type\n },\n searchFilter\n }))\n ).pipe(\n mergeMap((values) => {\n if (!values || !values.length) {\n return getEmptyMetricFindValueObservable();\n }\n const series = values;\n return of({ series, state: LoadingState.Done, timeRange: request.range });\n })\n );\n }\n}\nclass CustomQueryRunner {\n constructor(datasource, _runRequest = getRunRequest()) {\n this.datasource = datasource;\n this._runRequest = _runRequest;\n }\n getTarget(variable) {\n if (hasCustomVariableSupport(this.datasource)) {\n return variable.state.query;\n }\n throw new Error(\"Couldn't create a target with supplied arguments.\");\n }\n runRequest(_, request) {\n if (!hasCustomVariableSupport(this.datasource)) {\n return getEmptyMetricFindValueObservable();\n }\n if (!this.datasource.variables.query) {\n return this._runRequest(this.datasource, request);\n }\n return this._runRequest(this.datasource, request, this.datasource.variables.query.bind(this.datasource.variables));\n }\n}\nfunction getEmptyMetricFindValueObservable() {\n return of({ state: LoadingState.Done, series: [], timeRange: getDefaultTimeRange() });\n}\nfunction createQueryVariableRunnerFactory(datasource) {\n if (hasStandardVariableSupport(datasource)) {\n return new StandardQueryRunner(datasource, getRunRequest());\n }\n if (hasLegacyVariableSupport(datasource)) {\n return new LegacyQueryRunner(datasource);\n }\n if (hasCustomVariableSupport(datasource)) {\n return new CustomQueryRunner(datasource);\n }\n throw new Error(`Couldn't create a query runner for datasource ${datasource.type}`);\n}\nlet createQueryVariableRunner = createQueryVariableRunnerFactory;\nfunction ensureVariableQueryModelIsADataQuery(variable) {\n const query = variable.state.query;\n if (!query || typeof query !== \"object\") {\n return { query, refId: `variable-${variable.state.name}` };\n }\n if (query.refId == null) {\n return __spreadProps(__spreadValues({}, query), { refId: `variable-${variable.state.name}` });\n }\n return variable.state.query;\n}\n\nexport { createQueryVariableRunner };\n//# sourceMappingURL=createQueryVariableRunner.js.map\n","import { isNumber, uniqBy, sortBy, toLower } from 'lodash';\nimport { stringToJsRegex, VariableSort } from '@grafana/data';\n\nconst metricNamesToVariableValues = (variableRegEx, sort, metricNames) => {\n var _a, _b, _c, _d, _e, _f;\n let regex;\n let options = [];\n if (variableRegEx) {\n regex = stringToJsRegex(variableRegEx);\n }\n for (let i = 0; i < metricNames.length; i++) {\n const item = metricNames[i];\n let text = item.text === void 0 || item.text === null ? item.value : item.text;\n let value = item.value === void 0 || item.value === null ? item.text : item.value;\n if (isNumber(value)) {\n value = value.toString();\n }\n if (isNumber(text)) {\n text = text.toString();\n }\n if (regex) {\n const matches = getAllMatches(value, regex);\n if (!matches.length) {\n continue;\n }\n const valueGroup = matches.find((m) => m.groups && m.groups.value);\n const textGroup = matches.find((m) => m.groups && m.groups.text);\n const firstMatch = matches.find((m) => m.length > 1);\n const manyMatches = matches.length > 1 && firstMatch;\n if (valueGroup || textGroup) {\n value = (_c = (_a = valueGroup == null ? void 0 : valueGroup.groups) == null ? void 0 : _a.value) != null ? _c : (_b = textGroup == null ? void 0 : textGroup.groups) == null ? void 0 : _b.text;\n text = (_f = (_d = textGroup == null ? void 0 : textGroup.groups) == null ? void 0 : _d.text) != null ? _f : (_e = valueGroup == null ? void 0 : valueGroup.groups) == null ? void 0 : _e.value;\n } else if (manyMatches) {\n for (let j = 0; j < matches.length; j++) {\n const match = matches[j];\n options.push({ label: match[1], value: match[1] });\n }\n continue;\n } else if (firstMatch) {\n text = firstMatch[1];\n value = firstMatch[1];\n }\n }\n options.push({ label: text, value });\n }\n options = uniqBy(options, \"value\");\n return sortVariableValues(options, sort);\n};\nconst getAllMatches = (str, regex) => {\n const results = [];\n let matches = null;\n regex.lastIndex = 0;\n do {\n matches = regex.exec(str);\n if (matches) {\n results.push(matches);\n }\n } while (regex.global && matches && matches[0] !== \"\" && matches[0] !== void 0);\n return results;\n};\nconst sortVariableValues = (options, sortOrder) => {\n if (sortOrder === VariableSort.disabled) {\n return options;\n }\n const sortByNumeric = (opt) => {\n if (!opt.text) {\n return -1;\n }\n const matches = opt.text.match(/.*?(\\d+).*/);\n if (!matches || matches.length < 2) {\n return -1;\n } else {\n return parseInt(matches[1], 10);\n }\n };\n const sortByNaturalSort = (options2) => {\n return options2.sort((a, b) => {\n if (!a.text) {\n return -1;\n }\n if (!b.text) {\n return 1;\n }\n return a.text.localeCompare(b.text, void 0, { numeric: true });\n });\n };\n switch (sortOrder) {\n case VariableSort.alphabeticalAsc:\n options = sortBy(options, \"text\");\n break;\n case VariableSort.alphabeticalDesc:\n options = sortBy(options, \"text\").reverse();\n break;\n case VariableSort.numericalAsc:\n options = sortBy(options, sortByNumeric);\n break;\n case VariableSort.numericalDesc:\n options = sortBy(options, sortByNumeric);\n options = options.reverse();\n break;\n case VariableSort.alphabeticalCaseInsensitiveAsc:\n options = sortBy(options, (opt) => {\n return toLower(opt.text);\n });\n break;\n case VariableSort.alphabeticalCaseInsensitiveDesc:\n options = sortBy(options, (opt) => {\n return toLower(opt.text);\n });\n options = options.reverse();\n break;\n case (VariableSort.naturalAsc || 7):\n options = sortByNaturalSort(options);\n break;\n case (VariableSort.naturalDesc || 8):\n options = sortByNaturalSort(options);\n options = options.reverse();\n break;\n }\n return options;\n};\n\nexport { metricNamesToVariableValues, sortVariableValues };\n//# sourceMappingURL=utils.js.map\n","import { lastValueFrom, of, from, mergeMap, filter, take, throwError, catchError } from 'rxjs';\nimport { v4 } from 'uuid';\nimport { VariableRefresh, VariableSort, LoadingState, CoreApp } from '@grafana/data';\nimport { sceneGraph } from '../../../core/sceneGraph/index.js';\nimport { VariableDependencyConfig } from '../../VariableDependencyConfig.js';\nimport { renderSelectForVariable } from '../../components/VariableValueSelect.js';\nimport { MultiValueVariable } from '../MultiValueVariable.js';\nimport { createQueryVariableRunner } from './createQueryVariableRunner.js';\nimport { metricNamesToVariableValues } from './utils.js';\nimport { toMetricFindValues } from './toMetricFindValues.js';\nimport { getDataSource } from '../../../utils/getDataSource.js';\nimport { safeStringifyValue } from '../../utils.js';\nimport { SEARCH_FILTER_VARIABLE } from '../../constants.js';\nimport { debounce } from 'lodash';\n\nvar __defProp = Object.defineProperty;\nvar __getOwnPropSymbols = Object.getOwnPropertySymbols;\nvar __hasOwnProp = Object.prototype.hasOwnProperty;\nvar __propIsEnum = Object.prototype.propertyIsEnumerable;\nvar __defNormalProp = (obj, key, value) => key in obj ? __defProp(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;\nvar __spreadValues = (a, b) => {\n for (var prop in b || (b = {}))\n if (__hasOwnProp.call(b, prop))\n __defNormalProp(a, prop, b[prop]);\n if (__getOwnPropSymbols)\n for (var prop of __getOwnPropSymbols(b)) {\n if (__propIsEnum.call(b, prop))\n __defNormalProp(a, prop, b[prop]);\n }\n return a;\n};\nclass QueryVariable extends MultiValueVariable {\n constructor(initialState) {\n super(__spreadValues({\n type: \"query\",\n name: \"\",\n value: \"\",\n text: \"\",\n options: [],\n datasource: null,\n regex: \"\",\n query: { refId: \"A\" },\n refresh: VariableRefresh.onDashboardLoad,\n sort: VariableSort.disabled\n }, initialState));\n this._variableDependency = new VariableDependencyConfig(this, {\n statePaths: [\"regex\", \"query\", \"datasource\"]\n });\n this.onSearchChange = (searchFilter) => {\n if (!containsSearchFilter(this.state.query)) {\n return;\n }\n this._updateOptionsBasedOnSearchFilter(searchFilter);\n };\n this._updateOptionsBasedOnSearchFilter = debounce(async (searchFilter) => {\n const result = await lastValueFrom(this.getValueOptions({ searchFilter }));\n this.setState({ options: result, loading: false });\n }, 400);\n }\n getValueOptions(args) {\n if (!this.state.query) {\n return of([]);\n }\n this.setState({ loading: true, error: null });\n return from(\n getDataSource(this.state.datasource, {\n __sceneObject: { text: \"__sceneObject\", value: this }\n })\n ).pipe(\n mergeMap((ds) => {\n const runner = createQueryVariableRunner(ds);\n const target = runner.getTarget(this);\n const request = this.getRequest(target, args.searchFilter);\n return runner.runRequest({ variable: this, searchFilter: args.searchFilter }, request).pipe(\n filter((data) => data.state === LoadingState.Done || data.state === LoadingState.Error),\n take(1),\n mergeMap((data) => {\n if (data.state === LoadingState.Error) {\n return throwError(() => data.error);\n }\n return of(data);\n }),\n toMetricFindValues(),\n mergeMap((values) => {\n let regex = \"\";\n if (this.state.regex) {\n regex = sceneGraph.interpolate(this, this.state.regex, void 0, \"regex\");\n }\n return of(metricNamesToVariableValues(regex, this.state.sort, values));\n }),\n catchError((error) => {\n if (error.cancelled) {\n return of([]);\n }\n return throwError(() => error);\n })\n );\n })\n );\n }\n getRequest(target, searchFilter) {\n const scopedVars = {\n __sceneObject: { text: \"__sceneObject\", value: this }\n };\n if (searchFilter) {\n scopedVars.__searchFilter = { value: searchFilter, text: searchFilter };\n }\n const range = sceneGraph.getTimeRange(this).state.value;\n const request = {\n app: CoreApp.Dashboard,\n requestId: v4(),\n timezone: \"\",\n range,\n interval: \"\",\n intervalMs: 0,\n targets: [target],\n scopedVars,\n startTime: Date.now()\n };\n return request;\n }\n}\nQueryVariable.Component = ({ model }) => {\n return renderSelectForVariable(model);\n};\nfunction containsSearchFilter(query) {\n const str = safeStringifyValue(query);\n return str.indexOf(SEARCH_FILTER_VARIABLE);\n}\n\nexport { QueryVariable };\n//# sourceMappingURL=QueryVariable.js.map\n","import { getProcessedDataFrames, getFieldDisplayName, FieldType, isDataFrame } from '@grafana/data';\nimport { map } from 'rxjs';\n\nfunction toMetricFindValues() {\n return (source) => source.pipe(\n map((panelData) => {\n const frames = panelData.series;\n if (!frames || !frames.length) {\n return [];\n }\n if (areMetricFindValues(frames)) {\n return frames;\n }\n if (frames[0].fields.length === 0) {\n return [];\n }\n const processedDataFrames = getProcessedDataFrames(frames);\n const metrics = [];\n let valueIndex = -1;\n let textIndex = -1;\n let stringIndex = -1;\n let expandableIndex = -1;\n for (const frame of processedDataFrames) {\n for (let index = 0; index < frame.fields.length; index++) {\n const field = frame.fields[index];\n const fieldName = getFieldDisplayName(field, frame, frames).toLowerCase();\n if (field.type === FieldType.string && stringIndex === -1) {\n stringIndex = index;\n }\n if (fieldName === \"text\" && field.type === FieldType.string && textIndex === -1) {\n textIndex = index;\n }\n if (fieldName === \"value\" && field.type === FieldType.string && valueIndex === -1) {\n valueIndex = index;\n }\n if (fieldName === \"expandable\" && (field.type === FieldType.boolean || field.type === FieldType.number) && expandableIndex === -1) {\n expandableIndex = index;\n }\n }\n }\n if (stringIndex === -1) {\n throw new Error(\"Couldn't find any field of type string in the results.\");\n }\n for (const frame of frames) {\n for (let index = 0; index < frame.length; index++) {\n const expandable = expandableIndex !== -1 ? frame.fields[expandableIndex].values.get(index) : void 0;\n const string = frame.fields[stringIndex].values.get(index);\n const text = textIndex !== -1 ? frame.fields[textIndex].values.get(index) : null;\n const value = valueIndex !== -1 ? frame.fields[valueIndex].values.get(index) : null;\n if (valueIndex === -1 && textIndex === -1) {\n metrics.push({ text: string, value: string, expandable });\n continue;\n }\n if (valueIndex === -1 && textIndex !== -1) {\n metrics.push({ text, value: text, expandable });\n continue;\n }\n if (valueIndex !== -1 && textIndex === -1) {\n metrics.push({ text: value, value, expandable });\n continue;\n }\n metrics.push({ text, value, expandable });\n }\n }\n return metrics;\n })\n );\n}\nfunction areMetricFindValues(data) {\n if (!data) {\n return false;\n }\n if (!data.length) {\n return true;\n }\n const firstValue = data[0];\n if (isDataFrame(firstValue)) {\n return false;\n }\n for (const firstValueKey in firstValue) {\n if (!firstValue.hasOwnProperty(firstValueKey)) {\n continue;\n }\n if (firstValue[firstValueKey] !== null && typeof firstValue[firstValueKey] !== \"string\" && typeof firstValue[firstValueKey] !== \"number\") {\n continue;\n }\n const key = firstValueKey.toLowerCase();\n if (key === \"text\" || key === \"value\") {\n return true;\n }\n }\n return false;\n}\n\nexport { toMetricFindValues };\n//# sourceMappingURL=toMetricFindValues.js.map\n","function buildMetricTree(parent, depth) {\n const chars = [\"A\", \"B\", \"C\", \"D\", \"E\", \"F\", \"G\", \"H\"];\n const children = [];\n if (depth > 5) {\n return [];\n }\n for (const letter of chars) {\n const nodeName = `${parent}${letter}`;\n children.push({\n name: nodeName,\n children: buildMetricTree(nodeName, depth + 1)\n });\n }\n return children;\n}\nfunction queryTree(children, query, queryIndex) {\n if (queryIndex >= query.length) {\n return children;\n }\n if (query[queryIndex] === \"*\") {\n return children;\n }\n const nodeQuery = query[queryIndex];\n let result = [];\n let namesToMatch = [nodeQuery];\n if (nodeQuery.startsWith(\"{\")) {\n namesToMatch = nodeQuery.replace(/\\{|\\}/g, \"\").split(\",\");\n }\n for (const node of children) {\n for (const nameToMatch of namesToMatch) {\n if (nameToMatch.indexOf(\"*\") !== -1) {\n const pattern = nameToMatch.replace(\"*\", \"\");\n const regex = new RegExp(`^${pattern}.*`, \"gi\");\n if (regex.test(node.name)) {\n result = result.concat(queryTree([node], query, queryIndex + 1));\n }\n } else if (node.name === nameToMatch) {\n result = result.concat(queryTree(node.children, query, queryIndex + 1));\n }\n }\n }\n return result;\n}\nfunction queryMetricTree(query) {\n if (query.indexOf(\"value\") === 0) {\n return [{ name: query, children: [] }];\n }\n const children = buildMetricTree(\"\", 0);\n return queryTree(children, query.split(\".\"), 0);\n}\n\nexport { queryMetricTree };\n//# sourceMappingURL=metricTree.js.map\n","import { Subject, Observable } from 'rxjs';\nimport { sceneGraph } from '../../core/sceneGraph/index.js';\nimport { queryMetricTree } from '../../utils/metricTree.js';\nimport { VariableDependencyConfig } from '../VariableDependencyConfig.js';\nimport { renderSelectForVariable } from '../components/VariableValueSelect.js';\nimport { MultiValueVariable } from './MultiValueVariable.js';\nimport { VariableRefresh } from '@grafana/data';\nimport { getClosest } from '../../core/sceneGraph/utils.js';\nimport { SceneVariableSet } from '../sets/SceneVariableSet.js';\n\nvar __defProp = Object.defineProperty;\nvar __getOwnPropSymbols = Object.getOwnPropertySymbols;\nvar __hasOwnProp = Object.prototype.hasOwnProperty;\nvar __propIsEnum = Object.prototype.propertyIsEnumerable;\nvar __defNormalProp = (obj, key, value) => key in obj ? __defProp(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;\nvar __spreadValues = (a, b) => {\n for (var prop in b || (b = {}))\n if (__hasOwnProp.call(b, prop))\n __defNormalProp(a, prop, b[prop]);\n if (__getOwnPropSymbols)\n for (var prop of __getOwnPropSymbols(b)) {\n if (__propIsEnum.call(b, prop))\n __defNormalProp(a, prop, b[prop]);\n }\n return a;\n};\nclass TestVariable extends MultiValueVariable {\n constructor(initialState) {\n super(__spreadValues({\n type: \"custom\",\n name: \"Test\",\n value: \"Value\",\n text: \"Text\",\n query: \"Query\",\n options: [],\n refresh: VariableRefresh.onDashboardLoad\n }, initialState));\n this.completeUpdate = new Subject();\n this.isGettingValues = true;\n this.getValueOptionsCount = 0;\n this._variableDependency = new VariableDependencyConfig(this, {\n statePaths: [\"query\"]\n });\n }\n getValueOptions(args) {\n const { delayMs } = this.state;\n this.getValueOptionsCount += 1;\n return new Observable((observer) => {\n this.setState({ loading: true });\n if (this.state.throwError) {\n throw new Error(this.state.throwError);\n }\n const sub = this.completeUpdate.subscribe({\n next: () => {\n observer.next(this.issueQuery());\n observer.complete();\n }\n });\n let timeout;\n if (delayMs) {\n timeout = window.setTimeout(() => this.signalUpdateCompleted(), delayMs);\n } else if (delayMs === 0) {\n this.signalUpdateCompleted();\n }\n this.isGettingValues = true;\n return () => {\n sub.unsubscribe();\n window.clearTimeout(timeout);\n this.setState({ loading: false });\n this.isGettingValues = false;\n };\n });\n }\n cancel() {\n const sceneVarSet = getClosest(this, (s) => s instanceof SceneVariableSet ? s : void 0);\n sceneVarSet == null ? void 0 : sceneVarSet.cancel(this);\n }\n issueQuery() {\n const interpolatedQuery = sceneGraph.interpolate(this, this.state.query);\n const options = this.getOptions(interpolatedQuery);\n this.setState({\n issuedQuery: interpolatedQuery,\n options\n });\n return options;\n }\n getOptions(interpolatedQuery) {\n if (this.state.optionsToReturn) {\n return this.state.optionsToReturn;\n }\n return queryMetricTree(interpolatedQuery).map((x) => ({ label: x.name, value: x.name }));\n }\n signalUpdateCompleted() {\n this.completeUpdate.next(1);\n }\n}\nTestVariable.Component = ({ model }) => {\n return renderSelectForVariable(model);\n};\n\nexport { TestVariable };\n//# sourceMappingURL=TestVariable.js.map\n","import React, { useCallback } from 'react';\nimport { AutoSizeInput } from '@grafana/ui';\n\nfunction VariableValueInput({ model }) {\n const { value, key, loading } = model.useState();\n const onBlur = useCallback(\n (e) => {\n model.setValue(e.currentTarget.value);\n },\n [model]\n );\n const onKeyDown = useCallback(\n (e) => {\n if (e.key === \"Enter\") {\n model.setValue(e.currentTarget.value);\n }\n },\n [model]\n );\n return /* @__PURE__ */ React.createElement(AutoSizeInput, {\n id: key,\n placeholder: \"Enter value\",\n minWidth: 15,\n defaultValue: value,\n loading,\n onBlur,\n onKeyDown\n });\n}\n\nexport { VariableValueInput };\n//# sourceMappingURL=VariableValueInput.js.map\n","import React from 'react';\nimport { SceneObjectBase } from '../../core/SceneObjectBase.js';\nimport { SceneObjectUrlSyncConfig } from '../../services/SceneObjectUrlSyncConfig.js';\nimport { VariableValueInput } from '../components/VariableValueInput.js';\nimport { SceneVariableValueChangedEvent } from '../types.js';\n\nvar __defProp = Object.defineProperty;\nvar __getOwnPropSymbols = Object.getOwnPropertySymbols;\nvar __hasOwnProp = Object.prototype.hasOwnProperty;\nvar __propIsEnum = Object.prototype.propertyIsEnumerable;\nvar __defNormalProp = (obj, key, value) => key in obj ? __defProp(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;\nvar __spreadValues = (a, b) => {\n for (var prop in b || (b = {}))\n if (__hasOwnProp.call(b, prop))\n __defNormalProp(a, prop, b[prop]);\n if (__getOwnPropSymbols)\n for (var prop of __getOwnPropSymbols(b)) {\n if (__propIsEnum.call(b, prop))\n __defNormalProp(a, prop, b[prop]);\n }\n return a;\n};\nclass TextBoxVariable extends SceneObjectBase {\n constructor(initialState) {\n super(__spreadValues({\n type: \"textbox\",\n value: \"\",\n name: \"\"\n }, initialState));\n this._urlSync = new SceneObjectUrlSyncConfig(this, { keys: [this.getKey()] });\n }\n getValue() {\n return this.state.value;\n }\n setValue(newValue) {\n if (newValue !== this.state.value) {\n this.setState({ value: newValue });\n this.publishEvent(new SceneVariableValueChangedEvent(this), true);\n }\n }\n getKey() {\n return `var-${this.state.name}`;\n }\n getUrlState() {\n return { [this.getKey()]: this.state.value };\n }\n updateFromUrl(values) {\n const update = {};\n const val = values[this.getKey()];\n if (typeof val === \"string\") {\n update.value = val;\n }\n this.setState(update);\n }\n}\nTextBoxVariable.Component = ({ model }) => {\n return /* @__PURE__ */ React.createElement(VariableValueInput, {\n model\n });\n};\n\nexport { TextBoxVariable };\n//# sourceMappingURL=TextBoxVariable.js.map\n","import { SceneObjectBase } from '../../core/SceneObjectBase.js';\nimport { sceneGraph } from '../../core/sceneGraph/index.js';\n\nvar __defProp = Object.defineProperty;\nvar __defProps = Object.defineProperties;\nvar __getOwnPropDescs = Object.getOwnPropertyDescriptors;\nvar __getOwnPropSymbols = Object.getOwnPropertySymbols;\nvar __hasOwnProp = Object.prototype.hasOwnProperty;\nvar __propIsEnum = Object.prototype.propertyIsEnumerable;\nvar __defNormalProp = (obj, key, value) => key in obj ? __defProp(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;\nvar __spreadValues = (a, b) => {\n for (var prop in b || (b = {}))\n if (__hasOwnProp.call(b, prop))\n __defNormalProp(a, prop, b[prop]);\n if (__getOwnPropSymbols)\n for (var prop of __getOwnPropSymbols(b)) {\n if (__propIsEnum.call(b, prop))\n __defNormalProp(a, prop, b[prop]);\n }\n return a;\n};\nvar __spreadProps = (a, b) => __defProps(a, __getOwnPropDescs(b));\nclass LocalValueVariable extends SceneObjectBase {\n constructor(initialState) {\n super(__spreadProps(__spreadValues({\n type: \"system\",\n value: \"\",\n text: \"\",\n name: \"\"\n }, initialState), {\n skipUrlSync: true\n }));\n }\n getValue() {\n return this.state.value;\n }\n getValueText() {\n return this.state.text.toString();\n }\n isAncestorLoading() {\n var _a, _b;\n const ancestorScope = (_b = (_a = this.parent) == null ? void 0 : _a.parent) == null ? void 0 : _b.parent;\n if (!ancestorScope) {\n throw new Error(\"LocalValueVariable requires a parent SceneVariableSet that has an ancestor SceneVariableSet\");\n }\n const set = sceneGraph.getVariables(ancestorScope);\n const parentVar = sceneGraph.lookupVariable(this.state.name, ancestorScope);\n if (set && parentVar) {\n return set.isVariableLoadingOrWaitingToUpdate(parentVar);\n }\n throw new Error(\"LocalValueVariable requires a parent SceneVariableSet that has an ancestor SceneVariableSet\");\n }\n}\n\nexport { LocalValueVariable };\n//# sourceMappingURL=LocalValueVariable.js.map\n","import { rangeUtil } from '@grafana/data';\nimport { VariableRefresh } from '@grafana/schema';\nimport { Select } from '@grafana/ui';\nimport React from 'react';\nimport { of } from 'rxjs';\nimport { sceneGraph } from '../../core/sceneGraph/index.js';\nimport { SceneObjectBase } from '../../core/SceneObjectBase.js';\nimport { SceneObjectUrlSyncConfig } from '../../services/SceneObjectUrlSyncConfig.js';\nimport { AUTO_VARIABLE_VALUE, AUTO_VARIABLE_TEXT } from '../constants.js';\nimport { SceneVariableValueChangedEvent } from '../types.js';\n\nvar __defProp = Object.defineProperty;\nvar __getOwnPropSymbols = Object.getOwnPropertySymbols;\nvar __hasOwnProp = Object.prototype.hasOwnProperty;\nvar __propIsEnum = Object.prototype.propertyIsEnumerable;\nvar __defNormalProp = (obj, key, value) => key in obj ? __defProp(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;\nvar __spreadValues = (a, b) => {\n for (var prop in b || (b = {}))\n if (__hasOwnProp.call(b, prop))\n __defNormalProp(a, prop, b[prop]);\n if (__getOwnPropSymbols)\n for (var prop of __getOwnPropSymbols(b)) {\n if (__propIsEnum.call(b, prop))\n __defNormalProp(a, prop, b[prop]);\n }\n return a;\n};\nclass IntervalVariable extends SceneObjectBase {\n constructor(initialState) {\n super(__spreadValues({\n type: \"interval\",\n value: \"\",\n intervals: [\"1m\", \"10m\", \"30m\", \"1h\", \"6h\", \"12h\", \"1d\", \"7d\", \"14d\", \"30d\"],\n name: \"\",\n autoStepCount: 30,\n autoMinInterval: \"10s\",\n autoEnabled: false,\n refresh: VariableRefresh.onTimeRangeChanged\n }, initialState));\n this._onChange = (value) => {\n this.setState({ value: value.value });\n this.publishEvent(new SceneVariableValueChangedEvent(this), true);\n };\n this._urlSync = new SceneObjectUrlSyncConfig(this, { keys: [this.getKey()] });\n }\n getKey() {\n return `var-${this.state.name}`;\n }\n getUrlState() {\n return { [this.getKey()]: this.state.value };\n }\n updateFromUrl(values) {\n const update = {};\n const val = values[this.getKey()];\n if (typeof val === \"string\") {\n if (val.startsWith(\"$__auto_interval_\")) {\n update.value = AUTO_VARIABLE_VALUE;\n } else {\n update.value = val;\n }\n }\n this.setState(update);\n }\n getOptionsForSelect() {\n const { value: currentValue, intervals, autoEnabled } = this.state;\n let options = intervals.map((interval) => ({ value: interval, label: interval }));\n if (autoEnabled) {\n options = [{ value: AUTO_VARIABLE_VALUE, label: AUTO_VARIABLE_TEXT }, ...options];\n }\n if (currentValue && !options.some((option) => option.value === currentValue)) {\n options.push({ value: currentValue, label: currentValue });\n }\n return options;\n }\n getValue() {\n const { value, autoStepCount, autoMinInterval } = this.state;\n if (value === AUTO_VARIABLE_VALUE) {\n return this.getAutoRefreshInteval(autoStepCount, autoMinInterval);\n }\n return value;\n }\n getAutoRefreshInteval(autoStepCount, minRefreshInterval) {\n const timeRange = sceneGraph.getTimeRange(this).state.value;\n const intervalObject = rangeUtil.calculateInterval(timeRange, autoStepCount, minRefreshInterval);\n return intervalObject.interval;\n }\n validateAndUpdate() {\n const { value, intervals } = this.state;\n let shouldPublish = false;\n if (value === AUTO_VARIABLE_VALUE) {\n shouldPublish = true;\n } else if (!value && intervals.length > 0) {\n const firstOption = intervals[0];\n this.setState({ value: firstOption });\n shouldPublish = true;\n }\n if (shouldPublish) {\n this.publishEvent(new SceneVariableValueChangedEvent(this), true);\n }\n return of({});\n }\n}\nIntervalVariable.Component = ({ model }) => {\n const { key, value } = model.useState();\n return /* @__PURE__ */ React.createElement(Select, {\n id: key,\n placeholder: \"Select value\",\n width: \"auto\",\n value,\n tabSelectsValue: false,\n options: model.getOptionsForSelect(),\n onChange: model._onChange\n });\n};\n\nexport { IntervalVariable };\n//# sourceMappingURL=IntervalVariable.js.map\n","class AdHocFiltersVariableUrlSyncHandler {\n constructor(_variable) {\n this._variable = _variable;\n }\n getKey() {\n return `var-${this._variable.state.name}`;\n }\n getKeys() {\n return [this.getKey()];\n }\n getUrlState() {\n let filters = this._variable.state.filters;\n const value = filters.map((filter) => toArray(filter).map(escapeDelimiter).join(\"|\"));\n return { [this.getKey()]: value };\n }\n updateFromUrl(values) {\n const urlValue = values[this.getKey()];\n if (urlValue == null) {\n return;\n }\n const filters = deserializeUrlToFilters(urlValue);\n this._variable.setState({ filters });\n }\n}\nfunction deserializeUrlToFilters(value) {\n if (Array.isArray(value)) {\n const values = value;\n return values.map(toFilter).filter(isFilter);\n }\n const filter = toFilter(value);\n return filter === null ? [] : [filter];\n}\nfunction escapeDelimiter(value) {\n if (value === null || value === void 0) {\n return \"\";\n }\n return /\\|/g[Symbol.replace](value, \"__gfp__\");\n}\nfunction unescapeDelimiter(value) {\n if (value === null || value === void 0) {\n return \"\";\n }\n return /__gfp__/g[Symbol.replace](value, \"|\");\n}\nfunction toArray(filter) {\n return [filter.key, filter.operator, filter.value];\n}\nfunction toFilter(value) {\n if (typeof value !== \"string\" || value.length === 0) {\n return null;\n }\n const parts = value.split(\"|\").map(unescapeDelimiter);\n return {\n key: parts[0],\n operator: parts[1],\n value: parts[2],\n condition: \"\"\n };\n}\nfunction isFilter(filter) {\n return filter !== null && typeof filter.key === \"string\" && typeof filter.value === \"string\";\n}\n\nexport { AdHocFiltersVariableUrlSyncHandler };\n//# sourceMappingURL=AdHocFiltersVariableUrlSyncHandler.js.map\n","import React, { useState } from 'react';\nimport { toOption } from '@grafana/data';\nimport { useStyles2, Select, Field, Button } from '@grafana/ui';\nimport { css } from '@emotion/css';\nimport { ControlsLabel } from '../../utils/ControlsLabel.js';\n\nvar __defProp = Object.defineProperty;\nvar __defProps = Object.defineProperties;\nvar __getOwnPropDescs = Object.getOwnPropertyDescriptors;\nvar __getOwnPropSymbols = Object.getOwnPropertySymbols;\nvar __hasOwnProp = Object.prototype.hasOwnProperty;\nvar __propIsEnum = Object.prototype.propertyIsEnumerable;\nvar __defNormalProp = (obj, key, value) => key in obj ? __defProp(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;\nvar __spreadValues = (a, b) => {\n for (var prop in b || (b = {}))\n if (__hasOwnProp.call(b, prop))\n __defNormalProp(a, prop, b[prop]);\n if (__getOwnPropSymbols)\n for (var prop of __getOwnPropSymbols(b)) {\n if (__propIsEnum.call(b, prop))\n __defNormalProp(a, prop, b[prop]);\n }\n return a;\n};\nvar __spreadProps = (a, b) => __defProps(a, __getOwnPropDescs(b));\nfunction AdHocFilterRenderer({ filter, model }) {\n var _a, _b;\n const styles = useStyles2(getStyles);\n const [state, setState] = useState({});\n const keyValue = filter.key !== \"\" ? toOption(filter.key) : null;\n const valueValue = filter.value !== \"\" ? toOption(filter.value) : null;\n const valueSelect = /* @__PURE__ */ React.createElement(Select, {\n disabled: model.state.readOnly,\n className: state.isKeysOpen ? styles.widthWhenOpen : void 0,\n width: \"auto\",\n value: valueValue,\n placeholder: \"value\",\n options: state.values,\n onChange: (v) => model._updateFilter(filter, \"value\", v.value),\n isOpen: state.isValuesOpen,\n isLoading: state.isValuesLoading,\n onOpenMenu: async () => {\n setState(__spreadProps(__spreadValues({}, state), { isValuesLoading: true }));\n const values = await model._getValuesFor(filter);\n setState(__spreadProps(__spreadValues({}, state), { isValuesLoading: false, isValuesOpen: true, values }));\n },\n onCloseMenu: () => {\n setState(__spreadProps(__spreadValues({}, state), { isValuesOpen: false }));\n }\n });\n const keySelect = /* @__PURE__ */ React.createElement(Select, {\n disabled: model.state.readOnly,\n className: state.isKeysOpen ? styles.widthWhenOpen : void 0,\n width: \"auto\",\n value: keyValue,\n placeholder: \"Select label\",\n options: state.keys,\n onChange: (v) => model._updateFilter(filter, \"key\", v.value),\n autoFocus: filter.key === \"\",\n isOpen: state.isKeysOpen,\n isLoading: state.isKeysLoading,\n onOpenMenu: async () => {\n setState(__spreadProps(__spreadValues({}, state), { isKeysLoading: true }));\n const keys = await model._getKeys(filter.key);\n setState(__spreadProps(__spreadValues({}, state), { isKeysLoading: false, isKeysOpen: true, keys }));\n },\n onCloseMenu: () => {\n setState(__spreadProps(__spreadValues({}, state), { isKeysOpen: false }));\n },\n openMenuOnFocus: true\n });\n if (model.state.layout === \"vertical\") {\n if (filter.key) {\n const label = /* @__PURE__ */ React.createElement(ControlsLabel, {\n layout: \"vertical\",\n label: (_a = filter.key) != null ? _a : \"\",\n onRemove: () => model._removeFilter(filter)\n });\n return /* @__PURE__ */ React.createElement(Field, {\n label,\n \"data-testid\": `AdHocFilter-${filter.key}`,\n className: styles.field\n }, valueSelect);\n } else {\n return /* @__PURE__ */ React.createElement(Field, {\n label: \"Select label\",\n \"data-testid\": `AdHocFilter-${filter.key}`,\n className: styles.field\n }, keySelect);\n }\n }\n return /* @__PURE__ */ React.createElement(\"div\", {\n className: styles.wrapper,\n \"data-testid\": `AdHocFilter-${filter.key}`\n }, keySelect, /* @__PURE__ */ React.createElement(Select, {\n value: filter.operator,\n disabled: model.state.readOnly,\n options: model._getOperators(),\n width: \"auto\",\n onChange: (v) => model._updateFilter(filter, \"operator\", v.value)\n }), valueSelect, /* @__PURE__ */ React.createElement(Button, {\n variant: \"secondary\",\n \"aria-label\": \"Remove filter\",\n title: \"Remove filter\",\n className: styles.removeButton,\n icon: \"times\",\n \"data-testid\": `AdHocFilter-remove-${(_b = filter.key) != null ? _b : \"\"}`,\n onClick: () => model._removeFilter(filter)\n }));\n}\nconst getStyles = (theme) => ({\n field: css({\n marginBottom: 0\n }),\n wrapper: css({\n display: \"flex\",\n \"> *\": {\n \"&:not(:first-child)\": {\n marginLeft: -1\n },\n \"&:first-child\": {\n borderTopRightRadius: 0,\n borderBottomRightRadius: 0\n },\n \"&:last-child\": {\n borderTopLeftRadius: 0,\n borderBottomLeftRadius: 0\n },\n \"&:not(:first-child):not(:last-child)\": {\n borderRadius: 0\n },\n position: \"relative\",\n zIndex: 0,\n \"&:hover\": {\n zIndex: 1\n },\n \"&:focus-within\": {\n zIndex: 2\n }\n }\n }),\n widthWhenOpen: css({\n minWidth: theme.spacing(16)\n }),\n removeButton: css({\n paddingLeft: theme.spacing(3 / 2),\n paddingRight: theme.spacing(3 / 2),\n borderLeft: \"none\",\n position: \"relative\",\n left: \"1px\"\n })\n});\n\nexport { AdHocFilterRenderer };\n//# sourceMappingURL=AdHocFilterRenderer.js.map\n","import React from 'react';\nimport { AdHocFilterRenderer } from './AdHocFilterRenderer.js';\nimport { Button } from '@grafana/ui';\n\nfunction AdHocFilterBuilder({ model }) {\n const { _wip } = model.useState();\n if (!_wip) {\n return /* @__PURE__ */ React.createElement(Button, {\n variant: \"secondary\",\n icon: \"plus\",\n title: \"Add filter\",\n \"aria-label\": \"Add filter\",\n \"data-testid\": `AdHocFilter-add`,\n onClick: () => model._addWip()\n });\n }\n return /* @__PURE__ */ React.createElement(AdHocFilterRenderer, {\n filter: _wip,\n model\n });\n}\n\nexport { AdHocFilterBuilder };\n//# sourceMappingURL=AdHocFilterBuilder.js.map\n","import { SceneObjectBase } from '../../core/SceneObjectBase.js';\nimport { patchGetAdhocFilters } from './patchGetAdhocFilters.js';\nimport { getDataSourceSrv } from '@grafana/runtime';\nimport { AdHocFiltersVariableUrlSyncHandler } from './AdHocFiltersVariableUrlSyncHandler.js';\nimport { useStyles2 } from '@grafana/ui';\nimport React from 'react';\nimport { ControlsLabel } from '../../utils/ControlsLabel.js';\nimport { AdHocFilterRenderer } from './AdHocFilterRenderer.js';\nimport { AdHocFilterBuilder } from './AdHocFilterBuilder.js';\nimport { css } from '@emotion/css';\n\nvar __defProp = Object.defineProperty;\nvar __defProps = Object.defineProperties;\nvar __getOwnPropDescs = Object.getOwnPropertyDescriptors;\nvar __getOwnPropSymbols = Object.getOwnPropertySymbols;\nvar __hasOwnProp = Object.prototype.hasOwnProperty;\nvar __propIsEnum = Object.prototype.propertyIsEnumerable;\nvar __defNormalProp = (obj, key, value) => key in obj ? __defProp(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;\nvar __spreadValues = (a, b) => {\n for (var prop in b || (b = {}))\n if (__hasOwnProp.call(b, prop))\n __defNormalProp(a, prop, b[prop]);\n if (__getOwnPropSymbols)\n for (var prop of __getOwnPropSymbols(b)) {\n if (__propIsEnum.call(b, prop))\n __defNormalProp(a, prop, b[prop]);\n }\n return a;\n};\nvar __spreadProps = (a, b) => __defProps(a, __getOwnPropDescs(b));\nclass AdHocFilterSet extends SceneObjectBase {\n constructor(initialState) {\n super(__spreadValues({\n name: \"Filters\",\n filters: [],\n baseFilters: [],\n datasource: null,\n applyMode: \"same-datasource\",\n layout: \"horizontal\"\n }, initialState));\n this._urlSync = new AdHocFiltersVariableUrlSyncHandler(this);\n this._scopedVars = { __sceneObject: { value: this } };\n this._dataSourceSrv = getDataSourceSrv();\n if (this.state.applyMode === \"same-datasource\") {\n patchGetAdhocFilters(this);\n }\n }\n _updateFilter(filter, prop, value) {\n if (value == null) {\n return;\n }\n const { filters, _wip } = this.state;\n if (filter === _wip) {\n if (prop === \"value\") {\n this.setState({ filters: [...filters, __spreadProps(__spreadValues({}, _wip), { [prop]: value })], _wip: void 0 });\n } else {\n this.setState({ _wip: __spreadProps(__spreadValues({}, filter), { [prop]: value }) });\n }\n return;\n }\n const updatedFilters = this.state.filters.map((f) => {\n if (f === filter) {\n return __spreadProps(__spreadValues({}, f), { [prop]: value });\n }\n return f;\n });\n this.setState({ filters: updatedFilters });\n }\n _removeFilter(filter) {\n if (filter === this.state._wip) {\n this.setState({ _wip: void 0 });\n return;\n }\n this.setState({ filters: this.state.filters.filter((f) => f !== filter) });\n }\n async _getKeys(currentKey) {\n var _a, _b;\n const override = await ((_b = (_a = this.state).getTagKeysProvider) == null ? void 0 : _b.call(_a, this, currentKey));\n if (override && override.replace) {\n return override.values.map(toSelectableValue);\n }\n const ds = await this._dataSourceSrv.get(this.state.datasource, this._scopedVars);\n if (!ds || !ds.getTagKeys) {\n return [];\n }\n const otherFilters = this.state.filters.filter((f) => f.key !== currentKey).concat(this.state.baseFilters);\n let keys = await ds.getTagKeys({ filters: otherFilters });\n if (override) {\n keys = keys.concat(override.values);\n }\n const tagKeyRegexFilter = this.state.tagKeyRegexFilter;\n if (tagKeyRegexFilter) {\n keys = keys.filter((f) => f.text.match(tagKeyRegexFilter));\n }\n return keys.map(toSelectableValue);\n }\n async _getValuesFor(filter) {\n var _a, _b;\n const override = await ((_b = (_a = this.state).getTagValuesProvider) == null ? void 0 : _b.call(_a, this, filter));\n if (override && override.replace) {\n return override.values.map(toSelectableValue);\n }\n const ds = await this._dataSourceSrv.get(this.state.datasource, this._scopedVars);\n if (!ds || !ds.getTagValues) {\n return [];\n }\n const otherFilters = this.state.filters.filter((f) => f.key !== filter.key).concat(this.state.baseFilters);\n let values = await ds.getTagValues({ key: filter.key, filters: otherFilters });\n if (override) {\n values = values.concat(override.values);\n }\n return values.map(toSelectableValue);\n }\n _addWip() {\n this.setState({ _wip: { key: \"\", value: \"\", operator: \"=\", condition: \"\" } });\n }\n _getOperators() {\n return [\"=\", \"!=\", \"<\", \">\", \"=~\", \"!~\"].map((value) => ({\n label: value,\n value\n }));\n }\n}\nAdHocFilterSet.Component = AdHocFiltersSetRenderer;\nfunction AdHocFiltersSetRenderer({ model }) {\n const { filters, readOnly, layout, name } = model.useState();\n const styles = useStyles2(getStyles);\n return /* @__PURE__ */ React.createElement(\"div\", {\n className: styles.wrapper\n }, layout !== \"vertical\" && /* @__PURE__ */ React.createElement(ControlsLabel, {\n label: name != null ? name : \"Filters\",\n icon: \"filter\"\n }), filters.map((filter, index) => /* @__PURE__ */ React.createElement(React.Fragment, {\n key: index\n }, /* @__PURE__ */ React.createElement(AdHocFilterRenderer, {\n filter,\n model\n }))), !readOnly && /* @__PURE__ */ React.createElement(AdHocFilterBuilder, {\n model,\n key: \"'builder\"\n }));\n}\nconst getStyles = (theme) => ({\n wrapper: css({\n display: \"flex\",\n gap: theme.spacing(2),\n alignItems: \"flex-end\"\n }),\n filterIcon: css({\n color: theme.colors.text.secondary,\n paddingRight: theme.spacing(0.5)\n })\n});\nfunction toSelectableValue({ text, value }) {\n return {\n label: text,\n value: String(value != null ? value : text)\n };\n}\n\nexport { AdHocFilterSet, AdHocFiltersSetRenderer };\n//# sourceMappingURL=AdHocFiltersSet.js.map\n","import { defaultDashboard as defaultDashboard$1, defaultVariableModel as defaultVariableModel$1, defaultPanel as defaultPanel$1, defaultRowPanel as defaultRowPanel$1, defaultFieldConfig as defaultFieldConfig$1, defaultFieldConfigSource as defaultFieldConfigSource$1, defaultMatcherConfig as defaultMatcherConfig$1, defaultAnnotationQuery as defaultAnnotationQuery$1, defaultAnnotationContainer as defaultAnnotationContainer$1, defaultThresholdsConfig as defaultThresholdsConfig$1 } from '../raw/dashboard/x/dashboard_types.gen.js';\n\nvar __defProp = Object.defineProperty;\nvar __defProps = Object.defineProperties;\nvar __getOwnPropDescs = Object.getOwnPropertyDescriptors;\nvar __getOwnPropSymbols = Object.getOwnPropertySymbols;\nvar __hasOwnProp = Object.prototype.hasOwnProperty;\nvar __propIsEnum = Object.prototype.propertyIsEnumerable;\nvar __defNormalProp = (obj, key, value) => key in obj ? __defProp(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;\nvar __spreadValues = (a, b) => {\n for (var prop in b || (b = {}))\n if (__hasOwnProp.call(b, prop))\n __defNormalProp(a, prop, b[prop]);\n if (__getOwnPropSymbols)\n for (var prop of __getOwnPropSymbols(b)) {\n if (__propIsEnum.call(b, prop))\n __defNormalProp(a, prop, b[prop]);\n }\n return a;\n};\nvar __spreadProps = (a, b) => __defProps(a, __getOwnPropDescs(b));\nvar VariableHide = /* @__PURE__ */ ((VariableHide2) => {\n VariableHide2[VariableHide2[\"dontHide\"] = 0] = \"dontHide\";\n VariableHide2[VariableHide2[\"hideLabel\"] = 1] = \"hideLabel\";\n VariableHide2[VariableHide2[\"hideVariable\"] = 2] = \"hideVariable\";\n return VariableHide2;\n})(VariableHide || {});\nconst defaultDashboard = defaultDashboard$1;\nconst defaultVariableModel = __spreadProps(__spreadValues({}, defaultVariableModel$1), {\n description: null,\n hide: 0 /* dontHide */,\n datasource: null\n});\nconst defaultPanel = defaultPanel$1;\nconst defaultRowPanel = defaultRowPanel$1;\nconst defaultFieldConfig = defaultFieldConfig$1;\nconst defaultFieldConfigSource = defaultFieldConfigSource$1;\nconst defaultMatcherConfig = defaultMatcherConfig$1;\nconst defaultAnnotationQuery = defaultAnnotationQuery$1;\nconst defaultAnnotationContainer = defaultAnnotationContainer$1;\nconst defaultThresholdsConfig = defaultThresholdsConfig$1;\n\nexport { VariableHide, defaultAnnotationContainer, defaultAnnotationQuery, defaultDashboard, defaultFieldConfig, defaultFieldConfigSource, defaultMatcherConfig, defaultPanel, defaultRowPanel, defaultThresholdsConfig, defaultVariableModel };\n//# sourceMappingURL=dashboard.types.js.map\n","import React from 'react';\nimport { SceneObjectBase } from '../../core/SceneObjectBase.js';\nimport { SceneVariableValueChangedEvent } from '../types.js';\nimport { AdHocFilterSet } from './AdHocFiltersSet.js';\nimport { VariableHide } from '@grafana/schema';\n\nvar __defProp = Object.defineProperty;\nvar __defProps = Object.defineProperties;\nvar __getOwnPropDescs = Object.getOwnPropertyDescriptors;\nvar __getOwnPropSymbols = Object.getOwnPropertySymbols;\nvar __hasOwnProp = Object.prototype.hasOwnProperty;\nvar __propIsEnum = Object.prototype.propertyIsEnumerable;\nvar __defNormalProp = (obj, key, value) => key in obj ? __defProp(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;\nvar __spreadValues = (a, b) => {\n for (var prop in b || (b = {}))\n if (__hasOwnProp.call(b, prop))\n __defNormalProp(a, prop, b[prop]);\n if (__getOwnPropSymbols)\n for (var prop of __getOwnPropSymbols(b)) {\n if (__propIsEnum.call(b, prop))\n __defNormalProp(a, prop, b[prop]);\n }\n return a;\n};\nvar __spreadProps = (a, b) => __defProps(a, __getOwnPropDescs(b));\nconst _AdHocFiltersVariable = class extends SceneObjectBase {\n static create(state) {\n var _a;\n return new _AdHocFiltersVariable({\n type: \"adhoc\",\n hide: VariableHide.hideLabel,\n name: (_a = state.name) != null ? _a : \"Filters\",\n set: new AdHocFilterSet(__spreadProps(__spreadValues({}, state), {\n applyMode: \"manual\"\n }))\n });\n }\n constructor(state) {\n var _a;\n super(__spreadProps(__spreadValues({}, state), {\n filterExpression: (_a = state.filterExpression) != null ? _a : renderFilters(state.set.state.filters)\n }));\n this.addActivationHandler(() => {\n this._subs.add(\n this.state.set.subscribeToState((newState, prevState) => {\n if (newState.filters !== prevState.filters) {\n this._updateFilterExpression(newState.filters, true);\n }\n })\n );\n this._updateFilterExpression(this.state.set.state.filters, false);\n });\n }\n getValue() {\n return this.state.filterExpression;\n }\n _updateFilterExpression(filters, publishEvent) {\n let expr = renderFilters(filters);\n if (expr === this.state.filterExpression) {\n return;\n }\n this.setState({ filterExpression: expr });\n if (publishEvent) {\n this.publishEvent(new SceneVariableValueChangedEvent(this), true);\n }\n }\n};\nlet AdHocFiltersVariable = _AdHocFiltersVariable;\nAdHocFiltersVariable.Component = ({ model }) => {\n return /* @__PURE__ */ React.createElement(AdHocFilterSet.Component, {\n model: model.state.set\n });\n};\nfunction renderFilters(filters) {\n let expr = \"\";\n for (const filter of filters) {\n expr += `${renderFilter(filter)},`;\n }\n if (expr.length > 0) {\n expr = expr.slice(0, -1);\n }\n return expr;\n}\nfunction renderFilter(filter) {\n let value = \"\";\n if (filter.operator === \"=~\" || filter.operator === \"!~\\xA8\") {\n value = escapeLabelValueInRegexSelector(filter.value);\n } else {\n value = escapeLabelValueInExactSelector(filter.value);\n }\n return `${filter.key}${filter.operator}\"${value}\"`;\n}\nfunction escapeLabelValueInExactSelector(labelValue) {\n return labelValue.replace(/\\\\/g, \"\\\\\\\\\").replace(/\\n/g, \"\\\\n\").replace(/\"/g, '\\\\\"');\n}\nfunction escapeLabelValueInRegexSelector(labelValue) {\n return escapeLabelValueInExactSelector(escapeLokiRegexp(labelValue));\n}\nconst RE2_METACHARACTERS = /[*+?()|\\\\.\\[\\]{}^$]/g;\nfunction escapeLokiRegexp(value) {\n return value.replace(RE2_METACHARACTERS, \"\\\\$&\");\n}\n\nexport { AdHocFiltersVariable, escapeLabelValueInExactSelector, escapeLabelValueInRegexSelector };\n//# sourceMappingURL=AdHocFiltersVariable.js.map\n","import { isEqual } from 'lodash';\nimport { locationService } from '@grafana/runtime';\nimport { SceneObjectStateChangedEvent } from '../core/events.js';\nimport { writeSceneLog } from '../utils/writeSceneLog.js';\n\nclass UrlSyncManager {\n constructor() {\n this.urlKeyMapper = new UniqueUrlKeyMapper();\n this._stateSub = null;\n this._locationSub = null;\n this._onLocationUpdate = (location) => {\n if (this._lastPath !== location.pathname) {\n return;\n }\n const urlParams = new URLSearchParams(location.search);\n this.urlKeyMapper.rebuildIndex(this._sceneRoot);\n this._syncSceneStateFromUrl(this._sceneRoot, urlParams);\n this._lastPath = location.pathname;\n };\n this._onStateChanged = ({ payload }) => {\n const changedObject = payload.changedObject;\n if (changedObject.urlSync) {\n const newUrlState = changedObject.urlSync.getUrlState();\n const searchParams = locationService.getSearch();\n const mappedUpdated = {};\n this.urlKeyMapper.rebuildIndex(this._sceneRoot);\n for (const [key, newUrlValue] of Object.entries(newUrlState)) {\n const uniqueKey = this.urlKeyMapper.getUniqueKey(key, changedObject);\n const currentUrlValue = searchParams.getAll(uniqueKey);\n if (!isUrlValueEqual(currentUrlValue, newUrlValue)) {\n mappedUpdated[uniqueKey] = newUrlValue;\n }\n }\n if (Object.keys(mappedUpdated).length > 0) {\n locationService.partial(mappedUpdated, true);\n }\n }\n };\n }\n initSync(root) {\n if (!this._locationSub) {\n writeSceneLog(\"UrlSyncManager\", \"New location listen\");\n this._locationSub = locationService.getHistory().listen(this._onLocationUpdate);\n }\n if (this._stateSub) {\n writeSceneLog(\"UrlSyncManager\", \"Unregister previous scene state subscription\", this._sceneRoot.state.key);\n this._stateSub.unsubscribe();\n }\n this._sceneRoot = root;\n this._lastPath = locationService.getLocation().pathname;\n this._stateSub = root.subscribeToEvent(SceneObjectStateChangedEvent, this._onStateChanged);\n this.syncFrom(this._sceneRoot);\n }\n cleanUp(root) {\n if (this._sceneRoot !== root) {\n return;\n }\n writeSceneLog(\"UrlSyncManager\", \"Clean up\");\n if (this._locationSub) {\n this._locationSub();\n writeSceneLog(\"UrlSyncManager\", \"Unregister history listen\");\n this._locationSub = null;\n }\n if (this._stateSub) {\n this._stateSub.unsubscribe();\n this._stateSub = null;\n writeSceneLog(\n \"UrlSyncManager\",\n \"Root deactived, unsub to state\",\n \"same key\",\n this._sceneRoot.state.key === root.state.key\n );\n }\n }\n syncFrom(sceneObj) {\n const urlParams = locationService.getSearch();\n this.urlKeyMapper.rebuildIndex(this._sceneRoot);\n this._syncSceneStateFromUrl(sceneObj, urlParams);\n }\n _syncSceneStateFromUrl(sceneObject, urlParams) {\n if (sceneObject.urlSync) {\n const urlState = {};\n const currentState = sceneObject.urlSync.getUrlState();\n for (const key of sceneObject.urlSync.getKeys()) {\n const uniqueKey = this.urlKeyMapper.getUniqueKey(key, sceneObject);\n const newValue = urlParams.getAll(uniqueKey);\n const currentValue = currentState[key];\n if (isUrlValueEqual(newValue, currentValue)) {\n continue;\n }\n if (newValue.length > 0) {\n if (Array.isArray(currentValue)) {\n urlState[key] = newValue;\n } else {\n urlState[key] = newValue[0];\n }\n } else {\n urlState[key] = null;\n }\n }\n if (Object.keys(urlState).length > 0) {\n sceneObject.urlSync.updateFromUrl(urlState);\n }\n }\n sceneObject.forEachChild((child) => this._syncSceneStateFromUrl(child, urlParams));\n }\n getUrlState(root) {\n const urlKeyMapper = new UniqueUrlKeyMapper();\n urlKeyMapper.rebuildIndex(root);\n const result = {};\n const visitNode = (obj) => {\n if (obj.urlSync) {\n const newUrlState = obj.urlSync.getUrlState();\n for (const [key, value] of Object.entries(newUrlState)) {\n if (value != null) {\n const uniqueKey = urlKeyMapper.getUniqueKey(key, obj);\n result[uniqueKey] = value;\n }\n }\n }\n obj.forEachChild(visitNode);\n };\n visitNode(root);\n return result;\n }\n}\nclass UniqueUrlKeyMapper {\n constructor() {\n this.index = /* @__PURE__ */ new Map();\n }\n getUniqueKey(key, obj) {\n const objectsWithKey = this.index.get(key);\n if (!objectsWithKey) {\n throw new Error(\"Cannot find any scene object that uses the key '\" + key + \"'\");\n }\n const address = objectsWithKey.findIndex((o) => o.sceneObject === obj);\n if (address > 0) {\n return `${key}-${address + 1}`;\n }\n return key;\n }\n rebuildIndex(root) {\n this.index.clear();\n this.buildIndex(root, 0);\n }\n buildIndex(sceneObject, depth) {\n if (sceneObject.urlSync) {\n for (const key of sceneObject.urlSync.getKeys()) {\n const hit = this.index.get(key);\n if (hit) {\n hit.push({ sceneObject, depth });\n hit.sort((a, b) => a.depth - b.depth);\n } else {\n this.index.set(key, [{ sceneObject, depth }]);\n }\n }\n }\n sceneObject.forEachChild((child) => this.buildIndex(child, depth + 1));\n }\n}\nfunction isUrlValueEqual(currentUrlValue, newUrlValue) {\n if (currentUrlValue.length === 0 && newUrlValue == null) {\n return true;\n }\n if (!Array.isArray(newUrlValue) && (currentUrlValue == null ? void 0 : currentUrlValue.length) === 1) {\n return newUrlValue === currentUrlValue[0];\n }\n if ((newUrlValue == null ? void 0 : newUrlValue.length) === 0 && currentUrlValue === null) {\n return true;\n }\n return isEqual(currentUrlValue, newUrlValue);\n}\nlet urlSyncManager;\nfunction getUrlSyncManager() {\n if (!urlSyncManager) {\n urlSyncManager = new UrlSyncManager();\n }\n return urlSyncManager;\n}\n\nexport { UrlSyncManager, getUrlSyncManager, isUrlValueEqual };\n//# sourceMappingURL=UrlSyncManager.js.map\n","import { css } from '@emotion/css';\nimport { useStyles2 } from '@grafana/ui';\nimport React from 'react';\nimport { SceneObjectBase } from '../core/SceneObjectBase.js';\nimport { getUrlSyncManager } from '../services/UrlSyncManager.js';\nimport { setWindowGrafanaSceneContext } from '../utils/compatibility/setWindowGrafanaSceneContext.js';\n\nclass EmbeddedScene extends SceneObjectBase {\n constructor(state) {\n super(state);\n this.addActivationHandler(() => {\n const unsetGlobalScene = setWindowGrafanaSceneContext(this);\n return () => {\n unsetGlobalScene();\n getUrlSyncManager().cleanUp(this);\n };\n });\n }\n initUrlSync() {\n getUrlSyncManager().initSync(this);\n }\n}\nEmbeddedScene.Component = EmbeddedSceneRenderer;\nfunction EmbeddedSceneRenderer({ model }) {\n const { body, controls } = model.useState();\n const styles = useStyles2(getStyles);\n return /* @__PURE__ */ React.createElement(\"div\", {\n className: styles.container\n }, controls && /* @__PURE__ */ React.createElement(\"div\", {\n className: styles.controls\n }, controls.map((control) => /* @__PURE__ */ React.createElement(control.Component, {\n key: control.state.key,\n model: control\n }))), /* @__PURE__ */ React.createElement(\"div\", {\n className: styles.body\n }, /* @__PURE__ */ React.createElement(body.Component, {\n model: body\n })));\n}\nconst getStyles = (theme) => {\n return {\n container: css({\n flexGrow: 1,\n display: \"flex\",\n gap: theme.spacing(2),\n minHeight: \"100%\",\n flexDirection: \"column\"\n }),\n body: css({\n flexGrow: 1,\n display: \"flex\",\n gap: theme.spacing(1)\n }),\n controls: css({\n display: \"flex\",\n gap: theme.spacing(2),\n alignItems: \"flex-end\",\n flexWrap: \"wrap\"\n })\n };\n};\n\nexport { EmbeddedScene };\n//# sourceMappingURL=EmbeddedScene.js.map\n","import { writeSceneLog } from '../writeSceneLog.js';\n\nfunction setWindowGrafanaSceneContext(activeScene) {\n const prevScene = window.__grafanaSceneContext;\n writeSceneLog(\"setWindowGrafanaScene\", \"set window.__grafanaSceneContext\", activeScene);\n window.__grafanaSceneContext = activeScene;\n return () => {\n if (window.__grafanaSceneContext === activeScene) {\n writeSceneLog(\"setWindowGrafanaScene\", \"restore window.__grafanaSceneContext\", prevScene);\n window.__grafanaSceneContext = prevScene;\n }\n };\n}\n\nexport { setWindowGrafanaSceneContext };\n//# sourceMappingURL=setWindowGrafanaSceneContext.js.map\n","export var noop = function () { };\nexport function on(obj) {\n var args = [];\n for (var _i = 1; _i < arguments.length; _i++) {\n args[_i - 1] = arguments[_i];\n }\n if (obj && obj.addEventListener) {\n obj.addEventListener.apply(obj, args);\n }\n}\nexport function off(obj) {\n var args = [];\n for (var _i = 1; _i < arguments.length; _i++) {\n args[_i - 1] = arguments[_i];\n }\n if (obj && obj.removeEventListener) {\n obj.removeEventListener.apply(obj, args);\n }\n}\nexport var isBrowser = typeof window !== 'undefined';\nexport var isNavigator = typeof navigator !== 'undefined';\n","import { useEffect, useLayoutEffect } from 'react';\nimport { isBrowser } from './misc/util';\nvar useIsomorphicLayoutEffect = isBrowser ? useLayoutEffect : useEffect;\nexport default useIsomorphicLayoutEffect;\n","import { useMemo, useState } from 'react';\nimport useIsomorphicLayoutEffect from './useIsomorphicLayoutEffect';\nimport { isBrowser, noop } from './misc/util';\nvar defaultState = {\n x: 0,\n y: 0,\n width: 0,\n height: 0,\n top: 0,\n left: 0,\n bottom: 0,\n right: 0,\n};\nfunction useMeasure() {\n var _a = useState(null), element = _a[0], ref = _a[1];\n var _b = useState(defaultState), rect = _b[0], setRect = _b[1];\n var observer = useMemo(function () {\n return new window.ResizeObserver(function (entries) {\n if (entries[0]) {\n var _a = entries[0].contentRect, x = _a.x, y = _a.y, width = _a.width, height = _a.height, top_1 = _a.top, left = _a.left, bottom = _a.bottom, right = _a.right;\n setRect({ x: x, y: y, width: width, height: height, top: top_1, left: left, bottom: bottom, right: right });\n }\n });\n }, []);\n useIsomorphicLayoutEffect(function () {\n if (!element)\n return;\n observer.observe(element);\n return function () {\n observer.disconnect();\n };\n }, [element]);\n return [ref, rect];\n}\nexport default isBrowser && typeof window.ResizeObserver !== 'undefined'\n ? useMeasure\n : (function () { return [noop, defaultState]; });\n","import React from 'react';\nimport { useMeasure } from 'react-use';\nimport { AlertState, PluginContextProvider } from '@grafana/data';\nimport { getAppEvents } from '@grafana/runtime';\nimport { useStyles2, Tooltip, PanelChrome, Icon, ErrorBoundaryAlert, PanelContextProvider } from '@grafana/ui';\nimport { sceneGraph } from '../../core/sceneGraph/index.js';\nimport { isSceneObject } from '../../core/types.js';\nimport { css, cx } from '@emotion/css';\n\nfunction VizPanelRenderer({ model }) {\n var _a, _b, _c;\n const {\n title,\n options,\n fieldConfig,\n _pluginLoadError,\n $data,\n displayMode,\n hoverHeader,\n menu,\n headerActions,\n titleItems,\n description\n } = model.useState();\n const [ref, { width, height }] = useMeasure();\n const plugin = model.getPlugin();\n const { dragClass, dragClassCancel } = getDragClasses(model);\n const dataObject = sceneGraph.getData(model);\n const rawData = dataObject.useState();\n const dataWithFieldConfig = model.applyFieldConfig(rawData.data);\n const sceneTimeRange = sceneGraph.getTimeRange(model);\n const timeZone = sceneTimeRange.getTimeZone();\n const timeRange = getPanelTimeRange(sceneTimeRange, plugin, dataWithFieldConfig);\n const titleInterpolated = model.interpolate(title, void 0, \"text\");\n const alertStateStyles = useStyles2(getAlertStateStyles);\n if (!plugin) {\n return /* @__PURE__ */ React.createElement(\"div\", null, \"Loading plugin panel...\");\n }\n if (!plugin.panel) {\n return /* @__PURE__ */ React.createElement(\"div\", null, \"Panel plugin has no panel component\");\n }\n const PanelComponent = plugin.panel;\n if ($data && $data.setContainerWidth) {\n $data.setContainerWidth(Math.round(width));\n }\n let titleItemsElement = [];\n if (titleItems) {\n if (Array.isArray(titleItems)) {\n titleItemsElement = titleItemsElement.concat(\n titleItems.map((titleItem) => {\n return /* @__PURE__ */ React.createElement(titleItem.Component, {\n model: titleItem,\n key: `${titleItem.state.key}`\n });\n })\n );\n } else if (isSceneObject(titleItems)) {\n titleItemsElement.push(/* @__PURE__ */ React.createElement(titleItems.Component, {\n model: titleItems\n }));\n } else {\n titleItemsElement.push(titleItems);\n }\n }\n if (model.state.$timeRange) {\n titleItemsElement.push(/* @__PURE__ */ React.createElement(model.state.$timeRange.Component, {\n model: model.state.$timeRange,\n key: model.state.key\n }));\n }\n if (dataWithFieldConfig.alertState) {\n titleItemsElement.push(\n /* @__PURE__ */ React.createElement(Tooltip, {\n content: (_a = dataWithFieldConfig.alertState.state) != null ? _a : \"unknown\",\n key: `alert-states-icon-${model.state.key}`\n }, /* @__PURE__ */ React.createElement(PanelChrome.TitleItem, {\n className: cx({\n [alertStateStyles.ok]: dataWithFieldConfig.alertState.state === AlertState.OK,\n [alertStateStyles.pending]: dataWithFieldConfig.alertState.state === AlertState.Pending,\n [alertStateStyles.alerting]: dataWithFieldConfig.alertState.state === AlertState.Alerting\n })\n }, /* @__PURE__ */ React.createElement(Icon, {\n name: dataWithFieldConfig.alertState.state === \"alerting\" ? \"heart-break\" : \"heart\",\n className: \"panel-alert-icon\",\n size: \"md\"\n })))\n );\n }\n let panelMenu;\n if (menu) {\n panelMenu = /* @__PURE__ */ React.createElement(menu.Component, {\n model: menu\n });\n }\n let actionsElement;\n if (headerActions) {\n if (Array.isArray(headerActions)) {\n actionsElement = /* @__PURE__ */ React.createElement(React.Fragment, null, headerActions.map((action) => {\n return /* @__PURE__ */ React.createElement(action.Component, {\n model: action,\n key: `${action.state.key}`\n });\n }));\n } else if (isSceneObject(headerActions)) {\n actionsElement = /* @__PURE__ */ React.createElement(headerActions.Component, {\n model: headerActions\n });\n } else {\n actionsElement = headerActions;\n }\n }\n const data = dataWithFieldConfig;\n const isReadyToRender = dataObject.isDataReadyToDisplay ? dataObject.isDataReadyToDisplay() : true;\n const context = model.getPanelContext();\n const panelId = (_c = (_b = context.instanceState) == null ? void 0 : _b.legacyPanelId) != null ? _c : 1;\n return /* @__PURE__ */ React.createElement(\"div\", {\n className: relativeWrapper\n }, /* @__PURE__ */ React.createElement(\"div\", {\n ref,\n className: absoluteWrapper,\n \"data-viz-panel-key\": model.state.key\n }, width > 0 && height > 0 && /* @__PURE__ */ React.createElement(PanelChrome, {\n title: titleInterpolated,\n description: (description == null ? void 0 : description.trim()) ? model.getDescription : void 0,\n loadingState: data.state,\n statusMessage: getChromeStatusMessage(data, _pluginLoadError),\n statusMessageOnClick: model.onStatusMessageClick,\n width,\n height,\n displayMode,\n hoverHeader,\n titleItems: titleItemsElement,\n dragClass,\n actions: actionsElement,\n dragClassCancel,\n padding: plugin.noPadding ? \"none\" : \"md\",\n menu: panelMenu,\n onCancelQuery: model.onCancelQuery\n }, (innerWidth, innerHeight) => /* @__PURE__ */ React.createElement(React.Fragment, null, /* @__PURE__ */ React.createElement(ErrorBoundaryAlert, {\n dependencies: [plugin, data]\n }, /* @__PURE__ */ React.createElement(PluginContextProvider, {\n meta: plugin.meta\n }, /* @__PURE__ */ React.createElement(PanelContextProvider, {\n value: context\n }, isReadyToRender && /* @__PURE__ */ React.createElement(PanelComponent, {\n id: panelId,\n data,\n title,\n timeRange,\n timeZone,\n options,\n fieldConfig,\n transparent: false,\n width: innerWidth,\n height: innerHeight,\n renderCounter: 0,\n replaceVariables: model.interpolate,\n onOptionsChange: model.onOptionsChange,\n onFieldConfigChange: model.onFieldConfigChange,\n onChangeTimeRange: model.onTimeRangeChange,\n eventBus: getAppEvents()\n }))))))));\n}\nfunction getDragClasses(panel) {\n var _a, _b;\n const parentLayout = sceneGraph.getLayout(panel);\n const isDraggable = parentLayout == null ? void 0 : parentLayout.isDraggable();\n if (!parentLayout || !isDraggable || itemDraggingDisabled(panel, parentLayout)) {\n return { dragClass: \"\", dragClassCancel: \"\" };\n }\n return { dragClass: (_a = parentLayout.getDragClass) == null ? void 0 : _a.call(parentLayout), dragClassCancel: (_b = parentLayout == null ? void 0 : parentLayout.getDragClassCancel) == null ? void 0 : _b.call(parentLayout) };\n}\nfunction itemDraggingDisabled(item, layout) {\n let ancestor = item.parent;\n while (ancestor && ancestor !== layout) {\n if (\"isDraggable\" in ancestor.state && ancestor.state.isDraggable === false) {\n return true;\n }\n ancestor = ancestor.parent;\n }\n return false;\n}\nfunction getChromeStatusMessage(data, pluginLoadingError) {\n if (pluginLoadingError) {\n return pluginLoadingError;\n }\n let message = data.error ? data.error.message : void 0;\n if (data.errors) {\n message = data.errors.map((e) => e.message).join(\", \");\n }\n return message;\n}\nconst relativeWrapper = css({\n position: \"relative\",\n width: \"100%\",\n height: \"100%\"\n});\nconst absoluteWrapper = css({\n position: \"absolute\",\n width: \"100%\",\n height: \"100%\"\n});\nconst getAlertStateStyles = (theme) => {\n return {\n ok: css({\n color: theme.colors.success.text\n }),\n pending: css({\n color: theme.colors.warning.text\n }),\n alerting: css({\n color: theme.colors.error.text\n })\n };\n};\nfunction getPanelTimeRange(sceneTimeRange, plugin, data) {\n var _a;\n if (!plugin || plugin.meta.skipDataQuery) {\n return sceneTimeRange.state.value;\n }\n if (data && ((_a = data.request) == null ? void 0 : _a.range)) {\n return data.request.range;\n }\n return sceneTimeRange.state.value;\n}\n\nexport { VizPanelRenderer };\n//# sourceMappingURL=VizPanelRenderer.js.map\n","import { isSystemOverrideWithRef, FieldMatcherID, ByNamesMatcherMode, FieldType, getFieldDisplayName, fieldMatchers } from '@grafana/data';\nimport { SeriesVisibilityChangeMode } from '@grafana/ui';\n\nvar __defProp = Object.defineProperty;\nvar __defProps = Object.defineProperties;\nvar __getOwnPropDescs = Object.getOwnPropertyDescriptors;\nvar __getOwnPropSymbols = Object.getOwnPropertySymbols;\nvar __hasOwnProp = Object.prototype.hasOwnProperty;\nvar __propIsEnum = Object.prototype.propertyIsEnumerable;\nvar __defNormalProp = (obj, key, value) => key in obj ? __defProp(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;\nvar __spreadValues = (a, b) => {\n for (var prop in b || (b = {}))\n if (__hasOwnProp.call(b, prop))\n __defNormalProp(a, prop, b[prop]);\n if (__getOwnPropSymbols)\n for (var prop of __getOwnPropSymbols(b)) {\n if (__propIsEnum.call(b, prop))\n __defNormalProp(a, prop, b[prop]);\n }\n return a;\n};\nvar __spreadProps = (a, b) => __defProps(a, __getOwnPropDescs(b));\nconst displayOverrideRef = \"hideSeriesFrom\";\nconst isHideSeriesOverride = isSystemOverrideWithRef(displayOverrideRef);\nfunction seriesVisibilityConfigFactory(label, mode, fieldConfig, data) {\n const { overrides } = fieldConfig;\n const displayName = label;\n const currentIndex = overrides.findIndex(isHideSeriesOverride);\n if (currentIndex < 0) {\n if (mode === SeriesVisibilityChangeMode.ToggleSelection) {\n const override3 = createOverride([displayName, ...getNamesOfHiddenFields(overrides, data)]);\n return __spreadProps(__spreadValues({}, fieldConfig), {\n overrides: [...fieldConfig.overrides, override3]\n });\n }\n const displayNames = getDisplayNames(data, displayName);\n const override2 = createOverride(displayNames);\n return __spreadProps(__spreadValues({}, fieldConfig), {\n overrides: [...fieldConfig.overrides, override2]\n });\n }\n const overridesCopy = Array.from(overrides);\n const [current] = overridesCopy.splice(currentIndex, 1);\n if (mode === SeriesVisibilityChangeMode.ToggleSelection) {\n let existing = getExistingDisplayNames(current);\n const nameOfHiddenFields = getNamesOfHiddenFields(overridesCopy, data);\n if (nameOfHiddenFields.length > 0) {\n existing = existing.filter((el) => nameOfHiddenFields.indexOf(el) < 0);\n }\n if (existing[0] === displayName && existing.length === 1) {\n return __spreadProps(__spreadValues({}, fieldConfig), {\n overrides: overridesCopy\n });\n }\n const override2 = createOverride([displayName, ...nameOfHiddenFields]);\n return __spreadProps(__spreadValues({}, fieldConfig), {\n overrides: [...overridesCopy, override2]\n });\n }\n const override = createExtendedOverride(current, displayName);\n if (allFieldsAreExcluded(override, data)) {\n return __spreadProps(__spreadValues({}, fieldConfig), {\n overrides: overridesCopy\n });\n }\n return __spreadProps(__spreadValues({}, fieldConfig), {\n overrides: [...overridesCopy, override]\n });\n}\nfunction createOverride(names, mode = ByNamesMatcherMode.exclude, property) {\n property = property != null ? property : {\n id: \"custom.hideFrom\",\n value: {\n viz: true,\n legend: false,\n tooltip: false\n }\n };\n return {\n __systemRef: displayOverrideRef,\n matcher: {\n id: FieldMatcherID.byNames,\n options: {\n mode,\n names,\n prefix: mode === ByNamesMatcherMode.exclude ? \"All except:\" : void 0,\n readOnly: true\n }\n },\n properties: [\n __spreadProps(__spreadValues({}, property), {\n value: {\n viz: true,\n legend: false,\n tooltip: false\n }\n })\n ]\n };\n}\nconst createExtendedOverride = (current, displayName, mode = ByNamesMatcherMode.exclude) => {\n const property = current.properties.find((p) => p.id === \"custom.hideFrom\");\n const existing = getExistingDisplayNames(current);\n const index = existing.findIndex((name) => name === displayName);\n if (index < 0) {\n existing.push(displayName);\n } else {\n existing.splice(index, 1);\n }\n return createOverride(existing, mode, property);\n};\nconst getExistingDisplayNames = (rule) => {\n var _a;\n const names = (_a = rule.matcher.options) == null ? void 0 : _a.names;\n if (!Array.isArray(names)) {\n return [];\n }\n return [...names];\n};\nconst allFieldsAreExcluded = (override, data) => {\n return getExistingDisplayNames(override).length === getDisplayNames(data).length;\n};\nconst getDisplayNames = (data, excludeName) => {\n const unique = /* @__PURE__ */ new Set();\n for (const frame of data) {\n for (const field of frame.fields) {\n if (field.type !== FieldType.number) {\n continue;\n }\n const name = getFieldDisplayName(field, frame, data);\n if (name === excludeName) {\n continue;\n }\n unique.add(name);\n }\n }\n return Array.from(unique);\n};\nconst getNamesOfHiddenFields = (overrides, data) => {\n var _a;\n let names = [];\n for (const override of overrides) {\n const property = override.properties.find((p) => p.id === \"custom.hideFrom\");\n if (property !== void 0 && ((_a = property.value) == null ? void 0 : _a.legend) === true) {\n const info = fieldMatchers.get(override.matcher.id);\n const matcher = info.get(override.matcher.options);\n for (const frame of data) {\n for (const field of frame.fields) {\n if (field.type !== FieldType.number) {\n continue;\n }\n const name = getFieldDisplayName(field, frame, data);\n if (matcher(field, frame, data)) {\n names.push(name);\n }\n }\n }\n }\n }\n return names;\n};\n\nexport { seriesVisibilityConfigFactory };\n//# sourceMappingURL=seriesVisibilityConfigFactory.js.map\n","import { FieldMatcherID, FieldColorModeId } from '@grafana/data';\n\nvar __defProp = Object.defineProperty;\nvar __defProps = Object.defineProperties;\nvar __getOwnPropDescs = Object.getOwnPropertyDescriptors;\nvar __getOwnPropSymbols = Object.getOwnPropertySymbols;\nvar __hasOwnProp = Object.prototype.hasOwnProperty;\nvar __propIsEnum = Object.prototype.propertyIsEnumerable;\nvar __defNormalProp = (obj, key, value) => key in obj ? __defProp(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;\nvar __spreadValues = (a, b) => {\n for (var prop in b || (b = {}))\n if (__hasOwnProp.call(b, prop))\n __defNormalProp(a, prop, b[prop]);\n if (__getOwnPropSymbols)\n for (var prop of __getOwnPropSymbols(b)) {\n if (__propIsEnum.call(b, prop))\n __defNormalProp(a, prop, b[prop]);\n }\n return a;\n};\nvar __spreadProps = (a, b) => __defProps(a, __getOwnPropDescs(b));\nconst changeSeriesColorConfigFactory = (label, color, fieldConfig) => {\n const { overrides } = fieldConfig;\n const currentIndex = fieldConfig.overrides.findIndex((override) => {\n return override.matcher.id === FieldMatcherID.byName && override.matcher.options === label;\n });\n if (currentIndex < 0) {\n return __spreadProps(__spreadValues({}, fieldConfig), {\n overrides: [...fieldConfig.overrides, createOverride(label, color)]\n });\n }\n const overridesCopy = Array.from(overrides);\n const existing = overridesCopy[currentIndex];\n const propertyIndex = existing.properties.findIndex((p) => p.id === \"color\");\n if (propertyIndex < 0) {\n overridesCopy[currentIndex] = __spreadProps(__spreadValues({}, existing), {\n properties: [...existing.properties, createProperty(color)]\n });\n return __spreadProps(__spreadValues({}, fieldConfig), {\n overrides: overridesCopy\n });\n }\n const propertiesCopy = Array.from(existing.properties);\n propertiesCopy[propertyIndex] = createProperty(color);\n overridesCopy[currentIndex] = __spreadProps(__spreadValues({}, existing), {\n properties: propertiesCopy\n });\n return __spreadProps(__spreadValues({}, fieldConfig), {\n overrides: overridesCopy\n });\n};\nconst createOverride = (label, color) => {\n return {\n matcher: {\n id: FieldMatcherID.byName,\n options: label\n },\n properties: [createProperty(color)]\n };\n};\nconst createProperty = (color) => {\n return {\n id: \"color\",\n value: {\n mode: FieldColorModeId.Fixed,\n fixedColor: color\n }\n };\n};\n\nexport { changeSeriesColorConfigFactory };\n//# sourceMappingURL=colorSeriesConfigFactory.js.map\n","import { toUtc, getPanelOptionsWithDefaults, renderMarkdown, compareArrayValues, compareDataFrameStructures, applyFieldOverrides, CoreApp, DashboardCursorSync, PanelPlugin, PluginType } from '@grafana/data';\nimport { getPluginImportUtils, config, getAppEvents } from '@grafana/runtime';\nimport { SceneObjectBase } from '../../core/SceneObjectBase.js';\nimport { sceneGraph } from '../../core/sceneGraph/index.js';\nimport { VizPanelRenderer } from './VizPanelRenderer.js';\nimport { VariableDependencyConfig } from '../../variables/VariableDependencyConfig.js';\nimport { seriesVisibilityConfigFactory } from './seriesVisibilityConfigFactory.js';\nimport { emptyPanelData } from '../../core/SceneDataNode.js';\nimport { changeSeriesColorConfigFactory } from './colorSeriesConfigFactory.js';\nimport { loadPanelPluginSync } from './registerRuntimePanelPlugin.js';\nimport { getCursorSyncScope } from '../../behaviors/CursorSync.js';\nimport { mergeWith, cloneDeep, isArray, merge } from 'lodash';\nimport { UserActionEvent } from '../../core/events.js';\n\nvar __defProp = Object.defineProperty;\nvar __defProps = Object.defineProperties;\nvar __getOwnPropDescs = Object.getOwnPropertyDescriptors;\nvar __getOwnPropSymbols = Object.getOwnPropertySymbols;\nvar __hasOwnProp = Object.prototype.hasOwnProperty;\nvar __propIsEnum = Object.prototype.propertyIsEnumerable;\nvar __defNormalProp = (obj, key, value) => key in obj ? __defProp(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;\nvar __spreadValues = (a, b) => {\n for (var prop in b || (b = {}))\n if (__hasOwnProp.call(b, prop))\n __defNormalProp(a, prop, b[prop]);\n if (__getOwnPropSymbols)\n for (var prop of __getOwnPropSymbols(b)) {\n if (__propIsEnum.call(b, prop))\n __defNormalProp(a, prop, b[prop]);\n }\n return a;\n};\nvar __spreadProps = (a, b) => __defProps(a, __getOwnPropDescs(b));\nclass VizPanel extends SceneObjectBase {\n constructor(state) {\n super(__spreadValues({\n options: {},\n fieldConfig: { defaults: {}, overrides: [] },\n title: \"Title\",\n pluginId: \"timeseries\"\n }, state));\n this._variableDependency = new VariableDependencyConfig(this, {\n statePaths: [\"title\", \"options\", \"fieldConfig\"]\n });\n this._structureRev = 0;\n this.onTimeRangeChange = (timeRange) => {\n const sceneTimeRange = sceneGraph.getTimeRange(this);\n sceneTimeRange.onTimeRangeChange({\n raw: {\n from: toUtc(timeRange.from),\n to: toUtc(timeRange.to)\n },\n from: toUtc(timeRange.from),\n to: toUtc(timeRange.to)\n });\n };\n this.onTitleChange = (title) => {\n this.setState({ title });\n };\n this.onDescriptionChange = (description) => {\n this.setState({ description });\n };\n this.onDisplayModeChange = (displayMode) => {\n this.setState({ displayMode });\n };\n this.onOptionsChange = (optionsUpdate, replace = false) => {\n const { fieldConfig, options } = this.state;\n const nextOptions = replace ? optionsUpdate : mergeWith(cloneDeep(options), optionsUpdate, (_, srcValue) => {\n if (isArray(srcValue)) {\n return srcValue;\n }\n return;\n });\n const withDefaults = getPanelOptionsWithDefaults({\n plugin: this._plugin,\n currentOptions: nextOptions,\n currentFieldConfig: fieldConfig,\n isAfterPluginChange: false\n });\n this.setState({\n options: withDefaults.options\n });\n };\n this.onFieldConfigChange = (fieldConfigUpdate, replace) => {\n const { fieldConfig, options } = this.state;\n const nextFieldConfig = replace ? fieldConfigUpdate : merge(cloneDeep(fieldConfig), fieldConfigUpdate);\n const withDefaults = getPanelOptionsWithDefaults({\n plugin: this._plugin,\n currentOptions: options,\n currentFieldConfig: nextFieldConfig,\n isAfterPluginChange: false\n });\n this.setState({\n fieldConfig: withDefaults.fieldConfig\n });\n };\n this.interpolate = (value, scoped, format) => {\n return sceneGraph.interpolate(this, value, scoped, format);\n };\n this.getDescription = () => {\n this.publishEvent(new UserActionEvent({ origin: this, interaction: \"panel-description-shown\" }), true);\n const { description } = this.state;\n if (description) {\n const markdown = this.interpolate(description);\n return renderMarkdown(markdown);\n }\n return \"\";\n };\n this.onCancelQuery = () => {\n var _a;\n this.publishEvent(new UserActionEvent({ origin: this, interaction: \"panel-cancel-query-clicked\" }), true);\n const data = sceneGraph.getData(this);\n (_a = data.cancelQuery) == null ? void 0 : _a.call(data);\n };\n this.onStatusMessageClick = () => {\n this.publishEvent(new UserActionEvent({ origin: this, interaction: \"panel-status-message-clicked\" }), true);\n };\n this._onSeriesColorChange = (label, color) => {\n this.onFieldConfigChange(changeSeriesColorConfigFactory(label, color, this.state.fieldConfig));\n };\n this._onSeriesVisibilityChange = (label, mode) => {\n if (!this._dataWithFieldConfig) {\n return;\n }\n this.onFieldConfigChange(\n seriesVisibilityConfigFactory(label, mode, this.state.fieldConfig, this._dataWithFieldConfig.series),\n true\n );\n };\n this._onInstanceStateChange = (state) => {\n this.setState({ _pluginInstanceState: state });\n };\n this._onToggleLegendSort = (sortKey) => {\n const legendOptions = this.state.options.legend;\n if (!legendOptions) {\n return;\n }\n let sortDesc = legendOptions.sortDesc;\n let sortBy = legendOptions.sortBy;\n if (sortKey !== sortBy) {\n sortDesc = void 0;\n }\n if (sortDesc === false) {\n sortBy = void 0;\n sortDesc = void 0;\n } else {\n sortDesc = !sortDesc;\n sortBy = sortKey;\n }\n this.onOptionsChange(__spreadProps(__spreadValues({}, this.state.options), {\n legend: __spreadProps(__spreadValues({}, legendOptions), { sortBy, sortDesc })\n }));\n };\n this.addActivationHandler(() => {\n this._onActivate();\n });\n if (state.menu) {\n state.menu.addActivationHandler(() => {\n this.publishEvent(new UserActionEvent({ origin: this, interaction: \"panel-menu-shown\" }), true);\n });\n }\n }\n _onActivate() {\n if (!this._plugin) {\n this._loadPlugin(this.state.pluginId);\n }\n }\n _loadPlugin(pluginId) {\n const plugin = loadPanelPluginSync(pluginId);\n if (plugin) {\n this._pluginLoaded(plugin);\n } else {\n const { importPanelPlugin } = getPluginImportUtils();\n try {\n importPanelPlugin(pluginId).then((result) => {\n return this._pluginLoaded(result);\n });\n } catch (err) {\n this._pluginLoaded(getPanelPluginNotFound(pluginId));\n this.setState({ _pluginLoadError: err.message });\n }\n }\n }\n async _pluginLoaded(plugin) {\n const { options, fieldConfig, title, pluginVersion, _UNSAFE_customMigrationHandler } = this.state;\n const panel = {\n title,\n options,\n fieldConfig,\n id: 1,\n type: plugin.meta.id,\n pluginVersion\n };\n const currentVersion = this._getPluginVersion(plugin);\n if (_UNSAFE_customMigrationHandler) {\n _UNSAFE_customMigrationHandler(panel, plugin);\n }\n if (plugin.onPanelMigration) {\n if (currentVersion !== this.state.pluginVersion) {\n panel.options = await plugin.onPanelMigration(panel);\n }\n }\n const withDefaults = getPanelOptionsWithDefaults({\n plugin,\n currentOptions: panel.options,\n currentFieldConfig: panel.fieldConfig,\n isAfterPluginChange: false\n });\n this._plugin = plugin;\n this.setState({\n options: withDefaults.options,\n fieldConfig: withDefaults.fieldConfig,\n pluginVersion: currentVersion\n });\n if (plugin.meta.skipDataQuery) {\n const sceneTimeRange = sceneGraph.getTimeRange(this);\n this._subs.add(sceneTimeRange.subscribeToState(() => this.forceRender()));\n }\n }\n _getPluginVersion(plugin) {\n return plugin && plugin.meta.info.version ? plugin.meta.info.version : config.buildInfo.version;\n }\n getPlugin() {\n return this._plugin;\n }\n getPanelContext() {\n if (!this._panelContext) {\n this._panelContext = this.buildPanelContext();\n }\n return this._panelContext;\n }\n applyFieldConfig(rawData) {\n var _a, _b;\n const plugin = this._plugin;\n if (!plugin || plugin.meta.skipDataQuery || !rawData) {\n return emptyPanelData;\n }\n const pluginDataSupport = plugin.dataSupport || { alertStates: false, annotations: false };\n const fieldConfigRegistry = plugin.fieldConfigRegistry;\n const prevFrames = (_a = this._prevData) == null ? void 0 : _a.series;\n const newFrames = rawData == null ? void 0 : rawData.series;\n if (rawData.structureRev == null && newFrames && prevFrames && !compareArrayValues(newFrames, prevFrames, compareDataFrameStructures)) {\n this._structureRev++;\n }\n this._dataWithFieldConfig = __spreadProps(__spreadValues({}, rawData), {\n structureRev: this._structureRev,\n series: applyFieldOverrides({\n data: newFrames,\n fieldConfig: this.state.fieldConfig,\n fieldConfigRegistry,\n replaceVariables: this.interpolate,\n theme: config.theme2,\n timeZone: (_b = rawData.request) == null ? void 0 : _b.timezone\n })\n });\n if (!pluginDataSupport.alertStates) {\n this._dataWithFieldConfig.alertState = void 0;\n }\n if (!pluginDataSupport.annotations) {\n this._dataWithFieldConfig.annotations = void 0;\n }\n return this._dataWithFieldConfig;\n }\n buildPanelContext() {\n const sync = getCursorSyncScope(this);\n const context = {\n eventsScope: sync ? sync.getEventsScope() : \"__global_\",\n eventBus: sync ? sync.getEventsBus(this) : getAppEvents(),\n app: CoreApp.Unknown,\n sync: () => {\n if (sync) {\n return sync.state.sync;\n }\n return DashboardCursorSync.Off;\n },\n onSeriesColorChange: this._onSeriesColorChange,\n onToggleSeriesVisibility: this._onSeriesVisibilityChange,\n onToggleLegendSort: this._onToggleLegendSort,\n onInstanceStateChange: this._onInstanceStateChange\n };\n if (this.state.extendPanelContext) {\n this.state.extendPanelContext(this, context);\n }\n return context;\n }\n}\nVizPanel.Component = VizPanelRenderer;\nfunction getPanelPluginNotFound(id, silent) {\n const plugin = new PanelPlugin(() => null);\n plugin.meta = {\n id,\n name: id,\n sort: 100,\n type: PluginType.panel,\n module: \"\",\n baseUrl: \"\",\n info: {\n author: {\n name: \"\"\n },\n description: \"\",\n links: [],\n logos: {\n large: \"\",\n small: \"public/img/grafana_icon.svg\"\n },\n screenshots: [],\n updated: \"\",\n version: \"\"\n }\n };\n return plugin;\n}\n\nexport { VizPanel };\n//# sourceMappingURL=VizPanel.js.map\n","import React from 'react';\nimport { SceneObjectBase } from '../../../core/SceneObjectBase.js';\nimport { SceneGridLayout } from './SceneGridLayout.js';\nimport { SceneGridRow } from './SceneGridRow.js';\n\nclass SceneGridItem extends SceneObjectBase {\n}\nSceneGridItem.Component = SceneGridItemRenderer;\nfunction SceneGridItemRenderer({ model }) {\n const { body } = model.useState();\n const parent = model.parent;\n if (parent && !isSceneGridLayout(parent) && !isSceneGridRow(parent)) {\n throw new Error(\"SceneGridItem must be a child of SceneGridLayout or SceneGridRow\");\n }\n if (!body) {\n return null;\n }\n return /* @__PURE__ */ React.createElement(body.Component, {\n model: body\n });\n}\nfunction isSceneGridRow(child) {\n return child instanceof SceneGridRow;\n}\nfunction isSceneGridLayout(child) {\n return child instanceof SceneGridLayout;\n}\n\nexport { SceneGridItem, isSceneGridRow };\n//# sourceMappingURL=SceneGridItem.js.map\n","import React, { useEffect } from 'react';\nimport { Menu } from '@grafana/ui';\nimport { SceneObjectBase } from '../../core/SceneObjectBase.js';\n\nclass VizPanelMenu extends SceneObjectBase {\n addItem(item) {\n this.setState({\n items: this.state.items ? [...this.state.items, item] : [item]\n });\n }\n setItems(items) {\n this.setState({\n items\n });\n }\n}\nVizPanelMenu.Component = VizPanelMenuRenderer;\nfunction VizPanelMenuRenderer({ model }) {\n const { items = [] } = model.useState();\n const ref = React.useRef(null);\n useEffect(() => {\n if (ref.current) {\n ref.current.focus();\n }\n }, []);\n const renderItems = (items2) => {\n return items2.map(\n (item) => item.type === \"divider\" ? /* @__PURE__ */ React.createElement(Menu.Divider, {\n key: item.text\n }) : /* @__PURE__ */ React.createElement(Menu.Item, {\n key: item.text,\n label: item.text,\n icon: item.iconClassName,\n childItems: item.subMenu ? renderItems(item.subMenu) : void 0,\n url: item.href,\n onClick: item.onClick,\n shortcut: item.shortcut\n })\n );\n };\n return /* @__PURE__ */ React.createElement(Menu, {\n ref\n }, renderItems(items));\n}\n\nexport { VizPanelMenu };\n//# sourceMappingURL=VizPanelMenu.js.map\n","import { createElement, PureComponent } from 'react';\n\nvar classCallCheck = function (instance, Constructor) {\n if (!(instance instanceof Constructor)) {\n throw new TypeError(\"Cannot call a class as a function\");\n }\n};\n\nvar createClass = function () {\n function defineProperties(target, props) {\n for (var i = 0; i < props.length; i++) {\n var descriptor = props[i];\n descriptor.enumerable = descriptor.enumerable || false;\n descriptor.configurable = true;\n if (\"value\" in descriptor) descriptor.writable = true;\n Object.defineProperty(target, descriptor.key, descriptor);\n }\n }\n\n return function (Constructor, protoProps, staticProps) {\n if (protoProps) defineProperties(Constructor.prototype, protoProps);\n if (staticProps) defineProperties(Constructor, staticProps);\n return Constructor;\n };\n}();\n\nvar _extends = Object.assign || function (target) {\n for (var i = 1; i < arguments.length; i++) {\n var source = arguments[i];\n\n for (var key in source) {\n if (Object.prototype.hasOwnProperty.call(source, key)) {\n target[key] = source[key];\n }\n }\n }\n\n return target;\n};\n\nvar inherits = function (subClass, superClass) {\n if (typeof superClass !== \"function\" && superClass !== null) {\n throw new TypeError(\"Super expression must either be null or a function, not \" + typeof superClass);\n }\n\n subClass.prototype = Object.create(superClass && superClass.prototype, {\n constructor: {\n value: subClass,\n enumerable: false,\n writable: true,\n configurable: true\n }\n });\n if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass;\n};\n\nvar possibleConstructorReturn = function (self, call) {\n if (!self) {\n throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\");\n }\n\n return call && (typeof call === \"object\" || typeof call === \"function\") ? call : self;\n};\n\nvar slicedToArray = function () {\n function sliceIterator(arr, i) {\n var _arr = [];\n var _n = true;\n var _d = false;\n var _e = undefined;\n\n try {\n for (var _i = arr[Symbol.iterator](), _s; !(_n = (_s = _i.next()).done); _n = true) {\n _arr.push(_s.value);\n\n if (i && _arr.length === i) break;\n }\n } catch (err) {\n _d = true;\n _e = err;\n } finally {\n try {\n if (!_n && _i[\"return\"]) _i[\"return\"]();\n } finally {\n if (_d) throw _e;\n }\n }\n\n return _arr;\n }\n\n return function (arr, i) {\n if (Array.isArray(arr)) {\n return arr;\n } else if (Symbol.iterator in Object(arr)) {\n return sliceIterator(arr, i);\n } else {\n throw new TypeError(\"Invalid attempt to destructure non-iterable instance\");\n }\n };\n}();\n\n/**\n * Detect Element Resize.\n * https://github.com/sdecima/javascript-detect-element-resize\n * Sebastian Decima\n *\n * Forked from version 0.5.3; includes the following modifications:\n * 1) Guard against unsafe 'window' and 'document' references (to support SSR).\n * 2) Defer initialization code via a top-level function wrapper (to support SSR).\n * 3) Avoid unnecessary reflows by not measuring size for scroll events bubbling from children.\n * 4) Add nonce for style element.\n **/\n\n// Check `document` and `window` in case of server-side rendering\nvar windowObject = void 0;\nif (typeof window !== 'undefined') {\n windowObject = window;\n\n // eslint-disable-next-line no-restricted-globals\n} else if (typeof self !== 'undefined') {\n // eslint-disable-next-line no-restricted-globals\n windowObject = self;\n} else {\n windowObject = global;\n}\n\nvar cancelFrame = null;\nvar requestFrame = null;\n\nvar TIMEOUT_DURATION = 20;\n\nvar clearTimeoutFn = windowObject.clearTimeout;\nvar setTimeoutFn = windowObject.setTimeout;\n\nvar cancelAnimationFrameFn = windowObject.cancelAnimationFrame || windowObject.mozCancelAnimationFrame || windowObject.webkitCancelAnimationFrame;\n\nvar requestAnimationFrameFn = windowObject.requestAnimationFrame || windowObject.mozRequestAnimationFrame || windowObject.webkitRequestAnimationFrame;\n\nif (cancelAnimationFrameFn == null || requestAnimationFrameFn == null) {\n // For environments that don't support animation frame,\n // fallback to a setTimeout based approach.\n cancelFrame = clearTimeoutFn;\n requestFrame = function requestAnimationFrameViaSetTimeout(callback) {\n return setTimeoutFn(callback, TIMEOUT_DURATION);\n };\n} else {\n // Counter intuitively, environments that support animation frames can be trickier.\n // Chrome's \"Throttle non-visible cross-origin iframes\" flag can prevent rAFs from being called.\n // In this case, we should fallback to a setTimeout() implementation.\n cancelFrame = function cancelFrame(_ref) {\n var _ref2 = slicedToArray(_ref, 2),\n animationFrameID = _ref2[0],\n timeoutID = _ref2[1];\n\n cancelAnimationFrameFn(animationFrameID);\n clearTimeoutFn(timeoutID);\n };\n requestFrame = function requestAnimationFrameWithSetTimeoutFallback(callback) {\n var animationFrameID = requestAnimationFrameFn(function animationFrameCallback() {\n clearTimeoutFn(timeoutID);\n callback();\n });\n\n var timeoutID = setTimeoutFn(function timeoutCallback() {\n cancelAnimationFrameFn(animationFrameID);\n callback();\n }, TIMEOUT_DURATION);\n\n return [animationFrameID, timeoutID];\n };\n}\n\nfunction createDetectElementResize(nonce) {\n var animationKeyframes = void 0;\n var animationName = void 0;\n var animationStartEvent = void 0;\n var animationStyle = void 0;\n var checkTriggers = void 0;\n var resetTriggers = void 0;\n var scrollListener = void 0;\n\n var attachEvent = typeof document !== 'undefined' && document.attachEvent;\n if (!attachEvent) {\n resetTriggers = function resetTriggers(element) {\n var triggers = element.__resizeTriggers__,\n expand = triggers.firstElementChild,\n contract = triggers.lastElementChild,\n expandChild = expand.firstElementChild;\n contract.scrollLeft = contract.scrollWidth;\n contract.scrollTop = contract.scrollHeight;\n expandChild.style.width = expand.offsetWidth + 1 + 'px';\n expandChild.style.height = expand.offsetHeight + 1 + 'px';\n expand.scrollLeft = expand.scrollWidth;\n expand.scrollTop = expand.scrollHeight;\n };\n\n checkTriggers = function checkTriggers(element) {\n return element.offsetWidth !== element.__resizeLast__.width || element.offsetHeight !== element.__resizeLast__.height;\n };\n\n scrollListener = function scrollListener(e) {\n // Don't measure (which forces) reflow for scrolls that happen inside of children!\n if (e.target.className && typeof e.target.className.indexOf === 'function' && e.target.className.indexOf('contract-trigger') < 0 && e.target.className.indexOf('expand-trigger') < 0) {\n return;\n }\n\n var element = this;\n resetTriggers(this);\n if (this.__resizeRAF__) {\n cancelFrame(this.__resizeRAF__);\n }\n this.__resizeRAF__ = requestFrame(function animationFrame() {\n if (checkTriggers(element)) {\n element.__resizeLast__.width = element.offsetWidth;\n element.__resizeLast__.height = element.offsetHeight;\n element.__resizeListeners__.forEach(function forEachResizeListener(fn) {\n fn.call(element, e);\n });\n }\n });\n };\n\n /* Detect CSS Animations support to detect element display/re-attach */\n var animation = false;\n var keyframeprefix = '';\n animationStartEvent = 'animationstart';\n var domPrefixes = 'Webkit Moz O ms'.split(' ');\n var startEvents = 'webkitAnimationStart animationstart oAnimationStart MSAnimationStart'.split(' ');\n var pfx = '';\n {\n var elm = document.createElement('fakeelement');\n if (elm.style.animationName !== undefined) {\n animation = true;\n }\n\n if (animation === false) {\n for (var i = 0; i < domPrefixes.length; i++) {\n if (elm.style[domPrefixes[i] + 'AnimationName'] !== undefined) {\n pfx = domPrefixes[i];\n keyframeprefix = '-' + pfx.toLowerCase() + '-';\n animationStartEvent = startEvents[i];\n animation = true;\n break;\n }\n }\n }\n }\n\n animationName = 'resizeanim';\n animationKeyframes = '@' + keyframeprefix + 'keyframes ' + animationName + ' { from { opacity: 0; } to { opacity: 0; } } ';\n animationStyle = keyframeprefix + 'animation: 1ms ' + animationName + '; ';\n }\n\n var createStyles = function createStyles(doc) {\n if (!doc.getElementById('detectElementResize')) {\n //opacity:0 works around a chrome bug https://code.google.com/p/chromium/issues/detail?id=286360\n var css = (animationKeyframes ? animationKeyframes : '') + '.resize-triggers { ' + (animationStyle ? animationStyle : '') + 'visibility: hidden; opacity: 0; } ' + '.resize-triggers, .resize-triggers > div, .contract-trigger:before { content: \" \"; display: block; position: absolute; top: 0; left: 0; height: 100%; width: 100%; overflow: hidden; z-index: -1; } .resize-triggers > div { background: #eee; overflow: auto; } .contract-trigger:before { width: 200%; height: 200%; }',\n head = doc.head || doc.getElementsByTagName('head')[0],\n style = doc.createElement('style');\n\n style.id = 'detectElementResize';\n style.type = 'text/css';\n\n if (nonce != null) {\n style.setAttribute('nonce', nonce);\n }\n\n if (style.styleSheet) {\n style.styleSheet.cssText = css;\n } else {\n style.appendChild(doc.createTextNode(css));\n }\n\n head.appendChild(style);\n }\n };\n\n var addResizeListener = function addResizeListener(element, fn) {\n if (attachEvent) {\n element.attachEvent('onresize', fn);\n } else {\n if (!element.__resizeTriggers__) {\n var doc = element.ownerDocument;\n var elementStyle = windowObject.getComputedStyle(element);\n if (elementStyle && elementStyle.position === 'static') {\n element.style.position = 'relative';\n }\n createStyles(doc);\n element.__resizeLast__ = {};\n element.__resizeListeners__ = [];\n (element.__resizeTriggers__ = doc.createElement('div')).className = 'resize-triggers';\n var expandTrigger = doc.createElement('div');\n expandTrigger.className = 'expand-trigger';\n expandTrigger.appendChild(doc.createElement('div'));\n var contractTrigger = doc.createElement('div');\n contractTrigger.className = 'contract-trigger';\n element.__resizeTriggers__.appendChild(expandTrigger);\n element.__resizeTriggers__.appendChild(contractTrigger);\n element.appendChild(element.__resizeTriggers__);\n resetTriggers(element);\n element.addEventListener('scroll', scrollListener, true);\n\n /* Listen for a css animation to detect element display/re-attach */\n if (animationStartEvent) {\n element.__resizeTriggers__.__animationListener__ = function animationListener(e) {\n if (e.animationName === animationName) {\n resetTriggers(element);\n }\n };\n element.__resizeTriggers__.addEventListener(animationStartEvent, element.__resizeTriggers__.__animationListener__);\n }\n }\n element.__resizeListeners__.push(fn);\n }\n };\n\n var removeResizeListener = function removeResizeListener(element, fn) {\n if (attachEvent) {\n element.detachEvent('onresize', fn);\n } else {\n element.__resizeListeners__.splice(element.__resizeListeners__.indexOf(fn), 1);\n if (!element.__resizeListeners__.length) {\n element.removeEventListener('scroll', scrollListener, true);\n if (element.__resizeTriggers__.__animationListener__) {\n element.__resizeTriggers__.removeEventListener(animationStartEvent, element.__resizeTriggers__.__animationListener__);\n element.__resizeTriggers__.__animationListener__ = null;\n }\n try {\n element.__resizeTriggers__ = !element.removeChild(element.__resizeTriggers__);\n } catch (e) {\n // Preact compat; see developit/preact-compat/issues/228\n }\n }\n }\n };\n\n return {\n addResizeListener: addResizeListener,\n removeResizeListener: removeResizeListener\n };\n}\n\nvar AutoSizer = function (_React$PureComponent) {\n inherits(AutoSizer, _React$PureComponent);\n\n function AutoSizer() {\n var _ref;\n\n var _temp, _this, _ret;\n\n classCallCheck(this, AutoSizer);\n\n for (var _len = arguments.length, args = Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n\n return _ret = (_temp = (_this = possibleConstructorReturn(this, (_ref = AutoSizer.__proto__ || Object.getPrototypeOf(AutoSizer)).call.apply(_ref, [this].concat(args))), _this), _this.state = {\n height: _this.props.defaultHeight || 0,\n width: _this.props.defaultWidth || 0\n }, _this._onResize = function () {\n var _this$props = _this.props,\n disableHeight = _this$props.disableHeight,\n disableWidth = _this$props.disableWidth,\n onResize = _this$props.onResize;\n\n\n if (_this._parentNode) {\n // Guard against AutoSizer component being removed from the DOM immediately after being added.\n // This can result in invalid style values which can result in NaN values if we don't handle them.\n // See issue #150 for more context.\n\n var _height = _this._parentNode.offsetHeight || 0;\n var _width = _this._parentNode.offsetWidth || 0;\n\n var _style = window.getComputedStyle(_this._parentNode) || {};\n var paddingLeft = parseInt(_style.paddingLeft, 10) || 0;\n var paddingRight = parseInt(_style.paddingRight, 10) || 0;\n var paddingTop = parseInt(_style.paddingTop, 10) || 0;\n var paddingBottom = parseInt(_style.paddingBottom, 10) || 0;\n\n var newHeight = _height - paddingTop - paddingBottom;\n var newWidth = _width - paddingLeft - paddingRight;\n\n if (!disableHeight && _this.state.height !== newHeight || !disableWidth && _this.state.width !== newWidth) {\n _this.setState({\n height: _height - paddingTop - paddingBottom,\n width: _width - paddingLeft - paddingRight\n });\n\n onResize({ height: _height, width: _width });\n }\n }\n }, _this._setRef = function (autoSizer) {\n _this._autoSizer = autoSizer;\n }, _temp), possibleConstructorReturn(_this, _ret);\n }\n\n createClass(AutoSizer, [{\n key: 'componentDidMount',\n value: function componentDidMount() {\n var nonce = this.props.nonce;\n\n if (this._autoSizer && this._autoSizer.parentNode && this._autoSizer.parentNode.ownerDocument && this._autoSizer.parentNode.ownerDocument.defaultView && this._autoSizer.parentNode instanceof this._autoSizer.parentNode.ownerDocument.defaultView.HTMLElement) {\n // Delay access of parentNode until mount.\n // This handles edge-cases where the component has already been unmounted before its ref has been set,\n // As well as libraries like react-lite which have a slightly different lifecycle.\n this._parentNode = this._autoSizer.parentNode;\n\n // Defer requiring resize handler in order to support server-side rendering.\n // See issue #41\n this._detectElementResize = createDetectElementResize(nonce);\n this._detectElementResize.addResizeListener(this._parentNode, this._onResize);\n\n this._onResize();\n }\n }\n }, {\n key: 'componentWillUnmount',\n value: function componentWillUnmount() {\n if (this._detectElementResize && this._parentNode) {\n this._detectElementResize.removeResizeListener(this._parentNode, this._onResize);\n }\n }\n }, {\n key: 'render',\n value: function render() {\n var _props = this.props,\n children = _props.children,\n className = _props.className,\n disableHeight = _props.disableHeight,\n disableWidth = _props.disableWidth,\n style = _props.style;\n var _state = this.state,\n height = _state.height,\n width = _state.width;\n\n // Outer div should not force width/height since that may prevent containers from shrinking.\n // Inner component should overflow and use calculated width/height.\n // See issue #68 for more information.\n\n var outerStyle = { overflow: 'visible' };\n var childParams = {};\n\n // Avoid rendering children before the initial measurements have been collected.\n // At best this would just be wasting cycles.\n var bailoutOnChildren = false;\n\n if (!disableHeight) {\n if (height === 0) {\n bailoutOnChildren = true;\n }\n outerStyle.height = 0;\n childParams.height = height;\n }\n\n if (!disableWidth) {\n if (width === 0) {\n bailoutOnChildren = true;\n }\n outerStyle.width = 0;\n childParams.width = width;\n }\n\n return createElement(\n 'div',\n {\n className: className,\n ref: this._setRef,\n style: _extends({}, outerStyle, style)\n },\n !bailoutOnChildren && children(childParams)\n );\n }\n }]);\n return AutoSizer;\n}(PureComponent);\n\nAutoSizer.defaultProps = {\n onResize: function onResize() {},\n disableHeight: false,\n disableWidth: false,\n style: {}\n};\n\nexport default AutoSizer;\n","import React, { useState, useRef, useImperativeHandle } from 'react';\nimport { useEffectOnce } from 'react-use';\nimport { uniqueId } from 'lodash';\n\nvar __defProp = Object.defineProperty;\nvar __getOwnPropSymbols = Object.getOwnPropertySymbols;\nvar __hasOwnProp = Object.prototype.hasOwnProperty;\nvar __propIsEnum = Object.prototype.propertyIsEnumerable;\nvar __defNormalProp = (obj, key, value) => key in obj ? __defProp(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;\nvar __spreadValues = (a, b) => {\n for (var prop in b || (b = {}))\n if (__hasOwnProp.call(b, prop))\n __defNormalProp(a, prop, b[prop]);\n if (__getOwnPropSymbols)\n for (var prop of __getOwnPropSymbols(b)) {\n if (__propIsEnum.call(b, prop))\n __defNormalProp(a, prop, b[prop]);\n }\n return a;\n};\nvar __objRest = (source, exclude) => {\n var target = {};\n for (var prop in source)\n if (__hasOwnProp.call(source, prop) && exclude.indexOf(prop) < 0)\n target[prop] = source[prop];\n if (source != null && __getOwnPropSymbols)\n for (var prop of __getOwnPropSymbols(source)) {\n if (exclude.indexOf(prop) < 0 && __propIsEnum.call(source, prop))\n target[prop] = source[prop];\n }\n return target;\n};\nfunction useUniqueId() {\n var _a;\n const idRefLazy = useRef(void 0);\n (_a = idRefLazy.current) != null ? _a : idRefLazy.current = uniqueId();\n return idRefLazy.current;\n}\nconst LazyLoader = React.forwardRef(\n (_a, ref) => {\n var _b = _a, { children, onLoad, onChange } = _b, rest = __objRest(_b, [\"children\", \"onLoad\", \"onChange\"]);\n const id = useUniqueId();\n const [loaded, setLoaded] = useState(false);\n const [isInView, setIsInView] = useState(false);\n const innerRef = useRef(null);\n useImperativeHandle(ref, () => innerRef.current);\n useEffectOnce(() => {\n LazyLoader.addCallback(id, (entry) => {\n if (!loaded && entry.isIntersecting) {\n setLoaded(true);\n onLoad == null ? void 0 : onLoad();\n }\n setIsInView(entry.isIntersecting);\n onChange == null ? void 0 : onChange(entry.isIntersecting);\n });\n const wrapperEl = innerRef.current;\n if (wrapperEl) {\n LazyLoader.observer.observe(wrapperEl);\n }\n return () => {\n delete LazyLoader.callbacks[id];\n wrapperEl && LazyLoader.observer.unobserve(wrapperEl);\n if (Object.keys(LazyLoader.callbacks).length === 0) {\n LazyLoader.observer.disconnect();\n }\n };\n });\n return /* @__PURE__ */ React.createElement(\"div\", __spreadValues({\n id,\n ref: innerRef\n }, rest), loaded && (typeof children === \"function\" ? children({ isInView }) : children));\n }\n);\nLazyLoader.displayName = \"LazyLoader\";\nLazyLoader.callbacks = {};\nLazyLoader.addCallback = (id, c) => LazyLoader.callbacks[id] = c;\nLazyLoader.observer = new IntersectionObserver(\n (entries) => {\n for (const entry of entries) {\n LazyLoader.callbacks[entry.target.id](entry);\n }\n },\n { rootMargin: \"100px\" }\n);\n\nexport { LazyLoader, useUniqueId };\n//# sourceMappingURL=LazyLoader.js.map\n","import { useEffect } from 'react';\nvar useEffectOnce = function (effect) {\n useEffect(effect, []);\n};\nexport default useEffectOnce;\n","import { SceneObjectBase } from '../../../core/SceneObjectBase.js';\nimport { DEFAULT_PANEL_SPAN } from './constants.js';\nimport { isSceneGridRow } from './SceneGridItem.js';\nimport { SceneGridLayoutRenderer } from './SceneGridLayoutRenderer.js';\nimport { SceneGridRow } from './SceneGridRow.js';\n\nvar __defProp = Object.defineProperty;\nvar __defProps = Object.defineProperties;\nvar __getOwnPropDescs = Object.getOwnPropertyDescriptors;\nvar __getOwnPropSymbols = Object.getOwnPropertySymbols;\nvar __hasOwnProp = Object.prototype.hasOwnProperty;\nvar __propIsEnum = Object.prototype.propertyIsEnumerable;\nvar __defNormalProp = (obj, key, value) => key in obj ? __defProp(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;\nvar __spreadValues = (a, b) => {\n for (var prop in b || (b = {}))\n if (__hasOwnProp.call(b, prop))\n __defNormalProp(a, prop, b[prop]);\n if (__getOwnPropSymbols)\n for (var prop of __getOwnPropSymbols(b)) {\n if (__propIsEnum.call(b, prop))\n __defNormalProp(a, prop, b[prop]);\n }\n return a;\n};\nvar __spreadProps = (a, b) => __defProps(a, __getOwnPropDescs(b));\nconst _SceneGridLayout = class extends SceneObjectBase {\n constructor(state) {\n super(__spreadProps(__spreadValues({}, state), {\n children: sortChildrenByPosition(state.children)\n }));\n this._skipOnLayoutChange = false;\n this.onLayoutChange = (layout) => {\n if (this._skipOnLayoutChange) {\n this._skipOnLayoutChange = false;\n return;\n }\n for (const item of layout) {\n const child = this.getSceneLayoutChild(item.i);\n const nextSize = {\n x: item.x,\n y: item.y,\n width: item.w,\n height: item.h\n };\n if (!isItemSizeEqual(child.state, nextSize)) {\n child.setState(__spreadValues({}, nextSize));\n }\n }\n this.setState({ children: sortChildrenByPosition(this.state.children) });\n };\n this.onResizeStop = (_, o, n) => {\n const child = this.getSceneLayoutChild(n.i);\n child.setState({\n width: n.w,\n height: n.h\n });\n };\n this.onDragStop = (gridLayout, o, updatedItem) => {\n const sceneChild = this.getSceneLayoutChild(updatedItem.i);\n gridLayout = sortGridLayout(gridLayout);\n for (let i = 0; i < gridLayout.length; i++) {\n const gridItem = gridLayout[i];\n const child = this.getSceneLayoutChild(gridItem.i);\n const childSize = child.state;\n if ((childSize == null ? void 0 : childSize.x) !== gridItem.x || (childSize == null ? void 0 : childSize.y) !== gridItem.y) {\n child.setState({\n x: gridItem.x,\n y: gridItem.y\n });\n }\n }\n const indexOfUpdatedItem = gridLayout.findIndex((item) => item.i === updatedItem.i);\n const newParent = this.findGridItemSceneParent(gridLayout, indexOfUpdatedItem - 1);\n let newChildren = this.state.children;\n if (newParent !== sceneChild.parent) {\n newChildren = this.moveChildTo(sceneChild, newParent);\n }\n this.setState({ children: sortChildrenByPosition(newChildren) });\n this._skipOnLayoutChange = true;\n };\n }\n isDraggable() {\n var _a;\n return (_a = this.state.isDraggable) != null ? _a : false;\n }\n getDragClass() {\n return `grid-drag-handle-${this.state.key}`;\n }\n getDragClassCancel() {\n return `grid-drag-cancel`;\n }\n toggleRow(row) {\n var _a, _b;\n const isCollapsed = row.state.isCollapsed;\n if (!isCollapsed) {\n row.setState({ isCollapsed: true });\n this.setState({});\n return;\n }\n const rowChildren = row.state.children;\n if (rowChildren.length === 0) {\n row.setState({ isCollapsed: false });\n this.setState({});\n return;\n }\n const rowY = row.state.y;\n const firstPanelYPos = (_a = rowChildren[0].state.y) != null ? _a : rowY;\n const yDiff = firstPanelYPos - (rowY + 1);\n let yMax = rowY;\n for (const panel of rowChildren) {\n const newSize = __spreadValues({}, panel.state);\n newSize.y = (_b = newSize.y) != null ? _b : rowY;\n newSize.y -= yDiff;\n if (newSize.y !== panel.state.y) {\n panel.setState(newSize);\n }\n yMax = Math.max(yMax, Number(newSize.y) + Number(newSize.height));\n }\n const pushDownAmount = yMax - rowY - 1;\n for (const child of this.state.children) {\n if (child.state.y > rowY) {\n this.pushChildDown(child, pushDownAmount);\n }\n if (isSceneGridRow(child) && child !== row) {\n for (const rowChild of child.state.children) {\n if (rowChild.state.y > rowY) {\n this.pushChildDown(rowChild, pushDownAmount);\n }\n }\n }\n }\n row.setState({ isCollapsed: false });\n this.setState({});\n }\n getSceneLayoutChild(key) {\n for (const child of this.state.children) {\n if (child.state.key === key) {\n return child;\n }\n if (child instanceof SceneGridRow) {\n for (const rowChild of child.state.children) {\n if (rowChild.state.key === key) {\n return rowChild;\n }\n }\n }\n }\n throw new Error(\"Scene layout child not found for GridItem\");\n }\n pushChildDown(child, amount) {\n child.setState({\n y: child.state.y + amount\n });\n }\n findGridItemSceneParent(layout, startAt) {\n for (let i = startAt; i >= 0; i--) {\n const gridItem = layout[i];\n const sceneChild = this.getSceneLayoutChild(gridItem.i);\n if (sceneChild instanceof SceneGridRow) {\n if (sceneChild.state.isCollapsed) {\n return this;\n }\n return sceneChild;\n }\n }\n return this;\n }\n moveChildTo(child, target) {\n const currentParent = child.parent;\n let rootChildren = this.state.children;\n const newChild = child.clone({ key: child.state.key });\n if (currentParent instanceof SceneGridRow) {\n const newRow = currentParent.clone({\n children: currentParent.state.children.filter((c) => c.state.key !== child.state.key)\n });\n rootChildren = rootChildren.map((c) => c === currentParent ? newRow : c);\n if (target instanceof SceneGridRow) {\n const targetRow = target.clone({ children: [...target.state.children, newChild] });\n rootChildren = rootChildren.map((c) => c === target ? targetRow : c);\n } else {\n rootChildren = [...rootChildren, newChild];\n }\n } else {\n if (!(target instanceof _SceneGridLayout)) {\n rootChildren = rootChildren.filter((c) => c.state.key !== child.state.key);\n const targetRow = target.clone({ children: [...target.state.children, newChild] });\n rootChildren = rootChildren.map((c) => c === target ? targetRow : c);\n }\n }\n return rootChildren;\n }\n toGridCell(child) {\n var _a, _b;\n const size = child.state;\n let x = (_a = size.x) != null ? _a : 0;\n let y = (_b = size.y) != null ? _b : 0;\n const w = Number.isInteger(Number(size.width)) ? Number(size.width) : DEFAULT_PANEL_SPAN;\n const h = Number.isInteger(Number(size.height)) ? Number(size.height) : DEFAULT_PANEL_SPAN;\n let isDraggable = child.state.isDraggable;\n let isResizable = child.state.isResizable;\n if (child instanceof SceneGridRow) {\n isDraggable = child.state.isCollapsed ? true : false;\n isResizable = false;\n }\n return { i: child.state.key, x, y, h, w, isResizable, isDraggable };\n }\n buildGridLayout(width) {\n let cells = [];\n for (const child of this.state.children) {\n cells.push(this.toGridCell(child));\n if (child instanceof SceneGridRow && !child.state.isCollapsed) {\n for (const rowChild of child.state.children) {\n cells.push(this.toGridCell(rowChild));\n }\n }\n }\n cells = sortGridLayout(cells);\n if (width < 768) {\n this._skipOnLayoutChange = true;\n return cells.map((cell) => __spreadProps(__spreadValues({}, cell), { w: 24 }));\n }\n this._skipOnLayoutChange = false;\n return cells;\n }\n};\nlet SceneGridLayout = _SceneGridLayout;\nSceneGridLayout.Component = SceneGridLayoutRenderer;\nfunction isItemSizeEqual(a, b) {\n return a.x === b.x && a.y === b.y && a.width === b.width && a.height === b.height;\n}\nfunction sortChildrenByPosition(children) {\n return [...children].sort((a, b) => {\n return a.state.y - b.state.y || a.state.x - b.state.x;\n });\n}\nfunction sortGridLayout(layout) {\n return [...layout].sort((a, b) => a.y - b.y || a.x - b.x);\n}\n\nexport { SceneGridLayout };\n//# sourceMappingURL=SceneGridLayout.js.map\n","const DEFAULT_PANEL_SPAN = 4;\nconst GRID_CELL_HEIGHT = 30;\nconst GRID_CELL_VMARGIN = 8;\nconst GRID_COLUMN_COUNT = 24;\n\nexport { DEFAULT_PANEL_SPAN, GRID_CELL_HEIGHT, GRID_CELL_VMARGIN, GRID_COLUMN_COUNT };\n//# sourceMappingURL=constants.js.map\n","import React from 'react';\nimport ReactGridLayout from 'react-grid-layout';\nimport AutoSizer from 'react-virtualized-auto-sizer';\nimport { GRID_CELL_VMARGIN, GRID_COLUMN_COUNT, GRID_CELL_HEIGHT } from './constants.js';\nimport { LazyLoader } from '../LazyLoader.js';\n\nfunction SceneGridLayoutRenderer({ model }) {\n const { children, isLazy, isDraggable, isResizable } = model.useState();\n validateChildrenSize(children);\n return /* @__PURE__ */ React.createElement(AutoSizer, {\n disableHeight: true\n }, ({ width }) => {\n if (width === 0) {\n return null;\n }\n const layout = model.buildGridLayout(width);\n return /* @__PURE__ */ React.createElement(\"div\", {\n style: { width: `${width}px`, height: \"100%\" }\n }, /* @__PURE__ */ React.createElement(ReactGridLayout, {\n width,\n isDraggable: isDraggable && width > 768,\n isResizable: isResizable != null ? isResizable : false,\n containerPadding: [0, 0],\n useCSSTransforms: false,\n margin: [GRID_CELL_VMARGIN, GRID_CELL_VMARGIN],\n cols: GRID_COLUMN_COUNT,\n rowHeight: GRID_CELL_HEIGHT,\n draggableHandle: `.grid-drag-handle-${model.state.key}`,\n draggableCancel: \".grid-drag-cancel\",\n layout,\n onDragStop: model.onDragStop,\n onResizeStop: model.onResizeStop,\n onLayoutChange: model.onLayoutChange,\n isBounded: false\n }, layout.map((gridItem) => {\n var _a;\n const sceneChild = model.getSceneLayoutChild(gridItem.i);\n const className = (_a = sceneChild.getClassName) == null ? void 0 : _a.call(sceneChild);\n return isLazy ? /* @__PURE__ */ React.createElement(LazyLoader, {\n key: sceneChild.state.key,\n \"data-griditem-key\": sceneChild.state.key,\n className\n }, /* @__PURE__ */ React.createElement(sceneChild.Component, {\n model: sceneChild,\n key: sceneChild.state.key\n })) : /* @__PURE__ */ React.createElement(\"div\", {\n key: sceneChild.state.key,\n \"data-griditem-key\": sceneChild.state.key,\n className\n }, /* @__PURE__ */ React.createElement(sceneChild.Component, {\n model: sceneChild,\n key: sceneChild.state.key\n }));\n })));\n });\n}\nfunction validateChildrenSize(children) {\n if (children.some(\n (c) => c.state.height === void 0 || c.state.width === void 0 || c.state.x === void 0 || c.state.y === void 0\n )) {\n throw new Error(\"All children must have a size specified\");\n }\n}\n\nexport { SceneGridLayoutRenderer };\n//# sourceMappingURL=SceneGridLayoutRenderer.js.map\n","import { cx, css } from '@emotion/css';\nimport React from 'react';\nimport { useStyles2, Icon } from '@grafana/ui';\nimport { SceneObjectBase } from '../../../core/SceneObjectBase.js';\nimport { SceneGridLayout } from './SceneGridLayout.js';\nimport { GRID_COLUMN_COUNT } from './constants.js';\nimport { sceneGraph } from '../../../core/sceneGraph/index.js';\n\nvar __defProp = Object.defineProperty;\nvar __defProps = Object.defineProperties;\nvar __getOwnPropDescs = Object.getOwnPropertyDescriptors;\nvar __getOwnPropSymbols = Object.getOwnPropertySymbols;\nvar __hasOwnProp = Object.prototype.hasOwnProperty;\nvar __propIsEnum = Object.prototype.propertyIsEnumerable;\nvar __defNormalProp = (obj, key, value) => key in obj ? __defProp(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;\nvar __spreadValues = (a, b) => {\n for (var prop in b || (b = {}))\n if (__hasOwnProp.call(b, prop))\n __defNormalProp(a, prop, b[prop]);\n if (__getOwnPropSymbols)\n for (var prop of __getOwnPropSymbols(b)) {\n if (__propIsEnum.call(b, prop))\n __defNormalProp(a, prop, b[prop]);\n }\n return a;\n};\nvar __spreadProps = (a, b) => __defProps(a, __getOwnPropDescs(b));\nclass SceneGridRow extends SceneObjectBase {\n constructor(state) {\n super(__spreadProps(__spreadValues({\n children: state.children || [],\n isCollapsible: state.isCollapsible || true,\n title: state.title || \"\"\n }, state), {\n x: 0,\n height: 1,\n width: GRID_COLUMN_COUNT\n }));\n this.onCollapseToggle = () => {\n if (!this.state.isCollapsible) {\n return;\n }\n this.getGridLayout().toggleRow(this);\n };\n }\n getGridLayout() {\n const layout = this.parent;\n if (!layout || !(layout instanceof SceneGridLayout)) {\n throw new Error(\"SceneGridRow must be a child of SceneGridLayout\");\n }\n return layout;\n }\n getUrlState() {\n return { rowc: this.state.isCollapsed ? \"1\" : \"0\" };\n }\n updateFromUrl(values) {\n if (values.rowc == null) {\n return;\n }\n if (values.rowc !== this.getUrlState().rowc) {\n this.onCollapseToggle();\n }\n }\n}\nSceneGridRow.Component = SceneGridRowRenderer;\nfunction SceneGridRowRenderer({ model }) {\n const styles = useStyles2(getSceneGridRowStyles);\n const { isCollapsible, isCollapsed, title, isDraggable, actions } = model.useState();\n const layoutDragClass = model.getGridLayout().getDragClass();\n return /* @__PURE__ */ React.createElement(\"div\", {\n className: cx(styles.row, isCollapsed && styles.rowCollapsed)\n }, /* @__PURE__ */ React.createElement(\"button\", {\n onClick: model.onCollapseToggle,\n className: styles.rowTitleButton,\n \"aria-label\": isCollapsed ? \"Expand row\" : \"Collapse row\"\n }, isCollapsible && /* @__PURE__ */ React.createElement(Icon, {\n name: isCollapsed ? \"angle-right\" : \"angle-down\"\n }), /* @__PURE__ */ React.createElement(\"span\", {\n className: styles.rowTitle,\n role: \"heading\"\n }, sceneGraph.interpolate(model, title, void 0, \"text\"))), actions && /* @__PURE__ */ React.createElement(actions.Component, {\n model: actions\n }), isDraggable && isCollapsed && /* @__PURE__ */ React.createElement(\"div\", {\n className: cx(styles.dragHandle, layoutDragClass)\n }, /* @__PURE__ */ React.createElement(Icon, {\n name: \"draggabledots\"\n })));\n}\nconst getSceneGridRowStyles = (theme) => {\n return {\n row: css({\n width: \"100%\",\n height: \"30px\",\n display: \"flex\",\n justifyContent: \"space-between\",\n gap: theme.spacing(1)\n }),\n rowTitleButton: css({\n display: \"flex\",\n alignItems: \"center\",\n cursor: \"pointer\",\n background: \"transparent\",\n border: \"none\",\n gap: theme.spacing(1)\n }),\n rowCollapsed: css({\n borderBottom: `1px solid ${theme.colors.border.weak}`\n }),\n rowTitle: css({\n fontSize: theme.typography.h5.fontSize,\n fontWeight: theme.typography.fontWeightMedium\n }),\n collapsedInfo: css({\n fontSize: theme.typography.bodySmall.fontSize,\n color: theme.colors.text.secondary,\n display: \"flex\",\n alignItems: \"center\",\n flexGrow: 1\n }),\n dragHandle: css({\n display: \"flex\",\n padding: theme.spacing(0, 1),\n alignItems: \"center\",\n justifyContent: \"flex-end\",\n cursor: \"move\",\n color: theme.colors.text.secondary,\n \"&:hover\": {\n color: theme.colors.text.primary\n }\n })\n };\n};\n\nexport { SceneGridRow, SceneGridRowRenderer, getSceneGridRowStyles };\n//# sourceMappingURL=SceneGridRow.js.map\n","import { cx, css } from '@emotion/css';\nimport React from 'react';\nimport { useStyles2, ToolbarButton, Icon } from '@grafana/ui';\nimport { SceneObjectBase } from '../core/SceneObjectBase.js';\nimport { getSceneGridRowStyles } from './layout/grid/SceneGridRow.js';\nimport { sceneGraph } from '../core/sceneGraph/index.js';\n\nclass NestedScene extends SceneObjectBase {\n constructor() {\n super(...arguments);\n this.onToggle = () => {\n this.setState({\n isCollapsed: !this.state.isCollapsed\n });\n };\n this.onRemove = () => {\n const parent = this.parent;\n if (isSceneLayoutItem(parent)) {\n parent.setState({\n body: void 0\n });\n }\n };\n }\n}\nNestedScene.Component = NestedSceneRenderer;\nfunction NestedSceneRenderer({ model }) {\n const { title, isCollapsed, canCollapse, canRemove, body, controls } = model.useState();\n const gridRow = useStyles2(getSceneGridRowStyles);\n const styles = useStyles2(getStyles);\n const toolbarControls = (controls != null ? controls : []).map((action) => /* @__PURE__ */ React.createElement(action.Component, {\n key: action.state.key,\n model: action\n }));\n if (canRemove) {\n toolbarControls.push(\n /* @__PURE__ */ React.createElement(ToolbarButton, {\n icon: \"times\",\n variant: \"default\",\n onClick: model.onRemove,\n key: \"remove-button\",\n \"aria-label\": \"Remove scene\"\n })\n );\n }\n return /* @__PURE__ */ React.createElement(\"div\", {\n className: styles.wrapper\n }, /* @__PURE__ */ React.createElement(\"div\", {\n className: cx(styles.row, isCollapsed && styles.rowCollapsed)\n }, /* @__PURE__ */ React.createElement(\"button\", {\n onClick: model.onToggle,\n className: gridRow.rowTitleButton,\n \"aria-label\": isCollapsed ? \"Expand scene\" : \"Collapse scene\"\n }, canCollapse && /* @__PURE__ */ React.createElement(Icon, {\n name: isCollapsed ? \"angle-right\" : \"angle-down\"\n }), /* @__PURE__ */ React.createElement(\"span\", {\n className: gridRow.rowTitle,\n role: \"heading\"\n }, sceneGraph.interpolate(model, title, void 0, \"text\"))), /* @__PURE__ */ React.createElement(\"div\", {\n className: styles.actions\n }, toolbarControls)), !isCollapsed && /* @__PURE__ */ React.createElement(body.Component, {\n model: body\n }));\n}\nconst getStyles = (theme) => ({\n wrapper: css({\n display: \"flex\",\n flexDirection: \"column\",\n flexGrow: 1,\n gap: theme.spacing(1),\n cursor: \"pointer\"\n }),\n row: css({\n width: \"100%\",\n display: \"flex\",\n justifyContent: \"space-between\",\n gap: theme.spacing(1)\n }),\n rowCollapsed: css({\n borderBottom: `1px solid ${theme.colors.border.weak}`,\n paddingBottom: theme.spacing(1)\n }),\n actions: css({\n display: \"flex\",\n alignItems: \"center\",\n gap: theme.spacing(1),\n justifyContent: \"flex-end\",\n flexGrow: 1\n })\n});\nfunction isSceneLayoutItem(x) {\n return \"body\" in x.state;\n}\n\nexport { NestedScene, NestedSceneRenderer };\n//# sourceMappingURL=NestedScene.js.map\n","import React from 'react';\nimport { SceneObjectBase } from '../core/SceneObjectBase.js';\nimport { sceneGraph } from '../core/sceneGraph/index.js';\nimport { VariableDependencyConfig } from '../variables/VariableDependencyConfig.js';\nimport { useTheme2 } from '@grafana/ui';\nimport { css } from '@emotion/css';\n\nclass SceneCanvasText extends SceneObjectBase {\n constructor() {\n super(...arguments);\n this._variableDependency = new VariableDependencyConfig(this, { statePaths: [\"text\"] });\n }\n}\nSceneCanvasText.Component = ({ model }) => {\n const { text, fontSize = 20, align = \"left\", key, spacing } = model.useState();\n const theme = useTheme2();\n const style = css({\n fontSize,\n display: \"flex\",\n flexGrow: 1,\n alignItems: \"center\",\n padding: spacing ? theme.spacing(spacing, 0) : void 0,\n justifyContent: align\n });\n return /* @__PURE__ */ React.createElement(\"div\", {\n className: style,\n \"data-testid\": key\n }, sceneGraph.interpolate(model, text));\n};\n\nexport { SceneCanvasText };\n//# sourceMappingURL=SceneCanvasText.js.map\n","import React from 'react';\nimport { ToolbarButton, Input } from '@grafana/ui';\nimport { SceneObjectBase } from '../core/SceneObjectBase.js';\nimport { ControlsLabel } from '../utils/ControlsLabel.js';\n\nclass SceneToolbarButton extends SceneObjectBase {\n}\nSceneToolbarButton.Component = ({ model }) => {\n const state = model.useState();\n return /* @__PURE__ */ React.createElement(ToolbarButton, {\n onClick: state.onClick,\n icon: state.icon\n });\n};\nclass SceneToolbarInput extends SceneObjectBase {\n}\nSceneToolbarInput.Component = ({ model }) => {\n const state = model.useState();\n return /* @__PURE__ */ React.createElement(\"div\", {\n style: { display: \"flex\" }\n }, state.label && /* @__PURE__ */ React.createElement(ControlsLabel, {\n label: state.label\n }), /* @__PURE__ */ React.createElement(Input, {\n defaultValue: state.value,\n width: 8,\n onBlur: (evt) => {\n model.state.onChange(parseInt(evt.currentTarget.value, 10));\n }\n }));\n};\n\nexport { SceneToolbarButton, SceneToolbarInput };\n//# sourceMappingURL=SceneToolbarButton.js.map\n","import React from 'react';\nimport { TimeRangePicker } from '@grafana/ui';\nimport { SceneObjectBase } from '../core/SceneObjectBase.js';\nimport { sceneGraph } from '../core/sceneGraph/index.js';\nimport { toUtc } from '@grafana/data';\n\nclass SceneTimePicker extends SceneObjectBase {\n constructor() {\n super(...arguments);\n this.onZoom = () => {\n const timeRange = sceneGraph.getTimeRange(this);\n const zoomedTimeRange = getZoomedTimeRange(timeRange.state.value, 2);\n timeRange.onTimeRangeChange(zoomedTimeRange);\n };\n this.onChangeFiscalYearStartMonth = (month) => {\n const timeRange = sceneGraph.getTimeRange(this);\n timeRange.setState({ fiscalYearStartMonth: month });\n };\n this.onMoveBackward = () => {\n const timeRange = sceneGraph.getTimeRange(this);\n const {\n state: { value: range }\n } = timeRange;\n timeRange.onTimeRangeChange(getShiftedTimeRange(TimeRangeDirection.Backward, range, Date.now()));\n };\n this.onMoveForward = () => {\n const timeRange = sceneGraph.getTimeRange(this);\n const {\n state: { value: range }\n } = timeRange;\n timeRange.onTimeRangeChange(getShiftedTimeRange(TimeRangeDirection.Forward, range, Date.now()));\n };\n }\n}\nSceneTimePicker.Component = SceneTimePickerRenderer;\nfunction SceneTimePickerRenderer({ model }) {\n const { hidePicker, isOnCanvas } = model.useState();\n const timeRange = sceneGraph.getTimeRange(model);\n const timeZone = timeRange.getTimeZone();\n const timeRangeState = timeRange.useState();\n if (hidePicker) {\n return null;\n }\n return /* @__PURE__ */ React.createElement(TimeRangePicker, {\n isOnCanvas: isOnCanvas != null ? isOnCanvas : true,\n value: timeRangeState.value,\n onChange: timeRange.onTimeRangeChange,\n timeZone,\n fiscalYearStartMonth: timeRangeState.fiscalYearStartMonth,\n onMoveBackward: model.onMoveBackward,\n onMoveForward: model.onMoveForward,\n onZoom: model.onZoom,\n onChangeTimeZone: timeRange.onTimeZoneChange,\n onChangeFiscalYearStartMonth: model.onChangeFiscalYearStartMonth\n });\n}\nfunction getZoomedTimeRange(timeRange, factor) {\n const timespan = timeRange.to.valueOf() - timeRange.from.valueOf();\n const center = timeRange.to.valueOf() - timespan / 2;\n const newTimespan = timespan === 0 ? 3e4 : timespan * factor;\n const to = center + newTimespan / 2;\n const from = center - newTimespan / 2;\n return { from: toUtc(from), to: toUtc(to), raw: { from: toUtc(from), to: toUtc(to) } };\n}\nvar TimeRangeDirection = /* @__PURE__ */ ((TimeRangeDirection2) => {\n TimeRangeDirection2[TimeRangeDirection2[\"Backward\"] = 0] = \"Backward\";\n TimeRangeDirection2[TimeRangeDirection2[\"Forward\"] = 1] = \"Forward\";\n return TimeRangeDirection2;\n})(TimeRangeDirection || {});\nfunction getShiftedTimeRange(dir, timeRange, upperLimit) {\n const oldTo = timeRange.to.valueOf();\n const oldFrom = timeRange.from.valueOf();\n const halfSpan = (oldTo - oldFrom) / 2;\n let fromRaw;\n let toRaw;\n if (dir === 0 /* Backward */) {\n fromRaw = oldFrom - halfSpan;\n toRaw = oldTo - halfSpan;\n } else {\n fromRaw = oldFrom + halfSpan;\n toRaw = oldTo + halfSpan;\n if (toRaw > upperLimit && oldTo < upperLimit) {\n toRaw = upperLimit;\n fromRaw = oldFrom;\n }\n }\n const from = toUtc(fromRaw);\n const to = toUtc(toRaw);\n return {\n from,\n to,\n raw: { from, to }\n };\n}\n\nexport { SceneTimePicker, TimeRangeDirection, getShiftedTimeRange, getZoomedTimeRange };\n//# sourceMappingURL=SceneTimePicker.js.map\n","import React from 'react';\nimport { rangeUtil } from '@grafana/data';\nimport { RefreshPicker } from '@grafana/ui';\nimport { SceneObjectBase } from '../core/SceneObjectBase.js';\nimport { sceneGraph } from '../core/sceneGraph/index.js';\nimport { SceneObjectUrlSyncConfig } from '../services/SceneObjectUrlSyncConfig.js';\n\nvar __defProp = Object.defineProperty;\nvar __defProps = Object.defineProperties;\nvar __getOwnPropDescs = Object.getOwnPropertyDescriptors;\nvar __getOwnPropSymbols = Object.getOwnPropertySymbols;\nvar __hasOwnProp = Object.prototype.hasOwnProperty;\nvar __propIsEnum = Object.prototype.propertyIsEnumerable;\nvar __defNormalProp = (obj, key, value) => key in obj ? __defProp(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;\nvar __spreadValues = (a, b) => {\n for (var prop in b || (b = {}))\n if (__hasOwnProp.call(b, prop))\n __defNormalProp(a, prop, b[prop]);\n if (__getOwnPropSymbols)\n for (var prop of __getOwnPropSymbols(b)) {\n if (__propIsEnum.call(b, prop))\n __defNormalProp(a, prop, b[prop]);\n }\n return a;\n};\nvar __spreadProps = (a, b) => __defProps(a, __getOwnPropDescs(b));\nconst DEFAULT_INTERVALS = [\"5s\", \"10s\", \"30s\", \"1m\", \"5m\", \"15m\", \"30m\", \"1h\", \"2h\", \"1d\"];\nclass SceneRefreshPicker extends SceneObjectBase {\n constructor(state) {\n var _a;\n super(__spreadProps(__spreadValues({\n refresh: \"\"\n }, state), {\n intervals: (_a = state.intervals) != null ? _a : DEFAULT_INTERVALS\n }));\n this._urlSync = new SceneObjectUrlSyncConfig(this, { keys: [\"refresh\"] });\n this.onRefresh = () => {\n const timeRange = sceneGraph.getTimeRange(this);\n if (this._intervalTimer) {\n clearInterval(this._intervalTimer);\n }\n timeRange.onRefresh();\n this.setupIntervalTimer();\n };\n this.onIntervalChanged = (interval) => {\n this.setState({ refresh: interval });\n this.setupIntervalTimer();\n };\n this.setupIntervalTimer = () => {\n const timeRange = sceneGraph.getTimeRange(this);\n const { refresh, intervals } = this.state;\n if (this._intervalTimer || refresh === \"\") {\n clearInterval(this._intervalTimer);\n }\n if (refresh === \"\") {\n return;\n }\n if (intervals && !intervals.includes(refresh)) {\n return;\n }\n const intervalMs = rangeUtil.intervalToMs(refresh);\n this._intervalTimer = setInterval(() => {\n timeRange.onRefresh();\n }, intervalMs);\n };\n this.addActivationHandler(() => {\n this.setupIntervalTimer();\n return () => {\n if (this._intervalTimer) {\n clearInterval(this._intervalTimer);\n }\n };\n });\n }\n getUrlState() {\n return {\n refresh: this.state.refresh\n };\n }\n updateFromUrl(values) {\n const refresh = values.refresh;\n if (refresh && typeof refresh === \"string\") {\n this.setState({\n refresh\n });\n }\n }\n}\nSceneRefreshPicker.Component = SceneRefreshPickerRenderer;\nfunction SceneRefreshPickerRenderer({ model }) {\n const { refresh, intervals, isOnCanvas } = model.useState();\n return /* @__PURE__ */ React.createElement(RefreshPicker, {\n value: refresh,\n intervals,\n onRefresh: model.onRefresh,\n onIntervalChanged: model.onIntervalChanged,\n isOnCanvas: isOnCanvas != null ? isOnCanvas : true\n });\n}\n\nexport { DEFAULT_INTERVALS, SceneRefreshPicker, SceneRefreshPickerRenderer };\n//# sourceMappingURL=SceneRefreshPicker.js.map\n","import React from 'react';\nimport { LoadingState } from '@grafana/data';\nimport { SceneObjectBase } from '../core/SceneObjectBase.js';\nimport { sceneGraph } from '../core/sceneGraph/index.js';\n\nclass SceneByFrameRepeater extends SceneObjectBase {\n constructor(state) {\n super(state);\n this.addActivationHandler(() => {\n const dataProvider = sceneGraph.getData(this);\n this._subs.add(\n dataProvider.subscribeToState((data) => {\n var _a;\n if (((_a = data.data) == null ? void 0 : _a.state) === LoadingState.Done) {\n this.performRepeat(data.data);\n }\n })\n );\n if (dataProvider.state.data) {\n this.performRepeat(dataProvider.state.data);\n }\n });\n }\n performRepeat(data) {\n const newChildren = [];\n for (let seriesIndex = 0; seriesIndex < data.series.length; seriesIndex++) {\n const layoutChild = this.state.getLayoutChild(data, data.series[seriesIndex], seriesIndex);\n newChildren.push(layoutChild);\n }\n this.state.body.setState({ children: newChildren });\n }\n}\nSceneByFrameRepeater.Component = ({ model }) => {\n const { body } = model.useState();\n return /* @__PURE__ */ React.createElement(body.Component, {\n model: body\n });\n};\n\nexport { SceneByFrameRepeater };\n//# sourceMappingURL=SceneByFrameRepeater.js.map\n","import React from 'react';\nimport { SceneObjectBase } from '../core/SceneObjectBase.js';\n\nconst _SceneControlsSpacer = class extends SceneObjectBase {\n constructor() {\n super({});\n }\n get Component() {\n return _SceneControlsSpacer.Component;\n }\n};\nlet SceneControlsSpacer = _SceneControlsSpacer;\nSceneControlsSpacer.Component = (_props) => {\n return /* @__PURE__ */ React.createElement(\"div\", {\n style: { flexGrow: 1 }\n });\n};\n\nexport { SceneControlsSpacer };\n//# sourceMappingURL=SceneControlsSpacer.js.map\n","import { css } from '@emotion/css';\nimport { config } from '@grafana/runtime';\nimport React, { useMemo } from 'react';\nimport { SceneObjectBase } from '../../core/SceneObjectBase.js';\n\nclass SceneFlexLayout extends SceneObjectBase {\n toggleDirection() {\n this.setState({\n direction: this.state.direction === \"row\" ? \"column\" : \"row\"\n });\n }\n isDraggable() {\n return false;\n }\n}\nSceneFlexLayout.Component = SceneFlexLayoutRenderer;\nfunction SceneFlexLayoutRenderer({ model, parentState }) {\n const { children, isHidden } = model.useState();\n const style = useLayoutStyle(model.state, parentState);\n if (isHidden) {\n return null;\n }\n return /* @__PURE__ */ React.createElement(\"div\", {\n className: style\n }, children.map((item) => {\n const Component = item.Component;\n return /* @__PURE__ */ React.createElement(Component, {\n key: item.state.key,\n model: item,\n parentState: model.state\n });\n }));\n}\nclass SceneFlexItem extends SceneObjectBase {\n}\nSceneFlexItem.Component = SceneFlexItemRenderer;\nfunction SceneFlexItemRenderer({ model, parentState }) {\n if (!parentState) {\n throw new Error(\"SceneFlexItem must be a child of SceneFlexLayout\");\n }\n const { body, isHidden } = model.useState();\n const style = useLayoutItemStyle(model.state, parentState);\n if (!body || isHidden) {\n return null;\n }\n return /* @__PURE__ */ React.createElement(\"div\", {\n className: style\n }, /* @__PURE__ */ React.createElement(body.Component, {\n model: body\n }));\n}\nfunction applyItemStyles(style, state, parentState) {\n var _a, _b, _c;\n const parentDirection = (_a = parentState.direction) != null ? _a : \"row\";\n const { xSizing = \"fill\", ySizing = \"fill\" } = state;\n style.display = \"flex\";\n style.position = \"relative\";\n style.flexDirection = parentDirection;\n if (parentDirection === \"column\") {\n if (state.height) {\n style.height = state.height;\n } else {\n style.flexGrow = ySizing === \"fill\" ? 1 : 0;\n }\n if (state.width) {\n style.width = state.width;\n } else {\n style.alignSelf = xSizing === \"fill\" ? \"stretch\" : \"flex-start\";\n }\n } else {\n if (state.height) {\n style.height = state.height;\n } else {\n style.alignSelf = ySizing === \"fill\" ? \"stretch\" : \"flex-start\";\n }\n if (state.width) {\n style.width = state.width;\n } else {\n style.flexGrow = xSizing === \"fill\" ? 1 : 0;\n }\n }\n style.minWidth = state.minWidth;\n style.maxWidth = state.maxWidth;\n style.maxHeight = state.maxHeight;\n style.minHeight = (_b = state.minHeight) != null ? _b : parentState.minHeight;\n style.height = (_c = state.height) != null ? _c : parentState.height;\n return style;\n}\nfunction useLayoutItemStyle(state, parentState) {\n return useMemo(() => {\n var _a, _b, _c, _d, _e, _f, _g, _h, _i, _j;\n const theme = config.theme2;\n const style = applyItemStyles({}, state, parentState);\n style[theme.breakpoints.down(\"md\")] = {\n maxWidth: (_b = (_a = state.md) == null ? void 0 : _a.maxWidth) != null ? _b : \"unset\",\n maxHeight: (_d = (_c = state.md) == null ? void 0 : _c.maxHeight) != null ? _d : \"unset\",\n height: (_g = (_e = state.md) == null ? void 0 : _e.height) != null ? _g : (_f = parentState.md) == null ? void 0 : _f.height,\n width: (_j = (_h = state.md) == null ? void 0 : _h.width) != null ? _j : (_i = parentState.md) == null ? void 0 : _i.width\n };\n return css(style);\n }, [state, parentState]);\n}\nfunction useLayoutStyle(state, parentState) {\n return useMemo(() => {\n var _a, _b, _c, _d, _e, _f, _g, _h, _i, _j;\n const { direction = \"row\", wrap } = state;\n const theme = config.theme2;\n const style = {};\n if (parentState) {\n applyItemStyles(style, state, parentState);\n } else {\n style.display = \"flex\";\n style.flexGrow = 1;\n }\n style.flexDirection = direction;\n style.gap = \"8px\";\n style.flexWrap = wrap || \"nowrap\";\n style.alignContent = \"baseline\";\n style.minHeight = style.minHeight || 0;\n style[theme.breakpoints.down(\"md\")] = {\n flexDirection: (_b = (_a = state.md) == null ? void 0 : _a.direction) != null ? _b : \"column\",\n maxWidth: (_d = (_c = state.md) == null ? void 0 : _c.maxWidth) != null ? _d : \"unset\",\n maxHeight: (_f = (_e = state.md) == null ? void 0 : _e.maxHeight) != null ? _f : \"unset\",\n height: (_h = (_g = state.md) == null ? void 0 : _g.height) != null ? _h : \"unset\",\n width: (_j = (_i = state.md) == null ? void 0 : _i.width) != null ? _j : \"unset\"\n };\n return css(style);\n }, [parentState, state]);\n}\n\nexport { SceneFlexItem, SceneFlexLayout };\n//# sourceMappingURL=SceneFlexLayout.js.map\n","import { css } from '@emotion/css';\nimport React, { useMemo } from 'react';\nimport { SceneObjectBase } from '../../../core/SceneObjectBase.js';\nimport { config } from '@grafana/runtime';\nimport { LazyLoader } from '../LazyLoader.js';\n\nvar __defProp = Object.defineProperty;\nvar __getOwnPropSymbols = Object.getOwnPropertySymbols;\nvar __hasOwnProp = Object.prototype.hasOwnProperty;\nvar __propIsEnum = Object.prototype.propertyIsEnumerable;\nvar __defNormalProp = (obj, key, value) => key in obj ? __defProp(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;\nvar __spreadValues = (a, b) => {\n for (var prop in b || (b = {}))\n if (__hasOwnProp.call(b, prop))\n __defNormalProp(a, prop, b[prop]);\n if (__getOwnPropSymbols)\n for (var prop of __getOwnPropSymbols(b)) {\n if (__propIsEnum.call(b, prop))\n __defNormalProp(a, prop, b[prop]);\n }\n return a;\n};\nclass SceneCSSGridLayout extends SceneObjectBase {\n constructor(state) {\n var _a, _b;\n super(__spreadValues({\n rowGap: 1,\n columnGap: 1,\n templateColumns: \"repeat(auto-fit, minmax(400px, 1fr))\",\n autoRows: (_a = state.autoRows) != null ? _a : `320px`,\n children: (_b = state.children) != null ? _b : []\n }, state));\n }\n isDraggable() {\n return false;\n }\n}\nSceneCSSGridLayout.Component = SceneCSSGridLayoutRenderer;\nfunction SceneCSSGridLayoutRenderer({ model }) {\n const { children, isHidden, isLazy } = model.useState();\n const style = useLayoutStyle(model.state);\n if (isHidden) {\n return null;\n }\n return /* @__PURE__ */ React.createElement(\"div\", {\n className: style\n }, children.map((item) => {\n const Component = item.Component;\n if (isLazy) {\n return /* @__PURE__ */ React.createElement(LazyLoader, {\n key: item.state.key,\n className: style\n }, /* @__PURE__ */ React.createElement(Component, {\n key: item.state.key,\n model: item,\n parentState: model.state\n }));\n }\n return /* @__PURE__ */ React.createElement(Component, {\n key: item.state.key,\n model: item,\n parentState: model.state\n });\n }));\n}\nclass SceneCSSGridItem extends SceneObjectBase {\n}\nSceneCSSGridItem.Component = SceneCSSGridItemRenderer;\nfunction SceneCSSGridItemRenderer({ model, parentState }) {\n if (!parentState) {\n throw new Error(\"SceneCSSGridItem must be a child of SceneCSSGridLayout\");\n }\n const { body, isHidden } = model.useState();\n const style = useItemStyle(model.state);\n if (!body || isHidden) {\n return null;\n }\n return /* @__PURE__ */ React.createElement(\"div\", {\n className: style\n }, /* @__PURE__ */ React.createElement(body.Component, {\n model: body\n }));\n}\nfunction useLayoutStyle(state) {\n return useMemo(() => {\n var _a, _b, _c, _d, _e, _f, _g, _h, _i, _j, _k;\n const style = {};\n const theme = config.theme2;\n style.display = \"grid\";\n style.gridTemplateColumns = state.templateColumns;\n style.gridTemplateRows = state.templateRows || \"unset\";\n style.gridAutoRows = state.autoRows || \"unset\";\n style.rowGap = theme.spacing((_a = state.rowGap) != null ? _a : 1);\n style.columnGap = theme.spacing((_b = state.columnGap) != null ? _b : 1);\n style.justifyItems = state.justifyItems || \"unset\";\n style.alignItems = state.alignItems || \"unset\";\n style.justifyContent = state.justifyContent || \"unset\";\n style.flexGrow = 1;\n if (state.md) {\n style[theme.breakpoints.down(\"md\")] = {\n gridTemplateRows: (_c = state.md) == null ? void 0 : _c.templateRows,\n gridTemplateColumns: (_d = state.md) == null ? void 0 : _d.templateColumns,\n rowGap: state.md.rowGap ? theme.spacing((_f = (_e = state.md) == null ? void 0 : _e.rowGap) != null ? _f : 1) : void 0,\n columnGap: state.md.columnGap ? theme.spacing((_h = (_g = state.md) == null ? void 0 : _g.rowGap) != null ? _h : 1) : void 0,\n justifyItems: (_i = state.md) == null ? void 0 : _i.justifyItems,\n alignItems: (_j = state.md) == null ? void 0 : _j.alignItems,\n justifyContent: (_k = state.md) == null ? void 0 : _k.justifyContent\n };\n }\n return css(style);\n }, [state]);\n}\nfunction useItemStyle(state) {\n return useMemo(() => {\n const style = {};\n style.gridColumn = state.gridColumn || \"unset\";\n style.gridRow = state.gridRow || \"unset\";\n style.position = \"relative\";\n return css(style);\n }, [state]);\n}\n\nexport { SceneCSSGridItem, SceneCSSGridLayout };\n//# sourceMappingURL=SceneCSSGridLayout.js.map\n","import { cx, css } from '@emotion/css';\nimport { useStyles2 } from '@grafana/ui';\nimport { clamp, throttle } from 'lodash';\nimport React, { useRef, useCallback, useLayoutEffect } from 'react';\nimport { useUniqueId } from '../LazyLoader.js';\n\nvar __defProp = Object.defineProperty;\nvar __getOwnPropSymbols = Object.getOwnPropertySymbols;\nvar __hasOwnProp = Object.prototype.hasOwnProperty;\nvar __propIsEnum = Object.prototype.propertyIsEnumerable;\nvar __defNormalProp = (obj, key, value) => key in obj ? __defProp(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;\nvar __spreadValues = (a, b) => {\n for (var prop in b || (b = {}))\n if (__hasOwnProp.call(b, prop))\n __defNormalProp(a, prop, b[prop]);\n if (__getOwnPropSymbols)\n for (var prop of __getOwnPropSymbols(b)) {\n if (__propIsEnum.call(b, prop))\n __defNormalProp(a, prop, b[prop]);\n }\n return a;\n};\nconst PIXELS_PER_MS = 0.3;\nconst VERTICAL_KEYS = /* @__PURE__ */ new Set([\"ArrowUp\", \"ArrowDown\"]);\nconst HORIZONTAL_KEYS = /* @__PURE__ */ new Set([\"ArrowLeft\", \"ArrowRight\"]);\nconst propsForDirection = {\n row: {\n dim: \"width\",\n axis: \"clientX\",\n min: \"minWidth\",\n max: \"maxWidth\"\n },\n column: {\n dim: \"height\",\n axis: \"clientY\",\n min: \"minHeight\",\n max: \"maxHeight\"\n }\n};\nfunction Splitter({\n direction = \"row\",\n handleSize = 32,\n initialSize = \"auto\",\n primaryPaneStyles,\n secondaryPaneStyles,\n onDragFinished,\n children\n}) {\n const kids = React.Children.toArray(children);\n const splitterRef = useRef(null);\n const firstPaneRef = useRef(null);\n const secondPaneRef = useRef(null);\n const containerRef = useRef(null);\n const containerSize = useRef(null);\n const primarySizeRef = useRef(\"1fr\");\n const firstPaneMeasurements = useRef(void 0);\n const savedPos = useRef(void 0);\n const measurementProp = propsForDirection[direction].dim;\n const clientAxis = propsForDirection[direction].axis;\n const minDimProp = propsForDirection[direction].min;\n const maxDimProp = propsForDirection[direction].max;\n useResizeObserver(\n containerRef.current,\n (entries) => {\n for (const entry of entries) {\n if (!entry.target.isSameNode(containerRef.current)) {\n return;\n }\n const curSize = firstPaneRef.current.getBoundingClientRect()[measurementProp];\n const newDims = measureElement(firstPaneRef.current);\n splitterRef.current.ariaValueNow = `${clamp(\n (curSize - newDims[minDimProp]) / (newDims[maxDimProp] - newDims[minDimProp]) * 100,\n 0,\n 100\n )}`;\n }\n },\n 500,\n [maxDimProp, minDimProp, direction, measurementProp]\n );\n const dragStart = useRef(null);\n const onPointerDown = useCallback(\n (e) => {\n primarySizeRef.current = firstPaneRef.current.getBoundingClientRect()[measurementProp];\n containerSize.current = containerRef.current.getBoundingClientRect()[measurementProp];\n dragStart.current = e[clientAxis];\n splitterRef.current.setPointerCapture(e.pointerId);\n firstPaneMeasurements.current = measureElement(firstPaneRef.current);\n savedPos.current = void 0;\n },\n [measurementProp, clientAxis]\n );\n const onPointerMove = useCallback(\n (e) => {\n if (dragStart.current !== null && primarySizeRef.current !== \"1fr\") {\n const diff = e[clientAxis] - dragStart.current;\n const dims = firstPaneMeasurements.current;\n const newSize = clamp(primarySizeRef.current + diff, dims[minDimProp], dims[maxDimProp]);\n const newFlex = newSize / (containerSize.current - handleSize);\n firstPaneRef.current.style.flexGrow = `${newFlex}`;\n secondPaneRef.current.style.flexGrow = `${1 - newFlex}`;\n const ariaValueNow = clamp(\n (newSize - dims[minDimProp]) / (dims[maxDimProp] - dims[minDimProp]) * 100,\n 0,\n 100\n );\n splitterRef.current.ariaValueNow = `${ariaValueNow}`;\n }\n },\n [handleSize, clientAxis, minDimProp, maxDimProp]\n );\n const onPointerUp = useCallback(\n (e) => {\n e.preventDefault();\n e.stopPropagation();\n splitterRef.current.releasePointerCapture(e.pointerId);\n dragStart.current = null;\n onDragFinished == null ? void 0 : onDragFinished(parseFloat(firstPaneRef.current.style.flexGrow));\n },\n [onDragFinished]\n );\n const pressedKeys = useRef(/* @__PURE__ */ new Set());\n const keysLastHandledAt = useRef(null);\n const handlePressedKeys = useCallback(\n (time) => {\n var _a;\n const nothingPressed = pressedKeys.current.size === 0;\n if (nothingPressed) {\n keysLastHandledAt.current = null;\n return;\n } else if (primarySizeRef.current === \"1fr\") {\n return;\n }\n const dt = time - ((_a = keysLastHandledAt.current) != null ? _a : time);\n const dx = dt * PIXELS_PER_MS;\n let sizeChange = 0;\n if (direction === \"row\") {\n if (pressedKeys.current.has(\"ArrowLeft\")) {\n sizeChange -= dx;\n }\n if (pressedKeys.current.has(\"ArrowRight\")) {\n sizeChange += dx;\n }\n } else {\n if (pressedKeys.current.has(\"ArrowUp\")) {\n sizeChange -= dx;\n }\n if (pressedKeys.current.has(\"ArrowDown\")) {\n sizeChange += dx;\n }\n }\n const firstPaneDims = firstPaneMeasurements.current;\n const curSize = firstPaneRef.current.getBoundingClientRect()[measurementProp];\n const newSize = clamp(curSize + sizeChange, firstPaneDims[minDimProp], firstPaneDims[maxDimProp]);\n const newFlex = newSize / (containerSize.current - handleSize);\n firstPaneRef.current.style.flexGrow = `${newFlex}`;\n secondPaneRef.current.style.flexGrow = `${1 - newFlex}`;\n const ariaValueNow = (newSize - firstPaneDims[minDimProp]) / (firstPaneDims[maxDimProp] - firstPaneDims[minDimProp]) * 100;\n splitterRef.current.ariaValueNow = `${clamp(ariaValueNow, 0, 100)}`;\n keysLastHandledAt.current = time;\n window.requestAnimationFrame(handlePressedKeys);\n },\n [direction, handleSize, minDimProp, maxDimProp, measurementProp]\n );\n const onKeyDown = useCallback(\n (e) => {\n if (e.key === \"Enter\") {\n if (savedPos.current === void 0) {\n savedPos.current = firstPaneRef.current.style.flexGrow;\n firstPaneRef.current.style.flexGrow = \"0\";\n secondPaneRef.current.style.flexGrow = \"1\";\n } else {\n firstPaneRef.current.style.flexGrow = savedPos.current;\n secondPaneRef.current.style.flexGrow = `${1 - parseFloat(savedPos.current)}`;\n savedPos.current = void 0;\n }\n return;\n } else if (e.key === \"Home\") {\n firstPaneMeasurements.current = measureElement(firstPaneRef.current);\n containerSize.current = containerRef.current.getBoundingClientRect()[measurementProp];\n const newFlex = firstPaneMeasurements.current[minDimProp] / (containerSize.current - handleSize);\n firstPaneRef.current.style.flexGrow = `${newFlex}`;\n secondPaneRef.current.style.flexGrow = `${1 - newFlex}`;\n splitterRef.current.ariaValueNow = \"0\";\n return;\n } else if (e.key === \"End\") {\n firstPaneMeasurements.current = measureElement(firstPaneRef.current);\n containerSize.current = containerRef.current.getBoundingClientRect()[measurementProp];\n const newFlex = firstPaneMeasurements.current[maxDimProp] / (containerSize.current - handleSize);\n firstPaneRef.current.style.flexGrow = `${newFlex}`;\n secondPaneRef.current.style.flexGrow = `${1 - newFlex}`;\n splitterRef.current.ariaValueNow = \"100\";\n return;\n }\n if (!(direction === \"column\" && VERTICAL_KEYS.has(e.key) || direction === \"row\" && HORIZONTAL_KEYS.has(e.key)) || pressedKeys.current.has(e.key)) {\n return;\n }\n savedPos.current = void 0;\n e.preventDefault();\n e.stopPropagation();\n primarySizeRef.current = firstPaneRef.current.getBoundingClientRect()[measurementProp];\n containerSize.current = containerRef.current.getBoundingClientRect()[measurementProp];\n firstPaneMeasurements.current = measureElement(firstPaneRef.current);\n const newKey = !pressedKeys.current.has(e.key);\n if (newKey) {\n const initiateAnimationLoop = pressedKeys.current.size === 0;\n pressedKeys.current.add(e.key);\n if (initiateAnimationLoop) {\n window.requestAnimationFrame(handlePressedKeys);\n }\n }\n },\n [direction, handlePressedKeys, handleSize, maxDimProp, measurementProp, minDimProp]\n );\n const onKeyUp = useCallback(\n (e) => {\n if (direction === \"row\" && !HORIZONTAL_KEYS.has(e.key) || direction === \"column\" && !VERTICAL_KEYS.has(e.key)) {\n return;\n }\n pressedKeys.current.delete(e.key);\n onDragFinished == null ? void 0 : onDragFinished(parseFloat(firstPaneRef.current.style.flexGrow));\n },\n [direction, onDragFinished]\n );\n const onDoubleClick = useCallback(() => {\n firstPaneRef.current.style.flexGrow = \"0.5\";\n secondPaneRef.current.style.flexGrow = \"0.5\";\n const dim = measureElement(firstPaneRef.current);\n firstPaneMeasurements.current = dim;\n primarySizeRef.current = firstPaneRef.current.getBoundingClientRect()[measurementProp];\n splitterRef.current.ariaValueNow = `${(primarySizeRef.current - dim[minDimProp]) / (dim[maxDimProp] - dim[minDimProp]) * 100}`;\n }, [maxDimProp, measurementProp, minDimProp]);\n const styles = useStyles2(getStyles);\n const id = useUniqueId();\n return /* @__PURE__ */ React.createElement(\"div\", {\n ref: containerRef,\n className: styles.container,\n style: {\n flexDirection: direction\n }\n }, /* @__PURE__ */ React.createElement(\"div\", {\n ref: firstPaneRef,\n className: styles.panel,\n style: __spreadValues({\n flexGrow: initialSize === \"auto\" ? 0.5 : clamp(initialSize, 0, 1),\n [minDimProp]: \"min-content\"\n }, primaryPaneStyles),\n id: `start-panel-${id}`\n }, kids[0]), /* @__PURE__ */ React.createElement(\"div\", {\n ref: splitterRef,\n style: { [measurementProp]: `${handleSize}px` },\n className: cx(styles.handle, { [styles.handleHorizontal]: direction === \"column\" }),\n onPointerUp,\n onPointerDown,\n onPointerMove,\n onKeyDown,\n onKeyUp,\n onDoubleClick,\n role: \"separator\",\n \"aria-valuemin\": 0,\n \"aria-valuemax\": 100,\n \"aria-valuenow\": 50,\n \"aria-controls\": `start-panel-${id}`,\n \"aria-label\": \"Pane resize widget\",\n tabIndex: 0\n }), /* @__PURE__ */ React.createElement(\"div\", {\n ref: secondPaneRef,\n className: styles.panel,\n style: __spreadValues({\n flexGrow: initialSize === \"auto\" ? 0.5 : clamp(1 - initialSize, 0, 1),\n [minDimProp]: \"min-content\"\n }, secondaryPaneStyles),\n id: `end-panel-${id}`\n }, kids[1]));\n}\nfunction getStyles(theme) {\n return {\n handle: css({\n cursor: \"col-resize\",\n position: \"relative\",\n flexShrink: 0,\n userSelect: \"none\",\n \"&::before\": {\n content: '\"\"',\n position: \"absolute\",\n backgroundColor: theme.colors.primary.main,\n left: \"50%\",\n transform: \"translate(-50%)\",\n top: 0,\n height: \"100%\",\n width: \"1px\",\n opacity: 0,\n transition: \"opacity ease-in-out 0.2s\"\n },\n \"&::after\": {\n content: '\"\"',\n width: \"4px\",\n borderRadius: \"4px\",\n backgroundColor: theme.colors.border.weak,\n transition: \"background-color ease-in-out 0.2s\",\n height: \"50%\",\n top: \"calc(50% - (50%) / 2)\",\n transform: \"translateX(-50%)\",\n position: \"absolute\",\n left: \"50%\"\n },\n \"&:hover, &:focus-visible\": {\n outline: \"none\",\n \"&::before\": {\n opacity: 1\n },\n \"&::after\": {\n backgroundColor: theme.colors.primary.main\n }\n }\n }),\n handleHorizontal: css({\n cursor: \"row-resize\",\n \"&::before\": {\n left: \"inherit\",\n transform: \"translateY(-50%)\",\n top: \"50%\",\n height: \"1px\",\n width: \"100%\"\n },\n \"&::after\": {\n width: \"50%\",\n height: \"4px\",\n top: \"50%\",\n transform: \"translateY(-50%)\",\n left: \"calc(50% - (50%) / 2)\"\n }\n }),\n container: css({\n display: \"flex\",\n width: \"100%\",\n flexGrow: 1,\n overflow: \"hidden\"\n }),\n panel: css({ display: \"flex\", position: \"relative\", flexBasis: 0 })\n };\n}\nfunction measureElement(ref) {\n if (ref === null) {\n return void 0;\n }\n const savedBodyOverflow = document.body.style.overflow;\n const savedWidth = ref.style.width;\n const savedHeight = ref.style.height;\n const savedFlex = ref.style.flexGrow;\n document.body.style.overflow = \"hidden\";\n ref.style.flexGrow = \"0\";\n const { width: minWidth, height: minHeight } = ref.getBoundingClientRect();\n ref.style.flexGrow = \"100\";\n const { width: maxWidth, height: maxHeight } = ref.getBoundingClientRect();\n document.body.style.overflow = savedBodyOverflow;\n ref.style.width = savedWidth;\n ref.style.height = savedHeight;\n ref.style.flexGrow = savedFlex;\n return { minWidth, maxWidth, minHeight, maxHeight };\n}\nfunction useResizeObserver(target, cb, throttleWait = 0, deps) {\n const throttledCallback = throttle(cb, throttleWait);\n useLayoutEffect(() => {\n if (!target) {\n return;\n }\n const resizeObserver = new ResizeObserver(throttledCallback);\n resizeObserver.observe(target, { box: \"device-pixel-content-box\" });\n return () => resizeObserver.disconnect();\n }, deps);\n}\n\nexport { Splitter };\n//# sourceMappingURL=Splitter.js.map\n","import { SceneObjectBase } from '../../../core/SceneObjectBase.js';\nimport { SplitLayoutRenderer } from './SplitLayoutRenderer.js';\n\nclass SplitLayout extends SceneObjectBase {\n toggleDirection() {\n this.setState({\n direction: this.state.direction === \"row\" ? \"column\" : \"row\"\n });\n }\n isDraggable() {\n return false;\n }\n}\nSplitLayout.Component = SplitLayoutRenderer;\n\nexport { SplitLayout };\n//# sourceMappingURL=SplitLayout.js.map\n","import React from 'react';\nimport { Splitter } from './Splitter.js';\n\nfunction SplitLayoutRenderer({ model }) {\n const { primary, secondary, direction, isHidden, initialSize } = model.useState();\n if (isHidden) {\n return null;\n }\n const Prim = primary.Component;\n const Sec = secondary.Component;\n return /* @__PURE__ */ React.createElement(Splitter, {\n direction,\n initialSize: initialSize != null ? initialSize : 0.5\n }, /* @__PURE__ */ React.createElement(Prim, {\n key: primary.state.key,\n model: primary,\n parentState: model.state\n }), /* @__PURE__ */ React.createElement(Sec, {\n key: secondary.state.key,\n model: secondary,\n parentState: model.state\n }));\n}\n\nexport { SplitLayoutRenderer };\n//# sourceMappingURL=SplitLayoutRenderer.js.map\n","import React from 'react';\nimport { Switch, Route } from 'react-router-dom';\nimport { SceneObjectBase } from '../../core/SceneObjectBase.js';\nimport { renderSceneComponentWithRouteProps } from './utils.js';\n\nclass SceneApp extends SceneObjectBase {\n enrichDataRequest() {\n return {\n app: this.state.name || \"app\"\n };\n }\n}\nSceneApp.Component = ({ model }) => {\n const { pages } = model.useState();\n return /* @__PURE__ */ React.createElement(Switch, null, pages.map((page) => /* @__PURE__ */ React.createElement(Route, {\n key: page.state.url,\n exact: false,\n path: page.state.url,\n render: (props) => renderSceneComponentWithRouteProps(page, props)\n })));\n};\nconst sceneAppCache = /* @__PURE__ */ new Map();\nfunction useSceneApp(factory) {\n const cachedApp = sceneAppCache.get(factory);\n if (cachedApp) {\n return cachedApp;\n }\n const newApp = factory();\n sceneAppCache.set(factory, newApp);\n return newApp;\n}\n\nexport { SceneApp, useSceneApp };\n//# sourceMappingURL=SceneApp.js.map\n","import React from 'react';\nimport { SceneObjectBase } from '../core/SceneObjectBase.js';\n\nvar __defProp = Object.defineProperty;\nvar __getOwnPropSymbols = Object.getOwnPropertySymbols;\nvar __hasOwnProp = Object.prototype.hasOwnProperty;\nvar __propIsEnum = Object.prototype.propertyIsEnumerable;\nvar __defNormalProp = (obj, key, value) => key in obj ? __defProp(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;\nvar __spreadValues = (a, b) => {\n for (var prop in b || (b = {}))\n if (__hasOwnProp.call(b, prop))\n __defNormalProp(a, prop, b[prop]);\n if (__getOwnPropSymbols)\n for (var prop of __getOwnPropSymbols(b)) {\n if (__propIsEnum.call(b, prop))\n __defNormalProp(a, prop, b[prop]);\n }\n return a;\n};\nclass SceneReactObject extends SceneObjectBase {\n}\nSceneReactObject.Component = ({ model }) => {\n const { component: Component, props, reactNode } = model.useState();\n if (Component) {\n return /* @__PURE__ */ React.createElement(Component, __spreadValues({}, props));\n }\n if (reactNode) {\n return reactNode;\n }\n return null;\n};\n\nexport { SceneReactObject };\n//# sourceMappingURL=SceneReactObject.js.map\n","import { css } from '@emotion/css';\nimport { useStyles2, JSONFormatter, Input } from '@grafana/ui';\nimport { isPlainObject, isArray } from 'lodash';\nimport React from 'react';\nimport { isSceneObject } from '../../core/types.js';\n\nfunction DebugDetails({ node }) {\n const state = node.useState();\n const styles = useStyles2(getStyles);\n return /* @__PURE__ */ React.createElement(\"div\", {\n className: styles.container\n }, Object.keys(state).map((key) => /* @__PURE__ */ React.createElement(\"div\", {\n className: styles.row,\n key\n }, /* @__PURE__ */ React.createElement(\"div\", {\n className: styles.keyName\n }, key), /* @__PURE__ */ React.createElement(\"div\", {\n className: styles.value\n }, renderValue(key, state[key], node)))));\n}\nfunction renderValue(key, value, node) {\n if (value === null) {\n return \"null\";\n }\n switch (typeof value) {\n case \"number\":\n return /* @__PURE__ */ React.createElement(Input, {\n type: \"number\",\n defaultValue: value,\n onBlur: (evt) => node.setState({ [key]: evt.currentTarget.valueAsNumber })\n });\n case \"string\":\n return /* @__PURE__ */ React.createElement(Input, {\n type: \"text\",\n defaultValue: value,\n onBlur: (evt) => node.setState({ [key]: evt.currentTarget.value })\n });\n case \"object\":\n if (isSceneObject(value)) {\n return value.constructor.name;\n }\n if (isPlainObject(value) || isArray(value)) {\n return /* @__PURE__ */ React.createElement(JSONFormatter, {\n json: value,\n open: 0\n });\n }\n return String(value);\n default:\n return typeof value;\n }\n}\nfunction getStyles(theme) {\n return {\n container: css({\n flexGrow: 1,\n display: \"flex\",\n gap: theme.spacing(0.5),\n flexDirection: \"column\"\n }),\n row: css({\n display: \"flex\",\n gap: theme.spacing(2)\n }),\n keyName: css({\n display: \"flex\",\n flexGrow: \"0\",\n width: 120,\n alignItems: \"center\",\n height: theme.spacing(theme.components.height.md)\n }),\n value: css({\n flexGrow: 1,\n minHeight: theme.spacing(theme.components.height.md),\n display: \"flex\",\n alignItems: \"center\"\n })\n };\n}\n\nexport { DebugDetails };\n//# sourceMappingURL=DebugDetails.js.map\n","import { cx, css } from '@emotion/css';\nimport { useStyles2 } from '@grafana/ui';\nimport React from 'react';\n\nfunction DebugTreeNode({ node, selectedObject, onSelect }) {\n const styles = useStyles2(getStyles);\n const children = [];\n const isSelected = node === selectedObject;\n node.forEachChild((child) => {\n children.push(\n /* @__PURE__ */ React.createElement(DebugTreeNode, {\n node: child,\n key: child.state.key,\n selectedObject,\n onSelect\n })\n );\n });\n return /* @__PURE__ */ React.createElement(\"div\", {\n className: styles.container\n }, /* @__PURE__ */ React.createElement(\"div\", {\n className: cx(styles.name, isSelected && styles.selected),\n onClick: () => onSelect(node)\n }, node.constructor.name), /* @__PURE__ */ React.createElement(\"div\", {\n className: styles.children\n }, children));\n}\nfunction getStyles(theme) {\n return {\n container: css({\n flexGrow: 1,\n display: \"flex\",\n gap: theme.spacing(0.5),\n flexDirection: \"column\"\n }),\n name: css({\n flexGrow: 1,\n display: \"flex\",\n gap: theme.spacing(1),\n fontSize: theme.typography.bodySmall.fontSize,\n cursor: \"pointer\",\n padding: theme.spacing(0, 1),\n borderRadius: theme.shape.borderRadius(2),\n position: \"relative\",\n \"&:hover\": {\n background: theme.colors.background.secondary\n }\n }),\n selected: css({\n \"&::before\": {\n display: \"block\",\n content: \"' '\",\n position: \"absolute\",\n left: 0,\n width: 4,\n bottom: 2,\n top: 2,\n borderRadius: theme.shape.radius.default,\n backgroundImage: theme.colors.gradients.brandVertical\n }\n }),\n children: css({\n flexGrow: 1,\n display: \"flex\",\n flexDirection: \"column\",\n paddingLeft: theme.spacing(1)\n })\n };\n}\n\nexport { DebugTreeNode };\n//# sourceMappingURL=DebugTreeNode.js.map\n","import { css } from '@emotion/css';\nimport { useStyles2, ToolbarButton, Drawer, CustomScrollbar } from '@grafana/ui';\nimport React, { useState } from 'react';\nimport { DebugDetails } from './DebugDetails.js';\nimport { DebugTreeNode } from './DebugTreeNode.js';\n\nfunction SceneDebugger({ scene }) {\n const styles = useStyles2(getStyles);\n const [isOpen, setIsOpen] = useState(false);\n const [selectedObject, setSelectedObject] = useState();\n return /* @__PURE__ */ React.createElement(React.Fragment, null, /* @__PURE__ */ React.createElement(ToolbarButton, {\n variant: \"canvas\",\n icon: \"bug\",\n onClick: () => setIsOpen(true)\n }), isOpen && /* @__PURE__ */ React.createElement(Drawer, {\n title: \"Scene debugger\",\n onClose: () => setIsOpen(false),\n size: \"lg\"\n }, /* @__PURE__ */ React.createElement(\"div\", {\n className: styles.panes\n }, /* @__PURE__ */ React.createElement(\"div\", {\n className: styles.pane1\n }, /* @__PURE__ */ React.createElement(\"div\", {\n className: styles.paneHeading\n }, \"Scene graph\"), /* @__PURE__ */ React.createElement(CustomScrollbar, {\n autoHeightMin: \"100%\"\n }, /* @__PURE__ */ React.createElement(\"div\", {\n className: styles.treeWrapper\n }, /* @__PURE__ */ React.createElement(DebugTreeNode, {\n node: scene,\n selectedObject,\n onSelect: setSelectedObject\n })))), /* @__PURE__ */ React.createElement(\"div\", {\n className: styles.pane2\n }, /* @__PURE__ */ React.createElement(\"div\", {\n className: styles.paneHeading\n }, \"Object details\"), selectedObject && /* @__PURE__ */ React.createElement(DebugDetails, {\n node: selectedObject\n })))));\n}\nfunction getStyles(theme) {\n return {\n panes: css({\n flexGrow: 1,\n display: \"flex\",\n height: \"100%\",\n flexDirection: \"row\",\n marginTop: theme.spacing(-2)\n }),\n pane1: css({\n flexGrow: 0,\n display: \"flex\",\n height: \"100%\",\n flexDirection: \"column\",\n borderRight: `1px solid ${theme.colors.border.weak}`\n }),\n pane2: css({\n flexGrow: 1,\n display: \"flex\",\n minHeight: \"100%\",\n flexDirection: \"column\",\n paddingLeft: theme.spacing(2)\n }),\n treeWrapper: css({\n paddingRight: theme.spacing(2),\n height: \"100%\",\n marginLeft: theme.spacing(-1)\n }),\n paneHeading: css({\n padding: theme.spacing(1, 0),\n fontWeight: theme.typography.fontWeightMedium\n })\n };\n}\n\nexport { SceneDebugger };\n//# sourceMappingURL=SceneDebugger.js.map\n","import { PluginPage } from '@grafana/runtime';\nimport React, { useLayoutEffect, useEffect } from 'react';\nimport { SceneDebugger } from '../SceneDebugger/SceneDebugger.js';\nimport { SceneAppPage } from './SceneAppPage.js';\nimport { useAppQueryParams, getUrlWithAppState, renderSceneComponentWithRouteProps } from './utils.js';\n\nfunction SceneAppPageView({ page, routeProps }) {\n const containerPage = getParentPageIfTab(page);\n const containerState = containerPage.useState();\n const params = useAppQueryParams();\n const scene = page.getScene(routeProps.match);\n const isInitialized = containerState.initializedScene === scene;\n useLayoutEffect(() => {\n if (!isInitialized) {\n containerPage.initializeScene(scene);\n }\n }, [scene, containerPage, isInitialized]);\n useEffect(() => {\n return () => containerPage.setState({ initializedScene: void 0 });\n }, [containerPage]);\n if (!isInitialized) {\n return null;\n }\n const pageNav = {\n text: containerState.title,\n img: containerState.titleImg,\n icon: containerState.titleIcon,\n url: getUrlWithAppState(containerState.url, containerState.preserveUrlKeys),\n hideFromBreadcrumbs: containerState.hideFromBreadcrumbs,\n parentItem: getParentBreadcrumbs(\n containerState.getParentPage ? containerState.getParentPage() : containerPage.parent)\n };\n if (containerState.tabs) {\n pageNav.children = containerState.tabs.map((tab) => {\n return {\n text: tab.state.title,\n icon: tab.state.titleIcon,\n tabSuffix: tab.state.tabSuffix,\n active: page === tab,\n url: getUrlWithAppState(tab.state.url, tab.state.preserveUrlKeys),\n parentItem: pageNav\n };\n });\n }\n let pageActions = [];\n if (containerState.controls) {\n pageActions = containerState.controls.map((control) => /* @__PURE__ */ React.createElement(control.Component, {\n model: control,\n key: control.state.key\n }));\n }\n if (params[\"scene-debugger\"]) {\n pageActions.push(/* @__PURE__ */ React.createElement(SceneDebugger, {\n scene: containerPage,\n key: \"scene-debugger\"\n }));\n }\n return /* @__PURE__ */ React.createElement(PluginPage, {\n pageNav,\n actions: pageActions,\n renderTitle: containerState.renderTitle,\n subTitle: containerState.subTitle\n }, /* @__PURE__ */ React.createElement(scene.Component, {\n model: scene\n }));\n}\nfunction getParentPageIfTab(page) {\n if (page.parent instanceof SceneAppPage) {\n return page.parent;\n }\n return page;\n}\nfunction getParentBreadcrumbs(parent, params) {\n if (parent instanceof SceneAppPage) {\n return {\n text: parent.state.title,\n url: getUrlWithAppState(parent.state.url, parent.state.preserveUrlKeys),\n hideFromBreadcrumbs: parent.state.hideFromBreadcrumbs,\n parentItem: getParentBreadcrumbs(\n parent.state.getParentPage ? parent.state.getParentPage() : parent.parent)\n };\n }\n return void 0;\n}\nfunction SceneAppDrilldownViewRender({ drilldown, parent, routeProps }) {\n return renderSceneComponentWithRouteProps(parent.getDrilldownPage(drilldown, routeProps.match), routeProps);\n}\n\nexport { SceneAppDrilldownViewRender, SceneAppPageView };\n//# sourceMappingURL=SceneAppPageView.js.map\n","import React from 'react';\nimport { Route, Switch } from 'react-router-dom';\nimport { SceneObjectBase } from '../../core/SceneObjectBase.js';\nimport { isDataRequestEnricher } from '../../core/types.js';\nimport { getUrlSyncManager } from '../../services/UrlSyncManager.js';\nimport { EmbeddedScene } from '../EmbeddedScene.js';\nimport { SceneFlexLayout, SceneFlexItem } from '../layout/SceneFlexLayout.js';\nimport { SceneReactObject } from '../SceneReactObject.js';\nimport { SceneAppDrilldownViewRender, SceneAppPageView } from './SceneAppPageView.js';\nimport { renderSceneComponentWithRouteProps } from './utils.js';\n\nclass SceneAppPage extends SceneObjectBase {\n constructor(state) {\n super(state);\n this._sceneCache = /* @__PURE__ */ new Map();\n this._drilldownCache = /* @__PURE__ */ new Map();\n this.addActivationHandler(() => {\n return () => getUrlSyncManager().cleanUp(this);\n });\n }\n initializeScene(scene) {\n this.setState({ initializedScene: scene });\n getUrlSyncManager().initSync(this);\n }\n getScene(routeMatch) {\n let scene = this._sceneCache.get(routeMatch.url);\n if (scene) {\n return scene;\n }\n if (!this.state.getScene) {\n throw new Error(\"Missing getScene on SceneAppPage \" + this.state.title);\n }\n scene = this.state.getScene(routeMatch);\n this._sceneCache.set(routeMatch.url, scene);\n return scene;\n }\n getDrilldownPage(drilldown, routeMatch) {\n let page = this._drilldownCache.get(routeMatch.url);\n if (page) {\n return page;\n }\n page = drilldown.getPage(routeMatch, this);\n this._drilldownCache.set(routeMatch.url, page);\n return page;\n }\n enrichDataRequest(source) {\n if (this.state.getParentPage) {\n return this.state.getParentPage().enrichDataRequest(source);\n }\n if (!this.parent) {\n return null;\n }\n const root = this.getRoot();\n if (isDataRequestEnricher(root)) {\n return root.enrichDataRequest(source);\n }\n return null;\n }\n}\nSceneAppPage.Component = SceneAppPageRenderer;\nfunction SceneAppPageRenderer({ model, routeProps }) {\n var _a, _b;\n const { tabs, drilldowns } = model.useState();\n const routes = [];\n if (tabs && tabs.length > 0) {\n for (let tabIndex = 0; tabIndex < tabs.length; tabIndex++) {\n const tab = tabs[tabIndex];\n if (tabIndex === 0) {\n routes.push(\n /* @__PURE__ */ React.createElement(Route, {\n exact: true,\n key: model.state.url,\n path: (_a = model.state.routePath) != null ? _a : model.state.url,\n render: (props) => renderSceneComponentWithRouteProps(tab, props)\n })\n );\n }\n routes.push(\n /* @__PURE__ */ React.createElement(Route, {\n exact: true,\n key: tab.state.url,\n path: (_b = tab.state.routePath) != null ? _b : tab.state.url,\n render: (props) => renderSceneComponentWithRouteProps(tab, props)\n })\n );\n if (tab.state.drilldowns) {\n for (const drilldown of tab.state.drilldowns) {\n routes.push(\n /* @__PURE__ */ React.createElement(Route, {\n exact: false,\n key: drilldown.routePath,\n path: drilldown.routePath,\n render: (props) => /* @__PURE__ */ React.createElement(SceneAppDrilldownViewRender, {\n drilldown,\n parent: tab,\n routeProps: props\n })\n })\n );\n }\n }\n }\n }\n if (drilldowns) {\n for (const drilldown of drilldowns) {\n routes.push(\n /* @__PURE__ */ React.createElement(Route, {\n key: drilldown.routePath,\n exact: false,\n path: drilldown.routePath,\n render: (props) => /* @__PURE__ */ React.createElement(SceneAppDrilldownViewRender, {\n drilldown,\n parent: model,\n routeProps: props\n })\n })\n );\n }\n }\n if (!tabs && isCurrentPageRouteMatch(model, routeProps.match)) {\n return /* @__PURE__ */ React.createElement(SceneAppPageView, {\n page: model,\n routeProps\n });\n }\n routes.push(getFallbackRoute(model, routeProps));\n return /* @__PURE__ */ React.createElement(Switch, null, routes);\n}\nfunction getFallbackRoute(page, routeProps) {\n return /* @__PURE__ */ React.createElement(Route, {\n key: \"fallback route\",\n render: (props) => {\n var _a, _b, _c;\n const fallbackPage = (_c = (_b = (_a = page.state).getFallbackPage) == null ? void 0 : _b.call(_a)) != null ? _c : getDefaultFallbackPage();\n return /* @__PURE__ */ React.createElement(SceneAppPageView, {\n page: fallbackPage,\n routeProps\n });\n }\n });\n}\nfunction isCurrentPageRouteMatch(page, match) {\n if (!match.isExact) {\n return false;\n }\n if (match.url === page.state.url) {\n return true;\n }\n if (page.parent instanceof SceneAppPage && page.parent.state.tabs[0] === page && page.parent.state.url === match.url) {\n return true;\n }\n return false;\n}\nfunction getDefaultFallbackPage() {\n return new SceneAppPage({\n url: \"\",\n title: \"Not found\",\n subTitle: \"The url did not match any page\",\n getScene: () => {\n return new EmbeddedScene({\n body: new SceneFlexLayout({\n direction: \"column\",\n children: [\n new SceneFlexItem({\n body: new SceneReactObject({\n component: () => {\n return /* @__PURE__ */ React.createElement(\"div\", {\n \"data-testid\": \"default-fallback-content\"\n }, \"If you found your way here using a link then there might be a bug in this application.\");\n }\n })\n })\n ]\n })\n });\n }\n });\n}\n\nexport { SceneAppPage };\n//# sourceMappingURL=SceneAppPage.js.map\n","var VisibilityMode = /* @__PURE__ */ ((VisibilityMode2) => {\n VisibilityMode2[\"Always\"] = \"always\";\n VisibilityMode2[\"Auto\"] = \"auto\";\n VisibilityMode2[\"Never\"] = \"never\";\n return VisibilityMode2;\n})(VisibilityMode || {});\nvar GraphGradientMode = /* @__PURE__ */ ((GraphGradientMode2) => {\n GraphGradientMode2[\"Hue\"] = \"hue\";\n GraphGradientMode2[\"None\"] = \"none\";\n GraphGradientMode2[\"Opacity\"] = \"opacity\";\n GraphGradientMode2[\"Scheme\"] = \"scheme\";\n return GraphGradientMode2;\n})(GraphGradientMode || {});\nvar StackingMode = /* @__PURE__ */ ((StackingMode2) => {\n StackingMode2[\"None\"] = \"none\";\n StackingMode2[\"Normal\"] = \"normal\";\n StackingMode2[\"Percent\"] = \"percent\";\n return StackingMode2;\n})(StackingMode || {});\nvar VizOrientation = /* @__PURE__ */ ((VizOrientation2) => {\n VizOrientation2[\"Auto\"] = \"auto\";\n VizOrientation2[\"Horizontal\"] = \"horizontal\";\n VizOrientation2[\"Vertical\"] = \"vertical\";\n return VizOrientation2;\n})(VizOrientation || {});\nvar BigValueColorMode = /* @__PURE__ */ ((BigValueColorMode2) => {\n BigValueColorMode2[\"Background\"] = \"background\";\n BigValueColorMode2[\"BackgroundSolid\"] = \"background_solid\";\n BigValueColorMode2[\"None\"] = \"none\";\n BigValueColorMode2[\"Value\"] = \"value\";\n return BigValueColorMode2;\n})(BigValueColorMode || {});\nvar BigValueGraphMode = /* @__PURE__ */ ((BigValueGraphMode2) => {\n BigValueGraphMode2[\"Area\"] = \"area\";\n BigValueGraphMode2[\"Line\"] = \"line\";\n BigValueGraphMode2[\"None\"] = \"none\";\n return BigValueGraphMode2;\n})(BigValueGraphMode || {});\nvar BigValueJustifyMode = /* @__PURE__ */ ((BigValueJustifyMode2) => {\n BigValueJustifyMode2[\"Auto\"] = \"auto\";\n BigValueJustifyMode2[\"Center\"] = \"center\";\n return BigValueJustifyMode2;\n})(BigValueJustifyMode || {});\nvar BigValueTextMode = /* @__PURE__ */ ((BigValueTextMode2) => {\n BigValueTextMode2[\"Auto\"] = \"auto\";\n BigValueTextMode2[\"Name\"] = \"name\";\n BigValueTextMode2[\"None\"] = \"none\";\n BigValueTextMode2[\"Value\"] = \"value\";\n BigValueTextMode2[\"ValueAndName\"] = \"value_and_name\";\n return BigValueTextMode2;\n})(BigValueTextMode || {});\nvar BarGaugeDisplayMode = /* @__PURE__ */ ((BarGaugeDisplayMode2) => {\n BarGaugeDisplayMode2[\"Basic\"] = \"basic\";\n BarGaugeDisplayMode2[\"Gradient\"] = \"gradient\";\n BarGaugeDisplayMode2[\"Lcd\"] = \"lcd\";\n return BarGaugeDisplayMode2;\n})(BarGaugeDisplayMode || {});\nvar BarGaugeValueMode = /* @__PURE__ */ ((BarGaugeValueMode2) => {\n BarGaugeValueMode2[\"Color\"] = \"color\";\n BarGaugeValueMode2[\"Hidden\"] = \"hidden\";\n BarGaugeValueMode2[\"Text\"] = \"text\";\n return BarGaugeValueMode2;\n})(BarGaugeValueMode || {});\nvar TableCellHeight = /* @__PURE__ */ ((TableCellHeight2) => {\n TableCellHeight2[\"Lg\"] = \"lg\";\n TableCellHeight2[\"Md\"] = \"md\";\n TableCellHeight2[\"Sm\"] = \"sm\";\n return TableCellHeight2;\n})(TableCellHeight || {});\n\nexport { BigValueColorMode as B, GraphGradientMode as G, StackingMode as S, TableCellHeight as T, VisibilityMode as V, BigValueGraphMode as a, BigValueJustifyMode as b, BigValueTextMode as c, BarGaugeDisplayMode as d, BarGaugeValueMode as e, VizOrientation as f };\n","import { f as VizOrientation, V as VisibilityMode, S as StackingMode, G as GraphGradientMode } from '../../../../../common.gen-58e5e938.js';\n\nconst pluginVersion = \"10.0.3\";\nconst defaultOptions = {\n barRadius: 0,\n barWidth: 0.97,\n fullHighlight: false,\n groupWidth: 0.7,\n orientation: VizOrientation.Auto,\n showValue: VisibilityMode.Auto,\n stacking: StackingMode.None,\n xTickLabelRotation: 0,\n xTickLabelSpacing: 0\n};\nconst defaultFieldConfig = {\n fillOpacity: 80,\n gradientMode: GraphGradientMode.None,\n lineWidth: 1\n};\n\nexport { defaultFieldConfig, defaultOptions, pluginVersion };\n","import { d as BarGaugeDisplayMode, e as BarGaugeValueMode } from '../../../../../common.gen-58e5e938.js';\n\nconst pluginVersion = \"10.0.3\";\nconst defaultOptions = {\n displayMode: BarGaugeDisplayMode.Gradient,\n minVizHeight: 10,\n minVizWidth: 0,\n showUnfilled: true,\n valueMode: BarGaugeValueMode.Color\n};\n\nexport { defaultOptions, pluginVersion };\n","import { V as VisibilityMode } from '../../../../../common.gen-58e5e938.js';\n\nconst pluginVersion = \"10.0.3\";\nvar HeatmapColorMode = /* @__PURE__ */ ((HeatmapColorMode2) => {\n HeatmapColorMode2[\"Opacity\"] = \"opacity\";\n HeatmapColorMode2[\"Scheme\"] = \"scheme\";\n return HeatmapColorMode2;\n})(HeatmapColorMode || {});\nvar HeatmapColorScale = /* @__PURE__ */ ((HeatmapColorScale2) => {\n HeatmapColorScale2[\"Exponential\"] = \"exponential\";\n HeatmapColorScale2[\"Linear\"] = \"linear\";\n return HeatmapColorScale2;\n})(HeatmapColorScale || {});\nconst defaultOptions = {\n calculate: false,\n cellGap: 1,\n cellValues: {},\n color: {\n /**\n * mode: HeatmapColorMode // TODO: fix after remove when https://github.com/grafana/cuetsy/issues/74 is fixed\n */\n scheme: \"Oranges\",\n fill: \"dark-orange\",\n /**\n * scale: HeatmapColorScale // TODO: fix after remove when https://github.com/grafana/cuetsy/issues/74 is fixed\n */\n reverse: false,\n exponent: 0.5,\n steps: 64\n },\n exemplars: {\n color: \"rgba(255,0,255,0.7)\"\n },\n filterValues: {\n le: 1e-9\n },\n legend: {\n show: true\n },\n showValue: VisibilityMode.Auto,\n tooltip: {\n show: true,\n yHistogram: false\n }\n};\n\nexport { HeatmapColorMode, HeatmapColorScale, defaultOptions, pluginVersion };\n","import { G as GraphGradientMode } from '../../../../../common.gen-58e5e938.js';\n\nconst pluginVersion = \"10.0.3\";\nconst defaultOptions = {\n bucketOffset: 0\n};\nconst defaultFieldConfig = {\n fillOpacity: 80,\n gradientMode: GraphGradientMode.None,\n lineWidth: 1\n};\n\nexport { defaultFieldConfig, defaultOptions, pluginVersion };\n","import { B as BigValueColorMode, a as BigValueGraphMode, b as BigValueJustifyMode, c as BigValueTextMode } from '../../../../../common.gen-58e5e938.js';\n\nconst pluginVersion = \"10.0.3\";\nconst defaultOptions = {\n colorMode: BigValueColorMode.Value,\n graphMode: BigValueGraphMode.Area,\n justifyMode: BigValueJustifyMode.Auto,\n textMode: BigValueTextMode.Auto\n};\n\nexport { defaultOptions, pluginVersion };\n","import { V as VisibilityMode } from '../../../../../common.gen-58e5e938.js';\n\nconst pluginVersion = \"10.0.3\";\nconst defaultOptions = {\n alignValue: \"left\",\n mergeValues: true,\n rowHeight: 0.9,\n showValue: VisibilityMode.Auto\n};\nconst defaultFieldConfig = {\n fillOpacity: 70,\n lineWidth: 0\n};\n\nexport { defaultFieldConfig, defaultOptions, pluginVersion };\n","import { V as VisibilityMode } from '../../../../../common.gen-58e5e938.js';\n\nconst pluginVersion = \"10.0.3\";\nconst defaultOptions = {\n colWidth: 0.9,\n rowHeight: 0.9,\n showValue: VisibilityMode.Auto\n};\nconst defaultFieldConfig = {\n fillOpacity: 70,\n lineWidth: 1\n};\n\nexport { defaultFieldConfig, defaultOptions, pluginVersion };\n","import { T as TableCellHeight } from '../../../../../common.gen-58e5e938.js';\n\nconst pluginVersion = \"10.0.3\";\nconst defaultOptions = {\n cellHeight: TableCellHeight.Sm,\n footer: {\n /**\n * Controls whether the footer should be shown\n */\n show: false,\n /**\n * Controls whether the footer should show the total number of rows on Count calculation\n */\n countRows: false,\n /**\n * Represents the selected calculations\n */\n reducer: []\n },\n frameIndex: 0,\n showHeader: true,\n showTypeIcons: false,\n sortBy: []\n};\n\nexport { defaultOptions, pluginVersion };\n","import { V as VisibilityMode } from '../../../../../common.gen-58e5e938.js';\n\nconst pluginVersion = \"10.0.3\";\nvar SeriesMapping = /* @__PURE__ */ ((SeriesMapping2) => {\n SeriesMapping2[\"Auto\"] = \"auto\";\n SeriesMapping2[\"Manual\"] = \"manual\";\n return SeriesMapping2;\n})(SeriesMapping || {});\nvar ScatterShow = /* @__PURE__ */ ((ScatterShow2) => {\n ScatterShow2[\"Lines\"] = \"lines\";\n ScatterShow2[\"Points\"] = \"points\";\n ScatterShow2[\"PointsAndLines\"] = \"points+lines\";\n return ScatterShow2;\n})(ScatterShow || {});\nconst defaultXYDimensionConfig = {\n exclude: []\n};\nconst defaultScatterFieldConfig = {\n label: VisibilityMode.Auto,\n show: \"points\" /* Points */\n};\nconst defaultOptions = {\n series: []\n};\n\nexport { ScatterShow, SeriesMapping, defaultOptions, defaultScatterFieldConfig, defaultXYDimensionConfig, pluginVersion };\n","class StandardFieldConfigOverridesBuilder {\n constructor() {\n this._overrides = [];\n }\n overrideColor(value) {\n this._overrides[this._overrides.length - 1].properties.push({ id: \"color\", value });\n return this;\n }\n overrideDecimals(value) {\n this._overrides[this._overrides.length - 1].properties.push({ id: \"decimals\", value });\n return this;\n }\n overrideDisplayName(value) {\n this._overrides[this._overrides.length - 1].properties.push({ id: \"displayName\", value });\n return this;\n }\n overrideFilterable(value) {\n this._overrides[this._overrides.length - 1].properties.push({ id: \"filterable\", value });\n return this;\n }\n overrideLinks(value) {\n this._overrides[this._overrides.length - 1].properties.push({ id: \"links\", value });\n return this;\n }\n overrideMappings(value) {\n this._overrides[this._overrides.length - 1].properties.push({ id: \"mappings\", value });\n return this;\n }\n overrideMax(value) {\n this._overrides[this._overrides.length - 1].properties.push({ id: \"max\", value });\n return this;\n }\n overrideMin(value) {\n this._overrides[this._overrides.length - 1].properties.push({ id: \"min\", value });\n return this;\n }\n overrideNoValue(value) {\n this._overrides[this._overrides.length - 1].properties.push({ id: \"noValue\", value });\n return this;\n }\n overrideThresholds(value) {\n this._overrides[this._overrides.length - 1].properties.push({ id: \"thresholds\", value });\n return this;\n }\n overrideUnit(value) {\n this._overrides[this._overrides.length - 1].properties.push({ id: \"unit\", value });\n return this;\n }\n}\n\nexport { StandardFieldConfigOverridesBuilder };\n//# sourceMappingURL=StandardFieldConfigBuilders.js.map\n","import { FieldMatcherID } from '@grafana/data';\nimport { getCompareSeriesRefId } from '../../utils/getCompareSeriesRefId.js';\nimport { StandardFieldConfigOverridesBuilder } from './StandardFieldConfigBuilders.js';\n\nclass FieldConfigOverridesBuilder extends StandardFieldConfigOverridesBuilder {\n match(matcher) {\n this._overrides.push({ matcher, properties: [] });\n return this;\n }\n matchFieldsWithName(name) {\n this._overrides.push({\n matcher: {\n id: FieldMatcherID.byName,\n options: name\n },\n properties: []\n });\n return this;\n }\n matchFieldsWithNameByRegex(regex) {\n this._overrides.push({\n matcher: {\n id: FieldMatcherID.byRegexp,\n options: regex\n },\n properties: []\n });\n return this;\n }\n matchFieldsByType(fieldType) {\n this._overrides.push({\n matcher: {\n id: FieldMatcherID.byType,\n options: fieldType\n },\n properties: []\n });\n return this;\n }\n matchFieldsByQuery(refId) {\n this._overrides.push({\n matcher: {\n id: FieldMatcherID.byFrameRefID,\n options: refId\n },\n properties: []\n });\n return this;\n }\n matchFieldsByValue(options) {\n this._overrides.push({\n matcher: {\n id: FieldMatcherID.byValue,\n options\n },\n properties: []\n });\n return this;\n }\n matchComparisonQuery(refId) {\n return this.matchFieldsByQuery(getCompareSeriesRefId(refId));\n }\n overrideCustomFieldConfig(id, value) {\n const _id = `custom.${String(id)}`;\n const last = this._overrides[this._overrides.length - 1];\n last.properties.push({ id: _id, value });\n return this;\n }\n build() {\n return this._overrides;\n }\n}\n\nexport { FieldConfigOverridesBuilder };\n//# sourceMappingURL=FieldConfigOverridesBuilder.js.map\n","import { cloneDeep, merge } from 'lodash';\nimport { FieldConfigOverridesBuilder } from './FieldConfigOverridesBuilder.js';\n\nvar __defProp = Object.defineProperty;\nvar __defProps = Object.defineProperties;\nvar __getOwnPropDescs = Object.getOwnPropertyDescriptors;\nvar __getOwnPropSymbols = Object.getOwnPropertySymbols;\nvar __hasOwnProp = Object.prototype.hasOwnProperty;\nvar __propIsEnum = Object.prototype.propertyIsEnumerable;\nvar __defNormalProp = (obj, key, value) => key in obj ? __defProp(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;\nvar __spreadValues = (a, b) => {\n for (var prop in b || (b = {}))\n if (__hasOwnProp.call(b, prop))\n __defNormalProp(a, prop, b[prop]);\n if (__getOwnPropSymbols)\n for (var prop of __getOwnPropSymbols(b)) {\n if (__propIsEnum.call(b, prop))\n __defNormalProp(a, prop, b[prop]);\n }\n return a;\n};\nvar __spreadProps = (a, b) => __defProps(a, __getOwnPropDescs(b));\nclass FieldConfigBuilder {\n constructor(defaultFieldConfig) {\n this.defaultFieldConfig = defaultFieldConfig;\n this._fieldConfig = {\n defaults: {},\n overrides: []\n };\n this._overridesBuilder = new FieldConfigOverridesBuilder();\n this.setDefaults();\n }\n setDefaults() {\n const fieldConfig = {\n defaults: {\n custom: this.defaultFieldConfig ? cloneDeep(this.defaultFieldConfig()) : {}\n },\n overrides: []\n };\n this._fieldConfig = fieldConfig;\n }\n setColor(color) {\n return this.setFieldConfigDefaults(\"color\", color);\n }\n setDecimals(decimals) {\n return this.setFieldConfigDefaults(\"decimals\", decimals);\n }\n setDisplayName(displayName) {\n return this.setFieldConfigDefaults(\"displayName\", displayName);\n }\n setFilterable(filterable) {\n return this.setFieldConfigDefaults(\"filterable\", filterable);\n }\n setLinks(links) {\n return this.setFieldConfigDefaults(\"links\", links);\n }\n setMappings(mappings) {\n return this.setFieldConfigDefaults(\"mappings\", mappings);\n }\n setMax(max) {\n return this.setFieldConfigDefaults(\"max\", max);\n }\n setMin(min) {\n return this.setFieldConfigDefaults(\"min\", min);\n }\n setNoValue(noValue) {\n return this.setFieldConfigDefaults(\"noValue\", noValue);\n }\n setThresholds(thresholds) {\n return this.setFieldConfigDefaults(\"thresholds\", thresholds);\n }\n setUnit(unit) {\n return this.setFieldConfigDefaults(\"unit\", unit);\n }\n setCustomFieldConfig(id, value) {\n this._fieldConfig.defaults = __spreadProps(__spreadValues({}, this._fieldConfig.defaults), {\n custom: merge(this._fieldConfig.defaults.custom, { [id]: value })\n });\n return this;\n }\n setOverrides(builder) {\n builder(this._overridesBuilder);\n return this;\n }\n setFieldConfigDefaults(key, value) {\n this._fieldConfig.defaults = __spreadProps(__spreadValues({}, this._fieldConfig.defaults), {\n [key]: value\n });\n return this;\n }\n build() {\n return {\n defaults: this._fieldConfig.defaults,\n overrides: this._overridesBuilder.build()\n };\n }\n}\n\nexport { FieldConfigBuilder };\n//# sourceMappingURL=FieldConfigBuilder.js.map\n","import { cloneDeep, merge } from 'lodash';\n\nclass PanelOptionsBuilder {\n constructor(defaultOptions) {\n this.defaultOptions = defaultOptions;\n this._options = {};\n this.setDefaults();\n }\n setDefaults() {\n this._options = this.defaultOptions ? cloneDeep(this.defaultOptions()) : {};\n }\n setOption(id, value) {\n this._options = merge(this._options, { [id]: value });\n return this;\n }\n build() {\n return this._options;\n }\n}\n\nexport { PanelOptionsBuilder };\n//# sourceMappingURL=PanelOptionsBuilder.js.map\n","import { VizPanel } from '../../components/VizPanel/VizPanel.js';\nimport { FieldConfigBuilder } from './FieldConfigBuilder.js';\nimport { PanelOptionsBuilder } from './PanelOptionsBuilder.js';\n\nvar __defProp = Object.defineProperty;\nvar __defProps = Object.defineProperties;\nvar __getOwnPropDescs = Object.getOwnPropertyDescriptors;\nvar __getOwnPropSymbols = Object.getOwnPropertySymbols;\nvar __hasOwnProp = Object.prototype.hasOwnProperty;\nvar __propIsEnum = Object.prototype.propertyIsEnumerable;\nvar __defNormalProp = (obj, key, value) => key in obj ? __defProp(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;\nvar __spreadValues = (a, b) => {\n for (var prop in b || (b = {}))\n if (__hasOwnProp.call(b, prop))\n __defNormalProp(a, prop, b[prop]);\n if (__getOwnPropSymbols)\n for (var prop of __getOwnPropSymbols(b)) {\n if (__propIsEnum.call(b, prop))\n __defNormalProp(a, prop, b[prop]);\n }\n return a;\n};\nvar __spreadProps = (a, b) => __defProps(a, __getOwnPropDescs(b));\nclass VizPanelBuilder {\n constructor(pluginId, pluginVersion, defaultOptions, defaultFieldConfig) {\n this._state = {};\n this._state.title = \"\";\n this._state.description = \"\";\n this._state.displayMode = \"default\";\n this._state.hoverHeader = false;\n this._state.pluginId = pluginId;\n this._state.pluginVersion = pluginVersion;\n this._fieldConfigBuilder = new FieldConfigBuilder(defaultFieldConfig);\n this._panelOptionsBuilder = new PanelOptionsBuilder(defaultOptions);\n }\n setTitle(title) {\n this._state.title = title;\n return this;\n }\n setDescription(description) {\n this._state.description = description;\n return this;\n }\n setDisplayMode(displayMode) {\n this._state.displayMode = displayMode;\n return this;\n }\n setHoverHeader(hoverHeader) {\n this._state.hoverHeader = hoverHeader;\n return this;\n }\n setMenu(menu) {\n this._state.menu = menu;\n return this;\n }\n setHeaderActions(headerActions) {\n this._state.headerActions = headerActions;\n return this;\n }\n setColor(color) {\n this._fieldConfigBuilder.setColor(color);\n return this;\n }\n setDecimals(decimals) {\n this._fieldConfigBuilder.setDecimals(decimals);\n return this;\n }\n setDisplayName(displayName) {\n this._fieldConfigBuilder.setDisplayName(displayName);\n return this;\n }\n setFilterable(filterable) {\n this._fieldConfigBuilder.setFilterable(filterable);\n return this;\n }\n setLinks(links) {\n this._fieldConfigBuilder.setLinks(links);\n return this;\n }\n setMappings(mappings) {\n this._fieldConfigBuilder.setMappings(mappings);\n return this;\n }\n setMax(max) {\n this._fieldConfigBuilder.setMax(max);\n return this;\n }\n setMin(min) {\n this._fieldConfigBuilder.setMin(min);\n return this;\n }\n setNoValue(noValue) {\n this._fieldConfigBuilder.setNoValue(noValue);\n return this;\n }\n setThresholds(thresholds) {\n this._fieldConfigBuilder.setThresholds(thresholds);\n return this;\n }\n setUnit(unit) {\n this._fieldConfigBuilder.setUnit(unit);\n return this;\n }\n setCustomFieldConfig(id, value) {\n this._fieldConfigBuilder.setCustomFieldConfig(id, value);\n return this;\n }\n setOverrides(builder) {\n this._fieldConfigBuilder.setOverrides(builder);\n return this;\n }\n setOption(id, value) {\n this._panelOptionsBuilder.setOption(id, value);\n return this;\n }\n setData(data) {\n this._state.$data = data;\n return this;\n }\n setTimeRange(timeRange) {\n this._state.$timeRange = timeRange;\n return this;\n }\n setVariables(variables) {\n this._state.$variables = variables;\n return this;\n }\n setBehaviors(behaviors) {\n this._state.$behaviors = behaviors;\n return this;\n }\n build() {\n const panel = new VizPanel(__spreadProps(__spreadValues({}, this._state), {\n options: this._panelOptionsBuilder.build(),\n fieldConfig: this._fieldConfigBuilder.build()\n }));\n return panel;\n }\n}\n\nexport { VizPanelBuilder };\n//# sourceMappingURL=VizPanelBuilder.js.map\n","import { defaultOptions, defaultFieldConfig } from '@grafana/schema/dist/esm/raw/composable/barchart/panelcfg/x/BarChartPanelCfg_types.gen';\nimport { defaultOptions as defaultOptions$1 } from '@grafana/schema/dist/esm/raw/composable/bargauge/panelcfg/x/BarGaugePanelCfg_types.gen';\nimport { defaultOptions as defaultOptions$2 } from '@grafana/schema/dist/esm/raw/composable/datagrid/panelcfg/x/DatagridPanelCfg_types.gen';\nimport { defaultOptions as defaultOptions$3 } from '@grafana/schema/dist/esm/raw/composable/gauge/panelcfg/x/GaugePanelCfg_types.gen';\nimport { defaultOptions as defaultOptions$4 } from '@grafana/schema/dist/esm/raw/composable/geomap/panelcfg/x/GeomapPanelCfg_types.gen';\nimport { defaultOptions as defaultOptions$5 } from '@grafana/schema/dist/esm/raw/composable/heatmap/panelcfg/x/HeatmapPanelCfg_types.gen';\nimport { defaultOptions as defaultOptions$6, defaultFieldConfig as defaultFieldConfig$1 } from '@grafana/schema/dist/esm/raw/composable/histogram/panelcfg/x/HistogramPanelCfg_types.gen';\nimport { defaultOptions as defaultOptions$7 } from '@grafana/schema/dist/esm/raw/composable/news/panelcfg/x/NewsPanelCfg_types.gen';\nimport { defaultOptions as defaultOptions$8 } from '@grafana/schema/dist/esm/raw/composable/piechart/panelcfg/x/PieChartPanelCfg_types.gen';\nimport { defaultOptions as defaultOptions$9 } from '@grafana/schema/dist/esm/raw/composable/stat/panelcfg/x/StatPanelCfg_types.gen';\nimport { defaultOptions as defaultOptions$a, defaultFieldConfig as defaultFieldConfig$2 } from '@grafana/schema/dist/esm/raw/composable/statetimeline/panelcfg/x/StateTimelinePanelCfg_types.gen';\nimport { defaultOptions as defaultOptions$b, defaultFieldConfig as defaultFieldConfig$3 } from '@grafana/schema/dist/esm/raw/composable/statushistory/panelcfg/x/StatusHistoryPanelCfg_types.gen';\nimport { defaultOptions as defaultOptions$c } from '@grafana/schema/dist/esm/raw/composable/table/panelcfg/x/TablePanelCfg_types.gen';\nimport { defaultOptions as defaultOptions$d } from '@grafana/schema/dist/esm/raw/composable/text/panelcfg/x/TextPanelCfg_types.gen';\nimport { defaultOptions as defaultOptions$e, defaultScatterFieldConfig } from '@grafana/schema/dist/esm/raw/composable/xychart/panelcfg/x/XYChartPanelCfg_types.gen';\nimport { VizPanelBuilder } from './VizPanelBuilder.js';\nimport 'lodash';\nimport '@grafana/data';\n\nconst PanelBuilders = {\n barchart() {\n return new VizPanelBuilder(\n \"barchart\",\n \"10.0.0\",\n () => defaultOptions,\n () => defaultFieldConfig\n );\n },\n bargauge() {\n return new VizPanelBuilder(\"bargauge\", \"10.0.0\", () => defaultOptions$1);\n },\n datagrid() {\n return new VizPanelBuilder(\"datagrid\", \"10.0.0\", () => defaultOptions$2);\n },\n flamegraph() {\n return new VizPanelBuilder(\"flamegraph\", \"10.0.0\");\n },\n gauge() {\n return new VizPanelBuilder(\"gauge\", \"10.0.0\", () => defaultOptions$3);\n },\n geomap() {\n return new VizPanelBuilder(\"geomap\", \"10.0.0\", () => defaultOptions$4);\n },\n heatmap() {\n return new VizPanelBuilder(\"heatmap\", \"10.0.0\", () => defaultOptions$5);\n },\n histogram() {\n return new VizPanelBuilder(\n \"histogram\",\n \"10.0.0\",\n () => defaultOptions$6,\n () => defaultFieldConfig$1\n );\n },\n logs() {\n return new VizPanelBuilder(\"logs\", \"10.0.0\");\n },\n news() {\n return new VizPanelBuilder(\"news\", \"10.0.0\", () => defaultOptions$7);\n },\n nodegraph() {\n return new VizPanelBuilder(\"nodeGraph\", \"10.0.0\");\n },\n piechart() {\n return new VizPanelBuilder(\n \"piechart\",\n \"10.0.0\",\n () => defaultOptions$8\n );\n },\n stat() {\n return new VizPanelBuilder(\"stat\", \"10.0.0\", () => defaultOptions$9);\n },\n statetimeline() {\n return new VizPanelBuilder(\n \"state-timeline\",\n \"10.0.0\",\n () => defaultOptions$a,\n () => defaultFieldConfig$2\n );\n },\n statushistory() {\n return new VizPanelBuilder(\n \"status-history\",\n \"10.0.0\",\n () => defaultOptions$b,\n () => defaultFieldConfig$3\n );\n },\n table() {\n return new VizPanelBuilder(\"table\", \"10.0.0\", () => defaultOptions$c);\n },\n text() {\n return new VizPanelBuilder(\"text\", \"10.0.0\", () => defaultOptions$d);\n },\n timeseries() {\n return new VizPanelBuilder(\"timeseries\", \"10.0.0\");\n },\n trend() {\n return new VizPanelBuilder(\"trend\", \"10.0.0\");\n },\n traces() {\n return new VizPanelBuilder(\"traces\", \"10.0.0\");\n },\n xychart() {\n return new VizPanelBuilder(\n \"xychart\",\n \"10.0.0\",\n () => defaultOptions$e,\n () => defaultScatterFieldConfig\n );\n }\n};\n\nexport { PanelBuilders };\n//# sourceMappingURL=index.js.map\n","import { SceneQueryRunner, PanelBuilders } from '@grafana/scenes';\nimport { INFLUXDB_DATASOURCES_REF } from '../../../constants';\n\nexport const getBandwidthPanel = () => {\n const defaultBandwidthQuery = {\n refId: 'A',\n query: `SELECT mean(value) FROM \"monthly\".\"bandwidth.1min\" WHERE hostname='$hostname' AND $timeFilter GROUP BY time(60s)`,\n rawQuery: true,\n resultFormat: 'time_series',\n alias: 'bandwidth',\n };\n\n const qr = new SceneQueryRunner({\n datasource: INFLUXDB_DATASOURCES_REF.CACHE_STATS,\n queries: [defaultBandwidthQuery],\n });\n\n return PanelBuilders.timeseries()\n .setTitle('Bandwidth')\n .setData(qr)\n .setCustomFieldConfig('fillOpacity', 20)\n .setOption('legend', { showLegend: true, calcs: ['max'] })\n .setUnit('kbps')\n .build();\n};\n","import { SceneQueryRunner, PanelBuilders } from '@grafana/scenes';\nimport { INFLUXDB_DATASOURCES_REF } from '../../../constants';\n\nexport const getConnectionsPanel = () => {\n const defaultConnectionsQuery = [\n {\n refId: 'A',\n query: `SELECT mean(value) FROM \"monthly\".\"connections.1min\" WHERE hostname='$hostname' AND $timeFilter GROUP BY time(60s)`,\n rawQuery: true,\n resultFormat: 'time_series',\n alias: 'connections',\n },\n ];\n\n const qr = new SceneQueryRunner({\n datasource: INFLUXDB_DATASOURCES_REF.CACHE_STATS,\n queries: [...defaultConnectionsQuery],\n });\n\n return PanelBuilders.timeseries()\n .setTitle('Connections')\n .setData(qr)\n .setCustomFieldConfig('fillOpacity', 20)\n .setOption('legend', { showLegend: true, calcs: ['max'] })\n .setCustomFieldConfig('spanNulls', true)\n .build();\n};\n","import { PanelBuilders, SceneQueryRunner } from '@grafana/scenes';\nimport { INFLUXDB_DATASOURCES_REF } from '../../../constants';\n\nexport const getCPUPanel = () => {\n const defaultQuery = {\n refId: 'A',\n query: `SELECT mean(\"usage_system\") AS \"cpu_system\", mean(\"usage_iowait\") AS \"cpu_iowait\", mean(\"usage_user\") AS \"cpu_user\", mean(\"usage_guest\") AS \"cpu_guest\", mean(\"usage_steal\") AS \"cpu_steal\" FROM \"cpu\" WHERE host='$hostname' AND $timeFilter GROUP BY time($interval) fill(null)`,\n rawQuery: true,\n resultFormat: 'time_series',\n alias: '$col',\n };\n\n const qr = new SceneQueryRunner({\n datasource: INFLUXDB_DATASOURCES_REF.TELEGRAF,\n queries: [defaultQuery],\n });\n\n return PanelBuilders.timeseries()\n .setTitle('CPU Usage')\n .setData(qr)\n .setUnit('%')\n .setCustomFieldConfig('spanNulls', true)\n .setCustomFieldConfig('fillOpacity', 20)\n .build();\n};\n","import { PanelBuilders, SceneQueryRunner } from '@grafana/scenes';\nimport { INFLUXDB_DATASOURCES_REF } from '../../../constants';\n\nexport const getLoadAveragePanel = () => {\n const defaultQuery = {\n refId: 'A',\n query: `SELECT mean(\"load1\") AS \"load1\", mean(\"load5\") AS \"load5\", mean(\"load15\") AS \"load15\" FROM \"system\" WHERE host='$hostname' AND $timeFilter GROUP BY time($interval) fill(null)`,\n rawQuery: true,\n resultFormat: 'time_series',\n alias: '$col',\n };\n\n const qr = new SceneQueryRunner({\n datasource: INFLUXDB_DATASOURCES_REF.TELEGRAF,\n queries: [defaultQuery],\n });\n\n return PanelBuilders.timeseries()\n .setTitle('Load Average')\n .setData(qr)\n .setCustomFieldConfig('fillOpacity', 20)\n .setCustomFieldConfig('spanNulls', true)\n .build();\n};\n","import { PanelBuilders, SceneQueryRunner } from '@grafana/scenes';\nimport { INFLUXDB_DATASOURCES_REF } from '../../../constants';\n\nexport const getMemoryPanel = () => {\n const defaultQuery = {\n refId: 'A',\n query: `SELECT mean(\"used_percent\") AS \"mem_used\" FROM \"mem\" WHERE host='$hostname' AND $timeFilter GROUP BY time($interval) fill(null)`,\n rawQuery: true,\n resultFormat: 'time_series',\n alias: '$col',\n };\n\n const qr = new SceneQueryRunner({\n datasource: INFLUXDB_DATASOURCES_REF.TELEGRAF,\n queries: [defaultQuery],\n });\n\n return PanelBuilders.timeseries()\n .setTitle('Memory Usage')\n .setData(qr)\n .setCustomFieldConfig('spanNulls', true)\n .setCustomFieldConfig('fillOpacity', 20)\n .setUnit('%')\n .build();\n};\n","import { PanelBuilders, SceneQueryRunner } from '@grafana/scenes';\nimport { INFLUXDB_DATASOURCES_REF } from '../../../constants';\n\nexport const getNetstatPanel = () => {\n const defaultQuery = {\n refId: 'A',\n query: `SELECT mean(\"tcp_close\") AS \"tcp_close\", mean(\"tcp_close_wait\") AS \"tcp_close_wait\", mean(\"tcp_established\") AS \"tcp_established\", mean(\"tcp_time_wait\") AS \"tcp_time_wait\", mean(\"tcp_closing\") AS \"tcp_closing\", mean(\"tcp_fin_wait1\") AS \"tcp_fin_wait1\", mean(\"tcp_fin_wait2\") AS \"tcp_fin_wait2\", mean(\"tcp_last_ack\") AS \"tcp_last_ack\", mean(\"tcp_syn_recv\") AS \"tcp_syn_recv\", mean(\"tcp_syn_sent\") AS \"tcp_syn_sent\" FROM \"netstat\" WHERE host='$hostname' AND $timeFilter GROUP BY time($interval) fill(null)`,\n rawQuery: true,\n resultFormat: 'time_series',\n alias: '$col',\n };\n\n const qr = new SceneQueryRunner({\n datasource: INFLUXDB_DATASOURCES_REF.TELEGRAF,\n queries: [defaultQuery],\n });\n\n return PanelBuilders.timeseries()\n .setTitle('Netstat')\n .setData(qr)\n .setCustomFieldConfig('spanNulls', true)\n .setCustomFieldConfig('fillOpacity', 20)\n .build();\n};\n","import { PanelBuilders, SceneQueryRunner } from '@grafana/scenes';\nimport { INFLUXDB_DATASOURCES_REF } from '../../../constants';\n\nexport const getReadWriteTimePanel = () => {\n const defaultQueries = [\n {\n refId: 'A',\n query: `SELECT non_negative_derivative(sum(\"read_time\"), 10s) AS \"read_time\" FROM \"diskio\" WHERE host='$hostname' AND $timeFilter GROUP BY time($interval) fill(null)`,\n rawQuery: true,\n resultFormat: 'time_series',\n alias: '$col',\n },\n {\n refId: 'B',\n query: `SELECT non_negative_derivative(sum(\"write_time\"), 10s) AS \"write_time\" FROM \"diskio\" WHERE host='$hostname' AND $timeFilter GROUP BY time($interval) fill(null)`,\n rawQuery: true,\n resultFormat: 'time_series',\n alias: '$col',\n },\n ];\n\n const qr = new SceneQueryRunner({\n datasource: INFLUXDB_DATASOURCES_REF.TELEGRAF,\n queries: [...defaultQueries],\n });\n\n return PanelBuilders.timeseries()\n .setTitle('Read/Write Time')\n .setData(qr)\n .setCustomFieldConfig('spanNulls', true)\n .setCustomFieldConfig('fillOpacity', 20)\n .setUnit('ns')\n .build();\n};\n","import { PanelBuilders, SceneQueryRunner } from '@grafana/scenes';\nimport { INFLUXDB_DATASOURCES_REF } from '../../../constants';\n\nexport const getWrapCountPanel = () => {\n const defaultQuery = {\n refId: 'A',\n query: `SELECT mean(\"vol1_wrap_count\") AS \"vol1\", mean(\"vol2_wrap_count\") AS \"vol2\" FROM \"monthly\".\"wrap_count.1min\" WHERE hostname='$hostname' AND $timeFilter GROUP BY time($interval) fill(null)`,\n rawQuery: true,\n resultFormat: 'time_series',\n alias: '$col',\n };\n\n const qr = new SceneQueryRunner({\n datasource: INFLUXDB_DATASOURCES_REF.CACHE_STATS,\n queries: [defaultQuery],\n });\n\n return PanelBuilders.timeseries()\n .setTitle('Wrap Count')\n .setData(qr)\n .setCustomFieldConfig('spanNulls', true)\n .setCustomFieldConfig('fillOpacity', 20)\n .build();\n};\n","import {\n SceneTimeRange,\n EmbeddedScene,\n SceneFlexLayout,\n SceneFlexItem,\n SceneControlsSpacer,\n SceneRefreshPicker,\n SceneTimePicker,\n QueryVariable,\n SceneVariableSet,\n VariableValueSelectors,\n} from '@grafana/scenes';\nimport {\n getBandwidthPanel,\n getConnectionsPanel,\n getCPUPanel,\n getMemoryPanel,\n getLoadAveragePanel,\n getReadWriteTimePanel,\n getWrapCountPanel,\n getNetstatPanel,\n} from './panels';\nimport { INFLUXDB_DATASOURCES_REF } from '../../constants';\n\nexport function getServerScene() {\n const timeRange = new SceneTimeRange({\n from: 'now-6h',\n to: 'now',\n });\n\n const hostname = new QueryVariable({\n name: 'hostname',\n datasource: INFLUXDB_DATASOURCES_REF.CACHE_STATS,\n query: 'SHOW TAG VALUES ON \"cache_stats\" FROM \"monthly\".\"bandwidth\" with key = \"hostname\"',\n });\n\n return new EmbeddedScene({\n $timeRange: timeRange,\n $variables: new SceneVariableSet({\n variables: [hostname],\n }),\n body: new SceneFlexLayout({\n direction: 'column',\n children: [\n new SceneFlexItem({\n height: 250,\n body: getBandwidthPanel(),\n }),\n new SceneFlexItem({\n height: 250,\n body: getConnectionsPanel(),\n }),\n new SceneFlexLayout({\n direction: 'row',\n height: 250,\n children: [\n new SceneFlexItem({\n width: '50%',\n body: getCPUPanel(),\n }),\n new SceneFlexItem({\n width: '50%',\n body: getMemoryPanel(),\n }),\n ],\n }),\n new SceneFlexLayout({\n direction: 'row',\n height: 250,\n children: [\n new SceneFlexItem({\n width: '50%',\n body: getLoadAveragePanel(),\n }),\n new SceneFlexItem({\n width: '50%',\n body: getReadWriteTimePanel(),\n }),\n ],\n }),\n new SceneFlexLayout({\n direction: 'row',\n height: 250,\n children: [\n new SceneFlexItem({\n width: '50%',\n body: getWrapCountPanel(),\n }),\n new SceneFlexItem({\n width: '50%',\n body: getNetstatPanel(),\n }),\n ],\n }),\n ],\n }),\n controls: [\n new VariableValueSelectors({}),\n new SceneControlsSpacer(),\n new SceneTimePicker({ isOnCanvas: true }),\n new SceneRefreshPicker({\n intervals: ['5s', '1m', '1h'],\n isOnCanvas: true,\n }),\n ],\n });\n}\n","import React, { useMemo } from 'react';\nimport { SceneApp, SceneAppPage } from '@grafana/scenes';\nimport { ROUTES } from '../../constants';\nimport { prefixRoute } from '../../utils/utils.routing';\nimport { getServerScene } from './scene';\n\nconst getScene = () =>\n new SceneApp({\n pages: [\n new SceneAppPage({\n title: 'Server',\n url: prefixRoute(`${ROUTES.Server}`),\n hideFromBreadcrumbs: true,\n getScene: getServerScene,\n }),\n ],\n });\n\nexport const ServerPage = () => {\n const scene = useMemo(() => getScene(), []);\n\n return ;\n};\n","import { SceneQueryRunner, PanelBuilders } from '@grafana/scenes';\nimport { INFLUXDB_DATASOURCES_REF } from '../../../constants';\n\nexport const getBandwidthPanel = () => {\n const defaultBandwidthQuery = {\n refId: 'A',\n query: `SELECT mean(value) FROM \"monthly\".\"kbps.ds.1min\" WHERE deliveryservice='$deliveryservice' AND cachegroup = 'total' and $timeFilter GROUP BY time(60s), deliveryservice ORDER BY asc`,\n rawQuery: true,\n resultFormat: 'time_series',\n alias: '$tag_deliveryservice',\n measurement: 'bw',\n };\n\n const qr = new SceneQueryRunner({\n datasource: INFLUXDB_DATASOURCES_REF.DELIVERYSERVICE_STATS,\n queries: [defaultBandwidthQuery],\n });\n\n return PanelBuilders.timeseries()\n .setTitle('Bandwidth')\n .setData(qr)\n .setOption('legend', { showLegend: true, calcs: ['max'] })\n .setCustomFieldConfig('axisCenteredZero', true)\n .setUnit('bps')\n .build();\n};\n","import { SceneQueryRunner, PanelBuilders } from '@grafana/scenes';\nimport { INFLUXDB_DATASOURCES_REF } from '../../../constants';\n\nexport const getTpsPanel = () => {\n const tpsQueries = [\n {\n refId: 'A',\n query: `SELECT mean(value) FROM \"monthly\".\"tps_2xx.ds.1min\" WHERE $timeFilter AND deliveryservice='$deliveryservice' GROUP BY time(60s) ORDER BY asc`,\n rawQuery: true,\n resultFormat: 'time_series',\n measurement: 'tps_2xx',\n hide: false,\n tags: {\n deliveryservice: `$deliveryservice`,\n },\n },\n {\n refId: 'B',\n query: `SELECT mean(value) FROM \\\"monthly\\\".\\\"tps_3xx.ds.1min\\\" WHERE $timeFilter AND deliveryservice='$deliveryservice' GROUP BY time(60s) ORDER BY asc`,\n rawQuery: true,\n resultFormat: 'time_series',\n },\n {\n refId: 'C',\n query: `SELECT mean(value) FROM \\\"monthly\\\".\\\"tps_4xx.ds.1min\\\" WHERE $timeFilter AND deliveryservice='$deliveryservice' GROUP BY time(60s) ORDER BY asc`,\n rawQuery: true,\n resultFormat: 'time_series',\n },\n {\n refId: 'D',\n query: `SELECT mean(value) FROM \\\"monthly\\\".\\\"tps_5xx.ds.1min\\\" WHERE $timeFilter AND deliveryservice='$deliveryservice' GROUP BY time(60s) ORDER BY asc`,\n rawQuery: true,\n resultFormat: 'time_series',\n },\n ];\n\n const qr = new SceneQueryRunner({\n datasource: INFLUXDB_DATASOURCES_REF.DELIVERYSERVICE_STATS,\n queries: [...tpsQueries],\n });\n\n return PanelBuilders.timeseries()\n .setTitle('TPS')\n .setData(qr)\n .setOption('legend', { showLegend: true, calcs: ['max'] })\n .setCustomFieldConfig('axisCenteredZero', true)\n .setCustomFieldConfig('spanNulls', true)\n .build();\n};\n","import { SceneQueryRunner, PanelBuilders } from '@grafana/scenes';\nimport { INFLUXDB_DATASOURCES_REF } from '../../../constants';\n\nexport const getBandwidthByCGPanel = () => {\n const bandwidthByCacheGroupQuery = {\n refId: 'A',\n query: `SELECT mean(value) FROM \"monthly\".\"kbps.cg.1min\" WHERE deliveryservice='$deliveryservice' AND cachegroup != 'all' and $timeFilter GROUP BY time(60s), cachegroup`,\n rawQuery: true,\n resultFormat: 'time_series',\n alias: '$tag_cachegroup',\n };\n\n const qr = new SceneQueryRunner({\n datasource: INFLUXDB_DATASOURCES_REF.DELIVERYSERVICE_STATS,\n queries: [bandwidthByCacheGroupQuery],\n });\n\n return PanelBuilders.timeseries()\n .setTitle('Bandwidth by CacheGroup')\n .setData(qr)\n .setOption('legend', { showLegend: true, calcs: ['max'] })\n .setCustomFieldConfig('axisCenteredZero', true)\n .setCustomFieldConfig('spanNulls', true)\n .setUnit('bps')\n .build();\n};\n","import {\n SceneTimeRange,\n EmbeddedScene,\n SceneFlexLayout,\n SceneFlexItem,\n SceneControlsSpacer,\n SceneRefreshPicker,\n SceneTimePicker,\n QueryVariable,\n SceneVariableSet,\n VariableValueSelectors,\n} from '@grafana/scenes';\nimport { getBandwidthPanel } from './panels/bandwidth';\nimport { getTpsPanel } from './panels/tps';\nimport { getBandwidthByCGPanel } from './panels/bandwidth-cg';\nimport { INFLUXDB_DATASOURCES_REF } from '../../constants';\n\nexport function getDeliveryServiceScene() {\n const timeRange = new SceneTimeRange({\n from: 'now-6h',\n to: 'now',\n });\n\n const deliveryService = new QueryVariable({\n name: 'deliveryservice',\n datasource: INFLUXDB_DATASOURCES_REF.DELIVERYSERVICE_STATS,\n query: 'SHOW TAG VALUES ON \"deliveryservice_stats\" FROM \"monthly\".\"kbps\" with key = \"deliveryservice\"',\n });\n\n return new EmbeddedScene({\n $timeRange: timeRange,\n $variables: new SceneVariableSet({\n variables: [deliveryService],\n }),\n body: new SceneFlexLayout({\n direction: 'column',\n children: [\n new SceneFlexItem({\n minHeight: 300,\n body: getBandwidthPanel(),\n }),\n new SceneFlexItem({\n minHeight: 300,\n body: getTpsPanel(),\n }),\n new SceneFlexItem({\n minHeight: 300,\n body: getBandwidthByCGPanel(),\n }),\n ],\n }),\n controls: [\n new VariableValueSelectors({}),\n new SceneControlsSpacer(),\n new SceneTimePicker({ isOnCanvas: true }),\n new SceneRefreshPicker({\n intervals: ['5s', '1m', '1h'],\n isOnCanvas: true,\n }),\n ],\n });\n}\n","import React, { useMemo } from 'react';\nimport { SceneApp, SceneAppPage } from '@grafana/scenes';\nimport { ROUTES } from '../../constants';\nimport { prefixRoute } from '../../utils/utils.routing';\nimport { getDeliveryServiceScene } from './scene';\n\nconst getScene = () =>\n new SceneApp({\n pages: [\n new SceneAppPage({\n title: 'Delivery Services',\n url: prefixRoute(`${ROUTES.DeliveryService}`),\n hideFromBreadcrumbs: true,\n getScene: getDeliveryServiceScene,\n }),\n ],\n });\n\nexport const DeliveryServicePage = () => {\n const scene = useMemo(() => getScene(), []);\n\n return ;\n};\n","import { SceneQueryRunner, PanelBuilders } from '@grafana/scenes';\nimport { INFLUXDB_DATASOURCES_REF } from '../../../constants';\n\nexport const getBandwidthPanel = () => {\n const cacheGroupBandwidthQuery = {\n refId: 'A',\n query:\n 'SELECT sum(value) FROM \"monthly\".\"bandwidth.1min\" WHERE \"cachegroup\" = \\'$cachegroup\\' AND $timeFilter GROUP BY time(60s), cachegroup',\n rawQuery: true,\n resultFormat: 'time_series',\n alias: '$tag_cachegroup',\n };\n\n const qr = new SceneQueryRunner({\n datasource: INFLUXDB_DATASOURCES_REF.CACHE_STATS,\n queries: [cacheGroupBandwidthQuery],\n });\n\n return PanelBuilders.timeseries()\n .setTitle('Total bandwidth (stacked)')\n .setData(qr)\n .setCustomFieldConfig('fillOpacity', 20)\n .setOption('legend', { showLegend: true, calcs: ['max'] })\n .setUnit('Kbits')\n .build();\n};\n","import { SceneQueryRunner, PanelBuilders } from '@grafana/scenes';\nimport { INFLUXDB_DATASOURCES_REF } from '../../../constants';\n\nexport const getConnectionsPanel = () => {\n const connectionQuery = {\n refId: 'A',\n query:\n 'SELECT mean(\"value\") FROM \"monthly\".\"connections.1min\" WHERE (\"cachegroup\" = \\'$cachegroup\\') AND $timeFilter GROUP BY time($interval), \"hostname\" fill(null)',\n rawQuery: true,\n resultFormat: 'time_series',\n };\n\n const qr = new SceneQueryRunner({\n datasource: INFLUXDB_DATASOURCES_REF.CACHE_STATS,\n queries: [connectionQuery],\n });\n\n return PanelBuilders.timeseries()\n .setTitle('Connections (stacked)')\n .setCustomFieldConfig('fillOpacity', 20)\n .setData(qr)\n .setOption('legend', { showLegend: true, calcs: ['max'] })\n .setCustomFieldConfig('spanNulls', true)\n .build();\n};\n","import {\n SceneTimeRange,\n EmbeddedScene,\n SceneFlexLayout,\n SceneFlexItem,\n SceneControlsSpacer,\n SceneRefreshPicker,\n SceneTimePicker,\n QueryVariable,\n SceneVariableSet,\n VariableValueSelectors,\n} from '@grafana/scenes';\nimport { getBandwidthPanel } from './panels/bandwidth';\nimport { getConnectionsPanel } from './panels/connections';\nimport { INFLUXDB_DATASOURCES_REF } from '../../constants';\n\nexport function getCacheGroupScene() {\n const timeRange = new SceneTimeRange({\n from: 'now-6h',\n to: 'now',\n });\n\n const cachegroup = new QueryVariable({\n name: 'cachegroup',\n datasource: INFLUXDB_DATASOURCES_REF.CACHE_STATS,\n query: 'SHOW TAG VALUES ON \"cache_stats\" FROM \"monthly\".\"bandwidth\" with key = \"cachegroup\"',\n });\n\n return new EmbeddedScene({\n $timeRange: timeRange,\n $variables: new SceneVariableSet({\n variables: [cachegroup],\n }),\n body: new SceneFlexLayout({\n direction: 'column',\n children: [\n new SceneFlexItem({\n minHeight: 300,\n body: getBandwidthPanel(),\n }),\n new SceneFlexItem({\n minHeight: 300,\n body: getConnectionsPanel(),\n }),\n ],\n }),\n controls: [\n new VariableValueSelectors({}),\n new SceneControlsSpacer(),\n new SceneTimePicker({ isOnCanvas: true }),\n new SceneRefreshPicker({\n intervals: ['5s', '1m', '1h'],\n isOnCanvas: true,\n }),\n ],\n });\n}\n","import React, { useMemo } from 'react';\nimport { SceneApp, SceneAppPage } from '@grafana/scenes';\nimport { ROUTES } from '../../constants';\nimport { prefixRoute } from '../../utils/utils.routing';\nimport { getCacheGroupScene } from './scene';\n\nconst getScene = () =>\n new SceneApp({\n pages: [\n new SceneAppPage({\n title: 'Cache Groups',\n url: prefixRoute(`${ROUTES.CacheGroup}`),\n hideFromBreadcrumbs: true,\n getScene: getCacheGroupScene,\n }),\n ],\n });\n\nexport const CacheGroupPage = () => {\n const scene = useMemo(() => getScene(), []);\n\n return ;\n};\n","import React from 'react';\nimport { Redirect, Route, Switch } from 'react-router-dom';\nimport { prefixRoute } from '../../utils/utils.routing';\nimport { ROUTES } from '../../constants';\nimport { ServerPage } from '../../pages/Server';\nimport { DeliveryServicePage } from '../../pages/DeliveryService';\nimport { CacheGroupPage } from '../../pages/CacheGroup';\n\nexport const Routes = () => {\n return (\n \n \n \n \n \n \n );\n};\n","import React from 'react';\nimport { AppRootProps } from '@grafana/data';\nimport { PluginPropsContext } from '../../utils/utils.plugin';\nimport { Routes } from '../Routes';\n\nexport class App extends React.PureComponent {\n render() {\n return (\n \n \n \n );\n }\n}\n","import { AppPlugin } from '@grafana/data';\nimport { App } from './components/App';\n\nexport const plugin = new AppPlugin<{}>().setRootPage(App);\n"],"names":["r","e","t","f","n","Array","isArray","length","clsx","arguments","HASH_UNDEFINED","COMPARE_PARTIAL_FLAG","COMPARE_UNORDERED_FLAG","MAX_SAFE_INTEGER","argsTag","arrayTag","asyncTag","boolTag","dateTag","errorTag","funcTag","genTag","mapTag","numberTag","nullTag","objectTag","promiseTag","proxyTag","regexpTag","setTag","stringTag","undefinedTag","weakMapTag","arrayBufferTag","dataViewTag","reIsHostCtor","reIsUint","typedArrayTags","freeGlobal","g","Object","freeSelf","self","root","Function","freeExports","exports","nodeType","freeModule","module","moduleExports","freeProcess","process","nodeUtil","binding","nodeIsTypedArray","isTypedArray","arraySome","array","predicate","index","mapToArray","map","result","size","forEach","value","key","setToArray","set","uid","func","transform","arrayProto","prototype","funcProto","objectProto","coreJsData","funcToString","toString","hasOwnProperty","maskSrcKey","exec","keys","IE_PROTO","nativeObjectToString","reIsNative","RegExp","call","replace","Buffer","undefined","Symbol","Uint8Array","propertyIsEnumerable","splice","symToStringTag","toStringTag","nativeGetSymbols","getOwnPropertySymbols","nativeIsBuffer","isBuffer","nativeKeys","arg","DataView","getNative","Map","Promise","Set","WeakMap","nativeCreate","dataViewCtorString","toSource","mapCtorString","promiseCtorString","setCtorString","weakMapCtorString","symbolProto","symbolValueOf","valueOf","Hash","entries","this","clear","entry","ListCache","MapCache","SetCache","values","__data__","add","Stack","data","assocIndexOf","eq","baseGetTag","isOwn","tag","unmasked","getRawTag","objectToString","baseIsArguments","isObjectLike","baseIsEqual","other","bitmask","customizer","stack","object","equalFunc","objIsArr","othIsArr","objTag","getTag","othTag","objIsObj","othIsObj","isSameTag","equalArrays","byteLength","byteOffset","buffer","name","message","convert","isPartial","stacked","get","equalByTag","objIsWrapped","othIsWrapped","objUnwrapped","othUnwrapped","objProps","getAllKeys","objLength","skipCtor","objValue","othValue","compared","objCtor","constructor","othCtor","equalObjects","baseIsEqualDeep","arrLength","othLength","seen","arrValue","othIndex","has","push","keysFunc","symbolsFunc","offset","arrayPush","baseGetAllKeys","getSymbols","getMapData","type","getValue","isObject","isMasked","isFunction","test","baseIsNative","pop","pairs","LARGE_ARRAY_SIZE","resIndex","symbol","arrayFilter","isIndex","ArrayBuffer","resolve","Ctor","ctorString","isArguments","isLength","baseUnary","inherited","isArr","isArg","isBuff","isType","skipIndexes","iteratee","baseTimes","String","arrayLikeKeys","baseKeys","ReactPropTypesSecret","emptyFunction","emptyFunctionWithReset","resetWarningCache","shim","props","propName","componentName","location","propFullName","secret","err","Error","getShim","isRequired","ReactPropTypes","bigint","bool","number","string","any","arrayOf","element","elementType","instanceOf","node","objectOf","oneOf","oneOfType","shape","exact","checkPropTypes","PropTypes","defineProperty","enumerable","_DraggableCore","default","React","obj","nodeInterop","__esModule","cache","_getRequireWildcardCache","newObj","hasPropertyDescriptor","getOwnPropertyDescriptor","desc","_interopRequireWildcard","_propTypes","_interopRequireDefault","_reactDom","_clsx","_domFns","_positionFns","_shims","_log","cacheBabelInterop","cacheNodeInterop","_extends","assign","bind","target","i","source","apply","_defineProperty","input","hint","prim","toPrimitive","res","TypeError","_toPrimitive","_toPropertyKey","configurable","writable","Draggable","Component","getDerivedStateFromProps","_ref","_ref2","position","prevPropsPosition","x","y","super","coreData","onStart","createDraggableData","setState","dragging","dragged","state","uiData","newState","slackX","slackY","bounds","newStateX","newStateY","getBoundPosition","deltaX","deltaY","onDrag","onStop","Boolean","defaultPosition","isElementSVG","console","warn","componentDidMount","window","SVGElement","findDOMNode","componentWillUnmount","_this$props$nodeRef$c","_this$props","nodeRef","current","render","axis","children","defaultClassName","defaultClassNameDragging","defaultClassNameDragged","positionOffset","scale","draggableCoreProps","style","svgTransform","draggable","validPosition","transformOpts","canDragX","canDragY","createSVGTransform","createCSSTransform","className","createElement","onDragStart","onDragStop","cloneElement","Children","only","propTypes","left","right","top","bottom","dontSetMe","defaultProps","eventsFor","start","move","stop","dragEventFor","DraggableCore","NaN","onMouseDown","allowAnyClick","button","thisNode","ownerDocument","body","disabled","defaultView","Node","handle","matchesSelectorAndParentsTo","cancel","preventDefault","touchIdentifier","getTouchIdentifier","getControlPosition","coreEvent","createCoreData","mounted","enableUserSelectHack","addUserSelectStyles","lastX","lastY","addEvent","handleDrag","handleDragStop","grid","snapToGrid","MouseEvent","event","document","createEvent","initMouseEvent","removeUserSelectStyles","removeEvent","handleDragStart","onTouchStart","passive","_this$props2","onMouseUp","onTouchEnd","offsetParent","addClassName","el","handler","inputOptions","options","capture","addEventListener","attachEvent","doc","styleEl","getElementById","id","innerHTML","getElementsByTagName","appendChild","controlPos","translation","getTranslation","_getPrefix","browserPrefixToKey","getTouch","identifier","targetTouches","findInArray","changedTouches","innerHeight","height","clientHeight","computedStyle","getComputedStyle","int","paddingTop","paddingBottom","innerWidth","width","clientWidth","paddingLeft","paddingRight","matchesSelector","selector","baseNode","parentNode","offsetXYFromParent","evt","offsetParentRect","getBoundingClientRect","clientX","scrollLeft","clientY","scrollTop","outerHeight","borderTopWidth","borderBottomWidth","outerWidth","borderLeftWidth","borderRightWidth","removeClassName","removeEventListener","detachEvent","selection","empty","getSelection","removeAllRanges","matchesSelectorFunc","method","unitSuffix","concat","defaultX","defaultY","classList","match","remove","browserPrefixToStyle","prop","prefix","toLowerCase","getPrefix","prefixes","_window$document","documentElement","str","out","shouldCapitalize","toUpperCase","kebabToTitleCase","isStart","isNum","cloneBounds","ownerWindow","boundNode","querySelector","HTMLElement","boundNodeEl","nodeStyle","boundNodeStyle","offsetLeft","marginLeft","offsetTop","marginTop","marginRight","marginBottom","Math","min","max","draggableCore","touchObj","pendingX","pendingY","round","callback","a","parseInt","num","isNaN","_typeof","iterator","_react","_reactDraggable","_reactResizable","_utils","_calculateUtils","_ReactGridLayoutPropTypes","ownKeys","enumerableOnly","symbols","filter","sym","_objectSpread","getOwnPropertyDescriptors","defineProperties","_defineProperties","descriptor","_setPrototypeOf","o","p","setPrototypeOf","__proto__","_assertThisInitialized","ReferenceError","_getPrototypeOf","getPrototypeOf","GridItem","_React$Component","subClass","superClass","create","_inherits","Constructor","protoProps","Derived","hasNativeReflectConstruct","_super","Reflect","construct","sham","Proxy","_isNativeReflectConstruct","Super","NewTarget","_possibleConstructorReturn","_this","instance","_classCallCheck","_len","args","_key","resizing","createRef","transformScale","newPosition","parentRect","clientRect","cLeft","pLeft","cTop","pTop","_calcXY","calcXY","getPositionParams","w","h","isBounded","containerWidth","positionParams","_this$props3","margin","rowHeight","bottomBoundary","calcGridItemWHPx","clamp","colWidth","calcGridColWidth","rightBoundary","_calcXY2","_ref3","_this$props4","_this$state$dragging","_calcXY3","callbackData","onResizeHandler","nextProps","nextState","droppingPosition","oldPosition","calcGridItemPosition","fastPositionEqual","useCSSTransforms","moveDroppingItem","prevProps","elementRef","prevDroppingPosition","shouldDrag","cols","containerPadding","maxRows","pos","_this$props5","usePercentages","setTransform","setTopLeft","perc","child","isDraggable","isResizable","_this$props6","minW","minH","maxW","maxH","resizeHandles","resizeHandle","maxWidth","mins","maxes","minConstraints","maxConstraints","Infinity","Resizable","draggableOpts","onResizeStop","onResizeStart","onResize","_ref4","handlerName","_this$props7","_this$props8","_calcWH","calcWH","_this$props9","newChild","ref","static","dropping","cssTransforms","createStyle","mixinResizable","mixinDraggable","resizeHandleAxesType","resizeHandleType","_lodash","_GridItem","_unsupportedIterableToArray","minLen","_arrayLikeToArray","slice","from","arr","len","arr2","layoutClassName","isFirefox","navigator","userAgent","ReactGridLayout","staticProps","activeDrag","layout","synchronizeLayoutWithChildren","compactType","allowOverlap","oldDragItem","oldLayout","oldResizeItem","droppingDOMNode","l","getLayoutItem","cloneLayoutItem","preventCollision","placeholder","moveElement","compact","newLayout","onLayoutMaybeChanged","_ref5","_this$state","_withLayoutItem","withLayoutItem","hasCollisions","collisions","getAllCollisions","layoutItem","leastX","leastY","Number","isFinite","_withLayoutItem2","_arrayWithHoles","_i","_s","_e","_arr","_n","_d","next","done","_iterableToArrayLimit","_nonIterableRest","_slicedToArray","_ref6","_this$state2","_e$nativeEvent$target","stopPropagation","nativeEvent","contains","droppingItem","onDropDragOver","onDragOverResult","removeDroppingPlaceholder","finalDroppingItem","_e$nativeEvent","layerX","layerY","_this$state$droppingP","calculatedPosition","_arrayWithoutHoles","iter","_iterableToArray","_nonIterableSpread","dragEnterCounter","item","find","onDrop","prevState","newLayoutBase","propsLayout","childrenEqual","fastRGLPropsEqual","autoSize","nbRow","containerPaddingY","onLayoutChange","isDroppingItem","draggableCancel","draggableHandle","_this$state3","resizable","resizeHandlesOptions","bounded","_this2","isDroppable","innerRef","mergedClassName","mergedStyle","containerHeight","noop","onDragLeave","onDragEnter","onDragOver","processGridItem","verticalCompact","_default","_responsiveUtils","_ReactGridLayout","_excluded","getIndentationValue","param","breakpoint","ResponsiveReactGridLayout","generateInitialState","layouts","_cols","findOrGenerateResponsiveLayout","breakpoints","getBreakpointFromWidth","colNo","getColsFromBreakpoint","onWidthChange","newBreakpoint","lastBreakpoint","newCols","newLayouts","cloneLayout","onBreakpointChange","excluded","sourceKeys","indexOf","_objectWithoutPropertiesLoose","sourceSymbolKeys","_objectWithoutProperties","validateLayout","lg","md","sm","xs","xxs","gridUnits","colOrRowSize","marginPx","lowerBound","upperBound","ComposedComponent","_class","WidthProvider","offsetWidth","onWindowResize","measureBeforeMount","rest","b","isEqualImpl","breakpointsSorted","sortBreakpoints","breakpointsAbove","correctBounds","sorted","matching","breakpointName","sort","c","collides","compactItem","getFirstCollision","getStatics","modifyLayout","moveElementAwayFromCollision","translate","WebkitTransform","MozTransform","msTransform","OTransform","sortLayoutItems","sortLayoutItemsByColRow","sortLayoutItemsByRowCol","initialLayout","exists","isProduction","_grid","correctedLayout","itemKey","cb","DEBUG","bottomY","moved","l1","l2","compareWith","heightWidth","resolveCompactionCollision","moveToCoord","sizeProp","otherItem","fullLayout","compactH","collidesWith","isUserAction","log","oldX","oldY","reverse","collision","itemToMove","compactV","fakeItem","contextName","subProps","j","_console","utils","Responsive","handleRefs","lastHandleRect","slack","_proto","resetData","runConstraints","lockAspectRatio","ratio","deltaW","deltaH","abs","oldW","oldH","slackW","slackH","resizeHandler","axisV","axisH","handleRect","_this2$runConstraints","dimensionsChanged","persist","renderResizeHandle","handleAxis","_this3","handleSize","_this3$handleRefs$han","resizableProps","_Resizable","_propTypes2","ResizableBox","propsWidth","propsHeight","_PropTypes$number","_len2","_key2","_PropTypes$number2","__WEBPACK_EXTERNAL_MODULE__644__","__WEBPACK_EXTERNAL_MODULE__305__","__WEBPACK_EXTERNAL_MODULE__545__","__WEBPACK_EXTERNAL_MODULE__388__","__WEBPACK_EXTERNAL_MODULE__980__","__WEBPACK_EXTERNAL_MODULE__650__","__WEBPACK_EXTERNAL_MODULE__729__","__WEBPACK_EXTERNAL_MODULE__814__","__WEBPACK_EXTERNAL_MODULE__177__","__webpack_module_cache__","__webpack_require__","moduleId","cachedModule","loaded","__webpack_modules__","getter","d","definition","globalThis","nmd","paths","PluginPropsContext","PLUGIN_BASE_URL","pluginJson","ROUTES","INFLUXDB_DATASOURCES_REF","CACHE_STATS","DELIVERYSERVICE_STATS","DAILY_STATS","TELEGRAF","prefixRoute","route","__defProp","__getOwnPropSymbols","__hasOwnProp","__propIsEnum","__defNormalProp","__spreadValues","getUrlWithAppState","path","preserveParams","paramsCopy","locationService","getSearchObject","includes","urlUtil","renderUrl","locationUtil","assureBaseUrl","renderSceneComponentWithRouteProps","sceneObject","routeProps","model","runtimePanelPlugins","randomUUID","crypto","getRandomValues","rnds8","rng","byteToHex","buf","rnds","random","unsafeStringify","SceneComponentWrapper","_a","_a2","_b","otherProps","exclude","__objRest","EmptyRenderer","activated","setActivated","useEffect","activate","_","SceneObjectStateChangedEvent","BusEventWithPayload","UserActionEvent","__accessCheck","member","msg","SceneObjectRef","WeakSet","__privateAdd","_isActive","_activationHandlers","_deactivationHandlers","_subs","Subscription","_refCount","_events","EventBusSrv","_state","freeze","_setParent","isActive","parent","_parent","variableDependency","_variableDependency","urlSync","_urlSync","forEachChild","subscribeToState","subscribe","payload","changedObject","subscribeToEvent","eventType","update","_handleActivationOfChangedStateProps","publishEvent","partialUpdate","$data","_handleChangedStateActivation","$variables","$timeRange","oldValue","newValue","deactivationHandler","delete","bubble","publish","getRoot","_internalActivate","$behaviors","behavior","called","error","_internalDeactivate","removeAllListeners","unsubscribe","useState","stateAtFirstRender","s","useSceneObjectState","forceRender","clone","withState","clonedState","sceneState","propValue","newArray","cloneSceneObjectState","cloneSceneObject","addActivationHandler","getRef","getClosest","extract","extracted","curSceneObject","runtimeDataSources","VariableRefresh","VariableRefresh2","LoadingState2","DashboardCursorSync","DashboardCursorSync2","Done","series","timeRange","getDefaultTimeRange","SceneObjectUrlSyncConfig","_sceneObject","_options","_keys","getKeys","getUrlState","updateFromUrl","INTERVAL_STRING_REGEX","parseUrlParam","utcValue","toUtc","isValid","toISOString","epoch","to","timeZone","fiscalYearStartMonth","dateMath","parse","raw","SceneTimeRange","getTimeZone","onTimeRangeChange","updateToEval","onTimeZoneChange","onRefresh","_onActivate","timeZoneSource","getTimeZoneSource","weekStart","setWeekStart","config","bootData","user","EmptyDataNode","getResultsStream","origin","of","DefaultTimeRange","EmptyVariableSet","variables","getByName","isVariableLoadingOrWaitingToUpdate","variable","getTimeRange","VariableFormatID","VariableFormatID2","SceneVariableValueChangedEvent","isCustomVariableValue","scopedVarsVariable","fieldAccessorCache","getFieldAccessor","fieldPath","property","ScopedVarsVariable","realValue","getValueText","text","formatRegistry","Registry","Lucene","description","formatter","luceneEscape","val","join","Raw","Regex","escapeRegex","escapedValues","Pipe","Distributed","CSV","HTML","textUtil","escapeHtml","JSON","stringify","PercentEncode","encodeURIComponentStrict","SingleQuote","regExp","v","strVal","DoubleQuote","SQLString","sqlStringFormatter","Date","nrValue","dateTime","format","Glob","Text","_args","QueryParam","formatQueryParameter","UriEncode","encodeURIStrict","replaceSpecialCharactersToASCII","encodeURIComponent","encodeURI","charCodeAt","SQL_ESCAPE_MAP","ALL_VARIABLE_TEXT","ALL_VARIABLE_VALUE","AUTO_VARIABLE_VALUE","VARIABLE_REGEX","lookupVariable","layers","deactivationHandlers","layer","getData","findObjectInternal","scene","check","alreadySearchedChild","shouldSearchUp","found","maybe","SkipFormattingValue","_value","TimeFromAndToMacro","dateTimeFormat","IntervalMacro","request","intervalMs","interval","collectAllVariables","record","skipUrlSync","fallbackDisplayProcessor","getDisplayProcessor","UrlStateFormatter","_urlQueryParams","params","split","allParams","URLSearchParams","includeOnly","macrosIndex","DataLinkBuiltInVars","includeVars","allVars","keepTime","urlState","toUrlParams","_match","_scopedVars","dataContext","__dataContext","frame","rowIndex","field","calculatedValue","numeric","formattedValueToString","timeField","fields","FieldType","time","display","refId","getFieldDisplayValuesProxy","frameIndex","getFrameDisplayName","frames","getFieldDisplayName","labels","__values","formatLabels","getTemplateProxyForField","getLocation","subUrl","appSubUrl","search","pathname","login","email","orgName","orgId","getVariables","getLayout","isSceneLayout","getDataLayers","localOnly","collected","interpolate","scopedVars","lastIndex","var1","var2","fmt2","var3","fmt3","fmt","scopedVar","getSceneVariableForScopedVar","lookupFormatVariable","formatNameOrFn","multi","isMulti","includeAll","getIfExists","formatValue","sceneInterpolator","hasVariableDependencyInLoadingState","getNames","findObject","getAncestor","ancestorType","isVariableValueEqual","isEqual","safeStringifyValue","_dependencies","scanCount","defaultHandlerReferencedVariableValueChanged","_statePaths","statePaths","hasDependencyOn","variableUpdatesCompleted","changedVariables","deps","dependencyChanged","onVariableUpdatesCompleted","onReferencedVariableValueChanged","scanStateForDependencies","setPaths","variableNames","extractVariablesFrom","matches","matchAll","variableName","CursorSync","sync","Off","getEventsBus","panel","PanelContextEventBus","getEventsScope","_source","_eventsOrigin","getStream","Observable","observer","sub","pipe","newScopedBus","async","datasource","runtimeDataSource","query","getDataSourceSrv","_values","recordCurrentDependencyValuesForSceneObject","clearValues","hasValues","recordCurrentValue","hasRecordedValue","hasValueChanged","hasDependenciesChanged","extendStatics","__extends","__","m","__read","ar","__spreadArray","pack","SuppressedError","ctorFunc","UnsubscriptionError","errors","arrRemove","initialTeardown","closed","_parentage","_finalizers","e_1","e_2","_parentage_1","_parentage_1_1","e_1_1","return","initialFinalizer","_finalizers_1","_finalizers_1_1","finalizer","execFinalizer","e_2_1","teardown","_hasParent","_addParent","_removeParent","EMPTY","isSubscription","onUnhandledError","onStoppedNotification","useDeprecatedSynchronousErrorHandling","useDeprecatedNextContext","timeoutProvider","setTimeout","timeout","delegate","clearTimeout","COMPLETE_NOTIFICATION","createNotification","kind","context","Subscriber","destination","isStopped","EMPTY_OBSERVER","complete","SafeSubscriber","handleStoppedNotification","nextNotification","_next","_error","_complete","_bind","fn","thisArg","ConsumerObserver","partialObserver","handleUnhandledError","observerOrNext","context_1","errorThrown","reportUnhandledError","notification","subscriber","OperatorSubscriber","onNext","onComplete","onError","onFinalize","shouldUnsubscribe","closed_1","observable","identity","getPromiseCtor","promiseCtor","_subscribe","lift","operator","isObserver","isRoot","errorContext","_trySubscribe","sink","reject","operations","fns","reduce","prev","toPromise","logger","grafanaSceneLogging","isPublicDashboardView","PREVIOUS_PERIOD_VALUE","NO_PERIOD_VALUE","PREVIOUS_PERIOD_COMPARE_OPTION","label","NO_COMPARE_OPTION","DEFAULT_COMPARE_OPTIONS","SceneTimeRangeCompare","compareOptions","sceneTimeRange","getCompareOptions","stateUpdate","diffDays","ceil","diff","matchIndex","findIndex","rangeUtil","intervalToMs","onCompareWithChanged","onClearCompare","getCompareTimeRange","compareFrom","compareTo","diffMs","subtract","getStyles","theme","previewButton","css","border","colors","secondary","color","opacity","styles","useStyles2","previousCompare","setPreviousCompare","previousValue","value2","enabled","onClick","ButtonGroup","ToolbarButton","variant","tooltip","Checkbox","ButtonSelect","onChange","isOpen","getCompareSeriesRefId","timeShiftQueryResponseOperator","meta","timeCompare","isTimeShiftQuery","mode","fixedColor","palette","gray60","isSceneObject","isDataRequestEnricher","originalGetAdhocFilters","allActiveFilterSets","SceneQueryRunner","initialState","_variableValueRecorder","_results","ReplaySubject","__sceneObject","prepareRequests","ds","comparer","getTimeCompare","minInterval","queries","secondaryRequest","app","requestId","timezone","panelId","range","targets","cloneDeep","maxDataPoints","getMaxDataPoints","startTime","now","liveStreaming","rangeRaw","sourceRunner","enrichDataRequest","_adhocFilterSet","filters","lowerIntervalLimit","norm","calculateInterval","__interval","__interval_ms","primaryTimeRange","secondaryTimeRange","onDataReceived","preProcessedData","preProcessPanelData","dataWithLayersApplied","_combineDataLayers","hasFetchedData","_hasFetchedData","Loading","runQueries","runWithTimeRange","shouldRunQueriesOnActivate","_onDeactivate","_handleDataLayers","dataLayers","observables","resultsMap","_dataLayersSub","merge","mergeAll","_onLayersReceived","results","dataLayerFilter","alertState","annotations","alertStates","layerKeys","layerKey","topic","DataTopic","Annotations","rows","frameIdx","panelIdField","sourceField","sourceFilter","ids","processed","frameLength","filterAnnotations","frameView","DataFrameView","row","baseStateUpdate","_variablesThatHaveChanged","_isWaitingForVariables","maxDataPointsFromWidth","_containerWidth","_isDataTimeRangeStale","stateTimeRange","dataTimeRange","unix","_querySub","_adhocFilterSub","setContainerWidth","isDataReadyToDisplay","cancelQuery","runRequest","getRunRequest","findFirstDatasource","findAndSubscribeToAdhocFilters","forkJoin","toDataQueryError","_setNoDataState","dsUid","findActiveAdHocFilterSetByUid","applyMode","Components","Breadcrumbs","breadcrumb","title","TimePicker","openButton","fromField","toField","applyTimeRange","calendar","closeButton","absoluteTimeRangeTitle","DataSourcePermissions","form","roleType","rolePicker","permissionLevel","DataSource","TestData","QueryTab","scenarioSelectContainer","scenarioSelect","noise","seriesCount","spread","startValue","drop","DataSourceHttpSettings","urlInput","Jaeger","traceIDInput","Prometheus","configPage","exemplarsAddButton","internalLinkSwitch","exemplarMarker","Menu","MenuComponent","MenuGroup","MenuItem","SubMenu","container","icon","Panels","Panel","headerItems","menuItems","menu","containerByTitle","headerCornerInfo","loadingBar","HoverWidget","dragIcon","Visualization","Graph","VisualizationTab","legendSection","Legend","legendItemAlias","showLegendSwitch","xAxis","BarGauge","valueV2","PieChart","svgSlice","Table","header","footer","VizLegend","seriesName","Drawer","General","expand","contract","close","rcContentWrapper","PanelEditor","content","OptionsPane","select","fieldLabel","DataPane","applyButton","toggleVizPicker","toggleVizOptions","toggleTableView","measureButton","PanelInspector","Data","Stats","Json","Query","refreshButton","jsonObjectKeys","Tab","active","RefreshPicker","runButton","intervalButton","runButtonV2","intervalButtonV2","queryInspectorButton","queryHistoryButton","addQuery","QueryHistory","queryText","QueryEditorRows","QueryEditorRow","actionButton","AlertTab","Alert","alert","severity","alertV2","TransformTab","newTransform","transformationEditor","transformationEditorDebugger","Transforms","card","Reduce","modeLabel","calculationsLabel","SpatialOperations","actionLabel","locationLabel","autoOption","coords","option","latitudeFieldLabel","longitudeFieldLabel","geohash","geohashFieldLabel","lookup","lookupFieldLabel","gazetteerFieldLabel","searchInput","NavBar","Configuration","Toggle","Reporting","NavMenu","NavToolbar","PageToolbar","itemButton","QueryEditorToolbarItem","BackButton","backArrow","OptionsGroup","group","toggle","PluginVisualization","Select","singleValue","FieldConfigEditor","OverridesConfigEditor","FolderPicker","containerV2","ReadonlyFolderPicker","DataSourcePicker","inputV2","TimeZonePicker","WeekStartPicker","TraceViewer","spanBar","QueryField","QueryBuilder","queryPatterns","labelSelect","valueSelect","matchOperatorSelect","ValuePicker","Search","section","sectionV2","items","itemsV2","cards","collapseFolder","sectionId","expandFolder","dashboardItem","dashboardItems","dashboardCard","folderHeader","folderName","folderContent","DashboardLinks","dropDown","link","LoadingIndicator","CallToActionCard","buttonV2","DataLinksContextMenu","singleLink","CodeEditor","DashboardImportPage","textarea","submit","ImportDashboardForm","PanelAlertTabContent","VisualizationPreview","ColorSwatch","DashboardRow","UserProfile","profileSaveButton","preferencesSaveButton","orgsTable","sessionsTable","FileUpload","inputField","fileNameSpan","DebugOverlay","wrapper","OrgRolePicker","AnalyticsToolbarButton","Variables","variableOption","annotationsTypeInput","annotationsChoosePanelInput","selectors","pages","Login","url","username","password","skip","Home","readOnly","saveAndTest","DataSources","dataSources","dataSourceName","EditDataSource","dataSourceUid","settings","AddDataSource","dataSourcePlugins","pluginName","dataSourcePluginsV2","ConfirmModal","AddDashboard","addNewPanel","addNewRow","addNewPanelLibrary","Dashboard","DashNav","nav","navV2","publicDashboardTag","submenu","submenuItem","submenuItemLabels","submenuItemValueDropDownValueLinkTexts","submenuItemValueDropDownDropDown","submenuItemValueDropDownOptionTexts","annotationsWrapper","annotationLabel","annotationToggle","Settings","Actions","deleteDashBoard","sectionItems","saveDashBoard","saveAsDashBoard","List","addAnnotationCTA","addAnnotationCTAV2","NewAnnotation","panelFilterSelect","showInLabel","previewInDashboard","addVariableCTA","addVariableCTAV2","newButton","table","tableRowNameFields","tableRowDefinitionFields","tableRowArrowUpButtons","tableRowArrowDownButtons","tableRowDuplicateButtons","tableRowRemoveButtons","Edit","headerLink","modeLabelNew","modeLabelEdit","generalNameInput","generalNameInputV2","generalTypeSelect","generalTypeSelectV2","generalLabelInput","generalLabelInputV2","generalHideSelect","generalHideSelectV2","selectionOptionsMultiSwitch","selectionOptionsIncludeAllSwitch","selectionOptionsCustomAllInput","selectionOptionsCustomAllInputV2","previewOfValuesOption","submitButton","QueryVariable","queryOptionsDataSourceSelect","queryOptionsRefreshSelect","queryOptionsRefreshSelectV2","queryOptionsRegExInput","queryOptionsRegExInputV2","queryOptionsSortSelect","queryOptionsSortSelectV2","queryOptionsQueryInput","valueGroupsTagsEnabledSwitch","valueGroupsTagsTagsQueryInput","valueGroupsTagsTagsValuesQueryInput","ConstantVariable","constantOptionsQueryInput","constantOptionsQueryInputV2","DatasourceVariable","datasourceSelect","TextBoxVariable","textBoxOptionsQueryInput","textBoxOptionsQueryInputV2","CustomVariable","customValueInput","IntervalVariable","intervalsValueInput","marker","Dashboards","dashboards","SaveDashboardAsModal","newName","save","SaveDashboardModal","saveVariables","saveTimerange","SharePanelModal","linkToRenderedImage","ShareDashboardModal","shareButton","PublicDashboard","WillBePublicCheckbox","LimitedDSCheckbox","CostIncreaseCheckbox","PauseSwitch","EnableAnnotationsSwitch","CreateButton","DeleteButton","CopyUrlInput","CopyUrlButton","TemplateVariablesWarningAlert","UnsupportedDataSourcesWarningAlert","NoUpsertPermissionsWarningAlert","EnableTimeRangeSwitch","EmailSharingConfiguration","Container","ShareType","EmailSharingInput","EmailSharingInviteButton","EmailSharingList","DeleteEmail","ReshareLink","page","NotAvailable","pausedDescription","RequestViewAccess","recipientInput","Explore","graph","scrollView","SoloPanel","PluginsList","list","listItem","signatureErrorNotice","PluginPage","signatureInfo","disabledInfo","PlaylistForm","itemDelete","BrowseDashbards","checkbox","FolderView","PublicDashboards","ListItem","linkButton","configButton","trashcanButton","UserListPage","tabs","allUsers","orgUsers","publicDashboardsUsers","users","org","admin","publicDashboards","UserListAdminPage","UsersListPage","UsersListPublicDashboardsPage","DashboardsListModal","components","Tooltip","Icon","role","onCancel","ControlsLabel","useTheme2","isVertical","loadingIndicator","isLoading","spacing","errorIndicator","placement","errorIcon","testId","labelElement","verticalLabel","htmlFor","normalIcon","onRemove","IconButton","horizontalLabel","background","isDark","primary","alignItems","padding","fontWeight","typography","fontWeightMedium","fontSize","bodySmall","lineHeight","borderRadius","borderColor","whiteSpace","gap","SceneDataLayerControl","isEnabled","onToggleLayer","elementId","showLoading","containerStyle","InlineSwitch","layersMap","acc","toggleLayer","isHidden","VariableValueSelectors","VariableValueSelectWrapper","hide","VariableHide","hideVariable","verticalContainer","VariableLabel","hideLabel","labelOrName","loading","flexDirection","SceneVariableSet","_variablesToUpdate","_updating","SceneVariableSetVariableDependencyHandler","_handleParentVariableUpdatesCompleted","_handleVariableValueChanged","_refreshTimeRangeBasedVariables","_onStateChanged","_checkForVariablesThatChangedWhileInactive","_variableNeedsUpdate","_updateNextBatch","subscription","oldState","variablesToUpdateCountStart","updating","refresh","onTimeRangeChanged","writeVariableTraceLog","_addDependentVariablesToUpdateQueue","validateAndUpdate","variableToUpdate","_validateAndUpdateCompleted","_handleVariableError","_notifyDependentSceneObjects","variableThatChanged","changedVar","otherVariable","_traverseSceneAndNotify","isAncestorLoading","_variableUpdatesCompleted","_emptySet","VariableValueSelect","onInputChange","onSearchChange","action","allowCustomValue","tabSelectsValue","getOptionsForSelect","changeValueTo","VariableValueSelectMulti","maxVisibleValues","arrayValue","useMemo","uncommittedValue","setUncommittedValue","MultiSelect","noMultiValueWrap","closeMenuOnSelect","isClearable","onBlur","renderSelectForVariable","MultiValueVariable","MultiValueUrlSyncHandler","getValueOptions","updateValueGivenNewOptions","setStateHelper","sceneVarSet","currentValue","currentText","defaultToAll","hasAllValue","validValues","validTexts","defaultState","getDefaultMultiState","matchingOption","textMatch","findOptionMatchingCurrent","allValue","CustomAllValue","findLabelTextForValue","shift","optionByLabel","getKey","urlValue","_variable","trim","regex","isDefault","pluginId","getList","metrics","interpolated","stringToJsRegex","defaultOptionEnabled","hasLegacyVariableSupport","metricFindQuery","hasStandardVariableSupport","getType","VariableSupportType","Standard","variableSupport","toDataQuery","hasCustomVariableSupport","Custom","editor","StandardQueryRunner","_runRequest","getTarget","ensureVariableQueryModelIsADataQuery","getEmptyMetricFindValueObservable","LegacyQueryRunner","searchFilter","mergeMap","LoadingState","CustomQueryRunner","getAllMatches","global","onDashboardLoad","VariableSort","_updateOptionsBasedOnSearchFilter","debounce","lastValueFrom","runner","createQueryVariableRunner","getRequest","take","throwError","panelData","firstValue","isDataFrame","firstValueKey","areMetricFindValues","processedDataFrames","getProcessedDataFrames","valueIndex","textIndex","stringIndex","expandableIndex","fieldName","boolean","expandable","variableRegEx","metricNames","_c","_f","isNumber","valueGroup","groups","textGroup","firstMatch","manyMatches","uniqBy","sortOrder","sortByNumeric","opt","sortByNaturalSort","options2","localeCompare","alphabeticalAsc","sortBy","alphabeticalDesc","numericalAsc","numericalDesc","alphabeticalCaseInsensitiveAsc","toLower","alphabeticalCaseInsensitiveDesc","naturalAsc","naturalDesc","sortVariableValues","metricNamesToVariableValues","catchError","cancelled","__searchFilter","CoreApp","buildMetricTree","depth","chars","letter","nodeName","queryTree","queryIndex","nodeQuery","namesToMatch","startsWith","nameToMatch","pattern","queryMetricTree","VariableValueInput","useCallback","setValue","currentTarget","onKeyDown","AutoSizeInput","minWidth","defaultValue","completeUpdate","Subject","isGettingValues","getValueOptionsCount","delayMs","issueQuery","signalUpdateCompleted","interpolatedQuery","getOptions","issuedQuery","optionsToReturn","intervals","autoStepCount","autoMinInterval","autoEnabled","_onChange","some","getAutoRefreshInteval","minRefreshInterval","shouldPublish","firstOption","AdHocFiltersVariableUrlSyncHandler","toArray","escapeDelimiter","toFilter","isFilter","deserializeUrlToFilters","unescapeDelimiter","parts","condition","AdHocFilterRenderer","keyValue","toOption","valueValue","isKeysOpen","widthWhenOpen","_updateFilter","isValuesOpen","isValuesLoading","onOpenMenu","_getValuesFor","onCloseMenu","keySelect","autoFocus","isKeysLoading","_getKeys","openMenuOnFocus","_removeFilter","Field","_getOperators","Button","removeButton","borderTopRightRadius","borderBottomRightRadius","borderTopLeftRadius","borderBottomLeftRadius","zIndex","borderLeft","AdHocFilterBuilder","_wip","_addWip","AdHocFilterSet","baseFilters","_dataSourceSrv","filterSet","templateSrv","getTemplateSrv","getAdhocFilters","dsName","getInstanceSettings","patchGetAdhocFilters","updatedFilters","currentKey","override","getTagKeysProvider","toSelectableValue","getTagKeys","otherFilters","tagKeyRegexFilter","getTagValuesProvider","getTagValues","filterIcon","VariableHide2","_AdHocFiltersVariable","filterExpression","renderFilters","_updateFilterExpression","expr","renderFilter","escapeLabelValueInExactSelector","RE2_METACHARACTERS","escapeLokiRegexp","labelValue","UrlSyncManager","urlKeyMapper","UniqueUrlKeyMapper","_stateSub","_locationSub","_onLocationUpdate","_lastPath","urlParams","rebuildIndex","_sceneRoot","_syncSceneStateFromUrl","newUrlState","searchParams","getSearch","mappedUpdated","newUrlValue","uniqueKey","getUniqueKey","isUrlValueEqual","getAll","partial","initSync","getHistory","listen","syncFrom","cleanUp","sceneObj","currentState","visitNode","objectsWithKey","address","buildIndex","hit","currentUrlValue","urlSyncManager","getUrlSyncManager","EmbeddedScene","unsetGlobalScene","activeScene","prevScene","__grafanaSceneContext","setWindowGrafanaSceneContext","initUrlSync","controls","control","flexGrow","minHeight","flexWrap","isBrowser","useLayoutEffect","ResizeObserver","rect","setRect","contentRect","top_1","observe","disconnect","getChromeStatusMessage","pluginLoadingError","relativeWrapper","absoluteWrapper","getAlertStateStyles","ok","success","pending","warning","alerting","displayOverrideRef","isHideSeriesOverride","isSystemOverrideWithRef","createOverride","names","ByNamesMatcherMode","viz","legend","__systemRef","matcher","FieldMatcherID","byNames","properties","getExistingDisplayNames","rule","getDisplayNames","excludeName","unique","getNamesOfHiddenFields","overrides","fieldMatchers","byName","createProperty","FieldColorModeId","Fixed","VizPanel","fieldConfig","defaults","_structureRev","onTitleChange","onDescriptionChange","onDisplayModeChange","displayMode","onOptionsChange","optionsUpdate","nextOptions","mergeWith","srcValue","withDefaults","getPanelOptionsWithDefaults","plugin","_plugin","currentOptions","currentFieldConfig","isAfterPluginChange","onFieldConfigChange","fieldConfigUpdate","nextFieldConfig","scoped","getDescription","interaction","markdown","renderMarkdown","onCancelQuery","onStatusMessageClick","_onSeriesColorChange","currentIndex","overridesCopy","existing","propertyIndex","propertiesCopy","changeSeriesColorConfigFactory","_onSeriesVisibilityChange","_dataWithFieldConfig","displayName","SeriesVisibilityChangeMode","ToggleSelection","override3","override2","nameOfHiddenFields","createExtendedOverride","allFieldsAreExcluded","seriesVisibilityConfigFactory","_onInstanceStateChange","_pluginInstanceState","_onToggleLegendSort","sortKey","legendOptions","sortDesc","_loadPlugin","getPanelPluginFromCache","getPluginImportUtils","loadPanelPluginSync","_pluginLoaded","importPanelPlugin","then","silent","PanelPlugin","PluginType","baseUrl","info","author","links","logos","large","small","screenshots","updated","version","getPanelPluginNotFound","_pluginLoadError","pluginVersion","_UNSAFE_customMigrationHandler","currentVersion","_getPluginVersion","onPanelMigration","skipDataQuery","buildInfo","getPlugin","getPanelContext","_panelContext","buildPanelContext","applyFieldConfig","rawData","pluginDataSupport","dataSupport","fieldConfigRegistry","prevFrames","_prevData","newFrames","structureRev","compareArrayValues","compareDataFrameStructures","applyFieldOverrides","replaceVariables","theme2","eventsScope","eventBus","getAppEvents","Unknown","onSeriesColorChange","onToggleSeriesVisibility","onToggleLegendSort","onInstanceStateChange","extendPanelContext","isSceneGridRow","SceneGridRow","hoverHeader","headerActions","titleItems","dragClass","dragClassCancel","parentLayout","ancestor","itemDraggingDisabled","getDragClass","getDragClassCancel","getDragClasses","dataObject","dataWithFieldConfig","getPanelTimeRange","titleInterpolated","alertStateStyles","PanelComponent","panelMenu","actionsElement","titleItemsElement","titleItem","PanelChrome","TitleItem","cx","AlertState","OK","Pending","Alerting","isReadyToRender","instanceState","legacyPanelId","loadingState","statusMessage","statusMessageOnClick","actions","noPadding","ErrorBoundaryAlert","dependencies","PluginContextProvider","PanelContextProvider","transparent","renderCounter","onChangeTimeRange","addItem","setItems","focus","renderItems","items2","Divider","Item","iconClassName","childItems","subMenu","href","shortcut","SceneGridLayout","createClass","possibleConstructorReturn","windowObject","cancelFrame","requestFrame","clearTimeoutFn","setTimeoutFn","cancelAnimationFrameFn","cancelAnimationFrame","mozCancelAnimationFrame","webkitCancelAnimationFrame","requestAnimationFrameFn","requestAnimationFrame","mozRequestAnimationFrame","webkitRequestAnimationFrame","sliceIterator","slicedToArray","animationFrameID","timeoutID","AutoSizer","_React$PureComponent","_temp","classCallCheck","defaultHeight","defaultWidth","_onResize","disableHeight","disableWidth","_parentNode","_height","offsetHeight","_width","_style","newHeight","newWidth","_setRef","autoSizer","_autoSizer","inherits","nonce","_detectElementResize","animationKeyframes","animationName","animationStartEvent","animationStyle","checkTriggers","resetTriggers","scrollListener","triggers","__resizeTriggers__","firstElementChild","lastElementChild","expandChild","scrollWidth","scrollHeight","__resizeLast__","__resizeRAF__","__resizeListeners__","animation","keyframeprefix","domPrefixes","startEvents","elm","addResizeListener","elementStyle","head","setAttribute","styleSheet","cssText","createTextNode","createStyles","expandTrigger","contractTrigger","__animationListener__","removeResizeListener","removeChild","createDetectElementResize","_props","outerStyle","overflow","childParams","bailoutOnChildren","PureComponent","useUniqueId","idRefLazy","useRef","uniqueId","LazyLoader","onLoad","setLoaded","isInView","setIsInView","useImperativeHandle","effect","addCallback","isIntersecting","wrapperEl","callbacks","unobserve","IntersectionObserver","rootMargin","_SceneGridLayout","sortChildrenByPosition","_skipOnLayoutChange","getSceneLayoutChild","nextSize","isItemSizeEqual","gridLayout","updatedItem","sceneChild","sortGridLayout","gridItem","childSize","indexOfUpdatedItem","newParent","findGridItemSceneParent","newChildren","moveChildTo","toggleRow","isCollapsed","rowChildren","rowY","yDiff","yMax","newSize","pushDownAmount","pushChildDown","rowChild","amount","startAt","currentParent","rootChildren","newRow","targetRow","toGridCell","isInteger","buildGridLayout","cells","cell","isLazy","validateChildrenSize","getClassName","isCollapsible","onCollapseToggle","getGridLayout","rowc","getSceneGridRowStyles","layoutDragClass","rowCollapsed","rowTitleButton","rowTitle","dragHandle","justifyContent","cursor","borderBottom","weak","h5","collapsedInfo","onToggle","canCollapse","canRemove","gridRow","toolbarControls","align","Input","SceneTimePicker","onZoom","zoomedTimeRange","factor","timespan","center","newTimespan","getZoomedTimeRange","onChangeFiscalYearStartMonth","month","onMoveBackward","getShiftedTimeRange","TimeRangeDirection","Backward","onMoveForward","Forward","hidePicker","isOnCanvas","timeRangeState","TimeRangePicker","onChangeTimeZone","TimeRangeDirection2","dir","upperLimit","oldTo","oldFrom","halfSpan","fromRaw","toRaw","DEFAULT_INTERVALS","SceneRefreshPicker","_intervalTimer","clearInterval","setupIntervalTimer","onIntervalChanged","setInterval","dataProvider","performRepeat","seriesIndex","layoutChild","getLayoutChild","_SceneControlsSpacer","SceneControlsSpacer","SceneFlexLayout","toggleDirection","direction","parentState","_g","_h","_j","wrap","applyItemStyles","alignContent","down","maxHeight","useLayoutStyle","SceneFlexItem","parentDirection","xSizing","ySizing","alignSelf","useLayoutItemStyle","rowGap","columnGap","templateColumns","autoRows","_k","gridTemplateColumns","gridTemplateRows","templateRows","gridAutoRows","justifyItems","gridColumn","VERTICAL_KEYS","HORIZONTAL_KEYS","propsForDirection","dim","column","Splitter","initialSize","primaryPaneStyles","secondaryPaneStyles","onDragFinished","kids","splitterRef","firstPaneRef","secondPaneRef","containerRef","containerSize","primarySizeRef","firstPaneMeasurements","savedPos","measurementProp","clientAxis","minDimProp","maxDimProp","throttleWait","throttledCallback","throttle","resizeObserver","box","useResizeObserver","isSameNode","curSize","newDims","measureElement","ariaValueNow","dragStart","onPointerDown","setPointerCapture","pointerId","onPointerMove","dims","newFlex","onPointerUp","releasePointerCapture","parseFloat","pressedKeys","keysLastHandledAt","handlePressedKeys","dx","sizeChange","firstPaneDims","initiateAnimationLoop","onKeyUp","onDoubleClick","handleHorizontal","tabIndex","flexShrink","userSelect","backgroundColor","main","transition","outline","flexBasis","savedBodyOverflow","savedWidth","savedHeight","savedFlex","Prim","Sec","SceneApp","Switch","Route","SceneReactObject","DebugDetails","keyName","valueAsNumber","isPlainObject","JSONFormatter","json","open","renderValue","DebugTreeNode","selectedObject","onSelect","isSelected","selected","radius","backgroundImage","gradients","brandVertical","SceneDebugger","setIsOpen","setSelectedObject","onClose","panes","pane1","paneHeading","CustomScrollbar","autoHeightMin","treeWrapper","pane2","borderRight","SceneAppPageView","containerPage","SceneAppPage","getParentPageIfTab","containerState","useLocation","locationSearchToObject","useAppQueryParams","getScene","isInitialized","initializedScene","initializeScene","pageNav","img","titleImg","titleIcon","preserveUrlKeys","hideFromBreadcrumbs","parentItem","getParentBreadcrumbs","getParentPage","tab","tabSuffix","pageActions","renderTitle","subTitle","SceneAppDrilldownViewRender","drilldown","getDrilldownPage","component","reactNode","_sceneCache","_drilldownCache","routeMatch","getPage","drilldowns","routes","routePath","isExact","fallbackPage","getFallbackPage","getFallbackRoute","VisibilityMode2","GraphGradientMode2","StackingMode2","VizOrientation2","BigValueColorMode2","BigValueGraphMode2","BigValueJustifyMode2","BigValueTextMode2","BarGaugeDisplayMode2","BarGaugeValueMode2","TableCellHeight2","Auto","None","Gradient","Color","Value","Area","Sm","StandardFieldConfigOverridesBuilder","_overrides","overrideColor","overrideDecimals","overrideDisplayName","overrideFilterable","overrideLinks","overrideMappings","overrideMax","overrideMin","overrideNoValue","overrideThresholds","overrideUnit","FieldConfigOverridesBuilder","matchFieldsWithName","matchFieldsWithNameByRegex","byRegexp","matchFieldsByType","fieldType","byType","matchFieldsByQuery","byFrameRefID","matchFieldsByValue","byValue","matchComparisonQuery","overrideCustomFieldConfig","_id","build","FieldConfigBuilder","defaultFieldConfig","_fieldConfig","_overridesBuilder","setDefaults","custom","setColor","setFieldConfigDefaults","setDecimals","decimals","setDisplayName","setFilterable","filterable","setLinks","setMappings","mappings","setMax","setMin","setNoValue","noValue","setThresholds","thresholds","setUnit","unit","setCustomFieldConfig","setOverrides","builder","PanelOptionsBuilder","defaultOptions","setOption","VizPanelBuilder","_fieldConfigBuilder","_panelOptionsBuilder","setTitle","setDescription","setDisplayMode","setHoverHeader","setMenu","setHeaderActions","setData","setTimeRange","setVariables","setBehaviors","behaviors","PanelBuilders","getBandwidthPanel","qr","rawQuery","resultFormat","alias","showLegend","calcs","getConnectionsPanel","getCPUPanel","getLoadAveragePanel","getMemoryPanel","getNetstatPanel","getReadWriteTimePanel","getWrapCountPanel","getServerScene","hostname","ServerPage","Server","measurement","getTpsPanel","tags","deliveryservice","getBandwidthByCGPanel","getDeliveryServiceScene","deliveryService","DeliveryServicePage","DeliveryService","getCacheGroupScene","cachegroup","CacheGroupPage","CacheGroup","Routes","Redirect","App","Provider","AppPlugin","setRootPage"],"sourceRoot":""} \ No newline at end of file +{"version":3,"file":"module.js","mappings":"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","sources":["webpack://trafficcontrol-scenes-app/../node_modules/clsx/dist/clsx.m.js","webpack://trafficcontrol-scenes-app/../node_modules/lodash.isequal/index.js","webpack://trafficcontrol-scenes-app/../node_modules/prop-types/factoryWithThrowingShims.js","webpack://trafficcontrol-scenes-app/../node_modules/prop-types/index.js","webpack://trafficcontrol-scenes-app/../node_modules/prop-types/lib/ReactPropTypesSecret.js","webpack://trafficcontrol-scenes-app/../node_modules/react-draggable/build/cjs/Draggable.js","webpack://trafficcontrol-scenes-app/../node_modules/react-draggable/build/cjs/DraggableCore.js","webpack://trafficcontrol-scenes-app/../node_modules/react-draggable/build/cjs/cjs.js","webpack://trafficcontrol-scenes-app/../node_modules/react-draggable/build/cjs/utils/domFns.js","webpack://trafficcontrol-scenes-app/../node_modules/react-draggable/build/cjs/utils/getPrefix.js","webpack://trafficcontrol-scenes-app/../node_modules/react-draggable/build/cjs/utils/log.js","webpack://trafficcontrol-scenes-app/../node_modules/react-draggable/build/cjs/utils/positionFns.js","webpack://trafficcontrol-scenes-app/../node_modules/react-draggable/build/cjs/utils/shims.js","webpack://trafficcontrol-scenes-app/../node_modules/react-grid-layout/build/GridItem.js","webpack://trafficcontrol-scenes-app/../node_modules/react-grid-layout/build/ReactGridLayout.js","webpack://trafficcontrol-scenes-app/../node_modules/react-grid-layout/build/ReactGridLayoutPropTypes.js","webpack://trafficcontrol-scenes-app/../node_modules/react-grid-layout/build/ResponsiveReactGridLayout.js","webpack://trafficcontrol-scenes-app/../node_modules/react-grid-layout/build/calculateUtils.js","webpack://trafficcontrol-scenes-app/../node_modules/react-grid-layout/build/components/WidthProvider.js","webpack://trafficcontrol-scenes-app/../node_modules/react-grid-layout/build/fastRGLPropsEqual.js","webpack://trafficcontrol-scenes-app/../node_modules/react-grid-layout/build/responsiveUtils.js","webpack://trafficcontrol-scenes-app/../node_modules/react-grid-layout/build/utils.js","webpack://trafficcontrol-scenes-app/../node_modules/react-grid-layout/index.js","webpack://trafficcontrol-scenes-app/../node_modules/react-resizable/build/Resizable.js","webpack://trafficcontrol-scenes-app/../node_modules/react-resizable/build/ResizableBox.js","webpack://trafficcontrol-scenes-app/../node_modules/react-resizable/build/propTypes.js","webpack://trafficcontrol-scenes-app/../node_modules/react-resizable/build/utils.js","webpack://trafficcontrol-scenes-app/../node_modules/react-resizable/index.js","webpack://trafficcontrol-scenes-app/external amd \"@emotion/css\"","webpack://trafficcontrol-scenes-app/external amd \"@grafana/data\"","webpack://trafficcontrol-scenes-app/external amd \"@grafana/runtime\"","webpack://trafficcontrol-scenes-app/external amd \"@grafana/ui\"","webpack://trafficcontrol-scenes-app/external amd \"lodash\"","webpack://trafficcontrol-scenes-app/external amd \"react\"","webpack://trafficcontrol-scenes-app/external amd \"react-dom\"","webpack://trafficcontrol-scenes-app/external amd \"react-router-dom\"","webpack://trafficcontrol-scenes-app/external amd \"rxjs\"","webpack://trafficcontrol-scenes-app/webpack/bootstrap","webpack://trafficcontrol-scenes-app/webpack/runtime/compat get default export","webpack://trafficcontrol-scenes-app/webpack/runtime/define property getters","webpack://trafficcontrol-scenes-app/webpack/runtime/global","webpack://trafficcontrol-scenes-app/webpack/runtime/hasOwnProperty shorthand","webpack://trafficcontrol-scenes-app/webpack/runtime/make namespace object","webpack://trafficcontrol-scenes-app/webpack/runtime/node module decorator","webpack://trafficcontrol-scenes-app/./utils/utils.plugin.ts","webpack://trafficcontrol-scenes-app/./constants.ts","webpack://trafficcontrol-scenes-app/./utils/utils.routing.ts","webpack://trafficcontrol-scenes-app/../node_modules/@grafana/scenes/dist/esm/components/SceneApp/utils.js","webpack://trafficcontrol-scenes-app/../node_modules/@grafana/scenes/dist/esm/components/VizPanel/registerRuntimePanelPlugin.js","webpack://trafficcontrol-scenes-app/../node_modules/@grafana/scenes/node_modules/uuid/dist/esm-browser/native.js","webpack://trafficcontrol-scenes-app/../node_modules/@grafana/scenes/node_modules/uuid/dist/esm-browser/rng.js","webpack://trafficcontrol-scenes-app/../node_modules/@grafana/scenes/node_modules/uuid/dist/esm-browser/stringify.js","webpack://trafficcontrol-scenes-app/../node_modules/@grafana/scenes/node_modules/uuid/dist/esm-browser/v4.js","webpack://trafficcontrol-scenes-app/../node_modules/@grafana/scenes/dist/esm/core/SceneComponentWrapper.js","webpack://trafficcontrol-scenes-app/../node_modules/@grafana/scenes/dist/esm/core/events.js","webpack://trafficcontrol-scenes-app/../node_modules/@grafana/scenes/dist/esm/core/SceneObjectRef.js","webpack://trafficcontrol-scenes-app/../node_modules/@grafana/scenes/dist/esm/core/SceneObjectBase.js","webpack://trafficcontrol-scenes-app/../node_modules/@grafana/scenes/dist/esm/core/sceneGraph/utils.js","webpack://trafficcontrol-scenes-app/../node_modules/@grafana/scenes/dist/esm/querying/RuntimeDataSource.js","webpack://trafficcontrol-scenes-app/../node_modules/@grafana/schema/dist/esm/raw/dashboard/x/dashboard_types.gen.js","webpack://trafficcontrol-scenes-app/../node_modules/@grafana/scenes/dist/esm/core/SceneDataNode.js","webpack://trafficcontrol-scenes-app/../node_modules/@grafana/scenes/dist/esm/services/SceneObjectUrlSyncConfig.js","webpack://trafficcontrol-scenes-app/../node_modules/@grafana/scenes/dist/esm/utils/parseUrlParam.js","webpack://trafficcontrol-scenes-app/../node_modules/@grafana/scenes/dist/esm/utils/evaluateTimeRange.js","webpack://trafficcontrol-scenes-app/../node_modules/@grafana/scenes/dist/esm/core/SceneTimeRange.js","webpack://trafficcontrol-scenes-app/../node_modules/@grafana/scenes/dist/esm/variables/interpolation/defaults.js","webpack://trafficcontrol-scenes-app/../node_modules/@grafana/scenes/dist/esm/core/sceneGraph/getTimeRange.js","webpack://trafficcontrol-scenes-app/../node_modules/@grafana/schema/dist/esm/common/common.gen.js","webpack://trafficcontrol-scenes-app/../node_modules/@grafana/scenes/dist/esm/variables/types.js","webpack://trafficcontrol-scenes-app/../node_modules/@grafana/scenes/dist/esm/variables/interpolation/fieldAccessorCache.js","webpack://trafficcontrol-scenes-app/../node_modules/@grafana/scenes/dist/esm/variables/interpolation/ScopedVarsVariable.js","webpack://trafficcontrol-scenes-app/../node_modules/@grafana/scenes/dist/esm/variables/interpolation/formatRegistry.js","webpack://trafficcontrol-scenes-app/../node_modules/@grafana/scenes/dist/esm/variables/constants.js","webpack://trafficcontrol-scenes-app/../node_modules/@grafana/scenes/dist/esm/variables/lookupVariable.js","webpack://trafficcontrol-scenes-app/../node_modules/@grafana/scenes/dist/esm/querying/SceneDataLayers.js","webpack://trafficcontrol-scenes-app/../node_modules/@grafana/scenes/dist/esm/core/sceneGraph/sceneGraph.js","webpack://trafficcontrol-scenes-app/../node_modules/@grafana/scenes/dist/esm/variables/macros/types.js","webpack://trafficcontrol-scenes-app/../node_modules/@grafana/scenes/dist/esm/variables/macros/timeMacros.js","webpack://trafficcontrol-scenes-app/../node_modules/@grafana/scenes/dist/esm/variables/macros/AllVariablesMacro.js","webpack://trafficcontrol-scenes-app/../node_modules/@grafana/scenes/dist/esm/variables/macros/templateProxies.js","webpack://trafficcontrol-scenes-app/../node_modules/@grafana/scenes/dist/esm/variables/macros/dataMacros.js","webpack://trafficcontrol-scenes-app/../node_modules/@grafana/scenes/dist/esm/variables/macros/urlMacros.js","webpack://trafficcontrol-scenes-app/../node_modules/@grafana/scenes/dist/esm/variables/macros/index.js","webpack://trafficcontrol-scenes-app/../node_modules/@grafana/scenes/dist/esm/variables/macros/contextMacros.js","webpack://trafficcontrol-scenes-app/../node_modules/@grafana/scenes/dist/esm/variables/utils.js","webpack://trafficcontrol-scenes-app/../node_modules/@grafana/scenes/dist/esm/core/sceneGraph/index.js","webpack://trafficcontrol-scenes-app/../node_modules/@grafana/scenes/dist/esm/variables/interpolation/sceneInterpolator.js","webpack://trafficcontrol-scenes-app/../node_modules/@grafana/scenes/dist/esm/variables/VariableDependencyConfig.js","webpack://trafficcontrol-scenes-app/../node_modules/@grafana/scenes/dist/esm/behaviors/CursorSync.js","webpack://trafficcontrol-scenes-app/../node_modules/@grafana/scenes/dist/esm/utils/getDataSource.js","webpack://trafficcontrol-scenes-app/../node_modules/@grafana/scenes/dist/esm/variables/VariableValueRecorder.js","webpack://trafficcontrol-scenes-app/../node_modules/rxjs/dist/esm5/internal/util/isFunction.js","webpack://trafficcontrol-scenes-app/../node_modules/@grafana/scenes/dist/esm/querying/layers/SceneDataLayerBase.js","webpack://trafficcontrol-scenes-app/../node_modules/rxjs/node_modules/tslib/tslib.es6.mjs","webpack://trafficcontrol-scenes-app/../node_modules/rxjs/dist/esm5/internal/util/UnsubscriptionError.js","webpack://trafficcontrol-scenes-app/../node_modules/rxjs/dist/esm5/internal/util/createErrorClass.js","webpack://trafficcontrol-scenes-app/../node_modules/rxjs/dist/esm5/internal/util/arrRemove.js","webpack://trafficcontrol-scenes-app/../node_modules/rxjs/dist/esm5/internal/Subscription.js","webpack://trafficcontrol-scenes-app/../node_modules/rxjs/dist/esm5/internal/config.js","webpack://trafficcontrol-scenes-app/../node_modules/rxjs/dist/esm5/internal/scheduler/timeoutProvider.js","webpack://trafficcontrol-scenes-app/../node_modules/rxjs/dist/esm5/internal/util/noop.js","webpack://trafficcontrol-scenes-app/../node_modules/rxjs/dist/esm5/internal/NotificationFactories.js","webpack://trafficcontrol-scenes-app/../node_modules/rxjs/dist/esm5/internal/util/errorContext.js","webpack://trafficcontrol-scenes-app/../node_modules/rxjs/dist/esm5/internal/Subscriber.js","webpack://trafficcontrol-scenes-app/../node_modules/rxjs/dist/esm5/internal/util/reportUnhandledError.js","webpack://trafficcontrol-scenes-app/../node_modules/rxjs/dist/esm5/internal/operators/OperatorSubscriber.js","webpack://trafficcontrol-scenes-app/../node_modules/rxjs/dist/esm5/internal/symbol/observable.js","webpack://trafficcontrol-scenes-app/../node_modules/rxjs/dist/esm5/internal/util/identity.js","webpack://trafficcontrol-scenes-app/../node_modules/rxjs/dist/esm5/internal/Observable.js","webpack://trafficcontrol-scenes-app/../node_modules/rxjs/dist/esm5/internal/util/pipe.js","webpack://trafficcontrol-scenes-app/../node_modules/rxjs/dist/esm5/internal/symbol/iterator.js","webpack://trafficcontrol-scenes-app/../node_modules/@grafana/scenes/dist/esm/querying/layers/annotations/standardAnnotationsSupport.js","webpack://trafficcontrol-scenes-app/../node_modules/@grafana/scenes/dist/esm/utils/writeSceneLog.js","webpack://trafficcontrol-scenes-app/../node_modules/@grafana/scenes/dist/esm/querying/layers/annotations/standardAnnotationQuery.js","webpack://trafficcontrol-scenes-app/../node_modules/@grafana/scenes/dist/esm/querying/layers/annotations/utils.js","webpack://trafficcontrol-scenes-app/../node_modules/@grafana/scenes/dist/esm/querying/layers/annotations/AnnotationsDataLayer.js","webpack://trafficcontrol-scenes-app/../node_modules/@grafana/scenes/dist/esm/core/SceneTimeZoneOverride.js","webpack://trafficcontrol-scenes-app/../node_modules/@grafana/scenes/dist/esm/components/SceneTimeRangeCompare.js","webpack://trafficcontrol-scenes-app/../node_modules/@grafana/scenes/dist/esm/utils/getCompareSeriesRefId.js","webpack://trafficcontrol-scenes-app/../node_modules/@grafana/scenes/dist/esm/querying/timeShiftQueryResponseOperator.js","webpack://trafficcontrol-scenes-app/../node_modules/@grafana/scenes/dist/esm/querying/layers/annotations/filterAnnotations.js","webpack://trafficcontrol-scenes-app/../node_modules/@grafana/scenes/dist/esm/core/types.js","webpack://trafficcontrol-scenes-app/../node_modules/@grafana/scenes/dist/esm/variables/adhoc/patchGetAdhocFilters.js","webpack://trafficcontrol-scenes-app/../node_modules/@grafana/scenes/dist/esm/querying/SceneQueryRunner.js","webpack://trafficcontrol-scenes-app/../node_modules/@grafana/scenes/dist/esm/querying/getEnrichedDataRequest.js","webpack://trafficcontrol-scenes-app/../node_modules/@grafana/scenes/node_modules/@grafana/e2e-selectors/dist/esm/selectors/components.js","webpack://trafficcontrol-scenes-app/../node_modules/@grafana/scenes/node_modules/@grafana/e2e-selectors/dist/esm/selectors/index.js","webpack://trafficcontrol-scenes-app/../node_modules/@grafana/scenes/node_modules/@grafana/e2e-selectors/dist/esm/selectors/pages.js","webpack://trafficcontrol-scenes-app/../node_modules/@grafana/scenes/dist/esm/utils/LoadingIndicator.js","webpack://trafficcontrol-scenes-app/../node_modules/@grafana/scenes/dist/esm/utils/ControlsLabel.js","webpack://trafficcontrol-scenes-app/../node_modules/@grafana/scenes/dist/esm/querying/layers/SceneDataLayerControls.js","webpack://trafficcontrol-scenes-app/../node_modules/@grafana/scenes/dist/esm/querying/SceneDataTransformer.js","webpack://trafficcontrol-scenes-app/../node_modules/@grafana/scenes/dist/esm/variables/components/VariableValueSelectors.js","webpack://trafficcontrol-scenes-app/../node_modules/@grafana/scenes/dist/esm/variables/sets/SceneVariableSet.js","webpack://trafficcontrol-scenes-app/../node_modules/@grafana/scenes/dist/esm/variables/components/VariableValueSelect.js","webpack://trafficcontrol-scenes-app/../node_modules/@grafana/scenes/dist/esm/variables/variants/ConstantVariable.js","webpack://trafficcontrol-scenes-app/../node_modules/@grafana/scenes/dist/esm/variables/variants/MultiValueVariable.js","webpack://trafficcontrol-scenes-app/../node_modules/@grafana/scenes/dist/esm/utils/utils.js","webpack://trafficcontrol-scenes-app/../node_modules/@grafana/scenes/dist/esm/variables/variants/CustomVariable.js","webpack://trafficcontrol-scenes-app/../node_modules/@grafana/scenes/dist/esm/variables/variants/DataSourceVariable.js","webpack://trafficcontrol-scenes-app/../node_modules/@grafana/scenes/dist/esm/variables/variants/query/guards.js","webpack://trafficcontrol-scenes-app/../node_modules/@grafana/scenes/dist/esm/variables/variants/query/createQueryVariableRunner.js","webpack://trafficcontrol-scenes-app/../node_modules/@grafana/scenes/dist/esm/variables/variants/query/utils.js","webpack://trafficcontrol-scenes-app/../node_modules/@grafana/scenes/dist/esm/variables/variants/query/QueryVariable.js","webpack://trafficcontrol-scenes-app/../node_modules/@grafana/scenes/dist/esm/variables/variants/query/toMetricFindValues.js","webpack://trafficcontrol-scenes-app/../node_modules/@grafana/scenes/dist/esm/utils/metricTree.js","webpack://trafficcontrol-scenes-app/../node_modules/@grafana/scenes/dist/esm/variables/variants/TestVariable.js","webpack://trafficcontrol-scenes-app/../node_modules/@grafana/scenes/dist/esm/variables/components/VariableValueInput.js","webpack://trafficcontrol-scenes-app/../node_modules/@grafana/scenes/dist/esm/variables/variants/TextBoxVariable.js","webpack://trafficcontrol-scenes-app/../node_modules/@grafana/scenes/dist/esm/variables/variants/LocalValueVariable.js","webpack://trafficcontrol-scenes-app/../node_modules/@grafana/scenes/dist/esm/variables/variants/IntervalVariable.js","webpack://trafficcontrol-scenes-app/../node_modules/@grafana/scenes/dist/esm/variables/adhoc/AdHocFiltersVariableUrlSyncHandler.js","webpack://trafficcontrol-scenes-app/../node_modules/@grafana/scenes/dist/esm/variables/adhoc/AdHocFilterRenderer.js","webpack://trafficcontrol-scenes-app/../node_modules/@grafana/scenes/dist/esm/variables/adhoc/AdHocFilterBuilder.js","webpack://trafficcontrol-scenes-app/../node_modules/@grafana/scenes/dist/esm/variables/adhoc/AdHocFiltersSet.js","webpack://trafficcontrol-scenes-app/../node_modules/@grafana/schema/dist/esm/veneer/dashboard.types.js","webpack://trafficcontrol-scenes-app/../node_modules/@grafana/scenes/dist/esm/variables/adhoc/AdHocFiltersVariable.js","webpack://trafficcontrol-scenes-app/../node_modules/@grafana/scenes/dist/esm/services/UrlSyncManager.js","webpack://trafficcontrol-scenes-app/../node_modules/@grafana/scenes/dist/esm/components/EmbeddedScene.js","webpack://trafficcontrol-scenes-app/../node_modules/@grafana/scenes/dist/esm/utils/compatibility/setWindowGrafanaSceneContext.js","webpack://trafficcontrol-scenes-app/../node_modules/react-use/esm/misc/util.js","webpack://trafficcontrol-scenes-app/../node_modules/react-use/esm/useIsomorphicLayoutEffect.js","webpack://trafficcontrol-scenes-app/../node_modules/react-use/esm/useMeasure.js","webpack://trafficcontrol-scenes-app/../node_modules/@grafana/scenes/dist/esm/components/VizPanel/VizPanelRenderer.js","webpack://trafficcontrol-scenes-app/../node_modules/@grafana/scenes/dist/esm/components/VizPanel/seriesVisibilityConfigFactory.js","webpack://trafficcontrol-scenes-app/../node_modules/@grafana/scenes/dist/esm/components/VizPanel/colorSeriesConfigFactory.js","webpack://trafficcontrol-scenes-app/../node_modules/@grafana/scenes/dist/esm/components/VizPanel/VizPanel.js","webpack://trafficcontrol-scenes-app/../node_modules/@grafana/scenes/dist/esm/components/layout/grid/SceneGridItem.js","webpack://trafficcontrol-scenes-app/../node_modules/@grafana/scenes/dist/esm/components/VizPanel/VizPanelMenu.js","webpack://trafficcontrol-scenes-app/../node_modules/react-virtualized-auto-sizer/dist/index.esm.js","webpack://trafficcontrol-scenes-app/../node_modules/@grafana/scenes/dist/esm/components/layout/LazyLoader.js","webpack://trafficcontrol-scenes-app/../node_modules/react-use/esm/useEffectOnce.js","webpack://trafficcontrol-scenes-app/../node_modules/@grafana/scenes/dist/esm/components/layout/grid/SceneGridLayoutRenderer.js","webpack://trafficcontrol-scenes-app/../node_modules/@grafana/scenes/dist/esm/components/layout/grid/SceneGridLayout.js","webpack://trafficcontrol-scenes-app/../node_modules/@grafana/scenes/dist/esm/components/layout/grid/constants.js","webpack://trafficcontrol-scenes-app/../node_modules/@grafana/scenes/dist/esm/components/layout/grid/SceneGridRow.js","webpack://trafficcontrol-scenes-app/../node_modules/@grafana/scenes/dist/esm/components/NestedScene.js","webpack://trafficcontrol-scenes-app/../node_modules/@grafana/scenes/dist/esm/components/SceneCanvasText.js","webpack://trafficcontrol-scenes-app/../node_modules/@grafana/scenes/dist/esm/components/SceneToolbarButton.js","webpack://trafficcontrol-scenes-app/../node_modules/@grafana/scenes/dist/esm/components/SceneTimePicker.js","webpack://trafficcontrol-scenes-app/../node_modules/@grafana/scenes/dist/esm/components/SceneRefreshPicker.js","webpack://trafficcontrol-scenes-app/../node_modules/@grafana/scenes/dist/esm/components/SceneByFrameRepeater.js","webpack://trafficcontrol-scenes-app/../node_modules/@grafana/scenes/dist/esm/components/SceneControlsSpacer.js","webpack://trafficcontrol-scenes-app/../node_modules/@grafana/scenes/dist/esm/components/layout/SceneFlexLayout.js","webpack://trafficcontrol-scenes-app/../node_modules/@grafana/scenes/dist/esm/components/layout/CSSGrid/SceneCSSGridLayout.js","webpack://trafficcontrol-scenes-app/../node_modules/@grafana/scenes/dist/esm/components/layout/split/Splitter.js","webpack://trafficcontrol-scenes-app/../node_modules/@grafana/scenes/dist/esm/components/layout/split/SplitLayout.js","webpack://trafficcontrol-scenes-app/../node_modules/@grafana/scenes/dist/esm/components/layout/split/SplitLayoutRenderer.js","webpack://trafficcontrol-scenes-app/../node_modules/@grafana/scenes/dist/esm/components/SceneApp/SceneApp.js","webpack://trafficcontrol-scenes-app/../node_modules/@grafana/scenes/dist/esm/components/SceneReactObject.js","webpack://trafficcontrol-scenes-app/../node_modules/@grafana/scenes/dist/esm/components/SceneDebugger/DebugDetails.js","webpack://trafficcontrol-scenes-app/../node_modules/@grafana/scenes/dist/esm/components/SceneDebugger/DebugTreeNode.js","webpack://trafficcontrol-scenes-app/../node_modules/@grafana/scenes/dist/esm/components/SceneDebugger/SceneDebugger.js","webpack://trafficcontrol-scenes-app/../node_modules/@grafana/scenes/dist/esm/components/SceneApp/SceneAppPageView.js","webpack://trafficcontrol-scenes-app/../node_modules/@grafana/scenes/dist/esm/components/SceneApp/SceneAppPage.js","webpack://trafficcontrol-scenes-app/../node_modules/@grafana/schema/dist/esm/common.gen-58e5e938.js","webpack://trafficcontrol-scenes-app/../node_modules/@grafana/schema/dist/esm/raw/composable/barchart/panelcfg/x/BarChartPanelCfg_types.gen.js","webpack://trafficcontrol-scenes-app/../node_modules/@grafana/schema/dist/esm/raw/composable/bargauge/panelcfg/x/BarGaugePanelCfg_types.gen.js","webpack://trafficcontrol-scenes-app/../node_modules/@grafana/schema/dist/esm/raw/composable/heatmap/panelcfg/x/HeatmapPanelCfg_types.gen.js","webpack://trafficcontrol-scenes-app/../node_modules/@grafana/schema/dist/esm/raw/composable/histogram/panelcfg/x/HistogramPanelCfg_types.gen.js","webpack://trafficcontrol-scenes-app/../node_modules/@grafana/schema/dist/esm/raw/composable/stat/panelcfg/x/StatPanelCfg_types.gen.js","webpack://trafficcontrol-scenes-app/../node_modules/@grafana/schema/dist/esm/raw/composable/statetimeline/panelcfg/x/StateTimelinePanelCfg_types.gen.js","webpack://trafficcontrol-scenes-app/../node_modules/@grafana/schema/dist/esm/raw/composable/statushistory/panelcfg/x/StatusHistoryPanelCfg_types.gen.js","webpack://trafficcontrol-scenes-app/../node_modules/@grafana/schema/dist/esm/raw/composable/table/panelcfg/x/TablePanelCfg_types.gen.js","webpack://trafficcontrol-scenes-app/../node_modules/@grafana/schema/dist/esm/raw/composable/xychart/panelcfg/x/XYChartPanelCfg_types.gen.js","webpack://trafficcontrol-scenes-app/../node_modules/@grafana/scenes/dist/esm/core/PanelBuilders/StandardFieldConfigBuilders.js","webpack://trafficcontrol-scenes-app/../node_modules/@grafana/scenes/dist/esm/core/PanelBuilders/FieldConfigOverridesBuilder.js","webpack://trafficcontrol-scenes-app/../node_modules/@grafana/scenes/dist/esm/core/PanelBuilders/FieldConfigBuilder.js","webpack://trafficcontrol-scenes-app/../node_modules/@grafana/scenes/dist/esm/core/PanelBuilders/PanelOptionsBuilder.js","webpack://trafficcontrol-scenes-app/../node_modules/@grafana/scenes/dist/esm/core/PanelBuilders/VizPanelBuilder.js","webpack://trafficcontrol-scenes-app/../node_modules/@grafana/scenes/dist/esm/core/PanelBuilders/index.js","webpack://trafficcontrol-scenes-app/./pages/Server/panels/bandwidth.tsx","webpack://trafficcontrol-scenes-app/./pages/Server/panels/connections.tsx","webpack://trafficcontrol-scenes-app/./pages/Server/panels/cpu.tsx","webpack://trafficcontrol-scenes-app/./pages/Server/panels/load-average.tsx","webpack://trafficcontrol-scenes-app/./pages/Server/panels/memory.tsx","webpack://trafficcontrol-scenes-app/./pages/Server/panels/netstat.tsx","webpack://trafficcontrol-scenes-app/./pages/Server/panels/read-write-time.tsx","webpack://trafficcontrol-scenes-app/./pages/Server/panels/wrap-count.tsx","webpack://trafficcontrol-scenes-app/./pages/Server/scene.tsx","webpack://trafficcontrol-scenes-app/./pages/Server/Server.tsx","webpack://trafficcontrol-scenes-app/./pages/DeliveryService/panels/bandwidth.tsx","webpack://trafficcontrol-scenes-app/./pages/DeliveryService/panels/tps.tsx","webpack://trafficcontrol-scenes-app/./pages/DeliveryService/panels/bandwidth-cg.tsx","webpack://trafficcontrol-scenes-app/./pages/DeliveryService/scene.tsx","webpack://trafficcontrol-scenes-app/./pages/DeliveryService/DeliveryService.tsx","webpack://trafficcontrol-scenes-app/./pages/CacheGroup/panels/bandwidth.tsx","webpack://trafficcontrol-scenes-app/./pages/CacheGroup/panels/connections.tsx","webpack://trafficcontrol-scenes-app/./pages/CacheGroup/scene.tsx","webpack://trafficcontrol-scenes-app/./pages/CacheGroup/CacheGroup.tsx","webpack://trafficcontrol-scenes-app/./components/Routes/Routes.tsx","webpack://trafficcontrol-scenes-app/./components/App/App.tsx","webpack://trafficcontrol-scenes-app/./module.ts"],"sourcesContent":["function r(e){var t,f,n=\"\";if(\"string\"==typeof e||\"number\"==typeof e)n+=e;else if(\"object\"==typeof e)if(Array.isArray(e))for(t=0;t\n * Build: `lodash modularize exports=\"npm\" -o ./`\n * Copyright JS Foundation and other contributors \n * Released under MIT license \n * Based on Underscore.js 1.8.3 \n * Copyright Jeremy Ashkenas, DocumentCloud and Investigative Reporters & Editors\n */\n\n/** Used as the size to enable large array optimizations. */\nvar LARGE_ARRAY_SIZE = 200;\n\n/** Used to stand-in for `undefined` hash values. */\nvar HASH_UNDEFINED = '__lodash_hash_undefined__';\n\n/** Used to compose bitmasks for value comparisons. */\nvar COMPARE_PARTIAL_FLAG = 1,\n COMPARE_UNORDERED_FLAG = 2;\n\n/** Used as references for various `Number` constants. */\nvar MAX_SAFE_INTEGER = 9007199254740991;\n\n/** `Object#toString` result references. */\nvar argsTag = '[object Arguments]',\n arrayTag = '[object Array]',\n asyncTag = '[object AsyncFunction]',\n boolTag = '[object Boolean]',\n dateTag = '[object Date]',\n errorTag = '[object Error]',\n funcTag = '[object Function]',\n genTag = '[object GeneratorFunction]',\n mapTag = '[object Map]',\n numberTag = '[object Number]',\n nullTag = '[object Null]',\n objectTag = '[object Object]',\n promiseTag = '[object Promise]',\n proxyTag = '[object Proxy]',\n regexpTag = '[object RegExp]',\n setTag = '[object Set]',\n stringTag = '[object String]',\n symbolTag = '[object Symbol]',\n undefinedTag = '[object Undefined]',\n weakMapTag = '[object WeakMap]';\n\nvar arrayBufferTag = '[object ArrayBuffer]',\n dataViewTag = '[object DataView]',\n float32Tag = '[object Float32Array]',\n float64Tag = '[object Float64Array]',\n int8Tag = '[object Int8Array]',\n int16Tag = '[object Int16Array]',\n int32Tag = '[object Int32Array]',\n uint8Tag = '[object Uint8Array]',\n uint8ClampedTag = '[object Uint8ClampedArray]',\n uint16Tag = '[object Uint16Array]',\n uint32Tag = '[object Uint32Array]';\n\n/**\n * Used to match `RegExp`\n * [syntax characters](http://ecma-international.org/ecma-262/7.0/#sec-patterns).\n */\nvar reRegExpChar = /[\\\\^$.*+?()[\\]{}|]/g;\n\n/** Used to detect host constructors (Safari). */\nvar reIsHostCtor = /^\\[object .+?Constructor\\]$/;\n\n/** Used to detect unsigned integer values. */\nvar reIsUint = /^(?:0|[1-9]\\d*)$/;\n\n/** Used to identify `toStringTag` values of typed arrays. */\nvar typedArrayTags = {};\ntypedArrayTags[float32Tag] = typedArrayTags[float64Tag] =\ntypedArrayTags[int8Tag] = typedArrayTags[int16Tag] =\ntypedArrayTags[int32Tag] = typedArrayTags[uint8Tag] =\ntypedArrayTags[uint8ClampedTag] = typedArrayTags[uint16Tag] =\ntypedArrayTags[uint32Tag] = true;\ntypedArrayTags[argsTag] = typedArrayTags[arrayTag] =\ntypedArrayTags[arrayBufferTag] = typedArrayTags[boolTag] =\ntypedArrayTags[dataViewTag] = typedArrayTags[dateTag] =\ntypedArrayTags[errorTag] = typedArrayTags[funcTag] =\ntypedArrayTags[mapTag] = typedArrayTags[numberTag] =\ntypedArrayTags[objectTag] = typedArrayTags[regexpTag] =\ntypedArrayTags[setTag] = typedArrayTags[stringTag] =\ntypedArrayTags[weakMapTag] = false;\n\n/** Detect free variable `global` from Node.js. */\nvar freeGlobal = typeof global == 'object' && global && global.Object === Object && global;\n\n/** Detect free variable `self`. */\nvar freeSelf = typeof self == 'object' && self && self.Object === Object && self;\n\n/** Used as a reference to the global object. */\nvar root = freeGlobal || freeSelf || Function('return this')();\n\n/** Detect free variable `exports`. */\nvar freeExports = typeof exports == 'object' && exports && !exports.nodeType && exports;\n\n/** Detect free variable `module`. */\nvar freeModule = freeExports && typeof module == 'object' && module && !module.nodeType && module;\n\n/** Detect the popular CommonJS extension `module.exports`. */\nvar moduleExports = freeModule && freeModule.exports === freeExports;\n\n/** Detect free variable `process` from Node.js. */\nvar freeProcess = moduleExports && freeGlobal.process;\n\n/** Used to access faster Node.js helpers. */\nvar nodeUtil = (function() {\n try {\n return freeProcess && freeProcess.binding && freeProcess.binding('util');\n } catch (e) {}\n}());\n\n/* Node.js helper references. */\nvar nodeIsTypedArray = nodeUtil && nodeUtil.isTypedArray;\n\n/**\n * A specialized version of `_.filter` for arrays without support for\n * iteratee shorthands.\n *\n * @private\n * @param {Array} [array] The array to iterate over.\n * @param {Function} predicate The function invoked per iteration.\n * @returns {Array} Returns the new filtered array.\n */\nfunction arrayFilter(array, predicate) {\n var index = -1,\n length = array == null ? 0 : array.length,\n resIndex = 0,\n result = [];\n\n while (++index < length) {\n var value = array[index];\n if (predicate(value, index, array)) {\n result[resIndex++] = value;\n }\n }\n return result;\n}\n\n/**\n * Appends the elements of `values` to `array`.\n *\n * @private\n * @param {Array} array The array to modify.\n * @param {Array} values The values to append.\n * @returns {Array} Returns `array`.\n */\nfunction arrayPush(array, values) {\n var index = -1,\n length = values.length,\n offset = array.length;\n\n while (++index < length) {\n array[offset + index] = values[index];\n }\n return array;\n}\n\n/**\n * A specialized version of `_.some` for arrays without support for iteratee\n * shorthands.\n *\n * @private\n * @param {Array} [array] The array to iterate over.\n * @param {Function} predicate The function invoked per iteration.\n * @returns {boolean} Returns `true` if any element passes the predicate check,\n * else `false`.\n */\nfunction arraySome(array, predicate) {\n var index = -1,\n length = array == null ? 0 : array.length;\n\n while (++index < length) {\n if (predicate(array[index], index, array)) {\n return true;\n }\n }\n return false;\n}\n\n/**\n * The base implementation of `_.times` without support for iteratee shorthands\n * or max array length checks.\n *\n * @private\n * @param {number} n The number of times to invoke `iteratee`.\n * @param {Function} iteratee The function invoked per iteration.\n * @returns {Array} Returns the array of results.\n */\nfunction baseTimes(n, iteratee) {\n var index = -1,\n result = Array(n);\n\n while (++index < n) {\n result[index] = iteratee(index);\n }\n return result;\n}\n\n/**\n * The base implementation of `_.unary` without support for storing metadata.\n *\n * @private\n * @param {Function} func The function to cap arguments for.\n * @returns {Function} Returns the new capped function.\n */\nfunction baseUnary(func) {\n return function(value) {\n return func(value);\n };\n}\n\n/**\n * Checks if a `cache` value for `key` exists.\n *\n * @private\n * @param {Object} cache The cache to query.\n * @param {string} key The key of the entry to check.\n * @returns {boolean} Returns `true` if an entry for `key` exists, else `false`.\n */\nfunction cacheHas(cache, key) {\n return cache.has(key);\n}\n\n/**\n * Gets the value at `key` of `object`.\n *\n * @private\n * @param {Object} [object] The object to query.\n * @param {string} key The key of the property to get.\n * @returns {*} Returns the property value.\n */\nfunction getValue(object, key) {\n return object == null ? undefined : object[key];\n}\n\n/**\n * Converts `map` to its key-value pairs.\n *\n * @private\n * @param {Object} map The map to convert.\n * @returns {Array} Returns the key-value pairs.\n */\nfunction mapToArray(map) {\n var index = -1,\n result = Array(map.size);\n\n map.forEach(function(value, key) {\n result[++index] = [key, value];\n });\n return result;\n}\n\n/**\n * Creates a unary function that invokes `func` with its argument transformed.\n *\n * @private\n * @param {Function} func The function to wrap.\n * @param {Function} transform The argument transform.\n * @returns {Function} Returns the new function.\n */\nfunction overArg(func, transform) {\n return function(arg) {\n return func(transform(arg));\n };\n}\n\n/**\n * Converts `set` to an array of its values.\n *\n * @private\n * @param {Object} set The set to convert.\n * @returns {Array} Returns the values.\n */\nfunction setToArray(set) {\n var index = -1,\n result = Array(set.size);\n\n set.forEach(function(value) {\n result[++index] = value;\n });\n return result;\n}\n\n/** Used for built-in method references. */\nvar arrayProto = Array.prototype,\n funcProto = Function.prototype,\n objectProto = Object.prototype;\n\n/** Used to detect overreaching core-js shims. */\nvar coreJsData = root['__core-js_shared__'];\n\n/** Used to resolve the decompiled source of functions. */\nvar funcToString = funcProto.toString;\n\n/** Used to check objects for own properties. */\nvar hasOwnProperty = objectProto.hasOwnProperty;\n\n/** Used to detect methods masquerading as native. */\nvar maskSrcKey = (function() {\n var uid = /[^.]+$/.exec(coreJsData && coreJsData.keys && coreJsData.keys.IE_PROTO || '');\n return uid ? ('Symbol(src)_1.' + uid) : '';\n}());\n\n/**\n * Used to resolve the\n * [`toStringTag`](http://ecma-international.org/ecma-262/7.0/#sec-object.prototype.tostring)\n * of values.\n */\nvar nativeObjectToString = objectProto.toString;\n\n/** Used to detect if a method is native. */\nvar reIsNative = RegExp('^' +\n funcToString.call(hasOwnProperty).replace(reRegExpChar, '\\\\$&')\n .replace(/hasOwnProperty|(function).*?(?=\\\\\\()| for .+?(?=\\\\\\])/g, '$1.*?') + '$'\n);\n\n/** Built-in value references. */\nvar Buffer = moduleExports ? root.Buffer : undefined,\n Symbol = root.Symbol,\n Uint8Array = root.Uint8Array,\n propertyIsEnumerable = objectProto.propertyIsEnumerable,\n splice = arrayProto.splice,\n symToStringTag = Symbol ? Symbol.toStringTag : undefined;\n\n/* Built-in method references for those with the same name as other `lodash` methods. */\nvar nativeGetSymbols = Object.getOwnPropertySymbols,\n nativeIsBuffer = Buffer ? Buffer.isBuffer : undefined,\n nativeKeys = overArg(Object.keys, Object);\n\n/* Built-in method references that are verified to be native. */\nvar DataView = getNative(root, 'DataView'),\n Map = getNative(root, 'Map'),\n Promise = getNative(root, 'Promise'),\n Set = getNative(root, 'Set'),\n WeakMap = getNative(root, 'WeakMap'),\n nativeCreate = getNative(Object, 'create');\n\n/** Used to detect maps, sets, and weakmaps. */\nvar dataViewCtorString = toSource(DataView),\n mapCtorString = toSource(Map),\n promiseCtorString = toSource(Promise),\n setCtorString = toSource(Set),\n weakMapCtorString = toSource(WeakMap);\n\n/** Used to convert symbols to primitives and strings. */\nvar symbolProto = Symbol ? Symbol.prototype : undefined,\n symbolValueOf = symbolProto ? symbolProto.valueOf : undefined;\n\n/**\n * Creates a hash object.\n *\n * @private\n * @constructor\n * @param {Array} [entries] The key-value pairs to cache.\n */\nfunction Hash(entries) {\n var index = -1,\n length = entries == null ? 0 : entries.length;\n\n this.clear();\n while (++index < length) {\n var entry = entries[index];\n this.set(entry[0], entry[1]);\n }\n}\n\n/**\n * Removes all key-value entries from the hash.\n *\n * @private\n * @name clear\n * @memberOf Hash\n */\nfunction hashClear() {\n this.__data__ = nativeCreate ? nativeCreate(null) : {};\n this.size = 0;\n}\n\n/**\n * Removes `key` and its value from the hash.\n *\n * @private\n * @name delete\n * @memberOf Hash\n * @param {Object} hash The hash to modify.\n * @param {string} key The key of the value to remove.\n * @returns {boolean} Returns `true` if the entry was removed, else `false`.\n */\nfunction hashDelete(key) {\n var result = this.has(key) && delete this.__data__[key];\n this.size -= result ? 1 : 0;\n return result;\n}\n\n/**\n * Gets the hash value for `key`.\n *\n * @private\n * @name get\n * @memberOf Hash\n * @param {string} key The key of the value to get.\n * @returns {*} Returns the entry value.\n */\nfunction hashGet(key) {\n var data = this.__data__;\n if (nativeCreate) {\n var result = data[key];\n return result === HASH_UNDEFINED ? undefined : result;\n }\n return hasOwnProperty.call(data, key) ? data[key] : undefined;\n}\n\n/**\n * Checks if a hash value for `key` exists.\n *\n * @private\n * @name has\n * @memberOf Hash\n * @param {string} key The key of the entry to check.\n * @returns {boolean} Returns `true` if an entry for `key` exists, else `false`.\n */\nfunction hashHas(key) {\n var data = this.__data__;\n return nativeCreate ? (data[key] !== undefined) : hasOwnProperty.call(data, key);\n}\n\n/**\n * Sets the hash `key` to `value`.\n *\n * @private\n * @name set\n * @memberOf Hash\n * @param {string} key The key of the value to set.\n * @param {*} value The value to set.\n * @returns {Object} Returns the hash instance.\n */\nfunction hashSet(key, value) {\n var data = this.__data__;\n this.size += this.has(key) ? 0 : 1;\n data[key] = (nativeCreate && value === undefined) ? HASH_UNDEFINED : value;\n return this;\n}\n\n// Add methods to `Hash`.\nHash.prototype.clear = hashClear;\nHash.prototype['delete'] = hashDelete;\nHash.prototype.get = hashGet;\nHash.prototype.has = hashHas;\nHash.prototype.set = hashSet;\n\n/**\n * Creates an list cache object.\n *\n * @private\n * @constructor\n * @param {Array} [entries] The key-value pairs to cache.\n */\nfunction ListCache(entries) {\n var index = -1,\n length = entries == null ? 0 : entries.length;\n\n this.clear();\n while (++index < length) {\n var entry = entries[index];\n this.set(entry[0], entry[1]);\n }\n}\n\n/**\n * Removes all key-value entries from the list cache.\n *\n * @private\n * @name clear\n * @memberOf ListCache\n */\nfunction listCacheClear() {\n this.__data__ = [];\n this.size = 0;\n}\n\n/**\n * Removes `key` and its value from the list cache.\n *\n * @private\n * @name delete\n * @memberOf ListCache\n * @param {string} key The key of the value to remove.\n * @returns {boolean} Returns `true` if the entry was removed, else `false`.\n */\nfunction listCacheDelete(key) {\n var data = this.__data__,\n index = assocIndexOf(data, key);\n\n if (index < 0) {\n return false;\n }\n var lastIndex = data.length - 1;\n if (index == lastIndex) {\n data.pop();\n } else {\n splice.call(data, index, 1);\n }\n --this.size;\n return true;\n}\n\n/**\n * Gets the list cache value for `key`.\n *\n * @private\n * @name get\n * @memberOf ListCache\n * @param {string} key The key of the value to get.\n * @returns {*} Returns the entry value.\n */\nfunction listCacheGet(key) {\n var data = this.__data__,\n index = assocIndexOf(data, key);\n\n return index < 0 ? undefined : data[index][1];\n}\n\n/**\n * Checks if a list cache value for `key` exists.\n *\n * @private\n * @name has\n * @memberOf ListCache\n * @param {string} key The key of the entry to check.\n * @returns {boolean} Returns `true` if an entry for `key` exists, else `false`.\n */\nfunction listCacheHas(key) {\n return assocIndexOf(this.__data__, key) > -1;\n}\n\n/**\n * Sets the list cache `key` to `value`.\n *\n * @private\n * @name set\n * @memberOf ListCache\n * @param {string} key The key of the value to set.\n * @param {*} value The value to set.\n * @returns {Object} Returns the list cache instance.\n */\nfunction listCacheSet(key, value) {\n var data = this.__data__,\n index = assocIndexOf(data, key);\n\n if (index < 0) {\n ++this.size;\n data.push([key, value]);\n } else {\n data[index][1] = value;\n }\n return this;\n}\n\n// Add methods to `ListCache`.\nListCache.prototype.clear = listCacheClear;\nListCache.prototype['delete'] = listCacheDelete;\nListCache.prototype.get = listCacheGet;\nListCache.prototype.has = listCacheHas;\nListCache.prototype.set = listCacheSet;\n\n/**\n * Creates a map cache object to store key-value pairs.\n *\n * @private\n * @constructor\n * @param {Array} [entries] The key-value pairs to cache.\n */\nfunction MapCache(entries) {\n var index = -1,\n length = entries == null ? 0 : entries.length;\n\n this.clear();\n while (++index < length) {\n var entry = entries[index];\n this.set(entry[0], entry[1]);\n }\n}\n\n/**\n * Removes all key-value entries from the map.\n *\n * @private\n * @name clear\n * @memberOf MapCache\n */\nfunction mapCacheClear() {\n this.size = 0;\n this.__data__ = {\n 'hash': new Hash,\n 'map': new (Map || ListCache),\n 'string': new Hash\n };\n}\n\n/**\n * Removes `key` and its value from the map.\n *\n * @private\n * @name delete\n * @memberOf MapCache\n * @param {string} key The key of the value to remove.\n * @returns {boolean} Returns `true` if the entry was removed, else `false`.\n */\nfunction mapCacheDelete(key) {\n var result = getMapData(this, key)['delete'](key);\n this.size -= result ? 1 : 0;\n return result;\n}\n\n/**\n * Gets the map value for `key`.\n *\n * @private\n * @name get\n * @memberOf MapCache\n * @param {string} key The key of the value to get.\n * @returns {*} Returns the entry value.\n */\nfunction mapCacheGet(key) {\n return getMapData(this, key).get(key);\n}\n\n/**\n * Checks if a map value for `key` exists.\n *\n * @private\n * @name has\n * @memberOf MapCache\n * @param {string} key The key of the entry to check.\n * @returns {boolean} Returns `true` if an entry for `key` exists, else `false`.\n */\nfunction mapCacheHas(key) {\n return getMapData(this, key).has(key);\n}\n\n/**\n * Sets the map `key` to `value`.\n *\n * @private\n * @name set\n * @memberOf MapCache\n * @param {string} key The key of the value to set.\n * @param {*} value The value to set.\n * @returns {Object} Returns the map cache instance.\n */\nfunction mapCacheSet(key, value) {\n var data = getMapData(this, key),\n size = data.size;\n\n data.set(key, value);\n this.size += data.size == size ? 0 : 1;\n return this;\n}\n\n// Add methods to `MapCache`.\nMapCache.prototype.clear = mapCacheClear;\nMapCache.prototype['delete'] = mapCacheDelete;\nMapCache.prototype.get = mapCacheGet;\nMapCache.prototype.has = mapCacheHas;\nMapCache.prototype.set = mapCacheSet;\n\n/**\n *\n * Creates an array cache object to store unique values.\n *\n * @private\n * @constructor\n * @param {Array} [values] The values to cache.\n */\nfunction SetCache(values) {\n var index = -1,\n length = values == null ? 0 : values.length;\n\n this.__data__ = new MapCache;\n while (++index < length) {\n this.add(values[index]);\n }\n}\n\n/**\n * Adds `value` to the array cache.\n *\n * @private\n * @name add\n * @memberOf SetCache\n * @alias push\n * @param {*} value The value to cache.\n * @returns {Object} Returns the cache instance.\n */\nfunction setCacheAdd(value) {\n this.__data__.set(value, HASH_UNDEFINED);\n return this;\n}\n\n/**\n * Checks if `value` is in the array cache.\n *\n * @private\n * @name has\n * @memberOf SetCache\n * @param {*} value The value to search for.\n * @returns {number} Returns `true` if `value` is found, else `false`.\n */\nfunction setCacheHas(value) {\n return this.__data__.has(value);\n}\n\n// Add methods to `SetCache`.\nSetCache.prototype.add = SetCache.prototype.push = setCacheAdd;\nSetCache.prototype.has = setCacheHas;\n\n/**\n * Creates a stack cache object to store key-value pairs.\n *\n * @private\n * @constructor\n * @param {Array} [entries] The key-value pairs to cache.\n */\nfunction Stack(entries) {\n var data = this.__data__ = new ListCache(entries);\n this.size = data.size;\n}\n\n/**\n * Removes all key-value entries from the stack.\n *\n * @private\n * @name clear\n * @memberOf Stack\n */\nfunction stackClear() {\n this.__data__ = new ListCache;\n this.size = 0;\n}\n\n/**\n * Removes `key` and its value from the stack.\n *\n * @private\n * @name delete\n * @memberOf Stack\n * @param {string} key The key of the value to remove.\n * @returns {boolean} Returns `true` if the entry was removed, else `false`.\n */\nfunction stackDelete(key) {\n var data = this.__data__,\n result = data['delete'](key);\n\n this.size = data.size;\n return result;\n}\n\n/**\n * Gets the stack value for `key`.\n *\n * @private\n * @name get\n * @memberOf Stack\n * @param {string} key The key of the value to get.\n * @returns {*} Returns the entry value.\n */\nfunction stackGet(key) {\n return this.__data__.get(key);\n}\n\n/**\n * Checks if a stack value for `key` exists.\n *\n * @private\n * @name has\n * @memberOf Stack\n * @param {string} key The key of the entry to check.\n * @returns {boolean} Returns `true` if an entry for `key` exists, else `false`.\n */\nfunction stackHas(key) {\n return this.__data__.has(key);\n}\n\n/**\n * Sets the stack `key` to `value`.\n *\n * @private\n * @name set\n * @memberOf Stack\n * @param {string} key The key of the value to set.\n * @param {*} value The value to set.\n * @returns {Object} Returns the stack cache instance.\n */\nfunction stackSet(key, value) {\n var data = this.__data__;\n if (data instanceof ListCache) {\n var pairs = data.__data__;\n if (!Map || (pairs.length < LARGE_ARRAY_SIZE - 1)) {\n pairs.push([key, value]);\n this.size = ++data.size;\n return this;\n }\n data = this.__data__ = new MapCache(pairs);\n }\n data.set(key, value);\n this.size = data.size;\n return this;\n}\n\n// Add methods to `Stack`.\nStack.prototype.clear = stackClear;\nStack.prototype['delete'] = stackDelete;\nStack.prototype.get = stackGet;\nStack.prototype.has = stackHas;\nStack.prototype.set = stackSet;\n\n/**\n * Creates an array of the enumerable property names of the array-like `value`.\n *\n * @private\n * @param {*} value The value to query.\n * @param {boolean} inherited Specify returning inherited property names.\n * @returns {Array} Returns the array of property names.\n */\nfunction arrayLikeKeys(value, inherited) {\n var isArr = isArray(value),\n isArg = !isArr && isArguments(value),\n isBuff = !isArr && !isArg && isBuffer(value),\n isType = !isArr && !isArg && !isBuff && isTypedArray(value),\n skipIndexes = isArr || isArg || isBuff || isType,\n result = skipIndexes ? baseTimes(value.length, String) : [],\n length = result.length;\n\n for (var key in value) {\n if ((inherited || hasOwnProperty.call(value, key)) &&\n !(skipIndexes && (\n // Safari 9 has enumerable `arguments.length` in strict mode.\n key == 'length' ||\n // Node.js 0.10 has enumerable non-index properties on buffers.\n (isBuff && (key == 'offset' || key == 'parent')) ||\n // PhantomJS 2 has enumerable non-index properties on typed arrays.\n (isType && (key == 'buffer' || key == 'byteLength' || key == 'byteOffset')) ||\n // Skip index properties.\n isIndex(key, length)\n ))) {\n result.push(key);\n }\n }\n return result;\n}\n\n/**\n * Gets the index at which the `key` is found in `array` of key-value pairs.\n *\n * @private\n * @param {Array} array The array to inspect.\n * @param {*} key The key to search for.\n * @returns {number} Returns the index of the matched value, else `-1`.\n */\nfunction assocIndexOf(array, key) {\n var length = array.length;\n while (length--) {\n if (eq(array[length][0], key)) {\n return length;\n }\n }\n return -1;\n}\n\n/**\n * The base implementation of `getAllKeys` and `getAllKeysIn` which uses\n * `keysFunc` and `symbolsFunc` to get the enumerable property names and\n * symbols of `object`.\n *\n * @private\n * @param {Object} object The object to query.\n * @param {Function} keysFunc The function to get the keys of `object`.\n * @param {Function} symbolsFunc The function to get the symbols of `object`.\n * @returns {Array} Returns the array of property names and symbols.\n */\nfunction baseGetAllKeys(object, keysFunc, symbolsFunc) {\n var result = keysFunc(object);\n return isArray(object) ? result : arrayPush(result, symbolsFunc(object));\n}\n\n/**\n * The base implementation of `getTag` without fallbacks for buggy environments.\n *\n * @private\n * @param {*} value The value to query.\n * @returns {string} Returns the `toStringTag`.\n */\nfunction baseGetTag(value) {\n if (value == null) {\n return value === undefined ? undefinedTag : nullTag;\n }\n return (symToStringTag && symToStringTag in Object(value))\n ? getRawTag(value)\n : objectToString(value);\n}\n\n/**\n * The base implementation of `_.isArguments`.\n *\n * @private\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is an `arguments` object,\n */\nfunction baseIsArguments(value) {\n return isObjectLike(value) && baseGetTag(value) == argsTag;\n}\n\n/**\n * The base implementation of `_.isEqual` which supports partial comparisons\n * and tracks traversed objects.\n *\n * @private\n * @param {*} value The value to compare.\n * @param {*} other The other value to compare.\n * @param {boolean} bitmask The bitmask flags.\n * 1 - Unordered comparison\n * 2 - Partial comparison\n * @param {Function} [customizer] The function to customize comparisons.\n * @param {Object} [stack] Tracks traversed `value` and `other` objects.\n * @returns {boolean} Returns `true` if the values are equivalent, else `false`.\n */\nfunction baseIsEqual(value, other, bitmask, customizer, stack) {\n if (value === other) {\n return true;\n }\n if (value == null || other == null || (!isObjectLike(value) && !isObjectLike(other))) {\n return value !== value && other !== other;\n }\n return baseIsEqualDeep(value, other, bitmask, customizer, baseIsEqual, stack);\n}\n\n/**\n * A specialized version of `baseIsEqual` for arrays and objects which performs\n * deep comparisons and tracks traversed objects enabling objects with circular\n * references to be compared.\n *\n * @private\n * @param {Object} object The object to compare.\n * @param {Object} other The other object to compare.\n * @param {number} bitmask The bitmask flags. See `baseIsEqual` for more details.\n * @param {Function} customizer The function to customize comparisons.\n * @param {Function} equalFunc The function to determine equivalents of values.\n * @param {Object} [stack] Tracks traversed `object` and `other` objects.\n * @returns {boolean} Returns `true` if the objects are equivalent, else `false`.\n */\nfunction baseIsEqualDeep(object, other, bitmask, customizer, equalFunc, stack) {\n var objIsArr = isArray(object),\n othIsArr = isArray(other),\n objTag = objIsArr ? arrayTag : getTag(object),\n othTag = othIsArr ? arrayTag : getTag(other);\n\n objTag = objTag == argsTag ? objectTag : objTag;\n othTag = othTag == argsTag ? objectTag : othTag;\n\n var objIsObj = objTag == objectTag,\n othIsObj = othTag == objectTag,\n isSameTag = objTag == othTag;\n\n if (isSameTag && isBuffer(object)) {\n if (!isBuffer(other)) {\n return false;\n }\n objIsArr = true;\n objIsObj = false;\n }\n if (isSameTag && !objIsObj) {\n stack || (stack = new Stack);\n return (objIsArr || isTypedArray(object))\n ? equalArrays(object, other, bitmask, customizer, equalFunc, stack)\n : equalByTag(object, other, objTag, bitmask, customizer, equalFunc, stack);\n }\n if (!(bitmask & COMPARE_PARTIAL_FLAG)) {\n var objIsWrapped = objIsObj && hasOwnProperty.call(object, '__wrapped__'),\n othIsWrapped = othIsObj && hasOwnProperty.call(other, '__wrapped__');\n\n if (objIsWrapped || othIsWrapped) {\n var objUnwrapped = objIsWrapped ? object.value() : object,\n othUnwrapped = othIsWrapped ? other.value() : other;\n\n stack || (stack = new Stack);\n return equalFunc(objUnwrapped, othUnwrapped, bitmask, customizer, stack);\n }\n }\n if (!isSameTag) {\n return false;\n }\n stack || (stack = new Stack);\n return equalObjects(object, other, bitmask, customizer, equalFunc, stack);\n}\n\n/**\n * The base implementation of `_.isNative` without bad shim checks.\n *\n * @private\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a native function,\n * else `false`.\n */\nfunction baseIsNative(value) {\n if (!isObject(value) || isMasked(value)) {\n return false;\n }\n var pattern = isFunction(value) ? reIsNative : reIsHostCtor;\n return pattern.test(toSource(value));\n}\n\n/**\n * The base implementation of `_.isTypedArray` without Node.js optimizations.\n *\n * @private\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a typed array, else `false`.\n */\nfunction baseIsTypedArray(value) {\n return isObjectLike(value) &&\n isLength(value.length) && !!typedArrayTags[baseGetTag(value)];\n}\n\n/**\n * The base implementation of `_.keys` which doesn't treat sparse arrays as dense.\n *\n * @private\n * @param {Object} object The object to query.\n * @returns {Array} Returns the array of property names.\n */\nfunction baseKeys(object) {\n if (!isPrototype(object)) {\n return nativeKeys(object);\n }\n var result = [];\n for (var key in Object(object)) {\n if (hasOwnProperty.call(object, key) && key != 'constructor') {\n result.push(key);\n }\n }\n return result;\n}\n\n/**\n * A specialized version of `baseIsEqualDeep` for arrays with support for\n * partial deep comparisons.\n *\n * @private\n * @param {Array} array The array to compare.\n * @param {Array} other The other array to compare.\n * @param {number} bitmask The bitmask flags. See `baseIsEqual` for more details.\n * @param {Function} customizer The function to customize comparisons.\n * @param {Function} equalFunc The function to determine equivalents of values.\n * @param {Object} stack Tracks traversed `array` and `other` objects.\n * @returns {boolean} Returns `true` if the arrays are equivalent, else `false`.\n */\nfunction equalArrays(array, other, bitmask, customizer, equalFunc, stack) {\n var isPartial = bitmask & COMPARE_PARTIAL_FLAG,\n arrLength = array.length,\n othLength = other.length;\n\n if (arrLength != othLength && !(isPartial && othLength > arrLength)) {\n return false;\n }\n // Assume cyclic values are equal.\n var stacked = stack.get(array);\n if (stacked && stack.get(other)) {\n return stacked == other;\n }\n var index = -1,\n result = true,\n seen = (bitmask & COMPARE_UNORDERED_FLAG) ? new SetCache : undefined;\n\n stack.set(array, other);\n stack.set(other, array);\n\n // Ignore non-index properties.\n while (++index < arrLength) {\n var arrValue = array[index],\n othValue = other[index];\n\n if (customizer) {\n var compared = isPartial\n ? customizer(othValue, arrValue, index, other, array, stack)\n : customizer(arrValue, othValue, index, array, other, stack);\n }\n if (compared !== undefined) {\n if (compared) {\n continue;\n }\n result = false;\n break;\n }\n // Recursively compare arrays (susceptible to call stack limits).\n if (seen) {\n if (!arraySome(other, function(othValue, othIndex) {\n if (!cacheHas(seen, othIndex) &&\n (arrValue === othValue || equalFunc(arrValue, othValue, bitmask, customizer, stack))) {\n return seen.push(othIndex);\n }\n })) {\n result = false;\n break;\n }\n } else if (!(\n arrValue === othValue ||\n equalFunc(arrValue, othValue, bitmask, customizer, stack)\n )) {\n result = false;\n break;\n }\n }\n stack['delete'](array);\n stack['delete'](other);\n return result;\n}\n\n/**\n * A specialized version of `baseIsEqualDeep` for comparing objects of\n * the same `toStringTag`.\n *\n * **Note:** This function only supports comparing values with tags of\n * `Boolean`, `Date`, `Error`, `Number`, `RegExp`, or `String`.\n *\n * @private\n * @param {Object} object The object to compare.\n * @param {Object} other The other object to compare.\n * @param {string} tag The `toStringTag` of the objects to compare.\n * @param {number} bitmask The bitmask flags. See `baseIsEqual` for more details.\n * @param {Function} customizer The function to customize comparisons.\n * @param {Function} equalFunc The function to determine equivalents of values.\n * @param {Object} stack Tracks traversed `object` and `other` objects.\n * @returns {boolean} Returns `true` if the objects are equivalent, else `false`.\n */\nfunction equalByTag(object, other, tag, bitmask, customizer, equalFunc, stack) {\n switch (tag) {\n case dataViewTag:\n if ((object.byteLength != other.byteLength) ||\n (object.byteOffset != other.byteOffset)) {\n return false;\n }\n object = object.buffer;\n other = other.buffer;\n\n case arrayBufferTag:\n if ((object.byteLength != other.byteLength) ||\n !equalFunc(new Uint8Array(object), new Uint8Array(other))) {\n return false;\n }\n return true;\n\n case boolTag:\n case dateTag:\n case numberTag:\n // Coerce booleans to `1` or `0` and dates to milliseconds.\n // Invalid dates are coerced to `NaN`.\n return eq(+object, +other);\n\n case errorTag:\n return object.name == other.name && object.message == other.message;\n\n case regexpTag:\n case stringTag:\n // Coerce regexes to strings and treat strings, primitives and objects,\n // as equal. See http://www.ecma-international.org/ecma-262/7.0/#sec-regexp.prototype.tostring\n // for more details.\n return object == (other + '');\n\n case mapTag:\n var convert = mapToArray;\n\n case setTag:\n var isPartial = bitmask & COMPARE_PARTIAL_FLAG;\n convert || (convert = setToArray);\n\n if (object.size != other.size && !isPartial) {\n return false;\n }\n // Assume cyclic values are equal.\n var stacked = stack.get(object);\n if (stacked) {\n return stacked == other;\n }\n bitmask |= COMPARE_UNORDERED_FLAG;\n\n // Recursively compare objects (susceptible to call stack limits).\n stack.set(object, other);\n var result = equalArrays(convert(object), convert(other), bitmask, customizer, equalFunc, stack);\n stack['delete'](object);\n return result;\n\n case symbolTag:\n if (symbolValueOf) {\n return symbolValueOf.call(object) == symbolValueOf.call(other);\n }\n }\n return false;\n}\n\n/**\n * A specialized version of `baseIsEqualDeep` for objects with support for\n * partial deep comparisons.\n *\n * @private\n * @param {Object} object The object to compare.\n * @param {Object} other The other object to compare.\n * @param {number} bitmask The bitmask flags. See `baseIsEqual` for more details.\n * @param {Function} customizer The function to customize comparisons.\n * @param {Function} equalFunc The function to determine equivalents of values.\n * @param {Object} stack Tracks traversed `object` and `other` objects.\n * @returns {boolean} Returns `true` if the objects are equivalent, else `false`.\n */\nfunction equalObjects(object, other, bitmask, customizer, equalFunc, stack) {\n var isPartial = bitmask & COMPARE_PARTIAL_FLAG,\n objProps = getAllKeys(object),\n objLength = objProps.length,\n othProps = getAllKeys(other),\n othLength = othProps.length;\n\n if (objLength != othLength && !isPartial) {\n return false;\n }\n var index = objLength;\n while (index--) {\n var key = objProps[index];\n if (!(isPartial ? key in other : hasOwnProperty.call(other, key))) {\n return false;\n }\n }\n // Assume cyclic values are equal.\n var stacked = stack.get(object);\n if (stacked && stack.get(other)) {\n return stacked == other;\n }\n var result = true;\n stack.set(object, other);\n stack.set(other, object);\n\n var skipCtor = isPartial;\n while (++index < objLength) {\n key = objProps[index];\n var objValue = object[key],\n othValue = other[key];\n\n if (customizer) {\n var compared = isPartial\n ? customizer(othValue, objValue, key, other, object, stack)\n : customizer(objValue, othValue, key, object, other, stack);\n }\n // Recursively compare objects (susceptible to call stack limits).\n if (!(compared === undefined\n ? (objValue === othValue || equalFunc(objValue, othValue, bitmask, customizer, stack))\n : compared\n )) {\n result = false;\n break;\n }\n skipCtor || (skipCtor = key == 'constructor');\n }\n if (result && !skipCtor) {\n var objCtor = object.constructor,\n othCtor = other.constructor;\n\n // Non `Object` object instances with different constructors are not equal.\n if (objCtor != othCtor &&\n ('constructor' in object && 'constructor' in other) &&\n !(typeof objCtor == 'function' && objCtor instanceof objCtor &&\n typeof othCtor == 'function' && othCtor instanceof othCtor)) {\n result = false;\n }\n }\n stack['delete'](object);\n stack['delete'](other);\n return result;\n}\n\n/**\n * Creates an array of own enumerable property names and symbols of `object`.\n *\n * @private\n * @param {Object} object The object to query.\n * @returns {Array} Returns the array of property names and symbols.\n */\nfunction getAllKeys(object) {\n return baseGetAllKeys(object, keys, getSymbols);\n}\n\n/**\n * Gets the data for `map`.\n *\n * @private\n * @param {Object} map The map to query.\n * @param {string} key The reference key.\n * @returns {*} Returns the map data.\n */\nfunction getMapData(map, key) {\n var data = map.__data__;\n return isKeyable(key)\n ? data[typeof key == 'string' ? 'string' : 'hash']\n : data.map;\n}\n\n/**\n * Gets the native function at `key` of `object`.\n *\n * @private\n * @param {Object} object The object to query.\n * @param {string} key The key of the method to get.\n * @returns {*} Returns the function if it's native, else `undefined`.\n */\nfunction getNative(object, key) {\n var value = getValue(object, key);\n return baseIsNative(value) ? value : undefined;\n}\n\n/**\n * A specialized version of `baseGetTag` which ignores `Symbol.toStringTag` values.\n *\n * @private\n * @param {*} value The value to query.\n * @returns {string} Returns the raw `toStringTag`.\n */\nfunction getRawTag(value) {\n var isOwn = hasOwnProperty.call(value, symToStringTag),\n tag = value[symToStringTag];\n\n try {\n value[symToStringTag] = undefined;\n var unmasked = true;\n } catch (e) {}\n\n var result = nativeObjectToString.call(value);\n if (unmasked) {\n if (isOwn) {\n value[symToStringTag] = tag;\n } else {\n delete value[symToStringTag];\n }\n }\n return result;\n}\n\n/**\n * Creates an array of the own enumerable symbols of `object`.\n *\n * @private\n * @param {Object} object The object to query.\n * @returns {Array} Returns the array of symbols.\n */\nvar getSymbols = !nativeGetSymbols ? stubArray : function(object) {\n if (object == null) {\n return [];\n }\n object = Object(object);\n return arrayFilter(nativeGetSymbols(object), function(symbol) {\n return propertyIsEnumerable.call(object, symbol);\n });\n};\n\n/**\n * Gets the `toStringTag` of `value`.\n *\n * @private\n * @param {*} value The value to query.\n * @returns {string} Returns the `toStringTag`.\n */\nvar getTag = baseGetTag;\n\n// Fallback for data views, maps, sets, and weak maps in IE 11 and promises in Node.js < 6.\nif ((DataView && getTag(new DataView(new ArrayBuffer(1))) != dataViewTag) ||\n (Map && getTag(new Map) != mapTag) ||\n (Promise && getTag(Promise.resolve()) != promiseTag) ||\n (Set && getTag(new Set) != setTag) ||\n (WeakMap && getTag(new WeakMap) != weakMapTag)) {\n getTag = function(value) {\n var result = baseGetTag(value),\n Ctor = result == objectTag ? value.constructor : undefined,\n ctorString = Ctor ? toSource(Ctor) : '';\n\n if (ctorString) {\n switch (ctorString) {\n case dataViewCtorString: return dataViewTag;\n case mapCtorString: return mapTag;\n case promiseCtorString: return promiseTag;\n case setCtorString: return setTag;\n case weakMapCtorString: return weakMapTag;\n }\n }\n return result;\n };\n}\n\n/**\n * Checks if `value` is a valid array-like index.\n *\n * @private\n * @param {*} value The value to check.\n * @param {number} [length=MAX_SAFE_INTEGER] The upper bounds of a valid index.\n * @returns {boolean} Returns `true` if `value` is a valid index, else `false`.\n */\nfunction isIndex(value, length) {\n length = length == null ? MAX_SAFE_INTEGER : length;\n return !!length &&\n (typeof value == 'number' || reIsUint.test(value)) &&\n (value > -1 && value % 1 == 0 && value < length);\n}\n\n/**\n * Checks if `value` is suitable for use as unique object key.\n *\n * @private\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is suitable, else `false`.\n */\nfunction isKeyable(value) {\n var type = typeof value;\n return (type == 'string' || type == 'number' || type == 'symbol' || type == 'boolean')\n ? (value !== '__proto__')\n : (value === null);\n}\n\n/**\n * Checks if `func` has its source masked.\n *\n * @private\n * @param {Function} func The function to check.\n * @returns {boolean} Returns `true` if `func` is masked, else `false`.\n */\nfunction isMasked(func) {\n return !!maskSrcKey && (maskSrcKey in func);\n}\n\n/**\n * Checks if `value` is likely a prototype object.\n *\n * @private\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a prototype, else `false`.\n */\nfunction isPrototype(value) {\n var Ctor = value && value.constructor,\n proto = (typeof Ctor == 'function' && Ctor.prototype) || objectProto;\n\n return value === proto;\n}\n\n/**\n * Converts `value` to a string using `Object.prototype.toString`.\n *\n * @private\n * @param {*} value The value to convert.\n * @returns {string} Returns the converted string.\n */\nfunction objectToString(value) {\n return nativeObjectToString.call(value);\n}\n\n/**\n * Converts `func` to its source code.\n *\n * @private\n * @param {Function} func The function to convert.\n * @returns {string} Returns the source code.\n */\nfunction toSource(func) {\n if (func != null) {\n try {\n return funcToString.call(func);\n } catch (e) {}\n try {\n return (func + '');\n } catch (e) {}\n }\n return '';\n}\n\n/**\n * Performs a\n * [`SameValueZero`](http://ecma-international.org/ecma-262/7.0/#sec-samevaluezero)\n * comparison between two values to determine if they are equivalent.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to compare.\n * @param {*} other The other value to compare.\n * @returns {boolean} Returns `true` if the values are equivalent, else `false`.\n * @example\n *\n * var object = { 'a': 1 };\n * var other = { 'a': 1 };\n *\n * _.eq(object, object);\n * // => true\n *\n * _.eq(object, other);\n * // => false\n *\n * _.eq('a', 'a');\n * // => true\n *\n * _.eq('a', Object('a'));\n * // => false\n *\n * _.eq(NaN, NaN);\n * // => true\n */\nfunction eq(value, other) {\n return value === other || (value !== value && other !== other);\n}\n\n/**\n * Checks if `value` is likely an `arguments` object.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is an `arguments` object,\n * else `false`.\n * @example\n *\n * _.isArguments(function() { return arguments; }());\n * // => true\n *\n * _.isArguments([1, 2, 3]);\n * // => false\n */\nvar isArguments = baseIsArguments(function() { return arguments; }()) ? baseIsArguments : function(value) {\n return isObjectLike(value) && hasOwnProperty.call(value, 'callee') &&\n !propertyIsEnumerable.call(value, 'callee');\n};\n\n/**\n * Checks if `value` is classified as an `Array` object.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is an array, else `false`.\n * @example\n *\n * _.isArray([1, 2, 3]);\n * // => true\n *\n * _.isArray(document.body.children);\n * // => false\n *\n * _.isArray('abc');\n * // => false\n *\n * _.isArray(_.noop);\n * // => false\n */\nvar isArray = Array.isArray;\n\n/**\n * Checks if `value` is array-like. A value is considered array-like if it's\n * not a function and has a `value.length` that's an integer greater than or\n * equal to `0` and less than or equal to `Number.MAX_SAFE_INTEGER`.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is array-like, else `false`.\n * @example\n *\n * _.isArrayLike([1, 2, 3]);\n * // => true\n *\n * _.isArrayLike(document.body.children);\n * // => true\n *\n * _.isArrayLike('abc');\n * // => true\n *\n * _.isArrayLike(_.noop);\n * // => false\n */\nfunction isArrayLike(value) {\n return value != null && isLength(value.length) && !isFunction(value);\n}\n\n/**\n * Checks if `value` is a buffer.\n *\n * @static\n * @memberOf _\n * @since 4.3.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a buffer, else `false`.\n * @example\n *\n * _.isBuffer(new Buffer(2));\n * // => true\n *\n * _.isBuffer(new Uint8Array(2));\n * // => false\n */\nvar isBuffer = nativeIsBuffer || stubFalse;\n\n/**\n * Performs a deep comparison between two values to determine if they are\n * equivalent.\n *\n * **Note:** This method supports comparing arrays, array buffers, booleans,\n * date objects, error objects, maps, numbers, `Object` objects, regexes,\n * sets, strings, symbols, and typed arrays. `Object` objects are compared\n * by their own, not inherited, enumerable properties. Functions and DOM\n * nodes are compared by strict equality, i.e. `===`.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Lang\n * @param {*} value The value to compare.\n * @param {*} other The other value to compare.\n * @returns {boolean} Returns `true` if the values are equivalent, else `false`.\n * @example\n *\n * var object = { 'a': 1 };\n * var other = { 'a': 1 };\n *\n * _.isEqual(object, other);\n * // => true\n *\n * object === other;\n * // => false\n */\nfunction isEqual(value, other) {\n return baseIsEqual(value, other);\n}\n\n/**\n * Checks if `value` is classified as a `Function` object.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a function, else `false`.\n * @example\n *\n * _.isFunction(_);\n * // => true\n *\n * _.isFunction(/abc/);\n * // => false\n */\nfunction isFunction(value) {\n if (!isObject(value)) {\n return false;\n }\n // The use of `Object#toString` avoids issues with the `typeof` operator\n // in Safari 9 which returns 'object' for typed arrays and other constructors.\n var tag = baseGetTag(value);\n return tag == funcTag || tag == genTag || tag == asyncTag || tag == proxyTag;\n}\n\n/**\n * Checks if `value` is a valid array-like length.\n *\n * **Note:** This method is loosely based on\n * [`ToLength`](http://ecma-international.org/ecma-262/7.0/#sec-tolength).\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a valid length, else `false`.\n * @example\n *\n * _.isLength(3);\n * // => true\n *\n * _.isLength(Number.MIN_VALUE);\n * // => false\n *\n * _.isLength(Infinity);\n * // => false\n *\n * _.isLength('3');\n * // => false\n */\nfunction isLength(value) {\n return typeof value == 'number' &&\n value > -1 && value % 1 == 0 && value <= MAX_SAFE_INTEGER;\n}\n\n/**\n * Checks if `value` is the\n * [language type](http://www.ecma-international.org/ecma-262/7.0/#sec-ecmascript-language-types)\n * of `Object`. (e.g. arrays, functions, objects, regexes, `new Number(0)`, and `new String('')`)\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is an object, else `false`.\n * @example\n *\n * _.isObject({});\n * // => true\n *\n * _.isObject([1, 2, 3]);\n * // => true\n *\n * _.isObject(_.noop);\n * // => true\n *\n * _.isObject(null);\n * // => false\n */\nfunction isObject(value) {\n var type = typeof value;\n return value != null && (type == 'object' || type == 'function');\n}\n\n/**\n * Checks if `value` is object-like. A value is object-like if it's not `null`\n * and has a `typeof` result of \"object\".\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is object-like, else `false`.\n * @example\n *\n * _.isObjectLike({});\n * // => true\n *\n * _.isObjectLike([1, 2, 3]);\n * // => true\n *\n * _.isObjectLike(_.noop);\n * // => false\n *\n * _.isObjectLike(null);\n * // => false\n */\nfunction isObjectLike(value) {\n return value != null && typeof value == 'object';\n}\n\n/**\n * Checks if `value` is classified as a typed array.\n *\n * @static\n * @memberOf _\n * @since 3.0.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a typed array, else `false`.\n * @example\n *\n * _.isTypedArray(new Uint8Array);\n * // => true\n *\n * _.isTypedArray([]);\n * // => false\n */\nvar isTypedArray = nodeIsTypedArray ? baseUnary(nodeIsTypedArray) : baseIsTypedArray;\n\n/**\n * Creates an array of the own enumerable property names of `object`.\n *\n * **Note:** Non-object values are coerced to objects. See the\n * [ES spec](http://ecma-international.org/ecma-262/7.0/#sec-object.keys)\n * for more details.\n *\n * @static\n * @since 0.1.0\n * @memberOf _\n * @category Object\n * @param {Object} object The object to query.\n * @returns {Array} Returns the array of property names.\n * @example\n *\n * function Foo() {\n * this.a = 1;\n * this.b = 2;\n * }\n *\n * Foo.prototype.c = 3;\n *\n * _.keys(new Foo);\n * // => ['a', 'b'] (iteration order is not guaranteed)\n *\n * _.keys('hi');\n * // => ['0', '1']\n */\nfunction keys(object) {\n return isArrayLike(object) ? arrayLikeKeys(object) : baseKeys(object);\n}\n\n/**\n * This method returns a new empty array.\n *\n * @static\n * @memberOf _\n * @since 4.13.0\n * @category Util\n * @returns {Array} Returns the new empty array.\n * @example\n *\n * var arrays = _.times(2, _.stubArray);\n *\n * console.log(arrays);\n * // => [[], []]\n *\n * console.log(arrays[0] === arrays[1]);\n * // => false\n */\nfunction stubArray() {\n return [];\n}\n\n/**\n * This method returns `false`.\n *\n * @static\n * @memberOf _\n * @since 4.13.0\n * @category Util\n * @returns {boolean} Returns `false`.\n * @example\n *\n * _.times(2, _.stubFalse);\n * // => [false, false]\n */\nfunction stubFalse() {\n return false;\n}\n\nmodule.exports = isEqual;\n","/**\n * Copyright (c) 2013-present, Facebook, Inc.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\n'use strict';\n\nvar ReactPropTypesSecret = require('./lib/ReactPropTypesSecret');\n\nfunction emptyFunction() {}\nfunction emptyFunctionWithReset() {}\nemptyFunctionWithReset.resetWarningCache = emptyFunction;\n\nmodule.exports = function() {\n function shim(props, propName, componentName, location, propFullName, secret) {\n if (secret === ReactPropTypesSecret) {\n // It is still safe when called from React.\n return;\n }\n var err = new Error(\n 'Calling PropTypes validators directly is not supported by the `prop-types` package. ' +\n 'Use PropTypes.checkPropTypes() to call them. ' +\n 'Read more at http://fb.me/use-check-prop-types'\n );\n err.name = 'Invariant Violation';\n throw err;\n };\n shim.isRequired = shim;\n function getShim() {\n return shim;\n };\n // Important!\n // Keep this list in sync with production version in `./factoryWithTypeCheckers.js`.\n var ReactPropTypes = {\n array: shim,\n bigint: shim,\n bool: shim,\n func: shim,\n number: shim,\n object: shim,\n string: shim,\n symbol: shim,\n\n any: shim,\n arrayOf: getShim,\n element: shim,\n elementType: shim,\n instanceOf: getShim,\n node: shim,\n objectOf: getShim,\n oneOf: getShim,\n oneOfType: getShim,\n shape: getShim,\n exact: getShim,\n\n checkPropTypes: emptyFunctionWithReset,\n resetWarningCache: emptyFunction\n };\n\n ReactPropTypes.PropTypes = ReactPropTypes;\n\n return ReactPropTypes;\n};\n","/**\n * Copyright (c) 2013-present, Facebook, Inc.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\nif (process.env.NODE_ENV !== 'production') {\n var ReactIs = require('react-is');\n\n // By explicitly using `prop-types` you are opting into new development behavior.\n // http://fb.me/prop-types-in-prod\n var throwOnDirectAccess = true;\n module.exports = require('./factoryWithTypeCheckers')(ReactIs.isElement, throwOnDirectAccess);\n} else {\n // By explicitly using `prop-types` you are opting into new production behavior.\n // http://fb.me/prop-types-in-prod\n module.exports = require('./factoryWithThrowingShims')();\n}\n","/**\n * Copyright (c) 2013-present, Facebook, Inc.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\n'use strict';\n\nvar ReactPropTypesSecret = 'SECRET_DO_NOT_PASS_THIS_OR_YOU_WILL_BE_FIRED';\n\nmodule.exports = ReactPropTypesSecret;\n","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nObject.defineProperty(exports, \"DraggableCore\", {\n enumerable: true,\n get: function () {\n return _DraggableCore.default;\n }\n});\nexports.default = void 0;\nvar React = _interopRequireWildcard(require(\"react\"));\nvar _propTypes = _interopRequireDefault(require(\"prop-types\"));\nvar _reactDom = _interopRequireDefault(require(\"react-dom\"));\nvar _clsx = _interopRequireDefault(require(\"clsx\"));\nvar _domFns = require(\"./utils/domFns\");\nvar _positionFns = require(\"./utils/positionFns\");\nvar _shims = require(\"./utils/shims\");\nvar _DraggableCore = _interopRequireDefault(require(\"./DraggableCore\"));\nvar _log = _interopRequireDefault(require(\"./utils/log\"));\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\nfunction _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== \"function\") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function (nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }\nfunction _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || typeof obj !== \"object\" && typeof obj !== \"function\") { return { default: obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== \"default\" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj.default = obj; if (cache) { cache.set(obj, newObj); } return newObj; }\nfunction _extends() { _extends = Object.assign ? Object.assign.bind() : function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\nfunction _defineProperty(obj, key, value) { key = _toPropertyKey(key); if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\nfunction _toPropertyKey(arg) { var key = _toPrimitive(arg, \"string\"); return typeof key === \"symbol\" ? key : String(key); }\nfunction _toPrimitive(input, hint) { if (typeof input !== \"object\" || input === null) return input; var prim = input[Symbol.toPrimitive]; if (prim !== undefined) { var res = prim.call(input, hint || \"default\"); if (typeof res !== \"object\") return res; throw new TypeError(\"@@toPrimitive must return a primitive value.\"); } return (hint === \"string\" ? String : Number)(input); } /*:: import type {ControlPosition, PositionOffsetControlPosition, DraggableCoreProps, DraggableCoreDefaultProps} from './DraggableCore';*/\n/*:: import type {Bounds, DraggableEventHandler} from './utils/types';*/\n/*:: import type {Element as ReactElement} from 'react';*/\n/*:: type DraggableState = {\n dragging: boolean,\n dragged: boolean,\n x: number, y: number,\n slackX: number, slackY: number,\n isElementSVG: boolean,\n prevPropsPosition: ?ControlPosition,\n};*/\n/*:: export type DraggableDefaultProps = {\n ...DraggableCoreDefaultProps,\n axis: 'both' | 'x' | 'y' | 'none',\n bounds: Bounds | string | false,\n defaultClassName: string,\n defaultClassNameDragging: string,\n defaultClassNameDragged: string,\n defaultPosition: ControlPosition,\n scale: number,\n};*/\n/*:: export type DraggableProps = {\n ...DraggableCoreProps,\n ...DraggableDefaultProps,\n positionOffset: PositionOffsetControlPosition,\n position: ControlPosition,\n};*/\n//\n// Define \n//\nclass Draggable extends React.Component /*:: */{\n // React 16.3+\n // Arity (props, state)\n static getDerivedStateFromProps(_ref /*:: */, _ref2 /*:: */) /*: ?Partial*/{\n let {\n position\n } /*: DraggableProps*/ = _ref /*: DraggableProps*/;\n let {\n prevPropsPosition\n } /*: DraggableState*/ = _ref2 /*: DraggableState*/;\n // Set x/y if a new position is provided in props that is different than the previous.\n if (position && (!prevPropsPosition || position.x !== prevPropsPosition.x || position.y !== prevPropsPosition.y)) {\n (0, _log.default)('Draggable: getDerivedStateFromProps %j', {\n position,\n prevPropsPosition\n });\n return {\n x: position.x,\n y: position.y,\n prevPropsPosition: {\n ...position\n }\n };\n }\n return null;\n }\n constructor(props /*: DraggableProps*/) {\n super(props);\n _defineProperty(this, \"onDragStart\", (e, coreData) => {\n (0, _log.default)('Draggable: onDragStart: %j', coreData);\n\n // Short-circuit if user's callback killed it.\n const shouldStart = this.props.onStart(e, (0, _positionFns.createDraggableData)(this, coreData));\n // Kills start event on core as well, so move handlers are never bound.\n if (shouldStart === false) return false;\n this.setState({\n dragging: true,\n dragged: true\n });\n });\n _defineProperty(this, \"onDrag\", (e, coreData) => {\n if (!this.state.dragging) return false;\n (0, _log.default)('Draggable: onDrag: %j', coreData);\n const uiData = (0, _positionFns.createDraggableData)(this, coreData);\n const newState = {\n x: uiData.x,\n y: uiData.y,\n slackX: 0,\n slackY: 0\n };\n\n // Keep within bounds.\n if (this.props.bounds) {\n // Save original x and y.\n const {\n x,\n y\n } = newState;\n\n // Add slack to the values used to calculate bound position. This will ensure that if\n // we start removing slack, the element won't react to it right away until it's been\n // completely removed.\n newState.x += this.state.slackX;\n newState.y += this.state.slackY;\n\n // Get bound position. This will ceil/floor the x and y within the boundaries.\n const [newStateX, newStateY] = (0, _positionFns.getBoundPosition)(this, newState.x, newState.y);\n newState.x = newStateX;\n newState.y = newStateY;\n\n // Recalculate slack by noting how much was shaved by the boundPosition handler.\n newState.slackX = this.state.slackX + (x - newState.x);\n newState.slackY = this.state.slackY + (y - newState.y);\n\n // Update the event we fire to reflect what really happened after bounds took effect.\n uiData.x = newState.x;\n uiData.y = newState.y;\n uiData.deltaX = newState.x - this.state.x;\n uiData.deltaY = newState.y - this.state.y;\n }\n\n // Short-circuit if user's callback killed it.\n const shouldUpdate = this.props.onDrag(e, uiData);\n if (shouldUpdate === false) return false;\n this.setState(newState);\n });\n _defineProperty(this, \"onDragStop\", (e, coreData) => {\n if (!this.state.dragging) return false;\n\n // Short-circuit if user's callback killed it.\n const shouldContinue = this.props.onStop(e, (0, _positionFns.createDraggableData)(this, coreData));\n if (shouldContinue === false) return false;\n (0, _log.default)('Draggable: onDragStop: %j', coreData);\n const newState /*: Partial*/ = {\n dragging: false,\n slackX: 0,\n slackY: 0\n };\n\n // If this is a controlled component, the result of this operation will be to\n // revert back to the old position. We expect a handler on `onDragStop`, at the least.\n const controlled = Boolean(this.props.position);\n if (controlled) {\n const {\n x,\n y\n } = this.props.position;\n newState.x = x;\n newState.y = y;\n }\n this.setState(newState);\n });\n this.state = {\n // Whether or not we are currently dragging.\n dragging: false,\n // Whether or not we have been dragged before.\n dragged: false,\n // Current transform x and y.\n x: props.position ? props.position.x : props.defaultPosition.x,\n y: props.position ? props.position.y : props.defaultPosition.y,\n prevPropsPosition: {\n ...props.position\n },\n // Used for compensating for out-of-bounds drags\n slackX: 0,\n slackY: 0,\n // Can only determine if SVG after mounting\n isElementSVG: false\n };\n if (props.position && !(props.onDrag || props.onStop)) {\n // eslint-disable-next-line no-console\n console.warn('A `position` was applied to this , without drag handlers. This will make this ' + 'component effectively undraggable. Please attach `onDrag` or `onStop` handlers so you can adjust the ' + '`position` of this element.');\n }\n }\n componentDidMount() {\n // Check to see if the element passed is an instanceof SVGElement\n if (typeof window.SVGElement !== 'undefined' && this.findDOMNode() instanceof window.SVGElement) {\n this.setState({\n isElementSVG: true\n });\n }\n }\n componentWillUnmount() {\n this.setState({\n dragging: false\n }); // prevents invariant if unmounted while dragging\n }\n\n // React Strict Mode compatibility: if `nodeRef` is passed, we will use it instead of trying to find\n // the underlying DOM node ourselves. See the README for more information.\n findDOMNode() /*: ?HTMLElement*/{\n var _this$props$nodeRef$c, _this$props;\n return (_this$props$nodeRef$c = (_this$props = this.props) === null || _this$props === void 0 || (_this$props = _this$props.nodeRef) === null || _this$props === void 0 ? void 0 : _this$props.current) !== null && _this$props$nodeRef$c !== void 0 ? _this$props$nodeRef$c : _reactDom.default.findDOMNode(this);\n }\n render() /*: ReactElement*/{\n const {\n axis,\n bounds,\n children,\n defaultPosition,\n defaultClassName,\n defaultClassNameDragging,\n defaultClassNameDragged,\n position,\n positionOffset,\n scale,\n ...draggableCoreProps\n } = this.props;\n let style = {};\n let svgTransform = null;\n\n // If this is controlled, we don't want to move it - unless it's dragging.\n const controlled = Boolean(position);\n const draggable = !controlled || this.state.dragging;\n const validPosition = position || defaultPosition;\n const transformOpts = {\n // Set left if horizontal drag is enabled\n x: (0, _positionFns.canDragX)(this) && draggable ? this.state.x : validPosition.x,\n // Set top if vertical drag is enabled\n y: (0, _positionFns.canDragY)(this) && draggable ? this.state.y : validPosition.y\n };\n\n // If this element was SVG, we use the `transform` attribute.\n if (this.state.isElementSVG) {\n svgTransform = (0, _domFns.createSVGTransform)(transformOpts, positionOffset);\n } else {\n // Add a CSS transform to move the element around. This allows us to move the element around\n // without worrying about whether or not it is relatively or absolutely positioned.\n // If the item you are dragging already has a transform set, wrap it in a so \n // has a clean slate.\n style = (0, _domFns.createCSSTransform)(transformOpts, positionOffset);\n }\n\n // Mark with class while dragging\n const className = (0, _clsx.default)(children.props.className || '', defaultClassName, {\n [defaultClassNameDragging]: this.state.dragging,\n [defaultClassNameDragged]: this.state.dragged\n });\n\n // Reuse the child provided\n // This makes it flexible to use whatever element is wanted (div, ul, etc)\n return /*#__PURE__*/React.createElement(_DraggableCore.default, _extends({}, draggableCoreProps, {\n onStart: this.onDragStart,\n onDrag: this.onDrag,\n onStop: this.onDragStop\n }), /*#__PURE__*/React.cloneElement(React.Children.only(children), {\n className: className,\n style: {\n ...children.props.style,\n ...style\n },\n transform: svgTransform\n }));\n }\n}\nexports.default = Draggable;\n_defineProperty(Draggable, \"displayName\", 'Draggable');\n_defineProperty(Draggable, \"propTypes\", {\n // Accepts all props accepts.\n ..._DraggableCore.default.propTypes,\n /**\n * `axis` determines which axis the draggable can move.\n *\n * Note that all callbacks will still return data as normal. This only\n * controls flushing to the DOM.\n *\n * 'both' allows movement horizontally and vertically.\n * 'x' limits movement to horizontal axis.\n * 'y' limits movement to vertical axis.\n * 'none' limits all movement.\n *\n * Defaults to 'both'.\n */\n axis: _propTypes.default.oneOf(['both', 'x', 'y', 'none']),\n /**\n * `bounds` determines the range of movement available to the element.\n * Available values are:\n *\n * 'parent' restricts movement within the Draggable's parent node.\n *\n * Alternatively, pass an object with the following properties, all of which are optional:\n *\n * {left: LEFT_BOUND, right: RIGHT_BOUND, bottom: BOTTOM_BOUND, top: TOP_BOUND}\n *\n * All values are in px.\n *\n * Example:\n *\n * ```jsx\n * let App = React.createClass({\n * render: function () {\n * return (\n * \n *
Content
\n *
\n * );\n * }\n * });\n * ```\n */\n bounds: _propTypes.default.oneOfType([_propTypes.default.shape({\n left: _propTypes.default.number,\n right: _propTypes.default.number,\n top: _propTypes.default.number,\n bottom: _propTypes.default.number\n }), _propTypes.default.string, _propTypes.default.oneOf([false])]),\n defaultClassName: _propTypes.default.string,\n defaultClassNameDragging: _propTypes.default.string,\n defaultClassNameDragged: _propTypes.default.string,\n /**\n * `defaultPosition` specifies the x and y that the dragged item should start at\n *\n * Example:\n *\n * ```jsx\n * let App = React.createClass({\n * render: function () {\n * return (\n * \n *
I start with transformX: 25px and transformY: 25px;
\n *
\n * );\n * }\n * });\n * ```\n */\n defaultPosition: _propTypes.default.shape({\n x: _propTypes.default.number,\n y: _propTypes.default.number\n }),\n positionOffset: _propTypes.default.shape({\n x: _propTypes.default.oneOfType([_propTypes.default.number, _propTypes.default.string]),\n y: _propTypes.default.oneOfType([_propTypes.default.number, _propTypes.default.string])\n }),\n /**\n * `position`, if present, defines the current position of the element.\n *\n * This is similar to how form elements in React work - if no `position` is supplied, the component\n * is uncontrolled.\n *\n * Example:\n *\n * ```jsx\n * let App = React.createClass({\n * render: function () {\n * return (\n * \n *
I start with transformX: 25px and transformY: 25px;
\n *
\n * );\n * }\n * });\n * ```\n */\n position: _propTypes.default.shape({\n x: _propTypes.default.number,\n y: _propTypes.default.number\n }),\n /**\n * These properties should be defined on the child, not here.\n */\n className: _shims.dontSetMe,\n style: _shims.dontSetMe,\n transform: _shims.dontSetMe\n});\n_defineProperty(Draggable, \"defaultProps\", {\n ..._DraggableCore.default.defaultProps,\n axis: 'both',\n bounds: false,\n defaultClassName: 'react-draggable',\n defaultClassNameDragging: 'react-draggable-dragging',\n defaultClassNameDragged: 'react-draggable-dragged',\n defaultPosition: {\n x: 0,\n y: 0\n },\n scale: 1\n});","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = void 0;\nvar React = _interopRequireWildcard(require(\"react\"));\nvar _propTypes = _interopRequireDefault(require(\"prop-types\"));\nvar _reactDom = _interopRequireDefault(require(\"react-dom\"));\nvar _domFns = require(\"./utils/domFns\");\nvar _positionFns = require(\"./utils/positionFns\");\nvar _shims = require(\"./utils/shims\");\nvar _log = _interopRequireDefault(require(\"./utils/log\"));\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\nfunction _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== \"function\") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function (nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }\nfunction _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || typeof obj !== \"object\" && typeof obj !== \"function\") { return { default: obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== \"default\" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj.default = obj; if (cache) { cache.set(obj, newObj); } return newObj; }\nfunction _defineProperty(obj, key, value) { key = _toPropertyKey(key); if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\nfunction _toPropertyKey(arg) { var key = _toPrimitive(arg, \"string\"); return typeof key === \"symbol\" ? key : String(key); }\nfunction _toPrimitive(input, hint) { if (typeof input !== \"object\" || input === null) return input; var prim = input[Symbol.toPrimitive]; if (prim !== undefined) { var res = prim.call(input, hint || \"default\"); if (typeof res !== \"object\") return res; throw new TypeError(\"@@toPrimitive must return a primitive value.\"); } return (hint === \"string\" ? String : Number)(input); }\n/*:: import type {EventHandler, MouseTouchEvent} from './utils/types';*/\n/*:: import type {Element as ReactElement} from 'react';*/\n// Simple abstraction for dragging events names.\nconst eventsFor = {\n touch: {\n start: 'touchstart',\n move: 'touchmove',\n stop: 'touchend'\n },\n mouse: {\n start: 'mousedown',\n move: 'mousemove',\n stop: 'mouseup'\n }\n};\n\n// Default to mouse events.\nlet dragEventFor = eventsFor.mouse;\n/*:: export type DraggableData = {\n node: HTMLElement,\n x: number, y: number,\n deltaX: number, deltaY: number,\n lastX: number, lastY: number,\n};*/\n/*:: export type DraggableEventHandler = (e: MouseEvent, data: DraggableData) => void | false;*/\n/*:: export type ControlPosition = {x: number, y: number};*/\n/*:: export type PositionOffsetControlPosition = {x: number|string, y: number|string};*/\n/*:: export type DraggableCoreDefaultProps = {\n allowAnyClick: boolean,\n disabled: boolean,\n enableUserSelectHack: boolean,\n onStart: DraggableEventHandler,\n onDrag: DraggableEventHandler,\n onStop: DraggableEventHandler,\n onMouseDown: (e: MouseEvent) => void,\n scale: number,\n};*/\n/*:: export type DraggableCoreProps = {\n ...DraggableCoreDefaultProps,\n cancel: string,\n children: ReactElement,\n offsetParent: HTMLElement,\n grid: [number, number],\n handle: string,\n nodeRef?: ?React.ElementRef,\n};*/\n//\n// Define .\n//\n// is for advanced usage of . It maintains minimal internal state so it can\n// work well with libraries that require more control over the element.\n//\n\nclass DraggableCore extends React.Component /*:: */{\n constructor() {\n super(...arguments);\n _defineProperty(this, \"dragging\", false);\n // Used while dragging to determine deltas.\n _defineProperty(this, \"lastX\", NaN);\n _defineProperty(this, \"lastY\", NaN);\n _defineProperty(this, \"touchIdentifier\", null);\n _defineProperty(this, \"mounted\", false);\n _defineProperty(this, \"handleDragStart\", e => {\n // Make it possible to attach event handlers on top of this one.\n this.props.onMouseDown(e);\n\n // Only accept left-clicks.\n if (!this.props.allowAnyClick && typeof e.button === 'number' && e.button !== 0) return false;\n\n // Get nodes. Be sure to grab relative document (could be iframed)\n const thisNode = this.findDOMNode();\n if (!thisNode || !thisNode.ownerDocument || !thisNode.ownerDocument.body) {\n throw new Error(' not mounted on DragStart!');\n }\n const {\n ownerDocument\n } = thisNode;\n\n // Short circuit if handle or cancel prop was provided and selector doesn't match.\n if (this.props.disabled || !(e.target instanceof ownerDocument.defaultView.Node) || this.props.handle && !(0, _domFns.matchesSelectorAndParentsTo)(e.target, this.props.handle, thisNode) || this.props.cancel && (0, _domFns.matchesSelectorAndParentsTo)(e.target, this.props.cancel, thisNode)) {\n return;\n }\n\n // Prevent scrolling on mobile devices, like ipad/iphone.\n // Important that this is after handle/cancel.\n if (e.type === 'touchstart') e.preventDefault();\n\n // Set touch identifier in component state if this is a touch event. This allows us to\n // distinguish between individual touches on multitouch screens by identifying which\n // touchpoint was set to this element.\n const touchIdentifier = (0, _domFns.getTouchIdentifier)(e);\n this.touchIdentifier = touchIdentifier;\n\n // Get the current drag point from the event. This is used as the offset.\n const position = (0, _positionFns.getControlPosition)(e, touchIdentifier, this);\n if (position == null) return; // not possible but satisfies flow\n const {\n x,\n y\n } = position;\n\n // Create an event object with all the data parents need to make a decision here.\n const coreEvent = (0, _positionFns.createCoreData)(this, x, y);\n (0, _log.default)('DraggableCore: handleDragStart: %j', coreEvent);\n\n // Call event handler. If it returns explicit false, cancel.\n (0, _log.default)('calling', this.props.onStart);\n const shouldUpdate = this.props.onStart(e, coreEvent);\n if (shouldUpdate === false || this.mounted === false) return;\n\n // Add a style to the body to disable user-select. This prevents text from\n // being selected all over the page.\n if (this.props.enableUserSelectHack) (0, _domFns.addUserSelectStyles)(ownerDocument);\n\n // Initiate dragging. Set the current x and y as offsets\n // so we know how much we've moved during the drag. This allows us\n // to drag elements around even if they have been moved, without issue.\n this.dragging = true;\n this.lastX = x;\n this.lastY = y;\n\n // Add events to the document directly so we catch when the user's mouse/touch moves outside of\n // this element. We use different events depending on whether or not we have detected that this\n // is a touch-capable device.\n (0, _domFns.addEvent)(ownerDocument, dragEventFor.move, this.handleDrag);\n (0, _domFns.addEvent)(ownerDocument, dragEventFor.stop, this.handleDragStop);\n });\n _defineProperty(this, \"handleDrag\", e => {\n // Get the current drag point from the event. This is used as the offset.\n const position = (0, _positionFns.getControlPosition)(e, this.touchIdentifier, this);\n if (position == null) return;\n let {\n x,\n y\n } = position;\n\n // Snap to grid if prop has been provided\n if (Array.isArray(this.props.grid)) {\n let deltaX = x - this.lastX,\n deltaY = y - this.lastY;\n [deltaX, deltaY] = (0, _positionFns.snapToGrid)(this.props.grid, deltaX, deltaY);\n if (!deltaX && !deltaY) return; // skip useless drag\n x = this.lastX + deltaX, y = this.lastY + deltaY;\n }\n const coreEvent = (0, _positionFns.createCoreData)(this, x, y);\n (0, _log.default)('DraggableCore: handleDrag: %j', coreEvent);\n\n // Call event handler. If it returns explicit false, trigger end.\n const shouldUpdate = this.props.onDrag(e, coreEvent);\n if (shouldUpdate === false || this.mounted === false) {\n try {\n // $FlowIgnore\n this.handleDragStop(new MouseEvent('mouseup'));\n } catch (err) {\n // Old browsers\n const event = ((document.createEvent('MouseEvents') /*: any*/) /*: MouseTouchEvent*/);\n // I see why this insanity was deprecated\n // $FlowIgnore\n event.initMouseEvent('mouseup', true, true, window, 0, 0, 0, 0, 0, false, false, false, false, 0, null);\n this.handleDragStop(event);\n }\n return;\n }\n this.lastX = x;\n this.lastY = y;\n });\n _defineProperty(this, \"handleDragStop\", e => {\n if (!this.dragging) return;\n const position = (0, _positionFns.getControlPosition)(e, this.touchIdentifier, this);\n if (position == null) return;\n let {\n x,\n y\n } = position;\n\n // Snap to grid if prop has been provided\n if (Array.isArray(this.props.grid)) {\n let deltaX = x - this.lastX || 0;\n let deltaY = y - this.lastY || 0;\n [deltaX, deltaY] = (0, _positionFns.snapToGrid)(this.props.grid, deltaX, deltaY);\n x = this.lastX + deltaX, y = this.lastY + deltaY;\n }\n const coreEvent = (0, _positionFns.createCoreData)(this, x, y);\n\n // Call event handler\n const shouldContinue = this.props.onStop(e, coreEvent);\n if (shouldContinue === false || this.mounted === false) return false;\n const thisNode = this.findDOMNode();\n if (thisNode) {\n // Remove user-select hack\n if (this.props.enableUserSelectHack) (0, _domFns.removeUserSelectStyles)(thisNode.ownerDocument);\n }\n (0, _log.default)('DraggableCore: handleDragStop: %j', coreEvent);\n\n // Reset the el.\n this.dragging = false;\n this.lastX = NaN;\n this.lastY = NaN;\n if (thisNode) {\n // Remove event handlers\n (0, _log.default)('DraggableCore: Removing handlers');\n (0, _domFns.removeEvent)(thisNode.ownerDocument, dragEventFor.move, this.handleDrag);\n (0, _domFns.removeEvent)(thisNode.ownerDocument, dragEventFor.stop, this.handleDragStop);\n }\n });\n _defineProperty(this, \"onMouseDown\", e => {\n dragEventFor = eventsFor.mouse; // on touchscreen laptops we could switch back to mouse\n\n return this.handleDragStart(e);\n });\n _defineProperty(this, \"onMouseUp\", e => {\n dragEventFor = eventsFor.mouse;\n return this.handleDragStop(e);\n });\n // Same as onMouseDown (start drag), but now consider this a touch device.\n _defineProperty(this, \"onTouchStart\", e => {\n // We're on a touch device now, so change the event handlers\n dragEventFor = eventsFor.touch;\n return this.handleDragStart(e);\n });\n _defineProperty(this, \"onTouchEnd\", e => {\n // We're on a touch device now, so change the event handlers\n dragEventFor = eventsFor.touch;\n return this.handleDragStop(e);\n });\n }\n componentDidMount() {\n this.mounted = true;\n // Touch handlers must be added with {passive: false} to be cancelable.\n // https://developers.google.com/web/updates/2017/01/scrolling-intervention\n const thisNode = this.findDOMNode();\n if (thisNode) {\n (0, _domFns.addEvent)(thisNode, eventsFor.touch.start, this.onTouchStart, {\n passive: false\n });\n }\n }\n componentWillUnmount() {\n this.mounted = false;\n // Remove any leftover event handlers. Remove both touch and mouse handlers in case\n // some browser quirk caused a touch event to fire during a mouse move, or vice versa.\n const thisNode = this.findDOMNode();\n if (thisNode) {\n const {\n ownerDocument\n } = thisNode;\n (0, _domFns.removeEvent)(ownerDocument, eventsFor.mouse.move, this.handleDrag);\n (0, _domFns.removeEvent)(ownerDocument, eventsFor.touch.move, this.handleDrag);\n (0, _domFns.removeEvent)(ownerDocument, eventsFor.mouse.stop, this.handleDragStop);\n (0, _domFns.removeEvent)(ownerDocument, eventsFor.touch.stop, this.handleDragStop);\n (0, _domFns.removeEvent)(thisNode, eventsFor.touch.start, this.onTouchStart, {\n passive: false\n });\n if (this.props.enableUserSelectHack) (0, _domFns.removeUserSelectStyles)(ownerDocument);\n }\n }\n\n // React Strict Mode compatibility: if `nodeRef` is passed, we will use it instead of trying to find\n // the underlying DOM node ourselves. See the README for more information.\n findDOMNode() /*: ?HTMLElement*/{\n var _this$props, _this$props2;\n return (_this$props = this.props) !== null && _this$props !== void 0 && _this$props.nodeRef ? (_this$props2 = this.props) === null || _this$props2 === void 0 || (_this$props2 = _this$props2.nodeRef) === null || _this$props2 === void 0 ? void 0 : _this$props2.current : _reactDom.default.findDOMNode(this);\n }\n render() /*: React.Element*/{\n // Reuse the child provided\n // This makes it flexible to use whatever element is wanted (div, ul, etc)\n return /*#__PURE__*/React.cloneElement(React.Children.only(this.props.children), {\n // Note: mouseMove handler is attached to document so it will still function\n // when the user drags quickly and leaves the bounds of the element.\n onMouseDown: this.onMouseDown,\n onMouseUp: this.onMouseUp,\n // onTouchStart is added on `componentDidMount` so they can be added with\n // {passive: false}, which allows it to cancel. See\n // https://developers.google.com/web/updates/2017/01/scrolling-intervention\n onTouchEnd: this.onTouchEnd\n });\n }\n}\nexports.default = DraggableCore;\n_defineProperty(DraggableCore, \"displayName\", 'DraggableCore');\n_defineProperty(DraggableCore, \"propTypes\", {\n /**\n * `allowAnyClick` allows dragging using any mouse button.\n * By default, we only accept the left button.\n *\n * Defaults to `false`.\n */\n allowAnyClick: _propTypes.default.bool,\n children: _propTypes.default.node.isRequired,\n /**\n * `disabled`, if true, stops the from dragging. All handlers,\n * with the exception of `onMouseDown`, will not fire.\n */\n disabled: _propTypes.default.bool,\n /**\n * By default, we add 'user-select:none' attributes to the document body\n * to prevent ugly text selection during drag. If this is causing problems\n * for your app, set this to `false`.\n */\n enableUserSelectHack: _propTypes.default.bool,\n /**\n * `offsetParent`, if set, uses the passed DOM node to compute drag offsets\n * instead of using the parent node.\n */\n offsetParent: function (props /*: DraggableCoreProps*/, propName /*: $Keys*/) {\n if (props[propName] && props[propName].nodeType !== 1) {\n throw new Error('Draggable\\'s offsetParent must be a DOM Node.');\n }\n },\n /**\n * `grid` specifies the x and y that dragging should snap to.\n */\n grid: _propTypes.default.arrayOf(_propTypes.default.number),\n /**\n * `handle` specifies a selector to be used as the handle that initiates drag.\n *\n * Example:\n *\n * ```jsx\n * let App = React.createClass({\n * render: function () {\n * return (\n * \n *
\n *
Click me to drag
\n *
This is some other content
\n *
\n *
\n * );\n * }\n * });\n * ```\n */\n handle: _propTypes.default.string,\n /**\n * `cancel` specifies a selector to be used to prevent drag initialization.\n *\n * Example:\n *\n * ```jsx\n * let App = React.createClass({\n * render: function () {\n * return(\n * \n *
\n *
You can't drag from here
\n *
Dragging here works fine
\n *
\n *
\n * );\n * }\n * });\n * ```\n */\n cancel: _propTypes.default.string,\n /* If running in React Strict mode, ReactDOM.findDOMNode() is deprecated.\n * Unfortunately, in order for to work properly, we need raw access\n * to the underlying DOM node. If you want to avoid the warning, pass a `nodeRef`\n * as in this example:\n *\n * function MyComponent() {\n * const nodeRef = React.useRef(null);\n * return (\n * \n *
Example Target
\n *
\n * );\n * }\n *\n * This can be used for arbitrarily nested components, so long as the ref ends up\n * pointing to the actual child DOM node and not a custom component.\n */\n nodeRef: _propTypes.default.object,\n /**\n * Called when dragging starts.\n * If this function returns the boolean false, dragging will be canceled.\n */\n onStart: _propTypes.default.func,\n /**\n * Called while dragging.\n * If this function returns the boolean false, dragging will be canceled.\n */\n onDrag: _propTypes.default.func,\n /**\n * Called when dragging stops.\n * If this function returns the boolean false, the drag will remain active.\n */\n onStop: _propTypes.default.func,\n /**\n * A workaround option which can be passed if onMouseDown needs to be accessed,\n * since it'll always be blocked (as there is internal use of onMouseDown)\n */\n onMouseDown: _propTypes.default.func,\n /**\n * `scale`, if set, applies scaling while dragging an element\n */\n scale: _propTypes.default.number,\n /**\n * These properties should be defined on the child, not here.\n */\n className: _shims.dontSetMe,\n style: _shims.dontSetMe,\n transform: _shims.dontSetMe\n});\n_defineProperty(DraggableCore, \"defaultProps\", {\n allowAnyClick: false,\n // by default only accept left click\n disabled: false,\n enableUserSelectHack: true,\n onStart: function () {},\n onDrag: function () {},\n onStop: function () {},\n onMouseDown: function () {},\n scale: 1\n});","\"use strict\";\n\nconst {\n default: Draggable,\n DraggableCore\n} = require('./Draggable');\n\n// Previous versions of this lib exported as the root export. As to no-// them, or TypeScript, we export *both* as the root and as 'default'.\n// See https://github.com/mzabriskie/react-draggable/pull/254\n// and https://github.com/mzabriskie/react-draggable/issues/266\nmodule.exports = Draggable;\nmodule.exports.default = Draggable;\nmodule.exports.DraggableCore = DraggableCore;","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.addClassName = addClassName;\nexports.addEvent = addEvent;\nexports.addUserSelectStyles = addUserSelectStyles;\nexports.createCSSTransform = createCSSTransform;\nexports.createSVGTransform = createSVGTransform;\nexports.getTouch = getTouch;\nexports.getTouchIdentifier = getTouchIdentifier;\nexports.getTranslation = getTranslation;\nexports.innerHeight = innerHeight;\nexports.innerWidth = innerWidth;\nexports.matchesSelector = matchesSelector;\nexports.matchesSelectorAndParentsTo = matchesSelectorAndParentsTo;\nexports.offsetXYFromParent = offsetXYFromParent;\nexports.outerHeight = outerHeight;\nexports.outerWidth = outerWidth;\nexports.removeClassName = removeClassName;\nexports.removeEvent = removeEvent;\nexports.removeUserSelectStyles = removeUserSelectStyles;\nvar _shims = require(\"./shims\");\nvar _getPrefix = _interopRequireWildcard(require(\"./getPrefix\"));\nfunction _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== \"function\") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function (nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }\nfunction _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || typeof obj !== \"object\" && typeof obj !== \"function\") { return { default: obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== \"default\" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj.default = obj; if (cache) { cache.set(obj, newObj); } return newObj; }\n/*:: import type {ControlPosition, PositionOffsetControlPosition, MouseTouchEvent} from './types';*/\nlet matchesSelectorFunc = '';\nfunction matchesSelector(el /*: Node*/, selector /*: string*/) /*: boolean*/{\n if (!matchesSelectorFunc) {\n matchesSelectorFunc = (0, _shims.findInArray)(['matches', 'webkitMatchesSelector', 'mozMatchesSelector', 'msMatchesSelector', 'oMatchesSelector'], function (method) {\n // $FlowIgnore: Doesn't think elements are indexable\n return (0, _shims.isFunction)(el[method]);\n });\n }\n\n // Might not be found entirely (not an Element?) - in that case, bail\n // $FlowIgnore: Doesn't think elements are indexable\n if (!(0, _shims.isFunction)(el[matchesSelectorFunc])) return false;\n\n // $FlowIgnore: Doesn't think elements are indexable\n return el[matchesSelectorFunc](selector);\n}\n\n// Works up the tree to the draggable itself attempting to match selector.\nfunction matchesSelectorAndParentsTo(el /*: Node*/, selector /*: string*/, baseNode /*: Node*/) /*: boolean*/{\n let node = el;\n do {\n if (matchesSelector(node, selector)) return true;\n if (node === baseNode) return false;\n // $FlowIgnore[incompatible-type]\n node = node.parentNode;\n } while (node);\n return false;\n}\nfunction addEvent(el /*: ?Node*/, event /*: string*/, handler /*: Function*/, inputOptions /*: Object*/) /*: void*/{\n if (!el) return;\n const options = {\n capture: true,\n ...inputOptions\n };\n // $FlowIgnore[method-unbinding]\n if (el.addEventListener) {\n el.addEventListener(event, handler, options);\n } else if (el.attachEvent) {\n el.attachEvent('on' + event, handler);\n } else {\n // $FlowIgnore: Doesn't think elements are indexable\n el['on' + event] = handler;\n }\n}\nfunction removeEvent(el /*: ?Node*/, event /*: string*/, handler /*: Function*/, inputOptions /*: Object*/) /*: void*/{\n if (!el) return;\n const options = {\n capture: true,\n ...inputOptions\n };\n // $FlowIgnore[method-unbinding]\n if (el.removeEventListener) {\n el.removeEventListener(event, handler, options);\n } else if (el.detachEvent) {\n el.detachEvent('on' + event, handler);\n } else {\n // $FlowIgnore: Doesn't think elements are indexable\n el['on' + event] = null;\n }\n}\nfunction outerHeight(node /*: HTMLElement*/) /*: number*/{\n // This is deliberately excluding margin for our calculations, since we are using\n // offsetTop which is including margin. See getBoundPosition\n let height = node.clientHeight;\n const computedStyle = node.ownerDocument.defaultView.getComputedStyle(node);\n height += (0, _shims.int)(computedStyle.borderTopWidth);\n height += (0, _shims.int)(computedStyle.borderBottomWidth);\n return height;\n}\nfunction outerWidth(node /*: HTMLElement*/) /*: number*/{\n // This is deliberately excluding margin for our calculations, since we are using\n // offsetLeft which is including margin. See getBoundPosition\n let width = node.clientWidth;\n const computedStyle = node.ownerDocument.defaultView.getComputedStyle(node);\n width += (0, _shims.int)(computedStyle.borderLeftWidth);\n width += (0, _shims.int)(computedStyle.borderRightWidth);\n return width;\n}\nfunction innerHeight(node /*: HTMLElement*/) /*: number*/{\n let height = node.clientHeight;\n const computedStyle = node.ownerDocument.defaultView.getComputedStyle(node);\n height -= (0, _shims.int)(computedStyle.paddingTop);\n height -= (0, _shims.int)(computedStyle.paddingBottom);\n return height;\n}\nfunction innerWidth(node /*: HTMLElement*/) /*: number*/{\n let width = node.clientWidth;\n const computedStyle = node.ownerDocument.defaultView.getComputedStyle(node);\n width -= (0, _shims.int)(computedStyle.paddingLeft);\n width -= (0, _shims.int)(computedStyle.paddingRight);\n return width;\n}\n/*:: interface EventWithOffset {\n clientX: number, clientY: number\n}*/\n// Get from offsetParent\nfunction offsetXYFromParent(evt /*: EventWithOffset*/, offsetParent /*: HTMLElement*/, scale /*: number*/) /*: ControlPosition*/{\n const isBody = offsetParent === offsetParent.ownerDocument.body;\n const offsetParentRect = isBody ? {\n left: 0,\n top: 0\n } : offsetParent.getBoundingClientRect();\n const x = (evt.clientX + offsetParent.scrollLeft - offsetParentRect.left) / scale;\n const y = (evt.clientY + offsetParent.scrollTop - offsetParentRect.top) / scale;\n return {\n x,\n y\n };\n}\nfunction createCSSTransform(controlPos /*: ControlPosition*/, positionOffset /*: PositionOffsetControlPosition*/) /*: Object*/{\n const translation = getTranslation(controlPos, positionOffset, 'px');\n return {\n [(0, _getPrefix.browserPrefixToKey)('transform', _getPrefix.default)]: translation\n };\n}\nfunction createSVGTransform(controlPos /*: ControlPosition*/, positionOffset /*: PositionOffsetControlPosition*/) /*: string*/{\n const translation = getTranslation(controlPos, positionOffset, '');\n return translation;\n}\nfunction getTranslation(_ref /*:: */, positionOffset /*: PositionOffsetControlPosition*/, unitSuffix /*: string*/) /*: string*/{\n let {\n x,\n y\n } /*: ControlPosition*/ = _ref /*: ControlPosition*/;\n let translation = \"translate(\".concat(x).concat(unitSuffix, \",\").concat(y).concat(unitSuffix, \")\");\n if (positionOffset) {\n const defaultX = \"\".concat(typeof positionOffset.x === 'string' ? positionOffset.x : positionOffset.x + unitSuffix);\n const defaultY = \"\".concat(typeof positionOffset.y === 'string' ? positionOffset.y : positionOffset.y + unitSuffix);\n translation = \"translate(\".concat(defaultX, \", \").concat(defaultY, \")\") + translation;\n }\n return translation;\n}\nfunction getTouch(e /*: MouseTouchEvent*/, identifier /*: number*/) /*: ?{clientX: number, clientY: number}*/{\n return e.targetTouches && (0, _shims.findInArray)(e.targetTouches, t => identifier === t.identifier) || e.changedTouches && (0, _shims.findInArray)(e.changedTouches, t => identifier === t.identifier);\n}\nfunction getTouchIdentifier(e /*: MouseTouchEvent*/) /*: ?number*/{\n if (e.targetTouches && e.targetTouches[0]) return e.targetTouches[0].identifier;\n if (e.changedTouches && e.changedTouches[0]) return e.changedTouches[0].identifier;\n}\n\n// User-select Hacks:\n//\n// Useful for preventing blue highlights all over everything when dragging.\n\n// Note we're passing `document` b/c we could be iframed\nfunction addUserSelectStyles(doc /*: ?Document*/) {\n if (!doc) return;\n let styleEl = doc.getElementById('react-draggable-style-el');\n if (!styleEl) {\n styleEl = doc.createElement('style');\n styleEl.type = 'text/css';\n styleEl.id = 'react-draggable-style-el';\n styleEl.innerHTML = '.react-draggable-transparent-selection *::-moz-selection {all: inherit;}\\n';\n styleEl.innerHTML += '.react-draggable-transparent-selection *::selection {all: inherit;}\\n';\n doc.getElementsByTagName('head')[0].appendChild(styleEl);\n }\n if (doc.body) addClassName(doc.body, 'react-draggable-transparent-selection');\n}\nfunction removeUserSelectStyles(doc /*: ?Document*/) {\n if (!doc) return;\n try {\n if (doc.body) removeClassName(doc.body, 'react-draggable-transparent-selection');\n // $FlowIgnore: IE\n if (doc.selection) {\n // $FlowIgnore: IE\n doc.selection.empty();\n } else {\n // Remove selection caused by scroll, unless it's a focused input\n // (we use doc.defaultView in case we're in an iframe)\n const selection = (doc.defaultView || window).getSelection();\n if (selection && selection.type !== 'Caret') {\n selection.removeAllRanges();\n }\n }\n } catch (e) {\n // probably IE\n }\n}\nfunction addClassName(el /*: HTMLElement*/, className /*: string*/) {\n if (el.classList) {\n el.classList.add(className);\n } else {\n if (!el.className.match(new RegExp(\"(?:^|\\\\s)\".concat(className, \"(?!\\\\S)\")))) {\n el.className += \" \".concat(className);\n }\n }\n}\nfunction removeClassName(el /*: HTMLElement*/, className /*: string*/) {\n if (el.classList) {\n el.classList.remove(className);\n } else {\n el.className = el.className.replace(new RegExp(\"(?:^|\\\\s)\".concat(className, \"(?!\\\\S)\"), 'g'), '');\n }\n}","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.browserPrefixToKey = browserPrefixToKey;\nexports.browserPrefixToStyle = browserPrefixToStyle;\nexports.default = void 0;\nexports.getPrefix = getPrefix;\nconst prefixes = ['Moz', 'Webkit', 'O', 'ms'];\nfunction getPrefix() /*: string*/{\n var _window$document;\n let prop /*: string*/ = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : 'transform';\n // Ensure we're running in an environment where there is actually a global\n // `window` obj\n if (typeof window === 'undefined') return '';\n\n // If we're in a pseudo-browser server-side environment, this access\n // path may not exist, so bail out if it doesn't.\n const style = (_window$document = window.document) === null || _window$document === void 0 || (_window$document = _window$document.documentElement) === null || _window$document === void 0 ? void 0 : _window$document.style;\n if (!style) return '';\n if (prop in style) return '';\n for (let i = 0; i < prefixes.length; i++) {\n if (browserPrefixToKey(prop, prefixes[i]) in style) return prefixes[i];\n }\n return '';\n}\nfunction browserPrefixToKey(prop /*: string*/, prefix /*: string*/) /*: string*/{\n return prefix ? \"\".concat(prefix).concat(kebabToTitleCase(prop)) : prop;\n}\nfunction browserPrefixToStyle(prop /*: string*/, prefix /*: string*/) /*: string*/{\n return prefix ? \"-\".concat(prefix.toLowerCase(), \"-\").concat(prop) : prop;\n}\nfunction kebabToTitleCase(str /*: string*/) /*: string*/{\n let out = '';\n let shouldCapitalize = true;\n for (let i = 0; i < str.length; i++) {\n if (shouldCapitalize) {\n out += str[i].toUpperCase();\n shouldCapitalize = false;\n } else if (str[i] === '-') {\n shouldCapitalize = true;\n } else {\n out += str[i];\n }\n }\n return out;\n}\n\n// Default export is the prefix itself, like 'Moz', 'Webkit', etc\n// Note that you may have to re-test for certain things; for instance, Chrome 50\n// can handle unprefixed `transform`, but not unprefixed `user-select`\nvar _default = exports.default = (getPrefix() /*: string*/);","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = log;\n/*eslint no-console:0*/\nfunction log() {\n if (undefined) console.log(...arguments);\n}","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.canDragX = canDragX;\nexports.canDragY = canDragY;\nexports.createCoreData = createCoreData;\nexports.createDraggableData = createDraggableData;\nexports.getBoundPosition = getBoundPosition;\nexports.getControlPosition = getControlPosition;\nexports.snapToGrid = snapToGrid;\nvar _shims = require(\"./shims\");\nvar _domFns = require(\"./domFns\");\n/*:: import type Draggable from '../Draggable';*/\n/*:: import type {Bounds, ControlPosition, DraggableData, MouseTouchEvent} from './types';*/\n/*:: import type DraggableCore from '../DraggableCore';*/\nfunction getBoundPosition(draggable /*: Draggable*/, x /*: number*/, y /*: number*/) /*: [number, number]*/{\n // If no bounds, short-circuit and move on\n if (!draggable.props.bounds) return [x, y];\n\n // Clone new bounds\n let {\n bounds\n } = draggable.props;\n bounds = typeof bounds === 'string' ? bounds : cloneBounds(bounds);\n const node = findDOMNode(draggable);\n if (typeof bounds === 'string') {\n const {\n ownerDocument\n } = node;\n const ownerWindow = ownerDocument.defaultView;\n let boundNode;\n if (bounds === 'parent') {\n boundNode = node.parentNode;\n } else {\n boundNode = ownerDocument.querySelector(bounds);\n }\n if (!(boundNode instanceof ownerWindow.HTMLElement)) {\n throw new Error('Bounds selector \"' + bounds + '\" could not find an element.');\n }\n const boundNodeEl /*: HTMLElement*/ = boundNode; // for Flow, can't seem to refine correctly\n const nodeStyle = ownerWindow.getComputedStyle(node);\n const boundNodeStyle = ownerWindow.getComputedStyle(boundNodeEl);\n // Compute bounds. This is a pain with padding and offsets but this gets it exactly right.\n bounds = {\n left: -node.offsetLeft + (0, _shims.int)(boundNodeStyle.paddingLeft) + (0, _shims.int)(nodeStyle.marginLeft),\n top: -node.offsetTop + (0, _shims.int)(boundNodeStyle.paddingTop) + (0, _shims.int)(nodeStyle.marginTop),\n right: (0, _domFns.innerWidth)(boundNodeEl) - (0, _domFns.outerWidth)(node) - node.offsetLeft + (0, _shims.int)(boundNodeStyle.paddingRight) - (0, _shims.int)(nodeStyle.marginRight),\n bottom: (0, _domFns.innerHeight)(boundNodeEl) - (0, _domFns.outerHeight)(node) - node.offsetTop + (0, _shims.int)(boundNodeStyle.paddingBottom) - (0, _shims.int)(nodeStyle.marginBottom)\n };\n }\n\n // Keep x and y below right and bottom limits...\n if ((0, _shims.isNum)(bounds.right)) x = Math.min(x, bounds.right);\n if ((0, _shims.isNum)(bounds.bottom)) y = Math.min(y, bounds.bottom);\n\n // But above left and top limits.\n if ((0, _shims.isNum)(bounds.left)) x = Math.max(x, bounds.left);\n if ((0, _shims.isNum)(bounds.top)) y = Math.max(y, bounds.top);\n return [x, y];\n}\nfunction snapToGrid(grid /*: [number, number]*/, pendingX /*: number*/, pendingY /*: number*/) /*: [number, number]*/{\n const x = Math.round(pendingX / grid[0]) * grid[0];\n const y = Math.round(pendingY / grid[1]) * grid[1];\n return [x, y];\n}\nfunction canDragX(draggable /*: Draggable*/) /*: boolean*/{\n return draggable.props.axis === 'both' || draggable.props.axis === 'x';\n}\nfunction canDragY(draggable /*: Draggable*/) /*: boolean*/{\n return draggable.props.axis === 'both' || draggable.props.axis === 'y';\n}\n\n// Get {x, y} positions from event.\nfunction getControlPosition(e /*: MouseTouchEvent*/, touchIdentifier /*: ?number*/, draggableCore /*: DraggableCore*/) /*: ?ControlPosition*/{\n const touchObj = typeof touchIdentifier === 'number' ? (0, _domFns.getTouch)(e, touchIdentifier) : null;\n if (typeof touchIdentifier === 'number' && !touchObj) return null; // not the right touch\n const node = findDOMNode(draggableCore);\n // User can provide an offsetParent if desired.\n const offsetParent = draggableCore.props.offsetParent || node.offsetParent || node.ownerDocument.body;\n return (0, _domFns.offsetXYFromParent)(touchObj || e, offsetParent, draggableCore.props.scale);\n}\n\n// Create an data object exposed by 's events\nfunction createCoreData(draggable /*: DraggableCore*/, x /*: number*/, y /*: number*/) /*: DraggableData*/{\n const isStart = !(0, _shims.isNum)(draggable.lastX);\n const node = findDOMNode(draggable);\n if (isStart) {\n // If this is our first move, use the x and y as last coords.\n return {\n node,\n deltaX: 0,\n deltaY: 0,\n lastX: x,\n lastY: y,\n x,\n y\n };\n } else {\n // Otherwise calculate proper values.\n return {\n node,\n deltaX: x - draggable.lastX,\n deltaY: y - draggable.lastY,\n lastX: draggable.lastX,\n lastY: draggable.lastY,\n x,\n y\n };\n }\n}\n\n// Create an data exposed by 's events\nfunction createDraggableData(draggable /*: Draggable*/, coreData /*: DraggableData*/) /*: DraggableData*/{\n const scale = draggable.props.scale;\n return {\n node: coreData.node,\n x: draggable.state.x + coreData.deltaX / scale,\n y: draggable.state.y + coreData.deltaY / scale,\n deltaX: coreData.deltaX / scale,\n deltaY: coreData.deltaY / scale,\n lastX: draggable.state.x,\n lastY: draggable.state.y\n };\n}\n\n// A lot faster than stringify/parse\nfunction cloneBounds(bounds /*: Bounds*/) /*: Bounds*/{\n return {\n left: bounds.left,\n top: bounds.top,\n right: bounds.right,\n bottom: bounds.bottom\n };\n}\nfunction findDOMNode(draggable /*: Draggable | DraggableCore*/) /*: HTMLElement*/{\n const node = draggable.findDOMNode();\n if (!node) {\n throw new Error(': Unmounted during event!');\n }\n // $FlowIgnore we can't assert on HTMLElement due to tests... FIXME\n return node;\n}","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.dontSetMe = dontSetMe;\nexports.findInArray = findInArray;\nexports.int = int;\nexports.isFunction = isFunction;\nexports.isNum = isNum;\n// @credits https://gist.github.com/rogozhnikoff/a43cfed27c41e4e68cdc\nfunction findInArray(array /*: Array | TouchList*/, callback /*: Function*/) /*: any*/{\n for (let i = 0, length = array.length; i < length; i++) {\n if (callback.apply(callback, [array[i], i, array])) return array[i];\n }\n}\nfunction isFunction(func /*: any*/) /*: boolean %checks*/{\n // $FlowIgnore[method-unbinding]\n return typeof func === 'function' || Object.prototype.toString.call(func) === '[object Function]';\n}\nfunction isNum(num /*: any*/) /*: boolean %checks*/{\n return typeof num === 'number' && !isNaN(num);\n}\nfunction int(a /*: string*/) /*: number*/{\n return parseInt(a, 10);\n}\nfunction dontSetMe(props /*: Object*/, propName /*: string*/, componentName /*: string*/) /*: ?Error*/{\n if (props[propName]) {\n return new Error(\"Invalid prop \".concat(propName, \" passed to \").concat(componentName, \" - do not set this, set it on the child.\"));\n }\n}","\"use strict\";\n\nfunction _typeof(obj) { \"@babel/helpers - typeof\"; return _typeof = \"function\" == typeof Symbol && \"symbol\" == typeof Symbol.iterator ? function (obj) { return typeof obj; } : function (obj) { return obj && \"function\" == typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; }, _typeof(obj); }\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = void 0;\n\nvar _react = _interopRequireDefault(require(\"react\"));\n\nvar _propTypes = _interopRequireDefault(require(\"prop-types\"));\n\nvar _reactDraggable = require(\"react-draggable\");\n\nvar _reactResizable = require(\"react-resizable\");\n\nvar _utils = require(\"./utils\");\n\nvar _calculateUtils = require(\"./calculateUtils\");\n\nvar _ReactGridLayoutPropTypes = require(\"./ReactGridLayoutPropTypes\");\n\nvar _clsx = _interopRequireDefault(require(\"clsx\"));\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }\n\nfunction _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { _defineProperty(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } }\n\nfunction _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); Object.defineProperty(Constructor, \"prototype\", { writable: false }); return Constructor; }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function\"); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, writable: true, configurable: true } }); Object.defineProperty(subClass, \"prototype\", { writable: false }); if (superClass) _setPrototypeOf(subClass, superClass); }\n\nfunction _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); }\n\nfunction _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = _getPrototypeOf(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = _getPrototypeOf(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return _possibleConstructorReturn(this, result); }; }\n\nfunction _possibleConstructorReturn(self, call) { if (call && (_typeof(call) === \"object\" || typeof call === \"function\")) { return call; } else if (call !== void 0) { throw new TypeError(\"Derived constructors may only return object or undefined\"); } return _assertThisInitialized(self); }\n\nfunction _assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return self; }\n\nfunction _isNativeReflectConstruct() { if (typeof Reflect === \"undefined\" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === \"function\") return true; try { Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); return true; } catch (e) { return false; } }\n\nfunction _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return _getPrototypeOf(o); }\n\nfunction _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\n\n/**\n * An individual item within a ReactGridLayout.\n */\nvar GridItem = /*#__PURE__*/function (_React$Component) {\n _inherits(GridItem, _React$Component);\n\n var _super = _createSuper(GridItem);\n\n function GridItem() {\n var _this;\n\n _classCallCheck(this, GridItem);\n\n for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n\n _this = _super.call.apply(_super, [this].concat(args));\n\n _defineProperty(_assertThisInitialized(_this), \"state\", {\n resizing: null,\n dragging: null,\n className: \"\"\n });\n\n _defineProperty(_assertThisInitialized(_this), \"elementRef\", /*#__PURE__*/_react.default.createRef());\n\n _defineProperty(_assertThisInitialized(_this), \"onDragStart\", function (e, _ref) {\n var node = _ref.node;\n var _this$props = _this.props,\n onDragStart = _this$props.onDragStart,\n transformScale = _this$props.transformScale;\n if (!onDragStart) return;\n var newPosition\n /*: PartialPosition*/\n = {\n top: 0,\n left: 0\n }; // TODO: this wont work on nested parents\n\n var offsetParent = node.offsetParent;\n if (!offsetParent) return;\n var parentRect = offsetParent.getBoundingClientRect();\n var clientRect = node.getBoundingClientRect();\n var cLeft = clientRect.left / transformScale;\n var pLeft = parentRect.left / transformScale;\n var cTop = clientRect.top / transformScale;\n var pTop = parentRect.top / transformScale;\n newPosition.left = cLeft - pLeft + offsetParent.scrollLeft;\n newPosition.top = cTop - pTop + offsetParent.scrollTop;\n\n _this.setState({\n dragging: newPosition\n }); // Call callback with this data\n\n\n var _calcXY = (0, _calculateUtils.calcXY)(_this.getPositionParams(), newPosition.top, newPosition.left, _this.props.w, _this.props.h),\n x = _calcXY.x,\n y = _calcXY.y;\n\n return onDragStart.call(_assertThisInitialized(_this), _this.props.i, x, y, {\n e: e,\n node: node,\n newPosition: newPosition\n });\n });\n\n _defineProperty(_assertThisInitialized(_this), \"onDrag\", function (e, _ref2) {\n var node = _ref2.node,\n deltaX = _ref2.deltaX,\n deltaY = _ref2.deltaY;\n var onDrag = _this.props.onDrag;\n if (!onDrag) return;\n\n if (!_this.state.dragging) {\n throw new Error(\"onDrag called before onDragStart.\");\n }\n\n var top = _this.state.dragging.top + deltaY;\n var left = _this.state.dragging.left + deltaX;\n var _this$props2 = _this.props,\n isBounded = _this$props2.isBounded,\n i = _this$props2.i,\n w = _this$props2.w,\n h = _this$props2.h,\n containerWidth = _this$props2.containerWidth;\n\n var positionParams = _this.getPositionParams(); // Boundary calculations; keeps items within the grid\n\n\n if (isBounded) {\n var offsetParent = node.offsetParent;\n\n if (offsetParent) {\n var _this$props3 = _this.props,\n margin = _this$props3.margin,\n rowHeight = _this$props3.rowHeight;\n var bottomBoundary = offsetParent.clientHeight - (0, _calculateUtils.calcGridItemWHPx)(h, rowHeight, margin[1]);\n top = (0, _calculateUtils.clamp)(top, 0, bottomBoundary);\n var colWidth = (0, _calculateUtils.calcGridColWidth)(positionParams);\n var rightBoundary = containerWidth - (0, _calculateUtils.calcGridItemWHPx)(w, colWidth, margin[0]);\n left = (0, _calculateUtils.clamp)(left, 0, rightBoundary);\n }\n }\n\n var newPosition\n /*: PartialPosition*/\n = {\n top: top,\n left: left\n };\n\n _this.setState({\n dragging: newPosition\n }); // Call callback with this data\n\n\n var _calcXY2 = (0, _calculateUtils.calcXY)(positionParams, top, left, w, h),\n x = _calcXY2.x,\n y = _calcXY2.y;\n\n return onDrag.call(_assertThisInitialized(_this), i, x, y, {\n e: e,\n node: node,\n newPosition: newPosition\n });\n });\n\n _defineProperty(_assertThisInitialized(_this), \"onDragStop\", function (e, _ref3) {\n var node = _ref3.node;\n var onDragStop = _this.props.onDragStop;\n if (!onDragStop) return;\n\n if (!_this.state.dragging) {\n throw new Error(\"onDragEnd called before onDragStart.\");\n }\n\n var _this$props4 = _this.props,\n w = _this$props4.w,\n h = _this$props4.h,\n i = _this$props4.i;\n var _this$state$dragging = _this.state.dragging,\n left = _this$state$dragging.left,\n top = _this$state$dragging.top;\n var newPosition\n /*: PartialPosition*/\n = {\n top: top,\n left: left\n };\n\n _this.setState({\n dragging: null\n });\n\n var _calcXY3 = (0, _calculateUtils.calcXY)(_this.getPositionParams(), top, left, w, h),\n x = _calcXY3.x,\n y = _calcXY3.y;\n\n return onDragStop.call(_assertThisInitialized(_this), i, x, y, {\n e: e,\n node: node,\n newPosition: newPosition\n });\n });\n\n _defineProperty(_assertThisInitialized(_this), \"onResizeStop\", function (e, callbackData) {\n _this.onResizeHandler(e, callbackData, \"onResizeStop\");\n });\n\n _defineProperty(_assertThisInitialized(_this), \"onResizeStart\", function (e, callbackData) {\n _this.onResizeHandler(e, callbackData, \"onResizeStart\");\n });\n\n _defineProperty(_assertThisInitialized(_this), \"onResize\", function (e, callbackData) {\n _this.onResizeHandler(e, callbackData, \"onResize\");\n });\n\n return _this;\n }\n\n _createClass(GridItem, [{\n key: \"shouldComponentUpdate\",\n value: function shouldComponentUpdate(nextProps\n /*: Props*/\n , nextState\n /*: State*/\n )\n /*: boolean*/\n {\n // We can't deeply compare children. If the developer memoizes them, we can\n // use this optimization.\n if (this.props.children !== nextProps.children) return true;\n if (this.props.droppingPosition !== nextProps.droppingPosition) return true; // TODO memoize these calculations so they don't take so long?\n\n var oldPosition = (0, _calculateUtils.calcGridItemPosition)(this.getPositionParams(this.props), this.props.x, this.props.y, this.props.w, this.props.h, this.state);\n var newPosition = (0, _calculateUtils.calcGridItemPosition)(this.getPositionParams(nextProps), nextProps.x, nextProps.y, nextProps.w, nextProps.h, nextState);\n return !(0, _utils.fastPositionEqual)(oldPosition, newPosition) || this.props.useCSSTransforms !== nextProps.useCSSTransforms;\n }\n }, {\n key: \"componentDidMount\",\n value: function componentDidMount() {\n this.moveDroppingItem({});\n }\n }, {\n key: \"componentDidUpdate\",\n value: function componentDidUpdate(prevProps\n /*: Props*/\n ) {\n this.moveDroppingItem(prevProps);\n } // When a droppingPosition is present, this means we should fire a move event, as if we had moved\n // this element by `x, y` pixels.\n\n }, {\n key: \"moveDroppingItem\",\n value: function moveDroppingItem(prevProps\n /*: Props*/\n ) {\n var droppingPosition = this.props.droppingPosition;\n if (!droppingPosition) return;\n var node = this.elementRef.current; // Can't find DOM node (are we unmounted?)\n\n if (!node) return;\n var prevDroppingPosition = prevProps.droppingPosition || {\n left: 0,\n top: 0\n };\n var dragging = this.state.dragging;\n var shouldDrag = dragging && droppingPosition.left !== prevDroppingPosition.left || droppingPosition.top !== prevDroppingPosition.top;\n\n if (!dragging) {\n this.onDragStart(droppingPosition.e, {\n node: node,\n deltaX: droppingPosition.left,\n deltaY: droppingPosition.top\n });\n } else if (shouldDrag) {\n var deltaX = droppingPosition.left - dragging.left;\n var deltaY = droppingPosition.top - dragging.top;\n this.onDrag(droppingPosition.e, {\n node: node,\n deltaX: deltaX,\n deltaY: deltaY\n });\n }\n }\n }, {\n key: \"getPositionParams\",\n value: function getPositionParams()\n /*: PositionParams*/\n {\n var props\n /*: Props*/\n = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : this.props;\n return {\n cols: props.cols,\n containerPadding: props.containerPadding,\n containerWidth: props.containerWidth,\n margin: props.margin,\n maxRows: props.maxRows,\n rowHeight: props.rowHeight\n };\n }\n /**\n * This is where we set the grid item's absolute placement. It gets a little tricky because we want to do it\n * well when server rendering, and the only way to do that properly is to use percentage width/left because\n * we don't know exactly what the browser viewport is.\n * Unfortunately, CSS Transforms, which are great for performance, break in this instance because a percentage\n * left is relative to the item itself, not its container! So we cannot use them on the server rendering pass.\n *\n * @param {Object} pos Position object with width, height, left, top.\n * @return {Object} Style object.\n */\n\n }, {\n key: \"createStyle\",\n value: function createStyle(pos\n /*: Position*/\n )\n /*: { [key: string]: ?string }*/\n {\n var _this$props5 = this.props,\n usePercentages = _this$props5.usePercentages,\n containerWidth = _this$props5.containerWidth,\n useCSSTransforms = _this$props5.useCSSTransforms;\n var style; // CSS Transforms support (default)\n\n if (useCSSTransforms) {\n style = (0, _utils.setTransform)(pos);\n } else {\n // top,left (slow)\n style = (0, _utils.setTopLeft)(pos); // This is used for server rendering.\n\n if (usePercentages) {\n style.left = (0, _utils.perc)(pos.left / containerWidth);\n style.width = (0, _utils.perc)(pos.width / containerWidth);\n }\n }\n\n return style;\n }\n /**\n * Mix a Draggable instance into a child.\n * @param {Element} child Child element.\n * @return {Element} Child wrapped in Draggable.\n */\n\n }, {\n key: \"mixinDraggable\",\n value: function mixinDraggable(child\n /*: ReactElement*/\n , isDraggable\n /*: boolean*/\n )\n /*: ReactElement*/\n {\n return /*#__PURE__*/_react.default.createElement(_reactDraggable.DraggableCore, {\n disabled: !isDraggable,\n onStart: this.onDragStart,\n onDrag: this.onDrag,\n onStop: this.onDragStop,\n handle: this.props.handle,\n cancel: \".react-resizable-handle\" + (this.props.cancel ? \",\" + this.props.cancel : \"\"),\n scale: this.props.transformScale,\n nodeRef: this.elementRef\n }, child);\n }\n /**\n * Mix a Resizable instance into a child.\n * @param {Element} child Child element.\n * @param {Object} position Position object (pixel values)\n * @return {Element} Child wrapped in Resizable.\n */\n\n }, {\n key: \"mixinResizable\",\n value: function mixinResizable(child\n /*: ReactElement*/\n , position\n /*: Position*/\n , isResizable\n /*: boolean*/\n )\n /*: ReactElement*/\n {\n var _this$props6 = this.props,\n cols = _this$props6.cols,\n x = _this$props6.x,\n minW = _this$props6.minW,\n minH = _this$props6.minH,\n maxW = _this$props6.maxW,\n maxH = _this$props6.maxH,\n transformScale = _this$props6.transformScale,\n resizeHandles = _this$props6.resizeHandles,\n resizeHandle = _this$props6.resizeHandle;\n var positionParams = this.getPositionParams(); // This is the max possible width - doesn't go to infinity because of the width of the window\n\n var maxWidth = (0, _calculateUtils.calcGridItemPosition)(positionParams, 0, 0, cols - x, 0).width; // Calculate min/max constraints using our min & maxes\n\n var mins = (0, _calculateUtils.calcGridItemPosition)(positionParams, 0, 0, minW, minH);\n var maxes = (0, _calculateUtils.calcGridItemPosition)(positionParams, 0, 0, maxW, maxH);\n var minConstraints = [mins.width, mins.height];\n var maxConstraints = [Math.min(maxes.width, maxWidth), Math.min(maxes.height, Infinity)];\n return /*#__PURE__*/_react.default.createElement(_reactResizable.Resizable // These are opts for the resize handle itself\n , {\n draggableOpts: {\n disabled: !isResizable\n },\n className: isResizable ? undefined : \"react-resizable-hide\",\n width: position.width,\n height: position.height,\n minConstraints: minConstraints,\n maxConstraints: maxConstraints,\n onResizeStop: this.onResizeStop,\n onResizeStart: this.onResizeStart,\n onResize: this.onResize,\n transformScale: transformScale,\n resizeHandles: resizeHandles,\n handle: resizeHandle\n }, child);\n }\n /**\n * onDragStart event handler\n * @param {Event} e event data\n * @param {Object} callbackData an object with node, delta and position information\n */\n\n }, {\n key: \"onResizeHandler\",\n value:\n /**\n * Wrapper around drag events to provide more useful data.\n * All drag events call the function with the given handler name,\n * with the signature (index, x, y).\n *\n * @param {String} handlerName Handler name to wrap.\n * @return {Function} Handler function.\n */\n function onResizeHandler(e\n /*: Event*/\n , _ref4, handlerName\n /*: string*/\n )\n /*: void*/\n {\n var node = _ref4.node,\n size = _ref4.size;\n var handler = this.props[handlerName];\n if (!handler) return;\n var _this$props7 = this.props,\n cols = _this$props7.cols,\n x = _this$props7.x,\n y = _this$props7.y,\n i = _this$props7.i,\n maxH = _this$props7.maxH,\n minH = _this$props7.minH;\n var _this$props8 = this.props,\n minW = _this$props8.minW,\n maxW = _this$props8.maxW; // Get new XY\n\n var _calcWH = (0, _calculateUtils.calcWH)(this.getPositionParams(), size.width, size.height, x, y),\n w = _calcWH.w,\n h = _calcWH.h; // minW should be at least 1 (TODO propTypes validation?)\n\n\n minW = Math.max(minW, 1); // maxW should be at most (cols - x)\n\n maxW = Math.min(maxW, cols - x); // Min/max capping\n\n w = (0, _calculateUtils.clamp)(w, minW, maxW);\n h = (0, _calculateUtils.clamp)(h, minH, maxH);\n this.setState({\n resizing: handlerName === \"onResizeStop\" ? null : size\n });\n handler.call(this, i, w, h, {\n e: e,\n node: node,\n size: size\n });\n }\n }, {\n key: \"render\",\n value: function render()\n /*: ReactNode*/\n {\n var _this$props9 = this.props,\n x = _this$props9.x,\n y = _this$props9.y,\n w = _this$props9.w,\n h = _this$props9.h,\n isDraggable = _this$props9.isDraggable,\n isResizable = _this$props9.isResizable,\n droppingPosition = _this$props9.droppingPosition,\n useCSSTransforms = _this$props9.useCSSTransforms;\n var pos = (0, _calculateUtils.calcGridItemPosition)(this.getPositionParams(), x, y, w, h, this.state);\n\n var child = _react.default.Children.only(this.props.children); // Create the child element. We clone the existing element but modify its className and style.\n\n\n var newChild = /*#__PURE__*/_react.default.cloneElement(child, {\n ref: this.elementRef,\n className: (0, _clsx.default)(\"react-grid-item\", child.props.className, this.props.className, {\n static: this.props.static,\n resizing: Boolean(this.state.resizing),\n \"react-draggable\": isDraggable,\n \"react-draggable-dragging\": Boolean(this.state.dragging),\n dropping: Boolean(droppingPosition),\n cssTransforms: useCSSTransforms\n }),\n // We can set the width and height on the child, but unfortunately we can't set the position.\n style: _objectSpread(_objectSpread(_objectSpread({}, this.props.style), child.props.style), this.createStyle(pos))\n }); // Resizable support. This is usually on but the user can toggle it off.\n\n\n newChild = this.mixinResizable(newChild, pos, isResizable); // Draggable support. This is always on, except for with placeholders.\n\n newChild = this.mixinDraggable(newChild, isDraggable);\n return newChild;\n }\n }]);\n\n return GridItem;\n}(_react.default.Component);\n\nexports.default = GridItem;\n\n_defineProperty(GridItem, \"propTypes\", {\n // Children must be only a single element\n children: _propTypes.default.element,\n // General grid attributes\n cols: _propTypes.default.number.isRequired,\n containerWidth: _propTypes.default.number.isRequired,\n rowHeight: _propTypes.default.number.isRequired,\n margin: _propTypes.default.array.isRequired,\n maxRows: _propTypes.default.number.isRequired,\n containerPadding: _propTypes.default.array.isRequired,\n // These are all in grid units\n x: _propTypes.default.number.isRequired,\n y: _propTypes.default.number.isRequired,\n w: _propTypes.default.number.isRequired,\n h: _propTypes.default.number.isRequired,\n // All optional\n minW: function minW(props\n /*: Props*/\n , propName\n /*: string*/\n ) {\n var value = props[propName];\n if (typeof value !== \"number\") return new Error(\"minWidth not Number\");\n if (value > props.w || value > props.maxW) return new Error(\"minWidth larger than item width/maxWidth\");\n },\n maxW: function maxW(props\n /*: Props*/\n , propName\n /*: string*/\n ) {\n var value = props[propName];\n if (typeof value !== \"number\") return new Error(\"maxWidth not Number\");\n if (value < props.w || value < props.minW) return new Error(\"maxWidth smaller than item width/minWidth\");\n },\n minH: function minH(props\n /*: Props*/\n , propName\n /*: string*/\n ) {\n var value = props[propName];\n if (typeof value !== \"number\") return new Error(\"minHeight not Number\");\n if (value > props.h || value > props.maxH) return new Error(\"minHeight larger than item height/maxHeight\");\n },\n maxH: function maxH(props\n /*: Props*/\n , propName\n /*: string*/\n ) {\n var value = props[propName];\n if (typeof value !== \"number\") return new Error(\"maxHeight not Number\");\n if (value < props.h || value < props.minH) return new Error(\"maxHeight smaller than item height/minHeight\");\n },\n // ID is nice to have for callbacks\n i: _propTypes.default.string.isRequired,\n // Resize handle options\n resizeHandles: _ReactGridLayoutPropTypes.resizeHandleAxesType,\n resizeHandle: _ReactGridLayoutPropTypes.resizeHandleType,\n // Functions\n onDragStop: _propTypes.default.func,\n onDragStart: _propTypes.default.func,\n onDrag: _propTypes.default.func,\n onResizeStop: _propTypes.default.func,\n onResizeStart: _propTypes.default.func,\n onResize: _propTypes.default.func,\n // Flags\n isDraggable: _propTypes.default.bool.isRequired,\n isResizable: _propTypes.default.bool.isRequired,\n isBounded: _propTypes.default.bool.isRequired,\n static: _propTypes.default.bool,\n // Use CSS transforms instead of top/left\n useCSSTransforms: _propTypes.default.bool.isRequired,\n transformScale: _propTypes.default.number,\n // Others\n className: _propTypes.default.string,\n // Selector for draggable handle\n handle: _propTypes.default.string,\n // Selector for draggable cancel (see react-draggable)\n cancel: _propTypes.default.string,\n // Current position of a dropping element\n droppingPosition: _propTypes.default.shape({\n e: _propTypes.default.object.isRequired,\n left: _propTypes.default.number.isRequired,\n top: _propTypes.default.number.isRequired\n })\n});\n\n_defineProperty(GridItem, \"defaultProps\", {\n className: \"\",\n cancel: \"\",\n handle: \"\",\n minH: 1,\n minW: 1,\n maxH: Infinity,\n maxW: Infinity,\n transformScale: 1\n});","\"use strict\";\n\nfunction _typeof(obj) { \"@babel/helpers - typeof\"; return _typeof = \"function\" == typeof Symbol && \"symbol\" == typeof Symbol.iterator ? function (obj) { return typeof obj; } : function (obj) { return obj && \"function\" == typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; }, _typeof(obj); }\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = void 0;\n\nvar React = _interopRequireWildcard(require(\"react\"));\n\nvar _lodash = _interopRequireDefault(require(\"lodash.isequal\"));\n\nvar _clsx = _interopRequireDefault(require(\"clsx\"));\n\nvar _utils = require(\"./utils\");\n\nvar _calculateUtils = require(\"./calculateUtils\");\n\nvar _GridItem = _interopRequireDefault(require(\"./GridItem\"));\n\nvar _ReactGridLayoutPropTypes = _interopRequireDefault(require(\"./ReactGridLayoutPropTypes\"));\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== \"function\") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }\n\nfunction _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || _typeof(obj) !== \"object\" && typeof obj !== \"function\") { return { default: obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== \"default\" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj.default = obj; if (cache) { cache.set(obj, newObj); } return newObj; }\n\nfunction _toConsumableArray(arr) { return _arrayWithoutHoles(arr) || _iterableToArray(arr) || _unsupportedIterableToArray(arr) || _nonIterableSpread(); }\n\nfunction _nonIterableSpread() { throw new TypeError(\"Invalid attempt to spread non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\"); }\n\nfunction _iterableToArray(iter) { if (typeof Symbol !== \"undefined\" && iter[Symbol.iterator] != null || iter[\"@@iterator\"] != null) return Array.from(iter); }\n\nfunction _arrayWithoutHoles(arr) { if (Array.isArray(arr)) return _arrayLikeToArray(arr); }\n\nfunction ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }\n\nfunction _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { _defineProperty(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }\n\nfunction _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest(); }\n\nfunction _nonIterableRest() { throw new TypeError(\"Invalid attempt to destructure non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\"); }\n\nfunction _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === \"string\") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === \"Object\" && o.constructor) n = o.constructor.name; if (n === \"Map\" || n === \"Set\") return Array.from(o); if (n === \"Arguments\" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }\n\nfunction _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) { arr2[i] = arr[i]; } return arr2; }\n\nfunction _iterableToArrayLimit(arr, i) { var _i = arr == null ? null : typeof Symbol !== \"undefined\" && arr[Symbol.iterator] || arr[\"@@iterator\"]; if (_i == null) return; var _arr = []; var _n = true; var _d = false; var _s, _e; try { for (_i = _i.call(arr); !(_n = (_s = _i.next()).done); _n = true) { _arr.push(_s.value); if (i && _arr.length === i) break; } } catch (err) { _d = true; _e = err; } finally { try { if (!_n && _i[\"return\"] != null) _i[\"return\"](); } finally { if (_d) throw _e; } } return _arr; }\n\nfunction _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } }\n\nfunction _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); Object.defineProperty(Constructor, \"prototype\", { writable: false }); return Constructor; }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function\"); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, writable: true, configurable: true } }); Object.defineProperty(subClass, \"prototype\", { writable: false }); if (superClass) _setPrototypeOf(subClass, superClass); }\n\nfunction _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); }\n\nfunction _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = _getPrototypeOf(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = _getPrototypeOf(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return _possibleConstructorReturn(this, result); }; }\n\nfunction _possibleConstructorReturn(self, call) { if (call && (_typeof(call) === \"object\" || typeof call === \"function\")) { return call; } else if (call !== void 0) { throw new TypeError(\"Derived constructors may only return object or undefined\"); } return _assertThisInitialized(self); }\n\nfunction _assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return self; }\n\nfunction _isNativeReflectConstruct() { if (typeof Reflect === \"undefined\" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === \"function\") return true; try { Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); return true; } catch (e) { return false; } }\n\nfunction _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return _getPrototypeOf(o); }\n\nfunction _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\n\n// End Types\nvar layoutClassName = \"react-grid-layout\";\nvar isFirefox = false; // Try...catch will protect from navigator not existing (e.g. node) or a bad implementation of navigator\n\ntry {\n isFirefox = /firefox/i.test(navigator.userAgent);\n} catch (e) {\n /* Ignore */\n}\n/**\n * A reactive, fluid grid layout with draggable, resizable components.\n */\n\n\nvar ReactGridLayout = /*#__PURE__*/function (_React$Component) {\n _inherits(ReactGridLayout, _React$Component);\n\n var _super = _createSuper(ReactGridLayout);\n\n function ReactGridLayout() {\n var _this;\n\n _classCallCheck(this, ReactGridLayout);\n\n for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n\n _this = _super.call.apply(_super, [this].concat(args));\n\n _defineProperty(_assertThisInitialized(_this), \"state\", {\n activeDrag: null,\n layout: (0, _utils.synchronizeLayoutWithChildren)(_this.props.layout, _this.props.children, _this.props.cols, // Legacy support for verticalCompact: false\n (0, _utils.compactType)(_this.props), _this.props.allowOverlap),\n mounted: false,\n oldDragItem: null,\n oldLayout: null,\n oldResizeItem: null,\n droppingDOMNode: null,\n children: []\n });\n\n _defineProperty(_assertThisInitialized(_this), \"dragEnterCounter\", 0);\n\n _defineProperty(_assertThisInitialized(_this), \"onDragStart\", function (i\n /*: string*/\n , x\n /*: number*/\n , y\n /*: number*/\n , _ref) {\n var e = _ref.e,\n node = _ref.node;\n var layout = _this.state.layout;\n var l = (0, _utils.getLayoutItem)(layout, i);\n if (!l) return;\n\n _this.setState({\n oldDragItem: (0, _utils.cloneLayoutItem)(l),\n oldLayout: layout\n });\n\n return _this.props.onDragStart(layout, l, l, null, e, node);\n });\n\n _defineProperty(_assertThisInitialized(_this), \"onDrag\", function (i, x, y, _ref2) {\n var e = _ref2.e,\n node = _ref2.node;\n var oldDragItem = _this.state.oldDragItem;\n var layout = _this.state.layout;\n var _this$props = _this.props,\n cols = _this$props.cols,\n allowOverlap = _this$props.allowOverlap,\n preventCollision = _this$props.preventCollision;\n var l = (0, _utils.getLayoutItem)(layout, i);\n if (!l) return; // Create placeholder (display only)\n\n var placeholder = {\n w: l.w,\n h: l.h,\n x: l.x,\n y: l.y,\n placeholder: true,\n i: i\n }; // Move the element to the dragged location.\n\n var isUserAction = true;\n layout = (0, _utils.moveElement)(layout, l, x, y, isUserAction, preventCollision, (0, _utils.compactType)(_this.props), cols, allowOverlap);\n\n _this.props.onDrag(layout, oldDragItem, l, placeholder, e, node);\n\n _this.setState({\n layout: allowOverlap ? layout : (0, _utils.compact)(layout, (0, _utils.compactType)(_this.props), cols),\n activeDrag: placeholder\n });\n });\n\n _defineProperty(_assertThisInitialized(_this), \"onDragStop\", function (i, x, y, _ref3) {\n var e = _ref3.e,\n node = _ref3.node;\n if (!_this.state.activeDrag) return;\n var oldDragItem = _this.state.oldDragItem;\n var layout = _this.state.layout;\n var _this$props2 = _this.props,\n cols = _this$props2.cols,\n preventCollision = _this$props2.preventCollision,\n allowOverlap = _this$props2.allowOverlap;\n var l = (0, _utils.getLayoutItem)(layout, i);\n if (!l) return; // Move the element here\n\n var isUserAction = true;\n layout = (0, _utils.moveElement)(layout, l, x, y, isUserAction, preventCollision, (0, _utils.compactType)(_this.props), cols, allowOverlap);\n\n _this.props.onDragStop(layout, oldDragItem, l, null, e, node); // Set state\n\n\n var newLayout = allowOverlap ? layout : (0, _utils.compact)(layout, (0, _utils.compactType)(_this.props), cols);\n var oldLayout = _this.state.oldLayout;\n\n _this.setState({\n activeDrag: null,\n layout: newLayout,\n oldDragItem: null,\n oldLayout: null\n });\n\n _this.onLayoutMaybeChanged(newLayout, oldLayout);\n });\n\n _defineProperty(_assertThisInitialized(_this), \"onResizeStart\", function (i, w, h, _ref4) {\n var e = _ref4.e,\n node = _ref4.node;\n var layout = _this.state.layout;\n var l = (0, _utils.getLayoutItem)(layout, i);\n if (!l) return;\n\n _this.setState({\n oldResizeItem: (0, _utils.cloneLayoutItem)(l),\n oldLayout: _this.state.layout\n });\n\n _this.props.onResizeStart(layout, l, l, null, e, node);\n });\n\n _defineProperty(_assertThisInitialized(_this), \"onResize\", function (i, w, h, _ref5) {\n var e = _ref5.e,\n node = _ref5.node;\n var _this$state = _this.state,\n layout = _this$state.layout,\n oldResizeItem = _this$state.oldResizeItem;\n var _this$props3 = _this.props,\n cols = _this$props3.cols,\n preventCollision = _this$props3.preventCollision,\n allowOverlap = _this$props3.allowOverlap;\n\n var _withLayoutItem = (0, _utils.withLayoutItem)(layout, i, function (l) {\n // Something like quad tree should be used\n // to find collisions faster\n var hasCollisions;\n\n if (preventCollision && !allowOverlap) {\n var collisions = (0, _utils.getAllCollisions)(layout, _objectSpread(_objectSpread({}, l), {}, {\n w: w,\n h: h\n })).filter(function (layoutItem) {\n return layoutItem.i !== l.i;\n });\n hasCollisions = collisions.length > 0; // If we're colliding, we need adjust the placeholder.\n\n // If we're colliding, we need adjust the placeholder.\n if (hasCollisions) {\n // adjust w && h to maximum allowed space\n var leastX = Infinity,\n leastY = Infinity;\n collisions.forEach(function (layoutItem) {\n if (layoutItem.x > l.x) leastX = Math.min(leastX, layoutItem.x);\n if (layoutItem.y > l.y) leastY = Math.min(leastY, layoutItem.y);\n });\n if (Number.isFinite(leastX)) l.w = leastX - l.x;\n if (Number.isFinite(leastY)) l.h = leastY - l.y;\n }\n }\n\n if (!hasCollisions) {\n // Set new width and height.\n l.w = w;\n l.h = h;\n }\n\n return l;\n }),\n _withLayoutItem2 = _slicedToArray(_withLayoutItem, 2),\n newLayout = _withLayoutItem2[0],\n l = _withLayoutItem2[1]; // Shouldn't ever happen, but typechecking makes it necessary\n\n\n if (!l) return; // Create placeholder element (display only)\n\n var placeholder = {\n w: l.w,\n h: l.h,\n x: l.x,\n y: l.y,\n static: true,\n i: i\n };\n\n _this.props.onResize(newLayout, oldResizeItem, l, placeholder, e, node); // Re-compact the newLayout and set the drag placeholder.\n\n\n _this.setState({\n layout: allowOverlap ? newLayout : (0, _utils.compact)(newLayout, (0, _utils.compactType)(_this.props), cols),\n activeDrag: placeholder\n });\n });\n\n _defineProperty(_assertThisInitialized(_this), \"onResizeStop\", function (i, w, h, _ref6) {\n var e = _ref6.e,\n node = _ref6.node;\n var _this$state2 = _this.state,\n layout = _this$state2.layout,\n oldResizeItem = _this$state2.oldResizeItem;\n var _this$props4 = _this.props,\n cols = _this$props4.cols,\n allowOverlap = _this$props4.allowOverlap;\n var l = (0, _utils.getLayoutItem)(layout, i);\n\n _this.props.onResizeStop(layout, oldResizeItem, l, null, e, node); // Set state\n\n\n var newLayout = allowOverlap ? layout : (0, _utils.compact)(layout, (0, _utils.compactType)(_this.props), cols);\n var oldLayout = _this.state.oldLayout;\n\n _this.setState({\n activeDrag: null,\n layout: newLayout,\n oldResizeItem: null,\n oldLayout: null\n });\n\n _this.onLayoutMaybeChanged(newLayout, oldLayout);\n });\n\n _defineProperty(_assertThisInitialized(_this), \"onDragOver\", function (e) {\n var _e$nativeEvent$target;\n\n e.preventDefault(); // Prevent any browser native action\n\n e.stopPropagation(); // we should ignore events from layout's children in Firefox\n // to avoid unpredictable jumping of a dropping placeholder\n // FIXME remove this hack\n\n if (isFirefox && // $FlowIgnore can't figure this out\n !((_e$nativeEvent$target = e.nativeEvent.target) !== null && _e$nativeEvent$target !== void 0 && _e$nativeEvent$target.classList.contains(layoutClassName))) {\n return false;\n }\n\n var _this$props5 = _this.props,\n droppingItem = _this$props5.droppingItem,\n onDropDragOver = _this$props5.onDropDragOver,\n margin = _this$props5.margin,\n cols = _this$props5.cols,\n rowHeight = _this$props5.rowHeight,\n maxRows = _this$props5.maxRows,\n width = _this$props5.width,\n containerPadding = _this$props5.containerPadding,\n transformScale = _this$props5.transformScale; // Allow user to customize the dropping item or short-circuit the drop based on the results\n // of the `onDragOver(e: Event)` callback.\n\n var onDragOverResult = onDropDragOver === null || onDropDragOver === void 0 ? void 0 : onDropDragOver(e);\n\n if (onDragOverResult === false) {\n if (_this.state.droppingDOMNode) {\n _this.removeDroppingPlaceholder();\n }\n\n return false;\n }\n\n var finalDroppingItem = _objectSpread(_objectSpread({}, droppingItem), onDragOverResult);\n\n var layout = _this.state.layout; // This is relative to the DOM element that this event fired for.\n\n var _e$nativeEvent = e.nativeEvent,\n layerX = _e$nativeEvent.layerX,\n layerY = _e$nativeEvent.layerY;\n var droppingPosition = {\n left: layerX / transformScale,\n top: layerY / transformScale,\n e: e\n };\n\n if (!_this.state.droppingDOMNode) {\n var positionParams\n /*: PositionParams*/\n = {\n cols: cols,\n margin: margin,\n maxRows: maxRows,\n rowHeight: rowHeight,\n containerWidth: width,\n containerPadding: containerPadding || margin\n };\n var calculatedPosition = (0, _calculateUtils.calcXY)(positionParams, layerY, layerX, finalDroppingItem.w, finalDroppingItem.h);\n\n _this.setState({\n droppingDOMNode: /*#__PURE__*/React.createElement(\"div\", {\n key: finalDroppingItem.i\n }),\n droppingPosition: droppingPosition,\n layout: [].concat(_toConsumableArray(layout), [_objectSpread(_objectSpread({}, finalDroppingItem), {}, {\n x: calculatedPosition.x,\n y: calculatedPosition.y,\n static: false,\n isDraggable: true\n })])\n });\n } else if (_this.state.droppingPosition) {\n var _this$state$droppingP = _this.state.droppingPosition,\n left = _this$state$droppingP.left,\n top = _this$state$droppingP.top;\n var shouldUpdatePosition = left != layerX || top != layerY;\n\n if (shouldUpdatePosition) {\n _this.setState({\n droppingPosition: droppingPosition\n });\n }\n }\n });\n\n _defineProperty(_assertThisInitialized(_this), \"removeDroppingPlaceholder\", function () {\n var _this$props6 = _this.props,\n droppingItem = _this$props6.droppingItem,\n cols = _this$props6.cols;\n var layout = _this.state.layout;\n var newLayout = (0, _utils.compact)(layout.filter(function (l) {\n return l.i !== droppingItem.i;\n }), (0, _utils.compactType)(_this.props), cols);\n\n _this.setState({\n layout: newLayout,\n droppingDOMNode: null,\n activeDrag: null,\n droppingPosition: undefined\n });\n });\n\n _defineProperty(_assertThisInitialized(_this), \"onDragLeave\", function (e) {\n e.preventDefault(); // Prevent any browser native action\n\n e.stopPropagation();\n _this.dragEnterCounter--; // onDragLeave can be triggered on each layout's child.\n // But we know that count of dragEnter and dragLeave events\n // will be balanced after leaving the layout's container\n // so we can increase and decrease count of dragEnter and\n // when it'll be equal to 0 we'll remove the placeholder\n\n if (_this.dragEnterCounter === 0) {\n _this.removeDroppingPlaceholder();\n }\n });\n\n _defineProperty(_assertThisInitialized(_this), \"onDragEnter\", function (e) {\n e.preventDefault(); // Prevent any browser native action\n\n e.stopPropagation();\n _this.dragEnterCounter++;\n });\n\n _defineProperty(_assertThisInitialized(_this), \"onDrop\", function (e\n /*: Event*/\n ) {\n e.preventDefault(); // Prevent any browser native action\n\n e.stopPropagation();\n var droppingItem = _this.props.droppingItem;\n var layout = _this.state.layout;\n var item = layout.find(function (l) {\n return l.i === droppingItem.i;\n }); // reset dragEnter counter on drop\n\n _this.dragEnterCounter = 0;\n\n _this.removeDroppingPlaceholder();\n\n _this.props.onDrop(layout, item, e);\n });\n\n return _this;\n }\n\n _createClass(ReactGridLayout, [{\n key: \"componentDidMount\",\n value: function componentDidMount() {\n this.setState({\n mounted: true\n }); // Possibly call back with layout on mount. This should be done after correcting the layout width\n // to ensure we don't rerender with the wrong width.\n\n this.onLayoutMaybeChanged(this.state.layout, this.props.layout);\n }\n }, {\n key: \"shouldComponentUpdate\",\n value: function shouldComponentUpdate(nextProps\n /*: Props*/\n , nextState\n /*: State*/\n )\n /*: boolean*/\n {\n return (// NOTE: this is almost always unequal. Therefore the only way to get better performance\n // from SCU is if the user intentionally memoizes children. If they do, and they can\n // handle changes properly, performance will increase.\n this.props.children !== nextProps.children || !(0, _utils.fastRGLPropsEqual)(this.props, nextProps, _lodash.default) || this.state.activeDrag !== nextState.activeDrag || this.state.mounted !== nextState.mounted || this.state.droppingPosition !== nextState.droppingPosition\n );\n }\n }, {\n key: \"componentDidUpdate\",\n value: function componentDidUpdate(prevProps\n /*: Props*/\n , prevState\n /*: State*/\n ) {\n if (!this.state.activeDrag) {\n var newLayout = this.state.layout;\n var oldLayout = prevState.layout;\n this.onLayoutMaybeChanged(newLayout, oldLayout);\n }\n }\n /**\n * Calculates a pixel value for the container.\n * @return {String} Container height in pixels.\n */\n\n }, {\n key: \"containerHeight\",\n value: function containerHeight()\n /*: ?string*/\n {\n if (!this.props.autoSize) return;\n var nbRow = (0, _utils.bottom)(this.state.layout);\n var containerPaddingY = this.props.containerPadding ? this.props.containerPadding[1] : this.props.margin[1];\n return nbRow * this.props.rowHeight + (nbRow - 1) * this.props.margin[1] + containerPaddingY * 2 + \"px\";\n }\n /**\n * When dragging starts\n * @param {String} i Id of the child\n * @param {Number} x X position of the move\n * @param {Number} y Y position of the move\n * @param {Event} e The mousedown event\n * @param {Element} node The current dragging DOM element\n */\n\n }, {\n key: \"onLayoutMaybeChanged\",\n value: function onLayoutMaybeChanged(newLayout\n /*: Layout*/\n , oldLayout\n /*: ?Layout*/\n ) {\n if (!oldLayout) oldLayout = this.state.layout;\n\n if (!(0, _lodash.default)(oldLayout, newLayout)) {\n this.props.onLayoutChange(newLayout);\n }\n }\n }, {\n key: \"placeholder\",\n value:\n /**\n * Create a placeholder object.\n * @return {Element} Placeholder div.\n */\n function placeholder()\n /*: ?ReactElement*/\n {\n var activeDrag = this.state.activeDrag;\n if (!activeDrag) return null;\n var _this$props7 = this.props,\n width = _this$props7.width,\n cols = _this$props7.cols,\n margin = _this$props7.margin,\n containerPadding = _this$props7.containerPadding,\n rowHeight = _this$props7.rowHeight,\n maxRows = _this$props7.maxRows,\n useCSSTransforms = _this$props7.useCSSTransforms,\n transformScale = _this$props7.transformScale; // {...this.state.activeDrag} is pretty slow, actually\n\n return /*#__PURE__*/React.createElement(_GridItem.default, {\n w: activeDrag.w,\n h: activeDrag.h,\n x: activeDrag.x,\n y: activeDrag.y,\n i: activeDrag.i,\n className: \"react-grid-placeholder\",\n containerWidth: width,\n cols: cols,\n margin: margin,\n containerPadding: containerPadding || margin,\n maxRows: maxRows,\n rowHeight: rowHeight,\n isDraggable: false,\n isResizable: false,\n isBounded: false,\n useCSSTransforms: useCSSTransforms,\n transformScale: transformScale\n }, /*#__PURE__*/React.createElement(\"div\", null));\n }\n /**\n * Given a grid item, set its style attributes & surround in a .\n * @param {Element} child React element.\n * @return {Element} Element wrapped in draggable and properly placed.\n */\n\n }, {\n key: \"processGridItem\",\n value: function processGridItem(child\n /*: ReactElement*/\n , isDroppingItem\n /*: boolean*/\n )\n /*: ?ReactElement*/\n {\n if (!child || !child.key) return;\n var l = (0, _utils.getLayoutItem)(this.state.layout, String(child.key));\n if (!l) return null;\n var _this$props8 = this.props,\n width = _this$props8.width,\n cols = _this$props8.cols,\n margin = _this$props8.margin,\n containerPadding = _this$props8.containerPadding,\n rowHeight = _this$props8.rowHeight,\n maxRows = _this$props8.maxRows,\n isDraggable = _this$props8.isDraggable,\n isResizable = _this$props8.isResizable,\n isBounded = _this$props8.isBounded,\n useCSSTransforms = _this$props8.useCSSTransforms,\n transformScale = _this$props8.transformScale,\n draggableCancel = _this$props8.draggableCancel,\n draggableHandle = _this$props8.draggableHandle,\n resizeHandles = _this$props8.resizeHandles,\n resizeHandle = _this$props8.resizeHandle;\n var _this$state3 = this.state,\n mounted = _this$state3.mounted,\n droppingPosition = _this$state3.droppingPosition; // Determine user manipulations possible.\n // If an item is static, it can't be manipulated by default.\n // Any properties defined directly on the grid item will take precedence.\n\n var draggable = typeof l.isDraggable === \"boolean\" ? l.isDraggable : !l.static && isDraggable;\n var resizable = typeof l.isResizable === \"boolean\" ? l.isResizable : !l.static && isResizable;\n var resizeHandlesOptions = l.resizeHandles || resizeHandles; // isBounded set on child if set on parent, and child is not explicitly false\n\n var bounded = draggable && isBounded && l.isBounded !== false;\n return /*#__PURE__*/React.createElement(_GridItem.default, {\n containerWidth: width,\n cols: cols,\n margin: margin,\n containerPadding: containerPadding || margin,\n maxRows: maxRows,\n rowHeight: rowHeight,\n cancel: draggableCancel,\n handle: draggableHandle,\n onDragStop: this.onDragStop,\n onDragStart: this.onDragStart,\n onDrag: this.onDrag,\n onResizeStart: this.onResizeStart,\n onResize: this.onResize,\n onResizeStop: this.onResizeStop,\n isDraggable: draggable,\n isResizable: resizable,\n isBounded: bounded,\n useCSSTransforms: useCSSTransforms && mounted,\n usePercentages: !mounted,\n transformScale: transformScale,\n w: l.w,\n h: l.h,\n x: l.x,\n y: l.y,\n i: l.i,\n minH: l.minH,\n minW: l.minW,\n maxH: l.maxH,\n maxW: l.maxW,\n static: l.static,\n droppingPosition: isDroppingItem ? droppingPosition : undefined,\n resizeHandles: resizeHandlesOptions,\n resizeHandle: resizeHandle\n }, child);\n } // Called while dragging an element. Part of browser native drag/drop API.\n // Native event target might be the layout itself, or an element within the layout.\n\n }, {\n key: \"render\",\n value: function render()\n /*: React.Element<\"div\">*/\n {\n var _this2 = this;\n\n var _this$props9 = this.props,\n className = _this$props9.className,\n style = _this$props9.style,\n isDroppable = _this$props9.isDroppable,\n innerRef = _this$props9.innerRef;\n var mergedClassName = (0, _clsx.default)(layoutClassName, className);\n\n var mergedStyle = _objectSpread({\n height: this.containerHeight()\n }, style);\n\n return /*#__PURE__*/React.createElement(\"div\", {\n ref: innerRef,\n className: mergedClassName,\n style: mergedStyle,\n onDrop: isDroppable ? this.onDrop : _utils.noop,\n onDragLeave: isDroppable ? this.onDragLeave : _utils.noop,\n onDragEnter: isDroppable ? this.onDragEnter : _utils.noop,\n onDragOver: isDroppable ? this.onDragOver : _utils.noop\n }, React.Children.map(this.props.children, function (child) {\n return _this2.processGridItem(child);\n }), isDroppable && this.state.droppingDOMNode && this.processGridItem(this.state.droppingDOMNode, true), this.placeholder());\n }\n }], [{\n key: \"getDerivedStateFromProps\",\n value: function getDerivedStateFromProps(nextProps\n /*: Props*/\n , prevState\n /*: State*/\n )\n /*: $Shape | null*/\n {\n var newLayoutBase;\n\n if (prevState.activeDrag) {\n return null;\n } // Legacy support for compactType\n // Allow parent to set layout directly.\n\n\n if (!(0, _lodash.default)(nextProps.layout, prevState.propsLayout) || nextProps.compactType !== prevState.compactType) {\n newLayoutBase = nextProps.layout;\n } else if (!(0, _utils.childrenEqual)(nextProps.children, prevState.children)) {\n // If children change, also regenerate the layout. Use our state\n // as the base in case because it may be more up to date than\n // what is in props.\n newLayoutBase = prevState.layout;\n } // We need to regenerate the layout.\n\n\n if (newLayoutBase) {\n var newLayout = (0, _utils.synchronizeLayoutWithChildren)(newLayoutBase, nextProps.children, nextProps.cols, (0, _utils.compactType)(nextProps), nextProps.allowOverlap);\n return {\n layout: newLayout,\n // We need to save these props to state for using\n // getDerivedStateFromProps instead of componentDidMount (in which we would get extra rerender)\n compactType: nextProps.compactType,\n children: nextProps.children,\n propsLayout: nextProps.layout\n };\n }\n\n return null;\n }\n }]);\n\n return ReactGridLayout;\n}(React.Component);\n\nexports.default = ReactGridLayout;\n\n_defineProperty(ReactGridLayout, \"displayName\", \"ReactGridLayout\");\n\n_defineProperty(ReactGridLayout, \"propTypes\", _ReactGridLayoutPropTypes.default);\n\n_defineProperty(ReactGridLayout, \"defaultProps\", {\n autoSize: true,\n cols: 12,\n className: \"\",\n style: {},\n draggableHandle: \"\",\n draggableCancel: \"\",\n containerPadding: null,\n rowHeight: 150,\n maxRows: Infinity,\n // infinite vertical growth\n layout: [],\n margin: [10, 10],\n isBounded: false,\n isDraggable: true,\n isResizable: true,\n allowOverlap: false,\n isDroppable: false,\n useCSSTransforms: true,\n transformScale: 1,\n verticalCompact: true,\n compactType: \"vertical\",\n preventCollision: false,\n droppingItem: {\n i: \"__dropping-elem__\",\n h: 1,\n w: 1\n },\n resizeHandles: [\"se\"],\n onLayoutChange: _utils.noop,\n onDragStart: _utils.noop,\n onDrag: _utils.noop,\n onDragStop: _utils.noop,\n onResizeStart: _utils.noop,\n onResize: _utils.noop,\n onResizeStop: _utils.noop,\n onDrop: _utils.noop,\n onDropDragOver: _utils.noop\n});","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.resizeHandleType = exports.resizeHandleAxesType = exports.default = void 0;\n\nvar _propTypes = _interopRequireDefault(require(\"prop-types\"));\n\nvar _react = _interopRequireDefault(require(\"react\"));\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\n// Defines which resize handles should be rendered (default: 'se')\n// Allows for any combination of:\n// 's' - South handle (bottom-center)\n// 'w' - West handle (left-center)\n// 'e' - East handle (right-center)\n// 'n' - North handle (top-center)\n// 'sw' - Southwest handle (bottom-left)\n// 'nw' - Northwest handle (top-left)\n// 'se' - Southeast handle (bottom-right)\n// 'ne' - Northeast handle (top-right)\nvar resizeHandleAxesType\n/*: ReactPropsChainableTypeChecker*/\n= _propTypes.default.arrayOf(_propTypes.default.oneOf([\"s\", \"w\", \"e\", \"n\", \"sw\", \"nw\", \"se\", \"ne\"])); // Custom component for resize handles\n\n\nexports.resizeHandleAxesType = resizeHandleAxesType;\n\nvar resizeHandleType\n/*: ReactPropsChainableTypeChecker*/\n= _propTypes.default.oneOfType([_propTypes.default.node, _propTypes.default.func]);\n/*:: export type Props = {|\n className: string,\n style: Object,\n width: number,\n autoSize: boolean,\n cols: number,\n draggableCancel: string,\n draggableHandle: string,\n verticalCompact: boolean,\n compactType: CompactType,\n layout: Layout,\n margin: [number, number],\n containerPadding: ?[number, number],\n rowHeight: number,\n maxRows: number,\n isBounded: boolean,\n isDraggable: boolean,\n isResizable: boolean,\n isDroppable: boolean,\n preventCollision: boolean,\n useCSSTransforms: boolean,\n transformScale: number,\n droppingItem: $Shape,\n resizeHandles: ResizeHandleAxis[],\n resizeHandle?: ResizeHandle,\n allowOverlap: boolean,\n\n // Callbacks\n onLayoutChange: Layout => void,\n onDrag: EventCallback,\n onDragStart: EventCallback,\n onDragStop: EventCallback,\n onResize: EventCallback,\n onResizeStart: EventCallback,\n onResizeStop: EventCallback,\n onDropDragOver: (e: DragOverEvent) => ?({| w?: number, h?: number |} | false),\n onDrop: (layout: Layout, item: ?LayoutItem, e: Event) => void,\n children: ReactChildrenArray>,\n innerRef?: Ref<\"div\">\n|};*/\n\n/*:: export type DefaultProps = $Diff<\n Props,\n {\n children: ReactChildrenArray>,\n width: number\n }\n>;*/\n\n\nexports.resizeHandleType = resizeHandleType;\nvar _default = {\n //\n // Basic props\n //\n className: _propTypes.default.string,\n style: _propTypes.default.object,\n // This can be set explicitly. If it is not set, it will automatically\n // be set to the container width. Note that resizes will *not* cause this to adjust.\n // If you need that behavior, use WidthProvider.\n width: _propTypes.default.number,\n // If true, the container height swells and contracts to fit contents\n autoSize: _propTypes.default.bool,\n // # of cols.\n cols: _propTypes.default.number,\n // A selector that will not be draggable.\n draggableCancel: _propTypes.default.string,\n // A selector for the draggable handler\n draggableHandle: _propTypes.default.string,\n // Deprecated\n verticalCompact: function verticalCompact(props\n /*: Props*/\n ) {\n if (props.verticalCompact === false && process.env.NODE_ENV !== \"production\") {\n console.warn( // eslint-disable-line no-console\n \"`verticalCompact` on is deprecated and will be removed soon. \" + 'Use `compactType`: \"horizontal\" | \"vertical\" | null.');\n }\n },\n // Choose vertical or hotizontal compaction\n compactType: (_propTypes.default.oneOf([\"vertical\", \"horizontal\"])\n /*: ReactPropsChainableTypeChecker*/\n ),\n // layout is an array of object with the format:\n // {x: Number, y: Number, w: Number, h: Number, i: String}\n layout: function layout(props\n /*: Props*/\n ) {\n var layout = props.layout; // I hope you're setting the data-grid property on the grid items\n\n if (layout === undefined) return;\n\n require(\"./utils\").validateLayout(layout, \"layout\");\n },\n //\n // Grid Dimensions\n //\n // Margin between items [x, y] in px\n margin: (_propTypes.default.arrayOf(_propTypes.default.number)\n /*: ReactPropsChainableTypeChecker*/\n ),\n // Padding inside the container [x, y] in px\n containerPadding: (_propTypes.default.arrayOf(_propTypes.default.number)\n /*: ReactPropsChainableTypeChecker*/\n ),\n // Rows have a static height, but you can change this based on breakpoints if you like\n rowHeight: _propTypes.default.number,\n // Default Infinity, but you can specify a max here if you like.\n // Note that this isn't fully fleshed out and won't error if you specify a layout that\n // extends beyond the row capacity. It will, however, not allow users to drag/resize\n // an item past the barrier. They can push items beyond the barrier, though.\n // Intentionally not documented for this reason.\n maxRows: _propTypes.default.number,\n //\n // Flags\n //\n isBounded: _propTypes.default.bool,\n isDraggable: _propTypes.default.bool,\n isResizable: _propTypes.default.bool,\n // If true, grid can be placed one over the other.\n allowOverlap: _propTypes.default.bool,\n // If true, grid items won't change position when being dragged over.\n preventCollision: _propTypes.default.bool,\n // Use CSS transforms instead of top/left\n useCSSTransforms: _propTypes.default.bool,\n // parent layout transform scale\n transformScale: _propTypes.default.number,\n // If true, an external element can trigger onDrop callback with a specific grid position as a parameter\n isDroppable: _propTypes.default.bool,\n // Resize handle options\n resizeHandles: resizeHandleAxesType,\n resizeHandle: resizeHandleType,\n //\n // Callbacks\n //\n // Callback so you can save the layout. Calls after each drag & resize stops.\n onLayoutChange: _propTypes.default.func,\n // Calls when drag starts. Callback is of the signature (layout, oldItem, newItem, placeholder, e, ?node).\n // All callbacks below have the same signature. 'start' and 'stop' callbacks omit the 'placeholder'.\n onDragStart: _propTypes.default.func,\n // Calls on each drag movement.\n onDrag: _propTypes.default.func,\n // Calls when drag is complete.\n onDragStop: _propTypes.default.func,\n //Calls when resize starts.\n onResizeStart: _propTypes.default.func,\n // Calls when resize movement happens.\n onResize: _propTypes.default.func,\n // Calls when resize is complete.\n onResizeStop: _propTypes.default.func,\n // Calls when some element is dropped.\n onDrop: _propTypes.default.func,\n //\n // Other validations\n //\n droppingItem: (_propTypes.default.shape({\n i: _propTypes.default.string.isRequired,\n w: _propTypes.default.number.isRequired,\n h: _propTypes.default.number.isRequired\n })\n /*: ReactPropsChainableTypeChecker*/\n ),\n // Children must not have duplicate keys.\n children: function children(props\n /*: Props*/\n , propName\n /*: string*/\n ) {\n var children = props[propName]; // Check children keys for duplicates. Throw if found.\n\n var keys = {};\n\n _react.default.Children.forEach(children, function (child) {\n if ((child === null || child === void 0 ? void 0 : child.key) == null) return;\n\n if (keys[child.key]) {\n throw new Error('Duplicate child key \"' + child.key + '\" found! This will cause problems in ReactGridLayout.');\n }\n\n keys[child.key] = true;\n });\n },\n // Optional ref for getting a reference for the wrapping div.\n innerRef: _propTypes.default.any\n};\nexports.default = _default;","\"use strict\";\n\nfunction _typeof(obj) { \"@babel/helpers - typeof\"; return _typeof = \"function\" == typeof Symbol && \"symbol\" == typeof Symbol.iterator ? function (obj) { return typeof obj; } : function (obj) { return obj && \"function\" == typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; }, _typeof(obj); }\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = void 0;\n\nvar React = _interopRequireWildcard(require(\"react\"));\n\nvar _propTypes = _interopRequireDefault(require(\"prop-types\"));\n\nvar _lodash = _interopRequireDefault(require(\"lodash.isequal\"));\n\nvar _utils = require(\"./utils\");\n\nvar _responsiveUtils = require(\"./responsiveUtils\");\n\nvar _ReactGridLayout = _interopRequireDefault(require(\"./ReactGridLayout\"));\n\nvar _excluded = [\"breakpoint\", \"breakpoints\", \"cols\", \"layouts\", \"margin\", \"containerPadding\", \"onBreakpointChange\", \"onLayoutChange\", \"onWidthChange\"];\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== \"function\") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }\n\nfunction _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || _typeof(obj) !== \"object\" && typeof obj !== \"function\") { return { default: obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== \"default\" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj.default = obj; if (cache) { cache.set(obj, newObj); } return newObj; }\n\nfunction _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\n\nfunction _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }\n\nfunction _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }\n\nfunction ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }\n\nfunction _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { _defineProperty(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } }\n\nfunction _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); Object.defineProperty(Constructor, \"prototype\", { writable: false }); return Constructor; }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function\"); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, writable: true, configurable: true } }); Object.defineProperty(subClass, \"prototype\", { writable: false }); if (superClass) _setPrototypeOf(subClass, superClass); }\n\nfunction _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); }\n\nfunction _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = _getPrototypeOf(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = _getPrototypeOf(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return _possibleConstructorReturn(this, result); }; }\n\nfunction _possibleConstructorReturn(self, call) { if (call && (_typeof(call) === \"object\" || typeof call === \"function\")) { return call; } else if (call !== void 0) { throw new TypeError(\"Derived constructors may only return object or undefined\"); } return _assertThisInitialized(self); }\n\nfunction _assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return self; }\n\nfunction _isNativeReflectConstruct() { if (typeof Reflect === \"undefined\" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === \"function\") return true; try { Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); return true; } catch (e) { return false; } }\n\nfunction _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return _getPrototypeOf(o); }\n\nfunction _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\n\n// $FlowFixMe[method-unbinding]\nvar type = function type(obj) {\n return Object.prototype.toString.call(obj);\n};\n/**\n * Get a value of margin or containerPadding.\n *\n * @param {Array | Object} param Margin | containerPadding, e.g. [10, 10] | {lg: [10, 10], ...}.\n * @param {String} breakpoint Breakpoint: lg, md, sm, xs and etc.\n * @return {Array}\n */\n\n\nfunction getIndentationValue\n/*:: */\n(param\n/*: { [key: string]: T } | T*/\n, breakpoint\n/*: string*/\n)\n/*: T*/\n{\n // $FlowIgnore TODO fix this typedef\n if (param == null) return null; // $FlowIgnore TODO fix this typedef\n\n return Array.isArray(param) ? param : param[breakpoint];\n}\n/*:: type State = {\n layout: Layout,\n breakpoint: string,\n cols: number,\n layouts?: ResponsiveLayout\n};*/\n\n/*:: type Props = {|\n ...React.ElementConfig,\n\n // Responsive config\n breakpoint?: ?Breakpoint,\n breakpoints: Breakpoints,\n cols: { [key: Breakpoint]: number },\n layouts: ResponsiveLayout,\n width: number,\n margin: { [key: Breakpoint]: [number, number] } | [number, number],\n /* prettier-ignore *-/\n containerPadding: { [key: Breakpoint]: ?[number, number] } | ?[number, number],\n\n // Callbacks\n onBreakpointChange: (Breakpoint, cols: number) => void,\n onLayoutChange: OnLayoutChangeCallback,\n onWidthChange: (\n containerWidth: number,\n margin: [number, number],\n cols: number,\n containerPadding: ?[number, number]\n ) => void\n|};*/\n\n/*:: type DefaultProps = Pick<\n Props<>,\n {|\n allowOverlap: 0,\n breakpoints: 0,\n cols: 0,\n containerPadding: 0,\n layouts: 0,\n margin: 0,\n onBreakpointChange: 0,\n onLayoutChange: 0,\n onWidthChange: 0\n |}\n>;*/\n\n\nvar ResponsiveReactGridLayout = /*#__PURE__*/function (_React$Component) {\n _inherits(ResponsiveReactGridLayout, _React$Component);\n\n var _super = _createSuper(ResponsiveReactGridLayout);\n\n function ResponsiveReactGridLayout() {\n var _this;\n\n _classCallCheck(this, ResponsiveReactGridLayout);\n\n for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n\n _this = _super.call.apply(_super, [this].concat(args));\n\n _defineProperty(_assertThisInitialized(_this), \"state\", _this.generateInitialState());\n\n _defineProperty(_assertThisInitialized(_this), \"onLayoutChange\", function (layout\n /*: Layout*/\n ) {\n _this.props.onLayoutChange(layout, _objectSpread(_objectSpread({}, _this.props.layouts), {}, _defineProperty({}, _this.state.breakpoint, layout)));\n });\n\n return _this;\n }\n\n _createClass(ResponsiveReactGridLayout, [{\n key: \"generateInitialState\",\n value: function generateInitialState()\n /*: State*/\n {\n var _this$props = this.props,\n width = _this$props.width,\n breakpoints = _this$props.breakpoints,\n layouts = _this$props.layouts,\n cols = _this$props.cols;\n var breakpoint = (0, _responsiveUtils.getBreakpointFromWidth)(breakpoints, width);\n var colNo = (0, _responsiveUtils.getColsFromBreakpoint)(breakpoint, cols); // verticalCompact compatibility, now deprecated\n\n var compactType = this.props.verticalCompact === false ? null : this.props.compactType; // Get the initial layout. This can tricky; we try to generate one however possible if one doesn't exist\n // for this layout.\n\n var initialLayout = (0, _responsiveUtils.findOrGenerateResponsiveLayout)(layouts, breakpoints, breakpoint, breakpoint, colNo, compactType);\n return {\n layout: initialLayout,\n breakpoint: breakpoint,\n cols: colNo\n };\n }\n }, {\n key: \"componentDidUpdate\",\n value: function componentDidUpdate(prevProps\n /*: Props<*>*/\n ) {\n // Allow parent to set width or breakpoint directly.\n if (this.props.width != prevProps.width || this.props.breakpoint !== prevProps.breakpoint || !(0, _lodash.default)(this.props.breakpoints, prevProps.breakpoints) || !(0, _lodash.default)(this.props.cols, prevProps.cols)) {\n this.onWidthChange(prevProps);\n }\n } // wrap layouts so we do not need to pass layouts to child\n\n }, {\n key: \"onWidthChange\",\n value:\n /**\n * When the width changes work through breakpoints and reset state with the new width & breakpoint.\n * Width changes are necessary to figure out the widget widths.\n */\n function onWidthChange(prevProps\n /*: Props<*>*/\n ) {\n var _this$props2 = this.props,\n breakpoints = _this$props2.breakpoints,\n cols = _this$props2.cols,\n layouts = _this$props2.layouts,\n compactType = _this$props2.compactType;\n var newBreakpoint = this.props.breakpoint || (0, _responsiveUtils.getBreakpointFromWidth)(this.props.breakpoints, this.props.width);\n var lastBreakpoint = this.state.breakpoint;\n var newCols\n /*: number*/\n = (0, _responsiveUtils.getColsFromBreakpoint)(newBreakpoint, cols);\n\n var newLayouts = _objectSpread({}, layouts); // Breakpoint change\n\n\n if (lastBreakpoint !== newBreakpoint || prevProps.breakpoints !== breakpoints || prevProps.cols !== cols) {\n // Preserve the current layout if the current breakpoint is not present in the next layouts.\n if (!(lastBreakpoint in newLayouts)) newLayouts[lastBreakpoint] = (0, _utils.cloneLayout)(this.state.layout); // Find or generate a new layout.\n\n var layout = (0, _responsiveUtils.findOrGenerateResponsiveLayout)(newLayouts, breakpoints, newBreakpoint, lastBreakpoint, newCols, compactType); // This adds missing items.\n\n layout = (0, _utils.synchronizeLayoutWithChildren)(layout, this.props.children, newCols, compactType, this.props.allowOverlap); // Store the new layout.\n\n newLayouts[newBreakpoint] = layout; // callbacks\n\n this.props.onLayoutChange(layout, newLayouts);\n this.props.onBreakpointChange(newBreakpoint, newCols);\n this.setState({\n breakpoint: newBreakpoint,\n layout: layout,\n cols: newCols\n });\n }\n\n var margin = getIndentationValue(this.props.margin, newBreakpoint);\n var containerPadding = getIndentationValue(this.props.containerPadding, newBreakpoint); //call onWidthChange on every change of width, not only on breakpoint changes\n\n this.props.onWidthChange(this.props.width, margin, newCols, containerPadding);\n }\n }, {\n key: \"render\",\n value: function render()\n /*: React.Element*/\n {\n /* eslint-disable no-unused-vars */\n var _this$props3 = this.props,\n breakpoint = _this$props3.breakpoint,\n breakpoints = _this$props3.breakpoints,\n cols = _this$props3.cols,\n layouts = _this$props3.layouts,\n margin = _this$props3.margin,\n containerPadding = _this$props3.containerPadding,\n onBreakpointChange = _this$props3.onBreakpointChange,\n onLayoutChange = _this$props3.onLayoutChange,\n onWidthChange = _this$props3.onWidthChange,\n other = _objectWithoutProperties(_this$props3, _excluded);\n /* eslint-enable no-unused-vars */\n\n\n return /*#__PURE__*/React.createElement(_ReactGridLayout.default, _extends({}, other, {\n // $FlowIgnore should allow nullable here due to DefaultProps\n margin: getIndentationValue(margin, this.state.breakpoint),\n containerPadding: getIndentationValue(containerPadding, this.state.breakpoint),\n onLayoutChange: this.onLayoutChange,\n layout: this.state.layout,\n cols: this.state.cols\n }));\n }\n }], [{\n key: \"getDerivedStateFromProps\",\n value: function getDerivedStateFromProps(nextProps\n /*: Props<*>*/\n , prevState\n /*: State*/\n )\n /*: ?$Shape*/\n {\n if (!(0, _lodash.default)(nextProps.layouts, prevState.layouts)) {\n // Allow parent to set layouts directly.\n var breakpoint = prevState.breakpoint,\n _cols = prevState.cols; // Since we're setting an entirely new layout object, we must generate a new responsive layout\n // if one does not exist.\n\n var newLayout = (0, _responsiveUtils.findOrGenerateResponsiveLayout)(nextProps.layouts, nextProps.breakpoints, breakpoint, breakpoint, _cols, nextProps.compactType);\n return {\n layout: newLayout,\n layouts: nextProps.layouts\n };\n }\n\n return null;\n }\n }]);\n\n return ResponsiveReactGridLayout;\n}(React.Component);\n\nexports.default = ResponsiveReactGridLayout;\n\n_defineProperty(ResponsiveReactGridLayout, \"propTypes\", {\n //\n // Basic props\n //\n // Optional, but if you are managing width yourself you may want to set the breakpoint\n // yourself as well.\n breakpoint: _propTypes.default.string,\n // {name: pxVal}, e.g. {lg: 1200, md: 996, sm: 768, xs: 480}\n breakpoints: _propTypes.default.object,\n allowOverlap: _propTypes.default.bool,\n // # of cols. This is a breakpoint -> cols map\n cols: _propTypes.default.object,\n // # of margin. This is a breakpoint -> margin map\n // e.g. { lg: [5, 5], md: [10, 10], sm: [15, 15] }\n // Margin between items [x, y] in px\n // e.g. [10, 10]\n margin: _propTypes.default.oneOfType([_propTypes.default.array, _propTypes.default.object]),\n // # of containerPadding. This is a breakpoint -> containerPadding map\n // e.g. { lg: [5, 5], md: [10, 10], sm: [15, 15] }\n // Padding inside the container [x, y] in px\n // e.g. [10, 10]\n containerPadding: _propTypes.default.oneOfType([_propTypes.default.array, _propTypes.default.object]),\n // layouts is an object mapping breakpoints to layouts.\n // e.g. {lg: Layout, md: Layout, ...}\n layouts: function layouts(props\n /*: Props<>*/\n , propName\n /*: string*/\n ) {\n if (type(props[propName]) !== \"[object Object]\") {\n throw new Error(\"Layout property must be an object. Received: \" + type(props[propName]));\n }\n\n Object.keys(props[propName]).forEach(function (key) {\n if (!(key in props.breakpoints)) {\n throw new Error(\"Each key in layouts must align with a key in breakpoints.\");\n }\n\n (0, _utils.validateLayout)(props.layouts[key], \"layouts.\" + key);\n });\n },\n // The width of this component.\n // Required in this propTypes stanza because generateInitialState() will fail without it.\n width: _propTypes.default.number.isRequired,\n //\n // Callbacks\n //\n // Calls back with breakpoint and new # cols\n onBreakpointChange: _propTypes.default.func,\n // Callback so you can save the layout.\n // Calls back with (currentLayout, allLayouts). allLayouts are keyed by breakpoint.\n onLayoutChange: _propTypes.default.func,\n // Calls back with (containerWidth, margin, cols, containerPadding)\n onWidthChange: _propTypes.default.func\n});\n\n_defineProperty(ResponsiveReactGridLayout, \"defaultProps\", {\n breakpoints: {\n lg: 1200,\n md: 996,\n sm: 768,\n xs: 480,\n xxs: 0\n },\n cols: {\n lg: 12,\n md: 10,\n sm: 6,\n xs: 4,\n xxs: 2\n },\n containerPadding: {\n lg: null,\n md: null,\n sm: null,\n xs: null,\n xxs: null\n },\n layouts: {},\n margin: [10, 10],\n allowOverlap: false,\n onBreakpointChange: _utils.noop,\n onLayoutChange: _utils.noop,\n onWidthChange: _utils.noop\n});","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.calcGridColWidth = calcGridColWidth;\nexports.calcGridItemPosition = calcGridItemPosition;\nexports.calcGridItemWHPx = calcGridItemWHPx;\nexports.calcWH = calcWH;\nexports.calcXY = calcXY;\nexports.clamp = clamp;\n\n/*:: import type { Position } from \"./utils\";*/\n\n/*:: export type PositionParams = {\n margin: [number, number],\n containerPadding: [number, number],\n containerWidth: number,\n cols: number,\n rowHeight: number,\n maxRows: number\n};*/\n// Helper for generating column width\nfunction calcGridColWidth(positionParams\n/*: PositionParams*/\n)\n/*: number*/\n{\n var margin = positionParams.margin,\n containerPadding = positionParams.containerPadding,\n containerWidth = positionParams.containerWidth,\n cols = positionParams.cols;\n return (containerWidth - margin[0] * (cols - 1) - containerPadding[0] * 2) / cols;\n} // This can either be called:\n// calcGridItemWHPx(w, colWidth, margin[0])\n// or\n// calcGridItemWHPx(h, rowHeight, margin[1])\n\n\nfunction calcGridItemWHPx(gridUnits\n/*: number*/\n, colOrRowSize\n/*: number*/\n, marginPx\n/*: number*/\n)\n/*: number*/\n{\n // 0 * Infinity === NaN, which causes problems with resize contraints\n if (!Number.isFinite(gridUnits)) return gridUnits;\n return Math.round(colOrRowSize * gridUnits + Math.max(0, gridUnits - 1) * marginPx);\n}\n/**\n * Return position on the page given an x, y, w, h.\n * left, top, width, height are all in pixels.\n * @param {PositionParams} positionParams Parameters of grid needed for coordinates calculations.\n * @param {Number} x X coordinate in grid units.\n * @param {Number} y Y coordinate in grid units.\n * @param {Number} w W coordinate in grid units.\n * @param {Number} h H coordinate in grid units.\n * @return {Position} Object containing coords.\n */\n\n\nfunction calcGridItemPosition(positionParams\n/*: PositionParams*/\n, x\n/*: number*/\n, y\n/*: number*/\n, w\n/*: number*/\n, h\n/*: number*/\n, state\n/*: ?Object*/\n)\n/*: Position*/\n{\n var margin = positionParams.margin,\n containerPadding = positionParams.containerPadding,\n rowHeight = positionParams.rowHeight;\n var colWidth = calcGridColWidth(positionParams);\n var out = {}; // If resizing, use the exact width and height as returned from resizing callbacks.\n\n if (state && state.resizing) {\n out.width = Math.round(state.resizing.width);\n out.height = Math.round(state.resizing.height);\n } // Otherwise, calculate from grid units.\n else {\n out.width = calcGridItemWHPx(w, colWidth, margin[0]);\n out.height = calcGridItemWHPx(h, rowHeight, margin[1]);\n } // If dragging, use the exact width and height as returned from dragging callbacks.\n\n\n if (state && state.dragging) {\n out.top = Math.round(state.dragging.top);\n out.left = Math.round(state.dragging.left);\n } // Otherwise, calculate from grid units.\n else {\n out.top = Math.round((rowHeight + margin[1]) * y + containerPadding[1]);\n out.left = Math.round((colWidth + margin[0]) * x + containerPadding[0]);\n }\n\n return out;\n}\n/**\n * Translate x and y coordinates from pixels to grid units.\n * @param {PositionParams} positionParams Parameters of grid needed for coordinates calculations.\n * @param {Number} top Top position (relative to parent) in pixels.\n * @param {Number} left Left position (relative to parent) in pixels.\n * @param {Number} w W coordinate in grid units.\n * @param {Number} h H coordinate in grid units.\n * @return {Object} x and y in grid units.\n */\n\n\nfunction calcXY(positionParams\n/*: PositionParams*/\n, top\n/*: number*/\n, left\n/*: number*/\n, w\n/*: number*/\n, h\n/*: number*/\n)\n/*: { x: number, y: number }*/\n{\n var margin = positionParams.margin,\n cols = positionParams.cols,\n rowHeight = positionParams.rowHeight,\n maxRows = positionParams.maxRows;\n var colWidth = calcGridColWidth(positionParams); // left = colWidth * x + margin * (x + 1)\n // l = cx + m(x+1)\n // l = cx + mx + m\n // l - m = cx + mx\n // l - m = x(c + m)\n // (l - m) / (c + m) = x\n // x = (left - margin) / (coldWidth + margin)\n\n var x = Math.round((left - margin[0]) / (colWidth + margin[0]));\n var y = Math.round((top - margin[1]) / (rowHeight + margin[1])); // Capping\n\n x = clamp(x, 0, cols - w);\n y = clamp(y, 0, maxRows - h);\n return {\n x: x,\n y: y\n };\n}\n/**\n * Given a height and width in pixel values, calculate grid units.\n * @param {PositionParams} positionParams Parameters of grid needed for coordinates calcluations.\n * @param {Number} height Height in pixels.\n * @param {Number} width Width in pixels.\n * @param {Number} x X coordinate in grid units.\n * @param {Number} y Y coordinate in grid units.\n * @return {Object} w, h as grid units.\n */\n\n\nfunction calcWH(positionParams\n/*: PositionParams*/\n, width\n/*: number*/\n, height\n/*: number*/\n, x\n/*: number*/\n, y\n/*: number*/\n)\n/*: { w: number, h: number }*/\n{\n var margin = positionParams.margin,\n maxRows = positionParams.maxRows,\n cols = positionParams.cols,\n rowHeight = positionParams.rowHeight;\n var colWidth = calcGridColWidth(positionParams); // width = colWidth * w - (margin * (w - 1))\n // ...\n // w = (width + margin) / (colWidth + margin)\n\n var w = Math.round((width + margin[0]) / (colWidth + margin[0]));\n var h = Math.round((height + margin[1]) / (rowHeight + margin[1])); // Capping\n\n w = clamp(w, 0, cols - x);\n h = clamp(h, 0, maxRows - y);\n return {\n w: w,\n h: h\n };\n} // Similar to _.clamp\n\n\nfunction clamp(num\n/*: number*/\n, lowerBound\n/*: number*/\n, upperBound\n/*: number*/\n)\n/*: number*/\n{\n return Math.max(Math.min(num, upperBound), lowerBound);\n}","\"use strict\";\n\nfunction _typeof(obj) { \"@babel/helpers - typeof\"; return _typeof = \"function\" == typeof Symbol && \"symbol\" == typeof Symbol.iterator ? function (obj) { return typeof obj; } : function (obj) { return obj && \"function\" == typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; }, _typeof(obj); }\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = WidthProvideRGL;\n\nvar React = _interopRequireWildcard(require(\"react\"));\n\nvar _propTypes = _interopRequireDefault(require(\"prop-types\"));\n\nvar _clsx = _interopRequireDefault(require(\"clsx\"));\n\nvar _excluded = [\"measureBeforeMount\"];\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== \"function\") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }\n\nfunction _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || _typeof(obj) !== \"object\" && typeof obj !== \"function\") { return { default: obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== \"default\" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj.default = obj; if (cache) { cache.set(obj, newObj); } return newObj; }\n\nfunction _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\n\nfunction _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }\n\nfunction _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } }\n\nfunction _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); Object.defineProperty(Constructor, \"prototype\", { writable: false }); return Constructor; }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function\"); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, writable: true, configurable: true } }); Object.defineProperty(subClass, \"prototype\", { writable: false }); if (superClass) _setPrototypeOf(subClass, superClass); }\n\nfunction _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); }\n\nfunction _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = _getPrototypeOf(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = _getPrototypeOf(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return _possibleConstructorReturn(this, result); }; }\n\nfunction _possibleConstructorReturn(self, call) { if (call && (_typeof(call) === \"object\" || typeof call === \"function\")) { return call; } else if (call !== void 0) { throw new TypeError(\"Derived constructors may only return object or undefined\"); } return _assertThisInitialized(self); }\n\nfunction _assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return self; }\n\nfunction _isNativeReflectConstruct() { if (typeof Reflect === \"undefined\" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === \"function\") return true; try { Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); return true; } catch (e) { return false; } }\n\nfunction _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return _getPrototypeOf(o); }\n\nfunction _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\n\nvar layoutClassName = \"react-grid-layout\";\n/*\n * A simple HOC that provides facility for listening to container resizes.\n *\n * The Flow type is pretty janky here. I can't just spread `WPProps` into this returned object - I wish I could - but it triggers\n * a flow bug of some sort that causes it to stop typechecking.\n */\n\nfunction WidthProvideRGL\n/*:: */\n(ComposedComponent\n/*: React.AbstractComponent*/\n)\n/*: React.AbstractComponent>*/\n{\n var _class;\n\n return _class = /*#__PURE__*/function (_React$Component) {\n _inherits(WidthProvider, _React$Component);\n\n var _super = _createSuper(WidthProvider);\n\n function WidthProvider() {\n var _this;\n\n _classCallCheck(this, WidthProvider);\n\n for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n\n _this = _super.call.apply(_super, [this].concat(args));\n\n _defineProperty(_assertThisInitialized(_this), \"state\", {\n width: 1280\n });\n\n _defineProperty(_assertThisInitialized(_this), \"elementRef\", /*#__PURE__*/React.createRef());\n\n _defineProperty(_assertThisInitialized(_this), \"mounted\", false);\n\n _defineProperty(_assertThisInitialized(_this), \"onWindowResize\", function () {\n if (!_this.mounted) return;\n var node = _this.elementRef.current; // Flow casts this to Text | Element\n // fix: grid position error when node or parentNode display is none by window resize\n // #924 #1084\n\n if (node instanceof HTMLElement && node.offsetWidth) {\n _this.setState({\n width: node.offsetWidth\n });\n }\n });\n\n return _this;\n }\n\n _createClass(WidthProvider, [{\n key: \"componentDidMount\",\n value: function componentDidMount() {\n this.mounted = true;\n window.addEventListener(\"resize\", this.onWindowResize); // Call to properly set the breakpoint and resize the elements.\n // Note that if you're doing a full-width element, this can get a little wonky if a scrollbar\n // appears because of the grid. In that case, fire your own resize event, or set `overflow: scroll` on your body.\n\n this.onWindowResize();\n }\n }, {\n key: \"componentWillUnmount\",\n value: function componentWillUnmount() {\n this.mounted = false;\n window.removeEventListener(\"resize\", this.onWindowResize);\n }\n }, {\n key: \"render\",\n value: function render() {\n var _this$props = this.props,\n measureBeforeMount = _this$props.measureBeforeMount,\n rest = _objectWithoutProperties(_this$props, _excluded);\n\n if (measureBeforeMount && !this.mounted) {\n return /*#__PURE__*/React.createElement(\"div\", {\n className: (0, _clsx.default)(this.props.className, layoutClassName),\n style: this.props.style // $FlowIgnore ref types\n ,\n ref: this.elementRef\n });\n }\n\n return /*#__PURE__*/React.createElement(ComposedComponent, _extends({\n innerRef: this.elementRef\n }, rest, this.state));\n }\n }]);\n\n return WidthProvider;\n }(React.Component), _defineProperty(_class, \"defaultProps\", {\n measureBeforeMount: false\n }), _defineProperty(_class, \"propTypes\", {\n // If true, will not render children until mounted. Useful for getting the exact width before\n // rendering, to prevent any unsightly resizing.\n measureBeforeMount: _propTypes.default.bool\n }), _class;\n}","// this file was prevaled\nmodule.exports = function fastRGLPropsEqual(a, b, isEqualImpl) {\n if (a === b) return true;\n return a.className === b.className && isEqualImpl(a.style, b.style) && a.width === b.width && a.autoSize === b.autoSize && a.cols === b.cols && a.draggableCancel === b.draggableCancel && a.draggableHandle === b.draggableHandle && isEqualImpl(a.verticalCompact, b.verticalCompact) && isEqualImpl(a.compactType, b.compactType) && isEqualImpl(a.layout, b.layout) && isEqualImpl(a.margin, b.margin) && isEqualImpl(a.containerPadding, b.containerPadding) && a.rowHeight === b.rowHeight && a.maxRows === b.maxRows && a.isBounded === b.isBounded && a.isDraggable === b.isDraggable && a.isResizable === b.isResizable && a.allowOverlap === b.allowOverlap && a.preventCollision === b.preventCollision && a.useCSSTransforms === b.useCSSTransforms && a.transformScale === b.transformScale && a.isDroppable === b.isDroppable && isEqualImpl(a.resizeHandles, b.resizeHandles) && isEqualImpl(a.resizeHandle, b.resizeHandle) && a.onLayoutChange === b.onLayoutChange && a.onDragStart === b.onDragStart && a.onDrag === b.onDrag && a.onDragStop === b.onDragStop && a.onResizeStart === b.onResizeStart && a.onResize === b.onResize && a.onResizeStop === b.onResizeStop && a.onDrop === b.onDrop && isEqualImpl(a.droppingItem, b.droppingItem) && isEqualImpl(a.innerRef, b.innerRef);\n};","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.findOrGenerateResponsiveLayout = findOrGenerateResponsiveLayout;\nexports.getBreakpointFromWidth = getBreakpointFromWidth;\nexports.getColsFromBreakpoint = getColsFromBreakpoint;\nexports.sortBreakpoints = sortBreakpoints;\n\nvar _utils = require(\"./utils\");\n\n/**\n * Given a width, find the highest breakpoint that matches is valid for it (width > breakpoint).\n *\n * @param {Object} breakpoints Breakpoints object (e.g. {lg: 1200, md: 960, ...})\n * @param {Number} width Screen width.\n * @return {String} Highest breakpoint that is less than width.\n */\nfunction getBreakpointFromWidth(breakpoints\n/*: Breakpoints*/\n, width\n/*: number*/\n)\n/*: Breakpoint*/\n{\n var sorted = sortBreakpoints(breakpoints);\n var matching = sorted[0];\n\n for (var i = 1, len = sorted.length; i < len; i++) {\n var breakpointName = sorted[i];\n if (width > breakpoints[breakpointName]) matching = breakpointName;\n }\n\n return matching;\n}\n/**\n * Given a breakpoint, get the # of cols set for it.\n * @param {String} breakpoint Breakpoint name.\n * @param {Object} cols Map of breakpoints to cols.\n * @return {Number} Number of cols.\n */\n\n\nfunction getColsFromBreakpoint(breakpoint\n/*: Breakpoint*/\n, cols\n/*: Breakpoints*/\n)\n/*: number*/\n{\n if (!cols[breakpoint]) {\n throw new Error(\"ResponsiveReactGridLayout: `cols` entry for breakpoint \" + breakpoint + \" is missing!\");\n }\n\n return cols[breakpoint];\n}\n/**\n * Given existing layouts and a new breakpoint, find or generate a new layout.\n *\n * This finds the layout above the new one and generates from it, if it exists.\n *\n * @param {Object} layouts Existing layouts.\n * @param {Array} breakpoints All breakpoints.\n * @param {String} breakpoint New breakpoint.\n * @param {String} breakpoint Last breakpoint (for fallback).\n * @param {Number} cols Column count at new breakpoint.\n * @param {Boolean} verticalCompact Whether or not to compact the layout\n * vertically.\n * @return {Array} New layout.\n */\n\n\nfunction findOrGenerateResponsiveLayout(layouts\n/*: ResponsiveLayout*/\n, breakpoints\n/*: Breakpoints*/\n, breakpoint\n/*: Breakpoint*/\n, lastBreakpoint\n/*: Breakpoint*/\n, cols\n/*: number*/\n, compactType\n/*: CompactType*/\n)\n/*: Layout*/\n{\n // If it already exists, just return it.\n if (layouts[breakpoint]) return (0, _utils.cloneLayout)(layouts[breakpoint]); // Find or generate the next layout\n\n var layout = layouts[lastBreakpoint];\n var breakpointsSorted = sortBreakpoints(breakpoints);\n var breakpointsAbove = breakpointsSorted.slice(breakpointsSorted.indexOf(breakpoint));\n\n for (var i = 0, len = breakpointsAbove.length; i < len; i++) {\n var b = breakpointsAbove[i];\n\n if (layouts[b]) {\n layout = layouts[b];\n break;\n }\n }\n\n layout = (0, _utils.cloneLayout)(layout || []); // clone layout so we don't modify existing items\n\n return (0, _utils.compact)((0, _utils.correctBounds)(layout, {\n cols: cols\n }), compactType, cols);\n}\n/**\n * Given breakpoints, return an array of breakpoints sorted by width. This is usually\n * e.g. ['xxs', 'xs', 'sm', ...]\n *\n * @param {Object} breakpoints Key/value pair of breakpoint names to widths.\n * @return {Array} Sorted breakpoints.\n */\n\n\nfunction sortBreakpoints(breakpoints\n/*: Breakpoints*/\n)\n/*: Array*/\n{\n var keys\n /*: Array*/\n = Object.keys(breakpoints);\n return keys.sort(function (a, b) {\n return breakpoints[a] - breakpoints[b];\n });\n}","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.bottom = bottom;\nexports.childrenEqual = childrenEqual;\nexports.cloneLayout = cloneLayout;\nexports.cloneLayoutItem = cloneLayoutItem;\nexports.collides = collides;\nexports.compact = compact;\nexports.compactItem = compactItem;\nexports.compactType = compactType;\nexports.correctBounds = correctBounds;\nexports.fastPositionEqual = fastPositionEqual;\nexports.fastRGLPropsEqual = void 0;\nexports.getAllCollisions = getAllCollisions;\nexports.getFirstCollision = getFirstCollision;\nexports.getLayoutItem = getLayoutItem;\nexports.getStatics = getStatics;\nexports.modifyLayout = modifyLayout;\nexports.moveElement = moveElement;\nexports.moveElementAwayFromCollision = moveElementAwayFromCollision;\nexports.noop = void 0;\nexports.perc = perc;\nexports.setTopLeft = setTopLeft;\nexports.setTransform = setTransform;\nexports.sortLayoutItems = sortLayoutItems;\nexports.sortLayoutItemsByColRow = sortLayoutItemsByColRow;\nexports.sortLayoutItemsByRowCol = sortLayoutItemsByRowCol;\nexports.synchronizeLayoutWithChildren = synchronizeLayoutWithChildren;\nexports.validateLayout = validateLayout;\nexports.withLayoutItem = withLayoutItem;\n\nvar _lodash = _interopRequireDefault(require(\"lodash.isequal\"));\n\nvar _react = _interopRequireDefault(require(\"react\"));\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }\n\nfunction _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { _defineProperty(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }\n\nfunction _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\n\nvar isProduction = process.env.NODE_ENV === \"production\";\nvar DEBUG = false;\n/**\n * Return the bottom coordinate of the layout.\n *\n * @param {Array} layout Layout array.\n * @return {Number} Bottom coordinate.\n */\n\nfunction bottom(layout\n/*: Layout*/\n)\n/*: number*/\n{\n var max = 0,\n bottomY;\n\n for (var i = 0, len = layout.length; i < len; i++) {\n bottomY = layout[i].y + layout[i].h;\n if (bottomY > max) max = bottomY;\n }\n\n return max;\n}\n\nfunction cloneLayout(layout\n/*: Layout*/\n)\n/*: Layout*/\n{\n var newLayout = Array(layout.length);\n\n for (var i = 0, len = layout.length; i < len; i++) {\n newLayout[i] = cloneLayoutItem(layout[i]);\n }\n\n return newLayout;\n} // Modify a layoutItem inside a layout. Returns a new Layout,\n// does not mutate. Carries over all other LayoutItems unmodified.\n\n\nfunction modifyLayout(layout\n/*: Layout*/\n, layoutItem\n/*: LayoutItem*/\n)\n/*: Layout*/\n{\n var newLayout = Array(layout.length);\n\n for (var i = 0, len = layout.length; i < len; i++) {\n if (layoutItem.i === layout[i].i) {\n newLayout[i] = layoutItem;\n } else {\n newLayout[i] = layout[i];\n }\n }\n\n return newLayout;\n} // Function to be called to modify a layout item.\n// Does defensive clones to ensure the layout is not modified.\n\n\nfunction withLayoutItem(layout\n/*: Layout*/\n, itemKey\n/*: string*/\n, cb\n/*: LayoutItem => LayoutItem*/\n)\n/*: [Layout, ?LayoutItem]*/\n{\n var item = getLayoutItem(layout, itemKey);\n if (!item) return [layout, null];\n item = cb(cloneLayoutItem(item)); // defensive clone then modify\n // FIXME could do this faster if we already knew the index\n\n layout = modifyLayout(layout, item);\n return [layout, item];\n} // Fast path to cloning, since this is monomorphic\n\n\nfunction cloneLayoutItem(layoutItem\n/*: LayoutItem*/\n)\n/*: LayoutItem*/\n{\n return {\n w: layoutItem.w,\n h: layoutItem.h,\n x: layoutItem.x,\n y: layoutItem.y,\n i: layoutItem.i,\n minW: layoutItem.minW,\n maxW: layoutItem.maxW,\n minH: layoutItem.minH,\n maxH: layoutItem.maxH,\n moved: Boolean(layoutItem.moved),\n static: Boolean(layoutItem.static),\n // These can be null/undefined\n isDraggable: layoutItem.isDraggable,\n isResizable: layoutItem.isResizable,\n resizeHandles: layoutItem.resizeHandles,\n isBounded: layoutItem.isBounded\n };\n}\n/**\n * Comparing React `children` is a bit difficult. This is a good way to compare them.\n * This will catch differences in keys, order, and length.\n */\n\n\nfunction childrenEqual(a\n/*: ReactChildren*/\n, b\n/*: ReactChildren*/\n)\n/*: boolean*/\n{\n return (0, _lodash.default)(_react.default.Children.map(a, function (c) {\n return c === null || c === void 0 ? void 0 : c.key;\n }), _react.default.Children.map(b, function (c) {\n return c === null || c === void 0 ? void 0 : c.key;\n }));\n}\n/**\n * See `fastRGLPropsEqual.js`.\n * We want this to run as fast as possible - it is called often - and to be\n * resilient to new props that we add. So rather than call lodash.isEqual,\n * which isn't suited to comparing props very well, we use this specialized\n * function in conjunction with preval to generate the fastest possible comparison\n * function, tuned for exactly our props.\n */\n\n/*:: type FastRGLPropsEqual = (Object, Object, Function) => boolean;*/\n\n\nvar fastRGLPropsEqual\n/*: FastRGLPropsEqual*/\n= require(\"./fastRGLPropsEqual\"); // Like the above, but a lot simpler.\n\n\nexports.fastRGLPropsEqual = fastRGLPropsEqual;\n\nfunction fastPositionEqual(a\n/*: Position*/\n, b\n/*: Position*/\n)\n/*: boolean*/\n{\n return a.left === b.left && a.top === b.top && a.width === b.width && a.height === b.height;\n}\n/**\n * Given two layoutitems, check if they collide.\n */\n\n\nfunction collides(l1\n/*: LayoutItem*/\n, l2\n/*: LayoutItem*/\n)\n/*: boolean*/\n{\n if (l1.i === l2.i) return false; // same element\n\n if (l1.x + l1.w <= l2.x) return false; // l1 is left of l2\n\n if (l1.x >= l2.x + l2.w) return false; // l1 is right of l2\n\n if (l1.y + l1.h <= l2.y) return false; // l1 is above l2\n\n if (l1.y >= l2.y + l2.h) return false; // l1 is below l2\n\n return true; // boxes overlap\n}\n/**\n * Given a layout, compact it. This involves going down each y coordinate and removing gaps\n * between items.\n *\n * Does not modify layout items (clones). Creates a new layout array.\n *\n * @param {Array} layout Layout.\n * @param {Boolean} verticalCompact Whether or not to compact the layout\n * vertically.\n * @return {Array} Compacted Layout.\n */\n\n\nfunction compact(layout\n/*: Layout*/\n, compactType\n/*: CompactType*/\n, cols\n/*: number*/\n)\n/*: Layout*/\n{\n // Statics go in the compareWith array right away so items flow around them.\n var compareWith = getStatics(layout); // We go through the items by row and column.\n\n var sorted = sortLayoutItems(layout, compactType); // Holding for new items.\n\n var out = Array(layout.length);\n\n for (var i = 0, len = sorted.length; i < len; i++) {\n var l = cloneLayoutItem(sorted[i]); // Don't move static elements\n\n if (!l.static) {\n l = compactItem(compareWith, l, compactType, cols, sorted); // Add to comparison array. We only collide with items before this one.\n // Statics are already in this array.\n\n compareWith.push(l);\n } // Add to output array to make sure they still come out in the right order.\n\n\n out[layout.indexOf(sorted[i])] = l; // Clear moved flag, if it exists.\n\n l.moved = false;\n }\n\n return out;\n}\n\nvar heightWidth = {\n x: \"w\",\n y: \"h\"\n};\n/**\n * Before moving item down, it will check if the movement will cause collisions and move those items down before.\n */\n\nfunction resolveCompactionCollision(layout\n/*: Layout*/\n, item\n/*: LayoutItem*/\n, moveToCoord\n/*: number*/\n, axis\n/*: \"x\" | \"y\"*/\n) {\n var sizeProp = heightWidth[axis];\n item[axis] += 1;\n var itemIndex = layout.map(function (layoutItem) {\n return layoutItem.i;\n }).indexOf(item.i); // Go through each item we collide with.\n\n for (var i = itemIndex + 1; i < layout.length; i++) {\n var otherItem = layout[i]; // Ignore static items\n\n if (otherItem.static) continue; // Optimization: we can break early if we know we're past this el\n // We can do this b/c it's a sorted layout\n\n if (otherItem.y > item.y + item.h) break;\n\n if (collides(item, otherItem)) {\n resolveCompactionCollision(layout, otherItem, moveToCoord + item[sizeProp], axis);\n }\n }\n\n item[axis] = moveToCoord;\n}\n/**\n * Compact an item in the layout.\n *\n * Modifies item.\n *\n */\n\n\nfunction compactItem(compareWith\n/*: Layout*/\n, l\n/*: LayoutItem*/\n, compactType\n/*: CompactType*/\n, cols\n/*: number*/\n, fullLayout\n/*: Layout*/\n)\n/*: LayoutItem*/\n{\n var compactV = compactType === \"vertical\";\n var compactH = compactType === \"horizontal\";\n\n if (compactV) {\n // Bottom 'y' possible is the bottom of the layout.\n // This allows you to do nice stuff like specify {y: Infinity}\n // This is here because the layout must be sorted in order to get the correct bottom `y`.\n l.y = Math.min(bottom(compareWith), l.y); // Move the element up as far as it can go without colliding.\n\n while (l.y > 0 && !getFirstCollision(compareWith, l)) {\n l.y--;\n }\n } else if (compactH) {\n // Move the element left as far as it can go without colliding.\n while (l.x > 0 && !getFirstCollision(compareWith, l)) {\n l.x--;\n }\n } // Move it down, and keep moving it down if it's colliding.\n\n\n var collides;\n\n while (collides = getFirstCollision(compareWith, l)) {\n if (compactH) {\n resolveCompactionCollision(fullLayout, l, collides.x + collides.w, \"x\");\n } else {\n resolveCompactionCollision(fullLayout, l, collides.y + collides.h, \"y\");\n } // Since we can't grow without bounds horizontally, if we've overflown, let's move it down and try again.\n\n\n if (compactH && l.x + l.w > cols) {\n l.x = cols - l.w;\n l.y++;\n }\n } // Ensure that there are no negative positions\n\n\n l.y = Math.max(l.y, 0);\n l.x = Math.max(l.x, 0);\n return l;\n}\n/**\n * Given a layout, make sure all elements fit within its bounds.\n *\n * Modifies layout items.\n *\n * @param {Array} layout Layout array.\n * @param {Number} bounds Number of columns.\n */\n\n\nfunction correctBounds(layout\n/*: Layout*/\n, bounds\n/*: { cols: number }*/\n)\n/*: Layout*/\n{\n var collidesWith = getStatics(layout);\n\n for (var i = 0, len = layout.length; i < len; i++) {\n var l = layout[i]; // Overflows right\n\n if (l.x + l.w > bounds.cols) l.x = bounds.cols - l.w; // Overflows left\n\n if (l.x < 0) {\n l.x = 0;\n l.w = bounds.cols;\n }\n\n if (!l.static) collidesWith.push(l);else {\n // If this is static and collides with other statics, we must move it down.\n // We have to do something nicer than just letting them overlap.\n while (getFirstCollision(collidesWith, l)) {\n l.y++;\n }\n }\n }\n\n return layout;\n}\n/**\n * Get a layout item by ID. Used so we can override later on if necessary.\n *\n * @param {Array} layout Layout array.\n * @param {String} id ID\n * @return {LayoutItem} Item at ID.\n */\n\n\nfunction getLayoutItem(layout\n/*: Layout*/\n, id\n/*: string*/\n)\n/*: ?LayoutItem*/\n{\n for (var i = 0, len = layout.length; i < len; i++) {\n if (layout[i].i === id) return layout[i];\n }\n}\n/**\n * Returns the first item this layout collides with.\n * It doesn't appear to matter which order we approach this from, although\n * perhaps that is the wrong thing to do.\n *\n * @param {Object} layoutItem Layout item.\n * @return {Object|undefined} A colliding layout item, or undefined.\n */\n\n\nfunction getFirstCollision(layout\n/*: Layout*/\n, layoutItem\n/*: LayoutItem*/\n)\n/*: ?LayoutItem*/\n{\n for (var i = 0, len = layout.length; i < len; i++) {\n if (collides(layout[i], layoutItem)) return layout[i];\n }\n}\n\nfunction getAllCollisions(layout\n/*: Layout*/\n, layoutItem\n/*: LayoutItem*/\n)\n/*: Array*/\n{\n return layout.filter(function (l) {\n return collides(l, layoutItem);\n });\n}\n/**\n * Get all static elements.\n * @param {Array} layout Array of layout objects.\n * @return {Array} Array of static layout items..\n */\n\n\nfunction getStatics(layout\n/*: Layout*/\n)\n/*: Array*/\n{\n return layout.filter(function (l) {\n return l.static;\n });\n}\n/**\n * Move an element. Responsible for doing cascading movements of other elements.\n *\n * Modifies layout items.\n *\n * @param {Array} layout Full layout to modify.\n * @param {LayoutItem} l element to move.\n * @param {Number} [x] X position in grid units.\n * @param {Number} [y] Y position in grid units.\n */\n\n\nfunction moveElement(layout\n/*: Layout*/\n, l\n/*: LayoutItem*/\n, x\n/*: ?number*/\n, y\n/*: ?number*/\n, isUserAction\n/*: ?boolean*/\n, preventCollision\n/*: ?boolean*/\n, compactType\n/*: CompactType*/\n, cols\n/*: number*/\n, allowOverlap\n/*: ?boolean*/\n)\n/*: Layout*/\n{\n // If this is static and not explicitly enabled as draggable,\n // no move is possible, so we can short-circuit this immediately.\n if (l.static && l.isDraggable !== true) return layout; // Short-circuit if nothing to do.\n\n if (l.y === y && l.x === x) return layout;\n log(\"Moving element \".concat(l.i, \" to [\").concat(String(x), \",\").concat(String(y), \"] from [\").concat(l.x, \",\").concat(l.y, \"]\"));\n var oldX = l.x;\n var oldY = l.y; // This is quite a bit faster than extending the object\n\n if (typeof x === \"number\") l.x = x;\n if (typeof y === \"number\") l.y = y;\n l.moved = true; // If this collides with anything, move it.\n // When doing this comparison, we have to sort the items we compare with\n // to ensure, in the case of multiple collisions, that we're getting the\n // nearest collision.\n\n var sorted = sortLayoutItems(layout, compactType);\n var movingUp = compactType === \"vertical\" && typeof y === \"number\" ? oldY >= y : compactType === \"horizontal\" && typeof x === \"number\" ? oldX >= x : false; // $FlowIgnore acceptable modification of read-only array as it was recently cloned\n\n if (movingUp) sorted = sorted.reverse();\n var collisions = getAllCollisions(sorted, l);\n var hasCollisions = collisions.length > 0; // We may have collisions. We can short-circuit if we've turned off collisions or\n // allowed overlap.\n\n if (hasCollisions && allowOverlap) {\n // Easy, we don't need to resolve collisions. But we *did* change the layout,\n // so clone it on the way out.\n return cloneLayout(layout);\n } else if (hasCollisions && preventCollision) {\n // If we are preventing collision but not allowing overlap, we need to\n // revert the position of this element so it goes to where it came from, rather\n // than the user's desired location.\n log(\"Collision prevented on \".concat(l.i, \", reverting.\"));\n l.x = oldX;\n l.y = oldY;\n l.moved = false;\n return layout; // did not change so don't clone\n } // Move each item that collides away from this element.\n\n\n for (var i = 0, len = collisions.length; i < len; i++) {\n var collision = collisions[i];\n log(\"Resolving collision between \".concat(l.i, \" at [\").concat(l.x, \",\").concat(l.y, \"] and \").concat(collision.i, \" at [\").concat(collision.x, \",\").concat(collision.y, \"]\")); // Short circuit so we can't infinite loop\n\n if (collision.moved) continue; // Don't move static items - we have to move *this* element away\n\n if (collision.static) {\n layout = moveElementAwayFromCollision(layout, collision, l, isUserAction, compactType, cols);\n } else {\n layout = moveElementAwayFromCollision(layout, l, collision, isUserAction, compactType, cols);\n }\n }\n\n return layout;\n}\n/**\n * This is where the magic needs to happen - given a collision, move an element away from the collision.\n * We attempt to move it up if there's room, otherwise it goes below.\n *\n * @param {Array} layout Full layout to modify.\n * @param {LayoutItem} collidesWith Layout item we're colliding with.\n * @param {LayoutItem} itemToMove Layout item we're moving.\n */\n\n\nfunction moveElementAwayFromCollision(layout\n/*: Layout*/\n, collidesWith\n/*: LayoutItem*/\n, itemToMove\n/*: LayoutItem*/\n, isUserAction\n/*: ?boolean*/\n, compactType\n/*: CompactType*/\n, cols\n/*: number*/\n)\n/*: Layout*/\n{\n var compactH = compactType === \"horizontal\"; // Compact vertically if not set to horizontal\n\n var compactV = compactType !== \"horizontal\";\n var preventCollision = collidesWith.static; // we're already colliding (not for static items)\n // If there is enough space above the collision to put this element, move it there.\n // We only do this on the main collision as this can get funky in cascades and cause\n // unwanted swapping behavior.\n\n if (isUserAction) {\n // Reset isUserAction flag because we're not in the main collision anymore.\n isUserAction = false; // Make a mock item so we don't modify the item here, only modify in moveElement.\n\n var fakeItem\n /*: LayoutItem*/\n = {\n x: compactH ? Math.max(collidesWith.x - itemToMove.w, 0) : itemToMove.x,\n y: compactV ? Math.max(collidesWith.y - itemToMove.h, 0) : itemToMove.y,\n w: itemToMove.w,\n h: itemToMove.h,\n i: \"-1\"\n }; // No collision? If so, we can go up there; otherwise, we'll end up moving down as normal\n\n if (!getFirstCollision(layout, fakeItem)) {\n log(\"Doing reverse collision on \".concat(itemToMove.i, \" up to [\").concat(fakeItem.x, \",\").concat(fakeItem.y, \"].\"));\n return moveElement(layout, itemToMove, compactH ? fakeItem.x : undefined, compactV ? fakeItem.y : undefined, isUserAction, preventCollision, compactType, cols);\n }\n }\n\n return moveElement(layout, itemToMove, compactH ? itemToMove.x + 1 : undefined, compactV ? itemToMove.y + 1 : undefined, isUserAction, preventCollision, compactType, cols);\n}\n/**\n * Helper to convert a number to a percentage string.\n *\n * @param {Number} num Any number\n * @return {String} That number as a percentage.\n */\n\n\nfunction perc(num\n/*: number*/\n)\n/*: string*/\n{\n return num * 100 + \"%\";\n}\n\nfunction setTransform(_ref)\n/*: Object*/\n{\n var top = _ref.top,\n left = _ref.left,\n width = _ref.width,\n height = _ref.height;\n // Replace unitless items with px\n var translate = \"translate(\".concat(left, \"px,\").concat(top, \"px)\");\n return {\n transform: translate,\n WebkitTransform: translate,\n MozTransform: translate,\n msTransform: translate,\n OTransform: translate,\n width: \"\".concat(width, \"px\"),\n height: \"\".concat(height, \"px\"),\n position: \"absolute\"\n };\n}\n\nfunction setTopLeft(_ref2)\n/*: Object*/\n{\n var top = _ref2.top,\n left = _ref2.left,\n width = _ref2.width,\n height = _ref2.height;\n return {\n top: \"\".concat(top, \"px\"),\n left: \"\".concat(left, \"px\"),\n width: \"\".concat(width, \"px\"),\n height: \"\".concat(height, \"px\"),\n position: \"absolute\"\n };\n}\n/**\n * Get layout items sorted from top left to right and down.\n *\n * @return {Array} Array of layout objects.\n * @return {Array} Layout, sorted static items first.\n */\n\n\nfunction sortLayoutItems(layout\n/*: Layout*/\n, compactType\n/*: CompactType*/\n)\n/*: Layout*/\n{\n if (compactType === \"horizontal\") return sortLayoutItemsByColRow(layout);\n if (compactType === \"vertical\") return sortLayoutItemsByRowCol(layout);else return layout;\n}\n/**\n * Sort layout items by row ascending and column ascending.\n *\n * Does not modify Layout.\n */\n\n\nfunction sortLayoutItemsByRowCol(layout\n/*: Layout*/\n)\n/*: Layout*/\n{\n // Slice to clone array as sort modifies\n return layout.slice(0).sort(function (a, b) {\n if (a.y > b.y || a.y === b.y && a.x > b.x) {\n return 1;\n } else if (a.y === b.y && a.x === b.x) {\n // Without this, we can get different sort results in IE vs. Chrome/FF\n return 0;\n }\n\n return -1;\n });\n}\n/**\n * Sort layout items by column ascending then row ascending.\n *\n * Does not modify Layout.\n */\n\n\nfunction sortLayoutItemsByColRow(layout\n/*: Layout*/\n)\n/*: Layout*/\n{\n return layout.slice(0).sort(function (a, b) {\n if (a.x > b.x || a.x === b.x && a.y > b.y) {\n return 1;\n }\n\n return -1;\n });\n}\n/**\n * Generate a layout using the initialLayout and children as a template.\n * Missing entries will be added, extraneous ones will be truncated.\n *\n * Does not modify initialLayout.\n *\n * @param {Array} initialLayout Layout passed in through props.\n * @param {String} breakpoint Current responsive breakpoint.\n * @param {?String} compact Compaction option.\n * @return {Array} Working layout.\n */\n\n\nfunction synchronizeLayoutWithChildren(initialLayout\n/*: Layout*/\n, children\n/*: ReactChildren*/\n, cols\n/*: number*/\n, compactType\n/*: CompactType*/\n, allowOverlap\n/*: ?boolean*/\n)\n/*: Layout*/\n{\n initialLayout = initialLayout || []; // Generate one layout item per child.\n\n var layout\n /*: LayoutItem[]*/\n = [];\n\n _react.default.Children.forEach(children, function (child\n /*: ReactElement*/\n ) {\n // Child may not exist\n if ((child === null || child === void 0 ? void 0 : child.key) == null) return; // Don't overwrite if it already exists.\n\n var exists = getLayoutItem(initialLayout, String(child.key));\n\n if (exists) {\n layout.push(cloneLayoutItem(exists));\n } else {\n if (!isProduction && child.props._grid) {\n console.warn(\"`_grid` properties on children have been deprecated as of React 15.2. \" + \"Please use `data-grid` or add your properties directly to the `layout`.\");\n }\n\n var g = child.props[\"data-grid\"] || child.props._grid; // Hey, this item has a data-grid property, use it.\n\n if (g) {\n if (!isProduction) {\n validateLayout([g], \"ReactGridLayout.children\");\n } // FIXME clone not really necessary here\n\n\n layout.push(cloneLayoutItem(_objectSpread(_objectSpread({}, g), {}, {\n i: child.key\n })));\n } else {\n // Nothing provided: ensure this is added to the bottom\n // FIXME clone not really necessary here\n layout.push(cloneLayoutItem({\n w: 1,\n h: 1,\n x: 0,\n y: bottom(layout),\n i: String(child.key)\n }));\n }\n }\n }); // Correct the layout.\n\n\n var correctedLayout = correctBounds(layout, {\n cols: cols\n });\n return allowOverlap ? correctedLayout : compact(correctedLayout, compactType, cols);\n}\n/**\n * Validate a layout. Throws errors.\n *\n * @param {Array} layout Array of layout items.\n * @param {String} [contextName] Context name for errors.\n * @throw {Error} Validation error.\n */\n\n\nfunction validateLayout(layout\n/*: Layout*/\n)\n/*: void*/\n{\n var contextName\n /*: string*/\n = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : \"Layout\";\n var subProps = [\"x\", \"y\", \"w\", \"h\"];\n if (!Array.isArray(layout)) throw new Error(contextName + \" must be an array!\");\n\n for (var i = 0, len = layout.length; i < len; i++) {\n var item = layout[i];\n\n for (var j = 0; j < subProps.length; j++) {\n if (typeof item[subProps[j]] !== \"number\") {\n throw new Error(\"ReactGridLayout: \" + contextName + \"[\" + i + \"].\" + subProps[j] + \" must be a number!\");\n }\n }\n }\n} // Legacy support for verticalCompact: false\n\n\nfunction compactType(props\n/*: ?{ verticalCompact: boolean, compactType: CompactType }*/\n)\n/*: CompactType*/\n{\n var _ref3 = props || {},\n verticalCompact = _ref3.verticalCompact,\n compactType = _ref3.compactType;\n\n return verticalCompact === false ? null : compactType;\n}\n\nfunction log() {\n var _console;\n\n if (!DEBUG) return; // eslint-disable-next-line no-console\n\n (_console = console).log.apply(_console, arguments);\n}\n\nvar noop = function noop() {};\n\nexports.noop = noop;","module.exports = require(\"./build/ReactGridLayout\").default;\nmodule.exports.utils = require(\"./build/utils\");\nmodule.exports.Responsive =\n require(\"./build/ResponsiveReactGridLayout\").default;\nmodule.exports.Responsive.utils = require(\"./build/responsiveUtils\");\nmodule.exports.WidthProvider =\n require(\"./build/components/WidthProvider\").default;\n","\"use strict\";\n\nexports.__esModule = true;\nexports.default = void 0;\nvar React = _interopRequireWildcard(require(\"react\"));\nvar _reactDraggable = require(\"react-draggable\");\nvar _utils = require(\"./utils\");\nvar _propTypes = require(\"./propTypes\");\nvar _excluded = [\"children\", \"className\", \"draggableOpts\", \"width\", \"height\", \"handle\", \"handleSize\", \"lockAspectRatio\", \"axis\", \"minConstraints\", \"maxConstraints\", \"onResize\", \"onResizeStop\", \"onResizeStart\", \"resizeHandles\", \"transformScale\"];\nfunction _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== \"function\") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }\nfunction _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || typeof obj !== \"object\" && typeof obj !== \"function\") { return { default: obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== \"default\" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj.default = obj; if (cache) { cache.set(obj, newObj); } return newObj; }\nfunction _extends() { _extends = Object.assign ? Object.assign.bind() : function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\nfunction _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }\nfunction ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }\nfunction _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { _defineProperty(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }\nfunction _defineProperty(obj, key, value) { key = _toPropertyKey(key); if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\nfunction _toPropertyKey(arg) { var key = _toPrimitive(arg, \"string\"); return typeof key === \"symbol\" ? key : String(key); }\nfunction _toPrimitive(input, hint) { if (typeof input !== \"object\" || input === null) return input; var prim = input[Symbol.toPrimitive]; if (prim !== undefined) { var res = prim.call(input, hint || \"default\"); if (typeof res !== \"object\") return res; throw new TypeError(\"@@toPrimitive must return a primitive value.\"); } return (hint === \"string\" ? String : Number)(input); }\nfunction _inheritsLoose(subClass, superClass) { subClass.prototype = Object.create(superClass.prototype); subClass.prototype.constructor = subClass; _setPrototypeOf(subClass, superClass); }\nfunction _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf ? Object.setPrototypeOf.bind() : function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); }\n// The base component.\n// This component does not have state and relies on the parent to set its props based on callback data.\nvar Resizable = /*#__PURE__*/function (_React$Component) {\n _inheritsLoose(Resizable, _React$Component);\n function Resizable() {\n var _this;\n for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n _this = _React$Component.call.apply(_React$Component, [this].concat(args)) || this;\n _this.handleRefs = {};\n _this.lastHandleRect = null;\n _this.slack = null;\n return _this;\n }\n var _proto = Resizable.prototype;\n _proto.componentWillUnmount = function componentWillUnmount() {\n this.resetData();\n };\n _proto.resetData = function resetData() {\n this.lastHandleRect = this.slack = null;\n }\n\n // Clamp width and height within provided constraints\n ;\n _proto.runConstraints = function runConstraints(width, height) {\n var _this$props = this.props,\n minConstraints = _this$props.minConstraints,\n maxConstraints = _this$props.maxConstraints,\n lockAspectRatio = _this$props.lockAspectRatio;\n // short circuit\n if (!minConstraints && !maxConstraints && !lockAspectRatio) return [width, height];\n\n // If constraining to min and max, we need to also fit width and height to aspect ratio.\n if (lockAspectRatio) {\n var ratio = this.props.width / this.props.height;\n var deltaW = width - this.props.width;\n var deltaH = height - this.props.height;\n\n // Find which coordinate was greater and should push the other toward it.\n // E.g.:\n // ratio = 1, deltaW = 10, deltaH = 5, deltaH should become 10.\n // ratio = 2, deltaW = 10, deltaH = 6, deltaW should become 12.\n if (Math.abs(deltaW) > Math.abs(deltaH * ratio)) {\n height = width / ratio;\n } else {\n width = height * ratio;\n }\n }\n var oldW = width,\n oldH = height;\n\n // Add slack to the values used to calculate bound position. This will ensure that if\n // we start removing slack, the element won't react to it right away until it's been\n // completely removed.\n var _ref = this.slack || [0, 0],\n slackW = _ref[0],\n slackH = _ref[1];\n width += slackW;\n height += slackH;\n if (minConstraints) {\n width = Math.max(minConstraints[0], width);\n height = Math.max(minConstraints[1], height);\n }\n if (maxConstraints) {\n width = Math.min(maxConstraints[0], width);\n height = Math.min(maxConstraints[1], height);\n }\n\n // If the width or height changed, we must have introduced some slack. Record it for the next iteration.\n this.slack = [slackW + (oldW - width), slackH + (oldH - height)];\n return [width, height];\n }\n\n /**\n * Wrapper around drag events to provide more useful data.\n *\n * @param {String} handlerName Handler name to wrap.\n * @return {Function} Handler function.\n */;\n _proto.resizeHandler = function resizeHandler(handlerName, axis) {\n var _this2 = this;\n return function (e, _ref2) {\n var node = _ref2.node,\n deltaX = _ref2.deltaX,\n deltaY = _ref2.deltaY;\n // Reset data in case it was left over somehow (should not be possible)\n if (handlerName === 'onResizeStart') _this2.resetData();\n\n // Axis restrictions\n var canDragX = (_this2.props.axis === 'both' || _this2.props.axis === 'x') && axis !== 'n' && axis !== 's';\n var canDragY = (_this2.props.axis === 'both' || _this2.props.axis === 'y') && axis !== 'e' && axis !== 'w';\n // No dragging possible.\n if (!canDragX && !canDragY) return;\n\n // Decompose axis for later use\n var axisV = axis[0];\n var axisH = axis[axis.length - 1]; // intentionally not axis[1], so that this catches axis === 'w' for example\n\n // Track the element being dragged to account for changes in position.\n // If a handle's position is changed between callbacks, we need to factor this in to the next callback.\n // Failure to do so will cause the element to \"skip\" when resized upwards or leftwards.\n var handleRect = node.getBoundingClientRect();\n if (_this2.lastHandleRect != null) {\n // If the handle has repositioned on either axis since last render,\n // we need to increase our callback values by this much.\n // Only checking 'n', 'w' since resizing by 's', 'w' won't affect the overall position on page,\n if (axisH === 'w') {\n var deltaLeftSinceLast = handleRect.left - _this2.lastHandleRect.left;\n deltaX += deltaLeftSinceLast;\n }\n if (axisV === 'n') {\n var deltaTopSinceLast = handleRect.top - _this2.lastHandleRect.top;\n deltaY += deltaTopSinceLast;\n }\n }\n // Storage of last rect so we know how much it has really moved.\n _this2.lastHandleRect = handleRect;\n\n // Reverse delta if using top or left drag handles.\n if (axisH === 'w') deltaX = -deltaX;\n if (axisV === 'n') deltaY = -deltaY;\n\n // Update w/h by the deltas. Also factor in transformScale.\n var width = _this2.props.width + (canDragX ? deltaX / _this2.props.transformScale : 0);\n var height = _this2.props.height + (canDragY ? deltaY / _this2.props.transformScale : 0);\n\n // Run user-provided constraints.\n var _this2$runConstraints = _this2.runConstraints(width, height);\n width = _this2$runConstraints[0];\n height = _this2$runConstraints[1];\n var dimensionsChanged = width !== _this2.props.width || height !== _this2.props.height;\n\n // Call user-supplied callback if present.\n var cb = typeof _this2.props[handlerName] === 'function' ? _this2.props[handlerName] : null;\n // Don't call 'onResize' if dimensions haven't changed.\n var shouldSkipCb = handlerName === 'onResize' && !dimensionsChanged;\n if (cb && !shouldSkipCb) {\n e.persist == null ? void 0 : e.persist();\n cb(e, {\n node: node,\n size: {\n width: width,\n height: height\n },\n handle: axis\n });\n }\n\n // Reset internal data\n if (handlerName === 'onResizeStop') _this2.resetData();\n };\n }\n\n // Render a resize handle given an axis & DOM ref. Ref *must* be attached for\n // the underlying draggable library to work properly.\n ;\n _proto.renderResizeHandle = function renderResizeHandle(handleAxis, ref) {\n var handle = this.props.handle;\n // No handle provided, make the default\n if (!handle) {\n return /*#__PURE__*/React.createElement(\"span\", {\n className: \"react-resizable-handle react-resizable-handle-\" + handleAxis,\n ref: ref\n });\n }\n // Handle is a function, such as:\n // `handle={(handleAxis) => }`\n if (typeof handle === 'function') {\n return handle(handleAxis, ref);\n }\n // Handle is a React component (composite or DOM).\n var isDOMElement = typeof handle.type === 'string';\n var props = _objectSpread({\n ref: ref\n }, isDOMElement ? {} : {\n handleAxis: handleAxis\n });\n return /*#__PURE__*/React.cloneElement(handle, props);\n };\n _proto.render = function render() {\n var _this3 = this;\n // Pass along only props not meant for the ``.`\n // eslint-disable-next-line no-unused-vars\n var _this$props2 = this.props,\n children = _this$props2.children,\n className = _this$props2.className,\n draggableOpts = _this$props2.draggableOpts,\n width = _this$props2.width,\n height = _this$props2.height,\n handle = _this$props2.handle,\n handleSize = _this$props2.handleSize,\n lockAspectRatio = _this$props2.lockAspectRatio,\n axis = _this$props2.axis,\n minConstraints = _this$props2.minConstraints,\n maxConstraints = _this$props2.maxConstraints,\n onResize = _this$props2.onResize,\n onResizeStop = _this$props2.onResizeStop,\n onResizeStart = _this$props2.onResizeStart,\n resizeHandles = _this$props2.resizeHandles,\n transformScale = _this$props2.transformScale,\n p = _objectWithoutPropertiesLoose(_this$props2, _excluded);\n\n // What we're doing here is getting the child of this element, and cloning it with this element's props.\n // We are then defining its children as:\n // 1. Its original children (resizable's child's children), and\n // 2. One or more draggable handles.\n return (0, _utils.cloneElement)(children, _objectSpread(_objectSpread({}, p), {}, {\n className: (className ? className + \" \" : '') + \"react-resizable\",\n children: [].concat(children.props.children, resizeHandles.map(function (handleAxis) {\n var _this3$handleRefs$han;\n // Create a ref to the handle so that `` doesn't have to use ReactDOM.findDOMNode().\n var ref = (_this3$handleRefs$han = _this3.handleRefs[handleAxis]) != null ? _this3$handleRefs$han : _this3.handleRefs[handleAxis] = /*#__PURE__*/React.createRef();\n return /*#__PURE__*/React.createElement(_reactDraggable.DraggableCore, _extends({}, draggableOpts, {\n nodeRef: ref,\n key: \"resizableHandle-\" + handleAxis,\n onStop: _this3.resizeHandler('onResizeStop', handleAxis),\n onStart: _this3.resizeHandler('onResizeStart', handleAxis),\n onDrag: _this3.resizeHandler('onResize', handleAxis)\n }), _this3.renderResizeHandle(handleAxis, ref));\n }))\n }));\n };\n return Resizable;\n}(React.Component);\nexports.default = Resizable;\nResizable.propTypes = _propTypes.resizableProps;\nResizable.defaultProps = {\n axis: 'both',\n handleSize: [20, 20],\n lockAspectRatio: false,\n minConstraints: [20, 20],\n maxConstraints: [Infinity, Infinity],\n resizeHandles: ['se'],\n transformScale: 1\n};","\"use strict\";\n\nexports.__esModule = true;\nexports.default = void 0;\nvar React = _interopRequireWildcard(require(\"react\"));\nvar _propTypes = _interopRequireDefault(require(\"prop-types\"));\nvar _Resizable = _interopRequireDefault(require(\"./Resizable\"));\nvar _propTypes2 = require(\"./propTypes\");\nvar _excluded = [\"handle\", \"handleSize\", \"onResize\", \"onResizeStart\", \"onResizeStop\", \"draggableOpts\", \"minConstraints\", \"maxConstraints\", \"lockAspectRatio\", \"axis\", \"width\", \"height\", \"resizeHandles\", \"style\", \"transformScale\"];\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\nfunction _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== \"function\") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }\nfunction _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || typeof obj !== \"object\" && typeof obj !== \"function\") { return { default: obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== \"default\" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj.default = obj; if (cache) { cache.set(obj, newObj); } return newObj; }\nfunction _extends() { _extends = Object.assign ? Object.assign.bind() : function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\nfunction ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }\nfunction _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { _defineProperty(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }\nfunction _defineProperty(obj, key, value) { key = _toPropertyKey(key); if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\nfunction _toPropertyKey(arg) { var key = _toPrimitive(arg, \"string\"); return typeof key === \"symbol\" ? key : String(key); }\nfunction _toPrimitive(input, hint) { if (typeof input !== \"object\" || input === null) return input; var prim = input[Symbol.toPrimitive]; if (prim !== undefined) { var res = prim.call(input, hint || \"default\"); if (typeof res !== \"object\") return res; throw new TypeError(\"@@toPrimitive must return a primitive value.\"); } return (hint === \"string\" ? String : Number)(input); }\nfunction _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }\nfunction _inheritsLoose(subClass, superClass) { subClass.prototype = Object.create(superClass.prototype); subClass.prototype.constructor = subClass; _setPrototypeOf(subClass, superClass); }\nfunction _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf ? Object.setPrototypeOf.bind() : function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); }\nvar ResizableBox = /*#__PURE__*/function (_React$Component) {\n _inheritsLoose(ResizableBox, _React$Component);\n function ResizableBox() {\n var _this;\n for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n _this = _React$Component.call.apply(_React$Component, [this].concat(args)) || this;\n _this.state = {\n width: _this.props.width,\n height: _this.props.height,\n propsWidth: _this.props.width,\n propsHeight: _this.props.height\n };\n _this.onResize = function (e, data) {\n var size = data.size;\n if (_this.props.onResize) {\n e.persist == null ? void 0 : e.persist();\n _this.setState(size, function () {\n return _this.props.onResize && _this.props.onResize(e, data);\n });\n } else {\n _this.setState(size);\n }\n };\n return _this;\n }\n ResizableBox.getDerivedStateFromProps = function getDerivedStateFromProps(props, state) {\n // If parent changes height/width, set that in our state.\n if (state.propsWidth !== props.width || state.propsHeight !== props.height) {\n return {\n width: props.width,\n height: props.height,\n propsWidth: props.width,\n propsHeight: props.height\n };\n }\n return null;\n };\n var _proto = ResizableBox.prototype;\n _proto.render = function render() {\n // Basic wrapper around a Resizable instance.\n // If you use Resizable directly, you are responsible for updating the child component\n // with a new width and height.\n var _this$props = this.props,\n handle = _this$props.handle,\n handleSize = _this$props.handleSize,\n onResize = _this$props.onResize,\n onResizeStart = _this$props.onResizeStart,\n onResizeStop = _this$props.onResizeStop,\n draggableOpts = _this$props.draggableOpts,\n minConstraints = _this$props.minConstraints,\n maxConstraints = _this$props.maxConstraints,\n lockAspectRatio = _this$props.lockAspectRatio,\n axis = _this$props.axis,\n width = _this$props.width,\n height = _this$props.height,\n resizeHandles = _this$props.resizeHandles,\n style = _this$props.style,\n transformScale = _this$props.transformScale,\n props = _objectWithoutPropertiesLoose(_this$props, _excluded);\n return /*#__PURE__*/React.createElement(_Resizable.default, {\n axis: axis,\n draggableOpts: draggableOpts,\n handle: handle,\n handleSize: handleSize,\n height: this.state.height,\n lockAspectRatio: lockAspectRatio,\n maxConstraints: maxConstraints,\n minConstraints: minConstraints,\n onResizeStart: onResizeStart,\n onResize: this.onResize,\n onResizeStop: onResizeStop,\n resizeHandles: resizeHandles,\n transformScale: transformScale,\n width: this.state.width\n }, /*#__PURE__*/React.createElement(\"div\", _extends({}, props, {\n style: _objectSpread(_objectSpread({}, style), {}, {\n width: this.state.width + 'px',\n height: this.state.height + 'px'\n })\n })));\n };\n return ResizableBox;\n}(React.Component);\nexports.default = ResizableBox;\n// PropTypes are identical to , except that children are not strictly required to be present.\nResizableBox.propTypes = _objectSpread(_objectSpread({}, _propTypes2.resizableProps), {}, {\n children: _propTypes.default.element\n});","\"use strict\";\n\nexports.__esModule = true;\nexports.resizableProps = void 0;\nvar _propTypes = _interopRequireDefault(require(\"prop-types\"));\nvar _reactDraggable = require(\"react-draggable\");\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\nvar resizableProps = {\n /*\n * Restricts resizing to a particular axis (default: 'both')\n * 'both' - allows resizing by width or height\n * 'x' - only allows the width to be changed\n * 'y' - only allows the height to be changed\n * 'none' - disables resizing altogether\n * */\n axis: _propTypes.default.oneOf(['both', 'x', 'y', 'none']),\n className: _propTypes.default.string,\n /*\n * Require that one and only one child be present.\n * */\n children: _propTypes.default.element.isRequired,\n /*\n * These will be passed wholesale to react-draggable's DraggableCore\n * */\n draggableOpts: _propTypes.default.shape({\n allowAnyClick: _propTypes.default.bool,\n cancel: _propTypes.default.string,\n children: _propTypes.default.node,\n disabled: _propTypes.default.bool,\n enableUserSelectHack: _propTypes.default.bool,\n offsetParent: _propTypes.default.node,\n grid: _propTypes.default.arrayOf(_propTypes.default.number),\n handle: _propTypes.default.string,\n nodeRef: _propTypes.default.object,\n onStart: _propTypes.default.func,\n onDrag: _propTypes.default.func,\n onStop: _propTypes.default.func,\n onMouseDown: _propTypes.default.func,\n scale: _propTypes.default.number\n }),\n /*\n * Initial height\n * */\n height: function height() {\n for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n var props = args[0];\n // Required if resizing height or both\n if (props.axis === 'both' || props.axis === 'y') {\n var _PropTypes$number;\n return (_PropTypes$number = _propTypes.default.number).isRequired.apply(_PropTypes$number, args);\n }\n return _propTypes.default.number.apply(_propTypes.default, args);\n },\n /*\n * Customize cursor resize handle\n * */\n handle: _propTypes.default.oneOfType([_propTypes.default.node, _propTypes.default.func]),\n /*\n * If you change this, be sure to update your css\n * */\n handleSize: _propTypes.default.arrayOf(_propTypes.default.number),\n lockAspectRatio: _propTypes.default.bool,\n /*\n * Max X & Y measure\n * */\n maxConstraints: _propTypes.default.arrayOf(_propTypes.default.number),\n /*\n * Min X & Y measure\n * */\n minConstraints: _propTypes.default.arrayOf(_propTypes.default.number),\n /*\n * Called on stop resize event\n * */\n onResizeStop: _propTypes.default.func,\n /*\n * Called on start resize event\n * */\n onResizeStart: _propTypes.default.func,\n /*\n * Called on resize event\n * */\n onResize: _propTypes.default.func,\n /*\n * Defines which resize handles should be rendered (default: 'se')\n * 's' - South handle (bottom-center)\n * 'w' - West handle (left-center)\n * 'e' - East handle (right-center)\n * 'n' - North handle (top-center)\n * 'sw' - Southwest handle (bottom-left)\n * 'nw' - Northwest handle (top-left)\n * 'se' - Southeast handle (bottom-right)\n * 'ne' - Northeast handle (top-center)\n * */\n resizeHandles: _propTypes.default.arrayOf(_propTypes.default.oneOf(['s', 'w', 'e', 'n', 'sw', 'nw', 'se', 'ne'])),\n /*\n * If `transform: scale(n)` is set on the parent, this should be set to `n`.\n * */\n transformScale: _propTypes.default.number,\n /*\n * Initial width\n */\n width: function width() {\n for (var _len2 = arguments.length, args = new Array(_len2), _key2 = 0; _key2 < _len2; _key2++) {\n args[_key2] = arguments[_key2];\n }\n var props = args[0];\n // Required if resizing width or both\n if (props.axis === 'both' || props.axis === 'x') {\n var _PropTypes$number2;\n return (_PropTypes$number2 = _propTypes.default.number).isRequired.apply(_PropTypes$number2, args);\n }\n return _propTypes.default.number.apply(_propTypes.default, args);\n }\n};\nexports.resizableProps = resizableProps;","\"use strict\";\n\nexports.__esModule = true;\nexports.cloneElement = cloneElement;\nvar _react = _interopRequireDefault(require(\"react\"));\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\nfunction ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }\nfunction _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { _defineProperty(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }\nfunction _defineProperty(obj, key, value) { key = _toPropertyKey(key); if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\nfunction _toPropertyKey(arg) { var key = _toPrimitive(arg, \"string\"); return typeof key === \"symbol\" ? key : String(key); }\nfunction _toPrimitive(input, hint) { if (typeof input !== \"object\" || input === null) return input; var prim = input[Symbol.toPrimitive]; if (prim !== undefined) { var res = prim.call(input, hint || \"default\"); if (typeof res !== \"object\") return res; throw new TypeError(\"@@toPrimitive must return a primitive value.\"); } return (hint === \"string\" ? String : Number)(input); }\n// React.addons.cloneWithProps look-alike that merges style & className.\nfunction cloneElement(element, props) {\n if (props.style && element.props.style) {\n props.style = _objectSpread(_objectSpread({}, element.props.style), props.style);\n }\n if (props.className && element.props.className) {\n props.className = element.props.className + \" \" + props.className;\n }\n return /*#__PURE__*/_react.default.cloneElement(element, props);\n}","'use strict';\nmodule.exports = function() {\n throw new Error(\"Don't instantiate Resizable directly! Use require('react-resizable').Resizable\");\n};\n\nmodule.exports.Resizable = require('./build/Resizable').default;\nmodule.exports.ResizableBox = require('./build/ResizableBox').default;\n","module.exports = __WEBPACK_EXTERNAL_MODULE__644__;","module.exports = __WEBPACK_EXTERNAL_MODULE__305__;","module.exports = __WEBPACK_EXTERNAL_MODULE__545__;","module.exports = __WEBPACK_EXTERNAL_MODULE__388__;","module.exports = __WEBPACK_EXTERNAL_MODULE__980__;","module.exports = __WEBPACK_EXTERNAL_MODULE__650__;","module.exports = __WEBPACK_EXTERNAL_MODULE__729__;","module.exports = __WEBPACK_EXTERNAL_MODULE__814__;","module.exports = __WEBPACK_EXTERNAL_MODULE__177__;","// The module cache\nvar __webpack_module_cache__ = {};\n\n// The require function\nfunction __webpack_require__(moduleId) {\n\t// Check if module is in cache\n\tvar cachedModule = __webpack_module_cache__[moduleId];\n\tif (cachedModule !== undefined) {\n\t\treturn cachedModule.exports;\n\t}\n\t// Create a new module (and put it into the cache)\n\tvar module = __webpack_module_cache__[moduleId] = {\n\t\tid: moduleId,\n\t\tloaded: false,\n\t\texports: {}\n\t};\n\n\t// Execute the module function\n\t__webpack_modules__[moduleId](module, module.exports, __webpack_require__);\n\n\t// Flag the module as loaded\n\tmodule.loaded = true;\n\n\t// Return the exports of the module\n\treturn module.exports;\n}\n\n","// getDefaultExport function for compatibility with non-harmony modules\n__webpack_require__.n = (module) => {\n\tvar getter = module && module.__esModule ?\n\t\t() => (module['default']) :\n\t\t() => (module);\n\t__webpack_require__.d(getter, { a: getter });\n\treturn getter;\n};","// define getter functions for harmony exports\n__webpack_require__.d = (exports, definition) => {\n\tfor(var key in definition) {\n\t\tif(__webpack_require__.o(definition, key) && !__webpack_require__.o(exports, key)) {\n\t\t\tObject.defineProperty(exports, key, { enumerable: true, get: definition[key] });\n\t\t}\n\t}\n};","__webpack_require__.g = (function() {\n\tif (typeof globalThis === 'object') return globalThis;\n\ttry {\n\t\treturn this || new Function('return this')();\n\t} catch (e) {\n\t\tif (typeof window === 'object') return window;\n\t}\n})();","__webpack_require__.o = (obj, prop) => (Object.prototype.hasOwnProperty.call(obj, prop))","// define __esModule on exports\n__webpack_require__.r = (exports) => {\n\tif(typeof Symbol !== 'undefined' && Symbol.toStringTag) {\n\t\tObject.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });\n\t}\n\tObject.defineProperty(exports, '__esModule', { value: true });\n};","__webpack_require__.nmd = (module) => {\n\tmodule.paths = [];\n\tif (!module.children) module.children = [];\n\treturn module;\n};","import React, { useContext } from 'react';\nimport { AppRootProps } from '@grafana/data';\n\n// This is used to be able to retrieve the root plugin props anywhere inside the app.\nexport const PluginPropsContext = React.createContext(null);\n\nexport const usePluginProps = () => {\n const pluginProps = useContext(PluginPropsContext);\n\n return pluginProps;\n};\n\nexport const usePluginMeta = () => {\n const pluginProps = usePluginProps();\n\n return pluginProps?.meta;\n};\n","import pluginJson from './plugin.json';\n\nexport const PLUGIN_BASE_URL = `/a/${pluginJson.id}`;\n\nexport enum ROUTES {\n CacheGroup = 'cache-group',\n DeliveryService = 'delivery-service',\n Server = 'server',\n}\n\nexport const PROMETHEUS_DATASOURCE_REF = {\n uid: 'prometheus',\n type: 'prometheus',\n};\n\nexport const INFLUXDB_DATASOURCES_REF = {\n CACHE_STATS: {\n uid: 'cache_stats',\n type: 'influxdb',\n },\n DELIVERYSERVICE_STATS: {\n uid: 'deliveryservice_stats',\n type: 'influxdb',\n },\n DAILY_STATS: {\n uid: 'daily_stats',\n type: 'influxdb',\n },\n TELEGRAF: {\n uid: 'telegraf',\n type: 'influxdb',\n },\n};\n","import { PLUGIN_BASE_URL } from '../constants';\n\n// Prefixes the route with the base URL of the plugin\nexport function prefixRoute(route: string): string {\n return `${PLUGIN_BASE_URL}/${route}`;\n}\n","import React from 'react';\nimport { useLocation } from 'react-router-dom';\nimport { urlUtil, locationUtil } from '@grafana/data';\nimport { locationService, locationSearchToObject } from '@grafana/runtime';\n\nvar __defProp = Object.defineProperty;\nvar __getOwnPropSymbols = Object.getOwnPropertySymbols;\nvar __hasOwnProp = Object.prototype.hasOwnProperty;\nvar __propIsEnum = Object.prototype.propertyIsEnumerable;\nvar __defNormalProp = (obj, key, value) => key in obj ? __defProp(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;\nvar __spreadValues = (a, b) => {\n for (var prop in b || (b = {}))\n if (__hasOwnProp.call(b, prop))\n __defNormalProp(a, prop, b[prop]);\n if (__getOwnPropSymbols)\n for (var prop of __getOwnPropSymbols(b)) {\n if (__propIsEnum.call(b, prop))\n __defNormalProp(a, prop, b[prop]);\n }\n return a;\n};\nfunction useAppQueryParams() {\n const location = useLocation();\n return locationSearchToObject(location.search || \"\");\n}\nfunction getUrlWithAppState(path, preserveParams) {\n const paramsCopy = __spreadValues({}, locationService.getSearchObject());\n if (preserveParams) {\n for (const key of Object.keys(paramsCopy)) {\n if (!preserveParams.includes(key)) {\n delete paramsCopy[key];\n }\n }\n }\n return urlUtil.renderUrl(locationUtil.assureBaseUrl(path), paramsCopy);\n}\nfunction renderSceneComponentWithRouteProps(sceneObject, routeProps) {\n return React.createElement(sceneObject.Component, { model: sceneObject, routeProps });\n}\n\nexport { getUrlWithAppState, renderSceneComponentWithRouteProps, useAppQueryParams };\n//# sourceMappingURL=utils.js.map\n","import { getPluginImportUtils } from '@grafana/runtime';\n\nvar __defProp = Object.defineProperty;\nvar __defProps = Object.defineProperties;\nvar __getOwnPropDescs = Object.getOwnPropertyDescriptors;\nvar __getOwnPropSymbols = Object.getOwnPropertySymbols;\nvar __hasOwnProp = Object.prototype.hasOwnProperty;\nvar __propIsEnum = Object.prototype.propertyIsEnumerable;\nvar __defNormalProp = (obj, key, value) => key in obj ? __defProp(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;\nvar __spreadValues = (a, b) => {\n for (var prop in b || (b = {}))\n if (__hasOwnProp.call(b, prop))\n __defNormalProp(a, prop, b[prop]);\n if (__getOwnPropSymbols)\n for (var prop of __getOwnPropSymbols(b)) {\n if (__propIsEnum.call(b, prop))\n __defNormalProp(a, prop, b[prop]);\n }\n return a;\n};\nvar __spreadProps = (a, b) => __defProps(a, __getOwnPropDescs(b));\nconst runtimePanelPlugins = /* @__PURE__ */ new Map();\nfunction registerRuntimePanelPlugin({ pluginId, plugin }) {\n if (runtimePanelPlugins.has(pluginId)) {\n throw new Error(`A runtime panel plugin with id ${pluginId} has already been registered`);\n }\n plugin.meta = __spreadProps(__spreadValues({}, plugin.meta), {\n id: pluginId,\n name: pluginId,\n module: \"runtime plugin\",\n baseUrl: \"runtime plugin\",\n info: {\n author: {\n name: \"Runtime plugin \" + pluginId\n },\n description: \"\",\n links: [],\n logos: {\n large: \"\",\n small: \"\"\n },\n screenshots: [],\n updated: \"\",\n version: \"\"\n }\n });\n runtimePanelPlugins.set(pluginId, plugin);\n}\nfunction loadPanelPluginSync(pluginId) {\n var _a;\n const { getPanelPluginFromCache } = getPluginImportUtils();\n return (_a = getPanelPluginFromCache(pluginId)) != null ? _a : runtimePanelPlugins.get(pluginId);\n}\n\nexport { loadPanelPluginSync, registerRuntimePanelPlugin, runtimePanelPlugins };\n//# sourceMappingURL=registerRuntimePanelPlugin.js.map\n","const randomUUID = typeof crypto !== 'undefined' && crypto.randomUUID && crypto.randomUUID.bind(crypto);\nexport default {\n randomUUID\n};","// Unique ID creation requires a high quality random # generator. In the browser we therefore\n// require the crypto API and do not support built-in fallback to lower quality random number\n// generators (like Math.random()).\nlet getRandomValues;\nconst rnds8 = new Uint8Array(16);\nexport default function rng() {\n // lazy load so that environments that need to polyfill have a chance to do so\n if (!getRandomValues) {\n // getRandomValues needs to be invoked in a context where \"this\" is a Crypto implementation.\n getRandomValues = typeof crypto !== 'undefined' && crypto.getRandomValues && crypto.getRandomValues.bind(crypto);\n\n if (!getRandomValues) {\n throw new Error('crypto.getRandomValues() not supported. See https://github.com/uuidjs/uuid#getrandomvalues-not-supported');\n }\n }\n\n return getRandomValues(rnds8);\n}","import validate from './validate.js';\n/**\n * Convert array of 16 byte values to UUID string format of the form:\n * XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX\n */\n\nconst byteToHex = [];\n\nfor (let i = 0; i < 256; ++i) {\n byteToHex.push((i + 0x100).toString(16).slice(1));\n}\n\nexport function unsafeStringify(arr, offset = 0) {\n // Note: Be careful editing this code! It's been tuned for performance\n // and works in ways you may not expect. See https://github.com/uuidjs/uuid/pull/434\n return byteToHex[arr[offset + 0]] + byteToHex[arr[offset + 1]] + byteToHex[arr[offset + 2]] + byteToHex[arr[offset + 3]] + '-' + byteToHex[arr[offset + 4]] + byteToHex[arr[offset + 5]] + '-' + byteToHex[arr[offset + 6]] + byteToHex[arr[offset + 7]] + '-' + byteToHex[arr[offset + 8]] + byteToHex[arr[offset + 9]] + '-' + byteToHex[arr[offset + 10]] + byteToHex[arr[offset + 11]] + byteToHex[arr[offset + 12]] + byteToHex[arr[offset + 13]] + byteToHex[arr[offset + 14]] + byteToHex[arr[offset + 15]];\n}\n\nfunction stringify(arr, offset = 0) {\n const uuid = unsafeStringify(arr, offset); // Consistency check for valid UUID. If this throws, it's likely due to one\n // of the following:\n // - One or more input array values don't map to a hex octet (leading to\n // \"undefined\" in the uuid)\n // - Invalid input values for the RFC `version` or `variant` fields\n\n if (!validate(uuid)) {\n throw TypeError('Stringified UUID is invalid');\n }\n\n return uuid;\n}\n\nexport default stringify;","import native from './native.js';\nimport rng from './rng.js';\nimport { unsafeStringify } from './stringify.js';\n\nfunction v4(options, buf, offset) {\n if (native.randomUUID && !buf && !options) {\n return native.randomUUID();\n }\n\n options = options || {};\n const rnds = options.random || (options.rng || rng)(); // Per 4.4, set bits for version and `clock_seq_hi_and_reserved`\n\n rnds[6] = rnds[6] & 0x0f | 0x40;\n rnds[8] = rnds[8] & 0x3f | 0x80; // Copy bytes to buffer, if provided\n\n if (buf) {\n offset = offset || 0;\n\n for (let i = 0; i < 16; ++i) {\n buf[offset + i] = rnds[i];\n }\n\n return buf;\n }\n\n return unsafeStringify(rnds);\n}\n\nexport default v4;","import React, { useEffect } from 'react';\n\nvar __defProp = Object.defineProperty;\nvar __defProps = Object.defineProperties;\nvar __getOwnPropDescs = Object.getOwnPropertyDescriptors;\nvar __getOwnPropSymbols = Object.getOwnPropertySymbols;\nvar __hasOwnProp = Object.prototype.hasOwnProperty;\nvar __propIsEnum = Object.prototype.propertyIsEnumerable;\nvar __defNormalProp = (obj, key, value) => key in obj ? __defProp(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;\nvar __spreadValues = (a, b) => {\n for (var prop in b || (b = {}))\n if (__hasOwnProp.call(b, prop))\n __defNormalProp(a, prop, b[prop]);\n if (__getOwnPropSymbols)\n for (var prop of __getOwnPropSymbols(b)) {\n if (__propIsEnum.call(b, prop))\n __defNormalProp(a, prop, b[prop]);\n }\n return a;\n};\nvar __spreadProps = (a, b) => __defProps(a, __getOwnPropDescs(b));\nvar __objRest = (source, exclude) => {\n var target = {};\n for (var prop in source)\n if (__hasOwnProp.call(source, prop) && exclude.indexOf(prop) < 0)\n target[prop] = source[prop];\n if (source != null && __getOwnPropSymbols)\n for (var prop of __getOwnPropSymbols(source)) {\n if (exclude.indexOf(prop) < 0 && __propIsEnum.call(source, prop))\n target[prop] = source[prop];\n }\n return target;\n};\nfunction SceneComponentWrapperWithoutMemo(_a) {\n var _b = _a, { model } = _b, otherProps = __objRest(_b, [\"model\"]);\n var _a2;\n const Component = (_a2 = model.constructor[\"Component\"]) != null ? _a2 : EmptyRenderer;\n const [activated, setActivated] = React.useState(false);\n useEffect(() => {\n setActivated(true);\n return model.activate();\n }, [model]);\n if (!activated) {\n return null;\n }\n return /* @__PURE__ */ React.createElement(Component, __spreadProps(__spreadValues({}, otherProps), {\n model\n }));\n}\nconst SceneComponentWrapper = React.memo(SceneComponentWrapperWithoutMemo);\nfunction EmptyRenderer(_) {\n return null;\n}\n\nexport { SceneComponentWrapper };\n//# sourceMappingURL=SceneComponentWrapper.js.map\n","import { BusEventWithPayload } from '@grafana/data';\n\nclass SceneObjectStateChangedEvent extends BusEventWithPayload {\n}\nSceneObjectStateChangedEvent.type = \"scene-object-state-change\";\nclass UserActionEvent extends BusEventWithPayload {\n}\nUserActionEvent.type = \"scene-object-user-action\";\n\nexport { SceneObjectStateChangedEvent, UserActionEvent };\n//# sourceMappingURL=events.js.map\n","var __accessCheck = (obj, member, msg) => {\n if (!member.has(obj))\n throw TypeError(\"Cannot \" + msg);\n};\nvar __privateGet = (obj, member, getter) => {\n __accessCheck(obj, member, \"read from private field\");\n return getter ? getter.call(obj) : member.get(obj);\n};\nvar __privateAdd = (obj, member, value) => {\n if (member.has(obj))\n throw TypeError(\"Cannot add the same private member more than once\");\n member instanceof WeakSet ? member.add(obj) : member.set(obj, value);\n};\nvar __privateSet = (obj, member, value, setter) => {\n __accessCheck(obj, member, \"write to private field\");\n setter ? setter.call(obj, value) : member.set(obj, value);\n return value;\n};\nvar _ref;\nclass SceneObjectRef {\n constructor(ref) {\n __privateAdd(this, _ref, void 0);\n __privateSet(this, _ref, ref);\n }\n resolve() {\n return __privateGet(this, _ref);\n }\n}\n_ref = new WeakMap();\n\nexport { SceneObjectRef };\n//# sourceMappingURL=SceneObjectRef.js.map\n","import { useState, useEffect } from 'react';\nimport { Subscription } from 'rxjs';\nimport { v4 } from 'uuid';\nimport { EventBusSrv } from '@grafana/data';\nimport { SceneComponentWrapper } from './SceneComponentWrapper.js';\nimport { SceneObjectStateChangedEvent } from './events.js';\nimport { cloneSceneObject } from './sceneGraph/utils.js';\nimport { SceneObjectRef } from './SceneObjectRef.js';\n\nvar __defProp = Object.defineProperty;\nvar __getOwnPropSymbols = Object.getOwnPropertySymbols;\nvar __hasOwnProp = Object.prototype.hasOwnProperty;\nvar __propIsEnum = Object.prototype.propertyIsEnumerable;\nvar __defNormalProp = (obj, key, value) => key in obj ? __defProp(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;\nvar __spreadValues = (a, b) => {\n for (var prop in b || (b = {}))\n if (__hasOwnProp.call(b, prop))\n __defNormalProp(a, prop, b[prop]);\n if (__getOwnPropSymbols)\n for (var prop of __getOwnPropSymbols(b)) {\n if (__propIsEnum.call(b, prop))\n __defNormalProp(a, prop, b[prop]);\n }\n return a;\n};\nclass SceneObjectBase {\n constructor(state) {\n this._isActive = false;\n this._activationHandlers = [];\n this._deactivationHandlers = /* @__PURE__ */ new Map();\n this._subs = new Subscription();\n this._refCount = 0;\n if (!state.key) {\n state.key = v4();\n }\n this._events = new EventBusSrv();\n this._state = Object.freeze(state);\n this._setParent();\n }\n get state() {\n return this._state;\n }\n get isActive() {\n return this._isActive;\n }\n get parent() {\n return this._parent;\n }\n get variableDependency() {\n return this._variableDependency;\n }\n get urlSync() {\n return this._urlSync;\n }\n get Component() {\n return SceneComponentWrapper;\n }\n _setParent() {\n this.forEachChild((child) => {\n if (child._parent && child._parent !== this) {\n console.warn(\n \"SceneObject already has a parent set that is different from the new parent. You cannot share the same SceneObject instance in multiple scenes or in multiple different places of the same scene graph. Use SceneObject.clone() to duplicate a SceneObject or store a state key reference and use sceneGraph.findObject to locate it.\",\n child,\n this\n );\n }\n child._parent = this;\n });\n }\n subscribeToState(handler) {\n return this._events.subscribe(SceneObjectStateChangedEvent, (event) => {\n if (event.payload.changedObject === this) {\n handler(event.payload.newState, event.payload.prevState);\n }\n });\n }\n subscribeToEvent(eventType, handler) {\n return this._events.subscribe(eventType, handler);\n }\n setState(update) {\n const prevState = this._state;\n const newState = __spreadValues(__spreadValues({}, this._state), update);\n this._state = Object.freeze(newState);\n this._setParent();\n this._handleActivationOfChangedStateProps(prevState, newState);\n this.publishEvent(\n new SceneObjectStateChangedEvent({\n prevState,\n newState,\n partialUpdate: update,\n changedObject: this\n }),\n true\n );\n }\n _handleActivationOfChangedStateProps(prevState, newState) {\n if (!this.isActive) {\n return;\n }\n if (prevState.$data !== newState.$data) {\n this._handleChangedStateActivation(prevState.$data, newState.$data);\n }\n if (prevState.$variables !== newState.$variables) {\n this._handleChangedStateActivation(prevState.$variables, newState.$variables);\n }\n if (prevState.$timeRange !== newState.$timeRange) {\n this._handleChangedStateActivation(prevState.$timeRange, newState.$timeRange);\n }\n }\n _handleChangedStateActivation(oldValue, newValue) {\n if (oldValue) {\n const deactivationHandler = this._deactivationHandlers.get(oldValue);\n if (deactivationHandler) {\n deactivationHandler();\n this._deactivationHandlers.delete(oldValue);\n }\n }\n if (newValue) {\n this._deactivationHandlers.set(newValue, newValue.activate());\n }\n }\n publishEvent(event, bubble) {\n this._events.publish(event);\n if (bubble && this.parent) {\n this.parent.publishEvent(event, bubble);\n }\n }\n getRoot() {\n return !this._parent ? this : this._parent.getRoot();\n }\n _internalActivate() {\n this._isActive = true;\n const { $data, $variables, $timeRange, $behaviors } = this.state;\n if ($timeRange && !$timeRange.isActive) {\n this._deactivationHandlers.set($timeRange, $timeRange.activate());\n }\n if ($variables && !$variables.isActive) {\n this._deactivationHandlers.set($variables, $variables.activate());\n }\n if ($data && !$data.isActive) {\n this._deactivationHandlers.set($data, $data.activate());\n }\n if ($behaviors) {\n for (const behavior of $behaviors) {\n if (behavior instanceof SceneObjectBase) {\n this._deactivationHandlers.set(behavior, behavior.activate());\n } else if (typeof behavior === \"function\") {\n const deactivationHandler = behavior(this);\n if (deactivationHandler) {\n this._deactivationHandlers.set(behavior, deactivationHandler);\n }\n }\n }\n }\n this._activationHandlers.forEach((handler) => {\n const result = handler();\n if (result) {\n this._deactivationHandlers.set(result, result);\n }\n });\n }\n activate() {\n if (!this.isActive) {\n this._internalActivate();\n }\n this._refCount++;\n let called = false;\n return () => {\n this._refCount--;\n if (called) {\n const msg = `SceneObject cancelation handler returned by activate() called a second time`;\n console.error(msg, this);\n throw new Error(msg);\n }\n called = true;\n if (this._refCount === 0) {\n this._internalDeactivate();\n }\n };\n }\n _internalDeactivate() {\n this._isActive = false;\n for (let handler of this._deactivationHandlers.values()) {\n handler();\n }\n this._deactivationHandlers.clear();\n this._events.removeAllListeners();\n this._subs.unsubscribe();\n this._subs = new Subscription();\n }\n useState() {\n return useSceneObjectState(this);\n }\n forceRender() {\n this.setState({});\n }\n clone(withState) {\n return cloneSceneObject(this, withState);\n }\n addActivationHandler(handler) {\n this._activationHandlers.push(handler);\n }\n forEachChild(callback) {\n for (const propValue of Object.values(this.state)) {\n if (propValue instanceof SceneObjectBase) {\n callback(propValue);\n }\n if (Array.isArray(propValue)) {\n for (const child of propValue) {\n if (child instanceof SceneObjectBase) {\n callback(child);\n }\n }\n }\n }\n }\n getRef() {\n if (!this._ref) {\n this._ref = new SceneObjectRef(this);\n }\n return this._ref;\n }\n}\nfunction useSceneObjectState(model) {\n const [_, setState] = useState(model.state);\n const stateAtFirstRender = model.state;\n useEffect(() => {\n const s = model.subscribeToState(setState);\n if (model.state !== stateAtFirstRender) {\n setState(model.state);\n }\n return () => s.unsubscribe();\n }, [model]);\n return model.state;\n}\n\nexport { SceneObjectBase };\n//# sourceMappingURL=SceneObjectBase.js.map\n","import { SceneObjectBase } from '../SceneObjectBase.js';\nimport { SceneObjectRef } from '../SceneObjectRef.js';\n\nvar __defProp = Object.defineProperty;\nvar __getOwnPropSymbols = Object.getOwnPropertySymbols;\nvar __hasOwnProp = Object.prototype.hasOwnProperty;\nvar __propIsEnum = Object.prototype.propertyIsEnumerable;\nvar __defNormalProp = (obj, key, value) => key in obj ? __defProp(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;\nvar __spreadValues = (a, b) => {\n for (var prop in b || (b = {}))\n if (__hasOwnProp.call(b, prop))\n __defNormalProp(a, prop, b[prop]);\n if (__getOwnPropSymbols)\n for (var prop of __getOwnPropSymbols(b)) {\n if (__propIsEnum.call(b, prop))\n __defNormalProp(a, prop, b[prop]);\n }\n return a;\n};\nfunction cloneSceneObject(sceneObject, withState) {\n const clonedState = cloneSceneObjectState(sceneObject.state, withState);\n return new sceneObject.constructor(clonedState);\n}\nfunction cloneSceneObjectState(sceneState, withState) {\n const clonedState = __spreadValues({}, sceneState);\n for (const key in clonedState) {\n const propValue = clonedState[key];\n if (propValue instanceof SceneObjectBase) {\n clonedState[key] = propValue.clone();\n }\n if (propValue instanceof SceneObjectRef) {\n throw new Error(\"Cannot clone a SceneObject with a SceneObjectRef in state\");\n }\n if (Array.isArray(propValue)) {\n const newArray = [];\n for (const child of propValue) {\n if (child instanceof SceneObjectBase) {\n newArray.push(child.clone());\n } else {\n newArray.push(child);\n }\n }\n clonedState[key] = newArray;\n }\n }\n Object.assign(clonedState, withState);\n return clonedState;\n}\nfunction getClosest(sceneObject, extract) {\n let curSceneObject = sceneObject;\n let extracted = void 0;\n while (curSceneObject && !extracted) {\n extracted = extract(curSceneObject);\n curSceneObject = curSceneObject.parent;\n }\n return extracted;\n}\n\nexport { cloneSceneObject, cloneSceneObjectState, getClosest };\n//# sourceMappingURL=utils.js.map\n","import { DataSourceApi, PluginType } from '@grafana/data';\n\nclass RuntimeDataSource extends DataSourceApi {\n constructor(pluginId, uid) {\n super({\n name: \"RuntimeDataSource-\" + pluginId,\n uid,\n type: pluginId,\n id: 1,\n readOnly: true,\n jsonData: {},\n access: \"direct\",\n meta: {\n id: pluginId,\n name: \"RuntimeDataSource-\" + pluginId,\n type: PluginType.datasource,\n info: {\n author: {\n name: \"\"\n },\n description: \"\",\n links: [],\n logos: {\n large: \"\",\n small: \"\"\n },\n screenshots: [],\n updated: \"\",\n version: \"\"\n },\n module: \"\",\n baseUrl: \"\"\n }\n });\n }\n testDatasource() {\n return Promise.resolve({});\n }\n}\nconst runtimeDataSources = /* @__PURE__ */ new Map();\nfunction registerRuntimeDataSource({ dataSource }) {\n if (runtimeDataSources.has(dataSource.uid)) {\n throw new Error(`A runtime data source with uid ${dataSource.uid} has already been registered`);\n }\n runtimeDataSources.set(dataSource.uid, dataSource);\n}\n\nexport { RuntimeDataSource, registerRuntimeDataSource, runtimeDataSources };\n//# sourceMappingURL=RuntimeDataSource.js.map\n","const defaultAnnotationTarget = {\n tags: []\n};\nconst defaultAnnotationPanelFilter = {\n exclude: false,\n ids: []\n};\nconst defaultAnnotationContainer = {\n list: []\n};\nconst defaultAnnotationQuery = {\n enable: true,\n hide: false\n};\nconst defaultVariableModel = {\n id: \"00000000-0000-0000-0000-000000000000\",\n multi: false,\n options: [],\n skipUrlSync: false\n};\nvar VariableRefresh = /* @__PURE__ */ ((VariableRefresh2) => {\n VariableRefresh2[VariableRefresh2[\"never\"] = 0] = \"never\";\n VariableRefresh2[VariableRefresh2[\"onDashboardLoad\"] = 1] = \"onDashboardLoad\";\n VariableRefresh2[VariableRefresh2[\"onTimeRangeChanged\"] = 2] = \"onTimeRangeChanged\";\n return VariableRefresh2;\n})(VariableRefresh || {});\nvar VariableSort = /* @__PURE__ */ ((VariableSort2) => {\n VariableSort2[VariableSort2[\"alphabeticalAsc\"] = 1] = \"alphabeticalAsc\";\n VariableSort2[VariableSort2[\"alphabeticalCaseInsensitiveAsc\"] = 5] = \"alphabeticalCaseInsensitiveAsc\";\n VariableSort2[VariableSort2[\"alphabeticalCaseInsensitiveDesc\"] = 6] = \"alphabeticalCaseInsensitiveDesc\";\n VariableSort2[VariableSort2[\"alphabeticalDesc\"] = 2] = \"alphabeticalDesc\";\n VariableSort2[VariableSort2[\"disabled\"] = 0] = \"disabled\";\n VariableSort2[VariableSort2[\"numericalAsc\"] = 3] = \"numericalAsc\";\n VariableSort2[VariableSort2[\"numericalDesc\"] = 4] = \"numericalDesc\";\n return VariableSort2;\n})(VariableSort || {});\nvar LoadingState = /* @__PURE__ */ ((LoadingState2) => {\n LoadingState2[\"Done\"] = \"Done\";\n LoadingState2[\"Error\"] = \"Error\";\n LoadingState2[\"Loading\"] = \"Loading\";\n LoadingState2[\"NotStarted\"] = \"NotStarted\";\n LoadingState2[\"Streaming\"] = \"Streaming\";\n return LoadingState2;\n})(LoadingState || {});\nconst defaultDashboardLink = {\n asDropdown: false,\n includeVars: false,\n keepTime: false,\n tags: [],\n targetBlank: false\n};\nvar FieldColorModeId = /* @__PURE__ */ ((FieldColorModeId2) => {\n FieldColorModeId2[\"ContinuousBlPu\"] = \"continuous-BlPu\";\n FieldColorModeId2[\"ContinuousBlYlRd\"] = \"continuous-BlYlRd\";\n FieldColorModeId2[\"ContinuousBlues\"] = \"continuous-blues\";\n FieldColorModeId2[\"ContinuousGrYlRd\"] = \"continuous-GrYlRd\";\n FieldColorModeId2[\"ContinuousGreens\"] = \"continuous-greens\";\n FieldColorModeId2[\"ContinuousPurples\"] = \"continuous-purples\";\n FieldColorModeId2[\"ContinuousRdYlGr\"] = \"continuous-RdYlGr\";\n FieldColorModeId2[\"ContinuousReds\"] = \"continuous-reds\";\n FieldColorModeId2[\"ContinuousYlBl\"] = \"continuous-YlBl\";\n FieldColorModeId2[\"ContinuousYlRd\"] = \"continuous-YlRd\";\n FieldColorModeId2[\"Fixed\"] = \"fixed\";\n FieldColorModeId2[\"PaletteClassic\"] = \"palette-classic\";\n FieldColorModeId2[\"PaletteClassicByName\"] = \"palette-classic-by-name\";\n FieldColorModeId2[\"Shades\"] = \"shades\";\n FieldColorModeId2[\"Thresholds\"] = \"thresholds\";\n return FieldColorModeId2;\n})(FieldColorModeId || {});\nconst defaultGridPos = {\n h: 9,\n w: 12,\n x: 0,\n y: 0\n};\nvar ThresholdsMode = /* @__PURE__ */ ((ThresholdsMode2) => {\n ThresholdsMode2[\"Absolute\"] = \"absolute\";\n ThresholdsMode2[\"Percentage\"] = \"percentage\";\n return ThresholdsMode2;\n})(ThresholdsMode || {});\nconst defaultThresholdsConfig = {\n steps: []\n};\nvar MappingType = /* @__PURE__ */ ((MappingType2) => {\n MappingType2[\"RangeToText\"] = \"range\";\n MappingType2[\"RegexToText\"] = \"regex\";\n MappingType2[\"SpecialValue\"] = \"special\";\n MappingType2[\"ValueToText\"] = \"value\";\n return MappingType2;\n})(MappingType || {});\nvar SpecialValueMatch = /* @__PURE__ */ ((SpecialValueMatch2) => {\n SpecialValueMatch2[\"Empty\"] = \"empty\";\n SpecialValueMatch2[\"False\"] = \"false\";\n SpecialValueMatch2[\"NaN\"] = \"nan\";\n SpecialValueMatch2[\"Null\"] = \"null\";\n SpecialValueMatch2[\"NullAndNan\"] = \"null+nan\";\n SpecialValueMatch2[\"True\"] = \"true\";\n return SpecialValueMatch2;\n})(SpecialValueMatch || {});\nvar DashboardCursorSync = /* @__PURE__ */ ((DashboardCursorSync2) => {\n DashboardCursorSync2[DashboardCursorSync2[\"Crosshair\"] = 1] = \"Crosshair\";\n DashboardCursorSync2[DashboardCursorSync2[\"Off\"] = 0] = \"Off\";\n DashboardCursorSync2[DashboardCursorSync2[\"Tooltip\"] = 2] = \"Tooltip\";\n return DashboardCursorSync2;\n})(DashboardCursorSync || {});\nconst defaultDashboardCursorSync = 0 /* Off */;\nconst defaultPanel = {\n links: [],\n repeatDirection: \"h\",\n tags: [],\n targets: [],\n transformations: [],\n transparent: false\n};\nconst defaultFieldConfigSource = {\n overrides: []\n};\nconst defaultMatcherConfig = {\n id: \"\"\n};\nconst defaultFieldConfig = {\n links: [],\n mappings: []\n};\nconst defaultRowPanel = {\n collapsed: false,\n panels: []\n};\nconst defaultDashboard = {\n editable: true,\n fiscalYearStartMonth: 0,\n graphTooltip: 0 /* Off */,\n links: [],\n panels: [],\n schemaVersion: 36,\n style: \"dark\",\n tags: [],\n timezone: \"browser\"\n};\n\nexport { DashboardCursorSync, FieldColorModeId, LoadingState, MappingType, SpecialValueMatch, ThresholdsMode, VariableRefresh, VariableSort, defaultAnnotationContainer, defaultAnnotationPanelFilter, defaultAnnotationQuery, defaultAnnotationTarget, defaultDashboard, defaultDashboardCursorSync, defaultDashboardLink, defaultFieldConfig, defaultFieldConfigSource, defaultGridPos, defaultMatcherConfig, defaultPanel, defaultRowPanel, defaultThresholdsConfig, defaultVariableModel };\n//# sourceMappingURL=dashboard_types.gen.js.map\n","import { getDefaultTimeRange } from '@grafana/data';\nimport { LoadingState } from '@grafana/schema';\nimport { of } from 'rxjs';\nimport { SceneObjectBase } from './SceneObjectBase.js';\n\nvar __defProp = Object.defineProperty;\nvar __getOwnPropSymbols = Object.getOwnPropertySymbols;\nvar __hasOwnProp = Object.prototype.hasOwnProperty;\nvar __propIsEnum = Object.prototype.propertyIsEnumerable;\nvar __defNormalProp = (obj, key, value) => key in obj ? __defProp(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;\nvar __spreadValues = (a, b) => {\n for (var prop in b || (b = {}))\n if (__hasOwnProp.call(b, prop))\n __defNormalProp(a, prop, b[prop]);\n if (__getOwnPropSymbols)\n for (var prop of __getOwnPropSymbols(b)) {\n if (__propIsEnum.call(b, prop))\n __defNormalProp(a, prop, b[prop]);\n }\n return a;\n};\nclass SceneDataNode extends SceneObjectBase {\n constructor(state) {\n super(__spreadValues({\n data: emptyPanelData\n }, state));\n }\n getResultsStream() {\n const result = {\n origin: this,\n data: this.state.data\n };\n return of(result);\n }\n}\nconst emptyPanelData = {\n state: LoadingState.Done,\n series: [],\n timeRange: getDefaultTimeRange()\n};\n\nexport { SceneDataNode, emptyPanelData };\n//# sourceMappingURL=SceneDataNode.js.map\n","class SceneObjectUrlSyncConfig {\n constructor(_sceneObject, _options) {\n this._sceneObject = _sceneObject;\n this._keys = _options.keys;\n }\n getKeys() {\n return this._keys;\n }\n getUrlState() {\n return this._sceneObject.getUrlState();\n }\n updateFromUrl(values) {\n this._sceneObject.updateFromUrl(values);\n }\n}\n\nexport { SceneObjectUrlSyncConfig };\n//# sourceMappingURL=SceneObjectUrlSyncConfig.js.map\n","import { toUtc } from '@grafana/data';\n\nconst INTERVAL_STRING_REGEX = /^\\d+[yYmMsSwWhHdD]$/;\nfunction parseUrlParam(value) {\n if (typeof value !== \"string\") {\n return null;\n }\n if (value.indexOf(\"now\") !== -1) {\n return value;\n }\n if (INTERVAL_STRING_REGEX.test(value)) {\n return value;\n }\n if (value.length === 8) {\n const utcValue = toUtc(value, \"YYYYMMDD\");\n if (utcValue.isValid()) {\n return utcValue.toISOString();\n }\n } else if (value.length === 15) {\n const utcValue = toUtc(value, \"YYYYMMDDTHHmmss\");\n if (utcValue.isValid()) {\n return utcValue.toISOString();\n }\n } else if (value.length === 24) {\n const utcValue = toUtc(value);\n return utcValue.toISOString();\n }\n const epoch = parseInt(value, 10);\n if (!isNaN(epoch)) {\n return toUtc(epoch).toISOString();\n }\n return null;\n}\n\nexport { parseUrlParam };\n//# sourceMappingURL=parseUrlParam.js.map\n","import { dateMath } from '@grafana/data';\n\nfunction evaluateTimeRange(from, to, timeZone, fiscalYearStartMonth, delay) {\n const hasDelay = delay && to === \"now\";\n return {\n from: dateMath.parse(from, false, timeZone, fiscalYearStartMonth),\n to: dateMath.parse(hasDelay ? \"now-\" + delay : to, true, timeZone, fiscalYearStartMonth),\n raw: {\n from,\n to\n }\n };\n}\n\nexport { evaluateTimeRange };\n//# sourceMappingURL=evaluateTimeRange.js.map\n","import { getTimeZone, setWeekStart } from '@grafana/data';\nimport { SceneObjectUrlSyncConfig } from '../services/SceneObjectUrlSyncConfig.js';\nimport { SceneObjectBase } from './SceneObjectBase.js';\nimport { getClosest } from './sceneGraph/utils.js';\nimport { parseUrlParam } from '../utils/parseUrlParam.js';\nimport { evaluateTimeRange } from '../utils/evaluateTimeRange.js';\nimport { config } from '@grafana/runtime';\n\nvar __defProp = Object.defineProperty;\nvar __getOwnPropSymbols = Object.getOwnPropertySymbols;\nvar __hasOwnProp = Object.prototype.hasOwnProperty;\nvar __propIsEnum = Object.prototype.propertyIsEnumerable;\nvar __defNormalProp = (obj, key, value) => key in obj ? __defProp(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;\nvar __spreadValues = (a, b) => {\n for (var prop in b || (b = {}))\n if (__hasOwnProp.call(b, prop))\n __defNormalProp(a, prop, b[prop]);\n if (__getOwnPropSymbols)\n for (var prop of __getOwnPropSymbols(b)) {\n if (__propIsEnum.call(b, prop))\n __defNormalProp(a, prop, b[prop]);\n }\n return a;\n};\nclass SceneTimeRange extends SceneObjectBase {\n constructor(state = {}) {\n var _a, _b;\n const from = (_a = state.from) != null ? _a : \"now-6h\";\n const to = (_b = state.to) != null ? _b : \"now\";\n const timeZone = state.timeZone;\n const value = evaluateTimeRange(\n from,\n to,\n timeZone || getTimeZone(),\n state.fiscalYearStartMonth,\n state.UNSAFE_nowDelay\n );\n super(__spreadValues({ from, to, timeZone, value }, state));\n this._urlSync = new SceneObjectUrlSyncConfig(this, { keys: [\"from\", \"to\"] });\n this.onTimeRangeChange = (timeRange) => {\n const update = {};\n const updateToEval = {};\n if (typeof timeRange.raw.from === \"string\") {\n update.from = timeRange.raw.from;\n updateToEval.from = timeRange.raw.from;\n } else {\n update.from = timeRange.raw.from.toISOString();\n updateToEval.from = timeRange.raw.from.toISOString(true);\n }\n if (typeof timeRange.raw.to === \"string\") {\n update.to = timeRange.raw.to;\n updateToEval.to = timeRange.raw.to;\n } else {\n update.to = timeRange.raw.to.toISOString();\n updateToEval.to = timeRange.raw.to.toISOString(true);\n }\n update.value = evaluateTimeRange(\n updateToEval.from,\n updateToEval.to,\n this.getTimeZone(),\n this.state.fiscalYearStartMonth,\n this.state.UNSAFE_nowDelay\n );\n if (update.from !== this.state.from || update.to !== this.state.to) {\n this.setState(update);\n }\n };\n this.onTimeZoneChange = (timeZone) => {\n this.setState({ timeZone });\n };\n this.onRefresh = () => {\n this.setState({\n value: evaluateTimeRange(\n this.state.from,\n this.state.to,\n this.getTimeZone(),\n this.state.fiscalYearStartMonth,\n this.state.UNSAFE_nowDelay\n )\n });\n };\n this.addActivationHandler(this._onActivate.bind(this));\n }\n _onActivate() {\n if (!this.state.timeZone) {\n const timeZoneSource = this.getTimeZoneSource();\n if (timeZoneSource !== this) {\n this._subs.add(\n timeZoneSource.subscribeToState((n, p) => {\n if (n.timeZone !== void 0 && n.timeZone !== p.timeZone) {\n this.setState({\n value: evaluateTimeRange(\n this.state.from,\n this.state.to,\n timeZoneSource.getTimeZone(),\n this.state.fiscalYearStartMonth,\n this.state.UNSAFE_nowDelay\n )\n });\n }\n })\n );\n }\n }\n if (this.state.weekStart) {\n setWeekStart(this.state.weekStart);\n }\n return () => {\n if (this.state.weekStart) {\n setWeekStart(config.bootData.user.weekStart);\n }\n };\n }\n getTimeZoneSource() {\n if (!this.parent || !this.parent.parent) {\n return this;\n }\n const source = getClosest(this.parent.parent, (o) => {\n if (o.state.$timeRange && o.state.$timeRange.state.timeZone) {\n return o.state.$timeRange;\n }\n return void 0;\n });\n if (!source) {\n return this;\n }\n return source;\n }\n getTimeZone() {\n if (this.state.timeZone) {\n return this.state.timeZone;\n }\n const timeZoneSource = this.getTimeZoneSource();\n if (timeZoneSource !== this) {\n return timeZoneSource.state.timeZone;\n }\n return getTimeZone();\n }\n getUrlState() {\n return { from: this.state.from, to: this.state.to };\n }\n updateFromUrl(values) {\n var _a, _b;\n if (!values.to && !values.from) {\n return;\n }\n const update = {};\n const from = parseUrlParam(values.from);\n if (from) {\n update.from = from;\n }\n const to = parseUrlParam(values.to);\n if (to) {\n update.to = to;\n }\n update.value = evaluateTimeRange(\n (_a = update.from) != null ? _a : this.state.from,\n (_b = update.to) != null ? _b : this.state.to,\n this.getTimeZone(),\n this.state.fiscalYearStartMonth,\n this.state.UNSAFE_nowDelay\n );\n this.setState(update);\n }\n}\n\nexport { SceneTimeRange };\n//# sourceMappingURL=SceneTimeRange.js.map\n","import { SceneDataNode } from '../../core/SceneDataNode.js';\nimport { SceneObjectBase } from '../../core/SceneObjectBase.js';\nimport { SceneTimeRange } from '../../core/SceneTimeRange.js';\n\nconst EmptyDataNode = new SceneDataNode();\nconst DefaultTimeRange = new SceneTimeRange();\nclass EmptyVariableSetImpl extends SceneObjectBase {\n constructor() {\n super({ variables: [] });\n }\n getByName(name) {\n return void 0;\n }\n isVariableLoadingOrWaitingToUpdate(variable) {\n return false;\n }\n}\nconst EmptyVariableSet = new EmptyVariableSetImpl();\n\nexport { DefaultTimeRange, EmptyDataNode, EmptyVariableSet, EmptyVariableSetImpl };\n//# sourceMappingURL=defaults.js.map\n","import { DefaultTimeRange } from '../../variables/interpolation/defaults.js';\nimport { getClosest } from './utils.js';\n\nfunction getTimeRange(sceneObject) {\n var _a;\n return (_a = getClosest(sceneObject, (s) => s.state.$timeRange)) != null ? _a : DefaultTimeRange;\n}\n\nexport { getTimeRange };\n//# sourceMappingURL=getTimeRange.js.map\n","var ScaleDimensionMode = /* @__PURE__ */ ((ScaleDimensionMode2) => {\n ScaleDimensionMode2[\"Linear\"] = \"linear\";\n ScaleDimensionMode2[\"Quad\"] = \"quad\";\n return ScaleDimensionMode2;\n})(ScaleDimensionMode || {});\nvar ScalarDimensionMode = /* @__PURE__ */ ((ScalarDimensionMode2) => {\n ScalarDimensionMode2[\"Clamped\"] = \"clamped\";\n ScalarDimensionMode2[\"Mod\"] = \"mod\";\n return ScalarDimensionMode2;\n})(ScalarDimensionMode || {});\nvar TextDimensionMode = /* @__PURE__ */ ((TextDimensionMode2) => {\n TextDimensionMode2[\"Field\"] = \"field\";\n TextDimensionMode2[\"Fixed\"] = \"fixed\";\n TextDimensionMode2[\"Template\"] = \"template\";\n return TextDimensionMode2;\n})(TextDimensionMode || {});\nvar ResourceDimensionMode = /* @__PURE__ */ ((ResourceDimensionMode2) => {\n ResourceDimensionMode2[\"Field\"] = \"field\";\n ResourceDimensionMode2[\"Fixed\"] = \"fixed\";\n ResourceDimensionMode2[\"Mapping\"] = \"mapping\";\n return ResourceDimensionMode2;\n})(ResourceDimensionMode || {});\nvar FrameGeometrySourceMode = /* @__PURE__ */ ((FrameGeometrySourceMode2) => {\n FrameGeometrySourceMode2[\"Auto\"] = \"auto\";\n FrameGeometrySourceMode2[\"Coords\"] = \"coords\";\n FrameGeometrySourceMode2[\"Geohash\"] = \"geohash\";\n FrameGeometrySourceMode2[\"Lookup\"] = \"lookup\";\n return FrameGeometrySourceMode2;\n})(FrameGeometrySourceMode || {});\nvar HeatmapCalculationMode = /* @__PURE__ */ ((HeatmapCalculationMode2) => {\n HeatmapCalculationMode2[\"Count\"] = \"count\";\n HeatmapCalculationMode2[\"Size\"] = \"size\";\n return HeatmapCalculationMode2;\n})(HeatmapCalculationMode || {});\nvar HeatmapCellLayout = /* @__PURE__ */ ((HeatmapCellLayout2) => {\n HeatmapCellLayout2[\"auto\"] = \"auto\";\n HeatmapCellLayout2[\"ge\"] = \"ge\";\n HeatmapCellLayout2[\"le\"] = \"le\";\n HeatmapCellLayout2[\"unknown\"] = \"unknown\";\n return HeatmapCellLayout2;\n})(HeatmapCellLayout || {});\nvar LogsSortOrder = /* @__PURE__ */ ((LogsSortOrder2) => {\n LogsSortOrder2[\"Ascending\"] = \"Ascending\";\n LogsSortOrder2[\"Descending\"] = \"Descending\";\n return LogsSortOrder2;\n})(LogsSortOrder || {});\nvar AxisPlacement = /* @__PURE__ */ ((AxisPlacement2) => {\n AxisPlacement2[\"Auto\"] = \"auto\";\n AxisPlacement2[\"Bottom\"] = \"bottom\";\n AxisPlacement2[\"Hidden\"] = \"hidden\";\n AxisPlacement2[\"Left\"] = \"left\";\n AxisPlacement2[\"Right\"] = \"right\";\n AxisPlacement2[\"Top\"] = \"top\";\n return AxisPlacement2;\n})(AxisPlacement || {});\nvar AxisColorMode = /* @__PURE__ */ ((AxisColorMode2) => {\n AxisColorMode2[\"Series\"] = \"series\";\n AxisColorMode2[\"Text\"] = \"text\";\n return AxisColorMode2;\n})(AxisColorMode || {});\nvar VisibilityMode = /* @__PURE__ */ ((VisibilityMode2) => {\n VisibilityMode2[\"Always\"] = \"always\";\n VisibilityMode2[\"Auto\"] = \"auto\";\n VisibilityMode2[\"Never\"] = \"never\";\n return VisibilityMode2;\n})(VisibilityMode || {});\nvar GraphDrawStyle = /* @__PURE__ */ ((GraphDrawStyle2) => {\n GraphDrawStyle2[\"Bars\"] = \"bars\";\n GraphDrawStyle2[\"Line\"] = \"line\";\n GraphDrawStyle2[\"Points\"] = \"points\";\n return GraphDrawStyle2;\n})(GraphDrawStyle || {});\nvar GraphTransform = /* @__PURE__ */ ((GraphTransform2) => {\n GraphTransform2[\"Constant\"] = \"constant\";\n GraphTransform2[\"NegativeY\"] = \"negative-Y\";\n return GraphTransform2;\n})(GraphTransform || {});\nvar LineInterpolation = /* @__PURE__ */ ((LineInterpolation2) => {\n LineInterpolation2[\"Linear\"] = \"linear\";\n LineInterpolation2[\"Smooth\"] = \"smooth\";\n LineInterpolation2[\"StepAfter\"] = \"stepAfter\";\n LineInterpolation2[\"StepBefore\"] = \"stepBefore\";\n return LineInterpolation2;\n})(LineInterpolation || {});\nvar ScaleDistribution = /* @__PURE__ */ ((ScaleDistribution2) => {\n ScaleDistribution2[\"Linear\"] = \"linear\";\n ScaleDistribution2[\"Log\"] = \"log\";\n ScaleDistribution2[\"Ordinal\"] = \"ordinal\";\n ScaleDistribution2[\"Symlog\"] = \"symlog\";\n return ScaleDistribution2;\n})(ScaleDistribution || {});\nvar GraphGradientMode = /* @__PURE__ */ ((GraphGradientMode2) => {\n GraphGradientMode2[\"Hue\"] = \"hue\";\n GraphGradientMode2[\"None\"] = \"none\";\n GraphGradientMode2[\"Opacity\"] = \"opacity\";\n GraphGradientMode2[\"Scheme\"] = \"scheme\";\n return GraphGradientMode2;\n})(GraphGradientMode || {});\nvar StackingMode = /* @__PURE__ */ ((StackingMode2) => {\n StackingMode2[\"None\"] = \"none\";\n StackingMode2[\"Normal\"] = \"normal\";\n StackingMode2[\"Percent\"] = \"percent\";\n return StackingMode2;\n})(StackingMode || {});\nvar BarAlignment = /* @__PURE__ */ ((BarAlignment2) => {\n BarAlignment2[BarAlignment2[\"After\"] = 1] = \"After\";\n BarAlignment2[BarAlignment2[\"Before\"] = -1] = \"Before\";\n BarAlignment2[BarAlignment2[\"Center\"] = 0] = \"Center\";\n return BarAlignment2;\n})(BarAlignment || {});\nvar ScaleOrientation = /* @__PURE__ */ ((ScaleOrientation2) => {\n ScaleOrientation2[ScaleOrientation2[\"Horizontal\"] = 0] = \"Horizontal\";\n ScaleOrientation2[ScaleOrientation2[\"Vertical\"] = 1] = \"Vertical\";\n return ScaleOrientation2;\n})(ScaleOrientation || {});\nvar ScaleDirection = /* @__PURE__ */ ((ScaleDirection2) => {\n ScaleDirection2[ScaleDirection2[\"Down\"] = -1] = \"Down\";\n ScaleDirection2[ScaleDirection2[\"Left\"] = -1] = \"Left\";\n ScaleDirection2[ScaleDirection2[\"Right\"] = 1] = \"Right\";\n ScaleDirection2[ScaleDirection2[\"Up\"] = 1] = \"Up\";\n return ScaleDirection2;\n})(ScaleDirection || {});\nconst defaultLineStyle = {\n dash: []\n};\nvar GraphTresholdsStyleMode = /* @__PURE__ */ ((GraphTresholdsStyleMode2) => {\n GraphTresholdsStyleMode2[\"Area\"] = \"area\";\n GraphTresholdsStyleMode2[\"Dashed\"] = \"dashed\";\n GraphTresholdsStyleMode2[\"DashedAndArea\"] = \"dashed+area\";\n GraphTresholdsStyleMode2[\"Line\"] = \"line\";\n GraphTresholdsStyleMode2[\"LineAndArea\"] = \"line+area\";\n GraphTresholdsStyleMode2[\"Off\"] = \"off\";\n GraphTresholdsStyleMode2[\"Series\"] = \"series\";\n return GraphTresholdsStyleMode2;\n})(GraphTresholdsStyleMode || {});\nvar LegendDisplayMode = /* @__PURE__ */ ((LegendDisplayMode2) => {\n LegendDisplayMode2[\"Hidden\"] = \"hidden\";\n LegendDisplayMode2[\"List\"] = \"list\";\n LegendDisplayMode2[\"Table\"] = \"table\";\n return LegendDisplayMode2;\n})(LegendDisplayMode || {});\nconst defaultReduceDataOptions = {\n calcs: []\n};\nvar VizOrientation = /* @__PURE__ */ ((VizOrientation2) => {\n VizOrientation2[\"Auto\"] = \"auto\";\n VizOrientation2[\"Horizontal\"] = \"horizontal\";\n VizOrientation2[\"Vertical\"] = \"vertical\";\n return VizOrientation2;\n})(VizOrientation || {});\nconst defaultOptionsWithTimezones = {\n timezone: []\n};\nvar BigValueColorMode = /* @__PURE__ */ ((BigValueColorMode2) => {\n BigValueColorMode2[\"Background\"] = \"background\";\n BigValueColorMode2[\"BackgroundSolid\"] = \"background_solid\";\n BigValueColorMode2[\"None\"] = \"none\";\n BigValueColorMode2[\"Value\"] = \"value\";\n return BigValueColorMode2;\n})(BigValueColorMode || {});\nvar BigValueGraphMode = /* @__PURE__ */ ((BigValueGraphMode2) => {\n BigValueGraphMode2[\"Area\"] = \"area\";\n BigValueGraphMode2[\"Line\"] = \"line\";\n BigValueGraphMode2[\"None\"] = \"none\";\n return BigValueGraphMode2;\n})(BigValueGraphMode || {});\nvar BigValueJustifyMode = /* @__PURE__ */ ((BigValueJustifyMode2) => {\n BigValueJustifyMode2[\"Auto\"] = \"auto\";\n BigValueJustifyMode2[\"Center\"] = \"center\";\n return BigValueJustifyMode2;\n})(BigValueJustifyMode || {});\nvar BigValueTextMode = /* @__PURE__ */ ((BigValueTextMode2) => {\n BigValueTextMode2[\"Auto\"] = \"auto\";\n BigValueTextMode2[\"Name\"] = \"name\";\n BigValueTextMode2[\"None\"] = \"none\";\n BigValueTextMode2[\"Value\"] = \"value\";\n BigValueTextMode2[\"ValueAndName\"] = \"value_and_name\";\n return BigValueTextMode2;\n})(BigValueTextMode || {});\nvar TooltipDisplayMode = /* @__PURE__ */ ((TooltipDisplayMode2) => {\n TooltipDisplayMode2[\"Multi\"] = \"multi\";\n TooltipDisplayMode2[\"None\"] = \"none\";\n TooltipDisplayMode2[\"Single\"] = \"single\";\n return TooltipDisplayMode2;\n})(TooltipDisplayMode || {});\nvar SortOrder = /* @__PURE__ */ ((SortOrder2) => {\n SortOrder2[\"Ascending\"] = \"asc\";\n SortOrder2[\"Descending\"] = \"desc\";\n SortOrder2[\"None\"] = \"none\";\n return SortOrder2;\n})(SortOrder || {});\nconst defaultVizLegendOptions = {\n calcs: []\n};\nvar BarGaugeDisplayMode = /* @__PURE__ */ ((BarGaugeDisplayMode2) => {\n BarGaugeDisplayMode2[\"Basic\"] = \"basic\";\n BarGaugeDisplayMode2[\"Gradient\"] = \"gradient\";\n BarGaugeDisplayMode2[\"Lcd\"] = \"lcd\";\n return BarGaugeDisplayMode2;\n})(BarGaugeDisplayMode || {});\nvar BarGaugeValueMode = /* @__PURE__ */ ((BarGaugeValueMode2) => {\n BarGaugeValueMode2[\"Color\"] = \"color\";\n BarGaugeValueMode2[\"Hidden\"] = \"hidden\";\n BarGaugeValueMode2[\"Text\"] = \"text\";\n return BarGaugeValueMode2;\n})(BarGaugeValueMode || {});\nvar TableCellDisplayMode = /* @__PURE__ */ ((TableCellDisplayMode2) => {\n TableCellDisplayMode2[\"Auto\"] = \"auto\";\n TableCellDisplayMode2[\"BasicGauge\"] = \"basic\";\n TableCellDisplayMode2[\"ColorBackground\"] = \"color-background\";\n TableCellDisplayMode2[\"ColorBackgroundSolid\"] = \"color-background-solid\";\n TableCellDisplayMode2[\"ColorText\"] = \"color-text\";\n TableCellDisplayMode2[\"Gauge\"] = \"gauge\";\n TableCellDisplayMode2[\"GradientGauge\"] = \"gradient-gauge\";\n TableCellDisplayMode2[\"Image\"] = \"image\";\n TableCellDisplayMode2[\"JSONView\"] = \"json-view\";\n TableCellDisplayMode2[\"LcdGauge\"] = \"lcd-gauge\";\n TableCellDisplayMode2[\"Sparkline\"] = \"sparkline\";\n return TableCellDisplayMode2;\n})(TableCellDisplayMode || {});\nvar TableCellBackgroundDisplayMode = /* @__PURE__ */ ((TableCellBackgroundDisplayMode2) => {\n TableCellBackgroundDisplayMode2[\"Basic\"] = \"basic\";\n TableCellBackgroundDisplayMode2[\"Gradient\"] = \"gradient\";\n return TableCellBackgroundDisplayMode2;\n})(TableCellBackgroundDisplayMode || {});\nconst defaultTableFooterOptions = {\n fields: [],\n reducer: []\n};\nvar TableCellHeight = /* @__PURE__ */ ((TableCellHeight2) => {\n TableCellHeight2[\"Lg\"] = \"lg\";\n TableCellHeight2[\"Md\"] = \"md\";\n TableCellHeight2[\"Sm\"] = \"sm\";\n return TableCellHeight2;\n})(TableCellHeight || {});\nvar VariableFormatID = /* @__PURE__ */ ((VariableFormatID2) => {\n VariableFormatID2[\"CSV\"] = \"csv\";\n VariableFormatID2[\"Date\"] = \"date\";\n VariableFormatID2[\"Distributed\"] = \"distributed\";\n VariableFormatID2[\"DoubleQuote\"] = \"doublequote\";\n VariableFormatID2[\"Glob\"] = \"glob\";\n VariableFormatID2[\"HTML\"] = \"html\";\n VariableFormatID2[\"JSON\"] = \"json\";\n VariableFormatID2[\"Lucene\"] = \"lucene\";\n VariableFormatID2[\"PercentEncode\"] = \"percentencode\";\n VariableFormatID2[\"Pipe\"] = \"pipe\";\n VariableFormatID2[\"QueryParam\"] = \"queryparam\";\n VariableFormatID2[\"Raw\"] = \"raw\";\n VariableFormatID2[\"Regex\"] = \"regex\";\n VariableFormatID2[\"SQLString\"] = \"sqlstring\";\n VariableFormatID2[\"SingleQuote\"] = \"singlequote\";\n VariableFormatID2[\"Text\"] = \"text\";\n VariableFormatID2[\"UriEncode\"] = \"uriencode\";\n return VariableFormatID2;\n})(VariableFormatID || {});\nvar LogsDedupStrategy = /* @__PURE__ */ ((LogsDedupStrategy2) => {\n LogsDedupStrategy2[\"exact\"] = \"exact\";\n LogsDedupStrategy2[\"none\"] = \"none\";\n LogsDedupStrategy2[\"numbers\"] = \"numbers\";\n LogsDedupStrategy2[\"signature\"] = \"signature\";\n return LogsDedupStrategy2;\n})(LogsDedupStrategy || {});\nvar ComparisonOperation = /* @__PURE__ */ ((ComparisonOperation2) => {\n ComparisonOperation2[\"EQ\"] = \"eq\";\n ComparisonOperation2[\"GT\"] = \"gt\";\n ComparisonOperation2[\"GTE\"] = \"gte\";\n ComparisonOperation2[\"LT\"] = \"lt\";\n ComparisonOperation2[\"LTE\"] = \"lte\";\n ComparisonOperation2[\"NEQ\"] = \"neq\";\n return ComparisonOperation2;\n})(ComparisonOperation || {});\nconst defaultTimeZone = \"browser\";\n\nexport { AxisColorMode, AxisPlacement, BarAlignment, BarGaugeDisplayMode, BarGaugeValueMode, BigValueColorMode, BigValueGraphMode, BigValueJustifyMode, BigValueTextMode, ComparisonOperation, FrameGeometrySourceMode, GraphDrawStyle, GraphGradientMode, GraphTransform, GraphTresholdsStyleMode, HeatmapCalculationMode, HeatmapCellLayout, LegendDisplayMode, LineInterpolation, LogsDedupStrategy, LogsSortOrder, ResourceDimensionMode, ScalarDimensionMode, ScaleDimensionMode, ScaleDirection, ScaleDistribution, ScaleOrientation, SortOrder, StackingMode, TableCellBackgroundDisplayMode, TableCellDisplayMode, TableCellHeight, TextDimensionMode, TooltipDisplayMode, VariableFormatID, VisibilityMode, VizOrientation, defaultLineStyle, defaultOptionsWithTimezones, defaultReduceDataOptions, defaultTableFooterOptions, defaultTimeZone, defaultVizLegendOptions };\n//# sourceMappingURL=common.gen.js.map\n","import { BusEventWithPayload } from '@grafana/data';\n\nclass SceneVariableValueChangedEvent extends BusEventWithPayload {\n}\nSceneVariableValueChangedEvent.type = \"scene-variable-changed-value\";\nfunction isCustomVariableValue(value) {\n return typeof value === \"object\" && \"formatter\" in value;\n}\n\nexport { SceneVariableValueChangedEvent, isCustomVariableValue };\n//# sourceMappingURL=types.js.map\n","import { property } from 'lodash';\n\nlet fieldAccessorCache = {};\nfunction getFieldAccessor(fieldPath) {\n const accessor = fieldAccessorCache[fieldPath];\n if (accessor) {\n return accessor;\n }\n return fieldAccessorCache[fieldPath] = property(fieldPath);\n}\n\nexport { getFieldAccessor };\n//# sourceMappingURL=fieldAccessorCache.js.map\n","import { getFieldAccessor } from './fieldAccessorCache.js';\n\nclass ScopedVarsVariable {\n constructor(name, value) {\n this.state = { name, value, type: \"scopedvar\" };\n }\n getValue(fieldPath) {\n let { value } = this.state;\n let realValue = value.value;\n if (fieldPath) {\n realValue = getFieldAccessor(fieldPath)(value.value);\n } else {\n realValue = value.value;\n }\n if (realValue === \"string\" || realValue === \"number\" || realValue === \"boolean\") {\n return realValue;\n }\n return String(realValue);\n }\n getValueText() {\n const { value } = this.state;\n if (value.text != null) {\n return String(value.text);\n }\n return String(value);\n }\n}\nlet scopedVarsVariable;\nfunction getSceneVariableForScopedVar(name, value) {\n if (!scopedVarsVariable) {\n scopedVarsVariable = new ScopedVarsVariable(name, value);\n } else {\n scopedVarsVariable.state.name = name;\n scopedVarsVariable.state.value = value;\n }\n return scopedVarsVariable;\n}\n\nexport { ScopedVarsVariable, getSceneVariableForScopedVar };\n//# sourceMappingURL=ScopedVarsVariable.js.map\n","import { map, isArray, replace } from 'lodash';\nimport { Registry, escapeRegex, textUtil, dateTime } from '@grafana/data';\nimport { VariableFormatID } from '@grafana/schema';\n\nconst formatRegistry = new Registry(() => {\n const formats = [\n {\n id: VariableFormatID.Lucene,\n name: \"Lucene\",\n description: \"Values are lucene escaped and multi-valued variables generate an OR expression\",\n formatter: (value) => {\n if (typeof value === \"string\") {\n return luceneEscape(value);\n }\n if (Array.isArray(value)) {\n if (value.length === 0) {\n return \"__empty__\";\n }\n const quotedValues = map(value, (val) => {\n return '\"' + luceneEscape(val) + '\"';\n });\n return \"(\" + quotedValues.join(\" OR \") + \")\";\n } else {\n return luceneEscape(`${value}`);\n }\n }\n },\n {\n id: VariableFormatID.Raw,\n name: \"raw\",\n description: \"Keep value as is\",\n formatter: (value) => String(value)\n },\n {\n id: VariableFormatID.Regex,\n name: \"Regex\",\n description: \"Values are regex escaped and multi-valued variables generate a (|) expression\",\n formatter: (value) => {\n if (typeof value === \"string\") {\n return escapeRegex(value);\n }\n if (Array.isArray(value)) {\n const escapedValues = value.map((item) => {\n if (typeof item === \"string\") {\n return escapeRegex(item);\n } else {\n return escapeRegex(String(item));\n }\n });\n if (escapedValues.length === 1) {\n return escapedValues[0];\n }\n return \"(\" + escapedValues.join(\"|\") + \")\";\n }\n return escapeRegex(`${value}`);\n }\n },\n {\n id: VariableFormatID.Pipe,\n name: \"Pipe\",\n description: \"Values are separated by | character\",\n formatter: (value) => {\n if (typeof value === \"string\") {\n return value;\n }\n if (Array.isArray(value)) {\n return value.join(\"|\");\n }\n return `${value}`;\n }\n },\n {\n id: VariableFormatID.Distributed,\n name: \"Distributed\",\n description: \"Multiple values are formatted like variable=value\",\n formatter: (value, args, variable) => {\n if (typeof value === \"string\") {\n return value;\n }\n if (Array.isArray(value)) {\n value = map(value, (val, index) => {\n if (index !== 0) {\n return variable.state.name + \"=\" + val;\n } else {\n return val;\n }\n });\n return value.join(\",\");\n }\n return `${value}`;\n }\n },\n {\n id: VariableFormatID.CSV,\n name: \"Csv\",\n description: \"Comma-separated values\",\n formatter: (value) => {\n if (typeof value === \"string\") {\n return value;\n }\n if (isArray(value)) {\n return value.join(\",\");\n }\n return String(value);\n }\n },\n {\n id: VariableFormatID.HTML,\n name: \"HTML\",\n description: \"HTML escaping of values\",\n formatter: (value) => {\n if (typeof value === \"string\") {\n return textUtil.escapeHtml(value);\n }\n if (isArray(value)) {\n return textUtil.escapeHtml(value.join(\", \"));\n }\n return textUtil.escapeHtml(String(value));\n }\n },\n {\n id: VariableFormatID.JSON,\n name: \"JSON\",\n description: \"JSON stringify value\",\n formatter: (value) => {\n if (typeof value === \"string\") {\n return value;\n }\n return JSON.stringify(value);\n }\n },\n {\n id: VariableFormatID.PercentEncode,\n name: \"Percent encode\",\n description: \"Useful for URL escaping values\",\n formatter: (value) => {\n if (isArray(value)) {\n return encodeURIComponentStrict(\"{\" + value.join(\",\") + \"}\");\n }\n return encodeURIComponentStrict(value);\n }\n },\n {\n id: VariableFormatID.SingleQuote,\n name: \"Single quote\",\n description: \"Single quoted values\",\n formatter: (value) => {\n const regExp = new RegExp(`'`, \"g\");\n if (isArray(value)) {\n return map(value, (v) => `'${replace(v, regExp, `\\\\'`)}'`).join(\",\");\n }\n let strVal = typeof value === \"string\" ? value : String(value);\n return `'${replace(strVal, regExp, `\\\\'`)}'`;\n }\n },\n {\n id: VariableFormatID.DoubleQuote,\n name: \"Double quote\",\n description: \"Double quoted values\",\n formatter: (value) => {\n const regExp = new RegExp('\"', \"g\");\n if (isArray(value)) {\n return map(value, (v) => `\"${replace(v, regExp, '\\\\\"')}\"`).join(\",\");\n }\n let strVal = typeof value === \"string\" ? value : String(value);\n return `\"${replace(strVal, regExp, '\\\\\"')}\"`;\n }\n },\n {\n id: VariableFormatID.SQLString,\n name: \"SQL string\",\n description: \"SQL string quoting and commas for use in IN statements and other scenarios\",\n formatter: sqlStringFormatter\n },\n {\n id: VariableFormatID.Date,\n name: \"Date\",\n description: \"Format date in different ways\",\n formatter: (value, args) => {\n var _a;\n let nrValue = NaN;\n if (typeof value === \"number\") {\n nrValue = value;\n } else if (typeof value === \"string\") {\n nrValue = parseInt(value, 10);\n }\n if (isNaN(nrValue)) {\n return \"NaN\";\n }\n const arg = (_a = args[0]) != null ? _a : \"iso\";\n switch (arg) {\n case \"ms\":\n return String(value);\n case \"seconds\":\n return `${Math.round(nrValue / 1e3)}`;\n case \"iso\":\n return dateTime(nrValue).toISOString();\n default:\n if ((args || []).length > 1) {\n return dateTime(nrValue).format(args.join(\":\"));\n }\n return dateTime(nrValue).format(arg);\n }\n }\n },\n {\n id: VariableFormatID.Glob,\n name: \"Glob\",\n description: \"Format multi-valued variables using glob syntax, example {value1,value2}\",\n formatter: (value) => {\n if (isArray(value) && value.length > 1) {\n return \"{\" + value.join(\",\") + \"}\";\n }\n return String(value);\n }\n },\n {\n id: VariableFormatID.Text,\n name: \"Text\",\n description: \"Format variables in their text representation. Example in multi-variable scenario A + B + C.\",\n formatter: (value, _args, variable) => {\n if (variable.getValueText) {\n return variable.getValueText();\n }\n return String(value);\n }\n },\n {\n id: VariableFormatID.QueryParam,\n name: \"Query parameter\",\n description: \"Format variables as URL parameters. Example in multi-variable scenario A + B + C => var-foo=A&var-foo=B&var-foo=C.\",\n formatter: (value, _args, variable) => {\n if (Array.isArray(value)) {\n return value.map((v) => formatQueryParameter(variable.state.name, v)).join(\"&\");\n }\n return formatQueryParameter(variable.state.name, value);\n }\n },\n {\n id: VariableFormatID.UriEncode,\n name: \"Percent encode as URI\",\n description: \"Useful for URL escaping values, taking into URI syntax characters\",\n formatter: (value) => {\n if (isArray(value)) {\n return encodeURIStrict(\"{\" + value.join(\",\") + \"}\");\n }\n return encodeURIStrict(value);\n }\n }\n ];\n return formats;\n});\nfunction luceneEscape(value) {\n if (isNaN(+value) === false) {\n return value;\n }\n return value.replace(/([\\!\\*\\+\\-\\=<>\\s\\&\\|\\(\\)\\[\\]\\{\\}\\^\\~\\?\\:\\\\/\"])/g, \"\\\\$1\");\n}\nfunction encodeURIComponentStrict(str) {\n if (typeof str === \"object\") {\n str = String(str);\n }\n return replaceSpecialCharactersToASCII(encodeURIComponent(str));\n}\nconst encodeURIStrict = (str) => replaceSpecialCharactersToASCII(encodeURI(String(str)));\nconst replaceSpecialCharactersToASCII = (value) => value.replace(/[!'()*]/g, (c) => {\n return \"%\" + c.charCodeAt(0).toString(16).toUpperCase();\n});\nfunction formatQueryParameter(name, value) {\n return `var-${name}=${encodeURIComponentStrict(value)}`;\n}\nconst SQL_ESCAPE_MAP = {\n \"'\": \"''\",\n '\"': '\\\\\"'\n};\nfunction sqlStringFormatter(value) {\n const regExp = new RegExp(`'|\"`, \"g\");\n if (isArray(value)) {\n return map(value, (v) => `'${replace(v, regExp, (match) => {\n var _a;\n return (_a = SQL_ESCAPE_MAP[match]) != null ? _a : \"\";\n })}'`).join(\",\");\n }\n let strVal = typeof value === \"string\" ? value : String(value);\n return `'${replace(strVal, regExp, (match) => {\n var _a;\n return (_a = SQL_ESCAPE_MAP[match]) != null ? _a : \"\";\n })}'`;\n}\n\nexport { formatRegistry };\n//# sourceMappingURL=formatRegistry.js.map\n","const ALL_VARIABLE_TEXT = \"All\";\nconst ALL_VARIABLE_VALUE = \"$__all\";\nconst AUTO_VARIABLE_TEXT = \"Auto\";\nconst AUTO_VARIABLE_VALUE = \"$__auto\";\nconst VARIABLE_REGEX = /\\$(\\w+)|\\[\\[(\\w+?)(?::(\\w+))?\\]\\]|\\${(\\w+)(?:\\.([^:^\\}]+))?(?::([^\\}]+))?}/g;\nconst SEARCH_FILTER_VARIABLE = \"__searchFilter\";\n\nexport { ALL_VARIABLE_TEXT, ALL_VARIABLE_VALUE, AUTO_VARIABLE_TEXT, AUTO_VARIABLE_VALUE, SEARCH_FILTER_VARIABLE, VARIABLE_REGEX };\n//# sourceMappingURL=constants.js.map\n","function lookupVariable(name, sceneObject) {\n const variables = sceneObject.state.$variables;\n if (!variables) {\n if (sceneObject.parent) {\n return lookupVariable(name, sceneObject.parent);\n } else {\n return null;\n }\n }\n const found = variables.getByName(name);\n if (found) {\n return found;\n } else if (sceneObject.parent) {\n return lookupVariable(name, sceneObject.parent);\n }\n return null;\n}\n\nexport { lookupVariable };\n//# sourceMappingURL=lookupVariable.js.map\n","import { SceneObjectBase } from '../core/SceneObjectBase.js';\n\nclass SceneDataLayers extends SceneObjectBase {\n constructor(state) {\n super(state);\n this.addActivationHandler(() => this._onActivate());\n }\n _onActivate() {\n const { layers } = this.state;\n const deactivationHandlers = [];\n for (const layer of layers) {\n deactivationHandlers.push(layer.activate());\n }\n return () => {\n deactivationHandlers.forEach((handler) => handler());\n };\n }\n}\n\nexport { SceneDataLayers };\n//# sourceMappingURL=SceneDataLayers.js.map\n","import { EmptyVariableSet, EmptyDataNode } from '../../variables/interpolation/defaults.js';\nimport { sceneInterpolator } from '../../variables/interpolation/sceneInterpolator.js';\nimport { lookupVariable } from '../../variables/lookupVariable.js';\nimport { getClosest } from './utils.js';\nimport { SceneDataLayers } from '../../querying/SceneDataLayers.js';\n\nfunction getVariables(sceneObject) {\n var _a;\n return (_a = getClosest(sceneObject, (s) => s.state.$variables)) != null ? _a : EmptyVariableSet;\n}\nfunction getData(sceneObject) {\n var _a;\n return (_a = getClosest(sceneObject, (s) => s.state.$data)) != null ? _a : EmptyDataNode;\n}\nfunction isSceneLayout(s) {\n return \"isDraggable\" in s;\n}\nfunction getLayout(scene) {\n const parent = getClosest(scene, (s) => isSceneLayout(s) ? s : void 0);\n if (parent) {\n return parent;\n }\n return null;\n}\nfunction interpolate(sceneObject, value, scopedVars, format) {\n if (value === \"\" || value == null) {\n return \"\";\n }\n return sceneInterpolator(sceneObject, value, scopedVars, format);\n}\nfunction hasVariableDependencyInLoadingState(sceneObject) {\n if (!sceneObject.variableDependency) {\n return false;\n }\n for (const name of sceneObject.variableDependency.getNames()) {\n const variable = lookupVariable(name, sceneObject);\n if (!variable) {\n continue;\n }\n const set = variable.parent;\n if (set.isVariableLoadingOrWaitingToUpdate(variable)) {\n return true;\n }\n }\n return false;\n}\nfunction findObjectInternal(scene, check, alreadySearchedChild, shouldSearchUp) {\n if (check(scene)) {\n return scene;\n }\n let found = null;\n scene.forEachChild((child) => {\n if (child === alreadySearchedChild) {\n return;\n }\n let maybe = findObjectInternal(child, check);\n if (maybe) {\n found = maybe;\n }\n });\n if (found) {\n return found;\n }\n if (shouldSearchUp && scene.parent) {\n return findObjectInternal(scene.parent, check, scene, true);\n }\n return null;\n}\nfunction findObject(scene, check) {\n return findObjectInternal(scene, check, void 0, true);\n}\nfunction getDataLayers(sceneObject, localOnly = false) {\n let parent = sceneObject;\n let collected = [];\n let source;\n while (parent) {\n if (parent.state.$data && !(parent.state.$data instanceof SceneDataLayers)) {\n if (parent.state.$data.state.$data instanceof SceneDataLayers) {\n source = parent.state.$data.state.$data;\n }\n }\n if (parent.state.$data && parent.state.$data instanceof SceneDataLayers) {\n source = parent.state.$data;\n }\n if (source) {\n collected = collected.concat(source.state.layers);\n if (localOnly) {\n break;\n }\n }\n parent = parent.parent;\n }\n return collected;\n}\nfunction getAncestor(sceneObject, ancestorType) {\n let parent = sceneObject;\n while (parent) {\n if (parent instanceof ancestorType) {\n return parent;\n }\n parent = parent.parent;\n }\n throw new Error(\"Unable to find parent of type \" + ancestorType.name);\n}\n\nexport { findObject, getAncestor, getData, getDataLayers, getLayout, getVariables, hasVariableDependencyInLoadingState, interpolate };\n//# sourceMappingURL=sceneGraph.js.map\n","class SkipFormattingValue {\n constructor(_value) {\n this._value = _value;\n }\n formatter() {\n return this._value;\n }\n}\n\nexport { SkipFormattingValue };\n//# sourceMappingURL=types.js.map\n","import { urlUtil, dateTimeFormat } from '@grafana/data';\nimport { getTimeRange } from '../../core/sceneGraph/getTimeRange.js';\nimport { getData } from '../../core/sceneGraph/sceneGraph.js';\nimport { SkipFormattingValue } from './types.js';\n\nclass UrlTimeRangeMacro {\n constructor(name, sceneObject) {\n this.state = { name, type: \"url_variable\" };\n this._sceneObject = sceneObject;\n }\n getValue() {\n var _a;\n const timeRange = getTimeRange(this._sceneObject);\n const urlState = (_a = timeRange.urlSync) == null ? void 0 : _a.getUrlState();\n return new SkipFormattingValue(urlUtil.toUrlParams(urlState));\n }\n getValueText() {\n return \"\";\n }\n}\nclass TimeFromAndToMacro {\n constructor(name, sceneObject) {\n this.state = { name, type: \"time_macro\" };\n this._sceneObject = sceneObject;\n }\n getValue() {\n const timeRange = getTimeRange(this._sceneObject);\n if (this.state.name === \"__from\") {\n return timeRange.state.value.from.valueOf();\n } else {\n return timeRange.state.value.to.valueOf();\n }\n }\n getValueText() {\n const timeRange = getTimeRange(this._sceneObject);\n if (this.state.name === \"__from\") {\n return dateTimeFormat(timeRange.state.value.from, { timeZone: timeRange.getTimeZone() });\n } else {\n return dateTimeFormat(timeRange.state.value.to, { timeZone: timeRange.getTimeZone() });\n }\n }\n}\nclass TimezoneMacro {\n constructor(name, sceneObject) {\n this.state = { name, type: \"time_macro\" };\n this._sceneObject = sceneObject;\n }\n getValue() {\n const timeRange = getTimeRange(this._sceneObject);\n return timeRange.getTimeZone();\n }\n getValueText() {\n return this.getValue();\n }\n}\nclass IntervalMacro {\n constructor(name, sceneObject) {\n this.state = { name, type: \"time_macro\" };\n this._sceneObject = sceneObject;\n }\n getValue() {\n var _a;\n const data = getData(this._sceneObject);\n if (data) {\n const request = (_a = data.state.data) == null ? void 0 : _a.request;\n if (!request) {\n return `\\${${this.state.name}}`;\n }\n if (this.state.name === \"__interval_ms\") {\n return request.intervalMs;\n }\n return request.interval;\n }\n return `\\${${this.state.name}}`;\n }\n}\n\nexport { IntervalMacro, TimeFromAndToMacro, TimezoneMacro, UrlTimeRangeMacro };\n//# sourceMappingURL=timeMacros.js.map\n","import { isCustomVariableValue } from '../types.js';\nimport { formatRegistry } from '../interpolation/formatRegistry.js';\nimport { SkipFormattingValue } from './types.js';\nimport { VariableFormatID } from '@grafana/schema';\n\nclass AllVariablesMacro {\n constructor(name, sceneObject) {\n this.state = { name, type: \"url_variable\" };\n this._sceneObject = sceneObject;\n }\n getValue() {\n const allVars = collectAllVariables(this._sceneObject);\n const format = formatRegistry.get(VariableFormatID.QueryParam);\n const params = [];\n for (const name of Object.keys(allVars)) {\n const variable = allVars[name];\n const value = variable.getValue();\n if (!value) {\n continue;\n }\n if (isCustomVariableValue(value)) {\n params.push(value.formatter(VariableFormatID.QueryParam));\n } else {\n params.push(format.formatter(value, [], variable));\n }\n }\n return new SkipFormattingValue(params.join(\"&\"));\n }\n getValueText() {\n return \"\";\n }\n}\nfunction collectAllVariables(sceneObject, record = {}) {\n if (sceneObject.state.$variables) {\n for (const variable of sceneObject.state.$variables.state.variables) {\n if (variable.state.skipUrlSync) {\n continue;\n }\n if (!record[variable.state.name]) {\n record[variable.state.name] = variable;\n }\n }\n }\n if (sceneObject.parent) {\n collectAllVariables(sceneObject.parent, record);\n }\n return record;\n}\n\nexport { AllVariablesMacro };\n//# sourceMappingURL=AllVariablesMacro.js.map\n","import { getFieldDisplayName, formatLabels } from '@grafana/data';\n\nvar __defProp = Object.defineProperty;\nvar __defProps = Object.defineProperties;\nvar __getOwnPropDescs = Object.getOwnPropertyDescriptors;\nvar __getOwnPropSymbols = Object.getOwnPropertySymbols;\nvar __hasOwnProp = Object.prototype.hasOwnProperty;\nvar __propIsEnum = Object.prototype.propertyIsEnumerable;\nvar __defNormalProp = (obj, key, value) => key in obj ? __defProp(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;\nvar __spreadValues = (a, b) => {\n for (var prop in b || (b = {}))\n if (__hasOwnProp.call(b, prop))\n __defNormalProp(a, prop, b[prop]);\n if (__getOwnPropSymbols)\n for (var prop of __getOwnPropSymbols(b)) {\n if (__propIsEnum.call(b, prop))\n __defNormalProp(a, prop, b[prop]);\n }\n return a;\n};\nvar __spreadProps = (a, b) => __defProps(a, __getOwnPropDescs(b));\nfunction getTemplateProxyForField(field, frame, frames) {\n return new Proxy(\n {},\n {\n get: (obj, key) => {\n if (key === \"name\") {\n return field.name;\n }\n if (key === \"displayName\") {\n return getFieldDisplayName(field, frame, frames);\n }\n if (key === \"labels\" || key === \"formattedLabels\") {\n if (!field.labels) {\n return \"\";\n }\n return __spreadProps(__spreadValues({}, field.labels), {\n __values: Object.values(field.labels).sort().join(\", \"),\n toString: () => {\n return formatLabels(field.labels, \"\", true);\n }\n });\n }\n return void 0;\n }\n }\n );\n}\n\nexport { getTemplateProxyForField };\n//# sourceMappingURL=templateProxies.js.map\n","import { getDisplayProcessor, formattedValueToString, FieldType, getFieldDisplayValuesProxy, getFrameDisplayName } from '@grafana/data';\nimport { getFieldAccessor } from '../interpolation/fieldAccessorCache.js';\nimport { getTemplateProxyForField } from './templateProxies.js';\n\nclass ValueMacro {\n constructor(name, sceneObject, _match, _scopedVars) {\n this._match = _match;\n this._scopedVars = _scopedVars;\n this.state = { name, type: \"__value\" };\n }\n getValue(fieldPath) {\n var _a, _b;\n const dataContext = (_a = this._scopedVars) == null ? void 0 : _a.__dataContext;\n if (!dataContext) {\n return this._match;\n }\n const { frame, rowIndex, field, calculatedValue } = dataContext.value;\n if (calculatedValue) {\n switch (fieldPath) {\n case \"numeric\":\n return calculatedValue.numeric;\n case \"raw\":\n return calculatedValue.numeric;\n case \"time\":\n return \"\";\n case \"text\":\n default:\n return formattedValueToString(calculatedValue);\n }\n }\n if (rowIndex == null) {\n return this._match;\n }\n if (fieldPath === \"time\") {\n const timeField = frame.fields.find((f) => f.type === FieldType.time);\n return timeField ? timeField.values.get(rowIndex) : void 0;\n }\n if (!field) {\n return this._match;\n }\n const value = field.values.get(rowIndex);\n if (fieldPath === \"raw\") {\n return value;\n }\n const displayProcessor = (_b = field.display) != null ? _b : fallbackDisplayProcessor;\n const result = displayProcessor(value);\n switch (fieldPath) {\n case \"numeric\":\n return result.numeric;\n case \"text\":\n default:\n return formattedValueToString(result);\n }\n }\n getValueText() {\n return \"\";\n }\n}\nconst fallbackDisplayProcessor = getDisplayProcessor();\nclass DataMacro {\n constructor(name, sceneObject, _match, _scopedVars) {\n this._match = _match;\n this._scopedVars = _scopedVars;\n this.state = { name, type: \"__data\" };\n }\n getValue(fieldPath) {\n var _a, _b;\n const dataContext = (_a = this._scopedVars) == null ? void 0 : _a.__dataContext;\n if (!dataContext || !fieldPath) {\n return this._match;\n }\n const { frame, rowIndex } = dataContext.value;\n if (rowIndex === void 0 || fieldPath === void 0) {\n return this._match;\n }\n const obj = {\n name: frame.name,\n refId: frame.refId,\n fields: getFieldDisplayValuesProxy({ frame, rowIndex })\n };\n return (_b = getFieldAccessor(fieldPath)(obj)) != null ? _b : \"\";\n }\n getValueText() {\n return \"\";\n }\n}\nclass SeriesMacro {\n constructor(name, sceneObject, _match, _scopedVars) {\n this._match = _match;\n this._scopedVars = _scopedVars;\n this.state = { name, type: \"__series\" };\n }\n getValue(fieldPath) {\n var _a;\n const dataContext = (_a = this._scopedVars) == null ? void 0 : _a.__dataContext;\n if (!dataContext || !fieldPath) {\n return this._match;\n }\n if (fieldPath !== \"name\") {\n return this._match;\n }\n const { frame, frameIndex } = dataContext.value;\n return getFrameDisplayName(frame, frameIndex);\n }\n getValueText() {\n return \"\";\n }\n}\nclass FieldMacro {\n constructor(name, sceneObject, _match, _scopedVars) {\n this._match = _match;\n this._scopedVars = _scopedVars;\n this.state = { name, type: \"__field\" };\n }\n getValue(fieldPath) {\n var _a, _b;\n const dataContext = (_a = this._scopedVars) == null ? void 0 : _a.__dataContext;\n if (!dataContext || !fieldPath) {\n return this._match;\n }\n if (fieldPath === void 0 || fieldPath === \"\") {\n return this._match;\n }\n const { frame, field, data } = dataContext.value;\n const obj = getTemplateProxyForField(field, frame, data);\n return (_b = getFieldAccessor(fieldPath)(obj)) != null ? _b : \"\";\n }\n getValueText() {\n return \"\";\n }\n}\n\nexport { DataMacro, FieldMacro, SeriesMacro, ValueMacro };\n//# sourceMappingURL=dataMacros.js.map\n","import { locationService, config } from '@grafana/runtime';\n\nclass UrlMacro {\n constructor(name, _) {\n this.state = { name, type: \"url_macro\" };\n }\n getValue(fieldPath) {\n var _a;\n const location = locationService.getLocation();\n const subUrl = (_a = config.appSubUrl) != null ? _a : \"\";\n switch (fieldPath != null ? fieldPath : \"\") {\n case \"params\":\n return new UrlStateFormatter(location.search);\n case \"path\":\n return subUrl + location.pathname;\n case \"\":\n default:\n return subUrl + location.pathname + location.search;\n }\n }\n getValueText() {\n return \"\";\n }\n}\nclass UrlStateFormatter {\n constructor(_urlQueryParams) {\n this._urlQueryParams = _urlQueryParams;\n }\n formatter(options) {\n if (!options) {\n return this._urlQueryParams;\n }\n const params = options.split(\":\");\n if (params[0] === \"exclude\" && params.length > 1) {\n const allParams = new URLSearchParams(this._urlQueryParams);\n for (const param of params[1].split(\",\")) {\n allParams.delete(param);\n }\n return `?${allParams}`;\n }\n if (params[0] === \"include\" && params.length > 1) {\n const allParams = new URLSearchParams(this._urlQueryParams);\n const includeOnly = params[1].split(\",\");\n for (const param of allParams.keys()) {\n if (!includeOnly.includes(param)) {\n allParams.delete(param);\n }\n }\n return `?${allParams}`;\n }\n return this._urlQueryParams;\n }\n}\n\nexport { UrlMacro };\n//# sourceMappingURL=urlMacros.js.map\n","import { DataLinkBuiltInVars } from '@grafana/data';\nimport { UrlTimeRangeMacro, TimeFromAndToMacro, TimezoneMacro, IntervalMacro } from './timeMacros.js';\nimport { AllVariablesMacro } from './AllVariablesMacro.js';\nimport { ValueMacro, DataMacro, SeriesMacro, FieldMacro } from './dataMacros.js';\nimport { UrlMacro } from './urlMacros.js';\nimport { UserMacro, OrgMacro } from './contextMacros.js';\n\nconst macrosIndex = {\n [DataLinkBuiltInVars.includeVars]: AllVariablesMacro,\n [DataLinkBuiltInVars.keepTime]: UrlTimeRangeMacro,\n [\"__value\"]: ValueMacro,\n [\"__data\"]: DataMacro,\n [\"__series\"]: SeriesMacro,\n [\"__field\"]: FieldMacro,\n [\"__url\"]: UrlMacro,\n [\"__from\"]: TimeFromAndToMacro,\n [\"__to\"]: TimeFromAndToMacro,\n [\"__timezone\"]: TimezoneMacro,\n [\"__user\"]: UserMacro,\n [\"__org\"]: OrgMacro,\n [\"__interval\"]: IntervalMacro,\n [\"__interval_ms\"]: IntervalMacro\n};\nfunction registerVariableMacro(name, macro) {\n if (macrosIndex[name]) {\n throw new Error(`Macro already registered ${name}`);\n }\n macrosIndex[name] = macro;\n return () => {\n delete macrosIndex[name];\n };\n}\n\nexport { macrosIndex, registerVariableMacro };\n//# sourceMappingURL=index.js.map\n","import { config } from '@grafana/runtime';\n\nclass UserMacro {\n constructor(name, _) {\n this.state = { name, type: \"user_macro\" };\n }\n getValue(fieldPath) {\n const user = config.bootData.user;\n switch (fieldPath) {\n case \"login\":\n return user.login;\n case \"email\":\n return user.email;\n case \"id\":\n default:\n return String(user.id);\n }\n }\n getValueText() {\n return \"\";\n }\n}\nclass OrgMacro {\n constructor(name, _) {\n this.state = { name, type: \"org_macro\" };\n }\n getValue(fieldPath) {\n const user = config.bootData.user;\n switch (fieldPath) {\n case \"name\":\n return user.orgName;\n case \"id\":\n default:\n return String(user.orgId);\n }\n }\n getValueText() {\n return \"\";\n }\n}\n\nexport { OrgMacro, UserMacro };\n//# sourceMappingURL=contextMacros.js.map\n","import { isEqual } from 'lodash';\n\nfunction isVariableValueEqual(a, b) {\n if (a === b) {\n return true;\n }\n return isEqual(a, b);\n}\nfunction safeStringifyValue(value) {\n try {\n return JSON.stringify(value, null);\n } catch (error) {\n console.error(error);\n }\n return \"\";\n}\nfunction renderPrometheusLabelFilters(filters) {\n return filters.map((filter) => renderFilter(filter)).join(\",\");\n}\nfunction renderFilter(filter) {\n let value = \"\";\n if (filter.operator === \"=~\" || filter.operator === \"!~\\xA8\") {\n value = escapeLabelValueInRegexSelector(filter.value);\n } else {\n value = escapeLabelValueInExactSelector(filter.value);\n }\n return `${filter.key}${filter.operator}\"${value}\"`;\n}\nfunction escapeLabelValueInExactSelector(labelValue) {\n return labelValue.replace(/\\\\/g, \"\\\\\\\\\").replace(/\\n/g, \"\\\\n\").replace(/\"/g, '\\\\\"');\n}\nfunction escapeLabelValueInRegexSelector(labelValue) {\n return escapeLabelValueInExactSelector(escapeLokiRegexp(labelValue));\n}\nconst RE2_METACHARACTERS = /[*+?()|\\\\.\\[\\]{}^$]/g;\nfunction escapeLokiRegexp(value) {\n return value.replace(RE2_METACHARACTERS, \"\\\\$&\");\n}\n\nexport { escapeLabelValueInExactSelector, escapeLabelValueInRegexSelector, isVariableValueEqual, renderPrometheusLabelFilters, safeStringifyValue };\n//# sourceMappingURL=utils.js.map\n","import { lookupVariable } from '../../variables/lookupVariable.js';\nimport { getTimeRange } from './getTimeRange.js';\nimport { getVariables, getData, getLayout, getDataLayers, interpolate, hasVariableDependencyInLoadingState, findObject, getAncestor } from './sceneGraph.js';\n\nconst sceneGraph = {\n getVariables,\n getData,\n getTimeRange,\n getLayout,\n getDataLayers,\n interpolate,\n lookupVariable,\n hasVariableDependencyInLoadingState,\n findObject,\n getAncestor\n};\n\nexport { sceneGraph };\n//# sourceMappingURL=index.js.map\n","import { VariableFormatID } from '@grafana/schema';\nimport { isCustomVariableValue } from '../types.js';\nimport { getSceneVariableForScopedVar } from './ScopedVarsVariable.js';\nimport { formatRegistry } from './formatRegistry.js';\nimport { VARIABLE_REGEX } from '../constants.js';\nimport { lookupVariable } from '../lookupVariable.js';\nimport { macrosIndex } from '../macros/index.js';\n\nfunction sceneInterpolator(sceneObject, target, scopedVars, format) {\n if (!target) {\n return target != null ? target : \"\";\n }\n VARIABLE_REGEX.lastIndex = 0;\n return target.replace(VARIABLE_REGEX, (match, var1, var2, fmt2, var3, fieldPath, fmt3) => {\n const variableName = var1 || var2 || var3;\n const fmt = fmt2 || fmt3 || format;\n const variable = lookupFormatVariable(variableName, match, scopedVars, sceneObject);\n if (!variable) {\n return match;\n }\n return formatValue(variable, variable.getValue(fieldPath), fmt);\n });\n}\nfunction lookupFormatVariable(name, match, scopedVars, sceneObject) {\n const scopedVar = scopedVars == null ? void 0 : scopedVars[name];\n if (scopedVar) {\n return getSceneVariableForScopedVar(name, scopedVar);\n }\n const variable = lookupVariable(name, sceneObject);\n if (variable) {\n return variable;\n }\n if (macrosIndex[name]) {\n return new macrosIndex[name](name, sceneObject, match, scopedVars);\n }\n return null;\n}\nfunction formatValue(variable, value, formatNameOrFn) {\n if (value === null || value === void 0) {\n return \"\";\n }\n if (isCustomVariableValue(value)) {\n return value.formatter(formatNameOrFn);\n }\n if (!Array.isArray(value) && typeof value === \"object\") {\n value = `${value}`;\n }\n if (typeof formatNameOrFn === \"function\") {\n return formatNameOrFn(value, {\n name: variable.state.name,\n type: variable.state.type,\n multi: variable.state.isMulti,\n includeAll: variable.state.includeAll\n });\n }\n let args = [];\n if (!formatNameOrFn) {\n formatNameOrFn = VariableFormatID.Glob;\n } else {\n args = formatNameOrFn.split(\":\");\n if (args.length > 1) {\n formatNameOrFn = args[0];\n args = args.slice(1);\n } else {\n args = [];\n }\n }\n let formatter = formatRegistry.getIfExists(formatNameOrFn);\n if (!formatter) {\n console.error(`Variable format ${formatNameOrFn} not found. Using glob format as fallback.`);\n formatter = formatRegistry.get(VariableFormatID.Glob);\n }\n return formatter.formatter(value, args, variable);\n}\n\nexport { sceneInterpolator };\n//# sourceMappingURL=sceneInterpolator.js.map\n","import { VARIABLE_REGEX } from './constants.js';\nimport { safeStringifyValue } from './utils.js';\n\nclass VariableDependencyConfig {\n constructor(_sceneObject, _options) {\n this._sceneObject = _sceneObject;\n this._options = _options;\n this._dependencies = /* @__PURE__ */ new Set();\n this.scanCount = 0;\n this.defaultHandlerReferencedVariableValueChanged = () => {\n this._sceneObject.forceRender();\n };\n this._statePaths = _options.statePaths;\n }\n hasDependencyOn(name) {\n return this.getNames().has(name);\n }\n variableUpdatesCompleted(changedVariables) {\n const deps = this.getNames();\n let dependencyChanged = false;\n for (const variable of changedVariables) {\n if (deps.has(variable.state.name)) {\n dependencyChanged = true;\n break;\n }\n }\n if (this._options.onVariableUpdatesCompleted) {\n this._options.onVariableUpdatesCompleted(changedVariables, dependencyChanged);\n return;\n }\n if (dependencyChanged) {\n if (this._options.onReferencedVariableValueChanged) {\n this._options.onReferencedVariableValueChanged();\n } else {\n this.defaultHandlerReferencedVariableValueChanged();\n }\n }\n }\n getNames() {\n const prevState = this._state;\n const newState = this._state = this._sceneObject.state;\n if (!prevState) {\n this.scanStateForDependencies(this._state);\n return this._dependencies;\n }\n if (newState !== prevState) {\n if (this._statePaths) {\n for (const path of this._statePaths) {\n if (newState[path] !== prevState[path]) {\n this.scanStateForDependencies(newState);\n break;\n }\n }\n } else {\n this.scanStateForDependencies(newState);\n }\n }\n return this._dependencies;\n }\n setPaths(paths) {\n this._statePaths = paths;\n }\n scanStateForDependencies(state) {\n this._dependencies.clear();\n this.scanCount += 1;\n if (this._options.variableNames) {\n for (const name of this._options.variableNames) {\n this._dependencies.add(name);\n }\n } else {\n if (this._statePaths) {\n for (const path of this._statePaths) {\n const value = state[path];\n if (value) {\n this.extractVariablesFrom(value);\n }\n }\n } else {\n this.extractVariablesFrom(state);\n }\n }\n }\n extractVariablesFrom(value) {\n VARIABLE_REGEX.lastIndex = 0;\n const stringToCheck = typeof value !== \"string\" ? safeStringifyValue(value) : value;\n const matches = stringToCheck.matchAll(VARIABLE_REGEX);\n if (!matches) {\n return;\n }\n for (const match of matches) {\n const [, var1, var2, , var3] = match;\n const variableName = var1 || var2 || var3;\n this._dependencies.add(variableName);\n }\n }\n}\n\nexport { VariableDependencyConfig };\n//# sourceMappingURL=VariableDependencyConfig.js.map\n","import { DashboardCursorSync } from '@grafana/schema';\nimport { Observable } from 'rxjs';\nimport { sceneGraph } from '../core/sceneGraph/index.js';\nimport { SceneObjectBase } from '../core/SceneObjectBase.js';\n\nvar __defProp = Object.defineProperty;\nvar __defProps = Object.defineProperties;\nvar __getOwnPropDescs = Object.getOwnPropertyDescriptors;\nvar __getOwnPropSymbols = Object.getOwnPropertySymbols;\nvar __hasOwnProp = Object.prototype.hasOwnProperty;\nvar __propIsEnum = Object.prototype.propertyIsEnumerable;\nvar __defNormalProp = (obj, key, value) => key in obj ? __defProp(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;\nvar __spreadValues = (a, b) => {\n for (var prop in b || (b = {}))\n if (__hasOwnProp.call(b, prop))\n __defNormalProp(a, prop, b[prop]);\n if (__getOwnPropSymbols)\n for (var prop of __getOwnPropSymbols(b)) {\n if (__propIsEnum.call(b, prop))\n __defNormalProp(a, prop, b[prop]);\n }\n return a;\n};\nvar __spreadProps = (a, b) => __defProps(a, __getOwnPropDescs(b));\nclass CursorSync extends SceneObjectBase {\n constructor(state) {\n super(__spreadProps(__spreadValues({}, state), {\n sync: state.sync || DashboardCursorSync.Off\n }));\n this.getEventsBus = (panel) => {\n if (!this.parent) {\n throw new Error(\"EnableCursorSync cannot be used as a standalone scene object\");\n }\n return new PanelContextEventBus(this.parent, panel);\n };\n }\n getEventsScope() {\n if (!this.parent) {\n throw new Error(\"EnableCursorSync cannot be used as a standalone scene object\");\n }\n return this.state.key;\n }\n}\nclass PanelContextEventBus {\n constructor(_source, _eventsOrigin) {\n this._source = _source;\n this._eventsOrigin = _eventsOrigin;\n }\n publish(event) {\n event.origin = this;\n this._eventsOrigin.publishEvent(event, true);\n }\n getStream(eventType) {\n return new Observable((observer) => {\n const handler = (event) => {\n observer.next(event);\n };\n const sub = this._source.subscribeToEvent(eventType, handler);\n return () => sub.unsubscribe();\n });\n }\n subscribe(eventType, handler) {\n return this.getStream(eventType).pipe().subscribe(handler);\n }\n removeAllListeners() {\n }\n newScopedBus(key, filter) {\n throw new Error(\"For internal use only\");\n }\n}\nfunction getCursorSyncScope(sceneObject) {\n return sceneGraph.findObject(sceneObject, (o) => o instanceof CursorSync);\n}\n\nexport { CursorSync, getCursorSyncScope };\n//# sourceMappingURL=CursorSync.js.map\n","import { getDataSourceSrv } from '@grafana/runtime';\nimport { runtimeDataSources } from '../querying/RuntimeDataSource.js';\n\nasync function getDataSource(datasource, scopedVars) {\n if (datasource == null ? void 0 : datasource.uid) {\n const runtimeDataSource = runtimeDataSources.get(datasource.uid);\n if (runtimeDataSource) {\n return runtimeDataSource;\n }\n }\n if (datasource && datasource.query) {\n return datasource;\n }\n return await getDataSourceSrv().get(datasource, scopedVars);\n}\n\nexport { getDataSource };\n//# sourceMappingURL=getDataSource.js.map\n","import { sceneGraph } from '../core/sceneGraph/index.js';\nimport { isVariableValueEqual } from './utils.js';\n\nclass VariableValueRecorder {\n constructor() {\n this._values = /* @__PURE__ */ new Map();\n }\n recordCurrentDependencyValuesForSceneObject(sceneObject) {\n this.clearValues();\n if (!sceneObject.variableDependency) {\n return;\n }\n for (const variableName of sceneObject.variableDependency.getNames()) {\n const variable = sceneGraph.lookupVariable(variableName, sceneObject);\n if (variable) {\n this._values.set(variable, variable.getValue());\n }\n }\n }\n clearValues() {\n this._values.clear();\n }\n hasValues() {\n return !!this._values;\n }\n recordCurrentValue(variable) {\n this._values.set(variable, variable.getValue());\n }\n hasRecordedValue(variable) {\n return this._values.has(variable);\n }\n hasValueChanged(variable) {\n if (this._values.has(variable)) {\n const value = this._values.get(variable);\n if (!isVariableValueEqual(value, variable.getValue())) {\n return true;\n }\n }\n return false;\n }\n hasDependenciesChanged(sceneObject) {\n if (!this._values) {\n return false;\n }\n if (!sceneObject.variableDependency) {\n return false;\n }\n for (const variableName of sceneObject.variableDependency.getNames()) {\n const variable = sceneGraph.lookupVariable(variableName, sceneObject);\n if (variable && this._values.has(variable)) {\n const value = this._values.get(variable);\n if (!isVariableValueEqual(value, variable.getValue())) {\n return true;\n }\n }\n }\n return false;\n }\n}\n\nexport { VariableValueRecorder };\n//# sourceMappingURL=VariableValueRecorder.js.map\n","export function isFunction(value) {\n return typeof value === 'function';\n}\n//# sourceMappingURL=isFunction.js.map","import { ReplaySubject } from 'rxjs';\nimport { emptyPanelData } from '../../core/SceneDataNode.js';\nimport { SceneObjectBase } from '../../core/SceneObjectBase.js';\nimport { setBaseClassState } from '../../utils/utils.js';\nimport { writeSceneLog } from '../../utils/writeSceneLog.js';\nimport { VariableDependencyConfig } from '../../variables/VariableDependencyConfig.js';\nimport { VariableValueRecorder } from '../../variables/VariableValueRecorder.js';\n\nvar __defProp = Object.defineProperty;\nvar __getOwnPropSymbols = Object.getOwnPropertySymbols;\nvar __hasOwnProp = Object.prototype.hasOwnProperty;\nvar __propIsEnum = Object.prototype.propertyIsEnumerable;\nvar __defNormalProp = (obj, key, value) => key in obj ? __defProp(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;\nvar __spreadValues = (a, b) => {\n for (var prop in b || (b = {}))\n if (__hasOwnProp.call(b, prop))\n __defNormalProp(a, prop, b[prop]);\n if (__getOwnPropSymbols)\n for (var prop of __getOwnPropSymbols(b)) {\n if (__propIsEnum.call(b, prop))\n __defNormalProp(a, prop, b[prop]);\n }\n return a;\n};\nclass SceneDataLayerBase extends SceneObjectBase {\n constructor(initialState, variableDependencyStatePaths = []) {\n super(__spreadValues({\n isEnabled: true\n }, initialState));\n this._results = new ReplaySubject();\n this._variableValueRecorder = new VariableValueRecorder();\n this._variableDependency = new VariableDependencyConfig(this, {\n onVariableUpdatesCompleted: (variables, dependencyChanged) => this.onVariableUpdatesCompleted(variables, dependencyChanged)\n });\n this._variableDependency.setPaths(variableDependencyStatePaths);\n this.addActivationHandler(() => this.onActivate());\n }\n onActivate() {\n if (this.state.isEnabled) {\n this.onEnable();\n }\n if (this.shouldRunLayerOnActivate()) {\n this.runLayer();\n }\n this.subscribeToState((n, p) => {\n if (!n.isEnabled && this.querySub) {\n this.querySub.unsubscribe();\n this.querySub = void 0;\n this.onDisable();\n this._results.next({\n origin: this,\n data: emptyPanelData,\n topic: this.topic\n });\n this.setStateHelper({\n data: emptyPanelData\n });\n }\n if (n.isEnabled && !p.isEnabled) {\n this.onEnable();\n this.runLayer();\n }\n });\n return () => {\n this.onDeactivate();\n };\n }\n onDeactivate() {\n if (this.querySub) {\n this.querySub.unsubscribe();\n this.querySub = void 0;\n }\n this.onDisable();\n this._variableValueRecorder.recordCurrentDependencyValuesForSceneObject(this);\n }\n onVariableUpdatesCompleted(variables, dependencyChanged) {\n writeSceneLog(\"SceneDataLayerBase\", \"onVariableUpdatesCompleted\");\n if (this.state._isWaitingForVariables && this.shouldRunLayerOnActivate()) {\n this.runLayer();\n return;\n }\n if (dependencyChanged) {\n this.runLayer();\n }\n }\n cancelQuery() {\n if (this.querySub) {\n this.querySub.unsubscribe();\n this.querySub = void 0;\n this.publishResults(emptyPanelData, this.topic);\n }\n }\n publishResults(data, topic) {\n if (this.state.isEnabled) {\n this._results.next({\n origin: this,\n data,\n topic\n });\n this.setStateHelper({\n data\n });\n }\n }\n getResultsStream() {\n return this._results;\n }\n shouldRunLayerOnActivate() {\n if (this._variableValueRecorder.hasDependenciesChanged(this)) {\n writeSceneLog(\n \"SceneDataLayerBase\",\n \"Variable dependency changed while inactive, shouldRunLayerOnActivate returns true\"\n );\n return true;\n }\n if (this.state.data) {\n return false;\n }\n return true;\n }\n setStateHelper(state) {\n setBaseClassState(this, state);\n }\n}\n\nexport { SceneDataLayerBase };\n//# sourceMappingURL=SceneDataLayerBase.js.map\n","/******************************************************************************\nCopyright (c) Microsoft Corporation.\n\nPermission to use, copy, modify, and/or distribute this software for any\npurpose with or without fee is hereby granted.\n\nTHE SOFTWARE IS PROVIDED \"AS IS\" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH\nREGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY\nAND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,\nINDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM\nLOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR\nOTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR\nPERFORMANCE OF THIS SOFTWARE.\n***************************************************************************** */\n/* global Reflect, Promise, SuppressedError, Symbol */\n\nvar extendStatics = function(d, b) {\n extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };\n return extendStatics(d, b);\n};\n\nexport function __extends(d, b) {\n if (typeof b !== \"function\" && b !== null)\n throw new TypeError(\"Class extends value \" + String(b) + \" is not a constructor or null\");\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n}\n\nexport var __assign = function() {\n __assign = Object.assign || function __assign(t) {\n for (var s, i = 1, n = arguments.length; i < n; i++) {\n s = arguments[i];\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p];\n }\n return t;\n }\n return __assign.apply(this, arguments);\n}\n\nexport function __rest(s, e) {\n var t = {};\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)\n t[p] = s[p];\n if (s != null && typeof Object.getOwnPropertySymbols === \"function\")\n for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {\n if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))\n t[p[i]] = s[p[i]];\n }\n return t;\n}\n\nexport function __decorate(decorators, target, key, desc) {\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\n return c > 3 && r && Object.defineProperty(target, key, r), r;\n}\n\nexport function __param(paramIndex, decorator) {\n return function (target, key) { decorator(target, key, paramIndex); }\n}\n\nexport function __esDecorate(ctor, descriptorIn, decorators, contextIn, initializers, extraInitializers) {\n function accept(f) { if (f !== void 0 && typeof f !== \"function\") throw new TypeError(\"Function expected\"); return f; }\n var kind = contextIn.kind, key = kind === \"getter\" ? \"get\" : kind === \"setter\" ? \"set\" : \"value\";\n var target = !descriptorIn && ctor ? contextIn[\"static\"] ? ctor : ctor.prototype : null;\n var descriptor = descriptorIn || (target ? Object.getOwnPropertyDescriptor(target, contextIn.name) : {});\n var _, done = false;\n for (var i = decorators.length - 1; i >= 0; i--) {\n var context = {};\n for (var p in contextIn) context[p] = p === \"access\" ? {} : contextIn[p];\n for (var p in contextIn.access) context.access[p] = contextIn.access[p];\n context.addInitializer = function (f) { if (done) throw new TypeError(\"Cannot add initializers after decoration has completed\"); extraInitializers.push(accept(f || null)); };\n var result = (0, decorators[i])(kind === \"accessor\" ? { get: descriptor.get, set: descriptor.set } : descriptor[key], context);\n if (kind === \"accessor\") {\n if (result === void 0) continue;\n if (result === null || typeof result !== \"object\") throw new TypeError(\"Object expected\");\n if (_ = accept(result.get)) descriptor.get = _;\n if (_ = accept(result.set)) descriptor.set = _;\n if (_ = accept(result.init)) initializers.unshift(_);\n }\n else if (_ = accept(result)) {\n if (kind === \"field\") initializers.unshift(_);\n else descriptor[key] = _;\n }\n }\n if (target) Object.defineProperty(target, contextIn.name, descriptor);\n done = true;\n};\n\nexport function __runInitializers(thisArg, initializers, value) {\n var useValue = arguments.length > 2;\n for (var i = 0; i < initializers.length; i++) {\n value = useValue ? initializers[i].call(thisArg, value) : initializers[i].call(thisArg);\n }\n return useValue ? value : void 0;\n};\n\nexport function __propKey(x) {\n return typeof x === \"symbol\" ? x : \"\".concat(x);\n};\n\nexport function __setFunctionName(f, name, prefix) {\n if (typeof name === \"symbol\") name = name.description ? \"[\".concat(name.description, \"]\") : \"\";\n return Object.defineProperty(f, \"name\", { configurable: true, value: prefix ? \"\".concat(prefix, \" \", name) : name });\n};\n\nexport function __metadata(metadataKey, metadataValue) {\n if (typeof Reflect === \"object\" && typeof Reflect.metadata === \"function\") return Reflect.metadata(metadataKey, metadataValue);\n}\n\nexport function __awaiter(thisArg, _arguments, P, generator) {\n function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\n return new (P || (P = Promise))(function (resolve, reject) {\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\n function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\n step((generator = generator.apply(thisArg, _arguments || [])).next());\n });\n}\n\nexport function __generator(thisArg, body) {\n var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;\n return g = { next: verb(0), \"throw\": verb(1), \"return\": verb(2) }, typeof Symbol === \"function\" && (g[Symbol.iterator] = function() { return this; }), g;\n function verb(n) { return function (v) { return step([n, v]); }; }\n function step(op) {\n if (f) throw new TypeError(\"Generator is already executing.\");\n while (g && (g = 0, op[0] && (_ = 0)), _) try {\n if (f = 1, y && (t = op[0] & 2 ? y[\"return\"] : op[0] ? y[\"throw\"] || ((t = y[\"return\"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;\n if (y = 0, t) op = [op[0] & 2, t.value];\n switch (op[0]) {\n case 0: case 1: t = op; break;\n case 4: _.label++; return { value: op[1], done: false };\n case 5: _.label++; y = op[1]; op = [0]; continue;\n case 7: op = _.ops.pop(); _.trys.pop(); continue;\n default:\n if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }\n if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }\n if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }\n if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }\n if (t[2]) _.ops.pop();\n _.trys.pop(); continue;\n }\n op = body.call(thisArg, _);\n } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }\n if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };\n }\n}\n\nexport var __createBinding = Object.create ? (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n var desc = Object.getOwnPropertyDescriptor(m, k);\n if (!desc || (\"get\" in desc ? !m.__esModule : desc.writable || desc.configurable)) {\n desc = { enumerable: true, get: function() { return m[k]; } };\n }\n Object.defineProperty(o, k2, desc);\n}) : (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n o[k2] = m[k];\n});\n\nexport function __exportStar(m, o) {\n for (var p in m) if (p !== \"default\" && !Object.prototype.hasOwnProperty.call(o, p)) __createBinding(o, m, p);\n}\n\nexport function __values(o) {\n var s = typeof Symbol === \"function\" && Symbol.iterator, m = s && o[s], i = 0;\n if (m) return m.call(o);\n if (o && typeof o.length === \"number\") return {\n next: function () {\n if (o && i >= o.length) o = void 0;\n return { value: o && o[i++], done: !o };\n }\n };\n throw new TypeError(s ? \"Object is not iterable.\" : \"Symbol.iterator is not defined.\");\n}\n\nexport function __read(o, n) {\n var m = typeof Symbol === \"function\" && o[Symbol.iterator];\n if (!m) return o;\n var i = m.call(o), r, ar = [], e;\n try {\n while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);\n }\n catch (error) { e = { error: error }; }\n finally {\n try {\n if (r && !r.done && (m = i[\"return\"])) m.call(i);\n }\n finally { if (e) throw e.error; }\n }\n return ar;\n}\n\n/** @deprecated */\nexport function __spread() {\n for (var ar = [], i = 0; i < arguments.length; i++)\n ar = ar.concat(__read(arguments[i]));\n return ar;\n}\n\n/** @deprecated */\nexport function __spreadArrays() {\n for (var s = 0, i = 0, il = arguments.length; i < il; i++) s += arguments[i].length;\n for (var r = Array(s), k = 0, i = 0; i < il; i++)\n for (var a = arguments[i], j = 0, jl = a.length; j < jl; j++, k++)\n r[k] = a[j];\n return r;\n}\n\nexport function __spreadArray(to, from, pack) {\n if (pack || arguments.length === 2) for (var i = 0, l = from.length, ar; i < l; i++) {\n if (ar || !(i in from)) {\n if (!ar) ar = Array.prototype.slice.call(from, 0, i);\n ar[i] = from[i];\n }\n }\n return to.concat(ar || Array.prototype.slice.call(from));\n}\n\nexport function __await(v) {\n return this instanceof __await ? (this.v = v, this) : new __await(v);\n}\n\nexport function __asyncGenerator(thisArg, _arguments, generator) {\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\n var g = generator.apply(thisArg, _arguments || []), i, q = [];\n return i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i;\n function verb(n) { if (g[n]) i[n] = function (v) { return new Promise(function (a, b) { q.push([n, v, a, b]) > 1 || resume(n, v); }); }; }\n function resume(n, v) { try { step(g[n](v)); } catch (e) { settle(q[0][3], e); } }\n function step(r) { r.value instanceof __await ? Promise.resolve(r.value.v).then(fulfill, reject) : settle(q[0][2], r); }\n function fulfill(value) { resume(\"next\", value); }\n function reject(value) { resume(\"throw\", value); }\n function settle(f, v) { if (f(v), q.shift(), q.length) resume(q[0][0], q[0][1]); }\n}\n\nexport function __asyncDelegator(o) {\n var i, p;\n return i = {}, verb(\"next\"), verb(\"throw\", function (e) { throw e; }), verb(\"return\"), i[Symbol.iterator] = function () { return this; }, i;\n function verb(n, f) { i[n] = o[n] ? function (v) { return (p = !p) ? { value: __await(o[n](v)), done: false } : f ? f(v) : v; } : f; }\n}\n\nexport function __asyncValues(o) {\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\n var m = o[Symbol.asyncIterator], i;\n return m ? m.call(o) : (o = typeof __values === \"function\" ? __values(o) : o[Symbol.iterator](), i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i);\n function verb(n) { i[n] = o[n] && function (v) { return new Promise(function (resolve, reject) { v = o[n](v), settle(resolve, reject, v.done, v.value); }); }; }\n function settle(resolve, reject, d, v) { Promise.resolve(v).then(function(v) { resolve({ value: v, done: d }); }, reject); }\n}\n\nexport function __makeTemplateObject(cooked, raw) {\n if (Object.defineProperty) { Object.defineProperty(cooked, \"raw\", { value: raw }); } else { cooked.raw = raw; }\n return cooked;\n};\n\nvar __setModuleDefault = Object.create ? (function(o, v) {\n Object.defineProperty(o, \"default\", { enumerable: true, value: v });\n}) : function(o, v) {\n o[\"default\"] = v;\n};\n\nexport function __importStar(mod) {\n if (mod && mod.__esModule) return mod;\n var result = {};\n if (mod != null) for (var k in mod) if (k !== \"default\" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);\n __setModuleDefault(result, mod);\n return result;\n}\n\nexport function __importDefault(mod) {\n return (mod && mod.__esModule) ? mod : { default: mod };\n}\n\nexport function __classPrivateFieldGet(receiver, state, kind, f) {\n if (kind === \"a\" && !f) throw new TypeError(\"Private accessor was defined without a getter\");\n if (typeof state === \"function\" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError(\"Cannot read private member from an object whose class did not declare it\");\n return kind === \"m\" ? f : kind === \"a\" ? f.call(receiver) : f ? f.value : state.get(receiver);\n}\n\nexport function __classPrivateFieldSet(receiver, state, value, kind, f) {\n if (kind === \"m\") throw new TypeError(\"Private method is not writable\");\n if (kind === \"a\" && !f) throw new TypeError(\"Private accessor was defined without a setter\");\n if (typeof state === \"function\" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError(\"Cannot write private member to an object whose class did not declare it\");\n return (kind === \"a\" ? f.call(receiver, value) : f ? f.value = value : state.set(receiver, value)), value;\n}\n\nexport function __classPrivateFieldIn(state, receiver) {\n if (receiver === null || (typeof receiver !== \"object\" && typeof receiver !== \"function\")) throw new TypeError(\"Cannot use 'in' operator on non-object\");\n return typeof state === \"function\" ? receiver === state : state.has(receiver);\n}\n\nexport function __addDisposableResource(env, value, async) {\n if (value !== null && value !== void 0) {\n if (typeof value !== \"object\" && typeof value !== \"function\") throw new TypeError(\"Object expected.\");\n var dispose;\n if (async) {\n if (!Symbol.asyncDispose) throw new TypeError(\"Symbol.asyncDispose is not defined.\");\n dispose = value[Symbol.asyncDispose];\n }\n if (dispose === void 0) {\n if (!Symbol.dispose) throw new TypeError(\"Symbol.dispose is not defined.\");\n dispose = value[Symbol.dispose];\n }\n if (typeof dispose !== \"function\") throw new TypeError(\"Object not disposable.\");\n env.stack.push({ value: value, dispose: dispose, async: async });\n }\n else if (async) {\n env.stack.push({ async: true });\n }\n return value;\n}\n\nvar _SuppressedError = typeof SuppressedError === \"function\" ? SuppressedError : function (error, suppressed, message) {\n var e = new Error(message);\n return e.name = \"SuppressedError\", e.error = error, e.suppressed = suppressed, e;\n};\n\nexport function __disposeResources(env) {\n function fail(e) {\n env.error = env.hasError ? new _SuppressedError(e, env.error, \"An error was suppressed during disposal.\") : e;\n env.hasError = true;\n }\n function next() {\n while (env.stack.length) {\n var rec = env.stack.pop();\n try {\n var result = rec.dispose && rec.dispose.call(rec.value);\n if (rec.async) return Promise.resolve(result).then(next, function(e) { fail(e); return next(); });\n }\n catch (e) {\n fail(e);\n }\n }\n if (env.hasError) throw env.error;\n }\n return next();\n}\n\nexport default {\n __extends,\n __assign,\n __rest,\n __decorate,\n __param,\n __metadata,\n __awaiter,\n __generator,\n __createBinding,\n __exportStar,\n __values,\n __read,\n __spread,\n __spreadArrays,\n __spreadArray,\n __await,\n __asyncGenerator,\n __asyncDelegator,\n __asyncValues,\n __makeTemplateObject,\n __importStar,\n __importDefault,\n __classPrivateFieldGet,\n __classPrivateFieldSet,\n __classPrivateFieldIn,\n __addDisposableResource,\n __disposeResources,\n};\n","import { createErrorClass } from './createErrorClass';\nexport var UnsubscriptionError = createErrorClass(function (_super) {\n return function UnsubscriptionErrorImpl(errors) {\n _super(this);\n this.message = errors\n ? errors.length + \" errors occurred during unsubscription:\\n\" + errors.map(function (err, i) { return i + 1 + \") \" + err.toString(); }).join('\\n ')\n : '';\n this.name = 'UnsubscriptionError';\n this.errors = errors;\n };\n});\n//# sourceMappingURL=UnsubscriptionError.js.map","export function createErrorClass(createImpl) {\n var _super = function (instance) {\n Error.call(instance);\n instance.stack = new Error().stack;\n };\n var ctorFunc = createImpl(_super);\n ctorFunc.prototype = Object.create(Error.prototype);\n ctorFunc.prototype.constructor = ctorFunc;\n return ctorFunc;\n}\n//# sourceMappingURL=createErrorClass.js.map","export function arrRemove(arr, item) {\n if (arr) {\n var index = arr.indexOf(item);\n 0 <= index && arr.splice(index, 1);\n }\n}\n//# sourceMappingURL=arrRemove.js.map","import { __read, __spreadArray, __values } from \"tslib\";\nimport { isFunction } from './util/isFunction';\nimport { UnsubscriptionError } from './util/UnsubscriptionError';\nimport { arrRemove } from './util/arrRemove';\nvar Subscription = (function () {\n function Subscription(initialTeardown) {\n this.initialTeardown = initialTeardown;\n this.closed = false;\n this._parentage = null;\n this._finalizers = null;\n }\n Subscription.prototype.unsubscribe = function () {\n var e_1, _a, e_2, _b;\n var errors;\n if (!this.closed) {\n this.closed = true;\n var _parentage = this._parentage;\n if (_parentage) {\n this._parentage = null;\n if (Array.isArray(_parentage)) {\n try {\n for (var _parentage_1 = __values(_parentage), _parentage_1_1 = _parentage_1.next(); !_parentage_1_1.done; _parentage_1_1 = _parentage_1.next()) {\n var parent_1 = _parentage_1_1.value;\n parent_1.remove(this);\n }\n }\n catch (e_1_1) { e_1 = { error: e_1_1 }; }\n finally {\n try {\n if (_parentage_1_1 && !_parentage_1_1.done && (_a = _parentage_1.return)) _a.call(_parentage_1);\n }\n finally { if (e_1) throw e_1.error; }\n }\n }\n else {\n _parentage.remove(this);\n }\n }\n var initialFinalizer = this.initialTeardown;\n if (isFunction(initialFinalizer)) {\n try {\n initialFinalizer();\n }\n catch (e) {\n errors = e instanceof UnsubscriptionError ? e.errors : [e];\n }\n }\n var _finalizers = this._finalizers;\n if (_finalizers) {\n this._finalizers = null;\n try {\n for (var _finalizers_1 = __values(_finalizers), _finalizers_1_1 = _finalizers_1.next(); !_finalizers_1_1.done; _finalizers_1_1 = _finalizers_1.next()) {\n var finalizer = _finalizers_1_1.value;\n try {\n execFinalizer(finalizer);\n }\n catch (err) {\n errors = errors !== null && errors !== void 0 ? errors : [];\n if (err instanceof UnsubscriptionError) {\n errors = __spreadArray(__spreadArray([], __read(errors)), __read(err.errors));\n }\n else {\n errors.push(err);\n }\n }\n }\n }\n catch (e_2_1) { e_2 = { error: e_2_1 }; }\n finally {\n try {\n if (_finalizers_1_1 && !_finalizers_1_1.done && (_b = _finalizers_1.return)) _b.call(_finalizers_1);\n }\n finally { if (e_2) throw e_2.error; }\n }\n }\n if (errors) {\n throw new UnsubscriptionError(errors);\n }\n }\n };\n Subscription.prototype.add = function (teardown) {\n var _a;\n if (teardown && teardown !== this) {\n if (this.closed) {\n execFinalizer(teardown);\n }\n else {\n if (teardown instanceof Subscription) {\n if (teardown.closed || teardown._hasParent(this)) {\n return;\n }\n teardown._addParent(this);\n }\n (this._finalizers = (_a = this._finalizers) !== null && _a !== void 0 ? _a : []).push(teardown);\n }\n }\n };\n Subscription.prototype._hasParent = function (parent) {\n var _parentage = this._parentage;\n return _parentage === parent || (Array.isArray(_parentage) && _parentage.includes(parent));\n };\n Subscription.prototype._addParent = function (parent) {\n var _parentage = this._parentage;\n this._parentage = Array.isArray(_parentage) ? (_parentage.push(parent), _parentage) : _parentage ? [_parentage, parent] : parent;\n };\n Subscription.prototype._removeParent = function (parent) {\n var _parentage = this._parentage;\n if (_parentage === parent) {\n this._parentage = null;\n }\n else if (Array.isArray(_parentage)) {\n arrRemove(_parentage, parent);\n }\n };\n Subscription.prototype.remove = function (teardown) {\n var _finalizers = this._finalizers;\n _finalizers && arrRemove(_finalizers, teardown);\n if (teardown instanceof Subscription) {\n teardown._removeParent(this);\n }\n };\n Subscription.EMPTY = (function () {\n var empty = new Subscription();\n empty.closed = true;\n return empty;\n })();\n return Subscription;\n}());\nexport { Subscription };\nexport var EMPTY_SUBSCRIPTION = Subscription.EMPTY;\nexport function isSubscription(value) {\n return (value instanceof Subscription ||\n (value && 'closed' in value && isFunction(value.remove) && isFunction(value.add) && isFunction(value.unsubscribe)));\n}\nfunction execFinalizer(finalizer) {\n if (isFunction(finalizer)) {\n finalizer();\n }\n else {\n finalizer.unsubscribe();\n }\n}\n//# sourceMappingURL=Subscription.js.map","export var config = {\n onUnhandledError: null,\n onStoppedNotification: null,\n Promise: undefined,\n useDeprecatedSynchronousErrorHandling: false,\n useDeprecatedNextContext: false,\n};\n//# sourceMappingURL=config.js.map","import { __read, __spreadArray } from \"tslib\";\nexport var timeoutProvider = {\n setTimeout: function (handler, timeout) {\n var args = [];\n for (var _i = 2; _i < arguments.length; _i++) {\n args[_i - 2] = arguments[_i];\n }\n var delegate = timeoutProvider.delegate;\n if (delegate === null || delegate === void 0 ? void 0 : delegate.setTimeout) {\n return delegate.setTimeout.apply(delegate, __spreadArray([handler, timeout], __read(args)));\n }\n return setTimeout.apply(void 0, __spreadArray([handler, timeout], __read(args)));\n },\n clearTimeout: function (handle) {\n var delegate = timeoutProvider.delegate;\n return ((delegate === null || delegate === void 0 ? void 0 : delegate.clearTimeout) || clearTimeout)(handle);\n },\n delegate: undefined,\n};\n//# sourceMappingURL=timeoutProvider.js.map","export function noop() { }\n//# sourceMappingURL=noop.js.map","export var COMPLETE_NOTIFICATION = (function () { return createNotification('C', undefined, undefined); })();\nexport function errorNotification(error) {\n return createNotification('E', undefined, error);\n}\nexport function nextNotification(value) {\n return createNotification('N', value, undefined);\n}\nexport function createNotification(kind, value, error) {\n return {\n kind: kind,\n value: value,\n error: error,\n };\n}\n//# sourceMappingURL=NotificationFactories.js.map","import { config } from '../config';\nvar context = null;\nexport function errorContext(cb) {\n if (config.useDeprecatedSynchronousErrorHandling) {\n var isRoot = !context;\n if (isRoot) {\n context = { errorThrown: false, error: null };\n }\n cb();\n if (isRoot) {\n var _a = context, errorThrown = _a.errorThrown, error = _a.error;\n context = null;\n if (errorThrown) {\n throw error;\n }\n }\n }\n else {\n cb();\n }\n}\nexport function captureError(err) {\n if (config.useDeprecatedSynchronousErrorHandling && context) {\n context.errorThrown = true;\n context.error = err;\n }\n}\n//# sourceMappingURL=errorContext.js.map","import { __extends } from \"tslib\";\nimport { isFunction } from './util/isFunction';\nimport { isSubscription, Subscription } from './Subscription';\nimport { config } from './config';\nimport { reportUnhandledError } from './util/reportUnhandledError';\nimport { noop } from './util/noop';\nimport { nextNotification, errorNotification, COMPLETE_NOTIFICATION } from './NotificationFactories';\nimport { timeoutProvider } from './scheduler/timeoutProvider';\nimport { captureError } from './util/errorContext';\nvar Subscriber = (function (_super) {\n __extends(Subscriber, _super);\n function Subscriber(destination) {\n var _this = _super.call(this) || this;\n _this.isStopped = false;\n if (destination) {\n _this.destination = destination;\n if (isSubscription(destination)) {\n destination.add(_this);\n }\n }\n else {\n _this.destination = EMPTY_OBSERVER;\n }\n return _this;\n }\n Subscriber.create = function (next, error, complete) {\n return new SafeSubscriber(next, error, complete);\n };\n Subscriber.prototype.next = function (value) {\n if (this.isStopped) {\n handleStoppedNotification(nextNotification(value), this);\n }\n else {\n this._next(value);\n }\n };\n Subscriber.prototype.error = function (err) {\n if (this.isStopped) {\n handleStoppedNotification(errorNotification(err), this);\n }\n else {\n this.isStopped = true;\n this._error(err);\n }\n };\n Subscriber.prototype.complete = function () {\n if (this.isStopped) {\n handleStoppedNotification(COMPLETE_NOTIFICATION, this);\n }\n else {\n this.isStopped = true;\n this._complete();\n }\n };\n Subscriber.prototype.unsubscribe = function () {\n if (!this.closed) {\n this.isStopped = true;\n _super.prototype.unsubscribe.call(this);\n this.destination = null;\n }\n };\n Subscriber.prototype._next = function (value) {\n this.destination.next(value);\n };\n Subscriber.prototype._error = function (err) {\n try {\n this.destination.error(err);\n }\n finally {\n this.unsubscribe();\n }\n };\n Subscriber.prototype._complete = function () {\n try {\n this.destination.complete();\n }\n finally {\n this.unsubscribe();\n }\n };\n return Subscriber;\n}(Subscription));\nexport { Subscriber };\nvar _bind = Function.prototype.bind;\nfunction bind(fn, thisArg) {\n return _bind.call(fn, thisArg);\n}\nvar ConsumerObserver = (function () {\n function ConsumerObserver(partialObserver) {\n this.partialObserver = partialObserver;\n }\n ConsumerObserver.prototype.next = function (value) {\n var partialObserver = this.partialObserver;\n if (partialObserver.next) {\n try {\n partialObserver.next(value);\n }\n catch (error) {\n handleUnhandledError(error);\n }\n }\n };\n ConsumerObserver.prototype.error = function (err) {\n var partialObserver = this.partialObserver;\n if (partialObserver.error) {\n try {\n partialObserver.error(err);\n }\n catch (error) {\n handleUnhandledError(error);\n }\n }\n else {\n handleUnhandledError(err);\n }\n };\n ConsumerObserver.prototype.complete = function () {\n var partialObserver = this.partialObserver;\n if (partialObserver.complete) {\n try {\n partialObserver.complete();\n }\n catch (error) {\n handleUnhandledError(error);\n }\n }\n };\n return ConsumerObserver;\n}());\nvar SafeSubscriber = (function (_super) {\n __extends(SafeSubscriber, _super);\n function SafeSubscriber(observerOrNext, error, complete) {\n var _this = _super.call(this) || this;\n var partialObserver;\n if (isFunction(observerOrNext) || !observerOrNext) {\n partialObserver = {\n next: (observerOrNext !== null && observerOrNext !== void 0 ? observerOrNext : undefined),\n error: error !== null && error !== void 0 ? error : undefined,\n complete: complete !== null && complete !== void 0 ? complete : undefined,\n };\n }\n else {\n var context_1;\n if (_this && config.useDeprecatedNextContext) {\n context_1 = Object.create(observerOrNext);\n context_1.unsubscribe = function () { return _this.unsubscribe(); };\n partialObserver = {\n next: observerOrNext.next && bind(observerOrNext.next, context_1),\n error: observerOrNext.error && bind(observerOrNext.error, context_1),\n complete: observerOrNext.complete && bind(observerOrNext.complete, context_1),\n };\n }\n else {\n partialObserver = observerOrNext;\n }\n }\n _this.destination = new ConsumerObserver(partialObserver);\n return _this;\n }\n return SafeSubscriber;\n}(Subscriber));\nexport { SafeSubscriber };\nfunction handleUnhandledError(error) {\n if (config.useDeprecatedSynchronousErrorHandling) {\n captureError(error);\n }\n else {\n reportUnhandledError(error);\n }\n}\nfunction defaultErrorHandler(err) {\n throw err;\n}\nfunction handleStoppedNotification(notification, subscriber) {\n var onStoppedNotification = config.onStoppedNotification;\n onStoppedNotification && timeoutProvider.setTimeout(function () { return onStoppedNotification(notification, subscriber); });\n}\nexport var EMPTY_OBSERVER = {\n closed: true,\n next: noop,\n error: defaultErrorHandler,\n complete: noop,\n};\n//# sourceMappingURL=Subscriber.js.map","import { config } from '../config';\nimport { timeoutProvider } from '../scheduler/timeoutProvider';\nexport function reportUnhandledError(err) {\n timeoutProvider.setTimeout(function () {\n var onUnhandledError = config.onUnhandledError;\n if (onUnhandledError) {\n onUnhandledError(err);\n }\n else {\n throw err;\n }\n });\n}\n//# sourceMappingURL=reportUnhandledError.js.map","import { __extends } from \"tslib\";\nimport { Subscriber } from '../Subscriber';\nexport function createOperatorSubscriber(destination, onNext, onComplete, onError, onFinalize) {\n return new OperatorSubscriber(destination, onNext, onComplete, onError, onFinalize);\n}\nvar OperatorSubscriber = (function (_super) {\n __extends(OperatorSubscriber, _super);\n function OperatorSubscriber(destination, onNext, onComplete, onError, onFinalize, shouldUnsubscribe) {\n var _this = _super.call(this, destination) || this;\n _this.onFinalize = onFinalize;\n _this.shouldUnsubscribe = shouldUnsubscribe;\n _this._next = onNext\n ? function (value) {\n try {\n onNext(value);\n }\n catch (err) {\n destination.error(err);\n }\n }\n : _super.prototype._next;\n _this._error = onError\n ? function (err) {\n try {\n onError(err);\n }\n catch (err) {\n destination.error(err);\n }\n finally {\n this.unsubscribe();\n }\n }\n : _super.prototype._error;\n _this._complete = onComplete\n ? function () {\n try {\n onComplete();\n }\n catch (err) {\n destination.error(err);\n }\n finally {\n this.unsubscribe();\n }\n }\n : _super.prototype._complete;\n return _this;\n }\n OperatorSubscriber.prototype.unsubscribe = function () {\n var _a;\n if (!this.shouldUnsubscribe || this.shouldUnsubscribe()) {\n var closed_1 = this.closed;\n _super.prototype.unsubscribe.call(this);\n !closed_1 && ((_a = this.onFinalize) === null || _a === void 0 ? void 0 : _a.call(this));\n }\n };\n return OperatorSubscriber;\n}(Subscriber));\nexport { OperatorSubscriber };\n//# sourceMappingURL=OperatorSubscriber.js.map","export var observable = (function () { return (typeof Symbol === 'function' && Symbol.observable) || '@@observable'; })();\n//# sourceMappingURL=observable.js.map","export function identity(x) {\n return x;\n}\n//# sourceMappingURL=identity.js.map","import { SafeSubscriber, Subscriber } from './Subscriber';\nimport { isSubscription } from './Subscription';\nimport { observable as Symbol_observable } from './symbol/observable';\nimport { pipeFromArray } from './util/pipe';\nimport { config } from './config';\nimport { isFunction } from './util/isFunction';\nimport { errorContext } from './util/errorContext';\nvar Observable = (function () {\n function Observable(subscribe) {\n if (subscribe) {\n this._subscribe = subscribe;\n }\n }\n Observable.prototype.lift = function (operator) {\n var observable = new Observable();\n observable.source = this;\n observable.operator = operator;\n return observable;\n };\n Observable.prototype.subscribe = function (observerOrNext, error, complete) {\n var _this = this;\n var subscriber = isSubscriber(observerOrNext) ? observerOrNext : new SafeSubscriber(observerOrNext, error, complete);\n errorContext(function () {\n var _a = _this, operator = _a.operator, source = _a.source;\n subscriber.add(operator\n ?\n operator.call(subscriber, source)\n : source\n ?\n _this._subscribe(subscriber)\n :\n _this._trySubscribe(subscriber));\n });\n return subscriber;\n };\n Observable.prototype._trySubscribe = function (sink) {\n try {\n return this._subscribe(sink);\n }\n catch (err) {\n sink.error(err);\n }\n };\n Observable.prototype.forEach = function (next, promiseCtor) {\n var _this = this;\n promiseCtor = getPromiseCtor(promiseCtor);\n return new promiseCtor(function (resolve, reject) {\n var subscriber = new SafeSubscriber({\n next: function (value) {\n try {\n next(value);\n }\n catch (err) {\n reject(err);\n subscriber.unsubscribe();\n }\n },\n error: reject,\n complete: resolve,\n });\n _this.subscribe(subscriber);\n });\n };\n Observable.prototype._subscribe = function (subscriber) {\n var _a;\n return (_a = this.source) === null || _a === void 0 ? void 0 : _a.subscribe(subscriber);\n };\n Observable.prototype[Symbol_observable] = function () {\n return this;\n };\n Observable.prototype.pipe = function () {\n var operations = [];\n for (var _i = 0; _i < arguments.length; _i++) {\n operations[_i] = arguments[_i];\n }\n return pipeFromArray(operations)(this);\n };\n Observable.prototype.toPromise = function (promiseCtor) {\n var _this = this;\n promiseCtor = getPromiseCtor(promiseCtor);\n return new promiseCtor(function (resolve, reject) {\n var value;\n _this.subscribe(function (x) { return (value = x); }, function (err) { return reject(err); }, function () { return resolve(value); });\n });\n };\n Observable.create = function (subscribe) {\n return new Observable(subscribe);\n };\n return Observable;\n}());\nexport { Observable };\nfunction getPromiseCtor(promiseCtor) {\n var _a;\n return (_a = promiseCtor !== null && promiseCtor !== void 0 ? promiseCtor : config.Promise) !== null && _a !== void 0 ? _a : Promise;\n}\nfunction isObserver(value) {\n return value && isFunction(value.next) && isFunction(value.error) && isFunction(value.complete);\n}\nfunction isSubscriber(value) {\n return (value && value instanceof Subscriber) || (isObserver(value) && isSubscription(value));\n}\n//# sourceMappingURL=Observable.js.map","import { identity } from './identity';\nexport function pipe() {\n var fns = [];\n for (var _i = 0; _i < arguments.length; _i++) {\n fns[_i] = arguments[_i];\n }\n return pipeFromArray(fns);\n}\nexport function pipeFromArray(fns) {\n if (fns.length === 0) {\n return identity;\n }\n if (fns.length === 1) {\n return fns[0];\n }\n return function piped(input) {\n return fns.reduce(function (prev, fn) { return fn(prev); }, input);\n };\n}\n//# sourceMappingURL=pipe.js.map","export function getSymbolIterator() {\n if (typeof Symbol !== 'function' || !Symbol.iterator) {\n return '@@iterator';\n }\n return Symbol.iterator;\n}\nexport var iterator = getSymbolIterator();\n//# sourceMappingURL=iterator.js.map","import { isString } from 'lodash';\nimport { of } from 'rxjs';\nimport { map, mergeMap } from 'rxjs/operators';\nimport { FieldType, getFieldDisplayName, AnnotationEventFieldSource, standardTransformers } from '@grafana/data';\nimport { config } from '@grafana/runtime';\n\nvar __defProp = Object.defineProperty;\nvar __defProps = Object.defineProperties;\nvar __getOwnPropDescs = Object.getOwnPropertyDescriptors;\nvar __getOwnPropSymbols = Object.getOwnPropertySymbols;\nvar __hasOwnProp = Object.prototype.hasOwnProperty;\nvar __propIsEnum = Object.prototype.propertyIsEnumerable;\nvar __defNormalProp = (obj, key, value) => key in obj ? __defProp(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;\nvar __spreadValues = (a, b) => {\n for (var prop in b || (b = {}))\n if (__hasOwnProp.call(b, prop))\n __defNormalProp(a, prop, b[prop]);\n if (__getOwnPropSymbols)\n for (var prop of __getOwnPropSymbols(b)) {\n if (__propIsEnum.call(b, prop))\n __defNormalProp(a, prop, b[prop]);\n }\n return a;\n};\nvar __spreadProps = (a, b) => __defProps(a, __getOwnPropDescs(b));\nvar __objRest = (source, exclude) => {\n var target = {};\n for (var prop in source)\n if (__hasOwnProp.call(source, prop) && exclude.indexOf(prop) < 0)\n target[prop] = source[prop];\n if (source != null && __getOwnPropSymbols)\n for (var prop of __getOwnPropSymbols(source)) {\n if (exclude.indexOf(prop) < 0 && __propIsEnum.call(source, prop))\n target[prop] = source[prop];\n }\n return target;\n};\nconst standardAnnotationSupport = {\n prepareAnnotation: (json) => {\n if (isString(json == null ? void 0 : json.query)) {\n const _a = json, { query } = _a, rest = __objRest(_a, [\"query\"]);\n return __spreadProps(__spreadValues({}, rest), {\n target: {\n refId: \"annotation_query\",\n query\n },\n mappings: {}\n });\n }\n return json;\n },\n prepareQuery: (anno) => anno.target,\n processEvents: (anno, data) => {\n return getAnnotationsFromData(data, anno.mappings);\n }\n};\nfunction singleFrameFromPanelData() {\n return (source) => source.pipe(\n mergeMap((data) => {\n if (!(data == null ? void 0 : data.length)) {\n return of(void 0);\n }\n if (data.length === 1) {\n return of(data[0]);\n }\n const ctx = {\n interpolate: (v) => v\n };\n return of(data).pipe(\n standardTransformers.mergeTransformer.operator({}, ctx),\n map((d) => d[0])\n );\n })\n );\n}\nconst annotationEventNames = [\n {\n key: \"time\",\n field: (frame) => frame.fields.find((f) => f.type === FieldType.time),\n placeholder: \"time, or the first time field\"\n },\n { key: \"timeEnd\", help: \"When this field is defined, the annotation will be treated as a range\" },\n {\n key: \"title\"\n },\n {\n key: \"text\",\n field: (frame) => frame.fields.find((f) => f.type === FieldType.string),\n placeholder: \"text, or the first text field\"\n },\n { key: \"tags\", split: \",\", help: \"The results will be split on comma (,)\" },\n {\n key: \"id\"\n }\n];\nconst publicDashboardEventNames = [\n {\n key: \"color\"\n },\n {\n key: \"isRegion\"\n },\n {\n key: \"source\"\n }\n];\nconst alertEventAndAnnotationFields = [\n ...config.isPublicDashboardView ? publicDashboardEventNames : [],\n ...annotationEventNames,\n { key: \"userId\" },\n { key: \"login\" },\n { key: \"email\" },\n { key: \"prevState\" },\n { key: \"newState\" },\n { key: \"data\" },\n { key: \"panelId\" },\n { key: \"alertId\" },\n { key: \"dashboardId\" },\n { key: \"dashboardUID\" }\n];\nfunction getAnnotationsFromData(data, options) {\n return of(data).pipe(\n singleFrameFromPanelData(),\n map((frame) => {\n if (!(frame == null ? void 0 : frame.length)) {\n return [];\n }\n let hasTime = false;\n let hasText = false;\n const byName = {};\n for (const f of frame.fields) {\n const name = getFieldDisplayName(f, frame);\n byName[name.toLowerCase()] = f;\n }\n if (!options) {\n options = {};\n }\n const fields = [];\n for (const evts of alertEventAndAnnotationFields) {\n const opt = options[evts.key] || {};\n if (opt.source === AnnotationEventFieldSource.Skip) {\n continue;\n }\n const setter = { key: evts.key, split: evts.split };\n if (opt.source === AnnotationEventFieldSource.Text) {\n setter.text = opt.value;\n } else {\n const lower = (opt.value || evts.key).toLowerCase();\n setter.field = byName[lower];\n if (!setter.field && evts.field) {\n setter.field = evts.field(frame);\n }\n }\n if (setter.field || setter.text) {\n fields.push(setter);\n if (setter.key === \"time\") {\n hasTime = true;\n } else if (setter.key === \"text\") {\n hasText = true;\n }\n }\n }\n if (!hasTime || !hasText) {\n console.error(\"Cannot process annotation fields. No time or text present.\");\n return [];\n }\n const events = [];\n for (let i = 0; i < frame.length; i++) {\n const anno = {\n type: \"default\",\n color: \"red\"\n };\n for (const f of fields) {\n let v = void 0;\n if (f.text) {\n v = f.text;\n } else if (f.field) {\n v = f.field.values.get(i);\n if (v !== void 0 && f.regex) {\n const match = f.regex.exec(v);\n if (match) {\n v = match[1] ? match[1] : match[0];\n }\n }\n }\n if (v !== null && v !== void 0) {\n if (f.split && typeof v === \"string\") {\n v = v.split(\",\");\n }\n anno[f.key] = v;\n }\n }\n events.push(anno);\n }\n return events;\n })\n );\n}\nconst legacyRunner = [\n \"prometheus\",\n \"loki\",\n \"elasticsearch\",\n \"grafana-opensearch-datasource\"\n];\nfunction shouldUseLegacyRunner(datasource) {\n const { type } = datasource;\n return !datasource.annotations || legacyRunner.includes(type);\n}\n\nexport { annotationEventNames, getAnnotationsFromData, publicDashboardEventNames, shouldUseLegacyRunner, singleFrameFromPanelData, standardAnnotationSupport };\n//# sourceMappingURL=standardAnnotationsSupport.js.map\n","function writeSceneLog(logger, message, ...rest) {\n if (window.grafanaSceneLogging) {\n console.log(`${logger}: `, message, ...rest);\n }\n}\n\nexport { writeSceneLog };\n//# sourceMappingURL=writeSceneLog.js.map\n","import { from, of } from 'rxjs';\nimport { map, mergeMap } from 'rxjs/operators';\nimport { rangeUtil, CoreApp, DataTopic } from '@grafana/data';\nimport { getRunRequest } from '@grafana/runtime';\nimport { shouldUseLegacyRunner, standardAnnotationSupport } from './standardAnnotationsSupport.js';\nimport { LoadingState } from '@grafana/schema';\nimport { getEnrichedDataRequest } from '../../getEnrichedDataRequest.js';\n\nvar __defProp = Object.defineProperty;\nvar __defProps = Object.defineProperties;\nvar __getOwnPropDescs = Object.getOwnPropertyDescriptors;\nvar __getOwnPropSymbols = Object.getOwnPropertySymbols;\nvar __hasOwnProp = Object.prototype.hasOwnProperty;\nvar __propIsEnum = Object.prototype.propertyIsEnumerable;\nvar __defNormalProp = (obj, key, value) => key in obj ? __defProp(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;\nvar __spreadValues = (a, b) => {\n for (var prop in b || (b = {}))\n if (__hasOwnProp.call(b, prop))\n __defNormalProp(a, prop, b[prop]);\n if (__getOwnPropSymbols)\n for (var prop of __getOwnPropSymbols(b)) {\n if (__propIsEnum.call(b, prop))\n __defNormalProp(a, prop, b[prop]);\n }\n return a;\n};\nvar __spreadProps = (a, b) => __defProps(a, __getOwnPropDescs(b));\nlet counter = 100;\nfunction getNextRequestId() {\n return \"AQ\" + counter++;\n}\nfunction executeAnnotationQuery(datasource, timeRange, query, layer) {\n var _a;\n if (datasource.annotationQuery && shouldUseLegacyRunner(datasource)) {\n console.warn(\"Using deprecated annotationQuery method, please upgrade your datasource\");\n return from(\n datasource.annotationQuery({\n range: timeRange.state.value,\n rangeRaw: timeRange.state.value.raw,\n annotation: query,\n dashboard: {}\n })\n ).pipe(\n map((events) => ({\n state: LoadingState.Done,\n events\n }))\n );\n }\n const processor = __spreadValues(__spreadValues({}, standardAnnotationSupport), datasource.annotations);\n const annotationWithDefaults = __spreadValues(__spreadValues({}, (_a = processor.getDefaultQuery) == null ? void 0 : _a.call(processor)), query);\n const annotation = processor.prepareAnnotation(annotationWithDefaults);\n if (!annotation) {\n return of({\n state: LoadingState.Done,\n events: []\n });\n }\n const processedQuery = processor.prepareQuery(annotation);\n if (!processedQuery) {\n return of({\n state: LoadingState.Done,\n events: []\n });\n }\n const maxDataPoints = window.innerWidth || document.documentElement.clientWidth || document.body.clientWidth;\n const interval = rangeUtil.calculateInterval(timeRange.state.value, maxDataPoints, datasource.interval);\n const scopedVars = {\n __interval: { text: interval.interval, value: interval.interval },\n __interval_ms: { text: interval.intervalMs.toString(), value: interval.intervalMs },\n __annotation: { text: annotation.name, value: annotation },\n __sceneObject: { text: \"__sceneObject\", value: layer }\n };\n const queryRequest = __spreadValues(__spreadProps(__spreadValues({\n startTime: Date.now(),\n requestId: getNextRequestId(),\n range: timeRange.state.value,\n maxDataPoints,\n scopedVars\n }, interval), {\n app: CoreApp.Dashboard,\n timezone: timeRange.getTimeZone(),\n targets: [\n __spreadProps(__spreadValues({}, processedQuery), {\n refId: \"Anno\"\n })\n ]\n }), getEnrichedDataRequest(layer));\n const runRequest = getRunRequest();\n return runRequest(datasource, queryRequest).pipe(\n mergeMap((panelData) => {\n const data = (panelData == null ? void 0 : panelData.series.length) ? panelData.series : panelData.annotations;\n if (!(data == null ? void 0 : data.length)) {\n return of({\n state: panelData.state,\n events: []\n });\n }\n data.forEach((frame) => {\n var _a2;\n if (!((_a2 = frame.meta) == null ? void 0 : _a2.dataTopic)) {\n frame.meta = __spreadProps(__spreadValues({}, frame.meta || {}), { dataTopic: DataTopic.Annotations });\n }\n });\n return processor.processEvents(annotation, data).pipe(\n map((events) => {\n return {\n state: panelData.state,\n events: events || []\n };\n })\n );\n })\n );\n}\n\nexport { executeAnnotationQuery };\n//# sourceMappingURL=standardAnnotationQuery.js.map\n","import { config } from '@grafana/runtime';\nimport { cloneDeep, partition, groupBy, map, every, find, head, concat } from 'lodash';\n\nvar __defProp = Object.defineProperty;\nvar __getOwnPropSymbols = Object.getOwnPropertySymbols;\nvar __hasOwnProp = Object.prototype.hasOwnProperty;\nvar __propIsEnum = Object.prototype.propertyIsEnumerable;\nvar __defNormalProp = (obj, key, value) => key in obj ? __defProp(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;\nvar __spreadValues = (a, b) => {\n for (var prop in b || (b = {}))\n if (__hasOwnProp.call(b, prop))\n __defNormalProp(a, prop, b[prop]);\n if (__getOwnPropSymbols)\n for (var prop of __getOwnPropSymbols(b)) {\n if (__propIsEnum.call(b, prop))\n __defNormalProp(a, prop, b[prop]);\n }\n return a;\n};\nfunction postProcessQueryResult(annotation, results) {\n if (annotation.snapshotData) {\n annotation = cloneDeep(annotation);\n delete annotation.snapshotData;\n }\n const processed = results.map((item) => {\n var _a;\n const processedItem = __spreadValues({}, item);\n processedItem.source = annotation;\n processedItem.color = config.theme2.visualization.getColorByName(annotation.iconColor);\n processedItem.type = annotation.name;\n processedItem.isRegion = Boolean(processedItem.timeEnd && processedItem.time !== processedItem.timeEnd);\n switch ((_a = processedItem.newState) == null ? void 0 : _a.toLowerCase()) {\n case \"pending\":\n processedItem.color = \"yellow\";\n break;\n case \"alerting\":\n processedItem.color = \"red\";\n break;\n case \"ok\":\n processedItem.color = \"green\";\n break;\n case \"normal\":\n processedItem.color = \"green\";\n break;\n case \"no_data\":\n processedItem.color = \"gray\";\n break;\n case \"nodata\":\n processedItem.color = \"gray\";\n break;\n }\n return processedItem;\n });\n return processed;\n}\nfunction dedupAnnotations(annotations) {\n let dedup = [];\n const events = partition(annotations, \"id\");\n const eventsById = groupBy(events[0], \"id\");\n dedup = map(eventsById, (eventGroup) => {\n if (eventGroup.length > 1 && !every(eventGroup, isPanelAlert)) {\n return find(eventGroup, (event) => {\n return event.eventType !== \"panel-alert\";\n });\n } else {\n return head(eventGroup);\n }\n });\n dedup = concat(dedup, events[1]);\n return dedup;\n}\nfunction isPanelAlert(event) {\n return event.eventType === \"panel-alert\";\n}\n\nexport { dedupAnnotations, postProcessQueryResult };\n//# sourceMappingURL=utils.js.map\n","import { DataTopic, arrayToDataFrame } from '@grafana/data';\nimport { LoadingState } from '@grafana/schema';\nimport { map } from 'rxjs';\nimport { emptyPanelData } from '../../../core/SceneDataNode.js';\nimport { sceneGraph } from '../../../core/sceneGraph/index.js';\nimport { getDataSource } from '../../../utils/getDataSource.js';\nimport { getMessageFromError } from '../../../utils/getMessageFromError.js';\nimport { writeSceneLog } from '../../../utils/writeSceneLog.js';\nimport { SceneDataLayerBase } from '../SceneDataLayerBase.js';\nimport { executeAnnotationQuery } from './standardAnnotationQuery.js';\nimport { postProcessQueryResult, dedupAnnotations } from './utils.js';\n\nvar __defProp = Object.defineProperty;\nvar __defProps = Object.defineProperties;\nvar __getOwnPropDescs = Object.getOwnPropertyDescriptors;\nvar __getOwnPropSymbols = Object.getOwnPropertySymbols;\nvar __hasOwnProp = Object.prototype.hasOwnProperty;\nvar __propIsEnum = Object.prototype.propertyIsEnumerable;\nvar __defNormalProp = (obj, key, value) => key in obj ? __defProp(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;\nvar __spreadValues = (a, b) => {\n for (var prop in b || (b = {}))\n if (__hasOwnProp.call(b, prop))\n __defNormalProp(a, prop, b[prop]);\n if (__getOwnPropSymbols)\n for (var prop of __getOwnPropSymbols(b)) {\n if (__propIsEnum.call(b, prop))\n __defNormalProp(a, prop, b[prop]);\n }\n return a;\n};\nvar __spreadProps = (a, b) => __defProps(a, __getOwnPropDescs(b));\nclass AnnotationsDataLayer extends SceneDataLayerBase {\n constructor(initialState) {\n super(\n __spreadValues({\n isEnabled: true\n }, initialState),\n [\"query\"]\n );\n this.topic = DataTopic.Annotations;\n }\n onEnable() {\n const timeRange = sceneGraph.getTimeRange(this);\n this._timeRangeSub = timeRange.subscribeToState(() => {\n this.runWithTimeRange(timeRange);\n });\n }\n onDisable() {\n var _a;\n (_a = this._timeRangeSub) == null ? void 0 : _a.unsubscribe();\n }\n runLayer() {\n writeSceneLog(\"AnnotationsDataLayer\", \"run layer\");\n const timeRange = sceneGraph.getTimeRange(this);\n this.runWithTimeRange(timeRange);\n }\n async runWithTimeRange(timeRange) {\n const { query } = this.state;\n if (this.querySub) {\n this.querySub.unsubscribe();\n }\n if (sceneGraph.hasVariableDependencyInLoadingState(this)) {\n writeSceneLog(\"AnnotationsDataLayer\", \"Variable dependency is in loading state, skipping query execution\");\n this.setState({ _isWaitingForVariables: true });\n return;\n }\n try {\n const ds = await this.resolveDataSource(query);\n const queryExecution = executeAnnotationQuery(ds, timeRange, query, this).pipe(\n map((events) => {\n const stateUpdate = this.processEvents(query, events);\n return stateUpdate;\n })\n );\n this.querySub = queryExecution.subscribe((stateUpdate) => {\n this.publishResults(stateUpdate, DataTopic.Annotations);\n });\n } catch (e) {\n this.publishResults(\n __spreadProps(__spreadValues({}, emptyPanelData), {\n state: LoadingState.Error,\n errors: [\n {\n message: getMessageFromError(e)\n }\n ]\n }),\n DataTopic.Annotations\n );\n console.error(\"AnnotationsDataLayer error\", e);\n }\n }\n async resolveDataSource(query) {\n return await getDataSource(query.datasource || void 0, {});\n }\n processEvents(query, events) {\n let processedEvents = postProcessQueryResult(query, events.events || []);\n processedEvents = dedupAnnotations(processedEvents);\n const stateUpdate = __spreadProps(__spreadValues({}, emptyPanelData), { state: events.state });\n const df = arrayToDataFrame(processedEvents);\n df.meta = __spreadProps(__spreadValues({}, df.meta), {\n dataTopic: DataTopic.Annotations\n });\n stateUpdate.annotations = [df];\n return stateUpdate;\n }\n}\n\nexport { AnnotationsDataLayer };\n//# sourceMappingURL=AnnotationsDataLayer.js.map\n","import { SceneTimeRangeTransformerBase } from './SceneTimeRangeTransformerBase.js';\nimport { getDefaultTimeRange } from '@grafana/data';\nimport { evaluateTimeRange } from '../utils/evaluateTimeRange.js';\n\nvar __defProp = Object.defineProperty;\nvar __defProps = Object.defineProperties;\nvar __getOwnPropDescs = Object.getOwnPropertyDescriptors;\nvar __getOwnPropSymbols = Object.getOwnPropertySymbols;\nvar __hasOwnProp = Object.prototype.hasOwnProperty;\nvar __propIsEnum = Object.prototype.propertyIsEnumerable;\nvar __defNormalProp = (obj, key, value) => key in obj ? __defProp(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;\nvar __spreadValues = (a, b) => {\n for (var prop in b || (b = {}))\n if (__hasOwnProp.call(b, prop))\n __defNormalProp(a, prop, b[prop]);\n if (__getOwnPropSymbols)\n for (var prop of __getOwnPropSymbols(b)) {\n if (__propIsEnum.call(b, prop))\n __defNormalProp(a, prop, b[prop]);\n }\n return a;\n};\nvar __spreadProps = (a, b) => __defProps(a, __getOwnPropDescs(b));\nclass SceneTimeZoneOverride extends SceneTimeRangeTransformerBase {\n constructor(state) {\n super(__spreadProps(__spreadValues({}, state), {\n timeZone: state.timeZone,\n from: \"now-6h\",\n to: \"now\",\n value: getDefaultTimeRange()\n }));\n }\n ancestorTimeRangeChanged(timeRange) {\n this.setState(__spreadProps(__spreadValues({}, timeRange), {\n timeZone: this.state.timeZone,\n value: evaluateTimeRange(\n timeRange.from,\n timeRange.to,\n this.state.timeZone,\n timeRange.fiscalYearStartMonth,\n timeRange.UNSAFE_nowDelay\n )\n }));\n }\n getTimeZone() {\n return this.state.timeZone;\n }\n onTimeZoneChange(timeZone) {\n this.setState({\n timeZone,\n value: evaluateTimeRange(\n this.state.from,\n this.state.to,\n this.state.timeZone,\n this.getAncestorTimeRange().state.fiscalYearStartMonth,\n this.state.UNSAFE_nowDelay\n )\n });\n }\n}\n\nexport { SceneTimeZoneOverride };\n//# sourceMappingURL=SceneTimeZoneOverride.js.map\n","import { rangeUtil, dateTime } from '@grafana/data';\nimport { useStyles2, ButtonGroup, ToolbarButton, Checkbox, ButtonSelect } from '@grafana/ui';\nimport React from 'react';\nimport { sceneGraph } from '../core/sceneGraph/index.js';\nimport { SceneObjectBase } from '../core/SceneObjectBase.js';\nimport { SceneObjectUrlSyncConfig } from '../services/SceneObjectUrlSyncConfig.js';\nimport { parseUrlParam } from '../utils/parseUrlParam.js';\nimport { css } from '@emotion/css';\n\nvar __defProp = Object.defineProperty;\nvar __getOwnPropSymbols = Object.getOwnPropertySymbols;\nvar __hasOwnProp = Object.prototype.hasOwnProperty;\nvar __propIsEnum = Object.prototype.propertyIsEnumerable;\nvar __defNormalProp = (obj, key, value) => key in obj ? __defProp(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;\nvar __spreadValues = (a, b) => {\n for (var prop in b || (b = {}))\n if (__hasOwnProp.call(b, prop))\n __defNormalProp(a, prop, b[prop]);\n if (__getOwnPropSymbols)\n for (var prop of __getOwnPropSymbols(b)) {\n if (__propIsEnum.call(b, prop))\n __defNormalProp(a, prop, b[prop]);\n }\n return a;\n};\nconst PREVIOUS_PERIOD_VALUE = \"__previousPeriod\";\nconst NO_PERIOD_VALUE = \"__noPeriod\";\nconst PREVIOUS_PERIOD_COMPARE_OPTION = {\n label: \"Previous period\",\n value: PREVIOUS_PERIOD_VALUE\n};\nconst NO_COMPARE_OPTION = {\n label: \"No comparison\",\n value: NO_PERIOD_VALUE\n};\nconst DEFAULT_COMPARE_OPTIONS = [\n { label: \"Day before\", value: \"24h\" },\n { label: \"Week before\", value: \"1w\" },\n { label: \"Month before\", value: \"1M\" }\n];\nclass SceneTimeRangeCompare extends SceneObjectBase {\n constructor(state) {\n super(__spreadValues({ compareOptions: DEFAULT_COMPARE_OPTIONS }, state));\n this._urlSync = new SceneObjectUrlSyncConfig(this, { keys: [\"compareWith\"] });\n this._onActivate = () => {\n const sceneTimeRange = sceneGraph.getTimeRange(this);\n this.setState({ compareOptions: this.getCompareOptions(sceneTimeRange.state.value) });\n this._subs.add(\n sceneTimeRange.subscribeToState((timeRange) => {\n const compareOptions = this.getCompareOptions(timeRange.value);\n const stateUpdate = { compareOptions };\n if (Boolean(this.state.compareWith) && !compareOptions.find(({ value }) => value === this.state.compareWith)) {\n stateUpdate.compareWith = PREVIOUS_PERIOD_VALUE;\n }\n this.setState(stateUpdate);\n })\n );\n };\n this.getCompareOptions = (timeRange) => {\n const diffDays = Math.ceil(timeRange.to.diff(timeRange.from));\n const matchIndex = DEFAULT_COMPARE_OPTIONS.findIndex(({ value }) => {\n const intervalInMs = rangeUtil.intervalToMs(value);\n return intervalInMs >= diffDays;\n });\n return [\n NO_COMPARE_OPTION,\n PREVIOUS_PERIOD_COMPARE_OPTION,\n ...DEFAULT_COMPARE_OPTIONS.slice(matchIndex).map(({ label, value }) => ({ label, value }))\n ];\n };\n this.onCompareWithChanged = (compareWith) => {\n if (compareWith === NO_PERIOD_VALUE) {\n this.onClearCompare();\n } else {\n this.setState({ compareWith });\n }\n };\n this.onClearCompare = () => {\n this.setState({ compareWith: void 0 });\n };\n this.addActivationHandler(this._onActivate);\n }\n getCompareTimeRange(timeRange) {\n let compareFrom;\n let compareTo;\n if (this.state.compareWith) {\n if (this.state.compareWith === PREVIOUS_PERIOD_VALUE) {\n const diffMs = timeRange.to.diff(timeRange.from);\n compareFrom = dateTime(timeRange.from).subtract(diffMs);\n compareTo = dateTime(timeRange.to).subtract(diffMs);\n } else {\n compareFrom = dateTime(timeRange.from).subtract(rangeUtil.intervalToMs(this.state.compareWith));\n compareTo = dateTime(timeRange.to).subtract(rangeUtil.intervalToMs(this.state.compareWith));\n }\n return {\n from: compareFrom,\n to: compareTo,\n raw: {\n from: compareFrom,\n to: compareTo\n }\n };\n }\n return void 0;\n }\n getUrlState() {\n return {\n compareWith: this.state.compareWith\n };\n }\n updateFromUrl(values) {\n if (!values.compareWith) {\n return;\n }\n const compareWith = parseUrlParam(values.compareWith);\n if (compareWith) {\n const compareOptions = this.getCompareOptions(sceneGraph.getTimeRange(this).state.value);\n if (compareOptions.find(({ value }) => value === compareWith)) {\n this.setState({\n compareWith\n });\n } else {\n this.setState({\n compareWith: \"__previousPeriod\"\n });\n }\n }\n }\n}\nSceneTimeRangeCompare.Component = SceneTimeRangeCompareRenderer;\nfunction SceneTimeRangeCompareRenderer({ model }) {\n var _a;\n const styles = useStyles2(getStyles);\n const { compareWith, compareOptions } = model.useState();\n const [previousCompare, setPreviousCompare] = React.useState(compareWith);\n const previousValue = (_a = compareOptions.find(({ value: value2 }) => value2 === previousCompare)) != null ? _a : PREVIOUS_PERIOD_COMPARE_OPTION;\n const value = compareOptions.find(({ value: value2 }) => value2 === compareWith);\n const enabled = Boolean(value);\n const onClick = () => {\n if (enabled) {\n setPreviousCompare(compareWith);\n model.onClearCompare();\n } else if (!enabled) {\n model.onCompareWithChanged(previousValue.value);\n }\n };\n return /* @__PURE__ */ React.createElement(ButtonGroup, null, /* @__PURE__ */ React.createElement(ToolbarButton, {\n variant: \"canvas\",\n tooltip: \"Enable time frame comparison\",\n onClick: (e) => {\n e.stopPropagation();\n e.preventDefault();\n onClick();\n }\n }, /* @__PURE__ */ React.createElement(Checkbox, {\n label: \" \",\n value: enabled,\n onClick\n }), \"Comparison\"), enabled ? /* @__PURE__ */ React.createElement(ButtonSelect, {\n variant: \"canvas\",\n value,\n options: compareOptions,\n onChange: (v) => {\n model.onCompareWithChanged(v.value);\n }\n }) : /* @__PURE__ */ React.createElement(ToolbarButton, {\n className: styles.previewButton,\n disabled: true,\n variant: \"canvas\",\n isOpen: false\n }, previousValue.label));\n}\nfunction getStyles(theme) {\n return {\n previewButton: css({\n \"&:disabled\": {\n border: `1px solid ${theme.colors.secondary.border}`,\n color: theme.colors.text.disabled,\n opacity: 1\n }\n })\n };\n}\n\nexport { DEFAULT_COMPARE_OPTIONS, NO_COMPARE_OPTION, PREVIOUS_PERIOD_COMPARE_OPTION, SceneTimeRangeCompare };\n//# sourceMappingURL=SceneTimeRangeCompare.js.map\n","const getCompareSeriesRefId = (refId) => `${refId}-compare`;\n\nexport { getCompareSeriesRefId };\n//# sourceMappingURL=getCompareSeriesRefId.js.map\n","import { FieldType } from '@grafana/data';\nimport { config } from '@grafana/runtime';\nimport { map } from 'rxjs';\nimport { getCompareSeriesRefId } from '../utils/getCompareSeriesRefId.js';\n\nvar __defProp = Object.defineProperty;\nvar __defProps = Object.defineProperties;\nvar __getOwnPropDescs = Object.getOwnPropertyDescriptors;\nvar __getOwnPropSymbols = Object.getOwnPropertySymbols;\nvar __hasOwnProp = Object.prototype.hasOwnProperty;\nvar __propIsEnum = Object.prototype.propertyIsEnumerable;\nvar __defNormalProp = (obj, key, value) => key in obj ? __defProp(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;\nvar __spreadValues = (a, b) => {\n for (var prop in b || (b = {}))\n if (__hasOwnProp.call(b, prop))\n __defNormalProp(a, prop, b[prop]);\n if (__getOwnPropSymbols)\n for (var prop of __getOwnPropSymbols(b)) {\n if (__propIsEnum.call(b, prop))\n __defNormalProp(a, prop, b[prop]);\n }\n return a;\n};\nvar __spreadProps = (a, b) => __defProps(a, __getOwnPropDescs(b));\nfunction timeShiftQueryResponseOperator(data) {\n return data.pipe(\n map(([p, s]) => {\n const diff = s.timeRange.from.diff(p.timeRange.from);\n s.series.forEach((series) => {\n series.refId = getCompareSeriesRefId(series.refId || \"\");\n series.meta = __spreadProps(__spreadValues({}, series.meta), {\n timeCompare: {\n diffMs: diff,\n isTimeShiftQuery: true\n }\n });\n series.fields.forEach((field) => {\n if (field.type === FieldType.time) {\n field.values = field.values.map((v) => {\n return diff < 0 ? v - diff : v + diff;\n });\n }\n field.config = __spreadProps(__spreadValues({}, field.config), {\n color: {\n mode: \"fixed\",\n fixedColor: config.theme.palette.gray60\n }\n });\n return field;\n });\n });\n return __spreadProps(__spreadValues({}, p), {\n series: [...p.series, ...s.series]\n });\n })\n );\n}\n\nexport { timeShiftQueryResponseOperator };\n//# sourceMappingURL=timeShiftQueryResponseOperator.js.map\n","var __defProp = Object.defineProperty;\nvar __defProps = Object.defineProperties;\nvar __getOwnPropDescs = Object.getOwnPropertyDescriptors;\nvar __getOwnPropSymbols = Object.getOwnPropertySymbols;\nvar __hasOwnProp = Object.prototype.hasOwnProperty;\nvar __propIsEnum = Object.prototype.propertyIsEnumerable;\nvar __defNormalProp = (obj, key, value) => key in obj ? __defProp(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;\nvar __spreadValues = (a, b) => {\n for (var prop in b || (b = {}))\n if (__hasOwnProp.call(b, prop))\n __defNormalProp(a, prop, b[prop]);\n if (__getOwnPropSymbols)\n for (var prop of __getOwnPropSymbols(b)) {\n if (__propIsEnum.call(b, prop))\n __defNormalProp(a, prop, b[prop]);\n }\n return a;\n};\nvar __spreadProps = (a, b) => __defProps(a, __getOwnPropDescs(b));\nfunction filterAnnotations(data, filters) {\n var _a;\n if (!Array.isArray(data) || data.length === 0) {\n return data;\n }\n const rows = Array.from({ length: data.length }, () => /* @__PURE__ */ new Set());\n let frameIdx = 0;\n for (const frame of data) {\n for (let index = 0; index < frame.length; index++) {\n if (rows[frameIdx].has(index)) {\n continue;\n }\n let matching = true;\n const panelIdField = frame.fields.find((f) => f.name === \"panelId\");\n const sourceField = frame.fields.find((f) => f.name === \"source\");\n if (sourceField) {\n if (panelIdField && sourceField.values[index].type === \"dashboard\") {\n matching = panelIdField.values[index] === filters.panelId;\n }\n const sourceFilter = sourceField.values[index].filter;\n if (sourceFilter) {\n const includes = ((_a = sourceFilter.ids) != null ? _a : []).includes(filters.panelId);\n if (sourceFilter.exclude) {\n if (includes) {\n matching = false;\n }\n } else if (!includes) {\n matching = false;\n }\n }\n }\n if (matching) {\n rows[frameIdx].add(index);\n }\n }\n frameIdx++;\n }\n const processed = [];\n frameIdx = 0;\n for (const frame of data) {\n const frameLength = rows[frameIdx].size;\n const fields = [];\n for (const field of frame.fields) {\n const buffer = [];\n for (let index = 0; index < frame.length; index++) {\n if (rows[frameIdx].has(index)) {\n buffer.push(field.values[index]);\n continue;\n }\n }\n fields.push(__spreadProps(__spreadValues({}, field), {\n values: buffer\n }));\n }\n processed.push(__spreadProps(__spreadValues({}, frame), {\n fields,\n length: frameLength\n }));\n frameIdx++;\n }\n return processed;\n}\n\nexport { filterAnnotations };\n//# sourceMappingURL=filterAnnotations.js.map\n","function isSceneObject(obj) {\n return obj.useState !== void 0;\n}\nfunction isDataRequestEnricher(obj) {\n return \"enrichDataRequest\" in obj;\n}\n\nexport { isDataRequestEnricher, isSceneObject };\n//# sourceMappingURL=types.js.map\n","import { getTemplateSrv, getDataSourceSrv } from '@grafana/runtime';\n\nlet originalGetAdhocFilters = void 0;\nlet allActiveFilterSets = /* @__PURE__ */ new Set();\nfunction patchGetAdhocFilters(filterSet) {\n filterSet.addActivationHandler(() => {\n allActiveFilterSets.add(filterSet);\n return () => allActiveFilterSets.delete(filterSet);\n });\n if (originalGetAdhocFilters) {\n return;\n }\n const templateSrv = getTemplateSrv();\n if (!(templateSrv == null ? void 0 : templateSrv.getAdhocFilters)) {\n console.log(\"Failed to patch getAdhocFilters\");\n return;\n }\n originalGetAdhocFilters = templateSrv.getAdhocFilters;\n templateSrv.getAdhocFilters = function getAdhocFiltersScenePatch(dsName) {\n var _a;\n if (allActiveFilterSets.size === 0) {\n return originalGetAdhocFilters.call(templateSrv);\n }\n const ds = getDataSourceSrv().getInstanceSettings(dsName);\n if (!ds) {\n return [];\n }\n for (const filter of allActiveFilterSets.values()) {\n if (((_a = filter.state.datasource) == null ? void 0 : _a.uid) === ds.uid) {\n return filter.state.filters;\n }\n }\n return [];\n }.bind(templateSrv);\n}\nfunction findActiveAdHocFilterSetByUid(dsUid) {\n var _a;\n for (const filter of allActiveFilterSets.values()) {\n if (((_a = filter.state.datasource) == null ? void 0 : _a.uid) === dsUid) {\n return filter;\n }\n }\n return void 0;\n}\n\nexport { findActiveAdHocFilterSetByUid, patchGetAdhocFilters };\n//# sourceMappingURL=patchGetAdhocFilters.js.map\n","import { cloneDeep } from 'lodash';\nimport { ReplaySubject, merge, mergeAll, map, forkJoin } from 'rxjs';\nimport { LoadingState } from '@grafana/schema';\nimport { rangeUtil, preProcessPanelData, DataTopic, DataFrameView } from '@grafana/data';\nimport { getRunRequest, toDataQueryError } from '@grafana/runtime';\nimport { SceneObjectBase } from '../core/SceneObjectBase.js';\nimport { sceneGraph } from '../core/sceneGraph/index.js';\nimport { getDataSource } from '../utils/getDataSource.js';\nimport { VariableDependencyConfig } from '../variables/VariableDependencyConfig.js';\nimport { writeSceneLog } from '../utils/writeSceneLog.js';\nimport { VariableValueRecorder } from '../variables/VariableValueRecorder.js';\nimport { emptyPanelData } from '../core/SceneDataNode.js';\nimport { SceneTimeRangeCompare } from '../components/SceneTimeRangeCompare.js';\nimport { getClosest } from '../core/sceneGraph/utils.js';\nimport { timeShiftQueryResponseOperator } from './timeShiftQueryResponseOperator.js';\nimport { filterAnnotations } from './layers/annotations/filterAnnotations.js';\nimport { getEnrichedDataRequest } from './getEnrichedDataRequest.js';\nimport { findActiveAdHocFilterSetByUid } from '../variables/adhoc/patchGetAdhocFilters.js';\n\nvar __defProp = Object.defineProperty;\nvar __defProps = Object.defineProperties;\nvar __getOwnPropDescs = Object.getOwnPropertyDescriptors;\nvar __getOwnPropSymbols = Object.getOwnPropertySymbols;\nvar __hasOwnProp = Object.prototype.hasOwnProperty;\nvar __propIsEnum = Object.prototype.propertyIsEnumerable;\nvar __defNormalProp = (obj, key, value) => key in obj ? __defProp(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;\nvar __spreadValues = (a, b) => {\n for (var prop in b || (b = {}))\n if (__hasOwnProp.call(b, prop))\n __defNormalProp(a, prop, b[prop]);\n if (__getOwnPropSymbols)\n for (var prop of __getOwnPropSymbols(b)) {\n if (__propIsEnum.call(b, prop))\n __defNormalProp(a, prop, b[prop]);\n }\n return a;\n};\nvar __spreadProps = (a, b) => __defProps(a, __getOwnPropDescs(b));\nlet counter = 100;\nfunction getNextRequestId() {\n return \"SQR\" + counter++;\n}\nclass SceneQueryRunner extends SceneObjectBase {\n constructor(initialState) {\n super(initialState);\n this._variableValueRecorder = new VariableValueRecorder();\n this._results = new ReplaySubject();\n this._scopedVars = { __sceneObject: { value: this, text: \"__sceneObject\" } };\n this._variableDependency = new VariableDependencyConfig(this, {\n statePaths: [\"queries\", \"datasource\"],\n onVariableUpdatesCompleted: (variables, dependencyChanged) => this.onVariableUpdatesCompleted(variables, dependencyChanged)\n });\n this.prepareRequests = (timeRange, ds) => {\n const comparer = this.getTimeCompare();\n const { minInterval, queries } = this.state;\n let secondaryRequest;\n let request = __spreadValues({\n app: \"scenes\",\n requestId: getNextRequestId(),\n timezone: timeRange.getTimeZone(),\n panelId: 1,\n range: timeRange.state.value,\n interval: \"1s\",\n intervalMs: 1e3,\n targets: cloneDeep(queries),\n maxDataPoints: this.getMaxDataPoints(),\n scopedVars: this._scopedVars,\n startTime: Date.now(),\n liveStreaming: this.state.liveStreaming,\n rangeRaw: {\n from: timeRange.state.from,\n to: timeRange.state.to\n }\n }, getEnrichedDataRequest(this));\n if (this._adhocFilterSet) {\n request.filters = this._adhocFilterSet.state.filters;\n }\n request.targets = request.targets.map((query) => {\n if (!query.datasource) {\n query.datasource = ds.getRef();\n }\n return query;\n });\n const lowerIntervalLimit = minInterval ? minInterval : ds.interval;\n const norm = rangeUtil.calculateInterval(timeRange.state.value, request.maxDataPoints, lowerIntervalLimit);\n request.scopedVars = Object.assign({}, request.scopedVars, {\n __interval: { text: norm.interval, value: norm.interval },\n __interval_ms: { text: norm.intervalMs.toString(), value: norm.intervalMs }\n });\n request.interval = norm.interval;\n request.intervalMs = norm.intervalMs;\n const primaryTimeRange = timeRange.state.value;\n if (comparer) {\n const secondaryTimeRange = comparer.getCompareTimeRange(primaryTimeRange);\n if (secondaryTimeRange) {\n secondaryRequest = __spreadProps(__spreadValues({}, request), {\n range: secondaryTimeRange,\n requestId: getNextRequestId()\n });\n request = __spreadProps(__spreadValues({}, request), {\n range: primaryTimeRange\n });\n }\n }\n return [request, secondaryRequest];\n };\n this.onDataReceived = (data) => {\n this._results.next({ origin: this, data });\n const preProcessedData = preProcessPanelData(data, this.state.data);\n const dataWithLayersApplied = this._combineDataLayers(preProcessedData);\n let hasFetchedData = this.state._hasFetchedData;\n if (!hasFetchedData && preProcessedData.state !== LoadingState.Loading) {\n hasFetchedData = true;\n }\n this._resultAnnotations = data.annotations;\n this.setState({\n data: dataWithLayersApplied,\n _hasFetchedData: hasFetchedData\n });\n };\n this.addActivationHandler(() => this._onActivate());\n }\n getResultsStream() {\n return this._results;\n }\n _onActivate() {\n const timeRange = sceneGraph.getTimeRange(this);\n const comparer = this.getTimeCompare();\n if (comparer) {\n this._subs.add(\n comparer.subscribeToState((n, p) => {\n if (n.compareWith !== p.compareWith) {\n this.runQueries();\n }\n })\n );\n }\n this._subs.add(\n timeRange.subscribeToState(() => {\n this.runWithTimeRange(timeRange);\n })\n );\n if (this.shouldRunQueriesOnActivate()) {\n this.runQueries();\n }\n return () => this._onDeactivate();\n }\n _handleDataLayers() {\n const dataLayers = sceneGraph.getDataLayers(this);\n const observables = [];\n const resultsMap = /* @__PURE__ */ new Map();\n if (dataLayers.length > 0) {\n dataLayers.forEach((layer) => {\n observables.push(layer.getResultsStream());\n });\n this._dataLayersSub = merge(observables).pipe(\n mergeAll(),\n map((v) => {\n resultsMap.set(v.origin.state.key, v.data);\n return resultsMap;\n })\n ).subscribe((result) => {\n this._onLayersReceived(result);\n });\n }\n }\n _onLayersReceived(results) {\n var _a, _b;\n const timeRange = sceneGraph.getTimeRange(this);\n const dataLayers = sceneGraph.getDataLayers(this);\n const { dataLayerFilter } = this.state;\n let annotations = [];\n let alertStates = [];\n let alertState;\n const layerKeys = Array.from(results.keys());\n Array.from(results.values()).forEach((result, i) => {\n const layerKey = layerKeys[i];\n const layer = dataLayers.find((l) => l.state.key === layerKey);\n if (layer) {\n if (layer.topic === DataTopic.Annotations && result[DataTopic.Annotations]) {\n annotations = annotations.concat(result[DataTopic.Annotations]);\n }\n if (layer.topic === \"alertStates\") {\n alertStates = alertStates.concat(result.series);\n }\n }\n });\n if (dataLayerFilter == null ? void 0 : dataLayerFilter.panelId) {\n if (annotations.length > 0) {\n annotations = filterAnnotations(annotations, dataLayerFilter);\n }\n if (alertStates.length > 0) {\n for (const frame of alertStates) {\n const frameView = new DataFrameView(frame);\n for (const row of frameView) {\n if (row.panelId === dataLayerFilter.panelId) {\n alertState = row;\n break;\n }\n }\n }\n }\n }\n const baseStateUpdate = this.state.data ? this.state.data : __spreadProps(__spreadValues({}, emptyPanelData), { timeRange: timeRange.state.value });\n this._layerAnnotations = annotations;\n this.setState({\n data: __spreadProps(__spreadValues({}, baseStateUpdate), {\n annotations: [...(_a = this._resultAnnotations) != null ? _a : [], ...annotations],\n alertState: alertState != null ? alertState : (_b = this.state.data) == null ? void 0 : _b.alertState\n })\n });\n }\n onVariableUpdatesCompleted(_variablesThatHaveChanged, dependencyChanged) {\n if (!this.state.maxDataPoints && this.state.maxDataPointsFromWidth && !this._containerWidth) {\n return;\n }\n if (this.state._isWaitingForVariables) {\n this.runQueries();\n return;\n }\n if (dependencyChanged) {\n this.runQueries();\n }\n }\n shouldRunQueriesOnActivate() {\n if (!this.state.maxDataPoints && this.state.maxDataPointsFromWidth && !this._containerWidth) {\n return false;\n }\n if (this._variableValueRecorder.hasDependenciesChanged(this)) {\n writeSceneLog(\n \"SceneQueryRunner\",\n \"Variable dependency changed while inactive, shouldRunQueriesOnActivate returns true\"\n );\n return true;\n }\n if (!this.state.data) {\n return true;\n }\n if (this._isDataTimeRangeStale(this.state.data)) {\n return true;\n }\n return false;\n }\n _isDataTimeRangeStale(data) {\n const timeRange = sceneGraph.getTimeRange(this);\n const stateTimeRange = timeRange.state.value;\n const dataTimeRange = data.timeRange;\n if (stateTimeRange.from.unix() === dataTimeRange.from.unix() && stateTimeRange.to.unix() === dataTimeRange.to.unix()) {\n return false;\n }\n writeSceneLog(\"SceneQueryRunner\", \"Data time range is stale\");\n return true;\n }\n _onDeactivate() {\n if (this._querySub) {\n this._querySub.unsubscribe();\n this._querySub = void 0;\n }\n if (this._dataLayersSub) {\n this._dataLayersSub.unsubscribe();\n this._dataLayersSub = void 0;\n }\n if (this._adhocFilterSub) {\n this._adhocFilterSub.unsubscribe();\n }\n this._variableValueRecorder.recordCurrentDependencyValuesForSceneObject(this);\n }\n setContainerWidth(width) {\n if (!this._containerWidth && width > 0) {\n this._containerWidth = width;\n if (this.state.maxDataPointsFromWidth && !this.state.maxDataPoints) {\n setTimeout(() => {\n if (this.isActive && !this.state._hasFetchedData) {\n this.runQueries();\n }\n }, 0);\n }\n } else {\n if (width > 0) {\n this._containerWidth = width;\n }\n }\n }\n isDataReadyToDisplay() {\n return Boolean(this.state._hasFetchedData);\n }\n runQueries() {\n const timeRange = sceneGraph.getTimeRange(this);\n this.runWithTimeRange(timeRange);\n }\n getMaxDataPoints() {\n var _a;\n if (this.state.maxDataPoints) {\n return this.state.maxDataPoints;\n }\n return this.state.maxDataPointsFromWidth ? (_a = this._containerWidth) != null ? _a : 500 : 500;\n }\n cancelQuery() {\n var _a;\n (_a = this._querySub) == null ? void 0 : _a.unsubscribe();\n if (this._dataLayersSub) {\n this._dataLayersSub.unsubscribe();\n this._dataLayersSub = void 0;\n }\n this.setState({\n data: __spreadProps(__spreadValues({}, this.state.data), { state: LoadingState.Done })\n });\n }\n async runWithTimeRange(timeRange) {\n var _a, _b;\n if (!this._dataLayersSub) {\n this._handleDataLayers();\n }\n const runRequest = getRunRequest();\n (_a = this._querySub) == null ? void 0 : _a.unsubscribe();\n if (sceneGraph.hasVariableDependencyInLoadingState(this)) {\n writeSceneLog(\"SceneQueryRunner\", \"Variable dependency is in loading state, skipping query execution\");\n this.setState({ _isWaitingForVariables: true });\n return;\n }\n if (this.state._isWaitingForVariables) {\n this.setState({ _isWaitingForVariables: false });\n }\n const { queries } = this.state;\n if (!(queries == null ? void 0 : queries.length)) {\n this._setNoDataState();\n return;\n }\n try {\n const datasource = (_b = this.state.datasource) != null ? _b : findFirstDatasource(queries);\n const ds = await getDataSource(datasource, this._scopedVars);\n if (!this._adhocFilterSet) {\n this.findAndSubscribeToAdhocFilters(datasource == null ? void 0 : datasource.uid);\n }\n const [request, secondaryRequest] = this.prepareRequests(timeRange, ds);\n writeSceneLog(\"SceneQueryRunner\", \"Starting runRequest\", this.state.key);\n if (secondaryRequest) {\n this._querySub = forkJoin([runRequest(ds, request), runRequest(ds, secondaryRequest)]).pipe(timeShiftQueryResponseOperator).subscribe(this.onDataReceived);\n } else {\n this._querySub = runRequest(ds, request).subscribe(this.onDataReceived);\n }\n } catch (err) {\n console.error(\"PanelQueryRunner Error\", err);\n const result = __spreadProps(__spreadValues(__spreadValues({}, emptyPanelData), this.state.data), {\n state: LoadingState.Error,\n errors: [toDataQueryError(err)]\n });\n this.setState({\n data: result\n });\n }\n }\n _combineDataLayers(data) {\n var _a;\n if (this.state.data && this.state.data.annotations) {\n data.annotations = (data.annotations || []).concat((_a = this._layerAnnotations) != null ? _a : []);\n }\n if (this.state.data && this.state.data.alertState) {\n data.alertState = this.state.data.alertState;\n }\n return data;\n }\n _setNoDataState() {\n if (this.state.data !== emptyPanelData) {\n this.setState({ data: emptyPanelData });\n }\n }\n getTimeCompare() {\n if (!this.parent) {\n return null;\n }\n return getClosest(this.parent, (s) => {\n let found = null;\n if (s instanceof SceneTimeRangeCompare) {\n return s;\n }\n s.forEachChild((child) => {\n if (child instanceof SceneTimeRangeCompare) {\n found = child;\n }\n });\n return found;\n });\n }\n findAndSubscribeToAdhocFilters(uid) {\n var _a;\n const set = findActiveAdHocFilterSetByUid(uid);\n if (!set || set.state.applyMode !== \"same-datasource\") {\n return;\n }\n this._adhocFilterSet = set;\n this._adhocFilterSub = (_a = this._adhocFilterSet) == null ? void 0 : _a.subscribeToState(() => this.runQueries());\n }\n}\nfunction findFirstDatasource(targets) {\n var _a, _b;\n return (_b = (_a = targets.find((t) => t.datasource !== null)) == null ? void 0 : _a.datasource) != null ? _b : void 0;\n}\n\nexport { SceneQueryRunner, findFirstDatasource, getNextRequestId };\n//# sourceMappingURL=SceneQueryRunner.js.map\n","import { isDataRequestEnricher } from '../core/types.js';\n\nfunction getEnrichedDataRequest(sourceRunner) {\n const root = sourceRunner.getRoot();\n if (isDataRequestEnricher(root)) {\n return root.enrichDataRequest(sourceRunner);\n }\n return null;\n}\n\nexport { getEnrichedDataRequest };\n//# sourceMappingURL=getEnrichedDataRequest.js.map\n","const Components = {\n Breadcrumbs: {\n breadcrumb: (title) => `data-testid ${title} breadcrumb`\n },\n TimePicker: {\n openButton: \"data-testid TimePicker Open Button\",\n fromField: \"Time Range from field\",\n toField: \"Time Range to field\",\n applyTimeRange: \"data-testid TimePicker submit button\",\n calendar: {\n label: \"Time Range calendar\",\n openButton: \"Open time range calendar\",\n closeButton: \"Close time range Calendar\"\n },\n absoluteTimeRangeTitle: \"data-testid-absolute-time-range-narrow\"\n },\n DataSourcePermissions: {\n form: () => 'form[name=\"addPermission\"]',\n roleType: \"Role to add new permission to\",\n rolePicker: \"Built-in role picker\",\n permissionLevel: \"Permission Level\"\n },\n DataSource: {\n TestData: {\n QueryTab: {\n scenarioSelectContainer: \"Test Data Query scenario select container\",\n scenarioSelect: \"Test Data Query scenario select\",\n max: \"TestData max\",\n min: \"TestData min\",\n noise: \"TestData noise\",\n seriesCount: \"TestData series count\",\n spread: \"TestData spread\",\n startValue: \"TestData start value\",\n drop: \"TestData drop values\"\n }\n },\n DataSourceHttpSettings: {\n urlInput: \"Datasource HTTP settings url\"\n },\n Jaeger: {\n traceIDInput: \"Trace ID\"\n },\n Prometheus: {\n configPage: {\n exemplarsAddButton: \"Add exemplar config button\",\n internalLinkSwitch: \"Internal link switch\"\n },\n exemplarMarker: \"Exemplar marker\"\n }\n },\n Menu: {\n MenuComponent: (title) => `${title} menu`,\n MenuGroup: (title) => `${title} menu group`,\n MenuItem: (title) => `${title} menu item`,\n SubMenu: {\n container: \"SubMenu container\",\n icon: \"SubMenu icon\"\n }\n },\n Panels: {\n Panel: {\n title: (title) => `data-testid Panel header ${title}`,\n headerItems: (item) => `Panel header item ${item}`,\n menuItems: (item) => `data-testid Panel menu item ${item}`,\n menu: (title) => `data-testid Panel menu ${title}`,\n containerByTitle: (title) => `${title} panel`,\n headerCornerInfo: (mode) => `Panel header ${mode}`,\n loadingBar: () => `Panel loading bar`,\n HoverWidget: {\n container: \"data-test-id hover-header-container\",\n dragIcon: \"data-testid drag-icon\"\n }\n },\n Visualization: {\n Graph: {\n container: \"Graph container\",\n VisualizationTab: {\n legendSection: \"Legend section\"\n },\n Legend: {\n legendItemAlias: (name) => `gpl alias ${name}`,\n showLegendSwitch: \"gpl show legend\"\n },\n xAxis: {\n labels: () => \"div.flot-x-axis > div.flot-tick-label\"\n }\n },\n BarGauge: {\n /**\n * @deprecated use valueV2 from Grafana 8.3 instead\n */\n value: \"Bar gauge value\",\n valueV2: \"data-testid Bar gauge value\"\n },\n PieChart: {\n svgSlice: \"Pie Chart Slice\"\n },\n Text: {\n container: () => \".markdown-html\"\n },\n Table: {\n header: \"table header\",\n footer: \"table-footer\"\n }\n }\n },\n VizLegend: {\n seriesName: (name) => `VizLegend series ${name}`\n },\n Drawer: {\n General: {\n title: (title) => `Drawer title ${title}`,\n expand: \"Drawer expand\",\n contract: \"Drawer contract\",\n close: \"Drawer close\",\n rcContentWrapper: () => \".rc-drawer-content-wrapper\"\n }\n },\n PanelEditor: {\n General: {\n content: \"Panel editor content\"\n },\n OptionsPane: {\n content: \"Panel editor option pane content\",\n select: \"Panel editor option pane select\",\n fieldLabel: (type) => `${type} field property editor`\n },\n // not sure about the naming *DataPane*\n DataPane: {\n content: \"Panel editor data pane content\"\n },\n applyButton: \"data-testid Apply changes and go back to dashboard\",\n toggleVizPicker: \"data-testid toggle-viz-picker\",\n toggleVizOptions: \"data-testid toggle-viz-options\",\n toggleTableView: \"toggle-table-view\",\n // [Geomap] Map controls\n measureButton: \"show measure tools\"\n },\n PanelInspector: {\n Data: {\n content: \"Panel inspector Data content\"\n },\n Stats: {\n content: \"Panel inspector Stats content\"\n },\n Json: {\n content: \"Panel inspector Json content\"\n },\n Query: {\n content: \"Panel inspector Query content\",\n refreshButton: \"Panel inspector Query refresh button\",\n jsonObjectKeys: () => \".json-formatter-key\"\n }\n },\n Tab: {\n title: (title) => `Tab ${title}`,\n active: () => '[class*=\"-activeTabStyle\"]'\n },\n RefreshPicker: {\n /**\n * @deprecated use runButtonV2 from Grafana 8.3 instead\n */\n runButton: \"RefreshPicker run button\",\n /**\n * @deprecated use intervalButtonV2 from Grafana 8.3 instead\n */\n intervalButton: \"RefreshPicker interval button\",\n runButtonV2: \"data-testid RefreshPicker run button\",\n intervalButtonV2: \"data-testid RefreshPicker interval button\"\n },\n QueryTab: {\n content: \"Query editor tab content\",\n queryInspectorButton: \"Query inspector button\",\n queryHistoryButton: \"Rich history button\",\n addQuery: \"Query editor add query button\"\n },\n QueryHistory: {\n queryText: \"Query text\"\n },\n QueryEditorRows: {\n rows: \"Query editor row\"\n },\n QueryEditorRow: {\n actionButton: (title) => `${title}`,\n title: (refId) => `Query editor row title ${refId}`,\n container: (refId) => `Query editor row ${refId}`\n },\n AlertTab: {\n content: \"Alert editor tab content\"\n },\n Alert: {\n /**\n * @deprecated use alertV2 from Grafana 8.3 instead\n */\n alert: (severity) => `Alert ${severity}`,\n alertV2: (severity) => `data-testid Alert ${severity}`\n },\n TransformTab: {\n content: \"Transform editor tab content\",\n newTransform: (name) => `New transform ${name}`,\n transformationEditor: (name) => `Transformation editor ${name}`,\n transformationEditorDebugger: (name) => `Transformation editor debugger ${name}`\n },\n Transforms: {\n card: (name) => `New transform ${name}`,\n Reduce: {\n modeLabel: \"Transform mode label\",\n calculationsLabel: \"Transform calculations label\"\n },\n SpatialOperations: {\n actionLabel: \"root Action field property editor\",\n locationLabel: \"root Location field property editor\",\n location: {\n autoOption: \"Auto location option\",\n coords: {\n option: \"Coords location option\",\n latitudeFieldLabel: \"root Latitude field field property editor\",\n longitudeFieldLabel: \"root Longitude field field property editor\"\n },\n geohash: {\n option: \"Geohash location option\",\n geohashFieldLabel: \"root Geohash field field property editor\"\n },\n lookup: {\n option: \"Lookup location option\",\n lookupFieldLabel: \"root Lookup field field property editor\",\n gazetteerFieldLabel: \"root Gazetteer field property editor\"\n }\n }\n },\n searchInput: \"search transformations\"\n },\n NavBar: {\n Configuration: {\n button: \"Configuration\"\n },\n Toggle: {\n button: \"Toggle menu\"\n },\n Reporting: {\n button: \"Reporting\"\n }\n },\n NavMenu: {\n item: \"data-testid Nav menu item\"\n },\n NavToolbar: {\n container: \"data-testid Nav toolbar\"\n },\n PageToolbar: {\n container: () => \".page-toolbar\",\n item: (tooltip) => `${tooltip}`,\n itemButton: (title) => `data-testid ${title}`\n },\n QueryEditorToolbarItem: {\n button: (title) => `QueryEditor toolbar item button ${title}`\n },\n BackButton: {\n backArrow: \"Go Back\"\n },\n OptionsGroup: {\n group: (title) => title ? `Options group ${title}` : \"Options group\",\n toggle: (title) => title ? `Options group ${title} toggle` : \"Options group toggle\"\n },\n PluginVisualization: {\n item: (title) => `Plugin visualization item ${title}`,\n current: () => '[class*=\"-currentVisualizationItem\"]'\n },\n Select: {\n option: \"Select option\",\n input: () => 'input[id*=\"time-options-input\"]',\n singleValue: () => 'div[class*=\"-singleValue\"]'\n },\n FieldConfigEditor: {\n content: \"Field config editor content\"\n },\n OverridesConfigEditor: {\n content: \"Field overrides editor content\"\n },\n FolderPicker: {\n /**\n * @deprecated use containerV2 from Grafana 8.3 instead\n */\n container: \"Folder picker select container\",\n containerV2: \"data-testid Folder picker select container\",\n input: \"Select a folder\"\n },\n ReadonlyFolderPicker: {\n container: \"data-testid Readonly folder picker select container\"\n },\n DataSourcePicker: {\n container: \"data-testid Data source picker select container\",\n /**\n * @deprecated use inputV2 instead\n */\n input: () => 'input[id=\"data-source-picker\"]',\n inputV2: \"Select a data source\"\n },\n TimeZonePicker: {\n /**\n * @deprecated use TimeZonePicker.containerV2 from Grafana 8.3 instead\n */\n container: \"Time zone picker select container\",\n containerV2: \"data-testid Time zone picker select container\"\n },\n WeekStartPicker: {\n /**\n * @deprecated use WeekStartPicker.containerV2 from Grafana 8.3 instead\n */\n container: \"Choose starting day of the week\",\n containerV2: \"data-testid Choose starting day of the week\",\n placeholder: \"Choose starting day of the week\"\n },\n TraceViewer: {\n spanBar: \"data-testid SpanBar--wrapper\"\n },\n QueryField: { container: \"Query field\" },\n QueryBuilder: {\n queryPatterns: \"Query patterns\",\n labelSelect: \"Select label\",\n valueSelect: \"Select value\",\n matchOperatorSelect: \"Select match operator\"\n },\n ValuePicker: {\n button: (name) => `Value picker button ${name}`,\n select: (name) => `Value picker select ${name}`\n },\n Search: {\n /**\n * @deprecated use sectionV2 from Grafana 8.3 instead\n */\n section: \"Search section\",\n sectionV2: \"data-testid Search section\",\n /**\n * @deprecated use itemsV2 from Grafana 8.3 instead\n */\n items: \"Search items\",\n itemsV2: \"data-testid Search items\",\n cards: \"data-testid Search cards\",\n collapseFolder: (sectionId) => `data-testid Collapse folder ${sectionId}`,\n expandFolder: (sectionId) => `data-testid Expand folder ${sectionId}`,\n dashboardItem: (item) => `${Components.Search.dashboardItems} ${item}`,\n dashboardCard: (item) => `data-testid Search card ${item}`,\n folderHeader: (folderName) => `data-testid Folder header ${folderName}`,\n folderContent: (folderName) => `data-testid Folder content ${folderName}`,\n dashboardItems: \"data-testid Dashboard search item\"\n },\n DashboardLinks: {\n container: \"data-testid Dashboard link container\",\n dropDown: \"data-testid Dashboard link dropdown\",\n link: \"data-testid Dashboard link\"\n },\n LoadingIndicator: {\n icon: \"Loading indicator\"\n },\n CallToActionCard: {\n /**\n * @deprecated use buttonV2 from Grafana 8.3 instead\n */\n button: (name) => `Call to action button ${name}`,\n buttonV2: (name) => `data-testid Call to action button ${name}`\n },\n DataLinksContextMenu: {\n singleLink: \"Data link\"\n },\n CodeEditor: {\n container: \"Code editor container\"\n },\n DashboardImportPage: {\n textarea: \"data-testid-import-dashboard-textarea\",\n submit: \"data-testid-load-dashboard\"\n },\n ImportDashboardForm: {\n name: \"data-testid-import-dashboard-title\",\n submit: \"data-testid-import-dashboard-submit\"\n },\n PanelAlertTabContent: {\n content: \"Unified alert editor tab content\"\n },\n VisualizationPreview: {\n card: (name) => `data-testid suggestion-${name}`\n },\n ColorSwatch: {\n name: `data-testid-colorswatch`\n },\n DashboardRow: {\n title: (title) => `data-testid dashboard-row-title-${title}`\n },\n UserProfile: {\n profileSaveButton: \"data-testid-user-profile-save\",\n preferencesSaveButton: \"data-testid-shared-prefs-save\",\n orgsTable: \"data-testid-user-orgs-table\",\n sessionsTable: \"data-testid-user-sessions-table\"\n },\n FileUpload: {\n inputField: \"data-testid-file-upload-input-field\",\n fileNameSpan: \"data-testid-file-upload-file-name\"\n },\n DebugOverlay: {\n wrapper: \"debug-overlay\"\n },\n OrgRolePicker: {\n input: \"Role\"\n },\n AnalyticsToolbarButton: {\n button: \"Dashboard insights\"\n },\n Variables: {\n variableOption: \"data-testid variable-option\"\n },\n Annotations: {\n annotationsTypeInput: \"annotations-type-input\",\n annotationsChoosePanelInput: \"choose-panels-input\"\n }\n};\n\nexport { Components };\n//# sourceMappingURL=components.js.map\n","import { Components } from './components.js';\nexport { Components } from './components.js';\nimport { Pages } from './pages.js';\nexport { Pages } from './pages.js';\n\nconst selectors = {\n pages: Pages,\n components: Components\n};\n\nexport { selectors };\n//# sourceMappingURL=index.js.map\n","import { Components } from './components.js';\n\nconst Pages = {\n Login: {\n url: \"/login\",\n username: \"Username input field\",\n password: \"Password input field\",\n submit: \"Login button\",\n skip: \"Skip change password button\"\n },\n Home: {\n url: \"/\"\n },\n DataSource: {\n name: \"Data source settings page name input field\",\n delete: \"Data source settings page Delete button\",\n readOnly: \"Data source settings page read only message\",\n saveAndTest: \"data-testid Data source settings page Save and Test button\",\n alert: \"Data source settings page Alert\"\n },\n DataSources: {\n url: \"/datasources\",\n dataSources: (dataSourceName) => `Data source list item ${dataSourceName}`\n },\n EditDataSource: {\n url: (dataSourceUid) => `/datasources/edit/${dataSourceUid}`,\n settings: \"Datasource settings page basic settings\"\n },\n AddDataSource: {\n url: \"/datasources/new\",\n /** @deprecated Use dataSourcePluginsV2 */\n dataSourcePlugins: (pluginName) => `Data source plugin item ${pluginName}`,\n dataSourcePluginsV2: (pluginName) => `Add new data source ${pluginName}`\n },\n ConfirmModal: {\n delete: \"data-testid Confirm Modal Danger Button\"\n },\n AddDashboard: {\n url: \"/dashboard/new\",\n itemButton: (title) => `data-testid ${title}`,\n addNewPanel: \"Add new panel\",\n addNewRow: \"Add new row\",\n addNewPanelLibrary: \"Add new panel from panel library\"\n },\n Dashboard: {\n url: (uid) => `/d/${uid}`,\n DashNav: {\n /**\n * @deprecated use navV2 from Grafana 8.3 instead\n */\n nav: \"Dashboard navigation\",\n navV2: \"data-testid Dashboard navigation\",\n publicDashboardTag: \"data-testid public dashboard tag\"\n },\n SubMenu: {\n submenu: \"Dashboard submenu\",\n submenuItem: \"data-testid template variable\",\n submenuItemLabels: (item) => `data-testid Dashboard template variables submenu Label ${item}`,\n submenuItemValueDropDownValueLinkTexts: (item) => `data-testid Dashboard template variables Variable Value DropDown value link text ${item}`,\n submenuItemValueDropDownDropDown: \"Variable options\",\n submenuItemValueDropDownOptionTexts: (item) => `data-testid Dashboard template variables Variable Value DropDown option text ${item}`,\n Annotations: {\n annotationsWrapper: \"data-testid annotation-wrapper\",\n annotationLabel: (label) => `data-testid Dashboard annotations submenu Label ${label}`,\n annotationToggle: (label) => `data-testid Dashboard annotations submenu Toggle ${label}`\n }\n },\n Settings: {\n Actions: {\n close: \"data-testid dashboard-settings-close\"\n },\n General: {\n deleteDashBoard: \"Dashboard settings page delete dashboard button\",\n sectionItems: (item) => `Dashboard settings section item ${item}`,\n saveDashBoard: \"Dashboard settings aside actions Save button\",\n saveAsDashBoard: \"Dashboard settings aside actions Save As button\",\n /**\n * @deprecated use components.TimeZonePicker.containerV2 from Grafana 8.3 instead\n */\n timezone: \"Time zone picker select container\",\n title: \"Tab General\"\n },\n Annotations: {\n List: {\n /**\n * @deprecated use addAnnotationCTAV2 from Grafana 8.3 instead\n */\n addAnnotationCTA: Components.CallToActionCard.button(\"Add annotation query\"),\n addAnnotationCTAV2: Components.CallToActionCard.buttonV2(\"Add annotation query\")\n },\n Settings: {\n name: \"Annotations settings name input\"\n },\n NewAnnotation: {\n panelFilterSelect: \"data-testid annotations-panel-filter\",\n showInLabel: \"show-in-label\",\n previewInDashboard: \"data-testid annotations-preview\"\n }\n },\n Variables: {\n List: {\n /**\n * @deprecated use addVariableCTAV2 from Grafana 8.3 instead\n */\n addVariableCTA: Components.CallToActionCard.button(\"Add variable\"),\n addVariableCTAV2: Components.CallToActionCard.buttonV2(\"Add variable\"),\n newButton: \"Variable editor New variable button\",\n table: \"Variable editor Table\",\n tableRowNameFields: (variableName) => `Variable editor Table Name field ${variableName}`,\n tableRowDefinitionFields: (variableName) => `Variable editor Table Definition field ${variableName}`,\n tableRowArrowUpButtons: (variableName) => `Variable editor Table ArrowUp button ${variableName}`,\n tableRowArrowDownButtons: (variableName) => `Variable editor Table ArrowDown button ${variableName}`,\n tableRowDuplicateButtons: (variableName) => `Variable editor Table Duplicate button ${variableName}`,\n tableRowRemoveButtons: (variableName) => `Variable editor Table Remove button ${variableName}`\n },\n Edit: {\n General: {\n headerLink: \"Variable editor Header link\",\n modeLabelNew: \"Variable editor Header mode New\",\n /**\n * @deprecated\n */\n modeLabelEdit: \"Variable editor Header mode Edit\",\n generalNameInput: \"Variable editor Form Name field\",\n generalNameInputV2: \"data-testid Variable editor Form Name field\",\n generalTypeSelect: \"Variable editor Form Type select\",\n generalTypeSelectV2: \"data-testid Variable editor Form Type select\",\n generalLabelInput: \"Variable editor Form Label field\",\n generalLabelInputV2: \"data-testid Variable editor Form Label field\",\n generalHideSelect: \"Variable editor Form Hide select\",\n generalHideSelectV2: \"data-testid Variable editor Form Hide select\",\n selectionOptionsMultiSwitch: \"Variable editor Form Multi switch\",\n selectionOptionsIncludeAllSwitch: \"Variable editor Form IncludeAll switch\",\n selectionOptionsCustomAllInput: \"Variable editor Form IncludeAll field\",\n selectionOptionsCustomAllInputV2: \"data-testid Variable editor Form IncludeAll field\",\n previewOfValuesOption: \"Variable editor Preview of Values option\",\n submitButton: \"Variable editor Submit button\",\n applyButton: \"data-testid Variable editor Apply button\"\n },\n QueryVariable: {\n queryOptionsDataSourceSelect: Components.DataSourcePicker.container,\n queryOptionsRefreshSelect: \"Variable editor Form Query Refresh select\",\n queryOptionsRefreshSelectV2: \"data-testid Variable editor Form Query Refresh select\",\n queryOptionsRegExInput: \"Variable editor Form Query RegEx field\",\n queryOptionsRegExInputV2: \"data-testid Variable editor Form Query RegEx field\",\n queryOptionsSortSelect: \"Variable editor Form Query Sort select\",\n queryOptionsSortSelectV2: \"data-testid Variable editor Form Query Sort select\",\n queryOptionsQueryInput: \"Variable editor Form Default Variable Query Editor textarea\",\n valueGroupsTagsEnabledSwitch: \"Variable editor Form Query UseTags switch\",\n valueGroupsTagsTagsQueryInput: \"Variable editor Form Query TagsQuery field\",\n valueGroupsTagsTagsValuesQueryInput: \"Variable editor Form Query TagsValuesQuery field\"\n },\n ConstantVariable: {\n constantOptionsQueryInput: \"Variable editor Form Constant Query field\",\n constantOptionsQueryInputV2: \"data-testid Variable editor Form Constant Query field\"\n },\n DatasourceVariable: {\n datasourceSelect: \"data-testid datasource variable datasource type\"\n },\n TextBoxVariable: {\n textBoxOptionsQueryInput: \"Variable editor Form TextBox Query field\",\n textBoxOptionsQueryInputV2: \"data-testid Variable editor Form TextBox Query field\"\n },\n CustomVariable: {\n customValueInput: \"data-testid custom-variable-input\"\n },\n IntervalVariable: {\n intervalsValueInput: \"data-testid interval variable intervals input\"\n }\n }\n }\n },\n Annotations: {\n marker: \"data-testid annotation-marker\"\n }\n },\n Dashboards: {\n url: \"/dashboards\",\n /**\n * @deprecated use components.Search.dashboardItem from Grafana 8.3 instead\n */\n dashboards: (title) => `Dashboard search item ${title}`\n },\n SaveDashboardAsModal: {\n newName: \"Save dashboard title field\",\n save: \"Save dashboard button\"\n },\n SaveDashboardModal: {\n save: \"Dashboard settings Save Dashboard Modal Save button\",\n saveVariables: \"Dashboard settings Save Dashboard Modal Save variables checkbox\",\n saveTimerange: \"Dashboard settings Save Dashboard Modal Save timerange checkbox\"\n },\n SharePanelModal: {\n linkToRenderedImage: \"Link to rendered image\"\n },\n ShareDashboardModal: {\n shareButton: \"Share dashboard or panel\",\n PublicDashboard: {\n Tab: \"Tab Public dashboard\",\n WillBePublicCheckbox: \"data-testid public dashboard will be public checkbox\",\n LimitedDSCheckbox: \"data-testid public dashboard limited datasources checkbox\",\n CostIncreaseCheckbox: \"data-testid public dashboard cost may increase checkbox\",\n PauseSwitch: \"data-testid public dashboard pause switch\",\n EnableAnnotationsSwitch: \"data-testid public dashboard on off switch for annotations\",\n CreateButton: \"data-testid public dashboard create button\",\n DeleteButton: \"data-testid public dashboard delete button\",\n CopyUrlInput: \"data-testid public dashboard copy url input\",\n CopyUrlButton: \"data-testid public dashboard copy url button\",\n TemplateVariablesWarningAlert: \"data-testid public dashboard disabled template variables alert\",\n UnsupportedDataSourcesWarningAlert: \"data-testid public dashboard unsupported data sources alert\",\n NoUpsertPermissionsWarningAlert: \"data-testid public dashboard no upsert permissions alert\",\n EnableTimeRangeSwitch: \"data-testid public dashboard on off switch for time range\",\n EmailSharingConfiguration: {\n Container: \"data-testid email sharing config container\",\n ShareType: \"data-testid public dashboard share type\",\n EmailSharingInput: \"data-testid public dashboard email sharing input\",\n EmailSharingInviteButton: \"data-testid public dashboard email sharing invite button\",\n EmailSharingList: \"data-testid public dashboard email sharing list\",\n DeleteEmail: \"data-testid public dashboard delete email button\",\n ReshareLink: \"data-testid public dashboard reshare link button\"\n }\n }\n },\n PublicDashboard: {\n page: \"public-dashboard-page\",\n NotAvailable: {\n container: \"public-dashboard-not-available\",\n title: \"public-dashboard-title\",\n pausedDescription: \"public-dashboard-paused-description\"\n }\n },\n RequestViewAccess: {\n form: \"request-view-access-form\",\n recipientInput: \"request-view-access-recipient-input\",\n submitButton: \"request-view-access-submit-button\"\n },\n Explore: {\n url: \"/explore\",\n General: {\n container: \"data-testid Explore\",\n graph: \"Explore Graph\",\n table: \"Explore Table\",\n scrollView: \"data-testid explorer scroll view\"\n }\n },\n SoloPanel: {\n url: (page) => `/d-solo/${page}`\n },\n PluginsList: {\n page: \"Plugins list page\",\n list: \"Plugins list\",\n listItem: \"Plugins list item\",\n signatureErrorNotice: \"Unsigned plugins notice\"\n },\n PluginPage: {\n page: \"Plugin page\",\n signatureInfo: \"Plugin signature info\",\n disabledInfo: \"Plugin disabled info\"\n },\n PlaylistForm: {\n name: \"Playlist name\",\n interval: \"Playlist interval\",\n itemDelete: \"Delete playlist item\"\n },\n BrowseDashbards: {\n table: {\n row: (uid) => `data-testid ${uid} row`,\n checkbox: (uid) => `data-testid ${uid} checkbox`\n }\n },\n Search: {\n url: \"/?search=openn\",\n FolderView: {\n url: \"/?search=open&layout=folders\"\n }\n },\n PublicDashboards: {\n ListItem: {\n linkButton: \"public-dashboard-link-button\",\n configButton: \"public-dashboard-configuration-button\",\n trashcanButton: \"public-dashboard-remove-button\"\n }\n },\n UserListPage: {\n tabs: {\n allUsers: \"data-testid all-users-tab\",\n orgUsers: \"data-testid org-users-tab\",\n publicDashboardsUsers: \"data-testid public-dashboards-users-tab\",\n users: \"data-testid users-tab\"\n },\n org: {\n url: \"/org/users\"\n },\n admin: {\n url: \"/admin/users\"\n },\n publicDashboards: {\n container: \"data-testid public-dashboards-users-list\"\n },\n UserListAdminPage: {\n container: \"data-testid user-list-admin-page\"\n },\n UsersListPage: {\n container: \"data-testid users-list-page\"\n },\n UsersListPublicDashboardsPage: {\n container: \"data-testid users-list-public-dashboards-page\",\n DashboardsListModal: {\n listItem: (uid) => `data-testid dashboards-list-item-${uid}`\n }\n }\n }\n};\n\nexport { Pages };\n//# sourceMappingURL=pages.js.map\n","import { selectors } from '@grafana/e2e-selectors';\nimport { Tooltip, Icon } from '@grafana/ui';\nimport React from 'react';\n\nfunction LoadingIndicator(props) {\n return /* @__PURE__ */ React.createElement(Tooltip, {\n content: \"Cancel query\"\n }, /* @__PURE__ */ React.createElement(Icon, {\n className: \"spin-clockwise\",\n name: \"sync\",\n size: \"xs\",\n \"aria-label\": selectors.components.LoadingIndicator.icon,\n role: \"button\",\n onMouseDown: (e) => {\n props.onCancel(e);\n }\n }));\n}\n\nexport { LoadingIndicator };\n//# sourceMappingURL=LoadingIndicator.js.map\n","import React from 'react';\nimport { useStyles2, useTheme2, Tooltip, Icon, IconButton } from '@grafana/ui';\nimport { selectors } from '@grafana/e2e-selectors';\nimport { css } from '@emotion/css';\nimport { LoadingIndicator } from './LoadingIndicator.js';\n\nfunction ControlsLabel(props) {\n const styles = useStyles2(getStyles);\n const theme = useTheme2();\n const isVertical = props.layout === \"vertical\";\n const loadingIndicator = Boolean(props.isLoading) ? /* @__PURE__ */ React.createElement(\"div\", {\n style: { marginLeft: theme.spacing(1), marginTop: \"-1px\" }\n }, /* @__PURE__ */ React.createElement(LoadingIndicator, {\n onCancel: (e) => {\n var _a;\n e.preventDefault();\n e.stopPropagation();\n (_a = props.onCancel) == null ? void 0 : _a.call(props);\n }\n })) : null;\n let errorIndicator = null;\n if (props.error) {\n errorIndicator = /* @__PURE__ */ React.createElement(Tooltip, {\n content: props.error,\n placement: \"bottom\"\n }, /* @__PURE__ */ React.createElement(Icon, {\n className: styles.errorIcon,\n name: \"exclamation-triangle\"\n }));\n }\n const testId = typeof props.label === \"string\" ? selectors.pages.Dashboard.SubMenu.submenuItemLabels(props.label) : \"\";\n let labelElement;\n if (isVertical) {\n labelElement = /* @__PURE__ */ React.createElement(\"label\", {\n className: styles.verticalLabel,\n \"data-testid\": testId,\n htmlFor: props.htmlFor\n }, props.label, errorIndicator, props.icon && /* @__PURE__ */ React.createElement(Icon, {\n name: props.icon,\n className: styles.normalIcon\n }), loadingIndicator, props.onRemove && /* @__PURE__ */ React.createElement(IconButton, {\n variant: \"secondary\",\n size: \"xs\",\n name: \"times\",\n onClick: props.onRemove,\n tooltip: \"Remove\"\n }));\n } else {\n labelElement = /* @__PURE__ */ React.createElement(\"label\", {\n className: styles.horizontalLabel,\n \"data-testid\": testId,\n htmlFor: props.htmlFor\n }, errorIndicator, props.icon && /* @__PURE__ */ React.createElement(Icon, {\n name: props.icon,\n className: styles.normalIcon\n }), props.label, loadingIndicator);\n }\n if (props.description) {\n return /* @__PURE__ */ React.createElement(Tooltip, {\n content: props.description,\n placement: isVertical ? \"top\" : \"bottom\"\n }, labelElement);\n }\n return labelElement;\n}\nconst getStyles = (theme) => ({\n horizontalLabel: css({\n background: theme.isDark ? theme.colors.background.primary : theme.colors.background.secondary,\n display: `flex`,\n alignItems: \"center\",\n padding: theme.spacing(0, 1),\n fontWeight: theme.typography.fontWeightMedium,\n fontSize: theme.typography.bodySmall.fontSize,\n height: theme.spacing(theme.components.height.md),\n lineHeight: theme.spacing(theme.components.height.md),\n borderRadius: theme.shape.borderRadius(1),\n border: `1px solid ${theme.components.input.borderColor}`,\n position: \"relative\",\n right: -1,\n whiteSpace: \"nowrap\",\n gap: theme.spacing(0.5)\n }),\n verticalLabel: css({\n display: `flex`,\n alignItems: \"center\",\n fontWeight: theme.typography.fontWeightMedium,\n fontSize: theme.typography.bodySmall.fontSize,\n lineHeight: theme.typography.bodySmall.lineHeight,\n whiteSpace: \"nowrap\",\n marginBottom: theme.spacing(0.5),\n gap: theme.spacing(1)\n }),\n errorIcon: css({\n color: theme.colors.error.text\n }),\n normalIcon: css({\n color: theme.colors.text.secondary\n })\n});\n\nexport { ControlsLabel };\n//# sourceMappingURL=ControlsLabel.js.map\n","import { css } from '@emotion/css';\nimport { LoadingState } from '@grafana/schema';\nimport { InlineSwitch } from '@grafana/ui';\nimport React from 'react';\nimport { sceneGraph } from '../../core/sceneGraph/index.js';\nimport { SceneObjectBase } from '../../core/SceneObjectBase.js';\nimport { ControlsLabel } from '../../utils/ControlsLabel.js';\n\nvar __defProp = Object.defineProperty;\nvar __defProps = Object.defineProperties;\nvar __getOwnPropDescs = Object.getOwnPropertyDescriptors;\nvar __getOwnPropSymbols = Object.getOwnPropertySymbols;\nvar __hasOwnProp = Object.prototype.hasOwnProperty;\nvar __propIsEnum = Object.prototype.propertyIsEnumerable;\nvar __defNormalProp = (obj, key, value) => key in obj ? __defProp(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;\nvar __spreadValues = (a, b) => {\n for (var prop in b || (b = {}))\n if (__hasOwnProp.call(b, prop))\n __defNormalProp(a, prop, b[prop]);\n if (__getOwnPropSymbols)\n for (var prop of __getOwnPropSymbols(b)) {\n if (__propIsEnum.call(b, prop))\n __defNormalProp(a, prop, b[prop]);\n }\n return a;\n};\nvar __spreadProps = (a, b) => __defProps(a, __getOwnPropDescs(b));\nclass SceneDataLayerControls extends SceneObjectBase {\n constructor() {\n super({ layersMap: {} });\n this.addActivationHandler(() => this._onActivate());\n }\n _onActivate() {\n const layers = sceneGraph.getDataLayers(this, true);\n this.setState({ layersMap: layers.reduce((acc, l) => __spreadProps(__spreadValues({}, acc), { [l.state.key]: l.state.isEnabled }), {}) });\n }\n toggleLayer(l) {\n this.setState({ layersMap: __spreadProps(__spreadValues({}, this.state.layersMap), { [l.state.key]: !l.state.isEnabled }) });\n l.setState({ isEnabled: !l.state.isEnabled });\n }\n}\nSceneDataLayerControls.Component = SceneDataLayerControlsRenderer;\nfunction SceneDataLayerControlsRenderer({ model }) {\n const { layersMap } = model.useState();\n const layers = sceneGraph.getDataLayers(model, true);\n if (layers.length === 0) {\n return null;\n }\n return /* @__PURE__ */ React.createElement(React.Fragment, null, layers.map((l) => {\n const elementId = `data-layer-${l.state.key}`;\n if (l.state.isHidden) {\n return null;\n }\n return /* @__PURE__ */ React.createElement(SceneDataLayerControl, {\n key: elementId,\n layer: l,\n onToggleLayer: () => model.toggleLayer(l),\n isEnabled: layersMap[l.state.key]\n });\n }));\n}\nfunction SceneDataLayerControl({ layer, isEnabled, onToggleLayer }) {\n var _a, _b;\n const elementId = `data-layer-${layer.state.key}`;\n const { data } = layer.useState();\n const showLoading = Boolean(data && data.state === LoadingState.Loading);\n return /* @__PURE__ */ React.createElement(\"div\", {\n className: containerStyle\n }, /* @__PURE__ */ React.createElement(ControlsLabel, {\n htmlFor: elementId,\n isLoading: showLoading,\n onCancel: () => {\n var _a2;\n return (_a2 = layer.cancelQuery) == null ? void 0 : _a2.call(layer);\n },\n label: layer.state.name,\n description: layer.state.description,\n error: (_b = (_a = layer.state.data) == null ? void 0 : _a.errors) == null ? void 0 : _b[0].message\n }), /* @__PURE__ */ React.createElement(InlineSwitch, {\n id: elementId,\n value: isEnabled,\n onChange: onToggleLayer\n }));\n}\nconst containerStyle = css({ display: \"flex\" });\n\nexport { SceneDataLayerControl, SceneDataLayerControls };\n//# sourceMappingURL=SceneDataLayerControls.js.map\n","import { transformDataFrame, LoadingState } from '@grafana/data';\nimport { toDataQueryError } from '@grafana/runtime';\nimport { ReplaySubject, map, catchError, of } from 'rxjs';\nimport { sceneGraph } from '../core/sceneGraph/index.js';\nimport { SceneObjectBase } from '../core/SceneObjectBase.js';\nimport { VariableDependencyConfig } from '../variables/VariableDependencyConfig.js';\nimport { SceneDataLayers } from './SceneDataLayers.js';\n\nvar __defProp = Object.defineProperty;\nvar __defProps = Object.defineProperties;\nvar __getOwnPropDescs = Object.getOwnPropertyDescriptors;\nvar __getOwnPropSymbols = Object.getOwnPropertySymbols;\nvar __hasOwnProp = Object.prototype.hasOwnProperty;\nvar __propIsEnum = Object.prototype.propertyIsEnumerable;\nvar __defNormalProp = (obj, key, value) => key in obj ? __defProp(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;\nvar __spreadValues = (a, b) => {\n for (var prop in b || (b = {}))\n if (__hasOwnProp.call(b, prop))\n __defNormalProp(a, prop, b[prop]);\n if (__getOwnPropSymbols)\n for (var prop of __getOwnPropSymbols(b)) {\n if (__propIsEnum.call(b, prop))\n __defNormalProp(a, prop, b[prop]);\n }\n return a;\n};\nvar __spreadProps = (a, b) => __defProps(a, __getOwnPropDescs(b));\nclass SceneDataTransformer extends SceneObjectBase {\n constructor(state) {\n super(state);\n this._results = new ReplaySubject();\n this._variableDependency = new VariableDependencyConfig(\n this,\n {\n statePaths: [\"transformations\"],\n onReferencedVariableValueChanged: () => this.reprocessTransformations()\n }\n );\n this.addActivationHandler(() => this.activationHandler());\n }\n activationHandler() {\n const sourceData = this.getSourceData();\n this._subs.add(sourceData.subscribeToState((state) => this.transform(state.data)));\n if (sourceData.state.data) {\n this.transform(sourceData.state.data);\n }\n return () => {\n if (this._transformSub) {\n this._transformSub.unsubscribe();\n }\n };\n }\n getSourceData() {\n if (this.state.$data) {\n if (this.state.$data instanceof SceneDataLayers) {\n throw new Error(\"SceneDataLayers can not be used as data provider for SceneDataTransformer.\");\n }\n return this.state.$data;\n }\n if (!this.parent || !this.parent.parent) {\n throw new Error(\"SceneDataTransformer must either have $data set on it or have a parent.parent with $data\");\n }\n return sceneGraph.getData(this.parent.parent);\n }\n setContainerWidth(width) {\n if (this.state.$data && this.state.$data.setContainerWidth) {\n this.state.$data.setContainerWidth(width);\n }\n }\n isDataReadyToDisplay() {\n const dataObject = this.getSourceData();\n if (dataObject.isDataReadyToDisplay) {\n return dataObject.isDataReadyToDisplay();\n }\n return true;\n }\n reprocessTransformations() {\n this.transform(this.getSourceData().state.data);\n }\n cancelQuery() {\n var _a, _b;\n (_b = (_a = this.getSourceData()).cancelQuery) == null ? void 0 : _b.call(_a);\n }\n getResultsStream() {\n return this._results;\n }\n transform(data) {\n const transformations = this.state.transformations || [];\n if (transformations.length === 0 || !data) {\n this.setState({ data });\n return;\n }\n if (this._transformSub) {\n this._transformSub.unsubscribe();\n }\n const ctx = {\n interpolate: (value) => {\n var _a;\n return sceneGraph.interpolate(this, value, (_a = data.request) == null ? void 0 : _a.scopedVars);\n }\n };\n this._transformSub = transformDataFrame(transformations, data.series, ctx).pipe(\n map((series) => __spreadProps(__spreadValues({}, data), { series })),\n catchError((err) => {\n var _a;\n console.error(\"Error transforming data: \", err);\n const sourceErr = ((_a = this.getSourceData().state.data) == null ? void 0 : _a.errors) || [];\n const transformationError = toDataQueryError(err);\n transformationError.message = `Error transforming data: ${transformationError.message}`;\n const result = __spreadProps(__spreadValues({}, data), {\n state: LoadingState.Error,\n errors: [...sourceErr, transformationError]\n });\n return of(result);\n })\n ).subscribe((data2) => {\n this._results.next({ origin: this, data: data2 });\n this.setState({ data: data2 });\n });\n }\n}\n\nexport { SceneDataTransformer };\n//# sourceMappingURL=SceneDataTransformer.js.map\n","import React from 'react';\nimport { VariableHide } from '@grafana/data';\nimport { SceneObjectBase } from '../../core/SceneObjectBase.js';\nimport { sceneGraph } from '../../core/sceneGraph/index.js';\nimport { ControlsLabel } from '../../utils/ControlsLabel.js';\nimport { css } from '@emotion/css';\n\nclass VariableValueSelectors extends SceneObjectBase {\n}\nVariableValueSelectors.Component = VariableValueSelectorsRenderer;\nfunction VariableValueSelectorsRenderer({ model }) {\n const variables = sceneGraph.getVariables(model).useState();\n return /* @__PURE__ */ React.createElement(React.Fragment, null, variables.variables.map((variable) => /* @__PURE__ */ React.createElement(VariableValueSelectWrapper, {\n key: variable.state.key,\n variable,\n layout: model.state.layout\n })));\n}\nfunction VariableValueSelectWrapper({ variable, layout }) {\n const state = variable.useState();\n if (state.hide === VariableHide.hideVariable) {\n return null;\n }\n if (layout === \"vertical\") {\n return /* @__PURE__ */ React.createElement(\"div\", {\n className: verticalContainer\n }, /* @__PURE__ */ React.createElement(VariableLabel, {\n variable,\n layout\n }), /* @__PURE__ */ React.createElement(variable.Component, {\n model: variable\n }));\n }\n return /* @__PURE__ */ React.createElement(\"div\", {\n className: containerStyle\n }, /* @__PURE__ */ React.createElement(VariableLabel, {\n variable\n }), /* @__PURE__ */ React.createElement(variable.Component, {\n model: variable\n }));\n}\nfunction VariableLabel({ variable, layout }) {\n var _a, _b;\n const { state } = variable;\n if (variable.state.hide === VariableHide.hideLabel) {\n return null;\n }\n const elementId = `var-${state.key}`;\n const labelOrName = (_a = state.label) != null ? _a : state.name;\n return /* @__PURE__ */ React.createElement(ControlsLabel, {\n htmlFor: elementId,\n isLoading: state.loading,\n onCancel: () => {\n var _a2;\n return (_a2 = variable.onCancel) == null ? void 0 : _a2.call(variable);\n },\n label: labelOrName,\n error: state.error,\n layout,\n description: (_b = state.description) != null ? _b : void 0\n });\n}\nconst containerStyle = css({ display: \"flex\" });\nconst verticalContainer = css({ display: \"flex\", flexDirection: \"column\" });\n\nexport { VariableValueSelectors };\n//# sourceMappingURL=VariableValueSelectors.js.map\n","import { VariableRefresh } from '@grafana/data';\nimport { sceneGraph } from '../../core/sceneGraph/index.js';\nimport { SceneObjectBase } from '../../core/SceneObjectBase.js';\nimport { writeSceneLog } from '../../utils/writeSceneLog.js';\nimport { SceneVariableValueChangedEvent } from '../types.js';\nimport { VariableValueRecorder } from '../VariableValueRecorder.js';\n\nclass SceneVariableSet extends SceneObjectBase {\n constructor(state) {\n super(state);\n this._variablesThatHaveChanged = /* @__PURE__ */ new Set();\n this._variablesToUpdate = /* @__PURE__ */ new Set();\n this._updating = /* @__PURE__ */ new Map();\n this._variableValueRecorder = new VariableValueRecorder();\n this._variableDependency = new SceneVariableSetVariableDependencyHandler(\n this._handleParentVariableUpdatesCompleted.bind(this)\n );\n this._onActivate = () => {\n const timeRange = sceneGraph.getTimeRange(this);\n this._subs.add(\n this.subscribeToEvent(SceneVariableValueChangedEvent, (event) => this._handleVariableValueChanged(event.payload))\n );\n this._subs.add(\n timeRange.subscribeToState(() => {\n this._refreshTimeRangeBasedVariables();\n })\n );\n this._subs.add(this.subscribeToState(this._onStateChanged));\n this._checkForVariablesThatChangedWhileInactive();\n for (const variable of this.state.variables) {\n if (this._variableNeedsUpdate(variable)) {\n this._variablesToUpdate.add(variable);\n }\n }\n this._updateNextBatch();\n return this._onDeactivate;\n };\n this._onDeactivate = () => {\n var _a;\n for (const update of this._updating.values()) {\n (_a = update.subscription) == null ? void 0 : _a.unsubscribe();\n }\n for (const variable of this.state.variables) {\n if (!this._variablesToUpdate.has(variable) && !this._updating.has(variable)) {\n this._variableValueRecorder.recordCurrentValue(variable);\n }\n }\n this._variablesToUpdate.clear();\n this._updating.clear();\n };\n this._onStateChanged = (newState, oldState) => {\n const variablesToUpdateCountStart = this._variablesToUpdate.size;\n for (const variable of oldState.variables) {\n if (!newState.variables.includes(variable)) {\n const updating = this._updating.get(variable);\n if (updating == null ? void 0 : updating.subscription) {\n updating.subscription.unsubscribe();\n }\n this._updating.delete(variable);\n this._variablesToUpdate.delete(variable);\n }\n }\n for (const variable of newState.variables) {\n if (!oldState.variables.includes(variable)) {\n if (this._variableNeedsUpdate(variable)) {\n this._variablesToUpdate.add(variable);\n }\n }\n }\n if (variablesToUpdateCountStart === 0 && this._variablesToUpdate.size > 0) {\n this._updateNextBatch();\n }\n };\n this.addActivationHandler(this._onActivate);\n }\n getByName(name) {\n return this.state.variables.find((x) => x.state.name === name);\n }\n _refreshTimeRangeBasedVariables() {\n for (const variable of this.state.variables) {\n if (\"refresh\" in variable.state && variable.state.refresh === VariableRefresh.onTimeRangeChanged) {\n this._variablesToUpdate.add(variable);\n }\n }\n this._updateNextBatch();\n }\n _checkForVariablesThatChangedWhileInactive() {\n if (!this._variableValueRecorder.hasValues()) {\n return;\n }\n for (const variable of this.state.variables) {\n if (this._variableValueRecorder.hasValueChanged(variable)) {\n writeVariableTraceLog(variable, \"Changed while in-active\");\n this._addDependentVariablesToUpdateQueue(variable);\n }\n }\n }\n _variableNeedsUpdate(variable) {\n if (!variable.validateAndUpdate) {\n return false;\n }\n if (this._variableValueRecorder.hasRecordedValue(variable)) {\n writeVariableTraceLog(variable, \"Skipping updateAndValidate current value valid\");\n return false;\n }\n return true;\n }\n _updateNextBatch() {\n if (this._variablesToUpdate.size === 0) {\n this._notifyDependentSceneObjects();\n return;\n }\n for (const variable of this._variablesToUpdate) {\n if (!variable.validateAndUpdate) {\n throw new Error(\"Variable added to variablesToUpdate but does not have validateAndUpdate\");\n }\n if (this._updating.has(variable)) {\n continue;\n }\n if (sceneGraph.hasVariableDependencyInLoadingState(variable)) {\n continue;\n }\n const variableToUpdate = {\n variable\n };\n this._updating.set(variable, variableToUpdate);\n writeVariableTraceLog(variable, \"updateAndValidate started\");\n variableToUpdate.subscription = variable.validateAndUpdate().subscribe({\n next: () => this._validateAndUpdateCompleted(variable),\n error: (err) => this._handleVariableError(variable, err)\n });\n }\n }\n _validateAndUpdateCompleted(variable) {\n var _a;\n const update = this._updating.get(variable);\n (_a = update == null ? void 0 : update.subscription) == null ? void 0 : _a.unsubscribe();\n this._updating.delete(variable);\n this._variablesToUpdate.delete(variable);\n writeVariableTraceLog(variable, \"updateAndValidate completed\");\n this._updateNextBatch();\n }\n cancel(variable) {\n var _a;\n const update = this._updating.get(variable);\n (_a = update == null ? void 0 : update.subscription) == null ? void 0 : _a.unsubscribe();\n this._updating.delete(variable);\n this._variablesToUpdate.delete(variable);\n }\n _handleVariableError(variable, err) {\n var _a;\n const update = this._updating.get(variable);\n (_a = update == null ? void 0 : update.subscription) == null ? void 0 : _a.unsubscribe();\n this._updating.delete(variable);\n this._variablesToUpdate.delete(variable);\n variable.setState({ loading: false, error: err.message });\n console.error(\"SceneVariableSet updateAndValidate error\", err);\n writeVariableTraceLog(variable, \"updateAndValidate error\", err);\n }\n _handleVariableValueChanged(variableThatChanged) {\n this._variablesThatHaveChanged.add(variableThatChanged);\n this._addDependentVariablesToUpdateQueue(variableThatChanged);\n if (!this._updating.has(variableThatChanged)) {\n this._updateNextBatch();\n }\n }\n _handleParentVariableUpdatesCompleted(changedVariables) {\n for (const changedVar of changedVariables) {\n this._addDependentVariablesToUpdateQueue(changedVar);\n }\n if (this._variablesToUpdate.size > 0 && this._updating.size === 0) {\n this._updateNextBatch();\n }\n }\n _addDependentVariablesToUpdateQueue(variableThatChanged) {\n for (const otherVariable of this.state.variables) {\n if (otherVariable.variableDependency) {\n if (otherVariable.variableDependency.hasDependencyOn(variableThatChanged.state.name)) {\n writeVariableTraceLog(otherVariable, \"Added to update queue, dependant variable value changed\");\n this._variablesToUpdate.add(otherVariable);\n }\n }\n }\n }\n _notifyDependentSceneObjects() {\n if (!this.parent) {\n return;\n }\n this._traverseSceneAndNotify(this.parent);\n this._variablesThatHaveChanged.clear();\n }\n _traverseSceneAndNotify(sceneObject) {\n if (this === sceneObject) {\n return;\n }\n if (!sceneObject.isActive) {\n return;\n }\n if (sceneObject.variableDependency) {\n sceneObject.variableDependency.variableUpdatesCompleted(this._variablesThatHaveChanged);\n }\n sceneObject.forEachChild((child) => this._traverseSceneAndNotify(child));\n }\n isVariableLoadingOrWaitingToUpdate(variable) {\n if (variable.isAncestorLoading && variable.isAncestorLoading()) {\n return true;\n }\n if (this._variablesToUpdate.has(variable) || this._updating.has(variable)) {\n return true;\n }\n return sceneGraph.hasVariableDependencyInLoadingState(variable);\n }\n}\nfunction writeVariableTraceLog(variable, message, err) {\n writeSceneLog(\"SceneVariableSet\", `Variable[${variable.state.name}]: ${message}`, err);\n}\nclass SceneVariableSetVariableDependencyHandler {\n constructor(_variableUpdatesCompleted) {\n this._variableUpdatesCompleted = _variableUpdatesCompleted;\n this._emptySet = /* @__PURE__ */ new Set();\n }\n getNames() {\n return this._emptySet;\n }\n hasDependencyOn(name) {\n return false;\n }\n variableUpdatesCompleted(changedVariables) {\n this._variableUpdatesCompleted(changedVariables);\n }\n}\n\nexport { SceneVariableSet };\n//# sourceMappingURL=SceneVariableSet.js.map\n","import { isArray } from 'lodash';\nimport React, { useMemo, useState, useEffect } from 'react';\nimport { Select, MultiSelect } from '@grafana/ui';\n\nfunction VariableValueSelect({ model }) {\n const { value, key } = model.useState();\n const onInputChange = model.onSearchChange ? (value2, meta) => {\n if (meta.action === \"input-change\") {\n model.onSearchChange(value2);\n }\n } : void 0;\n return /* @__PURE__ */ React.createElement(Select, {\n id: key,\n placeholder: \"Select value\",\n width: \"auto\",\n value,\n allowCustomValue: true,\n tabSelectsValue: false,\n onInputChange,\n options: model.getOptionsForSelect(),\n onChange: (newValue) => {\n model.changeValueTo(newValue.value, newValue.label);\n }\n });\n}\nfunction VariableValueSelectMulti({ model }) {\n const { value, key, maxVisibleValues } = model.useState();\n const arrayValue = useMemo(() => isArray(value) ? value : [value], [value]);\n const [uncommittedValue, setUncommittedValue] = useState(arrayValue);\n useEffect(() => {\n setUncommittedValue(arrayValue);\n }, [arrayValue]);\n const onInputChange = model.onSearchChange ? (value2, meta) => {\n if (meta.action === \"input-change\") {\n model.onSearchChange(value2);\n }\n } : void 0;\n return /* @__PURE__ */ React.createElement(MultiSelect, {\n id: key,\n placeholder: \"Select value\",\n width: \"auto\",\n value: uncommittedValue,\n noMultiValueWrap: true,\n maxVisibleValues: maxVisibleValues != null ? maxVisibleValues : 5,\n tabSelectsValue: false,\n allowCustomValue: true,\n options: model.getOptionsForSelect(),\n closeMenuOnSelect: false,\n isClearable: true,\n onInputChange,\n onBlur: () => {\n model.changeValueTo(uncommittedValue);\n },\n onChange: (newValue) => {\n setUncommittedValue(newValue.map((x) => x.value));\n }\n });\n}\nfunction renderSelectForVariable(model) {\n if (model.state.isMulti) {\n return /* @__PURE__ */ React.createElement(VariableValueSelectMulti, {\n model\n });\n } else {\n return /* @__PURE__ */ React.createElement(VariableValueSelect, {\n model\n });\n }\n}\n\nexport { VariableValueSelect, VariableValueSelectMulti, renderSelectForVariable };\n//# sourceMappingURL=VariableValueSelect.js.map\n","import { SceneObjectBase } from '../../core/SceneObjectBase.js';\n\nvar __defProp = Object.defineProperty;\nvar __defProps = Object.defineProperties;\nvar __getOwnPropDescs = Object.getOwnPropertyDescriptors;\nvar __getOwnPropSymbols = Object.getOwnPropertySymbols;\nvar __hasOwnProp = Object.prototype.hasOwnProperty;\nvar __propIsEnum = Object.prototype.propertyIsEnumerable;\nvar __defNormalProp = (obj, key, value) => key in obj ? __defProp(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;\nvar __spreadValues = (a, b) => {\n for (var prop in b || (b = {}))\n if (__hasOwnProp.call(b, prop))\n __defNormalProp(a, prop, b[prop]);\n if (__getOwnPropSymbols)\n for (var prop of __getOwnPropSymbols(b)) {\n if (__propIsEnum.call(b, prop))\n __defNormalProp(a, prop, b[prop]);\n }\n return a;\n};\nvar __spreadProps = (a, b) => __defProps(a, __getOwnPropDescs(b));\nclass ConstantVariable extends SceneObjectBase {\n constructor(initialState) {\n super(__spreadProps(__spreadValues({\n type: \"constant\",\n value: \"\",\n name: \"\"\n }, initialState), {\n skipUrlSync: true\n }));\n }\n getValue() {\n return this.state.value;\n }\n}\n\nexport { ConstantVariable };\n//# sourceMappingURL=ConstantVariable.js.map\n","import { isEqual } from 'lodash';\nimport { map } from 'rxjs';\nimport { ALL_VARIABLE_TEXT, ALL_VARIABLE_VALUE } from '../constants.js';\nimport { SceneObjectBase } from '../../core/SceneObjectBase.js';\nimport { SceneVariableValueChangedEvent } from '../types.js';\nimport { formatRegistry } from '../interpolation/formatRegistry.js';\nimport { VariableFormatID } from '@grafana/schema';\nimport { setBaseClassState } from '../../utils/utils.js';\n\nclass MultiValueVariable extends SceneObjectBase {\n constructor() {\n super(...arguments);\n this._urlSync = new MultiValueUrlSyncHandler(this);\n }\n validateAndUpdate() {\n return this.getValueOptions({}).pipe(\n map((options) => {\n this.updateValueGivenNewOptions(options);\n return {};\n })\n );\n }\n onCancel() {\n this.setStateHelper({ loading: false });\n const sceneVarSet = this.parent;\n sceneVarSet == null ? void 0 : sceneVarSet.cancel(this);\n }\n updateValueGivenNewOptions(options) {\n const { value: currentValue, text: currentText } = this.state;\n const stateUpdate = {\n options,\n loading: false,\n value: currentValue,\n text: currentText\n };\n if (options.length === 0) {\n if (this.state.defaultToAll || this.state.includeAll) {\n stateUpdate.value = ALL_VARIABLE_VALUE;\n stateUpdate.text = ALL_VARIABLE_TEXT;\n }\n } else if (this.hasAllValue()) ; else if (this.state.isMulti) {\n const currentValues = Array.isArray(currentValue) ? currentValue : [currentValue];\n const validValues = currentValues.filter((v) => options.find((o) => o.value === v));\n const validTexts = validValues.map((v) => options.find((o) => o.value === v).label);\n if (validValues.length === 0) {\n const defaultState = this.getDefaultMultiState(options);\n stateUpdate.value = defaultState.value;\n stateUpdate.text = defaultState.text;\n } else if (!isEqual(validValues, currentValue) || !isEqual(validTexts, currentText)) {\n stateUpdate.value = validValues;\n stateUpdate.text = validTexts;\n }\n } else {\n let matchingOption = findOptionMatchingCurrent(currentValue, currentText, options);\n if (matchingOption) {\n stateUpdate.text = matchingOption.label;\n stateUpdate.value = matchingOption.value;\n } else {\n if (this.state.defaultToAll) {\n stateUpdate.value = ALL_VARIABLE_VALUE;\n stateUpdate.text = ALL_VARIABLE_TEXT;\n } else {\n stateUpdate.value = options[0].value;\n stateUpdate.text = options[0].label;\n }\n }\n }\n this.setStateHelper(stateUpdate);\n if (stateUpdate.value !== currentValue || stateUpdate.text !== currentText || this.hasAllValue()) {\n this.publishEvent(new SceneVariableValueChangedEvent(this), true);\n }\n }\n getValue() {\n if (this.hasAllValue()) {\n if (this.state.allValue) {\n return new CustomAllValue(this.state.allValue, this);\n }\n return this.state.options.map((x) => x.value);\n }\n return this.state.value;\n }\n getValueText() {\n if (this.hasAllValue()) {\n return ALL_VARIABLE_TEXT;\n }\n if (Array.isArray(this.state.text)) {\n return this.state.text.join(\" + \");\n }\n return String(this.state.text);\n }\n hasAllValue() {\n const value = this.state.value;\n return value === ALL_VARIABLE_VALUE || Array.isArray(value) && value[0] === ALL_VARIABLE_VALUE;\n }\n getDefaultMultiState(options) {\n if (this.state.defaultToAll) {\n return { value: [ALL_VARIABLE_VALUE], text: [ALL_VARIABLE_TEXT] };\n } else {\n return { value: [options[0].value], text: [options[0].label] };\n }\n }\n changeValueTo(value, text) {\n if (value === this.state.value && text === this.state.text) {\n return;\n }\n if (!text) {\n if (Array.isArray(value)) {\n text = value.map((v) => this.findLabelTextForValue(v));\n } else {\n text = this.findLabelTextForValue(value);\n }\n }\n if (Array.isArray(value)) {\n if (value.length === 0) {\n const state = this.getDefaultMultiState(this.state.options);\n value = state.value;\n text = state.text;\n }\n if (value[value.length - 1] === ALL_VARIABLE_VALUE) {\n value = [ALL_VARIABLE_VALUE];\n text = [ALL_VARIABLE_TEXT];\n } else if (value[0] === ALL_VARIABLE_VALUE && value.length > 1) {\n value.shift();\n if (Array.isArray(text)) {\n text.shift();\n }\n }\n }\n this.setStateHelper({ value, text, loading: false });\n this.publishEvent(new SceneVariableValueChangedEvent(this), true);\n }\n findLabelTextForValue(value) {\n const option = this.state.options.find((x) => x.value === value);\n if (option) {\n return option.label;\n }\n const optionByLabel = this.state.options.find((x) => x.label === value);\n if (optionByLabel) {\n return optionByLabel.label;\n }\n return value;\n }\n setStateHelper(state) {\n setBaseClassState(this, state);\n }\n getOptionsForSelect() {\n let options = this.state.options;\n if (this.state.includeAll) {\n options = [{ value: ALL_VARIABLE_VALUE, label: ALL_VARIABLE_TEXT }, ...options];\n }\n if (!Array.isArray(this.state.value)) {\n const current = options.find((x) => x.value === this.state.value);\n if (!current) {\n options = [{ value: this.state.value, label: String(this.state.text) }, ...options];\n }\n }\n return options;\n }\n}\nfunction findOptionMatchingCurrent(currentValue, currentText, options) {\n let textMatch;\n for (const item of options) {\n if (item.value === currentValue) {\n return item;\n }\n if (item.label === currentText) {\n textMatch = item;\n }\n }\n return textMatch;\n}\nclass MultiValueUrlSyncHandler {\n constructor(_sceneObject) {\n this._sceneObject = _sceneObject;\n }\n getKey() {\n return `var-${this._sceneObject.state.name}`;\n }\n getKeys() {\n if (this._sceneObject.state.skipUrlSync) {\n return [];\n }\n return [this.getKey()];\n }\n getUrlState() {\n if (this._sceneObject.state.skipUrlSync) {\n return {};\n }\n let urlValue = null;\n let value = this._sceneObject.state.value;\n if (Array.isArray(value)) {\n urlValue = value.map(String);\n } else if (this._sceneObject.state.isMulti) {\n urlValue = [String(value)];\n } else {\n urlValue = String(value);\n }\n return { [this.getKey()]: urlValue };\n }\n updateFromUrl(values) {\n const urlValue = values[this.getKey()];\n if (urlValue != null) {\n this._sceneObject.changeValueTo(urlValue);\n }\n }\n}\nclass CustomAllValue {\n constructor(_value, _variable) {\n this._value = _value;\n this._variable = _variable;\n }\n formatter(formatNameOrFn) {\n if (formatNameOrFn === VariableFormatID.Text) {\n return ALL_VARIABLE_TEXT;\n }\n if (formatNameOrFn === VariableFormatID.PercentEncode) {\n return formatRegistry.get(VariableFormatID.PercentEncode).formatter(this._value, [], this._variable);\n }\n if (formatNameOrFn === VariableFormatID.QueryParam) {\n return formatRegistry.get(VariableFormatID.QueryParam).formatter(ALL_VARIABLE_TEXT, [], this._variable);\n }\n return this._value;\n }\n}\n\nexport { CustomAllValue, MultiValueUrlSyncHandler, MultiValueVariable };\n//# sourceMappingURL=MultiValueVariable.js.map\n","function setBaseClassState(sceneObject, newState) {\n sceneObject.setState(newState);\n}\n\nexport { setBaseClassState };\n//# sourceMappingURL=utils.js.map\n","import { of } from 'rxjs';\nimport { VariableDependencyConfig } from '../VariableDependencyConfig.js';\nimport { renderSelectForVariable } from '../components/VariableValueSelect.js';\nimport { MultiValueVariable } from './MultiValueVariable.js';\nimport { sceneGraph } from '../../core/sceneGraph/index.js';\n\nvar __defProp = Object.defineProperty;\nvar __getOwnPropSymbols = Object.getOwnPropertySymbols;\nvar __hasOwnProp = Object.prototype.hasOwnProperty;\nvar __propIsEnum = Object.prototype.propertyIsEnumerable;\nvar __defNormalProp = (obj, key, value) => key in obj ? __defProp(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;\nvar __spreadValues = (a, b) => {\n for (var prop in b || (b = {}))\n if (__hasOwnProp.call(b, prop))\n __defNormalProp(a, prop, b[prop]);\n if (__getOwnPropSymbols)\n for (var prop of __getOwnPropSymbols(b)) {\n if (__propIsEnum.call(b, prop))\n __defNormalProp(a, prop, b[prop]);\n }\n return a;\n};\nclass CustomVariable extends MultiValueVariable {\n constructor(initialState) {\n super(__spreadValues({\n type: \"custom\",\n query: \"\",\n value: \"\",\n text: \"\",\n options: [],\n name: \"\"\n }, initialState));\n this._variableDependency = new VariableDependencyConfig(this, {\n statePaths: [\"query\"]\n });\n }\n getValueOptions(args) {\n var _a;\n const interpolated = sceneGraph.interpolate(this, this.state.query);\n const match = (_a = interpolated.match(/(?:\\\\,|[^,])+/g)) != null ? _a : [];\n const options = match.map((text) => {\n var _a2;\n text = text.replace(/\\\\,/g, \",\");\n const textMatch = (_a2 = /^(.+)\\s:\\s(.+)$/g.exec(text)) != null ? _a2 : [];\n if (textMatch.length === 3) {\n const [, key, value] = textMatch;\n return { label: key.trim(), value: value.trim() };\n } else {\n return { label: text.trim(), value: text.trim() };\n }\n });\n return of(options);\n }\n}\nCustomVariable.Component = ({ model }) => {\n return renderSelectForVariable(model);\n};\n\nexport { CustomVariable };\n//# sourceMappingURL=CustomVariable.js.map\n","import { of } from 'rxjs';\nimport { stringToJsRegex } from '@grafana/data';\nimport { getDataSourceSrv } from '@grafana/runtime';\nimport { sceneGraph } from '../../core/sceneGraph/index.js';\nimport { VariableDependencyConfig } from '../VariableDependencyConfig.js';\nimport { renderSelectForVariable } from '../components/VariableValueSelect.js';\nimport { MultiValueVariable } from './MultiValueVariable.js';\n\nvar __defProp = Object.defineProperty;\nvar __getOwnPropSymbols = Object.getOwnPropertySymbols;\nvar __hasOwnProp = Object.prototype.hasOwnProperty;\nvar __propIsEnum = Object.prototype.propertyIsEnumerable;\nvar __defNormalProp = (obj, key, value) => key in obj ? __defProp(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;\nvar __spreadValues = (a, b) => {\n for (var prop in b || (b = {}))\n if (__hasOwnProp.call(b, prop))\n __defNormalProp(a, prop, b[prop]);\n if (__getOwnPropSymbols)\n for (var prop of __getOwnPropSymbols(b)) {\n if (__propIsEnum.call(b, prop))\n __defNormalProp(a, prop, b[prop]);\n }\n return a;\n};\nclass DataSourceVariable extends MultiValueVariable {\n constructor(initialState) {\n super(__spreadValues({\n type: \"datasource\",\n value: \"\",\n text: \"\",\n options: [],\n name: \"\",\n regex: \"\",\n pluginId: \"\"\n }, initialState));\n this._variableDependency = new VariableDependencyConfig(this, {\n statePaths: [\"regex\"]\n });\n }\n getValueOptions(args) {\n if (!this.state.pluginId) {\n return of([]);\n }\n const dataSources = getDataSourceSrv().getList({ metrics: true, variables: false, pluginId: this.state.pluginId });\n let regex;\n if (this.state.regex) {\n const interpolated = sceneGraph.interpolate(this, this.state.regex, void 0, \"regex\");\n regex = stringToJsRegex(interpolated);\n }\n const options = [];\n for (let i = 0; i < dataSources.length; i++) {\n const source = dataSources[i];\n if (isValid(source, regex)) {\n options.push({ label: source.name, value: source.uid });\n }\n if (this.state.defaultOptionEnabled && isDefault(source, regex)) {\n options.push({ label: \"default\", value: \"default\" });\n }\n }\n if (options.length === 0) {\n this.setState({ error: \"No data sources found\" });\n } else if (this.state.error) {\n this.setState({ error: null });\n }\n return of(options);\n }\n}\nDataSourceVariable.Component = ({ model }) => {\n return renderSelectForVariable(model);\n};\nfunction isValid(source, regex) {\n if (!regex) {\n return true;\n }\n return regex.exec(source.name);\n}\nfunction isDefault(source, regex) {\n if (!source.isDefault) {\n return false;\n }\n if (!regex) {\n return true;\n }\n return regex.exec(\"default\");\n}\n\nexport { DataSourceVariable };\n//# sourceMappingURL=DataSourceVariable.js.map\n","import { VariableSupportType } from '@grafana/data';\n\nconst hasLegacyVariableSupport = (datasource) => {\n return Boolean(datasource.metricFindQuery) && !Boolean(datasource.variables);\n};\nconst hasStandardVariableSupport = (datasource) => {\n if (!datasource.variables) {\n return false;\n }\n if (datasource.variables.getType() !== VariableSupportType.Standard) {\n return false;\n }\n const variableSupport = datasource.variables;\n return \"toDataQuery\" in variableSupport && Boolean(variableSupport.toDataQuery);\n};\nconst hasCustomVariableSupport = (datasource) => {\n if (!datasource.variables) {\n return false;\n }\n if (datasource.variables.getType() !== VariableSupportType.Custom) {\n return false;\n }\n const variableSupport = datasource.variables;\n return \"query\" in variableSupport && \"editor\" in variableSupport && Boolean(variableSupport.query) && Boolean(variableSupport.editor);\n};\n\nexport { hasCustomVariableSupport, hasLegacyVariableSupport, hasStandardVariableSupport };\n//# sourceMappingURL=guards.js.map\n","import { from, mergeMap, of } from 'rxjs';\nimport { LoadingState, getDefaultTimeRange } from '@grafana/data';\nimport { getRunRequest } from '@grafana/runtime';\nimport { hasStandardVariableSupport, hasLegacyVariableSupport, hasCustomVariableSupport } from './guards.js';\n\nvar __defProp = Object.defineProperty;\nvar __defProps = Object.defineProperties;\nvar __getOwnPropDescs = Object.getOwnPropertyDescriptors;\nvar __getOwnPropSymbols = Object.getOwnPropertySymbols;\nvar __hasOwnProp = Object.prototype.hasOwnProperty;\nvar __propIsEnum = Object.prototype.propertyIsEnumerable;\nvar __defNormalProp = (obj, key, value) => key in obj ? __defProp(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;\nvar __spreadValues = (a, b) => {\n for (var prop in b || (b = {}))\n if (__hasOwnProp.call(b, prop))\n __defNormalProp(a, prop, b[prop]);\n if (__getOwnPropSymbols)\n for (var prop of __getOwnPropSymbols(b)) {\n if (__propIsEnum.call(b, prop))\n __defNormalProp(a, prop, b[prop]);\n }\n return a;\n};\nvar __spreadProps = (a, b) => __defProps(a, __getOwnPropDescs(b));\nclass StandardQueryRunner {\n constructor(datasource, _runRequest = getRunRequest()) {\n this.datasource = datasource;\n this._runRequest = _runRequest;\n }\n getTarget(variable) {\n if (hasStandardVariableSupport(this.datasource)) {\n return this.datasource.variables.toDataQuery(ensureVariableQueryModelIsADataQuery(variable));\n }\n throw new Error(\"Couldn't create a target with supplied arguments.\");\n }\n runRequest(_, request) {\n if (!hasStandardVariableSupport(this.datasource)) {\n return getEmptyMetricFindValueObservable();\n }\n if (!this.datasource.variables.query) {\n return this._runRequest(this.datasource, request);\n }\n return this._runRequest(this.datasource, request, this.datasource.variables.query.bind(this.datasource.variables));\n }\n}\nclass LegacyQueryRunner {\n constructor(datasource) {\n this.datasource = datasource;\n }\n getTarget(variable) {\n if (hasLegacyVariableSupport(this.datasource)) {\n return variable.state.query;\n }\n throw new Error(\"Couldn't create a target with supplied arguments.\");\n }\n runRequest({ variable, searchFilter }, request) {\n if (!hasLegacyVariableSupport(this.datasource)) {\n return getEmptyMetricFindValueObservable();\n }\n return from(\n this.datasource.metricFindQuery(variable.state.query, __spreadProps(__spreadValues({}, request), {\n variable: {\n name: variable.state.name,\n type: variable.state.type\n },\n searchFilter\n }))\n ).pipe(\n mergeMap((values) => {\n if (!values || !values.length) {\n return getEmptyMetricFindValueObservable();\n }\n const series = values;\n return of({ series, state: LoadingState.Done, timeRange: request.range });\n })\n );\n }\n}\nclass CustomQueryRunner {\n constructor(datasource, _runRequest = getRunRequest()) {\n this.datasource = datasource;\n this._runRequest = _runRequest;\n }\n getTarget(variable) {\n if (hasCustomVariableSupport(this.datasource)) {\n return variable.state.query;\n }\n throw new Error(\"Couldn't create a target with supplied arguments.\");\n }\n runRequest(_, request) {\n if (!hasCustomVariableSupport(this.datasource)) {\n return getEmptyMetricFindValueObservable();\n }\n if (!this.datasource.variables.query) {\n return this._runRequest(this.datasource, request);\n }\n return this._runRequest(this.datasource, request, this.datasource.variables.query.bind(this.datasource.variables));\n }\n}\nfunction getEmptyMetricFindValueObservable() {\n return of({ state: LoadingState.Done, series: [], timeRange: getDefaultTimeRange() });\n}\nfunction createQueryVariableRunnerFactory(datasource) {\n if (hasStandardVariableSupport(datasource)) {\n return new StandardQueryRunner(datasource, getRunRequest());\n }\n if (hasLegacyVariableSupport(datasource)) {\n return new LegacyQueryRunner(datasource);\n }\n if (hasCustomVariableSupport(datasource)) {\n return new CustomQueryRunner(datasource);\n }\n throw new Error(`Couldn't create a query runner for datasource ${datasource.type}`);\n}\nlet createQueryVariableRunner = createQueryVariableRunnerFactory;\nfunction ensureVariableQueryModelIsADataQuery(variable) {\n const query = variable.state.query;\n if (!query || typeof query !== \"object\") {\n return { query, refId: `variable-${variable.state.name}` };\n }\n if (query.refId == null) {\n return __spreadProps(__spreadValues({}, query), { refId: `variable-${variable.state.name}` });\n }\n return variable.state.query;\n}\n\nexport { createQueryVariableRunner };\n//# sourceMappingURL=createQueryVariableRunner.js.map\n","import { isNumber, uniqBy, sortBy, toLower } from 'lodash';\nimport { stringToJsRegex, VariableSort } from '@grafana/data';\n\nconst metricNamesToVariableValues = (variableRegEx, sort, metricNames) => {\n var _a, _b, _c, _d, _e, _f;\n let regex;\n let options = [];\n if (variableRegEx) {\n regex = stringToJsRegex(variableRegEx);\n }\n for (let i = 0; i < metricNames.length; i++) {\n const item = metricNames[i];\n let text = item.text === void 0 || item.text === null ? item.value : item.text;\n let value = item.value === void 0 || item.value === null ? item.text : item.value;\n if (isNumber(value)) {\n value = value.toString();\n }\n if (isNumber(text)) {\n text = text.toString();\n }\n if (regex) {\n const matches = getAllMatches(value, regex);\n if (!matches.length) {\n continue;\n }\n const valueGroup = matches.find((m) => m.groups && m.groups.value);\n const textGroup = matches.find((m) => m.groups && m.groups.text);\n const firstMatch = matches.find((m) => m.length > 1);\n const manyMatches = matches.length > 1 && firstMatch;\n if (valueGroup || textGroup) {\n value = (_c = (_a = valueGroup == null ? void 0 : valueGroup.groups) == null ? void 0 : _a.value) != null ? _c : (_b = textGroup == null ? void 0 : textGroup.groups) == null ? void 0 : _b.text;\n text = (_f = (_d = textGroup == null ? void 0 : textGroup.groups) == null ? void 0 : _d.text) != null ? _f : (_e = valueGroup == null ? void 0 : valueGroup.groups) == null ? void 0 : _e.value;\n } else if (manyMatches) {\n for (let j = 0; j < matches.length; j++) {\n const match = matches[j];\n options.push({ label: match[1], value: match[1] });\n }\n continue;\n } else if (firstMatch) {\n text = firstMatch[1];\n value = firstMatch[1];\n }\n }\n options.push({ label: text, value });\n }\n options = uniqBy(options, \"value\");\n return sortVariableValues(options, sort);\n};\nconst getAllMatches = (str, regex) => {\n const results = [];\n let matches = null;\n regex.lastIndex = 0;\n do {\n matches = regex.exec(str);\n if (matches) {\n results.push(matches);\n }\n } while (regex.global && matches && matches[0] !== \"\" && matches[0] !== void 0);\n return results;\n};\nconst sortVariableValues = (options, sortOrder) => {\n if (sortOrder === VariableSort.disabled) {\n return options;\n }\n const sortByNumeric = (opt) => {\n if (!opt.text) {\n return -1;\n }\n const matches = opt.text.match(/.*?(\\d+).*/);\n if (!matches || matches.length < 2) {\n return -1;\n } else {\n return parseInt(matches[1], 10);\n }\n };\n const sortByNaturalSort = (options2) => {\n return options2.sort((a, b) => {\n if (!a.text) {\n return -1;\n }\n if (!b.text) {\n return 1;\n }\n return a.text.localeCompare(b.text, void 0, { numeric: true });\n });\n };\n switch (sortOrder) {\n case VariableSort.alphabeticalAsc:\n options = sortBy(options, \"text\");\n break;\n case VariableSort.alphabeticalDesc:\n options = sortBy(options, \"text\").reverse();\n break;\n case VariableSort.numericalAsc:\n options = sortBy(options, sortByNumeric);\n break;\n case VariableSort.numericalDesc:\n options = sortBy(options, sortByNumeric);\n options = options.reverse();\n break;\n case VariableSort.alphabeticalCaseInsensitiveAsc:\n options = sortBy(options, (opt) => {\n return toLower(opt.text);\n });\n break;\n case VariableSort.alphabeticalCaseInsensitiveDesc:\n options = sortBy(options, (opt) => {\n return toLower(opt.text);\n });\n options = options.reverse();\n break;\n case (VariableSort.naturalAsc || 7):\n options = sortByNaturalSort(options);\n break;\n case (VariableSort.naturalDesc || 8):\n options = sortByNaturalSort(options);\n options = options.reverse();\n break;\n }\n return options;\n};\n\nexport { metricNamesToVariableValues, sortVariableValues };\n//# sourceMappingURL=utils.js.map\n","import { lastValueFrom, of, from, mergeMap, filter, take, throwError, catchError } from 'rxjs';\nimport { v4 } from 'uuid';\nimport { VariableRefresh, VariableSort, LoadingState, CoreApp } from '@grafana/data';\nimport { sceneGraph } from '../../../core/sceneGraph/index.js';\nimport { VariableDependencyConfig } from '../../VariableDependencyConfig.js';\nimport { renderSelectForVariable } from '../../components/VariableValueSelect.js';\nimport { MultiValueVariable } from '../MultiValueVariable.js';\nimport { createQueryVariableRunner } from './createQueryVariableRunner.js';\nimport { metricNamesToVariableValues } from './utils.js';\nimport { toMetricFindValues } from './toMetricFindValues.js';\nimport { getDataSource } from '../../../utils/getDataSource.js';\nimport { safeStringifyValue } from '../../utils.js';\nimport { SEARCH_FILTER_VARIABLE } from '../../constants.js';\nimport { debounce } from 'lodash';\n\nvar __defProp = Object.defineProperty;\nvar __getOwnPropSymbols = Object.getOwnPropertySymbols;\nvar __hasOwnProp = Object.prototype.hasOwnProperty;\nvar __propIsEnum = Object.prototype.propertyIsEnumerable;\nvar __defNormalProp = (obj, key, value) => key in obj ? __defProp(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;\nvar __spreadValues = (a, b) => {\n for (var prop in b || (b = {}))\n if (__hasOwnProp.call(b, prop))\n __defNormalProp(a, prop, b[prop]);\n if (__getOwnPropSymbols)\n for (var prop of __getOwnPropSymbols(b)) {\n if (__propIsEnum.call(b, prop))\n __defNormalProp(a, prop, b[prop]);\n }\n return a;\n};\nclass QueryVariable extends MultiValueVariable {\n constructor(initialState) {\n super(__spreadValues({\n type: \"query\",\n name: \"\",\n value: \"\",\n text: \"\",\n options: [],\n datasource: null,\n regex: \"\",\n query: { refId: \"A\" },\n refresh: VariableRefresh.onDashboardLoad,\n sort: VariableSort.disabled\n }, initialState));\n this._variableDependency = new VariableDependencyConfig(this, {\n statePaths: [\"regex\", \"query\", \"datasource\"]\n });\n this.onSearchChange = (searchFilter) => {\n if (!containsSearchFilter(this.state.query)) {\n return;\n }\n this._updateOptionsBasedOnSearchFilter(searchFilter);\n };\n this._updateOptionsBasedOnSearchFilter = debounce(async (searchFilter) => {\n const result = await lastValueFrom(this.getValueOptions({ searchFilter }));\n this.setState({ options: result, loading: false });\n }, 400);\n }\n getValueOptions(args) {\n if (!this.state.query) {\n return of([]);\n }\n this.setState({ loading: true, error: null });\n return from(\n getDataSource(this.state.datasource, {\n __sceneObject: { text: \"__sceneObject\", value: this }\n })\n ).pipe(\n mergeMap((ds) => {\n const runner = createQueryVariableRunner(ds);\n const target = runner.getTarget(this);\n const request = this.getRequest(target, args.searchFilter);\n return runner.runRequest({ variable: this, searchFilter: args.searchFilter }, request).pipe(\n filter((data) => data.state === LoadingState.Done || data.state === LoadingState.Error),\n take(1),\n mergeMap((data) => {\n if (data.state === LoadingState.Error) {\n return throwError(() => data.error);\n }\n return of(data);\n }),\n toMetricFindValues(),\n mergeMap((values) => {\n let regex = \"\";\n if (this.state.regex) {\n regex = sceneGraph.interpolate(this, this.state.regex, void 0, \"regex\");\n }\n return of(metricNamesToVariableValues(regex, this.state.sort, values));\n }),\n catchError((error) => {\n if (error.cancelled) {\n return of([]);\n }\n return throwError(() => error);\n })\n );\n })\n );\n }\n getRequest(target, searchFilter) {\n const scopedVars = {\n __sceneObject: { text: \"__sceneObject\", value: this }\n };\n if (searchFilter) {\n scopedVars.__searchFilter = { value: searchFilter, text: searchFilter };\n }\n const range = sceneGraph.getTimeRange(this).state.value;\n const request = {\n app: CoreApp.Dashboard,\n requestId: v4(),\n timezone: \"\",\n range,\n interval: \"\",\n intervalMs: 0,\n targets: [target],\n scopedVars,\n startTime: Date.now()\n };\n return request;\n }\n}\nQueryVariable.Component = ({ model }) => {\n return renderSelectForVariable(model);\n};\nfunction containsSearchFilter(query) {\n const str = safeStringifyValue(query);\n return str.indexOf(SEARCH_FILTER_VARIABLE);\n}\n\nexport { QueryVariable };\n//# sourceMappingURL=QueryVariable.js.map\n","import { getProcessedDataFrames, getFieldDisplayName, FieldType, isDataFrame } from '@grafana/data';\nimport { map } from 'rxjs';\n\nfunction toMetricFindValues() {\n return (source) => source.pipe(\n map((panelData) => {\n const frames = panelData.series;\n if (!frames || !frames.length) {\n return [];\n }\n if (areMetricFindValues(frames)) {\n return frames;\n }\n if (frames[0].fields.length === 0) {\n return [];\n }\n const processedDataFrames = getProcessedDataFrames(frames);\n const metrics = [];\n let valueIndex = -1;\n let textIndex = -1;\n let stringIndex = -1;\n let expandableIndex = -1;\n for (const frame of processedDataFrames) {\n for (let index = 0; index < frame.fields.length; index++) {\n const field = frame.fields[index];\n const fieldName = getFieldDisplayName(field, frame, frames).toLowerCase();\n if (field.type === FieldType.string && stringIndex === -1) {\n stringIndex = index;\n }\n if (fieldName === \"text\" && field.type === FieldType.string && textIndex === -1) {\n textIndex = index;\n }\n if (fieldName === \"value\" && field.type === FieldType.string && valueIndex === -1) {\n valueIndex = index;\n }\n if (fieldName === \"expandable\" && (field.type === FieldType.boolean || field.type === FieldType.number) && expandableIndex === -1) {\n expandableIndex = index;\n }\n }\n }\n if (stringIndex === -1) {\n throw new Error(\"Couldn't find any field of type string in the results.\");\n }\n for (const frame of frames) {\n for (let index = 0; index < frame.length; index++) {\n const expandable = expandableIndex !== -1 ? frame.fields[expandableIndex].values.get(index) : void 0;\n const string = frame.fields[stringIndex].values.get(index);\n const text = textIndex !== -1 ? frame.fields[textIndex].values.get(index) : null;\n const value = valueIndex !== -1 ? frame.fields[valueIndex].values.get(index) : null;\n if (valueIndex === -1 && textIndex === -1) {\n metrics.push({ text: string, value: string, expandable });\n continue;\n }\n if (valueIndex === -1 && textIndex !== -1) {\n metrics.push({ text, value: text, expandable });\n continue;\n }\n if (valueIndex !== -1 && textIndex === -1) {\n metrics.push({ text: value, value, expandable });\n continue;\n }\n metrics.push({ text, value, expandable });\n }\n }\n return metrics;\n })\n );\n}\nfunction areMetricFindValues(data) {\n if (!data) {\n return false;\n }\n if (!data.length) {\n return true;\n }\n const firstValue = data[0];\n if (isDataFrame(firstValue)) {\n return false;\n }\n for (const firstValueKey in firstValue) {\n if (!firstValue.hasOwnProperty(firstValueKey)) {\n continue;\n }\n if (firstValue[firstValueKey] !== null && typeof firstValue[firstValueKey] !== \"string\" && typeof firstValue[firstValueKey] !== \"number\") {\n continue;\n }\n const key = firstValueKey.toLowerCase();\n if (key === \"text\" || key === \"value\") {\n return true;\n }\n }\n return false;\n}\n\nexport { toMetricFindValues };\n//# sourceMappingURL=toMetricFindValues.js.map\n","function buildMetricTree(parent, depth) {\n const chars = [\"A\", \"B\", \"C\", \"D\", \"E\", \"F\", \"G\", \"H\"];\n const children = [];\n if (depth > 5) {\n return [];\n }\n for (const letter of chars) {\n const nodeName = `${parent}${letter}`;\n children.push({\n name: nodeName,\n children: buildMetricTree(nodeName, depth + 1)\n });\n }\n return children;\n}\nfunction queryTree(children, query, queryIndex) {\n if (queryIndex >= query.length) {\n return children;\n }\n if (query[queryIndex] === \"*\") {\n return children;\n }\n const nodeQuery = query[queryIndex];\n let result = [];\n let namesToMatch = [nodeQuery];\n if (nodeQuery.startsWith(\"{\")) {\n namesToMatch = nodeQuery.replace(/\\{|\\}/g, \"\").split(\",\");\n }\n for (const node of children) {\n for (const nameToMatch of namesToMatch) {\n if (nameToMatch.indexOf(\"*\") !== -1) {\n const pattern = nameToMatch.replace(\"*\", \"\");\n const regex = new RegExp(`^${pattern}.*`, \"gi\");\n if (regex.test(node.name)) {\n result = result.concat(queryTree([node], query, queryIndex + 1));\n }\n } else if (node.name === nameToMatch) {\n result = result.concat(queryTree(node.children, query, queryIndex + 1));\n }\n }\n }\n return result;\n}\nfunction queryMetricTree(query) {\n if (query.indexOf(\"value\") === 0) {\n return [{ name: query, children: [] }];\n }\n const children = buildMetricTree(\"\", 0);\n return queryTree(children, query.split(\".\"), 0);\n}\n\nexport { queryMetricTree };\n//# sourceMappingURL=metricTree.js.map\n","import { Subject, Observable } from 'rxjs';\nimport { sceneGraph } from '../../core/sceneGraph/index.js';\nimport { queryMetricTree } from '../../utils/metricTree.js';\nimport { VariableDependencyConfig } from '../VariableDependencyConfig.js';\nimport { renderSelectForVariable } from '../components/VariableValueSelect.js';\nimport { MultiValueVariable } from './MultiValueVariable.js';\nimport { VariableRefresh } from '@grafana/data';\nimport { getClosest } from '../../core/sceneGraph/utils.js';\nimport { SceneVariableSet } from '../sets/SceneVariableSet.js';\n\nvar __defProp = Object.defineProperty;\nvar __getOwnPropSymbols = Object.getOwnPropertySymbols;\nvar __hasOwnProp = Object.prototype.hasOwnProperty;\nvar __propIsEnum = Object.prototype.propertyIsEnumerable;\nvar __defNormalProp = (obj, key, value) => key in obj ? __defProp(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;\nvar __spreadValues = (a, b) => {\n for (var prop in b || (b = {}))\n if (__hasOwnProp.call(b, prop))\n __defNormalProp(a, prop, b[prop]);\n if (__getOwnPropSymbols)\n for (var prop of __getOwnPropSymbols(b)) {\n if (__propIsEnum.call(b, prop))\n __defNormalProp(a, prop, b[prop]);\n }\n return a;\n};\nclass TestVariable extends MultiValueVariable {\n constructor(initialState) {\n super(__spreadValues({\n type: \"custom\",\n name: \"Test\",\n value: \"Value\",\n text: \"Text\",\n query: \"Query\",\n options: [],\n refresh: VariableRefresh.onDashboardLoad\n }, initialState));\n this.completeUpdate = new Subject();\n this.isGettingValues = true;\n this.getValueOptionsCount = 0;\n this._variableDependency = new VariableDependencyConfig(this, {\n statePaths: [\"query\"]\n });\n }\n getValueOptions(args) {\n const { delayMs } = this.state;\n this.getValueOptionsCount += 1;\n return new Observable((observer) => {\n this.setState({ loading: true });\n if (this.state.throwError) {\n throw new Error(this.state.throwError);\n }\n const sub = this.completeUpdate.subscribe({\n next: () => {\n observer.next(this.issueQuery());\n observer.complete();\n }\n });\n let timeout;\n if (delayMs) {\n timeout = window.setTimeout(() => this.signalUpdateCompleted(), delayMs);\n } else if (delayMs === 0) {\n this.signalUpdateCompleted();\n }\n this.isGettingValues = true;\n return () => {\n sub.unsubscribe();\n window.clearTimeout(timeout);\n this.setState({ loading: false });\n this.isGettingValues = false;\n };\n });\n }\n cancel() {\n const sceneVarSet = getClosest(this, (s) => s instanceof SceneVariableSet ? s : void 0);\n sceneVarSet == null ? void 0 : sceneVarSet.cancel(this);\n }\n issueQuery() {\n const interpolatedQuery = sceneGraph.interpolate(this, this.state.query);\n const options = this.getOptions(interpolatedQuery);\n this.setState({\n issuedQuery: interpolatedQuery,\n options\n });\n return options;\n }\n getOptions(interpolatedQuery) {\n if (this.state.optionsToReturn) {\n return this.state.optionsToReturn;\n }\n return queryMetricTree(interpolatedQuery).map((x) => ({ label: x.name, value: x.name }));\n }\n signalUpdateCompleted() {\n this.completeUpdate.next(1);\n }\n}\nTestVariable.Component = ({ model }) => {\n return renderSelectForVariable(model);\n};\n\nexport { TestVariable };\n//# sourceMappingURL=TestVariable.js.map\n","import React, { useCallback } from 'react';\nimport { AutoSizeInput } from '@grafana/ui';\n\nfunction VariableValueInput({ model }) {\n const { value, key, loading } = model.useState();\n const onBlur = useCallback(\n (e) => {\n model.setValue(e.currentTarget.value);\n },\n [model]\n );\n const onKeyDown = useCallback(\n (e) => {\n if (e.key === \"Enter\") {\n model.setValue(e.currentTarget.value);\n }\n },\n [model]\n );\n return /* @__PURE__ */ React.createElement(AutoSizeInput, {\n id: key,\n placeholder: \"Enter value\",\n minWidth: 15,\n defaultValue: value,\n loading,\n onBlur,\n onKeyDown\n });\n}\n\nexport { VariableValueInput };\n//# sourceMappingURL=VariableValueInput.js.map\n","import React from 'react';\nimport { SceneObjectBase } from '../../core/SceneObjectBase.js';\nimport { SceneObjectUrlSyncConfig } from '../../services/SceneObjectUrlSyncConfig.js';\nimport { VariableValueInput } from '../components/VariableValueInput.js';\nimport { SceneVariableValueChangedEvent } from '../types.js';\n\nvar __defProp = Object.defineProperty;\nvar __getOwnPropSymbols = Object.getOwnPropertySymbols;\nvar __hasOwnProp = Object.prototype.hasOwnProperty;\nvar __propIsEnum = Object.prototype.propertyIsEnumerable;\nvar __defNormalProp = (obj, key, value) => key in obj ? __defProp(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;\nvar __spreadValues = (a, b) => {\n for (var prop in b || (b = {}))\n if (__hasOwnProp.call(b, prop))\n __defNormalProp(a, prop, b[prop]);\n if (__getOwnPropSymbols)\n for (var prop of __getOwnPropSymbols(b)) {\n if (__propIsEnum.call(b, prop))\n __defNormalProp(a, prop, b[prop]);\n }\n return a;\n};\nclass TextBoxVariable extends SceneObjectBase {\n constructor(initialState) {\n super(__spreadValues({\n type: \"textbox\",\n value: \"\",\n name: \"\"\n }, initialState));\n this._urlSync = new SceneObjectUrlSyncConfig(this, { keys: [this.getKey()] });\n }\n getValue() {\n return this.state.value;\n }\n setValue(newValue) {\n if (newValue !== this.state.value) {\n this.setState({ value: newValue });\n this.publishEvent(new SceneVariableValueChangedEvent(this), true);\n }\n }\n getKey() {\n return `var-${this.state.name}`;\n }\n getUrlState() {\n return { [this.getKey()]: this.state.value };\n }\n updateFromUrl(values) {\n const update = {};\n const val = values[this.getKey()];\n if (typeof val === \"string\") {\n update.value = val;\n }\n this.setState(update);\n }\n}\nTextBoxVariable.Component = ({ model }) => {\n return /* @__PURE__ */ React.createElement(VariableValueInput, {\n model\n });\n};\n\nexport { TextBoxVariable };\n//# sourceMappingURL=TextBoxVariable.js.map\n","import { SceneObjectBase } from '../../core/SceneObjectBase.js';\nimport { sceneGraph } from '../../core/sceneGraph/index.js';\n\nvar __defProp = Object.defineProperty;\nvar __defProps = Object.defineProperties;\nvar __getOwnPropDescs = Object.getOwnPropertyDescriptors;\nvar __getOwnPropSymbols = Object.getOwnPropertySymbols;\nvar __hasOwnProp = Object.prototype.hasOwnProperty;\nvar __propIsEnum = Object.prototype.propertyIsEnumerable;\nvar __defNormalProp = (obj, key, value) => key in obj ? __defProp(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;\nvar __spreadValues = (a, b) => {\n for (var prop in b || (b = {}))\n if (__hasOwnProp.call(b, prop))\n __defNormalProp(a, prop, b[prop]);\n if (__getOwnPropSymbols)\n for (var prop of __getOwnPropSymbols(b)) {\n if (__propIsEnum.call(b, prop))\n __defNormalProp(a, prop, b[prop]);\n }\n return a;\n};\nvar __spreadProps = (a, b) => __defProps(a, __getOwnPropDescs(b));\nclass LocalValueVariable extends SceneObjectBase {\n constructor(initialState) {\n super(__spreadProps(__spreadValues({\n type: \"system\",\n value: \"\",\n text: \"\",\n name: \"\"\n }, initialState), {\n skipUrlSync: true\n }));\n }\n getValue() {\n return this.state.value;\n }\n getValueText() {\n return this.state.text.toString();\n }\n isAncestorLoading() {\n var _a, _b;\n const ancestorScope = (_b = (_a = this.parent) == null ? void 0 : _a.parent) == null ? void 0 : _b.parent;\n if (!ancestorScope) {\n throw new Error(\"LocalValueVariable requires a parent SceneVariableSet that has an ancestor SceneVariableSet\");\n }\n const set = sceneGraph.getVariables(ancestorScope);\n const parentVar = sceneGraph.lookupVariable(this.state.name, ancestorScope);\n if (set && parentVar) {\n return set.isVariableLoadingOrWaitingToUpdate(parentVar);\n }\n throw new Error(\"LocalValueVariable requires a parent SceneVariableSet that has an ancestor SceneVariableSet\");\n }\n}\n\nexport { LocalValueVariable };\n//# sourceMappingURL=LocalValueVariable.js.map\n","import { rangeUtil } from '@grafana/data';\nimport { VariableRefresh } from '@grafana/schema';\nimport { Select } from '@grafana/ui';\nimport React from 'react';\nimport { of } from 'rxjs';\nimport { sceneGraph } from '../../core/sceneGraph/index.js';\nimport { SceneObjectBase } from '../../core/SceneObjectBase.js';\nimport { SceneObjectUrlSyncConfig } from '../../services/SceneObjectUrlSyncConfig.js';\nimport { AUTO_VARIABLE_VALUE, AUTO_VARIABLE_TEXT } from '../constants.js';\nimport { SceneVariableValueChangedEvent } from '../types.js';\n\nvar __defProp = Object.defineProperty;\nvar __getOwnPropSymbols = Object.getOwnPropertySymbols;\nvar __hasOwnProp = Object.prototype.hasOwnProperty;\nvar __propIsEnum = Object.prototype.propertyIsEnumerable;\nvar __defNormalProp = (obj, key, value) => key in obj ? __defProp(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;\nvar __spreadValues = (a, b) => {\n for (var prop in b || (b = {}))\n if (__hasOwnProp.call(b, prop))\n __defNormalProp(a, prop, b[prop]);\n if (__getOwnPropSymbols)\n for (var prop of __getOwnPropSymbols(b)) {\n if (__propIsEnum.call(b, prop))\n __defNormalProp(a, prop, b[prop]);\n }\n return a;\n};\nclass IntervalVariable extends SceneObjectBase {\n constructor(initialState) {\n super(__spreadValues({\n type: \"interval\",\n value: \"\",\n intervals: [\"1m\", \"10m\", \"30m\", \"1h\", \"6h\", \"12h\", \"1d\", \"7d\", \"14d\", \"30d\"],\n name: \"\",\n autoStepCount: 30,\n autoMinInterval: \"10s\",\n autoEnabled: false,\n refresh: VariableRefresh.onTimeRangeChanged\n }, initialState));\n this._onChange = (value) => {\n this.setState({ value: value.value });\n this.publishEvent(new SceneVariableValueChangedEvent(this), true);\n };\n this._urlSync = new SceneObjectUrlSyncConfig(this, { keys: [this.getKey()] });\n }\n getKey() {\n return `var-${this.state.name}`;\n }\n getUrlState() {\n return { [this.getKey()]: this.state.value };\n }\n updateFromUrl(values) {\n const update = {};\n const val = values[this.getKey()];\n if (typeof val === \"string\") {\n if (val.startsWith(\"$__auto_interval_\")) {\n update.value = AUTO_VARIABLE_VALUE;\n } else {\n update.value = val;\n }\n }\n this.setState(update);\n }\n getOptionsForSelect() {\n const { value: currentValue, intervals, autoEnabled } = this.state;\n let options = intervals.map((interval) => ({ value: interval, label: interval }));\n if (autoEnabled) {\n options = [{ value: AUTO_VARIABLE_VALUE, label: AUTO_VARIABLE_TEXT }, ...options];\n }\n if (currentValue && !options.some((option) => option.value === currentValue)) {\n options.push({ value: currentValue, label: currentValue });\n }\n return options;\n }\n getValue() {\n const { value, autoStepCount, autoMinInterval } = this.state;\n if (value === AUTO_VARIABLE_VALUE) {\n return this.getAutoRefreshInteval(autoStepCount, autoMinInterval);\n }\n return value;\n }\n getAutoRefreshInteval(autoStepCount, minRefreshInterval) {\n const timeRange = sceneGraph.getTimeRange(this).state.value;\n const intervalObject = rangeUtil.calculateInterval(timeRange, autoStepCount, minRefreshInterval);\n return intervalObject.interval;\n }\n validateAndUpdate() {\n const { value, intervals } = this.state;\n let shouldPublish = false;\n if (value === AUTO_VARIABLE_VALUE) {\n shouldPublish = true;\n } else if (!value && intervals.length > 0) {\n const firstOption = intervals[0];\n this.setState({ value: firstOption });\n shouldPublish = true;\n }\n if (shouldPublish) {\n this.publishEvent(new SceneVariableValueChangedEvent(this), true);\n }\n return of({});\n }\n}\nIntervalVariable.Component = ({ model }) => {\n const { key, value } = model.useState();\n return /* @__PURE__ */ React.createElement(Select, {\n id: key,\n placeholder: \"Select value\",\n width: \"auto\",\n value,\n tabSelectsValue: false,\n options: model.getOptionsForSelect(),\n onChange: model._onChange\n });\n};\n\nexport { IntervalVariable };\n//# sourceMappingURL=IntervalVariable.js.map\n","class AdHocFiltersVariableUrlSyncHandler {\n constructor(_variable) {\n this._variable = _variable;\n }\n getKey() {\n return `var-${this._variable.state.name}`;\n }\n getKeys() {\n return [this.getKey()];\n }\n getUrlState() {\n let filters = this._variable.state.filters;\n const value = filters.map((filter) => toArray(filter).map(escapeDelimiter).join(\"|\"));\n return { [this.getKey()]: value };\n }\n updateFromUrl(values) {\n const urlValue = values[this.getKey()];\n if (urlValue == null) {\n return;\n }\n const filters = deserializeUrlToFilters(urlValue);\n this._variable.setState({ filters });\n }\n}\nfunction deserializeUrlToFilters(value) {\n if (Array.isArray(value)) {\n const values = value;\n return values.map(toFilter).filter(isFilter);\n }\n const filter = toFilter(value);\n return filter === null ? [] : [filter];\n}\nfunction escapeDelimiter(value) {\n if (value === null || value === void 0) {\n return \"\";\n }\n return /\\|/g[Symbol.replace](value, \"__gfp__\");\n}\nfunction unescapeDelimiter(value) {\n if (value === null || value === void 0) {\n return \"\";\n }\n return /__gfp__/g[Symbol.replace](value, \"|\");\n}\nfunction toArray(filter) {\n return [filter.key, filter.operator, filter.value];\n}\nfunction toFilter(value) {\n if (typeof value !== \"string\" || value.length === 0) {\n return null;\n }\n const parts = value.split(\"|\").map(unescapeDelimiter);\n return {\n key: parts[0],\n operator: parts[1],\n value: parts[2],\n condition: \"\"\n };\n}\nfunction isFilter(filter) {\n return filter !== null && typeof filter.key === \"string\" && typeof filter.value === \"string\";\n}\n\nexport { AdHocFiltersVariableUrlSyncHandler };\n//# sourceMappingURL=AdHocFiltersVariableUrlSyncHandler.js.map\n","import React, { useState } from 'react';\nimport { toOption } from '@grafana/data';\nimport { useStyles2, Select, Field, Button } from '@grafana/ui';\nimport { css } from '@emotion/css';\nimport { ControlsLabel } from '../../utils/ControlsLabel.js';\n\nvar __defProp = Object.defineProperty;\nvar __defProps = Object.defineProperties;\nvar __getOwnPropDescs = Object.getOwnPropertyDescriptors;\nvar __getOwnPropSymbols = Object.getOwnPropertySymbols;\nvar __hasOwnProp = Object.prototype.hasOwnProperty;\nvar __propIsEnum = Object.prototype.propertyIsEnumerable;\nvar __defNormalProp = (obj, key, value) => key in obj ? __defProp(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;\nvar __spreadValues = (a, b) => {\n for (var prop in b || (b = {}))\n if (__hasOwnProp.call(b, prop))\n __defNormalProp(a, prop, b[prop]);\n if (__getOwnPropSymbols)\n for (var prop of __getOwnPropSymbols(b)) {\n if (__propIsEnum.call(b, prop))\n __defNormalProp(a, prop, b[prop]);\n }\n return a;\n};\nvar __spreadProps = (a, b) => __defProps(a, __getOwnPropDescs(b));\nfunction AdHocFilterRenderer({ filter, model }) {\n var _a, _b;\n const styles = useStyles2(getStyles);\n const [state, setState] = useState({});\n const keyValue = filter.key !== \"\" ? toOption(filter.key) : null;\n const valueValue = filter.value !== \"\" ? toOption(filter.value) : null;\n const valueSelect = /* @__PURE__ */ React.createElement(Select, {\n disabled: model.state.readOnly,\n className: state.isKeysOpen ? styles.widthWhenOpen : void 0,\n width: \"auto\",\n value: valueValue,\n placeholder: \"value\",\n options: state.values,\n onChange: (v) => model._updateFilter(filter, \"value\", v.value),\n isOpen: state.isValuesOpen,\n isLoading: state.isValuesLoading,\n onOpenMenu: async () => {\n setState(__spreadProps(__spreadValues({}, state), { isValuesLoading: true }));\n const values = await model._getValuesFor(filter);\n setState(__spreadProps(__spreadValues({}, state), { isValuesLoading: false, isValuesOpen: true, values }));\n },\n onCloseMenu: () => {\n setState(__spreadProps(__spreadValues({}, state), { isValuesOpen: false }));\n }\n });\n const keySelect = /* @__PURE__ */ React.createElement(Select, {\n disabled: model.state.readOnly,\n className: state.isKeysOpen ? styles.widthWhenOpen : void 0,\n width: \"auto\",\n value: keyValue,\n placeholder: \"Select label\",\n options: state.keys,\n onChange: (v) => model._updateFilter(filter, \"key\", v.value),\n autoFocus: filter.key === \"\",\n isOpen: state.isKeysOpen,\n isLoading: state.isKeysLoading,\n onOpenMenu: async () => {\n setState(__spreadProps(__spreadValues({}, state), { isKeysLoading: true }));\n const keys = await model._getKeys(filter.key);\n setState(__spreadProps(__spreadValues({}, state), { isKeysLoading: false, isKeysOpen: true, keys }));\n },\n onCloseMenu: () => {\n setState(__spreadProps(__spreadValues({}, state), { isKeysOpen: false }));\n },\n openMenuOnFocus: true\n });\n if (model.state.layout === \"vertical\") {\n if (filter.key) {\n const label = /* @__PURE__ */ React.createElement(ControlsLabel, {\n layout: \"vertical\",\n label: (_a = filter.key) != null ? _a : \"\",\n onRemove: () => model._removeFilter(filter)\n });\n return /* @__PURE__ */ React.createElement(Field, {\n label,\n \"data-testid\": `AdHocFilter-${filter.key}`,\n className: styles.field\n }, valueSelect);\n } else {\n return /* @__PURE__ */ React.createElement(Field, {\n label: \"Select label\",\n \"data-testid\": `AdHocFilter-${filter.key}`,\n className: styles.field\n }, keySelect);\n }\n }\n return /* @__PURE__ */ React.createElement(\"div\", {\n className: styles.wrapper,\n \"data-testid\": `AdHocFilter-${filter.key}`\n }, keySelect, /* @__PURE__ */ React.createElement(Select, {\n value: filter.operator,\n disabled: model.state.readOnly,\n options: model._getOperators(),\n width: \"auto\",\n onChange: (v) => model._updateFilter(filter, \"operator\", v.value)\n }), valueSelect, /* @__PURE__ */ React.createElement(Button, {\n variant: \"secondary\",\n \"aria-label\": \"Remove filter\",\n title: \"Remove filter\",\n className: styles.removeButton,\n icon: \"times\",\n \"data-testid\": `AdHocFilter-remove-${(_b = filter.key) != null ? _b : \"\"}`,\n onClick: () => model._removeFilter(filter)\n }));\n}\nconst getStyles = (theme) => ({\n field: css({\n marginBottom: 0\n }),\n wrapper: css({\n display: \"flex\",\n \"> *\": {\n \"&:not(:first-child)\": {\n marginLeft: -1\n },\n \"&:first-child\": {\n borderTopRightRadius: 0,\n borderBottomRightRadius: 0\n },\n \"&:last-child\": {\n borderTopLeftRadius: 0,\n borderBottomLeftRadius: 0\n },\n \"&:not(:first-child):not(:last-child)\": {\n borderRadius: 0\n },\n position: \"relative\",\n zIndex: 0,\n \"&:hover\": {\n zIndex: 1\n },\n \"&:focus-within\": {\n zIndex: 2\n }\n }\n }),\n widthWhenOpen: css({\n minWidth: theme.spacing(16)\n }),\n removeButton: css({\n paddingLeft: theme.spacing(3 / 2),\n paddingRight: theme.spacing(3 / 2),\n borderLeft: \"none\",\n position: \"relative\",\n left: \"1px\"\n })\n});\n\nexport { AdHocFilterRenderer };\n//# sourceMappingURL=AdHocFilterRenderer.js.map\n","import React from 'react';\nimport { AdHocFilterRenderer } from './AdHocFilterRenderer.js';\nimport { Button } from '@grafana/ui';\n\nfunction AdHocFilterBuilder({ model }) {\n const { _wip } = model.useState();\n if (!_wip) {\n return /* @__PURE__ */ React.createElement(Button, {\n variant: \"secondary\",\n icon: \"plus\",\n title: \"Add filter\",\n \"aria-label\": \"Add filter\",\n \"data-testid\": `AdHocFilter-add`,\n onClick: () => model._addWip()\n });\n }\n return /* @__PURE__ */ React.createElement(AdHocFilterRenderer, {\n filter: _wip,\n model\n });\n}\n\nexport { AdHocFilterBuilder };\n//# sourceMappingURL=AdHocFilterBuilder.js.map\n","import { SceneObjectBase } from '../../core/SceneObjectBase.js';\nimport { patchGetAdhocFilters } from './patchGetAdhocFilters.js';\nimport { getDataSourceSrv } from '@grafana/runtime';\nimport { AdHocFiltersVariableUrlSyncHandler } from './AdHocFiltersVariableUrlSyncHandler.js';\nimport { useStyles2 } from '@grafana/ui';\nimport React from 'react';\nimport { ControlsLabel } from '../../utils/ControlsLabel.js';\nimport { AdHocFilterRenderer } from './AdHocFilterRenderer.js';\nimport { AdHocFilterBuilder } from './AdHocFilterBuilder.js';\nimport { css } from '@emotion/css';\nimport { sceneGraph } from '../../core/sceneGraph/index.js';\n\nvar __defProp = Object.defineProperty;\nvar __defProps = Object.defineProperties;\nvar __getOwnPropDescs = Object.getOwnPropertyDescriptors;\nvar __getOwnPropSymbols = Object.getOwnPropertySymbols;\nvar __hasOwnProp = Object.prototype.hasOwnProperty;\nvar __propIsEnum = Object.prototype.propertyIsEnumerable;\nvar __defNormalProp = (obj, key, value) => key in obj ? __defProp(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;\nvar __spreadValues = (a, b) => {\n for (var prop in b || (b = {}))\n if (__hasOwnProp.call(b, prop))\n __defNormalProp(a, prop, b[prop]);\n if (__getOwnPropSymbols)\n for (var prop of __getOwnPropSymbols(b)) {\n if (__propIsEnum.call(b, prop))\n __defNormalProp(a, prop, b[prop]);\n }\n return a;\n};\nvar __spreadProps = (a, b) => __defProps(a, __getOwnPropDescs(b));\nclass AdHocFilterSet extends SceneObjectBase {\n constructor(initialState) {\n super(__spreadValues({\n name: \"Filters\",\n filters: [],\n baseFilters: [],\n datasource: null,\n applyMode: \"same-datasource\",\n layout: \"horizontal\"\n }, initialState));\n this._urlSync = new AdHocFiltersVariableUrlSyncHandler(this);\n this._scopedVars = { __sceneObject: { value: this } };\n this._dataSourceSrv = getDataSourceSrv();\n if (this.state.applyMode === \"same-datasource\") {\n patchGetAdhocFilters(this);\n }\n }\n _updateFilter(filter, prop, value) {\n if (value == null) {\n return;\n }\n const { filters, _wip } = this.state;\n if (filter === _wip) {\n if (prop === \"value\") {\n this.setState({ filters: [...filters, __spreadProps(__spreadValues({}, _wip), { [prop]: value })], _wip: void 0 });\n } else {\n this.setState({ _wip: __spreadProps(__spreadValues({}, filter), { [prop]: value }) });\n }\n return;\n }\n const updatedFilters = this.state.filters.map((f) => {\n if (f === filter) {\n return __spreadProps(__spreadValues({}, f), { [prop]: value });\n }\n return f;\n });\n this.setState({ filters: updatedFilters });\n }\n _removeFilter(filter) {\n if (filter === this.state._wip) {\n this.setState({ _wip: void 0 });\n return;\n }\n this.setState({ filters: this.state.filters.filter((f) => f !== filter) });\n }\n async _getKeys(currentKey) {\n var _a, _b;\n const override = await ((_b = (_a = this.state).getTagKeysProvider) == null ? void 0 : _b.call(_a, this, currentKey));\n if (override && override.replace) {\n return override.values.map(toSelectableValue);\n }\n const ds = await this._dataSourceSrv.get(this.state.datasource, this._scopedVars);\n if (!ds || !ds.getTagKeys) {\n return [];\n }\n const otherFilters = this.state.filters.filter((f) => f.key !== currentKey).concat(this.state.baseFilters);\n let keys = await ds.getTagKeys({ filters: otherFilters });\n if (override) {\n keys = keys.concat(override.values);\n }\n const tagKeyRegexFilter = this.state.tagKeyRegexFilter;\n if (tagKeyRegexFilter) {\n keys = keys.filter((f) => f.text.match(tagKeyRegexFilter));\n }\n return keys.map(toSelectableValue);\n }\n async _getValuesFor(filter) {\n var _a, _b;\n const override = await ((_b = (_a = this.state).getTagValuesProvider) == null ? void 0 : _b.call(_a, this, filter));\n if (override && override.replace) {\n return override.values.map(toSelectableValue);\n }\n const ds = await this._dataSourceSrv.get(this.state.datasource, this._scopedVars);\n if (!ds || !ds.getTagValues) {\n return [];\n }\n const otherFilters = this.state.filters.filter((f) => f.key !== filter.key).concat(this.state.baseFilters);\n const timeRange = sceneGraph.getTimeRange(this).state.value;\n let values = await ds.getTagValues({ key: filter.key, filters: otherFilters, timeRange });\n if (override) {\n values = values.concat(override.values);\n }\n return values.map(toSelectableValue);\n }\n _addWip() {\n this.setState({ _wip: { key: \"\", value: \"\", operator: \"=\", condition: \"\" } });\n }\n _getOperators() {\n return [\"=\", \"!=\", \"<\", \">\", \"=~\", \"!~\"].map((value) => ({\n label: value,\n value\n }));\n }\n}\nAdHocFilterSet.Component = AdHocFiltersSetRenderer;\nfunction AdHocFiltersSetRenderer({ model }) {\n const { filters, readOnly, layout, name } = model.useState();\n const styles = useStyles2(getStyles);\n return /* @__PURE__ */ React.createElement(\"div\", {\n className: styles.wrapper\n }, layout !== \"vertical\" && /* @__PURE__ */ React.createElement(ControlsLabel, {\n label: name != null ? name : \"Filters\",\n icon: \"filter\"\n }), filters.map((filter, index) => /* @__PURE__ */ React.createElement(React.Fragment, {\n key: index\n }, /* @__PURE__ */ React.createElement(AdHocFilterRenderer, {\n filter,\n model\n }))), !readOnly && /* @__PURE__ */ React.createElement(AdHocFilterBuilder, {\n model,\n key: \"'builder\"\n }));\n}\nconst getStyles = (theme) => ({\n wrapper: css({\n display: \"flex\",\n gap: theme.spacing(2),\n alignItems: \"flex-end\"\n }),\n filterIcon: css({\n color: theme.colors.text.secondary,\n paddingRight: theme.spacing(0.5)\n })\n});\nfunction toSelectableValue({ text, value }) {\n return {\n label: text,\n value: String(value != null ? value : text)\n };\n}\n\nexport { AdHocFilterSet, AdHocFiltersSetRenderer };\n//# sourceMappingURL=AdHocFiltersSet.js.map\n","import { defaultDashboard as defaultDashboard$1, defaultVariableModel as defaultVariableModel$1, defaultPanel as defaultPanel$1, defaultRowPanel as defaultRowPanel$1, defaultFieldConfig as defaultFieldConfig$1, defaultFieldConfigSource as defaultFieldConfigSource$1, defaultMatcherConfig as defaultMatcherConfig$1, defaultAnnotationQuery as defaultAnnotationQuery$1, defaultAnnotationContainer as defaultAnnotationContainer$1, defaultThresholdsConfig as defaultThresholdsConfig$1 } from '../raw/dashboard/x/dashboard_types.gen.js';\n\nvar __defProp = Object.defineProperty;\nvar __defProps = Object.defineProperties;\nvar __getOwnPropDescs = Object.getOwnPropertyDescriptors;\nvar __getOwnPropSymbols = Object.getOwnPropertySymbols;\nvar __hasOwnProp = Object.prototype.hasOwnProperty;\nvar __propIsEnum = Object.prototype.propertyIsEnumerable;\nvar __defNormalProp = (obj, key, value) => key in obj ? __defProp(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;\nvar __spreadValues = (a, b) => {\n for (var prop in b || (b = {}))\n if (__hasOwnProp.call(b, prop))\n __defNormalProp(a, prop, b[prop]);\n if (__getOwnPropSymbols)\n for (var prop of __getOwnPropSymbols(b)) {\n if (__propIsEnum.call(b, prop))\n __defNormalProp(a, prop, b[prop]);\n }\n return a;\n};\nvar __spreadProps = (a, b) => __defProps(a, __getOwnPropDescs(b));\nvar VariableHide = /* @__PURE__ */ ((VariableHide2) => {\n VariableHide2[VariableHide2[\"dontHide\"] = 0] = \"dontHide\";\n VariableHide2[VariableHide2[\"hideLabel\"] = 1] = \"hideLabel\";\n VariableHide2[VariableHide2[\"hideVariable\"] = 2] = \"hideVariable\";\n return VariableHide2;\n})(VariableHide || {});\nconst defaultDashboard = defaultDashboard$1;\nconst defaultVariableModel = __spreadProps(__spreadValues({}, defaultVariableModel$1), {\n description: null,\n hide: 0 /* dontHide */,\n datasource: null\n});\nconst defaultPanel = defaultPanel$1;\nconst defaultRowPanel = defaultRowPanel$1;\nconst defaultFieldConfig = defaultFieldConfig$1;\nconst defaultFieldConfigSource = defaultFieldConfigSource$1;\nconst defaultMatcherConfig = defaultMatcherConfig$1;\nconst defaultAnnotationQuery = defaultAnnotationQuery$1;\nconst defaultAnnotationContainer = defaultAnnotationContainer$1;\nconst defaultThresholdsConfig = defaultThresholdsConfig$1;\n\nexport { VariableHide, defaultAnnotationContainer, defaultAnnotationQuery, defaultDashboard, defaultFieldConfig, defaultFieldConfigSource, defaultMatcherConfig, defaultPanel, defaultRowPanel, defaultThresholdsConfig, defaultVariableModel };\n//# sourceMappingURL=dashboard.types.js.map\n","import React from 'react';\nimport { SceneObjectBase } from '../../core/SceneObjectBase.js';\nimport { SceneVariableValueChangedEvent } from '../types.js';\nimport { AdHocFilterSet } from './AdHocFiltersSet.js';\nimport { VariableHide } from '@grafana/schema';\nimport { renderPrometheusLabelFilters } from '../utils.js';\n\nvar __defProp = Object.defineProperty;\nvar __defProps = Object.defineProperties;\nvar __getOwnPropDescs = Object.getOwnPropertyDescriptors;\nvar __getOwnPropSymbols = Object.getOwnPropertySymbols;\nvar __hasOwnProp = Object.prototype.hasOwnProperty;\nvar __propIsEnum = Object.prototype.propertyIsEnumerable;\nvar __defNormalProp = (obj, key, value) => key in obj ? __defProp(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;\nvar __spreadValues = (a, b) => {\n for (var prop in b || (b = {}))\n if (__hasOwnProp.call(b, prop))\n __defNormalProp(a, prop, b[prop]);\n if (__getOwnPropSymbols)\n for (var prop of __getOwnPropSymbols(b)) {\n if (__propIsEnum.call(b, prop))\n __defNormalProp(a, prop, b[prop]);\n }\n return a;\n};\nvar __spreadProps = (a, b) => __defProps(a, __getOwnPropDescs(b));\nconst _AdHocFiltersVariable = class extends SceneObjectBase {\n static create(state) {\n var _a;\n return new _AdHocFiltersVariable({\n type: \"adhoc\",\n hide: VariableHide.hideLabel,\n name: (_a = state.name) != null ? _a : \"Filters\",\n set: new AdHocFilterSet(__spreadProps(__spreadValues({}, state), {\n applyMode: \"manual\"\n }))\n });\n }\n constructor(state) {\n var _a;\n super(__spreadProps(__spreadValues({}, state), {\n filterExpression: (_a = state.filterExpression) != null ? _a : renderPrometheusLabelFilters(state.set.state.filters)\n }));\n this.addActivationHandler(() => {\n this._subs.add(\n this.state.set.subscribeToState((newState, prevState) => {\n if (newState.filters !== prevState.filters) {\n this._updateFilterExpression(newState.filters, true);\n }\n })\n );\n this._updateFilterExpression(this.state.set.state.filters, false);\n });\n }\n getValue() {\n return this.state.filterExpression;\n }\n _updateFilterExpression(filters, publishEvent) {\n let expr = renderPrometheusLabelFilters(filters);\n if (expr === this.state.filterExpression) {\n return;\n }\n this.setState({ filterExpression: expr });\n if (publishEvent) {\n this.publishEvent(new SceneVariableValueChangedEvent(this), true);\n }\n }\n};\nlet AdHocFiltersVariable = _AdHocFiltersVariable;\nAdHocFiltersVariable.Component = ({ model }) => {\n return /* @__PURE__ */ React.createElement(AdHocFilterSet.Component, {\n model: model.state.set\n });\n};\n\nexport { AdHocFiltersVariable };\n//# sourceMappingURL=AdHocFiltersVariable.js.map\n","import { isEqual } from 'lodash';\nimport { locationService } from '@grafana/runtime';\nimport { SceneObjectStateChangedEvent } from '../core/events.js';\nimport { writeSceneLog } from '../utils/writeSceneLog.js';\n\nclass UrlSyncManager {\n constructor() {\n this.urlKeyMapper = new UniqueUrlKeyMapper();\n this._stateSub = null;\n this._locationSub = null;\n this._onLocationUpdate = (location) => {\n if (this._lastPath !== location.pathname) {\n return;\n }\n const urlParams = new URLSearchParams(location.search);\n this.urlKeyMapper.rebuildIndex(this._sceneRoot);\n this._syncSceneStateFromUrl(this._sceneRoot, urlParams);\n this._lastPath = location.pathname;\n };\n this._onStateChanged = ({ payload }) => {\n const changedObject = payload.changedObject;\n if (changedObject.urlSync) {\n const newUrlState = changedObject.urlSync.getUrlState();\n const searchParams = locationService.getSearch();\n const mappedUpdated = {};\n this.urlKeyMapper.rebuildIndex(this._sceneRoot);\n for (const [key, newUrlValue] of Object.entries(newUrlState)) {\n const uniqueKey = this.urlKeyMapper.getUniqueKey(key, changedObject);\n const currentUrlValue = searchParams.getAll(uniqueKey);\n if (!isUrlValueEqual(currentUrlValue, newUrlValue)) {\n mappedUpdated[uniqueKey] = newUrlValue;\n }\n }\n if (Object.keys(mappedUpdated).length > 0) {\n locationService.partial(mappedUpdated, true);\n }\n }\n };\n }\n initSync(root) {\n if (!this._locationSub) {\n writeSceneLog(\"UrlSyncManager\", \"New location listen\");\n this._locationSub = locationService.getHistory().listen(this._onLocationUpdate);\n }\n if (this._stateSub) {\n writeSceneLog(\"UrlSyncManager\", \"Unregister previous scene state subscription\", this._sceneRoot.state.key);\n this._stateSub.unsubscribe();\n }\n this._sceneRoot = root;\n this._lastPath = locationService.getLocation().pathname;\n this._stateSub = root.subscribeToEvent(SceneObjectStateChangedEvent, this._onStateChanged);\n this.syncFrom(this._sceneRoot);\n }\n cleanUp(root) {\n if (this._sceneRoot !== root) {\n return;\n }\n writeSceneLog(\"UrlSyncManager\", \"Clean up\");\n if (this._locationSub) {\n this._locationSub();\n writeSceneLog(\"UrlSyncManager\", \"Unregister history listen\");\n this._locationSub = null;\n }\n if (this._stateSub) {\n this._stateSub.unsubscribe();\n this._stateSub = null;\n writeSceneLog(\n \"UrlSyncManager\",\n \"Root deactived, unsub to state\",\n \"same key\",\n this._sceneRoot.state.key === root.state.key\n );\n }\n }\n syncFrom(sceneObj) {\n const urlParams = locationService.getSearch();\n this.urlKeyMapper.rebuildIndex(this._sceneRoot);\n this._syncSceneStateFromUrl(sceneObj, urlParams);\n }\n _syncSceneStateFromUrl(sceneObject, urlParams) {\n if (sceneObject.urlSync) {\n const urlState = {};\n const currentState = sceneObject.urlSync.getUrlState();\n for (const key of sceneObject.urlSync.getKeys()) {\n const uniqueKey = this.urlKeyMapper.getUniqueKey(key, sceneObject);\n const newValue = urlParams.getAll(uniqueKey);\n const currentValue = currentState[key];\n if (isUrlValueEqual(newValue, currentValue)) {\n continue;\n }\n if (newValue.length > 0) {\n if (Array.isArray(currentValue)) {\n urlState[key] = newValue;\n } else {\n urlState[key] = newValue[0];\n }\n } else {\n urlState[key] = null;\n }\n }\n if (Object.keys(urlState).length > 0) {\n sceneObject.urlSync.updateFromUrl(urlState);\n }\n }\n sceneObject.forEachChild((child) => this._syncSceneStateFromUrl(child, urlParams));\n }\n getUrlState(root) {\n const urlKeyMapper = new UniqueUrlKeyMapper();\n urlKeyMapper.rebuildIndex(root);\n const result = {};\n const visitNode = (obj) => {\n if (obj.urlSync) {\n const newUrlState = obj.urlSync.getUrlState();\n for (const [key, value] of Object.entries(newUrlState)) {\n if (value != null) {\n const uniqueKey = urlKeyMapper.getUniqueKey(key, obj);\n result[uniqueKey] = value;\n }\n }\n }\n obj.forEachChild(visitNode);\n };\n visitNode(root);\n return result;\n }\n}\nclass UniqueUrlKeyMapper {\n constructor() {\n this.index = /* @__PURE__ */ new Map();\n }\n getUniqueKey(key, obj) {\n const objectsWithKey = this.index.get(key);\n if (!objectsWithKey) {\n throw new Error(\"Cannot find any scene object that uses the key '\" + key + \"'\");\n }\n const address = objectsWithKey.findIndex((o) => o.sceneObject === obj);\n if (address > 0) {\n return `${key}-${address + 1}`;\n }\n return key;\n }\n rebuildIndex(root) {\n this.index.clear();\n this.buildIndex(root, 0);\n }\n buildIndex(sceneObject, depth) {\n if (sceneObject.urlSync) {\n for (const key of sceneObject.urlSync.getKeys()) {\n const hit = this.index.get(key);\n if (hit) {\n hit.push({ sceneObject, depth });\n hit.sort((a, b) => a.depth - b.depth);\n } else {\n this.index.set(key, [{ sceneObject, depth }]);\n }\n }\n }\n sceneObject.forEachChild((child) => this.buildIndex(child, depth + 1));\n }\n}\nfunction isUrlValueEqual(currentUrlValue, newUrlValue) {\n if (currentUrlValue.length === 0 && newUrlValue == null) {\n return true;\n }\n if (!Array.isArray(newUrlValue) && (currentUrlValue == null ? void 0 : currentUrlValue.length) === 1) {\n return newUrlValue === currentUrlValue[0];\n }\n if ((newUrlValue == null ? void 0 : newUrlValue.length) === 0 && currentUrlValue === null) {\n return true;\n }\n return isEqual(currentUrlValue, newUrlValue);\n}\nlet urlSyncManager;\nfunction getUrlSyncManager() {\n if (!urlSyncManager) {\n urlSyncManager = new UrlSyncManager();\n }\n return urlSyncManager;\n}\n\nexport { UrlSyncManager, getUrlSyncManager, isUrlValueEqual };\n//# sourceMappingURL=UrlSyncManager.js.map\n","import { css } from '@emotion/css';\nimport { useStyles2 } from '@grafana/ui';\nimport React from 'react';\nimport { SceneObjectBase } from '../core/SceneObjectBase.js';\nimport { getUrlSyncManager } from '../services/UrlSyncManager.js';\nimport { setWindowGrafanaSceneContext } from '../utils/compatibility/setWindowGrafanaSceneContext.js';\n\nclass EmbeddedScene extends SceneObjectBase {\n constructor(state) {\n super(state);\n this.addActivationHandler(() => {\n const unsetGlobalScene = setWindowGrafanaSceneContext(this);\n return () => {\n unsetGlobalScene();\n getUrlSyncManager().cleanUp(this);\n };\n });\n }\n initUrlSync() {\n getUrlSyncManager().initSync(this);\n }\n}\nEmbeddedScene.Component = EmbeddedSceneRenderer;\nfunction EmbeddedSceneRenderer({ model }) {\n const { body, controls } = model.useState();\n const styles = useStyles2(getStyles);\n return /* @__PURE__ */ React.createElement(\"div\", {\n className: styles.container\n }, controls && /* @__PURE__ */ React.createElement(\"div\", {\n className: styles.controls\n }, controls.map((control) => /* @__PURE__ */ React.createElement(control.Component, {\n key: control.state.key,\n model: control\n }))), /* @__PURE__ */ React.createElement(\"div\", {\n className: styles.body\n }, /* @__PURE__ */ React.createElement(body.Component, {\n model: body\n })));\n}\nconst getStyles = (theme) => {\n return {\n container: css({\n flexGrow: 1,\n display: \"flex\",\n gap: theme.spacing(2),\n minHeight: \"100%\",\n flexDirection: \"column\"\n }),\n body: css({\n flexGrow: 1,\n display: \"flex\",\n gap: theme.spacing(1)\n }),\n controls: css({\n display: \"flex\",\n gap: theme.spacing(2),\n alignItems: \"flex-end\",\n flexWrap: \"wrap\"\n })\n };\n};\n\nexport { EmbeddedScene };\n//# sourceMappingURL=EmbeddedScene.js.map\n","import { writeSceneLog } from '../writeSceneLog.js';\n\nfunction setWindowGrafanaSceneContext(activeScene) {\n const prevScene = window.__grafanaSceneContext;\n writeSceneLog(\"setWindowGrafanaScene\", \"set window.__grafanaSceneContext\", activeScene);\n window.__grafanaSceneContext = activeScene;\n return () => {\n if (window.__grafanaSceneContext === activeScene) {\n writeSceneLog(\"setWindowGrafanaScene\", \"restore window.__grafanaSceneContext\", prevScene);\n window.__grafanaSceneContext = prevScene;\n }\n };\n}\n\nexport { setWindowGrafanaSceneContext };\n//# sourceMappingURL=setWindowGrafanaSceneContext.js.map\n","export var noop = function () { };\nexport function on(obj) {\n var args = [];\n for (var _i = 1; _i < arguments.length; _i++) {\n args[_i - 1] = arguments[_i];\n }\n if (obj && obj.addEventListener) {\n obj.addEventListener.apply(obj, args);\n }\n}\nexport function off(obj) {\n var args = [];\n for (var _i = 1; _i < arguments.length; _i++) {\n args[_i - 1] = arguments[_i];\n }\n if (obj && obj.removeEventListener) {\n obj.removeEventListener.apply(obj, args);\n }\n}\nexport var isBrowser = typeof window !== 'undefined';\nexport var isNavigator = typeof navigator !== 'undefined';\n","import { useEffect, useLayoutEffect } from 'react';\nimport { isBrowser } from './misc/util';\nvar useIsomorphicLayoutEffect = isBrowser ? useLayoutEffect : useEffect;\nexport default useIsomorphicLayoutEffect;\n","import { useMemo, useState } from 'react';\nimport useIsomorphicLayoutEffect from './useIsomorphicLayoutEffect';\nimport { isBrowser, noop } from './misc/util';\nvar defaultState = {\n x: 0,\n y: 0,\n width: 0,\n height: 0,\n top: 0,\n left: 0,\n bottom: 0,\n right: 0,\n};\nfunction useMeasure() {\n var _a = useState(null), element = _a[0], ref = _a[1];\n var _b = useState(defaultState), rect = _b[0], setRect = _b[1];\n var observer = useMemo(function () {\n return new window.ResizeObserver(function (entries) {\n if (entries[0]) {\n var _a = entries[0].contentRect, x = _a.x, y = _a.y, width = _a.width, height = _a.height, top_1 = _a.top, left = _a.left, bottom = _a.bottom, right = _a.right;\n setRect({ x: x, y: y, width: width, height: height, top: top_1, left: left, bottom: bottom, right: right });\n }\n });\n }, []);\n useIsomorphicLayoutEffect(function () {\n if (!element)\n return;\n observer.observe(element);\n return function () {\n observer.disconnect();\n };\n }, [element]);\n return [ref, rect];\n}\nexport default isBrowser && typeof window.ResizeObserver !== 'undefined'\n ? useMeasure\n : (function () { return [noop, defaultState]; });\n","import React from 'react';\nimport { useMeasure } from 'react-use';\nimport { AlertState, PluginContextProvider } from '@grafana/data';\nimport { getAppEvents } from '@grafana/runtime';\nimport { useStyles2, Tooltip, PanelChrome, Icon, ErrorBoundaryAlert, PanelContextProvider } from '@grafana/ui';\nimport { sceneGraph } from '../../core/sceneGraph/index.js';\nimport { isSceneObject } from '../../core/types.js';\nimport { css, cx } from '@emotion/css';\n\nfunction VizPanelRenderer({ model }) {\n var _a, _b, _c;\n const {\n title,\n options,\n fieldConfig,\n _pluginLoadError,\n $data,\n displayMode,\n hoverHeader,\n menu,\n headerActions,\n titleItems,\n description\n } = model.useState();\n const [ref, { width, height }] = useMeasure();\n const plugin = model.getPlugin();\n const { dragClass, dragClassCancel } = getDragClasses(model);\n const dataObject = sceneGraph.getData(model);\n const rawData = dataObject.useState();\n const dataWithFieldConfig = model.applyFieldConfig(rawData.data);\n const sceneTimeRange = sceneGraph.getTimeRange(model);\n const timeZone = sceneTimeRange.getTimeZone();\n const timeRange = getPanelTimeRange(sceneTimeRange, plugin, dataWithFieldConfig);\n const titleInterpolated = model.interpolate(title, void 0, \"text\");\n const alertStateStyles = useStyles2(getAlertStateStyles);\n if (!plugin) {\n return /* @__PURE__ */ React.createElement(\"div\", null, \"Loading plugin panel...\");\n }\n if (!plugin.panel) {\n return /* @__PURE__ */ React.createElement(\"div\", null, \"Panel plugin has no panel component\");\n }\n const PanelComponent = plugin.panel;\n if ($data && $data.setContainerWidth) {\n $data.setContainerWidth(Math.round(width));\n }\n let titleItemsElement = [];\n if (titleItems) {\n if (Array.isArray(titleItems)) {\n titleItemsElement = titleItemsElement.concat(\n titleItems.map((titleItem) => {\n return /* @__PURE__ */ React.createElement(titleItem.Component, {\n model: titleItem,\n key: `${titleItem.state.key}`\n });\n })\n );\n } else if (isSceneObject(titleItems)) {\n titleItemsElement.push(/* @__PURE__ */ React.createElement(titleItems.Component, {\n model: titleItems\n }));\n } else {\n titleItemsElement.push(titleItems);\n }\n }\n if (model.state.$timeRange) {\n titleItemsElement.push(/* @__PURE__ */ React.createElement(model.state.$timeRange.Component, {\n model: model.state.$timeRange,\n key: model.state.key\n }));\n }\n if (dataWithFieldConfig.alertState) {\n titleItemsElement.push(\n /* @__PURE__ */ React.createElement(Tooltip, {\n content: (_a = dataWithFieldConfig.alertState.state) != null ? _a : \"unknown\",\n key: `alert-states-icon-${model.state.key}`\n }, /* @__PURE__ */ React.createElement(PanelChrome.TitleItem, {\n className: cx({\n [alertStateStyles.ok]: dataWithFieldConfig.alertState.state === AlertState.OK,\n [alertStateStyles.pending]: dataWithFieldConfig.alertState.state === AlertState.Pending,\n [alertStateStyles.alerting]: dataWithFieldConfig.alertState.state === AlertState.Alerting\n })\n }, /* @__PURE__ */ React.createElement(Icon, {\n name: dataWithFieldConfig.alertState.state === \"alerting\" ? \"heart-break\" : \"heart\",\n className: \"panel-alert-icon\",\n size: \"md\"\n })))\n );\n }\n let panelMenu;\n if (menu) {\n panelMenu = /* @__PURE__ */ React.createElement(menu.Component, {\n model: menu\n });\n }\n let actionsElement;\n if (headerActions) {\n if (Array.isArray(headerActions)) {\n actionsElement = /* @__PURE__ */ React.createElement(React.Fragment, null, headerActions.map((action) => {\n return /* @__PURE__ */ React.createElement(action.Component, {\n model: action,\n key: `${action.state.key}`\n });\n }));\n } else if (isSceneObject(headerActions)) {\n actionsElement = /* @__PURE__ */ React.createElement(headerActions.Component, {\n model: headerActions\n });\n } else {\n actionsElement = headerActions;\n }\n }\n const data = dataWithFieldConfig;\n const isReadyToRender = dataObject.isDataReadyToDisplay ? dataObject.isDataReadyToDisplay() : true;\n const context = model.getPanelContext();\n const panelId = (_c = (_b = context.instanceState) == null ? void 0 : _b.legacyPanelId) != null ? _c : 1;\n return /* @__PURE__ */ React.createElement(\"div\", {\n className: relativeWrapper\n }, /* @__PURE__ */ React.createElement(\"div\", {\n ref,\n className: absoluteWrapper,\n \"data-viz-panel-key\": model.state.key\n }, width > 0 && height > 0 && /* @__PURE__ */ React.createElement(PanelChrome, {\n title: titleInterpolated,\n description: (description == null ? void 0 : description.trim()) ? model.getDescription : void 0,\n loadingState: data.state,\n statusMessage: getChromeStatusMessage(data, _pluginLoadError),\n statusMessageOnClick: model.onStatusMessageClick,\n width,\n height,\n displayMode,\n hoverHeader,\n titleItems: titleItemsElement,\n dragClass,\n actions: actionsElement,\n dragClassCancel,\n padding: plugin.noPadding ? \"none\" : \"md\",\n menu: panelMenu,\n onCancelQuery: model.onCancelQuery\n }, (innerWidth, innerHeight) => /* @__PURE__ */ React.createElement(React.Fragment, null, /* @__PURE__ */ React.createElement(ErrorBoundaryAlert, {\n dependencies: [plugin, data]\n }, /* @__PURE__ */ React.createElement(PluginContextProvider, {\n meta: plugin.meta\n }, /* @__PURE__ */ React.createElement(PanelContextProvider, {\n value: context\n }, isReadyToRender && /* @__PURE__ */ React.createElement(PanelComponent, {\n id: panelId,\n data,\n title,\n timeRange,\n timeZone,\n options,\n fieldConfig,\n transparent: false,\n width: innerWidth,\n height: innerHeight,\n renderCounter: 0,\n replaceVariables: model.interpolate,\n onOptionsChange: model.onOptionsChange,\n onFieldConfigChange: model.onFieldConfigChange,\n onChangeTimeRange: model.onTimeRangeChange,\n eventBus: getAppEvents()\n }))))))));\n}\nfunction getDragClasses(panel) {\n var _a, _b;\n const parentLayout = sceneGraph.getLayout(panel);\n const isDraggable = parentLayout == null ? void 0 : parentLayout.isDraggable();\n if (!parentLayout || !isDraggable || itemDraggingDisabled(panel, parentLayout)) {\n return { dragClass: \"\", dragClassCancel: \"\" };\n }\n return { dragClass: (_a = parentLayout.getDragClass) == null ? void 0 : _a.call(parentLayout), dragClassCancel: (_b = parentLayout == null ? void 0 : parentLayout.getDragClassCancel) == null ? void 0 : _b.call(parentLayout) };\n}\nfunction itemDraggingDisabled(item, layout) {\n let ancestor = item.parent;\n while (ancestor && ancestor !== layout) {\n if (\"isDraggable\" in ancestor.state && ancestor.state.isDraggable === false) {\n return true;\n }\n ancestor = ancestor.parent;\n }\n return false;\n}\nfunction getChromeStatusMessage(data, pluginLoadingError) {\n if (pluginLoadingError) {\n return pluginLoadingError;\n }\n let message = data.error ? data.error.message : void 0;\n if (data.errors) {\n message = data.errors.map((e) => e.message).join(\", \");\n }\n return message;\n}\nconst relativeWrapper = css({\n position: \"relative\",\n width: \"100%\",\n height: \"100%\"\n});\nconst absoluteWrapper = css({\n position: \"absolute\",\n width: \"100%\",\n height: \"100%\"\n});\nconst getAlertStateStyles = (theme) => {\n return {\n ok: css({\n color: theme.colors.success.text\n }),\n pending: css({\n color: theme.colors.warning.text\n }),\n alerting: css({\n color: theme.colors.error.text\n })\n };\n};\nfunction getPanelTimeRange(sceneTimeRange, plugin, data) {\n var _a;\n if (!plugin || plugin.meta.skipDataQuery) {\n return sceneTimeRange.state.value;\n }\n if (data && ((_a = data.request) == null ? void 0 : _a.range)) {\n return data.request.range;\n }\n return sceneTimeRange.state.value;\n}\n\nexport { VizPanelRenderer };\n//# sourceMappingURL=VizPanelRenderer.js.map\n","import { isSystemOverrideWithRef, FieldMatcherID, ByNamesMatcherMode, FieldType, getFieldDisplayName, fieldMatchers } from '@grafana/data';\nimport { SeriesVisibilityChangeMode } from '@grafana/ui';\n\nvar __defProp = Object.defineProperty;\nvar __defProps = Object.defineProperties;\nvar __getOwnPropDescs = Object.getOwnPropertyDescriptors;\nvar __getOwnPropSymbols = Object.getOwnPropertySymbols;\nvar __hasOwnProp = Object.prototype.hasOwnProperty;\nvar __propIsEnum = Object.prototype.propertyIsEnumerable;\nvar __defNormalProp = (obj, key, value) => key in obj ? __defProp(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;\nvar __spreadValues = (a, b) => {\n for (var prop in b || (b = {}))\n if (__hasOwnProp.call(b, prop))\n __defNormalProp(a, prop, b[prop]);\n if (__getOwnPropSymbols)\n for (var prop of __getOwnPropSymbols(b)) {\n if (__propIsEnum.call(b, prop))\n __defNormalProp(a, prop, b[prop]);\n }\n return a;\n};\nvar __spreadProps = (a, b) => __defProps(a, __getOwnPropDescs(b));\nconst displayOverrideRef = \"hideSeriesFrom\";\nconst isHideSeriesOverride = isSystemOverrideWithRef(displayOverrideRef);\nfunction seriesVisibilityConfigFactory(label, mode, fieldConfig, data) {\n const { overrides } = fieldConfig;\n const displayName = label;\n const currentIndex = overrides.findIndex(isHideSeriesOverride);\n if (currentIndex < 0) {\n if (mode === SeriesVisibilityChangeMode.ToggleSelection) {\n const override3 = createOverride([displayName, ...getNamesOfHiddenFields(overrides, data)]);\n return __spreadProps(__spreadValues({}, fieldConfig), {\n overrides: [...fieldConfig.overrides, override3]\n });\n }\n const displayNames = getDisplayNames(data, displayName);\n const override2 = createOverride(displayNames);\n return __spreadProps(__spreadValues({}, fieldConfig), {\n overrides: [...fieldConfig.overrides, override2]\n });\n }\n const overridesCopy = Array.from(overrides);\n const [current] = overridesCopy.splice(currentIndex, 1);\n if (mode === SeriesVisibilityChangeMode.ToggleSelection) {\n let existing = getExistingDisplayNames(current);\n const nameOfHiddenFields = getNamesOfHiddenFields(overridesCopy, data);\n if (nameOfHiddenFields.length > 0) {\n existing = existing.filter((el) => nameOfHiddenFields.indexOf(el) < 0);\n }\n if (existing[0] === displayName && existing.length === 1) {\n return __spreadProps(__spreadValues({}, fieldConfig), {\n overrides: overridesCopy\n });\n }\n const override2 = createOverride([displayName, ...nameOfHiddenFields]);\n return __spreadProps(__spreadValues({}, fieldConfig), {\n overrides: [...overridesCopy, override2]\n });\n }\n const override = createExtendedOverride(current, displayName);\n if (allFieldsAreExcluded(override, data)) {\n return __spreadProps(__spreadValues({}, fieldConfig), {\n overrides: overridesCopy\n });\n }\n return __spreadProps(__spreadValues({}, fieldConfig), {\n overrides: [...overridesCopy, override]\n });\n}\nfunction createOverride(names, mode = ByNamesMatcherMode.exclude, property) {\n property = property != null ? property : {\n id: \"custom.hideFrom\",\n value: {\n viz: true,\n legend: false,\n tooltip: false\n }\n };\n return {\n __systemRef: displayOverrideRef,\n matcher: {\n id: FieldMatcherID.byNames,\n options: {\n mode,\n names,\n prefix: mode === ByNamesMatcherMode.exclude ? \"All except:\" : void 0,\n readOnly: true\n }\n },\n properties: [\n __spreadProps(__spreadValues({}, property), {\n value: {\n viz: true,\n legend: false,\n tooltip: false\n }\n })\n ]\n };\n}\nconst createExtendedOverride = (current, displayName, mode = ByNamesMatcherMode.exclude) => {\n const property = current.properties.find((p) => p.id === \"custom.hideFrom\");\n const existing = getExistingDisplayNames(current);\n const index = existing.findIndex((name) => name === displayName);\n if (index < 0) {\n existing.push(displayName);\n } else {\n existing.splice(index, 1);\n }\n return createOverride(existing, mode, property);\n};\nconst getExistingDisplayNames = (rule) => {\n var _a;\n const names = (_a = rule.matcher.options) == null ? void 0 : _a.names;\n if (!Array.isArray(names)) {\n return [];\n }\n return [...names];\n};\nconst allFieldsAreExcluded = (override, data) => {\n return getExistingDisplayNames(override).length === getDisplayNames(data).length;\n};\nconst getDisplayNames = (data, excludeName) => {\n const unique = /* @__PURE__ */ new Set();\n for (const frame of data) {\n for (const field of frame.fields) {\n if (field.type !== FieldType.number) {\n continue;\n }\n const name = getFieldDisplayName(field, frame, data);\n if (name === excludeName) {\n continue;\n }\n unique.add(name);\n }\n }\n return Array.from(unique);\n};\nconst getNamesOfHiddenFields = (overrides, data) => {\n var _a;\n let names = [];\n for (const override of overrides) {\n const property = override.properties.find((p) => p.id === \"custom.hideFrom\");\n if (property !== void 0 && ((_a = property.value) == null ? void 0 : _a.legend) === true) {\n const info = fieldMatchers.get(override.matcher.id);\n const matcher = info.get(override.matcher.options);\n for (const frame of data) {\n for (const field of frame.fields) {\n if (field.type !== FieldType.number) {\n continue;\n }\n const name = getFieldDisplayName(field, frame, data);\n if (matcher(field, frame, data)) {\n names.push(name);\n }\n }\n }\n }\n }\n return names;\n};\n\nexport { seriesVisibilityConfigFactory };\n//# sourceMappingURL=seriesVisibilityConfigFactory.js.map\n","import { FieldMatcherID, FieldColorModeId } from '@grafana/data';\n\nvar __defProp = Object.defineProperty;\nvar __defProps = Object.defineProperties;\nvar __getOwnPropDescs = Object.getOwnPropertyDescriptors;\nvar __getOwnPropSymbols = Object.getOwnPropertySymbols;\nvar __hasOwnProp = Object.prototype.hasOwnProperty;\nvar __propIsEnum = Object.prototype.propertyIsEnumerable;\nvar __defNormalProp = (obj, key, value) => key in obj ? __defProp(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;\nvar __spreadValues = (a, b) => {\n for (var prop in b || (b = {}))\n if (__hasOwnProp.call(b, prop))\n __defNormalProp(a, prop, b[prop]);\n if (__getOwnPropSymbols)\n for (var prop of __getOwnPropSymbols(b)) {\n if (__propIsEnum.call(b, prop))\n __defNormalProp(a, prop, b[prop]);\n }\n return a;\n};\nvar __spreadProps = (a, b) => __defProps(a, __getOwnPropDescs(b));\nconst changeSeriesColorConfigFactory = (label, color, fieldConfig) => {\n const { overrides } = fieldConfig;\n const currentIndex = fieldConfig.overrides.findIndex((override) => {\n return override.matcher.id === FieldMatcherID.byName && override.matcher.options === label;\n });\n if (currentIndex < 0) {\n return __spreadProps(__spreadValues({}, fieldConfig), {\n overrides: [...fieldConfig.overrides, createOverride(label, color)]\n });\n }\n const overridesCopy = Array.from(overrides);\n const existing = overridesCopy[currentIndex];\n const propertyIndex = existing.properties.findIndex((p) => p.id === \"color\");\n if (propertyIndex < 0) {\n overridesCopy[currentIndex] = __spreadProps(__spreadValues({}, existing), {\n properties: [...existing.properties, createProperty(color)]\n });\n return __spreadProps(__spreadValues({}, fieldConfig), {\n overrides: overridesCopy\n });\n }\n const propertiesCopy = Array.from(existing.properties);\n propertiesCopy[propertyIndex] = createProperty(color);\n overridesCopy[currentIndex] = __spreadProps(__spreadValues({}, existing), {\n properties: propertiesCopy\n });\n return __spreadProps(__spreadValues({}, fieldConfig), {\n overrides: overridesCopy\n });\n};\nconst createOverride = (label, color) => {\n return {\n matcher: {\n id: FieldMatcherID.byName,\n options: label\n },\n properties: [createProperty(color)]\n };\n};\nconst createProperty = (color) => {\n return {\n id: \"color\",\n value: {\n mode: FieldColorModeId.Fixed,\n fixedColor: color\n }\n };\n};\n\nexport { changeSeriesColorConfigFactory };\n//# sourceMappingURL=colorSeriesConfigFactory.js.map\n","import { toUtc, getPanelOptionsWithDefaults, renderMarkdown, compareArrayValues, compareDataFrameStructures, applyFieldOverrides, CoreApp, DashboardCursorSync, PanelPlugin, PluginType } from '@grafana/data';\nimport { getPluginImportUtils, config, getAppEvents } from '@grafana/runtime';\nimport { SceneObjectBase } from '../../core/SceneObjectBase.js';\nimport { sceneGraph } from '../../core/sceneGraph/index.js';\nimport { VizPanelRenderer } from './VizPanelRenderer.js';\nimport { VariableDependencyConfig } from '../../variables/VariableDependencyConfig.js';\nimport { seriesVisibilityConfigFactory } from './seriesVisibilityConfigFactory.js';\nimport { emptyPanelData } from '../../core/SceneDataNode.js';\nimport { changeSeriesColorConfigFactory } from './colorSeriesConfigFactory.js';\nimport { loadPanelPluginSync } from './registerRuntimePanelPlugin.js';\nimport { getCursorSyncScope } from '../../behaviors/CursorSync.js';\nimport { mergeWith, cloneDeep, isArray, merge } from 'lodash';\nimport { UserActionEvent } from '../../core/events.js';\n\nvar __defProp = Object.defineProperty;\nvar __defProps = Object.defineProperties;\nvar __getOwnPropDescs = Object.getOwnPropertyDescriptors;\nvar __getOwnPropSymbols = Object.getOwnPropertySymbols;\nvar __hasOwnProp = Object.prototype.hasOwnProperty;\nvar __propIsEnum = Object.prototype.propertyIsEnumerable;\nvar __defNormalProp = (obj, key, value) => key in obj ? __defProp(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;\nvar __spreadValues = (a, b) => {\n for (var prop in b || (b = {}))\n if (__hasOwnProp.call(b, prop))\n __defNormalProp(a, prop, b[prop]);\n if (__getOwnPropSymbols)\n for (var prop of __getOwnPropSymbols(b)) {\n if (__propIsEnum.call(b, prop))\n __defNormalProp(a, prop, b[prop]);\n }\n return a;\n};\nvar __spreadProps = (a, b) => __defProps(a, __getOwnPropDescs(b));\nclass VizPanel extends SceneObjectBase {\n constructor(state) {\n super(__spreadValues({\n options: {},\n fieldConfig: { defaults: {}, overrides: [] },\n title: \"Title\",\n pluginId: \"timeseries\"\n }, state));\n this._variableDependency = new VariableDependencyConfig(this, {\n statePaths: [\"title\", \"options\", \"fieldConfig\"]\n });\n this._structureRev = 0;\n this.onTimeRangeChange = (timeRange) => {\n const sceneTimeRange = sceneGraph.getTimeRange(this);\n sceneTimeRange.onTimeRangeChange({\n raw: {\n from: toUtc(timeRange.from),\n to: toUtc(timeRange.to)\n },\n from: toUtc(timeRange.from),\n to: toUtc(timeRange.to)\n });\n };\n this.onTitleChange = (title) => {\n this.setState({ title });\n };\n this.onDescriptionChange = (description) => {\n this.setState({ description });\n };\n this.onDisplayModeChange = (displayMode) => {\n this.setState({ displayMode });\n };\n this.onOptionsChange = (optionsUpdate, replace = false) => {\n const { fieldConfig, options } = this.state;\n const nextOptions = replace ? optionsUpdate : mergeWith(cloneDeep(options), optionsUpdate, (_, srcValue) => {\n if (isArray(srcValue)) {\n return srcValue;\n }\n return;\n });\n const withDefaults = getPanelOptionsWithDefaults({\n plugin: this._plugin,\n currentOptions: nextOptions,\n currentFieldConfig: fieldConfig,\n isAfterPluginChange: false\n });\n this.setState({\n options: withDefaults.options\n });\n };\n this.onFieldConfigChange = (fieldConfigUpdate, replace) => {\n const { fieldConfig, options } = this.state;\n const nextFieldConfig = replace ? fieldConfigUpdate : merge(cloneDeep(fieldConfig), fieldConfigUpdate);\n const withDefaults = getPanelOptionsWithDefaults({\n plugin: this._plugin,\n currentOptions: options,\n currentFieldConfig: nextFieldConfig,\n isAfterPluginChange: false\n });\n this.setState({\n fieldConfig: withDefaults.fieldConfig\n });\n };\n this.interpolate = (value, scoped, format) => {\n return sceneGraph.interpolate(this, value, scoped, format);\n };\n this.getDescription = () => {\n this.publishEvent(new UserActionEvent({ origin: this, interaction: \"panel-description-shown\" }), true);\n const { description } = this.state;\n if (description) {\n const markdown = this.interpolate(description);\n return renderMarkdown(markdown);\n }\n return \"\";\n };\n this.onCancelQuery = () => {\n var _a;\n this.publishEvent(new UserActionEvent({ origin: this, interaction: \"panel-cancel-query-clicked\" }), true);\n const data = sceneGraph.getData(this);\n (_a = data.cancelQuery) == null ? void 0 : _a.call(data);\n };\n this.onStatusMessageClick = () => {\n this.publishEvent(new UserActionEvent({ origin: this, interaction: \"panel-status-message-clicked\" }), true);\n };\n this._onSeriesColorChange = (label, color) => {\n this.onFieldConfigChange(changeSeriesColorConfigFactory(label, color, this.state.fieldConfig));\n };\n this._onSeriesVisibilityChange = (label, mode) => {\n if (!this._dataWithFieldConfig) {\n return;\n }\n this.onFieldConfigChange(\n seriesVisibilityConfigFactory(label, mode, this.state.fieldConfig, this._dataWithFieldConfig.series),\n true\n );\n };\n this._onInstanceStateChange = (state) => {\n this.setState({ _pluginInstanceState: state });\n };\n this._onToggleLegendSort = (sortKey) => {\n const legendOptions = this.state.options.legend;\n if (!legendOptions) {\n return;\n }\n let sortDesc = legendOptions.sortDesc;\n let sortBy = legendOptions.sortBy;\n if (sortKey !== sortBy) {\n sortDesc = void 0;\n }\n if (sortDesc === false) {\n sortBy = void 0;\n sortDesc = void 0;\n } else {\n sortDesc = !sortDesc;\n sortBy = sortKey;\n }\n this.onOptionsChange(__spreadProps(__spreadValues({}, this.state.options), {\n legend: __spreadProps(__spreadValues({}, legendOptions), { sortBy, sortDesc })\n }));\n };\n this.addActivationHandler(() => {\n this._onActivate();\n });\n if (state.menu) {\n state.menu.addActivationHandler(() => {\n this.publishEvent(new UserActionEvent({ origin: this, interaction: \"panel-menu-shown\" }), true);\n });\n }\n }\n _onActivate() {\n if (!this._plugin) {\n this._loadPlugin(this.state.pluginId);\n }\n }\n _loadPlugin(pluginId) {\n const plugin = loadPanelPluginSync(pluginId);\n if (plugin) {\n this._pluginLoaded(plugin);\n } else {\n const { importPanelPlugin } = getPluginImportUtils();\n try {\n importPanelPlugin(pluginId).then((result) => {\n return this._pluginLoaded(result);\n });\n } catch (err) {\n this._pluginLoaded(getPanelPluginNotFound(pluginId));\n this.setState({ _pluginLoadError: err.message });\n }\n }\n }\n async _pluginLoaded(plugin) {\n const { options, fieldConfig, title, pluginVersion, _UNSAFE_customMigrationHandler } = this.state;\n const panel = {\n title,\n options,\n fieldConfig,\n id: 1,\n type: plugin.meta.id,\n pluginVersion\n };\n const currentVersion = this._getPluginVersion(plugin);\n if (_UNSAFE_customMigrationHandler) {\n _UNSAFE_customMigrationHandler(panel, plugin);\n }\n if (plugin.onPanelMigration) {\n if (currentVersion !== this.state.pluginVersion) {\n panel.options = await plugin.onPanelMigration(panel);\n }\n }\n const withDefaults = getPanelOptionsWithDefaults({\n plugin,\n currentOptions: panel.options,\n currentFieldConfig: panel.fieldConfig,\n isAfterPluginChange: false\n });\n this._plugin = plugin;\n this.setState({\n options: withDefaults.options,\n fieldConfig: withDefaults.fieldConfig,\n pluginVersion: currentVersion\n });\n if (plugin.meta.skipDataQuery) {\n const sceneTimeRange = sceneGraph.getTimeRange(this);\n this._subs.add(sceneTimeRange.subscribeToState(() => this.forceRender()));\n }\n }\n _getPluginVersion(plugin) {\n return plugin && plugin.meta.info.version ? plugin.meta.info.version : config.buildInfo.version;\n }\n getPlugin() {\n return this._plugin;\n }\n getPanelContext() {\n if (!this._panelContext) {\n this._panelContext = this.buildPanelContext();\n }\n return this._panelContext;\n }\n applyFieldConfig(rawData) {\n var _a, _b;\n const plugin = this._plugin;\n if (!plugin || plugin.meta.skipDataQuery || !rawData) {\n return emptyPanelData;\n }\n const pluginDataSupport = plugin.dataSupport || { alertStates: false, annotations: false };\n const fieldConfigRegistry = plugin.fieldConfigRegistry;\n const prevFrames = (_a = this._prevData) == null ? void 0 : _a.series;\n const newFrames = rawData == null ? void 0 : rawData.series;\n if (rawData.structureRev == null && newFrames && prevFrames && !compareArrayValues(newFrames, prevFrames, compareDataFrameStructures)) {\n this._structureRev++;\n }\n this._dataWithFieldConfig = __spreadProps(__spreadValues({}, rawData), {\n structureRev: this._structureRev,\n series: applyFieldOverrides({\n data: newFrames,\n fieldConfig: this.state.fieldConfig,\n fieldConfigRegistry,\n replaceVariables: this.interpolate,\n theme: config.theme2,\n timeZone: (_b = rawData.request) == null ? void 0 : _b.timezone\n })\n });\n if (!pluginDataSupport.alertStates) {\n this._dataWithFieldConfig.alertState = void 0;\n }\n if (!pluginDataSupport.annotations) {\n this._dataWithFieldConfig.annotations = void 0;\n }\n return this._dataWithFieldConfig;\n }\n buildPanelContext() {\n const sync = getCursorSyncScope(this);\n const context = {\n eventsScope: sync ? sync.getEventsScope() : \"__global_\",\n eventBus: sync ? sync.getEventsBus(this) : getAppEvents(),\n app: CoreApp.Unknown,\n sync: () => {\n if (sync) {\n return sync.state.sync;\n }\n return DashboardCursorSync.Off;\n },\n onSeriesColorChange: this._onSeriesColorChange,\n onToggleSeriesVisibility: this._onSeriesVisibilityChange,\n onToggleLegendSort: this._onToggleLegendSort,\n onInstanceStateChange: this._onInstanceStateChange\n };\n if (this.state.extendPanelContext) {\n this.state.extendPanelContext(this, context);\n }\n return context;\n }\n}\nVizPanel.Component = VizPanelRenderer;\nfunction getPanelPluginNotFound(id, silent) {\n const plugin = new PanelPlugin(() => null);\n plugin.meta = {\n id,\n name: id,\n sort: 100,\n type: PluginType.panel,\n module: \"\",\n baseUrl: \"\",\n info: {\n author: {\n name: \"\"\n },\n description: \"\",\n links: [],\n logos: {\n large: \"\",\n small: \"public/img/grafana_icon.svg\"\n },\n screenshots: [],\n updated: \"\",\n version: \"\"\n }\n };\n return plugin;\n}\n\nexport { VizPanel };\n//# sourceMappingURL=VizPanel.js.map\n","import React from 'react';\nimport { SceneObjectBase } from '../../../core/SceneObjectBase.js';\nimport { SceneGridLayout } from './SceneGridLayout.js';\nimport { SceneGridRow } from './SceneGridRow.js';\n\nclass SceneGridItem extends SceneObjectBase {\n}\nSceneGridItem.Component = SceneGridItemRenderer;\nfunction SceneGridItemRenderer({ model }) {\n const { body } = model.useState();\n const parent = model.parent;\n if (parent && !isSceneGridLayout(parent) && !isSceneGridRow(parent)) {\n throw new Error(\"SceneGridItem must be a child of SceneGridLayout or SceneGridRow\");\n }\n if (!body) {\n return null;\n }\n return /* @__PURE__ */ React.createElement(body.Component, {\n model: body\n });\n}\nfunction isSceneGridRow(child) {\n return child instanceof SceneGridRow;\n}\nfunction isSceneGridLayout(child) {\n return child instanceof SceneGridLayout;\n}\n\nexport { SceneGridItem, isSceneGridRow };\n//# sourceMappingURL=SceneGridItem.js.map\n","import React, { useEffect } from 'react';\nimport { Menu } from '@grafana/ui';\nimport { SceneObjectBase } from '../../core/SceneObjectBase.js';\n\nclass VizPanelMenu extends SceneObjectBase {\n addItem(item) {\n this.setState({\n items: this.state.items ? [...this.state.items, item] : [item]\n });\n }\n setItems(items) {\n this.setState({\n items\n });\n }\n}\nVizPanelMenu.Component = VizPanelMenuRenderer;\nfunction VizPanelMenuRenderer({ model }) {\n const { items = [] } = model.useState();\n const ref = React.useRef(null);\n useEffect(() => {\n if (ref.current) {\n ref.current.focus();\n }\n }, []);\n const renderItems = (items2) => {\n return items2.map(\n (item) => item.type === \"divider\" ? /* @__PURE__ */ React.createElement(Menu.Divider, {\n key: item.text\n }) : /* @__PURE__ */ React.createElement(Menu.Item, {\n key: item.text,\n label: item.text,\n icon: item.iconClassName,\n childItems: item.subMenu ? renderItems(item.subMenu) : void 0,\n url: item.href,\n onClick: item.onClick,\n shortcut: item.shortcut\n })\n );\n };\n return /* @__PURE__ */ React.createElement(Menu, {\n ref\n }, renderItems(items));\n}\n\nexport { VizPanelMenu };\n//# sourceMappingURL=VizPanelMenu.js.map\n","import { createElement, PureComponent } from 'react';\n\nvar classCallCheck = function (instance, Constructor) {\n if (!(instance instanceof Constructor)) {\n throw new TypeError(\"Cannot call a class as a function\");\n }\n};\n\nvar createClass = function () {\n function defineProperties(target, props) {\n for (var i = 0; i < props.length; i++) {\n var descriptor = props[i];\n descriptor.enumerable = descriptor.enumerable || false;\n descriptor.configurable = true;\n if (\"value\" in descriptor) descriptor.writable = true;\n Object.defineProperty(target, descriptor.key, descriptor);\n }\n }\n\n return function (Constructor, protoProps, staticProps) {\n if (protoProps) defineProperties(Constructor.prototype, protoProps);\n if (staticProps) defineProperties(Constructor, staticProps);\n return Constructor;\n };\n}();\n\nvar _extends = Object.assign || function (target) {\n for (var i = 1; i < arguments.length; i++) {\n var source = arguments[i];\n\n for (var key in source) {\n if (Object.prototype.hasOwnProperty.call(source, key)) {\n target[key] = source[key];\n }\n }\n }\n\n return target;\n};\n\nvar inherits = function (subClass, superClass) {\n if (typeof superClass !== \"function\" && superClass !== null) {\n throw new TypeError(\"Super expression must either be null or a function, not \" + typeof superClass);\n }\n\n subClass.prototype = Object.create(superClass && superClass.prototype, {\n constructor: {\n value: subClass,\n enumerable: false,\n writable: true,\n configurable: true\n }\n });\n if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass;\n};\n\nvar possibleConstructorReturn = function (self, call) {\n if (!self) {\n throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\");\n }\n\n return call && (typeof call === \"object\" || typeof call === \"function\") ? call : self;\n};\n\nvar slicedToArray = function () {\n function sliceIterator(arr, i) {\n var _arr = [];\n var _n = true;\n var _d = false;\n var _e = undefined;\n\n try {\n for (var _i = arr[Symbol.iterator](), _s; !(_n = (_s = _i.next()).done); _n = true) {\n _arr.push(_s.value);\n\n if (i && _arr.length === i) break;\n }\n } catch (err) {\n _d = true;\n _e = err;\n } finally {\n try {\n if (!_n && _i[\"return\"]) _i[\"return\"]();\n } finally {\n if (_d) throw _e;\n }\n }\n\n return _arr;\n }\n\n return function (arr, i) {\n if (Array.isArray(arr)) {\n return arr;\n } else if (Symbol.iterator in Object(arr)) {\n return sliceIterator(arr, i);\n } else {\n throw new TypeError(\"Invalid attempt to destructure non-iterable instance\");\n }\n };\n}();\n\n/**\n * Detect Element Resize.\n * https://github.com/sdecima/javascript-detect-element-resize\n * Sebastian Decima\n *\n * Forked from version 0.5.3; includes the following modifications:\n * 1) Guard against unsafe 'window' and 'document' references (to support SSR).\n * 2) Defer initialization code via a top-level function wrapper (to support SSR).\n * 3) Avoid unnecessary reflows by not measuring size for scroll events bubbling from children.\n * 4) Add nonce for style element.\n **/\n\n// Check `document` and `window` in case of server-side rendering\nvar windowObject = void 0;\nif (typeof window !== 'undefined') {\n windowObject = window;\n\n // eslint-disable-next-line no-restricted-globals\n} else if (typeof self !== 'undefined') {\n // eslint-disable-next-line no-restricted-globals\n windowObject = self;\n} else {\n windowObject = global;\n}\n\nvar cancelFrame = null;\nvar requestFrame = null;\n\nvar TIMEOUT_DURATION = 20;\n\nvar clearTimeoutFn = windowObject.clearTimeout;\nvar setTimeoutFn = windowObject.setTimeout;\n\nvar cancelAnimationFrameFn = windowObject.cancelAnimationFrame || windowObject.mozCancelAnimationFrame || windowObject.webkitCancelAnimationFrame;\n\nvar requestAnimationFrameFn = windowObject.requestAnimationFrame || windowObject.mozRequestAnimationFrame || windowObject.webkitRequestAnimationFrame;\n\nif (cancelAnimationFrameFn == null || requestAnimationFrameFn == null) {\n // For environments that don't support animation frame,\n // fallback to a setTimeout based approach.\n cancelFrame = clearTimeoutFn;\n requestFrame = function requestAnimationFrameViaSetTimeout(callback) {\n return setTimeoutFn(callback, TIMEOUT_DURATION);\n };\n} else {\n // Counter intuitively, environments that support animation frames can be trickier.\n // Chrome's \"Throttle non-visible cross-origin iframes\" flag can prevent rAFs from being called.\n // In this case, we should fallback to a setTimeout() implementation.\n cancelFrame = function cancelFrame(_ref) {\n var _ref2 = slicedToArray(_ref, 2),\n animationFrameID = _ref2[0],\n timeoutID = _ref2[1];\n\n cancelAnimationFrameFn(animationFrameID);\n clearTimeoutFn(timeoutID);\n };\n requestFrame = function requestAnimationFrameWithSetTimeoutFallback(callback) {\n var animationFrameID = requestAnimationFrameFn(function animationFrameCallback() {\n clearTimeoutFn(timeoutID);\n callback();\n });\n\n var timeoutID = setTimeoutFn(function timeoutCallback() {\n cancelAnimationFrameFn(animationFrameID);\n callback();\n }, TIMEOUT_DURATION);\n\n return [animationFrameID, timeoutID];\n };\n}\n\nfunction createDetectElementResize(nonce) {\n var animationKeyframes = void 0;\n var animationName = void 0;\n var animationStartEvent = void 0;\n var animationStyle = void 0;\n var checkTriggers = void 0;\n var resetTriggers = void 0;\n var scrollListener = void 0;\n\n var attachEvent = typeof document !== 'undefined' && document.attachEvent;\n if (!attachEvent) {\n resetTriggers = function resetTriggers(element) {\n var triggers = element.__resizeTriggers__,\n expand = triggers.firstElementChild,\n contract = triggers.lastElementChild,\n expandChild = expand.firstElementChild;\n contract.scrollLeft = contract.scrollWidth;\n contract.scrollTop = contract.scrollHeight;\n expandChild.style.width = expand.offsetWidth + 1 + 'px';\n expandChild.style.height = expand.offsetHeight + 1 + 'px';\n expand.scrollLeft = expand.scrollWidth;\n expand.scrollTop = expand.scrollHeight;\n };\n\n checkTriggers = function checkTriggers(element) {\n return element.offsetWidth !== element.__resizeLast__.width || element.offsetHeight !== element.__resizeLast__.height;\n };\n\n scrollListener = function scrollListener(e) {\n // Don't measure (which forces) reflow for scrolls that happen inside of children!\n if (e.target.className && typeof e.target.className.indexOf === 'function' && e.target.className.indexOf('contract-trigger') < 0 && e.target.className.indexOf('expand-trigger') < 0) {\n return;\n }\n\n var element = this;\n resetTriggers(this);\n if (this.__resizeRAF__) {\n cancelFrame(this.__resizeRAF__);\n }\n this.__resizeRAF__ = requestFrame(function animationFrame() {\n if (checkTriggers(element)) {\n element.__resizeLast__.width = element.offsetWidth;\n element.__resizeLast__.height = element.offsetHeight;\n element.__resizeListeners__.forEach(function forEachResizeListener(fn) {\n fn.call(element, e);\n });\n }\n });\n };\n\n /* Detect CSS Animations support to detect element display/re-attach */\n var animation = false;\n var keyframeprefix = '';\n animationStartEvent = 'animationstart';\n var domPrefixes = 'Webkit Moz O ms'.split(' ');\n var startEvents = 'webkitAnimationStart animationstart oAnimationStart MSAnimationStart'.split(' ');\n var pfx = '';\n {\n var elm = document.createElement('fakeelement');\n if (elm.style.animationName !== undefined) {\n animation = true;\n }\n\n if (animation === false) {\n for (var i = 0; i < domPrefixes.length; i++) {\n if (elm.style[domPrefixes[i] + 'AnimationName'] !== undefined) {\n pfx = domPrefixes[i];\n keyframeprefix = '-' + pfx.toLowerCase() + '-';\n animationStartEvent = startEvents[i];\n animation = true;\n break;\n }\n }\n }\n }\n\n animationName = 'resizeanim';\n animationKeyframes = '@' + keyframeprefix + 'keyframes ' + animationName + ' { from { opacity: 0; } to { opacity: 0; } } ';\n animationStyle = keyframeprefix + 'animation: 1ms ' + animationName + '; ';\n }\n\n var createStyles = function createStyles(doc) {\n if (!doc.getElementById('detectElementResize')) {\n //opacity:0 works around a chrome bug https://code.google.com/p/chromium/issues/detail?id=286360\n var css = (animationKeyframes ? animationKeyframes : '') + '.resize-triggers { ' + (animationStyle ? animationStyle : '') + 'visibility: hidden; opacity: 0; } ' + '.resize-triggers, .resize-triggers > div, .contract-trigger:before { content: \" \"; display: block; position: absolute; top: 0; left: 0; height: 100%; width: 100%; overflow: hidden; z-index: -1; } .resize-triggers > div { background: #eee; overflow: auto; } .contract-trigger:before { width: 200%; height: 200%; }',\n head = doc.head || doc.getElementsByTagName('head')[0],\n style = doc.createElement('style');\n\n style.id = 'detectElementResize';\n style.type = 'text/css';\n\n if (nonce != null) {\n style.setAttribute('nonce', nonce);\n }\n\n if (style.styleSheet) {\n style.styleSheet.cssText = css;\n } else {\n style.appendChild(doc.createTextNode(css));\n }\n\n head.appendChild(style);\n }\n };\n\n var addResizeListener = function addResizeListener(element, fn) {\n if (attachEvent) {\n element.attachEvent('onresize', fn);\n } else {\n if (!element.__resizeTriggers__) {\n var doc = element.ownerDocument;\n var elementStyle = windowObject.getComputedStyle(element);\n if (elementStyle && elementStyle.position === 'static') {\n element.style.position = 'relative';\n }\n createStyles(doc);\n element.__resizeLast__ = {};\n element.__resizeListeners__ = [];\n (element.__resizeTriggers__ = doc.createElement('div')).className = 'resize-triggers';\n var expandTrigger = doc.createElement('div');\n expandTrigger.className = 'expand-trigger';\n expandTrigger.appendChild(doc.createElement('div'));\n var contractTrigger = doc.createElement('div');\n contractTrigger.className = 'contract-trigger';\n element.__resizeTriggers__.appendChild(expandTrigger);\n element.__resizeTriggers__.appendChild(contractTrigger);\n element.appendChild(element.__resizeTriggers__);\n resetTriggers(element);\n element.addEventListener('scroll', scrollListener, true);\n\n /* Listen for a css animation to detect element display/re-attach */\n if (animationStartEvent) {\n element.__resizeTriggers__.__animationListener__ = function animationListener(e) {\n if (e.animationName === animationName) {\n resetTriggers(element);\n }\n };\n element.__resizeTriggers__.addEventListener(animationStartEvent, element.__resizeTriggers__.__animationListener__);\n }\n }\n element.__resizeListeners__.push(fn);\n }\n };\n\n var removeResizeListener = function removeResizeListener(element, fn) {\n if (attachEvent) {\n element.detachEvent('onresize', fn);\n } else {\n element.__resizeListeners__.splice(element.__resizeListeners__.indexOf(fn), 1);\n if (!element.__resizeListeners__.length) {\n element.removeEventListener('scroll', scrollListener, true);\n if (element.__resizeTriggers__.__animationListener__) {\n element.__resizeTriggers__.removeEventListener(animationStartEvent, element.__resizeTriggers__.__animationListener__);\n element.__resizeTriggers__.__animationListener__ = null;\n }\n try {\n element.__resizeTriggers__ = !element.removeChild(element.__resizeTriggers__);\n } catch (e) {\n // Preact compat; see developit/preact-compat/issues/228\n }\n }\n }\n };\n\n return {\n addResizeListener: addResizeListener,\n removeResizeListener: removeResizeListener\n };\n}\n\nvar AutoSizer = function (_React$PureComponent) {\n inherits(AutoSizer, _React$PureComponent);\n\n function AutoSizer() {\n var _ref;\n\n var _temp, _this, _ret;\n\n classCallCheck(this, AutoSizer);\n\n for (var _len = arguments.length, args = Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n\n return _ret = (_temp = (_this = possibleConstructorReturn(this, (_ref = AutoSizer.__proto__ || Object.getPrototypeOf(AutoSizer)).call.apply(_ref, [this].concat(args))), _this), _this.state = {\n height: _this.props.defaultHeight || 0,\n width: _this.props.defaultWidth || 0\n }, _this._onResize = function () {\n var _this$props = _this.props,\n disableHeight = _this$props.disableHeight,\n disableWidth = _this$props.disableWidth,\n onResize = _this$props.onResize;\n\n\n if (_this._parentNode) {\n // Guard against AutoSizer component being removed from the DOM immediately after being added.\n // This can result in invalid style values which can result in NaN values if we don't handle them.\n // See issue #150 for more context.\n\n var _height = _this._parentNode.offsetHeight || 0;\n var _width = _this._parentNode.offsetWidth || 0;\n\n var _style = window.getComputedStyle(_this._parentNode) || {};\n var paddingLeft = parseInt(_style.paddingLeft, 10) || 0;\n var paddingRight = parseInt(_style.paddingRight, 10) || 0;\n var paddingTop = parseInt(_style.paddingTop, 10) || 0;\n var paddingBottom = parseInt(_style.paddingBottom, 10) || 0;\n\n var newHeight = _height - paddingTop - paddingBottom;\n var newWidth = _width - paddingLeft - paddingRight;\n\n if (!disableHeight && _this.state.height !== newHeight || !disableWidth && _this.state.width !== newWidth) {\n _this.setState({\n height: _height - paddingTop - paddingBottom,\n width: _width - paddingLeft - paddingRight\n });\n\n onResize({ height: _height, width: _width });\n }\n }\n }, _this._setRef = function (autoSizer) {\n _this._autoSizer = autoSizer;\n }, _temp), possibleConstructorReturn(_this, _ret);\n }\n\n createClass(AutoSizer, [{\n key: 'componentDidMount',\n value: function componentDidMount() {\n var nonce = this.props.nonce;\n\n if (this._autoSizer && this._autoSizer.parentNode && this._autoSizer.parentNode.ownerDocument && this._autoSizer.parentNode.ownerDocument.defaultView && this._autoSizer.parentNode instanceof this._autoSizer.parentNode.ownerDocument.defaultView.HTMLElement) {\n // Delay access of parentNode until mount.\n // This handles edge-cases where the component has already been unmounted before its ref has been set,\n // As well as libraries like react-lite which have a slightly different lifecycle.\n this._parentNode = this._autoSizer.parentNode;\n\n // Defer requiring resize handler in order to support server-side rendering.\n // See issue #41\n this._detectElementResize = createDetectElementResize(nonce);\n this._detectElementResize.addResizeListener(this._parentNode, this._onResize);\n\n this._onResize();\n }\n }\n }, {\n key: 'componentWillUnmount',\n value: function componentWillUnmount() {\n if (this._detectElementResize && this._parentNode) {\n this._detectElementResize.removeResizeListener(this._parentNode, this._onResize);\n }\n }\n }, {\n key: 'render',\n value: function render() {\n var _props = this.props,\n children = _props.children,\n className = _props.className,\n disableHeight = _props.disableHeight,\n disableWidth = _props.disableWidth,\n style = _props.style;\n var _state = this.state,\n height = _state.height,\n width = _state.width;\n\n // Outer div should not force width/height since that may prevent containers from shrinking.\n // Inner component should overflow and use calculated width/height.\n // See issue #68 for more information.\n\n var outerStyle = { overflow: 'visible' };\n var childParams = {};\n\n // Avoid rendering children before the initial measurements have been collected.\n // At best this would just be wasting cycles.\n var bailoutOnChildren = false;\n\n if (!disableHeight) {\n if (height === 0) {\n bailoutOnChildren = true;\n }\n outerStyle.height = 0;\n childParams.height = height;\n }\n\n if (!disableWidth) {\n if (width === 0) {\n bailoutOnChildren = true;\n }\n outerStyle.width = 0;\n childParams.width = width;\n }\n\n return createElement(\n 'div',\n {\n className: className,\n ref: this._setRef,\n style: _extends({}, outerStyle, style)\n },\n !bailoutOnChildren && children(childParams)\n );\n }\n }]);\n return AutoSizer;\n}(PureComponent);\n\nAutoSizer.defaultProps = {\n onResize: function onResize() {},\n disableHeight: false,\n disableWidth: false,\n style: {}\n};\n\nexport default AutoSizer;\n","import React, { useState, useRef, useImperativeHandle } from 'react';\nimport { useEffectOnce } from 'react-use';\nimport { uniqueId } from 'lodash';\n\nvar __defProp = Object.defineProperty;\nvar __getOwnPropSymbols = Object.getOwnPropertySymbols;\nvar __hasOwnProp = Object.prototype.hasOwnProperty;\nvar __propIsEnum = Object.prototype.propertyIsEnumerable;\nvar __defNormalProp = (obj, key, value) => key in obj ? __defProp(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;\nvar __spreadValues = (a, b) => {\n for (var prop in b || (b = {}))\n if (__hasOwnProp.call(b, prop))\n __defNormalProp(a, prop, b[prop]);\n if (__getOwnPropSymbols)\n for (var prop of __getOwnPropSymbols(b)) {\n if (__propIsEnum.call(b, prop))\n __defNormalProp(a, prop, b[prop]);\n }\n return a;\n};\nvar __objRest = (source, exclude) => {\n var target = {};\n for (var prop in source)\n if (__hasOwnProp.call(source, prop) && exclude.indexOf(prop) < 0)\n target[prop] = source[prop];\n if (source != null && __getOwnPropSymbols)\n for (var prop of __getOwnPropSymbols(source)) {\n if (exclude.indexOf(prop) < 0 && __propIsEnum.call(source, prop))\n target[prop] = source[prop];\n }\n return target;\n};\nfunction useUniqueId() {\n var _a;\n const idRefLazy = useRef(void 0);\n (_a = idRefLazy.current) != null ? _a : idRefLazy.current = uniqueId();\n return idRefLazy.current;\n}\nconst LazyLoader = React.forwardRef(\n (_a, ref) => {\n var _b = _a, { children, onLoad, onChange } = _b, rest = __objRest(_b, [\"children\", \"onLoad\", \"onChange\"]);\n const id = useUniqueId();\n const [loaded, setLoaded] = useState(false);\n const [isInView, setIsInView] = useState(false);\n const innerRef = useRef(null);\n useImperativeHandle(ref, () => innerRef.current);\n useEffectOnce(() => {\n LazyLoader.addCallback(id, (entry) => {\n if (!loaded && entry.isIntersecting) {\n setLoaded(true);\n onLoad == null ? void 0 : onLoad();\n }\n setIsInView(entry.isIntersecting);\n onChange == null ? void 0 : onChange(entry.isIntersecting);\n });\n const wrapperEl = innerRef.current;\n if (wrapperEl) {\n LazyLoader.observer.observe(wrapperEl);\n }\n return () => {\n delete LazyLoader.callbacks[id];\n wrapperEl && LazyLoader.observer.unobserve(wrapperEl);\n if (Object.keys(LazyLoader.callbacks).length === 0) {\n LazyLoader.observer.disconnect();\n }\n };\n });\n return /* @__PURE__ */ React.createElement(\"div\", __spreadValues({\n id,\n ref: innerRef\n }, rest), loaded && (typeof children === \"function\" ? children({ isInView }) : children));\n }\n);\nLazyLoader.displayName = \"LazyLoader\";\nLazyLoader.callbacks = {};\nLazyLoader.addCallback = (id, c) => LazyLoader.callbacks[id] = c;\nLazyLoader.observer = new IntersectionObserver(\n (entries) => {\n for (const entry of entries) {\n LazyLoader.callbacks[entry.target.id](entry);\n }\n },\n { rootMargin: \"100px\" }\n);\n\nexport { LazyLoader, useUniqueId };\n//# sourceMappingURL=LazyLoader.js.map\n","import { useEffect } from 'react';\nvar useEffectOnce = function (effect) {\n useEffect(effect, []);\n};\nexport default useEffectOnce;\n","import React, { useRef, useReducer, useCallback, useMemo } from 'react';\nimport ReactGridLayout from 'react-grid-layout';\nimport AutoSizer from 'react-virtualized-auto-sizer';\nimport { GRID_CELL_VMARGIN, GRID_COLUMN_COUNT, GRID_CELL_HEIGHT } from './constants.js';\nimport { LazyLoader } from '../LazyLoader.js';\nimport { useTheme2, LayoutItemContext } from '@grafana/ui';\nimport { cx } from '@emotion/css';\n\nvar __defProp = Object.defineProperty;\nvar __defProps = Object.defineProperties;\nvar __getOwnPropDescs = Object.getOwnPropertyDescriptors;\nvar __getOwnPropSymbols = Object.getOwnPropertySymbols;\nvar __hasOwnProp = Object.prototype.hasOwnProperty;\nvar __propIsEnum = Object.prototype.propertyIsEnumerable;\nvar __defNormalProp = (obj, key, value) => key in obj ? __defProp(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;\nvar __spreadValues = (a, b) => {\n for (var prop in b || (b = {}))\n if (__hasOwnProp.call(b, prop))\n __defNormalProp(a, prop, b[prop]);\n if (__getOwnPropSymbols)\n for (var prop of __getOwnPropSymbols(b)) {\n if (__propIsEnum.call(b, prop))\n __defNormalProp(a, prop, b[prop]);\n }\n return a;\n};\nvar __spreadProps = (a, b) => __defProps(a, __getOwnPropDescs(b));\nvar __objRest = (source, exclude) => {\n var target = {};\n for (var prop in source)\n if (__hasOwnProp.call(source, prop) && exclude.indexOf(prop) < 0)\n target[prop] = source[prop];\n if (source != null && __getOwnPropSymbols)\n for (var prop of __getOwnPropSymbols(source)) {\n if (exclude.indexOf(prop) < 0 && __propIsEnum.call(source, prop))\n target[prop] = source[prop];\n }\n return target;\n};\nfunction SceneGridLayoutRenderer({ model }) {\n const { children, isLazy, isDraggable, isResizable } = model.useState();\n validateChildrenSize(children);\n return /* @__PURE__ */ React.createElement(AutoSizer, {\n disableHeight: true\n }, ({ width }) => {\n if (width === 0) {\n return null;\n }\n const layout = model.buildGridLayout(width);\n return /* @__PURE__ */ React.createElement(\"div\", {\n style: { width: `${width}px`, height: \"100%\", position: \"relative\", zIndex: 1 }\n }, /* @__PURE__ */ React.createElement(ReactGridLayout, {\n width,\n isDraggable: isDraggable && width > 768,\n isResizable: isResizable != null ? isResizable : false,\n containerPadding: [0, 0],\n useCSSTransforms: false,\n margin: [GRID_CELL_VMARGIN, GRID_CELL_VMARGIN],\n cols: GRID_COLUMN_COUNT,\n rowHeight: GRID_CELL_HEIGHT,\n draggableHandle: `.grid-drag-handle-${model.state.key}`,\n draggableCancel: \".grid-drag-cancel\",\n layout,\n onDragStop: model.onDragStop,\n onResizeStop: model.onResizeStop,\n onLayoutChange: model.onLayoutChange,\n isBounded: false\n }, layout.map((gridItem, index) => /* @__PURE__ */ React.createElement(GridItemWrapper, {\n key: gridItem.i,\n grid: model,\n layoutItem: gridItem,\n index,\n isLazy,\n totalCount: layout.length\n }))));\n });\n}\nconst GridItemWrapper = React.forwardRef((props, ref) => {\n var _b;\n const _a = props, { grid, layoutItem, index, totalCount, isLazy, style, onLoad, onChange } = _a, divProps = __objRest(_a, [\"grid\", \"layoutItem\", \"index\", \"totalCount\", \"isLazy\", \"style\", \"onLoad\", \"onChange\"]);\n const sceneChild = grid.getSceneLayoutChild(layoutItem.i);\n const className = (_b = sceneChild.getClassName) == null ? void 0 : _b.call(sceneChild);\n const theme = useTheme2();\n const boostedCount = useRef(0);\n const [_, forceUpdate] = useReducer((x) => x + 1, 0);\n const boostZIndex = useCallback(() => {\n boostedCount.current += 1;\n forceUpdate();\n return () => {\n boostedCount.current -= 1;\n forceUpdate();\n };\n }, [forceUpdate]);\n const ctxValue = useMemo(() => ({ boostZIndex }), [boostZIndex]);\n const descIndex = totalCount - index;\n const innerContent = /* @__PURE__ */ React.createElement(sceneChild.Component, {\n model: sceneChild,\n key: sceneChild.state.key\n });\n const innerContentWithContext = LayoutItemContext ? /* @__PURE__ */ React.createElement(LayoutItemContext.Provider, {\n value: ctxValue\n }, innerContent) : innerContent;\n const newStyle = __spreadProps(__spreadValues({}, style), {\n zIndex: boostedCount.current === 0 ? descIndex : theme.zIndex.dropdown\n });\n if (isLazy) {\n return /* @__PURE__ */ React.createElement(LazyLoader, __spreadProps(__spreadValues({}, divProps), {\n key: sceneChild.state.key,\n \"data-griditem-key\": sceneChild.state.key,\n className: cx(className, props.className),\n style: newStyle,\n ref\n }), innerContentWithContext);\n }\n return /* @__PURE__ */ React.createElement(\"div\", __spreadProps(__spreadValues({}, divProps), {\n ref,\n key: sceneChild.state.key,\n \"data-griditem-key\": sceneChild.state.key,\n className: cx(className, props.className),\n style: newStyle\n }), innerContentWithContext);\n});\nGridItemWrapper.displayName = \"GridItemWrapper\";\nfunction validateChildrenSize(children) {\n if (children.some(\n (c) => c.state.height === void 0 || c.state.width === void 0 || c.state.x === void 0 || c.state.y === void 0\n )) {\n throw new Error(\"All children must have a size specified\");\n }\n}\n\nexport { SceneGridLayoutRenderer };\n//# sourceMappingURL=SceneGridLayoutRenderer.js.map\n","import { SceneObjectBase } from '../../../core/SceneObjectBase.js';\nimport { DEFAULT_PANEL_SPAN } from './constants.js';\nimport { isSceneGridRow } from './SceneGridItem.js';\nimport { SceneGridLayoutRenderer } from './SceneGridLayoutRenderer.js';\nimport { SceneGridRow } from './SceneGridRow.js';\n\nvar __defProp = Object.defineProperty;\nvar __defProps = Object.defineProperties;\nvar __getOwnPropDescs = Object.getOwnPropertyDescriptors;\nvar __getOwnPropSymbols = Object.getOwnPropertySymbols;\nvar __hasOwnProp = Object.prototype.hasOwnProperty;\nvar __propIsEnum = Object.prototype.propertyIsEnumerable;\nvar __defNormalProp = (obj, key, value) => key in obj ? __defProp(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;\nvar __spreadValues = (a, b) => {\n for (var prop in b || (b = {}))\n if (__hasOwnProp.call(b, prop))\n __defNormalProp(a, prop, b[prop]);\n if (__getOwnPropSymbols)\n for (var prop of __getOwnPropSymbols(b)) {\n if (__propIsEnum.call(b, prop))\n __defNormalProp(a, prop, b[prop]);\n }\n return a;\n};\nvar __spreadProps = (a, b) => __defProps(a, __getOwnPropDescs(b));\nconst _SceneGridLayout = class extends SceneObjectBase {\n constructor(state) {\n super(__spreadProps(__spreadValues({}, state), {\n children: sortChildrenByPosition(state.children)\n }));\n this._skipOnLayoutChange = false;\n this.onLayoutChange = (layout) => {\n if (this._skipOnLayoutChange) {\n this._skipOnLayoutChange = false;\n return;\n }\n for (const item of layout) {\n const child = this.getSceneLayoutChild(item.i);\n const nextSize = {\n x: item.x,\n y: item.y,\n width: item.w,\n height: item.h\n };\n if (!isItemSizeEqual(child.state, nextSize)) {\n child.setState(__spreadValues({}, nextSize));\n }\n }\n this.setState({ children: sortChildrenByPosition(this.state.children) });\n };\n this.onResizeStop = (_, o, n) => {\n const child = this.getSceneLayoutChild(n.i);\n child.setState({\n width: n.w,\n height: n.h\n });\n };\n this.onDragStop = (gridLayout, o, updatedItem) => {\n const sceneChild = this.getSceneLayoutChild(updatedItem.i);\n gridLayout = sortGridLayout(gridLayout);\n for (let i = 0; i < gridLayout.length; i++) {\n const gridItem = gridLayout[i];\n const child = this.getSceneLayoutChild(gridItem.i);\n const childSize = child.state;\n if ((childSize == null ? void 0 : childSize.x) !== gridItem.x || (childSize == null ? void 0 : childSize.y) !== gridItem.y) {\n child.setState({\n x: gridItem.x,\n y: gridItem.y\n });\n }\n }\n const indexOfUpdatedItem = gridLayout.findIndex((item) => item.i === updatedItem.i);\n const newParent = this.findGridItemSceneParent(gridLayout, indexOfUpdatedItem - 1);\n let newChildren = this.state.children;\n if (newParent !== sceneChild.parent) {\n newChildren = this.moveChildTo(sceneChild, newParent);\n }\n this.setState({ children: sortChildrenByPosition(newChildren) });\n this._skipOnLayoutChange = true;\n };\n }\n isDraggable() {\n var _a;\n return (_a = this.state.isDraggable) != null ? _a : false;\n }\n getDragClass() {\n return `grid-drag-handle-${this.state.key}`;\n }\n getDragClassCancel() {\n return `grid-drag-cancel`;\n }\n toggleRow(row) {\n var _a, _b;\n const isCollapsed = row.state.isCollapsed;\n if (!isCollapsed) {\n row.setState({ isCollapsed: true });\n this.setState({});\n return;\n }\n const rowChildren = row.state.children;\n if (rowChildren.length === 0) {\n row.setState({ isCollapsed: false });\n this.setState({});\n return;\n }\n const rowY = row.state.y;\n const firstPanelYPos = (_a = rowChildren[0].state.y) != null ? _a : rowY;\n const yDiff = firstPanelYPos - (rowY + 1);\n let yMax = rowY;\n for (const panel of rowChildren) {\n const newSize = __spreadValues({}, panel.state);\n newSize.y = (_b = newSize.y) != null ? _b : rowY;\n newSize.y -= yDiff;\n if (newSize.y !== panel.state.y) {\n panel.setState(newSize);\n }\n yMax = Math.max(yMax, Number(newSize.y) + Number(newSize.height));\n }\n const pushDownAmount = yMax - rowY - 1;\n for (const child of this.state.children) {\n if (child.state.y > rowY) {\n this.pushChildDown(child, pushDownAmount);\n }\n if (isSceneGridRow(child) && child !== row) {\n for (const rowChild of child.state.children) {\n if (rowChild.state.y > rowY) {\n this.pushChildDown(rowChild, pushDownAmount);\n }\n }\n }\n }\n row.setState({ isCollapsed: false });\n this.setState({});\n }\n getSceneLayoutChild(key) {\n for (const child of this.state.children) {\n if (child.state.key === key) {\n return child;\n }\n if (child instanceof SceneGridRow) {\n for (const rowChild of child.state.children) {\n if (rowChild.state.key === key) {\n return rowChild;\n }\n }\n }\n }\n throw new Error(\"Scene layout child not found for GridItem\");\n }\n pushChildDown(child, amount) {\n child.setState({\n y: child.state.y + amount\n });\n }\n findGridItemSceneParent(layout, startAt) {\n for (let i = startAt; i >= 0; i--) {\n const gridItem = layout[i];\n const sceneChild = this.getSceneLayoutChild(gridItem.i);\n if (sceneChild instanceof SceneGridRow) {\n if (sceneChild.state.isCollapsed) {\n return this;\n }\n return sceneChild;\n }\n }\n return this;\n }\n moveChildTo(child, target) {\n const currentParent = child.parent;\n let rootChildren = this.state.children;\n const newChild = child.clone({ key: child.state.key });\n if (currentParent instanceof SceneGridRow) {\n const newRow = currentParent.clone({\n children: currentParent.state.children.filter((c) => c.state.key !== child.state.key)\n });\n rootChildren = rootChildren.map((c) => c === currentParent ? newRow : c);\n if (target instanceof SceneGridRow) {\n const targetRow = target.clone({ children: [...target.state.children, newChild] });\n rootChildren = rootChildren.map((c) => c === target ? targetRow : c);\n } else {\n rootChildren = [...rootChildren, newChild];\n }\n } else {\n if (!(target instanceof _SceneGridLayout)) {\n rootChildren = rootChildren.filter((c) => c.state.key !== child.state.key);\n const targetRow = target.clone({ children: [...target.state.children, newChild] });\n rootChildren = rootChildren.map((c) => c === target ? targetRow : c);\n }\n }\n return rootChildren;\n }\n toGridCell(child) {\n var _a, _b;\n const size = child.state;\n let x = (_a = size.x) != null ? _a : 0;\n let y = (_b = size.y) != null ? _b : 0;\n const w = Number.isInteger(Number(size.width)) ? Number(size.width) : DEFAULT_PANEL_SPAN;\n const h = Number.isInteger(Number(size.height)) ? Number(size.height) : DEFAULT_PANEL_SPAN;\n let isDraggable = child.state.isDraggable;\n let isResizable = child.state.isResizable;\n if (child instanceof SceneGridRow) {\n isDraggable = child.state.isCollapsed ? true : false;\n isResizable = false;\n }\n return { i: child.state.key, x, y, h, w, isResizable, isDraggable };\n }\n buildGridLayout(width) {\n let cells = [];\n for (const child of this.state.children) {\n cells.push(this.toGridCell(child));\n if (child instanceof SceneGridRow && !child.state.isCollapsed) {\n for (const rowChild of child.state.children) {\n cells.push(this.toGridCell(rowChild));\n }\n }\n }\n cells = sortGridLayout(cells);\n if (width < 768) {\n this._skipOnLayoutChange = true;\n return cells.map((cell) => __spreadProps(__spreadValues({}, cell), { w: 24 }));\n }\n this._skipOnLayoutChange = false;\n return cells;\n }\n};\nlet SceneGridLayout = _SceneGridLayout;\nSceneGridLayout.Component = SceneGridLayoutRenderer;\nfunction isItemSizeEqual(a, b) {\n return a.x === b.x && a.y === b.y && a.width === b.width && a.height === b.height;\n}\nfunction sortChildrenByPosition(children) {\n return [...children].sort((a, b) => {\n return a.state.y - b.state.y || a.state.x - b.state.x;\n });\n}\nfunction sortGridLayout(layout) {\n return [...layout].sort((a, b) => a.y - b.y || a.x - b.x);\n}\n\nexport { SceneGridLayout };\n//# sourceMappingURL=SceneGridLayout.js.map\n","const DEFAULT_PANEL_SPAN = 4;\nconst GRID_CELL_HEIGHT = 30;\nconst GRID_CELL_VMARGIN = 8;\nconst GRID_COLUMN_COUNT = 24;\n\nexport { DEFAULT_PANEL_SPAN, GRID_CELL_HEIGHT, GRID_CELL_VMARGIN, GRID_COLUMN_COUNT };\n//# sourceMappingURL=constants.js.map\n","import { cx, css } from '@emotion/css';\nimport React from 'react';\nimport { useStyles2, Icon } from '@grafana/ui';\nimport { SceneObjectBase } from '../../../core/SceneObjectBase.js';\nimport { SceneGridLayout } from './SceneGridLayout.js';\nimport { GRID_COLUMN_COUNT } from './constants.js';\nimport { sceneGraph } from '../../../core/sceneGraph/index.js';\n\nvar __defProp = Object.defineProperty;\nvar __defProps = Object.defineProperties;\nvar __getOwnPropDescs = Object.getOwnPropertyDescriptors;\nvar __getOwnPropSymbols = Object.getOwnPropertySymbols;\nvar __hasOwnProp = Object.prototype.hasOwnProperty;\nvar __propIsEnum = Object.prototype.propertyIsEnumerable;\nvar __defNormalProp = (obj, key, value) => key in obj ? __defProp(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;\nvar __spreadValues = (a, b) => {\n for (var prop in b || (b = {}))\n if (__hasOwnProp.call(b, prop))\n __defNormalProp(a, prop, b[prop]);\n if (__getOwnPropSymbols)\n for (var prop of __getOwnPropSymbols(b)) {\n if (__propIsEnum.call(b, prop))\n __defNormalProp(a, prop, b[prop]);\n }\n return a;\n};\nvar __spreadProps = (a, b) => __defProps(a, __getOwnPropDescs(b));\nclass SceneGridRow extends SceneObjectBase {\n constructor(state) {\n super(__spreadProps(__spreadValues({\n children: state.children || [],\n isCollapsible: state.isCollapsible || true,\n title: state.title || \"\"\n }, state), {\n x: 0,\n height: 1,\n width: GRID_COLUMN_COUNT\n }));\n this.onCollapseToggle = () => {\n if (!this.state.isCollapsible) {\n return;\n }\n this.getGridLayout().toggleRow(this);\n };\n }\n getGridLayout() {\n const layout = this.parent;\n if (!layout || !(layout instanceof SceneGridLayout)) {\n throw new Error(\"SceneGridRow must be a child of SceneGridLayout\");\n }\n return layout;\n }\n getUrlState() {\n return { rowc: this.state.isCollapsed ? \"1\" : \"0\" };\n }\n updateFromUrl(values) {\n if (values.rowc == null) {\n return;\n }\n if (values.rowc !== this.getUrlState().rowc) {\n this.onCollapseToggle();\n }\n }\n}\nSceneGridRow.Component = SceneGridRowRenderer;\nfunction SceneGridRowRenderer({ model }) {\n const styles = useStyles2(getSceneGridRowStyles);\n const { isCollapsible, isCollapsed, title, isDraggable, actions } = model.useState();\n const layoutDragClass = model.getGridLayout().getDragClass();\n return /* @__PURE__ */ React.createElement(\"div\", {\n className: cx(styles.row, isCollapsed && styles.rowCollapsed)\n }, /* @__PURE__ */ React.createElement(\"button\", {\n onClick: model.onCollapseToggle,\n className: styles.rowTitleButton,\n \"aria-label\": isCollapsed ? \"Expand row\" : \"Collapse row\"\n }, isCollapsible && /* @__PURE__ */ React.createElement(Icon, {\n name: isCollapsed ? \"angle-right\" : \"angle-down\"\n }), /* @__PURE__ */ React.createElement(\"span\", {\n className: styles.rowTitle,\n role: \"heading\"\n }, sceneGraph.interpolate(model, title, void 0, \"text\"))), actions && /* @__PURE__ */ React.createElement(actions.Component, {\n model: actions\n }), isDraggable && isCollapsed && /* @__PURE__ */ React.createElement(\"div\", {\n className: cx(styles.dragHandle, layoutDragClass)\n }, /* @__PURE__ */ React.createElement(Icon, {\n name: \"draggabledots\"\n })));\n}\nconst getSceneGridRowStyles = (theme) => {\n return {\n row: css({\n width: \"100%\",\n height: \"30px\",\n display: \"flex\",\n justifyContent: \"space-between\",\n gap: theme.spacing(1)\n }),\n rowTitleButton: css({\n display: \"flex\",\n alignItems: \"center\",\n cursor: \"pointer\",\n background: \"transparent\",\n border: \"none\",\n gap: theme.spacing(1)\n }),\n rowCollapsed: css({\n borderBottom: `1px solid ${theme.colors.border.weak}`\n }),\n rowTitle: css({\n fontSize: theme.typography.h5.fontSize,\n fontWeight: theme.typography.fontWeightMedium\n }),\n collapsedInfo: css({\n fontSize: theme.typography.bodySmall.fontSize,\n color: theme.colors.text.secondary,\n display: \"flex\",\n alignItems: \"center\",\n flexGrow: 1\n }),\n dragHandle: css({\n display: \"flex\",\n padding: theme.spacing(0, 1),\n alignItems: \"center\",\n justifyContent: \"flex-end\",\n cursor: \"move\",\n color: theme.colors.text.secondary,\n \"&:hover\": {\n color: theme.colors.text.primary\n }\n })\n };\n};\n\nexport { SceneGridRow, SceneGridRowRenderer, getSceneGridRowStyles };\n//# sourceMappingURL=SceneGridRow.js.map\n","import { cx, css } from '@emotion/css';\nimport React from 'react';\nimport { useStyles2, ToolbarButton, Icon } from '@grafana/ui';\nimport { SceneObjectBase } from '../core/SceneObjectBase.js';\nimport { getSceneGridRowStyles } from './layout/grid/SceneGridRow.js';\nimport { sceneGraph } from '../core/sceneGraph/index.js';\n\nclass NestedScene extends SceneObjectBase {\n constructor() {\n super(...arguments);\n this.onToggle = () => {\n this.setState({\n isCollapsed: !this.state.isCollapsed\n });\n };\n this.onRemove = () => {\n const parent = this.parent;\n if (isSceneLayoutItem(parent)) {\n parent.setState({\n body: void 0\n });\n }\n };\n }\n}\nNestedScene.Component = NestedSceneRenderer;\nfunction NestedSceneRenderer({ model }) {\n const { title, isCollapsed, canCollapse, canRemove, body, controls } = model.useState();\n const gridRow = useStyles2(getSceneGridRowStyles);\n const styles = useStyles2(getStyles);\n const toolbarControls = (controls != null ? controls : []).map((action) => /* @__PURE__ */ React.createElement(action.Component, {\n key: action.state.key,\n model: action\n }));\n if (canRemove) {\n toolbarControls.push(\n /* @__PURE__ */ React.createElement(ToolbarButton, {\n icon: \"times\",\n variant: \"default\",\n onClick: model.onRemove,\n key: \"remove-button\",\n \"aria-label\": \"Remove scene\"\n })\n );\n }\n return /* @__PURE__ */ React.createElement(\"div\", {\n className: styles.wrapper\n }, /* @__PURE__ */ React.createElement(\"div\", {\n className: cx(styles.row, isCollapsed && styles.rowCollapsed)\n }, /* @__PURE__ */ React.createElement(\"button\", {\n onClick: model.onToggle,\n className: gridRow.rowTitleButton,\n \"aria-label\": isCollapsed ? \"Expand scene\" : \"Collapse scene\"\n }, canCollapse && /* @__PURE__ */ React.createElement(Icon, {\n name: isCollapsed ? \"angle-right\" : \"angle-down\"\n }), /* @__PURE__ */ React.createElement(\"span\", {\n className: gridRow.rowTitle,\n role: \"heading\"\n }, sceneGraph.interpolate(model, title, void 0, \"text\"))), /* @__PURE__ */ React.createElement(\"div\", {\n className: styles.actions\n }, toolbarControls)), !isCollapsed && /* @__PURE__ */ React.createElement(body.Component, {\n model: body\n }));\n}\nconst getStyles = (theme) => ({\n wrapper: css({\n display: \"flex\",\n flexDirection: \"column\",\n flexGrow: 1,\n gap: theme.spacing(1),\n cursor: \"pointer\"\n }),\n row: css({\n width: \"100%\",\n display: \"flex\",\n justifyContent: \"space-between\",\n gap: theme.spacing(1)\n }),\n rowCollapsed: css({\n borderBottom: `1px solid ${theme.colors.border.weak}`,\n paddingBottom: theme.spacing(1)\n }),\n actions: css({\n display: \"flex\",\n alignItems: \"center\",\n gap: theme.spacing(1),\n justifyContent: \"flex-end\",\n flexGrow: 1\n })\n});\nfunction isSceneLayoutItem(x) {\n return \"body\" in x.state;\n}\n\nexport { NestedScene, NestedSceneRenderer };\n//# sourceMappingURL=NestedScene.js.map\n","import React from 'react';\nimport { SceneObjectBase } from '../core/SceneObjectBase.js';\nimport { sceneGraph } from '../core/sceneGraph/index.js';\nimport { VariableDependencyConfig } from '../variables/VariableDependencyConfig.js';\nimport { useTheme2 } from '@grafana/ui';\nimport { css } from '@emotion/css';\n\nclass SceneCanvasText extends SceneObjectBase {\n constructor() {\n super(...arguments);\n this._variableDependency = new VariableDependencyConfig(this, { statePaths: [\"text\"] });\n }\n}\nSceneCanvasText.Component = ({ model }) => {\n const { text, fontSize = 20, align = \"left\", key, spacing } = model.useState();\n const theme = useTheme2();\n const style = css({\n fontSize,\n display: \"flex\",\n flexGrow: 1,\n alignItems: \"center\",\n padding: spacing ? theme.spacing(spacing, 0) : void 0,\n justifyContent: align\n });\n return /* @__PURE__ */ React.createElement(\"div\", {\n className: style,\n \"data-testid\": key\n }, sceneGraph.interpolate(model, text));\n};\n\nexport { SceneCanvasText };\n//# sourceMappingURL=SceneCanvasText.js.map\n","import React from 'react';\nimport { ToolbarButton, Input } from '@grafana/ui';\nimport { SceneObjectBase } from '../core/SceneObjectBase.js';\nimport { ControlsLabel } from '../utils/ControlsLabel.js';\n\nclass SceneToolbarButton extends SceneObjectBase {\n}\nSceneToolbarButton.Component = ({ model }) => {\n const state = model.useState();\n return /* @__PURE__ */ React.createElement(ToolbarButton, {\n onClick: state.onClick,\n icon: state.icon\n });\n};\nclass SceneToolbarInput extends SceneObjectBase {\n}\nSceneToolbarInput.Component = ({ model }) => {\n const state = model.useState();\n return /* @__PURE__ */ React.createElement(\"div\", {\n style: { display: \"flex\" }\n }, state.label && /* @__PURE__ */ React.createElement(ControlsLabel, {\n label: state.label\n }), /* @__PURE__ */ React.createElement(Input, {\n defaultValue: state.value,\n width: 8,\n onBlur: (evt) => {\n model.state.onChange(parseInt(evt.currentTarget.value, 10));\n }\n }));\n};\n\nexport { SceneToolbarButton, SceneToolbarInput };\n//# sourceMappingURL=SceneToolbarButton.js.map\n","import React from 'react';\nimport { TimeRangePicker } from '@grafana/ui';\nimport { SceneObjectBase } from '../core/SceneObjectBase.js';\nimport { sceneGraph } from '../core/sceneGraph/index.js';\nimport { toUtc } from '@grafana/data';\n\nclass SceneTimePicker extends SceneObjectBase {\n constructor() {\n super(...arguments);\n this.onZoom = () => {\n const timeRange = sceneGraph.getTimeRange(this);\n const zoomedTimeRange = getZoomedTimeRange(timeRange.state.value, 2);\n timeRange.onTimeRangeChange(zoomedTimeRange);\n };\n this.onChangeFiscalYearStartMonth = (month) => {\n const timeRange = sceneGraph.getTimeRange(this);\n timeRange.setState({ fiscalYearStartMonth: month });\n };\n this.onMoveBackward = () => {\n const timeRange = sceneGraph.getTimeRange(this);\n const {\n state: { value: range }\n } = timeRange;\n timeRange.onTimeRangeChange(getShiftedTimeRange(TimeRangeDirection.Backward, range, Date.now()));\n };\n this.onMoveForward = () => {\n const timeRange = sceneGraph.getTimeRange(this);\n const {\n state: { value: range }\n } = timeRange;\n timeRange.onTimeRangeChange(getShiftedTimeRange(TimeRangeDirection.Forward, range, Date.now()));\n };\n }\n}\nSceneTimePicker.Component = SceneTimePickerRenderer;\nfunction SceneTimePickerRenderer({ model }) {\n const { hidePicker, isOnCanvas } = model.useState();\n const timeRange = sceneGraph.getTimeRange(model);\n const timeZone = timeRange.getTimeZone();\n const timeRangeState = timeRange.useState();\n if (hidePicker) {\n return null;\n }\n return /* @__PURE__ */ React.createElement(TimeRangePicker, {\n isOnCanvas: isOnCanvas != null ? isOnCanvas : true,\n value: timeRangeState.value,\n onChange: timeRange.onTimeRangeChange,\n timeZone,\n fiscalYearStartMonth: timeRangeState.fiscalYearStartMonth,\n onMoveBackward: model.onMoveBackward,\n onMoveForward: model.onMoveForward,\n onZoom: model.onZoom,\n onChangeTimeZone: timeRange.onTimeZoneChange,\n onChangeFiscalYearStartMonth: model.onChangeFiscalYearStartMonth\n });\n}\nfunction getZoomedTimeRange(timeRange, factor) {\n const timespan = timeRange.to.valueOf() - timeRange.from.valueOf();\n const center = timeRange.to.valueOf() - timespan / 2;\n const newTimespan = timespan === 0 ? 3e4 : timespan * factor;\n const to = center + newTimespan / 2;\n const from = center - newTimespan / 2;\n return { from: toUtc(from), to: toUtc(to), raw: { from: toUtc(from), to: toUtc(to) } };\n}\nvar TimeRangeDirection = /* @__PURE__ */ ((TimeRangeDirection2) => {\n TimeRangeDirection2[TimeRangeDirection2[\"Backward\"] = 0] = \"Backward\";\n TimeRangeDirection2[TimeRangeDirection2[\"Forward\"] = 1] = \"Forward\";\n return TimeRangeDirection2;\n})(TimeRangeDirection || {});\nfunction getShiftedTimeRange(dir, timeRange, upperLimit) {\n const oldTo = timeRange.to.valueOf();\n const oldFrom = timeRange.from.valueOf();\n const halfSpan = (oldTo - oldFrom) / 2;\n let fromRaw;\n let toRaw;\n if (dir === 0 /* Backward */) {\n fromRaw = oldFrom - halfSpan;\n toRaw = oldTo - halfSpan;\n } else {\n fromRaw = oldFrom + halfSpan;\n toRaw = oldTo + halfSpan;\n if (toRaw > upperLimit && oldTo < upperLimit) {\n toRaw = upperLimit;\n fromRaw = oldFrom;\n }\n }\n const from = toUtc(fromRaw);\n const to = toUtc(toRaw);\n return {\n from,\n to,\n raw: { from, to }\n };\n}\n\nexport { SceneTimePicker, TimeRangeDirection, getShiftedTimeRange, getZoomedTimeRange };\n//# sourceMappingURL=SceneTimePicker.js.map\n","import React from 'react';\nimport { rangeUtil } from '@grafana/data';\nimport { RefreshPicker } from '@grafana/ui';\nimport { SceneObjectBase } from '../core/SceneObjectBase.js';\nimport { sceneGraph } from '../core/sceneGraph/index.js';\nimport { SceneObjectUrlSyncConfig } from '../services/SceneObjectUrlSyncConfig.js';\n\nvar __defProp = Object.defineProperty;\nvar __defProps = Object.defineProperties;\nvar __getOwnPropDescs = Object.getOwnPropertyDescriptors;\nvar __getOwnPropSymbols = Object.getOwnPropertySymbols;\nvar __hasOwnProp = Object.prototype.hasOwnProperty;\nvar __propIsEnum = Object.prototype.propertyIsEnumerable;\nvar __defNormalProp = (obj, key, value) => key in obj ? __defProp(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;\nvar __spreadValues = (a, b) => {\n for (var prop in b || (b = {}))\n if (__hasOwnProp.call(b, prop))\n __defNormalProp(a, prop, b[prop]);\n if (__getOwnPropSymbols)\n for (var prop of __getOwnPropSymbols(b)) {\n if (__propIsEnum.call(b, prop))\n __defNormalProp(a, prop, b[prop]);\n }\n return a;\n};\nvar __spreadProps = (a, b) => __defProps(a, __getOwnPropDescs(b));\nconst DEFAULT_INTERVALS = [\"5s\", \"10s\", \"30s\", \"1m\", \"5m\", \"15m\", \"30m\", \"1h\", \"2h\", \"1d\"];\nclass SceneRefreshPicker extends SceneObjectBase {\n constructor(state) {\n var _a;\n super(__spreadProps(__spreadValues({\n refresh: \"\"\n }, state), {\n intervals: (_a = state.intervals) != null ? _a : DEFAULT_INTERVALS\n }));\n this._urlSync = new SceneObjectUrlSyncConfig(this, { keys: [\"refresh\"] });\n this.onRefresh = () => {\n const timeRange = sceneGraph.getTimeRange(this);\n if (this._intervalTimer) {\n clearInterval(this._intervalTimer);\n }\n timeRange.onRefresh();\n this.setupIntervalTimer();\n };\n this.onIntervalChanged = (interval) => {\n this.setState({ refresh: interval });\n this.setupIntervalTimer();\n };\n this.setupIntervalTimer = () => {\n const timeRange = sceneGraph.getTimeRange(this);\n const { refresh, intervals } = this.state;\n if (this._intervalTimer || refresh === \"\") {\n clearInterval(this._intervalTimer);\n }\n if (refresh === \"\") {\n return;\n }\n if (intervals && !intervals.includes(refresh)) {\n return;\n }\n const intervalMs = rangeUtil.intervalToMs(refresh);\n this._intervalTimer = setInterval(() => {\n timeRange.onRefresh();\n }, intervalMs);\n };\n this.addActivationHandler(() => {\n this.setupIntervalTimer();\n return () => {\n if (this._intervalTimer) {\n clearInterval(this._intervalTimer);\n }\n };\n });\n }\n getUrlState() {\n return {\n refresh: this.state.refresh\n };\n }\n updateFromUrl(values) {\n const refresh = values.refresh;\n if (refresh && typeof refresh === \"string\") {\n this.setState({\n refresh\n });\n }\n }\n}\nSceneRefreshPicker.Component = SceneRefreshPickerRenderer;\nfunction SceneRefreshPickerRenderer({ model }) {\n const { refresh, intervals, isOnCanvas } = model.useState();\n return /* @__PURE__ */ React.createElement(RefreshPicker, {\n value: refresh,\n intervals,\n onRefresh: model.onRefresh,\n onIntervalChanged: model.onIntervalChanged,\n isOnCanvas: isOnCanvas != null ? isOnCanvas : true\n });\n}\n\nexport { DEFAULT_INTERVALS, SceneRefreshPicker, SceneRefreshPickerRenderer };\n//# sourceMappingURL=SceneRefreshPicker.js.map\n","import React from 'react';\nimport { LoadingState } from '@grafana/data';\nimport { SceneObjectBase } from '../core/SceneObjectBase.js';\nimport { sceneGraph } from '../core/sceneGraph/index.js';\n\nclass SceneByFrameRepeater extends SceneObjectBase {\n constructor(state) {\n super(state);\n this.addActivationHandler(() => {\n const dataProvider = sceneGraph.getData(this);\n this._subs.add(\n dataProvider.subscribeToState((data) => {\n var _a;\n if (((_a = data.data) == null ? void 0 : _a.state) === LoadingState.Done) {\n this.performRepeat(data.data);\n }\n })\n );\n if (dataProvider.state.data) {\n this.performRepeat(dataProvider.state.data);\n }\n });\n }\n performRepeat(data) {\n const newChildren = [];\n for (let seriesIndex = 0; seriesIndex < data.series.length; seriesIndex++) {\n const layoutChild = this.state.getLayoutChild(data, data.series[seriesIndex], seriesIndex);\n newChildren.push(layoutChild);\n }\n this.state.body.setState({ children: newChildren });\n }\n}\nSceneByFrameRepeater.Component = ({ model }) => {\n const { body } = model.useState();\n return /* @__PURE__ */ React.createElement(body.Component, {\n model: body\n });\n};\n\nexport { SceneByFrameRepeater };\n//# sourceMappingURL=SceneByFrameRepeater.js.map\n","import React from 'react';\nimport { SceneObjectBase } from '../core/SceneObjectBase.js';\n\nconst _SceneControlsSpacer = class extends SceneObjectBase {\n constructor() {\n super({});\n }\n get Component() {\n return _SceneControlsSpacer.Component;\n }\n};\nlet SceneControlsSpacer = _SceneControlsSpacer;\nSceneControlsSpacer.Component = (_props) => {\n return /* @__PURE__ */ React.createElement(\"div\", {\n style: { flexGrow: 1 }\n });\n};\n\nexport { SceneControlsSpacer };\n//# sourceMappingURL=SceneControlsSpacer.js.map\n","import { css } from '@emotion/css';\nimport { config } from '@grafana/runtime';\nimport React, { useMemo } from 'react';\nimport { SceneObjectBase } from '../../core/SceneObjectBase.js';\n\nclass SceneFlexLayout extends SceneObjectBase {\n toggleDirection() {\n this.setState({\n direction: this.state.direction === \"row\" ? \"column\" : \"row\"\n });\n }\n isDraggable() {\n return false;\n }\n}\nSceneFlexLayout.Component = SceneFlexLayoutRenderer;\nfunction SceneFlexLayoutRenderer({ model, parentState }) {\n const { children, isHidden } = model.useState();\n const style = useLayoutStyle(model.state, parentState);\n if (isHidden) {\n return null;\n }\n return /* @__PURE__ */ React.createElement(\"div\", {\n className: style\n }, children.map((item) => {\n const Component = item.Component;\n return /* @__PURE__ */ React.createElement(Component, {\n key: item.state.key,\n model: item,\n parentState: model.state\n });\n }));\n}\nclass SceneFlexItem extends SceneObjectBase {\n}\nSceneFlexItem.Component = SceneFlexItemRenderer;\nfunction SceneFlexItemRenderer({ model, parentState }) {\n if (!parentState) {\n throw new Error(\"SceneFlexItem must be a child of SceneFlexLayout\");\n }\n const { body, isHidden } = model.useState();\n const style = useLayoutItemStyle(model.state, parentState);\n if (!body || isHidden) {\n return null;\n }\n return /* @__PURE__ */ React.createElement(\"div\", {\n className: style\n }, /* @__PURE__ */ React.createElement(body.Component, {\n model: body\n }));\n}\nfunction applyItemStyles(style, state, parentState) {\n var _a, _b, _c;\n const parentDirection = (_a = parentState.direction) != null ? _a : \"row\";\n const { xSizing = \"fill\", ySizing = \"fill\" } = state;\n style.display = \"flex\";\n style.position = \"relative\";\n style.flexDirection = parentDirection;\n if (parentDirection === \"column\") {\n if (state.height) {\n style.height = state.height;\n } else {\n style.flexGrow = ySizing === \"fill\" ? 1 : 0;\n }\n if (state.width) {\n style.width = state.width;\n } else {\n style.alignSelf = xSizing === \"fill\" ? \"stretch\" : \"flex-start\";\n }\n } else {\n if (state.height) {\n style.height = state.height;\n } else {\n style.alignSelf = ySizing === \"fill\" ? \"stretch\" : \"flex-start\";\n }\n if (state.width) {\n style.width = state.width;\n } else {\n style.flexGrow = xSizing === \"fill\" ? 1 : 0;\n }\n }\n style.minWidth = state.minWidth;\n style.maxWidth = state.maxWidth;\n style.maxHeight = state.maxHeight;\n style.minHeight = (_b = state.minHeight) != null ? _b : parentState.minHeight;\n style.height = (_c = state.height) != null ? _c : parentState.height;\n return style;\n}\nfunction useLayoutItemStyle(state, parentState) {\n return useMemo(() => {\n var _a, _b, _c, _d, _e, _f, _g, _h, _i, _j;\n const theme = config.theme2;\n const style = applyItemStyles({}, state, parentState);\n style[theme.breakpoints.down(\"md\")] = {\n maxWidth: (_b = (_a = state.md) == null ? void 0 : _a.maxWidth) != null ? _b : \"unset\",\n maxHeight: (_d = (_c = state.md) == null ? void 0 : _c.maxHeight) != null ? _d : \"unset\",\n height: (_g = (_e = state.md) == null ? void 0 : _e.height) != null ? _g : (_f = parentState.md) == null ? void 0 : _f.height,\n width: (_j = (_h = state.md) == null ? void 0 : _h.width) != null ? _j : (_i = parentState.md) == null ? void 0 : _i.width\n };\n return css(style);\n }, [state, parentState]);\n}\nfunction useLayoutStyle(state, parentState) {\n return useMemo(() => {\n var _a, _b, _c, _d, _e, _f, _g, _h, _i, _j;\n const { direction = \"row\", wrap } = state;\n const theme = config.theme2;\n const style = {};\n if (parentState) {\n applyItemStyles(style, state, parentState);\n } else {\n style.display = \"flex\";\n style.flexGrow = 1;\n }\n style.flexDirection = direction;\n style.gap = \"8px\";\n style.flexWrap = wrap || \"nowrap\";\n style.alignContent = \"baseline\";\n style.minHeight = style.minHeight || 0;\n style[theme.breakpoints.down(\"md\")] = {\n flexDirection: (_b = (_a = state.md) == null ? void 0 : _a.direction) != null ? _b : \"column\",\n maxWidth: (_d = (_c = state.md) == null ? void 0 : _c.maxWidth) != null ? _d : \"unset\",\n maxHeight: (_f = (_e = state.md) == null ? void 0 : _e.maxHeight) != null ? _f : \"unset\",\n height: (_h = (_g = state.md) == null ? void 0 : _g.height) != null ? _h : \"unset\",\n width: (_j = (_i = state.md) == null ? void 0 : _i.width) != null ? _j : \"unset\"\n };\n return css(style);\n }, [parentState, state]);\n}\n\nexport { SceneFlexItem, SceneFlexLayout };\n//# sourceMappingURL=SceneFlexLayout.js.map\n","import { css } from '@emotion/css';\nimport React, { useMemo } from 'react';\nimport { SceneObjectBase } from '../../../core/SceneObjectBase.js';\nimport { config } from '@grafana/runtime';\nimport { LazyLoader } from '../LazyLoader.js';\n\nvar __defProp = Object.defineProperty;\nvar __getOwnPropSymbols = Object.getOwnPropertySymbols;\nvar __hasOwnProp = Object.prototype.hasOwnProperty;\nvar __propIsEnum = Object.prototype.propertyIsEnumerable;\nvar __defNormalProp = (obj, key, value) => key in obj ? __defProp(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;\nvar __spreadValues = (a, b) => {\n for (var prop in b || (b = {}))\n if (__hasOwnProp.call(b, prop))\n __defNormalProp(a, prop, b[prop]);\n if (__getOwnPropSymbols)\n for (var prop of __getOwnPropSymbols(b)) {\n if (__propIsEnum.call(b, prop))\n __defNormalProp(a, prop, b[prop]);\n }\n return a;\n};\nclass SceneCSSGridLayout extends SceneObjectBase {\n constructor(state) {\n var _a, _b;\n super(__spreadValues({\n rowGap: 1,\n columnGap: 1,\n templateColumns: \"repeat(auto-fit, minmax(400px, 1fr))\",\n autoRows: (_a = state.autoRows) != null ? _a : `320px`,\n children: (_b = state.children) != null ? _b : []\n }, state));\n }\n isDraggable() {\n return false;\n }\n}\nSceneCSSGridLayout.Component = SceneCSSGridLayoutRenderer;\nfunction SceneCSSGridLayoutRenderer({ model }) {\n const { children, isHidden, isLazy } = model.useState();\n const style = useLayoutStyle(model.state);\n if (isHidden) {\n return null;\n }\n return /* @__PURE__ */ React.createElement(\"div\", {\n className: style\n }, children.map((item) => {\n const Component = item.Component;\n if (isLazy) {\n return /* @__PURE__ */ React.createElement(LazyLoader, {\n key: item.state.key,\n className: style\n }, /* @__PURE__ */ React.createElement(Component, {\n key: item.state.key,\n model: item,\n parentState: model.state\n }));\n }\n return /* @__PURE__ */ React.createElement(Component, {\n key: item.state.key,\n model: item,\n parentState: model.state\n });\n }));\n}\nclass SceneCSSGridItem extends SceneObjectBase {\n}\nSceneCSSGridItem.Component = SceneCSSGridItemRenderer;\nfunction SceneCSSGridItemRenderer({ model, parentState }) {\n if (!parentState) {\n throw new Error(\"SceneCSSGridItem must be a child of SceneCSSGridLayout\");\n }\n const { body, isHidden } = model.useState();\n const style = useItemStyle(model.state);\n if (!body || isHidden) {\n return null;\n }\n return /* @__PURE__ */ React.createElement(\"div\", {\n className: style\n }, /* @__PURE__ */ React.createElement(body.Component, {\n model: body\n }));\n}\nfunction useLayoutStyle(state) {\n return useMemo(() => {\n var _a, _b, _c, _d, _e, _f, _g, _h, _i, _j, _k;\n const style = {};\n const theme = config.theme2;\n style.display = \"grid\";\n style.gridTemplateColumns = state.templateColumns;\n style.gridTemplateRows = state.templateRows || \"unset\";\n style.gridAutoRows = state.autoRows || \"unset\";\n style.rowGap = theme.spacing((_a = state.rowGap) != null ? _a : 1);\n style.columnGap = theme.spacing((_b = state.columnGap) != null ? _b : 1);\n style.justifyItems = state.justifyItems || \"unset\";\n style.alignItems = state.alignItems || \"unset\";\n style.justifyContent = state.justifyContent || \"unset\";\n style.flexGrow = 1;\n if (state.md) {\n style[theme.breakpoints.down(\"md\")] = {\n gridTemplateRows: (_c = state.md) == null ? void 0 : _c.templateRows,\n gridTemplateColumns: (_d = state.md) == null ? void 0 : _d.templateColumns,\n rowGap: state.md.rowGap ? theme.spacing((_f = (_e = state.md) == null ? void 0 : _e.rowGap) != null ? _f : 1) : void 0,\n columnGap: state.md.columnGap ? theme.spacing((_h = (_g = state.md) == null ? void 0 : _g.rowGap) != null ? _h : 1) : void 0,\n justifyItems: (_i = state.md) == null ? void 0 : _i.justifyItems,\n alignItems: (_j = state.md) == null ? void 0 : _j.alignItems,\n justifyContent: (_k = state.md) == null ? void 0 : _k.justifyContent\n };\n }\n return css(style);\n }, [state]);\n}\nfunction useItemStyle(state) {\n return useMemo(() => {\n const style = {};\n style.gridColumn = state.gridColumn || \"unset\";\n style.gridRow = state.gridRow || \"unset\";\n style.position = \"relative\";\n return css(style);\n }, [state]);\n}\n\nexport { SceneCSSGridItem, SceneCSSGridLayout };\n//# sourceMappingURL=SceneCSSGridLayout.js.map\n","import { cx, css } from '@emotion/css';\nimport { useStyles2 } from '@grafana/ui';\nimport { clamp, throttle } from 'lodash';\nimport React, { useRef, useCallback, useLayoutEffect } from 'react';\nimport { useUniqueId } from '../LazyLoader.js';\n\nvar __defProp = Object.defineProperty;\nvar __getOwnPropSymbols = Object.getOwnPropertySymbols;\nvar __hasOwnProp = Object.prototype.hasOwnProperty;\nvar __propIsEnum = Object.prototype.propertyIsEnumerable;\nvar __defNormalProp = (obj, key, value) => key in obj ? __defProp(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;\nvar __spreadValues = (a, b) => {\n for (var prop in b || (b = {}))\n if (__hasOwnProp.call(b, prop))\n __defNormalProp(a, prop, b[prop]);\n if (__getOwnPropSymbols)\n for (var prop of __getOwnPropSymbols(b)) {\n if (__propIsEnum.call(b, prop))\n __defNormalProp(a, prop, b[prop]);\n }\n return a;\n};\nconst PIXELS_PER_MS = 0.3;\nconst VERTICAL_KEYS = /* @__PURE__ */ new Set([\"ArrowUp\", \"ArrowDown\"]);\nconst HORIZONTAL_KEYS = /* @__PURE__ */ new Set([\"ArrowLeft\", \"ArrowRight\"]);\nconst propsForDirection = {\n row: {\n dim: \"width\",\n axis: \"clientX\",\n min: \"minWidth\",\n max: \"maxWidth\"\n },\n column: {\n dim: \"height\",\n axis: \"clientY\",\n min: \"minHeight\",\n max: \"maxHeight\"\n }\n};\nfunction Splitter({\n direction = \"row\",\n handleSize = 32,\n initialSize = \"auto\",\n primaryPaneStyles,\n secondaryPaneStyles,\n onDragFinished,\n children\n}) {\n const kids = React.Children.toArray(children);\n const splitterRef = useRef(null);\n const firstPaneRef = useRef(null);\n const secondPaneRef = useRef(null);\n const containerRef = useRef(null);\n const containerSize = useRef(null);\n const primarySizeRef = useRef(\"1fr\");\n const firstPaneMeasurements = useRef(void 0);\n const savedPos = useRef(void 0);\n const measurementProp = propsForDirection[direction].dim;\n const clientAxis = propsForDirection[direction].axis;\n const minDimProp = propsForDirection[direction].min;\n const maxDimProp = propsForDirection[direction].max;\n useResizeObserver(\n containerRef.current,\n (entries) => {\n for (const entry of entries) {\n if (!entry.target.isSameNode(containerRef.current)) {\n return;\n }\n const curSize = firstPaneRef.current.getBoundingClientRect()[measurementProp];\n const newDims = measureElement(firstPaneRef.current);\n splitterRef.current.ariaValueNow = `${clamp(\n (curSize - newDims[minDimProp]) / (newDims[maxDimProp] - newDims[minDimProp]) * 100,\n 0,\n 100\n )}`;\n }\n },\n 500,\n [maxDimProp, minDimProp, direction, measurementProp]\n );\n const dragStart = useRef(null);\n const onPointerDown = useCallback(\n (e) => {\n primarySizeRef.current = firstPaneRef.current.getBoundingClientRect()[measurementProp];\n containerSize.current = containerRef.current.getBoundingClientRect()[measurementProp];\n dragStart.current = e[clientAxis];\n splitterRef.current.setPointerCapture(e.pointerId);\n firstPaneMeasurements.current = measureElement(firstPaneRef.current);\n savedPos.current = void 0;\n },\n [measurementProp, clientAxis]\n );\n const onPointerMove = useCallback(\n (e) => {\n if (dragStart.current !== null && primarySizeRef.current !== \"1fr\") {\n const diff = e[clientAxis] - dragStart.current;\n const dims = firstPaneMeasurements.current;\n const newSize = clamp(primarySizeRef.current + diff, dims[minDimProp], dims[maxDimProp]);\n const newFlex = newSize / (containerSize.current - handleSize);\n firstPaneRef.current.style.flexGrow = `${newFlex}`;\n secondPaneRef.current.style.flexGrow = `${1 - newFlex}`;\n const ariaValueNow = clamp(\n (newSize - dims[minDimProp]) / (dims[maxDimProp] - dims[minDimProp]) * 100,\n 0,\n 100\n );\n splitterRef.current.ariaValueNow = `${ariaValueNow}`;\n }\n },\n [handleSize, clientAxis, minDimProp, maxDimProp]\n );\n const onPointerUp = useCallback(\n (e) => {\n e.preventDefault();\n e.stopPropagation();\n splitterRef.current.releasePointerCapture(e.pointerId);\n dragStart.current = null;\n onDragFinished == null ? void 0 : onDragFinished(parseFloat(firstPaneRef.current.style.flexGrow));\n },\n [onDragFinished]\n );\n const pressedKeys = useRef(/* @__PURE__ */ new Set());\n const keysLastHandledAt = useRef(null);\n const handlePressedKeys = useCallback(\n (time) => {\n var _a;\n const nothingPressed = pressedKeys.current.size === 0;\n if (nothingPressed) {\n keysLastHandledAt.current = null;\n return;\n } else if (primarySizeRef.current === \"1fr\") {\n return;\n }\n const dt = time - ((_a = keysLastHandledAt.current) != null ? _a : time);\n const dx = dt * PIXELS_PER_MS;\n let sizeChange = 0;\n if (direction === \"row\") {\n if (pressedKeys.current.has(\"ArrowLeft\")) {\n sizeChange -= dx;\n }\n if (pressedKeys.current.has(\"ArrowRight\")) {\n sizeChange += dx;\n }\n } else {\n if (pressedKeys.current.has(\"ArrowUp\")) {\n sizeChange -= dx;\n }\n if (pressedKeys.current.has(\"ArrowDown\")) {\n sizeChange += dx;\n }\n }\n const firstPaneDims = firstPaneMeasurements.current;\n const curSize = firstPaneRef.current.getBoundingClientRect()[measurementProp];\n const newSize = clamp(curSize + sizeChange, firstPaneDims[minDimProp], firstPaneDims[maxDimProp]);\n const newFlex = newSize / (containerSize.current - handleSize);\n firstPaneRef.current.style.flexGrow = `${newFlex}`;\n secondPaneRef.current.style.flexGrow = `${1 - newFlex}`;\n const ariaValueNow = (newSize - firstPaneDims[minDimProp]) / (firstPaneDims[maxDimProp] - firstPaneDims[minDimProp]) * 100;\n splitterRef.current.ariaValueNow = `${clamp(ariaValueNow, 0, 100)}`;\n keysLastHandledAt.current = time;\n window.requestAnimationFrame(handlePressedKeys);\n },\n [direction, handleSize, minDimProp, maxDimProp, measurementProp]\n );\n const onKeyDown = useCallback(\n (e) => {\n if (e.key === \"Enter\") {\n if (savedPos.current === void 0) {\n savedPos.current = firstPaneRef.current.style.flexGrow;\n firstPaneRef.current.style.flexGrow = \"0\";\n secondPaneRef.current.style.flexGrow = \"1\";\n } else {\n firstPaneRef.current.style.flexGrow = savedPos.current;\n secondPaneRef.current.style.flexGrow = `${1 - parseFloat(savedPos.current)}`;\n savedPos.current = void 0;\n }\n return;\n } else if (e.key === \"Home\") {\n firstPaneMeasurements.current = measureElement(firstPaneRef.current);\n containerSize.current = containerRef.current.getBoundingClientRect()[measurementProp];\n const newFlex = firstPaneMeasurements.current[minDimProp] / (containerSize.current - handleSize);\n firstPaneRef.current.style.flexGrow = `${newFlex}`;\n secondPaneRef.current.style.flexGrow = `${1 - newFlex}`;\n splitterRef.current.ariaValueNow = \"0\";\n return;\n } else if (e.key === \"End\") {\n firstPaneMeasurements.current = measureElement(firstPaneRef.current);\n containerSize.current = containerRef.current.getBoundingClientRect()[measurementProp];\n const newFlex = firstPaneMeasurements.current[maxDimProp] / (containerSize.current - handleSize);\n firstPaneRef.current.style.flexGrow = `${newFlex}`;\n secondPaneRef.current.style.flexGrow = `${1 - newFlex}`;\n splitterRef.current.ariaValueNow = \"100\";\n return;\n }\n if (!(direction === \"column\" && VERTICAL_KEYS.has(e.key) || direction === \"row\" && HORIZONTAL_KEYS.has(e.key)) || pressedKeys.current.has(e.key)) {\n return;\n }\n savedPos.current = void 0;\n e.preventDefault();\n e.stopPropagation();\n primarySizeRef.current = firstPaneRef.current.getBoundingClientRect()[measurementProp];\n containerSize.current = containerRef.current.getBoundingClientRect()[measurementProp];\n firstPaneMeasurements.current = measureElement(firstPaneRef.current);\n const newKey = !pressedKeys.current.has(e.key);\n if (newKey) {\n const initiateAnimationLoop = pressedKeys.current.size === 0;\n pressedKeys.current.add(e.key);\n if (initiateAnimationLoop) {\n window.requestAnimationFrame(handlePressedKeys);\n }\n }\n },\n [direction, handlePressedKeys, handleSize, maxDimProp, measurementProp, minDimProp]\n );\n const onKeyUp = useCallback(\n (e) => {\n if (direction === \"row\" && !HORIZONTAL_KEYS.has(e.key) || direction === \"column\" && !VERTICAL_KEYS.has(e.key)) {\n return;\n }\n pressedKeys.current.delete(e.key);\n onDragFinished == null ? void 0 : onDragFinished(parseFloat(firstPaneRef.current.style.flexGrow));\n },\n [direction, onDragFinished]\n );\n const onDoubleClick = useCallback(() => {\n firstPaneRef.current.style.flexGrow = \"0.5\";\n secondPaneRef.current.style.flexGrow = \"0.5\";\n const dim = measureElement(firstPaneRef.current);\n firstPaneMeasurements.current = dim;\n primarySizeRef.current = firstPaneRef.current.getBoundingClientRect()[measurementProp];\n splitterRef.current.ariaValueNow = `${(primarySizeRef.current - dim[minDimProp]) / (dim[maxDimProp] - dim[minDimProp]) * 100}`;\n }, [maxDimProp, measurementProp, minDimProp]);\n const onBlur = useCallback(() => {\n if (pressedKeys.current.size > 0) {\n pressedKeys.current.clear();\n dragStart.current = null;\n onDragFinished == null ? void 0 : onDragFinished(parseFloat(firstPaneRef.current.style.flexGrow));\n }\n }, [onDragFinished]);\n const styles = useStyles2(getStyles);\n const id = useUniqueId();\n return /* @__PURE__ */ React.createElement(\"div\", {\n ref: containerRef,\n className: styles.container,\n style: {\n flexDirection: direction\n }\n }, /* @__PURE__ */ React.createElement(\"div\", {\n ref: firstPaneRef,\n className: styles.panel,\n style: __spreadValues({\n flexGrow: initialSize === \"auto\" ? 0.5 : clamp(initialSize, 0, 1),\n [minDimProp]: \"min-content\"\n }, primaryPaneStyles),\n id: `start-panel-${id}`\n }, kids[0]), /* @__PURE__ */ React.createElement(\"div\", {\n ref: splitterRef,\n style: { [measurementProp]: `${handleSize}px` },\n className: cx(styles.handle, { [styles.handleHorizontal]: direction === \"column\" }),\n onPointerUp,\n onPointerDown,\n onPointerMove,\n onKeyDown,\n onKeyUp,\n onDoubleClick,\n onBlur,\n role: \"separator\",\n \"aria-valuemin\": 0,\n \"aria-valuemax\": 100,\n \"aria-valuenow\": 50,\n \"aria-controls\": `start-panel-${id}`,\n \"aria-label\": \"Pane resize widget\",\n tabIndex: 0\n }), /* @__PURE__ */ React.createElement(\"div\", {\n ref: secondPaneRef,\n className: styles.panel,\n style: __spreadValues({\n flexGrow: initialSize === \"auto\" ? 0.5 : clamp(1 - initialSize, 0, 1),\n [minDimProp]: \"min-content\"\n }, secondaryPaneStyles),\n id: `end-panel-${id}`\n }, kids[1]));\n}\nfunction getStyles(theme) {\n return {\n handle: css({\n cursor: \"col-resize\",\n position: \"relative\",\n flexShrink: 0,\n userSelect: \"none\",\n \"&::before\": {\n content: '\"\"',\n position: \"absolute\",\n backgroundColor: theme.colors.primary.main,\n left: \"50%\",\n transform: \"translate(-50%)\",\n top: 0,\n height: \"100%\",\n width: \"1px\",\n opacity: 0,\n transition: \"opacity ease-in-out 0.2s\"\n },\n \"&::after\": {\n content: '\"\"',\n width: \"4px\",\n borderRadius: \"4px\",\n backgroundColor: theme.colors.border.weak,\n transition: \"background-color ease-in-out 0.2s\",\n height: \"50%\",\n top: \"calc(50% - (50%) / 2)\",\n transform: \"translateX(-50%)\",\n position: \"absolute\",\n left: \"50%\"\n },\n \"&:hover, &:focus-visible\": {\n outline: \"none\",\n \"&::before\": {\n opacity: 1\n },\n \"&::after\": {\n backgroundColor: theme.colors.primary.main\n }\n }\n }),\n handleHorizontal: css({\n cursor: \"row-resize\",\n \"&::before\": {\n left: \"inherit\",\n transform: \"translateY(-50%)\",\n top: \"50%\",\n height: \"1px\",\n width: \"100%\"\n },\n \"&::after\": {\n width: \"50%\",\n height: \"4px\",\n top: \"50%\",\n transform: \"translateY(-50%)\",\n left: \"calc(50% - (50%) / 2)\"\n }\n }),\n container: css({\n display: \"flex\",\n width: \"100%\",\n flexGrow: 1,\n overflow: \"hidden\"\n }),\n panel: css({ display: \"flex\", position: \"relative\", flexBasis: 0 })\n };\n}\nfunction measureElement(ref) {\n if (ref === null) {\n return void 0;\n }\n const savedBodyOverflow = document.body.style.overflow;\n const savedWidth = ref.style.width;\n const savedHeight = ref.style.height;\n const savedFlex = ref.style.flexGrow;\n document.body.style.overflow = \"hidden\";\n ref.style.flexGrow = \"0\";\n const { width: minWidth, height: minHeight } = ref.getBoundingClientRect();\n ref.style.flexGrow = \"100\";\n const { width: maxWidth, height: maxHeight } = ref.getBoundingClientRect();\n document.body.style.overflow = savedBodyOverflow;\n ref.style.width = savedWidth;\n ref.style.height = savedHeight;\n ref.style.flexGrow = savedFlex;\n return { minWidth, maxWidth, minHeight, maxHeight };\n}\nfunction useResizeObserver(target, cb, throttleWait = 0, deps) {\n const throttledCallback = throttle(cb, throttleWait);\n useLayoutEffect(() => {\n if (!target) {\n return;\n }\n const resizeObserver = new ResizeObserver(throttledCallback);\n resizeObserver.observe(target, { box: \"device-pixel-content-box\" });\n return () => resizeObserver.disconnect();\n }, deps);\n}\n\nexport { Splitter };\n//# sourceMappingURL=Splitter.js.map\n","import { SceneObjectBase } from '../../../core/SceneObjectBase.js';\nimport { SplitLayoutRenderer } from './SplitLayoutRenderer.js';\n\nclass SplitLayout extends SceneObjectBase {\n toggleDirection() {\n this.setState({\n direction: this.state.direction === \"row\" ? \"column\" : \"row\"\n });\n }\n isDraggable() {\n return false;\n }\n}\nSplitLayout.Component = SplitLayoutRenderer;\n\nexport { SplitLayout };\n//# sourceMappingURL=SplitLayout.js.map\n","import React from 'react';\nimport { Splitter } from './Splitter.js';\n\nfunction SplitLayoutRenderer({ model }) {\n const { primary, secondary, direction, isHidden, initialSize, primaryPaneStyles, secondaryPaneStyles } = model.useState();\n if (isHidden) {\n return null;\n }\n const Prim = primary.Component;\n const Sec = secondary.Component;\n return /* @__PURE__ */ React.createElement(Splitter, {\n direction,\n initialSize: initialSize != null ? initialSize : 0.5,\n primaryPaneStyles,\n secondaryPaneStyles\n }, /* @__PURE__ */ React.createElement(Prim, {\n key: primary.state.key,\n model: primary,\n parentState: model.state\n }), /* @__PURE__ */ React.createElement(Sec, {\n key: secondary.state.key,\n model: secondary,\n parentState: model.state\n }));\n}\n\nexport { SplitLayoutRenderer };\n//# sourceMappingURL=SplitLayoutRenderer.js.map\n","import React from 'react';\nimport { Switch, Route } from 'react-router-dom';\nimport { SceneObjectBase } from '../../core/SceneObjectBase.js';\nimport { renderSceneComponentWithRouteProps } from './utils.js';\n\nclass SceneApp extends SceneObjectBase {\n enrichDataRequest() {\n return {\n app: this.state.name || \"app\"\n };\n }\n}\nSceneApp.Component = ({ model }) => {\n const { pages } = model.useState();\n return /* @__PURE__ */ React.createElement(Switch, null, pages.map((page) => /* @__PURE__ */ React.createElement(Route, {\n key: page.state.url,\n exact: false,\n path: page.state.url,\n render: (props) => renderSceneComponentWithRouteProps(page, props)\n })));\n};\nconst sceneAppCache = /* @__PURE__ */ new Map();\nfunction useSceneApp(factory) {\n const cachedApp = sceneAppCache.get(factory);\n if (cachedApp) {\n return cachedApp;\n }\n const newApp = factory();\n sceneAppCache.set(factory, newApp);\n return newApp;\n}\n\nexport { SceneApp, useSceneApp };\n//# sourceMappingURL=SceneApp.js.map\n","import React from 'react';\nimport { SceneObjectBase } from '../core/SceneObjectBase.js';\n\nvar __defProp = Object.defineProperty;\nvar __getOwnPropSymbols = Object.getOwnPropertySymbols;\nvar __hasOwnProp = Object.prototype.hasOwnProperty;\nvar __propIsEnum = Object.prototype.propertyIsEnumerable;\nvar __defNormalProp = (obj, key, value) => key in obj ? __defProp(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;\nvar __spreadValues = (a, b) => {\n for (var prop in b || (b = {}))\n if (__hasOwnProp.call(b, prop))\n __defNormalProp(a, prop, b[prop]);\n if (__getOwnPropSymbols)\n for (var prop of __getOwnPropSymbols(b)) {\n if (__propIsEnum.call(b, prop))\n __defNormalProp(a, prop, b[prop]);\n }\n return a;\n};\nclass SceneReactObject extends SceneObjectBase {\n}\nSceneReactObject.Component = ({ model }) => {\n const { component: Component, props, reactNode } = model.useState();\n if (Component) {\n return /* @__PURE__ */ React.createElement(Component, __spreadValues({}, props));\n }\n if (reactNode) {\n return reactNode;\n }\n return null;\n};\n\nexport { SceneReactObject };\n//# sourceMappingURL=SceneReactObject.js.map\n","import { css } from '@emotion/css';\nimport { useStyles2, JSONFormatter, Input } from '@grafana/ui';\nimport { isPlainObject, isArray } from 'lodash';\nimport React from 'react';\nimport { isSceneObject } from '../../core/types.js';\n\nfunction DebugDetails({ node }) {\n const state = node.useState();\n const styles = useStyles2(getStyles);\n return /* @__PURE__ */ React.createElement(\"div\", {\n className: styles.container\n }, Object.keys(state).map((key) => /* @__PURE__ */ React.createElement(\"div\", {\n className: styles.row,\n key\n }, /* @__PURE__ */ React.createElement(\"div\", {\n className: styles.keyName\n }, key), /* @__PURE__ */ React.createElement(\"div\", {\n className: styles.value\n }, renderValue(key, state[key], node)))));\n}\nfunction renderValue(key, value, node) {\n if (value === null) {\n return \"null\";\n }\n switch (typeof value) {\n case \"number\":\n return /* @__PURE__ */ React.createElement(Input, {\n type: \"number\",\n defaultValue: value,\n onBlur: (evt) => node.setState({ [key]: evt.currentTarget.valueAsNumber })\n });\n case \"string\":\n return /* @__PURE__ */ React.createElement(Input, {\n type: \"text\",\n defaultValue: value,\n onBlur: (evt) => node.setState({ [key]: evt.currentTarget.value })\n });\n case \"object\":\n if (isSceneObject(value)) {\n return value.constructor.name;\n }\n if (isPlainObject(value) || isArray(value)) {\n return /* @__PURE__ */ React.createElement(JSONFormatter, {\n json: value,\n open: 0\n });\n }\n return String(value);\n default:\n return typeof value;\n }\n}\nfunction getStyles(theme) {\n return {\n container: css({\n flexGrow: 1,\n display: \"flex\",\n gap: theme.spacing(0.5),\n flexDirection: \"column\"\n }),\n row: css({\n display: \"flex\",\n gap: theme.spacing(2)\n }),\n keyName: css({\n display: \"flex\",\n flexGrow: \"0\",\n width: 120,\n alignItems: \"center\",\n height: theme.spacing(theme.components.height.md)\n }),\n value: css({\n flexGrow: 1,\n minHeight: theme.spacing(theme.components.height.md),\n display: \"flex\",\n alignItems: \"center\"\n })\n };\n}\n\nexport { DebugDetails };\n//# sourceMappingURL=DebugDetails.js.map\n","import { cx, css } from '@emotion/css';\nimport { useStyles2 } from '@grafana/ui';\nimport React from 'react';\n\nfunction DebugTreeNode({ node, selectedObject, onSelect }) {\n const styles = useStyles2(getStyles);\n const children = [];\n const isSelected = node === selectedObject;\n node.forEachChild((child) => {\n children.push(\n /* @__PURE__ */ React.createElement(DebugTreeNode, {\n node: child,\n key: child.state.key,\n selectedObject,\n onSelect\n })\n );\n });\n return /* @__PURE__ */ React.createElement(\"div\", {\n className: styles.container\n }, /* @__PURE__ */ React.createElement(\"div\", {\n className: cx(styles.name, isSelected && styles.selected),\n onClick: () => onSelect(node)\n }, node.constructor.name), /* @__PURE__ */ React.createElement(\"div\", {\n className: styles.children\n }, children));\n}\nfunction getStyles(theme) {\n return {\n container: css({\n flexGrow: 1,\n display: \"flex\",\n gap: theme.spacing(0.5),\n flexDirection: \"column\"\n }),\n name: css({\n flexGrow: 1,\n display: \"flex\",\n gap: theme.spacing(1),\n fontSize: theme.typography.bodySmall.fontSize,\n cursor: \"pointer\",\n padding: theme.spacing(0, 1),\n borderRadius: theme.shape.borderRadius(2),\n position: \"relative\",\n \"&:hover\": {\n background: theme.colors.background.secondary\n }\n }),\n selected: css({\n \"&::before\": {\n display: \"block\",\n content: \"' '\",\n position: \"absolute\",\n left: 0,\n width: 4,\n bottom: 2,\n top: 2,\n borderRadius: theme.shape.radius.default,\n backgroundImage: theme.colors.gradients.brandVertical\n }\n }),\n children: css({\n flexGrow: 1,\n display: \"flex\",\n flexDirection: \"column\",\n paddingLeft: theme.spacing(1)\n })\n };\n}\n\nexport { DebugTreeNode };\n//# sourceMappingURL=DebugTreeNode.js.map\n","import { css } from '@emotion/css';\nimport { useStyles2, ToolbarButton, Drawer, CustomScrollbar } from '@grafana/ui';\nimport React, { useState } from 'react';\nimport { DebugDetails } from './DebugDetails.js';\nimport { DebugTreeNode } from './DebugTreeNode.js';\n\nfunction SceneDebugger({ scene }) {\n const styles = useStyles2(getStyles);\n const [isOpen, setIsOpen] = useState(false);\n const [selectedObject, setSelectedObject] = useState();\n return /* @__PURE__ */ React.createElement(React.Fragment, null, /* @__PURE__ */ React.createElement(ToolbarButton, {\n variant: \"canvas\",\n icon: \"bug\",\n onClick: () => setIsOpen(true)\n }), isOpen && /* @__PURE__ */ React.createElement(Drawer, {\n title: \"Scene debugger\",\n onClose: () => setIsOpen(false),\n size: \"lg\"\n }, /* @__PURE__ */ React.createElement(\"div\", {\n className: styles.panes\n }, /* @__PURE__ */ React.createElement(\"div\", {\n className: styles.pane1\n }, /* @__PURE__ */ React.createElement(\"div\", {\n className: styles.paneHeading\n }, \"Scene graph\"), /* @__PURE__ */ React.createElement(CustomScrollbar, {\n autoHeightMin: \"100%\"\n }, /* @__PURE__ */ React.createElement(\"div\", {\n className: styles.treeWrapper\n }, /* @__PURE__ */ React.createElement(DebugTreeNode, {\n node: scene,\n selectedObject,\n onSelect: setSelectedObject\n })))), /* @__PURE__ */ React.createElement(\"div\", {\n className: styles.pane2\n }, /* @__PURE__ */ React.createElement(\"div\", {\n className: styles.paneHeading\n }, \"Object details\"), selectedObject && /* @__PURE__ */ React.createElement(DebugDetails, {\n node: selectedObject\n })))));\n}\nfunction getStyles(theme) {\n return {\n panes: css({\n flexGrow: 1,\n display: \"flex\",\n height: \"100%\",\n flexDirection: \"row\",\n marginTop: theme.spacing(-2)\n }),\n pane1: css({\n flexGrow: 0,\n display: \"flex\",\n height: \"100%\",\n flexDirection: \"column\",\n borderRight: `1px solid ${theme.colors.border.weak}`\n }),\n pane2: css({\n flexGrow: 1,\n display: \"flex\",\n minHeight: \"100%\",\n flexDirection: \"column\",\n paddingLeft: theme.spacing(2)\n }),\n treeWrapper: css({\n paddingRight: theme.spacing(2),\n height: \"100%\",\n marginLeft: theme.spacing(-1)\n }),\n paneHeading: css({\n padding: theme.spacing(1, 0),\n fontWeight: theme.typography.fontWeightMedium\n })\n };\n}\n\nexport { SceneDebugger };\n//# sourceMappingURL=SceneDebugger.js.map\n","import { PluginPage } from '@grafana/runtime';\nimport React, { useLayoutEffect, useEffect } from 'react';\nimport { SceneDebugger } from '../SceneDebugger/SceneDebugger.js';\nimport { SceneAppPage } from './SceneAppPage.js';\nimport { useAppQueryParams, getUrlWithAppState, renderSceneComponentWithRouteProps } from './utils.js';\n\nfunction SceneAppPageView({ page, routeProps }) {\n const containerPage = getParentPageIfTab(page);\n const containerState = containerPage.useState();\n const params = useAppQueryParams();\n const scene = page.getScene(routeProps.match);\n const isInitialized = containerState.initializedScene === scene;\n useLayoutEffect(() => {\n if (!isInitialized) {\n containerPage.initializeScene(scene);\n }\n }, [scene, containerPage, isInitialized]);\n useEffect(() => {\n return () => containerPage.setState({ initializedScene: void 0 });\n }, [containerPage]);\n if (!isInitialized) {\n return null;\n }\n const pageNav = {\n text: containerState.title,\n img: containerState.titleImg,\n icon: containerState.titleIcon,\n url: getUrlWithAppState(containerState.url, containerState.preserveUrlKeys),\n hideFromBreadcrumbs: containerState.hideFromBreadcrumbs,\n parentItem: getParentBreadcrumbs(\n containerState.getParentPage ? containerState.getParentPage() : containerPage.parent)\n };\n if (containerState.tabs) {\n pageNav.children = containerState.tabs.map((tab) => {\n return {\n text: tab.state.title,\n icon: tab.state.titleIcon,\n tabSuffix: tab.state.tabSuffix,\n active: page === tab,\n url: getUrlWithAppState(tab.state.url, tab.state.preserveUrlKeys),\n parentItem: pageNav\n };\n });\n }\n let pageActions = [];\n if (containerState.controls) {\n pageActions = containerState.controls.map((control) => /* @__PURE__ */ React.createElement(control.Component, {\n model: control,\n key: control.state.key\n }));\n }\n if (params[\"scene-debugger\"]) {\n pageActions.push(/* @__PURE__ */ React.createElement(SceneDebugger, {\n scene: containerPage,\n key: \"scene-debugger\"\n }));\n }\n return /* @__PURE__ */ React.createElement(PluginPage, {\n pageNav,\n actions: pageActions,\n renderTitle: containerState.renderTitle,\n subTitle: containerState.subTitle\n }, /* @__PURE__ */ React.createElement(scene.Component, {\n model: scene\n }));\n}\nfunction getParentPageIfTab(page) {\n if (page.parent instanceof SceneAppPage) {\n return page.parent;\n }\n return page;\n}\nfunction getParentBreadcrumbs(parent, params) {\n if (parent instanceof SceneAppPage) {\n return {\n text: parent.state.title,\n url: getUrlWithAppState(parent.state.url, parent.state.preserveUrlKeys),\n hideFromBreadcrumbs: parent.state.hideFromBreadcrumbs,\n parentItem: getParentBreadcrumbs(\n parent.state.getParentPage ? parent.state.getParentPage() : parent.parent)\n };\n }\n return void 0;\n}\nfunction SceneAppDrilldownViewRender({ drilldown, parent, routeProps }) {\n return renderSceneComponentWithRouteProps(parent.getDrilldownPage(drilldown, routeProps.match), routeProps);\n}\n\nexport { SceneAppDrilldownViewRender, SceneAppPageView };\n//# sourceMappingURL=SceneAppPageView.js.map\n","import React from 'react';\nimport { Route, Switch } from 'react-router-dom';\nimport { SceneObjectBase } from '../../core/SceneObjectBase.js';\nimport { isDataRequestEnricher } from '../../core/types.js';\nimport { getUrlSyncManager } from '../../services/UrlSyncManager.js';\nimport { EmbeddedScene } from '../EmbeddedScene.js';\nimport { SceneFlexLayout, SceneFlexItem } from '../layout/SceneFlexLayout.js';\nimport { SceneReactObject } from '../SceneReactObject.js';\nimport { SceneAppDrilldownViewRender, SceneAppPageView } from './SceneAppPageView.js';\nimport { renderSceneComponentWithRouteProps } from './utils.js';\n\nclass SceneAppPage extends SceneObjectBase {\n constructor(state) {\n super(state);\n this._sceneCache = /* @__PURE__ */ new Map();\n this._drilldownCache = /* @__PURE__ */ new Map();\n this.addActivationHandler(() => {\n return () => getUrlSyncManager().cleanUp(this);\n });\n }\n initializeScene(scene) {\n this.setState({ initializedScene: scene });\n getUrlSyncManager().initSync(this);\n }\n getScene(routeMatch) {\n let scene = this._sceneCache.get(routeMatch.url);\n if (scene) {\n return scene;\n }\n if (!this.state.getScene) {\n throw new Error(\"Missing getScene on SceneAppPage \" + this.state.title);\n }\n scene = this.state.getScene(routeMatch);\n this._sceneCache.set(routeMatch.url, scene);\n return scene;\n }\n getDrilldownPage(drilldown, routeMatch) {\n let page = this._drilldownCache.get(routeMatch.url);\n if (page) {\n return page;\n }\n page = drilldown.getPage(routeMatch, this);\n this._drilldownCache.set(routeMatch.url, page);\n return page;\n }\n enrichDataRequest(source) {\n if (this.state.getParentPage) {\n return this.state.getParentPage().enrichDataRequest(source);\n }\n if (!this.parent) {\n return null;\n }\n const root = this.getRoot();\n if (isDataRequestEnricher(root)) {\n return root.enrichDataRequest(source);\n }\n return null;\n }\n}\nSceneAppPage.Component = SceneAppPageRenderer;\nfunction SceneAppPageRenderer({ model, routeProps }) {\n var _a, _b;\n const { tabs, drilldowns } = model.useState();\n const routes = [];\n if (tabs && tabs.length > 0) {\n for (let tabIndex = 0; tabIndex < tabs.length; tabIndex++) {\n const tab = tabs[tabIndex];\n if (tabIndex === 0) {\n routes.push(\n /* @__PURE__ */ React.createElement(Route, {\n exact: true,\n key: model.state.url,\n path: (_a = model.state.routePath) != null ? _a : model.state.url,\n render: (props) => renderSceneComponentWithRouteProps(tab, props)\n })\n );\n }\n routes.push(\n /* @__PURE__ */ React.createElement(Route, {\n exact: true,\n key: tab.state.url,\n path: (_b = tab.state.routePath) != null ? _b : tab.state.url,\n render: (props) => renderSceneComponentWithRouteProps(tab, props)\n })\n );\n if (tab.state.drilldowns) {\n for (const drilldown of tab.state.drilldowns) {\n routes.push(\n /* @__PURE__ */ React.createElement(Route, {\n exact: false,\n key: drilldown.routePath,\n path: drilldown.routePath,\n render: (props) => /* @__PURE__ */ React.createElement(SceneAppDrilldownViewRender, {\n drilldown,\n parent: tab,\n routeProps: props\n })\n })\n );\n }\n }\n }\n }\n if (drilldowns) {\n for (const drilldown of drilldowns) {\n routes.push(\n /* @__PURE__ */ React.createElement(Route, {\n key: drilldown.routePath,\n exact: false,\n path: drilldown.routePath,\n render: (props) => /* @__PURE__ */ React.createElement(SceneAppDrilldownViewRender, {\n drilldown,\n parent: model,\n routeProps: props\n })\n })\n );\n }\n }\n if (!tabs && isCurrentPageRouteMatch(model, routeProps.match)) {\n return /* @__PURE__ */ React.createElement(SceneAppPageView, {\n page: model,\n routeProps\n });\n }\n routes.push(getFallbackRoute(model, routeProps));\n return /* @__PURE__ */ React.createElement(Switch, null, routes);\n}\nfunction getFallbackRoute(page, routeProps) {\n return /* @__PURE__ */ React.createElement(Route, {\n key: \"fallback route\",\n render: (props) => {\n var _a, _b, _c;\n const fallbackPage = (_c = (_b = (_a = page.state).getFallbackPage) == null ? void 0 : _b.call(_a)) != null ? _c : getDefaultFallbackPage();\n return /* @__PURE__ */ React.createElement(SceneAppPageView, {\n page: fallbackPage,\n routeProps\n });\n }\n });\n}\nfunction isCurrentPageRouteMatch(page, match) {\n if (!match.isExact) {\n return false;\n }\n if (match.url === page.state.url) {\n return true;\n }\n if (page.parent instanceof SceneAppPage && page.parent.state.tabs[0] === page && page.parent.state.url === match.url) {\n return true;\n }\n return false;\n}\nfunction getDefaultFallbackPage() {\n return new SceneAppPage({\n url: \"\",\n title: \"Not found\",\n subTitle: \"The url did not match any page\",\n getScene: () => {\n return new EmbeddedScene({\n body: new SceneFlexLayout({\n direction: \"column\",\n children: [\n new SceneFlexItem({\n body: new SceneReactObject({\n component: () => {\n return /* @__PURE__ */ React.createElement(\"div\", {\n \"data-testid\": \"default-fallback-content\"\n }, \"If you found your way here using a link then there might be a bug in this application.\");\n }\n })\n })\n ]\n })\n });\n }\n });\n}\n\nexport { SceneAppPage };\n//# sourceMappingURL=SceneAppPage.js.map\n","var VisibilityMode = /* @__PURE__ */ ((VisibilityMode2) => {\n VisibilityMode2[\"Always\"] = \"always\";\n VisibilityMode2[\"Auto\"] = \"auto\";\n VisibilityMode2[\"Never\"] = \"never\";\n return VisibilityMode2;\n})(VisibilityMode || {});\nvar GraphGradientMode = /* @__PURE__ */ ((GraphGradientMode2) => {\n GraphGradientMode2[\"Hue\"] = \"hue\";\n GraphGradientMode2[\"None\"] = \"none\";\n GraphGradientMode2[\"Opacity\"] = \"opacity\";\n GraphGradientMode2[\"Scheme\"] = \"scheme\";\n return GraphGradientMode2;\n})(GraphGradientMode || {});\nvar StackingMode = /* @__PURE__ */ ((StackingMode2) => {\n StackingMode2[\"None\"] = \"none\";\n StackingMode2[\"Normal\"] = \"normal\";\n StackingMode2[\"Percent\"] = \"percent\";\n return StackingMode2;\n})(StackingMode || {});\nvar VizOrientation = /* @__PURE__ */ ((VizOrientation2) => {\n VizOrientation2[\"Auto\"] = \"auto\";\n VizOrientation2[\"Horizontal\"] = \"horizontal\";\n VizOrientation2[\"Vertical\"] = \"vertical\";\n return VizOrientation2;\n})(VizOrientation || {});\nvar BigValueColorMode = /* @__PURE__ */ ((BigValueColorMode2) => {\n BigValueColorMode2[\"Background\"] = \"background\";\n BigValueColorMode2[\"BackgroundSolid\"] = \"background_solid\";\n BigValueColorMode2[\"None\"] = \"none\";\n BigValueColorMode2[\"Value\"] = \"value\";\n return BigValueColorMode2;\n})(BigValueColorMode || {});\nvar BigValueGraphMode = /* @__PURE__ */ ((BigValueGraphMode2) => {\n BigValueGraphMode2[\"Area\"] = \"area\";\n BigValueGraphMode2[\"Line\"] = \"line\";\n BigValueGraphMode2[\"None\"] = \"none\";\n return BigValueGraphMode2;\n})(BigValueGraphMode || {});\nvar BigValueJustifyMode = /* @__PURE__ */ ((BigValueJustifyMode2) => {\n BigValueJustifyMode2[\"Auto\"] = \"auto\";\n BigValueJustifyMode2[\"Center\"] = \"center\";\n return BigValueJustifyMode2;\n})(BigValueJustifyMode || {});\nvar BigValueTextMode = /* @__PURE__ */ ((BigValueTextMode2) => {\n BigValueTextMode2[\"Auto\"] = \"auto\";\n BigValueTextMode2[\"Name\"] = \"name\";\n BigValueTextMode2[\"None\"] = \"none\";\n BigValueTextMode2[\"Value\"] = \"value\";\n BigValueTextMode2[\"ValueAndName\"] = \"value_and_name\";\n return BigValueTextMode2;\n})(BigValueTextMode || {});\nvar BarGaugeDisplayMode = /* @__PURE__ */ ((BarGaugeDisplayMode2) => {\n BarGaugeDisplayMode2[\"Basic\"] = \"basic\";\n BarGaugeDisplayMode2[\"Gradient\"] = \"gradient\";\n BarGaugeDisplayMode2[\"Lcd\"] = \"lcd\";\n return BarGaugeDisplayMode2;\n})(BarGaugeDisplayMode || {});\nvar BarGaugeValueMode = /* @__PURE__ */ ((BarGaugeValueMode2) => {\n BarGaugeValueMode2[\"Color\"] = \"color\";\n BarGaugeValueMode2[\"Hidden\"] = \"hidden\";\n BarGaugeValueMode2[\"Text\"] = \"text\";\n return BarGaugeValueMode2;\n})(BarGaugeValueMode || {});\nvar TableCellHeight = /* @__PURE__ */ ((TableCellHeight2) => {\n TableCellHeight2[\"Lg\"] = \"lg\";\n TableCellHeight2[\"Md\"] = \"md\";\n TableCellHeight2[\"Sm\"] = \"sm\";\n return TableCellHeight2;\n})(TableCellHeight || {});\n\nexport { BigValueColorMode as B, GraphGradientMode as G, StackingMode as S, TableCellHeight as T, VisibilityMode as V, BigValueGraphMode as a, BigValueJustifyMode as b, BigValueTextMode as c, BarGaugeDisplayMode as d, BarGaugeValueMode as e, VizOrientation as f };\n","import { f as VizOrientation, V as VisibilityMode, S as StackingMode, G as GraphGradientMode } from '../../../../../common.gen-58e5e938.js';\n\nconst pluginVersion = \"10.0.3\";\nconst defaultOptions = {\n barRadius: 0,\n barWidth: 0.97,\n fullHighlight: false,\n groupWidth: 0.7,\n orientation: VizOrientation.Auto,\n showValue: VisibilityMode.Auto,\n stacking: StackingMode.None,\n xTickLabelRotation: 0,\n xTickLabelSpacing: 0\n};\nconst defaultFieldConfig = {\n fillOpacity: 80,\n gradientMode: GraphGradientMode.None,\n lineWidth: 1\n};\n\nexport { defaultFieldConfig, defaultOptions, pluginVersion };\n","import { d as BarGaugeDisplayMode, e as BarGaugeValueMode } from '../../../../../common.gen-58e5e938.js';\n\nconst pluginVersion = \"10.0.3\";\nconst defaultOptions = {\n displayMode: BarGaugeDisplayMode.Gradient,\n minVizHeight: 10,\n minVizWidth: 0,\n showUnfilled: true,\n valueMode: BarGaugeValueMode.Color\n};\n\nexport { defaultOptions, pluginVersion };\n","import { V as VisibilityMode } from '../../../../../common.gen-58e5e938.js';\n\nconst pluginVersion = \"10.0.3\";\nvar HeatmapColorMode = /* @__PURE__ */ ((HeatmapColorMode2) => {\n HeatmapColorMode2[\"Opacity\"] = \"opacity\";\n HeatmapColorMode2[\"Scheme\"] = \"scheme\";\n return HeatmapColorMode2;\n})(HeatmapColorMode || {});\nvar HeatmapColorScale = /* @__PURE__ */ ((HeatmapColorScale2) => {\n HeatmapColorScale2[\"Exponential\"] = \"exponential\";\n HeatmapColorScale2[\"Linear\"] = \"linear\";\n return HeatmapColorScale2;\n})(HeatmapColorScale || {});\nconst defaultOptions = {\n calculate: false,\n cellGap: 1,\n cellValues: {},\n color: {\n /**\n * mode: HeatmapColorMode // TODO: fix after remove when https://github.com/grafana/cuetsy/issues/74 is fixed\n */\n scheme: \"Oranges\",\n fill: \"dark-orange\",\n /**\n * scale: HeatmapColorScale // TODO: fix after remove when https://github.com/grafana/cuetsy/issues/74 is fixed\n */\n reverse: false,\n exponent: 0.5,\n steps: 64\n },\n exemplars: {\n color: \"rgba(255,0,255,0.7)\"\n },\n filterValues: {\n le: 1e-9\n },\n legend: {\n show: true\n },\n showValue: VisibilityMode.Auto,\n tooltip: {\n show: true,\n yHistogram: false\n }\n};\n\nexport { HeatmapColorMode, HeatmapColorScale, defaultOptions, pluginVersion };\n","import { G as GraphGradientMode } from '../../../../../common.gen-58e5e938.js';\n\nconst pluginVersion = \"10.0.3\";\nconst defaultOptions = {\n bucketOffset: 0\n};\nconst defaultFieldConfig = {\n fillOpacity: 80,\n gradientMode: GraphGradientMode.None,\n lineWidth: 1\n};\n\nexport { defaultFieldConfig, defaultOptions, pluginVersion };\n","import { B as BigValueColorMode, a as BigValueGraphMode, b as BigValueJustifyMode, c as BigValueTextMode } from '../../../../../common.gen-58e5e938.js';\n\nconst pluginVersion = \"10.0.3\";\nconst defaultOptions = {\n colorMode: BigValueColorMode.Value,\n graphMode: BigValueGraphMode.Area,\n justifyMode: BigValueJustifyMode.Auto,\n textMode: BigValueTextMode.Auto\n};\n\nexport { defaultOptions, pluginVersion };\n","import { V as VisibilityMode } from '../../../../../common.gen-58e5e938.js';\n\nconst pluginVersion = \"10.0.3\";\nconst defaultOptions = {\n alignValue: \"left\",\n mergeValues: true,\n rowHeight: 0.9,\n showValue: VisibilityMode.Auto\n};\nconst defaultFieldConfig = {\n fillOpacity: 70,\n lineWidth: 0\n};\n\nexport { defaultFieldConfig, defaultOptions, pluginVersion };\n","import { V as VisibilityMode } from '../../../../../common.gen-58e5e938.js';\n\nconst pluginVersion = \"10.0.3\";\nconst defaultOptions = {\n colWidth: 0.9,\n rowHeight: 0.9,\n showValue: VisibilityMode.Auto\n};\nconst defaultFieldConfig = {\n fillOpacity: 70,\n lineWidth: 1\n};\n\nexport { defaultFieldConfig, defaultOptions, pluginVersion };\n","import { T as TableCellHeight } from '../../../../../common.gen-58e5e938.js';\n\nconst pluginVersion = \"10.0.3\";\nconst defaultOptions = {\n cellHeight: TableCellHeight.Sm,\n footer: {\n /**\n * Controls whether the footer should be shown\n */\n show: false,\n /**\n * Controls whether the footer should show the total number of rows on Count calculation\n */\n countRows: false,\n /**\n * Represents the selected calculations\n */\n reducer: []\n },\n frameIndex: 0,\n showHeader: true,\n showTypeIcons: false,\n sortBy: []\n};\n\nexport { defaultOptions, pluginVersion };\n","import { V as VisibilityMode } from '../../../../../common.gen-58e5e938.js';\n\nconst pluginVersion = \"10.0.3\";\nvar SeriesMapping = /* @__PURE__ */ ((SeriesMapping2) => {\n SeriesMapping2[\"Auto\"] = \"auto\";\n SeriesMapping2[\"Manual\"] = \"manual\";\n return SeriesMapping2;\n})(SeriesMapping || {});\nvar ScatterShow = /* @__PURE__ */ ((ScatterShow2) => {\n ScatterShow2[\"Lines\"] = \"lines\";\n ScatterShow2[\"Points\"] = \"points\";\n ScatterShow2[\"PointsAndLines\"] = \"points+lines\";\n return ScatterShow2;\n})(ScatterShow || {});\nconst defaultXYDimensionConfig = {\n exclude: []\n};\nconst defaultScatterFieldConfig = {\n label: VisibilityMode.Auto,\n show: \"points\" /* Points */\n};\nconst defaultOptions = {\n series: []\n};\n\nexport { ScatterShow, SeriesMapping, defaultOptions, defaultScatterFieldConfig, defaultXYDimensionConfig, pluginVersion };\n","class StandardFieldConfigOverridesBuilder {\n constructor() {\n this._overrides = [];\n }\n overrideColor(value) {\n this._overrides[this._overrides.length - 1].properties.push({ id: \"color\", value });\n return this;\n }\n overrideDecimals(value) {\n this._overrides[this._overrides.length - 1].properties.push({ id: \"decimals\", value });\n return this;\n }\n overrideDisplayName(value) {\n this._overrides[this._overrides.length - 1].properties.push({ id: \"displayName\", value });\n return this;\n }\n overrideFilterable(value) {\n this._overrides[this._overrides.length - 1].properties.push({ id: \"filterable\", value });\n return this;\n }\n overrideLinks(value) {\n this._overrides[this._overrides.length - 1].properties.push({ id: \"links\", value });\n return this;\n }\n overrideMappings(value) {\n this._overrides[this._overrides.length - 1].properties.push({ id: \"mappings\", value });\n return this;\n }\n overrideMax(value) {\n this._overrides[this._overrides.length - 1].properties.push({ id: \"max\", value });\n return this;\n }\n overrideMin(value) {\n this._overrides[this._overrides.length - 1].properties.push({ id: \"min\", value });\n return this;\n }\n overrideNoValue(value) {\n this._overrides[this._overrides.length - 1].properties.push({ id: \"noValue\", value });\n return this;\n }\n overrideThresholds(value) {\n this._overrides[this._overrides.length - 1].properties.push({ id: \"thresholds\", value });\n return this;\n }\n overrideUnit(value) {\n this._overrides[this._overrides.length - 1].properties.push({ id: \"unit\", value });\n return this;\n }\n}\n\nexport { StandardFieldConfigOverridesBuilder };\n//# sourceMappingURL=StandardFieldConfigBuilders.js.map\n","import { FieldMatcherID } from '@grafana/data';\nimport { getCompareSeriesRefId } from '../../utils/getCompareSeriesRefId.js';\nimport { StandardFieldConfigOverridesBuilder } from './StandardFieldConfigBuilders.js';\n\nclass FieldConfigOverridesBuilder extends StandardFieldConfigOverridesBuilder {\n match(matcher) {\n this._overrides.push({ matcher, properties: [] });\n return this;\n }\n matchFieldsWithName(name) {\n this._overrides.push({\n matcher: {\n id: FieldMatcherID.byName,\n options: name\n },\n properties: []\n });\n return this;\n }\n matchFieldsWithNameByRegex(regex) {\n this._overrides.push({\n matcher: {\n id: FieldMatcherID.byRegexp,\n options: regex\n },\n properties: []\n });\n return this;\n }\n matchFieldsByType(fieldType) {\n this._overrides.push({\n matcher: {\n id: FieldMatcherID.byType,\n options: fieldType\n },\n properties: []\n });\n return this;\n }\n matchFieldsByQuery(refId) {\n this._overrides.push({\n matcher: {\n id: FieldMatcherID.byFrameRefID,\n options: refId\n },\n properties: []\n });\n return this;\n }\n matchFieldsByValue(options) {\n this._overrides.push({\n matcher: {\n id: FieldMatcherID.byValue,\n options\n },\n properties: []\n });\n return this;\n }\n matchComparisonQuery(refId) {\n return this.matchFieldsByQuery(getCompareSeriesRefId(refId));\n }\n overrideCustomFieldConfig(id, value) {\n const _id = `custom.${String(id)}`;\n const last = this._overrides[this._overrides.length - 1];\n last.properties.push({ id: _id, value });\n return this;\n }\n build() {\n return this._overrides;\n }\n}\n\nexport { FieldConfigOverridesBuilder };\n//# sourceMappingURL=FieldConfigOverridesBuilder.js.map\n","import { cloneDeep, merge } from 'lodash';\nimport { FieldConfigOverridesBuilder } from './FieldConfigOverridesBuilder.js';\n\nvar __defProp = Object.defineProperty;\nvar __defProps = Object.defineProperties;\nvar __getOwnPropDescs = Object.getOwnPropertyDescriptors;\nvar __getOwnPropSymbols = Object.getOwnPropertySymbols;\nvar __hasOwnProp = Object.prototype.hasOwnProperty;\nvar __propIsEnum = Object.prototype.propertyIsEnumerable;\nvar __defNormalProp = (obj, key, value) => key in obj ? __defProp(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;\nvar __spreadValues = (a, b) => {\n for (var prop in b || (b = {}))\n if (__hasOwnProp.call(b, prop))\n __defNormalProp(a, prop, b[prop]);\n if (__getOwnPropSymbols)\n for (var prop of __getOwnPropSymbols(b)) {\n if (__propIsEnum.call(b, prop))\n __defNormalProp(a, prop, b[prop]);\n }\n return a;\n};\nvar __spreadProps = (a, b) => __defProps(a, __getOwnPropDescs(b));\nclass FieldConfigBuilder {\n constructor(defaultFieldConfig) {\n this.defaultFieldConfig = defaultFieldConfig;\n this._fieldConfig = {\n defaults: {},\n overrides: []\n };\n this._overridesBuilder = new FieldConfigOverridesBuilder();\n this.setDefaults();\n }\n setDefaults() {\n const fieldConfig = {\n defaults: {\n custom: this.defaultFieldConfig ? cloneDeep(this.defaultFieldConfig()) : {}\n },\n overrides: []\n };\n this._fieldConfig = fieldConfig;\n }\n setColor(color) {\n return this.setFieldConfigDefaults(\"color\", color);\n }\n setDecimals(decimals) {\n return this.setFieldConfigDefaults(\"decimals\", decimals);\n }\n setDisplayName(displayName) {\n return this.setFieldConfigDefaults(\"displayName\", displayName);\n }\n setFilterable(filterable) {\n return this.setFieldConfigDefaults(\"filterable\", filterable);\n }\n setLinks(links) {\n return this.setFieldConfigDefaults(\"links\", links);\n }\n setMappings(mappings) {\n return this.setFieldConfigDefaults(\"mappings\", mappings);\n }\n setMax(max) {\n return this.setFieldConfigDefaults(\"max\", max);\n }\n setMin(min) {\n return this.setFieldConfigDefaults(\"min\", min);\n }\n setNoValue(noValue) {\n return this.setFieldConfigDefaults(\"noValue\", noValue);\n }\n setThresholds(thresholds) {\n return this.setFieldConfigDefaults(\"thresholds\", thresholds);\n }\n setUnit(unit) {\n return this.setFieldConfigDefaults(\"unit\", unit);\n }\n setCustomFieldConfig(id, value) {\n this._fieldConfig.defaults = __spreadProps(__spreadValues({}, this._fieldConfig.defaults), {\n custom: merge(this._fieldConfig.defaults.custom, { [id]: value })\n });\n return this;\n }\n setOverrides(builder) {\n builder(this._overridesBuilder);\n return this;\n }\n setFieldConfigDefaults(key, value) {\n this._fieldConfig.defaults = __spreadProps(__spreadValues({}, this._fieldConfig.defaults), {\n [key]: value\n });\n return this;\n }\n build() {\n return {\n defaults: this._fieldConfig.defaults,\n overrides: this._overridesBuilder.build()\n };\n }\n}\n\nexport { FieldConfigBuilder };\n//# sourceMappingURL=FieldConfigBuilder.js.map\n","import { cloneDeep, merge } from 'lodash';\n\nclass PanelOptionsBuilder {\n constructor(defaultOptions) {\n this.defaultOptions = defaultOptions;\n this._options = {};\n this.setDefaults();\n }\n setDefaults() {\n this._options = this.defaultOptions ? cloneDeep(this.defaultOptions()) : {};\n }\n setOption(id, value) {\n this._options = merge(this._options, { [id]: value });\n return this;\n }\n build() {\n return this._options;\n }\n}\n\nexport { PanelOptionsBuilder };\n//# sourceMappingURL=PanelOptionsBuilder.js.map\n","import { VizPanel } from '../../components/VizPanel/VizPanel.js';\nimport { FieldConfigBuilder } from './FieldConfigBuilder.js';\nimport { PanelOptionsBuilder } from './PanelOptionsBuilder.js';\n\nvar __defProp = Object.defineProperty;\nvar __defProps = Object.defineProperties;\nvar __getOwnPropDescs = Object.getOwnPropertyDescriptors;\nvar __getOwnPropSymbols = Object.getOwnPropertySymbols;\nvar __hasOwnProp = Object.prototype.hasOwnProperty;\nvar __propIsEnum = Object.prototype.propertyIsEnumerable;\nvar __defNormalProp = (obj, key, value) => key in obj ? __defProp(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;\nvar __spreadValues = (a, b) => {\n for (var prop in b || (b = {}))\n if (__hasOwnProp.call(b, prop))\n __defNormalProp(a, prop, b[prop]);\n if (__getOwnPropSymbols)\n for (var prop of __getOwnPropSymbols(b)) {\n if (__propIsEnum.call(b, prop))\n __defNormalProp(a, prop, b[prop]);\n }\n return a;\n};\nvar __spreadProps = (a, b) => __defProps(a, __getOwnPropDescs(b));\nclass VizPanelBuilder {\n constructor(pluginId, pluginVersion, defaultOptions, defaultFieldConfig) {\n this._state = {};\n this._state.title = \"\";\n this._state.description = \"\";\n this._state.displayMode = \"default\";\n this._state.hoverHeader = false;\n this._state.pluginId = pluginId;\n this._state.pluginVersion = pluginVersion;\n this._fieldConfigBuilder = new FieldConfigBuilder(defaultFieldConfig);\n this._panelOptionsBuilder = new PanelOptionsBuilder(defaultOptions);\n }\n setTitle(title) {\n this._state.title = title;\n return this;\n }\n setDescription(description) {\n this._state.description = description;\n return this;\n }\n setDisplayMode(displayMode) {\n this._state.displayMode = displayMode;\n return this;\n }\n setHoverHeader(hoverHeader) {\n this._state.hoverHeader = hoverHeader;\n return this;\n }\n setMenu(menu) {\n this._state.menu = menu;\n return this;\n }\n setHeaderActions(headerActions) {\n this._state.headerActions = headerActions;\n return this;\n }\n setColor(color) {\n this._fieldConfigBuilder.setColor(color);\n return this;\n }\n setDecimals(decimals) {\n this._fieldConfigBuilder.setDecimals(decimals);\n return this;\n }\n setDisplayName(displayName) {\n this._fieldConfigBuilder.setDisplayName(displayName);\n return this;\n }\n setFilterable(filterable) {\n this._fieldConfigBuilder.setFilterable(filterable);\n return this;\n }\n setLinks(links) {\n this._fieldConfigBuilder.setLinks(links);\n return this;\n }\n setMappings(mappings) {\n this._fieldConfigBuilder.setMappings(mappings);\n return this;\n }\n setMax(max) {\n this._fieldConfigBuilder.setMax(max);\n return this;\n }\n setMin(min) {\n this._fieldConfigBuilder.setMin(min);\n return this;\n }\n setNoValue(noValue) {\n this._fieldConfigBuilder.setNoValue(noValue);\n return this;\n }\n setThresholds(thresholds) {\n this._fieldConfigBuilder.setThresholds(thresholds);\n return this;\n }\n setUnit(unit) {\n this._fieldConfigBuilder.setUnit(unit);\n return this;\n }\n setCustomFieldConfig(id, value) {\n this._fieldConfigBuilder.setCustomFieldConfig(id, value);\n return this;\n }\n setOverrides(builder) {\n this._fieldConfigBuilder.setOverrides(builder);\n return this;\n }\n setOption(id, value) {\n this._panelOptionsBuilder.setOption(id, value);\n return this;\n }\n setData(data) {\n this._state.$data = data;\n return this;\n }\n setTimeRange(timeRange) {\n this._state.$timeRange = timeRange;\n return this;\n }\n setVariables(variables) {\n this._state.$variables = variables;\n return this;\n }\n setBehaviors(behaviors) {\n this._state.$behaviors = behaviors;\n return this;\n }\n build() {\n const panel = new VizPanel(__spreadProps(__spreadValues({}, this._state), {\n options: this._panelOptionsBuilder.build(),\n fieldConfig: this._fieldConfigBuilder.build()\n }));\n return panel;\n }\n}\n\nexport { VizPanelBuilder };\n//# sourceMappingURL=VizPanelBuilder.js.map\n","import { defaultOptions, defaultFieldConfig } from '@grafana/schema/dist/esm/raw/composable/barchart/panelcfg/x/BarChartPanelCfg_types.gen';\nimport { defaultOptions as defaultOptions$1 } from '@grafana/schema/dist/esm/raw/composable/bargauge/panelcfg/x/BarGaugePanelCfg_types.gen';\nimport { defaultOptions as defaultOptions$2 } from '@grafana/schema/dist/esm/raw/composable/datagrid/panelcfg/x/DatagridPanelCfg_types.gen';\nimport { defaultOptions as defaultOptions$3 } from '@grafana/schema/dist/esm/raw/composable/gauge/panelcfg/x/GaugePanelCfg_types.gen';\nimport { defaultOptions as defaultOptions$4 } from '@grafana/schema/dist/esm/raw/composable/geomap/panelcfg/x/GeomapPanelCfg_types.gen';\nimport { defaultOptions as defaultOptions$5 } from '@grafana/schema/dist/esm/raw/composable/heatmap/panelcfg/x/HeatmapPanelCfg_types.gen';\nimport { defaultOptions as defaultOptions$6, defaultFieldConfig as defaultFieldConfig$1 } from '@grafana/schema/dist/esm/raw/composable/histogram/panelcfg/x/HistogramPanelCfg_types.gen';\nimport { defaultOptions as defaultOptions$7 } from '@grafana/schema/dist/esm/raw/composable/news/panelcfg/x/NewsPanelCfg_types.gen';\nimport { defaultOptions as defaultOptions$8 } from '@grafana/schema/dist/esm/raw/composable/piechart/panelcfg/x/PieChartPanelCfg_types.gen';\nimport { defaultOptions as defaultOptions$9 } from '@grafana/schema/dist/esm/raw/composable/stat/panelcfg/x/StatPanelCfg_types.gen';\nimport { defaultOptions as defaultOptions$a, defaultFieldConfig as defaultFieldConfig$2 } from '@grafana/schema/dist/esm/raw/composable/statetimeline/panelcfg/x/StateTimelinePanelCfg_types.gen';\nimport { defaultOptions as defaultOptions$b, defaultFieldConfig as defaultFieldConfig$3 } from '@grafana/schema/dist/esm/raw/composable/statushistory/panelcfg/x/StatusHistoryPanelCfg_types.gen';\nimport { defaultOptions as defaultOptions$c } from '@grafana/schema/dist/esm/raw/composable/table/panelcfg/x/TablePanelCfg_types.gen';\nimport { defaultOptions as defaultOptions$d } from '@grafana/schema/dist/esm/raw/composable/text/panelcfg/x/TextPanelCfg_types.gen';\nimport { defaultOptions as defaultOptions$e, defaultScatterFieldConfig } from '@grafana/schema/dist/esm/raw/composable/xychart/panelcfg/x/XYChartPanelCfg_types.gen';\nimport { VizPanelBuilder } from './VizPanelBuilder.js';\nimport 'lodash';\nimport '@grafana/data';\n\nconst PanelBuilders = {\n barchart() {\n return new VizPanelBuilder(\n \"barchart\",\n \"10.0.0\",\n () => defaultOptions,\n () => defaultFieldConfig\n );\n },\n bargauge() {\n return new VizPanelBuilder(\"bargauge\", \"10.0.0\", () => defaultOptions$1);\n },\n datagrid() {\n return new VizPanelBuilder(\"datagrid\", \"10.0.0\", () => defaultOptions$2);\n },\n flamegraph() {\n return new VizPanelBuilder(\"flamegraph\", \"10.0.0\");\n },\n gauge() {\n return new VizPanelBuilder(\"gauge\", \"10.0.0\", () => defaultOptions$3);\n },\n geomap() {\n return new VizPanelBuilder(\"geomap\", \"10.0.0\", () => defaultOptions$4);\n },\n heatmap() {\n return new VizPanelBuilder(\"heatmap\", \"10.0.0\", () => defaultOptions$5);\n },\n histogram() {\n return new VizPanelBuilder(\n \"histogram\",\n \"10.0.0\",\n () => defaultOptions$6,\n () => defaultFieldConfig$1\n );\n },\n logs() {\n return new VizPanelBuilder(\"logs\", \"10.0.0\");\n },\n news() {\n return new VizPanelBuilder(\"news\", \"10.0.0\", () => defaultOptions$7);\n },\n nodegraph() {\n return new VizPanelBuilder(\"nodeGraph\", \"10.0.0\");\n },\n piechart() {\n return new VizPanelBuilder(\n \"piechart\",\n \"10.0.0\",\n () => defaultOptions$8\n );\n },\n stat() {\n return new VizPanelBuilder(\"stat\", \"10.0.0\", () => defaultOptions$9);\n },\n statetimeline() {\n return new VizPanelBuilder(\n \"state-timeline\",\n \"10.0.0\",\n () => defaultOptions$a,\n () => defaultFieldConfig$2\n );\n },\n statushistory() {\n return new VizPanelBuilder(\n \"status-history\",\n \"10.0.0\",\n () => defaultOptions$b,\n () => defaultFieldConfig$3\n );\n },\n table() {\n return new VizPanelBuilder(\"table\", \"10.0.0\", () => defaultOptions$c);\n },\n text() {\n return new VizPanelBuilder(\"text\", \"10.0.0\", () => defaultOptions$d);\n },\n timeseries() {\n return new VizPanelBuilder(\"timeseries\", \"10.0.0\");\n },\n trend() {\n return new VizPanelBuilder(\"trend\", \"10.0.0\");\n },\n traces() {\n return new VizPanelBuilder(\"traces\", \"10.0.0\");\n },\n xychart() {\n return new VizPanelBuilder(\n \"xychart\",\n \"10.0.0\",\n () => defaultOptions$e,\n () => defaultScatterFieldConfig\n );\n }\n};\n\nexport { PanelBuilders };\n//# sourceMappingURL=index.js.map\n","import { SceneQueryRunner, PanelBuilders } from '@grafana/scenes';\nimport { INFLUXDB_DATASOURCES_REF } from '../../../constants';\n\nexport const getBandwidthPanel = () => {\n const defaultBandwidthQuery = {\n refId: 'A',\n query: `SELECT mean(value) FROM \"monthly\".\"bandwidth.1min\" WHERE hostname='$hostname' AND $timeFilter GROUP BY time(60s)`,\n rawQuery: true,\n resultFormat: 'time_series',\n alias: 'bandwidth',\n };\n\n const qr = new SceneQueryRunner({\n datasource: INFLUXDB_DATASOURCES_REF.CACHE_STATS,\n queries: [defaultBandwidthQuery],\n });\n\n return PanelBuilders.timeseries()\n .setTitle('Bandwidth')\n .setData(qr)\n .setCustomFieldConfig('fillOpacity', 20)\n .setOption('legend', { showLegend: true, calcs: ['max'] })\n .setUnit('kbps')\n .build();\n};\n","import { SceneQueryRunner, PanelBuilders } from '@grafana/scenes';\nimport { INFLUXDB_DATASOURCES_REF } from '../../../constants';\n\nexport const getConnectionsPanel = () => {\n const defaultConnectionsQuery = [\n {\n refId: 'A',\n query: `SELECT mean(value) FROM \"monthly\".\"connections.1min\" WHERE hostname='$hostname' AND $timeFilter GROUP BY time(60s)`,\n rawQuery: true,\n resultFormat: 'time_series',\n alias: 'connections',\n },\n ];\n\n const qr = new SceneQueryRunner({\n datasource: INFLUXDB_DATASOURCES_REF.CACHE_STATS,\n queries: [...defaultConnectionsQuery],\n });\n\n return PanelBuilders.timeseries()\n .setTitle('Connections')\n .setData(qr)\n .setCustomFieldConfig('fillOpacity', 20)\n .setOption('legend', { showLegend: true, calcs: ['max'] })\n .setCustomFieldConfig('spanNulls', true)\n .build();\n};\n","import { PanelBuilders, SceneQueryRunner } from '@grafana/scenes';\nimport { INFLUXDB_DATASOURCES_REF } from '../../../constants';\n\nexport const getCPUPanel = () => {\n const defaultQuery = {\n refId: 'A',\n query: `SELECT mean(\"usage_system\") AS \"cpu_system\", mean(\"usage_iowait\") AS \"cpu_iowait\", mean(\"usage_user\") AS \"cpu_user\", mean(\"usage_guest\") AS \"cpu_guest\", mean(\"usage_steal\") AS \"cpu_steal\" FROM \"cpu\" WHERE host='$hostname' AND $timeFilter GROUP BY time($interval) fill(null)`,\n rawQuery: true,\n resultFormat: 'time_series',\n alias: '$col',\n };\n\n const qr = new SceneQueryRunner({\n datasource: INFLUXDB_DATASOURCES_REF.TELEGRAF,\n queries: [defaultQuery],\n });\n\n return PanelBuilders.timeseries()\n .setTitle('CPU Usage')\n .setData(qr)\n .setUnit('%')\n .setCustomFieldConfig('spanNulls', true)\n .setCustomFieldConfig('fillOpacity', 20)\n .build();\n};\n","import { PanelBuilders, SceneQueryRunner } from '@grafana/scenes';\nimport { INFLUXDB_DATASOURCES_REF } from '../../../constants';\n\nexport const getLoadAveragePanel = () => {\n const defaultQuery = {\n refId: 'A',\n query: `SELECT mean(\"load1\") AS \"load1\", mean(\"load5\") AS \"load5\", mean(\"load15\") AS \"load15\" FROM \"system\" WHERE host='$hostname' AND $timeFilter GROUP BY time($interval) fill(null)`,\n rawQuery: true,\n resultFormat: 'time_series',\n alias: '$col',\n };\n\n const qr = new SceneQueryRunner({\n datasource: INFLUXDB_DATASOURCES_REF.TELEGRAF,\n queries: [defaultQuery],\n });\n\n return PanelBuilders.timeseries()\n .setTitle('Load Average')\n .setData(qr)\n .setCustomFieldConfig('fillOpacity', 20)\n .setCustomFieldConfig('spanNulls', true)\n .build();\n};\n","import { PanelBuilders, SceneQueryRunner } from '@grafana/scenes';\nimport { INFLUXDB_DATASOURCES_REF } from '../../../constants';\n\nexport const getMemoryPanel = () => {\n const defaultQuery = {\n refId: 'A',\n query: `SELECT mean(\"used_percent\") AS \"mem_used\" FROM \"mem\" WHERE host='$hostname' AND $timeFilter GROUP BY time($interval) fill(null)`,\n rawQuery: true,\n resultFormat: 'time_series',\n alias: '$col',\n };\n\n const qr = new SceneQueryRunner({\n datasource: INFLUXDB_DATASOURCES_REF.TELEGRAF,\n queries: [defaultQuery],\n });\n\n return PanelBuilders.timeseries()\n .setTitle('Memory Usage')\n .setData(qr)\n .setCustomFieldConfig('spanNulls', true)\n .setCustomFieldConfig('fillOpacity', 20)\n .setUnit('%')\n .build();\n};\n","import { PanelBuilders, SceneQueryRunner } from '@grafana/scenes';\nimport { INFLUXDB_DATASOURCES_REF } from '../../../constants';\n\nexport const getNetstatPanel = () => {\n const defaultQuery = {\n refId: 'A',\n query: `SELECT mean(\"tcp_close\") AS \"tcp_close\", mean(\"tcp_close_wait\") AS \"tcp_close_wait\", mean(\"tcp_established\") AS \"tcp_established\", mean(\"tcp_time_wait\") AS \"tcp_time_wait\", mean(\"tcp_closing\") AS \"tcp_closing\", mean(\"tcp_fin_wait1\") AS \"tcp_fin_wait1\", mean(\"tcp_fin_wait2\") AS \"tcp_fin_wait2\", mean(\"tcp_last_ack\") AS \"tcp_last_ack\", mean(\"tcp_syn_recv\") AS \"tcp_syn_recv\", mean(\"tcp_syn_sent\") AS \"tcp_syn_sent\" FROM \"netstat\" WHERE host='$hostname' AND $timeFilter GROUP BY time($interval) fill(null)`,\n rawQuery: true,\n resultFormat: 'time_series',\n alias: '$col',\n };\n\n const qr = new SceneQueryRunner({\n datasource: INFLUXDB_DATASOURCES_REF.TELEGRAF,\n queries: [defaultQuery],\n });\n\n return PanelBuilders.timeseries()\n .setTitle('Netstat')\n .setData(qr)\n .setCustomFieldConfig('spanNulls', true)\n .setCustomFieldConfig('fillOpacity', 20)\n .build();\n};\n","import { PanelBuilders, SceneQueryRunner } from '@grafana/scenes';\nimport { INFLUXDB_DATASOURCES_REF } from '../../../constants';\n\nexport const getReadWriteTimePanel = () => {\n const defaultQueries = [\n {\n refId: 'A',\n query: `SELECT non_negative_derivative(sum(\"read_time\"), 10s) AS \"read_time\" FROM \"diskio\" WHERE host='$hostname' AND $timeFilter GROUP BY time($interval) fill(null)`,\n rawQuery: true,\n resultFormat: 'time_series',\n alias: '$col',\n },\n {\n refId: 'B',\n query: `SELECT non_negative_derivative(sum(\"write_time\"), 10s) AS \"write_time\" FROM \"diskio\" WHERE host='$hostname' AND $timeFilter GROUP BY time($interval) fill(null)`,\n rawQuery: true,\n resultFormat: 'time_series',\n alias: '$col',\n },\n ];\n\n const qr = new SceneQueryRunner({\n datasource: INFLUXDB_DATASOURCES_REF.TELEGRAF,\n queries: [...defaultQueries],\n });\n\n return PanelBuilders.timeseries()\n .setTitle('Read/Write Time')\n .setData(qr)\n .setCustomFieldConfig('spanNulls', true)\n .setCustomFieldConfig('fillOpacity', 20)\n .setUnit('ns')\n .build();\n};\n","import { PanelBuilders, SceneQueryRunner } from '@grafana/scenes';\nimport { INFLUXDB_DATASOURCES_REF } from '../../../constants';\n\nexport const getWrapCountPanel = () => {\n const defaultQuery = {\n refId: 'A',\n query: `SELECT mean(\"vol1_wrap_count\") AS \"vol1\", mean(\"vol2_wrap_count\") AS \"vol2\" FROM \"monthly\".\"wrap_count.1min\" WHERE hostname='$hostname' AND $timeFilter GROUP BY time($interval) fill(null)`,\n rawQuery: true,\n resultFormat: 'time_series',\n alias: '$col',\n };\n\n const qr = new SceneQueryRunner({\n datasource: INFLUXDB_DATASOURCES_REF.CACHE_STATS,\n queries: [defaultQuery],\n });\n\n return PanelBuilders.timeseries()\n .setTitle('Wrap Count')\n .setData(qr)\n .setCustomFieldConfig('spanNulls', true)\n .setCustomFieldConfig('fillOpacity', 20)\n .build();\n};\n","import {\n SceneTimeRange,\n EmbeddedScene,\n SceneFlexLayout,\n SceneFlexItem,\n SceneControlsSpacer,\n SceneRefreshPicker,\n SceneTimePicker,\n QueryVariable,\n SceneVariableSet,\n VariableValueSelectors,\n} from '@grafana/scenes';\nimport {\n getBandwidthPanel,\n getConnectionsPanel,\n getCPUPanel,\n getMemoryPanel,\n getLoadAveragePanel,\n getReadWriteTimePanel,\n getWrapCountPanel,\n getNetstatPanel,\n} from './panels';\nimport { INFLUXDB_DATASOURCES_REF } from '../../constants';\n\nexport function getServerScene() {\n const timeRange = new SceneTimeRange({\n from: 'now-6h',\n to: 'now',\n });\n\n const hostname = new QueryVariable({\n name: 'hostname',\n datasource: INFLUXDB_DATASOURCES_REF.CACHE_STATS,\n query: 'SHOW TAG VALUES ON \"cache_stats\" FROM \"monthly\".\"bandwidth\" with key = \"hostname\"',\n });\n\n return new EmbeddedScene({\n $timeRange: timeRange,\n $variables: new SceneVariableSet({\n variables: [hostname],\n }),\n body: new SceneFlexLayout({\n direction: 'column',\n children: [\n new SceneFlexItem({\n height: 250,\n body: getBandwidthPanel(),\n }),\n new SceneFlexItem({\n height: 250,\n body: getConnectionsPanel(),\n }),\n new SceneFlexLayout({\n direction: 'row',\n height: 250,\n children: [\n new SceneFlexItem({\n width: '50%',\n body: getCPUPanel(),\n }),\n new SceneFlexItem({\n width: '50%',\n body: getMemoryPanel(),\n }),\n ],\n }),\n new SceneFlexLayout({\n direction: 'row',\n height: 250,\n children: [\n new SceneFlexItem({\n width: '50%',\n body: getLoadAveragePanel(),\n }),\n new SceneFlexItem({\n width: '50%',\n body: getReadWriteTimePanel(),\n }),\n ],\n }),\n new SceneFlexLayout({\n direction: 'row',\n height: 250,\n children: [\n new SceneFlexItem({\n width: '50%',\n body: getWrapCountPanel(),\n }),\n new SceneFlexItem({\n width: '50%',\n body: getNetstatPanel(),\n }),\n ],\n }),\n ],\n }),\n controls: [\n new VariableValueSelectors({}),\n new SceneControlsSpacer(),\n new SceneTimePicker({ isOnCanvas: true }),\n new SceneRefreshPicker({\n intervals: ['5s', '1m', '1h'],\n isOnCanvas: true,\n }),\n ],\n });\n}\n","import React, { useMemo } from 'react';\nimport { SceneApp, SceneAppPage } from '@grafana/scenes';\nimport { ROUTES } from '../../constants';\nimport { prefixRoute } from '../../utils/utils.routing';\nimport { getServerScene } from './scene';\n\nconst getScene = () =>\n new SceneApp({\n pages: [\n new SceneAppPage({\n title: 'Server',\n url: prefixRoute(`${ROUTES.Server}`),\n hideFromBreadcrumbs: true,\n getScene: getServerScene,\n }),\n ],\n });\n\nexport const ServerPage = () => {\n const scene = useMemo(() => getScene(), []);\n\n return ;\n};\n","import { SceneQueryRunner, PanelBuilders } from '@grafana/scenes';\nimport { INFLUXDB_DATASOURCES_REF } from '../../../constants';\n\nexport const getBandwidthPanel = () => {\n const defaultBandwidthQuery = {\n refId: 'A',\n query: `SELECT mean(value) FROM \"monthly\".\"kbps.ds.1min\" WHERE deliveryservice='$deliveryservice' AND cachegroup = 'total' and $timeFilter GROUP BY time(60s), deliveryservice ORDER BY asc`,\n rawQuery: true,\n resultFormat: 'time_series',\n alias: '$tag_deliveryservice',\n measurement: 'bw',\n };\n\n const qr = new SceneQueryRunner({\n datasource: INFLUXDB_DATASOURCES_REF.DELIVERYSERVICE_STATS,\n queries: [defaultBandwidthQuery],\n });\n\n return PanelBuilders.timeseries()\n .setTitle('Bandwidth')\n .setData(qr)\n .setOption('legend', { showLegend: true, calcs: ['max'] })\n .setCustomFieldConfig('axisCenteredZero', true)\n .setUnit('bps')\n .build();\n};\n","import { SceneQueryRunner, PanelBuilders } from '@grafana/scenes';\nimport { INFLUXDB_DATASOURCES_REF } from '../../../constants';\n\nexport const getTpsPanel = () => {\n const tpsQueries = [\n {\n refId: 'A',\n query: `SELECT mean(value) FROM \"monthly\".\"tps_2xx.ds.1min\" WHERE $timeFilter AND deliveryservice='$deliveryservice' GROUP BY time(60s) ORDER BY asc`,\n rawQuery: true,\n resultFormat: 'time_series',\n measurement: 'tps_2xx',\n hide: false,\n tags: {\n deliveryservice: `$deliveryservice`,\n },\n },\n {\n refId: 'B',\n query: `SELECT mean(value) FROM \\\"monthly\\\".\\\"tps_3xx.ds.1min\\\" WHERE $timeFilter AND deliveryservice='$deliveryservice' GROUP BY time(60s) ORDER BY asc`,\n rawQuery: true,\n resultFormat: 'time_series',\n },\n {\n refId: 'C',\n query: `SELECT mean(value) FROM \\\"monthly\\\".\\\"tps_4xx.ds.1min\\\" WHERE $timeFilter AND deliveryservice='$deliveryservice' GROUP BY time(60s) ORDER BY asc`,\n rawQuery: true,\n resultFormat: 'time_series',\n },\n {\n refId: 'D',\n query: `SELECT mean(value) FROM \\\"monthly\\\".\\\"tps_5xx.ds.1min\\\" WHERE $timeFilter AND deliveryservice='$deliveryservice' GROUP BY time(60s) ORDER BY asc`,\n rawQuery: true,\n resultFormat: 'time_series',\n },\n ];\n\n const qr = new SceneQueryRunner({\n datasource: INFLUXDB_DATASOURCES_REF.DELIVERYSERVICE_STATS,\n queries: [...tpsQueries],\n });\n\n return PanelBuilders.timeseries()\n .setTitle('TPS')\n .setData(qr)\n .setOption('legend', { showLegend: true, calcs: ['max'] })\n .setCustomFieldConfig('axisCenteredZero', true)\n .setCustomFieldConfig('spanNulls', true)\n .build();\n};\n","import { SceneQueryRunner, PanelBuilders } from '@grafana/scenes';\nimport { INFLUXDB_DATASOURCES_REF } from '../../../constants';\n\nexport const getBandwidthByCGPanel = () => {\n const bandwidthByCacheGroupQuery = {\n refId: 'A',\n query: `SELECT mean(value) FROM \"monthly\".\"kbps.cg.1min\" WHERE deliveryservice='$deliveryservice' AND cachegroup != 'all' and $timeFilter GROUP BY time(60s), cachegroup`,\n rawQuery: true,\n resultFormat: 'time_series',\n alias: '$tag_cachegroup',\n };\n\n const qr = new SceneQueryRunner({\n datasource: INFLUXDB_DATASOURCES_REF.DELIVERYSERVICE_STATS,\n queries: [bandwidthByCacheGroupQuery],\n });\n\n return PanelBuilders.timeseries()\n .setTitle('Bandwidth by CacheGroup')\n .setData(qr)\n .setOption('legend', { showLegend: true, calcs: ['max'] })\n .setCustomFieldConfig('axisCenteredZero', true)\n .setCustomFieldConfig('spanNulls', true)\n .setUnit('bps')\n .build();\n};\n","import {\n SceneTimeRange,\n EmbeddedScene,\n SceneFlexLayout,\n SceneFlexItem,\n SceneControlsSpacer,\n SceneRefreshPicker,\n SceneTimePicker,\n QueryVariable,\n SceneVariableSet,\n VariableValueSelectors,\n} from '@grafana/scenes';\nimport { getBandwidthPanel } from './panels/bandwidth';\nimport { getTpsPanel } from './panels/tps';\nimport { getBandwidthByCGPanel } from './panels/bandwidth-cg';\nimport { INFLUXDB_DATASOURCES_REF } from '../../constants';\n\nexport function getDeliveryServiceScene() {\n const timeRange = new SceneTimeRange({\n from: 'now-6h',\n to: 'now',\n });\n\n const deliveryService = new QueryVariable({\n name: 'deliveryservice',\n datasource: INFLUXDB_DATASOURCES_REF.DELIVERYSERVICE_STATS,\n query: 'SHOW TAG VALUES ON \"deliveryservice_stats\" FROM \"monthly\".\"kbps\" with key = \"deliveryservice\"',\n });\n\n return new EmbeddedScene({\n $timeRange: timeRange,\n $variables: new SceneVariableSet({\n variables: [deliveryService],\n }),\n body: new SceneFlexLayout({\n direction: 'column',\n children: [\n new SceneFlexItem({\n minHeight: 300,\n body: getBandwidthPanel(),\n }),\n new SceneFlexItem({\n minHeight: 300,\n body: getTpsPanel(),\n }),\n new SceneFlexItem({\n minHeight: 300,\n body: getBandwidthByCGPanel(),\n }),\n ],\n }),\n controls: [\n new VariableValueSelectors({}),\n new SceneControlsSpacer(),\n new SceneTimePicker({ isOnCanvas: true }),\n new SceneRefreshPicker({\n intervals: ['5s', '1m', '1h'],\n isOnCanvas: true,\n }),\n ],\n });\n}\n","import React, { useMemo } from 'react';\nimport { SceneApp, SceneAppPage } from '@grafana/scenes';\nimport { ROUTES } from '../../constants';\nimport { prefixRoute } from '../../utils/utils.routing';\nimport { getDeliveryServiceScene } from './scene';\n\nconst getScene = () =>\n new SceneApp({\n pages: [\n new SceneAppPage({\n title: 'Delivery Services',\n url: prefixRoute(`${ROUTES.DeliveryService}`),\n hideFromBreadcrumbs: true,\n getScene: getDeliveryServiceScene,\n }),\n ],\n });\n\nexport const DeliveryServicePage = () => {\n const scene = useMemo(() => getScene(), []);\n\n return ;\n};\n","import { SceneQueryRunner, PanelBuilders } from '@grafana/scenes';\nimport { INFLUXDB_DATASOURCES_REF } from '../../../constants';\n\nexport const getBandwidthPanel = () => {\n const cacheGroupBandwidthQuery = {\n refId: 'A',\n query:\n 'SELECT sum(value) FROM \"monthly\".\"bandwidth.1min\" WHERE \"cachegroup\" = \\'$cachegroup\\' AND $timeFilter GROUP BY time(60s), cachegroup',\n rawQuery: true,\n resultFormat: 'time_series',\n alias: '$tag_cachegroup',\n };\n\n const qr = new SceneQueryRunner({\n datasource: INFLUXDB_DATASOURCES_REF.CACHE_STATS,\n queries: [cacheGroupBandwidthQuery],\n });\n\n return PanelBuilders.timeseries()\n .setTitle('Total bandwidth (stacked)')\n .setData(qr)\n .setCustomFieldConfig('fillOpacity', 20)\n .setOption('legend', { showLegend: true, calcs: ['max'] })\n .setUnit('Kbits')\n .build();\n};\n","import { SceneQueryRunner, PanelBuilders } from '@grafana/scenes';\nimport { INFLUXDB_DATASOURCES_REF } from '../../../constants';\n\nexport const getConnectionsPanel = () => {\n const connectionQuery = {\n refId: 'A',\n query:\n 'SELECT mean(\"value\") FROM \"monthly\".\"connections.1min\" WHERE (\"cachegroup\" = \\'$cachegroup\\') AND $timeFilter GROUP BY time($interval), \"hostname\" fill(null)',\n rawQuery: true,\n resultFormat: 'time_series',\n };\n\n const qr = new SceneQueryRunner({\n datasource: INFLUXDB_DATASOURCES_REF.CACHE_STATS,\n queries: [connectionQuery],\n });\n\n return PanelBuilders.timeseries()\n .setTitle('Connections (stacked)')\n .setCustomFieldConfig('fillOpacity', 20)\n .setData(qr)\n .setOption('legend', { showLegend: true, calcs: ['max'] })\n .setCustomFieldConfig('spanNulls', true)\n .build();\n};\n","import {\n SceneTimeRange,\n EmbeddedScene,\n SceneFlexLayout,\n SceneFlexItem,\n SceneControlsSpacer,\n SceneRefreshPicker,\n SceneTimePicker,\n QueryVariable,\n SceneVariableSet,\n VariableValueSelectors,\n} from '@grafana/scenes';\nimport { getBandwidthPanel } from './panels/bandwidth';\nimport { getConnectionsPanel } from './panels/connections';\nimport { INFLUXDB_DATASOURCES_REF } from '../../constants';\n\nexport function getCacheGroupScene() {\n const timeRange = new SceneTimeRange({\n from: 'now-6h',\n to: 'now',\n });\n\n const cachegroup = new QueryVariable({\n name: 'cachegroup',\n datasource: INFLUXDB_DATASOURCES_REF.CACHE_STATS,\n query: 'SHOW TAG VALUES ON \"cache_stats\" FROM \"monthly\".\"bandwidth\" with key = \"cachegroup\"',\n });\n\n return new EmbeddedScene({\n $timeRange: timeRange,\n $variables: new SceneVariableSet({\n variables: [cachegroup],\n }),\n body: new SceneFlexLayout({\n direction: 'column',\n children: [\n new SceneFlexItem({\n minHeight: 300,\n body: getBandwidthPanel(),\n }),\n new SceneFlexItem({\n minHeight: 300,\n body: getConnectionsPanel(),\n }),\n ],\n }),\n controls: [\n new VariableValueSelectors({}),\n new SceneControlsSpacer(),\n new SceneTimePicker({ isOnCanvas: true }),\n new SceneRefreshPicker({\n intervals: ['5s', '1m', '1h'],\n isOnCanvas: true,\n }),\n ],\n });\n}\n","import React, { useMemo } from 'react';\nimport { SceneApp, SceneAppPage } from '@grafana/scenes';\nimport { ROUTES } from '../../constants';\nimport { prefixRoute } from '../../utils/utils.routing';\nimport { getCacheGroupScene } from './scene';\n\nconst getScene = () =>\n new SceneApp({\n pages: [\n new SceneAppPage({\n title: 'Cache Groups',\n url: prefixRoute(`${ROUTES.CacheGroup}`),\n hideFromBreadcrumbs: true,\n getScene: getCacheGroupScene,\n }),\n ],\n });\n\nexport const CacheGroupPage = () => {\n const scene = useMemo(() => getScene(), []);\n\n return ;\n};\n","import React from 'react';\nimport { Redirect, Route, Switch } from 'react-router-dom';\nimport { prefixRoute } from '../../utils/utils.routing';\nimport { ROUTES } from '../../constants';\nimport { ServerPage } from '../../pages/Server';\nimport { DeliveryServicePage } from '../../pages/DeliveryService';\nimport { CacheGroupPage } from '../../pages/CacheGroup';\n\nexport const Routes = () => {\n return (\n \n \n \n \n \n \n );\n};\n","import React from 'react';\nimport { AppRootProps } from '@grafana/data';\nimport { PluginPropsContext } from '../../utils/utils.plugin';\nimport { Routes } from '../Routes';\n\nexport class App extends React.PureComponent {\n render() {\n return (\n \n \n \n );\n }\n}\n","import { AppPlugin } from '@grafana/data';\nimport { App } from './components/App';\n\nexport const plugin = new AppPlugin<{}>().setRootPage(App);\n"],"names":["r","e","t","f","n","Array","isArray","length","clsx","arguments","HASH_UNDEFINED","COMPARE_PARTIAL_FLAG","COMPARE_UNORDERED_FLAG","MAX_SAFE_INTEGER","argsTag","arrayTag","asyncTag","boolTag","dateTag","errorTag","funcTag","genTag","mapTag","numberTag","nullTag","objectTag","promiseTag","proxyTag","regexpTag","setTag","stringTag","undefinedTag","weakMapTag","arrayBufferTag","dataViewTag","reIsHostCtor","reIsUint","typedArrayTags","freeGlobal","g","Object","freeSelf","self","root","Function","freeExports","exports","nodeType","freeModule","module","moduleExports","freeProcess","process","nodeUtil","binding","nodeIsTypedArray","isTypedArray","arraySome","array","predicate","index","mapToArray","map","result","size","forEach","value","key","setToArray","set","uid","func","transform","arrayProto","prototype","funcProto","objectProto","coreJsData","funcToString","toString","hasOwnProperty","maskSrcKey","exec","keys","IE_PROTO","nativeObjectToString","reIsNative","RegExp","call","replace","Buffer","undefined","Symbol","Uint8Array","propertyIsEnumerable","splice","symToStringTag","toStringTag","nativeGetSymbols","getOwnPropertySymbols","nativeIsBuffer","isBuffer","nativeKeys","arg","DataView","getNative","Map","Promise","Set","WeakMap","nativeCreate","dataViewCtorString","toSource","mapCtorString","promiseCtorString","setCtorString","weakMapCtorString","symbolProto","symbolValueOf","valueOf","Hash","entries","this","clear","entry","ListCache","MapCache","SetCache","values","__data__","add","Stack","data","assocIndexOf","eq","baseGetTag","isOwn","tag","unmasked","getRawTag","objectToString","baseIsArguments","isObjectLike","baseIsEqual","other","bitmask","customizer","stack","object","equalFunc","objIsArr","othIsArr","objTag","getTag","othTag","objIsObj","othIsObj","isSameTag","equalArrays","byteLength","byteOffset","buffer","name","message","convert","isPartial","stacked","get","equalByTag","objIsWrapped","othIsWrapped","objUnwrapped","othUnwrapped","objProps","getAllKeys","objLength","skipCtor","objValue","othValue","compared","objCtor","constructor","othCtor","equalObjects","baseIsEqualDeep","arrLength","othLength","seen","arrValue","othIndex","has","push","keysFunc","symbolsFunc","offset","arrayPush","baseGetAllKeys","getSymbols","getMapData","type","getValue","isObject","isMasked","isFunction","test","baseIsNative","pop","pairs","LARGE_ARRAY_SIZE","resIndex","symbol","arrayFilter","isIndex","ArrayBuffer","resolve","Ctor","ctorString","isArguments","isLength","baseUnary","inherited","isArr","isArg","isBuff","isType","skipIndexes","iteratee","baseTimes","String","arrayLikeKeys","baseKeys","ReactPropTypesSecret","emptyFunction","emptyFunctionWithReset","resetWarningCache","shim","props","propName","componentName","location","propFullName","secret","err","Error","getShim","isRequired","ReactPropTypes","bigint","bool","number","string","any","arrayOf","element","elementType","instanceOf","node","objectOf","oneOf","oneOfType","shape","exact","checkPropTypes","PropTypes","defineProperty","enumerable","_DraggableCore","default","React","obj","nodeInterop","__esModule","cache","_getRequireWildcardCache","newObj","hasPropertyDescriptor","getOwnPropertyDescriptor","desc","_interopRequireWildcard","_propTypes","_interopRequireDefault","_reactDom","_clsx","_domFns","_positionFns","_shims","_log","cacheBabelInterop","cacheNodeInterop","_extends","assign","bind","target","i","source","apply","_defineProperty","input","hint","prim","toPrimitive","res","TypeError","_toPrimitive","_toPropertyKey","configurable","writable","Draggable","Component","getDerivedStateFromProps","_ref","_ref2","position","prevPropsPosition","x","y","super","coreData","onStart","createDraggableData","setState","dragging","dragged","state","uiData","newState","slackX","slackY","bounds","newStateX","newStateY","getBoundPosition","deltaX","deltaY","onDrag","onStop","Boolean","defaultPosition","isElementSVG","console","warn","componentDidMount","window","SVGElement","findDOMNode","componentWillUnmount","_this$props$nodeRef$c","_this$props","nodeRef","current","render","axis","children","defaultClassName","defaultClassNameDragging","defaultClassNameDragged","positionOffset","scale","draggableCoreProps","style","svgTransform","draggable","validPosition","transformOpts","canDragX","canDragY","createSVGTransform","createCSSTransform","className","createElement","onDragStart","onDragStop","cloneElement","Children","only","propTypes","left","right","top","bottom","dontSetMe","defaultProps","eventsFor","start","move","stop","dragEventFor","DraggableCore","NaN","onMouseDown","allowAnyClick","button","thisNode","ownerDocument","body","disabled","defaultView","Node","handle","matchesSelectorAndParentsTo","cancel","preventDefault","touchIdentifier","getTouchIdentifier","getControlPosition","coreEvent","createCoreData","mounted","enableUserSelectHack","addUserSelectStyles","lastX","lastY","addEvent","handleDrag","handleDragStop","grid","snapToGrid","MouseEvent","event","document","createEvent","initMouseEvent","removeUserSelectStyles","removeEvent","handleDragStart","onTouchStart","passive","_this$props2","onMouseUp","onTouchEnd","offsetParent","addClassName","el","handler","inputOptions","options","capture","addEventListener","attachEvent","doc","styleEl","getElementById","id","innerHTML","getElementsByTagName","appendChild","controlPos","translation","getTranslation","_getPrefix","browserPrefixToKey","getTouch","identifier","targetTouches","findInArray","changedTouches","innerHeight","height","clientHeight","computedStyle","getComputedStyle","int","paddingTop","paddingBottom","innerWidth","width","clientWidth","paddingLeft","paddingRight","matchesSelector","selector","baseNode","parentNode","offsetXYFromParent","evt","offsetParentRect","getBoundingClientRect","clientX","scrollLeft","clientY","scrollTop","outerHeight","borderTopWidth","borderBottomWidth","outerWidth","borderLeftWidth","borderRightWidth","removeClassName","removeEventListener","detachEvent","selection","empty","getSelection","removeAllRanges","matchesSelectorFunc","method","unitSuffix","concat","defaultX","defaultY","classList","match","remove","browserPrefixToStyle","prop","prefix","toLowerCase","getPrefix","prefixes","_window$document","documentElement","str","out","shouldCapitalize","toUpperCase","kebabToTitleCase","isStart","isNum","cloneBounds","ownerWindow","boundNode","querySelector","HTMLElement","boundNodeEl","nodeStyle","boundNodeStyle","offsetLeft","marginLeft","offsetTop","marginTop","marginRight","marginBottom","Math","min","max","draggableCore","touchObj","pendingX","pendingY","round","callback","a","parseInt","num","isNaN","_typeof","iterator","_react","_reactDraggable","_reactResizable","_utils","_calculateUtils","_ReactGridLayoutPropTypes","ownKeys","enumerableOnly","symbols","filter","sym","_objectSpread","getOwnPropertyDescriptors","defineProperties","_defineProperties","descriptor","_setPrototypeOf","o","p","setPrototypeOf","__proto__","_assertThisInitialized","ReferenceError","_getPrototypeOf","getPrototypeOf","GridItem","_React$Component","subClass","superClass","create","_inherits","Constructor","protoProps","Derived","hasNativeReflectConstruct","_super","Reflect","construct","sham","Proxy","_isNativeReflectConstruct","Super","NewTarget","_possibleConstructorReturn","_this","instance","_classCallCheck","_len","args","_key","resizing","createRef","transformScale","newPosition","parentRect","clientRect","cLeft","pLeft","cTop","pTop","_calcXY","calcXY","getPositionParams","w","h","isBounded","containerWidth","positionParams","_this$props3","margin","rowHeight","bottomBoundary","calcGridItemWHPx","clamp","colWidth","calcGridColWidth","rightBoundary","_calcXY2","_ref3","_this$props4","_this$state$dragging","_calcXY3","callbackData","onResizeHandler","nextProps","nextState","droppingPosition","oldPosition","calcGridItemPosition","fastPositionEqual","useCSSTransforms","moveDroppingItem","prevProps","elementRef","prevDroppingPosition","shouldDrag","cols","containerPadding","maxRows","pos","_this$props5","usePercentages","setTransform","setTopLeft","perc","child","isDraggable","isResizable","_this$props6","minW","minH","maxW","maxH","resizeHandles","resizeHandle","maxWidth","mins","maxes","minConstraints","maxConstraints","Infinity","Resizable","draggableOpts","onResizeStop","onResizeStart","onResize","_ref4","handlerName","_this$props7","_this$props8","_calcWH","calcWH","_this$props9","newChild","ref","static","dropping","cssTransforms","createStyle","mixinResizable","mixinDraggable","resizeHandleAxesType","resizeHandleType","_lodash","_GridItem","_unsupportedIterableToArray","minLen","_arrayLikeToArray","slice","from","arr","len","arr2","layoutClassName","isFirefox","navigator","userAgent","ReactGridLayout","staticProps","activeDrag","layout","synchronizeLayoutWithChildren","compactType","allowOverlap","oldDragItem","oldLayout","oldResizeItem","droppingDOMNode","l","getLayoutItem","cloneLayoutItem","preventCollision","placeholder","moveElement","compact","newLayout","onLayoutMaybeChanged","_ref5","_this$state","_withLayoutItem","withLayoutItem","hasCollisions","collisions","getAllCollisions","layoutItem","leastX","leastY","Number","isFinite","_withLayoutItem2","_arrayWithHoles","_i","_s","_e","_arr","_n","_d","next","done","_iterableToArrayLimit","_nonIterableRest","_slicedToArray","_ref6","_this$state2","_e$nativeEvent$target","stopPropagation","nativeEvent","contains","droppingItem","onDropDragOver","onDragOverResult","removeDroppingPlaceholder","finalDroppingItem","_e$nativeEvent","layerX","layerY","_this$state$droppingP","calculatedPosition","_arrayWithoutHoles","iter","_iterableToArray","_nonIterableSpread","dragEnterCounter","item","find","onDrop","prevState","newLayoutBase","propsLayout","childrenEqual","fastRGLPropsEqual","autoSize","nbRow","containerPaddingY","onLayoutChange","isDroppingItem","draggableCancel","draggableHandle","_this$state3","resizable","resizeHandlesOptions","bounded","_this2","isDroppable","innerRef","mergedClassName","mergedStyle","containerHeight","noop","onDragLeave","onDragEnter","onDragOver","processGridItem","verticalCompact","_default","_responsiveUtils","_ReactGridLayout","_excluded","getIndentationValue","param","breakpoint","ResponsiveReactGridLayout","generateInitialState","layouts","_cols","findOrGenerateResponsiveLayout","breakpoints","getBreakpointFromWidth","colNo","getColsFromBreakpoint","onWidthChange","newBreakpoint","lastBreakpoint","newCols","newLayouts","cloneLayout","onBreakpointChange","excluded","sourceKeys","indexOf","_objectWithoutPropertiesLoose","sourceSymbolKeys","_objectWithoutProperties","validateLayout","lg","md","sm","xs","xxs","gridUnits","colOrRowSize","marginPx","lowerBound","upperBound","ComposedComponent","_class","WidthProvider","offsetWidth","onWindowResize","measureBeforeMount","rest","b","isEqualImpl","breakpointsSorted","sortBreakpoints","breakpointsAbove","correctBounds","sorted","matching","breakpointName","sort","c","collides","compactItem","getFirstCollision","getStatics","modifyLayout","moveElementAwayFromCollision","translate","WebkitTransform","MozTransform","msTransform","OTransform","sortLayoutItems","sortLayoutItemsByColRow","sortLayoutItemsByRowCol","initialLayout","exists","isProduction","_grid","correctedLayout","itemKey","cb","DEBUG","bottomY","moved","l1","l2","compareWith","heightWidth","resolveCompactionCollision","moveToCoord","sizeProp","otherItem","fullLayout","compactH","collidesWith","isUserAction","log","oldX","oldY","reverse","collision","itemToMove","compactV","fakeItem","contextName","subProps","j","_console","utils","Responsive","handleRefs","lastHandleRect","slack","_proto","resetData","runConstraints","lockAspectRatio","ratio","deltaW","deltaH","abs","oldW","oldH","slackW","slackH","resizeHandler","axisV","axisH","handleRect","_this2$runConstraints","dimensionsChanged","persist","renderResizeHandle","handleAxis","_this3","handleSize","_this3$handleRefs$han","resizableProps","_Resizable","_propTypes2","ResizableBox","propsWidth","propsHeight","_PropTypes$number","_len2","_key2","_PropTypes$number2","__WEBPACK_EXTERNAL_MODULE__644__","__WEBPACK_EXTERNAL_MODULE__305__","__WEBPACK_EXTERNAL_MODULE__545__","__WEBPACK_EXTERNAL_MODULE__388__","__WEBPACK_EXTERNAL_MODULE__980__","__WEBPACK_EXTERNAL_MODULE__650__","__WEBPACK_EXTERNAL_MODULE__729__","__WEBPACK_EXTERNAL_MODULE__814__","__WEBPACK_EXTERNAL_MODULE__177__","__webpack_module_cache__","__webpack_require__","moduleId","cachedModule","loaded","__webpack_modules__","getter","d","definition","globalThis","nmd","paths","PluginPropsContext","PLUGIN_BASE_URL","pluginJson","ROUTES","INFLUXDB_DATASOURCES_REF","CACHE_STATS","DELIVERYSERVICE_STATS","DAILY_STATS","TELEGRAF","prefixRoute","route","__defProp","__getOwnPropSymbols","__hasOwnProp","__propIsEnum","__defNormalProp","__spreadValues","getUrlWithAppState","path","preserveParams","paramsCopy","locationService","getSearchObject","includes","urlUtil","renderUrl","locationUtil","assureBaseUrl","renderSceneComponentWithRouteProps","sceneObject","routeProps","model","runtimePanelPlugins","randomUUID","crypto","getRandomValues","rnds8","rng","byteToHex","buf","rnds","random","unsafeStringify","SceneComponentWrapper","_a","_a2","_b","otherProps","exclude","__objRest","EmptyRenderer","activated","setActivated","useEffect","activate","_","SceneObjectStateChangedEvent","BusEventWithPayload","UserActionEvent","__accessCheck","member","msg","SceneObjectRef","WeakSet","__privateAdd","_isActive","_activationHandlers","_deactivationHandlers","_subs","Subscription","_refCount","_events","EventBusSrv","_state","freeze","_setParent","isActive","parent","_parent","variableDependency","_variableDependency","urlSync","_urlSync","forEachChild","subscribeToState","subscribe","payload","changedObject","subscribeToEvent","eventType","update","_handleActivationOfChangedStateProps","publishEvent","partialUpdate","$data","_handleChangedStateActivation","$variables","$timeRange","oldValue","newValue","deactivationHandler","delete","bubble","publish","getRoot","_internalActivate","$behaviors","behavior","called","error","_internalDeactivate","removeAllListeners","unsubscribe","useState","stateAtFirstRender","s","useSceneObjectState","forceRender","clone","withState","clonedState","sceneState","propValue","newArray","cloneSceneObjectState","cloneSceneObject","addActivationHandler","getRef","getClosest","extract","extracted","curSceneObject","runtimeDataSources","VariableRefresh","VariableRefresh2","LoadingState2","DashboardCursorSync","DashboardCursorSync2","Done","series","timeRange","getDefaultTimeRange","SceneObjectUrlSyncConfig","_sceneObject","_options","_keys","getKeys","getUrlState","updateFromUrl","INTERVAL_STRING_REGEX","parseUrlParam","utcValue","toUtc","isValid","toISOString","epoch","to","timeZone","fiscalYearStartMonth","delay","hasDelay","dateMath","parse","raw","SceneTimeRange","getTimeZone","UNSAFE_nowDelay","onTimeRangeChange","updateToEval","onTimeZoneChange","onRefresh","_onActivate","timeZoneSource","getTimeZoneSource","weekStart","setWeekStart","config","bootData","user","EmptyDataNode","getResultsStream","origin","of","DefaultTimeRange","EmptyVariableSet","variables","getByName","isVariableLoadingOrWaitingToUpdate","variable","getTimeRange","VariableFormatID","VariableFormatID2","SceneVariableValueChangedEvent","isCustomVariableValue","scopedVarsVariable","fieldAccessorCache","getFieldAccessor","fieldPath","property","ScopedVarsVariable","realValue","getValueText","text","formatRegistry","Registry","Lucene","description","formatter","luceneEscape","val","join","Raw","Regex","escapeRegex","escapedValues","Pipe","Distributed","CSV","HTML","textUtil","escapeHtml","JSON","stringify","PercentEncode","encodeURIComponentStrict","SingleQuote","regExp","v","strVal","DoubleQuote","SQLString","sqlStringFormatter","Date","nrValue","dateTime","format","Glob","Text","_args","QueryParam","formatQueryParameter","UriEncode","encodeURIStrict","replaceSpecialCharactersToASCII","encodeURIComponent","encodeURI","charCodeAt","SQL_ESCAPE_MAP","ALL_VARIABLE_TEXT","ALL_VARIABLE_VALUE","AUTO_VARIABLE_VALUE","VARIABLE_REGEX","lookupVariable","layers","deactivationHandlers","layer","getData","findObjectInternal","scene","check","alreadySearchedChild","shouldSearchUp","found","maybe","SkipFormattingValue","_value","TimeFromAndToMacro","dateTimeFormat","IntervalMacro","request","intervalMs","interval","collectAllVariables","record","skipUrlSync","fallbackDisplayProcessor","getDisplayProcessor","UrlStateFormatter","_urlQueryParams","params","split","allParams","URLSearchParams","includeOnly","macrosIndex","DataLinkBuiltInVars","includeVars","allVars","keepTime","urlState","toUrlParams","_match","_scopedVars","dataContext","__dataContext","frame","rowIndex","field","calculatedValue","numeric","formattedValueToString","timeField","fields","FieldType","time","display","refId","getFieldDisplayValuesProxy","frameIndex","getFrameDisplayName","frames","getFieldDisplayName","labels","__values","formatLabels","getTemplateProxyForField","getLocation","subUrl","appSubUrl","search","pathname","login","email","orgName","orgId","isVariableValueEqual","isEqual","safeStringifyValue","renderPrometheusLabelFilters","filters","operator","escapeLabelValueInExactSelector","RE2_METACHARACTERS","escapeLokiRegexp","renderFilter","labelValue","getVariables","getLayout","isSceneLayout","getDataLayers","localOnly","collected","interpolate","scopedVars","lastIndex","var1","var2","fmt2","var3","fmt3","fmt","scopedVar","getSceneVariableForScopedVar","lookupFormatVariable","formatNameOrFn","multi","isMulti","includeAll","getIfExists","formatValue","sceneInterpolator","hasVariableDependencyInLoadingState","getNames","findObject","getAncestor","ancestorType","_dependencies","scanCount","defaultHandlerReferencedVariableValueChanged","_statePaths","statePaths","hasDependencyOn","variableUpdatesCompleted","changedVariables","deps","dependencyChanged","onVariableUpdatesCompleted","onReferencedVariableValueChanged","scanStateForDependencies","setPaths","variableNames","extractVariablesFrom","matches","matchAll","variableName","CursorSync","sync","Off","getEventsBus","panel","PanelContextEventBus","getEventsScope","_source","_eventsOrigin","getStream","Observable","observer","sub","pipe","newScopedBus","async","datasource","runtimeDataSource","query","getDataSourceSrv","_values","recordCurrentDependencyValuesForSceneObject","clearValues","hasValues","recordCurrentValue","hasRecordedValue","hasValueChanged","hasDependenciesChanged","extendStatics","__extends","__","m","__read","ar","__spreadArray","pack","SuppressedError","ctorFunc","UnsubscriptionError","errors","arrRemove","initialTeardown","closed","_parentage","_finalizers","e_1","e_2","_parentage_1","_parentage_1_1","e_1_1","return","initialFinalizer","_finalizers_1","_finalizers_1_1","finalizer","execFinalizer","e_2_1","teardown","_hasParent","_addParent","_removeParent","EMPTY","isSubscription","onUnhandledError","onStoppedNotification","useDeprecatedSynchronousErrorHandling","useDeprecatedNextContext","timeoutProvider","setTimeout","timeout","delegate","clearTimeout","COMPLETE_NOTIFICATION","createNotification","kind","context","Subscriber","destination","isStopped","EMPTY_OBSERVER","complete","SafeSubscriber","handleStoppedNotification","nextNotification","_next","_error","_complete","_bind","fn","thisArg","ConsumerObserver","partialObserver","handleUnhandledError","observerOrNext","context_1","errorThrown","reportUnhandledError","notification","subscriber","OperatorSubscriber","onNext","onComplete","onError","onFinalize","shouldUnsubscribe","closed_1","observable","identity","getPromiseCtor","promiseCtor","_subscribe","lift","isObserver","isRoot","errorContext","_trySubscribe","sink","reject","operations","fns","reduce","prev","toPromise","logger","grafanaSceneLogging","isPublicDashboardView","PREVIOUS_PERIOD_VALUE","NO_PERIOD_VALUE","PREVIOUS_PERIOD_COMPARE_OPTION","label","NO_COMPARE_OPTION","DEFAULT_COMPARE_OPTIONS","SceneTimeRangeCompare","compareOptions","sceneTimeRange","getCompareOptions","stateUpdate","diffDays","ceil","diff","matchIndex","findIndex","rangeUtil","intervalToMs","onCompareWithChanged","onClearCompare","getCompareTimeRange","compareFrom","compareTo","diffMs","subtract","getStyles","theme","previewButton","css","border","colors","secondary","color","opacity","styles","useStyles2","previousCompare","setPreviousCompare","previousValue","value2","enabled","onClick","ButtonGroup","ToolbarButton","variant","tooltip","Checkbox","ButtonSelect","onChange","isOpen","getCompareSeriesRefId","timeShiftQueryResponseOperator","meta","timeCompare","isTimeShiftQuery","mode","fixedColor","palette","gray60","isSceneObject","isDataRequestEnricher","originalGetAdhocFilters","allActiveFilterSets","SceneQueryRunner","initialState","_variableValueRecorder","_results","ReplaySubject","__sceneObject","prepareRequests","ds","comparer","getTimeCompare","minInterval","queries","secondaryRequest","app","requestId","timezone","panelId","range","targets","cloneDeep","maxDataPoints","getMaxDataPoints","startTime","now","liveStreaming","rangeRaw","sourceRunner","enrichDataRequest","_adhocFilterSet","lowerIntervalLimit","norm","calculateInterval","__interval","__interval_ms","primaryTimeRange","secondaryTimeRange","onDataReceived","preProcessedData","preProcessPanelData","dataWithLayersApplied","_combineDataLayers","hasFetchedData","_hasFetchedData","Loading","_resultAnnotations","annotations","runQueries","runWithTimeRange","shouldRunQueriesOnActivate","_onDeactivate","_handleDataLayers","dataLayers","observables","resultsMap","_dataLayersSub","merge","mergeAll","_onLayersReceived","results","dataLayerFilter","alertState","alertStates","layerKeys","layerKey","topic","DataTopic","Annotations","rows","frameIdx","panelIdField","sourceField","sourceFilter","ids","processed","frameLength","filterAnnotations","frameView","DataFrameView","row","baseStateUpdate","_layerAnnotations","_variablesThatHaveChanged","maxDataPointsFromWidth","_containerWidth","_isWaitingForVariables","_isDataTimeRangeStale","stateTimeRange","dataTimeRange","unix","_querySub","_adhocFilterSub","setContainerWidth","isDataReadyToDisplay","cancelQuery","runRequest","getRunRequest","findFirstDatasource","findAndSubscribeToAdhocFilters","forkJoin","toDataQueryError","_setNoDataState","dsUid","findActiveAdHocFilterSetByUid","applyMode","Components","Breadcrumbs","breadcrumb","title","TimePicker","openButton","fromField","toField","applyTimeRange","calendar","closeButton","absoluteTimeRangeTitle","DataSourcePermissions","form","roleType","rolePicker","permissionLevel","DataSource","TestData","QueryTab","scenarioSelectContainer","scenarioSelect","noise","seriesCount","spread","startValue","drop","DataSourceHttpSettings","urlInput","Jaeger","traceIDInput","Prometheus","configPage","exemplarsAddButton","internalLinkSwitch","exemplarMarker","Menu","MenuComponent","MenuGroup","MenuItem","SubMenu","container","icon","Panels","Panel","headerItems","menuItems","menu","containerByTitle","headerCornerInfo","loadingBar","HoverWidget","dragIcon","Visualization","Graph","VisualizationTab","legendSection","Legend","legendItemAlias","showLegendSwitch","xAxis","BarGauge","valueV2","PieChart","svgSlice","Table","header","footer","VizLegend","seriesName","Drawer","General","expand","contract","close","rcContentWrapper","PanelEditor","content","OptionsPane","select","fieldLabel","DataPane","applyButton","toggleVizPicker","toggleVizOptions","toggleTableView","measureButton","PanelInspector","Data","Stats","Json","Query","refreshButton","jsonObjectKeys","Tab","active","RefreshPicker","runButton","intervalButton","runButtonV2","intervalButtonV2","queryInspectorButton","queryHistoryButton","addQuery","QueryHistory","queryText","QueryEditorRows","QueryEditorRow","actionButton","AlertTab","Alert","alert","severity","alertV2","TransformTab","newTransform","transformationEditor","transformationEditorDebugger","Transforms","card","Reduce","modeLabel","calculationsLabel","SpatialOperations","actionLabel","locationLabel","autoOption","coords","option","latitudeFieldLabel","longitudeFieldLabel","geohash","geohashFieldLabel","lookup","lookupFieldLabel","gazetteerFieldLabel","searchInput","NavBar","Configuration","Toggle","Reporting","NavMenu","NavToolbar","PageToolbar","itemButton","QueryEditorToolbarItem","BackButton","backArrow","OptionsGroup","group","toggle","PluginVisualization","Select","singleValue","FieldConfigEditor","OverridesConfigEditor","FolderPicker","containerV2","ReadonlyFolderPicker","DataSourcePicker","inputV2","TimeZonePicker","WeekStartPicker","TraceViewer","spanBar","QueryField","QueryBuilder","queryPatterns","labelSelect","valueSelect","matchOperatorSelect","ValuePicker","Search","section","sectionV2","items","itemsV2","cards","collapseFolder","sectionId","expandFolder","dashboardItem","dashboardItems","dashboardCard","folderHeader","folderName","folderContent","DashboardLinks","dropDown","link","LoadingIndicator","CallToActionCard","buttonV2","DataLinksContextMenu","singleLink","CodeEditor","DashboardImportPage","textarea","submit","ImportDashboardForm","PanelAlertTabContent","VisualizationPreview","ColorSwatch","DashboardRow","UserProfile","profileSaveButton","preferencesSaveButton","orgsTable","sessionsTable","FileUpload","inputField","fileNameSpan","DebugOverlay","wrapper","OrgRolePicker","AnalyticsToolbarButton","Variables","variableOption","annotationsTypeInput","annotationsChoosePanelInput","selectors","pages","Login","url","username","password","skip","Home","readOnly","saveAndTest","DataSources","dataSources","dataSourceName","EditDataSource","dataSourceUid","settings","AddDataSource","dataSourcePlugins","pluginName","dataSourcePluginsV2","ConfirmModal","AddDashboard","addNewPanel","addNewRow","addNewPanelLibrary","Dashboard","DashNav","nav","navV2","publicDashboardTag","submenu","submenuItem","submenuItemLabels","submenuItemValueDropDownValueLinkTexts","submenuItemValueDropDownDropDown","submenuItemValueDropDownOptionTexts","annotationsWrapper","annotationLabel","annotationToggle","Settings","Actions","deleteDashBoard","sectionItems","saveDashBoard","saveAsDashBoard","List","addAnnotationCTA","addAnnotationCTAV2","NewAnnotation","panelFilterSelect","showInLabel","previewInDashboard","addVariableCTA","addVariableCTAV2","newButton","table","tableRowNameFields","tableRowDefinitionFields","tableRowArrowUpButtons","tableRowArrowDownButtons","tableRowDuplicateButtons","tableRowRemoveButtons","Edit","headerLink","modeLabelNew","modeLabelEdit","generalNameInput","generalNameInputV2","generalTypeSelect","generalTypeSelectV2","generalLabelInput","generalLabelInputV2","generalHideSelect","generalHideSelectV2","selectionOptionsMultiSwitch","selectionOptionsIncludeAllSwitch","selectionOptionsCustomAllInput","selectionOptionsCustomAllInputV2","previewOfValuesOption","submitButton","QueryVariable","queryOptionsDataSourceSelect","queryOptionsRefreshSelect","queryOptionsRefreshSelectV2","queryOptionsRegExInput","queryOptionsRegExInputV2","queryOptionsSortSelect","queryOptionsSortSelectV2","queryOptionsQueryInput","valueGroupsTagsEnabledSwitch","valueGroupsTagsTagsQueryInput","valueGroupsTagsTagsValuesQueryInput","ConstantVariable","constantOptionsQueryInput","constantOptionsQueryInputV2","DatasourceVariable","datasourceSelect","TextBoxVariable","textBoxOptionsQueryInput","textBoxOptionsQueryInputV2","CustomVariable","customValueInput","IntervalVariable","intervalsValueInput","marker","Dashboards","dashboards","SaveDashboardAsModal","newName","save","SaveDashboardModal","saveVariables","saveTimerange","SharePanelModal","linkToRenderedImage","ShareDashboardModal","shareButton","PublicDashboard","WillBePublicCheckbox","LimitedDSCheckbox","CostIncreaseCheckbox","PauseSwitch","EnableAnnotationsSwitch","CreateButton","DeleteButton","CopyUrlInput","CopyUrlButton","TemplateVariablesWarningAlert","UnsupportedDataSourcesWarningAlert","NoUpsertPermissionsWarningAlert","EnableTimeRangeSwitch","EmailSharingConfiguration","Container","ShareType","EmailSharingInput","EmailSharingInviteButton","EmailSharingList","DeleteEmail","ReshareLink","page","NotAvailable","pausedDescription","RequestViewAccess","recipientInput","Explore","graph","scrollView","SoloPanel","PluginsList","list","listItem","signatureErrorNotice","PluginPage","signatureInfo","disabledInfo","PlaylistForm","itemDelete","BrowseDashbards","checkbox","FolderView","PublicDashboards","ListItem","linkButton","configButton","trashcanButton","UserListPage","tabs","allUsers","orgUsers","publicDashboardsUsers","users","org","admin","publicDashboards","UserListAdminPage","UsersListPage","UsersListPublicDashboardsPage","DashboardsListModal","components","Tooltip","Icon","role","onCancel","ControlsLabel","useTheme2","isVertical","loadingIndicator","isLoading","spacing","errorIndicator","placement","errorIcon","testId","labelElement","verticalLabel","htmlFor","normalIcon","onRemove","IconButton","horizontalLabel","background","isDark","primary","alignItems","padding","fontWeight","typography","fontWeightMedium","fontSize","bodySmall","lineHeight","borderRadius","borderColor","whiteSpace","gap","SceneDataLayerControl","isEnabled","onToggleLayer","elementId","showLoading","containerStyle","InlineSwitch","layersMap","acc","toggleLayer","isHidden","VariableValueSelectors","VariableValueSelectWrapper","hide","VariableHide","hideVariable","verticalContainer","VariableLabel","hideLabel","labelOrName","loading","flexDirection","SceneVariableSet","_variablesToUpdate","_updating","SceneVariableSetVariableDependencyHandler","_handleParentVariableUpdatesCompleted","_handleVariableValueChanged","_refreshTimeRangeBasedVariables","_onStateChanged","_checkForVariablesThatChangedWhileInactive","_variableNeedsUpdate","_updateNextBatch","subscription","oldState","variablesToUpdateCountStart","updating","refresh","onTimeRangeChanged","writeVariableTraceLog","_addDependentVariablesToUpdateQueue","validateAndUpdate","variableToUpdate","_validateAndUpdateCompleted","_handleVariableError","_notifyDependentSceneObjects","variableThatChanged","changedVar","otherVariable","_traverseSceneAndNotify","isAncestorLoading","_variableUpdatesCompleted","_emptySet","VariableValueSelect","onInputChange","onSearchChange","action","allowCustomValue","tabSelectsValue","getOptionsForSelect","changeValueTo","VariableValueSelectMulti","maxVisibleValues","arrayValue","useMemo","uncommittedValue","setUncommittedValue","MultiSelect","noMultiValueWrap","closeMenuOnSelect","isClearable","onBlur","renderSelectForVariable","MultiValueVariable","MultiValueUrlSyncHandler","getValueOptions","updateValueGivenNewOptions","setStateHelper","sceneVarSet","currentValue","currentText","defaultToAll","hasAllValue","validValues","validTexts","defaultState","getDefaultMultiState","matchingOption","textMatch","findOptionMatchingCurrent","allValue","CustomAllValue","findLabelTextForValue","shift","optionByLabel","getKey","urlValue","_variable","trim","regex","isDefault","pluginId","getList","metrics","interpolated","stringToJsRegex","defaultOptionEnabled","hasLegacyVariableSupport","metricFindQuery","hasStandardVariableSupport","getType","VariableSupportType","Standard","variableSupport","toDataQuery","hasCustomVariableSupport","Custom","editor","StandardQueryRunner","_runRequest","getTarget","ensureVariableQueryModelIsADataQuery","getEmptyMetricFindValueObservable","LegacyQueryRunner","searchFilter","mergeMap","LoadingState","CustomQueryRunner","getAllMatches","global","onDashboardLoad","VariableSort","_updateOptionsBasedOnSearchFilter","debounce","lastValueFrom","runner","createQueryVariableRunner","getRequest","take","throwError","panelData","firstValue","isDataFrame","firstValueKey","areMetricFindValues","processedDataFrames","getProcessedDataFrames","valueIndex","textIndex","stringIndex","expandableIndex","fieldName","boolean","expandable","variableRegEx","metricNames","_c","_f","isNumber","valueGroup","groups","textGroup","firstMatch","manyMatches","uniqBy","sortOrder","sortByNumeric","opt","sortByNaturalSort","options2","localeCompare","alphabeticalAsc","sortBy","alphabeticalDesc","numericalAsc","numericalDesc","alphabeticalCaseInsensitiveAsc","toLower","alphabeticalCaseInsensitiveDesc","naturalAsc","naturalDesc","sortVariableValues","metricNamesToVariableValues","catchError","cancelled","__searchFilter","CoreApp","buildMetricTree","depth","chars","letter","nodeName","queryTree","queryIndex","nodeQuery","namesToMatch","startsWith","nameToMatch","pattern","queryMetricTree","VariableValueInput","useCallback","setValue","currentTarget","onKeyDown","AutoSizeInput","minWidth","defaultValue","completeUpdate","Subject","isGettingValues","getValueOptionsCount","delayMs","issueQuery","signalUpdateCompleted","interpolatedQuery","getOptions","issuedQuery","optionsToReturn","intervals","autoStepCount","autoMinInterval","autoEnabled","_onChange","some","getAutoRefreshInteval","minRefreshInterval","shouldPublish","firstOption","AdHocFiltersVariableUrlSyncHandler","toArray","escapeDelimiter","toFilter","isFilter","deserializeUrlToFilters","unescapeDelimiter","parts","condition","AdHocFilterRenderer","keyValue","toOption","valueValue","isKeysOpen","widthWhenOpen","_updateFilter","isValuesOpen","isValuesLoading","onOpenMenu","_getValuesFor","onCloseMenu","keySelect","autoFocus","isKeysLoading","_getKeys","openMenuOnFocus","_removeFilter","Field","_getOperators","Button","removeButton","borderTopRightRadius","borderBottomRightRadius","borderTopLeftRadius","borderBottomLeftRadius","zIndex","borderLeft","AdHocFilterBuilder","_wip","_addWip","AdHocFilterSet","baseFilters","_dataSourceSrv","filterSet","templateSrv","getTemplateSrv","getAdhocFilters","dsName","getInstanceSettings","patchGetAdhocFilters","updatedFilters","currentKey","override","getTagKeysProvider","toSelectableValue","getTagKeys","otherFilters","tagKeyRegexFilter","getTagValuesProvider","getTagValues","filterIcon","VariableHide2","_AdHocFiltersVariable","filterExpression","_updateFilterExpression","expr","urlSyncManager","UrlSyncManager","urlKeyMapper","UniqueUrlKeyMapper","_stateSub","_locationSub","_onLocationUpdate","_lastPath","urlParams","rebuildIndex","_sceneRoot","_syncSceneStateFromUrl","newUrlState","searchParams","getSearch","mappedUpdated","newUrlValue","uniqueKey","getUniqueKey","isUrlValueEqual","getAll","partial","initSync","getHistory","listen","syncFrom","cleanUp","sceneObj","currentState","visitNode","objectsWithKey","address","buildIndex","hit","currentUrlValue","getUrlSyncManager","EmbeddedScene","unsetGlobalScene","activeScene","prevScene","__grafanaSceneContext","setWindowGrafanaSceneContext","initUrlSync","controls","control","flexGrow","minHeight","flexWrap","isBrowser","useLayoutEffect","ResizeObserver","rect","setRect","contentRect","top_1","observe","disconnect","getChromeStatusMessage","pluginLoadingError","relativeWrapper","absoluteWrapper","getAlertStateStyles","ok","success","pending","warning","alerting","displayOverrideRef","isHideSeriesOverride","isSystemOverrideWithRef","createOverride","names","ByNamesMatcherMode","viz","legend","__systemRef","matcher","FieldMatcherID","byNames","properties","getExistingDisplayNames","rule","getDisplayNames","excludeName","unique","getNamesOfHiddenFields","overrides","fieldMatchers","byName","createProperty","FieldColorModeId","Fixed","VizPanel","fieldConfig","defaults","_structureRev","onTitleChange","onDescriptionChange","onDisplayModeChange","displayMode","onOptionsChange","optionsUpdate","nextOptions","mergeWith","srcValue","withDefaults","getPanelOptionsWithDefaults","plugin","_plugin","currentOptions","currentFieldConfig","isAfterPluginChange","onFieldConfigChange","fieldConfigUpdate","nextFieldConfig","scoped","getDescription","interaction","markdown","renderMarkdown","onCancelQuery","onStatusMessageClick","_onSeriesColorChange","currentIndex","overridesCopy","existing","propertyIndex","propertiesCopy","changeSeriesColorConfigFactory","_onSeriesVisibilityChange","_dataWithFieldConfig","displayName","SeriesVisibilityChangeMode","ToggleSelection","override3","override2","nameOfHiddenFields","createExtendedOverride","allFieldsAreExcluded","seriesVisibilityConfigFactory","_onInstanceStateChange","_pluginInstanceState","_onToggleLegendSort","sortKey","legendOptions","sortDesc","_loadPlugin","getPanelPluginFromCache","getPluginImportUtils","loadPanelPluginSync","_pluginLoaded","importPanelPlugin","then","silent","PanelPlugin","PluginType","baseUrl","info","author","links","logos","large","small","screenshots","updated","version","getPanelPluginNotFound","_pluginLoadError","pluginVersion","_UNSAFE_customMigrationHandler","currentVersion","_getPluginVersion","onPanelMigration","skipDataQuery","buildInfo","getPlugin","getPanelContext","_panelContext","buildPanelContext","applyFieldConfig","rawData","pluginDataSupport","dataSupport","fieldConfigRegistry","prevFrames","_prevData","newFrames","structureRev","compareArrayValues","compareDataFrameStructures","applyFieldOverrides","replaceVariables","theme2","eventsScope","eventBus","getAppEvents","Unknown","onSeriesColorChange","onToggleSeriesVisibility","onToggleLegendSort","onInstanceStateChange","extendPanelContext","isSceneGridRow","SceneGridRow","hoverHeader","headerActions","titleItems","dragClass","dragClassCancel","parentLayout","ancestor","itemDraggingDisabled","getDragClass","getDragClassCancel","getDragClasses","dataObject","dataWithFieldConfig","getPanelTimeRange","titleInterpolated","alertStateStyles","PanelComponent","panelMenu","actionsElement","titleItemsElement","titleItem","PanelChrome","TitleItem","cx","AlertState","OK","Pending","Alerting","isReadyToRender","instanceState","legacyPanelId","loadingState","statusMessage","statusMessageOnClick","actions","noPadding","ErrorBoundaryAlert","dependencies","PluginContextProvider","PanelContextProvider","transparent","renderCounter","onChangeTimeRange","addItem","setItems","focus","renderItems","items2","Divider","Item","iconClassName","childItems","subMenu","href","shortcut","SceneGridLayout","createClass","possibleConstructorReturn","windowObject","cancelFrame","requestFrame","clearTimeoutFn","setTimeoutFn","cancelAnimationFrameFn","cancelAnimationFrame","mozCancelAnimationFrame","webkitCancelAnimationFrame","requestAnimationFrameFn","requestAnimationFrame","mozRequestAnimationFrame","webkitRequestAnimationFrame","sliceIterator","slicedToArray","animationFrameID","timeoutID","AutoSizer","_React$PureComponent","_temp","classCallCheck","defaultHeight","defaultWidth","_onResize","disableHeight","disableWidth","_parentNode","_height","offsetHeight","_width","_style","newHeight","newWidth","_setRef","autoSizer","_autoSizer","inherits","nonce","_detectElementResize","animationKeyframes","animationName","animationStartEvent","animationStyle","checkTriggers","resetTriggers","scrollListener","triggers","__resizeTriggers__","firstElementChild","lastElementChild","expandChild","scrollWidth","scrollHeight","__resizeLast__","__resizeRAF__","__resizeListeners__","animation","keyframeprefix","domPrefixes","startEvents","elm","addResizeListener","elementStyle","head","setAttribute","styleSheet","cssText","createTextNode","createStyles","expandTrigger","contractTrigger","__animationListener__","removeResizeListener","removeChild","createDetectElementResize","_props","outerStyle","overflow","childParams","bailoutOnChildren","PureComponent","useUniqueId","idRefLazy","useRef","uniqueId","LazyLoader","onLoad","setLoaded","isInView","setIsInView","useImperativeHandle","effect","addCallback","isIntersecting","wrapperEl","callbacks","unobserve","IntersectionObserver","rootMargin","GridItemWrapper","totalCount","isLazy","divProps","sceneChild","getSceneLayoutChild","getClassName","boostedCount","forceUpdate","useReducer","boostZIndex","ctxValue","descIndex","innerContent","innerContentWithContext","LayoutItemContext","Provider","newStyle","dropdown","_SceneGridLayout","sortChildrenByPosition","_skipOnLayoutChange","nextSize","isItemSizeEqual","gridLayout","updatedItem","sortGridLayout","gridItem","childSize","indexOfUpdatedItem","newParent","findGridItemSceneParent","newChildren","moveChildTo","toggleRow","isCollapsed","rowChildren","rowY","yDiff","yMax","newSize","pushDownAmount","pushChildDown","rowChild","amount","startAt","currentParent","rootChildren","newRow","targetRow","toGridCell","isInteger","buildGridLayout","cells","cell","validateChildrenSize","isCollapsible","onCollapseToggle","getGridLayout","rowc","getSceneGridRowStyles","layoutDragClass","rowCollapsed","rowTitleButton","rowTitle","dragHandle","justifyContent","cursor","borderBottom","weak","h5","collapsedInfo","onToggle","canCollapse","canRemove","gridRow","toolbarControls","align","Input","SceneTimePicker","onZoom","zoomedTimeRange","factor","timespan","center","newTimespan","getZoomedTimeRange","onChangeFiscalYearStartMonth","month","onMoveBackward","getShiftedTimeRange","TimeRangeDirection","Backward","onMoveForward","Forward","hidePicker","isOnCanvas","timeRangeState","TimeRangePicker","onChangeTimeZone","TimeRangeDirection2","dir","upperLimit","oldTo","oldFrom","halfSpan","fromRaw","toRaw","DEFAULT_INTERVALS","SceneRefreshPicker","_intervalTimer","clearInterval","setupIntervalTimer","onIntervalChanged","setInterval","dataProvider","performRepeat","seriesIndex","layoutChild","getLayoutChild","_SceneControlsSpacer","SceneControlsSpacer","SceneFlexLayout","toggleDirection","direction","parentState","_g","_h","_j","wrap","applyItemStyles","alignContent","down","maxHeight","useLayoutStyle","SceneFlexItem","parentDirection","xSizing","ySizing","alignSelf","useLayoutItemStyle","rowGap","columnGap","templateColumns","autoRows","_k","gridTemplateColumns","gridTemplateRows","templateRows","gridAutoRows","justifyItems","gridColumn","VERTICAL_KEYS","HORIZONTAL_KEYS","propsForDirection","dim","column","Splitter","initialSize","primaryPaneStyles","secondaryPaneStyles","onDragFinished","kids","splitterRef","firstPaneRef","secondPaneRef","containerRef","containerSize","primarySizeRef","firstPaneMeasurements","savedPos","measurementProp","clientAxis","minDimProp","maxDimProp","throttleWait","throttledCallback","throttle","resizeObserver","box","useResizeObserver","isSameNode","curSize","newDims","measureElement","ariaValueNow","dragStart","onPointerDown","setPointerCapture","pointerId","onPointerMove","dims","newFlex","onPointerUp","releasePointerCapture","parseFloat","pressedKeys","keysLastHandledAt","handlePressedKeys","dx","sizeChange","firstPaneDims","initiateAnimationLoop","onKeyUp","onDoubleClick","handleHorizontal","tabIndex","flexShrink","userSelect","backgroundColor","main","transition","outline","flexBasis","savedBodyOverflow","savedWidth","savedHeight","savedFlex","Prim","Sec","SceneApp","Switch","Route","SceneReactObject","DebugDetails","keyName","valueAsNumber","isPlainObject","JSONFormatter","json","open","renderValue","DebugTreeNode","selectedObject","onSelect","isSelected","selected","radius","backgroundImage","gradients","brandVertical","SceneDebugger","setIsOpen","setSelectedObject","onClose","panes","pane1","paneHeading","CustomScrollbar","autoHeightMin","treeWrapper","pane2","borderRight","SceneAppPageView","containerPage","SceneAppPage","getParentPageIfTab","containerState","useLocation","locationSearchToObject","useAppQueryParams","getScene","isInitialized","initializedScene","initializeScene","pageNav","img","titleImg","titleIcon","preserveUrlKeys","hideFromBreadcrumbs","parentItem","getParentBreadcrumbs","getParentPage","tab","tabSuffix","pageActions","renderTitle","subTitle","SceneAppDrilldownViewRender","drilldown","getDrilldownPage","component","reactNode","_sceneCache","_drilldownCache","routeMatch","getPage","drilldowns","routes","routePath","isExact","fallbackPage","getFallbackPage","getFallbackRoute","VisibilityMode2","GraphGradientMode2","StackingMode2","VizOrientation2","BigValueColorMode2","BigValueGraphMode2","BigValueJustifyMode2","BigValueTextMode2","BarGaugeDisplayMode2","BarGaugeValueMode2","TableCellHeight2","Auto","None","Gradient","Color","Value","Area","Sm","StandardFieldConfigOverridesBuilder","_overrides","overrideColor","overrideDecimals","overrideDisplayName","overrideFilterable","overrideLinks","overrideMappings","overrideMax","overrideMin","overrideNoValue","overrideThresholds","overrideUnit","FieldConfigOverridesBuilder","matchFieldsWithName","matchFieldsWithNameByRegex","byRegexp","matchFieldsByType","fieldType","byType","matchFieldsByQuery","byFrameRefID","matchFieldsByValue","byValue","matchComparisonQuery","overrideCustomFieldConfig","_id","build","FieldConfigBuilder","defaultFieldConfig","_fieldConfig","_overridesBuilder","setDefaults","custom","setColor","setFieldConfigDefaults","setDecimals","decimals","setDisplayName","setFilterable","filterable","setLinks","setMappings","mappings","setMax","setMin","setNoValue","noValue","setThresholds","thresholds","setUnit","unit","setCustomFieldConfig","setOverrides","builder","PanelOptionsBuilder","defaultOptions","setOption","VizPanelBuilder","_fieldConfigBuilder","_panelOptionsBuilder","setTitle","setDescription","setDisplayMode","setHoverHeader","setMenu","setHeaderActions","setData","setTimeRange","setVariables","setBehaviors","behaviors","PanelBuilders","getBandwidthPanel","qr","rawQuery","resultFormat","alias","showLegend","calcs","getConnectionsPanel","getCPUPanel","getLoadAveragePanel","getMemoryPanel","getNetstatPanel","getReadWriteTimePanel","getWrapCountPanel","getServerScene","hostname","ServerPage","Server","measurement","getTpsPanel","tags","deliveryservice","getBandwidthByCGPanel","getDeliveryServiceScene","deliveryService","DeliveryServicePage","DeliveryService","getCacheGroupScene","cachegroup","CacheGroupPage","CacheGroup","Routes","Redirect","App","AppPlugin","setRootPage"],"sourceRoot":""} \ No newline at end of file diff --git a/infrastructure/cdn-in-a-box/optional/grafana/trafficcontrol-scenes/dist/plugin.json b/infrastructure/cdn-in-a-box/optional/grafana/trafficcontrol-scenes/dist/plugin.json index f94909991e..a46f2e467a 100644 --- a/infrastructure/cdn-in-a-box/optional/grafana/trafficcontrol-scenes/dist/plugin.json +++ b/infrastructure/cdn-in-a-box/optional/grafana/trafficcontrol-scenes/dist/plugin.json @@ -15,7 +15,7 @@ }, "screenshots": [], "version": "1.0.0", - "updated": "2024-01-18" + "updated": "2024-01-19" }, "includes": [ { diff --git a/infrastructure/cdn-in-a-box/optional/grafana/trafficcontrol-scenes/package.json b/infrastructure/cdn-in-a-box/optional/grafana/trafficcontrol-scenes/package.json index 5fa23361a0..f873f1e50a 100644 --- a/infrastructure/cdn-in-a-box/optional/grafana/trafficcontrol-scenes/package.json +++ b/infrastructure/cdn-in-a-box/optional/grafana/trafficcontrol-scenes/package.json @@ -3,8 +3,8 @@ "version": "1.0.0", "description": "Traffic Control Grafana Scenes", "scripts": { - "build": "webpack -c ./.config/webpack/webpack.config.ts --env production", - "dev": "webpack -w -c ./.config/webpack/webpack.config.ts --env development", + "build": "webpack -c ./webpack/webpack.config.ts --env production", + "dev": "webpack -w -c ./webpack/webpack.config.ts --env development", "test": "jest --watch --onlyChanged", "test:ci": "jest --passWithNoTests --maxWorkers 4", "typecheck": "tsc --noEmit", diff --git a/infrastructure/cdn-in-a-box/optional/grafana/trafficcontrol-scenes/tsconfig.json b/infrastructure/cdn-in-a-box/optional/grafana/trafficcontrol-scenes/tsconfig.json index 102e45b784..900eb6698a 100644 --- a/infrastructure/cdn-in-a-box/optional/grafana/trafficcontrol-scenes/tsconfig.json +++ b/infrastructure/cdn-in-a-box/optional/grafana/trafficcontrol-scenes/tsconfig.json @@ -1,3 +1,20 @@ { - "extends": "./.config/tsconfig.json" -} + "compilerOptions": { + "alwaysStrict": true, + "declaration": false, + "rootDir": "./src", + "baseUrl": "./src", + "typeRoots": ["./node_modules/@types"], + "resolveJsonModule": true + }, + "ts-node": { + "compilerOptions": { + "module": "commonjs", + "target": "es5", + "esModuleInterop": true + }, + "transpileOnly": true + }, + "include": ["./src", "./types"], + "extends": "@grafana/tsconfig" +} \ No newline at end of file diff --git a/infrastructure/cdn-in-a-box/optional/grafana/trafficcontrol-scenes/webpack/constants.ts b/infrastructure/cdn-in-a-box/optional/grafana/trafficcontrol-scenes/webpack/constants.ts new file mode 100644 index 0000000000..071e4fd343 --- /dev/null +++ b/infrastructure/cdn-in-a-box/optional/grafana/trafficcontrol-scenes/webpack/constants.ts @@ -0,0 +1,2 @@ +export const SOURCE_DIR = 'src'; +export const DIST_DIR = 'dist'; diff --git a/infrastructure/cdn-in-a-box/optional/grafana/trafficcontrol-scenes/webpack/utils.ts b/infrastructure/cdn-in-a-box/optional/grafana/trafficcontrol-scenes/webpack/utils.ts new file mode 100644 index 0000000000..07eea6e451 --- /dev/null +++ b/infrastructure/cdn-in-a-box/optional/grafana/trafficcontrol-scenes/webpack/utils.ts @@ -0,0 +1,58 @@ +import fs from 'fs'; +import process from 'process'; +import os from 'os'; +import path from 'path'; +import { glob } from 'glob'; +import { SOURCE_DIR } from './constants'; + +export function isWSL() { + if (process.platform !== 'linux') { + return false; + } + + if (os.release().toLowerCase().includes('microsoft')) { + return true; + } + + try { + return fs.readFileSync('/proc/version', 'utf8').toLowerCase().includes('microsoft'); + } catch { + return false; + } +} + +export function getPackageJson() { + return require(path.resolve(process.cwd(), 'package.json')); +} + +export function getPluginJson() { + return require(path.resolve(process.cwd(), `${SOURCE_DIR}/plugin.json`)); +} + +export function hasReadme() { + return fs.existsSync(path.resolve(process.cwd(), SOURCE_DIR, 'README.md')); +} + +// Support bundling nested plugins by finding all plugin.json files in src directory +// then checking for a sibling module.[jt]sx? file. +export async function getEntries(): Promise> { + const pluginsJson = await glob('**/src/**/plugin.json', { absolute: true }); + + const plugins = await Promise.all( + pluginsJson.map((pluginJson) => { + const folder = path.dirname(pluginJson); + return glob(`${folder}/module.{ts,tsx,js,jsx}`, { absolute: true }); + }) + ); + + return plugins.reduce((result, modules) => { + return modules.reduce((result, module) => { + const pluginPath = path.dirname(module); + const pluginName = path.relative(process.cwd(), pluginPath).replace(/src\/?/i, ''); + const entryName = pluginName === '' ? 'module' : `${pluginName}/module`; + + result[entryName] = module; + return result; + }, result); + }, {}); +} diff --git a/infrastructure/cdn-in-a-box/optional/grafana/trafficcontrol-scenes/webpack/webpack.config.ts b/infrastructure/cdn-in-a-box/optional/grafana/trafficcontrol-scenes/webpack/webpack.config.ts new file mode 100644 index 0000000000..b11a73ec97 --- /dev/null +++ b/infrastructure/cdn-in-a-box/optional/grafana/trafficcontrol-scenes/webpack/webpack.config.ts @@ -0,0 +1,214 @@ +/* + * ⚠️⚠️⚠️ THIS FILE WAS SCAFFOLDED BY `@grafana/create-plugin`. DO NOT EDIT THIS FILE DIRECTLY. ⚠️⚠️⚠️ + * + * In order to extend the configuration follow the steps in + * https://grafana.com/developers/plugin-tools/create-a-plugin/extend-a-plugin/extend-configurations#extend-the-webpack-config + */ + +import CopyWebpackPlugin from 'copy-webpack-plugin'; +import ESLintPlugin from 'eslint-webpack-plugin'; +import ForkTsCheckerWebpackPlugin from 'fork-ts-checker-webpack-plugin'; +import LiveReloadPlugin from 'webpack-livereload-plugin'; +import path from 'path'; +import ReplaceInFileWebpackPlugin from 'replace-in-file-webpack-plugin'; +import { Configuration } from 'webpack'; + +import { getPackageJson, getPluginJson, hasReadme, getEntries, isWSL } from './utils'; +import { SOURCE_DIR, DIST_DIR } from './constants'; + +const pluginJson = getPluginJson(); + +const config = async (env): Promise => { + const baseConfig: Configuration = { + cache: { + type: 'filesystem', + buildDependencies: { + config: [__filename], + }, + }, + + context: path.join(process.cwd(), SOURCE_DIR), + + devtool: env.production ? 'source-map' : 'eval-source-map', + + entry: await getEntries(), + + externals: [ + 'lodash', + 'jquery', + 'moment', + 'slate', + 'emotion', + '@emotion/react', + '@emotion/css', + 'prismjs', + 'slate-plain-serializer', + '@grafana/slate-react', + 'react', + 'react-dom', + 'react-redux', + 'redux', + 'rxjs', + 'react-router', + 'react-router-dom', + 'd3', + 'angular', + '@grafana/ui', + '@grafana/runtime', + '@grafana/data', + + // Mark legacy SDK imports as external if their name starts with the "grafana/" prefix + ({ request }, callback) => { + const prefix = 'grafana/'; + const hasPrefix = (request) => request.indexOf(prefix) === 0; + const stripPrefix = (request) => request.substr(prefix.length); + + if (hasPrefix(request)) { + return callback(undefined, stripPrefix(request)); + } + + callback(); + }, + ], + + mode: env.production ? 'production' : 'development', + + module: { + rules: [ + { + exclude: /(node_modules)/, + test: /\.[tj]sx?$/, + use: { + loader: 'swc-loader', + options: { + jsc: { + baseUrl: path.resolve(__dirname, 'src'), + target: 'es2015', + loose: false, + parser: { + syntax: 'typescript', + tsx: true, + decorators: false, + dynamicImport: true, + }, + }, + }, + }, + }, + { + test: /\.css$/, + use: ['style-loader', 'css-loader'], + }, + { + test: /\.s[ac]ss$/, + use: ['style-loader', 'css-loader', 'sass-loader'], + }, + { + test: /\.(png|jpe?g|gif|svg)$/, + type: 'asset/resource', + generator: { + // Keep publicPath relative for host.com/grafana/ deployments + publicPath: `public/plugins/${pluginJson.id}/img/`, + outputPath: 'img/', + filename: Boolean(env.production) ? '[hash][ext]' : '[file]', + }, + }, + { + test: /\.(woff|woff2|eot|ttf|otf)(\?v=\d+\.\d+\.\d+)?$/, + type: 'asset/resource', + generator: { + // Keep publicPath relative for host.com/grafana/ deployments + publicPath: `public/plugins/${pluginJson.id}/fonts/`, + outputPath: 'fonts/', + filename: Boolean(env.production) ? '[hash][ext]' : '[name][ext]', + }, + }, + ], + }, + + output: { + clean: { + keep: new RegExp(`(.*?_(amd64|arm(64)?)(.exe)?|go_plugin_build_manifest)`), + }, + filename: '[name].js', + library: { + type: 'amd', + }, + path: path.resolve(process.cwd(), DIST_DIR), + publicPath: `public/plugins/${pluginJson.id}/`, + uniqueName: pluginJson.id, + }, + + plugins: [ + new CopyWebpackPlugin({ + patterns: [ + // If src/README.md exists use it; otherwise the root README + // To `compiler.options.output` + { from: hasReadme() ? 'README.md' : '../README.md', to: '.', force: true }, + { from: 'plugin.json', to: '.' }, + { from: '../LICENSE', to: '.' }, + { from: '../CHANGELOG.md', to: '.', force: true }, + { from: '**/*.json', to: '.' }, // TODO + { from: '**/*.svg', to: '.', noErrorOnMissing: true }, // Optional + { from: '**/*.png', to: '.', noErrorOnMissing: true }, // Optional + { from: '**/*.html', to: '.', noErrorOnMissing: true }, // Optional + { from: 'img/**/*', to: '.', noErrorOnMissing: true }, // Optional + { from: 'libs/**/*', to: '.', noErrorOnMissing: true }, // Optional + { from: 'static/**/*', to: '.', noErrorOnMissing: true }, // Optional + { from: '**/query_help.md', to: '.', noErrorOnMissing: true }, // Optional + ], + }), + // Replace certain template-variables in the README and plugin.json + new ReplaceInFileWebpackPlugin([ + { + dir: DIST_DIR, + files: ['plugin.json', 'README.md'], + rules: [ + { + search: /\%VERSION\%/g, + replace: getPackageJson().version, + }, + { + search: /\%TODAY\%/g, + replace: new Date().toISOString().substring(0, 10), + }, + { + search: /\%PLUGIN_ID\%/g, + replace: pluginJson.id, + }, + ], + }, + ]), + new ForkTsCheckerWebpackPlugin({ + async: Boolean(env.development), + issue: { + include: [{ file: '**/*.{ts,tsx}' }], + }, + typescript: { configFile: path.join(process.cwd(), 'tsconfig.json') }, + }), + new ESLintPlugin({ + extensions: ['.ts', '.tsx'], + lintDirtyModulesOnly: Boolean(env.development), // don't lint on start, only lint changed files + }), + ...(env.development ? [new LiveReloadPlugin()] : []), + ], + + resolve: { + extensions: ['.js', '.jsx', '.ts', '.tsx'], + // handle resolving "rootDir" paths + modules: [path.resolve(process.cwd(), 'src'), 'node_modules'], + unsafeCache: true, + }, + }; + + if (isWSL()) { + baseConfig.watchOptions = { + poll: 3000, + ignored: /node_modules/, + }; + } + + return baseConfig; +}; + +export default config; diff --git a/infrastructure/cdn-in-a-box/optional/grafana/trafficcontrol-scenes/yarn.lock b/infrastructure/cdn-in-a-box/optional/grafana/trafficcontrol-scenes/yarn.lock new file mode 100644 index 0000000000..1da4c98f1b --- /dev/null +++ b/infrastructure/cdn-in-a-box/optional/grafana/trafficcontrol-scenes/yarn.lock @@ -0,0 +1,10242 @@ +# THIS IS AN AUTOGENERATED FILE. DO NOT EDIT THIS FILE DIRECTLY. +# yarn lockfile v1 + + +"@aashutoshrathi/word-wrap@^1.2.3": + version "1.2.6" + resolved "https://registry.yarnpkg.com/@aashutoshrathi/word-wrap/-/word-wrap-1.2.6.tgz#bd9154aec9983f77b3a034ecaa015c2e4201f6cf" + integrity sha512-1Yjs2SvM8TflER/OD3cOjhWWOZb58A2t7wpE2S9XfBYTiIl+XFhQG2bjy4Pu1I+EAlCNUzRDYDdFwFYUKvXcIA== + +"@adobe/css-tools@^4.3.1": + version "4.3.2" + resolved "https://registry.yarnpkg.com/@adobe/css-tools/-/css-tools-4.3.2.tgz#a6abc715fb6884851fca9dad37fc34739a04fd11" + integrity sha512-DA5a1C0gD/pLOvhv33YMrbf2FK3oUzwNl9oOJqE4XVjuEtt6XIakRcsd7eLiOSPkp1kTRQGICTA8cKra/vFbjw== + +"@ampproject/remapping@^2.1.0", "@ampproject/remapping@^2.2.0": + version "2.2.1" + resolved "https://registry.yarnpkg.com/@ampproject/remapping/-/remapping-2.2.1.tgz#99e8e11851128b8702cd57c33684f1d0f260b630" + integrity sha512-lFMjJTrFL3j7L9yBxwYfCq2k6qqwHyzuUl/XBnif78PWTJYyL/dfowQHWE3sp6U6ZzqWiiIZnpTMO96zhkjwtg== + dependencies: + "@jridgewell/gen-mapping" "^0.3.0" + "@jridgewell/trace-mapping" "^0.3.9" + +"@babel/code-frame@^7.0.0", "@babel/code-frame@^7.10.4", "@babel/code-frame@^7.12.13", "@babel/code-frame@^7.16.7", "@babel/code-frame@^7.18.6", "@babel/code-frame@^7.22.13", "@babel/code-frame@^7.23.5": + version "7.23.5" + resolved "https://registry.yarnpkg.com/@babel/code-frame/-/code-frame-7.23.5.tgz#9009b69a8c602293476ad598ff53e4562e15c244" + integrity sha512-CgH3s1a96LipHCmSUmYFPwY7MNx8C3avkq7i4Wl3cfa662ldtUe4VM1TPXX70pfmrlWTb6jLqTYrZyT2ZTJBgA== + dependencies: + "@babel/highlight" "^7.23.4" + chalk "^2.4.2" + +"@babel/compat-data@^7.17.7", "@babel/compat-data@^7.20.1", "@babel/compat-data@^7.20.5", "@babel/compat-data@^7.23.5": + version "7.23.5" + resolved "https://registry.yarnpkg.com/@babel/compat-data/-/compat-data-7.23.5.tgz#ffb878728bb6bdcb6f4510aa51b1be9afb8cfd98" + integrity sha512-uU27kfDRlhfKl+w1U6vp16IuvSLtjAxdArVXPa9BvLkrr7CYIsxH5adpHObeAGY/41+syctUWOZ140a2Rvkgjw== + +"@babel/core@7.20.5": + version "7.20.5" + resolved "https://registry.yarnpkg.com/@babel/core/-/core-7.20.5.tgz#45e2114dc6cd4ab167f81daf7820e8fa1250d113" + integrity sha512-UdOWmk4pNWTm/4DlPUl/Pt4Gz4rcEMb7CY0Y3eJl5Yz1vI8ZJGmHWaVE55LoxRjdpx0z259GE9U5STA9atUinQ== + dependencies: + "@ampproject/remapping" "^2.1.0" + "@babel/code-frame" "^7.18.6" + "@babel/generator" "^7.20.5" + "@babel/helper-compilation-targets" "^7.20.0" + "@babel/helper-module-transforms" "^7.20.2" + "@babel/helpers" "^7.20.5" + "@babel/parser" "^7.20.5" + "@babel/template" "^7.18.10" + "@babel/traverse" "^7.20.5" + "@babel/types" "^7.20.5" + convert-source-map "^1.7.0" + debug "^4.1.0" + gensync "^1.0.0-beta.2" + json5 "^2.2.1" + semver "^6.3.0" + +"@babel/core@^7.11.6", "@babel/core@^7.12.3", "@babel/core@^7.21.4": + version "7.23.7" + resolved "https://registry.yarnpkg.com/@babel/core/-/core-7.23.7.tgz#4d8016e06a14b5f92530a13ed0561730b5c6483f" + integrity sha512-+UpDgowcmqe36d4NwqvKsyPMlOLNGMsfMmQ5WGCu+siCe3t3dfe9njrzGfdN4qq+bcNUt0+Vw6haRxBOycs4dw== + dependencies: + "@ampproject/remapping" "^2.2.0" + "@babel/code-frame" "^7.23.5" + "@babel/generator" "^7.23.6" + "@babel/helper-compilation-targets" "^7.23.6" + "@babel/helper-module-transforms" "^7.23.3" + "@babel/helpers" "^7.23.7" + "@babel/parser" "^7.23.6" + "@babel/template" "^7.22.15" + "@babel/traverse" "^7.23.7" + "@babel/types" "^7.23.6" + convert-source-map "^2.0.0" + debug "^4.1.0" + gensync "^1.0.0-beta.2" + json5 "^2.2.3" + semver "^6.3.1" + +"@babel/generator@^7.20.5", "@babel/generator@^7.23.6", "@babel/generator@^7.7.2": + version "7.23.6" + resolved "https://registry.yarnpkg.com/@babel/generator/-/generator-7.23.6.tgz#9e1fca4811c77a10580d17d26b57b036133f3c2e" + integrity sha512-qrSfCYxYQB5owCmGLbl8XRpX1ytXlpueOb0N0UmQwA073KZxejgQTzAmJezxvpwQD9uGtK2shHdi55QT+MbjIw== + dependencies: + "@babel/types" "^7.23.6" + "@jridgewell/gen-mapping" "^0.3.2" + "@jridgewell/trace-mapping" "^0.3.17" + jsesc "^2.5.1" + +"@babel/helper-annotate-as-pure@^7.18.6", "@babel/helper-annotate-as-pure@^7.22.5": + version "7.22.5" + resolved "https://registry.yarnpkg.com/@babel/helper-annotate-as-pure/-/helper-annotate-as-pure-7.22.5.tgz#e7f06737b197d580a01edf75d97e2c8be99d3882" + integrity sha512-LvBTxu8bQSQkcyKOU+a1btnNFQ1dMAd0R6PyW3arXes06F6QLWLIrd681bxRPIXlrMGR3XYnW9JyML7dP3qgxg== + dependencies: + "@babel/types" "^7.22.5" + +"@babel/helper-builder-binary-assignment-operator-visitor@^7.22.15": + version "7.22.15" + resolved "https://registry.yarnpkg.com/@babel/helper-builder-binary-assignment-operator-visitor/-/helper-builder-binary-assignment-operator-visitor-7.22.15.tgz#5426b109cf3ad47b91120f8328d8ab1be8b0b956" + integrity sha512-QkBXwGgaoC2GtGZRoma6kv7Szfv06khvhFav67ZExau2RaXzy8MpHSMO2PNoP2XtmQphJQRHFfg77Bq731Yizw== + dependencies: + "@babel/types" "^7.22.15" + +"@babel/helper-compilation-targets@^7.17.7", "@babel/helper-compilation-targets@^7.20.0", "@babel/helper-compilation-targets@^7.20.7", "@babel/helper-compilation-targets@^7.22.15", "@babel/helper-compilation-targets@^7.23.6": + version "7.23.6" + resolved "https://registry.yarnpkg.com/@babel/helper-compilation-targets/-/helper-compilation-targets-7.23.6.tgz#4d79069b16cbcf1461289eccfbbd81501ae39991" + integrity sha512-9JB548GZoQVmzrFgp8o7KxdgkTGm6xs9DW0o/Pim72UDjzr5ObUQ6ZzYPqA+g9OTS2bBQoctLJrky0RDCAWRgQ== + dependencies: + "@babel/compat-data" "^7.23.5" + "@babel/helper-validator-option" "^7.23.5" + browserslist "^4.22.2" + lru-cache "^5.1.1" + semver "^6.3.1" + +"@babel/helper-create-class-features-plugin@^7.18.6", "@babel/helper-create-class-features-plugin@^7.21.0": + version "7.23.7" + resolved "https://registry.yarnpkg.com/@babel/helper-create-class-features-plugin/-/helper-create-class-features-plugin-7.23.7.tgz#b2e6826e0e20d337143655198b79d58fdc9bd43d" + integrity sha512-xCoqR/8+BoNnXOY7RVSgv6X+o7pmT5q1d+gGcRlXYkI+9B31glE4jeejhKVpA04O1AtzOt7OSQ6VYKP5FcRl9g== + dependencies: + "@babel/helper-annotate-as-pure" "^7.22.5" + "@babel/helper-environment-visitor" "^7.22.20" + "@babel/helper-function-name" "^7.23.0" + "@babel/helper-member-expression-to-functions" "^7.23.0" + "@babel/helper-optimise-call-expression" "^7.22.5" + "@babel/helper-replace-supers" "^7.22.20" + "@babel/helper-skip-transparent-expression-wrappers" "^7.22.5" + "@babel/helper-split-export-declaration" "^7.22.6" + semver "^6.3.1" + +"@babel/helper-create-regexp-features-plugin@^7.18.6", "@babel/helper-create-regexp-features-plugin@^7.22.15", "@babel/helper-create-regexp-features-plugin@^7.22.5": + version "7.22.15" + resolved "https://registry.yarnpkg.com/@babel/helper-create-regexp-features-plugin/-/helper-create-regexp-features-plugin-7.22.15.tgz#5ee90093914ea09639b01c711db0d6775e558be1" + integrity sha512-29FkPLFjn4TPEa3RE7GpW+qbE8tlsu3jntNYNfcGsc49LphF1PQIiD+vMZ1z1xVOKt+93khA9tc2JBs3kBjA7w== + dependencies: + "@babel/helper-annotate-as-pure" "^7.22.5" + regexpu-core "^5.3.1" + semver "^6.3.1" + +"@babel/helper-define-polyfill-provider@^0.3.3": + version "0.3.3" + resolved "https://registry.yarnpkg.com/@babel/helper-define-polyfill-provider/-/helper-define-polyfill-provider-0.3.3.tgz#8612e55be5d51f0cd1f36b4a5a83924e89884b7a" + integrity sha512-z5aQKU4IzbqCC1XH0nAqfsFLMVSo22SBKUc0BxGrLkolTdPTructy0ToNnlO2zA4j9Q/7pjMZf0DSY+DSTYzww== + dependencies: + "@babel/helper-compilation-targets" "^7.17.7" + "@babel/helper-plugin-utils" "^7.16.7" + debug "^4.1.1" + lodash.debounce "^4.0.8" + resolve "^1.14.2" + semver "^6.1.2" + +"@babel/helper-environment-visitor@^7.18.9", "@babel/helper-environment-visitor@^7.22.20": + version "7.22.20" + resolved "https://registry.yarnpkg.com/@babel/helper-environment-visitor/-/helper-environment-visitor-7.22.20.tgz#96159db61d34a29dba454c959f5ae4a649ba9167" + integrity sha512-zfedSIzFhat/gFhWfHtgWvlec0nqB9YEIVrpuwjruLlXfUSnA8cJB0miHKwqDnQ7d32aKo2xt88/xZptwxbfhA== + +"@babel/helper-function-name@^7.22.5", "@babel/helper-function-name@^7.23.0": + version "7.23.0" + resolved "https://registry.yarnpkg.com/@babel/helper-function-name/-/helper-function-name-7.23.0.tgz#1f9a3cdbd5b2698a670c30d2735f9af95ed52759" + integrity sha512-OErEqsrxjZTJciZ4Oo+eoZqeW9UIiOcuYKRJA4ZAgV9myA+pOXhhmpfNCKjEH/auVfEYVFJ6y1Tc4r0eIApqiw== + dependencies: + "@babel/template" "^7.22.15" + "@babel/types" "^7.23.0" + +"@babel/helper-hoist-variables@^7.22.5": + version "7.22.5" + resolved "https://registry.yarnpkg.com/@babel/helper-hoist-variables/-/helper-hoist-variables-7.22.5.tgz#c01a007dac05c085914e8fb652b339db50d823bb" + integrity sha512-wGjk9QZVzvknA6yKIUURb8zY3grXCcOZt+/7Wcy8O2uctxhplmUPkOdlgoNhmdVee2c92JXbf1xpMtVNbfoxRw== + dependencies: + "@babel/types" "^7.22.5" + +"@babel/helper-member-expression-to-functions@^7.22.15", "@babel/helper-member-expression-to-functions@^7.23.0": + version "7.23.0" + resolved "https://registry.yarnpkg.com/@babel/helper-member-expression-to-functions/-/helper-member-expression-to-functions-7.23.0.tgz#9263e88cc5e41d39ec18c9a3e0eced59a3e7d366" + integrity sha512-6gfrPwh7OuT6gZyJZvd6WbTfrqAo7vm4xCzAXOusKqq/vWdKXphTpj5klHKNmRUU6/QRGlBsyU9mAIPaWHlqJA== + dependencies: + "@babel/types" "^7.23.0" + +"@babel/helper-module-imports@^7.16.7", "@babel/helper-module-imports@^7.22.15": + version "7.22.15" + resolved "https://registry.yarnpkg.com/@babel/helper-module-imports/-/helper-module-imports-7.22.15.tgz#16146307acdc40cc00c3b2c647713076464bdbf0" + integrity sha512-0pYVBnDKZO2fnSPCrgM/6WMc7eS20Fbok+0r88fp+YtWVLZrp4CkafFGIp+W0VKw4a22sgebPT99y+FDNMdP4w== + dependencies: + "@babel/types" "^7.22.15" + +"@babel/helper-module-transforms@^7.20.2", "@babel/helper-module-transforms@^7.23.3": + version "7.23.3" + resolved "https://registry.yarnpkg.com/@babel/helper-module-transforms/-/helper-module-transforms-7.23.3.tgz#d7d12c3c5d30af5b3c0fcab2a6d5217773e2d0f1" + integrity sha512-7bBs4ED9OmswdfDzpz4MpWgSrV7FXlc3zIagvLFjS5H+Mk7Snr21vQ6QwrsoCGMfNC4e4LQPdoULEt4ykz0SRQ== + dependencies: + "@babel/helper-environment-visitor" "^7.22.20" + "@babel/helper-module-imports" "^7.22.15" + "@babel/helper-simple-access" "^7.22.5" + "@babel/helper-split-export-declaration" "^7.22.6" + "@babel/helper-validator-identifier" "^7.22.20" + +"@babel/helper-optimise-call-expression@^7.22.5": + version "7.22.5" + resolved "https://registry.yarnpkg.com/@babel/helper-optimise-call-expression/-/helper-optimise-call-expression-7.22.5.tgz#f21531a9ccbff644fdd156b4077c16ff0c3f609e" + integrity sha512-HBwaojN0xFRx4yIvpwGqxiV2tUfl7401jlok564NgB9EHS1y6QT17FmKWm4ztqjeVdXLuC4fSvHc5ePpQjoTbw== + dependencies: + "@babel/types" "^7.22.5" + +"@babel/helper-plugin-utils@^7.0.0", "@babel/helper-plugin-utils@^7.10.4", "@babel/helper-plugin-utils@^7.12.13", "@babel/helper-plugin-utils@^7.14.5", "@babel/helper-plugin-utils@^7.16.7", "@babel/helper-plugin-utils@^7.18.6", "@babel/helper-plugin-utils@^7.18.9", "@babel/helper-plugin-utils@^7.20.2", "@babel/helper-plugin-utils@^7.22.5", "@babel/helper-plugin-utils@^7.8.0", "@babel/helper-plugin-utils@^7.8.3": + version "7.22.5" + resolved "https://registry.yarnpkg.com/@babel/helper-plugin-utils/-/helper-plugin-utils-7.22.5.tgz#dd7ee3735e8a313b9f7b05a773d892e88e6d7295" + integrity sha512-uLls06UVKgFG9QD4OeFYLEGteMIAa5kpTPcFL28yuCIIzsf6ZyKZMllKVOCZFhiZ5ptnwX4mtKdWCBE/uT4amg== + +"@babel/helper-remap-async-to-generator@^7.18.9", "@babel/helper-remap-async-to-generator@^7.22.20": + version "7.22.20" + resolved "https://registry.yarnpkg.com/@babel/helper-remap-async-to-generator/-/helper-remap-async-to-generator-7.22.20.tgz#7b68e1cb4fa964d2996fd063723fb48eca8498e0" + integrity sha512-pBGyV4uBqOns+0UvhsTO8qgl8hO89PmiDYv+/COyp1aeMcmfrfruz+/nCMFiYyFF/Knn0yfrC85ZzNFjembFTw== + dependencies: + "@babel/helper-annotate-as-pure" "^7.22.5" + "@babel/helper-environment-visitor" "^7.22.20" + "@babel/helper-wrap-function" "^7.22.20" + +"@babel/helper-replace-supers@^7.22.20": + version "7.22.20" + resolved "https://registry.yarnpkg.com/@babel/helper-replace-supers/-/helper-replace-supers-7.22.20.tgz#e37d367123ca98fe455a9887734ed2e16eb7a793" + integrity sha512-qsW0In3dbwQUbK8kejJ4R7IHVGwHJlV6lpG6UA7a9hSa2YEiAib+N1T2kr6PEeUT+Fl7najmSOS6SmAwCHK6Tw== + dependencies: + "@babel/helper-environment-visitor" "^7.22.20" + "@babel/helper-member-expression-to-functions" "^7.22.15" + "@babel/helper-optimise-call-expression" "^7.22.5" + +"@babel/helper-simple-access@^7.22.5": + version "7.22.5" + resolved "https://registry.yarnpkg.com/@babel/helper-simple-access/-/helper-simple-access-7.22.5.tgz#4938357dc7d782b80ed6dbb03a0fba3d22b1d5de" + integrity sha512-n0H99E/K+Bika3++WNL17POvo4rKWZ7lZEp1Q+fStVbUi8nxPQEBOlTmCOxW/0JsS56SKKQ+ojAe2pHKJHN35w== + dependencies: + "@babel/types" "^7.22.5" + +"@babel/helper-skip-transparent-expression-wrappers@^7.20.0", "@babel/helper-skip-transparent-expression-wrappers@^7.22.5": + version "7.22.5" + resolved "https://registry.yarnpkg.com/@babel/helper-skip-transparent-expression-wrappers/-/helper-skip-transparent-expression-wrappers-7.22.5.tgz#007f15240b5751c537c40e77abb4e89eeaaa8847" + integrity sha512-tK14r66JZKiC43p8Ki33yLBVJKlQDFoA8GYN67lWCDCqoL6EMMSuM9b+Iff2jHaM/RRFYl7K+iiru7hbRqNx8Q== + dependencies: + "@babel/types" "^7.22.5" + +"@babel/helper-split-export-declaration@^7.22.6": + version "7.22.6" + resolved "https://registry.yarnpkg.com/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.22.6.tgz#322c61b7310c0997fe4c323955667f18fcefb91c" + integrity sha512-AsUnxuLhRYsisFiaJwvp1QF+I3KjD5FOxut14q/GzovUe6orHLesW2C7d754kRm53h5gqrz6sFl6sxc4BVtE/g== + dependencies: + "@babel/types" "^7.22.5" + +"@babel/helper-string-parser@^7.23.4": + version "7.23.4" + resolved "https://registry.yarnpkg.com/@babel/helper-string-parser/-/helper-string-parser-7.23.4.tgz#9478c707febcbbe1ddb38a3d91a2e054ae622d83" + integrity sha512-803gmbQdqwdf4olxrX4AJyFBV/RTr3rSmOj0rKwesmzlfhYNDEs+/iOcznzpNWlJlIlTJC2QfPFcHB6DlzdVLQ== + +"@babel/helper-validator-identifier@^7.22.20": + version "7.22.20" + resolved "https://registry.yarnpkg.com/@babel/helper-validator-identifier/-/helper-validator-identifier-7.22.20.tgz#c4ae002c61d2879e724581d96665583dbc1dc0e0" + integrity sha512-Y4OZ+ytlatR8AI+8KZfKuL5urKp7qey08ha31L8b3BwewJAoJamTzyvxPR/5D+KkdJCGPq/+8TukHBlY10FX9A== + +"@babel/helper-validator-option@^7.18.6", "@babel/helper-validator-option@^7.23.5": + version "7.23.5" + resolved "https://registry.yarnpkg.com/@babel/helper-validator-option/-/helper-validator-option-7.23.5.tgz#907a3fbd4523426285365d1206c423c4c5520307" + integrity sha512-85ttAOMLsr53VgXkTbkx8oA6YTfT4q7/HzXSLEYmjcSTJPMPQtvq1BD79Byep5xMUYbGRzEpDsjUf3dyp54IKw== + +"@babel/helper-wrap-function@^7.22.20": + version "7.22.20" + resolved "https://registry.yarnpkg.com/@babel/helper-wrap-function/-/helper-wrap-function-7.22.20.tgz#15352b0b9bfb10fc9c76f79f6342c00e3411a569" + integrity sha512-pms/UwkOpnQe/PDAEdV/d7dVCoBbB+R4FvYoHGZz+4VPcg7RtYy2KP7S2lbuWM6FCSgob5wshfGESbC/hzNXZw== + dependencies: + "@babel/helper-function-name" "^7.22.5" + "@babel/template" "^7.22.15" + "@babel/types" "^7.22.19" + +"@babel/helpers@^7.20.5", "@babel/helpers@^7.23.7": + version "7.23.8" + resolved "https://registry.yarnpkg.com/@babel/helpers/-/helpers-7.23.8.tgz#fc6b2d65b16847fd50adddbd4232c76378959e34" + integrity sha512-KDqYz4PiOWvDFrdHLPhKtCThtIcKVy6avWD2oG4GEvyQ+XDZwHD4YQd+H2vNMnq2rkdxsDkU82T+Vk8U/WXHRQ== + dependencies: + "@babel/template" "^7.22.15" + "@babel/traverse" "^7.23.7" + "@babel/types" "^7.23.6" + +"@babel/highlight@^7.23.4": + version "7.23.4" + resolved "https://registry.yarnpkg.com/@babel/highlight/-/highlight-7.23.4.tgz#edaadf4d8232e1a961432db785091207ead0621b" + integrity sha512-acGdbYSfp2WheJoJm/EBBBLh/ID8KDc64ISZ9DYtBmC8/Q204PZJLHyzeB5qMzJ5trcOkybd78M4x2KWsUq++A== + dependencies: + "@babel/helper-validator-identifier" "^7.22.20" + chalk "^2.4.2" + js-tokens "^4.0.0" + +"@babel/parser@^7.1.0", "@babel/parser@^7.14.7", "@babel/parser@^7.20.5", "@babel/parser@^7.20.7", "@babel/parser@^7.22.15", "@babel/parser@^7.23.6": + version "7.23.6" + resolved "https://registry.yarnpkg.com/@babel/parser/-/parser-7.23.6.tgz#ba1c9e512bda72a47e285ae42aff9d2a635a9e3b" + integrity sha512-Z2uID7YJ7oNvAI20O9X0bblw7Qqs8Q2hFy0R9tAfnfLkp5MW0UH9eUvnDSnFwKZ0AvgS1ucqR4KzvVHgnke1VQ== + +"@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression@^7.18.6": + version "7.23.3" + resolved "https://registry.yarnpkg.com/@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression/-/plugin-bugfix-safari-id-destructuring-collision-in-function-expression-7.23.3.tgz#5cd1c87ba9380d0afb78469292c954fee5d2411a" + integrity sha512-iRkKcCqb7iGnq9+3G6rZ+Ciz5VywC4XNRHe57lKM+jOeYAoR0lVqdeeDRfh0tQcTfw/+vBhHn926FmQhLtlFLQ== + dependencies: + "@babel/helper-plugin-utils" "^7.22.5" + +"@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining@^7.18.9": + version "7.23.3" + resolved "https://registry.yarnpkg.com/@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining/-/plugin-bugfix-v8-spread-parameters-in-optional-chaining-7.23.3.tgz#f6652bb16b94f8f9c20c50941e16e9756898dc5d" + integrity sha512-WwlxbfMNdVEpQjZmK5mhm7oSwD3dS6eU+Iwsi4Knl9wAletWem7kaRsGOG+8UEbRyqxY4SS5zvtfXwX+jMxUwQ== + dependencies: + "@babel/helper-plugin-utils" "^7.22.5" + "@babel/helper-skip-transparent-expression-wrappers" "^7.22.5" + "@babel/plugin-transform-optional-chaining" "^7.23.3" + +"@babel/plugin-proposal-async-generator-functions@^7.20.1": + version "7.20.7" + resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-async-generator-functions/-/plugin-proposal-async-generator-functions-7.20.7.tgz#bfb7276d2d573cb67ba379984a2334e262ba5326" + integrity sha512-xMbiLsn/8RK7Wq7VeVytytS2L6qE69bXPB10YCmMdDZbKF4okCqY74pI/jJQ/8U0b/F6NrT2+14b8/P9/3AMGA== + dependencies: + "@babel/helper-environment-visitor" "^7.18.9" + "@babel/helper-plugin-utils" "^7.20.2" + "@babel/helper-remap-async-to-generator" "^7.18.9" + "@babel/plugin-syntax-async-generators" "^7.8.4" + +"@babel/plugin-proposal-class-properties@^7.18.6": + version "7.18.6" + resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-class-properties/-/plugin-proposal-class-properties-7.18.6.tgz#b110f59741895f7ec21a6fff696ec46265c446a3" + integrity sha512-cumfXOF0+nzZrrN8Rf0t7M+tF6sZc7vhQwYQck9q1/5w2OExlD+b4v4RpMJFaV1Z7WcDRgO6FqvxqxGlwo+RHQ== + dependencies: + "@babel/helper-create-class-features-plugin" "^7.18.6" + "@babel/helper-plugin-utils" "^7.18.6" + +"@babel/plugin-proposal-class-static-block@^7.18.6": + version "7.21.0" + resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-class-static-block/-/plugin-proposal-class-static-block-7.21.0.tgz#77bdd66fb7b605f3a61302d224bdfacf5547977d" + integrity sha512-XP5G9MWNUskFuP30IfFSEFB0Z6HzLIUcjYM4bYOPHXl7eiJ9HFv8tWj6TXTN5QODiEhDZAeI4hLok2iHFFV4hw== + dependencies: + "@babel/helper-create-class-features-plugin" "^7.21.0" + "@babel/helper-plugin-utils" "^7.20.2" + "@babel/plugin-syntax-class-static-block" "^7.14.5" + +"@babel/plugin-proposal-dynamic-import@^7.18.6": + version "7.18.6" + resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-dynamic-import/-/plugin-proposal-dynamic-import-7.18.6.tgz#72bcf8d408799f547d759298c3c27c7e7faa4d94" + integrity sha512-1auuwmK+Rz13SJj36R+jqFPMJWyKEDd7lLSdOj4oJK0UTgGueSAtkrCvz9ewmgyU/P941Rv2fQwZJN8s6QruXw== + dependencies: + "@babel/helper-plugin-utils" "^7.18.6" + "@babel/plugin-syntax-dynamic-import" "^7.8.3" + +"@babel/plugin-proposal-export-namespace-from@^7.18.9": + version "7.18.9" + resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-export-namespace-from/-/plugin-proposal-export-namespace-from-7.18.9.tgz#5f7313ab348cdb19d590145f9247540e94761203" + integrity sha512-k1NtHyOMvlDDFeb9G5PhUXuGj8m/wiwojgQVEhJ/fsVsMCpLyOP4h0uGEjYJKrRI+EVPlb5Jk+Gt9P97lOGwtA== + dependencies: + "@babel/helper-plugin-utils" "^7.18.9" + "@babel/plugin-syntax-export-namespace-from" "^7.8.3" + +"@babel/plugin-proposal-json-strings@^7.18.6": + version "7.18.6" + resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-json-strings/-/plugin-proposal-json-strings-7.18.6.tgz#7e8788c1811c393aff762817e7dbf1ebd0c05f0b" + integrity sha512-lr1peyn9kOdbYc0xr0OdHTZ5FMqS6Di+H0Fz2I/JwMzGmzJETNeOFq2pBySw6X/KFL5EWDjlJuMsUGRFb8fQgQ== + dependencies: + "@babel/helper-plugin-utils" "^7.18.6" + "@babel/plugin-syntax-json-strings" "^7.8.3" + +"@babel/plugin-proposal-logical-assignment-operators@^7.18.9": + version "7.20.7" + resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-logical-assignment-operators/-/plugin-proposal-logical-assignment-operators-7.20.7.tgz#dfbcaa8f7b4d37b51e8bfb46d94a5aea2bb89d83" + integrity sha512-y7C7cZgpMIjWlKE5T7eJwp+tnRYM89HmRvWM5EQuB5BoHEONjmQ8lSNmBUwOyy/GFRsohJED51YBF79hE1djug== + dependencies: + "@babel/helper-plugin-utils" "^7.20.2" + "@babel/plugin-syntax-logical-assignment-operators" "^7.10.4" + +"@babel/plugin-proposal-nullish-coalescing-operator@^7.18.6": + version "7.18.6" + resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-nullish-coalescing-operator/-/plugin-proposal-nullish-coalescing-operator-7.18.6.tgz#fdd940a99a740e577d6c753ab6fbb43fdb9467e1" + integrity sha512-wQxQzxYeJqHcfppzBDnm1yAY0jSRkUXR2z8RePZYrKwMKgMlE8+Z6LUno+bd6LvbGh8Gltvy74+9pIYkr+XkKA== + dependencies: + "@babel/helper-plugin-utils" "^7.18.6" + "@babel/plugin-syntax-nullish-coalescing-operator" "^7.8.3" + +"@babel/plugin-proposal-numeric-separator@^7.18.6": + version "7.18.6" + resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-numeric-separator/-/plugin-proposal-numeric-separator-7.18.6.tgz#899b14fbafe87f053d2c5ff05b36029c62e13c75" + integrity sha512-ozlZFogPqoLm8WBr5Z8UckIoE4YQ5KESVcNudyXOR8uqIkliTEgJ3RoketfG6pmzLdeZF0H/wjE9/cCEitBl7Q== + dependencies: + "@babel/helper-plugin-utils" "^7.18.6" + "@babel/plugin-syntax-numeric-separator" "^7.10.4" + +"@babel/plugin-proposal-object-rest-spread@^7.20.2": + version "7.20.7" + resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-object-rest-spread/-/plugin-proposal-object-rest-spread-7.20.7.tgz#aa662940ef425779c75534a5c41e9d936edc390a" + integrity sha512-d2S98yCiLxDVmBmE8UjGcfPvNEUbA1U5q5WxaWFUGRzJSVAZqm5W6MbPct0jxnegUZ0niLeNX+IOzEs7wYg9Dg== + dependencies: + "@babel/compat-data" "^7.20.5" + "@babel/helper-compilation-targets" "^7.20.7" + "@babel/helper-plugin-utils" "^7.20.2" + "@babel/plugin-syntax-object-rest-spread" "^7.8.3" + "@babel/plugin-transform-parameters" "^7.20.7" + +"@babel/plugin-proposal-optional-catch-binding@^7.18.6": + version "7.18.6" + resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-optional-catch-binding/-/plugin-proposal-optional-catch-binding-7.18.6.tgz#f9400d0e6a3ea93ba9ef70b09e72dd6da638a2cb" + integrity sha512-Q40HEhs9DJQyaZfUjjn6vE8Cv4GmMHCYuMGIWUnlxH6400VGxOuwWsPt4FxXxJkC/5eOzgn0z21M9gMT4MOhbw== + dependencies: + "@babel/helper-plugin-utils" "^7.18.6" + "@babel/plugin-syntax-optional-catch-binding" "^7.8.3" + +"@babel/plugin-proposal-optional-chaining@^7.18.9": + version "7.21.0" + resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-optional-chaining/-/plugin-proposal-optional-chaining-7.21.0.tgz#886f5c8978deb7d30f678b2e24346b287234d3ea" + integrity sha512-p4zeefM72gpmEe2fkUr/OnOXpWEf8nAgk7ZYVqqfFiyIG7oFfVZcCrU64hWn5xp4tQ9LkV4bTIa5rD0KANpKNA== + dependencies: + "@babel/helper-plugin-utils" "^7.20.2" + "@babel/helper-skip-transparent-expression-wrappers" "^7.20.0" + "@babel/plugin-syntax-optional-chaining" "^7.8.3" + +"@babel/plugin-proposal-private-methods@^7.18.6": + version "7.18.6" + resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-private-methods/-/plugin-proposal-private-methods-7.18.6.tgz#5209de7d213457548a98436fa2882f52f4be6bea" + integrity sha512-nutsvktDItsNn4rpGItSNV2sz1XwS+nfU0Rg8aCx3W3NOKVzdMjJRu0O5OkgDp3ZGICSTbgRpxZoWsxoKRvbeA== + dependencies: + "@babel/helper-create-class-features-plugin" "^7.18.6" + "@babel/helper-plugin-utils" "^7.18.6" + +"@babel/plugin-proposal-private-property-in-object@^7.18.6": + version "7.21.11" + resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-private-property-in-object/-/plugin-proposal-private-property-in-object-7.21.11.tgz#69d597086b6760c4126525cfa154f34631ff272c" + integrity sha512-0QZ8qP/3RLDVBwBFoWAwCtgcDZJVwA5LUJRZU8x2YFfKNuFq161wK3cuGrALu5yiPu+vzwTAg/sMWVNeWeNyaw== + dependencies: + "@babel/helper-annotate-as-pure" "^7.18.6" + "@babel/helper-create-class-features-plugin" "^7.21.0" + "@babel/helper-plugin-utils" "^7.20.2" + "@babel/plugin-syntax-private-property-in-object" "^7.14.5" + +"@babel/plugin-proposal-unicode-property-regex@^7.18.6", "@babel/plugin-proposal-unicode-property-regex@^7.4.4": + version "7.18.6" + resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-unicode-property-regex/-/plugin-proposal-unicode-property-regex-7.18.6.tgz#af613d2cd5e643643b65cded64207b15c85cb78e" + integrity sha512-2BShG/d5yoZyXZfVePH91urL5wTG6ASZU9M4o03lKK8u8UW1y08OMttBSOADTcJrnPMpvDXRG3G8fyLh4ovs8w== + dependencies: + "@babel/helper-create-regexp-features-plugin" "^7.18.6" + "@babel/helper-plugin-utils" "^7.18.6" + +"@babel/plugin-syntax-async-generators@^7.8.4": + version "7.8.4" + resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-async-generators/-/plugin-syntax-async-generators-7.8.4.tgz#a983fb1aeb2ec3f6ed042a210f640e90e786fe0d" + integrity sha512-tycmZxkGfZaxhMRbXlPXuVFpdWlXpir2W4AMhSJgRKzk/eDlIXOhb2LHWoLpDF7TEHylV5zNhykX6KAgHJmTNw== + dependencies: + "@babel/helper-plugin-utils" "^7.8.0" + +"@babel/plugin-syntax-bigint@^7.8.3": + version "7.8.3" + resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-bigint/-/plugin-syntax-bigint-7.8.3.tgz#4c9a6f669f5d0cdf1b90a1671e9a146be5300cea" + integrity sha512-wnTnFlG+YxQm3vDxpGE57Pj0srRU4sHE/mDkt1qv2YJJSeUAec2ma4WLUnUPeKjyrfntVwe/N6dCXpU+zL3Npg== + dependencies: + "@babel/helper-plugin-utils" "^7.8.0" + +"@babel/plugin-syntax-class-properties@^7.12.13", "@babel/plugin-syntax-class-properties@^7.8.3": + version "7.12.13" + resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-class-properties/-/plugin-syntax-class-properties-7.12.13.tgz#b5c987274c4a3a82b89714796931a6b53544ae10" + integrity sha512-fm4idjKla0YahUNgFNLCB0qySdsoPiZP3iQE3rky0mBUtMZ23yDJ9SJdg6dXTSDnulOVqiF3Hgr9nbXvXTQZYA== + dependencies: + "@babel/helper-plugin-utils" "^7.12.13" + +"@babel/plugin-syntax-class-static-block@^7.14.5": + version "7.14.5" + resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-class-static-block/-/plugin-syntax-class-static-block-7.14.5.tgz#195df89b146b4b78b3bf897fd7a257c84659d406" + integrity sha512-b+YyPmr6ldyNnM6sqYeMWE+bgJcJpO6yS4QD7ymxgH34GBPNDM/THBh8iunyvKIZztiwLH4CJZ0RxTk9emgpjw== + dependencies: + "@babel/helper-plugin-utils" "^7.14.5" + +"@babel/plugin-syntax-dynamic-import@^7.8.3": + version "7.8.3" + resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-dynamic-import/-/plugin-syntax-dynamic-import-7.8.3.tgz#62bf98b2da3cd21d626154fc96ee5b3cb68eacb3" + integrity sha512-5gdGbFon+PszYzqs83S3E5mpi7/y/8M9eC90MRTZfduQOYW76ig6SOSPNe41IG5LoP3FGBn2N0RjVDSQiS94kQ== + dependencies: + "@babel/helper-plugin-utils" "^7.8.0" + +"@babel/plugin-syntax-export-namespace-from@^7.8.3": + version "7.8.3" + resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-export-namespace-from/-/plugin-syntax-export-namespace-from-7.8.3.tgz#028964a9ba80dbc094c915c487ad7c4e7a66465a" + integrity sha512-MXf5laXo6c1IbEbegDmzGPwGNTsHZmEy6QGznu5Sh2UCWvueywb2ee+CCE4zQiZstxU9BMoQO9i6zUFSY0Kj0Q== + dependencies: + "@babel/helper-plugin-utils" "^7.8.3" + +"@babel/plugin-syntax-import-assertions@^7.20.0": + version "7.23.3" + resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-import-assertions/-/plugin-syntax-import-assertions-7.23.3.tgz#9c05a7f592982aff1a2768260ad84bcd3f0c77fc" + integrity sha512-lPgDSU+SJLK3xmFDTV2ZRQAiM7UuUjGidwBywFavObCiZc1BeAAcMtHJKUya92hPHO+at63JJPLygilZard8jw== + dependencies: + "@babel/helper-plugin-utils" "^7.22.5" + +"@babel/plugin-syntax-import-meta@^7.8.3": + version "7.10.4" + resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-import-meta/-/plugin-syntax-import-meta-7.10.4.tgz#ee601348c370fa334d2207be158777496521fd51" + integrity sha512-Yqfm+XDx0+Prh3VSeEQCPU81yC+JWZ2pDPFSS4ZdpfZhp4MkFMaDC1UqseovEKwSUpnIL7+vK+Clp7bfh0iD7g== + dependencies: + "@babel/helper-plugin-utils" "^7.10.4" + +"@babel/plugin-syntax-json-strings@^7.8.3": + version "7.8.3" + resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-json-strings/-/plugin-syntax-json-strings-7.8.3.tgz#01ca21b668cd8218c9e640cb6dd88c5412b2c96a" + integrity sha512-lY6kdGpWHvjoe2vk4WrAapEuBR69EMxZl+RoGRhrFGNYVK8mOPAW8VfbT/ZgrFbXlDNiiaxQnAtgVCZ6jv30EA== + dependencies: + "@babel/helper-plugin-utils" "^7.8.0" + +"@babel/plugin-syntax-jsx@^7.7.2": + version "7.23.3" + resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-jsx/-/plugin-syntax-jsx-7.23.3.tgz#8f2e4f8a9b5f9aa16067e142c1ac9cd9f810f473" + integrity sha512-EB2MELswq55OHUoRZLGg/zC7QWUKfNLpE57m/S2yr1uEneIgsTgrSzXP3NXEsMkVn76OlaVVnzN+ugObuYGwhg== + dependencies: + "@babel/helper-plugin-utils" "^7.22.5" + +"@babel/plugin-syntax-logical-assignment-operators@^7.10.4", "@babel/plugin-syntax-logical-assignment-operators@^7.8.3": + version "7.10.4" + resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-logical-assignment-operators/-/plugin-syntax-logical-assignment-operators-7.10.4.tgz#ca91ef46303530448b906652bac2e9fe9941f699" + integrity sha512-d8waShlpFDinQ5MtvGU9xDAOzKH47+FFoney2baFIoMr952hKOLp1HR7VszoZvOsV/4+RRszNY7D17ba0te0ig== + dependencies: + "@babel/helper-plugin-utils" "^7.10.4" + +"@babel/plugin-syntax-nullish-coalescing-operator@^7.8.3": + version "7.8.3" + resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-nullish-coalescing-operator/-/plugin-syntax-nullish-coalescing-operator-7.8.3.tgz#167ed70368886081f74b5c36c65a88c03b66d1a9" + integrity sha512-aSff4zPII1u2QD7y+F8oDsz19ew4IGEJg9SVW+bqwpwtfFleiQDMdzA/R+UlWDzfnHFCxxleFT0PMIrR36XLNQ== + dependencies: + "@babel/helper-plugin-utils" "^7.8.0" + +"@babel/plugin-syntax-numeric-separator@^7.10.4", "@babel/plugin-syntax-numeric-separator@^7.8.3": + version "7.10.4" + resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-numeric-separator/-/plugin-syntax-numeric-separator-7.10.4.tgz#b9b070b3e33570cd9fd07ba7fa91c0dd37b9af97" + integrity sha512-9H6YdfkcK/uOnY/K7/aA2xpzaAgkQn37yzWUMRK7OaPOqOpGS1+n0H5hxT9AUw9EsSjPW8SVyMJwYRtWs3X3ug== + dependencies: + "@babel/helper-plugin-utils" "^7.10.4" + +"@babel/plugin-syntax-object-rest-spread@^7.8.3": + version "7.8.3" + resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-object-rest-spread/-/plugin-syntax-object-rest-spread-7.8.3.tgz#60e225edcbd98a640332a2e72dd3e66f1af55871" + integrity sha512-XoqMijGZb9y3y2XskN+P1wUGiVwWZ5JmoDRwx5+3GmEplNyVM2s2Dg8ILFQm8rWM48orGy5YpI5Bl8U1y7ydlA== + dependencies: + "@babel/helper-plugin-utils" "^7.8.0" + +"@babel/plugin-syntax-optional-catch-binding@^7.8.3": + version "7.8.3" + resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-optional-catch-binding/-/plugin-syntax-optional-catch-binding-7.8.3.tgz#6111a265bcfb020eb9efd0fdfd7d26402b9ed6c1" + integrity sha512-6VPD0Pc1lpTqw0aKoeRTMiB+kWhAoT24PA+ksWSBrFtl5SIRVpZlwN3NNPQjehA2E/91FV3RjLWoVTglWcSV3Q== + dependencies: + "@babel/helper-plugin-utils" "^7.8.0" + +"@babel/plugin-syntax-optional-chaining@^7.8.3": + version "7.8.3" + resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-optional-chaining/-/plugin-syntax-optional-chaining-7.8.3.tgz#4f69c2ab95167e0180cd5336613f8c5788f7d48a" + integrity sha512-KoK9ErH1MBlCPxV0VANkXW2/dw4vlbGDrFgz8bmUsBGYkFRcbRwMh6cIJubdPrkxRwuGdtCk0v/wPTKbQgBjkg== + dependencies: + "@babel/helper-plugin-utils" "^7.8.0" + +"@babel/plugin-syntax-private-property-in-object@^7.14.5": + version "7.14.5" + resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-private-property-in-object/-/plugin-syntax-private-property-in-object-7.14.5.tgz#0dc6671ec0ea22b6e94a1114f857970cd39de1ad" + integrity sha512-0wVnp9dxJ72ZUJDV27ZfbSj6iHLoytYZmh3rFcxNnvsJF3ktkzLDZPy/mA17HGsaQT3/DQsWYX1f1QGWkCoVUg== + dependencies: + "@babel/helper-plugin-utils" "^7.14.5" + +"@babel/plugin-syntax-top-level-await@^7.14.5", "@babel/plugin-syntax-top-level-await@^7.8.3": + version "7.14.5" + resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-top-level-await/-/plugin-syntax-top-level-await-7.14.5.tgz#c1cfdadc35a646240001f06138247b741c34d94c" + integrity sha512-hx++upLv5U1rgYfwe1xBQUhRmU41NEvpUvrp8jkrSCdvGSnM5/qdRMtylJ6PG5OFkBaHkbTAKTnd3/YyESRHFw== + dependencies: + "@babel/helper-plugin-utils" "^7.14.5" + +"@babel/plugin-syntax-typescript@^7.7.2": + version "7.23.3" + resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-typescript/-/plugin-syntax-typescript-7.23.3.tgz#24f460c85dbbc983cd2b9c4994178bcc01df958f" + integrity sha512-9EiNjVJOMwCO+43TqoTrgQ8jMwcAd0sWyXi9RPfIsLTj4R2MADDDQXELhffaUx/uJv2AYcxBgPwH6j4TIA4ytQ== + dependencies: + "@babel/helper-plugin-utils" "^7.22.5" + +"@babel/plugin-transform-arrow-functions@^7.18.6": + version "7.23.3" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-arrow-functions/-/plugin-transform-arrow-functions-7.23.3.tgz#94c6dcfd731af90f27a79509f9ab7fb2120fc38b" + integrity sha512-NzQcQrzaQPkaEwoTm4Mhyl8jI1huEL/WWIEvudjTCMJ9aBZNpsJbMASx7EQECtQQPS/DcnFpo0FIh3LvEO9cxQ== + dependencies: + "@babel/helper-plugin-utils" "^7.22.5" + +"@babel/plugin-transform-async-to-generator@^7.18.6": + version "7.23.3" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-async-to-generator/-/plugin-transform-async-to-generator-7.23.3.tgz#d1f513c7a8a506d43f47df2bf25f9254b0b051fa" + integrity sha512-A7LFsKi4U4fomjqXJlZg/u0ft/n8/7n7lpffUP/ZULx/DtV9SGlNKZolHH6PE8Xl1ngCc0M11OaeZptXVkfKSw== + dependencies: + "@babel/helper-module-imports" "^7.22.15" + "@babel/helper-plugin-utils" "^7.22.5" + "@babel/helper-remap-async-to-generator" "^7.22.20" + +"@babel/plugin-transform-block-scoped-functions@^7.18.6": + version "7.23.3" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-block-scoped-functions/-/plugin-transform-block-scoped-functions-7.23.3.tgz#fe1177d715fb569663095e04f3598525d98e8c77" + integrity sha512-vI+0sIaPIO6CNuM9Kk5VmXcMVRiOpDh7w2zZt9GXzmE/9KD70CUEVhvPR/etAeNK/FAEkhxQtXOzVF3EuRL41A== + dependencies: + "@babel/helper-plugin-utils" "^7.22.5" + +"@babel/plugin-transform-block-scoping@^7.20.2": + version "7.23.4" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-block-scoping/-/plugin-transform-block-scoping-7.23.4.tgz#b2d38589531c6c80fbe25e6b58e763622d2d3cf5" + integrity sha512-0QqbP6B6HOh7/8iNR4CQU2Th/bbRtBp4KS9vcaZd1fZ0wSh5Fyssg0UCIHwxh+ka+pNDREbVLQnHCMHKZfPwfw== + dependencies: + "@babel/helper-plugin-utils" "^7.22.5" + +"@babel/plugin-transform-classes@^7.20.2": + version "7.23.8" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-classes/-/plugin-transform-classes-7.23.8.tgz#d08ae096c240347badd68cdf1b6d1624a6435d92" + integrity sha512-yAYslGsY1bX6Knmg46RjiCiNSwJKv2IUC8qOdYKqMMr0491SXFhcHqOdRDeCRohOOIzwN/90C6mQ9qAKgrP7dg== + dependencies: + "@babel/helper-annotate-as-pure" "^7.22.5" + "@babel/helper-compilation-targets" "^7.23.6" + "@babel/helper-environment-visitor" "^7.22.20" + "@babel/helper-function-name" "^7.23.0" + "@babel/helper-plugin-utils" "^7.22.5" + "@babel/helper-replace-supers" "^7.22.20" + "@babel/helper-split-export-declaration" "^7.22.6" + globals "^11.1.0" + +"@babel/plugin-transform-computed-properties@^7.18.9": + version "7.23.3" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-computed-properties/-/plugin-transform-computed-properties-7.23.3.tgz#652e69561fcc9d2b50ba4f7ac7f60dcf65e86474" + integrity sha512-dTj83UVTLw/+nbiHqQSFdwO9CbTtwq1DsDqm3CUEtDrZNET5rT5E6bIdTlOftDTDLMYxvxHNEYO4B9SLl8SLZw== + dependencies: + "@babel/helper-plugin-utils" "^7.22.5" + "@babel/template" "^7.22.15" + +"@babel/plugin-transform-destructuring@^7.20.2": + version "7.23.3" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-destructuring/-/plugin-transform-destructuring-7.23.3.tgz#8c9ee68228b12ae3dff986e56ed1ba4f3c446311" + integrity sha512-n225npDqjDIr967cMScVKHXJs7rout1q+tt50inyBCPkyZ8KxeI6d+GIbSBTT/w/9WdlWDOej3V9HE5Lgk57gw== + dependencies: + "@babel/helper-plugin-utils" "^7.22.5" + +"@babel/plugin-transform-dotall-regex@^7.18.6", "@babel/plugin-transform-dotall-regex@^7.4.4": + version "7.23.3" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-dotall-regex/-/plugin-transform-dotall-regex-7.23.3.tgz#3f7af6054882ede89c378d0cf889b854a993da50" + integrity sha512-vgnFYDHAKzFaTVp+mneDsIEbnJ2Np/9ng9iviHw3P/KVcgONxpNULEW/51Z/BaFojG2GI2GwwXck5uV1+1NOYQ== + dependencies: + "@babel/helper-create-regexp-features-plugin" "^7.22.15" + "@babel/helper-plugin-utils" "^7.22.5" + +"@babel/plugin-transform-duplicate-keys@^7.18.9": + version "7.23.3" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-duplicate-keys/-/plugin-transform-duplicate-keys-7.23.3.tgz#664706ca0a5dfe8d066537f99032fc1dc8b720ce" + integrity sha512-RrqQ+BQmU3Oyav3J+7/myfvRCq7Tbz+kKLLshUmMwNlDHExbGL7ARhajvoBJEvc+fCguPPu887N+3RRXBVKZUA== + dependencies: + "@babel/helper-plugin-utils" "^7.22.5" + +"@babel/plugin-transform-exponentiation-operator@^7.18.6": + version "7.23.3" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-exponentiation-operator/-/plugin-transform-exponentiation-operator-7.23.3.tgz#ea0d978f6b9232ba4722f3dbecdd18f450babd18" + integrity sha512-5fhCsl1odX96u7ILKHBj4/Y8vipoqwsJMh4csSA8qFfxrZDEA4Ssku2DyNvMJSmZNOEBT750LfFPbtrnTP90BQ== + dependencies: + "@babel/helper-builder-binary-assignment-operator-visitor" "^7.22.15" + "@babel/helper-plugin-utils" "^7.22.5" + +"@babel/plugin-transform-for-of@^7.18.8": + version "7.23.6" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-for-of/-/plugin-transform-for-of-7.23.6.tgz#81c37e24171b37b370ba6aaffa7ac86bcb46f94e" + integrity sha512-aYH4ytZ0qSuBbpfhuofbg/e96oQ7U2w1Aw/UQmKT+1l39uEhUPoFS3fHevDc1G0OvewyDudfMKY1OulczHzWIw== + dependencies: + "@babel/helper-plugin-utils" "^7.22.5" + "@babel/helper-skip-transparent-expression-wrappers" "^7.22.5" + +"@babel/plugin-transform-function-name@^7.18.9": + version "7.23.3" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-function-name/-/plugin-transform-function-name-7.23.3.tgz#8f424fcd862bf84cb9a1a6b42bc2f47ed630f8dc" + integrity sha512-I1QXp1LxIvt8yLaib49dRW5Okt7Q4oaxao6tFVKS/anCdEOMtYwWVKoiOA1p34GOWIZjUK0E+zCp7+l1pfQyiw== + dependencies: + "@babel/helper-compilation-targets" "^7.22.15" + "@babel/helper-function-name" "^7.23.0" + "@babel/helper-plugin-utils" "^7.22.5" + +"@babel/plugin-transform-literals@^7.18.9": + version "7.23.3" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-literals/-/plugin-transform-literals-7.23.3.tgz#8214665f00506ead73de157eba233e7381f3beb4" + integrity sha512-wZ0PIXRxnwZvl9AYpqNUxpZ5BiTGrYt7kueGQ+N5FiQ7RCOD4cm8iShd6S6ggfVIWaJf2EMk8eRzAh52RfP4rQ== + dependencies: + "@babel/helper-plugin-utils" "^7.22.5" + +"@babel/plugin-transform-member-expression-literals@^7.18.6": + version "7.23.3" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-member-expression-literals/-/plugin-transform-member-expression-literals-7.23.3.tgz#e37b3f0502289f477ac0e776b05a833d853cabcc" + integrity sha512-sC3LdDBDi5x96LA+Ytekz2ZPk8i/Ck+DEuDbRAll5rknJ5XRTSaPKEYwomLcs1AA8wg9b3KjIQRsnApj+q51Ag== + dependencies: + "@babel/helper-plugin-utils" "^7.22.5" + +"@babel/plugin-transform-modules-amd@^7.19.6": + version "7.23.3" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-modules-amd/-/plugin-transform-modules-amd-7.23.3.tgz#e19b55436a1416829df0a1afc495deedfae17f7d" + integrity sha512-vJYQGxeKM4t8hYCKVBlZX/gtIY2I7mRGFNcm85sgXGMTBcoV3QdVtdpbcWEbzbfUIUZKwvgFT82mRvaQIebZzw== + dependencies: + "@babel/helper-module-transforms" "^7.23.3" + "@babel/helper-plugin-utils" "^7.22.5" + +"@babel/plugin-transform-modules-commonjs@^7.19.6": + version "7.23.3" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-modules-commonjs/-/plugin-transform-modules-commonjs-7.23.3.tgz#661ae831b9577e52be57dd8356b734f9700b53b4" + integrity sha512-aVS0F65LKsdNOtcz6FRCpE4OgsP2OFnW46qNxNIX9h3wuzaNcSQsJysuMwqSibC98HPrf2vCgtxKNwS0DAlgcA== + dependencies: + "@babel/helper-module-transforms" "^7.23.3" + "@babel/helper-plugin-utils" "^7.22.5" + "@babel/helper-simple-access" "^7.22.5" + +"@babel/plugin-transform-modules-systemjs@^7.19.6": + version "7.23.3" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-modules-systemjs/-/plugin-transform-modules-systemjs-7.23.3.tgz#fa7e62248931cb15b9404f8052581c302dd9de81" + integrity sha512-ZxyKGTkF9xT9YJuKQRo19ewf3pXpopuYQd8cDXqNzc3mUNbOME0RKMoZxviQk74hwzfQsEe66dE92MaZbdHKNQ== + dependencies: + "@babel/helper-hoist-variables" "^7.22.5" + "@babel/helper-module-transforms" "^7.23.3" + "@babel/helper-plugin-utils" "^7.22.5" + "@babel/helper-validator-identifier" "^7.22.20" + +"@babel/plugin-transform-modules-umd@^7.18.6": + version "7.23.3" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-modules-umd/-/plugin-transform-modules-umd-7.23.3.tgz#5d4395fccd071dfefe6585a4411aa7d6b7d769e9" + integrity sha512-zHsy9iXX2nIsCBFPud3jKn1IRPWg3Ing1qOZgeKV39m1ZgIdpJqvlWVeiHBZC6ITRG0MfskhYe9cLgntfSFPIg== + dependencies: + "@babel/helper-module-transforms" "^7.23.3" + "@babel/helper-plugin-utils" "^7.22.5" + +"@babel/plugin-transform-named-capturing-groups-regex@^7.19.1": + version "7.22.5" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-named-capturing-groups-regex/-/plugin-transform-named-capturing-groups-regex-7.22.5.tgz#67fe18ee8ce02d57c855185e27e3dc959b2e991f" + integrity sha512-YgLLKmS3aUBhHaxp5hi1WJTgOUb/NCuDHzGT9z9WTt3YG+CPRhJs6nprbStx6DnWM4dh6gt7SU3sZodbZ08adQ== + dependencies: + "@babel/helper-create-regexp-features-plugin" "^7.22.5" + "@babel/helper-plugin-utils" "^7.22.5" + +"@babel/plugin-transform-new-target@^7.18.6": + version "7.23.3" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-new-target/-/plugin-transform-new-target-7.23.3.tgz#5491bb78ed6ac87e990957cea367eab781c4d980" + integrity sha512-YJ3xKqtJMAT5/TIZnpAR3I+K+WaDowYbN3xyxI8zxx/Gsypwf9B9h0VB+1Nh6ACAAPRS5NSRje0uVv5i79HYGQ== + dependencies: + "@babel/helper-plugin-utils" "^7.22.5" + +"@babel/plugin-transform-object-super@^7.18.6": + version "7.23.3" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-object-super/-/plugin-transform-object-super-7.23.3.tgz#81fdb636dcb306dd2e4e8fd80db5b2362ed2ebcd" + integrity sha512-BwQ8q0x2JG+3lxCVFohg+KbQM7plfpBwThdW9A6TMtWwLsbDA01Ek2Zb/AgDN39BiZsExm4qrXxjk+P1/fzGrA== + dependencies: + "@babel/helper-plugin-utils" "^7.22.5" + "@babel/helper-replace-supers" "^7.22.20" + +"@babel/plugin-transform-optional-chaining@^7.23.3": + version "7.23.4" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-optional-chaining/-/plugin-transform-optional-chaining-7.23.4.tgz#6acf61203bdfc4de9d4e52e64490aeb3e52bd017" + integrity sha512-ZU8y5zWOfjM5vZ+asjgAPwDaBjJzgufjES89Rs4Lpq63O300R/kOz30WCLo6BxxX6QVEilwSlpClnG5cZaikTA== + dependencies: + "@babel/helper-plugin-utils" "^7.22.5" + "@babel/helper-skip-transparent-expression-wrappers" "^7.22.5" + "@babel/plugin-syntax-optional-chaining" "^7.8.3" + +"@babel/plugin-transform-parameters@^7.20.1", "@babel/plugin-transform-parameters@^7.20.7": + version "7.23.3" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-parameters/-/plugin-transform-parameters-7.23.3.tgz#83ef5d1baf4b1072fa6e54b2b0999a7b2527e2af" + integrity sha512-09lMt6UsUb3/34BbECKVbVwrT9bO6lILWln237z7sLaWnMsTi7Yc9fhX5DLpkJzAGfaReXI22wP41SZmnAA3Vw== + dependencies: + "@babel/helper-plugin-utils" "^7.22.5" + +"@babel/plugin-transform-property-literals@^7.18.6": + version "7.23.3" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-property-literals/-/plugin-transform-property-literals-7.23.3.tgz#54518f14ac4755d22b92162e4a852d308a560875" + integrity sha512-jR3Jn3y7cZp4oEWPFAlRsSWjxKe4PZILGBSd4nis1TsC5qeSpb+nrtihJuDhNI7QHiVbUaiXa0X2RZY3/TI6Nw== + dependencies: + "@babel/helper-plugin-utils" "^7.22.5" + +"@babel/plugin-transform-regenerator@^7.18.6": + version "7.23.3" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-regenerator/-/plugin-transform-regenerator-7.23.3.tgz#141afd4a2057298602069fce7f2dc5173e6c561c" + integrity sha512-KP+75h0KghBMcVpuKisx3XTu9Ncut8Q8TuvGO4IhY+9D5DFEckQefOuIsB/gQ2tG71lCke4NMrtIPS8pOj18BQ== + dependencies: + "@babel/helper-plugin-utils" "^7.22.5" + regenerator-transform "^0.15.2" + +"@babel/plugin-transform-reserved-words@^7.18.6": + version "7.23.3" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-reserved-words/-/plugin-transform-reserved-words-7.23.3.tgz#4130dcee12bd3dd5705c587947eb715da12efac8" + integrity sha512-QnNTazY54YqgGxwIexMZva9gqbPa15t/x9VS+0fsEFWplwVpXYZivtgl43Z1vMpc1bdPP2PP8siFeVcnFvA3Cg== + dependencies: + "@babel/helper-plugin-utils" "^7.22.5" + +"@babel/plugin-transform-shorthand-properties@^7.18.6": + version "7.23.3" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-shorthand-properties/-/plugin-transform-shorthand-properties-7.23.3.tgz#97d82a39b0e0c24f8a981568a8ed851745f59210" + integrity sha512-ED2fgqZLmexWiN+YNFX26fx4gh5qHDhn1O2gvEhreLW2iI63Sqm4llRLCXALKrCnbN4Jy0VcMQZl/SAzqug/jg== + dependencies: + "@babel/helper-plugin-utils" "^7.22.5" + +"@babel/plugin-transform-spread@^7.19.0": + version "7.23.3" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-spread/-/plugin-transform-spread-7.23.3.tgz#41d17aacb12bde55168403c6f2d6bdca563d362c" + integrity sha512-VvfVYlrlBVu+77xVTOAoxQ6mZbnIq5FM0aGBSFEcIh03qHf+zNqA4DC/3XMUozTg7bZV3e3mZQ0i13VB6v5yUg== + dependencies: + "@babel/helper-plugin-utils" "^7.22.5" + "@babel/helper-skip-transparent-expression-wrappers" "^7.22.5" + +"@babel/plugin-transform-sticky-regex@^7.18.6": + version "7.23.3" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-sticky-regex/-/plugin-transform-sticky-regex-7.23.3.tgz#dec45588ab4a723cb579c609b294a3d1bd22ff04" + integrity sha512-HZOyN9g+rtvnOU3Yh7kSxXrKbzgrm5X4GncPY1QOquu7epga5MxKHVpYu2hvQnry/H+JjckSYRb93iNfsioAGg== + dependencies: + "@babel/helper-plugin-utils" "^7.22.5" + +"@babel/plugin-transform-template-literals@^7.18.9": + version "7.23.3" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-template-literals/-/plugin-transform-template-literals-7.23.3.tgz#5f0f028eb14e50b5d0f76be57f90045757539d07" + integrity sha512-Flok06AYNp7GV2oJPZZcP9vZdszev6vPBkHLwxwSpaIqx75wn6mUd3UFWsSsA0l8nXAKkyCmL/sR02m8RYGeHg== + dependencies: + "@babel/helper-plugin-utils" "^7.22.5" + +"@babel/plugin-transform-typeof-symbol@^7.18.9": + version "7.23.3" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-typeof-symbol/-/plugin-transform-typeof-symbol-7.23.3.tgz#9dfab97acc87495c0c449014eb9c547d8966bca4" + integrity sha512-4t15ViVnaFdrPC74be1gXBSMzXk3B4Us9lP7uLRQHTFpV5Dvt33pn+2MyyNxmN3VTTm3oTrZVMUmuw3oBnQ2oQ== + dependencies: + "@babel/helper-plugin-utils" "^7.22.5" + +"@babel/plugin-transform-unicode-escapes@^7.18.10": + version "7.23.3" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-unicode-escapes/-/plugin-transform-unicode-escapes-7.23.3.tgz#1f66d16cab01fab98d784867d24f70c1ca65b925" + integrity sha512-OMCUx/bU6ChE3r4+ZdylEqAjaQgHAgipgW8nsCfu5pGqDcFytVd91AwRvUJSBZDz0exPGgnjoqhgRYLRjFZc9Q== + dependencies: + "@babel/helper-plugin-utils" "^7.22.5" + +"@babel/plugin-transform-unicode-regex@^7.18.6": + version "7.23.3" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-unicode-regex/-/plugin-transform-unicode-regex-7.23.3.tgz#26897708d8f42654ca4ce1b73e96140fbad879dc" + integrity sha512-wMHpNA4x2cIA32b/ci3AfwNgheiva2W0WUKWTK7vBHBhDKfPsc5cFGNWm69WBqpwd86u1qwZ9PWevKqm1A3yAw== + dependencies: + "@babel/helper-create-regexp-features-plugin" "^7.22.15" + "@babel/helper-plugin-utils" "^7.22.5" + +"@babel/preset-env@7.20.2": + version "7.20.2" + resolved "https://registry.yarnpkg.com/@babel/preset-env/-/preset-env-7.20.2.tgz#9b1642aa47bb9f43a86f9630011780dab7f86506" + integrity sha512-1G0efQEWR1EHkKvKHqbG+IN/QdgwfByUpM5V5QroDzGV2t3S/WXNQd693cHiHTlCFMpr9B6FkPFXDA2lQcKoDg== + dependencies: + "@babel/compat-data" "^7.20.1" + "@babel/helper-compilation-targets" "^7.20.0" + "@babel/helper-plugin-utils" "^7.20.2" + "@babel/helper-validator-option" "^7.18.6" + "@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression" "^7.18.6" + "@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining" "^7.18.9" + "@babel/plugin-proposal-async-generator-functions" "^7.20.1" + "@babel/plugin-proposal-class-properties" "^7.18.6" + "@babel/plugin-proposal-class-static-block" "^7.18.6" + "@babel/plugin-proposal-dynamic-import" "^7.18.6" + "@babel/plugin-proposal-export-namespace-from" "^7.18.9" + "@babel/plugin-proposal-json-strings" "^7.18.6" + "@babel/plugin-proposal-logical-assignment-operators" "^7.18.9" + "@babel/plugin-proposal-nullish-coalescing-operator" "^7.18.6" + "@babel/plugin-proposal-numeric-separator" "^7.18.6" + "@babel/plugin-proposal-object-rest-spread" "^7.20.2" + "@babel/plugin-proposal-optional-catch-binding" "^7.18.6" + "@babel/plugin-proposal-optional-chaining" "^7.18.9" + "@babel/plugin-proposal-private-methods" "^7.18.6" + "@babel/plugin-proposal-private-property-in-object" "^7.18.6" + "@babel/plugin-proposal-unicode-property-regex" "^7.18.6" + "@babel/plugin-syntax-async-generators" "^7.8.4" + "@babel/plugin-syntax-class-properties" "^7.12.13" + "@babel/plugin-syntax-class-static-block" "^7.14.5" + "@babel/plugin-syntax-dynamic-import" "^7.8.3" + "@babel/plugin-syntax-export-namespace-from" "^7.8.3" + "@babel/plugin-syntax-import-assertions" "^7.20.0" + "@babel/plugin-syntax-json-strings" "^7.8.3" + "@babel/plugin-syntax-logical-assignment-operators" "^7.10.4" + "@babel/plugin-syntax-nullish-coalescing-operator" "^7.8.3" + "@babel/plugin-syntax-numeric-separator" "^7.10.4" + "@babel/plugin-syntax-object-rest-spread" "^7.8.3" + "@babel/plugin-syntax-optional-catch-binding" "^7.8.3" + "@babel/plugin-syntax-optional-chaining" "^7.8.3" + "@babel/plugin-syntax-private-property-in-object" "^7.14.5" + "@babel/plugin-syntax-top-level-await" "^7.14.5" + "@babel/plugin-transform-arrow-functions" "^7.18.6" + "@babel/plugin-transform-async-to-generator" "^7.18.6" + "@babel/plugin-transform-block-scoped-functions" "^7.18.6" + "@babel/plugin-transform-block-scoping" "^7.20.2" + "@babel/plugin-transform-classes" "^7.20.2" + "@babel/plugin-transform-computed-properties" "^7.18.9" + "@babel/plugin-transform-destructuring" "^7.20.2" + "@babel/plugin-transform-dotall-regex" "^7.18.6" + "@babel/plugin-transform-duplicate-keys" "^7.18.9" + "@babel/plugin-transform-exponentiation-operator" "^7.18.6" + "@babel/plugin-transform-for-of" "^7.18.8" + "@babel/plugin-transform-function-name" "^7.18.9" + "@babel/plugin-transform-literals" "^7.18.9" + "@babel/plugin-transform-member-expression-literals" "^7.18.6" + "@babel/plugin-transform-modules-amd" "^7.19.6" + "@babel/plugin-transform-modules-commonjs" "^7.19.6" + "@babel/plugin-transform-modules-systemjs" "^7.19.6" + "@babel/plugin-transform-modules-umd" "^7.18.6" + "@babel/plugin-transform-named-capturing-groups-regex" "^7.19.1" + "@babel/plugin-transform-new-target" "^7.18.6" + "@babel/plugin-transform-object-super" "^7.18.6" + "@babel/plugin-transform-parameters" "^7.20.1" + "@babel/plugin-transform-property-literals" "^7.18.6" + "@babel/plugin-transform-regenerator" "^7.18.6" + "@babel/plugin-transform-reserved-words" "^7.18.6" + "@babel/plugin-transform-shorthand-properties" "^7.18.6" + "@babel/plugin-transform-spread" "^7.19.0" + "@babel/plugin-transform-sticky-regex" "^7.18.6" + "@babel/plugin-transform-template-literals" "^7.18.9" + "@babel/plugin-transform-typeof-symbol" "^7.18.9" + "@babel/plugin-transform-unicode-escapes" "^7.18.10" + "@babel/plugin-transform-unicode-regex" "^7.18.6" + "@babel/preset-modules" "^0.1.5" + "@babel/types" "^7.20.2" + babel-plugin-polyfill-corejs2 "^0.3.3" + babel-plugin-polyfill-corejs3 "^0.6.0" + babel-plugin-polyfill-regenerator "^0.4.1" + core-js-compat "^3.25.1" + semver "^6.3.0" + +"@babel/preset-modules@^0.1.5": + version "0.1.6" + resolved "https://registry.yarnpkg.com/@babel/preset-modules/-/preset-modules-0.1.6.tgz#31bcdd8f19538437339d17af00d177d854d9d458" + integrity sha512-ID2yj6K/4lKfhuU3+EX4UvNbIt7eACFbHmNUjzA+ep+B5971CknnA/9DEWKbRokfbbtblxxxXFJJrH47UEAMVg== + dependencies: + "@babel/helper-plugin-utils" "^7.0.0" + "@babel/plugin-proposal-unicode-property-regex" "^7.4.4" + "@babel/plugin-transform-dotall-regex" "^7.4.4" + "@babel/types" "^7.4.4" + esutils "^2.0.2" + +"@babel/regjsgen@^0.8.0": + version "0.8.0" + resolved "https://registry.yarnpkg.com/@babel/regjsgen/-/regjsgen-0.8.0.tgz#f0ba69b075e1f05fb2825b7fad991e7adbb18310" + integrity sha512-x/rqGMdzj+fWZvCOYForTghzbtqPDZ5gPwaoNGHdgDfF2QA/XZbCBp4Moo5scrkAMPhB7z26XM/AaHuIJdgauA== + +"@babel/runtime@^7.0.0", "@babel/runtime@^7.1.2", "@babel/runtime@^7.10.1", "@babel/runtime@^7.11.1", "@babel/runtime@^7.11.2", "@babel/runtime@^7.12.0", "@babel/runtime@^7.12.1", "@babel/runtime@^7.12.13", "@babel/runtime@^7.12.5", "@babel/runtime@^7.15.4", "@babel/runtime@^7.18.0", "@babel/runtime@^7.18.3", "@babel/runtime@^7.20.0", "@babel/runtime@^7.20.6", "@babel/runtime@^7.20.7", "@babel/runtime@^7.23.2", "@babel/runtime@^7.5.5", "@babel/runtime@^7.6.2", "@babel/runtime@^7.8.4", "@babel/runtime@^7.8.7", "@babel/runtime@^7.9.2": + version "7.23.8" + resolved "https://registry.yarnpkg.com/@babel/runtime/-/runtime-7.23.8.tgz#8ee6fe1ac47add7122902f257b8ddf55c898f650" + integrity sha512-Y7KbAP984rn1VGMbGqKmBLio9V7y5Je9GvU4rQPCPinCyNfUcToxIXl06d59URp/F3LwinvODxab5N/G6qggkw== + dependencies: + regenerator-runtime "^0.14.0" + +"@babel/template@^7.18.10", "@babel/template@^7.22.15", "@babel/template@^7.3.3": + version "7.22.15" + resolved "https://registry.yarnpkg.com/@babel/template/-/template-7.22.15.tgz#09576efc3830f0430f4548ef971dde1350ef2f38" + integrity sha512-QPErUVm4uyJa60rkI73qneDacvdvzxshT3kksGqlGWYdOTIUOwJ7RDUL8sGqslY1uXWSL6xMFKEXDS3ox2uF0w== + dependencies: + "@babel/code-frame" "^7.22.13" + "@babel/parser" "^7.22.15" + "@babel/types" "^7.22.15" + +"@babel/traverse@^7.20.5", "@babel/traverse@^7.23.7": + version "7.23.7" + resolved "https://registry.yarnpkg.com/@babel/traverse/-/traverse-7.23.7.tgz#9a7bf285c928cb99b5ead19c3b1ce5b310c9c305" + integrity sha512-tY3mM8rH9jM0YHFGyfC0/xf+SB5eKUu7HPj7/k3fpi9dAlsMc5YbQvDi0Sh2QTPXqMhyaAtzAr807TIyfQrmyg== + dependencies: + "@babel/code-frame" "^7.23.5" + "@babel/generator" "^7.23.6" + "@babel/helper-environment-visitor" "^7.22.20" + "@babel/helper-function-name" "^7.23.0" + "@babel/helper-hoist-variables" "^7.22.5" + "@babel/helper-split-export-declaration" "^7.22.6" + "@babel/parser" "^7.23.6" + "@babel/types" "^7.23.6" + debug "^4.3.1" + globals "^11.1.0" + +"@babel/types@^7.0.0", "@babel/types@^7.20.2", "@babel/types@^7.20.5", "@babel/types@^7.20.7", "@babel/types@^7.22.15", "@babel/types@^7.22.19", "@babel/types@^7.22.5", "@babel/types@^7.23.0", "@babel/types@^7.23.6", "@babel/types@^7.3.3", "@babel/types@^7.4.4": + version "7.23.6" + resolved "https://registry.yarnpkg.com/@babel/types/-/types-7.23.6.tgz#be33fdb151e1f5a56877d704492c240fc71c7ccd" + integrity sha512-+uarb83brBzPKN38NX1MkB6vb6+mwvR6amUulqAE7ccQw1pEl+bCia9TbdG1lsnFP7lZySvUn37CHyXQdfTwzg== + dependencies: + "@babel/helper-string-parser" "^7.23.4" + "@babel/helper-validator-identifier" "^7.22.20" + to-fast-properties "^2.0.0" + +"@bcoe/v8-coverage@^0.2.3": + version "0.2.3" + resolved "https://registry.yarnpkg.com/@bcoe/v8-coverage/-/v8-coverage-0.2.3.tgz#75a2e8b51cb758a7553d6804a5932d7aace75c39" + integrity sha512-0hYQ8SB4Db5zvZB4axdMHGwEaQjkZzFjQiN9LVYvIFB2nSUHW9tYpxWriPrWDASIxiaXax83REcLxuSdnGPZtw== + +"@braintree/sanitize-url@6.0.2": + version "6.0.2" + resolved "https://registry.yarnpkg.com/@braintree/sanitize-url/-/sanitize-url-6.0.2.tgz#6110f918d273fe2af8ea1c4398a88774bb9fc12f" + integrity sha512-Tbsj02wXCbqGmzdnXNk0SOF19ChhRU70BsroIi4Pm6Ehp56in6vch94mfbdQ17DozxkL3BAVjbZ4Qc1a0HFRAg== + +"@colors/colors@1.5.0": + version "1.5.0" + resolved "https://registry.yarnpkg.com/@colors/colors/-/colors-1.5.0.tgz#bb504579c1cae923e6576a4f5da43d25f97bdbd9" + integrity sha512-ooWCrlZP11i8GImSjTHYHLkvFDP48nS4+204nGb1RiX/WXYHmJA2III9/e2DWVabCESdW7hBAEzHRqUn9OUVvQ== + +"@cspotcode/source-map-support@^0.8.0": + version "0.8.1" + resolved "https://registry.yarnpkg.com/@cspotcode/source-map-support/-/source-map-support-0.8.1.tgz#00629c35a688e05a88b1cda684fb9d5e73f000a1" + integrity sha512-IchNf6dN4tHoMFIn/7OE8LWZ19Y6q/67Bmf6vnGREv8RSbBVb9LPJxEcnwrcwX6ixSvaiGoomAUvu4YSxXrVgw== + dependencies: + "@jridgewell/trace-mapping" "0.3.9" + +"@cypress/request@^2.88.10": + version "2.88.12" + resolved "https://registry.yarnpkg.com/@cypress/request/-/request-2.88.12.tgz#ba4911431738494a85e93fb04498cb38bc55d590" + integrity sha512-tOn+0mDZxASFM+cuAP9szGUGPI1HwWVSvdzm7V4cCsPdFTx6qMj29CwaQmRAMIEhORIUBFBsYROYJcveK4uOjA== + dependencies: + aws-sign2 "~0.7.0" + aws4 "^1.8.0" + caseless "~0.12.0" + combined-stream "~1.0.6" + extend "~3.0.2" + forever-agent "~0.6.1" + form-data "~2.3.2" + http-signature "~1.3.6" + is-typedarray "~1.0.0" + isstream "~0.1.2" + json-stringify-safe "~5.0.1" + mime-types "~2.1.19" + performance-now "^2.1.0" + qs "~6.10.3" + safe-buffer "^5.1.2" + tough-cookie "^4.1.3" + tunnel-agent "^0.6.0" + uuid "^8.3.2" + +"@cypress/webpack-preprocessor@5.17.0": + version "5.17.0" + resolved "https://registry.yarnpkg.com/@cypress/webpack-preprocessor/-/webpack-preprocessor-5.17.0.tgz#3f58cf333c5931094780e3ca14c9302a1965025e" + integrity sha512-HyFqHkrOrIIYOt4G+r3VK0kVYTcev1tEcqBI/0DJ4AzEuEgW/TB+cX56txy4Cgn60XXdJoul2utclZwUqOsPZA== + dependencies: + bluebird "3.7.1" + debug "^4.3.4" + lodash "^4.17.20" + +"@cypress/xvfb@^1.2.4": + version "1.2.4" + resolved "https://registry.yarnpkg.com/@cypress/xvfb/-/xvfb-1.2.4.tgz#2daf42e8275b39f4aa53c14214e557bd14e7748a" + integrity sha512-skbBzPggOVYCbnGgV+0dmBdW/s77ZkAOXIC1knS8NagwDjBrNC1LuXtQJeiN6l+m7lzmHtaoUw/ctJKdqkG57Q== + dependencies: + debug "^3.1.0" + lodash.once "^4.1.1" + +"@discoveryjs/json-ext@^0.5.0": + version "0.5.7" + resolved "https://registry.yarnpkg.com/@discoveryjs/json-ext/-/json-ext-0.5.7.tgz#1d572bfbbe14b7704e0ba0f39b74815b84870d70" + integrity sha512-dBVuXR082gk3jsFp7Rd/JI4kytwGHecnCoTtXFb7DB6CNHp4rg5k1bhg0nWdLGLnOV71lmDzGQaLMy8iPLY0pw== + +"@emotion/babel-plugin@^11.10.6", "@emotion/babel-plugin@^11.11.0": + version "11.11.0" + resolved "https://registry.yarnpkg.com/@emotion/babel-plugin/-/babel-plugin-11.11.0.tgz#c2d872b6a7767a9d176d007f5b31f7d504bb5d6c" + integrity sha512-m4HEDZleaaCH+XgDDsPF15Ht6wTLsgDTeR3WYj9Q/k76JtWhrJjcP4+/XlG8LGT/Rol9qUfOIztXeA84ATpqPQ== + dependencies: + "@babel/helper-module-imports" "^7.16.7" + "@babel/runtime" "^7.18.3" + "@emotion/hash" "^0.9.1" + "@emotion/memoize" "^0.8.1" + "@emotion/serialize" "^1.1.2" + babel-plugin-macros "^3.1.0" + convert-source-map "^1.5.0" + escape-string-regexp "^4.0.0" + find-root "^1.1.0" + source-map "^0.5.7" + stylis "4.2.0" + +"@emotion/cache@^11.10.5", "@emotion/cache@^11.11.0", "@emotion/cache@^11.4.0": + version "11.11.0" + resolved "https://registry.yarnpkg.com/@emotion/cache/-/cache-11.11.0.tgz#809b33ee6b1cb1a625fef7a45bc568ccd9b8f3ff" + integrity sha512-P34z9ssTCBi3e9EI1ZsWpNHcfY1r09ZO0rZbRO2ob3ZQMnFI35jB536qoXbkdesr5EUhYi22anuEJuyxifaqAQ== + dependencies: + "@emotion/memoize" "^0.8.1" + "@emotion/sheet" "^1.2.2" + "@emotion/utils" "^1.2.1" + "@emotion/weak-memoize" "^0.3.1" + stylis "4.2.0" + +"@emotion/css@11.10.6": + version "11.10.6" + resolved "https://registry.yarnpkg.com/@emotion/css/-/css-11.10.6.tgz#5d226fdd8ef2a46d28e4eb09f66dc01a3bda5a04" + integrity sha512-88Sr+3heKAKpj9PCqq5A1hAmAkoSIvwEq1O2TwDij7fUtsJpdkV4jMTISSTouFeRvsGvXIpuSuDQ4C1YdfNGXw== + dependencies: + "@emotion/babel-plugin" "^11.10.6" + "@emotion/cache" "^11.10.5" + "@emotion/serialize" "^1.1.1" + "@emotion/sheet" "^1.2.1" + "@emotion/utils" "^1.2.0" + +"@emotion/hash@^0.9.1": + version "0.9.1" + resolved "https://registry.yarnpkg.com/@emotion/hash/-/hash-0.9.1.tgz#4ffb0055f7ef676ebc3a5a91fb621393294e2f43" + integrity sha512-gJB6HLm5rYwSLI6PQa+X1t5CFGrv1J1TWG+sOyMCeKz2ojaj6Fnl/rZEspogG+cvqbt4AE/2eIyD2QfLKTBNlQ== + +"@emotion/memoize@^0.8.1": + version "0.8.1" + resolved "https://registry.yarnpkg.com/@emotion/memoize/-/memoize-0.8.1.tgz#c1ddb040429c6d21d38cc945fe75c818cfb68e17" + integrity sha512-W2P2c/VRW1/1tLox0mVUalvnWXxavmv/Oum2aPsRcoDJuob75FC3Y8FbpfLwUegRcxINtGUMPq0tFCvYNTBXNA== + +"@emotion/react@11.10.6": + version "11.10.6" + resolved "https://registry.yarnpkg.com/@emotion/react/-/react-11.10.6.tgz#dbe5e650ab0f3b1d2e592e6ab1e006e75fd9ac11" + integrity sha512-6HT8jBmcSkfzO7mc+N1L9uwvOnlcGoix8Zn7srt+9ga0MjREo6lRpuVX0kzo6Jp6oTqDhREOFsygN6Ew4fEQbw== + dependencies: + "@babel/runtime" "^7.18.3" + "@emotion/babel-plugin" "^11.10.6" + "@emotion/cache" "^11.10.5" + "@emotion/serialize" "^1.1.1" + "@emotion/use-insertion-effect-with-fallbacks" "^1.0.0" + "@emotion/utils" "^1.2.0" + "@emotion/weak-memoize" "^0.3.0" + hoist-non-react-statics "^3.3.1" + +"@emotion/react@^11.8.1": + version "11.11.3" + resolved "https://registry.yarnpkg.com/@emotion/react/-/react-11.11.3.tgz#96b855dc40a2a55f52a72f518a41db4f69c31a25" + integrity sha512-Cnn0kuq4DoONOMcnoVsTOR8E+AdnKFf//6kUWc4LCdnxj31pZWn7rIULd6Y7/Js1PiPHzn7SKCM9vB/jBni8eA== + dependencies: + "@babel/runtime" "^7.18.3" + "@emotion/babel-plugin" "^11.11.0" + "@emotion/cache" "^11.11.0" + "@emotion/serialize" "^1.1.3" + "@emotion/use-insertion-effect-with-fallbacks" "^1.0.1" + "@emotion/utils" "^1.2.1" + "@emotion/weak-memoize" "^0.3.1" + hoist-non-react-statics "^3.3.1" + +"@emotion/serialize@^1.1.1", "@emotion/serialize@^1.1.2", "@emotion/serialize@^1.1.3": + version "1.1.3" + resolved "https://registry.yarnpkg.com/@emotion/serialize/-/serialize-1.1.3.tgz#84b77bfcfe3b7bb47d326602f640ccfcacd5ffb0" + integrity sha512-iD4D6QVZFDhcbH0RAG1uVu1CwVLMWUkCvAqqlewO/rxf8+87yIBAlt4+AxMiiKPLs5hFc0owNk/sLLAOROw3cA== + dependencies: + "@emotion/hash" "^0.9.1" + "@emotion/memoize" "^0.8.1" + "@emotion/unitless" "^0.8.1" + "@emotion/utils" "^1.2.1" + csstype "^3.0.2" + +"@emotion/sheet@^1.2.1", "@emotion/sheet@^1.2.2": + version "1.2.2" + resolved "https://registry.yarnpkg.com/@emotion/sheet/-/sheet-1.2.2.tgz#d58e788ee27267a14342303e1abb3d508b6d0fec" + integrity sha512-0QBtGvaqtWi+nx6doRwDdBIzhNdZrXUppvTM4dtZZWEGTXL/XE/yJxLMGlDT1Gt+UHH5IX1n+jkXyytE/av7OA== + +"@emotion/unitless@^0.8.1": + version "0.8.1" + resolved "https://registry.yarnpkg.com/@emotion/unitless/-/unitless-0.8.1.tgz#182b5a4704ef8ad91bde93f7a860a88fd92c79a3" + integrity sha512-KOEGMu6dmJZtpadb476IsZBclKvILjopjUii3V+7MnXIQCYh8W3NgNcgwo21n9LXZX6EDIKvqfjYxXebDwxKmQ== + +"@emotion/use-insertion-effect-with-fallbacks@^1.0.0", "@emotion/use-insertion-effect-with-fallbacks@^1.0.1": + version "1.0.1" + resolved "https://registry.yarnpkg.com/@emotion/use-insertion-effect-with-fallbacks/-/use-insertion-effect-with-fallbacks-1.0.1.tgz#08de79f54eb3406f9daaf77c76e35313da963963" + integrity sha512-jT/qyKZ9rzLErtrjGgdkMBn2OP8wl0G3sQlBb3YPryvKHsjvINUhVaPFfP+fpBcOkmrVOVEEHQFJ7nbj2TH2gw== + +"@emotion/utils@^1.2.0", "@emotion/utils@^1.2.1": + version "1.2.1" + resolved "https://registry.yarnpkg.com/@emotion/utils/-/utils-1.2.1.tgz#bbab58465738d31ae4cb3dbb6fc00a5991f755e4" + integrity sha512-Y2tGf3I+XVnajdItskUCn6LX+VUDmP6lTL4fcqsXAv43dnlbZiuW4MWQW38rW/BVWSE7Q/7+XQocmpnRYILUmg== + +"@emotion/weak-memoize@^0.3.0", "@emotion/weak-memoize@^0.3.1": + version "0.3.1" + resolved "https://registry.yarnpkg.com/@emotion/weak-memoize/-/weak-memoize-0.3.1.tgz#d0fce5d07b0620caa282b5131c297bb60f9d87e6" + integrity sha512-EsBwpc7hBUJWAsNPBmJy4hxWx12v6bshQsldrVmjxJoc3isbxhOrF2IcCpaXxfvq03NwkI7sbsOLXbYuqF/8Ww== + +"@es-joy/jsdoccomment@~0.39.4": + version "0.39.4" + resolved "https://registry.yarnpkg.com/@es-joy/jsdoccomment/-/jsdoccomment-0.39.4.tgz#6b8a62e9b3077027837728818d3c4389a898b392" + integrity sha512-Jvw915fjqQct445+yron7Dufix9A+m9j1fCJYlCo1FWlRvTxa3pjJelxdSTdaLWcTwRU6vbL+NYjO4YuNIS5Qg== + dependencies: + comment-parser "1.3.1" + esquery "^1.5.0" + jsdoc-type-pratt-parser "~4.0.0" + +"@eslint-community/eslint-utils@^4.2.0", "@eslint-community/eslint-utils@^4.4.0": + version "4.4.0" + resolved "https://registry.yarnpkg.com/@eslint-community/eslint-utils/-/eslint-utils-4.4.0.tgz#a23514e8fb9af1269d5f7788aa556798d61c6b59" + integrity sha512-1/sA4dwrzBAyeUoQ6oxahHKmrZvsnLCg4RfxW3ZFGGmQkSNQPFNLV9CUEFQP1x9EYXHTo5p6xdhZM1Ne9p/AfA== + dependencies: + eslint-visitor-keys "^3.3.0" + +"@eslint-community/regexpp@^4.4.0": + version "4.10.0" + resolved "https://registry.yarnpkg.com/@eslint-community/regexpp/-/regexpp-4.10.0.tgz#548f6de556857c8bb73bbee70c35dc82a2e74d63" + integrity sha512-Cu96Sd2By9mCNTx2iyKOmq10v22jUVQv0lQnlGNy16oE9589yE+QADPbrMGCkA51cKZSg3Pu/aTJVTGfL/qjUA== + +"@eslint/eslintrc@^2.0.3": + version "2.1.4" + resolved "https://registry.yarnpkg.com/@eslint/eslintrc/-/eslintrc-2.1.4.tgz#388a269f0f25c1b6adc317b5a2c55714894c70ad" + integrity sha512-269Z39MS6wVJtsoUl10L60WdkhJVdPG24Q4eZTH3nnF6lpvSShEK3wQjDX9JRWAUPvPh7COouPpU9IrqaZFvtQ== + dependencies: + ajv "^6.12.4" + debug "^4.3.2" + espree "^9.6.0" + globals "^13.19.0" + ignore "^5.2.0" + import-fresh "^3.2.1" + js-yaml "^4.1.0" + minimatch "^3.1.2" + strip-json-comments "^3.1.1" + +"@eslint/js@8.42.0": + version "8.42.0" + resolved "https://registry.yarnpkg.com/@eslint/js/-/js-8.42.0.tgz#484a1d638de2911e6f5a30c12f49c7e4a3270fb6" + integrity sha512-6SWlXpWU5AvId8Ac7zjzmIOqMOba/JWY8XZ4A7q7Gn1Vlfg/SFFIlrtHXt9nPn4op9ZPAkl91Jao+QQv3r/ukw== + +"@floating-ui/core@^1.5.3": + version "1.5.3" + resolved "https://registry.yarnpkg.com/@floating-ui/core/-/core-1.5.3.tgz#b6aa0827708d70971c8679a16cf680a515b8a52a" + integrity sha512-O0WKDOo0yhJuugCx6trZQj5jVJ9yR0ystG2JaNAemYUWce+pmM6WUEFIibnWyEJKdrDxhm75NoSRME35FNaM/Q== + dependencies: + "@floating-ui/utils" "^0.2.0" + +"@floating-ui/dom@^1.0.1": + version "1.5.4" + resolved "https://registry.yarnpkg.com/@floating-ui/dom/-/dom-1.5.4.tgz#28df1e1cb373884224a463235c218dcbd81a16bb" + integrity sha512-jByEsHIY+eEdCjnTVu+E3ephzTOzkQ8hgUfGwos+bg7NlH33Zc5uO+QHz1mrQUOgIKKDD1RtS201P9NvAfq3XQ== + dependencies: + "@floating-ui/core" "^1.5.3" + "@floating-ui/utils" "^0.2.0" + +"@floating-ui/utils@^0.2.0": + version "0.2.1" + resolved "https://registry.yarnpkg.com/@floating-ui/utils/-/utils-0.2.1.tgz#16308cea045f0fc777b6ff20a9f25474dd8293d2" + integrity sha512-9TANp6GPoMtYzQdt54kfAyMmz1+osLlXdg2ENroU7zzrtflTLrrC/lgrIfaSe+Wu0b89GKccT7vxXA0MoAIO+Q== + +"@formatjs/ecma402-abstract@1.18.2": + version "1.18.2" + resolved "https://registry.yarnpkg.com/@formatjs/ecma402-abstract/-/ecma402-abstract-1.18.2.tgz#bf103712a406874eb1e387858d5be2371ab3aa14" + integrity sha512-+QoPW4csYALsQIl8GbN14igZzDbuwzcpWrku9nyMXlaqAlwRBgl5V+p0vWMGFqHOw37czNXaP/lEk4wbLgcmtA== + dependencies: + "@formatjs/intl-localematcher" "0.5.4" + tslib "^2.4.0" + +"@formatjs/fast-memoize@2.2.0": + version "2.2.0" + resolved "https://registry.yarnpkg.com/@formatjs/fast-memoize/-/fast-memoize-2.2.0.tgz#33bd616d2e486c3e8ef4e68c99648c196887802b" + integrity sha512-hnk/nY8FyrL5YxwP9e4r9dqeM6cAbo8PeU9UjyXojZMNvVad2Z06FAVHyR3Ecw6fza+0GH7vdJgiKIVXTMbSBA== + dependencies: + tslib "^2.4.0" + +"@formatjs/icu-messageformat-parser@2.7.5": + version "2.7.5" + resolved "https://registry.yarnpkg.com/@formatjs/icu-messageformat-parser/-/icu-messageformat-parser-2.7.5.tgz#6c12c08544eafef874df13b30729daf7b4dbd089" + integrity sha512-zCB53HdGDibh6/2ISEN3TGsFQruQ6gGKMFV94qHNyVrs0tNO6ncKhV0vq0n3Ydz8ipIQ2GaYAvfCoimNOVvKqA== + dependencies: + "@formatjs/ecma402-abstract" "1.18.2" + "@formatjs/icu-skeleton-parser" "1.7.2" + tslib "^2.4.0" + +"@formatjs/icu-skeleton-parser@1.7.2": + version "1.7.2" + resolved "https://registry.yarnpkg.com/@formatjs/icu-skeleton-parser/-/icu-skeleton-parser-1.7.2.tgz#ffbdd535c33249635ad0e54a34813194287a1567" + integrity sha512-nlIXVv280bjGW3ail5Np1+xgGKBnMhwQQIivgbk9xX0af8ESQO+y2VW9TOY7mCrs3WH786uVpZlLimXAlXH7SA== + dependencies: + "@formatjs/ecma402-abstract" "1.18.2" + tslib "^2.4.0" + +"@formatjs/intl-localematcher@0.5.4": + version "0.5.4" + resolved "https://registry.yarnpkg.com/@formatjs/intl-localematcher/-/intl-localematcher-0.5.4.tgz#caa71f2e40d93e37d58be35cfffe57865f2b366f" + integrity sha512-zTwEpWOzZ2CiKcB93BLngUX59hQkuZjT2+SAQEscSm52peDW/getsawMcWF1rGRpMCX6D7nSJA3CzJ8gn13N/g== + dependencies: + tslib "^2.4.0" + +"@grafana/data@10.0.3": + version "10.0.3" + resolved "https://registry.yarnpkg.com/@grafana/data/-/data-10.0.3.tgz#648f4560daf102fe44afad35ac2b95aab29c441e" + integrity sha512-JW2A5DK+D6cmijDP1S/+/yYXz+NN0nElzvYiv1nesrNdd/4tNKPVtokX/bg0jdWgGc6Kpt3wJNv6gkxDQg8+PQ== + dependencies: + "@braintree/sanitize-url" "6.0.2" + "@grafana/schema" "10.0.3" + "@types/d3-interpolate" "^3.0.0" + "@types/string-hash" "1.1.1" + d3-interpolate "3.0.1" + date-fns "2.29.3" + dompurify "^2.4.3" + eventemitter3 "5.0.0" + fast_array_intersect "1.1.0" + history "4.10.1" + lodash "4.17.21" + marked "4.2.12" + moment "2.29.4" + moment-timezone "0.5.41" + ol "7.2.2" + papaparse "5.3.2" + react-use "17.4.0" + regenerator-runtime "0.13.11" + rxjs "7.8.0" + string-hash "^1.1.3" + tinycolor2 "1.6.0" + tslib "2.5.0" + uplot "1.6.24" + xss "^1.0.14" + +"@grafana/e2e-selectors@10.0.2": + version "10.0.2" + resolved "https://registry.yarnpkg.com/@grafana/e2e-selectors/-/e2e-selectors-10.0.2.tgz#98cd7fa01ca21b416db8827980508195554fb5a4" + integrity sha512-3dc+2hL/AJLkOMXiN2UmWU3kOHO4Eqv10AJVOTkpDwecQvWoSS5vtflyPCEWshDqDSE/6k2gB9N2rlZk9O/R5g== + dependencies: + "@grafana/tsconfig" "^1.2.0-rc1" + tslib "2.5.0" + typescript "4.8.4" + +"@grafana/e2e-selectors@10.0.3": + version "10.0.3" + resolved "https://registry.yarnpkg.com/@grafana/e2e-selectors/-/e2e-selectors-10.0.3.tgz#e03521f0d46c4eea8daebf3eddc66e166dedb500" + integrity sha512-GknlCJ6XAjKlYH6mYAtJNSir5naTV2VUJVFeG5O7dRATtzG/bzw9PBaRljWZ0j5AC73lsxb5/A3+H0FpYP3Y1g== + dependencies: + "@grafana/tsconfig" "^1.2.0-rc1" + tslib "2.5.0" + typescript "4.8.4" + +"@grafana/e2e@10.0.3": + version "10.0.3" + resolved "https://registry.yarnpkg.com/@grafana/e2e/-/e2e-10.0.3.tgz#9150b48fcaf6f02336c0b7fd84fa824f12fa11df" + integrity sha512-JRSpHfNPmK2DTBWPabBn8KtmJ8KKnjysvR7Wy7yV2Msg3ryx8+R4CjHXtO3kpVDqxr8KZ7hWQYWxxKxHtV8yUQ== + dependencies: + "@babel/core" "7.20.5" + "@babel/preset-env" "7.20.2" + "@cypress/webpack-preprocessor" "5.17.0" + "@grafana/e2e-selectors" "10.0.3" + "@grafana/tsconfig" "^1.2.0-rc1" + "@mochajs/json-file-reporter" "^1.2.0" + babel-loader "9.1.2" + blink-diff "1.0.13" + chrome-remote-interface "0.32.1" + commander "8.3.0" + cypress "9.5.1" + cypress-file-upload "5.0.8" + devtools-protocol "0.0.1113774" + execa "5.1.1" + lodash "4.17.21" + mocha "10.2.0" + resolve-bin "1.0.1" + rimraf "4.4.0" + tracelib "1.0.1" + ts-loader "8.4.0" + tslib "2.5.0" + typescript "4.8.4" + uuid "9.0.0" + yaml "^2.0.0" + +"@grafana/eslint-config@^6.0.0": + version "6.0.1" + resolved "https://registry.yarnpkg.com/@grafana/eslint-config/-/eslint-config-6.0.1.tgz#70f3e1990ab83591b566dec7bce214a1eb4d09c4" + integrity sha512-Tv6BUyJu2kHjrghkQJGhVCwJfNeyNbf/UqqUDW5j04+R0Y4YgWshZ4FrJibkfJc26/3UvfYSnYd+On1psbQIlA== + dependencies: + "@typescript-eslint/eslint-plugin" "5.59.9" + "@typescript-eslint/parser" "5.59.9" + eslint "8.42.0" + eslint-config-prettier "8.8.0" + eslint-plugin-jsdoc "46.2.6" + eslint-plugin-react "7.32.2" + eslint-plugin-react-hooks "4.6.0" + typescript "4.8.4" + +"@grafana/faro-core@^1.0.2": + version "1.3.6" + resolved "https://registry.yarnpkg.com/@grafana/faro-core/-/faro-core-1.3.6.tgz#7e4f2754e35d683c259af2ee4851aceadbfca8ad" + integrity sha512-1N/VWOIuukvqJUbpGRmendbJSG8hEvMqUV79+jPrhSRjM2VlNsqtFC/0VdW9mpQPpZh2cOyI5bPjuAZsRe7+Xw== + dependencies: + "@opentelemetry/api" "^1.7.0" + "@opentelemetry/otlp-transformer" "^0.45.1" + murmurhash-js "^1.0.0" + +"@grafana/faro-web-sdk@1.0.2": + version "1.0.2" + resolved "https://registry.yarnpkg.com/@grafana/faro-web-sdk/-/faro-web-sdk-1.0.2.tgz#24e305a5d91fccc9c57577606f0adb12ad7f4a93" + integrity sha512-C5Cx1owlhdpa+CSu4s5cBN9jmFGfhdoUilWc9bP0gK5LW/MIPlysYNgE/1jCyYYQekOnQPNAxwBUOx1c0kbDqg== + dependencies: + "@grafana/faro-core" "^1.0.2" + ua-parser-js "^1.0.32" + web-vitals "^3.1.1" + +"@grafana/runtime@10.0.3": + version "10.0.3" + resolved "https://registry.yarnpkg.com/@grafana/runtime/-/runtime-10.0.3.tgz#b1f25634ce48054979f3dcffd5b9b6c8988e27d0" + integrity sha512-yqab2KW67+2S+kKUscniSC8t1HRqzArvbHaYV8t/DVe1u1M3gPvCq3+770p04KZ9C/ienBTV8SnLXsqFQZsqjw== + dependencies: + "@grafana/data" "10.0.3" + "@grafana/e2e-selectors" "10.0.3" + "@grafana/faro-web-sdk" "1.0.2" + "@grafana/ui" "10.0.3" + "@sentry/browser" "6.19.7" + history "4.10.1" + lodash "4.17.21" + rxjs "7.8.0" + systemjs "0.20.19" + tslib "2.5.0" + +"@grafana/scenes@^1.28.0": + version "1.30.0" + resolved "https://registry.yarnpkg.com/@grafana/scenes/-/scenes-1.30.0.tgz#2dbf76488a25fa8ac91abb49fdea6d04d5b6e8f0" + integrity sha512-vrSvziS7FkoGBqexEmMuN7Hp4VvLQZKoo1s58/3ghJ6VYRZCFY/R2XyJC2H+ktMPqZ1lrXcQHGdIEx9csGMQyA== + dependencies: + "@grafana/e2e-selectors" "10.0.2" + react-grid-layout "1.3.4" + react-use "17.4.0" + react-virtualized-auto-sizer "1.0.7" + uuid "^9.0.0" + +"@grafana/schema@10.0.3": + version "10.0.3" + resolved "https://registry.yarnpkg.com/@grafana/schema/-/schema-10.0.3.tgz#d8aaa9aa309d0639258af787bec06ed5b75f356f" + integrity sha512-0CBAB3HamQBuNaQXpN1B27Pq7yfFs5VBf7Y1vbuUcNnYEnZg4YtbBR8IiVeCLl3v4NjauskbRIu7iTafZOcBpQ== + dependencies: + tslib "2.5.0" + +"@grafana/tsconfig@^1.2.0-rc1": + version "1.2.0-rc1" + resolved "https://registry.yarnpkg.com/@grafana/tsconfig/-/tsconfig-1.2.0-rc1.tgz#10973c978ec95b0ea637511254b5f478bce04de7" + integrity sha512-+SgQeBQ1pT6D/E3/dEdADqTrlgdIGuexUZ8EU+8KxQFKUeFeU7/3z/ayI2q/wpJ/Kr6WxBBNlrST6aOKia19Ag== + +"@grafana/ui@10.0.3": + version "10.0.3" + resolved "https://registry.yarnpkg.com/@grafana/ui/-/ui-10.0.3.tgz#ef63fcce3e8357796cb2ef4f29b0213876c5e07f" + integrity sha512-X3Lzd4G1X5rJsqGcu9lSbF22BxxQQUjV9sVzoFTDU2losCDgZRyM3IWfeH/ASbpBv+3c9EU6OiEycscbjuWKqg== + dependencies: + "@emotion/css" "11.10.6" + "@emotion/react" "11.10.6" + "@grafana/data" "10.0.3" + "@grafana/e2e-selectors" "10.0.3" + "@grafana/faro-web-sdk" "1.0.2" + "@grafana/schema" "10.0.3" + "@leeoniya/ufuzzy" "1.0.6" + "@monaco-editor/react" "4.4.6" + "@popperjs/core" "2.11.6" + "@react-aria/button" "3.6.1" + "@react-aria/dialog" "3.3.1" + "@react-aria/focus" "3.8.0" + "@react-aria/menu" "3.6.1" + "@react-aria/overlays" "3.10.1" + "@react-aria/utils" "3.13.1" + "@react-stately/menu" "3.4.1" + "@sentry/browser" "6.19.7" + ansicolor "1.1.100" + calculate-size "1.1.1" + classnames "2.3.2" + core-js "3.28.0" + d3 "7.8.2" + date-fns "2.29.3" + hoist-non-react-statics "3.3.2" + i18next "^22.0.0" + immutable "4.2.4" + is-hotkey "0.2.0" + jquery "3.6.3" + lodash "4.17.21" + memoize-one "6.0.0" + moment "2.29.4" + monaco-editor "0.34.0" + ol "7.2.2" + prismjs "1.29.0" + rc-cascader "3.10.2" + rc-drawer "6.1.3" + rc-slider "10.1.1" + rc-time-picker "^3.7.3" + rc-tooltip "5.3.1" + react-beautiful-dnd "13.1.1" + react-calendar "4.0.0" + react-colorful "5.6.1" + react-custom-scrollbars-2 "4.5.0" + react-dropzone "14.2.3" + react-highlight-words "0.20.0" + react-hook-form "7.5.3" + react-i18next "^12.0.0" + react-inlinesvg "3.0.2" + react-popper "2.3.0" + react-popper-tooltip "4.4.2" + react-router-dom "5.3.3" + react-select "5.7.0" + react-select-event "^5.1.0" + react-table "7.8.0" + react-transition-group "4.4.5" + react-use "17.4.0" + react-window "1.8.8" + rxjs "7.8.0" + slate "0.47.9" + slate-plain-serializer "0.7.13" + slate-react "0.22.10" + tinycolor2 "1.6.0" + tslib "2.5.0" + uplot "1.6.24" + uuid "9.0.0" + +"@humanwhocodes/config-array@^0.11.10": + version "0.11.14" + resolved "https://registry.yarnpkg.com/@humanwhocodes/config-array/-/config-array-0.11.14.tgz#d78e481a039f7566ecc9660b4ea7fe6b1fec442b" + integrity sha512-3T8LkOmg45BV5FICb15QQMsyUSWrQ8AygVfC7ZG32zOalnqrilm018ZVCw0eapXux8FtA33q8PSRSstjee3jSg== + dependencies: + "@humanwhocodes/object-schema" "^2.0.2" + debug "^4.3.1" + minimatch "^3.0.5" + +"@humanwhocodes/module-importer@^1.0.1": + version "1.0.1" + resolved "https://registry.yarnpkg.com/@humanwhocodes/module-importer/-/module-importer-1.0.1.tgz#af5b2691a22b44be847b0ca81641c5fb6ad0172c" + integrity sha512-bxveV4V8v5Yb4ncFTT3rPSgZBOpCkjfK0y4oVVVJwIuDVBRMDXrPyXRL988i5ap9m9bnyEEjWfm5WkBmtffLfA== + +"@humanwhocodes/object-schema@^2.0.2": + version "2.0.2" + resolved "https://registry.yarnpkg.com/@humanwhocodes/object-schema/-/object-schema-2.0.2.tgz#d9fae00a2d5cb40f92cfe64b47ad749fbc38f917" + integrity sha512-6EwiSjwWYP7pTckG6I5eyFANjPhmPjUX9JRLUSfNPC7FX7zK9gyZAfUEaECL6ALTpGX5AjnBq3C9XmVWPitNpw== + +"@internationalized/date@^3.5.1": + version "3.5.1" + resolved "https://registry.yarnpkg.com/@internationalized/date/-/date-3.5.1.tgz#14401139f70c1ef14b845d3cac8912e82e82adcc" + integrity sha512-LUQIfwU9e+Fmutc/DpRTGXSdgYZLBegi4wygCWDSVmUdLTaMHsQyASDiJtREwanwKuQLq0hY76fCJ9J/9I2xOQ== + dependencies: + "@swc/helpers" "^0.5.0" + +"@internationalized/message@^3.1.1": + version "3.1.1" + resolved "https://registry.yarnpkg.com/@internationalized/message/-/message-3.1.1.tgz#0f29c5a239b5dcd457b55f21dcd38d1a44a1236a" + integrity sha512-ZgHxf5HAPIaR0th+w0RUD62yF6vxitjlprSxmLJ1tam7FOekqRSDELMg4Cr/DdszG5YLsp5BG3FgHgqquQZbqw== + dependencies: + "@swc/helpers" "^0.5.0" + intl-messageformat "^10.1.0" + +"@internationalized/number@^3.5.0": + version "3.5.0" + resolved "https://registry.yarnpkg.com/@internationalized/number/-/number-3.5.0.tgz#9de6018424b441a6545f209afa286ad7df4a2906" + integrity sha512-ZY1BW8HT9WKYvaubbuqXbbDdHhOUMfE2zHHFJeTppid0S+pc8HtdIxFxaYMsGjCb4UsF+MEJ4n2TfU7iHnUK8w== + dependencies: + "@swc/helpers" "^0.5.0" + +"@internationalized/string@^3.2.0": + version "3.2.0" + resolved "https://registry.yarnpkg.com/@internationalized/string/-/string-3.2.0.tgz#cb7d2229919ccbfb9f3312710477f28986d217d6" + integrity sha512-Xx3Sy3f2c9ctT+vh8c7euEaEHQZltp0euZ3Hy4UfT3E13r6lxpUS3kgKyumEjboJZSnaZv7JhqWz3D75v+IxQg== + dependencies: + "@swc/helpers" "^0.5.0" + +"@isaacs/cliui@^8.0.2": + version "8.0.2" + resolved "https://registry.yarnpkg.com/@isaacs/cliui/-/cliui-8.0.2.tgz#b37667b7bc181c168782259bab42474fbf52b550" + integrity sha512-O8jcjabXaleOG9DQ0+ARXWZBTfnP4WNAqzuiJK7ll44AmxGKv/J2M4TPjxjY3znBCfvBXFzucm1twdyFybFqEA== + dependencies: + string-width "^5.1.2" + string-width-cjs "npm:string-width@^4.2.0" + strip-ansi "^7.0.1" + strip-ansi-cjs "npm:strip-ansi@^6.0.1" + wrap-ansi "^8.1.0" + wrap-ansi-cjs "npm:wrap-ansi@^7.0.0" + +"@istanbuljs/load-nyc-config@^1.0.0": + version "1.1.0" + resolved "https://registry.yarnpkg.com/@istanbuljs/load-nyc-config/-/load-nyc-config-1.1.0.tgz#fd3db1d59ecf7cf121e80650bb86712f9b55eced" + integrity sha512-VjeHSlIzpv/NyD3N0YuHfXOPDIixcA1q2ZV98wsMqcYlPmv2n3Yb2lYP9XMElnaFVXg5A7YLTeLu6V84uQDjmQ== + dependencies: + camelcase "^5.3.1" + find-up "^4.1.0" + get-package-type "^0.1.0" + js-yaml "^3.13.1" + resolve-from "^5.0.0" + +"@istanbuljs/schema@^0.1.2": + version "0.1.3" + resolved "https://registry.yarnpkg.com/@istanbuljs/schema/-/schema-0.1.3.tgz#e45e384e4b8ec16bce2fd903af78450f6bf7ec98" + integrity sha512-ZXRY4jNvVgSVQ8DL3LTcakaAtXwTVUxE81hslsyD2AtoXW/wVob10HkOJ1X/pAlcI7D+2YoZKg5do8G/w6RYgA== + +"@jest/console@^29.7.0": + version "29.7.0" + resolved "https://registry.yarnpkg.com/@jest/console/-/console-29.7.0.tgz#cd4822dbdb84529265c5a2bdb529a3c9cc950ffc" + integrity sha512-5Ni4CU7XHQi32IJ398EEP4RrB8eV09sXP2ROqD4bksHrnTree52PsxvX8tpL8LvTZ3pFzXyPbNQReSN41CAhOg== + dependencies: + "@jest/types" "^29.6.3" + "@types/node" "*" + chalk "^4.0.0" + jest-message-util "^29.7.0" + jest-util "^29.7.0" + slash "^3.0.0" + +"@jest/core@^29.7.0": + version "29.7.0" + resolved "https://registry.yarnpkg.com/@jest/core/-/core-29.7.0.tgz#b6cccc239f30ff36609658c5a5e2291757ce448f" + integrity sha512-n7aeXWKMnGtDA48y8TLWJPJmLmmZ642Ceo78cYWEpiD7FzDgmNDV/GCVRorPABdXLJZ/9wzzgZAlHjXjxDHGsg== + dependencies: + "@jest/console" "^29.7.0" + "@jest/reporters" "^29.7.0" + "@jest/test-result" "^29.7.0" + "@jest/transform" "^29.7.0" + "@jest/types" "^29.6.3" + "@types/node" "*" + ansi-escapes "^4.2.1" + chalk "^4.0.0" + ci-info "^3.2.0" + exit "^0.1.2" + graceful-fs "^4.2.9" + jest-changed-files "^29.7.0" + jest-config "^29.7.0" + jest-haste-map "^29.7.0" + jest-message-util "^29.7.0" + jest-regex-util "^29.6.3" + jest-resolve "^29.7.0" + jest-resolve-dependencies "^29.7.0" + jest-runner "^29.7.0" + jest-runtime "^29.7.0" + jest-snapshot "^29.7.0" + jest-util "^29.7.0" + jest-validate "^29.7.0" + jest-watcher "^29.7.0" + micromatch "^4.0.4" + pretty-format "^29.7.0" + slash "^3.0.0" + strip-ansi "^6.0.0" + +"@jest/create-cache-key-function@^29.7.0": + version "29.7.0" + resolved "https://registry.yarnpkg.com/@jest/create-cache-key-function/-/create-cache-key-function-29.7.0.tgz#793be38148fab78e65f40ae30c36785f4ad859f0" + integrity sha512-4QqS3LY5PBmTRHj9sAg1HLoPzqAI0uOX6wI/TRqHIcOxlFidy6YEmCQJk6FSZjNLGCeubDMfmkWL+qaLKhSGQA== + dependencies: + "@jest/types" "^29.6.3" + +"@jest/environment@^29.7.0": + version "29.7.0" + resolved "https://registry.yarnpkg.com/@jest/environment/-/environment-29.7.0.tgz#24d61f54ff1f786f3cd4073b4b94416383baf2a7" + integrity sha512-aQIfHDq33ExsN4jP1NWGXhxgQ/wixs60gDiKO+XVMd8Mn0NWPWgc34ZQDTb2jKaUWQ7MuwoitXAsN2XVXNMpAw== + dependencies: + "@jest/fake-timers" "^29.7.0" + "@jest/types" "^29.6.3" + "@types/node" "*" + jest-mock "^29.7.0" + +"@jest/expect-utils@^29.7.0": + version "29.7.0" + resolved "https://registry.yarnpkg.com/@jest/expect-utils/-/expect-utils-29.7.0.tgz#023efe5d26a8a70f21677d0a1afc0f0a44e3a1c6" + integrity sha512-GlsNBWiFQFCVi9QVSx7f5AgMeLxe9YCCs5PuP2O2LdjDAA8Jh9eX7lA1Jq/xdXw3Wb3hyvlFNfZIfcRetSzYcA== + dependencies: + jest-get-type "^29.6.3" + +"@jest/expect@^29.7.0": + version "29.7.0" + resolved "https://registry.yarnpkg.com/@jest/expect/-/expect-29.7.0.tgz#76a3edb0cb753b70dfbfe23283510d3d45432bf2" + integrity sha512-8uMeAMycttpva3P1lBHB8VciS9V0XAr3GymPpipdyQXbBcuhkLQOSe8E/p92RyAdToS6ZD1tFkX+CkhoECE0dQ== + dependencies: + expect "^29.7.0" + jest-snapshot "^29.7.0" + +"@jest/fake-timers@^29.7.0": + version "29.7.0" + resolved "https://registry.yarnpkg.com/@jest/fake-timers/-/fake-timers-29.7.0.tgz#fd91bf1fffb16d7d0d24a426ab1a47a49881a565" + integrity sha512-q4DH1Ha4TTFPdxLsqDXK1d3+ioSL7yL5oCMJZgDYm6i+6CygW5E5xVr/D1HdsGxjt1ZWSfUAs9OxSB/BNelWrQ== + dependencies: + "@jest/types" "^29.6.3" + "@sinonjs/fake-timers" "^10.0.2" + "@types/node" "*" + jest-message-util "^29.7.0" + jest-mock "^29.7.0" + jest-util "^29.7.0" + +"@jest/globals@^29.7.0": + version "29.7.0" + resolved "https://registry.yarnpkg.com/@jest/globals/-/globals-29.7.0.tgz#8d9290f9ec47ff772607fa864ca1d5a2efae1d4d" + integrity sha512-mpiz3dutLbkW2MNFubUGUEVLkTGiqW6yLVTA+JbP6fI6J5iL9Y0Nlg8k95pcF8ctKwCS7WVxteBs29hhfAotzQ== + dependencies: + "@jest/environment" "^29.7.0" + "@jest/expect" "^29.7.0" + "@jest/types" "^29.6.3" + jest-mock "^29.7.0" + +"@jest/reporters@^29.7.0": + version "29.7.0" + resolved "https://registry.yarnpkg.com/@jest/reporters/-/reporters-29.7.0.tgz#04b262ecb3b8faa83b0b3d321623972393e8f4c7" + integrity sha512-DApq0KJbJOEzAFYjHADNNxAE3KbhxQB1y5Kplb5Waqw6zVbuWatSnMjE5gs8FUgEPmNsnZA3NCWl9NG0ia04Pg== + dependencies: + "@bcoe/v8-coverage" "^0.2.3" + "@jest/console" "^29.7.0" + "@jest/test-result" "^29.7.0" + "@jest/transform" "^29.7.0" + "@jest/types" "^29.6.3" + "@jridgewell/trace-mapping" "^0.3.18" + "@types/node" "*" + chalk "^4.0.0" + collect-v8-coverage "^1.0.0" + exit "^0.1.2" + glob "^7.1.3" + graceful-fs "^4.2.9" + istanbul-lib-coverage "^3.0.0" + istanbul-lib-instrument "^6.0.0" + istanbul-lib-report "^3.0.0" + istanbul-lib-source-maps "^4.0.0" + istanbul-reports "^3.1.3" + jest-message-util "^29.7.0" + jest-util "^29.7.0" + jest-worker "^29.7.0" + slash "^3.0.0" + string-length "^4.0.1" + strip-ansi "^6.0.0" + v8-to-istanbul "^9.0.1" + +"@jest/schemas@^29.6.3": + version "29.6.3" + resolved "https://registry.yarnpkg.com/@jest/schemas/-/schemas-29.6.3.tgz#430b5ce8a4e0044a7e3819663305a7b3091c8e03" + integrity sha512-mo5j5X+jIZmJQveBKeS/clAueipV7KgiX1vMgCxam1RNYiqE1w62n0/tJJnHtjW8ZHcQco5gY85jA3mi0L+nSA== + dependencies: + "@sinclair/typebox" "^0.27.8" + +"@jest/source-map@^29.6.3": + version "29.6.3" + resolved "https://registry.yarnpkg.com/@jest/source-map/-/source-map-29.6.3.tgz#d90ba772095cf37a34a5eb9413f1b562a08554c4" + integrity sha512-MHjT95QuipcPrpLM+8JMSzFx6eHp5Bm+4XeFDJlwsvVBjmKNiIAvasGK2fxz2WbGRlnvqehFbh07MMa7n3YJnw== + dependencies: + "@jridgewell/trace-mapping" "^0.3.18" + callsites "^3.0.0" + graceful-fs "^4.2.9" + +"@jest/test-result@^29.7.0": + version "29.7.0" + resolved "https://registry.yarnpkg.com/@jest/test-result/-/test-result-29.7.0.tgz#8db9a80aa1a097bb2262572686734baed9b1657c" + integrity sha512-Fdx+tv6x1zlkJPcWXmMDAG2HBnaR9XPSd5aDWQVsfrZmLVT3lU1cwyxLgRmXR9yrq4NBoEm9BMsfgFzTQAbJYA== + dependencies: + "@jest/console" "^29.7.0" + "@jest/types" "^29.6.3" + "@types/istanbul-lib-coverage" "^2.0.0" + collect-v8-coverage "^1.0.0" + +"@jest/test-sequencer@^29.7.0": + version "29.7.0" + resolved "https://registry.yarnpkg.com/@jest/test-sequencer/-/test-sequencer-29.7.0.tgz#6cef977ce1d39834a3aea887a1726628a6f072ce" + integrity sha512-GQwJ5WZVrKnOJuiYiAF52UNUJXgTZx1NHjFSEB0qEMmSZKAkdMoIzw/Cj6x6NF4AvV23AUqDpFzQkN/eYCYTxw== + dependencies: + "@jest/test-result" "^29.7.0" + graceful-fs "^4.2.9" + jest-haste-map "^29.7.0" + slash "^3.0.0" + +"@jest/transform@^29.7.0": + version "29.7.0" + resolved "https://registry.yarnpkg.com/@jest/transform/-/transform-29.7.0.tgz#df2dd9c346c7d7768b8a06639994640c642e284c" + integrity sha512-ok/BTPFzFKVMwO5eOHRrvnBVHdRy9IrsrW1GpMaQ9MCnilNLXQKmAX8s1YXDFaai9xJpac2ySzV0YeRRECr2Vw== + dependencies: + "@babel/core" "^7.11.6" + "@jest/types" "^29.6.3" + "@jridgewell/trace-mapping" "^0.3.18" + babel-plugin-istanbul "^6.1.1" + chalk "^4.0.0" + convert-source-map "^2.0.0" + fast-json-stable-stringify "^2.1.0" + graceful-fs "^4.2.9" + jest-haste-map "^29.7.0" + jest-regex-util "^29.6.3" + jest-util "^29.7.0" + micromatch "^4.0.4" + pirates "^4.0.4" + slash "^3.0.0" + write-file-atomic "^4.0.2" + +"@jest/types@^29.6.3": + version "29.6.3" + resolved "https://registry.yarnpkg.com/@jest/types/-/types-29.6.3.tgz#1131f8cf634e7e84c5e77bab12f052af585fba59" + integrity sha512-u3UPsIilWKOM3F9CXtrG8LEJmNxwoCQC/XVj4IKYXvvpx7QIi/Kg1LI5uDmDpKlac62NUtX7eLjRh+jVZcLOzw== + dependencies: + "@jest/schemas" "^29.6.3" + "@types/istanbul-lib-coverage" "^2.0.0" + "@types/istanbul-reports" "^3.0.0" + "@types/node" "*" + "@types/yargs" "^17.0.8" + chalk "^4.0.0" + +"@jridgewell/gen-mapping@^0.3.0", "@jridgewell/gen-mapping@^0.3.2": + version "0.3.3" + resolved "https://registry.yarnpkg.com/@jridgewell/gen-mapping/-/gen-mapping-0.3.3.tgz#7e02e6eb5df901aaedb08514203b096614024098" + integrity sha512-HLhSWOLRi875zjjMG/r+Nv0oCW8umGb0BgEhyX3dDX3egwZtB8PqLnjz3yedt8R5StBrzcg4aBpnh8UA9D1BoQ== + dependencies: + "@jridgewell/set-array" "^1.0.1" + "@jridgewell/sourcemap-codec" "^1.4.10" + "@jridgewell/trace-mapping" "^0.3.9" + +"@jridgewell/resolve-uri@^3.0.3", "@jridgewell/resolve-uri@^3.1.0": + version "3.1.1" + resolved "https://registry.yarnpkg.com/@jridgewell/resolve-uri/-/resolve-uri-3.1.1.tgz#c08679063f279615a3326583ba3a90d1d82cc721" + integrity sha512-dSYZh7HhCDtCKm4QakX0xFpsRDqjjtZf/kjI/v3T3Nwt5r8/qz/M19F9ySyOqU94SXBmeG9ttTul+YnR4LOxFA== + +"@jridgewell/set-array@^1.0.1": + version "1.1.2" + resolved "https://registry.yarnpkg.com/@jridgewell/set-array/-/set-array-1.1.2.tgz#7c6cf998d6d20b914c0a55a91ae928ff25965e72" + integrity sha512-xnkseuNADM0gt2bs+BvhO0p78Mk762YnZdsuzFV018NoG1Sj1SCQvpSqa7XUaTam5vAGasABV9qXASMKnFMwMw== + +"@jridgewell/source-map@^0.3.3": + version "0.3.5" + resolved "https://registry.yarnpkg.com/@jridgewell/source-map/-/source-map-0.3.5.tgz#a3bb4d5c6825aab0d281268f47f6ad5853431e91" + integrity sha512-UTYAUj/wviwdsMfzoSJspJxbkH5o1snzwX0//0ENX1u/55kkZZkcTZP6u9bwKGkv+dkk9at4m1Cpt0uY80kcpQ== + dependencies: + "@jridgewell/gen-mapping" "^0.3.0" + "@jridgewell/trace-mapping" "^0.3.9" + +"@jridgewell/sourcemap-codec@^1.4.10", "@jridgewell/sourcemap-codec@^1.4.14", "@jridgewell/sourcemap-codec@^1.4.15": + version "1.4.15" + resolved "https://registry.yarnpkg.com/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.4.15.tgz#d7c6e6755c78567a951e04ab52ef0fd26de59f32" + integrity sha512-eF2rxCRulEKXHTRiDrDy6erMYWqNw4LPdQ8UQA4huuxaQsVeRPFl2oM8oDGxMFhJUWZf9McpLtJasDDZb/Bpeg== + +"@jridgewell/trace-mapping@0.3.9": + version "0.3.9" + resolved "https://registry.yarnpkg.com/@jridgewell/trace-mapping/-/trace-mapping-0.3.9.tgz#6534fd5933a53ba7cbf3a17615e273a0d1273ff9" + integrity sha512-3Belt6tdc8bPgAtbcmdtNJlirVoTmEb5e2gC94PnkwEW9jI6CAHUeoG85tjWP5WquqfavoMtMwiG4P926ZKKuQ== + dependencies: + "@jridgewell/resolve-uri" "^3.0.3" + "@jridgewell/sourcemap-codec" "^1.4.10" + +"@jridgewell/trace-mapping@^0.3.12", "@jridgewell/trace-mapping@^0.3.17", "@jridgewell/trace-mapping@^0.3.18", "@jridgewell/trace-mapping@^0.3.20", "@jridgewell/trace-mapping@^0.3.9": + version "0.3.21" + resolved "https://registry.yarnpkg.com/@jridgewell/trace-mapping/-/trace-mapping-0.3.21.tgz#5dc1df7b3dc4a6209e503a924e1ca56097a2bb15" + integrity sha512-SRfKmRe1KvYnxjEMtxEr+J4HIeMX5YBg/qhRHpxEIGjhX1rshcHlnFUE9K0GazhVKWM7B+nARSkV8LuvJdJ5/g== + dependencies: + "@jridgewell/resolve-uri" "^3.1.0" + "@jridgewell/sourcemap-codec" "^1.4.14" + +"@leeoniya/ufuzzy@1.0.6": + version "1.0.6" + resolved "https://registry.yarnpkg.com/@leeoniya/ufuzzy/-/ufuzzy-1.0.6.tgz#cbafcff1529d9592b92bd735f1e8b18f23eda983" + integrity sha512-7co2giTKNKESSEqW+nijF2cGG92WtlGkxFFq7dnwQTemS209JzTLODsnF1pS4KMr3S9xa7WheeCKfGVo5U7s6g== + +"@mapbox/jsonlint-lines-primitives@~2.0.2": + version "2.0.2" + resolved "https://registry.yarnpkg.com/@mapbox/jsonlint-lines-primitives/-/jsonlint-lines-primitives-2.0.2.tgz#ce56e539f83552b58d10d672ea4d6fc9adc7b234" + integrity sha512-rY0o9A5ECsTQRVhv7tL/OyDpGAoUB4tTvLiW1DSzQGq4bvTPhNw1VpSNjDJc5GFZ2XuyOtSWSVN05qOtcD71qQ== + +"@mapbox/mapbox-gl-style-spec@^13.23.1": + version "13.28.0" + resolved "https://registry.yarnpkg.com/@mapbox/mapbox-gl-style-spec/-/mapbox-gl-style-spec-13.28.0.tgz#2ec226320a0f77856046e000df9b419303a56458" + integrity sha512-B8xM7Fp1nh5kejfIl4SWeY0gtIeewbuRencqO3cJDrCHZpaPg7uY+V8abuR+esMeuOjRl5cLhVTP40v+1ywxbg== + dependencies: + "@mapbox/jsonlint-lines-primitives" "~2.0.2" + "@mapbox/point-geometry" "^0.1.0" + "@mapbox/unitbezier" "^0.0.0" + csscolorparser "~1.0.2" + json-stringify-pretty-compact "^2.0.0" + minimist "^1.2.6" + rw "^1.3.3" + sort-object "^0.3.2" + +"@mapbox/point-geometry@^0.1.0": + version "0.1.0" + resolved "https://registry.yarnpkg.com/@mapbox/point-geometry/-/point-geometry-0.1.0.tgz#8a83f9335c7860effa2eeeca254332aa0aeed8f2" + integrity sha512-6j56HdLTwWGO0fJPlrZtdU/B13q8Uwmo18Ck2GnGgN9PCFyKTZ3UbXeEdRFh18i9XQ92eH2VdtpJHpBD3aripQ== + +"@mapbox/unitbezier@^0.0.0": + version "0.0.0" + resolved "https://registry.yarnpkg.com/@mapbox/unitbezier/-/unitbezier-0.0.0.tgz#15651bd553a67b8581fb398810c98ad86a34524e" + integrity sha512-HPnRdYO0WjFjRTSwO3frz1wKaU649OBFPX3Zo/2WZvuRi6zMiRGui8SnPQiQABgqCf8YikDe5t3HViTVw1WUzA== + +"@mochajs/json-file-reporter@^1.2.0": + version "1.3.0" + resolved "https://registry.yarnpkg.com/@mochajs/json-file-reporter/-/json-file-reporter-1.3.0.tgz#63a53bcda93d75f5c5c74af60e45da063931370b" + integrity sha512-evIxpeP8EOixo/T2xh5xYEIzwbEHk8YNJfRUm1KeTs8F3bMjgNn2580Ogze9yisXNlTxu88JiJJYzXjjg5NdLA== + +"@monaco-editor/loader@^1.3.2": + version "1.4.0" + resolved "https://registry.yarnpkg.com/@monaco-editor/loader/-/loader-1.4.0.tgz#f08227057331ec890fa1e903912a5b711a2ad558" + integrity sha512-00ioBig0x642hytVspPl7DbQyaSWRaolYie/UFNjoTdvoKPzo6xrXLhTk9ixgIKcLH5b5vDOjVNiGyY+uDCUlg== + dependencies: + state-local "^1.0.6" + +"@monaco-editor/react@4.4.6": + version "4.4.6" + resolved "https://registry.yarnpkg.com/@monaco-editor/react/-/react-4.4.6.tgz#8ae500b0edf85276d860ed702e7056c316548218" + integrity sha512-Gr3uz3LYf33wlFE3eRnta4RxP5FSNxiIV9ENn2D2/rN8KgGAD8ecvcITRtsbbyuOuNkwbuHYxfeaz2Vr+CtyFA== + dependencies: + "@monaco-editor/loader" "^1.3.2" + prop-types "^15.7.2" + +"@nodelib/fs.scandir@2.1.5": + version "2.1.5" + resolved "https://registry.yarnpkg.com/@nodelib/fs.scandir/-/fs.scandir-2.1.5.tgz#7619c2eb21b25483f6d167548b4cfd5a7488c3d5" + integrity sha512-vq24Bq3ym5HEQm2NKCr3yXDwjc7vTsEThRDnkp2DK9p1uqLR+DHurm/NOTo0KG7HYHU7eppKZj3MyqYuMBf62g== + dependencies: + "@nodelib/fs.stat" "2.0.5" + run-parallel "^1.1.9" + +"@nodelib/fs.stat@2.0.5", "@nodelib/fs.stat@^2.0.2": + version "2.0.5" + resolved "https://registry.yarnpkg.com/@nodelib/fs.stat/-/fs.stat-2.0.5.tgz#5bd262af94e9d25bd1e71b05deed44876a222e8b" + integrity sha512-RkhPPp2zrqDAQA/2jNhnztcPAlv64XdhIp7a7454A5ovI7Bukxgt7MX7udwAu3zg1DcpPU0rz3VV1SeaqvY4+A== + +"@nodelib/fs.walk@^1.2.3", "@nodelib/fs.walk@^1.2.8": + version "1.2.8" + resolved "https://registry.yarnpkg.com/@nodelib/fs.walk/-/fs.walk-1.2.8.tgz#e95737e8bb6746ddedf69c556953494f196fe69a" + integrity sha512-oGB+UxlgWcgQkgwo8GcEGwemoTFt3FIO9ababBmaGwXIoBKZ+GTy0pP185beGg7Llih/NSHSV2XAs1lnznocSg== + dependencies: + "@nodelib/fs.scandir" "2.1.5" + fastq "^1.6.0" + +"@opentelemetry/api-logs@0.45.1": + version "0.45.1" + resolved "https://registry.yarnpkg.com/@opentelemetry/api-logs/-/api-logs-0.45.1.tgz#9e4f2c652dcce798c5627939b22304c2b5ce19c5" + integrity sha512-zVGq/k70l+kB/Wuv3O/zhptP2hvDhEbhDu9EtHde1iWZJf3FedeYS/nWVcMBkkyPAjS/JKNk86WN4CBQLGUuOw== + dependencies: + "@opentelemetry/api" "^1.0.0" + +"@opentelemetry/api@^1.0.0", "@opentelemetry/api@^1.7.0": + version "1.7.0" + resolved "https://registry.yarnpkg.com/@opentelemetry/api/-/api-1.7.0.tgz#b139c81999c23e3c8d3c0a7234480e945920fc40" + integrity sha512-AdY5wvN0P2vXBi3b29hxZgSFvdhdxPB9+f0B6s//P9Q8nibRWeA3cHm8UmLpio9ABigkVHJ5NMPk+Mz8VCCyrw== + +"@opentelemetry/core@1.18.1": + version "1.18.1" + resolved "https://registry.yarnpkg.com/@opentelemetry/core/-/core-1.18.1.tgz#d2e45f6bd6be4f00d20d18d4f1b230ec33805ae9" + integrity sha512-kvnUqezHMhsQvdsnhnqTNfAJs3ox/isB0SVrM1dhVFw7SsB7TstuVa6fgWnN2GdPyilIFLUvvbTZoVRmx6eiRg== + dependencies: + "@opentelemetry/semantic-conventions" "1.18.1" + +"@opentelemetry/otlp-transformer@^0.45.1": + version "0.45.1" + resolved "https://registry.yarnpkg.com/@opentelemetry/otlp-transformer/-/otlp-transformer-0.45.1.tgz#8f6590b93f177510983bea3055e5a3f3d30faad2" + integrity sha512-FhIHgfC0b0XtoBrS5ISfva939yWffNl47ypXR8I7Ru+dunlySpmf2TLocKHYLHGcWiuoeSNO5O4dZCmSKOtpXw== + dependencies: + "@opentelemetry/api-logs" "0.45.1" + "@opentelemetry/core" "1.18.1" + "@opentelemetry/resources" "1.18.1" + "@opentelemetry/sdk-logs" "0.45.1" + "@opentelemetry/sdk-metrics" "1.18.1" + "@opentelemetry/sdk-trace-base" "1.18.1" + +"@opentelemetry/resources@1.18.1": + version "1.18.1" + resolved "https://registry.yarnpkg.com/@opentelemetry/resources/-/resources-1.18.1.tgz#e27bdc4715bccc8cd4a72d4aca3995ad0a496fe7" + integrity sha512-JjbcQLYMttXcIabflLRuaw5oof5gToYV9fuXbcsoOeQ0BlbwUn6DAZi++PNsSz2jjPeASfDls10iaO/8BRIPRA== + dependencies: + "@opentelemetry/core" "1.18.1" + "@opentelemetry/semantic-conventions" "1.18.1" + +"@opentelemetry/sdk-logs@0.45.1": + version "0.45.1" + resolved "https://registry.yarnpkg.com/@opentelemetry/sdk-logs/-/sdk-logs-0.45.1.tgz#d59a99147ab15eb36757932517dfc9a10e1645e9" + integrity sha512-z0RRgW4LeKEKnhXS4F/HnqB6+7gsy63YK47F4XAJYHs4s1KKg8XnQ2RkbuL31i/a9nXkylttYtvsT50CGr487g== + dependencies: + "@opentelemetry/core" "1.18.1" + "@opentelemetry/resources" "1.18.1" + +"@opentelemetry/sdk-metrics@1.18.1": + version "1.18.1" + resolved "https://registry.yarnpkg.com/@opentelemetry/sdk-metrics/-/sdk-metrics-1.18.1.tgz#1dd334744a1e5d2eec27e9e9765c73cd2f43aef3" + integrity sha512-TEFgeNFhdULBYiCoHbz31Y4PDsfjjxRp8Wmdp6ybLQZPqMNEb+dRq+XN8Xw3ivIgTaf9gYsomgV5ensX99RuEQ== + dependencies: + "@opentelemetry/core" "1.18.1" + "@opentelemetry/resources" "1.18.1" + lodash.merge "^4.6.2" + +"@opentelemetry/sdk-trace-base@1.18.1": + version "1.18.1" + resolved "https://registry.yarnpkg.com/@opentelemetry/sdk-trace-base/-/sdk-trace-base-1.18.1.tgz#256605d90b202002d5672305c66dbcf377132379" + integrity sha512-tRHfDxN5dO+nop78EWJpzZwHsN1ewrZRVVwo03VJa3JQZxToRDH29/+MB24+yoa+IArerdr7INFJiX/iN4gjqg== + dependencies: + "@opentelemetry/core" "1.18.1" + "@opentelemetry/resources" "1.18.1" + "@opentelemetry/semantic-conventions" "1.18.1" + +"@opentelemetry/semantic-conventions@1.18.1": + version "1.18.1" + resolved "https://registry.yarnpkg.com/@opentelemetry/semantic-conventions/-/semantic-conventions-1.18.1.tgz#8e47caf57a84b1dcc1722b2025693348cdf443b4" + integrity sha512-+NLGHr6VZwcgE/2lw8zDIufOCGnzsA5CbQIMleXZTrgkBd0TanCX+MiDYJ1TOS4KL/Tqk0nFRxawnaYr6pkZkA== + +"@petamoriken/float16@^3.4.7": + version "3.8.4" + resolved "https://registry.yarnpkg.com/@petamoriken/float16/-/float16-3.8.4.tgz#cd3c02a7fe39f10ae3dd24ed33bd082053aadd66" + integrity sha512-kB+NJ5Br56ZhElKsf0pM7/PQfrDdDVMRz8f0JM6eVOGE+L89z9hwcst9QvWBBnazzuqGTGtPsJNZoQ1JdNiGSQ== + +"@pkgjs/parseargs@^0.11.0": + version "0.11.0" + resolved "https://registry.yarnpkg.com/@pkgjs/parseargs/-/parseargs-0.11.0.tgz#a77ea742fab25775145434eb1d2328cf5013ac33" + integrity sha512-+1VkjdD0QBLPodGrJUeqarH8VAIvQODIbwh9XpP5Syisf7YoQgsJKPNFoqqLQlu+VQ/tVSshMR6loPMn8U+dPg== + +"@popperjs/core@2.11.6": + version "2.11.6" + resolved "https://registry.yarnpkg.com/@popperjs/core/-/core-2.11.6.tgz#cee20bd55e68a1720bdab363ecf0c821ded4cd45" + integrity sha512-50/17A98tWUfQ176raKiOGXuYpLyyVMkxxG6oylzL3BPOlA6ADGdK7EYunSa4I064xerltq9TGXs8HmOk5E+vw== + +"@popperjs/core@^2.11.5": + version "2.11.8" + resolved "https://registry.yarnpkg.com/@popperjs/core/-/core-2.11.8.tgz#6b79032e760a0899cd4204710beede972a3a185f" + integrity sha512-P1st0aksCrn9sGZhp8GMYwBnQsbvAWsZAX44oXNNvLHGqAOcoVxmjZiohstwQ7SqKnbR47akdNi+uleWD8+g6A== + +"@rc-component/portal@^1.0.0-6", "@rc-component/portal@^1.1.0": + version "1.1.2" + resolved "https://registry.yarnpkg.com/@rc-component/portal/-/portal-1.1.2.tgz#55db1e51d784e034442e9700536faaa6ab63fc71" + integrity sha512-6f813C0IsasTZms08kfA8kPAGxbbkYToa8ALaiDIGGECU4i9hj8Plgbx0sNJDrey3EtHO30hmdaxtT0138xZcg== + dependencies: + "@babel/runtime" "^7.18.0" + classnames "^2.3.2" + rc-util "^5.24.4" + +"@rc-component/trigger@^1.5.0": + version "1.18.2" + resolved "https://registry.yarnpkg.com/@rc-component/trigger/-/trigger-1.18.2.tgz#dc52c4c66fa8aaccaf0710498f2429fc05454e3b" + integrity sha512-jRLYgFgjLEPq3MvS87fIhcfuywFSRDaDrYw1FLku7Cm4esszvzTbA0JBsyacAyLrK9rF3TiHFcvoEDMzoD3CTA== + dependencies: + "@babel/runtime" "^7.23.2" + "@rc-component/portal" "^1.1.0" + classnames "^2.3.2" + rc-motion "^2.0.0" + rc-resize-observer "^1.3.1" + rc-util "^5.38.0" + +"@react-aria/button@3.6.1": + version "3.6.1" + resolved "https://registry.yarnpkg.com/@react-aria/button/-/button-3.6.1.tgz#111e296df8e171e4eb227c306f087337490bc896" + integrity sha512-g10dk0eIQ71F1QefUymbff0yceQFHEKzOwK7J5QAFB5w/FUSmCTsMkBrrra4AogRxYHIAr5adPic5F2g7VzQFw== + dependencies: + "@babel/runtime" "^7.6.2" + "@react-aria/focus" "^3.8.0" + "@react-aria/interactions" "^3.11.0" + "@react-aria/utils" "^3.13.3" + "@react-stately/toggle" "^3.4.1" + "@react-types/button" "^3.6.1" + "@react-types/shared" "^3.14.1" + +"@react-aria/dialog@3.3.1": + version "3.3.1" + resolved "https://registry.yarnpkg.com/@react-aria/dialog/-/dialog-3.3.1.tgz#16e250ecc25ddd5da140a4b3dccb4af0d2bfacb8" + integrity sha512-Sz7XdzX3rRhmfIp1rYS5D90T1tqiDsAkONsbPBRqUJx7NrjKiHhx3wvG4shiK66cPhAZwBk7wuQmMugDeIDFSA== + dependencies: + "@babel/runtime" "^7.6.2" + "@react-aria/focus" "^3.8.0" + "@react-aria/utils" "^3.13.3" + "@react-stately/overlays" "^3.4.1" + "@react-types/dialog" "^3.4.3" + "@react-types/shared" "^3.14.1" + +"@react-aria/focus@3.8.0": + version "3.8.0" + resolved "https://registry.yarnpkg.com/@react-aria/focus/-/focus-3.8.0.tgz#b292df7e35ed1b57af43f98df8135b00c4667d17" + integrity sha512-XuaLFdqf/6OyILifkVJo++5k2O+wlpNvXgsJkRWn/wSmB77pZKURm2MMGiSg2u911NqY+829UrSlpmhCZrc8RA== + dependencies: + "@babel/runtime" "^7.6.2" + "@react-aria/interactions" "^3.11.0" + "@react-aria/utils" "^3.13.3" + "@react-types/shared" "^3.14.1" + clsx "^1.1.1" + +"@react-aria/focus@^3.16.0", "@react-aria/focus@^3.8.0": + version "3.16.0" + resolved "https://registry.yarnpkg.com/@react-aria/focus/-/focus-3.16.0.tgz#521677a452de254bd48d3a469d6411d69188593d" + integrity sha512-GP6EYI07E8NKQQcXHjpIocEU0vh0oi0Vcsd+/71fKS0NnTR0TUOEeil0JuuQ9ymkmPDTu51Aaaa4FxVsuN/23A== + dependencies: + "@react-aria/interactions" "^3.20.1" + "@react-aria/utils" "^3.23.0" + "@react-types/shared" "^3.22.0" + "@swc/helpers" "^0.5.0" + clsx "^2.0.0" + +"@react-aria/i18n@^3.10.0", "@react-aria/i18n@^3.6.0": + version "3.10.0" + resolved "https://registry.yarnpkg.com/@react-aria/i18n/-/i18n-3.10.0.tgz#bc61c8d05a0193a4c4322ddaefb4ee382190169a" + integrity sha512-sviD5Y1pLPG49HHRmVjR+5nONrp0HK219+nu9Y7cDfUhXu2EjyhMS9t/n9/VZ69hHChZ2PnHYLEE2visu9CuCg== + dependencies: + "@internationalized/date" "^3.5.1" + "@internationalized/message" "^3.1.1" + "@internationalized/number" "^3.5.0" + "@internationalized/string" "^3.2.0" + "@react-aria/ssr" "^3.9.1" + "@react-aria/utils" "^3.23.0" + "@react-types/shared" "^3.22.0" + "@swc/helpers" "^0.5.0" + +"@react-aria/interactions@^3.11.0", "@react-aria/interactions@^3.20.1": + version "3.20.1" + resolved "https://registry.yarnpkg.com/@react-aria/interactions/-/interactions-3.20.1.tgz#397f6724935024e7d3f4f38e8fae07ee37da868d" + integrity sha512-PLNBr87+SzRhe9PvvF9qvzYeP4ofTwfKSorwmO+hjr3qoczrSXf4LRQlb27wB6hF10C7ZE/XVbUI1lj4QQrZ/g== + dependencies: + "@react-aria/ssr" "^3.9.1" + "@react-aria/utils" "^3.23.0" + "@react-types/shared" "^3.22.0" + "@swc/helpers" "^0.5.0" + +"@react-aria/menu@3.6.1": + version "3.6.1" + resolved "https://registry.yarnpkg.com/@react-aria/menu/-/menu-3.6.1.tgz#91ad540795316623e539b32163a5d6a95f09052c" + integrity sha512-HUJVIOW9TwDS4RpAaw9/JqcOXFCn3leVUumWLfbwwzxON/Sbywr1j1jLuIkfIRAPmp0QVd42f6/9Y0cfH78BQQ== + dependencies: + "@babel/runtime" "^7.6.2" + "@react-aria/i18n" "^3.6.0" + "@react-aria/interactions" "^3.11.0" + "@react-aria/overlays" "^3.10.1" + "@react-aria/selection" "^3.10.1" + "@react-aria/utils" "^3.13.3" + "@react-stately/collections" "^3.4.3" + "@react-stately/menu" "^3.4.1" + "@react-stately/tree" "^3.3.3" + "@react-types/button" "^3.6.1" + "@react-types/menu" "^3.7.1" + "@react-types/shared" "^3.14.1" + +"@react-aria/overlays@3.10.1": + version "3.10.1" + resolved "https://registry.yarnpkg.com/@react-aria/overlays/-/overlays-3.10.1.tgz#ea7995d818030482987fbcd2f65344daf67175c2" + integrity sha512-6hY+3PQzFXQ2Gf656IiUy2VCwxzNohCHxHTZb7WTlOyNWDN77q8lzuHBlaoEzyh25M8CCO6NPa5DukyK3uCHSQ== + dependencies: + "@babel/runtime" "^7.6.2" + "@react-aria/i18n" "^3.6.0" + "@react-aria/interactions" "^3.11.0" + "@react-aria/ssr" "^3.3.0" + "@react-aria/utils" "^3.13.3" + "@react-aria/visually-hidden" "^3.4.1" + "@react-stately/overlays" "^3.4.1" + "@react-types/button" "^3.6.1" + "@react-types/overlays" "^3.6.3" + "@react-types/shared" "^3.14.1" + +"@react-aria/overlays@^3.10.1": + version "3.20.0" + resolved "https://registry.yarnpkg.com/@react-aria/overlays/-/overlays-3.20.0.tgz#9d7e0529aa9e28f8055ef5d8486ce5aa0ede41dd" + integrity sha512-2m7MpRJL5UucbEuu08lMHsiFJoDowkJV4JAIFBZYK1NzVH0vF/A+w9HRNM7jRwx2DUxE+iIsZnl8yKV/7KY8OQ== + dependencies: + "@react-aria/focus" "^3.16.0" + "@react-aria/i18n" "^3.10.0" + "@react-aria/interactions" "^3.20.1" + "@react-aria/ssr" "^3.9.1" + "@react-aria/utils" "^3.23.0" + "@react-aria/visually-hidden" "^3.8.8" + "@react-stately/overlays" "^3.6.4" + "@react-types/button" "^3.9.1" + "@react-types/overlays" "^3.8.4" + "@react-types/shared" "^3.22.0" + "@swc/helpers" "^0.5.0" + +"@react-aria/selection@^3.10.1": + version "3.17.3" + resolved "https://registry.yarnpkg.com/@react-aria/selection/-/selection-3.17.3.tgz#ed4b3c51cc9abc72ad19d6beb536b194db1cbd7d" + integrity sha512-xl2sgeGH61ngQeE05WOWWPVpGRTPMjQEFmsAWEprArFi4Z7ihSZgpGX22l1w7uSmtXM/eN/v0W8hUYUju5iXlQ== + dependencies: + "@react-aria/focus" "^3.16.0" + "@react-aria/i18n" "^3.10.0" + "@react-aria/interactions" "^3.20.1" + "@react-aria/utils" "^3.23.0" + "@react-stately/selection" "^3.14.2" + "@react-types/shared" "^3.22.0" + "@swc/helpers" "^0.5.0" + +"@react-aria/ssr@^3.2.0", "@react-aria/ssr@^3.3.0", "@react-aria/ssr@^3.9.1": + version "3.9.1" + resolved "https://registry.yarnpkg.com/@react-aria/ssr/-/ssr-3.9.1.tgz#a1252fd5ef87eada810dd9dd6751a5e21359d1d2" + integrity sha512-NqzkLFP8ZVI4GSorS0AYljC13QW2sc8bDqJOkBvkAt3M8gbcAXJWVRGtZBCRscki9RZF+rNlnPdg0G0jYkhJcg== + dependencies: + "@swc/helpers" "^0.5.0" + +"@react-aria/utils@3.13.1": + version "3.13.1" + resolved "https://registry.yarnpkg.com/@react-aria/utils/-/utils-3.13.1.tgz#45557fdc7ae9de057a83014013bf09e54d074c96" + integrity sha512-usW6RoLKil4ylgDbRcaQ5YblNGv5ZihI4I9NB8pdazhw53cSRyLaygLdmHO33xgpPnAhb6Nb/tv8d5p6cAde+A== + dependencies: + "@babel/runtime" "^7.6.2" + "@react-aria/ssr" "^3.2.0" + "@react-stately/utils" "^3.5.0" + "@react-types/shared" "^3.13.1" + clsx "^1.1.1" + +"@react-aria/utils@^3.13.3", "@react-aria/utils@^3.23.0": + version "3.23.0" + resolved "https://registry.yarnpkg.com/@react-aria/utils/-/utils-3.23.0.tgz#15548db55fcb7da1920e21735467157328f0223f" + integrity sha512-fJA63/VU4iQNT8WUvrmll3kvToqMurD69CcgVmbQ56V7ZbvlzFi44E7BpnoaofScYLLtFWRjVdaHsohT6O/big== + dependencies: + "@react-aria/ssr" "^3.9.1" + "@react-stately/utils" "^3.9.0" + "@react-types/shared" "^3.22.0" + "@swc/helpers" "^0.5.0" + clsx "^2.0.0" + +"@react-aria/visually-hidden@^3.4.1", "@react-aria/visually-hidden@^3.8.8": + version "3.8.8" + resolved "https://registry.yarnpkg.com/@react-aria/visually-hidden/-/visually-hidden-3.8.8.tgz#0f2a70ca21974154383080cf486caff5e7f2240f" + integrity sha512-Cn2PYKD4ijGDtF0+dvsh8qa4y7KTNAlkTG6h20r8Q+6UTyRNmtE2/26QEaApRF8CBiNy9/BZC/ZC4FK2OjvCoA== + dependencies: + "@react-aria/interactions" "^3.20.1" + "@react-aria/utils" "^3.23.0" + "@react-types/shared" "^3.22.0" + "@swc/helpers" "^0.5.0" + +"@react-stately/collections@^3.10.4", "@react-stately/collections@^3.4.3": + version "3.10.4" + resolved "https://registry.yarnpkg.com/@react-stately/collections/-/collections-3.10.4.tgz#aa81328a0996ba39ee39d469e65135812ebecef1" + integrity sha512-OHhCrItGt4zB2bSrgObRo0H2SC7QlkH8ReGxo+NVIWchXRLRoiWBP7S+IwleewEo5gOqDVPY3hqA9n4iiI8twg== + dependencies: + "@react-types/shared" "^3.22.0" + "@swc/helpers" "^0.5.0" + +"@react-stately/menu@3.4.1": + version "3.4.1" + resolved "https://registry.yarnpkg.com/@react-stately/menu/-/menu-3.4.1.tgz#47f23996927ffa605d725e68902e27ef848fe27a" + integrity sha512-DWo87hjKwtQsFiFJYZGcEvzfSYT/I4FoRl3Ose5lA/gPjdg97f42vumj+Kp4mqJwlla4A9Erz2vAh2uMLl4H0w== + dependencies: + "@babel/runtime" "^7.6.2" + "@react-stately/overlays" "^3.4.1" + "@react-stately/utils" "^3.5.1" + "@react-types/menu" "^3.7.1" + "@react-types/shared" "^3.14.1" + +"@react-stately/menu@^3.4.1": + version "3.6.0" + resolved "https://registry.yarnpkg.com/@react-stately/menu/-/menu-3.6.0.tgz#5366d6674d2c3d7b50efc51a8c0083d9588788f7" + integrity sha512-OB6CjNyfOkAuirqx1oTL8z8epS9WDzLyrXjmRnxdiCU9EgRXLGAQNECuO7VIpl58oDry8tgRJiJ8fn8FivWSQA== + dependencies: + "@react-stately/overlays" "^3.6.4" + "@react-types/menu" "^3.9.6" + "@react-types/shared" "^3.22.0" + "@swc/helpers" "^0.5.0" + +"@react-stately/overlays@^3.4.1", "@react-stately/overlays@^3.6.4": + version "3.6.4" + resolved "https://registry.yarnpkg.com/@react-stately/overlays/-/overlays-3.6.4.tgz#1d0d974413fa3f13d97eec2cac5b48c49978d1a0" + integrity sha512-tHEaoAGpE9dSnsskqLPVKum59yGteoSqsniTopodM+miQozbpPlSjdiQnzGLroy5Afx5OZYClE616muNHUILXA== + dependencies: + "@react-stately/utils" "^3.9.0" + "@react-types/overlays" "^3.8.4" + "@swc/helpers" "^0.5.0" + +"@react-stately/selection@^3.14.2": + version "3.14.2" + resolved "https://registry.yarnpkg.com/@react-stately/selection/-/selection-3.14.2.tgz#6a3d5b59db951c34d04494b28373f4fe8ce6f581" + integrity sha512-mL7OoiUgVWaaF7ks5XSxgbXeShijYmD4G3bkBHhqkpugU600QH6BM2hloCq8KOUupk1y8oTljPtF9EmCv375DA== + dependencies: + "@react-stately/collections" "^3.10.4" + "@react-stately/utils" "^3.9.0" + "@react-types/shared" "^3.22.0" + "@swc/helpers" "^0.5.0" + +"@react-stately/toggle@^3.4.1": + version "3.7.0" + resolved "https://registry.yarnpkg.com/@react-stately/toggle/-/toggle-3.7.0.tgz#abe2f08f37a0f41e6513d4fde3d46f49500bb5cc" + integrity sha512-TRksHkCJk/Xogq4181g3CYgJf+EfsJCqX5UZDSw1Z1Kgpvonjmdf6FAfQfCh9QR2OuXUL6hOLUDVLte5OPI+5g== + dependencies: + "@react-stately/utils" "^3.9.0" + "@react-types/checkbox" "^3.6.0" + "@swc/helpers" "^0.5.0" + +"@react-stately/tree@^3.3.3": + version "3.7.5" + resolved "https://registry.yarnpkg.com/@react-stately/tree/-/tree-3.7.5.tgz#6e084e1b7d3d0b31fe619a5d5c45dea9b0a63ff2" + integrity sha512-xTJVwvhAeY0N5rui4N/TxN7f8hjXdqApDuGDxMZeFAWoQz8Abf7LFKBVQ3OkT6qVr7P+23dgoisUDBhD5a45Hg== + dependencies: + "@react-stately/collections" "^3.10.4" + "@react-stately/selection" "^3.14.2" + "@react-stately/utils" "^3.9.0" + "@react-types/shared" "^3.22.0" + "@swc/helpers" "^0.5.0" + +"@react-stately/utils@^3.5.0", "@react-stately/utils@^3.5.1", "@react-stately/utils@^3.9.0": + version "3.9.0" + resolved "https://registry.yarnpkg.com/@react-stately/utils/-/utils-3.9.0.tgz#9cb2c8eea5dd1b58256ecb436b963c01526bae37" + integrity sha512-yPKFY1F88HxuZ15BG2qwAYxtpE4HnIU0Ofi4CuBE0xC6I8mwo4OQjDzi+DZjxQngM9D6AeTTD6F1V8gkozA0Gw== + dependencies: + "@swc/helpers" "^0.5.0" + +"@react-types/button@^3.6.1", "@react-types/button@^3.9.1": + version "3.9.1" + resolved "https://registry.yarnpkg.com/@react-types/button/-/button-3.9.1.tgz#eb54745133bdaad345d8d589021b67ef2882e1c5" + integrity sha512-bf9iTar3PtqnyV9rA+wyFyrskZKhwmOuOd/ifYIjPs56YNVXWH5Wfqj6Dx3xdFBgtKx8mEVQxVhoX+WkHX+rtw== + dependencies: + "@react-types/shared" "^3.22.0" + +"@react-types/checkbox@^3.6.0": + version "3.6.0" + resolved "https://registry.yarnpkg.com/@react-types/checkbox/-/checkbox-3.6.0.tgz#ba702be25555c1520f78be39c8260354638792b6" + integrity sha512-vgbuJzQpVCNT5AZWV0OozXCnihqrXxoZKfJFIw0xro47pT2sn3t5UC4RA9wfjDGMoK4frw1K/4HQLsQIOsPBkw== + dependencies: + "@react-types/shared" "^3.22.0" + +"@react-types/dialog@^3.4.3": + version "3.5.7" + resolved "https://registry.yarnpkg.com/@react-types/dialog/-/dialog-3.5.7.tgz#3fd93875ff317d6014e814b6e1a2abb87272a1ef" + integrity sha512-geYoqAyQaTLG43AaXdMUVqZXYgkSifrD9cF7lR2kPAT0uGFv0YREi6ieU+aui8XJ83EW0xcxP+EPWd2YkN4D4w== + dependencies: + "@react-types/overlays" "^3.8.4" + "@react-types/shared" "^3.22.0" + +"@react-types/menu@^3.7.1", "@react-types/menu@^3.9.6": + version "3.9.6" + resolved "https://registry.yarnpkg.com/@react-types/menu/-/menu-3.9.6.tgz#1b36842cbdb4590dfff78437316aec4a3f47b1f6" + integrity sha512-w/RbFInOf4nNayQDv5c2L8IMJbcFOkBhsT3xvvpTy+CHvJcQdjggwaV1sRiw7eF/PwB81k2CwigmidUzHJhKDg== + dependencies: + "@react-types/overlays" "^3.8.4" + "@react-types/shared" "^3.22.0" + +"@react-types/overlays@^3.6.3", "@react-types/overlays@^3.8.4": + version "3.8.4" + resolved "https://registry.yarnpkg.com/@react-types/overlays/-/overlays-3.8.4.tgz#a538f6f2fb9826f1da78d3b4f0f6326a709ce37d" + integrity sha512-pfgNlQnbF6RB/R2oSxyqAP3Uzz0xE/k5q4n5gUeCDNLjY5qxFHGE8xniZZ503nZYw6VBa9XMN1efDOKQyeiO0w== + dependencies: + "@react-types/shared" "^3.22.0" + +"@react-types/shared@^3.13.1", "@react-types/shared@^3.14.1", "@react-types/shared@^3.22.0": + version "3.22.0" + resolved "https://registry.yarnpkg.com/@react-types/shared/-/shared-3.22.0.tgz#70f85aad46cd225f7fcb29f1c2b5213163605074" + integrity sha512-yVOekZWbtSmmiThGEIARbBpnmUIuePFlLyctjvCbgJgGhz8JnEJOipLQ/a4anaWfzAgzSceQP8j/K+VOOePleA== + +"@sentry/browser@6.19.7": + version "6.19.7" + resolved "https://registry.yarnpkg.com/@sentry/browser/-/browser-6.19.7.tgz#a40b6b72d911b5f1ed70ed3b4e7d4d4e625c0b5f" + integrity sha512-oDbklp4O3MtAM4mtuwyZLrgO1qDVYIujzNJQzXmi9YzymJCuzMLSRDvhY83NNDCRxf0pds4DShgYeZdbSyKraA== + dependencies: + "@sentry/core" "6.19.7" + "@sentry/types" "6.19.7" + "@sentry/utils" "6.19.7" + tslib "^1.9.3" + +"@sentry/core@6.19.7": + version "6.19.7" + resolved "https://registry.yarnpkg.com/@sentry/core/-/core-6.19.7.tgz#156aaa56dd7fad8c89c145be6ad7a4f7209f9785" + integrity sha512-tOfZ/umqB2AcHPGbIrsFLcvApdTm9ggpi/kQZFkej7kMphjT+SGBiQfYtjyg9jcRW+ilAR4JXC9BGKsdEQ+8Vw== + dependencies: + "@sentry/hub" "6.19.7" + "@sentry/minimal" "6.19.7" + "@sentry/types" "6.19.7" + "@sentry/utils" "6.19.7" + tslib "^1.9.3" + +"@sentry/hub@6.19.7": + version "6.19.7" + resolved "https://registry.yarnpkg.com/@sentry/hub/-/hub-6.19.7.tgz#58ad7776bbd31e9596a8ec46365b45cd8b9cfd11" + integrity sha512-y3OtbYFAqKHCWezF0EGGr5lcyI2KbaXW2Ik7Xp8Mu9TxbSTuwTe4rTntwg8ngPjUQU3SUHzgjqVB8qjiGqFXCA== + dependencies: + "@sentry/types" "6.19.7" + "@sentry/utils" "6.19.7" + tslib "^1.9.3" + +"@sentry/minimal@6.19.7": + version "6.19.7" + resolved "https://registry.yarnpkg.com/@sentry/minimal/-/minimal-6.19.7.tgz#b3ee46d6abef9ef3dd4837ebcb6bdfd01b9aa7b4" + integrity sha512-wcYmSJOdvk6VAPx8IcmZgN08XTXRwRtB1aOLZm+MVHjIZIhHoBGZJYTVQS/BWjldsamj2cX3YGbGXNunaCfYJQ== + dependencies: + "@sentry/hub" "6.19.7" + "@sentry/types" "6.19.7" + tslib "^1.9.3" + +"@sentry/types@6.19.7": + version "6.19.7" + resolved "https://registry.yarnpkg.com/@sentry/types/-/types-6.19.7.tgz#c6b337912e588083fc2896eb012526cf7cfec7c7" + integrity sha512-jH84pDYE+hHIbVnab3Hr+ZXr1v8QABfhx39KknxqKWr2l0oEItzepV0URvbEhB446lk/S/59230dlUUIBGsXbg== + +"@sentry/utils@6.19.7": + version "6.19.7" + resolved "https://registry.yarnpkg.com/@sentry/utils/-/utils-6.19.7.tgz#6edd739f8185fd71afe49cbe351c1bbf5e7b7c79" + integrity sha512-z95ECmE3i9pbWoXQrD/7PgkBAzJYR+iXtPuTkpBjDKs86O3mT+PXOT3BAn79w2wkn7/i3vOGD2xVr1uiMl26dA== + dependencies: + "@sentry/types" "6.19.7" + tslib "^1.9.3" + +"@sinclair/typebox@^0.27.8": + version "0.27.8" + resolved "https://registry.yarnpkg.com/@sinclair/typebox/-/typebox-0.27.8.tgz#6667fac16c436b5434a387a34dedb013198f6e6e" + integrity sha512-+Fj43pSMwJs4KRrH/938Uf+uAELIgVBmQzg/q1YG10djyfA3TnrU8N8XzqCh/okZdszqBQTZf96idMfE5lnwTA== + +"@sindresorhus/merge-streams@^1.0.0": + version "1.0.0" + resolved "https://registry.yarnpkg.com/@sindresorhus/merge-streams/-/merge-streams-1.0.0.tgz#9cd84cc15bc865a5ca35fcaae198eb899f7b5c90" + integrity sha512-rUV5WyJrJLoloD4NDN1V1+LDMDWOa4OTsT4yYJwQNpTU6FWxkxHpL7eu4w+DmiH8x/EAM1otkPE1+LaspIbplw== + +"@sinonjs/commons@^3.0.0": + version "3.0.0" + resolved "https://registry.yarnpkg.com/@sinonjs/commons/-/commons-3.0.0.tgz#beb434fe875d965265e04722ccfc21df7f755d72" + integrity sha512-jXBtWAF4vmdNmZgD5FoKsVLv3rPgDnLgPbU84LIJ3otV44vJlDRokVng5v8NFJdCf/da9legHcKaRuZs4L7faA== + dependencies: + type-detect "4.0.8" + +"@sinonjs/fake-timers@^10.0.2": + version "10.3.0" + resolved "https://registry.yarnpkg.com/@sinonjs/fake-timers/-/fake-timers-10.3.0.tgz#55fdff1ecab9f354019129daf4df0dd4d923ea66" + integrity sha512-V4BG07kuYSUkTCSBHG8G8TNhM+F19jXFWnQtzj+we8DrkpSBCee9Z3Ms8yiGer/dlmhe35/Xdgyo3/0rQKg7YA== + dependencies: + "@sinonjs/commons" "^3.0.0" + +"@swc/core-darwin-arm64@1.3.104": + version "1.3.104" + resolved "https://registry.yarnpkg.com/@swc/core-darwin-arm64/-/core-darwin-arm64-1.3.104.tgz#ad8fcd333c09634279d6cf46c5dd2c00b47ef809" + integrity sha512-rCnVj8x3kn6s914Adddu+zROHUn6mUEMkNKUckofs3W9OthNlZXJA3C5bS2MMTRFXCWamJ0Zmh6INFpz+f4Tfg== + +"@swc/core-darwin-x64@1.3.104": + version "1.3.104" + resolved "https://registry.yarnpkg.com/@swc/core-darwin-x64/-/core-darwin-x64-1.3.104.tgz#be2f270fb1f9d0aa2f27836f9ccb28ea4da26a7e" + integrity sha512-LBCWGTYkn1UjyxrmcLS3vZgtCDVhwxsQMV7jz5duc7Gas8SRWh6ZYqvUkjlXMDX1yx0uvzHrkaRw445+zDRj7Q== + +"@swc/core-linux-arm-gnueabihf@1.3.104": + version "1.3.104" + resolved "https://registry.yarnpkg.com/@swc/core-linux-arm-gnueabihf/-/core-linux-arm-gnueabihf-1.3.104.tgz#52c1425fbd4aa189d47a40eaebb335cbda96f917" + integrity sha512-iFbsWcx0TKHWnFBNCuUstYqRtfkyBx7FKv5To1Hx14EMuvvoCD/qUoJEiNfDQN5n/xU9g5xq4RdbjEWCFLhAbA== + +"@swc/core-linux-arm64-gnu@1.3.104": + version "1.3.104" + resolved "https://registry.yarnpkg.com/@swc/core-linux-arm64-gnu/-/core-linux-arm64-gnu-1.3.104.tgz#30da51b22f36887317fa5f49b8eb2ebe17d936de" + integrity sha512-1BIIp+nUPrRHHaJ35YJqrwXPwYSITp5robqqjyTwoKGw2kq0x+A964kpWul6v0d7A9Ial8fyH4m13eSWBodD2A== + +"@swc/core-linux-arm64-musl@1.3.104": + version "1.3.104" + resolved "https://registry.yarnpkg.com/@swc/core-linux-arm64-musl/-/core-linux-arm64-musl-1.3.104.tgz#c9a281ad655ba5a4217466c7e0ca6457202b2997" + integrity sha512-IyDNkzpKwvLqmRwTW+s8f8OsOSSj1N6juZKbvNHpZRfWZkz3T70q3vJlDBWQwy8z8cm7ckd7YUT3eKcSBPPowg== + +"@swc/core-linux-x64-gnu@1.3.104": + version "1.3.104" + resolved "https://registry.yarnpkg.com/@swc/core-linux-x64-gnu/-/core-linux-x64-gnu-1.3.104.tgz#2bd0cd4e92fbedb83aeb6526299a792579b624f2" + integrity sha512-MfX/wiRdTjE5uXHTDnaX69xI4UBfxIhcxbVlMj//N+7AX/G2pl2UFityfVMU2HpM12BRckrCxVI8F/Zy3DZkYQ== + +"@swc/core-linux-x64-musl@1.3.104": + version "1.3.104" + resolved "https://registry.yarnpkg.com/@swc/core-linux-x64-musl/-/core-linux-x64-musl-1.3.104.tgz#a3bb9b5eb9c524f87c586f43019fc544e2ef8bcf" + integrity sha512-5yeILaxA31gGEmquErO8yxlq1xu0XVt+fz5mbbKXKZMRRILxYxNzAGb5mzV41r0oHz6Vhv4AXX/WMCmeWl+HkQ== + +"@swc/core-win32-arm64-msvc@1.3.104": + version "1.3.104" + resolved "https://registry.yarnpkg.com/@swc/core-win32-arm64-msvc/-/core-win32-arm64-msvc-1.3.104.tgz#ec3b63321bbed1283c7873b7c3ecaaf03f8a42ee" + integrity sha512-rwcImsYnWDWGmeESG0XdGGOql5s3cG5wA8C4hHHKdH76zamPfDKKQFBsjmoNi0f1IsxaI9AJPeOmD4bAhT1ZoQ== + +"@swc/core-win32-ia32-msvc@1.3.104": + version "1.3.104" + resolved "https://registry.yarnpkg.com/@swc/core-win32-ia32-msvc/-/core-win32-ia32-msvc-1.3.104.tgz#47ef6d3dfb7093ff7da4848a59645672c0f25bef" + integrity sha512-ICDA+CJLYC7NkePnrbh/MvXwDQfy3rZSFgrVdrqRosv9DKHdFjYDnA9++7ozjrIdFdBrFW2NR7pyUcidlwhNzA== + +"@swc/core-win32-x64-msvc@1.3.104": + version "1.3.104" + resolved "https://registry.yarnpkg.com/@swc/core-win32-x64-msvc/-/core-win32-x64-msvc-1.3.104.tgz#661de1921e869b0a6762e85c5e3232c007554ad8" + integrity sha512-fZJ1Ju62U4lMZVU+nHxLkFNcu0hG5Y0Yj/5zjrlbuX5N8J5eDndWAFsVnQhxRTZqKhZB53pvWRQs5FItSDqgXg== + +"@swc/core@^1.3.90": + version "1.3.104" + resolved "https://registry.yarnpkg.com/@swc/core/-/core-1.3.104.tgz#4346c4548ddff85ebc4a1acd2ce54ce6f36f5e34" + integrity sha512-9LWH/qzR/Pmyco+XwPiPfz59T1sryI7o5dmqb593MfCkaX5Fzl9KhwQTI47i21/bXYuCdfa9ySZuVkzXMirYxA== + dependencies: + "@swc/counter" "^0.1.1" + "@swc/types" "^0.1.5" + optionalDependencies: + "@swc/core-darwin-arm64" "1.3.104" + "@swc/core-darwin-x64" "1.3.104" + "@swc/core-linux-arm-gnueabihf" "1.3.104" + "@swc/core-linux-arm64-gnu" "1.3.104" + "@swc/core-linux-arm64-musl" "1.3.104" + "@swc/core-linux-x64-gnu" "1.3.104" + "@swc/core-linux-x64-musl" "1.3.104" + "@swc/core-win32-arm64-msvc" "1.3.104" + "@swc/core-win32-ia32-msvc" "1.3.104" + "@swc/core-win32-x64-msvc" "1.3.104" + +"@swc/counter@^0.1.1": + version "0.1.2" + resolved "https://registry.yarnpkg.com/@swc/counter/-/counter-0.1.2.tgz#bf06d0770e47c6f1102270b744e17b934586985e" + integrity sha512-9F4ys4C74eSTEUNndnER3VJ15oru2NumfQxS8geE+f3eB5xvfxpWyqE5XlVnxb/R14uoXi6SLbBwwiDSkv+XEw== + +"@swc/helpers@^0.5.0": + version "0.5.3" + resolved "https://registry.yarnpkg.com/@swc/helpers/-/helpers-0.5.3.tgz#98c6da1e196f5f08f977658b80d6bd941b5f294f" + integrity sha512-FaruWX6KdudYloq1AHD/4nU+UsMTdNE8CKyrseXWEcgjDAbvkwJg2QGPAnfIJLIWsjZOSPLOAykK6fuYp4vp4A== + dependencies: + tslib "^2.4.0" + +"@swc/jest@^0.2.26": + version "0.2.30" + resolved "https://registry.yarnpkg.com/@swc/jest/-/jest-0.2.30.tgz#ad561bf90d1090ec0b71d54878f85a82d3af781f" + integrity sha512-80KKC6GYvgrpX1/7yKsRbu88V6OAJIcMGzOLCt0pPSg1nEwJg/lLAodVy2hCD8OcYApmY5gSwD4SnwgA5Y7Q7A== + dependencies: + "@jest/create-cache-key-function" "^29.7.0" + jsonc-parser "^3.2.0" + +"@swc/types@^0.1.5": + version "0.1.5" + resolved "https://registry.yarnpkg.com/@swc/types/-/types-0.1.5.tgz#043b731d4f56a79b4897a3de1af35e75d56bc63a" + integrity sha512-myfUej5naTBWnqOCc/MdVOLVjXUXtIA+NpDrDBKJtLLg2shUjBu3cZmB/85RyitKc55+lUUyl7oRfLOvkr2hsw== + +"@testing-library/dom@>=7", "@testing-library/dom@^9.0.0": + version "9.3.4" + resolved "https://registry.yarnpkg.com/@testing-library/dom/-/dom-9.3.4.tgz#50696ec28376926fec0a1bf87d9dbac5e27f60ce" + integrity sha512-FlS4ZWlp97iiNWig0Muq8p+3rVDjRiYE+YKGbAqXOu9nwJFFOdL00kFpz42M+4huzYi86vAK1sOOfyOG45muIQ== + dependencies: + "@babel/code-frame" "^7.10.4" + "@babel/runtime" "^7.12.5" + "@types/aria-query" "^5.0.1" + aria-query "5.1.3" + chalk "^4.1.0" + dom-accessibility-api "^0.5.9" + lz-string "^1.5.0" + pretty-format "^27.0.2" + +"@testing-library/jest-dom@6.1.4": + version "6.1.4" + resolved "https://registry.yarnpkg.com/@testing-library/jest-dom/-/jest-dom-6.1.4.tgz#cf0835c33bc5ef00befb9e672b1e3e6a710e30e3" + integrity sha512-wpoYrCYwSZ5/AxcrjLxJmCU6I5QAJXslEeSiMQqaWmP2Kzpd1LvF/qxmAIW2qposULGWq2gw30GgVNFLSc2Jnw== + dependencies: + "@adobe/css-tools" "^4.3.1" + "@babel/runtime" "^7.9.2" + aria-query "^5.0.0" + chalk "^3.0.0" + css.escape "^1.5.1" + dom-accessibility-api "^0.5.6" + lodash "^4.17.15" + redent "^3.0.0" + +"@testing-library/react@14.0.0": + version "14.0.0" + resolved "https://registry.yarnpkg.com/@testing-library/react/-/react-14.0.0.tgz#59030392a6792450b9ab8e67aea5f3cc18d6347c" + integrity sha512-S04gSNJbYE30TlIMLTzv6QCTzt9AqIF5y6s6SzVFILNcNvbV/jU96GeiTPillGQo+Ny64M/5PV7klNYYgv5Dfg== + dependencies: + "@babel/runtime" "^7.12.5" + "@testing-library/dom" "^9.0.0" + "@types/react-dom" "^18.0.0" + +"@tootallnate/once@2": + version "2.0.0" + resolved "https://registry.yarnpkg.com/@tootallnate/once/-/once-2.0.0.tgz#f544a148d3ab35801c1f633a7441fd87c2e484bf" + integrity sha512-XCuKFP5PS55gnMVu3dty8KPatLqUoy/ZYzDzAGCQ8JNFCkLXzmI7vNHCR+XpbZaMWQK/vQubr7PkYq8g470J/A== + +"@tsconfig/node10@^1.0.7": + version "1.0.9" + resolved "https://registry.yarnpkg.com/@tsconfig/node10/-/node10-1.0.9.tgz#df4907fc07a886922637b15e02d4cebc4c0021b2" + integrity sha512-jNsYVVxU8v5g43Erja32laIDHXeoNvFEpX33OK4d6hljo3jDhCBDhx5dhCCTMWUojscpAagGiRkBKxpdl9fxqA== + +"@tsconfig/node12@^1.0.7": + version "1.0.11" + resolved "https://registry.yarnpkg.com/@tsconfig/node12/-/node12-1.0.11.tgz#ee3def1f27d9ed66dac6e46a295cffb0152e058d" + integrity sha512-cqefuRsh12pWyGsIoBKJA9luFu3mRxCA+ORZvA4ktLSzIuCUtWVxGIuXigEwO5/ywWFMZ2QEGKWvkZG1zDMTag== + +"@tsconfig/node14@^1.0.0": + version "1.0.3" + resolved "https://registry.yarnpkg.com/@tsconfig/node14/-/node14-1.0.3.tgz#e4386316284f00b98435bf40f72f75a09dabf6c1" + integrity sha512-ysT8mhdixWK6Hw3i1V2AeRqZ5WfXg1G43mqoYlM2nc6388Fq5jcXyr5mRsqViLx/GJYdoL0bfXD8nmF+Zn/Iow== + +"@tsconfig/node16@^1.0.2": + version "1.0.4" + resolved "https://registry.yarnpkg.com/@tsconfig/node16/-/node16-1.0.4.tgz#0b92dcc0cc1c81f6f306a381f28e31b1a56536e9" + integrity sha512-vxhUy4J8lyeyinH7Azl1pdd43GJhZH/tP2weN8TntQblOY+A0XbT8DJk1/oCPuOOyg/Ja757rG0CgHcWC8OfMA== + +"@types/aria-query@^5.0.1": + version "5.0.4" + resolved "https://registry.yarnpkg.com/@types/aria-query/-/aria-query-5.0.4.tgz#1a31c3d378850d2778dabb6374d036dcba4ba708" + integrity sha512-rfT93uj5s0PRL7EzccGMs3brplhcrghnDoV26NqKhCAS1hVo+WdNsPvE/yb6ilfr5hi2MEk6d5EWJTKdxg8jVw== + +"@types/babel__core@^7.1.14": + version "7.20.5" + resolved "https://registry.yarnpkg.com/@types/babel__core/-/babel__core-7.20.5.tgz#3df15f27ba85319caa07ba08d0721889bb39c017" + integrity sha512-qoQprZvz5wQFJwMDqeseRXWv3rqMvhgpbXFfVyWhbx9X47POIA6i/+dXefEmZKoAgOaTdaIgNSMqMIU61yRyzA== + dependencies: + "@babel/parser" "^7.20.7" + "@babel/types" "^7.20.7" + "@types/babel__generator" "*" + "@types/babel__template" "*" + "@types/babel__traverse" "*" + +"@types/babel__generator@*": + version "7.6.8" + resolved "https://registry.yarnpkg.com/@types/babel__generator/-/babel__generator-7.6.8.tgz#f836c61f48b1346e7d2b0d93c6dacc5b9535d3ab" + integrity sha512-ASsj+tpEDsEiFr1arWrlN6V3mdfjRMZt6LtK/Vp/kreFLnr5QH5+DhvD5nINYZXzwJvXeGq+05iUXcAzVrqWtw== + dependencies: + "@babel/types" "^7.0.0" + +"@types/babel__template@*": + version "7.4.4" + resolved "https://registry.yarnpkg.com/@types/babel__template/-/babel__template-7.4.4.tgz#5672513701c1b2199bc6dad636a9d7491586766f" + integrity sha512-h/NUaSyG5EyxBIp8YRxo4RMe2/qQgvyowRwVMzhYhBCONbW8PUsg4lkFMrhgZhUe5z3L3MiLDuvyJ/CaPa2A8A== + dependencies: + "@babel/parser" "^7.1.0" + "@babel/types" "^7.0.0" + +"@types/babel__traverse@*", "@types/babel__traverse@^7.0.6": + version "7.20.5" + resolved "https://registry.yarnpkg.com/@types/babel__traverse/-/babel__traverse-7.20.5.tgz#7b7502be0aa80cc4ef22978846b983edaafcd4dd" + integrity sha512-WXCyOcRtH37HAUkpXhUduaxdm82b4GSlyTqajXviN4EfiuPgNYR109xMCKvpl6zPIpua0DGlMEDCq+g8EdoheQ== + dependencies: + "@babel/types" "^7.20.7" + +"@types/d3-color@*": + version "3.1.3" + resolved "https://registry.yarnpkg.com/@types/d3-color/-/d3-color-3.1.3.tgz#368c961a18de721da8200e80bf3943fb53136af2" + integrity sha512-iO90scth9WAbmgv7ogoq57O9YpKmFBbmoEoCHDB2xMBY0+/KVrqAaCDyCE16dUspeOvIxFFRI+0sEtqDqy2b4A== + +"@types/d3-interpolate@^3.0.0": + version "3.0.4" + resolved "https://registry.yarnpkg.com/@types/d3-interpolate/-/d3-interpolate-3.0.4.tgz#412b90e84870285f2ff8a846c6eb60344f12a41c" + integrity sha512-mgLPETlrpVV1YRJIglr4Ez47g7Yxjl1lj7YKsiMCb27VJH9W8NVM6Bb9d8kkpG/uAQS5AmbA48q2IAolKKo1MA== + dependencies: + "@types/d3-color" "*" + +"@types/eslint-scope@^3.7.3": + version "3.7.7" + resolved "https://registry.yarnpkg.com/@types/eslint-scope/-/eslint-scope-3.7.7.tgz#3108bd5f18b0cdb277c867b3dd449c9ed7079ac5" + integrity sha512-MzMFlSLBqNF2gcHWO0G1vP/YQyfvrxZ0bF+u7mzUdZ1/xK4A4sru+nraZz5i3iEIk1l1uyicaDVTB4QbbEkAYg== + dependencies: + "@types/eslint" "*" + "@types/estree" "*" + +"@types/eslint@*", "@types/eslint@^8.37.0": + version "8.56.2" + resolved "https://registry.yarnpkg.com/@types/eslint/-/eslint-8.56.2.tgz#1c72a9b794aa26a8b94ad26d5b9aa51c8a6384bb" + integrity sha512-uQDwm1wFHmbBbCZCqAlq6Do9LYwByNZHWzXppSnay9SuwJ+VRbjkbLABer54kcPnMSlG6Fdiy2yaFXm/z9Z5gw== + dependencies: + "@types/estree" "*" + "@types/json-schema" "*" + +"@types/estree@*", "@types/estree@^1.0.0": + version "1.0.5" + resolved "https://registry.yarnpkg.com/@types/estree/-/estree-1.0.5.tgz#a6ce3e556e00fd9895dd872dd172ad0d4bd687f4" + integrity sha512-/kYRxGDLWzHOB7q+wtSUQlFrtcdUccpfy+X+9iMBpHK8QLLhx2wIPYuS5DYtR9Wa/YlZAbIovy7qVdB1Aq6Lyw== + +"@types/graceful-fs@^4.1.3": + version "4.1.9" + resolved "https://registry.yarnpkg.com/@types/graceful-fs/-/graceful-fs-4.1.9.tgz#2a06bc0f68a20ab37b3e36aa238be6abdf49e8b4" + integrity sha512-olP3sd1qOEe5dXTSaFvQG+02VdRXcdytWLAZsAq1PecU8uqQAhkrnbli7DagjtXKW/Bl7YJbUsa8MPcuc8LHEQ== + dependencies: + "@types/node" "*" + +"@types/history@^4.7.11": + version "4.7.11" + resolved "https://registry.yarnpkg.com/@types/history/-/history-4.7.11.tgz#56588b17ae8f50c53983a524fc3cc47437969d64" + integrity sha512-qjDJRrmvBMiTx+jyLxvLfJU7UznFuokDv4f3WRuriHKERccVpFU+8XMQUAbDzoiJCsmexxRExQeMwwCdamSKDA== + +"@types/hoist-non-react-statics@^3.3.0": + version "3.3.5" + resolved "https://registry.yarnpkg.com/@types/hoist-non-react-statics/-/hoist-non-react-statics-3.3.5.tgz#dab7867ef789d87e2b4b0003c9d65c49cc44a494" + integrity sha512-SbcrWzkKBw2cdwRTwQAswfpB9g9LJWfjtUeW/jvNwbhC8cpmmNYVePa+ncbUe0rGTQ7G3Ff6mYUN2VMfLVr+Sg== + dependencies: + "@types/react" "*" + hoist-non-react-statics "^3.3.0" + +"@types/istanbul-lib-coverage@*", "@types/istanbul-lib-coverage@^2.0.0", "@types/istanbul-lib-coverage@^2.0.1": + version "2.0.6" + resolved "https://registry.yarnpkg.com/@types/istanbul-lib-coverage/-/istanbul-lib-coverage-2.0.6.tgz#7739c232a1fee9b4d3ce8985f314c0c6d33549d7" + integrity sha512-2QF/t/auWm0lsy8XtKVPG19v3sSOQlJe/YHZgfjb/KBBHOGSV+J2q/S671rcq9uTBrLAXmZpqJiaQbMT+zNU1w== + +"@types/istanbul-lib-report@*": + version "3.0.3" + resolved "https://registry.yarnpkg.com/@types/istanbul-lib-report/-/istanbul-lib-report-3.0.3.tgz#53047614ae72e19fc0401d872de3ae2b4ce350bf" + integrity sha512-NQn7AHQnk/RSLOxrBbGyJM/aVQ+pjj5HCgasFxc0K/KhoATfQ/47AyUl15I2yBUpihjmas+a+VJBOqecrFH+uA== + dependencies: + "@types/istanbul-lib-coverage" "*" + +"@types/istanbul-reports@^3.0.0": + version "3.0.4" + resolved "https://registry.yarnpkg.com/@types/istanbul-reports/-/istanbul-reports-3.0.4.tgz#0f03e3d2f670fbdac586e34b433783070cc16f54" + integrity sha512-pk2B1NWalF9toCRu6gjBzR69syFjP4Od8WRAX+0mmf9lAjCRicLOWc+ZrxZHx/0XRjotgkF9t6iaMJ+aXcOdZQ== + dependencies: + "@types/istanbul-lib-report" "*" + +"@types/jest@*", "@types/jest@^29.5.0": + version "29.5.11" + resolved "https://registry.yarnpkg.com/@types/jest/-/jest-29.5.11.tgz#0c13aa0da7d0929f078ab080ae5d4ced80fa2f2c" + integrity sha512-S2mHmYIVe13vrm6q4kN6fLYYAka15ALQki/vgDC3mIukEOx8WJlv0kQPM+d4w8Gp6u0uSdKND04IlTXBv0rwnQ== + dependencies: + expect "^29.0.0" + pretty-format "^29.0.0" + +"@types/js-cookie@^2.2.6": + version "2.2.7" + resolved "https://registry.yarnpkg.com/@types/js-cookie/-/js-cookie-2.2.7.tgz#226a9e31680835a6188e887f3988e60c04d3f6a3" + integrity sha512-aLkWa0C0vO5b4Sr798E26QgOkss68Un0bLjs7u9qxzPT5CG+8DuNTffWES58YzJs3hrVAOs1wonycqEBqNJubA== + +"@types/jsdom@^20.0.0": + version "20.0.1" + resolved "https://registry.yarnpkg.com/@types/jsdom/-/jsdom-20.0.1.tgz#07c14bc19bd2f918c1929541cdaacae894744808" + integrity sha512-d0r18sZPmMQr1eG35u12FZfhIXNrnsPU/g5wvRKCUf/tOGilKKwYMYGqh33BNR6ba+2gkHw1EUiHoN3mn7E5IQ== + dependencies: + "@types/node" "*" + "@types/tough-cookie" "*" + parse5 "^7.0.0" + +"@types/json-schema@*", "@types/json-schema@^7.0.12", "@types/json-schema@^7.0.8", "@types/json-schema@^7.0.9": + version "7.0.15" + resolved "https://registry.yarnpkg.com/@types/json-schema/-/json-schema-7.0.15.tgz#596a1747233694d50f6ad8a7869fcb6f56cf5841" + integrity sha512-5+fP8P8MFNC+AyZCDxrB2pkZFPGzqQWUzpSeuuVLvm8VMcorNYavBqoFcxK8bQz4Qsbn4oUEEem4wDLfcysGHA== + +"@types/lodash@^4.14.194": + version "4.14.202" + resolved "https://registry.yarnpkg.com/@types/lodash/-/lodash-4.14.202.tgz#f09dbd2fb082d507178b2f2a5c7e74bd72ff98f8" + integrity sha512-OvlIYQK9tNneDlS0VN54LLd5uiPCBOp7gS5Z0f1mjoJYBrtStzgmJBxONW3U6OZqdtNzZPmn9BS/7WI7BFFcFQ== + +"@types/node@*", "@types/node@^20.8.7": + version "20.11.5" + resolved "https://registry.yarnpkg.com/@types/node/-/node-20.11.5.tgz#be10c622ca7fcaa3cf226cf80166abc31389d86e" + integrity sha512-g557vgQjUUfN76MZAN/dt1z3dzcUsimuysco0KeluHgrPdJXkP/XdAURgyO2W9fZWHRtRBiVKzKn8vyOAwlG+w== + dependencies: + undici-types "~5.26.4" + +"@types/node@^14.14.31": + version "14.18.63" + resolved "https://registry.yarnpkg.com/@types/node/-/node-14.18.63.tgz#1788fa8da838dbb5f9ea994b834278205db6ca2b" + integrity sha512-fAtCfv4jJg+ExtXhvCkCqUKZ+4ok/JQk01qDKhL5BDDoS3AxKXhV5/MAVUZyQnSEd2GT92fkgZl0pz0Q0AzcIQ== + +"@types/parse-json@^4.0.0": + version "4.0.2" + resolved "https://registry.yarnpkg.com/@types/parse-json/-/parse-json-4.0.2.tgz#5950e50960793055845e956c427fc2b0d70c5239" + integrity sha512-dISoDXWWQwUquiKsyZ4Ng+HX2KsPL7LyHKHQwgGFEA3IaKac4Obd+h2a/a6waisAoepJlBcx9paWqjA8/HVjCw== + +"@types/prop-types@*": + version "15.7.11" + resolved "https://registry.yarnpkg.com/@types/prop-types/-/prop-types-15.7.11.tgz#2596fb352ee96a1379c657734d4b913a613ad563" + integrity sha512-ga8y9v9uyeiLdpKddhxYQkxNDrfvuPrlFb0N1qnZZByvcElJaXthF1UhvCh9TLWJBEHeNtdnbysW7Y6Uq8CVng== + +"@types/react-dom@^18.0.0": + version "18.2.18" + resolved "https://registry.yarnpkg.com/@types/react-dom/-/react-dom-18.2.18.tgz#16946e6cd43971256d874bc3d0a72074bb8571dd" + integrity sha512-TJxDm6OfAX2KJWJdMEVTwWke5Sc/E/RlnPGvGfS0W7+6ocy2xhDVQVh/KvC2Uf7kACs+gDytdusDSdWfWkaNzw== + dependencies: + "@types/react" "*" + +"@types/react-redux@^7.1.20": + version "7.1.33" + resolved "https://registry.yarnpkg.com/@types/react-redux/-/react-redux-7.1.33.tgz#53c5564f03f1ded90904e3c90f77e4bd4dc20b15" + integrity sha512-NF8m5AjWCkert+fosDsN3hAlHzpjSiXlVy9EgQEmLoBhaNXbmyeGs/aj5dQzKuF+/q+S7JQagorGDW8pJ28Hmg== + dependencies: + "@types/hoist-non-react-statics" "^3.3.0" + "@types/react" "*" + hoist-non-react-statics "^3.3.0" + redux "^4.0.0" + +"@types/react-router-dom@^5.3.3": + version "5.3.3" + resolved "https://registry.yarnpkg.com/@types/react-router-dom/-/react-router-dom-5.3.3.tgz#e9d6b4a66fcdbd651a5f106c2656a30088cc1e83" + integrity sha512-kpqnYK4wcdm5UaWI3fLcELopqLrHgLqNsdpHauzlQktfkHL3npOSwtj1Uz9oKBAzs7lFtVkV8j83voAz2D8fhw== + dependencies: + "@types/history" "^4.7.11" + "@types/react" "*" + "@types/react-router" "*" + +"@types/react-router@*": + version "5.1.20" + resolved "https://registry.yarnpkg.com/@types/react-router/-/react-router-5.1.20.tgz#88eccaa122a82405ef3efbcaaa5dcdd9f021387c" + integrity sha512-jGjmu/ZqS7FjSH6owMcD5qpq19+1RS9DeVRqfl1FeBMxTDQAGwlMWOcs52NDoXaNKyG3d1cYQFMs9rCrb88o9Q== + dependencies: + "@types/history" "^4.7.11" + "@types/react" "*" + +"@types/react-transition-group@^4.4.0": + version "4.4.10" + resolved "https://registry.yarnpkg.com/@types/react-transition-group/-/react-transition-group-4.4.10.tgz#6ee71127bdab1f18f11ad8fb3322c6da27c327ac" + integrity sha512-hT/+s0VQs2ojCX823m60m5f0sL5idt9SO6Tj6Dg+rdphGPIeJbJ6CxvBYkgkGKrYeDjvIpKTR38UzmtHJOGW3Q== + dependencies: + "@types/react" "*" + +"@types/react@*": + version "18.2.48" + resolved "https://registry.yarnpkg.com/@types/react/-/react-18.2.48.tgz#11df5664642d0bd879c1f58bc1d37205b064e8f1" + integrity sha512-qboRCl6Ie70DQQG9hhNREz81jqC1cs9EVNcjQ1AU+jH6NFfSAhVVbrrY/+nSF+Bsk4AOwm9Qa61InvMCyV+H3w== + dependencies: + "@types/prop-types" "*" + "@types/scheduler" "*" + csstype "^3.0.2" + +"@types/scheduler@*": + version "0.16.8" + resolved "https://registry.yarnpkg.com/@types/scheduler/-/scheduler-0.16.8.tgz#ce5ace04cfeabe7ef87c0091e50752e36707deff" + integrity sha512-WZLiwShhwLRmeV6zH+GkbOFT6Z6VklCItrDioxUnv+u4Ll+8vKeFySoFyK/0ctcRpOmwAicELfmys1sDc/Rw+A== + +"@types/semver@^7.3.12", "@types/semver@^7.5.0": + version "7.5.6" + resolved "https://registry.yarnpkg.com/@types/semver/-/semver-7.5.6.tgz#c65b2bfce1bec346582c07724e3f8c1017a20339" + integrity sha512-dn1l8LaMea/IjDoHNd9J52uBbInB796CDffS6VdIxvqYCPSG0V0DzHp76GpaWnlhg88uYyPbXCDIowa86ybd5A== + +"@types/sinonjs__fake-timers@8.1.1": + version "8.1.1" + resolved "https://registry.yarnpkg.com/@types/sinonjs__fake-timers/-/sinonjs__fake-timers-8.1.1.tgz#b49c2c70150141a15e0fa7e79cf1f92a72934ce3" + integrity sha512-0kSuKjAS0TrGLJ0M/+8MaFkGsQhZpB6pxOmvS3K8FYI72K//YmdfoW9X2qPsAKh1mkwxGD5zib9s1FIFed6E8g== + +"@types/sizzle@^2.3.2": + version "2.3.8" + resolved "https://registry.yarnpkg.com/@types/sizzle/-/sizzle-2.3.8.tgz#518609aefb797da19bf222feb199e8f653ff7627" + integrity sha512-0vWLNK2D5MT9dg0iOo8GlKguPAU02QjmZitPEsXRuJXU/OGIOt9vT9Fc26wtYuavLxtO45v9PGleoL9Z0k1LHg== + +"@types/stack-utils@^2.0.0": + version "2.0.3" + resolved "https://registry.yarnpkg.com/@types/stack-utils/-/stack-utils-2.0.3.tgz#6209321eb2c1712a7e7466422b8cb1fc0d9dd5d8" + integrity sha512-9aEbYZ3TbYMznPdcdr3SmIrLXwC/AKZXQeCf9Pgao5CKb8CyHuEX5jzWPTkvregvhRJHcpRO6BFoGW9ycaOkYw== + +"@types/string-hash@1.1.1": + version "1.1.1" + resolved "https://registry.yarnpkg.com/@types/string-hash/-/string-hash-1.1.1.tgz#4c336e61d1e13ce2d3efaaa5910005fd080e106b" + integrity sha512-ijt3zdHi2DmZxQpQTmozXszzDo78V4R3EdvX0jFMfnMH2ZzQSmCbaWOMPGXFUYSzSIdStv78HDjg32m5dxc+tA== + +"@types/testing-library__jest-dom@5.14.8": + version "5.14.8" + resolved "https://registry.yarnpkg.com/@types/testing-library__jest-dom/-/testing-library__jest-dom-5.14.8.tgz#b32090a01c29040461fb7fa10a82400f216a4b93" + integrity sha512-NRfJE9Cgpmu4fx716q9SYmU4jxxhYRU1BQo239Txt/9N3EC745XZX1Yl7h/SBIDlo1ANVOCRB4YDXjaQdoKCHQ== + dependencies: + "@types/jest" "*" + +"@types/tough-cookie@*": + version "4.0.5" + resolved "https://registry.yarnpkg.com/@types/tough-cookie/-/tough-cookie-4.0.5.tgz#cb6e2a691b70cb177c6e3ae9c1d2e8b2ea8cd304" + integrity sha512-/Ad8+nIOV7Rl++6f1BdKxFSMgmoqEoYbHRpPcx3JEfv8VRsQe9Z4mCXeJBzxs7mbHY/XOZZuXlRNfhpVPbs6ZA== + +"@types/yargs-parser@*": + version "21.0.3" + resolved "https://registry.yarnpkg.com/@types/yargs-parser/-/yargs-parser-21.0.3.tgz#815e30b786d2e8f0dcd85fd5bcf5e1a04d008f15" + integrity sha512-I4q9QU9MQv4oEOz4tAHJtNz1cwuLxn2F3xcc2iV5WdqLPpUnj30aUuxt1mAxYTG+oe8CZMV/+6rU4S4gRDzqtQ== + +"@types/yargs@^17.0.8": + version "17.0.32" + resolved "https://registry.yarnpkg.com/@types/yargs/-/yargs-17.0.32.tgz#030774723a2f7faafebf645f4e5a48371dca6229" + integrity sha512-xQ67Yc/laOG5uMfX/093MRlGGCIBzZMarVa+gfNKJxWAIgykYpVGkBdbqEzGDDfCrVUj6Hiff4mTZ5BA6TmAog== + dependencies: + "@types/yargs-parser" "*" + +"@types/yauzl@^2.9.1": + version "2.10.3" + resolved "https://registry.yarnpkg.com/@types/yauzl/-/yauzl-2.10.3.tgz#e9b2808b4f109504a03cda958259876f61017999" + integrity sha512-oJoftv0LSuaDZE3Le4DbKX+KS9G36NzOeSap90UIK0yMA/NhKJhqlSGtNDORNRaIbQfzjXDrQa0ytJ6mNRGz/Q== + dependencies: + "@types/node" "*" + +"@typescript-eslint/eslint-plugin@5.59.9": + version "5.59.9" + resolved "https://registry.yarnpkg.com/@typescript-eslint/eslint-plugin/-/eslint-plugin-5.59.9.tgz#2604cfaf2b306e120044f901e20c8ed926debf15" + integrity sha512-4uQIBq1ffXd2YvF7MAvehWKW3zVv/w+mSfRAu+8cKbfj3nwzyqJLNcZJpQ/WZ1HLbJDiowwmQ6NO+63nCA+fqA== + dependencies: + "@eslint-community/regexpp" "^4.4.0" + "@typescript-eslint/scope-manager" "5.59.9" + "@typescript-eslint/type-utils" "5.59.9" + "@typescript-eslint/utils" "5.59.9" + debug "^4.3.4" + grapheme-splitter "^1.0.4" + ignore "^5.2.0" + natural-compare-lite "^1.4.0" + semver "^7.3.7" + tsutils "^3.21.0" + +"@typescript-eslint/parser@5.59.9": + version "5.59.9" + resolved "https://registry.yarnpkg.com/@typescript-eslint/parser/-/parser-5.59.9.tgz#a85c47ccdd7e285697463da15200f9a8561dd5fa" + integrity sha512-FsPkRvBtcLQ/eVK1ivDiNYBjn3TGJdXy2fhXX+rc7czWl4ARwnpArwbihSOHI2Peg9WbtGHrbThfBUkZZGTtvQ== + dependencies: + "@typescript-eslint/scope-manager" "5.59.9" + "@typescript-eslint/types" "5.59.9" + "@typescript-eslint/typescript-estree" "5.59.9" + debug "^4.3.4" + +"@typescript-eslint/scope-manager@5.59.9": + version "5.59.9" + resolved "https://registry.yarnpkg.com/@typescript-eslint/scope-manager/-/scope-manager-5.59.9.tgz#eadce1f2733389cdb58c49770192c0f95470d2f4" + integrity sha512-8RA+E+w78z1+2dzvK/tGZ2cpGigBZ58VMEHDZtpE1v+LLjzrYGc8mMaTONSxKyEkz3IuXFM0IqYiGHlCsmlZxQ== + dependencies: + "@typescript-eslint/types" "5.59.9" + "@typescript-eslint/visitor-keys" "5.59.9" + +"@typescript-eslint/scope-manager@6.19.0": + version "6.19.0" + resolved "https://registry.yarnpkg.com/@typescript-eslint/scope-manager/-/scope-manager-6.19.0.tgz#b6d2abb825b29ab70cb542d220e40c61c1678116" + integrity sha512-dO1XMhV2ehBI6QN8Ufi7I10wmUovmLU0Oru3n5LVlM2JuzB4M+dVphCPLkVpKvGij2j/pHBWuJ9piuXx+BhzxQ== + dependencies: + "@typescript-eslint/types" "6.19.0" + "@typescript-eslint/visitor-keys" "6.19.0" + +"@typescript-eslint/type-utils@5.59.9": + version "5.59.9" + resolved "https://registry.yarnpkg.com/@typescript-eslint/type-utils/-/type-utils-5.59.9.tgz#53bfaae2e901e6ac637ab0536d1754dfef4dafc2" + integrity sha512-ksEsT0/mEHg9e3qZu98AlSrONAQtrSTljL3ow9CGej8eRo7pe+yaC/mvTjptp23Xo/xIf2mLZKC6KPv4Sji26Q== + dependencies: + "@typescript-eslint/typescript-estree" "5.59.9" + "@typescript-eslint/utils" "5.59.9" + debug "^4.3.4" + tsutils "^3.21.0" + +"@typescript-eslint/types@5.59.9": + version "5.59.9" + resolved "https://registry.yarnpkg.com/@typescript-eslint/types/-/types-5.59.9.tgz#3b4e7ae63718ce1b966e0ae620adc4099a6dcc52" + integrity sha512-uW8H5NRgTVneSVTfiCVffBb8AbwWSKg7qcA4Ot3JI3MPCJGsB4Db4BhvAODIIYE5mNj7Q+VJkK7JxmRhk2Lyjw== + +"@typescript-eslint/types@6.19.0": + version "6.19.0" + resolved "https://registry.yarnpkg.com/@typescript-eslint/types/-/types-6.19.0.tgz#689b0498c436272a6a2059b09f44bcbd90de294a" + integrity sha512-lFviGV/vYhOy3m8BJ/nAKoAyNhInTdXpftonhWle66XHAtT1ouBlkjL496b5H5hb8dWXHwtypTqgtb/DEa+j5A== + +"@typescript-eslint/typescript-estree@5.59.9": + version "5.59.9" + resolved "https://registry.yarnpkg.com/@typescript-eslint/typescript-estree/-/typescript-estree-5.59.9.tgz#6bfea844e468427b5e72034d33c9fffc9557392b" + integrity sha512-pmM0/VQ7kUhd1QyIxgS+aRvMgw+ZljB3eDb+jYyp6d2bC0mQWLzUDF+DLwCTkQ3tlNyVsvZRXjFyV0LkU/aXjA== + dependencies: + "@typescript-eslint/types" "5.59.9" + "@typescript-eslint/visitor-keys" "5.59.9" + debug "^4.3.4" + globby "^11.1.0" + is-glob "^4.0.3" + semver "^7.3.7" + tsutils "^3.21.0" + +"@typescript-eslint/typescript-estree@6.19.0": + version "6.19.0" + resolved "https://registry.yarnpkg.com/@typescript-eslint/typescript-estree/-/typescript-estree-6.19.0.tgz#0813ba364a409afb4d62348aec0202600cb468fa" + integrity sha512-o/zefXIbbLBZ8YJ51NlkSAt2BamrK6XOmuxSR3hynMIzzyMY33KuJ9vuMdFSXW+H0tVvdF9qBPTHA91HDb4BIQ== + dependencies: + "@typescript-eslint/types" "6.19.0" + "@typescript-eslint/visitor-keys" "6.19.0" + debug "^4.3.4" + globby "^11.1.0" + is-glob "^4.0.3" + minimatch "9.0.3" + semver "^7.5.4" + ts-api-utils "^1.0.1" + +"@typescript-eslint/utils@5.59.9": + version "5.59.9" + resolved "https://registry.yarnpkg.com/@typescript-eslint/utils/-/utils-5.59.9.tgz#adee890107b5ffe02cd46fdaa6c2125fb3c6c7c4" + integrity sha512-1PuMYsju/38I5Ggblaeb98TOoUvjhRvLpLa1DoTOFaLWqaXl/1iQ1eGurTXgBY58NUdtfTXKP5xBq7q9NDaLKg== + dependencies: + "@eslint-community/eslint-utils" "^4.2.0" + "@types/json-schema" "^7.0.9" + "@types/semver" "^7.3.12" + "@typescript-eslint/scope-manager" "5.59.9" + "@typescript-eslint/types" "5.59.9" + "@typescript-eslint/typescript-estree" "5.59.9" + eslint-scope "^5.1.1" + semver "^7.3.7" + +"@typescript-eslint/utils@^6.0.0": + version "6.19.0" + resolved "https://registry.yarnpkg.com/@typescript-eslint/utils/-/utils-6.19.0.tgz#557b72c3eeb4f73bef8037c85dae57b21beb1a4b" + integrity sha512-QR41YXySiuN++/dC9UArYOg4X86OAYP83OWTewpVx5ct1IZhjjgTLocj7QNxGhWoTqknsgpl7L+hGygCO+sdYw== + dependencies: + "@eslint-community/eslint-utils" "^4.4.0" + "@types/json-schema" "^7.0.12" + "@types/semver" "^7.5.0" + "@typescript-eslint/scope-manager" "6.19.0" + "@typescript-eslint/types" "6.19.0" + "@typescript-eslint/typescript-estree" "6.19.0" + semver "^7.5.4" + +"@typescript-eslint/visitor-keys@5.59.9": + version "5.59.9" + resolved "https://registry.yarnpkg.com/@typescript-eslint/visitor-keys/-/visitor-keys-5.59.9.tgz#9f86ef8e95aca30fb5a705bb7430f95fc58b146d" + integrity sha512-bT7s0td97KMaLwpEBckbzj/YohnvXtqbe2XgqNvTl6RJVakY5mvENOTPvw5u66nljfZxthESpDozs86U+oLY8Q== + dependencies: + "@typescript-eslint/types" "5.59.9" + eslint-visitor-keys "^3.3.0" + +"@typescript-eslint/visitor-keys@6.19.0": + version "6.19.0" + resolved "https://registry.yarnpkg.com/@typescript-eslint/visitor-keys/-/visitor-keys-6.19.0.tgz#4565e0ecd63ca1f81b96f1dd76e49f746c6b2b49" + integrity sha512-hZaUCORLgubBvtGpp1JEFEazcuEdfxta9j4iUwdSAr7mEsYYAp3EAUyCZk3VEEqGj6W+AV4uWyrDGtrlawAsgQ== + dependencies: + "@typescript-eslint/types" "6.19.0" + eslint-visitor-keys "^3.4.1" + +"@webassemblyjs/ast@1.11.6", "@webassemblyjs/ast@^1.11.5": + version "1.11.6" + resolved "https://registry.yarnpkg.com/@webassemblyjs/ast/-/ast-1.11.6.tgz#db046555d3c413f8966ca50a95176a0e2c642e24" + integrity sha512-IN1xI7PwOvLPgjcf180gC1bqn3q/QaOCwYUahIOhbYUu8KA/3tw2RT/T0Gidi1l7Hhj5D/INhJxiICObqpMu4Q== + dependencies: + "@webassemblyjs/helper-numbers" "1.11.6" + "@webassemblyjs/helper-wasm-bytecode" "1.11.6" + +"@webassemblyjs/floating-point-hex-parser@1.11.6": + version "1.11.6" + resolved "https://registry.yarnpkg.com/@webassemblyjs/floating-point-hex-parser/-/floating-point-hex-parser-1.11.6.tgz#dacbcb95aff135c8260f77fa3b4c5fea600a6431" + integrity sha512-ejAj9hfRJ2XMsNHk/v6Fu2dGS+i4UaXBXGemOfQ/JfQ6mdQg/WXtwleQRLLS4OvfDhv8rYnVwH27YJLMyYsxhw== + +"@webassemblyjs/helper-api-error@1.11.6": + version "1.11.6" + resolved "https://registry.yarnpkg.com/@webassemblyjs/helper-api-error/-/helper-api-error-1.11.6.tgz#6132f68c4acd59dcd141c44b18cbebbd9f2fa768" + integrity sha512-o0YkoP4pVu4rN8aTJgAyj9hC2Sv5UlkzCHhxqWj8butaLvnpdc2jOwh4ewE6CX0txSfLn/UYaV/pheS2Txg//Q== + +"@webassemblyjs/helper-buffer@1.11.6": + version "1.11.6" + resolved "https://registry.yarnpkg.com/@webassemblyjs/helper-buffer/-/helper-buffer-1.11.6.tgz#b66d73c43e296fd5e88006f18524feb0f2c7c093" + integrity sha512-z3nFzdcp1mb8nEOFFk8DrYLpHvhKC3grJD2ardfKOzmbmJvEf/tPIqCY+sNcwZIY8ZD7IkB2l7/pqhUhqm7hLA== + +"@webassemblyjs/helper-numbers@1.11.6": + version "1.11.6" + resolved "https://registry.yarnpkg.com/@webassemblyjs/helper-numbers/-/helper-numbers-1.11.6.tgz#cbce5e7e0c1bd32cf4905ae444ef64cea919f1b5" + integrity sha512-vUIhZ8LZoIWHBohiEObxVm6hwP034jwmc9kuq5GdHZH0wiLVLIPcMCdpJzG4C11cHoQ25TFIQj9kaVADVX7N3g== + dependencies: + "@webassemblyjs/floating-point-hex-parser" "1.11.6" + "@webassemblyjs/helper-api-error" "1.11.6" + "@xtuc/long" "4.2.2" + +"@webassemblyjs/helper-wasm-bytecode@1.11.6": + version "1.11.6" + resolved "https://registry.yarnpkg.com/@webassemblyjs/helper-wasm-bytecode/-/helper-wasm-bytecode-1.11.6.tgz#bb2ebdb3b83aa26d9baad4c46d4315283acd51e9" + integrity sha512-sFFHKwcmBprO9e7Icf0+gddyWYDViL8bpPjJJl0WHxCdETktXdmtWLGVzoHbqUcY4Be1LkNfwTmXOJUFZYSJdA== + +"@webassemblyjs/helper-wasm-section@1.11.6": + version "1.11.6" + resolved "https://registry.yarnpkg.com/@webassemblyjs/helper-wasm-section/-/helper-wasm-section-1.11.6.tgz#ff97f3863c55ee7f580fd5c41a381e9def4aa577" + integrity sha512-LPpZbSOwTpEC2cgn4hTydySy1Ke+XEu+ETXuoyvuyezHO3Kjdu90KK95Sh9xTbmjrCsUwvWwCOQQNta37VrS9g== + dependencies: + "@webassemblyjs/ast" "1.11.6" + "@webassemblyjs/helper-buffer" "1.11.6" + "@webassemblyjs/helper-wasm-bytecode" "1.11.6" + "@webassemblyjs/wasm-gen" "1.11.6" + +"@webassemblyjs/ieee754@1.11.6": + version "1.11.6" + resolved "https://registry.yarnpkg.com/@webassemblyjs/ieee754/-/ieee754-1.11.6.tgz#bb665c91d0b14fffceb0e38298c329af043c6e3a" + integrity sha512-LM4p2csPNvbij6U1f19v6WR56QZ8JcHg3QIJTlSwzFcmx6WSORicYj6I63f9yU1kEUtrpG+kjkiIAkevHpDXrg== + dependencies: + "@xtuc/ieee754" "^1.2.0" + +"@webassemblyjs/leb128@1.11.6": + version "1.11.6" + resolved "https://registry.yarnpkg.com/@webassemblyjs/leb128/-/leb128-1.11.6.tgz#70e60e5e82f9ac81118bc25381a0b283893240d7" + integrity sha512-m7a0FhE67DQXgouf1tbN5XQcdWoNgaAuoULHIfGFIEVKA6tu/edls6XnIlkmS6FrXAquJRPni3ZZKjw6FSPjPQ== + dependencies: + "@xtuc/long" "4.2.2" + +"@webassemblyjs/utf8@1.11.6": + version "1.11.6" + resolved "https://registry.yarnpkg.com/@webassemblyjs/utf8/-/utf8-1.11.6.tgz#90f8bc34c561595fe156603be7253cdbcd0fab5a" + integrity sha512-vtXf2wTQ3+up9Zsg8sa2yWiQpzSsMyXj0qViVP6xKGCUT8p8YJ6HqI7l5eCnWx1T/FYdsv07HQs2wTFbbof/RA== + +"@webassemblyjs/wasm-edit@^1.11.5": + version "1.11.6" + resolved "https://registry.yarnpkg.com/@webassemblyjs/wasm-edit/-/wasm-edit-1.11.6.tgz#c72fa8220524c9b416249f3d94c2958dfe70ceab" + integrity sha512-Ybn2I6fnfIGuCR+Faaz7YcvtBKxvoLV3Lebn1tM4o/IAJzmi9AWYIPWpyBfU8cC+JxAO57bk4+zdsTjJR+VTOw== + dependencies: + "@webassemblyjs/ast" "1.11.6" + "@webassemblyjs/helper-buffer" "1.11.6" + "@webassemblyjs/helper-wasm-bytecode" "1.11.6" + "@webassemblyjs/helper-wasm-section" "1.11.6" + "@webassemblyjs/wasm-gen" "1.11.6" + "@webassemblyjs/wasm-opt" "1.11.6" + "@webassemblyjs/wasm-parser" "1.11.6" + "@webassemblyjs/wast-printer" "1.11.6" + +"@webassemblyjs/wasm-gen@1.11.6": + version "1.11.6" + resolved "https://registry.yarnpkg.com/@webassemblyjs/wasm-gen/-/wasm-gen-1.11.6.tgz#fb5283e0e8b4551cc4e9c3c0d7184a65faf7c268" + integrity sha512-3XOqkZP/y6B4F0PBAXvI1/bky7GryoogUtfwExeP/v7Nzwo1QLcq5oQmpKlftZLbT+ERUOAZVQjuNVak6UXjPA== + dependencies: + "@webassemblyjs/ast" "1.11.6" + "@webassemblyjs/helper-wasm-bytecode" "1.11.6" + "@webassemblyjs/ieee754" "1.11.6" + "@webassemblyjs/leb128" "1.11.6" + "@webassemblyjs/utf8" "1.11.6" + +"@webassemblyjs/wasm-opt@1.11.6": + version "1.11.6" + resolved "https://registry.yarnpkg.com/@webassemblyjs/wasm-opt/-/wasm-opt-1.11.6.tgz#d9a22d651248422ca498b09aa3232a81041487c2" + integrity sha512-cOrKuLRE7PCe6AsOVl7WasYf3wbSo4CeOk6PkrjS7g57MFfVUF9u6ysQBBODX0LdgSvQqRiGz3CXvIDKcPNy4g== + dependencies: + "@webassemblyjs/ast" "1.11.6" + "@webassemblyjs/helper-buffer" "1.11.6" + "@webassemblyjs/wasm-gen" "1.11.6" + "@webassemblyjs/wasm-parser" "1.11.6" + +"@webassemblyjs/wasm-parser@1.11.6", "@webassemblyjs/wasm-parser@^1.11.5": + version "1.11.6" + resolved "https://registry.yarnpkg.com/@webassemblyjs/wasm-parser/-/wasm-parser-1.11.6.tgz#bb85378c527df824004812bbdb784eea539174a1" + integrity sha512-6ZwPeGzMJM3Dqp3hCsLgESxBGtT/OeCvCZ4TA1JUPYgmhAx38tTPR9JaKy0S5H3evQpO/h2uWs2j6Yc/fjkpTQ== + dependencies: + "@webassemblyjs/ast" "1.11.6" + "@webassemblyjs/helper-api-error" "1.11.6" + "@webassemblyjs/helper-wasm-bytecode" "1.11.6" + "@webassemblyjs/ieee754" "1.11.6" + "@webassemblyjs/leb128" "1.11.6" + "@webassemblyjs/utf8" "1.11.6" + +"@webassemblyjs/wast-printer@1.11.6": + version "1.11.6" + resolved "https://registry.yarnpkg.com/@webassemblyjs/wast-printer/-/wast-printer-1.11.6.tgz#a7bf8dd7e362aeb1668ff43f35cb849f188eff20" + integrity sha512-JM7AhRcE+yW2GWYaKeHL5vt4xqee5N2WcezptmgyhNS+ScggqcT1OtXykhAb13Sn5Yas0j2uv9tHgrjwvzAP4A== + dependencies: + "@webassemblyjs/ast" "1.11.6" + "@xtuc/long" "4.2.2" + +"@webpack-cli/configtest@^2.1.1": + version "2.1.1" + resolved "https://registry.yarnpkg.com/@webpack-cli/configtest/-/configtest-2.1.1.tgz#3b2f852e91dac6e3b85fb2a314fb8bef46d94646" + integrity sha512-wy0mglZpDSiSS0XHrVR+BAdId2+yxPSoJW8fsna3ZpYSlufjvxnP4YbKTCBZnNIcGN4r6ZPXV55X4mYExOfLmw== + +"@webpack-cli/info@^2.0.2": + version "2.0.2" + resolved "https://registry.yarnpkg.com/@webpack-cli/info/-/info-2.0.2.tgz#cc3fbf22efeb88ff62310cf885c5b09f44ae0fdd" + integrity sha512-zLHQdI/Qs1UyT5UBdWNqsARasIA+AaF8t+4u2aS2nEpBQh2mWIVb8qAklq0eUENnC5mOItrIB4LiS9xMtph18A== + +"@webpack-cli/serve@^2.0.5": + version "2.0.5" + resolved "https://registry.yarnpkg.com/@webpack-cli/serve/-/serve-2.0.5.tgz#325db42395cd49fe6c14057f9a900e427df8810e" + integrity sha512-lqaoKnRYBdo1UgDX8uF24AfGMifWK19TxPmM5FHc2vAGxrJ/qtyUyFBWoY1tISZdelsQ5fBcOusifo5o5wSJxQ== + +"@wojtekmaj/date-utils@^1.0.2": + version "1.5.1" + resolved "https://registry.yarnpkg.com/@wojtekmaj/date-utils/-/date-utils-1.5.1.tgz#c3cd67177ac781cfa5736219d702a55a2aea5f2b" + integrity sha512-+i7+JmNiE/3c9FKxzWFi2IjRJ+KzZl1QPu6QNrsgaa2MuBgXvUy4gA1TVzf/JMdIIloB76xSKikTWuyYAIVLww== + +"@xobotyi/scrollbar-width@^1.9.5": + version "1.9.5" + resolved "https://registry.yarnpkg.com/@xobotyi/scrollbar-width/-/scrollbar-width-1.9.5.tgz#80224a6919272f405b87913ca13b92929bdf3c4d" + integrity sha512-N8tkAACJx2ww8vFMneJmaAgmjAG1tnVBZJRLRcx061tmsLRZHSEZSLuGWnwPtunsSLvSqXQ2wfp7Mgqg1I+2dQ== + +"@xtuc/ieee754@^1.2.0": + version "1.2.0" + resolved "https://registry.yarnpkg.com/@xtuc/ieee754/-/ieee754-1.2.0.tgz#eef014a3145ae477a1cbc00cd1e552336dceb790" + integrity sha512-DX8nKgqcGwsc0eJSqYt5lwP4DH5FlHnmuWWBRy7X0NcaGR0ZtuyeESgMwTYVEtxmsNGY+qit4QYT/MIYTOTPeA== + +"@xtuc/long@4.2.2": + version "4.2.2" + resolved "https://registry.yarnpkg.com/@xtuc/long/-/long-4.2.2.tgz#d291c6a4e97989b5c61d9acf396ae4fe133a718d" + integrity sha512-NuHqBY1PB/D8xU6s/thBgOAiAP7HOYDQ32+BFZILJ8ivkUkAHQnWfn6WhL79Owj1qmUnoN/YPhktdIoucipkAQ== + +abab@^2.0.6: + version "2.0.6" + resolved "https://registry.yarnpkg.com/abab/-/abab-2.0.6.tgz#41b80f2c871d19686216b82309231cfd3cb3d291" + integrity sha512-j2afSsaIENvHZN2B8GOpF566vZ5WVk5opAiMTvWgaQT8DkbOqsTfvNAvHoRGU2zzP8cPoqys+xHTRDWW8L+/BA== + +acorn-globals@^7.0.0: + version "7.0.1" + resolved "https://registry.yarnpkg.com/acorn-globals/-/acorn-globals-7.0.1.tgz#0dbf05c44fa7c94332914c02066d5beff62c40c3" + integrity sha512-umOSDSDrfHbTNPuNpC2NSnnA3LUrqpevPb4T9jRx4MagXNS0rs+gwiTcAvqCRmsD6utzsrzNt+ebm00SNWiC3Q== + dependencies: + acorn "^8.1.0" + acorn-walk "^8.0.2" + +acorn-import-assertions@^1.9.0: + version "1.9.0" + resolved "https://registry.yarnpkg.com/acorn-import-assertions/-/acorn-import-assertions-1.9.0.tgz#507276249d684797c84e0734ef84860334cfb1ac" + integrity sha512-cmMwop9x+8KFhxvKrKfPYmN6/pKTYYHBqLa0DfvVZcKMJWNyWLnaqND7dx/qn66R7ewM1UX5XMaDVP5wlVTaVA== + +acorn-jsx@^5.3.2: + version "5.3.2" + resolved "https://registry.yarnpkg.com/acorn-jsx/-/acorn-jsx-5.3.2.tgz#7ed5bb55908b3b2f1bc55c6af1653bada7f07937" + integrity sha512-rq9s+JNhf0IChjtDXxllJ7g41oZk5SlXtp0LHwyA5cejwn7vKmKp4pPri6YEePv2PU65sAsegbXtIinmDFDXgQ== + +acorn-walk@^8.0.2, acorn-walk@^8.1.1: + version "8.3.2" + resolved "https://registry.yarnpkg.com/acorn-walk/-/acorn-walk-8.3.2.tgz#7703af9415f1b6db9315d6895503862e231d34aa" + integrity sha512-cjkyv4OtNCIeqhHrfS81QWXoCBPExR/J62oyEqepVw8WaQeSqpW2uhuLPh1m9eWhDuOo/jUXVTlifvesOWp/4A== + +acorn@^8.1.0, acorn@^8.4.1, acorn@^8.7.1, acorn@^8.8.1, acorn@^8.8.2, acorn@^8.9.0: + version "8.11.3" + resolved "https://registry.yarnpkg.com/acorn/-/acorn-8.11.3.tgz#71e0b14e13a4ec160724b38fb7b0f233b1b81d7a" + integrity sha512-Y9rRfJG5jcKOE0CLisYbojUjIrIEE7AGMzA/Sm4BslANhbS+cDMpgBdcPT91oJ7OuJ9hYJBx59RjbhxVnrF8Xg== + +add-dom-event-listener@^1.1.0: + version "1.1.0" + resolved "https://registry.yarnpkg.com/add-dom-event-listener/-/add-dom-event-listener-1.1.0.tgz#6a92db3a0dd0abc254e095c0f1dc14acbbaae310" + integrity sha512-WCxx1ixHT0GQU9hb0KI/mhgRQhnU+U3GvwY6ZvVjYq8rsihIGoaIOUbY0yMPBxLH5MDtr0kz3fisWGNcbWW7Jw== + dependencies: + object-assign "4.x" + +add-px-to-style@1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/add-px-to-style/-/add-px-to-style-1.0.0.tgz#d0c135441fa8014a8137904531096f67f28f263a" + integrity sha512-YMyxSlXpPjD8uWekCQGuN40lV4bnZagUwqa2m/uFv1z/tNImSk9fnXVMUI5qwME/zzI3MMQRvjZ+69zyfSSyew== + +agent-base@6: + version "6.0.2" + resolved "https://registry.yarnpkg.com/agent-base/-/agent-base-6.0.2.tgz#49fff58577cfee3f37176feab4c22e00f86d7f77" + integrity sha512-RZNwNclF7+MS/8bDg70amg32dyeZGZxiDuQmZxKLAlQjr3jGyLx+4Kkk58UO7D2QdgFIQCovuSuZESne6RG6XQ== + dependencies: + debug "4" + +aggregate-error@^3.0.0: + version "3.1.0" + resolved "https://registry.yarnpkg.com/aggregate-error/-/aggregate-error-3.1.0.tgz#92670ff50f5359bdb7a3e0d40d0ec30c5737687a" + integrity sha512-4I7Td01quW/RpocfNayFdFVk1qSuoh0E7JrbRJ16nH01HhKFQ88INq9Sd+nd72zqRySlr9BmDA8xlEJ6vJMrYA== + dependencies: + clean-stack "^2.0.0" + indent-string "^4.0.0" + +ajv-formats@^2.1.1: + version "2.1.1" + resolved "https://registry.yarnpkg.com/ajv-formats/-/ajv-formats-2.1.1.tgz#6e669400659eb74973bbf2e33327180a0996b520" + integrity sha512-Wx0Kx52hxE7C18hkMEggYlEifqWZtYaRgouJor+WMdPnQyEK13vgEWyVNup7SoeeoLMsr4kf5h6dOW11I15MUA== + dependencies: + ajv "^8.0.0" + +ajv-keywords@^3.5.2: + version "3.5.2" + resolved "https://registry.yarnpkg.com/ajv-keywords/-/ajv-keywords-3.5.2.tgz#31f29da5ab6e00d1c2d329acf7b5929614d5014d" + integrity sha512-5p6WTN0DdTGVQk6VjcEju19IgaHudalcfabD7yhDGeA6bcQnmL+CpveLJq/3hvfwd1aof6L386Ougkx6RfyMIQ== + +ajv-keywords@^5.1.0: + version "5.1.0" + resolved "https://registry.yarnpkg.com/ajv-keywords/-/ajv-keywords-5.1.0.tgz#69d4d385a4733cdbeab44964a1170a88f87f0e16" + integrity sha512-YCS/JNFAUyr5vAuhk1DWm1CBxRHW9LbJ2ozWeemrIqpbsqKjHVxYPyi5GC0rjZIT5JxJ3virVTS8wk4i/Z+krw== + dependencies: + fast-deep-equal "^3.1.3" + +ajv@^6.10.0, ajv@^6.12.3, ajv@^6.12.4, ajv@^6.12.5: + version "6.12.6" + resolved "https://registry.yarnpkg.com/ajv/-/ajv-6.12.6.tgz#baf5a62e802b07d977034586f8c3baf5adf26df4" + integrity sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g== + dependencies: + fast-deep-equal "^3.1.1" + fast-json-stable-stringify "^2.0.0" + json-schema-traverse "^0.4.1" + uri-js "^4.2.2" + +ajv@^8.0.0, ajv@^8.9.0: + version "8.12.0" + resolved "https://registry.yarnpkg.com/ajv/-/ajv-8.12.0.tgz#d1a0527323e22f53562c567c00991577dfbe19d1" + integrity sha512-sRu1kpcO9yLtYxBKvqfTeh9KzZEwO3STyX1HT+4CaDzC6HpTGYhIhPIzj9XuKU7KYDwnaeh5hcOwjy1QuJzBPA== + dependencies: + fast-deep-equal "^3.1.1" + json-schema-traverse "^1.0.0" + require-from-string "^2.0.2" + uri-js "^4.2.2" + +ansi-colors@4.1.1: + version "4.1.1" + resolved "https://registry.yarnpkg.com/ansi-colors/-/ansi-colors-4.1.1.tgz#cbb9ae256bf750af1eab344f229aa27fe94ba348" + integrity sha512-JoX0apGbHaUJBNl6yF+p6JAFYZ666/hhCGKN5t9QFjbJQKUU/g8MNbFDbvfrgKXvI1QpZplPOnwIo99lX/AAmA== + +ansi-colors@^4.1.1: + version "4.1.3" + resolved "https://registry.yarnpkg.com/ansi-colors/-/ansi-colors-4.1.3.tgz#37611340eb2243e70cc604cad35d63270d48781b" + integrity sha512-/6w/C21Pm1A7aZitlI5Ni/2J6FFQN8i1Cvz3kHABAAbw93v/NlvKdVOqz7CCWz/3iv/JplRSEEZ83XION15ovw== + +ansi-escapes@^4.2.1, ansi-escapes@^4.3.0: + version "4.3.2" + resolved "https://registry.yarnpkg.com/ansi-escapes/-/ansi-escapes-4.3.2.tgz#6b2291d1db7d98b6521d5f1efa42d0f3a9feb65e" + integrity sha512-gKXj5ALrKWQLsYG9jlTRmR/xKluxHV+Z9QEwNIgCfM1/uwPMCuzVVnh5mwTd+OuBZcwSIMbqssNWRm1lE51QaQ== + dependencies: + type-fest "^0.21.3" + +ansi-regex@^5.0.1: + version "5.0.1" + resolved "https://registry.yarnpkg.com/ansi-regex/-/ansi-regex-5.0.1.tgz#082cb2c89c9fe8659a311a53bd6a4dc5301db304" + integrity sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ== + +ansi-regex@^6.0.1: + version "6.0.1" + resolved "https://registry.yarnpkg.com/ansi-regex/-/ansi-regex-6.0.1.tgz#3183e38fae9a65d7cb5e53945cd5897d0260a06a" + integrity sha512-n5M855fKb2SsfMIiFFoVrABHJC8QtHwVx+mHWP3QcEqBHYienj5dHSgjbxtC0WEZXYt4wcD6zrQElDPhFuZgfA== + +ansi-styles@^3.2.1: + version "3.2.1" + resolved "https://registry.yarnpkg.com/ansi-styles/-/ansi-styles-3.2.1.tgz#41fbb20243e50b12be0f04b8dedbf07520ce841d" + integrity sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA== + dependencies: + color-convert "^1.9.0" + +ansi-styles@^4.0.0, ansi-styles@^4.1.0: + version "4.3.0" + resolved "https://registry.yarnpkg.com/ansi-styles/-/ansi-styles-4.3.0.tgz#edd803628ae71c04c85ae7a0906edad34b648937" + integrity sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg== + dependencies: + color-convert "^2.0.1" + +ansi-styles@^5.0.0: + version "5.2.0" + resolved "https://registry.yarnpkg.com/ansi-styles/-/ansi-styles-5.2.0.tgz#07449690ad45777d1924ac2abb2fc8895dba836b" + integrity sha512-Cxwpt2SfTzTtXcfOlzGEee8O+c+MmUgGrNiBcXnuWxuFJHe6a5Hz7qwhwe5OgaSYI0IJvkLqWX1ASG+cJOkEiA== + +ansi-styles@^6.1.0: + version "6.2.1" + resolved "https://registry.yarnpkg.com/ansi-styles/-/ansi-styles-6.2.1.tgz#0e62320cf99c21afff3b3012192546aacbfb05c5" + integrity sha512-bN798gFfQX+viw3R7yrGWRqnrN2oRkEkUjjl4JNn4E8GxxbjtG3FbrEIIY3l8/hrwUwIeCZvi4QuOTP4MErVug== + +ansicolor@1.1.100: + version "1.1.100" + resolved "https://registry.yarnpkg.com/ansicolor/-/ansicolor-1.1.100.tgz#811f1afbf726edca3aafb942a14df8351996304a" + integrity sha512-Jl0pxRfa9WaQVUX57AB8/V2my6FJxrOR1Pp2qqFbig20QB4HzUoQ48THTKAgHlUCJeQm/s2WoOPcoIDhyCL/kw== + +anymatch@^3.0.3, anymatch@^3.1.1, anymatch@~3.1.2: + version "3.1.3" + resolved "https://registry.yarnpkg.com/anymatch/-/anymatch-3.1.3.tgz#790c58b19ba1720a84205b57c618d5ad8524973e" + integrity sha512-KMReFUr0B4t+D+OBkjR3KYqvocp2XaSzO55UcB6mgQMd3KbcE+mWTyvVV7D/zsdEbNnV6acZUutkiHQXvTr1Rw== + dependencies: + normalize-path "^3.0.0" + picomatch "^2.0.4" + +arch@^2.2.0: + version "2.2.0" + resolved "https://registry.yarnpkg.com/arch/-/arch-2.2.0.tgz#1bc47818f305764f23ab3306b0bfc086c5a29d11" + integrity sha512-Of/R0wqp83cgHozfIYLbBMnej79U/SVGOOyuB3VVFv1NRM/PSFMK12x9KVtiYzJqmnU5WR2qp0Z5rHb7sWGnFQ== + +are-docs-informative@^0.0.2: + version "0.0.2" + resolved "https://registry.yarnpkg.com/are-docs-informative/-/are-docs-informative-0.0.2.tgz#387f0e93f5d45280373d387a59d34c96db321963" + integrity sha512-ixiS0nLNNG5jNQzgZJNoUpBKdo9yTYZMGJ+QgT2jmjR7G7+QHRCc4v6LQ3NgE7EBJq+o0ams3waJwkrlBom8Ig== + +arg@^4.1.0: + version "4.1.3" + resolved "https://registry.yarnpkg.com/arg/-/arg-4.1.3.tgz#269fc7ad5b8e42cb63c896d5666017261c144089" + integrity sha512-58S9QDqG0Xx27YwPSt9fJxivjYl432YCwfDMfZ+71RAqUrZef7LrKQZ3LHLOwCS4FLNBplP533Zx895SeOCHvA== + +argparse@^1.0.7: + version "1.0.10" + resolved "https://registry.yarnpkg.com/argparse/-/argparse-1.0.10.tgz#bcd6791ea5ae09725e17e5ad988134cd40b3d911" + integrity sha512-o5Roy6tNG4SL/FOkCAN6RzjiakZS25RLYFrcMttJqbdd8BWrnA+fGz57iN5Pb06pvBGvl5gQ0B48dJlslXvoTg== + dependencies: + sprintf-js "~1.0.2" + +argparse@^2.0.1: + version "2.0.1" + resolved "https://registry.yarnpkg.com/argparse/-/argparse-2.0.1.tgz#246f50f3ca78a3240f6c997e8a9bd1eac49e4b38" + integrity sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q== + +aria-query@5.1.3: + version "5.1.3" + resolved "https://registry.yarnpkg.com/aria-query/-/aria-query-5.1.3.tgz#19db27cd101152773631396f7a95a3b58c22c35e" + integrity sha512-R5iJ5lkuHybztUfuOAznmboyjWq8O6sqNqtK7CLOqdydi54VNbORp49mb14KbWgG1QD3JFO9hJdZ+y4KutfdOQ== + dependencies: + deep-equal "^2.0.5" + +aria-query@^5.0.0: + version "5.3.0" + resolved "https://registry.yarnpkg.com/aria-query/-/aria-query-5.3.0.tgz#650c569e41ad90b51b3d7df5e5eed1c7549c103e" + integrity sha512-b0P0sZPKtyu8HkeRAfCq0IfURZK+SuwMjY1UXGBU27wpAiTwQAIlq56IbIO+ytk/JjS1fMR14ee5WBBfKi5J6A== + dependencies: + dequal "^2.0.3" + +array-buffer-byte-length@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/array-buffer-byte-length/-/array-buffer-byte-length-1.0.0.tgz#fabe8bc193fea865f317fe7807085ee0dee5aead" + integrity sha512-LPuwb2P+NrQw3XhxGc36+XSvuBPopovXYTR9Ew++Du9Yb/bx5AzBfrIsBoj0EZUifjQU+sHL21sseZ3jerWO/A== + dependencies: + call-bind "^1.0.2" + is-array-buffer "^3.0.1" + +array-includes@^3.1.6: + version "3.1.7" + resolved "https://registry.yarnpkg.com/array-includes/-/array-includes-3.1.7.tgz#8cd2e01b26f7a3086cbc87271593fe921c62abda" + integrity sha512-dlcsNBIiWhPkHdOEEKnehA+RNUWDc4UqFtnIXU4uuYDPtA4LDkr7qip2p0VvFAEXNDr0yWZ9PJyIRiGjRLQzwQ== + dependencies: + call-bind "^1.0.2" + define-properties "^1.2.0" + es-abstract "^1.22.1" + get-intrinsic "^1.2.1" + is-string "^1.0.7" + +array-tree-filter@^2.1.0: + version "2.1.0" + resolved "https://registry.yarnpkg.com/array-tree-filter/-/array-tree-filter-2.1.0.tgz#873ac00fec83749f255ac8dd083814b4f6329190" + integrity sha512-4ROwICNlNw/Hqa9v+rk5h22KjmzB1JGTMVKP2AKJBOCgb0yL0ASf0+YvCcLNNwquOHNX48jkeZIJ3a+oOQqKcw== + +array-union@^2.1.0: + version "2.1.0" + resolved "https://registry.yarnpkg.com/array-union/-/array-union-2.1.0.tgz#b798420adbeb1de828d84acd8a2e23d3efe85e8d" + integrity sha512-HGyxoOTYUyCM6stUe6EJgnd4EoewAI7zMdfqO+kGjnlZmBDz/cR5pf8r/cR4Wq60sL/p0IkcjUEEPwS3GFrIyw== + +array.prototype.flat@^1.3.1: + version "1.3.2" + resolved "https://registry.yarnpkg.com/array.prototype.flat/-/array.prototype.flat-1.3.2.tgz#1476217df8cff17d72ee8f3ba06738db5b387d18" + integrity sha512-djYB+Zx2vLewY8RWlNCUdHjDXs2XOgm602S9E7P/UpHgfeHL00cRiIF+IN/G/aUJ7kGPb6yO/ErDI5V2s8iycA== + dependencies: + call-bind "^1.0.2" + define-properties "^1.2.0" + es-abstract "^1.22.1" + es-shim-unscopables "^1.0.0" + +array.prototype.flatmap@^1.3.1: + version "1.3.2" + resolved "https://registry.yarnpkg.com/array.prototype.flatmap/-/array.prototype.flatmap-1.3.2.tgz#c9a7c6831db8e719d6ce639190146c24bbd3e527" + integrity sha512-Ewyx0c9PmpcsByhSW4r+9zDU7sGjFc86qf/kKtuSCRdhfbk0SNLLkaT5qvcHnRGgc5NP/ly/y+qkXkqONX54CQ== + dependencies: + call-bind "^1.0.2" + define-properties "^1.2.0" + es-abstract "^1.22.1" + es-shim-unscopables "^1.0.0" + +array.prototype.tosorted@^1.1.1: + version "1.1.2" + resolved "https://registry.yarnpkg.com/array.prototype.tosorted/-/array.prototype.tosorted-1.1.2.tgz#620eff7442503d66c799d95503f82b475745cefd" + integrity sha512-HuQCHOlk1Weat5jzStICBCd83NxiIMwqDg/dHEsoefabn/hJRj5pVdWcPUSpRrwhwxZOsQassMpgN/xRYFBMIg== + dependencies: + call-bind "^1.0.2" + define-properties "^1.2.0" + es-abstract "^1.22.1" + es-shim-unscopables "^1.0.0" + get-intrinsic "^1.2.1" + +arraybuffer.prototype.slice@^1.0.2: + version "1.0.2" + resolved "https://registry.yarnpkg.com/arraybuffer.prototype.slice/-/arraybuffer.prototype.slice-1.0.2.tgz#98bd561953e3e74bb34938e77647179dfe6e9f12" + integrity sha512-yMBKppFur/fbHu9/6USUe03bZ4knMYiwFBcyiaXB8Go0qNehwX6inYPzK9U0NeQvGxKthcmHcaR8P5MStSRBAw== + dependencies: + array-buffer-byte-length "^1.0.0" + call-bind "^1.0.2" + define-properties "^1.2.0" + es-abstract "^1.22.1" + get-intrinsic "^1.2.1" + is-array-buffer "^3.0.2" + is-shared-array-buffer "^1.0.2" + +asap@~1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/asap/-/asap-1.0.0.tgz#b2a45da5fdfa20b0496fc3768cc27c12fa916a7d" + integrity sha512-Ej9qjcXY+8Tuy1cNqiwNMwFRXOy9UwgTeMA8LxreodygIPV48lx8PU1ecFxb5ZeU1DpMKxiq6vGLTxcitWZPbA== + +asn1@~0.2.3: + version "0.2.6" + resolved "https://registry.yarnpkg.com/asn1/-/asn1-0.2.6.tgz#0d3a7bb6e64e02a90c0303b31f292868ea09a08d" + integrity sha512-ix/FxPn0MDjeyJ7i/yoHGFt/EX6LyNbxSEhPPXODPL+KB0VPk86UYfL0lMdy+KCnv+fmvIzySwaK5COwqVbWTQ== + dependencies: + safer-buffer "~2.1.0" + +assert-plus@1.0.0, assert-plus@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/assert-plus/-/assert-plus-1.0.0.tgz#f12e0f3c5d77b0b1cdd9146942e4e96c1e4dd525" + integrity sha512-NfJ4UzBCcQGLDlQq7nHxH+tv3kyZ0hHQqF5BO6J7tNJeP5do1llPr8dZ8zHonfhAu0PHAdMkSo+8o0wxg9lZWw== + +astral-regex@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/astral-regex/-/astral-regex-2.0.0.tgz#483143c567aeed4785759c0865786dc77d7d2e31" + integrity sha512-Z7tMw1ytTXt5jqMcOP+OQteU1VuNK9Y02uuJtKQ1Sv69jXQKKg5cibLwGJow8yzZP+eAc18EmLGPal0bp36rvQ== + +async@^2.6.4: + version "2.6.4" + resolved "https://registry.yarnpkg.com/async/-/async-2.6.4.tgz#706b7ff6084664cd7eae713f6f965433b5504221" + integrity sha512-mzo5dfJYwAn29PeiJ0zvwTo04zj8HDJj0Mn8TD7sno7q12prdbnasKJHhkm2c1LgrhlJ0teaea8860oxi51mGA== + dependencies: + lodash "^4.17.14" + +async@^3.2.0: + version "3.2.5" + resolved "https://registry.yarnpkg.com/async/-/async-3.2.5.tgz#ebd52a8fdaf7a2289a24df399f8d8485c8a46b66" + integrity sha512-baNZyqaaLhyLVKm/DlvdW051MSgO6b8eVfIezl9E5PqWxFgzLm/wQntEW4zOytVburDEr0JlALEpdOFwvErLsg== + +asynckit@^0.4.0: + version "0.4.0" + resolved "https://registry.yarnpkg.com/asynckit/-/asynckit-0.4.0.tgz#c79ed97f7f34cb8f2ba1bc9790bcc366474b4b79" + integrity sha512-Oei9OH4tRh0YqU3GxhX79dM/mwVgvbZJaSNaRk+bshkj0S5cfHcgYakreBjrHwatXKbz+IoIdYLxrKim2MjW0Q== + +at-least-node@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/at-least-node/-/at-least-node-1.0.0.tgz#602cd4b46e844ad4effc92a8011a3c46e0238dc2" + integrity sha512-+q/t7Ekv1EDY2l6Gda6LLiX14rU9TV20Wa3ofeQmwPFZbOMo9DXrLbOjFaaclkXKWidIaopwAObQDqwWtGUjqg== + +attr-accept@^2.2.2: + version "2.2.2" + resolved "https://registry.yarnpkg.com/attr-accept/-/attr-accept-2.2.2.tgz#646613809660110749e92f2c10833b70968d929b" + integrity sha512-7prDjvt9HmqiZ0cl5CRjtS84sEyhsHP2coDkaZKRKVfCDo9s7iw7ChVmar78Gu9pC4SoR/28wFu/G5JJhTnqEg== + +available-typed-arrays@^1.0.5: + version "1.0.5" + resolved "https://registry.yarnpkg.com/available-typed-arrays/-/available-typed-arrays-1.0.5.tgz#92f95616501069d07d10edb2fc37d3e1c65123b7" + integrity sha512-DMD0KiN46eipeziST1LPP/STfDU0sufISXmjSgvVsoU2tqxctQeASejWcfNtxYKqETM1UxQ8sp2OrSBWpHY6sw== + +aws-sign2@~0.7.0: + version "0.7.0" + resolved "https://registry.yarnpkg.com/aws-sign2/-/aws-sign2-0.7.0.tgz#b46e890934a9591f2d2f6f86d7e6a9f1b3fe76a8" + integrity sha512-08kcGqnYf/YmjoRhfxyu+CLxBjUtHLXLXX/vUfx9l2LYzG3c1m61nrpyFUZI6zeS+Li/wWMMidD9KgrqtGq3mA== + +aws4@^1.8.0: + version "1.12.0" + resolved "https://registry.yarnpkg.com/aws4/-/aws4-1.12.0.tgz#ce1c9d143389679e253b314241ea9aa5cec980d3" + integrity sha512-NmWvPnx0F1SfrQbYwOi7OeaNGokp9XhzNioJ/CSBs8Qa4vxug81mhJEAVZwxXuBmYB5KDRfMq/F3RR0BIU7sWg== + +babel-jest@^29.7.0: + version "29.7.0" + resolved "https://registry.yarnpkg.com/babel-jest/-/babel-jest-29.7.0.tgz#f4369919225b684c56085998ac63dbd05be020d5" + integrity sha512-BrvGY3xZSwEcCzKvKsCi2GgHqDqsYkOP4/by5xCgIwGXQxIEh+8ew3gmrE1y7XRR6LHZIj6yLYnUi/mm2KXKBg== + dependencies: + "@jest/transform" "^29.7.0" + "@types/babel__core" "^7.1.14" + babel-plugin-istanbul "^6.1.1" + babel-preset-jest "^29.6.3" + chalk "^4.0.0" + graceful-fs "^4.2.9" + slash "^3.0.0" + +babel-loader@9.1.2: + version "9.1.2" + resolved "https://registry.yarnpkg.com/babel-loader/-/babel-loader-9.1.2.tgz#a16a080de52d08854ee14570469905a5fc00d39c" + integrity sha512-mN14niXW43tddohGl8HPu5yfQq70iUThvFL/4QzESA7GcZoC0eVOhvWdQ8+3UlSjaDE9MVtsW9mxDY07W7VpVA== + dependencies: + find-cache-dir "^3.3.2" + schema-utils "^4.0.0" + +babel-plugin-istanbul@^6.1.1: + version "6.1.1" + resolved "https://registry.yarnpkg.com/babel-plugin-istanbul/-/babel-plugin-istanbul-6.1.1.tgz#fa88ec59232fd9b4e36dbbc540a8ec9a9b47da73" + integrity sha512-Y1IQok9821cC9onCx5otgFfRm7Lm+I+wwxOx738M/WLPZ9Q42m4IG5W0FNX8WLL2gYMZo3JkuXIH2DOpWM+qwA== + dependencies: + "@babel/helper-plugin-utils" "^7.0.0" + "@istanbuljs/load-nyc-config" "^1.0.0" + "@istanbuljs/schema" "^0.1.2" + istanbul-lib-instrument "^5.0.4" + test-exclude "^6.0.0" + +babel-plugin-jest-hoist@^29.6.3: + version "29.6.3" + resolved "https://registry.yarnpkg.com/babel-plugin-jest-hoist/-/babel-plugin-jest-hoist-29.6.3.tgz#aadbe943464182a8922c3c927c3067ff40d24626" + integrity sha512-ESAc/RJvGTFEzRwOTT4+lNDk/GNHMkKbNzsvT0qKRfDyyYTskxB5rnU2njIDYVxXCBHHEI1c0YwHob3WaYujOg== + dependencies: + "@babel/template" "^7.3.3" + "@babel/types" "^7.3.3" + "@types/babel__core" "^7.1.14" + "@types/babel__traverse" "^7.0.6" + +babel-plugin-macros@^3.1.0: + version "3.1.0" + resolved "https://registry.yarnpkg.com/babel-plugin-macros/-/babel-plugin-macros-3.1.0.tgz#9ef6dc74deb934b4db344dc973ee851d148c50c1" + integrity sha512-Cg7TFGpIr01vOQNODXOOaGz2NpCU5gl8x1qJFbb6hbZxR7XrcE2vtbAsTAbJ7/xwJtUuJEw8K8Zr/AE0LHlesg== + dependencies: + "@babel/runtime" "^7.12.5" + cosmiconfig "^7.0.0" + resolve "^1.19.0" + +babel-plugin-polyfill-corejs2@^0.3.3: + version "0.3.3" + resolved "https://registry.yarnpkg.com/babel-plugin-polyfill-corejs2/-/babel-plugin-polyfill-corejs2-0.3.3.tgz#5d1bd3836d0a19e1b84bbf2d9640ccb6f951c122" + integrity sha512-8hOdmFYFSZhqg2C/JgLUQ+t52o5nirNwaWM2B9LWteozwIvM14VSwdsCAUET10qT+kmySAlseadmfeeSWFCy+Q== + dependencies: + "@babel/compat-data" "^7.17.7" + "@babel/helper-define-polyfill-provider" "^0.3.3" + semver "^6.1.1" + +babel-plugin-polyfill-corejs3@^0.6.0: + version "0.6.0" + resolved "https://registry.yarnpkg.com/babel-plugin-polyfill-corejs3/-/babel-plugin-polyfill-corejs3-0.6.0.tgz#56ad88237137eade485a71b52f72dbed57c6230a" + integrity sha512-+eHqR6OPcBhJOGgsIar7xoAB1GcSwVUA3XjAd7HJNzOXT4wv6/H7KIdA/Nc60cvUlDbKApmqNvD1B1bzOt4nyA== + dependencies: + "@babel/helper-define-polyfill-provider" "^0.3.3" + core-js-compat "^3.25.1" + +babel-plugin-polyfill-regenerator@^0.4.1: + version "0.4.1" + resolved "https://registry.yarnpkg.com/babel-plugin-polyfill-regenerator/-/babel-plugin-polyfill-regenerator-0.4.1.tgz#390f91c38d90473592ed43351e801a9d3e0fd747" + integrity sha512-NtQGmyQDXjQqQ+IzRkBVwEOz9lQ4zxAQZgoAYEtU9dJjnl1Oc98qnN7jcp+bE7O7aYzVpavXE3/VKXNzUbh7aw== + dependencies: + "@babel/helper-define-polyfill-provider" "^0.3.3" + +babel-preset-current-node-syntax@^1.0.0: + version "1.0.1" + resolved "https://registry.yarnpkg.com/babel-preset-current-node-syntax/-/babel-preset-current-node-syntax-1.0.1.tgz#b4399239b89b2a011f9ddbe3e4f401fc40cff73b" + integrity sha512-M7LQ0bxarkxQoN+vz5aJPsLBn77n8QgTFmo8WK0/44auK2xlCXrYcUxHFxgU7qW5Yzw/CjmLRK2uJzaCd7LvqQ== + dependencies: + "@babel/plugin-syntax-async-generators" "^7.8.4" + "@babel/plugin-syntax-bigint" "^7.8.3" + "@babel/plugin-syntax-class-properties" "^7.8.3" + "@babel/plugin-syntax-import-meta" "^7.8.3" + "@babel/plugin-syntax-json-strings" "^7.8.3" + "@babel/plugin-syntax-logical-assignment-operators" "^7.8.3" + "@babel/plugin-syntax-nullish-coalescing-operator" "^7.8.3" + "@babel/plugin-syntax-numeric-separator" "^7.8.3" + "@babel/plugin-syntax-object-rest-spread" "^7.8.3" + "@babel/plugin-syntax-optional-catch-binding" "^7.8.3" + "@babel/plugin-syntax-optional-chaining" "^7.8.3" + "@babel/plugin-syntax-top-level-await" "^7.8.3" + +babel-preset-jest@^29.6.3: + version "29.6.3" + resolved "https://registry.yarnpkg.com/babel-preset-jest/-/babel-preset-jest-29.6.3.tgz#fa05fa510e7d493896d7b0dd2033601c840f171c" + integrity sha512-0B3bhxR6snWXJZtR/RliHTDPRgn1sNHOR0yVtq/IiQFyuOVjFS+wuio/R4gSNkyYmKmJB4wGZv2NZanmKmTnNA== + dependencies: + babel-plugin-jest-hoist "^29.6.3" + babel-preset-current-node-syntax "^1.0.0" + +babel-runtime@6.x, babel-runtime@^6.26.0: + version "6.26.0" + resolved "https://registry.yarnpkg.com/babel-runtime/-/babel-runtime-6.26.0.tgz#965c7058668e82b55d7bfe04ff2337bc8b5647fe" + integrity sha512-ITKNuq2wKlW1fJg9sSW52eepoYgZBggvOAHC0u/CYu/qxQ9EVzThCgR69BnSXLHjy2f7SY5zaQ4yt7H9ZVxY2g== + dependencies: + core-js "^2.4.0" + regenerator-runtime "^0.11.0" + +balanced-match@^1.0.0: + version "1.0.2" + resolved "https://registry.yarnpkg.com/balanced-match/-/balanced-match-1.0.2.tgz#e83e3a7e3f300b34cb9d87f615fa0cbf357690ee" + integrity sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw== + +base64-js@^1.3.1: + version "1.5.1" + resolved "https://registry.yarnpkg.com/base64-js/-/base64-js-1.5.1.tgz#1b1b440160a5bf7ad40b650f095963481903930a" + integrity sha512-AKpaYlHn8t4SVbOHCy+b5+KKgvR4vrsD8vbvrbiQJps7fKDTkjkDry6ji0rUJjC0kzbNePLwzxq8iypo41qeWA== + +bcrypt-pbkdf@^1.0.0: + version "1.0.2" + resolved "https://registry.yarnpkg.com/bcrypt-pbkdf/-/bcrypt-pbkdf-1.0.2.tgz#a4301d389b6a43f9b67ff3ca11a3f6637e360e9e" + integrity sha512-qeFIXtP4MSoi6NLqO12WfqARWWuCKi2Rn/9hJLEmtB5yTNr9DqFWkJRCf2qShWzPeAMRnOgCrq0sg/KLv5ES9w== + dependencies: + tweetnacl "^0.14.3" + +big.js@^5.2.2: + version "5.2.2" + resolved "https://registry.yarnpkg.com/big.js/-/big.js-5.2.2.tgz#65f0af382f578bcdc742bd9c281e9cb2d7768328" + integrity sha512-vyL2OymJxmarO8gxMr0mhChsO9QGwhynfuu4+MHTAW6czfq9humCB7rKpUjDd9YUiDPU4mzpyupFSvOClAwbmQ== + +binary-extensions@^2.0.0: + version "2.2.0" + resolved "https://registry.yarnpkg.com/binary-extensions/-/binary-extensions-2.2.0.tgz#75f502eeaf9ffde42fc98829645be4ea76bd9e2d" + integrity sha512-jDctJ/IVQbZoJykoeHbhXpOlNBqGNcwXJKJog42E5HDPUwQTSdjCHdihjj0DlnheQ7blbT6dHOafNAiS8ooQKA== + +blink-diff@1.0.13: + version "1.0.13" + resolved "https://registry.yarnpkg.com/blink-diff/-/blink-diff-1.0.13.tgz#80e3df69de804b30d40c70f041e983841ecda899" + integrity sha512-2hIEnGq8wruXfje9GvDV41VXo+4YdjrjL5ZMlVJT3Wi5k1jjz20fCTlVejSXoERirhEVsFYz9NmgdUYgQ41Giw== + dependencies: + pngjs-image "~0.11.5" + preceptor-core "~0.10.0" + promise "6.0.0" + +blob-util@^2.0.2: + version "2.0.2" + resolved "https://registry.yarnpkg.com/blob-util/-/blob-util-2.0.2.tgz#3b4e3c281111bb7f11128518006cdc60b403a1eb" + integrity sha512-T7JQa+zsXXEa6/8ZhHcQEW1UFfVM49Ts65uBkFL6fz2QmrElqmbajIDJvuA0tEhRe5eIjpV9ZF+0RfZR9voJFQ== + +bluebird@3.7.1: + version "3.7.1" + resolved "https://registry.yarnpkg.com/bluebird/-/bluebird-3.7.1.tgz#df70e302b471d7473489acf26a93d63b53f874de" + integrity sha512-DdmyoGCleJnkbp3nkbxTLJ18rjDsE4yCggEwKNXkeV123sPNfOCYeDoeuOY+F2FrSjO1YXcTU+dsy96KMy+gcg== + +bluebird@^3.7.2: + version "3.7.2" + resolved "https://registry.yarnpkg.com/bluebird/-/bluebird-3.7.2.tgz#9f229c15be272454ffa973ace0dbee79a1b0c36f" + integrity sha512-XpNj6GDQzdfW+r2Wnn7xiSAd7TM3jzkxGXBGTtWKuSXv1xUV+azxAm8jdWZN06QTQk+2N2XB9jRDkvbmQmcRtg== + +body@^5.1.0: + version "5.1.0" + resolved "https://registry.yarnpkg.com/body/-/body-5.1.0.tgz#e4ba0ce410a46936323367609ecb4e6553125069" + integrity sha512-chUsBxGRtuElD6fmw1gHLpvnKdVLK302peeFa9ZqAEk8TyzZ3fygLyUEDDPTJvL9+Bor0dIwn6ePOsRM2y0zQQ== + dependencies: + continuable-cache "^0.3.1" + error "^7.0.0" + raw-body "~1.1.0" + safe-json-parse "~1.0.1" + +brace-expansion@^1.1.7: + version "1.1.11" + resolved "https://registry.yarnpkg.com/brace-expansion/-/brace-expansion-1.1.11.tgz#3c7fcbf529d87226f3d2f52b966ff5271eb441dd" + integrity sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA== + dependencies: + balanced-match "^1.0.0" + concat-map "0.0.1" + +brace-expansion@^2.0.1: + version "2.0.1" + resolved "https://registry.yarnpkg.com/brace-expansion/-/brace-expansion-2.0.1.tgz#1edc459e0f0c548486ecf9fc99f2221364b9a0ae" + integrity sha512-XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA== + dependencies: + balanced-match "^1.0.0" + +braces@^3.0.2, braces@~3.0.2: + version "3.0.2" + resolved "https://registry.yarnpkg.com/braces/-/braces-3.0.2.tgz#3454e1a462ee8d599e236df336cd9ea4f8afe107" + integrity sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A== + dependencies: + fill-range "^7.0.1" + +browser-stdout@1.3.1: + version "1.3.1" + resolved "https://registry.yarnpkg.com/browser-stdout/-/browser-stdout-1.3.1.tgz#baa559ee14ced73452229bad7326467c61fabd60" + integrity sha512-qhAVI1+Av2X7qelOfAIYwXONood6XlZE/fXaBSmW/T5SzLAmCgzi+eiWE7fUvbHaeNBQH13UftjpXxsfLkMpgw== + +browserslist@^4.14.5, browserslist@^4.22.2: + version "4.22.2" + resolved "https://registry.yarnpkg.com/browserslist/-/browserslist-4.22.2.tgz#704c4943072bd81ea18997f3bd2180e89c77874b" + integrity sha512-0UgcrvQmBDvZHFGdYUehrCNIazki7/lUP3kkoi/r3YB2amZbFM9J43ZRkJTXBUZK4gmx56+Sqk9+Vs9mwZx9+A== + dependencies: + caniuse-lite "^1.0.30001565" + electron-to-chromium "^1.4.601" + node-releases "^2.0.14" + update-browserslist-db "^1.0.13" + +bser@2.1.1: + version "2.1.1" + resolved "https://registry.yarnpkg.com/bser/-/bser-2.1.1.tgz#e6787da20ece9d07998533cfd9de6f5c38f4bc05" + integrity sha512-gQxTNE/GAfIIrmHLUE3oJyp5FO6HRBfhjnw4/wMmA63ZGDJnWBmgY/lyQBpnDUkGmAhbSe39tx2d/iTOAfglwQ== + dependencies: + node-int64 "^0.4.0" + +buffer-crc32@~0.2.3: + version "0.2.13" + resolved "https://registry.yarnpkg.com/buffer-crc32/-/buffer-crc32-0.2.13.tgz#0d333e3f00eac50aa1454abd30ef8c2a5d9a7242" + integrity sha512-VO9Ht/+p3SN7SKWqcrgEzjGbRSJYTx+Q1pTQC0wrWqHx0vpJraQ6GtHx8tvcg1rlK1byhU5gccxgOgj7B0TDkQ== + +buffer-from@^1.0.0: + version "1.1.2" + resolved "https://registry.yarnpkg.com/buffer-from/-/buffer-from-1.1.2.tgz#2b146a6fd72e80b4f55d255f35ed59a3a9a41bd5" + integrity sha512-E+XQCRwSbaaiChtv6k6Dwgc+bx+Bs6vuKJHHl5kox/BaKbhiXzqQOwK4cO22yElGp2OCmjwVhT3HmxgyPGnJfQ== + +buffer@^5.6.0: + version "5.7.1" + resolved "https://registry.yarnpkg.com/buffer/-/buffer-5.7.1.tgz#ba62e7c13133053582197160851a8f648e99eed0" + integrity sha512-EHcyIPBQ4BSGlvjB16k5KgAJ27CIsHY/2JBmCRReo48y9rQ3MaUzWX3KVlBa4U7MyX02HdVj0K7C3WaB3ju7FQ== + dependencies: + base64-js "^1.3.1" + ieee754 "^1.1.13" + +builtin-modules@^3.3.0: + version "3.3.0" + resolved "https://registry.yarnpkg.com/builtin-modules/-/builtin-modules-3.3.0.tgz#cae62812b89801e9656336e46223e030386be7b6" + integrity sha512-zhaCDicdLuWN5UbN5IMnFqNMhNfo919sH85y2/ea+5Yg9TsTkeZxpL+JLbp6cgYFS4sRLp3YV4S6yDuqVWHYOw== + +bytes@1: + version "1.0.0" + resolved "https://registry.yarnpkg.com/bytes/-/bytes-1.0.0.tgz#3569ede8ba34315fab99c3e92cb04c7220de1fa8" + integrity sha512-/x68VkHLeTl3/Ll8IvxdwzhrT+IyKc52e/oyHhA2RwqPqswSnjVbSddfPRwAsJtbilMAPSRWwAlpxdYsSWOTKQ== + +cachedir@^2.3.0: + version "2.4.0" + resolved "https://registry.yarnpkg.com/cachedir/-/cachedir-2.4.0.tgz#7fef9cf7367233d7c88068fe6e34ed0d355a610d" + integrity sha512-9EtFOZR8g22CL7BWjJ9BUx1+A/djkofnyW3aOXZORNW2kxoUpx2h+uN2cOqwPmFhnpVmxg+KW2OjOSgChTEvsQ== + +calculate-size@1.1.1: + version "1.1.1" + resolved "https://registry.yarnpkg.com/calculate-size/-/calculate-size-1.1.1.tgz#ae7caa1c7795f82c4f035dc7be270e3581dae3ee" + integrity sha512-jJZ7pvbQVM/Ss3VO789qpsypN3xmnepg242cejOAslsmlZLYw2dnj7knnNowabQ0Kzabzx56KFTy2Pot/y6FmA== + +call-bind@^1.0.0, call-bind@^1.0.2, call-bind@^1.0.4, call-bind@^1.0.5: + version "1.0.5" + resolved "https://registry.yarnpkg.com/call-bind/-/call-bind-1.0.5.tgz#6fa2b7845ce0ea49bf4d8b9ef64727a2c2e2e513" + integrity sha512-C3nQxfFZxFRVoJoGKKI8y3MOEo129NQ+FgQ08iye+Mk4zNZZGdjfs06bVTr+DBSlA66Q2VEcMki/cUCP4SercQ== + dependencies: + function-bind "^1.1.2" + get-intrinsic "^1.2.1" + set-function-length "^1.1.1" + +callsites@^3.0.0: + version "3.1.0" + resolved "https://registry.yarnpkg.com/callsites/-/callsites-3.1.0.tgz#b3630abd8943432f54b3f0519238e33cd7df2f73" + integrity sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ== + +camelcase@^5.3.1: + version "5.3.1" + resolved "https://registry.yarnpkg.com/camelcase/-/camelcase-5.3.1.tgz#e3c9b31569e106811df242f715725a1f4c494320" + integrity sha512-L28STB170nwWS63UjtlEOE3dldQApaJXZkOI1uMFfzf3rRuPegHaHesyee+YxQ+W6SvRDQV6UrdOdRiR153wJg== + +camelcase@^6.0.0, camelcase@^6.2.0: + version "6.3.0" + resolved "https://registry.yarnpkg.com/camelcase/-/camelcase-6.3.0.tgz#5685b95eb209ac9c0c177467778c9c84df58ba9a" + integrity sha512-Gmy6FhYlCY7uOElZUSbxo2UCDH8owEk996gkbrpsgGtrJLM3J7jGxl9Ic7Qwwj4ivOE5AWZWRMecDdF7hqGjFA== + +caniuse-lite@^1.0.30001565: + version "1.0.30001579" + resolved "https://registry.yarnpkg.com/caniuse-lite/-/caniuse-lite-1.0.30001579.tgz#45c065216110f46d6274311a4b3fcf6278e0852a" + integrity sha512-u5AUVkixruKHJjw/pj9wISlcMpgFWzSrczLZbrqBSxukQixmg0SJ5sZTpvaFvxU0HoQKd4yoyAogyrAz9pzJnA== + +caseless@~0.12.0: + version "0.12.0" + resolved "https://registry.yarnpkg.com/caseless/-/caseless-0.12.0.tgz#1b681c21ff84033c826543090689420d187151dc" + integrity sha512-4tYFyifaFfGacoiObjJegolkwSU4xQNGbVgUiNYVUxbQ2x2lUsFvY4hVgVzGiIe6WLOPqycWXA40l+PWsxthUw== + +chalk@^2.4.2: + version "2.4.2" + resolved "https://registry.yarnpkg.com/chalk/-/chalk-2.4.2.tgz#cd42541677a54333cf541a49108c1432b44c9424" + integrity sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ== + dependencies: + ansi-styles "^3.2.1" + escape-string-regexp "^1.0.5" + supports-color "^5.3.0" + +chalk@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/chalk/-/chalk-3.0.0.tgz#3f73c2bf526591f574cc492c51e2456349f844e4" + integrity sha512-4D3B6Wf41KOYRFdszmDqMCGq5VV/uMAB273JILmO+3jAlh8X4qDtdtgCR3fxtbLEMzSx22QdhnDcJvu2u1fVwg== + dependencies: + ansi-styles "^4.1.0" + supports-color "^7.1.0" + +chalk@^4.0.0, chalk@^4.1.0, chalk@^4.1.2: + version "4.1.2" + resolved "https://registry.yarnpkg.com/chalk/-/chalk-4.1.2.tgz#aac4e2b7734a740867aeb16bf02aad556a1e7a01" + integrity sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA== + dependencies: + ansi-styles "^4.1.0" + supports-color "^7.1.0" + +char-regex@^1.0.2: + version "1.0.2" + resolved "https://registry.yarnpkg.com/char-regex/-/char-regex-1.0.2.tgz#d744358226217f981ed58f479b1d6bcc29545dcf" + integrity sha512-kWWXztvZ5SBQV+eRgKFeh8q5sLuZY2+8WUIzlxWVTg+oGwY14qylx1KbKzHd8P6ZYkAg0xyIDU9JMHhyJMZ1jw== + +check-more-types@^2.24.0: + version "2.24.0" + resolved "https://registry.yarnpkg.com/check-more-types/-/check-more-types-2.24.0.tgz#1420ffb10fd444dcfc79b43891bbfffd32a84600" + integrity sha512-Pj779qHxV2tuapviy1bSZNEL1maXr13bPYpsvSDB68HlYcYuhlDrmGd63i0JHMCLKzc7rUSNIrpdJlhVlNwrxA== + +chokidar@3.5.3, "chokidar@>=3.0.0 <4.0.0", chokidar@^3.5.3: + version "3.5.3" + resolved "https://registry.yarnpkg.com/chokidar/-/chokidar-3.5.3.tgz#1cf37c8707b932bd1af1ae22c0432e2acd1903bd" + integrity sha512-Dr3sfKRP6oTcjf2JmUmFJfeVMvXBdegxB0iVQ5eb2V10uFJUCAS8OByZdVAyVb8xXNz3GjjTgj9kLWsZTqE6kw== + dependencies: + anymatch "~3.1.2" + braces "~3.0.2" + glob-parent "~5.1.2" + is-binary-path "~2.1.0" + is-glob "~4.0.1" + normalize-path "~3.0.0" + readdirp "~3.6.0" + optionalDependencies: + fsevents "~2.3.2" + +chrome-remote-interface@0.32.1: + version "0.32.1" + resolved "https://registry.yarnpkg.com/chrome-remote-interface/-/chrome-remote-interface-0.32.1.tgz#e3478ca712223e51c4df7294cbc536f868ca0aa6" + integrity sha512-CU3/K/8YlU2H0DjsLRbxPsG4piiSGUcIy6GkGXF11SqOYoIeuUBivOsGXScaZnTyC1p4wFSR+GNmAM434/ALWw== + dependencies: + commander "2.11.x" + ws "^7.2.0" + +chrome-trace-event@^1.0.2: + version "1.0.3" + resolved "https://registry.yarnpkg.com/chrome-trace-event/-/chrome-trace-event-1.0.3.tgz#1015eced4741e15d06664a957dbbf50d041e26ac" + integrity sha512-p3KULyQg4S7NIHixdwbGX+nFHkoBiA4YQmyWtjb8XngSKV124nJmRysgAeujbUVb15vh+RvFUfCPqU7rXk+hZg== + +ci-info@^3.2.0: + version "3.9.0" + resolved "https://registry.yarnpkg.com/ci-info/-/ci-info-3.9.0.tgz#4279a62028a7b1f262f3473fc9605f5e218c59b4" + integrity sha512-NIxF55hv4nSqQswkAeiOi1r83xy8JldOFDTWiug55KBu9Jnblncd2U6ViHmYgHf01TPZS77NJBhBMKdWj9HQMQ== + +cjs-module-lexer@^1.0.0: + version "1.2.3" + resolved "https://registry.yarnpkg.com/cjs-module-lexer/-/cjs-module-lexer-1.2.3.tgz#6c370ab19f8a3394e318fe682686ec0ac684d107" + integrity sha512-0TNiGstbQmCFwt4akjjBg5pLRTSyj/PkWQ1ZoO2zntmg9yLqSRxwEa4iCfQLGjqhiqBfOJa7W/E8wfGrTDmlZQ== + +classnames@2.3.2: + version "2.3.2" + resolved "https://registry.yarnpkg.com/classnames/-/classnames-2.3.2.tgz#351d813bf0137fcc6a76a16b88208d2560a0d924" + integrity sha512-CSbhY4cFEJRe6/GQzIk5qXZ4Jeg5pcsP7b5peFSDpffpe1cqjASH/n9UTjBwOp6XpMSTwQ8Za2K5V02ueA7Tmw== + +classnames@2.x, classnames@^2.2.1, classnames@^2.2.5, classnames@^2.2.6, classnames@^2.3.1, classnames@^2.3.2: + version "2.5.1" + resolved "https://registry.yarnpkg.com/classnames/-/classnames-2.5.1.tgz#ba774c614be0f016da105c858e7159eae8e7687b" + integrity sha512-saHYOzhIQs6wy2sVxTM6bUDsQO4F50V9RQ22qBpEdCW+I+/Wmke2HOl6lS6dTpdxVhb88/I6+Hs+438c3lfUow== + +clean-stack@^2.0.0: + version "2.2.0" + resolved "https://registry.yarnpkg.com/clean-stack/-/clean-stack-2.2.0.tgz#ee8472dbb129e727b31e8a10a427dee9dfe4008b" + integrity sha512-4diC9HaTE+KRAMWhDhrGOECgWZxoevMc5TlkObMqNSsVU62PYzXZ/SMTjzyGAFF1YusgxGcSWTEXBhp0CPwQ1A== + +cli-cursor@^3.1.0: + version "3.1.0" + resolved "https://registry.yarnpkg.com/cli-cursor/-/cli-cursor-3.1.0.tgz#264305a7ae490d1d03bf0c9ba7c925d1753af307" + integrity sha512-I/zHAwsKf9FqGoXM4WWRACob9+SNukZTd94DWF57E4toouRulbCxcUh6RKUEOQlYTHJnzkPMySvPNaaSLNfLZw== + dependencies: + restore-cursor "^3.1.0" + +cli-table3@~0.6.1: + version "0.6.3" + resolved "https://registry.yarnpkg.com/cli-table3/-/cli-table3-0.6.3.tgz#61ab765aac156b52f222954ffc607a6f01dbeeb2" + integrity sha512-w5Jac5SykAeZJKntOxJCrm63Eg5/4dhMWIcuTbo9rpE+brgaSZo0RuNJZeOyMgsUdhDeojvgyQLmjI+K50ZGyg== + dependencies: + string-width "^4.2.0" + optionalDependencies: + "@colors/colors" "1.5.0" + +cli-truncate@^2.1.0: + version "2.1.0" + resolved "https://registry.yarnpkg.com/cli-truncate/-/cli-truncate-2.1.0.tgz#c39e28bf05edcde5be3b98992a22deed5a2b93c7" + integrity sha512-n8fOixwDD6b/ObinzTrp1ZKFzbgvKZvuz/TvejnLn1aQfC6r52XEx85FmuC+3HI+JM7coBRXUvNqEU2PHVrHpg== + dependencies: + slice-ansi "^3.0.0" + string-width "^4.2.0" + +cliui@^7.0.2: + version "7.0.4" + resolved "https://registry.yarnpkg.com/cliui/-/cliui-7.0.4.tgz#a0265ee655476fc807aea9df3df8df7783808b4f" + integrity sha512-OcRE68cOsVMXp1Yvonl/fzkQOyjLSu/8bhPDfQt0e0/Eb283TKP20Fs2MqoPsr9SwA595rRCA+QMzYc9nBP+JQ== + dependencies: + string-width "^4.2.0" + strip-ansi "^6.0.0" + wrap-ansi "^7.0.0" + +cliui@^8.0.1: + version "8.0.1" + resolved "https://registry.yarnpkg.com/cliui/-/cliui-8.0.1.tgz#0c04b075db02cbfe60dc8e6cf2f5486b1a3608aa" + integrity sha512-BSeNnyus75C4//NQ9gQt1/csTXyo/8Sb+afLAkzAptFuMsod9HFokGNudZpi/oQV73hnVK+sR+5PVRMd+Dr7YQ== + dependencies: + string-width "^4.2.0" + strip-ansi "^6.0.1" + wrap-ansi "^7.0.0" + +clone-deep@^4.0.1: + version "4.0.1" + resolved "https://registry.yarnpkg.com/clone-deep/-/clone-deep-4.0.1.tgz#c19fd9bdbbf85942b4fd979c84dcf7d5f07c2387" + integrity sha512-neHB9xuzh/wk0dIHweyAXv2aPGZIVk3pLMe+/RNzINf17fe0OG96QroktYAUm7SM1PBnzTabaLboqqxDyMU+SQ== + dependencies: + is-plain-object "^2.0.4" + kind-of "^6.0.2" + shallow-clone "^3.0.0" + +clsx@^1.1.1, clsx@^1.2.1: + version "1.2.1" + resolved "https://registry.yarnpkg.com/clsx/-/clsx-1.2.1.tgz#0ddc4a20a549b59c93a4116bb26f5294ca17dc12" + integrity sha512-EcR6r5a8bj6pu3ycsa/E/cKVGuTgZJZdsyUYHOksG/UHIiKfjxzRxYJpyVBwYaQeOvghal9fcc4PidlgzugAQg== + +clsx@^2.0.0: + version "2.1.0" + resolved "https://registry.yarnpkg.com/clsx/-/clsx-2.1.0.tgz#e851283bcb5c80ee7608db18487433f7b23f77cb" + integrity sha512-m3iNNWpd9rl3jvvcBnu70ylMdrXt8Vlq4HYadnU5fwcOtvkSQWPmj7amUcDT2qYI7risszBjI5AUIUox9D16pg== + +co@^4.6.0: + version "4.6.0" + resolved "https://registry.yarnpkg.com/co/-/co-4.6.0.tgz#6ea6bdf3d853ae54ccb8e47bfa0bf3f9031fb184" + integrity sha512-QVb0dM5HvG+uaxitm8wONl7jltx8dqhfU33DcqtOZcLSVIKSDDLDi7+0LbAKiyI8hD9u42m2YxXSkMGWThaecQ== + +collect-v8-coverage@^1.0.0: + version "1.0.2" + resolved "https://registry.yarnpkg.com/collect-v8-coverage/-/collect-v8-coverage-1.0.2.tgz#c0b29bcd33bcd0779a1344c2136051e6afd3d9e9" + integrity sha512-lHl4d5/ONEbLlJvaJNtsF/Lz+WvB07u2ycqTYbdrq7UypDXailES4valYb2eWiJFxZlVmpGekfqoxQhzyFdT4Q== + +color-convert@^1.9.0: + version "1.9.3" + resolved "https://registry.yarnpkg.com/color-convert/-/color-convert-1.9.3.tgz#bb71850690e1f136567de629d2d5471deda4c1e8" + integrity sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg== + dependencies: + color-name "1.1.3" + +color-convert@^2.0.1: + version "2.0.1" + resolved "https://registry.yarnpkg.com/color-convert/-/color-convert-2.0.1.tgz#72d3a68d598c9bdb3af2ad1e84f21d896abd4de3" + integrity sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ== + dependencies: + color-name "~1.1.4" + +color-name@1.1.3: + version "1.1.3" + resolved "https://registry.yarnpkg.com/color-name/-/color-name-1.1.3.tgz#a7d0558bd89c42f795dd42328f740831ca53bc25" + integrity sha512-72fSenhMw2HZMTVHeCA9KCmpEIbzWiQsjN+BHcBbS9vr1mtt+vJjPdksIBNUmKAW8TFUDPJK5SUU3QhE9NEXDw== + +color-name@~1.1.4: + version "1.1.4" + resolved "https://registry.yarnpkg.com/color-name/-/color-name-1.1.4.tgz#c2a09a87acbde69543de6f63fa3995c826c536a2" + integrity sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA== + +colorette@^2.0.14, colorette@^2.0.16: + version "2.0.20" + resolved "https://registry.yarnpkg.com/colorette/-/colorette-2.0.20.tgz#9eb793e6833067f7235902fcd3b09917a000a95a" + integrity sha512-IfEDxwoWIjkeXL1eXcDiow4UbKjhLdq6/EuSVR9GMN7KVH3r9gQ83e73hsz1Nd1T3ijd5xv1wcWRYO+D6kCI2w== + +combined-stream@^1.0.6, combined-stream@^1.0.8, combined-stream@~1.0.6: + version "1.0.8" + resolved "https://registry.yarnpkg.com/combined-stream/-/combined-stream-1.0.8.tgz#c3d45a8b34fd730631a110a8a2520682b31d5a7f" + integrity sha512-FQN4MRfuJeHf7cBbBMJFXhKSDq+2kAArBlmRBvcvFE5BB1HZKXtSFASDhdlz9zOYwxh8lDdnvmMOe/+5cdoEdg== + dependencies: + delayed-stream "~1.0.0" + +commander@2.11.x: + version "2.11.0" + resolved "https://registry.yarnpkg.com/commander/-/commander-2.11.0.tgz#157152fd1e7a6c8d98a5b715cf376df928004563" + integrity sha512-b0553uYA5YAEGgyYIGYROzKQ7X5RAqedkfjiZxwi0kL1g3bOaBNNZfYkzt/CL0umgD5wc9Jec2FbB98CjkMRvQ== + +commander@7: + version "7.2.0" + resolved "https://registry.yarnpkg.com/commander/-/commander-7.2.0.tgz#a36cb57d0b501ce108e4d20559a150a391d97ab7" + integrity sha512-QrWXB+ZQSVPmIWIhtEO9H+gwHaMGYiF5ChvoJ+K9ZGHG/sVsa6yiesAD1GC/x46sET00Xlwo1u49RVVVzvcSkw== + +commander@8.3.0: + version "8.3.0" + resolved "https://registry.yarnpkg.com/commander/-/commander-8.3.0.tgz#4837ea1b2da67b9c616a67afbb0fafee567bca66" + integrity sha512-OkTL9umf+He2DZkUq8f8J9of7yL6RJKI24dVITBmNfZBmri9zYZQrKkuXiKhyfPSu8tUhnVBB1iKXevvnlR4Ww== + +commander@^10.0.1: + version "10.0.1" + resolved "https://registry.yarnpkg.com/commander/-/commander-10.0.1.tgz#881ee46b4f77d1c1dccc5823433aa39b022cbe06" + integrity sha512-y4Mg2tXshplEbSGzx7amzPwKKOCGuoSRP/CjEdwwk0FOGlUbq6lKuoyDZTNZkmxHdJtp54hdfY/JUrdL7Xfdug== + +commander@^2.20.0, commander@^2.20.3: + version "2.20.3" + resolved "https://registry.yarnpkg.com/commander/-/commander-2.20.3.tgz#fd485e84c03eb4881c20722ba48035e8531aeb33" + integrity sha512-GpVkmM8vF2vQUkj2LvZmD35JxeJOLCwJ9cUkugyk2nuhbv3+mJvpLYYt+0+USMxE+oj+ey/lJEnhZw75x/OMcQ== + +commander@^5.1.0: + version "5.1.0" + resolved "https://registry.yarnpkg.com/commander/-/commander-5.1.0.tgz#46abbd1652f8e059bddaef99bbdcb2ad9cf179ae" + integrity sha512-P0CysNDQ7rtVw4QIQtm+MRxV66vKFSvlsQvGYXZWR3qFU0jlMKHZZZgw8e+8DSah4UDKMqnknRDQz+xuQXQ/Zg== + +comment-parser@1.3.1: + version "1.3.1" + resolved "https://registry.yarnpkg.com/comment-parser/-/comment-parser-1.3.1.tgz#3d7ea3adaf9345594aedee6563f422348f165c1b" + integrity sha512-B52sN2VNghyq5ofvUsqZjmk6YkihBX5vMSChmSK9v4ShjKf3Vk5Xcmgpw4o+iIgtrnM/u5FiMpz9VKb8lpBveA== + +common-tags@^1.8.0: + version "1.8.2" + resolved "https://registry.yarnpkg.com/common-tags/-/common-tags-1.8.2.tgz#94ebb3c076d26032745fd54face7f688ef5ac9c6" + integrity sha512-gk/Z852D2Wtb//0I+kRFNKKE9dIIVirjoqPoA1wJU+XePVXZfGeBpk45+A1rKO4Q43prqWBNY/MiIeRLbPWUaA== + +commondir@^1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/commondir/-/commondir-1.0.1.tgz#ddd800da0c66127393cca5950ea968a3aaf1253b" + integrity sha512-W9pAhw0ja1Edb5GVdIF1mjZw/ASI0AlShXM83UUGe2DVr5TdAPEA1OA8m/g8zWp9x6On7gqufY+FatDbC3MDQg== + +component-classes@^1.2.5: + version "1.2.6" + resolved "https://registry.yarnpkg.com/component-classes/-/component-classes-1.2.6.tgz#c642394c3618a4d8b0b8919efccbbd930e5cd691" + integrity sha512-hPFGULxdwugu1QWW3SvVOCUHLzO34+a2J6Wqy0c5ASQkfi9/8nZcBB0ZohaEbXOQlCflMAEMmEWk7u7BVs4koA== + dependencies: + component-indexof "0.0.3" + +component-indexof@0.0.3: + version "0.0.3" + resolved "https://registry.yarnpkg.com/component-indexof/-/component-indexof-0.0.3.tgz#11d091312239eb8f32c8f25ae9cb002ffe8d3c24" + integrity sha512-puDQKvx/64HZXb4hBwIcvQLaLgux8o1CbWl39s41hrIIZDl1lJiD5jc22gj3RBeGK0ovxALDYpIbyjqDUUl0rw== + +concat-map@0.0.1: + version "0.0.1" + resolved "https://registry.yarnpkg.com/concat-map/-/concat-map-0.0.1.tgz#d8a96bd77fd68df7793a73036a3ba0d5405d477b" + integrity sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg== + +continuable-cache@^0.3.1: + version "0.3.1" + resolved "https://registry.yarnpkg.com/continuable-cache/-/continuable-cache-0.3.1.tgz#bd727a7faed77e71ff3985ac93351a912733ad0f" + integrity sha512-TF30kpKhTH8AGCG3dut0rdd/19B7Z+qCnrMoBLpyQu/2drZdNrrpcjPEoJeSVsQM+8KmWG5O56oPDjSSUsuTyA== + +convert-source-map@^1.5.0, convert-source-map@^1.7.0: + version "1.9.0" + resolved "https://registry.yarnpkg.com/convert-source-map/-/convert-source-map-1.9.0.tgz#7faae62353fb4213366d0ca98358d22e8368b05f" + integrity sha512-ASFBup0Mz1uyiIjANan1jzLQami9z1PoYSZCiiYW2FczPbenXc45FZdBZLzOT+r6+iciuEModtmCti+hjaAk0A== + +convert-source-map@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/convert-source-map/-/convert-source-map-2.0.0.tgz#4b560f649fc4e918dd0ab75cf4961e8bc882d82a" + integrity sha512-Kvp459HrV2FEJ1CAsi1Ku+MY3kasH19TFykTz2xWmMeq6bk2NU3XXvfJ+Q61m0xktWwt+1HSYf3JZsTms3aRJg== + +copy-to-clipboard@^3.3.1: + version "3.3.3" + resolved "https://registry.yarnpkg.com/copy-to-clipboard/-/copy-to-clipboard-3.3.3.tgz#55ac43a1db8ae639a4bd99511c148cdd1b83a1b0" + integrity sha512-2KV8NhB5JqC3ky0r9PMCAZKbUHSwtEo4CwCs0KXgruG43gX5PMqDEBbVU4OUzw2MuAWUfsuFmWvEKG5QRfSnJA== + dependencies: + toggle-selection "^1.0.6" + +copy-webpack-plugin@^11.0.0: + version "11.0.0" + resolved "https://registry.yarnpkg.com/copy-webpack-plugin/-/copy-webpack-plugin-11.0.0.tgz#96d4dbdb5f73d02dd72d0528d1958721ab72e04a" + integrity sha512-fX2MWpamkW0hZxMEg0+mYnA40LTosOSa5TqZ9GYIBzyJa9C3QUaMPSE2xAi/buNr8u89SfD9wHSQVBzrRa/SOQ== + dependencies: + fast-glob "^3.2.11" + glob-parent "^6.0.1" + globby "^13.1.1" + normalize-path "^3.0.0" + schema-utils "^4.0.0" + serialize-javascript "^6.0.0" + +core-js-compat@^3.25.1: + version "3.35.0" + resolved "https://registry.yarnpkg.com/core-js-compat/-/core-js-compat-3.35.0.tgz#c149a3d1ab51e743bc1da61e39cb51f461a41873" + integrity sha512-5blwFAddknKeNgsjBzilkdQ0+YK8L1PfqPYq40NOYMYFSS38qj+hpTcLLWwpIwA2A5bje/x5jmVn2tzUMg9IVw== + dependencies: + browserslist "^4.22.2" + +core-js@3.28.0: + version "3.28.0" + resolved "https://registry.yarnpkg.com/core-js/-/core-js-3.28.0.tgz#ed8b9e99c273879fdfff0edfc77ee709a5800e4a" + integrity sha512-GiZn9D4Z/rSYvTeg1ljAIsEqFm0LaN9gVtwDCrKL80zHtS31p9BAjmTxVqTQDMpwlMolJZOFntUG2uwyj7DAqw== + +core-js@^2.4.0: + version "2.6.12" + resolved "https://registry.yarnpkg.com/core-js/-/core-js-2.6.12.tgz#d9333dfa7b065e347cc5682219d6f690859cc2ec" + integrity sha512-Kb2wC0fvsWfQrgk8HU5lW6U/Lcs8+9aaYcy4ZFc6DDlo4nZ7n70dEgE5rtR0oG6ufKDUnrwfWL1mXR5ljDatrQ== + +core-util-is@1.0.2: + version "1.0.2" + resolved "https://registry.yarnpkg.com/core-util-is/-/core-util-is-1.0.2.tgz#b5fd54220aa2bc5ab57aab7140c940754503c1a7" + integrity sha512-3lqz5YjWTYnW6dlDa5TLaTCcShfar1e40rmcJVwCBJC6mWlFuj0eCHIElmG1g5kyuJ/GD+8Wn4FFCcz4gJPfaQ== + +core-util-is@~1.0.0: + version "1.0.3" + resolved "https://registry.yarnpkg.com/core-util-is/-/core-util-is-1.0.3.tgz#a6042d3634c2b27e9328f837b965fac83808db85" + integrity sha512-ZQBvi1DcpJ4GDqanjucZ2Hj3wEO5pZDS89BWbkcrvdxksJorwUDDZamX9ldFkp9aw2lmBDLgkObEA4DWNJ9FYQ== + +cosmiconfig@^7.0.0, cosmiconfig@^7.0.1: + version "7.1.0" + resolved "https://registry.yarnpkg.com/cosmiconfig/-/cosmiconfig-7.1.0.tgz#1443b9afa596b670082ea46cbd8f6a62b84635f6" + integrity sha512-AdmX6xUzdNASswsFtmwSt7Vj8po9IuqXm0UXz7QKPuEUmPB4XyjGfaAr2PSuELMwkRMVH1EpIkX5bTZGRB3eCA== + dependencies: + "@types/parse-json" "^4.0.0" + import-fresh "^3.2.1" + parse-json "^5.0.0" + path-type "^4.0.0" + yaml "^1.10.0" + +create-jest@^29.7.0: + version "29.7.0" + resolved "https://registry.yarnpkg.com/create-jest/-/create-jest-29.7.0.tgz#a355c5b3cb1e1af02ba177fe7afd7feee49a5320" + integrity sha512-Adz2bdH0Vq3F53KEMJOoftQFutWCukm6J24wbPWRO4k1kMY7gS7ds/uoJkNuV8wDCtWWnuwGcJwpWcih+zEW1Q== + dependencies: + "@jest/types" "^29.6.3" + chalk "^4.0.0" + exit "^0.1.2" + graceful-fs "^4.2.9" + jest-config "^29.7.0" + jest-util "^29.7.0" + prompts "^2.0.1" + +create-require@^1.1.0: + version "1.1.1" + resolved "https://registry.yarnpkg.com/create-require/-/create-require-1.1.1.tgz#c1d7e8f1e5f6cfc9ff65f9cd352d37348756c333" + integrity sha512-dcKFX3jn0MpIaXjisoRvexIJVEKzaq7z2rZKxf+MSr9TkdmHmsU4m2lcLojrj/FHl8mk5VxMmYA+ftRkP/3oKQ== + +cross-spawn@^7.0.0, cross-spawn@^7.0.2, cross-spawn@^7.0.3: + version "7.0.3" + resolved "https://registry.yarnpkg.com/cross-spawn/-/cross-spawn-7.0.3.tgz#f73a85b9d5d41d045551c177e2882d4ac85728a6" + integrity sha512-iRDPJKUPVEND7dHPO8rkbOnPpyDygcDFtWjpeWNCgy8WP2rXcxXL8TskReQl6OrB2G7+UJrags1q15Fudc7G6w== + dependencies: + path-key "^3.1.0" + shebang-command "^2.0.0" + which "^2.0.1" + +css-animation@^1.3.2: + version "1.6.1" + resolved "https://registry.yarnpkg.com/css-animation/-/css-animation-1.6.1.tgz#162064a3b0d51f958b7ff37b3d6d4de18e17039e" + integrity sha512-/48+/BaEaHRY6kNQ2OIPzKf9A6g8WjZYjhiNDNuIVbsm5tXCGIAsHDjB4Xu1C4vXJtUWZo26O68OQkDpNBaPog== + dependencies: + babel-runtime "6.x" + component-classes "^1.2.5" + +css-box-model@^1.2.0: + version "1.2.1" + resolved "https://registry.yarnpkg.com/css-box-model/-/css-box-model-1.2.1.tgz#59951d3b81fd6b2074a62d49444415b0d2b4d7c1" + integrity sha512-a7Vr4Q/kd/aw96bnJG332W9V9LkJO69JRcaCYDUqjp6/z0w6VcZjgAcTbgFxEPfBgdnAwlh3iwu+hLopa+flJw== + dependencies: + tiny-invariant "^1.0.6" + +css-in-js-utils@^3.1.0: + version "3.1.0" + resolved "https://registry.yarnpkg.com/css-in-js-utils/-/css-in-js-utils-3.1.0.tgz#640ae6a33646d401fc720c54fc61c42cd76ae2bb" + integrity sha512-fJAcud6B3rRu+KHYk+Bwf+WFL2MDCJJ1XG9x137tJQ0xYxor7XziQtuGFbWNdqrvF4Tk26O3H73nfVqXt/fW1A== + dependencies: + hyphenate-style-name "^1.0.3" + +css-loader@^6.7.3: + version "6.9.1" + resolved "https://registry.yarnpkg.com/css-loader/-/css-loader-6.9.1.tgz#9ec9a434368f2bdfeffbf8f6901a1ce773586c6b" + integrity sha512-OzABOh0+26JKFdMzlK6PY1u5Zx8+Ck7CVRlcGNZoY9qwJjdfu2VWFuprTIpPW+Av5TZTVViYWcFQaEEQURLknQ== + dependencies: + icss-utils "^5.1.0" + postcss "^8.4.33" + postcss-modules-extract-imports "^3.0.0" + postcss-modules-local-by-default "^4.0.4" + postcss-modules-scope "^3.1.1" + postcss-modules-values "^4.0.0" + postcss-value-parser "^4.2.0" + semver "^7.5.4" + +css-tree@^1.1.2: + version "1.1.3" + resolved "https://registry.yarnpkg.com/css-tree/-/css-tree-1.1.3.tgz#eb4870fb6fd7707327ec95c2ff2ab09b5e8db91d" + integrity sha512-tRpdppF7TRazZrjJ6v3stzv93qxRcSsFmW6cX0Zm2NVKpxE1WV1HblnghVv9TreireHkqI/VDEsfolRF1p6y7Q== + dependencies: + mdn-data "2.0.14" + source-map "^0.6.1" + +css.escape@^1.5.1: + version "1.5.1" + resolved "https://registry.yarnpkg.com/css.escape/-/css.escape-1.5.1.tgz#42e27d4fa04ae32f931a4b4d4191fa9cddee97cb" + integrity sha512-YUifsXXuknHlUsmlgyY0PKzgPOr7/FjCePfHNt0jxm83wHZi44VDMQ7/fGNkjY3/jV1MC+1CmZbaHzugyeRtpg== + +csscolorparser@~1.0.2: + version "1.0.3" + resolved "https://registry.yarnpkg.com/csscolorparser/-/csscolorparser-1.0.3.tgz#b34f391eea4da8f3e98231e2ccd8df9c041f171b" + integrity sha512-umPSgYwZkdFoUrH5hIq5kf0wPSXiro51nPw0j2K/c83KflkPSTBGMz6NJvMB+07VlL0y7VPo6QJcDjcgKTTm3w== + +cssesc@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/cssesc/-/cssesc-3.0.0.tgz#37741919903b868565e1c09ea747445cd18983ee" + integrity sha512-/Tb/JcjK111nNScGob5MNtsntNM1aCNUDipB/TkwZFhyDrrE47SOx/18wF2bbjgc3ZzCSKW1T5nt5EbFoAz/Vg== + +cssfilter@0.0.10: + version "0.0.10" + resolved "https://registry.yarnpkg.com/cssfilter/-/cssfilter-0.0.10.tgz#c6d2672632a2e5c83e013e6864a42ce8defd20ae" + integrity sha512-FAaLDaplstoRsDR8XGYH51znUN0UY7nMc6Z9/fvE8EXGwvJE9hu7W2vHwx1+bd6gCYnln9nLbzxFTrcO9YQDZw== + +cssom@^0.5.0: + version "0.5.0" + resolved "https://registry.yarnpkg.com/cssom/-/cssom-0.5.0.tgz#d254fa92cd8b6fbd83811b9fbaed34663cc17c36" + integrity sha512-iKuQcq+NdHqlAcwUY0o/HL69XQrUaQdMjmStJ8JFmUaiiQErlhrmuigkg/CU4E2J0IyUKUrMAgl36TvN67MqTw== + +cssom@~0.3.6: + version "0.3.8" + resolved "https://registry.yarnpkg.com/cssom/-/cssom-0.3.8.tgz#9f1276f5b2b463f2114d3f2c75250af8c1a36f4a" + integrity sha512-b0tGHbfegbhPJpxpiBPU2sCkigAqtM9O121le6bbOlgyV+NyGyCmVfJ6QW9eRjz8CpNfWEOYBIMIGRYkLwsIYg== + +cssstyle@^2.3.0: + version "2.3.0" + resolved "https://registry.yarnpkg.com/cssstyle/-/cssstyle-2.3.0.tgz#ff665a0ddbdc31864b09647f34163443d90b0852" + integrity sha512-AZL67abkUzIuvcHqk7c09cezpGNcxUxU4Ioi/05xHk4DQeTkWmGYftIE6ctU6AEt+Gn4n1lDStOtj7FKycP71A== + dependencies: + cssom "~0.3.6" + +csstype@^3.0.2, csstype@^3.1.2: + version "3.1.3" + resolved "https://registry.yarnpkg.com/csstype/-/csstype-3.1.3.tgz#d80ff294d114fb0e6ac500fbf85b60137d7eff81" + integrity sha512-M1uQkMl8rQK/szD0LNhtqxIPLpimGm8sOBwU7lLnCpSbTyY3yeU1Vc7l4KT5zT4s/yOxHH5O7tIuuLOCnLADRw== + +cypress-file-upload@5.0.8: + version "5.0.8" + resolved "https://registry.yarnpkg.com/cypress-file-upload/-/cypress-file-upload-5.0.8.tgz#d8824cbeaab798e44be8009769f9a6c9daa1b4a1" + integrity sha512-+8VzNabRk3zG6x8f8BWArF/xA/W0VK4IZNx3MV0jFWrJS/qKn8eHfa5nU73P9fOQAgwHFJx7zjg4lwOnljMO8g== + +cypress@9.5.1: + version "9.5.1" + resolved "https://registry.yarnpkg.com/cypress/-/cypress-9.5.1.tgz#51162f3688cedf5ffce311b914ef49a7c1ece076" + integrity sha512-H7lUWB3Svr44gz1rNnj941xmdsCljXoJa2cDneAltjI9leKLMQLm30x6jLlpQ730tiVtIbW5HdUmBzPzwzfUQg== + dependencies: + "@cypress/request" "^2.88.10" + "@cypress/xvfb" "^1.2.4" + "@types/node" "^14.14.31" + "@types/sinonjs__fake-timers" "8.1.1" + "@types/sizzle" "^2.3.2" + arch "^2.2.0" + blob-util "^2.0.2" + bluebird "^3.7.2" + buffer "^5.6.0" + cachedir "^2.3.0" + chalk "^4.1.0" + check-more-types "^2.24.0" + cli-cursor "^3.1.0" + cli-table3 "~0.6.1" + commander "^5.1.0" + common-tags "^1.8.0" + dayjs "^1.10.4" + debug "^4.3.2" + enquirer "^2.3.6" + eventemitter2 "^6.4.3" + execa "4.1.0" + executable "^4.1.1" + extract-zip "2.0.1" + figures "^3.2.0" + fs-extra "^9.1.0" + getos "^3.2.1" + is-ci "^3.0.0" + is-installed-globally "~0.4.0" + lazy-ass "^1.6.0" + listr2 "^3.8.3" + lodash "^4.17.21" + log-symbols "^4.0.0" + minimist "^1.2.5" + ospath "^1.2.2" + pretty-bytes "^5.6.0" + proxy-from-env "1.0.0" + request-progress "^3.0.0" + semver "^7.3.2" + supports-color "^8.1.1" + tmp "~0.2.1" + untildify "^4.0.0" + yauzl "^2.10.0" + +"d3-array@2 - 3", "d3-array@2.10.0 - 3", "d3-array@2.5.0 - 3", d3-array@3, d3-array@^3.2.0: + version "3.2.4" + resolved "https://registry.yarnpkg.com/d3-array/-/d3-array-3.2.4.tgz#15fec33b237f97ac5d7c986dc77da273a8ed0bb5" + integrity sha512-tdQAmyA18i4J7wprpYq8ClcxZy3SC31QMeByyCFyRt7BVHdREQZ5lpzoe5mFEYZUWe+oq8HBvk9JjpibyEV4Jg== + dependencies: + internmap "1 - 2" + +d3-axis@3: + version "3.0.0" + resolved "https://registry.yarnpkg.com/d3-axis/-/d3-axis-3.0.0.tgz#c42a4a13e8131d637b745fc2973824cfeaf93322" + integrity sha512-IH5tgjV4jE/GhHkRV0HiVYPDtvfjHQlQfJHs0usq7M30XcSBvOotpmH1IgkcXsO/5gEQZD43B//fc7SRT5S+xw== + +d3-brush@3: + version "3.0.0" + resolved "https://registry.yarnpkg.com/d3-brush/-/d3-brush-3.0.0.tgz#6f767c4ed8dcb79de7ede3e1c0f89e63ef64d31c" + integrity sha512-ALnjWlVYkXsVIGlOsuWH1+3udkYFI48Ljihfnh8FZPF2QS9o+PzGLBslO0PjzVoHLZ2KCVgAM8NVkXPJB2aNnQ== + dependencies: + d3-dispatch "1 - 3" + d3-drag "2 - 3" + d3-interpolate "1 - 3" + d3-selection "3" + d3-transition "3" + +d3-chord@3: + version "3.0.1" + resolved "https://registry.yarnpkg.com/d3-chord/-/d3-chord-3.0.1.tgz#d156d61f485fce8327e6abf339cb41d8cbba6966" + integrity sha512-VE5S6TNa+j8msksl7HwjxMHDM2yNK3XCkusIlpX5kwauBfXuyLAtNg9jCp/iHH61tgI4sb6R/EIMWCqEIdjT/g== + dependencies: + d3-path "1 - 3" + +"d3-color@1 - 3", d3-color@3: + version "3.1.0" + resolved "https://registry.yarnpkg.com/d3-color/-/d3-color-3.1.0.tgz#395b2833dfac71507f12ac2f7af23bf819de24e2" + integrity sha512-zg/chbXyeBtMQ1LbD/WSoW2DpC3I0mpmPdW+ynRTj/x2DAWYrIY7qeZIHidozwV24m4iavr15lNwIwLxRmOxhA== + +d3-contour@4: + version "4.0.2" + resolved "https://registry.yarnpkg.com/d3-contour/-/d3-contour-4.0.2.tgz#bb92063bc8c5663acb2422f99c73cbb6c6ae3bcc" + integrity sha512-4EzFTRIikzs47RGmdxbeUvLWtGedDUNkTcmzoeyg4sP/dvCexO47AaQL7VKy/gul85TOxw+IBgA8US2xwbToNA== + dependencies: + d3-array "^3.2.0" + +d3-delaunay@6: + version "6.0.4" + resolved "https://registry.yarnpkg.com/d3-delaunay/-/d3-delaunay-6.0.4.tgz#98169038733a0a5babbeda55054f795bb9e4a58b" + integrity sha512-mdjtIZ1XLAM8bm/hx3WwjfHt6Sggek7qH043O8KEjDXN40xi3vx/6pYSVTwLjEgiXQTbvaouWKynLBiUZ6SK6A== + dependencies: + delaunator "5" + +"d3-dispatch@1 - 3", d3-dispatch@3: + version "3.0.1" + resolved "https://registry.yarnpkg.com/d3-dispatch/-/d3-dispatch-3.0.1.tgz#5fc75284e9c2375c36c839411a0cf550cbfc4d5e" + integrity sha512-rzUyPU/S7rwUflMyLc1ETDeBj0NRuHKKAcvukozwhshr6g6c5d8zh4c2gQjY2bZ0dXeGLWc1PF174P2tVvKhfg== + +"d3-drag@2 - 3", d3-drag@3: + version "3.0.0" + resolved "https://registry.yarnpkg.com/d3-drag/-/d3-drag-3.0.0.tgz#994aae9cd23c719f53b5e10e3a0a6108c69607ba" + integrity sha512-pWbUJLdETVA8lQNJecMxoXfH6x+mO2UQo8rSmZ+QqxcbyA3hfeprFgIT//HW2nlHChWeIIMwS2Fq+gEARkhTkg== + dependencies: + d3-dispatch "1 - 3" + d3-selection "3" + +"d3-dsv@1 - 3", d3-dsv@3: + version "3.0.1" + resolved "https://registry.yarnpkg.com/d3-dsv/-/d3-dsv-3.0.1.tgz#c63af978f4d6a0d084a52a673922be2160789b73" + integrity sha512-UG6OvdI5afDIFP9w4G0mNq50dSOsXHJaRE8arAS5o9ApWnIElp8GZw1Dun8vP8OyHOZ/QJUKUJwxiiCCnUwm+Q== + dependencies: + commander "7" + iconv-lite "0.6" + rw "1" + +"d3-ease@1 - 3", d3-ease@3: + version "3.0.1" + resolved "https://registry.yarnpkg.com/d3-ease/-/d3-ease-3.0.1.tgz#9658ac38a2140d59d346160f1f6c30fda0bd12f4" + integrity sha512-wR/XK3D3XcLIZwpbvQwQ5fK+8Ykds1ip7A2Txe0yxncXSdq1L9skcG7blcedkOX+ZcgxGAmLX1FrRGbADwzi0w== + +d3-fetch@3: + version "3.0.1" + resolved "https://registry.yarnpkg.com/d3-fetch/-/d3-fetch-3.0.1.tgz#83141bff9856a0edb5e38de89cdcfe63d0a60a22" + integrity sha512-kpkQIM20n3oLVBKGg6oHrUchHM3xODkTzjMoj7aWQFq5QEM+R6E4WkzT5+tojDY7yjez8KgCBRoj4aEr99Fdqw== + dependencies: + d3-dsv "1 - 3" + +d3-force@3: + version "3.0.0" + resolved "https://registry.yarnpkg.com/d3-force/-/d3-force-3.0.0.tgz#3e2ba1a61e70888fe3d9194e30d6d14eece155c4" + integrity sha512-zxV/SsA+U4yte8051P4ECydjD/S+qeYtnaIyAs9tgHCqfguma/aAQDjo85A9Z6EKhBirHRJHXIgJUlffT4wdLg== + dependencies: + d3-dispatch "1 - 3" + d3-quadtree "1 - 3" + d3-timer "1 - 3" + +"d3-format@1 - 3", d3-format@3: + version "3.1.0" + resolved "https://registry.yarnpkg.com/d3-format/-/d3-format-3.1.0.tgz#9260e23a28ea5cb109e93b21a06e24e2ebd55641" + integrity sha512-YyUI6AEuY/Wpt8KWLgZHsIU86atmikuoOmCfommt0LYHiQSPjvX2AcFc38PX0CBpr2RCyZhjex+NS/LPOv6YqA== + +d3-geo@3: + version "3.1.0" + resolved "https://registry.yarnpkg.com/d3-geo/-/d3-geo-3.1.0.tgz#74fd54e1f4cebd5185ac2039217a98d39b0a4c0e" + integrity sha512-JEo5HxXDdDYXCaWdwLRt79y7giK8SbhZJbFWXqbRTolCHFI5jRqteLzCsq51NKbUoX0PjBVSohxrx+NoOUujYA== + dependencies: + d3-array "2.5.0 - 3" + +d3-hierarchy@3: + version "3.1.2" + resolved "https://registry.yarnpkg.com/d3-hierarchy/-/d3-hierarchy-3.1.2.tgz#b01cd42c1eed3d46db77a5966cf726f8c09160c6" + integrity sha512-FX/9frcub54beBdugHjDCdikxThEqjnR93Qt7PvQTOHxyiNCAlvMrHhclk3cD5VeAaq9fxmfRp+CnWw9rEMBuA== + +"d3-interpolate@1 - 3", "d3-interpolate@1.2.0 - 3", d3-interpolate@3, d3-interpolate@3.0.1: + version "3.0.1" + resolved "https://registry.yarnpkg.com/d3-interpolate/-/d3-interpolate-3.0.1.tgz#3c47aa5b32c5b3dfb56ef3fd4342078a632b400d" + integrity sha512-3bYs1rOD33uo8aqJfKP3JWPAibgw8Zm2+L9vBKEHJ2Rg+viTR7o5Mmv5mZcieN+FRYaAOWX5SJATX6k1PWz72g== + dependencies: + d3-color "1 - 3" + +"d3-path@1 - 3", d3-path@3, d3-path@^3.1.0: + version "3.1.0" + resolved "https://registry.yarnpkg.com/d3-path/-/d3-path-3.1.0.tgz#22df939032fb5a71ae8b1800d61ddb7851c42526" + integrity sha512-p3KP5HCf/bvjBSSKuXid6Zqijx7wIfNW+J/maPs+iwR35at5JCbLUT0LzF1cnjbCHWhqzQTIN2Jpe8pRebIEFQ== + +d3-polygon@3: + version "3.0.1" + resolved "https://registry.yarnpkg.com/d3-polygon/-/d3-polygon-3.0.1.tgz#0b45d3dd1c48a29c8e057e6135693ec80bf16398" + integrity sha512-3vbA7vXYwfe1SYhED++fPUQlWSYTTGmFmQiany/gdbiWgU/iEyQzyymwL9SkJjFFuCS4902BSzewVGsHHmHtXg== + +"d3-quadtree@1 - 3", d3-quadtree@3: + version "3.0.1" + resolved "https://registry.yarnpkg.com/d3-quadtree/-/d3-quadtree-3.0.1.tgz#6dca3e8be2b393c9a9d514dabbd80a92deef1a4f" + integrity sha512-04xDrxQTDTCFwP5H6hRhsRcb9xxv2RzkcsygFzmkSIOJy3PeRJP7sNk3VRIbKXcog561P9oU0/rVH6vDROAgUw== + +d3-random@3: + version "3.0.1" + resolved "https://registry.yarnpkg.com/d3-random/-/d3-random-3.0.1.tgz#d4926378d333d9c0bfd1e6fa0194d30aebaa20f4" + integrity sha512-FXMe9GfxTxqd5D6jFsQ+DJ8BJS4E/fT5mqqdjovykEB2oFbTMDVdg1MGFxfQW+FBOGoB++k8swBrgwSHT1cUXQ== + +d3-scale-chromatic@3: + version "3.0.0" + resolved "https://registry.yarnpkg.com/d3-scale-chromatic/-/d3-scale-chromatic-3.0.0.tgz#15b4ceb8ca2bb0dcb6d1a641ee03d59c3b62376a" + integrity sha512-Lx9thtxAKrO2Pq6OO2Ua474opeziKr279P/TKZsMAhYyNDD3EnCffdbgeSYN5O7m2ByQsxtuP2CSDczNUIZ22g== + dependencies: + d3-color "1 - 3" + d3-interpolate "1 - 3" + +d3-scale@4: + version "4.0.2" + resolved "https://registry.yarnpkg.com/d3-scale/-/d3-scale-4.0.2.tgz#82b38e8e8ff7080764f8dcec77bd4be393689396" + integrity sha512-GZW464g1SH7ag3Y7hXjf8RoUuAFIqklOAq3MRl4OaWabTFJY9PN/E1YklhXLh+OQ3fM9yS2nOkCoS+WLZ6kvxQ== + dependencies: + d3-array "2.10.0 - 3" + d3-format "1 - 3" + d3-interpolate "1.2.0 - 3" + d3-time "2.1.1 - 3" + d3-time-format "2 - 4" + +"d3-selection@2 - 3", d3-selection@3: + version "3.0.0" + resolved "https://registry.yarnpkg.com/d3-selection/-/d3-selection-3.0.0.tgz#c25338207efa72cc5b9bd1458a1a41901f1e1b31" + integrity sha512-fmTRWbNMmsmWq6xJV8D19U/gw/bwrHfNXxrIN+HfZgnzqTHp9jOmKMhsTUjXOJnZOdZY9Q28y4yebKzqDKlxlQ== + +d3-shape@3: + version "3.2.0" + resolved "https://registry.yarnpkg.com/d3-shape/-/d3-shape-3.2.0.tgz#a1a839cbd9ba45f28674c69d7f855bcf91dfc6a5" + integrity sha512-SaLBuwGm3MOViRq2ABk3eLoxwZELpH6zhl3FbAoJ7Vm1gofKx6El1Ib5z23NUEhF9AsGl7y+dzLe5Cw2AArGTA== + dependencies: + d3-path "^3.1.0" + +"d3-time-format@2 - 4", d3-time-format@4: + version "4.1.0" + resolved "https://registry.yarnpkg.com/d3-time-format/-/d3-time-format-4.1.0.tgz#7ab5257a5041d11ecb4fe70a5c7d16a195bb408a" + integrity sha512-dJxPBlzC7NugB2PDLwo9Q8JiTR3M3e4/XANkreKSUxF8vvXKqm1Yfq4Q5dl8budlunRVlUUaDUgFt7eA8D6NLg== + dependencies: + d3-time "1 - 3" + +"d3-time@1 - 3", "d3-time@2.1.1 - 3", d3-time@3: + version "3.1.0" + resolved "https://registry.yarnpkg.com/d3-time/-/d3-time-3.1.0.tgz#9310db56e992e3c0175e1ef385e545e48a9bb5c7" + integrity sha512-VqKjzBLejbSMT4IgbmVgDjpkYrNWUYJnbCGo874u7MMKIWsILRX+OpX/gTk8MqjpT1A/c6HY2dCA77ZN0lkQ2Q== + dependencies: + d3-array "2 - 3" + +"d3-timer@1 - 3", d3-timer@3: + version "3.0.1" + resolved "https://registry.yarnpkg.com/d3-timer/-/d3-timer-3.0.1.tgz#6284d2a2708285b1abb7e201eda4380af35e63b0" + integrity sha512-ndfJ/JxxMd3nw31uyKoY2naivF+r29V+Lc0svZxe1JvvIRmi8hUsrMvdOwgS1o6uBHmiz91geQ0ylPP0aj1VUA== + +"d3-transition@2 - 3", d3-transition@3: + version "3.0.1" + resolved "https://registry.yarnpkg.com/d3-transition/-/d3-transition-3.0.1.tgz#6869fdde1448868077fdd5989200cb61b2a1645f" + integrity sha512-ApKvfjsSR6tg06xrL434C0WydLr7JewBB3V+/39RMHsaXTOG0zmt/OAXeng5M5LBm0ojmxJrpomQVZ1aPvBL4w== + dependencies: + d3-color "1 - 3" + d3-dispatch "1 - 3" + d3-ease "1 - 3" + d3-interpolate "1 - 3" + d3-timer "1 - 3" + +d3-zoom@3: + version "3.0.0" + resolved "https://registry.yarnpkg.com/d3-zoom/-/d3-zoom-3.0.0.tgz#d13f4165c73217ffeaa54295cd6969b3e7aee8f3" + integrity sha512-b8AmV3kfQaqWAuacbPuNbL6vahnOJflOhexLzMMNLga62+/nh0JzvJ0aO/5a5MVgUFGS7Hu1P9P03o3fJkDCyw== + dependencies: + d3-dispatch "1 - 3" + d3-drag "2 - 3" + d3-interpolate "1 - 3" + d3-selection "2 - 3" + d3-transition "2 - 3" + +d3@7.8.2: + version "7.8.2" + resolved "https://registry.yarnpkg.com/d3/-/d3-7.8.2.tgz#2bdb3c178d095ae03b107a18837ae049838e372d" + integrity sha512-WXty7qOGSHb7HR7CfOzwN1Gw04MUOzN8qh9ZUsvwycIMb4DYMpY9xczZ6jUorGtO6bR9BPMPaueIKwiDxu9uiQ== + dependencies: + d3-array "3" + d3-axis "3" + d3-brush "3" + d3-chord "3" + d3-color "3" + d3-contour "4" + d3-delaunay "6" + d3-dispatch "3" + d3-drag "3" + d3-dsv "3" + d3-ease "3" + d3-fetch "3" + d3-force "3" + d3-format "3" + d3-geo "3" + d3-hierarchy "3" + d3-interpolate "3" + d3-path "3" + d3-polygon "3" + d3-quadtree "3" + d3-random "3" + d3-scale "4" + d3-scale-chromatic "3" + d3-selection "3" + d3-shape "3" + d3-time "3" + d3-time-format "4" + d3-timer "3" + d3-transition "3" + d3-zoom "3" + +dashdash@^1.12.0: + version "1.14.1" + resolved "https://registry.yarnpkg.com/dashdash/-/dashdash-1.14.1.tgz#853cfa0f7cbe2fed5de20326b8dd581035f6e2f0" + integrity sha512-jRFi8UDGo6j+odZiEpjazZaWqEal3w/basFjQHQEwVtZJGDpxbH1MeYluwCS8Xq5wmLJooDlMgvVarmWfGM44g== + dependencies: + assert-plus "^1.0.0" + +data-urls@^3.0.2: + version "3.0.2" + resolved "https://registry.yarnpkg.com/data-urls/-/data-urls-3.0.2.tgz#9cf24a477ae22bcef5cd5f6f0bfbc1d2d3be9143" + integrity sha512-Jy/tj3ldjZJo63sVAvg6LHt2mHvl4V6AgRAmNDtLdm7faqtsx+aJG42rsyCo9JCoRVKwPFzKlIPx3DIibwSIaQ== + dependencies: + abab "^2.0.6" + whatwg-mimetype "^3.0.0" + whatwg-url "^11.0.0" + +date-fns@2.29.3: + version "2.29.3" + resolved "https://registry.yarnpkg.com/date-fns/-/date-fns-2.29.3.tgz#27402d2fc67eb442b511b70bbdf98e6411cd68a8" + integrity sha512-dDCnyH2WnnKusqvZZ6+jA1O51Ibt8ZMRNkDZdyAyK4YfbDwa/cEmuztzG5pk6hqlp9aSBPYcjOlktquahGwGeA== + +date-format@^0.0.0: + version "0.0.0" + resolved "https://registry.yarnpkg.com/date-format/-/date-format-0.0.0.tgz#09206863ab070eb459acea5542cbd856b11966b3" + integrity sha512-kAmAdtsjW5nQ02FERwI1bP4xe6HQBPwy5kpAF4CRSLOMUs/vgMIEEwpy6JqUs7NitTyhZiImxwAjgPpnteycHg== + +dayjs@^1.10.4: + version "1.11.10" + resolved "https://registry.yarnpkg.com/dayjs/-/dayjs-1.11.10.tgz#68acea85317a6e164457d6d6947564029a6a16a0" + integrity sha512-vjAczensTgRcqDERK0SR2XMwsF/tSvnvlv6VcF2GIhg6Sx4yOIt/irsr1RDJsKiIyBzJDpCoXiWWq28MqH2cnQ== + +debug@4, debug@4.3.4, debug@^4.1.0, debug@^4.1.1, debug@^4.3.1, debug@^4.3.2, debug@^4.3.4: + version "4.3.4" + resolved "https://registry.yarnpkg.com/debug/-/debug-4.3.4.tgz#1319f6579357f2338d3337d2cdd4914bb5dcc865" + integrity sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ== + dependencies: + ms "2.1.2" + +debug@^0.7.2: + version "0.7.4" + resolved "https://registry.yarnpkg.com/debug/-/debug-0.7.4.tgz#06e1ea8082c2cb14e39806e22e2f6f757f92af39" + integrity sha512-EohAb3+DSHSGx8carOSKJe8G0ayV5/i609OD0J2orCkuyae7SyZSz2aoLmQF2s0Pj5gITDebwPH7GFBlqOUQ1Q== + +debug@^2.2.0: + version "2.6.9" + resolved "https://registry.yarnpkg.com/debug/-/debug-2.6.9.tgz#5d128515df134ff327e90a4c93f4e077a536341f" + integrity sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA== + dependencies: + ms "2.0.0" + +debug@^3.1.0, debug@^3.2.7: + version "3.2.7" + resolved "https://registry.yarnpkg.com/debug/-/debug-3.2.7.tgz#72580b7e9145fb39b6676f9c5e5fb100b934179a" + integrity sha512-CFjzYYAi4ThfiQvizrFQevTTXHtnCqWfe7x1AhgEscTz6ZbLbfoLRLPugTQyBth6f8ZERVUSyWHFD/7Wu4t1XQ== + dependencies: + ms "^2.1.1" + +decamelize@^4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/decamelize/-/decamelize-4.0.0.tgz#aa472d7bf660eb15f3494efd531cab7f2a709837" + integrity sha512-9iE1PgSik9HeIIw2JO94IidnE3eBoQrFJ3w7sFuzSX4DpmZ3v5sZpUiV5Swcf6mQEF+Y0ru8Neo+p+nyh2J+hQ== + +decimal.js@^10.4.2: + version "10.4.3" + resolved "https://registry.yarnpkg.com/decimal.js/-/decimal.js-10.4.3.tgz#1044092884d245d1b7f65725fa4ad4c6f781cc23" + integrity sha512-VBBaLc1MgL5XpzgIP7ny5Z6Nx3UrRkIViUkPUdtl9aya5amy3De1gsUUSB1g3+3sExYNjCAsAznmukyxCb1GRA== + +dedent@^1.0.0: + version "1.5.1" + resolved "https://registry.yarnpkg.com/dedent/-/dedent-1.5.1.tgz#4f3fc94c8b711e9bb2800d185cd6ad20f2a90aff" + integrity sha512-+LxW+KLWxu3HW3M2w2ympwtqPrqYRzU8fqi6Fhd18fBALe15blJPI/I4+UHveMVG6lJqB4JNd4UG0S5cnVHwIg== + +deep-equal@^2.0.5: + version "2.2.3" + resolved "https://registry.yarnpkg.com/deep-equal/-/deep-equal-2.2.3.tgz#af89dafb23a396c7da3e862abc0be27cf51d56e1" + integrity sha512-ZIwpnevOurS8bpT4192sqAowWM76JDKSHYzMLty3BZGSswgq6pBaH3DhCSW5xVAZICZyKdOBPjwww5wfgT/6PA== + dependencies: + array-buffer-byte-length "^1.0.0" + call-bind "^1.0.5" + es-get-iterator "^1.1.3" + get-intrinsic "^1.2.2" + is-arguments "^1.1.1" + is-array-buffer "^3.0.2" + is-date-object "^1.0.5" + is-regex "^1.1.4" + is-shared-array-buffer "^1.0.2" + isarray "^2.0.5" + object-is "^1.1.5" + object-keys "^1.1.1" + object.assign "^4.1.4" + regexp.prototype.flags "^1.5.1" + side-channel "^1.0.4" + which-boxed-primitive "^1.0.2" + which-collection "^1.0.1" + which-typed-array "^1.1.13" + +deep-is@^0.1.3: + version "0.1.4" + resolved "https://registry.yarnpkg.com/deep-is/-/deep-is-0.1.4.tgz#a6f2dce612fadd2ef1f519b73551f17e85199831" + integrity sha512-oIPzksmTg4/MriiaYGO+okXDT7ztn/w3Eptv/+gSIdMdKsJo0u4CfYNFJPy+4SKMuCqGw2wxnA+URMg3t8a/bQ== + +deepmerge@^4.2.2: + version "4.3.1" + resolved "https://registry.yarnpkg.com/deepmerge/-/deepmerge-4.3.1.tgz#44b5f2147cd3b00d4b56137685966f26fd25dd4a" + integrity sha512-3sUqbMEc77XqpdNO7FRyRog+eW3ph+GYCbj+rK+uYyRMuwsVy0rMiVtPn+QJlKFvWP/1PYpapqYn0Me2knFn+A== + +define-data-property@^1.0.1, define-data-property@^1.1.1: + version "1.1.1" + resolved "https://registry.yarnpkg.com/define-data-property/-/define-data-property-1.1.1.tgz#c35f7cd0ab09883480d12ac5cb213715587800b3" + integrity sha512-E7uGkTzkk1d0ByLeSc6ZsFS79Axg+m1P/VsgYsxHgiuc3tFSj+MjMIwe90FC4lOAZzNBdY7kkO2P2wKdsQ1vgQ== + dependencies: + get-intrinsic "^1.2.1" + gopd "^1.0.1" + has-property-descriptors "^1.0.0" + +define-properties@^1.1.3, define-properties@^1.2.0, define-properties@^1.2.1: + version "1.2.1" + resolved "https://registry.yarnpkg.com/define-properties/-/define-properties-1.2.1.tgz#10781cc616eb951a80a034bafcaa7377f6af2b6c" + integrity sha512-8QmQKqEASLd5nx0U1B1okLElbUuuttJ/AnYmRXbbbGDWh6uS208EjD4Xqq/I9wK7u0v6O08XhTWnt5XtEbR6Dg== + dependencies: + define-data-property "^1.0.1" + has-property-descriptors "^1.0.0" + object-keys "^1.1.1" + +delaunator@5: + version "5.0.0" + resolved "https://registry.yarnpkg.com/delaunator/-/delaunator-5.0.0.tgz#60f052b28bd91c9b4566850ebf7756efe821d81b" + integrity sha512-AyLvtyJdbv/U1GkiS6gUUzclRoAY4Gs75qkMygJJhU75LW4DNuSF2RMzpxs9jw9Oz1BobHjTdkG3zdP55VxAqw== + dependencies: + robust-predicates "^3.0.0" + +delayed-stream@~1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/delayed-stream/-/delayed-stream-1.0.0.tgz#df3ae199acadfb7d440aaae0b29e2272b24ec619" + integrity sha512-ZySD7Nf91aLB0RxL4KGrKHBXl7Eds1DAmEdcoVawXnLD7SDhpNgtuII2aAkg7a7QS41jxPSZ17p4VdGnMHk3MQ== + +dequal@^2.0.3: + version "2.0.3" + resolved "https://registry.yarnpkg.com/dequal/-/dequal-2.0.3.tgz#2644214f1997d39ed0ee0ece72335490a7ac67be" + integrity sha512-0je+qPKHEMohvfRTCEo3CrPG6cAzAYgmzKyxRiYSSDkS6eGJdyVJm7WaYA5ECaAD9wLB2T4EEeymA5aFVcYXCA== + +detect-newline@^3.0.0: + version "3.1.0" + resolved "https://registry.yarnpkg.com/detect-newline/-/detect-newline-3.1.0.tgz#576f5dfc63ae1a192ff192d8ad3af6308991b651" + integrity sha512-TLz+x/vEXm/Y7P7wn1EJFNLxYpUD4TgMosxY6fAVJUnJMbupHBOncxyWUG9OpTaH9EBD7uFI5LfEgmMOc54DsA== + +devtools-protocol@0.0.1113774: + version "0.0.1113774" + resolved "https://registry.yarnpkg.com/devtools-protocol/-/devtools-protocol-0.0.1113774.tgz#bc3a3e29828bf8338e06f3c251cd986559d55eba" + integrity sha512-e8RTiY/W9+exY6T2bK9mLyJG/CfwCixDVof7MqOS2maLANTdihMr2LCf6wcBUvgQzmrImqHITyJB90ICiuJGwA== + +diff-sequences@^29.6.3: + version "29.6.3" + resolved "https://registry.yarnpkg.com/diff-sequences/-/diff-sequences-29.6.3.tgz#4deaf894d11407c51efc8418012f9e70b84ea921" + integrity sha512-EjePK1srD3P08o2j4f0ExnylqRs5B9tJjcp9t1krH2qRi8CCdsYfwe9JgSLurFBWwq4uOlipzfk5fHNvwFKr8Q== + +diff@5.0.0: + version "5.0.0" + resolved "https://registry.yarnpkg.com/diff/-/diff-5.0.0.tgz#7ed6ad76d859d030787ec35855f5b1daf31d852b" + integrity sha512-/VTCrvm5Z0JGty/BWHljh+BAiw3IK+2j87NGMu8Nwc/f48WoDAC395uomO9ZD117ZOBaHmkX1oyLvkVM/aIT3w== + +diff@^4.0.1: + version "4.0.2" + resolved "https://registry.yarnpkg.com/diff/-/diff-4.0.2.tgz#60f3aecb89d5fae520c11aa19efc2bb982aade7d" + integrity sha512-58lmxKSA4BNyLz+HHMUzlOEpg09FV+ev6ZMe3vJihgdxzgcwZ8VoEEPmALCZG9LmqfVoNMMKpttIYTVG6uDY7A== + +dir-glob@^3.0.1: + version "3.0.1" + resolved "https://registry.yarnpkg.com/dir-glob/-/dir-glob-3.0.1.tgz#56dbf73d992a4a93ba1584f4534063fd2e41717f" + integrity sha512-WkrWp9GR4KXfKGYzOLmTuGVi1UWFfws377n9cc55/tb6DuqyF6pcQ5AbiHEshaDpY9v6oaSr2XCDidGmMwdzIA== + dependencies: + path-type "^4.0.0" + +direction@^0.1.5: + version "0.1.5" + resolved "https://registry.yarnpkg.com/direction/-/direction-0.1.5.tgz#ce5d797f97e26f8be7beff53f7dc40e1c1a9ec4c" + integrity sha512-HceXsAluGbXKCz2qCVbXFUH4Vn4eNMWxY5gzydMFMnS1zKSwvDASqLwcrYLIFDpwuZ63FUAqjDLEP1eicHt8DQ== + +doctrine@^2.1.0: + version "2.1.0" + resolved "https://registry.yarnpkg.com/doctrine/-/doctrine-2.1.0.tgz#5cd01fc101621b42c4cd7f5d1a66243716d3f39d" + integrity sha512-35mSku4ZXK0vfCuHEDAwt55dg2jNajHZ1odvF+8SSr82EsZY4QmXfuWso8oEd8zRhVObSN18aM0CjSdoBX7zIw== + dependencies: + esutils "^2.0.2" + +doctrine@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/doctrine/-/doctrine-3.0.0.tgz#addebead72a6574db783639dc87a121773973961" + integrity sha512-yS+Q5i3hBf7GBkd4KG8a7eBNNWNGLTaEwwYWUijIYM7zrlYDM0BFXHjjPWlWZ1Rg7UaddZeIDmi9jF3HmqiQ2w== + dependencies: + esutils "^2.0.2" + +dom-accessibility-api@^0.5.6, dom-accessibility-api@^0.5.9: + version "0.5.16" + resolved "https://registry.yarnpkg.com/dom-accessibility-api/-/dom-accessibility-api-0.5.16.tgz#5a7429e6066eb3664d911e33fb0e45de8eb08453" + integrity sha512-X7BJ2yElsnOJ30pZF4uIIDfBEVgF4XEBxL9Bxhy6dnrm5hkzqmsWHGTiHqRiITNhMyFLyAiWndIJP7Z1NTteDg== + +dom-align@^1.7.0: + version "1.12.4" + resolved "https://registry.yarnpkg.com/dom-align/-/dom-align-1.12.4.tgz#3503992eb2a7cfcb2ed3b2a6d21e0b9c00d54511" + integrity sha512-R8LUSEay/68zE5c8/3BDxiTEvgb4xZTF0RKmAHfiEVN3klfIpXfi2/QCoiWPccVQ0J/ZGdz9OjzL4uJEP/MRAw== + +dom-css@^2.0.0: + version "2.1.0" + resolved "https://registry.yarnpkg.com/dom-css/-/dom-css-2.1.0.tgz#fdbc2d5a015d0a3e1872e11472bbd0e7b9e6a202" + integrity sha512-w9kU7FAbaSh3QKijL6n59ofAhkkmMJ31GclJIz/vyQdjogfyxcB6Zf8CZyibOERI5o0Hxz30VmJS7+7r5fEj2Q== + dependencies: + add-px-to-style "1.0.0" + prefix-style "2.0.1" + to-camel-case "1.0.0" + +dom-helpers@^5.0.1: + version "5.2.1" + resolved "https://registry.yarnpkg.com/dom-helpers/-/dom-helpers-5.2.1.tgz#d9400536b2bf8225ad98fe052e029451ac40e902" + integrity sha512-nRCa7CK3VTrM2NmGkIy4cbK7IZlgBE/PYMn55rrXefr5xXDP0LdtfPnblFDoVdcAfslJ7or6iqAUnx0CCGIWQA== + dependencies: + "@babel/runtime" "^7.8.7" + csstype "^3.0.2" + +domexception@^4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/domexception/-/domexception-4.0.0.tgz#4ad1be56ccadc86fc76d033353999a8037d03673" + integrity sha512-A2is4PLG+eeSfoTMA95/s4pvAoSo2mKtiM5jlHkAVewmiO8ISFTFKZjH7UAM1Atli/OT/7JHOrJRJiMKUZKYBw== + dependencies: + webidl-conversions "^7.0.0" + +dompurify@^2.4.3: + version "2.4.7" + resolved "https://registry.yarnpkg.com/dompurify/-/dompurify-2.4.7.tgz#277adeb40a2c84be2d42a8bcd45f582bfa4d0cfc" + integrity sha512-kxxKlPEDa6Nc5WJi+qRgPbOAbgTpSULL+vI3NUXsZMlkJxTqYI9wg5ZTay2sFrdZRWHPWNi+EdAhcJf81WtoMQ== + +earcut@^2.2.3: + version "2.2.4" + resolved "https://registry.yarnpkg.com/earcut/-/earcut-2.2.4.tgz#6d02fd4d68160c114825d06890a92ecaae60343a" + integrity sha512-/pjZsA1b4RPHbeWZQn66SWS8nZZWLQQ23oE3Eam7aroEFGEvwKAsJfZ9ytiEMycfzXWpca4FA9QIOehf7PocBQ== + +eastasianwidth@^0.2.0: + version "0.2.0" + resolved "https://registry.yarnpkg.com/eastasianwidth/-/eastasianwidth-0.2.0.tgz#696ce2ec0aa0e6ea93a397ffcf24aa7840c827cb" + integrity sha512-I88TYZWc9XiYHRQ4/3c5rjjfgkjhLyW2luGIheGERbNQ6OY7yTybanSpDXZa8y7VUP9YmDcYa+eyq4ca7iLqWA== + +ecc-jsbn@~0.1.1: + version "0.1.2" + resolved "https://registry.yarnpkg.com/ecc-jsbn/-/ecc-jsbn-0.1.2.tgz#3a83a904e54353287874c564b7549386849a98c9" + integrity sha512-eh9O+hwRHNbG4BLTjEl3nw044CkGm5X6LoaCf7LPp7UU8Qrt47JYNi6nPX8xjW97TKGKm1ouctg0QSpZe9qrnw== + dependencies: + jsbn "~0.1.0" + safer-buffer "^2.1.0" + +electron-to-chromium@^1.4.601: + version "1.4.639" + resolved "https://registry.yarnpkg.com/electron-to-chromium/-/electron-to-chromium-1.4.639.tgz#c6f9cc685f9efb2980d2cfc95a27f8142c9adf28" + integrity sha512-CkKf3ZUVZchr+zDpAlNLEEy2NJJ9T64ULWaDgy3THXXlPVPkLu3VOs9Bac44nebVtdwl2geSj6AxTtGDOxoXhg== + +emittery@^0.13.1: + version "0.13.1" + resolved "https://registry.yarnpkg.com/emittery/-/emittery-0.13.1.tgz#c04b8c3457490e0847ae51fced3af52d338e3dad" + integrity sha512-DeWwawk6r5yR9jFgnDKYt4sLS0LmHJJi3ZOnb5/JdbYwj3nW+FxQnHIjhBKz8YLC7oRNPVM9NQ47I3CVx34eqQ== + +emoji-regex@^8.0.0: + version "8.0.0" + resolved "https://registry.yarnpkg.com/emoji-regex/-/emoji-regex-8.0.0.tgz#e818fd69ce5ccfcb404594f842963bf53164cc37" + integrity sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A== + +emoji-regex@^9.2.2: + version "9.2.2" + resolved "https://registry.yarnpkg.com/emoji-regex/-/emoji-regex-9.2.2.tgz#840c8803b0d8047f4ff0cf963176b32d4ef3ed72" + integrity sha512-L18DaJsXSUk2+42pv8mLs5jJT2hqFkFE4j21wOmgbUqsZ2hL72NsUU785g9RXgo3s0ZNgVl42TiHp3ZtOv/Vyg== + +emojis-list@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/emojis-list/-/emojis-list-3.0.0.tgz#5570662046ad29e2e916e71aae260abdff4f6a78" + integrity sha512-/kyM18EfinwXZbno9FyUGeFh87KC8HRQBQGildHZbEuRyWFOmv1U10o9BBp8XVZDVNNuQKyIGIu5ZYAAXJ0V2Q== + +end-of-stream@^1.1.0: + version "1.4.4" + resolved "https://registry.yarnpkg.com/end-of-stream/-/end-of-stream-1.4.4.tgz#5ae64a5f45057baf3626ec14da0ca5e4b2431eb0" + integrity sha512-+uw1inIHVPQoaVuHzRyXd21icM+cnt4CzD5rW+NC1wjOUSTOs+Te7FOv7AhN7vS9x/oIyhLP5PR1H+phQAHu5Q== + dependencies: + once "^1.4.0" + +enhanced-resolve@^4.0.0: + version "4.5.0" + resolved "https://registry.yarnpkg.com/enhanced-resolve/-/enhanced-resolve-4.5.0.tgz#2f3cfd84dbe3b487f18f2db2ef1e064a571ca5ec" + integrity sha512-Nv9m36S/vxpsI+Hc4/ZGRs0n9mXqSWGGq49zxb/cJfPAQMbUtttJAlNPS4AQzaBdw/pKskw5bMbekT/Y7W/Wlg== + dependencies: + graceful-fs "^4.1.2" + memory-fs "^0.5.0" + tapable "^1.0.0" + +enhanced-resolve@^5.15.0: + version "5.15.0" + resolved "https://registry.yarnpkg.com/enhanced-resolve/-/enhanced-resolve-5.15.0.tgz#1af946c7d93603eb88e9896cee4904dc012e9c35" + integrity sha512-LXYT42KJ7lpIKECr2mAXIaMldcNCh/7E0KBKOu4KSfkHmP+mZmSs+8V5gBAqisWBy0OO4W5Oyys0GO1Y8KtdKg== + dependencies: + graceful-fs "^4.2.4" + tapable "^2.2.0" + +enquirer@^2.3.6: + version "2.4.1" + resolved "https://registry.yarnpkg.com/enquirer/-/enquirer-2.4.1.tgz#93334b3fbd74fc7097b224ab4a8fb7e40bf4ae56" + integrity sha512-rRqJg/6gd538VHvR3PSrdRBb/1Vy2YfzHqzvbhGIQpDRKIa4FgV/54b5Q1xYSxOOwKvjXweS26E0Q+nAMwp2pQ== + dependencies: + ansi-colors "^4.1.1" + strip-ansi "^6.0.1" + +entities@^4.4.0: + version "4.5.0" + resolved "https://registry.yarnpkg.com/entities/-/entities-4.5.0.tgz#5d268ea5e7113ec74c4d033b79ea5a35a488fb48" + integrity sha512-V0hjH4dGPh9Ao5p0MoRY6BVqtwCjhz6vI5LT8AJ55H+4g9/4vbHx1I54fS0XuclLhDHArPQCiMjDxjaL8fPxhw== + +envinfo@^7.7.3: + version "7.11.0" + resolved "https://registry.yarnpkg.com/envinfo/-/envinfo-7.11.0.tgz#c3793f44284a55ff8c82faf1ffd91bc6478ea01f" + integrity sha512-G9/6xF1FPbIw0TtalAMaVPpiq2aDEuKLXM314jPVAO9r2fo2a4BLqMNkmRS7O/xPPZ+COAhGIz3ETvHEV3eUcg== + +errno@^0.1.3: + version "0.1.8" + resolved "https://registry.yarnpkg.com/errno/-/errno-0.1.8.tgz#8bb3e9c7d463be4976ff888f76b4809ebc2e811f" + integrity sha512-dJ6oBr5SQ1VSd9qkk7ByRgb/1SH4JZjCHSW/mr63/QcXO9zLVxvJ6Oy13nio03rxpSnVDDjFor75SjVeZWPW/A== + dependencies: + prr "~1.0.1" + +error-ex@^1.3.1: + version "1.3.2" + resolved "https://registry.yarnpkg.com/error-ex/-/error-ex-1.3.2.tgz#b4ac40648107fdcdcfae242f428bea8a14d4f1bf" + integrity sha512-7dFHNmqeFSEt2ZBsCriorKnn3Z2pj+fd9kmI6QoWw4//DL+icEBfc0U7qJCisqrTsKTjw4fNFy2pW9OqStD84g== + dependencies: + is-arrayish "^0.2.1" + +error-stack-parser@^2.0.6: + version "2.1.4" + resolved "https://registry.yarnpkg.com/error-stack-parser/-/error-stack-parser-2.1.4.tgz#229cb01cdbfa84440bfa91876285b94680188286" + integrity sha512-Sk5V6wVazPhq5MhpO+AUxJn5x7XSXGl1R93Vn7i+zS15KDVxQijejNCrz8340/2bgLBjR9GtEG8ZVKONDjcqGQ== + dependencies: + stackframe "^1.3.4" + +error@^7.0.0: + version "7.2.1" + resolved "https://registry.yarnpkg.com/error/-/error-7.2.1.tgz#eab21a4689b5f684fc83da84a0e390de82d94894" + integrity sha512-fo9HBvWnx3NGUKMvMwB/CBCMMrfEJgbDTVDEkPygA3Bdd3lM1OyCd+rbQ8BwnpF6GdVeOLDNmyL4N5Bg80ZvdA== + dependencies: + string-template "~0.2.1" + +es-abstract@^1.22.1: + version "1.22.3" + resolved "https://registry.yarnpkg.com/es-abstract/-/es-abstract-1.22.3.tgz#48e79f5573198de6dee3589195727f4f74bc4f32" + integrity sha512-eiiY8HQeYfYH2Con2berK+To6GrK2RxbPawDkGq4UiCQQfZHb6wX9qQqkbpPqaxQFcl8d9QzZqo0tGE0VcrdwA== + dependencies: + array-buffer-byte-length "^1.0.0" + arraybuffer.prototype.slice "^1.0.2" + available-typed-arrays "^1.0.5" + call-bind "^1.0.5" + es-set-tostringtag "^2.0.1" + es-to-primitive "^1.2.1" + function.prototype.name "^1.1.6" + get-intrinsic "^1.2.2" + get-symbol-description "^1.0.0" + globalthis "^1.0.3" + gopd "^1.0.1" + has-property-descriptors "^1.0.0" + has-proto "^1.0.1" + has-symbols "^1.0.3" + hasown "^2.0.0" + internal-slot "^1.0.5" + is-array-buffer "^3.0.2" + is-callable "^1.2.7" + is-negative-zero "^2.0.2" + is-regex "^1.1.4" + is-shared-array-buffer "^1.0.2" + is-string "^1.0.7" + is-typed-array "^1.1.12" + is-weakref "^1.0.2" + object-inspect "^1.13.1" + object-keys "^1.1.1" + object.assign "^4.1.4" + regexp.prototype.flags "^1.5.1" + safe-array-concat "^1.0.1" + safe-regex-test "^1.0.0" + string.prototype.trim "^1.2.8" + string.prototype.trimend "^1.0.7" + string.prototype.trimstart "^1.0.7" + typed-array-buffer "^1.0.0" + typed-array-byte-length "^1.0.0" + typed-array-byte-offset "^1.0.0" + typed-array-length "^1.0.4" + unbox-primitive "^1.0.2" + which-typed-array "^1.1.13" + +es-get-iterator@^1.1.3: + version "1.1.3" + resolved "https://registry.yarnpkg.com/es-get-iterator/-/es-get-iterator-1.1.3.tgz#3ef87523c5d464d41084b2c3c9c214f1199763d6" + integrity sha512-sPZmqHBe6JIiTfN5q2pEi//TwxmAFHwj/XEuYjTuse78i8KxaqMTTzxPoFKuzRpDpTJ+0NAbpfenkmH2rePtuw== + dependencies: + call-bind "^1.0.2" + get-intrinsic "^1.1.3" + has-symbols "^1.0.3" + is-arguments "^1.1.1" + is-map "^2.0.2" + is-set "^2.0.2" + is-string "^1.0.7" + isarray "^2.0.5" + stop-iteration-iterator "^1.0.0" + +es-module-lexer@^1.2.1: + version "1.4.1" + resolved "https://registry.yarnpkg.com/es-module-lexer/-/es-module-lexer-1.4.1.tgz#41ea21b43908fe6a287ffcbe4300f790555331f5" + integrity sha512-cXLGjP0c4T3flZJKQSuziYoq7MlT+rnvfZjfp7h+I7K9BNX54kP9nyWvdbwjQ4u1iWbOL4u96fgeZLToQlZC7w== + +es-set-tostringtag@^2.0.1: + version "2.0.2" + resolved "https://registry.yarnpkg.com/es-set-tostringtag/-/es-set-tostringtag-2.0.2.tgz#11f7cc9f63376930a5f20be4915834f4bc74f9c9" + integrity sha512-BuDyupZt65P9D2D2vA/zqcI3G5xRsklm5N3xCwuiy+/vKy8i0ifdsQP1sLgO4tZDSCaQUSnmC48khknGMV3D2Q== + dependencies: + get-intrinsic "^1.2.2" + has-tostringtag "^1.0.0" + hasown "^2.0.0" + +es-shim-unscopables@^1.0.0: + version "1.0.2" + resolved "https://registry.yarnpkg.com/es-shim-unscopables/-/es-shim-unscopables-1.0.2.tgz#1f6942e71ecc7835ed1c8a83006d8771a63a3763" + integrity sha512-J3yBRXCzDu4ULnQwxyToo/OjdMx6akgVC7K6few0a7F/0wLtmKKN7I73AH5T2836UuXRqN7Qg+IIUw/+YJksRw== + dependencies: + hasown "^2.0.0" + +es-to-primitive@^1.2.1: + version "1.2.1" + resolved "https://registry.yarnpkg.com/es-to-primitive/-/es-to-primitive-1.2.1.tgz#e55cd4c9cdc188bcefb03b366c736323fc5c898a" + integrity sha512-QCOllgZJtaUo9miYBcLChTUaHNjJF3PYs1VidD7AwiEj1kYxKeQTctLAezAOH5ZKRH0g2IgPn6KwB4IT8iRpvA== + dependencies: + is-callable "^1.1.4" + is-date-object "^1.0.1" + is-symbol "^1.0.2" + +escalade@^3.1.1: + version "3.1.1" + resolved "https://registry.yarnpkg.com/escalade/-/escalade-3.1.1.tgz#d8cfdc7000965c5a0174b4a82eaa5c0552742e40" + integrity sha512-k0er2gUkLf8O0zKJiAhmkTnJlTvINGv7ygDNPbeIsX/TJjGJZHuh9B2UxbsaEkmlEo9MfhrSzmhIlhRlI2GXnw== + +escape-string-regexp@4.0.0, escape-string-regexp@^4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/escape-string-regexp/-/escape-string-regexp-4.0.0.tgz#14ba83a5d373e3d311e5afca29cf5bfad965bf34" + integrity sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA== + +escape-string-regexp@^1.0.5: + version "1.0.5" + resolved "https://registry.yarnpkg.com/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz#1b61c0562190a8dff6ae3bb2cf0200ca130b86d4" + integrity sha512-vbRorB5FUQWvla16U8R/qgaFIya2qGzwDrNmCZuYKrbdSUMG6I1ZCGQRefkRVhuOkIGVne7BQ35DSfo1qvJqFg== + +escape-string-regexp@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/escape-string-regexp/-/escape-string-regexp-2.0.0.tgz#a30304e99daa32e23b2fd20f51babd07cffca344" + integrity sha512-UpzcLCXolUWcNu5HtVMHYdXJjArjsF9C0aNnquZYY4uW/Vu0miy5YoWvbV345HauVvcAUnpRuhMMcqTcGOY2+w== + +escodegen@^2.0.0: + version "2.1.0" + resolved "https://registry.yarnpkg.com/escodegen/-/escodegen-2.1.0.tgz#ba93bbb7a43986d29d6041f99f5262da773e2e17" + integrity sha512-2NlIDTwUWJN0mRPQOdtQBzbUHvdGY2P1VXSyU83Q3xKxM7WHX2Ql8dKq782Q9TgQUNOLEzEYu9bzLNj1q88I5w== + dependencies: + esprima "^4.0.1" + estraverse "^5.2.0" + esutils "^2.0.2" + optionalDependencies: + source-map "~0.6.1" + +eslint-config-prettier@8.8.0: + version "8.8.0" + resolved "https://registry.yarnpkg.com/eslint-config-prettier/-/eslint-config-prettier-8.8.0.tgz#bfda738d412adc917fd7b038857110efe98c9348" + integrity sha512-wLbQiFre3tdGgpDv67NQKnJuTlcUVYHas3k+DZCc2U2BadthoEY4B7hLPvAxaqdyOGCzuLfii2fqGph10va7oA== + +eslint-plugin-deprecation@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/eslint-plugin-deprecation/-/eslint-plugin-deprecation-2.0.0.tgz#9804707a4c19f3a53615c6babc0ced3d429d69cf" + integrity sha512-OAm9Ohzbj11/ZFyICyR5N6LbOIvQMp7ZU2zI7Ej0jIc8kiGUERXPNMfw2QqqHD1ZHtjMub3yPZILovYEYucgoQ== + dependencies: + "@typescript-eslint/utils" "^6.0.0" + tslib "^2.3.1" + tsutils "^3.21.0" + +eslint-plugin-jsdoc@46.2.6: + version "46.2.6" + resolved "https://registry.yarnpkg.com/eslint-plugin-jsdoc/-/eslint-plugin-jsdoc-46.2.6.tgz#f25590d371859f20691d65b5dcd4cbe370d65564" + integrity sha512-zIaK3zbSrKuH12bP+SPybPgcHSM6MFzh3HFeaODzmsF1N8C1l8dzJ22cW1aq4g0+nayU1VMjmNf7hg0dpShLrA== + dependencies: + "@es-joy/jsdoccomment" "~0.39.4" + are-docs-informative "^0.0.2" + comment-parser "1.3.1" + debug "^4.3.4" + escape-string-regexp "^4.0.0" + esquery "^1.5.0" + is-builtin-module "^3.2.1" + semver "^7.5.1" + spdx-expression-parse "^3.0.1" + +eslint-plugin-react-hooks@4.6.0: + version "4.6.0" + resolved "https://registry.yarnpkg.com/eslint-plugin-react-hooks/-/eslint-plugin-react-hooks-4.6.0.tgz#4c3e697ad95b77e93f8646aaa1630c1ba607edd3" + integrity sha512-oFc7Itz9Qxh2x4gNHStv3BqJq54ExXmfC+a1NjAta66IAN87Wu0R/QArgIS9qKzX3dXKPI9H5crl9QchNMY9+g== + +eslint-plugin-react@7.32.2: + version "7.32.2" + resolved "https://registry.yarnpkg.com/eslint-plugin-react/-/eslint-plugin-react-7.32.2.tgz#e71f21c7c265ebce01bcbc9d0955170c55571f10" + integrity sha512-t2fBMa+XzonrrNkyVirzKlvn5RXzzPwRHtMvLAtVZrt8oxgnTQaYbU6SXTOO1mwQgp1y5+toMSKInnzGr0Knqg== + dependencies: + array-includes "^3.1.6" + array.prototype.flatmap "^1.3.1" + array.prototype.tosorted "^1.1.1" + doctrine "^2.1.0" + estraverse "^5.3.0" + jsx-ast-utils "^2.4.1 || ^3.0.0" + minimatch "^3.1.2" + object.entries "^1.1.6" + object.fromentries "^2.0.6" + object.hasown "^1.1.2" + object.values "^1.1.6" + prop-types "^15.8.1" + resolve "^2.0.0-next.4" + semver "^6.3.0" + string.prototype.matchall "^4.0.8" + +eslint-scope@5.1.1, eslint-scope@^5.1.1: + version "5.1.1" + resolved "https://registry.yarnpkg.com/eslint-scope/-/eslint-scope-5.1.1.tgz#e786e59a66cb92b3f6c1fb0d508aab174848f48c" + integrity sha512-2NxwbF/hZ0KpepYN0cNbo+FN6XoK7GaHlQhgx/hIZl6Va0bF45RQOOwhLIy8lQDbuCiadSLCBnH2CFYquit5bw== + dependencies: + esrecurse "^4.3.0" + estraverse "^4.1.1" + +eslint-scope@^7.2.0: + version "7.2.2" + resolved "https://registry.yarnpkg.com/eslint-scope/-/eslint-scope-7.2.2.tgz#deb4f92563390f32006894af62a22dba1c46423f" + integrity sha512-dOt21O7lTMhDM+X9mB4GX+DZrZtCUJPL/wlcTqxyrx5IvO0IYtILdtrQGQp+8n5S0gwSVmOf9NQrjMOgfQZlIg== + dependencies: + esrecurse "^4.3.0" + estraverse "^5.2.0" + +eslint-visitor-keys@^3.3.0, eslint-visitor-keys@^3.4.1: + version "3.4.3" + resolved "https://registry.yarnpkg.com/eslint-visitor-keys/-/eslint-visitor-keys-3.4.3.tgz#0cd72fe8550e3c2eae156a96a4dddcd1c8ac5800" + integrity sha512-wpc+LXeiyiisxPlEkUzU6svyS1frIO3Mgxj1fdy7Pm8Ygzguax2N3Fa/D/ag1WqbOprdI+uY6wMUl8/a2G+iag== + +eslint-webpack-plugin@^4.0.1: + version "4.0.1" + resolved "https://registry.yarnpkg.com/eslint-webpack-plugin/-/eslint-webpack-plugin-4.0.1.tgz#f0f0e9afff2801d8bd41eac88e5409821ecbaccb" + integrity sha512-fUFcXpui/FftGx3NzvWgLZXlLbu+m74sUxGEgxgoxYcUtkIQbS6SdNNZkS99m5ycb23TfoNYrDpp1k/CK5j6Hw== + dependencies: + "@types/eslint" "^8.37.0" + jest-worker "^29.5.0" + micromatch "^4.0.5" + normalize-path "^3.0.0" + schema-utils "^4.0.0" + +eslint@8.42.0: + version "8.42.0" + resolved "https://registry.yarnpkg.com/eslint/-/eslint-8.42.0.tgz#7bebdc3a55f9ed7167251fe7259f75219cade291" + integrity sha512-ulg9Ms6E1WPf67PHaEY4/6E2tEn5/f7FXGzr3t9cBMugOmf1INYvuUwwh1aXQN4MfJ6a5K2iNwP3w4AColvI9A== + dependencies: + "@eslint-community/eslint-utils" "^4.2.0" + "@eslint-community/regexpp" "^4.4.0" + "@eslint/eslintrc" "^2.0.3" + "@eslint/js" "8.42.0" + "@humanwhocodes/config-array" "^0.11.10" + "@humanwhocodes/module-importer" "^1.0.1" + "@nodelib/fs.walk" "^1.2.8" + ajv "^6.10.0" + chalk "^4.0.0" + cross-spawn "^7.0.2" + debug "^4.3.2" + doctrine "^3.0.0" + escape-string-regexp "^4.0.0" + eslint-scope "^7.2.0" + eslint-visitor-keys "^3.4.1" + espree "^9.5.2" + esquery "^1.4.2" + esutils "^2.0.2" + fast-deep-equal "^3.1.3" + file-entry-cache "^6.0.1" + find-up "^5.0.0" + glob-parent "^6.0.2" + globals "^13.19.0" + graphemer "^1.4.0" + ignore "^5.2.0" + import-fresh "^3.0.0" + imurmurhash "^0.1.4" + is-glob "^4.0.0" + is-path-inside "^3.0.3" + js-yaml "^4.1.0" + json-stable-stringify-without-jsonify "^1.0.1" + levn "^0.4.1" + lodash.merge "^4.6.2" + minimatch "^3.1.2" + natural-compare "^1.4.0" + optionator "^0.9.1" + strip-ansi "^6.0.1" + strip-json-comments "^3.1.0" + text-table "^0.2.0" + +espree@^9.5.2, espree@^9.6.0: + version "9.6.1" + resolved "https://registry.yarnpkg.com/espree/-/espree-9.6.1.tgz#a2a17b8e434690a5432f2f8018ce71d331a48c6f" + integrity sha512-oruZaFkjorTpF32kDSI5/75ViwGeZginGGy2NoOSg3Q9bnwlnmDm4HLnkl0RE3n+njDXR037aY1+x58Z/zFdwQ== + dependencies: + acorn "^8.9.0" + acorn-jsx "^5.3.2" + eslint-visitor-keys "^3.4.1" + +esprima@^4.0.0, esprima@^4.0.1: + version "4.0.1" + resolved "https://registry.yarnpkg.com/esprima/-/esprima-4.0.1.tgz#13b04cdb3e6c5d19df91ab6987a8695619b0aa71" + integrity sha512-eGuFFw7Upda+g4p+QHvnW0RyTX/SVeJBDM/gCtMARO0cLuT2HcEKnTPvhjV6aGeqrCB/sbNop0Kszm0jsaWU4A== + +esquery@^1.4.2, esquery@^1.5.0: + version "1.5.0" + resolved "https://registry.yarnpkg.com/esquery/-/esquery-1.5.0.tgz#6ce17738de8577694edd7361c57182ac8cb0db0b" + integrity sha512-YQLXUplAwJgCydQ78IMJywZCceoqk1oH01OERdSAJc/7U2AylwjhSCLDEtqwg811idIS/9fIU5GjG73IgjKMVg== + dependencies: + estraverse "^5.1.0" + +esrecurse@^4.3.0: + version "4.3.0" + resolved "https://registry.yarnpkg.com/esrecurse/-/esrecurse-4.3.0.tgz#7ad7964d679abb28bee72cec63758b1c5d2c9921" + integrity sha512-KmfKL3b6G+RXvP8N1vr3Tq1kL/oCFgn2NYXEtqP8/L3pKapUA4G8cFVaoF3SU323CD4XypR/ffioHmkti6/Tag== + dependencies: + estraverse "^5.2.0" + +esrever@^0.2.0: + version "0.2.0" + resolved "https://registry.yarnpkg.com/esrever/-/esrever-0.2.0.tgz#96e9d28f4f1b1a76784cd5d490eaae010e7407b8" + integrity sha512-1e9YJt6yQkyekt2BUjTky7LZWWVyC2cIpgdnsTAvMcnzXIZvlW/fTMPkxBcZoYhgih4d+EC+iw+yv9GIkz7vrw== + +estraverse@^4.1.1: + version "4.3.0" + resolved "https://registry.yarnpkg.com/estraverse/-/estraverse-4.3.0.tgz#398ad3f3c5a24948be7725e83d11a7de28cdbd1d" + integrity sha512-39nnKffWz8xN1BU/2c79n9nB9HDzo0niYUqx6xyqUnyoAnQyyWpOTdZEeiCch8BBu515t4wp9ZmgVfVhn9EBpw== + +estraverse@^5.1.0, estraverse@^5.2.0, estraverse@^5.3.0: + version "5.3.0" + resolved "https://registry.yarnpkg.com/estraverse/-/estraverse-5.3.0.tgz#2eea5290702f26ab8fe5370370ff86c965d21123" + integrity sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA== + +esutils@^2.0.2: + version "2.0.3" + resolved "https://registry.yarnpkg.com/esutils/-/esutils-2.0.3.tgz#74d2eb4de0b8da1293711910d50775b9b710ef64" + integrity sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g== + +eventemitter2@^6.4.3: + version "6.4.9" + resolved "https://registry.yarnpkg.com/eventemitter2/-/eventemitter2-6.4.9.tgz#41f2750781b4230ed58827bc119d293471ecb125" + integrity sha512-JEPTiaOt9f04oa6NOkc4aH+nVp5I3wEjpHbIPqfgCdD5v5bUzy7xQqwcVO2aDQgOWhI28da57HksMrzK9HlRxg== + +eventemitter3@5.0.0: + version "5.0.0" + resolved "https://registry.yarnpkg.com/eventemitter3/-/eventemitter3-5.0.0.tgz#084eb7f5b5388df1451e63f4c2aafd71b217ccb3" + integrity sha512-riuVbElZZNXLeLEoprfNYoDSwTBRR44X3mnhdI1YcnENpWTCsTTVZ2zFuqQcpoyqPQIUXdiPEU0ECAq0KQRaHg== + +events@^3.2.0: + version "3.3.0" + resolved "https://registry.yarnpkg.com/events/-/events-3.3.0.tgz#31a95ad0a924e2d2c419a813aeb2c4e878ea7400" + integrity sha512-mQw+2fkQbALzQ7V0MY0IqdnXNOeTtP4r0lN9z7AAawCXgqea7bDii20AYrIBrFd/Hx0M2Ocz6S111CaFkUcb0Q== + +execa@4.1.0: + version "4.1.0" + resolved "https://registry.yarnpkg.com/execa/-/execa-4.1.0.tgz#4e5491ad1572f2f17a77d388c6c857135b22847a" + integrity sha512-j5W0//W7f8UxAn8hXVnwG8tLwdiUy4FJLcSupCg6maBYZDpyBvTApK7KyuI4bKj8KOh1r2YH+6ucuYtJv1bTZA== + dependencies: + cross-spawn "^7.0.0" + get-stream "^5.0.0" + human-signals "^1.1.1" + is-stream "^2.0.0" + merge-stream "^2.0.0" + npm-run-path "^4.0.0" + onetime "^5.1.0" + signal-exit "^3.0.2" + strip-final-newline "^2.0.0" + +execa@5.1.1, execa@^5.0.0: + version "5.1.1" + resolved "https://registry.yarnpkg.com/execa/-/execa-5.1.1.tgz#f80ad9cbf4298f7bd1d4c9555c21e93741c411dd" + integrity sha512-8uSpZZocAZRBAPIEINJj3Lo9HyGitllczc27Eh5YYojjMFMn8yHMDMaUHE2Jqfq05D/wucwI4JGURyXt1vchyg== + dependencies: + cross-spawn "^7.0.3" + get-stream "^6.0.0" + human-signals "^2.1.0" + is-stream "^2.0.0" + merge-stream "^2.0.0" + npm-run-path "^4.0.1" + onetime "^5.1.2" + signal-exit "^3.0.3" + strip-final-newline "^2.0.0" + +executable@^4.1.1: + version "4.1.1" + resolved "https://registry.yarnpkg.com/executable/-/executable-4.1.1.tgz#41532bff361d3e57af4d763b70582db18f5d133c" + integrity sha512-8iA79xD3uAch729dUG8xaaBBFGaEa0wdD2VkYLFHwlqosEj/jT66AzcreRDSgV7ehnNLBW2WR5jIXwGKjVdTLg== + dependencies: + pify "^2.2.0" + +exenv@^1.2.2: + version "1.2.2" + resolved "https://registry.yarnpkg.com/exenv/-/exenv-1.2.2.tgz#2ae78e85d9894158670b03d47bec1f03bd91bb9d" + integrity sha512-Z+ktTxTwv9ILfgKCk32OX3n/doe+OcLTRtqK9pcL+JsP3J1/VW8Uvl4ZjLlKqeW4rzK4oesDOGMEMRIZqtP4Iw== + +exit@^0.1.2: + version "0.1.2" + resolved "https://registry.yarnpkg.com/exit/-/exit-0.1.2.tgz#0632638f8d877cc82107d30a0fff1a17cba1cd0c" + integrity sha512-Zk/eNKV2zbjpKzrsQ+n1G6poVbErQxJ0LBOJXaKZ1EViLzH+hrLu9cdXI4zw9dBQJslwBEpbQ2P1oS7nDxs6jQ== + +expect@^29.0.0, expect@^29.7.0: + version "29.7.0" + resolved "https://registry.yarnpkg.com/expect/-/expect-29.7.0.tgz#578874590dcb3214514084c08115d8aee61e11bc" + integrity sha512-2Zks0hf1VLFYI1kbh0I5jP3KHHyCHpkfyHBzsSXRFgl/Bg9mWYfMW8oD+PdMPlEwy5HNsR9JutYy6pMeOh61nw== + dependencies: + "@jest/expect-utils" "^29.7.0" + jest-get-type "^29.6.3" + jest-matcher-utils "^29.7.0" + jest-message-util "^29.7.0" + jest-util "^29.7.0" + +extend@~3.0.2: + version "3.0.2" + resolved "https://registry.yarnpkg.com/extend/-/extend-3.0.2.tgz#f8b1136b4071fbd8eb140aff858b1019ec2915fa" + integrity sha512-fjquC59cD7CyW6urNXK0FBufkZcoiGG80wTuPujX590cB5Ttln20E2UB4S/WARVqhXffZl2LNgS+gQdPIIim/g== + +extract-zip@2.0.1: + version "2.0.1" + resolved "https://registry.yarnpkg.com/extract-zip/-/extract-zip-2.0.1.tgz#663dca56fe46df890d5f131ef4a06d22bb8ba13a" + integrity sha512-GDhU9ntwuKyGXdZBUgTIe+vXnWj0fppUEtMDL0+idd5Sta8TGpHssn/eusA9mrPr9qNDym6SxAYZjNvCn/9RBg== + dependencies: + debug "^4.1.1" + get-stream "^5.1.0" + yauzl "^2.10.0" + optionalDependencies: + "@types/yauzl" "^2.9.1" + +extsprintf@1.3.0: + version "1.3.0" + resolved "https://registry.yarnpkg.com/extsprintf/-/extsprintf-1.3.0.tgz#96918440e3041a7a414f8c52e3c574eb3c3e1e05" + integrity sha512-11Ndz7Nv+mvAC1j0ktTa7fAb0vLyGGX+rMHNBYQviQDGU0Hw7lhctJANqbPhu9nV9/izT/IntTgZ7Im/9LJs9g== + +extsprintf@^1.2.0: + version "1.4.1" + resolved "https://registry.yarnpkg.com/extsprintf/-/extsprintf-1.4.1.tgz#8d172c064867f235c0c84a596806d279bf4bcc07" + integrity sha512-Wrk35e8ydCKDj/ArClo1VrPVmN8zph5V4AtHwIuHhvMXsKf73UT3BOD+azBIW+3wOJ4FhEH7zyaJCFvChjYvMA== + +fast-deep-equal@^3.1.1, fast-deep-equal@^3.1.3: + version "3.1.3" + resolved "https://registry.yarnpkg.com/fast-deep-equal/-/fast-deep-equal-3.1.3.tgz#3a7d56b559d6cbc3eb512325244e619a65c6c525" + integrity sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q== + +fast-glob@^3.2.11, fast-glob@^3.2.9, fast-glob@^3.3.0, fast-glob@^3.3.2: + version "3.3.2" + resolved "https://registry.yarnpkg.com/fast-glob/-/fast-glob-3.3.2.tgz#a904501e57cfdd2ffcded45e99a54fef55e46129" + integrity sha512-oX2ruAFQwf/Orj8m737Y5adxDQO0LAB7/S5MnxCdTNDd4p6BsyIVsv9JQsATbTSq8KHRpLwIHbVlUNatxd+1Ow== + dependencies: + "@nodelib/fs.stat" "^2.0.2" + "@nodelib/fs.walk" "^1.2.3" + glob-parent "^5.1.2" + merge2 "^1.3.0" + micromatch "^4.0.4" + +fast-json-stable-stringify@^2.0.0, fast-json-stable-stringify@^2.1.0: + version "2.1.0" + resolved "https://registry.yarnpkg.com/fast-json-stable-stringify/-/fast-json-stable-stringify-2.1.0.tgz#874bf69c6f404c2b5d99c481341399fd55892633" + integrity sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw== + +fast-levenshtein@^2.0.6: + version "2.0.6" + resolved "https://registry.yarnpkg.com/fast-levenshtein/-/fast-levenshtein-2.0.6.tgz#3d8a5c66883a16a30ca8643e851f19baa7797917" + integrity sha512-DCXu6Ifhqcks7TZKY3Hxp3y6qphY5SJZmrWMDrKcERSOXWQdMhU9Ig/PYrzyw/ul9jOIyh0N4M0tbC5hodg8dw== + +fast-loops@^1.1.3: + version "1.1.3" + resolved "https://registry.yarnpkg.com/fast-loops/-/fast-loops-1.1.3.tgz#ce96adb86d07e7bf9b4822ab9c6fac9964981f75" + integrity sha512-8EZzEP0eKkEEVX+drtd9mtuQ+/QrlfW/5MlwcwK5Nds6EkZ/tRzEexkzUY2mIssnAyVLT+TKHuRXmFNNXYUd6g== + +fast-shallow-equal@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/fast-shallow-equal/-/fast-shallow-equal-1.0.0.tgz#d4dcaf6472440dcefa6f88b98e3251e27f25628b" + integrity sha512-HPtaa38cPgWvaCFmRNhlc6NG7pv6NUHqjPgVAkWGoB9mQMwYB27/K0CvOM5Czy+qpT3e8XJ6Q4aPAnzpNpzNaw== + +fast_array_intersect@1.1.0: + version "1.1.0" + resolved "https://registry.yarnpkg.com/fast_array_intersect/-/fast_array_intersect-1.1.0.tgz#8e8a83d95c515fd55bfb2b02da94da3d7f1c2b8b" + integrity sha512-/DCilZlUdz2XyNDF+ASs0PwY+RKG9Y4Silp/gbS72Cvbg4oibc778xcecg+pnNyiNHYgh/TApsiDTjpdniyShw== + +fastest-levenshtein@^1.0.12: + version "1.0.16" + resolved "https://registry.yarnpkg.com/fastest-levenshtein/-/fastest-levenshtein-1.0.16.tgz#210e61b6ff181de91ea9b3d1b84fdedd47e034e5" + integrity sha512-eRnCtTTtGZFpQCwhJiUOuxPQWRXVKYDn0b2PeHfXL6/Zi53SLAzAHfVhVWK2AryC/WH05kGfxhFIPvTF0SXQzg== + +fastest-stable-stringify@^2.0.2: + version "2.0.2" + resolved "https://registry.yarnpkg.com/fastest-stable-stringify/-/fastest-stable-stringify-2.0.2.tgz#3757a6774f6ec8de40c4e86ec28ea02417214c76" + integrity sha512-bijHueCGd0LqqNK9b5oCMHc0MluJAx0cwqASgbWMvkO01lCYgIhacVRLcaDz3QnyYIRNJRDwMb41VuT6pHJ91Q== + +fastq@^1.6.0: + version "1.16.0" + resolved "https://registry.yarnpkg.com/fastq/-/fastq-1.16.0.tgz#83b9a9375692db77a822df081edb6a9cf6839320" + integrity sha512-ifCoaXsDrsdkWTtiNJX5uzHDsrck5TzfKKDcuFFTIrrc/BS076qgEIfoIy1VeZqViznfKiysPYTh/QeHtnIsYA== + dependencies: + reusify "^1.0.4" + +faye-websocket@~0.10.0: + version "0.10.0" + resolved "https://registry.yarnpkg.com/faye-websocket/-/faye-websocket-0.10.0.tgz#4e492f8d04dfb6f89003507f6edbf2d501e7c6f4" + integrity sha512-Xhj93RXbMSq8urNCUq4p9l0P6hnySJ/7YNRhYNug0bLOuii7pKO7xQFb5mx9xZXWCar88pLPb805PvUkwrLZpQ== + dependencies: + websocket-driver ">=0.5.1" + +fb-watchman@^2.0.0: + version "2.0.2" + resolved "https://registry.yarnpkg.com/fb-watchman/-/fb-watchman-2.0.2.tgz#e9524ee6b5c77e9e5001af0f85f3adbb8623255c" + integrity sha512-p5161BqbuCaSnB8jIbzQHOlpgsPmK5rJVDfDKO91Axs5NC1uu3HRQm6wt9cd9/+GtQQIO53JdGXXoyDpTAsgYA== + dependencies: + bser "2.1.1" + +fd-slicer@~1.1.0: + version "1.1.0" + resolved "https://registry.yarnpkg.com/fd-slicer/-/fd-slicer-1.1.0.tgz#25c7c89cb1f9077f8891bbe61d8f390eae256f1e" + integrity sha512-cE1qsB/VwyQozZ+q1dGxR8LBYNZeofhEdUNGSMbQD3Gw2lAzX9Zb3uIU6Ebc/Fmyjo9AWWfnn0AUCHqtevs/8g== + dependencies: + pend "~1.2.0" + +figures@^3.2.0: + version "3.2.0" + resolved "https://registry.yarnpkg.com/figures/-/figures-3.2.0.tgz#625c18bd293c604dc4a8ddb2febf0c88341746af" + integrity sha512-yaduQFRKLXYOGgEn6AZau90j3ggSOyiqXU0F9JZfeXYhNa+Jk4X+s45A2zg5jns87GAFa34BBm2kXw4XpNcbdg== + dependencies: + escape-string-regexp "^1.0.5" + +file-entry-cache@^6.0.1: + version "6.0.1" + resolved "https://registry.yarnpkg.com/file-entry-cache/-/file-entry-cache-6.0.1.tgz#211b2dd9659cb0394b073e7323ac3c933d522027" + integrity sha512-7Gps/XWymbLk2QLYK4NzpMOrYjMhdIxXuIvy2QBsLE6ljuodKvdkWs/cpyJJ3CVIVpH0Oi1Hvg1ovbMzLdFBBg== + dependencies: + flat-cache "^3.0.4" + +file-selector@^0.6.0: + version "0.6.0" + resolved "https://registry.yarnpkg.com/file-selector/-/file-selector-0.6.0.tgz#fa0a8d9007b829504db4d07dd4de0310b65287dc" + integrity sha512-QlZ5yJC0VxHxQQsQhXvBaC7VRJ2uaxTf+Tfpu4Z/OcVQJVpZO+DGU0rkoVW5ce2SccxugvpBJoMvUs59iILYdw== + dependencies: + tslib "^2.4.0" + +fill-range@^7.0.1: + version "7.0.1" + resolved "https://registry.yarnpkg.com/fill-range/-/fill-range-7.0.1.tgz#1919a6a7c75fe38b2c7c77e5198535da9acdda40" + integrity sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ== + dependencies: + to-regex-range "^5.0.1" + +find-cache-dir@^3.3.2: + version "3.3.2" + resolved "https://registry.yarnpkg.com/find-cache-dir/-/find-cache-dir-3.3.2.tgz#b30c5b6eff0730731aea9bbd9dbecbd80256d64b" + integrity sha512-wXZV5emFEjrridIgED11OoUKLxiYjAcqot/NJdAkOhlJ+vGzwhOAfcG5OX1jP+S0PcjEn8bdMJv+g2jwQ3Onig== + dependencies: + commondir "^1.0.1" + make-dir "^3.0.2" + pkg-dir "^4.1.0" + +find-parent-dir@~0.3.0: + version "0.3.1" + resolved "https://registry.yarnpkg.com/find-parent-dir/-/find-parent-dir-0.3.1.tgz#c5c385b96858c3351f95d446cab866cbf9f11125" + integrity sha512-o4UcykWV/XN9wm+jMEtWLPlV8RXCZnMhQI6F6OdHeSez7iiJWePw8ijOlskJZMsaQoGR/b7dH6lO02HhaTN7+A== + +find-root@^1.1.0: + version "1.1.0" + resolved "https://registry.yarnpkg.com/find-root/-/find-root-1.1.0.tgz#abcfc8ba76f708c42a97b3d685b7e9450bfb9ce4" + integrity sha512-NKfW6bec6GfKc0SGx1e07QZY9PE99u0Bft/0rzSD5k3sO/vwkVUpDUKVm5Gpp5Ue3YfShPFTX2070tDs5kB9Ng== + +find-up@5.0.0, find-up@^5.0.0: + version "5.0.0" + resolved "https://registry.yarnpkg.com/find-up/-/find-up-5.0.0.tgz#4c92819ecb7083561e4f4a240a86be5198f536fc" + integrity sha512-78/PXT1wlLLDgTzDs7sjq9hzz0vXD+zn+7wypEe4fXQxCmdmqfGsEPQxmiCSQI3ajFV91bVSsvNtrJRiW6nGng== + dependencies: + locate-path "^6.0.0" + path-exists "^4.0.0" + +find-up@^4.0.0, find-up@^4.1.0: + version "4.1.0" + resolved "https://registry.yarnpkg.com/find-up/-/find-up-4.1.0.tgz#97afe7d6cdc0bc5928584b7c8d7b16e8a9aa5d19" + integrity sha512-PpOwAdQ/YlXQ2vj8a3h8IipDuYRi3wceVQQGYWxNINccq40Anw7BlsEXCMbt1Zt+OLA6Fq9suIpIWD0OsnISlw== + dependencies: + locate-path "^5.0.0" + path-exists "^4.0.0" + +flat-cache@^3.0.4: + version "3.2.0" + resolved "https://registry.yarnpkg.com/flat-cache/-/flat-cache-3.2.0.tgz#2c0c2d5040c99b1632771a9d105725c0115363ee" + integrity sha512-CYcENa+FtcUKLmhhqyctpclsq7QF38pKjZHsGNiSQF5r4FtoKDWabFDl3hzaEQMvT1LHEysw5twgLvpYYb4vbw== + dependencies: + flatted "^3.2.9" + keyv "^4.5.3" + rimraf "^3.0.2" + +flat@^5.0.2: + version "5.0.2" + resolved "https://registry.yarnpkg.com/flat/-/flat-5.0.2.tgz#8ca6fe332069ffa9d324c327198c598259ceb241" + integrity sha512-b6suED+5/3rTpUBdG1gupIl8MPFCAMA0QXwmljLhvCUKcUvdE4gWky9zpuGCcXHOsz4J9wPGNWq6OKpmIzz3hQ== + +flatted@^3.2.9: + version "3.2.9" + resolved "https://registry.yarnpkg.com/flatted/-/flatted-3.2.9.tgz#7eb4c67ca1ba34232ca9d2d93e9886e611ad7daf" + integrity sha512-36yxDn5H7OFZQla0/jFJmbIKTdZAQHngCedGxiMmpNfEZM0sdEeT+WczLQrjK6D7o2aiyLYDnkw0R3JK0Qv1RQ== + +for-each@^0.3.3: + version "0.3.3" + resolved "https://registry.yarnpkg.com/for-each/-/for-each-0.3.3.tgz#69b447e88a0a5d32c3e7084f3f1710034b21376e" + integrity sha512-jqYfLp7mo9vIyQf8ykW2v7A+2N4QjeCeI5+Dz9XraiO1ign81wjiH7Fb9vSOWvQfNtmSa4H2RoQTrrXivdUZmw== + dependencies: + is-callable "^1.1.3" + +foreground-child@^3.1.0: + version "3.1.1" + resolved "https://registry.yarnpkg.com/foreground-child/-/foreground-child-3.1.1.tgz#1d173e776d75d2772fed08efe4a0de1ea1b12d0d" + integrity sha512-TMKDUnIte6bfb5nWv7V/caI169OHgvwjb7V4WkeUvbQQdjr5rWKqHFiKWb/fcOwB+CzBT+qbWjvj+DVwRskpIg== + dependencies: + cross-spawn "^7.0.0" + signal-exit "^4.0.1" + +forever-agent@~0.6.1: + version "0.6.1" + resolved "https://registry.yarnpkg.com/forever-agent/-/forever-agent-0.6.1.tgz#fbc71f0c41adeb37f96c577ad1ed42d8fdacca91" + integrity sha512-j0KLYPhm6zeac4lz3oJ3o65qvgQCcPubiyotZrXqEaG4hNagNYO8qdlUrX5vwqv9ohqeT/Z3j6+yW067yWWdUw== + +fork-ts-checker-webpack-plugin@^8.0.0: + version "8.0.0" + resolved "https://registry.yarnpkg.com/fork-ts-checker-webpack-plugin/-/fork-ts-checker-webpack-plugin-8.0.0.tgz#dae45dfe7298aa5d553e2580096ced79b6179504" + integrity sha512-mX3qW3idpueT2klaQXBzrIM/pHw+T0B/V9KHEvNrqijTq9NFnMZU6oreVxDYcf33P8a5cW+67PjodNHthGnNVg== + dependencies: + "@babel/code-frame" "^7.16.7" + chalk "^4.1.2" + chokidar "^3.5.3" + cosmiconfig "^7.0.1" + deepmerge "^4.2.2" + fs-extra "^10.0.0" + memfs "^3.4.1" + minimatch "^3.0.4" + node-abort-controller "^3.0.1" + schema-utils "^3.1.1" + semver "^7.3.5" + tapable "^2.2.1" + +form-data@^4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/form-data/-/form-data-4.0.0.tgz#93919daeaf361ee529584b9b31664dc12c9fa452" + integrity sha512-ETEklSGi5t0QMZuiXoA/Q6vcnxcLQP5vdugSpuAyi6SVGi2clPPp+xgEhuMaHC+zGgn31Kd235W35f7Hykkaww== + dependencies: + asynckit "^0.4.0" + combined-stream "^1.0.8" + mime-types "^2.1.12" + +form-data@~2.3.2: + version "2.3.3" + resolved "https://registry.yarnpkg.com/form-data/-/form-data-2.3.3.tgz#dcce52c05f644f298c6a7ab936bd724ceffbf3a6" + integrity sha512-1lLKB2Mu3aGP1Q/2eCOx0fNbRMe7XdwktwOruhfqqd0rIJWwN4Dh+E3hrPSlDCXnSR7UtZ1N38rVXm+6+MEhJQ== + dependencies: + asynckit "^0.4.0" + combined-stream "^1.0.6" + mime-types "^2.1.12" + +fs-extra@^10.0.0: + version "10.1.0" + resolved "https://registry.yarnpkg.com/fs-extra/-/fs-extra-10.1.0.tgz#02873cfbc4084dde127eaa5f9905eef2325d1abf" + integrity sha512-oRXApq54ETRj4eMiFzGnHWGy+zo5raudjuxN0b8H7s/RU2oW0Wvsx9O0ACRN/kRq9E8Vu/ReskGB5o3ji+FzHQ== + dependencies: + graceful-fs "^4.2.0" + jsonfile "^6.0.1" + universalify "^2.0.0" + +fs-extra@^9.1.0: + version "9.1.0" + resolved "https://registry.yarnpkg.com/fs-extra/-/fs-extra-9.1.0.tgz#5954460c764a8da2094ba3554bf839e6b9a7c86d" + integrity sha512-hcg3ZmepS30/7BSFqRvoo3DOMQu7IjqxO5nCDt+zM9XWjb33Wg7ziNT+Qvqbuc3+gWpzO02JubVyk2G4Zvo1OQ== + dependencies: + at-least-node "^1.0.0" + graceful-fs "^4.2.0" + jsonfile "^6.0.1" + universalify "^2.0.0" + +fs-monkey@^1.0.4: + version "1.0.5" + resolved "https://registry.yarnpkg.com/fs-monkey/-/fs-monkey-1.0.5.tgz#fe450175f0db0d7ea758102e1d84096acb925788" + integrity sha512-8uMbBjrhzW76TYgEV27Y5E//W2f/lTFmx78P2w19FZSxarhI/798APGQyuGCwmkNxgwGRhrLfvWyLBvNtuOmew== + +fs.realpath@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/fs.realpath/-/fs.realpath-1.0.0.tgz#1504ad2523158caa40db4a2787cb01411994ea4f" + integrity sha512-OO0pH2lK6a0hZnAdau5ItzHPI6pUlvI7jMVnxUQRtw4owF2wk8lOSabtGDCTP4Ggrg2MbGnWO9X8K1t4+fGMDw== + +fsevents@^2.3.2, fsevents@~2.3.2: + version "2.3.3" + resolved "https://registry.yarnpkg.com/fsevents/-/fsevents-2.3.3.tgz#cac6407785d03675a2a5e1a5305c697b347d90d6" + integrity sha512-5xoDfX+fL7faATnagmWPpbFtwh/R77WmMMqqHGS65C3vvB0YHrgF+B1YmZ3441tMj5n63k0212XNoJwzlhffQw== + +function-bind@^1.1.2: + version "1.1.2" + resolved "https://registry.yarnpkg.com/function-bind/-/function-bind-1.1.2.tgz#2c02d864d97f3ea6c8830c464cbd11ab6eab7a1c" + integrity sha512-7XHNxH7qX9xG5mIwxkhumTox/MIRNcOgDrxWsMt2pAr23WHp6MrRlN7FBSFpCpr+oVO0F744iUgR82nJMfG2SA== + +function.prototype.name@^1.1.6: + version "1.1.6" + resolved "https://registry.yarnpkg.com/function.prototype.name/-/function.prototype.name-1.1.6.tgz#cdf315b7d90ee77a4c6ee216c3c3362da07533fd" + integrity sha512-Z5kx79swU5P27WEayXM1tBi5Ze/lbIyiNgU3qyXUOf9b2rgXYyF9Dy9Cx+IQv/Lc8WCG6L82zwUPpSS9hGehIg== + dependencies: + call-bind "^1.0.2" + define-properties "^1.2.0" + es-abstract "^1.22.1" + functions-have-names "^1.2.3" + +functions-have-names@^1.2.3: + version "1.2.3" + resolved "https://registry.yarnpkg.com/functions-have-names/-/functions-have-names-1.2.3.tgz#0404fe4ee2ba2f607f0e0ec3c80bae994133b834" + integrity sha512-xckBUXyTIqT97tq2x2AMb+g163b5JFysYk0x4qxNFwbfQkmNZoiRHb6sPzI9/QV33WeuvVYBUIiD4NzNIyqaRQ== + +gensync@^1.0.0-beta.2: + version "1.0.0-beta.2" + resolved "https://registry.yarnpkg.com/gensync/-/gensync-1.0.0-beta.2.tgz#32a6ee76c3d7f52d46b2b1ae5d93fea8580a25e0" + integrity sha512-3hN7NaskYvMDLQY55gnW3NQ+mesEAepTqlg+VEbj7zzqEMBVNhzcGYYeqFo/TlYz6eQiFcp1HcsCZO+nGgS8zg== + +geotiff@^2.0.7: + version "2.1.1" + resolved "https://registry.yarnpkg.com/geotiff/-/geotiff-2.1.1.tgz#98667a2e35436d89f180e94ddb882247ffeb6d78" + integrity sha512-Ss6HQEhrlR2v0FmOGq88l0wa2oCmmGi6rXAMiUxR/T7Xe98evypEmyiji7lvVeVR/AXuxK0xDCWcwfWkSmOrAA== + dependencies: + "@petamoriken/float16" "^3.4.7" + lerc "^3.0.0" + pako "^2.0.4" + parse-headers "^2.0.2" + quick-lru "^6.1.1" + web-worker "^1.2.0" + xml-utils "^1.0.2" + zstddec "^0.1.0" + +get-caller-file@^2.0.5: + version "2.0.5" + resolved "https://registry.yarnpkg.com/get-caller-file/-/get-caller-file-2.0.5.tgz#4f94412a82db32f36e3b0b9741f8a97feb031f7e" + integrity sha512-DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg== + +get-document@1: + version "1.0.0" + resolved "https://registry.yarnpkg.com/get-document/-/get-document-1.0.0.tgz#4821bce66f1c24cb0331602be6cb6b12c4f01c4b" + integrity sha512-8E7H2Xxibav+/rQTTtm6gFlSQwDoAQg667yheA+vWQr/amxEuswChzGo4MIbOJJoR0SMpDyhbUqWp3FpIfwD9A== + +get-intrinsic@^1.0.2, get-intrinsic@^1.1.1, get-intrinsic@^1.1.3, get-intrinsic@^1.2.0, get-intrinsic@^1.2.1, get-intrinsic@^1.2.2: + version "1.2.2" + resolved "https://registry.yarnpkg.com/get-intrinsic/-/get-intrinsic-1.2.2.tgz#281b7622971123e1ef4b3c90fd7539306da93f3b" + integrity sha512-0gSo4ml/0j98Y3lngkFEot/zhiCeWsbYIlZ+uZOVgzLyLaUw7wxUL+nCTP0XJvJg1AXulJRI3UJi8GsbDuxdGA== + dependencies: + function-bind "^1.1.2" + has-proto "^1.0.1" + has-symbols "^1.0.3" + hasown "^2.0.0" + +get-package-type@^0.1.0: + version "0.1.0" + resolved "https://registry.yarnpkg.com/get-package-type/-/get-package-type-0.1.0.tgz#8de2d803cff44df3bc6c456e6668b36c3926e11a" + integrity sha512-pjzuKtY64GYfWizNAJ0fr9VqttZkNiK2iS430LtIHzjBEr6bX8Am2zm4sW4Ro5wjWW5cAlRL1qAMTcXbjNAO2Q== + +get-stream@^5.0.0, get-stream@^5.1.0: + version "5.2.0" + resolved "https://registry.yarnpkg.com/get-stream/-/get-stream-5.2.0.tgz#4966a1795ee5ace65e706c4b7beb71257d6e22d3" + integrity sha512-nBF+F1rAZVCu/p7rjzgA+Yb4lfYXrpl7a6VmJrU8wF9I1CKvP/QwPNZHnOlwbTkY6dvtFIzFMSyQXbLoTQPRpA== + dependencies: + pump "^3.0.0" + +get-stream@^6.0.0: + version "6.0.1" + resolved "https://registry.yarnpkg.com/get-stream/-/get-stream-6.0.1.tgz#a262d8eef67aced57c2852ad6167526a43cbf7b7" + integrity sha512-ts6Wi+2j3jQjqi70w5AlN8DFnkSwC+MqmxEzdEALB2qXZYV3X/b1CTfgPLGJNMeAWxdPfU8FO1ms3NUfaHCPYg== + +get-symbol-description@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/get-symbol-description/-/get-symbol-description-1.0.0.tgz#7fdb81c900101fbd564dd5f1a30af5aadc1e58d6" + integrity sha512-2EmdH1YvIQiZpltCNgkuiUnyukzxM/R6NDJX31Ke3BG1Nq5b0S2PhX59UKi9vZpPDQVdqn+1IcaAwnzTT5vCjw== + dependencies: + call-bind "^1.0.2" + get-intrinsic "^1.1.1" + +get-user-locale@^1.2.0: + version "1.5.1" + resolved "https://registry.yarnpkg.com/get-user-locale/-/get-user-locale-1.5.1.tgz#18a9ba2cfeed0e713ea00968efa75d620523a5ea" + integrity sha512-WiNpoFRcHn1qxP9VabQljzGwkAQDrcpqUtaP0rNBEkFxJdh4f3tik6MfZsMYZc+UgQJdGCxWEjL9wnCUlRQXag== + dependencies: + lodash.memoize "^4.1.1" + +get-window@^1.1.1: + version "1.1.2" + resolved "https://registry.yarnpkg.com/get-window/-/get-window-1.1.2.tgz#65fbaa999fb87f86ea5d30770f4097707044f47f" + integrity sha512-yjWpFcy9fjhLQHW1dPtg9ga4pmizLY8y4ZSHdGrAQ1NU277MRhnGnnLPxe19X8W5lWVsCZz++5xEuNozWMVmTw== + dependencies: + get-document "1" + +getos@^3.2.1: + version "3.2.1" + resolved "https://registry.yarnpkg.com/getos/-/getos-3.2.1.tgz#0134d1f4e00eb46144c5a9c0ac4dc087cbb27dc5" + integrity sha512-U56CfOK17OKgTVqozZjUKNdkfEv6jk5WISBJ8SHoagjE6L69zOwl3Z+O8myjY9MEW3i2HPWQBt/LTbCgcC973Q== + dependencies: + async "^3.2.0" + +getpass@^0.1.1: + version "0.1.7" + resolved "https://registry.yarnpkg.com/getpass/-/getpass-0.1.7.tgz#5eff8e3e684d569ae4cb2b1282604e8ba62149fa" + integrity sha512-0fzj9JxOLfJ+XGLhR8ze3unN0KZCgZwiSSDz168VERjK8Wl8kVSdcu2kspd4s4wtAa1y/qrVRiAA0WclVsu0ng== + dependencies: + assert-plus "^1.0.0" + +glob-parent@^5.1.2, glob-parent@~5.1.2: + version "5.1.2" + resolved "https://registry.yarnpkg.com/glob-parent/-/glob-parent-5.1.2.tgz#869832c58034fe68a4093c17dc15e8340d8401c4" + integrity sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow== + dependencies: + is-glob "^4.0.1" + +glob-parent@^6.0.1, glob-parent@^6.0.2: + version "6.0.2" + resolved "https://registry.yarnpkg.com/glob-parent/-/glob-parent-6.0.2.tgz#6d237d99083950c79290f24c7642a3de9a28f9e3" + integrity sha512-XxwI8EOhVQgWp6iDL+3b0r86f4d6AX6zSU55HfB4ydCEuXLXc5FcYeOu+nnGftS4TEju/11rt4KJPTMgbfmv4A== + dependencies: + is-glob "^4.0.3" + +glob-to-regexp@^0.4.1: + version "0.4.1" + resolved "https://registry.yarnpkg.com/glob-to-regexp/-/glob-to-regexp-0.4.1.tgz#c75297087c851b9a578bd217dd59a92f59fe546e" + integrity sha512-lkX1HJXwyMcprw/5YUZc2s7DrpAiHB21/V+E1rHUrVNokkvB6bqMzT0VfV6/86ZNabt1k14YOIaT7nDvOX3Iiw== + +glob@7.2.0: + version "7.2.0" + resolved "https://registry.yarnpkg.com/glob/-/glob-7.2.0.tgz#d15535af7732e02e948f4c41628bd910293f6023" + integrity sha512-lmLf6gtyrPq8tTjSmrO94wBeQbFR3HbLHbuyD69wuyQkImp2hWqMGB47OX65FBkPffO641IP9jWa1z4ivqG26Q== + dependencies: + fs.realpath "^1.0.0" + inflight "^1.0.4" + inherits "2" + minimatch "^3.0.4" + once "^1.3.0" + path-is-absolute "^1.0.0" + +glob@^10.2.7: + version "10.3.10" + resolved "https://registry.yarnpkg.com/glob/-/glob-10.3.10.tgz#0351ebb809fd187fe421ab96af83d3a70715df4b" + integrity sha512-fa46+tv1Ak0UPK1TOy/pZrIybNNt4HCv7SDzwyfiOZkvZLEbjsZkJBPtDHVshZjbecAoAGSC20MjLDG/qr679g== + dependencies: + foreground-child "^3.1.0" + jackspeak "^2.3.5" + minimatch "^9.0.1" + minipass "^5.0.0 || ^6.0.2 || ^7.0.0" + path-scurry "^1.10.1" + +glob@^7.1.3, glob@^7.1.4: + version "7.2.3" + resolved "https://registry.yarnpkg.com/glob/-/glob-7.2.3.tgz#b8df0fb802bbfa8e89bd1d938b4e16578ed44f2b" + integrity sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q== + dependencies: + fs.realpath "^1.0.0" + inflight "^1.0.4" + inherits "2" + minimatch "^3.1.1" + once "^1.3.0" + path-is-absolute "^1.0.0" + +glob@^9.2.0: + version "9.3.5" + resolved "https://registry.yarnpkg.com/glob/-/glob-9.3.5.tgz#ca2ed8ca452781a3009685607fdf025a899dfe21" + integrity sha512-e1LleDykUz2Iu+MTYdkSsuWX8lvAjAcs0Xef0lNIu0S2wOAzuTxCJtcd9S3cijlwYF18EsU3rzb8jPVobxDh9Q== + dependencies: + fs.realpath "^1.0.0" + minimatch "^8.0.2" + minipass "^4.2.4" + path-scurry "^1.6.1" + +global-dirs@^3.0.0: + version "3.0.1" + resolved "https://registry.yarnpkg.com/global-dirs/-/global-dirs-3.0.1.tgz#0c488971f066baceda21447aecb1a8b911d22485" + integrity sha512-NBcGGFbBA9s1VzD41QXDG+3++t9Mn5t1FpLdhESY6oKY4gYTFpX4wO3sqGUa0Srjtbfj3szX0RnemmrVRUdULA== + dependencies: + ini "2.0.0" + +globals@^11.1.0: + version "11.12.0" + resolved "https://registry.yarnpkg.com/globals/-/globals-11.12.0.tgz#ab8795338868a0babd8525758018c2a7eb95c42e" + integrity sha512-WOBp/EEGUiIsJSp7wcv/y6MO+lV9UoncWqxuFfm8eBwzWNgyfBd6Gz+IeKQ9jCmyhoH99g15M3T+QaVHFjizVA== + +globals@^13.19.0: + version "13.24.0" + resolved "https://registry.yarnpkg.com/globals/-/globals-13.24.0.tgz#8432a19d78ce0c1e833949c36adb345400bb1171" + integrity sha512-AhO5QUcj8llrbG09iWhPU2B204J1xnPeL8kQmVorSsy+Sjj1sk8gIyh6cUocGmH4L0UuhAJy+hJMRA4mgA4mFQ== + dependencies: + type-fest "^0.20.2" + +globalthis@^1.0.3: + version "1.0.3" + resolved "https://registry.yarnpkg.com/globalthis/-/globalthis-1.0.3.tgz#5852882a52b80dc301b0660273e1ed082f0b6ccf" + integrity sha512-sFdI5LyBiNTHjRd7cGPWapiHWMOXKyuBNX/cWJ3NfzrZQVa8GI/8cofCl74AOVqq9W5kNmguTIzJ/1s2gyI9wA== + dependencies: + define-properties "^1.1.3" + +globby@^11.1.0: + version "11.1.0" + resolved "https://registry.yarnpkg.com/globby/-/globby-11.1.0.tgz#bd4be98bb042f83d796f7e3811991fbe82a0d34b" + integrity sha512-jhIXaOzy1sb8IyocaruWSn1TjmnBVs8Ayhcy83rmxNJ8q2uWKCAj3CnJY+KpGSXCueAPc0i05kVvVKtP1t9S3g== + dependencies: + array-union "^2.1.0" + dir-glob "^3.0.1" + fast-glob "^3.2.9" + ignore "^5.2.0" + merge2 "^1.4.1" + slash "^3.0.0" + +globby@^13.1.1: + version "13.2.2" + resolved "https://registry.yarnpkg.com/globby/-/globby-13.2.2.tgz#63b90b1bf68619c2135475cbd4e71e66aa090592" + integrity sha512-Y1zNGV+pzQdh7H39l9zgB4PJqjRNqydvdYCDG4HFXM4XuvSaQQlEc91IU1yALL8gUTDomgBAfz3XJdmUS+oo0w== + dependencies: + dir-glob "^3.0.1" + fast-glob "^3.3.0" + ignore "^5.2.4" + merge2 "^1.4.1" + slash "^4.0.0" + +globby@^14.0.0: + version "14.0.0" + resolved "https://registry.yarnpkg.com/globby/-/globby-14.0.0.tgz#ea9c062a3614e33f516804e778590fcf055256b9" + integrity sha512-/1WM/LNHRAOH9lZta77uGbq0dAEQM+XjNesWwhlERDVenqothRbnzTrL3/LrIoEPPjeUHC3vrS6TwoyxeHs7MQ== + dependencies: + "@sindresorhus/merge-streams" "^1.0.0" + fast-glob "^3.3.2" + ignore "^5.2.4" + path-type "^5.0.0" + slash "^5.1.0" + unicorn-magic "^0.1.0" + +gopd@^1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/gopd/-/gopd-1.0.1.tgz#29ff76de69dac7489b7c0918a5788e56477c332c" + integrity sha512-d65bNlIadxvpb/A2abVdlqKqV563juRnZ1Wtk6s1sIR8uNsXR70xqIzVqxVf1eTqDunwT2MkczEeaezCKTZhwA== + dependencies: + get-intrinsic "^1.1.3" + +graceful-fs@^4.1.2, graceful-fs@^4.1.6, graceful-fs@^4.2.0, graceful-fs@^4.2.4, graceful-fs@^4.2.9: + version "4.2.11" + resolved "https://registry.yarnpkg.com/graceful-fs/-/graceful-fs-4.2.11.tgz#4183e4e8bf08bb6e05bbb2f7d2e0c8f712ca40e3" + integrity sha512-RbJ5/jmFcNNCcDV5o9eTnBLJ/HszWV0P73bc+Ff4nS/rJj+YaS6IGyiOL0VoBYX+l1Wrl3k63h/KrH+nhJ0XvQ== + +grapheme-splitter@^1.0.4: + version "1.0.4" + resolved "https://registry.yarnpkg.com/grapheme-splitter/-/grapheme-splitter-1.0.4.tgz#9cf3a665c6247479896834af35cf1dbb4400767e" + integrity sha512-bzh50DW9kTPM00T8y4o8vQg89Di9oLJVLW/KaOGIXJWP/iqCN6WKYkbNOF04vFLJhwcpYUh9ydh/+5vpOqV4YQ== + +graphemer@^1.4.0: + version "1.4.0" + resolved "https://registry.yarnpkg.com/graphemer/-/graphemer-1.4.0.tgz#fb2f1d55e0e3a1849aeffc90c4fa0dd53a0e66c6" + integrity sha512-EtKwoO6kxCL9WO5xipiHTZlSzBm7WLT627TqC/uVRd0HKmq8NXyebnNYxDoBi7wt8eTWrUrKXCOVaFq9x1kgag== + +har-schema@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/har-schema/-/har-schema-2.0.0.tgz#a94c2224ebcac04782a0d9035521f24735b7ec92" + integrity sha512-Oqluz6zhGX8cyRaTQlFMPw80bSJVG2x/cFb8ZPhUILGgHka9SsokCCOQgpveePerqidZOrT14ipqfJb7ILcW5Q== + +har-validator@~5.1.3: + version "5.1.5" + resolved "https://registry.yarnpkg.com/har-validator/-/har-validator-5.1.5.tgz#1f0803b9f8cb20c0fa13822df1ecddb36bde1efd" + integrity sha512-nmT2T0lljbxdQZfspsno9hgrG3Uir6Ks5afism62poxqBM6sDnMEuPmzTq8XN0OEwqKLLdh1jQI3qyE66Nzb3w== + dependencies: + ajv "^6.12.3" + har-schema "^2.0.0" + +harmony-reflect@^1.4.6: + version "1.6.2" + resolved "https://registry.yarnpkg.com/harmony-reflect/-/harmony-reflect-1.6.2.tgz#31ecbd32e648a34d030d86adb67d4d47547fe710" + integrity sha512-HIp/n38R9kQjDEziXyDTuW3vvoxxyxjxFzXLrBr18uB47GnSt+G9D29fqrpM5ZkspMcPICud3XsBJQ4Y2URg8g== + +has-bigints@^1.0.1, has-bigints@^1.0.2: + version "1.0.2" + resolved "https://registry.yarnpkg.com/has-bigints/-/has-bigints-1.0.2.tgz#0871bd3e3d51626f6ca0966668ba35d5602d6eaa" + integrity sha512-tSvCKtBr9lkF0Ex0aQiP9N+OpV4zi2r/Nee5VkRDbaqv35RLYMzbwQfFSZZH0kR+Rd6302UJZ2p/bJCEoR3VoQ== + +has-flag@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/has-flag/-/has-flag-3.0.0.tgz#b5d454dc2199ae225699f3467e5a07f3b955bafd" + integrity sha512-sKJf1+ceQBr4SMkvQnBDNDtf4TXpVhVGateu0t918bl30FnbE2m4vNLX+VWe/dpjlb+HugGYzW7uQXH98HPEYw== + +has-flag@^4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/has-flag/-/has-flag-4.0.0.tgz#944771fd9c81c81265c4d6941860da06bb59479b" + integrity sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ== + +has-property-descriptors@^1.0.0, has-property-descriptors@^1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/has-property-descriptors/-/has-property-descriptors-1.0.1.tgz#52ba30b6c5ec87fd89fa574bc1c39125c6f65340" + integrity sha512-VsX8eaIewvas0xnvinAe9bw4WfIeODpGYikiWYLH+dma0Jw6KHYqWiWfhQlgOVK8D6PvjubK5Uc4P0iIhIcNVg== + dependencies: + get-intrinsic "^1.2.2" + +has-proto@^1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/has-proto/-/has-proto-1.0.1.tgz#1885c1305538958aff469fef37937c22795408e0" + integrity sha512-7qE+iP+O+bgF9clE5+UoBFzE65mlBiVj3tKCrlNQ0Ogwm0BjpT/gK4SlLYDMybDh5I3TCTKnPPa0oMG7JDYrhg== + +has-symbols@^1.0.2, has-symbols@^1.0.3: + version "1.0.3" + resolved "https://registry.yarnpkg.com/has-symbols/-/has-symbols-1.0.3.tgz#bb7b2c4349251dce87b125f7bdf874aa7c8b39f8" + integrity sha512-l3LCuF6MgDNwTDKkdYGEihYjt5pRPbEg46rtlmnSPlUbgmB8LOIrKJbYYFBSbnPaJexMKtiPO8hmeRjRz2Td+A== + +has-tostringtag@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/has-tostringtag/-/has-tostringtag-1.0.0.tgz#7e133818a7d394734f941e73c3d3f9291e658b25" + integrity sha512-kFjcSNhnlGV1kyoGk7OXKSawH5JOb/LzUc5w9B02hOTO0dfFRjbHQKvg1d6cf3HbeUmtU9VbbV3qzZ2Teh97WQ== + dependencies: + has-symbols "^1.0.2" + +hasown@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/hasown/-/hasown-2.0.0.tgz#f4c513d454a57b7c7e1650778de226b11700546c" + integrity sha512-vUptKVTpIJhcczKBbgnS+RtcuYMB8+oNzPK2/Hp3hanz8JmpATdmmgLgSaadVREkDm+e2giHwY3ZRkyjSIDDFA== + dependencies: + function-bind "^1.1.2" + +he@1.2.0: + version "1.2.0" + resolved "https://registry.yarnpkg.com/he/-/he-1.2.0.tgz#84ae65fa7eafb165fddb61566ae14baf05664f0f" + integrity sha512-F/1DnUGPopORZi0ni+CvrCgHQ5FyEAHRLSApuYWMmrbSwoN2Mn/7k+Gl38gJnR7yyDZk6WLXwiGod1JOWNDKGw== + +highlight-words-core@^1.2.0: + version "1.2.2" + resolved "https://registry.yarnpkg.com/highlight-words-core/-/highlight-words-core-1.2.2.tgz#1eff6d7d9f0a22f155042a00791237791b1eeaaa" + integrity sha512-BXUKIkUuh6cmmxzi5OIbUJxrG8OAk2MqoL1DtO3Wo9D2faJg2ph5ntyuQeLqaHJmzER6H5tllCDA9ZnNe9BVGg== + +history@4.10.1, history@^4.9.0: + version "4.10.1" + resolved "https://registry.yarnpkg.com/history/-/history-4.10.1.tgz#33371a65e3a83b267434e2b3f3b1b4c58aad4cf3" + integrity sha512-36nwAD620w12kuzPAsyINPWJqlNbij+hpK1k9XRloDtym8mxzGYl2c17LnV6IAGB2Dmg4tEa7G7DlawS0+qjew== + dependencies: + "@babel/runtime" "^7.1.2" + loose-envify "^1.2.0" + resolve-pathname "^3.0.0" + tiny-invariant "^1.0.2" + tiny-warning "^1.0.0" + value-equal "^1.0.1" + +hoist-non-react-statics@3.3.2, hoist-non-react-statics@^3.1.0, hoist-non-react-statics@^3.3.0, hoist-non-react-statics@^3.3.1, hoist-non-react-statics@^3.3.2: + version "3.3.2" + resolved "https://registry.yarnpkg.com/hoist-non-react-statics/-/hoist-non-react-statics-3.3.2.tgz#ece0acaf71d62c2969c2ec59feff42a4b1a85b45" + integrity sha512-/gGivxi8JPKWNm/W0jSmzcMPpfpPLc3dY/6GxhX2hQ9iGj3aDfklV4ET7NjKpSinLpJ5vafa9iiGIEZg10SfBw== + dependencies: + react-is "^16.7.0" + +html-encoding-sniffer@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/html-encoding-sniffer/-/html-encoding-sniffer-3.0.0.tgz#2cb1a8cf0db52414776e5b2a7a04d5dd98158de9" + integrity sha512-oWv4T4yJ52iKrufjnyZPkrN0CH3QnrUqdB6In1g5Fe1mia8GmF36gnfNySxoZtxD5+NmYw1EElVXiBk93UeskA== + dependencies: + whatwg-encoding "^2.0.0" + +html-escaper@^2.0.0: + version "2.0.2" + resolved "https://registry.yarnpkg.com/html-escaper/-/html-escaper-2.0.2.tgz#dfd60027da36a36dfcbe236262c00a5822681453" + integrity sha512-H2iMtd0I4Mt5eYiapRdIDjp+XzelXQ0tFE4JS7YFwFevXXMmOp9myNrUvCg0D6ws8iqkRPBfKHgbwig1SmlLfg== + +html-parse-stringify@^3.0.1: + version "3.0.1" + resolved "https://registry.yarnpkg.com/html-parse-stringify/-/html-parse-stringify-3.0.1.tgz#dfc1017347ce9f77c8141a507f233040c59c55d2" + integrity sha512-KknJ50kTInJ7qIScF3jeaFRpMpE8/lfiTdzf/twXyPBLAGrLRTmkz3AdTnKeh40X8k9L2fdYwEp/42WGXIRGcg== + dependencies: + void-elements "3.1.0" + +http-parser-js@>=0.5.1: + version "0.5.8" + resolved "https://registry.yarnpkg.com/http-parser-js/-/http-parser-js-0.5.8.tgz#af23090d9ac4e24573de6f6aecc9d84a48bf20e3" + integrity sha512-SGeBX54F94Wgu5RH3X5jsDtf4eHyRogWX1XGT3b4HuW3tQPM4AaBzoUji/4AAJNXCEOWZ5O0DgZmJw1947gD5Q== + +http-proxy-agent@^5.0.0: + version "5.0.0" + resolved "https://registry.yarnpkg.com/http-proxy-agent/-/http-proxy-agent-5.0.0.tgz#5129800203520d434f142bc78ff3c170800f2b43" + integrity sha512-n2hY8YdoRE1i7r6M0w9DIw5GgZN0G25P8zLCRQ8rjXtTU3vsNFBI/vWK/UIeE6g5MUUz6avwAPXmL6Fy9D/90w== + dependencies: + "@tootallnate/once" "2" + agent-base "6" + debug "4" + +http-signature@~1.2.0: + version "1.2.0" + resolved "https://registry.yarnpkg.com/http-signature/-/http-signature-1.2.0.tgz#9aecd925114772f3d95b65a60abb8f7c18fbace1" + integrity sha512-CAbnr6Rz4CYQkLYUtSNXxQPUH2gK8f3iWexVlsnMeD+GjlsQ0Xsy1cOX+mN3dtxYomRy21CiOzU8Uhw6OwncEQ== + dependencies: + assert-plus "^1.0.0" + jsprim "^1.2.2" + sshpk "^1.7.0" + +http-signature@~1.3.6: + version "1.3.6" + resolved "https://registry.yarnpkg.com/http-signature/-/http-signature-1.3.6.tgz#cb6fbfdf86d1c974f343be94e87f7fc128662cf9" + integrity sha512-3adrsD6zqo4GsTqtO7FyrejHNv+NgiIfAfv68+jVlFmSr9OGy7zrxONceFRLKvnnZA5jbxQBX1u9PpB6Wi32Gw== + dependencies: + assert-plus "^1.0.0" + jsprim "^2.0.2" + sshpk "^1.14.1" + +https-proxy-agent@^5.0.1: + version "5.0.1" + resolved "https://registry.yarnpkg.com/https-proxy-agent/-/https-proxy-agent-5.0.1.tgz#c59ef224a04fe8b754f3db0063a25ea30d0005d6" + integrity sha512-dFcAjpTQFgoLMzC2VwU+C/CbS7uRL0lWmxDITmqm7C+7F0Odmj6s9l6alZc6AELXhrnggM2CeWSXHGOdX2YtwA== + dependencies: + agent-base "6" + debug "4" + +human-signals@^1.1.1: + version "1.1.1" + resolved "https://registry.yarnpkg.com/human-signals/-/human-signals-1.1.1.tgz#c5b1cd14f50aeae09ab6c59fe63ba3395fe4dfa3" + integrity sha512-SEQu7vl8KjNL2eoGBLF3+wAjpsNfA9XMlXAYj/3EdaNfAlxKthD1xjEQfGOUhllCGGJVNY34bRr6lPINhNjyZw== + +human-signals@^2.1.0: + version "2.1.0" + resolved "https://registry.yarnpkg.com/human-signals/-/human-signals-2.1.0.tgz#dc91fcba42e4d06e4abaed33b3e7a3c02f514ea0" + integrity sha512-B4FFZ6q/T2jhhksgkbEW3HBvWIfDW85snkQgawt07S7J5QXTk6BkNV+0yAeZrM5QpMAdYlocGoljn0sJ/WQkFw== + +hyphenate-style-name@^1.0.3: + version "1.0.4" + resolved "https://registry.yarnpkg.com/hyphenate-style-name/-/hyphenate-style-name-1.0.4.tgz#691879af8e220aea5750e8827db4ef62a54e361d" + integrity sha512-ygGZLjmXfPHj+ZWh6LwbC37l43MhfztxetbFCoYTM2VjkIUpeHgSNn7QIyVFj7YQ1Wl9Cbw5sholVJPzWvC2MQ== + +i18next@^22.0.0: + version "22.5.1" + resolved "https://registry.yarnpkg.com/i18next/-/i18next-22.5.1.tgz#99df0b318741a506000c243429a7352e5f44d424" + integrity sha512-8TGPgM3pAD+VRsMtUMNknRz3kzqwp/gPALrWMsDnmC1mKqJwpWyooQRLMcbTwq8z8YwSmuj+ZYvc+xCuEpkssA== + dependencies: + "@babel/runtime" "^7.20.6" + +iconv-lite@0.6, iconv-lite@0.6.3: + version "0.6.3" + resolved "https://registry.yarnpkg.com/iconv-lite/-/iconv-lite-0.6.3.tgz#a52f80bf38da1952eb5c681790719871a1a72501" + integrity sha512-4fCk79wshMdzMp2rH06qWrJE4iolqLhCUH+OiuIgU++RB0+94NlDL81atO7GX55uUKueo0txHNtvEyI6D7WdMw== + dependencies: + safer-buffer ">= 2.1.2 < 3.0.0" + +iconv-lite@^0.4.8: + version "0.4.24" + resolved "https://registry.yarnpkg.com/iconv-lite/-/iconv-lite-0.4.24.tgz#2022b4b25fbddc21d2f524974a474aafe733908b" + integrity sha512-v3MXnZAcvnywkTUEZomIActle7RXXeedOR31wwl7VlyoXO4Qi9arvSenNQWne1TcRwhCL1HwLI21bEqdpj8/rA== + dependencies: + safer-buffer ">= 2.1.2 < 3" + +icss-utils@^5.0.0, icss-utils@^5.1.0: + version "5.1.0" + resolved "https://registry.yarnpkg.com/icss-utils/-/icss-utils-5.1.0.tgz#c6be6858abd013d768e98366ae47e25d5887b1ae" + integrity sha512-soFhflCVWLfRNOPU3iv5Z9VUdT44xFRbzjLsEzSr5AQmgqPMTHdU3PMT1Cf1ssx8fLNJDA1juftYl+PUcv3MqA== + +identity-obj-proxy@3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/identity-obj-proxy/-/identity-obj-proxy-3.0.0.tgz#94d2bda96084453ef36fbc5aaec37e0f79f1fc14" + integrity sha512-00n6YnVHKrinT9t0d9+5yZC6UBNJANpYEQvL2LlX6Ab9lnmxzIRcEmTPuyGScvl1+jKuCICX1Z0Ab1pPKKdikA== + dependencies: + harmony-reflect "^1.4.6" + +ieee754@^1.1.12, ieee754@^1.1.13: + version "1.2.1" + resolved "https://registry.yarnpkg.com/ieee754/-/ieee754-1.2.1.tgz#8eb7a10a63fff25d15a57b001586d177d1b0d352" + integrity sha512-dcyqhDvX1C46lXZcVqCpK+FtMRQVdIMN6/Df5js2zouUsqG7I6sFxitIC+7KYK29KdXOLHdu9zL4sFnoVQnqaA== + +ignore@^5.2.0, ignore@^5.2.4: + version "5.3.0" + resolved "https://registry.yarnpkg.com/ignore/-/ignore-5.3.0.tgz#67418ae40d34d6999c95ff56016759c718c82f78" + integrity sha512-g7dmpshy+gD7mh88OC9NwSGTKoc3kyLAZQRU1mt53Aw/vnvfXnbC+F/7F7QoYVKbV+KNvJx8wArewKy1vXMtlg== + +immutable@4.2.4: + version "4.2.4" + resolved "https://registry.yarnpkg.com/immutable/-/immutable-4.2.4.tgz#83260d50889526b4b531a5e293709a77f7c55a2a" + integrity sha512-WDxL3Hheb1JkRN3sQkyujNlL/xRjAo3rJtaU5xeufUauG66JdMr32bLj4gF+vWl84DIA3Zxw7tiAjneYzRRw+w== + +immutable@^4.0.0: + version "4.3.4" + resolved "https://registry.yarnpkg.com/immutable/-/immutable-4.3.4.tgz#2e07b33837b4bb7662f288c244d1ced1ef65a78f" + integrity sha512-fsXeu4J4i6WNWSikpI88v/PcVflZz+6kMhUfIwc5SY+poQRPnaf5V7qds6SUyUN3cVxEzuCab7QIoLOQ+DQ1wA== + +import-fresh@^3.0.0, import-fresh@^3.2.1: + version "3.3.0" + resolved "https://registry.yarnpkg.com/import-fresh/-/import-fresh-3.3.0.tgz#37162c25fcb9ebaa2e6e53d5b4d88ce17d9e0c2b" + integrity sha512-veYYhQa+D1QBKznvhUHxb8faxlrwUnxseDAbAp457E0wLNio2bOSKnjYDhMj+YiAq61xrMGhQk9iXVk5FzgQMw== + dependencies: + parent-module "^1.0.0" + resolve-from "^4.0.0" + +import-local@^3.0.2: + version "3.1.0" + resolved "https://registry.yarnpkg.com/import-local/-/import-local-3.1.0.tgz#b4479df8a5fd44f6cdce24070675676063c95cb4" + integrity sha512-ASB07uLtnDs1o6EHjKpX34BKYDSqnFerfTOJL2HvMqF70LnxpjkzDB8J44oT9pu4AMPkQwf8jl6szgvNd2tRIg== + dependencies: + pkg-dir "^4.2.0" + resolve-cwd "^3.0.0" + +imurmurhash@^0.1.4: + version "0.1.4" + resolved "https://registry.yarnpkg.com/imurmurhash/-/imurmurhash-0.1.4.tgz#9218b9b2b928a238b13dc4fb6b6d576f231453ea" + integrity sha512-JmXMZ6wuvDmLiHEml9ykzqO6lwFbof0GG4IkcGaENdCRDDmMVnny7s5HsIgHCbaq0w2MyPhDqkhTUgS2LU2PHA== + +indent-string@^4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/indent-string/-/indent-string-4.0.0.tgz#624f8f4497d619b2d9768531d58f4122854d7251" + integrity sha512-EdDDZu4A2OyIK7Lr/2zG+w5jmbuk1DVBnEwREQvBzspBJkCEbRa8GxU1lghYcaGJCnRWibjDXlq779X1/y5xwg== + +inflight@^1.0.4: + version "1.0.6" + resolved "https://registry.yarnpkg.com/inflight/-/inflight-1.0.6.tgz#49bd6331d7d02d0c09bc910a1075ba8165b56df9" + integrity sha512-k92I/b08q4wvFscXCLvqfsHCrjrF7yiXsQuIVvVE7N82W3+aqpzuUdBbfhWcy/FZR3/4IgflMgKLOsvPDrGCJA== + dependencies: + once "^1.3.0" + wrappy "1" + +inherits@2, inherits@~2.0.1, inherits@~2.0.3: + version "2.0.4" + resolved "https://registry.yarnpkg.com/inherits/-/inherits-2.0.4.tgz#0fa2c64f932917c3433a0ded55363aae37416b7c" + integrity sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ== + +ini@2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/ini/-/ini-2.0.0.tgz#e5fd556ecdd5726be978fa1001862eacb0a94bc5" + integrity sha512-7PnF4oN3CvZF23ADhA5wRaYEQpJ8qygSkbtTXWBeXWXmEVRXK+1ITciHWwHhsjv1TmW0MgacIv6hEi5pX5NQdA== + +inline-style-prefixer@^7.0.0: + version "7.0.0" + resolved "https://registry.yarnpkg.com/inline-style-prefixer/-/inline-style-prefixer-7.0.0.tgz#991d550735d42069f528ac1bcdacd378d1305442" + integrity sha512-I7GEdScunP1dQ6IM2mQWh6v0mOYdYmH3Bp31UecKdrcUgcURTcctSe1IECdUznSHKSmsHtjrT3CwCPI1pyxfUQ== + dependencies: + css-in-js-utils "^3.1.0" + fast-loops "^1.1.3" + +internal-slot@^1.0.4, internal-slot@^1.0.5: + version "1.0.6" + resolved "https://registry.yarnpkg.com/internal-slot/-/internal-slot-1.0.6.tgz#37e756098c4911c5e912b8edbf71ed3aa116f930" + integrity sha512-Xj6dv+PsbtwyPpEflsejS+oIZxmMlV44zAhG479uYu89MsjcYOhCFnNyKrkJrihbsiasQyY0afoCl/9BLR65bg== + dependencies: + get-intrinsic "^1.2.2" + hasown "^2.0.0" + side-channel "^1.0.4" + +"internmap@1 - 2": + version "2.0.3" + resolved "https://registry.yarnpkg.com/internmap/-/internmap-2.0.3.tgz#6685f23755e43c524e251d29cbc97248e3061009" + integrity sha512-5Hh7Y1wQbvY5ooGgPbDaL5iYLAPzMTUrjMulskHLH6wnv/A+1q5rgEaiuqEjB+oxGXIVZs1FF+R/KPN3ZSQYYg== + +interpret@^3.1.1: + version "3.1.1" + resolved "https://registry.yarnpkg.com/interpret/-/interpret-3.1.1.tgz#5be0ceed67ca79c6c4bc5cf0d7ee843dcea110c4" + integrity sha512-6xwYfHbajpoF0xLW+iwLkhwgvLoZDfjYfoFNu8ftMoXINzwuymNLd9u/KmwtdT2GbR+/Cz66otEGEVVUHX9QLQ== + +intl-messageformat@^10.1.0: + version "10.5.10" + resolved "https://registry.yarnpkg.com/intl-messageformat/-/intl-messageformat-10.5.10.tgz#638b7a9a4926a04f784dfe6e77104a0c537deb36" + integrity sha512-3yzwX6t/my9WRtNiqP05r+/UkpWxwstQiwaHAiuHmDRt7ykzWJ+nceOVjNLZYYWGiSltY+C+Likd8OIVkASepw== + dependencies: + "@formatjs/ecma402-abstract" "1.18.2" + "@formatjs/fast-memoize" "2.2.0" + "@formatjs/icu-messageformat-parser" "2.7.5" + tslib "^2.4.0" + +invariant@^2.2.2: + version "2.2.4" + resolved "https://registry.yarnpkg.com/invariant/-/invariant-2.2.4.tgz#610f3c92c9359ce1db616e538008d23ff35158e6" + integrity sha512-phJfQVBuaJM5raOpJjSfkiD6BpbCE4Ns//LaXl6wGYtUBY83nWS6Rf9tXm2e8VaK60JEjYldbPif/A2B1C2gNA== + dependencies: + loose-envify "^1.0.0" + +is-arguments@^1.1.1: + version "1.1.1" + resolved "https://registry.yarnpkg.com/is-arguments/-/is-arguments-1.1.1.tgz#15b3f88fda01f2a97fec84ca761a560f123efa9b" + integrity sha512-8Q7EARjzEnKpt/PCD7e1cgUS0a6X8u5tdSiMqXhojOdoV9TsMsiO+9VLC5vAmO8N7/GmXn7yjR8qnA6bVAEzfA== + dependencies: + call-bind "^1.0.2" + has-tostringtag "^1.0.0" + +is-array-buffer@^3.0.1, is-array-buffer@^3.0.2: + version "3.0.2" + resolved "https://registry.yarnpkg.com/is-array-buffer/-/is-array-buffer-3.0.2.tgz#f2653ced8412081638ecb0ebbd0c41c6e0aecbbe" + integrity sha512-y+FyyR/w8vfIRq4eQcM1EYgSTnmHXPqaF+IgzgraytCFq5Xh8lllDVmAZolPJiZttZLeFSINPYMaEJ7/vWUa1w== + dependencies: + call-bind "^1.0.2" + get-intrinsic "^1.2.0" + is-typed-array "^1.1.10" + +is-arrayish@^0.2.1: + version "0.2.1" + resolved "https://registry.yarnpkg.com/is-arrayish/-/is-arrayish-0.2.1.tgz#77c99840527aa8ecb1a8ba697b80645a7a926a9d" + integrity sha512-zz06S8t0ozoDXMG+ube26zeCTNXcKIPJZJi8hBrF4idCLms4CG9QtK7qBl1boi5ODzFpjswb5JPmHCbMpjaYzg== + +is-bigint@^1.0.1: + version "1.0.4" + resolved "https://registry.yarnpkg.com/is-bigint/-/is-bigint-1.0.4.tgz#08147a1875bc2b32005d41ccd8291dffc6691df3" + integrity sha512-zB9CruMamjym81i2JZ3UMn54PKGsQzsJeo6xvN3HJJ4CAsQNB6iRutp2To77OfCNuoxspsIhzaPoO1zyCEhFOg== + dependencies: + has-bigints "^1.0.1" + +is-binary-path@~2.1.0: + version "2.1.0" + resolved "https://registry.yarnpkg.com/is-binary-path/-/is-binary-path-2.1.0.tgz#ea1f7f3b80f064236e83470f86c09c254fb45b09" + integrity sha512-ZMERYes6pDydyuGidse7OsHxtbI7WVeUEozgR/g7rd0xUimYNlvZRE/K2MgZTjWy725IfelLeVcEM97mmtRGXw== + dependencies: + binary-extensions "^2.0.0" + +is-boolean-object@^1.1.0: + version "1.1.2" + resolved "https://registry.yarnpkg.com/is-boolean-object/-/is-boolean-object-1.1.2.tgz#5c6dc200246dd9321ae4b885a114bb1f75f63719" + integrity sha512-gDYaKHJmnj4aWxyj6YHyXVpdQawtVLHU5cb+eztPGczf6cjuTdwve5ZIEfgXqH4e57An1D1AKf8CZ3kYrQRqYA== + dependencies: + call-bind "^1.0.2" + has-tostringtag "^1.0.0" + +is-builtin-module@^3.2.1: + version "3.2.1" + resolved "https://registry.yarnpkg.com/is-builtin-module/-/is-builtin-module-3.2.1.tgz#f03271717d8654cfcaf07ab0463faa3571581169" + integrity sha512-BSLE3HnV2syZ0FK0iMA/yUGplUeMmNz4AW5fnTunbCIqZi4vG3WjJT9FHMy5D69xmAYBHXQhJdALdpwVxV501A== + dependencies: + builtin-modules "^3.3.0" + +is-callable@^1.1.3, is-callable@^1.1.4, is-callable@^1.2.7: + version "1.2.7" + resolved "https://registry.yarnpkg.com/is-callable/-/is-callable-1.2.7.tgz#3bc2a85ea742d9e36205dcacdd72ca1fdc51b055" + integrity sha512-1BC0BVFhS/p0qtw6enp8e+8OD0UrK0oFLztSjNzhcKA3WDuJxxAPXzPuPtKkjEY9UUoEWlX/8fgKeu2S8i9JTA== + +is-ci@^3.0.0: + version "3.0.1" + resolved "https://registry.yarnpkg.com/is-ci/-/is-ci-3.0.1.tgz#db6ecbed1bd659c43dac0f45661e7674103d1867" + integrity sha512-ZYvCgrefwqoQ6yTyYUbQu64HsITZ3NfKX1lzaEYdkTDcfKzzCI/wthRRYKkdjHKFVgNiXKAKm65Zo1pk2as/QQ== + dependencies: + ci-info "^3.2.0" + +is-core-module@^2.13.0: + version "2.13.1" + resolved "https://registry.yarnpkg.com/is-core-module/-/is-core-module-2.13.1.tgz#ad0d7532c6fea9da1ebdc82742d74525c6273384" + integrity sha512-hHrIjvZsftOsvKSn2TRYl63zvxsgE0K+0mYMoH6gD4omR5IWB2KynivBQczo3+wF1cCkjzvptnI9Q0sPU66ilw== + dependencies: + hasown "^2.0.0" + +is-date-object@^1.0.1, is-date-object@^1.0.5: + version "1.0.5" + resolved "https://registry.yarnpkg.com/is-date-object/-/is-date-object-1.0.5.tgz#0841d5536e724c25597bf6ea62e1bd38298df31f" + integrity sha512-9YQaSxsAiSwcvS33MBk3wTCVnWK+HhF8VZR2jRxehM16QcVOdHqPn4VPHmRK4lSr38n9JriurInLcP90xsYNfQ== + dependencies: + has-tostringtag "^1.0.0" + +is-extglob@^2.1.1: + version "2.1.1" + resolved "https://registry.yarnpkg.com/is-extglob/-/is-extglob-2.1.1.tgz#a88c02535791f02ed37c76a1b9ea9773c833f8c2" + integrity sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ== + +is-fullwidth-code-point@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz#f116f8064fe90b3f7844a38997c0b75051269f1d" + integrity sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg== + +is-generator-fn@^2.0.0: + version "2.1.0" + resolved "https://registry.yarnpkg.com/is-generator-fn/-/is-generator-fn-2.1.0.tgz#7d140adc389aaf3011a8f2a2a4cfa6faadffb118" + integrity sha512-cTIB4yPYL/Grw0EaSzASzg6bBy9gqCofvWN8okThAYIxKJZC+udlRAmGbM0XLeniEJSs8uEgHPGuHSe1XsOLSQ== + +is-glob@^4.0.0, is-glob@^4.0.1, is-glob@^4.0.3, is-glob@~4.0.1: + version "4.0.3" + resolved "https://registry.yarnpkg.com/is-glob/-/is-glob-4.0.3.tgz#64f61e42cbbb2eec2071a9dac0b28ba1e65d5084" + integrity sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg== + dependencies: + is-extglob "^2.1.1" + +is-hotkey@0.1.4: + version "0.1.4" + resolved "https://registry.yarnpkg.com/is-hotkey/-/is-hotkey-0.1.4.tgz#c34d2c85d6ec8d09a871dcf71931c8067a824c7d" + integrity sha512-Py+aW4r5mBBY18TGzGz286/gKS+fCQ0Hee3qkaiSmEPiD0PqFpe0wuA3l7rTOUKyeXl8Mxf3XzJxIoTlSv+kxA== + +is-hotkey@0.2.0: + version "0.2.0" + resolved "https://registry.yarnpkg.com/is-hotkey/-/is-hotkey-0.2.0.tgz#1835a68171a91e5c9460869d96336947c8340cef" + integrity sha512-UknnZK4RakDmTgz4PI1wIph5yxSs/mvChWs9ifnlXsKuXgWmOkY/hAE0H/k2MIqH0RlRye0i1oC07MCRSD28Mw== + +is-in-browser@^1.1.3: + version "1.1.3" + resolved "https://registry.yarnpkg.com/is-in-browser/-/is-in-browser-1.1.3.tgz#56ff4db683a078c6082eb95dad7dc62e1d04f835" + integrity sha512-FeXIBgG/CPGd/WUxuEyvgGTEfwiG9Z4EKGxjNMRqviiIIfsmgrpnHLffEDdwUHqNva1VEW91o3xBT/m8Elgl9g== + +is-installed-globally@~0.4.0: + version "0.4.0" + resolved "https://registry.yarnpkg.com/is-installed-globally/-/is-installed-globally-0.4.0.tgz#9a0fd407949c30f86eb6959ef1b7994ed0b7b520" + integrity sha512-iwGqO3J21aaSkC7jWnHP/difazwS7SFeIqxv6wEtLU8Y5KlzFTjyqcSIT0d8s4+dDhKytsk9PJZ2BkS5eZwQRQ== + dependencies: + global-dirs "^3.0.0" + is-path-inside "^3.0.2" + +is-map@^2.0.1, is-map@^2.0.2: + version "2.0.2" + resolved "https://registry.yarnpkg.com/is-map/-/is-map-2.0.2.tgz#00922db8c9bf73e81b7a335827bc2a43f2b91127" + integrity sha512-cOZFQQozTha1f4MxLFzlgKYPTyj26picdZTx82hbc/Xf4K/tZOOXSCkMvU4pKioRXGDLJRn0GM7Upe7kR721yg== + +is-negative-zero@^2.0.2: + version "2.0.2" + resolved "https://registry.yarnpkg.com/is-negative-zero/-/is-negative-zero-2.0.2.tgz#7bf6f03a28003b8b3965de3ac26f664d765f3150" + integrity sha512-dqJvarLawXsFbNDeJW7zAz8ItJ9cd28YufuuFzh0G8pNHjJMnY08Dv7sYX2uF5UpQOwieAeOExEYAWWfu7ZZUA== + +is-number-object@^1.0.4: + version "1.0.7" + resolved "https://registry.yarnpkg.com/is-number-object/-/is-number-object-1.0.7.tgz#59d50ada4c45251784e9904f5246c742f07a42fc" + integrity sha512-k1U0IRzLMo7ZlYIfzRu23Oh6MiIFasgpb9X76eqfFZAqwH44UI4KTBvBYIZ1dSL9ZzChTB9ShHfLkR4pdW5krQ== + dependencies: + has-tostringtag "^1.0.0" + +is-number@^7.0.0: + version "7.0.0" + resolved "https://registry.yarnpkg.com/is-number/-/is-number-7.0.0.tgz#7535345b896734d5f80c4d06c50955527a14f12b" + integrity sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng== + +is-path-inside@^3.0.2, is-path-inside@^3.0.3: + version "3.0.3" + resolved "https://registry.yarnpkg.com/is-path-inside/-/is-path-inside-3.0.3.tgz#d231362e53a07ff2b0e0ea7fed049161ffd16283" + integrity sha512-Fd4gABb+ycGAmKou8eMftCupSir5lRxqf4aD/vd0cD2qc4HL07OjCeuHMr8Ro4CoMaeCKDB0/ECBOVWjTwUvPQ== + +is-plain-obj@^2.1.0: + version "2.1.0" + resolved "https://registry.yarnpkg.com/is-plain-obj/-/is-plain-obj-2.1.0.tgz#45e42e37fccf1f40da8e5f76ee21515840c09287" + integrity sha512-YWnfyRwxL/+SsrWYfOpUtz5b3YD+nyfkHvjbcanzk8zgyO4ASD67uVMRt8k5bM4lLMDnXfriRhOpemw+NfT1eA== + +is-plain-object@^2.0.4: + version "2.0.4" + resolved "https://registry.yarnpkg.com/is-plain-object/-/is-plain-object-2.0.4.tgz#2c163b3fafb1b606d9d17928f05c2a1c38e07677" + integrity sha512-h5PpgXkWitc38BBMYawTYMWJHFZJVnBquFE57xFpjB8pJFiF6gZ+bU+WyI/yqXiFR5mdLsgYNaPe8uao6Uv9Og== + dependencies: + isobject "^3.0.1" + +is-potential-custom-element-name@^1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/is-potential-custom-element-name/-/is-potential-custom-element-name-1.0.1.tgz#171ed6f19e3ac554394edf78caa05784a45bebb5" + integrity sha512-bCYeRA2rVibKZd+s2625gGnGF/t7DSqDs4dP7CrLA1m7jKWz6pps0LpYLJN8Q64HtmPKJ1hrN3nzPNKFEKOUiQ== + +is-regex@^1.1.4: + version "1.1.4" + resolved "https://registry.yarnpkg.com/is-regex/-/is-regex-1.1.4.tgz#eef5663cd59fa4c0ae339505323df6854bb15958" + integrity sha512-kvRdxDsxZjhzUX07ZnLydzS1TU/TJlTUHHY4YLL87e37oUA49DfkLqgy+VjFocowy29cKvcSiu+kIv728jTTVg== + dependencies: + call-bind "^1.0.2" + has-tostringtag "^1.0.0" + +is-set@^2.0.1, is-set@^2.0.2: + version "2.0.2" + resolved "https://registry.yarnpkg.com/is-set/-/is-set-2.0.2.tgz#90755fa4c2562dc1c5d4024760d6119b94ca18ec" + integrity sha512-+2cnTEZeY5z/iXGbLhPrOAaK/Mau5k5eXq9j14CpRTftq0pAJu2MwVRSZhyZWBzx3o6X795Lz6Bpb6R0GKf37g== + +is-shared-array-buffer@^1.0.2: + version "1.0.2" + resolved "https://registry.yarnpkg.com/is-shared-array-buffer/-/is-shared-array-buffer-1.0.2.tgz#8f259c573b60b6a32d4058a1a07430c0a7344c79" + integrity sha512-sqN2UDu1/0y6uvXyStCOzyhAjCSlHceFoMKJW8W9EU9cvic/QdsZ0kEU93HEy3IUEFZIiH/3w+AH/UQbPHNdhA== + dependencies: + call-bind "^1.0.2" + +is-stream@^2.0.0: + version "2.0.1" + resolved "https://registry.yarnpkg.com/is-stream/-/is-stream-2.0.1.tgz#fac1e3d53b97ad5a9d0ae9cef2389f5810a5c077" + integrity sha512-hFoiJiTl63nn+kstHGBtewWSKnQLpyb155KHheA1l39uvtO9nWIop1p3udqPcUd/xbF1VLMO4n7OI6p7RbngDg== + +is-string@^1.0.5, is-string@^1.0.7: + version "1.0.7" + resolved "https://registry.yarnpkg.com/is-string/-/is-string-1.0.7.tgz#0dd12bf2006f255bb58f695110eff7491eebc0fd" + integrity sha512-tE2UXzivje6ofPW7l23cjDOMa09gb7xlAqG6jG5ej6uPV32TlWP3NKPigtaGeHNu9fohccRYvIiZMfOOnOYUtg== + dependencies: + has-tostringtag "^1.0.0" + +is-symbol@^1.0.2, is-symbol@^1.0.3: + version "1.0.4" + resolved "https://registry.yarnpkg.com/is-symbol/-/is-symbol-1.0.4.tgz#a6dac93b635b063ca6872236de88910a57af139c" + integrity sha512-C/CPBqKWnvdcxqIARxyOh4v1UUEOCHpgDa0WYgpKDFMszcrPcffg5uhwSgPCLD2WWxmq6isisz87tzT01tuGhg== + dependencies: + has-symbols "^1.0.2" + +is-typed-array@^1.1.10, is-typed-array@^1.1.12, is-typed-array@^1.1.9: + version "1.1.12" + resolved "https://registry.yarnpkg.com/is-typed-array/-/is-typed-array-1.1.12.tgz#d0bab5686ef4a76f7a73097b95470ab199c57d4a" + integrity sha512-Z14TF2JNG8Lss5/HMqt0//T9JeHXttXy5pH/DBU4vi98ozO2btxzq9MwYDZYnKwU8nRsz/+GVFVRDq3DkVuSPg== + dependencies: + which-typed-array "^1.1.11" + +is-typedarray@~1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/is-typedarray/-/is-typedarray-1.0.0.tgz#e479c80858df0c1b11ddda6940f96011fcda4a9a" + integrity sha512-cyA56iCMHAh5CdzjJIa4aohJyeO1YbwLi3Jc35MmRU6poroFjIGZzUzupGiRPOjgHg9TLu43xbpwXk523fMxKA== + +is-unicode-supported@^0.1.0: + version "0.1.0" + resolved "https://registry.yarnpkg.com/is-unicode-supported/-/is-unicode-supported-0.1.0.tgz#3f26c76a809593b52bfa2ecb5710ed2779b522a7" + integrity sha512-knxG2q4UC3u8stRGyAVJCOdxFmv5DZiRcdlIaAQXAbSfJya+OhopNotLQrstBhququ4ZpuKbDc/8S6mgXgPFPw== + +is-weakmap@^2.0.1: + version "2.0.1" + resolved "https://registry.yarnpkg.com/is-weakmap/-/is-weakmap-2.0.1.tgz#5008b59bdc43b698201d18f62b37b2ca243e8cf2" + integrity sha512-NSBR4kH5oVj1Uwvv970ruUkCV7O1mzgVFO4/rev2cLRda9Tm9HrL70ZPut4rOHgY0FNrUu9BCbXA2sdQ+x0chA== + +is-weakref@^1.0.2: + version "1.0.2" + resolved "https://registry.yarnpkg.com/is-weakref/-/is-weakref-1.0.2.tgz#9529f383a9338205e89765e0392efc2f100f06f2" + integrity sha512-qctsuLZmIQ0+vSSMfoVvyFe2+GSEvnmZ2ezTup1SBse9+twCCeial6EEi3Nc2KFcf6+qz2FBPnjXsk8xhKSaPQ== + dependencies: + call-bind "^1.0.2" + +is-weakset@^2.0.1: + version "2.0.2" + resolved "https://registry.yarnpkg.com/is-weakset/-/is-weakset-2.0.2.tgz#4569d67a747a1ce5a994dfd4ef6dcea76e7c0a1d" + integrity sha512-t2yVvttHkQktwnNNmBQ98AhENLdPUTDTE21uPqAQ0ARwQfGeQKRVS0NNurH7bTf7RrvcVn1OOge45CnBeHCSmg== + dependencies: + call-bind "^1.0.2" + get-intrinsic "^1.1.1" + +is-window@^1.0.2: + version "1.0.2" + resolved "https://registry.yarnpkg.com/is-window/-/is-window-1.0.2.tgz#2c896ca53db97de45d3c33133a65d8c9f563480d" + integrity sha512-uj00kdXyZb9t9RcAUAwMZAnkBUwdYGhYlt7djMXhfyhUCzwNba50tIiBKR7q0l7tdoBtFVw/3JmLY6fI3rmZmg== + +isarray@0.0.1: + version "0.0.1" + resolved "https://registry.yarnpkg.com/isarray/-/isarray-0.0.1.tgz#8a18acfca9a8f4177e09abfc6038939b05d1eedf" + integrity sha512-D2S+3GLxWH+uhrNEcoh/fnmYeP8E8/zHl644d/jdA0g2uyXvy3sb0qxotE+ne0LtccHknQzWwZEzhak7oJ0COQ== + +isarray@^2.0.5: + version "2.0.5" + resolved "https://registry.yarnpkg.com/isarray/-/isarray-2.0.5.tgz#8af1e4c1221244cc62459faf38940d4e644a5723" + integrity sha512-xHjhDr3cNBK0BzdUJSPXZntQUx/mwMS5Rw4A7lPJ90XGAO6ISP/ePDNuo0vhqOZU+UD5JoodwCAAoZQd3FeAKw== + +isarray@~1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/isarray/-/isarray-1.0.0.tgz#bb935d48582cba168c06834957a54a3e07124f11" + integrity sha512-VLghIWNM6ELQzo7zwmcg0NmTVyWKYjvIeM83yjp0wRDTmUnrM678fQbcKBo6n2CJEF0szoG//ytg+TKla89ALQ== + +isexe@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/isexe/-/isexe-2.0.0.tgz#e8fbf374dc556ff8947a10dcb0572d633f2cfa10" + integrity sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw== + +isobject@^3.0.1: + version "3.0.1" + resolved "https://registry.yarnpkg.com/isobject/-/isobject-3.0.1.tgz#4e431e92b11a9731636aa1f9c8d1ccbcfdab78df" + integrity sha512-WhB9zCku7EGTj/HQQRz5aUQEUeoQZH2bWcltRErOpymJ4boYE6wL9Tbr23krRPSZ+C5zqNSrSw+Cc7sZZ4b7vg== + +isomorphic-base64@^1.0.2: + version "1.0.2" + resolved "https://registry.yarnpkg.com/isomorphic-base64/-/isomorphic-base64-1.0.2.tgz#f426aae82569ba8a4ec5ca73ad21a44ab1ee7803" + integrity sha512-pQFyLwShVPA1Qr0dE1ZPguJkbOsFGDfSq6Wzz6XaO33v74X6/iQjgYPozwkeKGQxOI1/H3Fz7+ROtnV1veyKEg== + +isstream@~0.1.2: + version "0.1.2" + resolved "https://registry.yarnpkg.com/isstream/-/isstream-0.1.2.tgz#47e63f7af55afa6f92e1500e690eb8b8529c099a" + integrity sha512-Yljz7ffyPbrLpLngrMtZ7NduUgVvi6wG9RJ9IUcyCd59YQ911PBJphODUcbOVbqYfxe1wuYf/LJ8PauMRwsM/g== + +istanbul-lib-coverage@^3.0.0, istanbul-lib-coverage@^3.2.0: + version "3.2.2" + resolved "https://registry.yarnpkg.com/istanbul-lib-coverage/-/istanbul-lib-coverage-3.2.2.tgz#2d166c4b0644d43a39f04bf6c2edd1e585f31756" + integrity sha512-O8dpsF+r0WV/8MNRKfnmrtCWhuKjxrq2w+jpzBL5UZKTi2LeVWnWOmWRxFlesJONmc+wLAGvKQZEOanko0LFTg== + +istanbul-lib-instrument@^5.0.4: + version "5.2.1" + resolved "https://registry.yarnpkg.com/istanbul-lib-instrument/-/istanbul-lib-instrument-5.2.1.tgz#d10c8885c2125574e1c231cacadf955675e1ce3d" + integrity sha512-pzqtp31nLv/XFOzXGuvhCb8qhjmTVo5vjVk19XE4CRlSWz0KoeJ3bw9XsA7nOp9YBf4qHjwBxkDzKcME/J29Yg== + dependencies: + "@babel/core" "^7.12.3" + "@babel/parser" "^7.14.7" + "@istanbuljs/schema" "^0.1.2" + istanbul-lib-coverage "^3.2.0" + semver "^6.3.0" + +istanbul-lib-instrument@^6.0.0: + version "6.0.1" + resolved "https://registry.yarnpkg.com/istanbul-lib-instrument/-/istanbul-lib-instrument-6.0.1.tgz#71e87707e8041428732518c6fb5211761753fbdf" + integrity sha512-EAMEJBsYuyyztxMxW3g7ugGPkrZsV57v0Hmv3mm1uQsmB+QnZuepg731CRaIgeUVSdmsTngOkSnauNF8p7FIhA== + dependencies: + "@babel/core" "^7.12.3" + "@babel/parser" "^7.14.7" + "@istanbuljs/schema" "^0.1.2" + istanbul-lib-coverage "^3.2.0" + semver "^7.5.4" + +istanbul-lib-report@^3.0.0: + version "3.0.1" + resolved "https://registry.yarnpkg.com/istanbul-lib-report/-/istanbul-lib-report-3.0.1.tgz#908305bac9a5bd175ac6a74489eafd0fc2445a7d" + integrity sha512-GCfE1mtsHGOELCU8e/Z7YWzpmybrx/+dSTfLrvY8qRmaY6zXTKWn6WQIjaAFw069icm6GVMNkgu0NzI4iPZUNw== + dependencies: + istanbul-lib-coverage "^3.0.0" + make-dir "^4.0.0" + supports-color "^7.1.0" + +istanbul-lib-source-maps@^4.0.0: + version "4.0.1" + resolved "https://registry.yarnpkg.com/istanbul-lib-source-maps/-/istanbul-lib-source-maps-4.0.1.tgz#895f3a709fcfba34c6de5a42939022f3e4358551" + integrity sha512-n3s8EwkdFIJCG3BPKBYvskgXGoy88ARzvegkitk60NxRdwltLOTaH7CUiMRXvwYorl0Q712iEjcWB+fK/MrWVw== + dependencies: + debug "^4.1.1" + istanbul-lib-coverage "^3.0.0" + source-map "^0.6.1" + +istanbul-reports@^3.1.3: + version "3.1.6" + resolved "https://registry.yarnpkg.com/istanbul-reports/-/istanbul-reports-3.1.6.tgz#2544bcab4768154281a2f0870471902704ccaa1a" + integrity sha512-TLgnMkKg3iTDsQ9PbPTdpfAK2DzjF9mqUG7RMgcQl8oFjad8ob4laGxv5XV5U9MAfx8D6tSJiUyuAwzLicaxlg== + dependencies: + html-escaper "^2.0.0" + istanbul-lib-report "^3.0.0" + +jackspeak@^2.3.5: + version "2.3.6" + resolved "https://registry.yarnpkg.com/jackspeak/-/jackspeak-2.3.6.tgz#647ecc472238aee4b06ac0e461acc21a8c505ca8" + integrity sha512-N3yCS/NegsOBokc8GAdM8UcmfsKiSS8cipheD/nivzr700H+nsMOxJjQnvwOcRYVuFkdH0wGUvW2WbXGmrZGbQ== + dependencies: + "@isaacs/cliui" "^8.0.2" + optionalDependencies: + "@pkgjs/parseargs" "^0.11.0" + +jest-changed-files@^29.7.0: + version "29.7.0" + resolved "https://registry.yarnpkg.com/jest-changed-files/-/jest-changed-files-29.7.0.tgz#1c06d07e77c78e1585d020424dedc10d6e17ac3a" + integrity sha512-fEArFiwf1BpQ+4bXSprcDc3/x4HSzL4al2tozwVpDFpsxALjLYdyiIK4e5Vz66GQJIbXJ82+35PtysofptNX2w== + dependencies: + execa "^5.0.0" + jest-util "^29.7.0" + p-limit "^3.1.0" + +jest-circus@^29.7.0: + version "29.7.0" + resolved "https://registry.yarnpkg.com/jest-circus/-/jest-circus-29.7.0.tgz#b6817a45fcc835d8b16d5962d0c026473ee3668a" + integrity sha512-3E1nCMgipcTkCocFwM90XXQab9bS+GMsjdpmPrlelaxwD93Ad8iVEjX/vvHPdLPnFf+L40u+5+iutRdA1N9myw== + dependencies: + "@jest/environment" "^29.7.0" + "@jest/expect" "^29.7.0" + "@jest/test-result" "^29.7.0" + "@jest/types" "^29.6.3" + "@types/node" "*" + chalk "^4.0.0" + co "^4.6.0" + dedent "^1.0.0" + is-generator-fn "^2.0.0" + jest-each "^29.7.0" + jest-matcher-utils "^29.7.0" + jest-message-util "^29.7.0" + jest-runtime "^29.7.0" + jest-snapshot "^29.7.0" + jest-util "^29.7.0" + p-limit "^3.1.0" + pretty-format "^29.7.0" + pure-rand "^6.0.0" + slash "^3.0.0" + stack-utils "^2.0.3" + +jest-cli@^29.7.0: + version "29.7.0" + resolved "https://registry.yarnpkg.com/jest-cli/-/jest-cli-29.7.0.tgz#5592c940798e0cae677eec169264f2d839a37995" + integrity sha512-OVVobw2IubN/GSYsxETi+gOe7Ka59EFMR/twOU3Jb2GnKKeMGJB5SGUUrEz3SFVmJASUdZUzy83sLNNQ2gZslg== + dependencies: + "@jest/core" "^29.7.0" + "@jest/test-result" "^29.7.0" + "@jest/types" "^29.6.3" + chalk "^4.0.0" + create-jest "^29.7.0" + exit "^0.1.2" + import-local "^3.0.2" + jest-config "^29.7.0" + jest-util "^29.7.0" + jest-validate "^29.7.0" + yargs "^17.3.1" + +jest-config@^29.7.0: + version "29.7.0" + resolved "https://registry.yarnpkg.com/jest-config/-/jest-config-29.7.0.tgz#bcbda8806dbcc01b1e316a46bb74085a84b0245f" + integrity sha512-uXbpfeQ7R6TZBqI3/TxCU4q4ttk3u0PJeC+E0zbfSoSjq6bJ7buBPxzQPL0ifrkY4DNu4JUdk0ImlBUYi840eQ== + dependencies: + "@babel/core" "^7.11.6" + "@jest/test-sequencer" "^29.7.0" + "@jest/types" "^29.6.3" + babel-jest "^29.7.0" + chalk "^4.0.0" + ci-info "^3.2.0" + deepmerge "^4.2.2" + glob "^7.1.3" + graceful-fs "^4.2.9" + jest-circus "^29.7.0" + jest-environment-node "^29.7.0" + jest-get-type "^29.6.3" + jest-regex-util "^29.6.3" + jest-resolve "^29.7.0" + jest-runner "^29.7.0" + jest-util "^29.7.0" + jest-validate "^29.7.0" + micromatch "^4.0.4" + parse-json "^5.2.0" + pretty-format "^29.7.0" + slash "^3.0.0" + strip-json-comments "^3.1.1" + +jest-diff@^29.7.0: + version "29.7.0" + resolved "https://registry.yarnpkg.com/jest-diff/-/jest-diff-29.7.0.tgz#017934a66ebb7ecf6f205e84699be10afd70458a" + integrity sha512-LMIgiIrhigmPrs03JHpxUh2yISK3vLFPkAodPeo0+BuF7wA2FoQbkEg1u8gBYBThncu7e1oEDUfIXVuTqLRUjw== + dependencies: + chalk "^4.0.0" + diff-sequences "^29.6.3" + jest-get-type "^29.6.3" + pretty-format "^29.7.0" + +jest-docblock@^29.7.0: + version "29.7.0" + resolved "https://registry.yarnpkg.com/jest-docblock/-/jest-docblock-29.7.0.tgz#8fddb6adc3cdc955c93e2a87f61cfd350d5d119a" + integrity sha512-q617Auw3A612guyaFgsbFeYpNP5t2aoUNLwBUbc/0kD1R4t9ixDbyFTHd1nok4epoVFpr7PmeWHrhvuV3XaJ4g== + dependencies: + detect-newline "^3.0.0" + +jest-each@^29.7.0: + version "29.7.0" + resolved "https://registry.yarnpkg.com/jest-each/-/jest-each-29.7.0.tgz#162a9b3f2328bdd991beaabffbb74745e56577d1" + integrity sha512-gns+Er14+ZrEoC5fhOfYCY1LOHHr0TI+rQUHZS8Ttw2l7gl+80eHc/gFf2Ktkw0+SIACDTeWvpFcv3B04VembQ== + dependencies: + "@jest/types" "^29.6.3" + chalk "^4.0.0" + jest-get-type "^29.6.3" + jest-util "^29.7.0" + pretty-format "^29.7.0" + +jest-environment-jsdom@^29.5.0: + version "29.7.0" + resolved "https://registry.yarnpkg.com/jest-environment-jsdom/-/jest-environment-jsdom-29.7.0.tgz#d206fa3551933c3fd519e5dfdb58a0f5139a837f" + integrity sha512-k9iQbsf9OyOfdzWH8HDmrRT0gSIcX+FLNW7IQq94tFX0gynPwqDTW0Ho6iMVNjGz/nb+l/vW3dWM2bbLLpkbXA== + dependencies: + "@jest/environment" "^29.7.0" + "@jest/fake-timers" "^29.7.0" + "@jest/types" "^29.6.3" + "@types/jsdom" "^20.0.0" + "@types/node" "*" + jest-mock "^29.7.0" + jest-util "^29.7.0" + jsdom "^20.0.0" + +jest-environment-node@^29.7.0: + version "29.7.0" + resolved "https://registry.yarnpkg.com/jest-environment-node/-/jest-environment-node-29.7.0.tgz#0b93e111dda8ec120bc8300e6d1fb9576e164376" + integrity sha512-DOSwCRqXirTOyheM+4d5YZOrWcdu0LNZ87ewUoywbcb2XR4wKgqiG8vNeYwhjFMbEkfju7wx2GYH0P2gevGvFw== + dependencies: + "@jest/environment" "^29.7.0" + "@jest/fake-timers" "^29.7.0" + "@jest/types" "^29.6.3" + "@types/node" "*" + jest-mock "^29.7.0" + jest-util "^29.7.0" + +jest-get-type@^29.6.3: + version "29.6.3" + resolved "https://registry.yarnpkg.com/jest-get-type/-/jest-get-type-29.6.3.tgz#36f499fdcea197c1045a127319c0481723908fd1" + integrity sha512-zrteXnqYxfQh7l5FHyL38jL39di8H8rHoecLH3JNxH3BwOrBsNeabdap5e0I23lD4HHI8W5VFBZqG4Eaq5LNcw== + +jest-haste-map@^29.7.0: + version "29.7.0" + resolved "https://registry.yarnpkg.com/jest-haste-map/-/jest-haste-map-29.7.0.tgz#3c2396524482f5a0506376e6c858c3bbcc17b104" + integrity sha512-fP8u2pyfqx0K1rGn1R9pyE0/KTn+G7PxktWidOBTqFPLYX0b9ksaMFkhK5vrS3DVun09pckLdlx90QthlW7AmA== + dependencies: + "@jest/types" "^29.6.3" + "@types/graceful-fs" "^4.1.3" + "@types/node" "*" + anymatch "^3.0.3" + fb-watchman "^2.0.0" + graceful-fs "^4.2.9" + jest-regex-util "^29.6.3" + jest-util "^29.7.0" + jest-worker "^29.7.0" + micromatch "^4.0.4" + walker "^1.0.8" + optionalDependencies: + fsevents "^2.3.2" + +jest-leak-detector@^29.7.0: + version "29.7.0" + resolved "https://registry.yarnpkg.com/jest-leak-detector/-/jest-leak-detector-29.7.0.tgz#5b7ec0dadfdfec0ca383dc9aa016d36b5ea4c728" + integrity sha512-kYA8IJcSYtST2BY9I+SMC32nDpBT3J2NvWJx8+JCuCdl/CR1I4EKUJROiP8XtCcxqgTTBGJNdbB1A8XRKbTetw== + dependencies: + jest-get-type "^29.6.3" + pretty-format "^29.7.0" + +jest-matcher-utils@^29.7.0: + version "29.7.0" + resolved "https://registry.yarnpkg.com/jest-matcher-utils/-/jest-matcher-utils-29.7.0.tgz#ae8fec79ff249fd592ce80e3ee474e83a6c44f12" + integrity sha512-sBkD+Xi9DtcChsI3L3u0+N0opgPYnCRPtGcQYrgXmR+hmt/fYfWAL0xRXYU8eWOdfuLgBe0YCW3AFtnRLagq/g== + dependencies: + chalk "^4.0.0" + jest-diff "^29.7.0" + jest-get-type "^29.6.3" + pretty-format "^29.7.0" + +jest-message-util@^29.7.0: + version "29.7.0" + resolved "https://registry.yarnpkg.com/jest-message-util/-/jest-message-util-29.7.0.tgz#8bc392e204e95dfe7564abbe72a404e28e51f7f3" + integrity sha512-GBEV4GRADeP+qtB2+6u61stea8mGcOT4mCtrYISZwfu9/ISHFJ/5zOMXYbpBE9RsS5+Gb63DW4FgmnKJ79Kf6w== + dependencies: + "@babel/code-frame" "^7.12.13" + "@jest/types" "^29.6.3" + "@types/stack-utils" "^2.0.0" + chalk "^4.0.0" + graceful-fs "^4.2.9" + micromatch "^4.0.4" + pretty-format "^29.7.0" + slash "^3.0.0" + stack-utils "^2.0.3" + +jest-mock@^29.7.0: + version "29.7.0" + resolved "https://registry.yarnpkg.com/jest-mock/-/jest-mock-29.7.0.tgz#4e836cf60e99c6fcfabe9f99d017f3fdd50a6347" + integrity sha512-ITOMZn+UkYS4ZFh83xYAOzWStloNzJFO2s8DWrE4lhtGD+AorgnbkiKERe4wQVBydIGPx059g6riW5Btp6Llnw== + dependencies: + "@jest/types" "^29.6.3" + "@types/node" "*" + jest-util "^29.7.0" + +jest-pnp-resolver@^1.2.2: + version "1.2.3" + resolved "https://registry.yarnpkg.com/jest-pnp-resolver/-/jest-pnp-resolver-1.2.3.tgz#930b1546164d4ad5937d5540e711d4d38d4cad2e" + integrity sha512-+3NpwQEnRoIBtx4fyhblQDPgJI0H1IEIkX7ShLUjPGA7TtUTvI1oiKi3SR4oBR0hQhQR80l4WAe5RrXBwWMA8w== + +jest-regex-util@^29.6.3: + version "29.6.3" + resolved "https://registry.yarnpkg.com/jest-regex-util/-/jest-regex-util-29.6.3.tgz#4a556d9c776af68e1c5f48194f4d0327d24e8a52" + integrity sha512-KJJBsRCyyLNWCNBOvZyRDnAIfUiRJ8v+hOBQYGn8gDyF3UegwiP4gwRR3/SDa42g1YbVycTidUF3rKjyLFDWbg== + +jest-resolve-dependencies@^29.7.0: + version "29.7.0" + resolved "https://registry.yarnpkg.com/jest-resolve-dependencies/-/jest-resolve-dependencies-29.7.0.tgz#1b04f2c095f37fc776ff40803dc92921b1e88428" + integrity sha512-un0zD/6qxJ+S0et7WxeI3H5XSe9lTBBR7bOHCHXkKR6luG5mwDDlIzVQ0V5cZCuoTgEdcdwzTghYkTWfubi+nA== + dependencies: + jest-regex-util "^29.6.3" + jest-snapshot "^29.7.0" + +jest-resolve@^29.7.0: + version "29.7.0" + resolved "https://registry.yarnpkg.com/jest-resolve/-/jest-resolve-29.7.0.tgz#64d6a8992dd26f635ab0c01e5eef4399c6bcbc30" + integrity sha512-IOVhZSrg+UvVAshDSDtHyFCCBUl/Q3AAJv8iZ6ZjnZ74xzvwuzLXid9IIIPgTnY62SJjfuupMKZsZQRsCvxEgA== + dependencies: + chalk "^4.0.0" + graceful-fs "^4.2.9" + jest-haste-map "^29.7.0" + jest-pnp-resolver "^1.2.2" + jest-util "^29.7.0" + jest-validate "^29.7.0" + resolve "^1.20.0" + resolve.exports "^2.0.0" + slash "^3.0.0" + +jest-runner@^29.7.0: + version "29.7.0" + resolved "https://registry.yarnpkg.com/jest-runner/-/jest-runner-29.7.0.tgz#809af072d408a53dcfd2e849a4c976d3132f718e" + integrity sha512-fsc4N6cPCAahybGBfTRcq5wFR6fpLznMg47sY5aDpsoejOcVYFb07AHuSnR0liMcPTgBsA3ZJL6kFOjPdoNipQ== + dependencies: + "@jest/console" "^29.7.0" + "@jest/environment" "^29.7.0" + "@jest/test-result" "^29.7.0" + "@jest/transform" "^29.7.0" + "@jest/types" "^29.6.3" + "@types/node" "*" + chalk "^4.0.0" + emittery "^0.13.1" + graceful-fs "^4.2.9" + jest-docblock "^29.7.0" + jest-environment-node "^29.7.0" + jest-haste-map "^29.7.0" + jest-leak-detector "^29.7.0" + jest-message-util "^29.7.0" + jest-resolve "^29.7.0" + jest-runtime "^29.7.0" + jest-util "^29.7.0" + jest-watcher "^29.7.0" + jest-worker "^29.7.0" + p-limit "^3.1.0" + source-map-support "0.5.13" + +jest-runtime@^29.7.0: + version "29.7.0" + resolved "https://registry.yarnpkg.com/jest-runtime/-/jest-runtime-29.7.0.tgz#efecb3141cf7d3767a3a0cc8f7c9990587d3d817" + integrity sha512-gUnLjgwdGqW7B4LvOIkbKs9WGbn+QLqRQQ9juC6HndeDiezIwhDP+mhMwHWCEcfQ5RUXa6OPnFF8BJh5xegwwQ== + dependencies: + "@jest/environment" "^29.7.0" + "@jest/fake-timers" "^29.7.0" + "@jest/globals" "^29.7.0" + "@jest/source-map" "^29.6.3" + "@jest/test-result" "^29.7.0" + "@jest/transform" "^29.7.0" + "@jest/types" "^29.6.3" + "@types/node" "*" + chalk "^4.0.0" + cjs-module-lexer "^1.0.0" + collect-v8-coverage "^1.0.0" + glob "^7.1.3" + graceful-fs "^4.2.9" + jest-haste-map "^29.7.0" + jest-message-util "^29.7.0" + jest-mock "^29.7.0" + jest-regex-util "^29.6.3" + jest-resolve "^29.7.0" + jest-snapshot "^29.7.0" + jest-util "^29.7.0" + slash "^3.0.0" + strip-bom "^4.0.0" + +jest-snapshot@^29.7.0: + version "29.7.0" + resolved "https://registry.yarnpkg.com/jest-snapshot/-/jest-snapshot-29.7.0.tgz#c2c574c3f51865da1bb329036778a69bf88a6be5" + integrity sha512-Rm0BMWtxBcioHr1/OX5YCP8Uov4riHvKPknOGs804Zg9JGZgmIBkbtlxJC/7Z4msKYVbIJtfU+tKb8xlYNfdkw== + dependencies: + "@babel/core" "^7.11.6" + "@babel/generator" "^7.7.2" + "@babel/plugin-syntax-jsx" "^7.7.2" + "@babel/plugin-syntax-typescript" "^7.7.2" + "@babel/types" "^7.3.3" + "@jest/expect-utils" "^29.7.0" + "@jest/transform" "^29.7.0" + "@jest/types" "^29.6.3" + babel-preset-current-node-syntax "^1.0.0" + chalk "^4.0.0" + expect "^29.7.0" + graceful-fs "^4.2.9" + jest-diff "^29.7.0" + jest-get-type "^29.6.3" + jest-matcher-utils "^29.7.0" + jest-message-util "^29.7.0" + jest-util "^29.7.0" + natural-compare "^1.4.0" + pretty-format "^29.7.0" + semver "^7.5.3" + +jest-util@^29.7.0: + version "29.7.0" + resolved "https://registry.yarnpkg.com/jest-util/-/jest-util-29.7.0.tgz#23c2b62bfb22be82b44de98055802ff3710fc0bc" + integrity sha512-z6EbKajIpqGKU56y5KBUgy1dt1ihhQJgWzUlZHArA/+X2ad7Cb5iF+AK1EWVL/Bo7Rz9uurpqw6SiBCefUbCGA== + dependencies: + "@jest/types" "^29.6.3" + "@types/node" "*" + chalk "^4.0.0" + ci-info "^3.2.0" + graceful-fs "^4.2.9" + picomatch "^2.2.3" + +jest-validate@^29.7.0: + version "29.7.0" + resolved "https://registry.yarnpkg.com/jest-validate/-/jest-validate-29.7.0.tgz#7bf705511c64da591d46b15fce41400d52147d9c" + integrity sha512-ZB7wHqaRGVw/9hST/OuFUReG7M8vKeq0/J2egIGLdvjHCmYqGARhzXmtgi+gVeZ5uXFF219aOc3Ls2yLg27tkw== + dependencies: + "@jest/types" "^29.6.3" + camelcase "^6.2.0" + chalk "^4.0.0" + jest-get-type "^29.6.3" + leven "^3.1.0" + pretty-format "^29.7.0" + +jest-watcher@^29.7.0: + version "29.7.0" + resolved "https://registry.yarnpkg.com/jest-watcher/-/jest-watcher-29.7.0.tgz#7810d30d619c3a62093223ce6bb359ca1b28a2f2" + integrity sha512-49Fg7WXkU3Vl2h6LbLtMQ/HyB6rXSIX7SqvBLQmssRBGN9I0PNvPmAmCWSOY6SOvrjhI/F7/bGAv9RtnsPA03g== + dependencies: + "@jest/test-result" "^29.7.0" + "@jest/types" "^29.6.3" + "@types/node" "*" + ansi-escapes "^4.2.1" + chalk "^4.0.0" + emittery "^0.13.1" + jest-util "^29.7.0" + string-length "^4.0.1" + +jest-worker@^27.4.5: + version "27.5.1" + resolved "https://registry.yarnpkg.com/jest-worker/-/jest-worker-27.5.1.tgz#8d146f0900e8973b106b6f73cc1e9a8cb86f8db0" + integrity sha512-7vuh85V5cdDofPyxn58nrPjBktZo0u9x1g8WtjQol+jZDaE+fhN+cIvTj11GndBnMnyfrUOG1sZQxCdjKh+DKg== + dependencies: + "@types/node" "*" + merge-stream "^2.0.0" + supports-color "^8.0.0" + +jest-worker@^29.5.0, jest-worker@^29.7.0: + version "29.7.0" + resolved "https://registry.yarnpkg.com/jest-worker/-/jest-worker-29.7.0.tgz#acad073acbbaeb7262bd5389e1bcf43e10058d4a" + integrity sha512-eIz2msL/EzL9UFTFFx7jBTkeZfku0yUAyZZZmJ93H2TYEiroIx2PQjEXcwYtYl8zXCxb+PAmA2hLIt/6ZEkPHw== + dependencies: + "@types/node" "*" + jest-util "^29.7.0" + merge-stream "^2.0.0" + supports-color "^8.0.0" + +jest@^29.5.0: + version "29.7.0" + resolved "https://registry.yarnpkg.com/jest/-/jest-29.7.0.tgz#994676fc24177f088f1c5e3737f5697204ff2613" + integrity sha512-NIy3oAFp9shda19hy4HK0HRTWKtPJmGdnvywu01nOqNC2vZg+Z+fvJDxpMQA88eb2I9EcafcdjYgsDthnYTvGw== + dependencies: + "@jest/core" "^29.7.0" + "@jest/types" "^29.6.3" + import-local "^3.0.2" + jest-cli "^29.7.0" + +jquery@3.6.3: + version "3.6.3" + resolved "https://registry.yarnpkg.com/jquery/-/jquery-3.6.3.tgz#23ed2ffed8a19e048814f13391a19afcdba160e6" + integrity sha512-bZ5Sy3YzKo9Fyc8wH2iIQK4JImJ6R0GWI9kL1/k7Z91ZBNgkRXE6U0JfHIizZbort8ZunhSI3jw9I6253ahKfg== + +js-cookie@^2.2.1: + version "2.2.1" + resolved "https://registry.yarnpkg.com/js-cookie/-/js-cookie-2.2.1.tgz#69e106dc5d5806894562902aa5baec3744e9b2b8" + integrity sha512-HvdH2LzI/EAZcUwA8+0nKNtWHqS+ZmijLA30RwZA0bo7ToCckjK5MkGhjED9KoRcXO6BaGI3I9UIzSA1FKFPOQ== + +"js-tokens@^3.0.0 || ^4.0.0", js-tokens@^4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/js-tokens/-/js-tokens-4.0.0.tgz#19203fb59991df98e3a287050d4647cdeaf32499" + integrity sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ== + +js-yaml@4.1.0, js-yaml@^4.1.0: + version "4.1.0" + resolved "https://registry.yarnpkg.com/js-yaml/-/js-yaml-4.1.0.tgz#c1fb65f8f5017901cdd2c951864ba18458a10602" + integrity sha512-wpxZs9NoxZaJESJGIZTyDEaYpl0FKSA+FB9aJiyemKhMwkxQg63h4T1KJgUGHpTqPDNRcmmYLugrRjJlBtWvRA== + dependencies: + argparse "^2.0.1" + +js-yaml@^3.13.1: + version "3.14.1" + resolved "https://registry.yarnpkg.com/js-yaml/-/js-yaml-3.14.1.tgz#dae812fdb3825fa306609a8717383c50c36a0537" + integrity sha512-okMH7OXXJ7YrN9Ok3/SXrnu4iX9yOk+25nqX4imS2npuvTYDmo/QEZoqwZkYaIDk3jVvBOTOIEgEhaLOynBS9g== + dependencies: + argparse "^1.0.7" + esprima "^4.0.0" + +jsbn@~0.1.0: + version "0.1.1" + resolved "https://registry.yarnpkg.com/jsbn/-/jsbn-0.1.1.tgz#a5e654c2e5a2deb5f201d96cefbca80c0ef2f513" + integrity sha512-UVU9dibq2JcFWxQPA6KCqj5O42VOmAY3zQUfEKxU0KpTGXwNoCjkX1e13eHNvw/xPynt6pU0rZ1htjWTNTSXsg== + +jsdoc-type-pratt-parser@~4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/jsdoc-type-pratt-parser/-/jsdoc-type-pratt-parser-4.0.0.tgz#136f0571a99c184d84ec84662c45c29ceff71114" + integrity sha512-YtOli5Cmzy3q4dP26GraSOeAhqecewG04hoO8DY56CH4KJ9Fvv5qKWUCCo3HZob7esJQHCv6/+bnTy72xZZaVQ== + +jsdom@^20.0.0: + version "20.0.3" + resolved "https://registry.yarnpkg.com/jsdom/-/jsdom-20.0.3.tgz#886a41ba1d4726f67a8858028c99489fed6ad4db" + integrity sha512-SYhBvTh89tTfCD/CRdSOm13mOBa42iTaTyfyEWBdKcGdPxPtLFBXuHR8XHb33YNYaP+lLbmSvBTsnoesCNJEsQ== + dependencies: + abab "^2.0.6" + acorn "^8.8.1" + acorn-globals "^7.0.0" + cssom "^0.5.0" + cssstyle "^2.3.0" + data-urls "^3.0.2" + decimal.js "^10.4.2" + domexception "^4.0.0" + escodegen "^2.0.0" + form-data "^4.0.0" + html-encoding-sniffer "^3.0.0" + http-proxy-agent "^5.0.0" + https-proxy-agent "^5.0.1" + is-potential-custom-element-name "^1.0.1" + nwsapi "^2.2.2" + parse5 "^7.1.1" + saxes "^6.0.0" + symbol-tree "^3.2.4" + tough-cookie "^4.1.2" + w3c-xmlserializer "^4.0.0" + webidl-conversions "^7.0.0" + whatwg-encoding "^2.0.0" + whatwg-mimetype "^3.0.0" + whatwg-url "^11.0.0" + ws "^8.11.0" + xml-name-validator "^4.0.0" + +jsesc@^2.5.1: + version "2.5.2" + resolved "https://registry.yarnpkg.com/jsesc/-/jsesc-2.5.2.tgz#80564d2e483dacf6e8ef209650a67df3f0c283a4" + integrity sha512-OYu7XEzjkCQ3C5Ps3QIZsQfNpqoJyZZA99wd9aWd05NCtC5pWOkShK2mkL6HXQR6/Cy2lbNdPlZBpuQHXE63gA== + +jsesc@~0.5.0: + version "0.5.0" + resolved "https://registry.yarnpkg.com/jsesc/-/jsesc-0.5.0.tgz#e7dee66e35d6fc16f710fe91d5cf69f70f08911d" + integrity sha512-uZz5UnB7u4T9LvwmFqXii7pZSouaRPorGs5who1Ip7VO0wxanFvBL7GkM6dTHlgX+jhBApRetaWpnDabOeTcnA== + +json-buffer@3.0.1: + version "3.0.1" + resolved "https://registry.yarnpkg.com/json-buffer/-/json-buffer-3.0.1.tgz#9338802a30d3b6605fbe0613e094008ca8c05a13" + integrity sha512-4bV5BfR2mqfQTJm+V5tPPdf+ZpuhiIvTuAB5g8kcrXOZpTT/QwwVRWBywX1ozr6lEuPdbHxwaJlm9G6mI2sfSQ== + +json-parse-even-better-errors@^2.3.0, json-parse-even-better-errors@^2.3.1: + version "2.3.1" + resolved "https://registry.yarnpkg.com/json-parse-even-better-errors/-/json-parse-even-better-errors-2.3.1.tgz#7c47805a94319928e05777405dc12e1f7a4ee02d" + integrity sha512-xyFwyhro/JEof6Ghe2iz2NcXoj2sloNsWr/XsERDK/oiPCfaNhl5ONfp+jQdAZRQQ0IJWNzH9zIZF7li91kh2w== + +json-schema-traverse@^0.4.1: + version "0.4.1" + resolved "https://registry.yarnpkg.com/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz#69f6a87d9513ab8bb8fe63bdb0979c448e684660" + integrity sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg== + +json-schema-traverse@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/json-schema-traverse/-/json-schema-traverse-1.0.0.tgz#ae7bcb3656ab77a73ba5c49bf654f38e6b6860e2" + integrity sha512-NM8/P9n3XjXhIZn1lLhkFaACTOURQXjWhV4BA/RnOv8xvgqtqpAX9IO4mRQxSx1Rlo4tqzeqb0sOlruaOy3dug== + +json-schema@0.4.0: + version "0.4.0" + resolved "https://registry.yarnpkg.com/json-schema/-/json-schema-0.4.0.tgz#f7de4cf6efab838ebaeb3236474cbba5a1930ab5" + integrity sha512-es94M3nTIfsEPisRafak+HDLfHXnKBhV3vU5eqPcS3flIWqcxJWgXHXiey3YrpaNsanY5ei1VoYEbOzijuq9BA== + +json-stable-stringify-without-jsonify@^1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/json-stable-stringify-without-jsonify/-/json-stable-stringify-without-jsonify-1.0.1.tgz#9db7b59496ad3f3cfef30a75142d2d930ad72651" + integrity sha512-Bdboy+l7tA3OGW6FjyFHWkP5LuByj1Tk33Ljyq0axyzdk9//JSi2u3fP1QSmd1KNwq6VOKYGlAu87CisVir6Pw== + +json-stringify-pretty-compact@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/json-stringify-pretty-compact/-/json-stringify-pretty-compact-2.0.0.tgz#e77c419f52ff00c45a31f07f4c820c2433143885" + integrity sha512-WRitRfs6BGq4q8gTgOy4ek7iPFXjbra0H3PmDLKm2xnZ+Gh1HUhiKGgCZkSPNULlP7mvfu6FV/mOLhCarspADQ== + +json-stringify-safe@~5.0.1: + version "5.0.1" + resolved "https://registry.yarnpkg.com/json-stringify-safe/-/json-stringify-safe-5.0.1.tgz#1296a2d58fd45f19a0f6ce01d65701e2c735b6eb" + integrity sha512-ZClg6AaYvamvYEE82d3Iyd3vSSIjQ+odgjaTzRuO3s7toCdFKczob2i0zCh7JE8kWn17yvAWhUVxvqGwUalsRA== + +json5@^2.1.2, json5@^2.2.1, json5@^2.2.2, json5@^2.2.3: + version "2.2.3" + resolved "https://registry.yarnpkg.com/json5/-/json5-2.2.3.tgz#78cd6f1a19bdc12b73db5ad0c61efd66c1e29283" + integrity sha512-XmOWe7eyHYH14cLdVPoyg+GOH3rYX++KpzrylJwSW98t3Nk+U8XOl8FWKOgwtzdb8lXGf6zYwDUzeHMWfxasyg== + +jsonc-parser@^3.2.0: + version "3.2.0" + resolved "https://registry.yarnpkg.com/jsonc-parser/-/jsonc-parser-3.2.0.tgz#31ff3f4c2b9793f89c67212627c51c6394f88e76" + integrity sha512-gfFQZrcTc8CnKXp6Y4/CBT3fTc0OVuDofpre4aEeEpSBPV5X5v4+Vmx+8snU7RLPrNHPKSgLxGo9YuQzz20o+w== + +jsonfile@^6.0.1: + version "6.1.0" + resolved "https://registry.yarnpkg.com/jsonfile/-/jsonfile-6.1.0.tgz#bc55b2634793c679ec6403094eb13698a6ec0aae" + integrity sha512-5dgndWOriYSm5cnYaJNhalLNDKOqFwyDB/rr1E9ZsGciGvKPs8R2xYGCacuf3z6K1YKDz182fd+fY3cn3pMqXQ== + dependencies: + universalify "^2.0.0" + optionalDependencies: + graceful-fs "^4.1.6" + +jsprim@^1.2.2: + version "1.4.2" + resolved "https://registry.yarnpkg.com/jsprim/-/jsprim-1.4.2.tgz#712c65533a15c878ba59e9ed5f0e26d5b77c5feb" + integrity sha512-P2bSOMAc/ciLz6DzgjVlGJP9+BrJWu5UDGK70C2iweC5QBIeFf0ZXRvGjEj2uYgrY2MkAAhsSWHDWlFtEroZWw== + dependencies: + assert-plus "1.0.0" + extsprintf "1.3.0" + json-schema "0.4.0" + verror "1.10.0" + +jsprim@^2.0.2: + version "2.0.2" + resolved "https://registry.yarnpkg.com/jsprim/-/jsprim-2.0.2.tgz#77ca23dbcd4135cd364800d22ff82c2185803d4d" + integrity sha512-gqXddjPqQ6G40VdnI6T6yObEC+pDNvyP95wdQhkWkg7crHH3km5qP1FsOXEkzEQwnz6gz5qGTn1c2Y52wP3OyQ== + dependencies: + assert-plus "1.0.0" + extsprintf "1.3.0" + json-schema "0.4.0" + verror "1.10.0" + +"jsx-ast-utils@^2.4.1 || ^3.0.0": + version "3.3.5" + resolved "https://registry.yarnpkg.com/jsx-ast-utils/-/jsx-ast-utils-3.3.5.tgz#4766bd05a8e2a11af222becd19e15575e52a853a" + integrity sha512-ZZow9HBI5O6EPgSJLUb8n2NKgmVWTwCvHGwFuJlMjvLFqlGG6pjirPhtdsseaLZjSibD8eegzmYpUZwoIlj2cQ== + dependencies: + array-includes "^3.1.6" + array.prototype.flat "^1.3.1" + object.assign "^4.1.4" + object.values "^1.1.6" + +keyv@^4.5.3: + version "4.5.4" + resolved "https://registry.yarnpkg.com/keyv/-/keyv-4.5.4.tgz#a879a99e29452f942439f2a405e3af8b31d4de93" + integrity sha512-oxVHkHR/EJf2CNXnWxRLW6mg7JyCCUcG0DtEGmL2ctUo1PNTin1PUil+r/+4r5MpVgC/fn1kjsx7mjSujKqIpw== + dependencies: + json-buffer "3.0.1" + +kind-of@^6.0.2: + version "6.0.3" + resolved "https://registry.yarnpkg.com/kind-of/-/kind-of-6.0.3.tgz#07c05034a6c349fa06e24fa35aa76db4580ce4dd" + integrity sha512-dcS1ul+9tmeD95T+x28/ehLgd9mENa3LsvDTtzm3vyBEO7RPptvAD+t44WVXaUjTBRcrpFeFlC8WCruUR456hw== + +kleur@^3.0.3: + version "3.0.3" + resolved "https://registry.yarnpkg.com/kleur/-/kleur-3.0.3.tgz#a79c9ecc86ee1ce3fa6206d1216c501f147fc07e" + integrity sha512-eTIzlVOSUR+JxdDFepEYcBMtZ9Qqdef+rnzWdRZuMbOywu5tO2w2N7rqjoANZ5k9vywhL6Br1VRjUIgTQx4E8w== + +klona@^2.0.6: + version "2.0.6" + resolved "https://registry.yarnpkg.com/klona/-/klona-2.0.6.tgz#85bffbf819c03b2f53270412420a4555ef882e22" + integrity sha512-dhG34DXATL5hSxJbIexCft8FChFXtmskoZYnoPWjXQuebWYCNkVeV3KkGegCK9CP1oswI/vQibS2GY7Em/sJJA== + +lazy-ass@^1.6.0: + version "1.6.0" + resolved "https://registry.yarnpkg.com/lazy-ass/-/lazy-ass-1.6.0.tgz#7999655e8646c17f089fdd187d150d3324d54513" + integrity sha512-cc8oEVoctTvsFZ/Oje/kGnHbpWHYBe8IAJe4C0QNc3t8uM/0Y8+erSz/7Y1ALuXTEZTMvxXwO6YbX1ey3ujiZw== + +lerc@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/lerc/-/lerc-3.0.0.tgz#36f36fbd4ba46f0abf4833799fff2e7d6865f5cb" + integrity sha512-Rm4J/WaHhRa93nCN2mwWDZFoRVF18G1f47C+kvQWyHGEZxFpTUi73p7lMVSAndyxGt6lJ2/CFbOcf9ra5p8aww== + +leven@^3.1.0: + version "3.1.0" + resolved "https://registry.yarnpkg.com/leven/-/leven-3.1.0.tgz#77891de834064cccba82ae7842bb6b14a13ed7f2" + integrity sha512-qsda+H8jTaUaN/x5vzW2rzc+8Rw4TAQ/4KjB46IwK5VH+IlVeeeje/EoZRpiXvIqjFgK84QffqPztGI3VBLG1A== + +levn@^0.4.1: + version "0.4.1" + resolved "https://registry.yarnpkg.com/levn/-/levn-0.4.1.tgz#ae4562c007473b932a6200d403268dd2fffc6ade" + integrity sha512-+bT2uH4E5LGE7h/n3evcS/sQlJXCpIp6ym8OWJ5eV6+67Dsql/LaaT7qJBAt2rzfoa/5QBGBhxDix1dMt2kQKQ== + dependencies: + prelude-ls "^1.2.1" + type-check "~0.4.0" + +lines-and-columns@^1.1.6: + version "1.2.4" + resolved "https://registry.yarnpkg.com/lines-and-columns/-/lines-and-columns-1.2.4.tgz#eca284f75d2965079309dc0ad9255abb2ebc1632" + integrity sha512-7ylylesZQ/PV29jhEDl3Ufjo6ZX7gCqJr5F7PKrqc93v7fzSymt1BpwEU8nAUXs8qzzvqhbjhK5QZg6Mt/HkBg== + +listr2@^3.8.3: + version "3.14.0" + resolved "https://registry.yarnpkg.com/listr2/-/listr2-3.14.0.tgz#23101cc62e1375fd5836b248276d1d2b51fdbe9e" + integrity sha512-TyWI8G99GX9GjE54cJ+RrNMcIFBfwMPxc3XTFiAYGN4s10hWROGtOg7+O6u6LE3mNkyld7RSLE6nrKBvTfcs3g== + dependencies: + cli-truncate "^2.1.0" + colorette "^2.0.16" + log-update "^4.0.0" + p-map "^4.0.0" + rfdc "^1.3.0" + rxjs "^7.5.1" + through "^2.3.8" + wrap-ansi "^7.0.0" + +livereload-js@^2.3.0: + version "2.4.0" + resolved "https://registry.yarnpkg.com/livereload-js/-/livereload-js-2.4.0.tgz#447c31cf1ea9ab52fc20db615c5ddf678f78009c" + integrity sha512-XPQH8Z2GDP/Hwz2PCDrh2mth4yFejwA1OZ/81Ti3LgKyhDcEjsSsqFWZojHG0va/duGd+WyosY7eXLDoOyqcPw== + +loader-runner@^4.2.0: + version "4.3.0" + resolved "https://registry.yarnpkg.com/loader-runner/-/loader-runner-4.3.0.tgz#c1b4a163b99f614830353b16755e7149ac2314e1" + integrity sha512-3R/1M+yS3j5ou80Me59j7F9IMs4PXs3VqRrm0TU3AbKPxlmpoY1TNscJV/oGJXo8qCatFGTfDbY6W6ipGOYXfg== + +loader-utils@^2.0.0: + version "2.0.4" + resolved "https://registry.yarnpkg.com/loader-utils/-/loader-utils-2.0.4.tgz#8b5cb38b5c34a9a018ee1fc0e6a066d1dfcc528c" + integrity sha512-xXqpXoINfFhgua9xiqD8fPFHgkoq1mmmpE92WlDbm9rNRd/EbRb+Gqf908T2DMfuHjjJlksiK2RbHVOdD/MqSw== + dependencies: + big.js "^5.2.2" + emojis-list "^3.0.0" + json5 "^2.1.2" + +locate-path@^5.0.0: + version "5.0.0" + resolved "https://registry.yarnpkg.com/locate-path/-/locate-path-5.0.0.tgz#1afba396afd676a6d42504d0a67a3a7eb9f62aa0" + integrity sha512-t7hw9pI+WvuwNJXwk5zVHpyhIqzg2qTlklJOf0mVxGSbe3Fp2VieZcduNYjaLDoy6p9uGpQEGWG87WpMKlNq8g== + dependencies: + p-locate "^4.1.0" + +locate-path@^6.0.0: + version "6.0.0" + resolved "https://registry.yarnpkg.com/locate-path/-/locate-path-6.0.0.tgz#55321eb309febbc59c4801d931a72452a681d286" + integrity sha512-iPZK6eYjbxRu3uB4/WZ3EsEIMJFMqAoopl3R+zuq0UjcAm/MO6KCweDgPfP3elTztoKP3KtnVHxTn2NHBSDVUw== + dependencies: + p-locate "^5.0.0" + +lodash.debounce@^4.0.8: + version "4.0.8" + resolved "https://registry.yarnpkg.com/lodash.debounce/-/lodash.debounce-4.0.8.tgz#82d79bff30a67c4005ffd5e2515300ad9ca4d7af" + integrity sha512-FT1yDzDYEoYWhnSGnpE/4Kj1fLZkDFyqRb7fNt6FdYOSxlUWAtp42Eh6Wb0rGIv/m9Bgo7x4GhQbm5Ys4SG5ow== + +lodash.isequal@^4.0.0: + version "4.5.0" + resolved "https://registry.yarnpkg.com/lodash.isequal/-/lodash.isequal-4.5.0.tgz#415c4478f2bcc30120c22ce10ed3226f7d3e18e0" + integrity sha512-pDo3lu8Jhfjqls6GkMgpahsF9kCyayhgykjyLMNFTKWrpVdAQtYyB4muAMWozBB4ig/dtWAmsMxLEI8wuz+DYQ== + +lodash.memoize@^4.1.1: + version "4.1.2" + resolved "https://registry.yarnpkg.com/lodash.memoize/-/lodash.memoize-4.1.2.tgz#bcc6c49a42a2840ed997f323eada5ecd182e0bfe" + integrity sha512-t7j+NzmgnQzTAYXcsHYLgimltOV1MXHtlOWf6GjL9Kj8GK5FInw5JotxvbOs+IvV1/Dzo04/fCGfLVs7aXb4Ag== + +lodash.merge@^4.6.2: + version "4.6.2" + resolved "https://registry.yarnpkg.com/lodash.merge/-/lodash.merge-4.6.2.tgz#558aa53b43b661e1925a0afdfa36a9a1085fe57a" + integrity sha512-0KpjqXRVvrYyCsX1swR/XTK0va6VQkQM6MNo7PqW77ByjAhoARA8EfrP1N4+KlKj8YS0ZUCtRT/YUuhyYDujIQ== + +lodash.once@^4.1.1: + version "4.1.1" + resolved "https://registry.yarnpkg.com/lodash.once/-/lodash.once-4.1.1.tgz#0dd3971213c7c56df880977d504c88fb471a97ac" + integrity sha512-Sb487aTOCr9drQVL8pIxOzVhafOjZN9UU54hiN8PU3uAiSV7lx1yYNpbNmex2PK6dSJoNTSJUUswT651yww3Mg== + +lodash@4.17.21, lodash@^4.1.1, lodash@^4.17.14, lodash@^4.17.15, lodash@^4.17.20, lodash@^4.17.21, lodash@^4.17.4: + version "4.17.21" + resolved "https://registry.yarnpkg.com/lodash/-/lodash-4.17.21.tgz#679591c564c3bffaae8454cf0b3df370c3d6911c" + integrity sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg== + +log-symbols@4.1.0, log-symbols@^4.0.0: + version "4.1.0" + resolved "https://registry.yarnpkg.com/log-symbols/-/log-symbols-4.1.0.tgz#3fbdbb95b4683ac9fc785111e792e558d4abd503" + integrity sha512-8XPvpAA8uyhfteu8pIvQxpJZ7SYYdpUivZpGy6sFsBuKRY/7rQGavedeB8aK+Zkyq6upMFVL/9AW6vOYzfRyLg== + dependencies: + chalk "^4.1.0" + is-unicode-supported "^0.1.0" + +log-update@^4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/log-update/-/log-update-4.0.0.tgz#589ecd352471f2a1c0c570287543a64dfd20e0a1" + integrity sha512-9fkkDevMefjg0mmzWFBW8YkFP91OrizzkW3diF7CpG+S2EYdy4+TVfGwz1zeF8x7hCx1ovSPTOE9Ngib74qqUg== + dependencies: + ansi-escapes "^4.3.0" + cli-cursor "^3.1.0" + slice-ansi "^4.0.0" + wrap-ansi "^6.2.0" + +log4js@1.1.1: + version "1.1.1" + resolved "https://registry.yarnpkg.com/log4js/-/log4js-1.1.1.tgz#c21d29c7604089e4f255833e7f94b3461de1ff43" + integrity sha512-lYb14ZSs1M/CUFuvy7Zk3VZLDtqrqOaVql9CE0tv8g6/qE1Gfq97XKdltBsjSxxvcJ+t8fAXOnvFxSsms7gGVg== + dependencies: + debug "^2.2.0" + semver "^5.3.0" + streamroller "^0.4.0" + +loose-envify@^1.0.0, loose-envify@^1.1.0, loose-envify@^1.2.0, loose-envify@^1.3.1, loose-envify@^1.4.0: + version "1.4.0" + resolved "https://registry.yarnpkg.com/loose-envify/-/loose-envify-1.4.0.tgz#71ee51fa7be4caec1a63839f7e682d8132d30caf" + integrity sha512-lyuxPGr/Wfhrlem2CL/UcnUc1zcqKAImBDzukY7Y5F/yQiNdko6+fRLevlw1HgMySw7f611UIY408EtxRSoK3Q== + dependencies: + js-tokens "^3.0.0 || ^4.0.0" + +lru-cache@^5.1.1: + version "5.1.1" + resolved "https://registry.yarnpkg.com/lru-cache/-/lru-cache-5.1.1.tgz#1da27e6710271947695daf6848e847f01d84b920" + integrity sha512-KpNARQA3Iwv+jTA0utUVVbrh+Jlrr1Fv0e56GGzAFOXN7dk/FviaDW8LHmK52DlcH4WP2n6gI8vN1aesBFgo9w== + dependencies: + yallist "^3.0.2" + +lru-cache@^6.0.0: + version "6.0.0" + resolved "https://registry.yarnpkg.com/lru-cache/-/lru-cache-6.0.0.tgz#6d6fe6570ebd96aaf90fcad1dafa3b2566db3a94" + integrity sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA== + dependencies: + yallist "^4.0.0" + +"lru-cache@^9.1.1 || ^10.0.0": + version "10.1.0" + resolved "https://registry.yarnpkg.com/lru-cache/-/lru-cache-10.1.0.tgz#2098d41c2dc56500e6c88584aa656c84de7d0484" + integrity sha512-/1clY/ui8CzjKFyjdvwPWJUYKiFVXG2I2cY0ssG7h4+hwk+XOIX7ZSG9Q7TW8TW3Kp3BUSqgFWBLgL4PJ+Blag== + +lz-string@^1.5.0: + version "1.5.0" + resolved "https://registry.yarnpkg.com/lz-string/-/lz-string-1.5.0.tgz#c1ab50f77887b712621201ba9fd4e3a6ed099941" + integrity sha512-h5bgJWpxJNswbU7qCrV0tIKQCaS3blPDrqKWx+QxzuzL1zGUzij9XCWLrSLsJPu5t+eWA/ycetzYAO5IOMcWAQ== + +make-dir@^3.0.2: + version "3.1.0" + resolved "https://registry.yarnpkg.com/make-dir/-/make-dir-3.1.0.tgz#415e967046b3a7f1d185277d84aa58203726a13f" + integrity sha512-g3FeP20LNwhALb/6Cz6Dd4F2ngze0jz7tbzrD2wAV+o9FeNHe4rL+yK2md0J/fiSf1sa1ADhXqi5+oVwOM/eGw== + dependencies: + semver "^6.0.0" + +make-dir@^4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/make-dir/-/make-dir-4.0.0.tgz#c3c2307a771277cd9638305f915c29ae741b614e" + integrity sha512-hXdUTZYIVOt1Ex//jAQi+wTZZpUpwBj/0QsOzqegb3rGMMeJiSEu5xLHnYfBrRV4RH2+OCSOO95Is/7x1WJ4bw== + dependencies: + semver "^7.5.3" + +make-error@^1.1.1: + version "1.3.6" + resolved "https://registry.yarnpkg.com/make-error/-/make-error-1.3.6.tgz#2eb2e37ea9b67c4891f684a1394799af484cf7a2" + integrity sha512-s8UhlNe7vPKomQhC1qFelMokr/Sc3AgNbso3n74mVPA5LTZwkB9NlXf4XPamLxJE8h0gh73rM94xvwRT2CVInw== + +makeerror@1.0.12: + version "1.0.12" + resolved "https://registry.yarnpkg.com/makeerror/-/makeerror-1.0.12.tgz#3e5dd2079a82e812e983cc6610c4a2cb0eaa801a" + integrity sha512-JmqCvUhmt43madlpFzG4BQzG2Z3m6tvQDNKdClZnO3VbIudJYmxsT0FNJMeiB2+JTSlTQTSbU8QdesVmwJcmLg== + dependencies: + tmpl "1.0.5" + +mapbox-to-css-font@^2.4.1: + version "2.4.2" + resolved "https://registry.yarnpkg.com/mapbox-to-css-font/-/mapbox-to-css-font-2.4.2.tgz#a9e31b363ad8ca881cd339ca99f2d2a6b02ea5dd" + integrity sha512-f+NBjJJY4T3dHtlEz1wCG7YFlkODEjFIYlxDdLIDMNpkSksqTt+l/d4rjuwItxuzkuMFvPyrjzV2lxRM4ePcIA== + +marked@4.2.12: + version "4.2.12" + resolved "https://registry.yarnpkg.com/marked/-/marked-4.2.12.tgz#d69a64e21d71b06250da995dcd065c11083bebb5" + integrity sha512-yr8hSKa3Fv4D3jdZmtMMPghgVt6TWbk86WQaWhDloQjRSQhMMYCAro7jP7VDJrjjdV8pxVxMssXS8B8Y5DZ5aw== + +mdn-data@2.0.14: + version "2.0.14" + resolved "https://registry.yarnpkg.com/mdn-data/-/mdn-data-2.0.14.tgz#7113fc4281917d63ce29b43446f701e68c25ba50" + integrity sha512-dn6wd0uw5GsdswPFfsgMp5NSB0/aDe6fK94YJV/AJDYXL6HVLWBsxeq7js7Ad+mU2K9LAlwpk6kN2D5mwCPVow== + +memfs@^3.4.1: + version "3.6.0" + resolved "https://registry.yarnpkg.com/memfs/-/memfs-3.6.0.tgz#d7a2110f86f79dd950a8b6df6d57bc984aa185f6" + integrity sha512-EGowvkkgbMcIChjMTMkESFDbZeSh8xZ7kNSF0hAiAN4Jh6jgHCRS0Ga/+C8y6Au+oqpezRHCfPsmJ2+DwAgiwQ== + dependencies: + fs-monkey "^1.0.4" + +memoize-one@6.0.0, memoize-one@^6.0.0: + version "6.0.0" + resolved "https://registry.yarnpkg.com/memoize-one/-/memoize-one-6.0.0.tgz#b2591b871ed82948aee4727dc6abceeeac8c1045" + integrity sha512-rkpe71W0N0c0Xz6QD0eJETuWAJGnJ9afsl1srmwPrI+yBCkge5EycXXbYRyvL29zZVUWQCY7InPRCv3GDXuZNw== + +"memoize-one@>=3.1.1 <6", memoize-one@^5.1.1: + version "5.2.1" + resolved "https://registry.yarnpkg.com/memoize-one/-/memoize-one-5.2.1.tgz#8337aa3c4335581839ec01c3d594090cebe8f00e" + integrity sha512-zYiwtZUcYyXKo/np96AGZAckk+FWWsUdJ3cHGGmld7+AhvcWmQyGCYUh1hc4Q/pkOhb65dQR/pqCyK0cOaHz4Q== + +memoize-one@^4.0.0: + version "4.1.0" + resolved "https://registry.yarnpkg.com/memoize-one/-/memoize-one-4.1.0.tgz#a2387c58c03fff27ca390c31b764a79addf3f906" + integrity sha512-2GApq0yI/b22J2j9rhbrAlsHb0Qcz+7yWxeLG8h+95sl1XPUgeLimQSOdur4Vw7cUhrBHwaUZxWFZueojqNRzA== + +memory-fs@^0.5.0: + version "0.5.0" + resolved "https://registry.yarnpkg.com/memory-fs/-/memory-fs-0.5.0.tgz#324c01288b88652966d161db77838720845a8e3c" + integrity sha512-jA0rdU5KoQMC0e6ppoNRtpp6vjFq6+NY7r8hywnC7V+1Xj/MtHwGIbB1QaK/dunyjWteJzmkpd7ooeWg10T7GA== + dependencies: + errno "^0.1.3" + readable-stream "^2.0.1" + +merge-stream@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/merge-stream/-/merge-stream-2.0.0.tgz#52823629a14dd00c9770fb6ad47dc6310f2c1f60" + integrity sha512-abv/qOcuPfk3URPfDzmZU1LKmuw8kT+0nIHvKrKgFrwifol/doWcdA4ZqsWQ8ENrFKkd67Mfpo/LovbIUsbt3w== + +merge2@^1.3.0, merge2@^1.4.1: + version "1.4.1" + resolved "https://registry.yarnpkg.com/merge2/-/merge2-1.4.1.tgz#4368892f885e907455a6fd7dc55c0c9d404990ae" + integrity sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg== + +micromatch@^4.0.0, micromatch@^4.0.4, micromatch@^4.0.5: + version "4.0.5" + resolved "https://registry.yarnpkg.com/micromatch/-/micromatch-4.0.5.tgz#bc8999a7cbbf77cdc89f132f6e467051b49090c6" + integrity sha512-DMy+ERcEW2q8Z2Po+WNXuw3c5YaUSFjAO5GsJqfEl7UjvtIuFKO6ZrKvcItdy98dwFI2N1tg3zNIdKaQT+aNdA== + dependencies: + braces "^3.0.2" + picomatch "^2.3.1" + +mime-db@1.52.0: + version "1.52.0" + resolved "https://registry.yarnpkg.com/mime-db/-/mime-db-1.52.0.tgz#bbabcdc02859f4987301c856e3387ce5ec43bf70" + integrity sha512-sPU4uV7dYlvtWJxwwxHD0PuihVNiE7TyAbQ5SWxDCB9mUYvOgroQOwYQQOKPJ8CIbE+1ETVlOoK1UC2nU3gYvg== + +mime-types@^2.1.12, mime-types@^2.1.27, mime-types@~2.1.19: + version "2.1.35" + resolved "https://registry.yarnpkg.com/mime-types/-/mime-types-2.1.35.tgz#381a871b62a734450660ae3deee44813f70d959a" + integrity sha512-ZDY+bPm5zTTF+YpCrAU9nK0UgICYPT0QtT1NZWFv4s++TNkcgVaT0g6+4R2uI4MjQjzysHB1zxuWL50hzaeXiw== + dependencies: + mime-db "1.52.0" + +mimic-fn@^2.1.0: + version "2.1.0" + resolved "https://registry.yarnpkg.com/mimic-fn/-/mimic-fn-2.1.0.tgz#7ed2c2ccccaf84d3ffcb7a69b57711fc2083401b" + integrity sha512-OqbOk5oEQeAZ8WXWydlu9HJjz9WVdEIvamMCcXmuqUYjTknH/sqsWvhQ3vgwKFRR1HpjvNBKQ37nbJgYzGqGcg== + +min-indent@^1.0.0: + version "1.0.1" + resolved "https://registry.yarnpkg.com/min-indent/-/min-indent-1.0.1.tgz#a63f681673b30571fbe8bc25686ae746eefa9869" + integrity sha512-I9jwMn07Sy/IwOj3zVkVik2JTvgpaykDZEigL6Rx6N9LbMywwUSMtxET+7lVoDLLd3O3IXwJwvuuns8UB/HeAg== + +mini-create-react-context@^0.4.0: + version "0.4.1" + resolved "https://registry.yarnpkg.com/mini-create-react-context/-/mini-create-react-context-0.4.1.tgz#072171561bfdc922da08a60c2197a497cc2d1d5e" + integrity sha512-YWCYEmd5CQeHGSAKrYvXgmzzkrvssZcuuQDDeqkT+PziKGMgE+0MCCtcKbROzocGBG1meBLl2FotlRwf4gAzbQ== + dependencies: + "@babel/runtime" "^7.12.1" + tiny-warning "^1.0.3" + +minimatch@5.0.1: + version "5.0.1" + resolved "https://registry.yarnpkg.com/minimatch/-/minimatch-5.0.1.tgz#fb9022f7528125187c92bd9e9b6366be1cf3415b" + integrity sha512-nLDxIFRyhDblz3qMuq+SoRZED4+miJ/G+tdDrjkkkRnjAsBexeGpgjLEQ0blJy7rHhR2b93rhQY4SvyWu9v03g== + dependencies: + brace-expansion "^2.0.1" + +minimatch@9.0.3, minimatch@^9.0.1: + version "9.0.3" + resolved "https://registry.yarnpkg.com/minimatch/-/minimatch-9.0.3.tgz#a6e00c3de44c3a542bfaae70abfc22420a6da825" + integrity sha512-RHiac9mvaRw0x3AYRgDC1CxAP7HTcNrrECeA8YYJeWnpo+2Q5CegtZjaotWTWxDG3UeGA1coE05iH1mPjT/2mg== + dependencies: + brace-expansion "^2.0.1" + +minimatch@^3.0.4, minimatch@^3.0.5, minimatch@^3.1.1, minimatch@^3.1.2: + version "3.1.2" + resolved "https://registry.yarnpkg.com/minimatch/-/minimatch-3.1.2.tgz#19cd194bfd3e428f049a70817c038d89ab4be35b" + integrity sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw== + dependencies: + brace-expansion "^1.1.7" + +minimatch@^8.0.2: + version "8.0.4" + resolved "https://registry.yarnpkg.com/minimatch/-/minimatch-8.0.4.tgz#847c1b25c014d4e9a7f68aaf63dedd668a626229" + integrity sha512-W0Wvr9HyFXZRGIDgCicunpQ299OKXs9RgZfaukz4qAW/pJhcpUfupc9c+OObPOFueNy8VSrZgEmDtk6Kh4WzDA== + dependencies: + brace-expansion "^2.0.1" + +minimist@^1.2.5, minimist@^1.2.6: + version "1.2.8" + resolved "https://registry.yarnpkg.com/minimist/-/minimist-1.2.8.tgz#c1a464e7693302e082a075cee0c057741ac4772c" + integrity sha512-2yyAR8qBkN3YuheJanUpWC5U3bb5osDywNB8RzDVlDwDHbocAJveqqj1u8+SVD7jkWT4yvsHCpWqqWqAxb0zCA== + +minipass@^4.2.4: + version "4.2.8" + resolved "https://registry.yarnpkg.com/minipass/-/minipass-4.2.8.tgz#f0010f64393ecfc1d1ccb5f582bcaf45f48e1a3a" + integrity sha512-fNzuVyifolSLFL4NzpF+wEF4qrgqaaKX0haXPQEdQ7NKAN+WecoKMHV09YcuL/DHxrUsYQOK3MiuDf7Ip2OXfQ== + +"minipass@^5.0.0 || ^6.0.2 || ^7.0.0": + version "7.0.4" + resolved "https://registry.yarnpkg.com/minipass/-/minipass-7.0.4.tgz#dbce03740f50a4786ba994c1fb908844d27b038c" + integrity sha512-jYofLM5Dam9279rdkWzqHozUo4ybjdZmCsDHePy5V/PbBcVMiSZR97gmAy45aqi8CK1lG2ECd356FU86avfwUQ== + +mkdirp@^0.5.1, mkdirp@^0.5.6: + version "0.5.6" + resolved "https://registry.yarnpkg.com/mkdirp/-/mkdirp-0.5.6.tgz#7def03d2432dcae4ba1d611445c48396062255f6" + integrity sha512-FP+p8RB8OWpF3YZBCrP5gtADmtXApB5AMLn+vdyA+PyxCjrCs00mjyUozssO33cwDeT3wNGdLxJ5M//YqtHAJw== + dependencies: + minimist "^1.2.6" + +mocha@10.2.0: + version "10.2.0" + resolved "https://registry.yarnpkg.com/mocha/-/mocha-10.2.0.tgz#1fd4a7c32ba5ac372e03a17eef435bd00e5c68b8" + integrity sha512-IDY7fl/BecMwFHzoqF2sg/SHHANeBoMMXFlS9r0OXKDssYE1M5O43wUY/9BVPeIvfH2zmEbBfseqN9gBQZzXkg== + dependencies: + ansi-colors "4.1.1" + browser-stdout "1.3.1" + chokidar "3.5.3" + debug "4.3.4" + diff "5.0.0" + escape-string-regexp "4.0.0" + find-up "5.0.0" + glob "7.2.0" + he "1.2.0" + js-yaml "4.1.0" + log-symbols "4.1.0" + minimatch "5.0.1" + ms "2.1.3" + nanoid "3.3.3" + serialize-javascript "6.0.0" + strip-json-comments "3.1.1" + supports-color "8.1.1" + workerpool "6.2.1" + yargs "16.2.0" + yargs-parser "20.2.4" + yargs-unparser "2.0.0" + +moment-timezone@0.5.41: + version "0.5.41" + resolved "https://registry.yarnpkg.com/moment-timezone/-/moment-timezone-0.5.41.tgz#a7ad3285fd24aaf5f93b8119a9d749c8039c64c5" + integrity sha512-e0jGNZDOHfBXJGz8vR/sIMXvBIGJJcqFjmlg9lmE+5KX1U7/RZNMswfD8nKnNCnQdKTIj50IaRKwl1fvMLyyRg== + dependencies: + moment "^2.29.4" + +moment@2.29.4: + version "2.29.4" + resolved "https://registry.yarnpkg.com/moment/-/moment-2.29.4.tgz#3dbe052889fe7c1b2ed966fcb3a77328964ef108" + integrity sha512-5LC9SOxjSc2HF6vO2CyuTDNivEdoz2IvyJJGj6X8DJ0eFyfszE0QiEd+iXmBvUP3WHxSjFH/vIsA0EN00cgr8w== + +moment@2.x, moment@^2.29.4: + version "2.30.1" + resolved "https://registry.yarnpkg.com/moment/-/moment-2.30.1.tgz#f8c91c07b7a786e30c59926df530b4eac96974ae" + integrity sha512-uEmtNhbDOrWPFS+hdjFCBfy9f2YoyzRpwcl+DqpC6taX21FzsTLQVbMV/W7PzNSX6x/bhC1zA3c2UQ5NzH6how== + +monaco-editor@0.34.0: + version "0.34.0" + resolved "https://registry.yarnpkg.com/monaco-editor/-/monaco-editor-0.34.0.tgz#b1749870a1f795dbfc4dc03d8e9b646ddcbeefa7" + integrity sha512-VF+S5zG8wxfinLKLrWcl4WUizMx+LeJrG4PM/M78OhcwocpV0jiyhX/pG6Q9jIOhrb/ckYi6nHnaR5OojlOZCQ== + +ms@2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/ms/-/ms-2.0.0.tgz#5608aeadfc00be6c2901df5f9861788de0d597c8" + integrity sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A== + +ms@2.1.2: + version "2.1.2" + resolved "https://registry.yarnpkg.com/ms/-/ms-2.1.2.tgz#d09d1f357b443f493382a8eb3ccd183872ae6009" + integrity sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w== + +ms@2.1.3, ms@^2.1.1: + version "2.1.3" + resolved "https://registry.yarnpkg.com/ms/-/ms-2.1.3.tgz#574c8138ce1d2b5861f0b44579dbadd60c6615b2" + integrity sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA== + +murmurhash-js@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/murmurhash-js/-/murmurhash-js-1.0.0.tgz#b06278e21fc6c37fa5313732b0412bcb6ae15f51" + integrity sha512-TvmkNhkv8yct0SVBSy+o8wYzXjE4Zz3PCesbfs8HiCXXdcTuocApFv11UWlNFWKYsP2okqrhb7JNlSm9InBhIw== + +nano-css@^5.3.1: + version "5.6.1" + resolved "https://registry.yarnpkg.com/nano-css/-/nano-css-5.6.1.tgz#964120cb1af6cccaa6d0717a473ccd876b34c197" + integrity sha512-T2Mhc//CepkTa3X4pUhKgbEheJHYAxD0VptuqFhDbGMUWVV2m+lkNiW/Ieuj35wrfC8Zm0l7HvssQh7zcEttSw== + dependencies: + "@jridgewell/sourcemap-codec" "^1.4.15" + css-tree "^1.1.2" + csstype "^3.1.2" + fastest-stable-stringify "^2.0.2" + inline-style-prefixer "^7.0.0" + rtl-css-js "^1.16.1" + stacktrace-js "^2.0.2" + stylis "^4.3.0" + +nanoid@3.3.3: + version "3.3.3" + resolved "https://registry.yarnpkg.com/nanoid/-/nanoid-3.3.3.tgz#fd8e8b7aa761fe807dba2d1b98fb7241bb724a25" + integrity sha512-p1sjXuopFs0xg+fPASzQ28agW1oHD7xDsd9Xkf3T15H3c/cifrFHVwrh74PdoklAPi+i7MdRsE47vm2r6JoB+w== + +nanoid@^3.3.7: + version "3.3.7" + resolved "https://registry.yarnpkg.com/nanoid/-/nanoid-3.3.7.tgz#d0c301a691bc8d54efa0a2226ccf3fe2fd656bd8" + integrity sha512-eSRppjcPIatRIMC1U6UngP8XFcz8MQWGQdt1MTBQ7NaAmvXDfvNxbvWV3x2y6CdEUciCSsDHDQZbhYaB8QEo2g== + +natural-compare-lite@^1.4.0: + version "1.4.0" + resolved "https://registry.yarnpkg.com/natural-compare-lite/-/natural-compare-lite-1.4.0.tgz#17b09581988979fddafe0201e931ba933c96cbb4" + integrity sha512-Tj+HTDSJJKaZnfiuw+iaF9skdPpTo2GtEly5JHnWV/hfv2Qj/9RKsGISQtLh2ox3l5EAGw487hnBee0sIJ6v2g== + +natural-compare@^1.4.0: + version "1.4.0" + resolved "https://registry.yarnpkg.com/natural-compare/-/natural-compare-1.4.0.tgz#4abebfeed7541f2c27acfb29bdbbd15c8d5ba4f7" + integrity sha512-OWND8ei3VtNC9h7V60qff3SVobHr996CTwgxubgyQYEpg290h9J0buyECNNJexkFm5sOajh5G116RYA1c8ZMSw== + +neo-async@^2.6.2: + version "2.6.2" + resolved "https://registry.yarnpkg.com/neo-async/-/neo-async-2.6.2.tgz#b4aafb93e3aeb2d8174ca53cf163ab7d7308305f" + integrity sha512-Yd3UES5mWCSqR+qNT93S3UoYUkqAZ9lLg8a7g9rimsWmYGK8cVToA4/sF3RrshdyV3sAGMXVUmpMYOw+dLpOuw== + +node-abort-controller@^3.0.1: + version "3.1.1" + resolved "https://registry.yarnpkg.com/node-abort-controller/-/node-abort-controller-3.1.1.tgz#a94377e964a9a37ac3976d848cb5c765833b8548" + integrity sha512-AGK2yQKIjRuqnc6VkX2Xj5d+QW8xZ87pa1UK6yA6ouUyuxfHuMP6umE5QK7UmTeOAymo+Zx1Fxiuw9rVx8taHQ== + +node-int64@^0.4.0: + version "0.4.0" + resolved "https://registry.yarnpkg.com/node-int64/-/node-int64-0.4.0.tgz#87a9065cdb355d3182d8f94ce11188b825c68a3b" + integrity sha512-O5lz91xSOeoXP6DulyHfllpq+Eg00MWitZIbtPfoSEvqIHdl5gfcY6hYzDWnj0qD5tz52PI08u9qUvSVeUBeHw== + +node-releases@^2.0.14: + version "2.0.14" + resolved "https://registry.yarnpkg.com/node-releases/-/node-releases-2.0.14.tgz#2ffb053bceb8b2be8495ece1ab6ce600c4461b0b" + integrity sha512-y10wOWt8yZpqXmOgRo77WaHEmhYQYGNA6y421PKsKYWEK8aW+cqAphborZDhqfyKrbZEN92CN1X2KbafY2s7Yw== + +normalize-path@^3.0.0, normalize-path@~3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/normalize-path/-/normalize-path-3.0.0.tgz#0dcd69ff23a1c9b11fd0978316644a0388216a65" + integrity sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA== + +npm-run-path@^4.0.0, npm-run-path@^4.0.1: + version "4.0.1" + resolved "https://registry.yarnpkg.com/npm-run-path/-/npm-run-path-4.0.1.tgz#b7ecd1e5ed53da8e37a55e1c2269e0b97ed748ea" + integrity sha512-S48WzZW777zhNIrn7gxOlISNAqi9ZC/uQFnRdbeIHhZhCA6UqpkOT8T1G7BvfdgP4Er8gF4sUbaS0i7QvIfCWw== + dependencies: + path-key "^3.0.0" + +nwsapi@^2.2.2: + version "2.2.7" + resolved "https://registry.yarnpkg.com/nwsapi/-/nwsapi-2.2.7.tgz#738e0707d3128cb750dddcfe90e4610482df0f30" + integrity sha512-ub5E4+FBPKwAZx0UwIQOjYWGHTEq5sPqHQNRN8Z9e4A7u3Tj1weLJsL59yH9vmvqEtBHaOmT6cYQKIZOxp35FQ== + +oauth-sign@~0.9.0: + version "0.9.0" + resolved "https://registry.yarnpkg.com/oauth-sign/-/oauth-sign-0.9.0.tgz#47a7b016baa68b5fa0ecf3dee08a85c679ac6455" + integrity sha512-fexhUFFPTGV8ybAtSIGbV6gOkSv8UtRbDBnAyLQw4QPKkgNlsH2ByPGtMUqdWkos6YCRmAqViwgZrJc/mRDzZQ== + +object-assign@4.x, object-assign@^4.1.0, object-assign@^4.1.1: + version "4.1.1" + resolved "https://registry.yarnpkg.com/object-assign/-/object-assign-4.1.1.tgz#2109adc7965887cfc05cbbd442cac8bfbb360863" + integrity sha512-rJgTQnkUnH1sFw8yT6VSU3zD3sWmu6sZhIseY8VX+GRu3P6F7Fu+JNDoXfklElbLJSnc3FUQHVe4cU5hj+BcUg== + +object-inspect@^1.13.1, object-inspect@^1.9.0: + version "1.13.1" + resolved "https://registry.yarnpkg.com/object-inspect/-/object-inspect-1.13.1.tgz#b96c6109324ccfef6b12216a956ca4dc2ff94bc2" + integrity sha512-5qoj1RUiKOMsCCNLV1CBiPYE10sziTsnmNxkAI/rZhiD63CF7IqdFGC/XzjWjpSgLf0LxXX3bDFIh0E18f6UhQ== + +object-is@^1.1.5: + version "1.1.5" + resolved "https://registry.yarnpkg.com/object-is/-/object-is-1.1.5.tgz#b9deeaa5fc7f1846a0faecdceec138e5778f53ac" + integrity sha512-3cyDsyHgtmi7I7DfSSI2LDp6SK2lwvtbg0p0R1e0RvTqF5ceGx+K2dfSjm1bKDMVCFEDAQvy+o8c6a7VujOddw== + dependencies: + call-bind "^1.0.2" + define-properties "^1.1.3" + +object-keys@^1.1.1: + version "1.1.1" + resolved "https://registry.yarnpkg.com/object-keys/-/object-keys-1.1.1.tgz#1c47f272df277f3b1daf061677d9c82e2322c60e" + integrity sha512-NuAESUOUMrlIXOfHKzD6bpPu3tYt3xvjNdRIQ+FeT0lNb4K8WR70CaDxhuNguS2XG+GjkyMwOzsN5ZktImfhLA== + +object.assign@^4.1.4: + version "4.1.5" + resolved "https://registry.yarnpkg.com/object.assign/-/object.assign-4.1.5.tgz#3a833f9ab7fdb80fc9e8d2300c803d216d8fdbb0" + integrity sha512-byy+U7gp+FVwmyzKPYhW2h5l3crpmGsxl7X2s8y43IgxvG4g3QZ6CffDtsNQy1WsmZpQbO+ybo0AlW7TY6DcBQ== + dependencies: + call-bind "^1.0.5" + define-properties "^1.2.1" + has-symbols "^1.0.3" + object-keys "^1.1.1" + +object.entries@^1.1.6: + version "1.1.7" + resolved "https://registry.yarnpkg.com/object.entries/-/object.entries-1.1.7.tgz#2b47760e2a2e3a752f39dd874655c61a7f03c131" + integrity sha512-jCBs/0plmPsOnrKAfFQXRG2NFjlhZgjjcBLSmTnEhU8U6vVTsVe8ANeQJCHTl3gSsI4J+0emOoCgoKlmQPMgmA== + dependencies: + call-bind "^1.0.2" + define-properties "^1.2.0" + es-abstract "^1.22.1" + +object.fromentries@^2.0.6: + version "2.0.7" + resolved "https://registry.yarnpkg.com/object.fromentries/-/object.fromentries-2.0.7.tgz#71e95f441e9a0ea6baf682ecaaf37fa2a8d7e616" + integrity sha512-UPbPHML6sL8PI/mOqPwsH4G6iyXcCGzLin8KvEPenOZN5lpCNBZZQ+V62vdjB1mQHrmqGQt5/OJzemUA+KJmEA== + dependencies: + call-bind "^1.0.2" + define-properties "^1.2.0" + es-abstract "^1.22.1" + +object.hasown@^1.1.2: + version "1.1.3" + resolved "https://registry.yarnpkg.com/object.hasown/-/object.hasown-1.1.3.tgz#6a5f2897bb4d3668b8e79364f98ccf971bda55ae" + integrity sha512-fFI4VcYpRHvSLXxP7yiZOMAd331cPfd2p7PFDVbgUsYOfCT3tICVqXWngbjr4m49OvsBwUBQ6O2uQoJvy3RexA== + dependencies: + define-properties "^1.2.0" + es-abstract "^1.22.1" + +object.values@^1.1.6: + version "1.1.7" + resolved "https://registry.yarnpkg.com/object.values/-/object.values-1.1.7.tgz#617ed13272e7e1071b43973aa1655d9291b8442a" + integrity sha512-aU6xnDFYT3x17e/f0IiiwlGPTy2jzMySGfUB4fq6z7CV8l85CWHDk5ErhyhpfDHhrOMwGFhSQkhMGHaIotA6Ng== + dependencies: + call-bind "^1.0.2" + define-properties "^1.2.0" + es-abstract "^1.22.1" + +ol-mapbox-style@^9.2.0: + version "9.7.0" + resolved "https://registry.yarnpkg.com/ol-mapbox-style/-/ol-mapbox-style-9.7.0.tgz#38a4f7abc8f0a94f378dcdb7cefdcc69ca3f6287" + integrity sha512-YX3u8FBJHsRHaoGxmd724Mp5WPTuV7wLQW6zZhcihMuInsSdCX1EiZfU+8IAL7jG0pbgl5YgC0aWE/MXJcUXxg== + dependencies: + "@mapbox/mapbox-gl-style-spec" "^13.23.1" + mapbox-to-css-font "^2.4.1" + +ol@7.2.2: + version "7.2.2" + resolved "https://registry.yarnpkg.com/ol/-/ol-7.2.2.tgz#d675a1525fd995a29a70a9a9fa9c3a9bc827aa39" + integrity sha512-eqJ1hhVQQ3Ap4OhYq9DRu5pz9RMpLhmoTauDoIqpn7logVi1AJE+lXjEHrPrTSuZYjtFbMgqr07sxoLNR65nrw== + dependencies: + earcut "^2.2.3" + geotiff "^2.0.7" + ol-mapbox-style "^9.2.0" + pbf "3.2.1" + rbush "^3.0.1" + +once@^1.3.0, once@^1.3.1, once@^1.4.0: + version "1.4.0" + resolved "https://registry.yarnpkg.com/once/-/once-1.4.0.tgz#583b1aa775961d4b113ac17d9c50baef9dd76bd1" + integrity sha512-lNaJgI+2Q5URQBkccEKHTQOPaXdUxnZZElQTZY0MFUAuaEqe1E+Nyvgdz/aIyNi6Z9MzO5dv1H8n58/GELp3+w== + dependencies: + wrappy "1" + +onetime@^5.1.0, onetime@^5.1.2: + version "5.1.2" + resolved "https://registry.yarnpkg.com/onetime/-/onetime-5.1.2.tgz#d0e96ebb56b07476df1dd9c4806e5237985ca45e" + integrity sha512-kbpaSSGJTWdAY5KPVeMOKXSrPtr8C8C7wodJbcsd51jRnmD+GZu8Y0VoU6Dm5Z4vWr0Ig/1NKuWRKf7j5aaYSg== + dependencies: + mimic-fn "^2.1.0" + +optionator@^0.9.1: + version "0.9.3" + resolved "https://registry.yarnpkg.com/optionator/-/optionator-0.9.3.tgz#007397d44ed1872fdc6ed31360190f81814e2c64" + integrity sha512-JjCoypp+jKn1ttEFExxhetCKeJt9zhAgAve5FXHixTvFDW/5aEktX9bufBKLRRMdU7bNtpLfcGu94B3cdEJgjg== + dependencies: + "@aashutoshrathi/word-wrap" "^1.2.3" + deep-is "^0.1.3" + fast-levenshtein "^2.0.6" + levn "^0.4.1" + prelude-ls "^1.2.1" + type-check "^0.4.0" + +ospath@^1.2.2: + version "1.2.2" + resolved "https://registry.yarnpkg.com/ospath/-/ospath-1.2.2.tgz#1276639774a3f8ef2572f7fe4280e0ea4550c07b" + integrity sha512-o6E5qJV5zkAbIDNhGSIlyOhScKXgQrSRMilfph0clDfM0nEnBOlKlH4sWDmG95BW/CvwNz0vmm7dJVtU2KlMiA== + +p-limit@^2.2.0: + version "2.3.0" + resolved "https://registry.yarnpkg.com/p-limit/-/p-limit-2.3.0.tgz#3dd33c647a214fdfffd835933eb086da0dc21db1" + integrity sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w== + dependencies: + p-try "^2.0.0" + +p-limit@^3.0.2, p-limit@^3.1.0: + version "3.1.0" + resolved "https://registry.yarnpkg.com/p-limit/-/p-limit-3.1.0.tgz#e1daccbe78d0d1388ca18c64fea38e3e57e3706b" + integrity sha512-TYOanM3wGwNGsZN2cVTYPArw454xnXj5qmWF1bEoAc4+cU/ol7GVh7odevjp1FNHduHc3KZMcFduxU5Xc6uJRQ== + dependencies: + yocto-queue "^0.1.0" + +p-locate@^4.1.0: + version "4.1.0" + resolved "https://registry.yarnpkg.com/p-locate/-/p-locate-4.1.0.tgz#a3428bb7088b3a60292f66919278b7c297ad4f07" + integrity sha512-R79ZZ/0wAxKGu3oYMlz8jy/kbhsNrS7SKZ7PxEHBgJ5+F2mtFW2fK2cOtBh1cHYkQsbzFV7I+EoRKe6Yt0oK7A== + dependencies: + p-limit "^2.2.0" + +p-locate@^5.0.0: + version "5.0.0" + resolved "https://registry.yarnpkg.com/p-locate/-/p-locate-5.0.0.tgz#83c8315c6785005e3bd021839411c9e110e6d834" + integrity sha512-LaNjtRWUBY++zB5nE/NwcaoMylSPk+S+ZHNB1TzdbMJMny6dynpAGt7X/tl/QYq3TIeE6nxHppbo2LGymrG5Pw== + dependencies: + p-limit "^3.0.2" + +p-map@^4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/p-map/-/p-map-4.0.0.tgz#bb2f95a5eda2ec168ec9274e06a747c3e2904d2b" + integrity sha512-/bjOqmgETBYB5BoEeGVea8dmvHb2m9GLy1E9W43yeyfP6QQCZGFNa+XRceJEuDB6zqr+gKpIAmlLebMpykw/MQ== + dependencies: + aggregate-error "^3.0.0" + +p-try@^2.0.0: + version "2.2.0" + resolved "https://registry.yarnpkg.com/p-try/-/p-try-2.2.0.tgz#cb2868540e313d61de58fafbe35ce9004d5540e6" + integrity sha512-R4nPAVTAU0B9D35/Gk3uJf/7XYbQcyohSKdvAxIRSNghFl4e71hVoGnBNQz9cWaXxO2I10KTC+3jMdvvoKw6dQ== + +pako@^0.2.6: + version "0.2.9" + resolved "https://registry.yarnpkg.com/pako/-/pako-0.2.9.tgz#f3f7522f4ef782348da8161bad9ecfd51bf83a75" + integrity sha512-NUcwaKxUxWrZLpDG+z/xZaCgQITkA/Dv4V/T6bw7VON6l1Xz/VnrBqrYjZQ12TamKHzITTfOEIYUj48y2KXImA== + +pako@^2.0.4: + version "2.1.0" + resolved "https://registry.yarnpkg.com/pako/-/pako-2.1.0.tgz#266cc37f98c7d883545d11335c00fbd4062c9a86" + integrity sha512-w+eufiZ1WuJYgPXbV/PO3NCMEc3xqylkKHzp8bxp1uW4qaSNQUkwmLLEc3kKsfz8lpV1F8Ht3U1Cm+9Srog2ug== + +papaparse@5.3.2: + version "5.3.2" + resolved "https://registry.yarnpkg.com/papaparse/-/papaparse-5.3.2.tgz#d1abed498a0ee299f103130a6109720404fbd467" + integrity sha512-6dNZu0Ki+gyV0eBsFKJhYr+MdQYAzFUGlBMNj3GNrmHxmz1lfRa24CjFObPXtjcetlOv5Ad299MhIK0znp3afw== + +parent-module@^1.0.0: + version "1.0.1" + resolved "https://registry.yarnpkg.com/parent-module/-/parent-module-1.0.1.tgz#691d2709e78c79fae3a156622452d00762caaaa2" + integrity sha512-GQ2EWRpQV8/o+Aw8YqtfZZPfNRWZYkbidE9k5rpl/hC3vtHHBfGm2Ifi6qWV+coDGkrUKZAxE3Lot5kcsRlh+g== + dependencies: + callsites "^3.0.0" + +parse-headers@^2.0.2: + version "2.0.5" + resolved "https://registry.yarnpkg.com/parse-headers/-/parse-headers-2.0.5.tgz#069793f9356a54008571eb7f9761153e6c770da9" + integrity sha512-ft3iAoLOB/MlwbNXgzy43SWGP6sQki2jQvAyBg/zDFAgr9bfNWZIUj42Kw2eJIl8kEi4PbgE6U1Zau/HwI75HA== + +parse-json@^5.0.0, parse-json@^5.2.0: + version "5.2.0" + resolved "https://registry.yarnpkg.com/parse-json/-/parse-json-5.2.0.tgz#c76fc66dee54231c962b22bcc8a72cf2f99753cd" + integrity sha512-ayCKvm/phCGxOkYRSCM82iDwct8/EonSEgCSxWxD7ve6jHggsFl4fZVQBPRNgQoKiuV/odhFrGzQXZwbifC8Rg== + dependencies: + "@babel/code-frame" "^7.0.0" + error-ex "^1.3.1" + json-parse-even-better-errors "^2.3.0" + lines-and-columns "^1.1.6" + +parse5@^7.0.0, parse5@^7.1.1: + version "7.1.2" + resolved "https://registry.yarnpkg.com/parse5/-/parse5-7.1.2.tgz#0736bebbfd77793823240a23b7fc5e010b7f8e32" + integrity sha512-Czj1WaSVpaoj0wbhMzLmWD69anp2WH7FXMB9n1Sy8/ZFF9jolSQVMu1Ij5WIyGmcBmhk7EOndpO4mIpihVqAXw== + dependencies: + entities "^4.4.0" + +path-exists@^4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/path-exists/-/path-exists-4.0.0.tgz#513bdbe2d3b95d7762e8c1137efa195c6c61b5b3" + integrity sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w== + +path-is-absolute@^1.0.0: + version "1.0.1" + resolved "https://registry.yarnpkg.com/path-is-absolute/-/path-is-absolute-1.0.1.tgz#174b9268735534ffbc7ace6bf53a5a9e1b5c5f5f" + integrity sha512-AVbw3UJ2e9bq64vSaS9Am0fje1Pa8pbGqTTsmXfaIiMpnr5DlDhfJOuLj9Sf95ZPVDAUerDfEk88MPmPe7UCQg== + +path-key@^3.0.0, path-key@^3.1.0: + version "3.1.1" + resolved "https://registry.yarnpkg.com/path-key/-/path-key-3.1.1.tgz#581f6ade658cbba65a0d3380de7753295054f375" + integrity sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q== + +path-parse@^1.0.7: + version "1.0.7" + resolved "https://registry.yarnpkg.com/path-parse/-/path-parse-1.0.7.tgz#fbc114b60ca42b30d9daf5858e4bd68bbedb6735" + integrity sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw== + +path-scurry@^1.10.1, path-scurry@^1.6.1: + version "1.10.1" + resolved "https://registry.yarnpkg.com/path-scurry/-/path-scurry-1.10.1.tgz#9ba6bf5aa8500fe9fd67df4f0d9483b2b0bfc698" + integrity sha512-MkhCqzzBEpPvxxQ71Md0b1Kk51W01lrYvlMzSUaIzNsODdd7mqhiimSZlr+VegAz5Z6Vzt9Xg2ttE//XBhH3EQ== + dependencies: + lru-cache "^9.1.1 || ^10.0.0" + minipass "^5.0.0 || ^6.0.2 || ^7.0.0" + +path-to-regexp@^1.7.0: + version "1.8.0" + resolved "https://registry.yarnpkg.com/path-to-regexp/-/path-to-regexp-1.8.0.tgz#887b3ba9d84393e87a0a0b9f4cb756198b53548a" + integrity sha512-n43JRhlUKUAlibEJhPeir1ncUID16QnEjNpwzNdO3Lm4ywrBpBZ5oLD0I6br9evr1Y9JTqwRtAh7JLoOzAQdVA== + dependencies: + isarray "0.0.1" + +path-type@^4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/path-type/-/path-type-4.0.0.tgz#84ed01c0a7ba380afe09d90a8c180dcd9d03043b" + integrity sha512-gDKb8aZMDeD/tZWs9P6+q0J9Mwkdl6xMV8TjnGP3qJVJ06bdMgkbBlLU8IdfOsIsFz2BW1rNVT3XuNEl8zPAvw== + +path-type@^5.0.0: + version "5.0.0" + resolved "https://registry.yarnpkg.com/path-type/-/path-type-5.0.0.tgz#14b01ed7aea7ddf9c7c3f46181d4d04f9c785bb8" + integrity sha512-5HviZNaZcfqP95rwpv+1HDgUamezbqdSYTyzjTvwtJSnIH+3vnbmWsItli8OFEndS984VT55M3jduxZbX351gg== + +pbf@3.2.1: + version "3.2.1" + resolved "https://registry.yarnpkg.com/pbf/-/pbf-3.2.1.tgz#b4c1b9e72af966cd82c6531691115cc0409ffe2a" + integrity sha512-ClrV7pNOn7rtmoQVF4TS1vyU0WhYRnP92fzbfF75jAIwpnzdJXf8iTd4CMEqO4yUenH6NDqLiwjqlh6QgZzgLQ== + dependencies: + ieee754 "^1.1.12" + resolve-protobuf-schema "^2.1.0" + +pend@~1.2.0: + version "1.2.0" + resolved "https://registry.yarnpkg.com/pend/-/pend-1.2.0.tgz#7a57eb550a6783f9115331fcf4663d5c8e007a50" + integrity sha512-F3asv42UuXchdzt+xXqfW1OGlVBe+mxa2mqI0pg5yAHZPvFmY3Y6drSf/GQ1A86WgWEN9Kzh/WrgKa6iGcHXLg== + +performance-now@^2.1.0: + version "2.1.0" + resolved "https://registry.yarnpkg.com/performance-now/-/performance-now-2.1.0.tgz#6309f4e0e5fa913ec1c69307ae364b4b377c9e7b" + integrity sha512-7EAHlyLHI56VEIdK57uwHdHKIaAGbnXPiw0yWbarQZOKaKpvUIgW0jWRVLiatnM+XXlSwsanIBH/hzGMJulMow== + +picocolors@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/picocolors/-/picocolors-1.0.0.tgz#cb5bdc74ff3f51892236eaf79d68bc44564ab81c" + integrity sha512-1fygroTLlHu66zi26VoTDv8yRgm0Fccecssto+MhsZ0D/DGW2sm8E8AjW7NU5VVTRt5GxbeZ5qBuJr+HyLYkjQ== + +picomatch@^2.0.4, picomatch@^2.2.1, picomatch@^2.2.3, picomatch@^2.3.1: + version "2.3.1" + resolved "https://registry.yarnpkg.com/picomatch/-/picomatch-2.3.1.tgz#3ba3833733646d9d3e4995946c1365a67fb07a42" + integrity sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA== + +pify@^2.2.0: + version "2.3.0" + resolved "https://registry.yarnpkg.com/pify/-/pify-2.3.0.tgz#ed141a6ac043a849ea588498e7dca8b15330e90c" + integrity sha512-udgsAY+fTnvv7kI7aaxbqwWNb0AHiB0qBO89PZKPkoTmGOgdbrHDKD+0B2X4uTfJ/FT1R09r9gTsjUjNJotuog== + +pirates@^4.0.4: + version "4.0.6" + resolved "https://registry.yarnpkg.com/pirates/-/pirates-4.0.6.tgz#3018ae32ecfcff6c29ba2267cbf21166ac1f36b9" + integrity sha512-saLsH7WeYYPiD25LDuLRRY/i+6HaPYr6G1OUlN39otzkSTxKnubR9RTxS3/Kk50s1g2JTgFwWQDQyplC5/SHZg== + +pkg-dir@^4.1.0, pkg-dir@^4.2.0: + version "4.2.0" + resolved "https://registry.yarnpkg.com/pkg-dir/-/pkg-dir-4.2.0.tgz#f099133df7ede422e81d1d8448270eeb3e4261f3" + integrity sha512-HRDzbaKjC+AOWVXxAU/x54COGeIv9eb+6CkDSQoNTt4XyWoIJvuPsXizxu/Fr23EiekbtZwmh1IcIG/l/a10GQ== + dependencies: + find-up "^4.0.0" + +pngjs-image@~0.11.5: + version "0.11.7" + resolved "https://registry.yarnpkg.com/pngjs-image/-/pngjs-image-0.11.7.tgz#631dd59924569fc82ffebae0d5d53f85f54dab62" + integrity sha512-JRyrmT+HXa1/gvdHpebus8TGqKa8WRgcsHz/DDalxRsMhvu6AOA99/enBFjZIPvmXVAzwKR051s80TuE1IiCpg== + dependencies: + iconv-lite "^0.4.8" + pako "^0.2.6" + pngjs "2.3.1" + request "^2.55.0" + stream-buffers "1.0.1" + underscore "1.7.0" + +pngjs@2.3.1: + version "2.3.1" + resolved "https://registry.yarnpkg.com/pngjs/-/pngjs-2.3.1.tgz#11d1e12b9cb64d63e30c143a330f4c1f567da85f" + integrity sha512-ITNPqvx+SSssNFOgHQzGG87HrqQ0g2nMSHc1jjU5Piq9xJEJ40fiFEPz0S5HSSXxBHrTnhaBHIayTO5aRfk2vw== + +portfinder@^1.0.17: + version "1.0.32" + resolved "https://registry.yarnpkg.com/portfinder/-/portfinder-1.0.32.tgz#2fe1b9e58389712429dc2bea5beb2146146c7f81" + integrity sha512-on2ZJVVDXRADWE6jnQaX0ioEylzgBpQk8r55NE4wjXW1ZxO+BgDlY6DXwj20i0V8eB4SenDQ00WEaxfiIQPcxg== + dependencies: + async "^2.6.4" + debug "^3.2.7" + mkdirp "^0.5.6" + +postcss-modules-extract-imports@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/postcss-modules-extract-imports/-/postcss-modules-extract-imports-3.0.0.tgz#cda1f047c0ae80c97dbe28c3e76a43b88025741d" + integrity sha512-bdHleFnP3kZ4NYDhuGlVK+CMrQ/pqUm8bx/oGL93K6gVwiclvX5x0n76fYMKuIGKzlABOy13zsvqjb0f92TEXw== + +postcss-modules-local-by-default@^4.0.4: + version "4.0.4" + resolved "https://registry.yarnpkg.com/postcss-modules-local-by-default/-/postcss-modules-local-by-default-4.0.4.tgz#7cbed92abd312b94aaea85b68226d3dec39a14e6" + integrity sha512-L4QzMnOdVwRm1Qb8m4x8jsZzKAaPAgrUF1r/hjDR2Xj7R+8Zsf97jAlSQzWtKx5YNiNGN8QxmPFIc/sh+RQl+Q== + dependencies: + icss-utils "^5.0.0" + postcss-selector-parser "^6.0.2" + postcss-value-parser "^4.1.0" + +postcss-modules-scope@^3.1.1: + version "3.1.1" + resolved "https://registry.yarnpkg.com/postcss-modules-scope/-/postcss-modules-scope-3.1.1.tgz#32cfab55e84887c079a19bbb215e721d683ef134" + integrity sha512-uZgqzdTleelWjzJY+Fhti6F3C9iF1JR/dODLs/JDefozYcKTBCdD8BIl6nNPbTbcLnGrk56hzwZC2DaGNvYjzA== + dependencies: + postcss-selector-parser "^6.0.4" + +postcss-modules-values@^4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/postcss-modules-values/-/postcss-modules-values-4.0.0.tgz#d7c5e7e68c3bb3c9b27cbf48ca0bb3ffb4602c9c" + integrity sha512-RDxHkAiEGI78gS2ofyvCsu7iycRv7oqw5xMWn9iMoR0N/7mf9D50ecQqUo5BZ9Zh2vH4bCUR/ktCqbB9m8vJjQ== + dependencies: + icss-utils "^5.0.0" + +postcss-selector-parser@^6.0.2, postcss-selector-parser@^6.0.4: + version "6.0.15" + resolved "https://registry.yarnpkg.com/postcss-selector-parser/-/postcss-selector-parser-6.0.15.tgz#11cc2b21eebc0b99ea374ffb9887174855a01535" + integrity sha512-rEYkQOMUCEMhsKbK66tbEU9QVIxbhN18YiniAwA7XQYTVBqrBy+P2p5JcdqsHgKM2zWylp8d7J6eszocfds5Sw== + dependencies: + cssesc "^3.0.0" + util-deprecate "^1.0.2" + +postcss-value-parser@^4.1.0, postcss-value-parser@^4.2.0: + version "4.2.0" + resolved "https://registry.yarnpkg.com/postcss-value-parser/-/postcss-value-parser-4.2.0.tgz#723c09920836ba6d3e5af019f92bc0971c02e514" + integrity sha512-1NNCs6uurfkVbeXG4S8JFT9t19m45ICnif8zWLd5oPSZ50QnwMfK+H3jv408d4jw/7Bttv5axS5IiHoLaVNHeQ== + +postcss@^8.4.33: + version "8.4.33" + resolved "https://registry.yarnpkg.com/postcss/-/postcss-8.4.33.tgz#1378e859c9f69bf6f638b990a0212f43e2aaa742" + integrity sha512-Kkpbhhdjw2qQs2O2DGX+8m5OVqEcbB9HRBvuYM9pgrjEFUg30A9LmXNlTAUj4S9kgtGyrMbTzVjH7E+s5Re2yg== + dependencies: + nanoid "^3.3.7" + picocolors "^1.0.0" + source-map-js "^1.0.2" + +preceptor-core@~0.10.0: + version "0.10.1" + resolved "https://registry.yarnpkg.com/preceptor-core/-/preceptor-core-0.10.1.tgz#c31eb026fad91c24b44351308ac97e625ec69511" + integrity sha512-WLDk+UowEESixvlhiamGOj/iqWrp8IWeCCHvBZrLh0g4/A1Fa77fDQWqQUd5S5rScT+9u49aDfa45xYRkxqmiA== + dependencies: + log4js "1.1.1" + underscore "1.7.0" + +prefix-style@2.0.1: + version "2.0.1" + resolved "https://registry.yarnpkg.com/prefix-style/-/prefix-style-2.0.1.tgz#66bba9a870cfda308a5dc20e85e9120932c95a06" + integrity sha512-gdr1MBNVT0drzTq95CbSNdsrBDoHGlb2aDJP/FoY+1e+jSDPOb1Cv554gH2MGiSr2WTcXi/zu+NaFzfcHQkfBQ== + +prelude-ls@^1.2.1: + version "1.2.1" + resolved "https://registry.yarnpkg.com/prelude-ls/-/prelude-ls-1.2.1.tgz#debc6489d7a6e6b0e7611888cec880337d316396" + integrity sha512-vkcDPrRZo1QZLbn5RLGPpg/WmIQ65qoWWhcGKf/b5eplkkarX0m9z8ppCat4mlOqUsWpyNuYgO3VRyrYHSzX5g== + +prettier@^2.8.7: + version "2.8.8" + resolved "https://registry.yarnpkg.com/prettier/-/prettier-2.8.8.tgz#e8c5d7e98a4305ffe3de2e1fc4aca1a71c28b1da" + integrity sha512-tdN8qQGvNjw4CHbY+XXk0JgCXn9QiF21a55rBe5LJAU+kDyC4WQn4+awm2Xfk2lQMk5fKup9XgzTZtGkjBdP9Q== + +pretty-bytes@^5.6.0: + version "5.6.0" + resolved "https://registry.yarnpkg.com/pretty-bytes/-/pretty-bytes-5.6.0.tgz#356256f643804773c82f64723fe78c92c62beaeb" + integrity sha512-FFw039TmrBqFK8ma/7OL3sDz/VytdtJr044/QUJtH0wK9lb9jLq9tJyIxUwtQJHwar2BqtiA4iCWSwo9JLkzFg== + +pretty-format@^27.0.2: + version "27.5.1" + resolved "https://registry.yarnpkg.com/pretty-format/-/pretty-format-27.5.1.tgz#2181879fdea51a7a5851fb39d920faa63f01d88e" + integrity sha512-Qb1gy5OrP5+zDf2Bvnzdl3jsTf1qXVMazbvCoKhtKqVs4/YK4ozX4gKQJJVyNe+cajNPn0KoC0MC3FUmaHWEmQ== + dependencies: + ansi-regex "^5.0.1" + ansi-styles "^5.0.0" + react-is "^17.0.1" + +pretty-format@^29.0.0, pretty-format@^29.7.0: + version "29.7.0" + resolved "https://registry.yarnpkg.com/pretty-format/-/pretty-format-29.7.0.tgz#ca42c758310f365bfa71a0bda0a807160b776812" + integrity sha512-Pdlw/oPxN+aXdmM9R00JVC9WVFoCLTKJvDVLgmJ+qAffBMxsV85l/Lu7sNx4zSzPyoL2euImuEwHhOXdEgNFZQ== + dependencies: + "@jest/schemas" "^29.6.3" + ansi-styles "^5.0.0" + react-is "^18.0.0" + +prismjs@1.29.0: + version "1.29.0" + resolved "https://registry.yarnpkg.com/prismjs/-/prismjs-1.29.0.tgz#f113555a8fa9b57c35e637bba27509dcf802dd12" + integrity sha512-Kx/1w86q/epKcmte75LNrEoT+lX8pBpavuAbvJWRXar7Hz8jrtF+e3vY751p0R8H9HdArwaCTNDDzHg/ScJK1Q== + +process-nextick-args@~2.0.0: + version "2.0.1" + resolved "https://registry.yarnpkg.com/process-nextick-args/-/process-nextick-args-2.0.1.tgz#7820d9b16120cc55ca9ae7792680ae7dba6d7fe2" + integrity sha512-3ouUOpQhtgrbOa17J7+uxOTpITYWaGP7/AhoR3+A+/1e9skrzelGi/dXzEYyvbxubEF6Wn2ypscTKiKJFFn1ag== + +promise@6.0.0: + version "6.0.0" + resolved "https://registry.yarnpkg.com/promise/-/promise-6.0.0.tgz#456538dd4afdd25dc7d0f52a5201ed242b7c109d" + integrity sha512-PjIqIEWR8EWwP5ml3Wf5KWIP3sIdXAew9vQ6vLOLV+z4LMa/8ZQyLd7sTWe2r8OuA8A9jsIYptDfbEn/L36ogw== + dependencies: + asap "~1.0.0" + +prompts@^2.0.1: + version "2.4.2" + resolved "https://registry.yarnpkg.com/prompts/-/prompts-2.4.2.tgz#7b57e73b3a48029ad10ebd44f74b01722a4cb069" + integrity sha512-NxNv/kLguCA7p3jE8oL2aEBsrJWgAakBpgmgK6lpPWV+WuOmY6r2/zbAVnP+T8bQlA0nzHXSJSJW0Hq7ylaD2Q== + dependencies: + kleur "^3.0.3" + sisteransi "^1.0.5" + +prop-types@15.x, prop-types@^15.5.10, prop-types@^15.5.8, prop-types@^15.6.0, prop-types@^15.6.2, prop-types@^15.7.2, prop-types@^15.8.1: + version "15.8.1" + resolved "https://registry.yarnpkg.com/prop-types/-/prop-types-15.8.1.tgz#67d87bf1a694f48435cf332c24af10214a3140b5" + integrity sha512-oj87CgZICdulUohogVAR7AjlC0327U4el4L6eAvOqCeudMDVU0NThNaV+b9Df4dXgSP1gXMTnPdhfe/2qDH5cg== + dependencies: + loose-envify "^1.4.0" + object-assign "^4.1.1" + react-is "^16.13.1" + +protocol-buffers-schema@^3.3.1: + version "3.6.0" + resolved "https://registry.yarnpkg.com/protocol-buffers-schema/-/protocol-buffers-schema-3.6.0.tgz#77bc75a48b2ff142c1ad5b5b90c94cd0fa2efd03" + integrity sha512-TdDRD+/QNdrCGCE7v8340QyuXd4kIWIgapsE2+n/SaGiSSbomYl4TjHlvIoCWRpE7wFt02EpB35VVA2ImcBVqw== + +proxy-from-env@1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/proxy-from-env/-/proxy-from-env-1.0.0.tgz#33c50398f70ea7eb96d21f7b817630a55791c7ee" + integrity sha512-F2JHgJQ1iqwnHDcQjVBsq3n/uoaFL+iPW/eAeL7kVxy/2RrWaN4WroKjjvbsoRtv0ftelNyC01bjRhn/bhcf4A== + +prr@~1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/prr/-/prr-1.0.1.tgz#d3fc114ba06995a45ec6893f484ceb1d78f5f476" + integrity sha512-yPw4Sng1gWghHQWj0B3ZggWUm4qVbPwPFcRG8KyxiU7J2OHFSoEHKS+EZ3fv5l1t9CyCiop6l/ZYeWbrgoQejw== + +psl@^1.1.28, psl@^1.1.33: + version "1.9.0" + resolved "https://registry.yarnpkg.com/psl/-/psl-1.9.0.tgz#d0df2a137f00794565fcaf3b2c00cd09f8d5a5a7" + integrity sha512-E/ZsdU4HLs/68gYzgGTkMicWTLPdAftJLfJFlLUAAKZGkStNU72sZjT66SnMDVOfOWY/YAoiD7Jxa9iHvngcag== + +pump@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/pump/-/pump-3.0.0.tgz#b4a2116815bde2f4e1ea602354e8c75565107a64" + integrity sha512-LwZy+p3SFs1Pytd/jYct4wpv49HiYCqd9Rlc5ZVdk0V+8Yzv6jR5Blk3TRmPL1ft69TxP0IMZGJ+WPFU2BFhww== + dependencies: + end-of-stream "^1.1.0" + once "^1.3.1" + +punycode@^2.1.0, punycode@^2.1.1: + version "2.3.1" + resolved "https://registry.yarnpkg.com/punycode/-/punycode-2.3.1.tgz#027422e2faec0b25e1549c3e1bd8309b9133b6e5" + integrity sha512-vYt7UD1U9Wg6138shLtLOvdAu+8DsC/ilFtEVHcH+wydcSpNE20AfSOduf6MkRFahL5FY7X1oU7nKVZFtfq8Fg== + +pure-rand@^6.0.0: + version "6.0.4" + resolved "https://registry.yarnpkg.com/pure-rand/-/pure-rand-6.0.4.tgz#50b737f6a925468679bff00ad20eade53f37d5c7" + integrity sha512-LA0Y9kxMYv47GIPJy6MI84fqTd2HmYZI83W/kM/SkKfDlajnZYfmXFTxkbY+xSBPkLJxltMa9hIkmdc29eguMA== + +qs@^6.4.0: + version "6.11.2" + resolved "https://registry.yarnpkg.com/qs/-/qs-6.11.2.tgz#64bea51f12c1f5da1bc01496f48ffcff7c69d7d9" + integrity sha512-tDNIz22aBzCDxLtVH++VnTfzxlfeK5CbqohpSqpJgj1Wg/cQbStNAz3NuqCs5vV+pjBsK4x4pN9HlVh7rcYRiA== + dependencies: + side-channel "^1.0.4" + +qs@~6.10.3: + version "6.10.5" + resolved "https://registry.yarnpkg.com/qs/-/qs-6.10.5.tgz#974715920a80ff6a262264acd2c7e6c2a53282b4" + integrity sha512-O5RlPh0VFtR78y79rgcgKK4wbAI0C5zGVLztOIdpWX6ep368q5Hv6XRxDvXuZ9q3C6v+e3n8UfZZJw7IIG27eQ== + dependencies: + side-channel "^1.0.4" + +qs@~6.5.2: + version "6.5.3" + resolved "https://registry.yarnpkg.com/qs/-/qs-6.5.3.tgz#3aeeffc91967ef6e35c0e488ef46fb296ab76aad" + integrity sha512-qxXIEh4pCGfHICj1mAJQ2/2XVZkjCDTcEgfoSQxc/fYivUZxTkk7L3bDBJSoNrEzXI17oUO5Dp07ktqE5KzczA== + +querystringify@^2.1.1: + version "2.2.0" + resolved "https://registry.yarnpkg.com/querystringify/-/querystringify-2.2.0.tgz#3345941b4153cb9d082d8eee4cda2016a9aef7f6" + integrity sha512-FIqgj2EUvTa7R50u0rGsyTftzjYmv/a3hO345bZNrqabNqjtgiDMgmo4mkUjd+nzU5oF3dClKqFIPUKybUyqoQ== + +queue-microtask@^1.2.2: + version "1.2.3" + resolved "https://registry.yarnpkg.com/queue-microtask/-/queue-microtask-1.2.3.tgz#4929228bbc724dfac43e0efb058caf7b6cfb6243" + integrity sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A== + +quick-lru@^6.1.1: + version "6.1.2" + resolved "https://registry.yarnpkg.com/quick-lru/-/quick-lru-6.1.2.tgz#e9a90524108629be35287d0b864e7ad6ceb3659e" + integrity sha512-AAFUA5O1d83pIHEhJwWCq/RQcRukCkn/NSm2QsTEMle5f2hP0ChI2+3Xb051PZCkLryI/Ir1MVKviT2FIloaTQ== + +quickselect@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/quickselect/-/quickselect-2.0.0.tgz#f19680a486a5eefb581303e023e98faaf25dd018" + integrity sha512-RKJ22hX8mHe3Y6wH/N3wCM6BWtjaxIyyUIkpHOvfFnxdI4yD4tBXEBKSbriGujF6jnSVkJrffuo6vxACiSSxIw== + +raf-schd@^4.0.2: + version "4.0.3" + resolved "https://registry.yarnpkg.com/raf-schd/-/raf-schd-4.0.3.tgz#5d6c34ef46f8b2a0e880a8fcdb743efc5bfdbc1a" + integrity sha512-tQkJl2GRWh83ui2DiPTJz9wEiMN20syf+5oKfB03yYP7ioZcJwsIK8FjrtLwH1m7C7e+Tt2yYBlrOpdT+dyeIQ== + +raf@^3.1.0, raf@^3.4.0, raf@^3.4.1: + version "3.4.1" + resolved "https://registry.yarnpkg.com/raf/-/raf-3.4.1.tgz#0742e99a4a6552f445d73e3ee0328af0ff1ede39" + integrity sha512-Sq4CW4QhwOHE8ucn6J34MqtZCeWFP2aQSmrlroYgqAV1PjStIhJXxYuTgUIfkEk7zTLjmIjLmU5q+fbD1NnOJA== + dependencies: + performance-now "^2.1.0" + +randombytes@^2.1.0: + version "2.1.0" + resolved "https://registry.yarnpkg.com/randombytes/-/randombytes-2.1.0.tgz#df6f84372f0270dc65cdf6291349ab7a473d4f2a" + integrity sha512-vYl3iOX+4CKUWuxGi9Ukhie6fsqXqS9FE2Zaic4tNFD2N2QQaXOMFbuKK4QmDHC0JO6B1Zp41J0LpT0oR68amQ== + dependencies: + safe-buffer "^5.1.0" + +raw-body@~1.1.0: + version "1.1.7" + resolved "https://registry.yarnpkg.com/raw-body/-/raw-body-1.1.7.tgz#1d027c2bfa116acc6623bca8f00016572a87d425" + integrity sha512-WmJJU2e9Y6M5UzTOkHaM7xJGAPQD8PNzx3bAd2+uhZAim6wDk6dAZxPVYLF67XhbR4hmKGh33Lpmh4XWrCH5Mg== + dependencies: + bytes "1" + string_decoder "0.10" + +rbush@^3.0.1: + version "3.0.1" + resolved "https://registry.yarnpkg.com/rbush/-/rbush-3.0.1.tgz#5fafa8a79b3b9afdfe5008403a720cc1de882ecf" + integrity sha512-XRaVO0YecOpEuIvbhbpTrZgoiI6xBlz6hnlr6EHhd+0x9ase6EmeN+hdwwUaJvLcsFFQ8iWVF1GAK1yB0BWi0w== + dependencies: + quickselect "^2.0.0" + +rc-align@^2.4.0: + version "2.4.5" + resolved "https://registry.yarnpkg.com/rc-align/-/rc-align-2.4.5.tgz#c941a586f59d1017f23a428f0b468663fb7102ab" + integrity sha512-nv9wYUYdfyfK+qskThf4BQUSIadeI/dCsfaMZfNEoxm9HwOIioQ+LyqmMK6jWHAZQgOzMLaqawhuBXlF63vgjw== + dependencies: + babel-runtime "^6.26.0" + dom-align "^1.7.0" + prop-types "^15.5.8" + rc-util "^4.0.4" + +rc-align@^4.0.0: + version "4.0.15" + resolved "https://registry.yarnpkg.com/rc-align/-/rc-align-4.0.15.tgz#2bbd665cf85dfd0b0244c5a752b07565e9098577" + integrity sha512-wqJtVH60pka/nOX7/IspElA8gjPNQKIx/ZqJ6heATCkXpe1Zg4cPVrMD2vC96wjsFFL8WsmhPbx9tdMo1qqlIA== + dependencies: + "@babel/runtime" "^7.10.1" + classnames "2.x" + dom-align "^1.7.0" + rc-util "^5.26.0" + resize-observer-polyfill "^1.5.1" + +rc-animate@2.x: + version "2.11.1" + resolved "https://registry.yarnpkg.com/rc-animate/-/rc-animate-2.11.1.tgz#2666eeb6f1f2a495a13b2af09e236712278fdb2c" + integrity sha512-1NyuCGFJG/0Y+9RKh5y/i/AalUCA51opyyS/jO2seELpgymZm2u9QV3xwODwEuzkmeQ1BDPxMLmYLcTJedPlkQ== + dependencies: + babel-runtime "6.x" + classnames "^2.2.6" + css-animation "^1.3.2" + prop-types "15.x" + raf "^3.4.0" + rc-util "^4.15.3" + react-lifecycles-compat "^3.0.4" + +rc-cascader@3.10.2: + version "3.10.2" + resolved "https://registry.yarnpkg.com/rc-cascader/-/rc-cascader-3.10.2.tgz#9e75e6b7bdd6e531d1f986cda2b68755e21e5b9e" + integrity sha512-llKIxAAJZW10BkvhqdNsOSy2AOubj0xGEJFcdo/FP09DrhVI764skhCeBH9WfIhv4X40t9/goDwTsXE8Gul9zA== + dependencies: + "@babel/runtime" "^7.12.5" + array-tree-filter "^2.1.0" + classnames "^2.3.1" + rc-select "~14.4.0" + rc-tree "~5.7.0" + rc-util "^5.6.1" + +rc-drawer@6.1.3: + version "6.1.3" + resolved "https://registry.yarnpkg.com/rc-drawer/-/rc-drawer-6.1.3.tgz#4b2277db09f059be7144dc82d5afede9c2ab2191" + integrity sha512-AvHisO90A+xMLMKBw2zs89HxjWxusM2BUABlgK60RhweIHF8W/wk0hSOrxBlUXoA9r1F+10na3g6GZ97y1qDZA== + dependencies: + "@babel/runtime" "^7.10.1" + "@rc-component/portal" "^1.0.0-6" + classnames "^2.2.6" + rc-motion "^2.6.1" + rc-util "^5.21.2" + +rc-motion@^2.0.0, rc-motion@^2.0.1, rc-motion@^2.6.1: + version "2.9.0" + resolved "https://registry.yarnpkg.com/rc-motion/-/rc-motion-2.9.0.tgz#9e18a1b8d61e528a97369cf9a7601e9b29205710" + integrity sha512-XIU2+xLkdIr1/h6ohPZXyPBMvOmuyFZQ/T0xnawz+Rh+gh4FINcnZmMT5UTIj6hgI0VLDjTaPeRd+smJeSPqiQ== + dependencies: + "@babel/runtime" "^7.11.1" + classnames "^2.2.1" + rc-util "^5.21.0" + +rc-overflow@^1.0.0: + version "1.3.2" + resolved "https://registry.yarnpkg.com/rc-overflow/-/rc-overflow-1.3.2.tgz#72ee49e85a1308d8d4e3bd53285dc1f3e0bcce2c" + integrity sha512-nsUm78jkYAoPygDAcGZeC2VwIg/IBGSodtOY3pMof4W3M9qRJgqaDYm03ZayHlde3I6ipliAxbN0RUcGf5KOzw== + dependencies: + "@babel/runtime" "^7.11.1" + classnames "^2.2.1" + rc-resize-observer "^1.0.0" + rc-util "^5.37.0" + +rc-resize-observer@^1.0.0, rc-resize-observer@^1.3.1: + version "1.4.0" + resolved "https://registry.yarnpkg.com/rc-resize-observer/-/rc-resize-observer-1.4.0.tgz#7bba61e6b3c604834980647cce6451914750d0cc" + integrity sha512-PnMVyRid9JLxFavTjeDXEXo65HCRqbmLBw9xX9gfC4BZiSzbLXKzW3jPz+J0P71pLbD5tBMTT+mkstV5gD0c9Q== + dependencies: + "@babel/runtime" "^7.20.7" + classnames "^2.2.1" + rc-util "^5.38.0" + resize-observer-polyfill "^1.5.1" + +rc-select@~14.4.0: + version "14.4.3" + resolved "https://registry.yarnpkg.com/rc-select/-/rc-select-14.4.3.tgz#68d7f1b6bcb41543f69901951facd5e097fb835d" + integrity sha512-qoz4gNqm3SN+4dYKSCRiRkxKSEEdbS3jC6gdFYoYwEjDZ9sdQFo5jHlfQbF+hhai01HOoj1Hf8Gq6tpUvU+Gmw== + dependencies: + "@babel/runtime" "^7.10.1" + "@rc-component/trigger" "^1.5.0" + classnames "2.x" + rc-motion "^2.0.1" + rc-overflow "^1.0.0" + rc-util "^5.16.1" + rc-virtual-list "^3.4.13" + +rc-slider@10.1.1: + version "10.1.1" + resolved "https://registry.yarnpkg.com/rc-slider/-/rc-slider-10.1.1.tgz#5e82036e60b61021aba3ea0e353744dd7c74e104" + integrity sha512-gn8oXazZISEhnmRinI89Z/JD/joAaM35jp+gDtIVSTD/JJMCCBqThqLk1SVJmvtfeiEF/kKaFY0+qt4SDHFUDw== + dependencies: + "@babel/runtime" "^7.10.1" + classnames "^2.2.5" + rc-util "^5.27.0" + +rc-time-picker@^3.7.3: + version "3.7.3" + resolved "https://registry.yarnpkg.com/rc-time-picker/-/rc-time-picker-3.7.3.tgz#65a8de904093250ae9c82b02a4905e0f995e23e2" + integrity sha512-Lv1Mvzp9fRXhXEnRLO4nW6GLNxUkfAZ3RsiIBsWjGjXXvMNjdr4BX/ayElHAFK0DoJqOhm7c5tjmIYpEOwcUXg== + dependencies: + classnames "2.x" + moment "2.x" + prop-types "^15.5.8" + raf "^3.4.1" + rc-trigger "^2.2.0" + react-lifecycles-compat "^3.0.4" + +rc-tooltip@5.3.1: + version "5.3.1" + resolved "https://registry.yarnpkg.com/rc-tooltip/-/rc-tooltip-5.3.1.tgz#3dde4e1865f79cd23f202bba4e585c2a1173024b" + integrity sha512-e6H0dMD38EPaSPD2XC8dRfct27VvT2TkPdoBSuNl3RRZ5tspiY/c5xYEmGC0IrABvMBgque4Mr2SMZuliCvoiQ== + dependencies: + "@babel/runtime" "^7.11.2" + classnames "^2.3.1" + rc-trigger "^5.3.1" + +rc-tree@~5.7.0: + version "5.7.12" + resolved "https://registry.yarnpkg.com/rc-tree/-/rc-tree-5.7.12.tgz#6910e551390963708936c2cbf925f9deff4a6d76" + integrity sha512-LXA5nY2hG5koIAlHW5sgXgLpOMz+bFRbnZZ+cCg0tQs4Wv1AmY7EDi1SK7iFXhslYockbqUerQan82jljoaItg== + dependencies: + "@babel/runtime" "^7.10.1" + classnames "2.x" + rc-motion "^2.0.1" + rc-util "^5.16.1" + rc-virtual-list "^3.5.1" + +rc-trigger@^2.2.0: + version "2.6.5" + resolved "https://registry.yarnpkg.com/rc-trigger/-/rc-trigger-2.6.5.tgz#140a857cf28bd0fa01b9aecb1e26a50a700e9885" + integrity sha512-m6Cts9hLeZWsTvWnuMm7oElhf+03GOjOLfTuU0QmdB9ZrW7jR2IpI5rpNM7i9MvAAlMAmTx5Zr7g3uu/aMvZAw== + dependencies: + babel-runtime "6.x" + classnames "^2.2.6" + prop-types "15.x" + rc-align "^2.4.0" + rc-animate "2.x" + rc-util "^4.4.0" + react-lifecycles-compat "^3.0.4" + +rc-trigger@^5.3.1: + version "5.3.4" + resolved "https://registry.yarnpkg.com/rc-trigger/-/rc-trigger-5.3.4.tgz#6b4b26e32825677c837d1eb4d7085035eecf9a61" + integrity sha512-mQv+vas0TwKcjAO2izNPkqR4j86OemLRmvL2nOzdP9OWNWA1ivoTt5hzFqYNW9zACwmTezRiN8bttrC7cZzYSw== + dependencies: + "@babel/runtime" "^7.18.3" + classnames "^2.2.6" + rc-align "^4.0.0" + rc-motion "^2.0.0" + rc-util "^5.19.2" + +rc-util@^4.0.4, rc-util@^4.15.3, rc-util@^4.4.0: + version "4.21.1" + resolved "https://registry.yarnpkg.com/rc-util/-/rc-util-4.21.1.tgz#88602d0c3185020aa1053d9a1e70eac161becb05" + integrity sha512-Z+vlkSQVc1l8O2UjR3WQ+XdWlhj5q9BMQNLk2iOBch75CqPfrJyGtcWMcnhRlNuDu0Ndtt4kLVO8JI8BrABobg== + dependencies: + add-dom-event-listener "^1.1.0" + prop-types "^15.5.10" + react-is "^16.12.0" + react-lifecycles-compat "^3.0.4" + shallowequal "^1.1.0" + +rc-util@^5.16.1, rc-util@^5.19.2, rc-util@^5.21.0, rc-util@^5.21.2, rc-util@^5.24.4, rc-util@^5.26.0, rc-util@^5.27.0, rc-util@^5.36.0, rc-util@^5.37.0, rc-util@^5.38.0, rc-util@^5.6.1: + version "5.38.1" + resolved "https://registry.yarnpkg.com/rc-util/-/rc-util-5.38.1.tgz#4915503b89855f5c5cd9afd4c72a7a17568777bb" + integrity sha512-e4ZMs7q9XqwTuhIK7zBIVFltUtMSjphuPPQXHoHlzRzNdOwUxDejo0Zls5HYaJfRKNURcsS/ceKVULlhjBrxng== + dependencies: + "@babel/runtime" "^7.18.3" + react-is "^18.2.0" + +rc-virtual-list@^3.4.13, rc-virtual-list@^3.5.1: + version "3.11.3" + resolved "https://registry.yarnpkg.com/rc-virtual-list/-/rc-virtual-list-3.11.3.tgz#77d4e12e20c1ba314b43c0e37e118296674c5401" + integrity sha512-tu5UtrMk/AXonHwHxUogdXAWynaXsrx1i6dsgg+lOo/KJSF8oBAcprh1z5J3xgnPJD5hXxTL58F8s8onokdt0Q== + dependencies: + "@babel/runtime" "^7.20.0" + classnames "^2.2.6" + rc-resize-observer "^1.0.0" + rc-util "^5.36.0" + +react-beautiful-dnd@13.1.1: + version "13.1.1" + resolved "https://registry.yarnpkg.com/react-beautiful-dnd/-/react-beautiful-dnd-13.1.1.tgz#b0f3087a5840920abf8bb2325f1ffa46d8c4d0a2" + integrity sha512-0Lvs4tq2VcrEjEgDXHjT98r+63drkKEgqyxdA7qD3mvKwga6a5SscbdLPO2IExotU1jW8L0Ksdl0Cj2AF67nPQ== + dependencies: + "@babel/runtime" "^7.9.2" + css-box-model "^1.2.0" + memoize-one "^5.1.1" + raf-schd "^4.0.2" + react-redux "^7.2.0" + redux "^4.0.4" + use-memo-one "^1.1.1" + +react-calendar@4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/react-calendar/-/react-calendar-4.0.0.tgz#99ad73dd0c7c5b25aa535a5fdeee3d71bfe45faa" + integrity sha512-y9Q5Oo3Mq869KExbOCP3aJ3hEnRZKZ0TqUa9QU1wJGgDZFrW1qTaWp5v52oZpmxTTrpAMTUcUGaC0QJcO1f8Nw== + dependencies: + "@wojtekmaj/date-utils" "^1.0.2" + clsx "^1.2.1" + get-user-locale "^1.2.0" + prop-types "^15.6.0" + +react-colorful@5.6.1: + version "5.6.1" + resolved "https://registry.yarnpkg.com/react-colorful/-/react-colorful-5.6.1.tgz#7dc2aed2d7c72fac89694e834d179e32f3da563b" + integrity sha512-1exovf0uGTGyq5mXQT0zgQ80uvj2PCwvF8zY1RN9/vbJVSjSo3fsB/4L3ObbF7u70NduSiK4xu4Y6q1MHoUGEw== + +react-custom-scrollbars-2@4.5.0: + version "4.5.0" + resolved "https://registry.yarnpkg.com/react-custom-scrollbars-2/-/react-custom-scrollbars-2-4.5.0.tgz#cff18e7368bce9d570aea0be780045eda392c745" + integrity sha512-/z0nWAeXfMDr4+OXReTpYd1Atq9kkn4oI3qxq3iMXGQx1EEfwETSqB8HTAvg1X7dEqcCachbny1DRNGlqX5bDQ== + dependencies: + dom-css "^2.0.0" + prop-types "^15.5.10" + raf "^3.1.0" + +react-dom@18.2.0: + version "18.2.0" + resolved "https://registry.yarnpkg.com/react-dom/-/react-dom-18.2.0.tgz#22aaf38708db2674ed9ada224ca4aa708d821e3d" + integrity sha512-6IMTriUmvsjHUjNtEDudZfuDQUoWXVxKHhlEGSk81n4YFS+r/Kl99wXiwlVXtPBtJenozv2P+hxDsw9eA7Xo6g== + dependencies: + loose-envify "^1.1.0" + scheduler "^0.23.0" + +react-draggable@^4.0.0, react-draggable@^4.0.3: + version "4.4.6" + resolved "https://registry.yarnpkg.com/react-draggable/-/react-draggable-4.4.6.tgz#63343ee945770881ca1256a5b6fa5c9f5983fe1e" + integrity sha512-LtY5Xw1zTPqHkVmtM3X8MUOxNDOUhv/khTgBgrUvwaS064bwVvxT+q5El0uUFNx5IEPKXuRejr7UqLwBIg5pdw== + dependencies: + clsx "^1.1.1" + prop-types "^15.8.1" + +react-dropzone@14.2.3: + version "14.2.3" + resolved "https://registry.yarnpkg.com/react-dropzone/-/react-dropzone-14.2.3.tgz#0acab68308fda2d54d1273a1e626264e13d4e84b" + integrity sha512-O3om8I+PkFKbxCukfIR3QAGftYXDZfOE2N1mr/7qebQJHs7U+/RSL/9xomJNpRg9kM5h9soQSdf0Gc7OHF5Fug== + dependencies: + attr-accept "^2.2.2" + file-selector "^0.6.0" + prop-types "^15.8.1" + +react-fast-compare@^3.0.1: + version "3.2.2" + resolved "https://registry.yarnpkg.com/react-fast-compare/-/react-fast-compare-3.2.2.tgz#929a97a532304ce9fee4bcae44234f1ce2c21d49" + integrity sha512-nsO+KSNgo1SbJqJEYRE9ERzo7YtYbou/OqjSQKxV7jcKox7+usiUVZOAC+XnDOABXggQTno0Y1CpVnuWEc1boQ== + +react-from-dom@^0.6.2: + version "0.6.2" + resolved "https://registry.yarnpkg.com/react-from-dom/-/react-from-dom-0.6.2.tgz#9da903a508c91c013b55afcd59348b8b0a39bdb4" + integrity sha512-qvWWTL/4xw4k/Dywd41RBpLQUSq97csuv15qrxN+izNeLYlD9wn5W8LspbfYe5CWbaSdkZ72BsaYBPQf2x4VbQ== + +react-grid-layout@1.3.4: + version "1.3.4" + resolved "https://registry.yarnpkg.com/react-grid-layout/-/react-grid-layout-1.3.4.tgz#4fa819be24a1ba9268aa11b82d63afc4762a32ff" + integrity sha512-sB3rNhorW77HUdOjB4JkelZTdJGQKuXLl3gNg+BI8gJkTScspL1myfZzW/EM0dLEn+1eH+xW+wNqk0oIM9o7cw== + dependencies: + clsx "^1.1.1" + lodash.isequal "^4.0.0" + prop-types "^15.8.1" + react-draggable "^4.0.0" + react-resizable "^3.0.4" + +react-highlight-words@0.20.0: + version "0.20.0" + resolved "https://registry.yarnpkg.com/react-highlight-words/-/react-highlight-words-0.20.0.tgz#c60bfff5d14678c8f0e8fbe4bdcf083e6c70d507" + integrity sha512-asCxy+jCehDVhusNmCBoxDf2mm1AJ//D+EzDx1m5K7EqsMBIHdZ5G4LdwbSEXqZq1Ros0G0UySWmAtntSph7XA== + dependencies: + highlight-words-core "^1.2.0" + memoize-one "^4.0.0" + prop-types "^15.5.8" + +react-hook-form@7.5.3: + version "7.5.3" + resolved "https://registry.yarnpkg.com/react-hook-form/-/react-hook-form-7.5.3.tgz#9a624fa14ec153b154891c5ebddae02ec5c2e40f" + integrity sha512-5T0mfJ4kCPKljd7t3Rgp7lML4Y2+kaZIeMdN6Zo/J7gBQ+WkrDBHOftdOtz4X+7/eqHGak5yL5evNpYdA9abVA== + +react-i18next@^12.0.0: + version "12.3.1" + resolved "https://registry.yarnpkg.com/react-i18next/-/react-i18next-12.3.1.tgz#30134a41a2a71c61dc69c6383504929aed1c99e7" + integrity sha512-5v8E2XjZDFzK7K87eSwC7AJcAkcLt5xYZ4+yTPDAW1i7C93oOY1dnr4BaQM7un4Hm+GmghuiPvevWwlca5PwDA== + dependencies: + "@babel/runtime" "^7.20.6" + html-parse-stringify "^3.0.1" + +react-immutable-proptypes@^2.1.0: + version "2.2.0" + resolved "https://registry.yarnpkg.com/react-immutable-proptypes/-/react-immutable-proptypes-2.2.0.tgz#cce96d68cc3c18e89617cbf3092d08e35126af4a" + integrity sha512-Vf4gBsePlwdGvSZoLSBfd4HAP93HDauMY4fDjXhreg/vg6F3Fj/MXDNyTbltPC/xZKmZc+cjLu3598DdYK6sgQ== + dependencies: + invariant "^2.2.2" + +react-inlinesvg@3.0.2: + version "3.0.2" + resolved "https://registry.yarnpkg.com/react-inlinesvg/-/react-inlinesvg-3.0.2.tgz#5c59799966ae7926057091b2ac230ddcee01bea0" + integrity sha512-BEzkpMGQwEY68fgaouY7ZWvAUPb8jbj7dE9iDbWZxstDhMuz9qfpxNgvGSENKcDMdpq/XHduSk/LAmNKin4nKw== + dependencies: + exenv "^1.2.2" + react-from-dom "^0.6.2" + +react-is@^16.12.0, react-is@^16.13.1, react-is@^16.6.0, react-is@^16.7.0: + version "16.13.1" + resolved "https://registry.yarnpkg.com/react-is/-/react-is-16.13.1.tgz#789729a4dc36de2999dc156dd6c1d9c18cea56a4" + integrity sha512-24e6ynE2H+OKt4kqsOvNd8kBpV65zoxbA4BVsEOB3ARVWQki/DHzaUoC5KuON/BiccDaCCTZBuOcfZs70kR8bQ== + +react-is@^17.0.1, react-is@^17.0.2: + version "17.0.2" + resolved "https://registry.yarnpkg.com/react-is/-/react-is-17.0.2.tgz#e691d4a8e9c789365655539ab372762b0efb54f0" + integrity sha512-w2GsyukL62IJnlaff/nRegPQR94C/XXamvMWmSHRJ4y7Ts/4ocGRmTHvOs8PSE6pB3dWOrD/nueuU5sduBsQ4w== + +react-is@^18.0.0, react-is@^18.2.0: + version "18.2.0" + resolved "https://registry.yarnpkg.com/react-is/-/react-is-18.2.0.tgz#199431eeaaa2e09f86427efbb4f1473edb47609b" + integrity sha512-xWGDIW6x921xtzPkhiULtthJHoJvBbF3q26fzloPCK0hsvxtPVelvftw3zjbHWSkR2km9Z+4uxbDDK/6Zw9B8w== + +react-lifecycles-compat@^3.0.4: + version "3.0.4" + resolved "https://registry.yarnpkg.com/react-lifecycles-compat/-/react-lifecycles-compat-3.0.4.tgz#4f1a273afdfc8f3488a8c516bfda78f872352362" + integrity sha512-fBASbA6LnOU9dOU2eW7aQ8xmYBSXUIWr+UmF9b1efZBazGNO+rcXT/icdKnYm2pTwcRylVUYwW7H1PHfLekVzA== + +react-popper-tooltip@4.4.2: + version "4.4.2" + resolved "https://registry.yarnpkg.com/react-popper-tooltip/-/react-popper-tooltip-4.4.2.tgz#0dc4894b8e00ba731f89bd2d30584f6032ec6163" + integrity sha512-y48r0mpzysRTZAIh8m2kpZ8S1YPNqGtQPDrlXYSGvDS1c1GpG/NUXbsbIdfbhXfmSaRJuTcaT6N1q3CKuHRVbg== + dependencies: + "@babel/runtime" "^7.18.3" + "@popperjs/core" "^2.11.5" + react-popper "^2.3.0" + +react-popper@2.3.0, react-popper@^2.3.0: + version "2.3.0" + resolved "https://registry.yarnpkg.com/react-popper/-/react-popper-2.3.0.tgz#17891c620e1320dce318bad9fede46a5f71c70ba" + integrity sha512-e1hj8lL3uM+sgSR4Lxzn5h1GxBlpa4CQz0XLF8kx4MDrDRWY0Ena4c97PUeSX9i5W3UAfDP0z0FXCTQkoXUl3Q== + dependencies: + react-fast-compare "^3.0.1" + warning "^4.0.2" + +react-redux@^7.2.0: + version "7.2.9" + resolved "https://registry.yarnpkg.com/react-redux/-/react-redux-7.2.9.tgz#09488fbb9416a4efe3735b7235055442b042481d" + integrity sha512-Gx4L3uM182jEEayZfRbI/G11ZpYdNAnBs70lFVMNdHJI76XYtR+7m0MN+eAs7UHBPhWXcnFPaS+9owSCJQHNpQ== + dependencies: + "@babel/runtime" "^7.15.4" + "@types/react-redux" "^7.1.20" + hoist-non-react-statics "^3.3.2" + loose-envify "^1.4.0" + prop-types "^15.7.2" + react-is "^17.0.2" + +react-resizable@^3.0.4: + version "3.0.5" + resolved "https://registry.yarnpkg.com/react-resizable/-/react-resizable-3.0.5.tgz#362721f2efbd094976f1780ae13f1ad7739786c1" + integrity sha512-vKpeHhI5OZvYn82kXOs1bC8aOXktGU5AmKAgaZS4F5JPburCtbmDPqE7Pzp+1kN4+Wb81LlF33VpGwWwtXem+w== + dependencies: + prop-types "15.x" + react-draggable "^4.0.3" + +react-router-dom@5.3.3: + version "5.3.3" + resolved "https://registry.yarnpkg.com/react-router-dom/-/react-router-dom-5.3.3.tgz#8779fc28e6691d07afcaf98406d3812fe6f11199" + integrity sha512-Ov0tGPMBgqmbu5CDmN++tv2HQ9HlWDuWIIqn4b88gjlAN5IHI+4ZUZRcpz9Hl0azFIwihbLDYw1OiHGRo7ZIng== + dependencies: + "@babel/runtime" "^7.12.13" + history "^4.9.0" + loose-envify "^1.3.1" + prop-types "^15.6.2" + react-router "5.3.3" + tiny-invariant "^1.0.2" + tiny-warning "^1.0.0" + +react-router@5.3.3: + version "5.3.3" + resolved "https://registry.yarnpkg.com/react-router/-/react-router-5.3.3.tgz#8e3841f4089e728cf82a429d92cdcaa5e4a3a288" + integrity sha512-mzQGUvS3bM84TnbtMYR8ZjKnuPJ71IjSzR+DE6UkUqvN4czWIqEs17yLL8xkAycv4ev0AiN+IGrWu88vJs/p2w== + dependencies: + "@babel/runtime" "^7.12.13" + history "^4.9.0" + hoist-non-react-statics "^3.1.0" + loose-envify "^1.3.1" + mini-create-react-context "^0.4.0" + path-to-regexp "^1.7.0" + prop-types "^15.6.2" + react-is "^16.6.0" + tiny-invariant "^1.0.2" + tiny-warning "^1.0.0" + +react-select-event@^5.1.0: + version "5.5.1" + resolved "https://registry.yarnpkg.com/react-select-event/-/react-select-event-5.5.1.tgz#d67e04a6a51428b1534b15ecb1b82afbe5edddcb" + integrity sha512-goAx28y0+iYrbqZA2FeRTreHHs/ZtSuKxtA+J5jpKT5RHPCbVZJ4MqACfPnWyFXsEec+3dP5bCrNTxIX8oYe9A== + dependencies: + "@testing-library/dom" ">=7" + +react-select@5.7.0: + version "5.7.0" + resolved "https://registry.yarnpkg.com/react-select/-/react-select-5.7.0.tgz#82921b38f1fcf1471a0b62304da01f2896cd8ce6" + integrity sha512-lJGiMxCa3cqnUr2Jjtg9YHsaytiZqeNOKeibv6WF5zbK/fPegZ1hg3y/9P1RZVLhqBTs0PfqQLKuAACednYGhQ== + dependencies: + "@babel/runtime" "^7.12.0" + "@emotion/cache" "^11.4.0" + "@emotion/react" "^11.8.1" + "@floating-ui/dom" "^1.0.1" + "@types/react-transition-group" "^4.4.0" + memoize-one "^6.0.0" + prop-types "^15.6.0" + react-transition-group "^4.3.0" + use-isomorphic-layout-effect "^1.1.2" + +react-table@7.8.0: + version "7.8.0" + resolved "https://registry.yarnpkg.com/react-table/-/react-table-7.8.0.tgz#07858c01c1718c09f7f1aed7034fcfd7bda907d2" + integrity sha512-hNaz4ygkZO4bESeFfnfOft73iBUj8K5oKi1EcSHPAibEydfsX2MyU6Z8KCr3mv3C9Kqqh71U+DhZkFvibbnPbA== + +react-transition-group@4.4.5, react-transition-group@^4.3.0: + version "4.4.5" + resolved "https://registry.yarnpkg.com/react-transition-group/-/react-transition-group-4.4.5.tgz#e53d4e3f3344da8521489fbef8f2581d42becdd1" + integrity sha512-pZcd1MCJoiKiBR2NRxeCRg13uCXbydPnmB4EOeRrY7480qNWO8IIgQG6zlDkm6uRMsURXPuKq0GWtiM59a5Q6g== + dependencies: + "@babel/runtime" "^7.5.5" + dom-helpers "^5.0.1" + loose-envify "^1.4.0" + prop-types "^15.6.2" + +react-universal-interface@^0.6.2: + version "0.6.2" + resolved "https://registry.yarnpkg.com/react-universal-interface/-/react-universal-interface-0.6.2.tgz#5e8d438a01729a4dbbcbeeceb0b86be146fe2b3b" + integrity sha512-dg8yXdcQmvgR13RIlZbTRQOoUrDciFVoSBZILwjE2LFISxZZ8loVJKAkuzswl5js8BHda79bIb2b84ehU8IjXw== + +react-use@17.4.0: + version "17.4.0" + resolved "https://registry.yarnpkg.com/react-use/-/react-use-17.4.0.tgz#cefef258b0a6c534a5c8021c2528ac6e1a4cdc6d" + integrity sha512-TgbNTCA33Wl7xzIJegn1HndB4qTS9u03QUwyNycUnXaweZkE4Kq2SB+Yoxx8qbshkZGYBDvUXbXWRUmQDcZZ/Q== + dependencies: + "@types/js-cookie" "^2.2.6" + "@xobotyi/scrollbar-width" "^1.9.5" + copy-to-clipboard "^3.3.1" + fast-deep-equal "^3.1.3" + fast-shallow-equal "^1.0.0" + js-cookie "^2.2.1" + nano-css "^5.3.1" + react-universal-interface "^0.6.2" + resize-observer-polyfill "^1.5.1" + screenfull "^5.1.0" + set-harmonic-interval "^1.0.1" + throttle-debounce "^3.0.1" + ts-easing "^0.2.0" + tslib "^2.1.0" + +react-virtualized-auto-sizer@1.0.7: + version "1.0.7" + resolved "https://registry.yarnpkg.com/react-virtualized-auto-sizer/-/react-virtualized-auto-sizer-1.0.7.tgz#bfb8414698ad1597912473de3e2e5f82180c1195" + integrity sha512-Mxi6lwOmjwIjC1X4gABXMJcKHsOo0xWl3E3ugOgufB8GJU+MqrtY35aBuvCYv/razQ1Vbp7h1gWJjGjoNN5pmA== + +react-window@1.8.8: + version "1.8.8" + resolved "https://registry.yarnpkg.com/react-window/-/react-window-1.8.8.tgz#1b52919f009ddf91970cbdb2050a6c7be44df243" + integrity sha512-D4IiBeRtGXziZ1n0XklnFGu7h9gU684zepqyKzgPNzrsrk7xOCxni+TCckjg2Nr/DiaEEGVVmnhYSlT2rB47dQ== + dependencies: + "@babel/runtime" "^7.0.0" + memoize-one ">=3.1.1 <6" + +react@18.2.0: + version "18.2.0" + resolved "https://registry.yarnpkg.com/react/-/react-18.2.0.tgz#555bd98592883255fa00de14f1151a917b5d77d5" + integrity sha512-/3IjMdb2L9QbBdWiW5e3P2/npwMBaU9mHCSCUzNln0ZCYbcfTsGbTJrU/kGemdH2IWmB2ioZ+zkxtmq6g09fGQ== + dependencies: + loose-envify "^1.1.0" + +readable-stream@^1.1.7: + version "1.1.14" + resolved "https://registry.yarnpkg.com/readable-stream/-/readable-stream-1.1.14.tgz#7cf4c54ef648e3813084c636dd2079e166c081d9" + integrity sha512-+MeVjFf4L44XUkhM1eYbD8fyEsxcV81pqMSR5gblfcLCHfZvbrqy4/qYHE+/R5HoBUT11WV5O08Cr1n3YXkWVQ== + dependencies: + core-util-is "~1.0.0" + inherits "~2.0.1" + isarray "0.0.1" + string_decoder "~0.10.x" + +readable-stream@^2.0.1: + version "2.3.8" + resolved "https://registry.yarnpkg.com/readable-stream/-/readable-stream-2.3.8.tgz#91125e8042bba1b9887f49345f6277027ce8be9b" + integrity sha512-8p0AUk4XODgIewSi0l8Epjs+EVnWiK7NoDIEGU0HhE7+ZyY8D1IMY7odu5lRrFXGg71L15KG8QrPmum45RTtdA== + dependencies: + core-util-is "~1.0.0" + inherits "~2.0.3" + isarray "~1.0.0" + process-nextick-args "~2.0.0" + safe-buffer "~5.1.1" + string_decoder "~1.1.1" + util-deprecate "~1.0.1" + +readdirp@~3.6.0: + version "3.6.0" + resolved "https://registry.yarnpkg.com/readdirp/-/readdirp-3.6.0.tgz#74a370bd857116e245b29cc97340cd431a02a6c7" + integrity sha512-hOS089on8RduqdbhvQ5Z37A0ESjsqz6qnRcffsMU3495FuTdqSm+7bhJ29JvIOsBDEEnan5DPu9t3To9VRlMzA== + dependencies: + picomatch "^2.2.1" + +rechoir@^0.8.0: + version "0.8.0" + resolved "https://registry.yarnpkg.com/rechoir/-/rechoir-0.8.0.tgz#49f866e0d32146142da3ad8f0eff352b3215ff22" + integrity sha512-/vxpCXddiX8NGfGO/mTafwjq4aFa/71pvamip0++IQk3zG8cbCj0fifNPrjjF1XMXUne91jL9OoxmdykoEtifQ== + dependencies: + resolve "^1.20.0" + +redent@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/redent/-/redent-3.0.0.tgz#e557b7998316bb53c9f1f56fa626352c6963059f" + integrity sha512-6tDA8g98We0zd0GvVeMT9arEOnTw9qM03L9cJXaCjrip1OO764RDBLBfrB4cwzNGDj5OA5ioymC9GkizgWJDUg== + dependencies: + indent-string "^4.0.0" + strip-indent "^3.0.0" + +redux@^4.0.0, redux@^4.0.4: + version "4.2.1" + resolved "https://registry.yarnpkg.com/redux/-/redux-4.2.1.tgz#c08f4306826c49b5e9dc901dee0452ea8fce6197" + integrity sha512-LAUYz4lc+Do8/g7aeRa8JkyDErK6ekstQaqWQrNRW//MY1TvCEpMtpTWvlQ+FPbWCx+Xixu/6SHt5N0HR+SB4w== + dependencies: + "@babel/runtime" "^7.9.2" + +regenerate-unicode-properties@^10.1.0: + version "10.1.1" + resolved "https://registry.yarnpkg.com/regenerate-unicode-properties/-/regenerate-unicode-properties-10.1.1.tgz#6b0e05489d9076b04c436f318d9b067bba459480" + integrity sha512-X007RyZLsCJVVrjgEFVpLUTZwyOZk3oiL75ZcuYjlIWd6rNJtOjkBwQc5AsRrpbKVkxN6sklw/k/9m2jJYOf8Q== + dependencies: + regenerate "^1.4.2" + +regenerate@^1.4.2: + version "1.4.2" + resolved "https://registry.yarnpkg.com/regenerate/-/regenerate-1.4.2.tgz#b9346d8827e8f5a32f7ba29637d398b69014848a" + integrity sha512-zrceR/XhGYU/d/opr2EKO7aRHUeiBI8qjtfHqADTwZd6Szfy16la6kqD0MIUs5z5hx6AaKa+PixpPrR289+I0A== + +regenerator-runtime@0.13.11: + version "0.13.11" + resolved "https://registry.yarnpkg.com/regenerator-runtime/-/regenerator-runtime-0.13.11.tgz#f6dca3e7ceec20590d07ada785636a90cdca17f9" + integrity sha512-kY1AZVr2Ra+t+piVaJ4gxaFaReZVH40AKNo7UCX6W+dEwBo/2oZJzqfuN1qLq1oL45o56cPaTXELwrTh8Fpggg== + +regenerator-runtime@^0.11.0: + version "0.11.1" + resolved "https://registry.yarnpkg.com/regenerator-runtime/-/regenerator-runtime-0.11.1.tgz#be05ad7f9bf7d22e056f9726cee5017fbf19e2e9" + integrity sha512-MguG95oij0fC3QV3URf4V2SDYGJhJnJGqvIIgdECeODCT98wSWDAJ94SSuVpYQUoTcGUIL6L4yNB7j1DFFHSBg== + +regenerator-runtime@^0.14.0: + version "0.14.1" + resolved "https://registry.yarnpkg.com/regenerator-runtime/-/regenerator-runtime-0.14.1.tgz#356ade10263f685dda125100cd862c1db895327f" + integrity sha512-dYnhHh0nJoMfnkZs6GmmhFknAGRrLznOu5nc9ML+EJxGvrx6H7teuevqVqCuPcPK//3eDrrjQhehXVx9cnkGdw== + +regenerator-transform@^0.15.2: + version "0.15.2" + resolved "https://registry.yarnpkg.com/regenerator-transform/-/regenerator-transform-0.15.2.tgz#5bbae58b522098ebdf09bca2f83838929001c7a4" + integrity sha512-hfMp2BoF0qOk3uc5V20ALGDS2ddjQaLrdl7xrGXvAIow7qeWRM2VA2HuCHkUKk9slq3VwEwLNK3DFBqDfPGYtg== + dependencies: + "@babel/runtime" "^7.8.4" + +regexp.prototype.flags@^1.5.0, regexp.prototype.flags@^1.5.1: + version "1.5.1" + resolved "https://registry.yarnpkg.com/regexp.prototype.flags/-/regexp.prototype.flags-1.5.1.tgz#90ce989138db209f81492edd734183ce99f9677e" + integrity sha512-sy6TXMN+hnP/wMy+ISxg3krXx7BAtWVO4UouuCN/ziM9UEne0euamVNafDfvC83bRNr95y0V5iijeDQFUNpvrg== + dependencies: + call-bind "^1.0.2" + define-properties "^1.2.0" + set-function-name "^2.0.0" + +regexpu-core@^5.3.1: + version "5.3.2" + resolved "https://registry.yarnpkg.com/regexpu-core/-/regexpu-core-5.3.2.tgz#11a2b06884f3527aec3e93dbbf4a3b958a95546b" + integrity sha512-RAM5FlZz+Lhmo7db9L298p2vHP5ZywrVXmVXpmAD9GuL5MPH6t9ROw1iA/wfHkQ76Qe7AaPF0nGuim96/IrQMQ== + dependencies: + "@babel/regjsgen" "^0.8.0" + regenerate "^1.4.2" + regenerate-unicode-properties "^10.1.0" + regjsparser "^0.9.1" + unicode-match-property-ecmascript "^2.0.0" + unicode-match-property-value-ecmascript "^2.1.0" + +regjsparser@^0.9.1: + version "0.9.1" + resolved "https://registry.yarnpkg.com/regjsparser/-/regjsparser-0.9.1.tgz#272d05aa10c7c1f67095b1ff0addae8442fc5709" + integrity sha512-dQUtn90WanSNl+7mQKcXAgZxvUe7Z0SqXlgzv0za4LwiUhyzBC58yQO3liFoUgu8GiJVInAhJjkj1N0EtQ5nkQ== + dependencies: + jsesc "~0.5.0" + +replace-in-file-webpack-plugin@^1.0.6: + version "1.0.6" + resolved "https://registry.yarnpkg.com/replace-in-file-webpack-plugin/-/replace-in-file-webpack-plugin-1.0.6.tgz#eee7e139be967e8e48a0552f73037ed567b54dbd" + integrity sha512-+KRgNYL2nbc6nza6SeF+wTBNkovuHFTfJF8QIEqZg5MbwkYpU9no0kH2YU354wvY/BK8mAC2UKoJ7q+sJTvciw== + +request-progress@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/request-progress/-/request-progress-3.0.0.tgz#4ca754081c7fec63f505e4faa825aa06cd669dbe" + integrity sha512-MnWzEHHaxHO2iWiQuHrUPBi/1WeBf5PkxQqNyNvLl9VAYSdXkP8tQ3pBSeCPD+yw0v0Aq1zosWLz0BdeXpWwZg== + dependencies: + throttleit "^1.0.0" + +request@^2.55.0: + version "2.88.2" + resolved "https://registry.yarnpkg.com/request/-/request-2.88.2.tgz#d73c918731cb5a87da047e207234146f664d12b3" + integrity sha512-MsvtOrfG9ZcrOwAW+Qi+F6HbD0CWXEh9ou77uOb7FM2WPhwT7smM833PzanhJLsgXjN89Ir6V2PczXNnMpwKhw== + dependencies: + aws-sign2 "~0.7.0" + aws4 "^1.8.0" + caseless "~0.12.0" + combined-stream "~1.0.6" + extend "~3.0.2" + forever-agent "~0.6.1" + form-data "~2.3.2" + har-validator "~5.1.3" + http-signature "~1.2.0" + is-typedarray "~1.0.0" + isstream "~0.1.2" + json-stringify-safe "~5.0.1" + mime-types "~2.1.19" + oauth-sign "~0.9.0" + performance-now "^2.1.0" + qs "~6.5.2" + safe-buffer "^5.1.2" + tough-cookie "~2.5.0" + tunnel-agent "^0.6.0" + uuid "^3.3.2" + +require-directory@^2.1.1: + version "2.1.1" + resolved "https://registry.yarnpkg.com/require-directory/-/require-directory-2.1.1.tgz#8c64ad5fd30dab1c976e2344ffe7f792a6a6df42" + integrity sha512-fGxEI7+wsG9xrvdjsrlmL22OMTTiHRwAMroiEeMgq8gzoLC/PQr7RsRDSTLUg/bZAZtF+TVIkHc6/4RIKrui+Q== + +require-from-string@^2.0.2: + version "2.0.2" + resolved "https://registry.yarnpkg.com/require-from-string/-/require-from-string-2.0.2.tgz#89a7fdd938261267318eafe14f9c32e598c36909" + integrity sha512-Xf0nWe6RseziFMu+Ap9biiUbmplq6S9/p+7w7YXP/JBHhrUDDUhwa+vANyubuqfZWTveU//DYVGsDG7RKL/vEw== + +requires-port@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/requires-port/-/requires-port-1.0.0.tgz#925d2601d39ac485e091cf0da5c6e694dc3dcaff" + integrity sha512-KigOCHcocU3XODJxsu8i/j8T9tzT4adHiecwORRQ0ZZFcp7ahwXuRU1m+yuO90C5ZUyGeGfocHDI14M3L3yDAQ== + +resize-observer-polyfill@^1.5.1: + version "1.5.1" + resolved "https://registry.yarnpkg.com/resize-observer-polyfill/-/resize-observer-polyfill-1.5.1.tgz#0e9020dd3d21024458d4ebd27e23e40269810464" + integrity sha512-LwZrotdHOo12nQuZlHEmtuXdqGoOD0OhaxopaNFxWzInpEgaLWoVuAMbTzixuosCx2nEG58ngzW3vxdWoxIgdg== + +resolve-bin@1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/resolve-bin/-/resolve-bin-1.0.1.tgz#795255591443e7007b21f2eadd8baa39b7378e50" + integrity sha512-4G9C3udcDB1c9qaopB+9dygm2bMyF2LeJ2JHBIc24N7ob+UuSSwX3ID1hQwpDEQep9ZRNdhT//rgEd6xbWA/SA== + dependencies: + find-parent-dir "~0.3.0" + +resolve-cwd@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/resolve-cwd/-/resolve-cwd-3.0.0.tgz#0f0075f1bb2544766cf73ba6a6e2adfebcb13f2d" + integrity sha512-OrZaX2Mb+rJCpH/6CpSqt9xFVpN++x01XnN2ie9g6P5/3xelLAkXWVADpdz1IHD/KFfEXyE6V0U01OQ3UO2rEg== + dependencies: + resolve-from "^5.0.0" + +resolve-from@^4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/resolve-from/-/resolve-from-4.0.0.tgz#4abcd852ad32dd7baabfe9b40e00a36db5f392e6" + integrity sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g== + +resolve-from@^5.0.0: + version "5.0.0" + resolved "https://registry.yarnpkg.com/resolve-from/-/resolve-from-5.0.0.tgz#c35225843df8f776df21c57557bc087e9dfdfc69" + integrity sha512-qYg9KP24dD5qka9J47d0aVky0N+b4fTU89LN9iDnjB5waksiC49rvMB0PrUJQGoTmH50XPiqOvAjDfaijGxYZw== + +resolve-pathname@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/resolve-pathname/-/resolve-pathname-3.0.0.tgz#99d02224d3cf263689becbb393bc560313025dcd" + integrity sha512-C7rARubxI8bXFNB/hqcp/4iUeIXJhJZvFPFPiSPRnhU5UPxzMFIl+2E6yY6c4k9giDJAhtV+enfA+G89N6Csng== + +resolve-protobuf-schema@^2.1.0: + version "2.1.0" + resolved "https://registry.yarnpkg.com/resolve-protobuf-schema/-/resolve-protobuf-schema-2.1.0.tgz#9ca9a9e69cf192bbdaf1006ec1973948aa4a3758" + integrity sha512-kI5ffTiZWmJaS/huM8wZfEMer1eRd7oJQhDuxeCLe3t7N7mX3z94CN0xPxBQxFYQTSNz9T0i+v6inKqSdK8xrQ== + dependencies: + protocol-buffers-schema "^3.3.1" + +resolve.exports@^2.0.0: + version "2.0.2" + resolved "https://registry.yarnpkg.com/resolve.exports/-/resolve.exports-2.0.2.tgz#f8c934b8e6a13f539e38b7098e2e36134f01e800" + integrity sha512-X2UW6Nw3n/aMgDVy+0rSqgHlv39WZAlZrXCdnbyEiKm17DSqHX4MmQMaST3FbeWR5FTuRcUwYAziZajji0Y7mg== + +resolve@^1.14.2, resolve@^1.19.0, resolve@^1.20.0: + version "1.22.8" + resolved "https://registry.yarnpkg.com/resolve/-/resolve-1.22.8.tgz#b6c87a9f2aa06dfab52e3d70ac8cde321fa5a48d" + integrity sha512-oKWePCxqpd6FlLvGV1VU0x7bkPmmCNolxzjMf4NczoDnQcIWrAF+cPtZn5i6n+RfD2d9i0tzpKnG6Yk168yIyw== + dependencies: + is-core-module "^2.13.0" + path-parse "^1.0.7" + supports-preserve-symlinks-flag "^1.0.0" + +resolve@^2.0.0-next.4: + version "2.0.0-next.5" + resolved "https://registry.yarnpkg.com/resolve/-/resolve-2.0.0-next.5.tgz#6b0ec3107e671e52b68cd068ef327173b90dc03c" + integrity sha512-U7WjGVG9sH8tvjW5SmGbQuui75FiyjAX72HX15DwBBwF9dNiQZRQAg9nnPhYy+TUnE0+VcrttuvNI8oSxZcocA== + dependencies: + is-core-module "^2.13.0" + path-parse "^1.0.7" + supports-preserve-symlinks-flag "^1.0.0" + +restore-cursor@^3.1.0: + version "3.1.0" + resolved "https://registry.yarnpkg.com/restore-cursor/-/restore-cursor-3.1.0.tgz#39f67c54b3a7a58cea5236d95cf0034239631f7e" + integrity sha512-l+sSefzHpj5qimhFSE5a8nufZYAM3sBSVMAPtYkmC+4EH2anSGaEMXSD0izRQbu9nfyQ9y5JrVmp7E8oZrUjvA== + dependencies: + onetime "^5.1.0" + signal-exit "^3.0.2" + +reusify@^1.0.4: + version "1.0.4" + resolved "https://registry.yarnpkg.com/reusify/-/reusify-1.0.4.tgz#90da382b1e126efc02146e90845a88db12925d76" + integrity sha512-U9nH88a3fc/ekCF1l0/UP1IosiuIjyTh7hBvXVMHYgVcfGvt897Xguj2UOLDeI5BG2m7/uwyaLVT6fbtCwTyzw== + +rfdc@^1.3.0: + version "1.3.0" + resolved "https://registry.yarnpkg.com/rfdc/-/rfdc-1.3.0.tgz#d0b7c441ab2720d05dc4cf26e01c89631d9da08b" + integrity sha512-V2hovdzFbOi77/WajaSMXk2OLm+xNIeQdMMuB7icj7bk6zi2F8GGAxigcnDFpJHbNyNcgyJDiP+8nOrY5cZGrA== + +rimraf@4.4.0: + version "4.4.0" + resolved "https://registry.yarnpkg.com/rimraf/-/rimraf-4.4.0.tgz#c7a9f45bb2ec058d2e60ef9aca5167974313d605" + integrity sha512-X36S+qpCUR0HjXlkDe4NAOhS//aHH0Z+h8Ckf2auGJk3PTnx5rLmrHkwNdbVQuCSUhOyFrlRvFEllZOYE+yZGQ== + dependencies: + glob "^9.2.0" + +rimraf@^3.0.0, rimraf@^3.0.2: + version "3.0.2" + resolved "https://registry.yarnpkg.com/rimraf/-/rimraf-3.0.2.tgz#f1a5402ba6220ad52cc1282bac1ae3aa49fd061a" + integrity sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA== + dependencies: + glob "^7.1.3" + +robust-predicates@^3.0.0: + version "3.0.2" + resolved "https://registry.yarnpkg.com/robust-predicates/-/robust-predicates-3.0.2.tgz#d5b28528c4824d20fc48df1928d41d9efa1ad771" + integrity sha512-IXgzBWvWQwE6PrDI05OvmXUIruQTcoMDzRsOd5CDvHCVLcLHMTSYvOK5Cm46kWqlV3yAbuSpBZdJ5oP5OUoStg== + +rtl-css-js@^1.16.1: + version "1.16.1" + resolved "https://registry.yarnpkg.com/rtl-css-js/-/rtl-css-js-1.16.1.tgz#4b48b4354b0ff917a30488d95100fbf7219a3e80" + integrity sha512-lRQgou1mu19e+Ya0LsTvKrVJ5TYUbqCVPAiImX3UfLTenarvPUl1QFdvu5Z3PYmHT9RCcwIfbjRQBntExyj3Zg== + dependencies: + "@babel/runtime" "^7.1.2" + +run-parallel@^1.1.9: + version "1.2.0" + resolved "https://registry.yarnpkg.com/run-parallel/-/run-parallel-1.2.0.tgz#66d1368da7bdf921eb9d95bd1a9229e7f21a43ee" + integrity sha512-5l4VyZR86LZ/lDxZTR6jqL8AFE2S0IFLMP26AbjsLVADxHdhB/c0GUsH+y39UfCi3dzz8OlQuPmnaJOMoDHQBA== + dependencies: + queue-microtask "^1.2.2" + +rw@1, rw@^1.3.3: + version "1.3.3" + resolved "https://registry.yarnpkg.com/rw/-/rw-1.3.3.tgz#3f862dfa91ab766b14885ef4d01124bfda074fb4" + integrity sha512-PdhdWy89SiZogBLaw42zdeqtRJ//zFd2PgQavcICDUgJT5oW10QCRKbJ6bg4r0/UY2M6BWd5tkxuGFRvCkgfHQ== + +rxjs@7.8.0: + version "7.8.0" + resolved "https://registry.yarnpkg.com/rxjs/-/rxjs-7.8.0.tgz#90a938862a82888ff4c7359811a595e14e1e09a4" + integrity sha512-F2+gxDshqmIub1KdvZkaEfGDwLNpPvk9Fs6LD/MyQxNgMds/WH9OdDDXOmxUZpME+iSK3rQCctkL0DYyytUqMg== + dependencies: + tslib "^2.1.0" + +rxjs@^7.5.1: + version "7.8.1" + resolved "https://registry.yarnpkg.com/rxjs/-/rxjs-7.8.1.tgz#6f6f3d99ea8044291efd92e7c7fcf562c4057543" + integrity sha512-AA3TVj+0A2iuIoQkWEK/tqFjBq2j+6PO6Y0zJcvzLAFhEFIO3HL0vls9hWLncZbAAbK0mar7oZ4V079I/qPMxg== + dependencies: + tslib "^2.1.0" + +safe-array-concat@^1.0.1: + version "1.1.0" + resolved "https://registry.yarnpkg.com/safe-array-concat/-/safe-array-concat-1.1.0.tgz#8d0cae9cb806d6d1c06e08ab13d847293ebe0692" + integrity sha512-ZdQ0Jeb9Ofti4hbt5lX3T2JcAamT9hfzYU1MNB+z/jaEbB6wfFfPIR/zEORmZqobkCCJhSjodobH6WHNmJ97dg== + dependencies: + call-bind "^1.0.5" + get-intrinsic "^1.2.2" + has-symbols "^1.0.3" + isarray "^2.0.5" + +safe-buffer@>=5.1.0, safe-buffer@^5.0.1, safe-buffer@^5.1.0, safe-buffer@^5.1.2: + version "5.2.1" + resolved "https://registry.yarnpkg.com/safe-buffer/-/safe-buffer-5.2.1.tgz#1eaf9fa9bdb1fdd4ec75f58f9cdb4e6b7827eec6" + integrity sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ== + +safe-buffer@~5.1.0, safe-buffer@~5.1.1: + version "5.1.2" + resolved "https://registry.yarnpkg.com/safe-buffer/-/safe-buffer-5.1.2.tgz#991ec69d296e0313747d59bdfd2b745c35f8828d" + integrity sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g== + +safe-json-parse@~1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/safe-json-parse/-/safe-json-parse-1.0.1.tgz#3e76723e38dfdda13c9b1d29a1e07ffee4b30b57" + integrity sha512-o0JmTu17WGUaUOHa1l0FPGXKBfijbxK6qoHzlkihsDXxzBHvJcA7zgviKR92Xs841rX9pK16unfphLq0/KqX7A== + +safe-regex-test@^1.0.0: + version "1.0.2" + resolved "https://registry.yarnpkg.com/safe-regex-test/-/safe-regex-test-1.0.2.tgz#3ba32bdb3ea35f940ee87e5087c60ee786c3f6c5" + integrity sha512-83S9w6eFq12BBIJYvjMux6/dkirb8+4zJRA9cxNBVb7Wq5fJBW+Xze48WqR8pxua7bDuAaaAxtVVd4Idjp1dBQ== + dependencies: + call-bind "^1.0.5" + get-intrinsic "^1.2.2" + is-regex "^1.1.4" + +"safer-buffer@>= 2.1.2 < 3", "safer-buffer@>= 2.1.2 < 3.0.0", safer-buffer@^2.0.2, safer-buffer@^2.1.0, safer-buffer@~2.1.0: + version "2.1.2" + resolved "https://registry.yarnpkg.com/safer-buffer/-/safer-buffer-2.1.2.tgz#44fa161b0187b9549dd84bb91802f9bd8385cd6a" + integrity sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg== + +sass-loader@13.3.1: + version "13.3.1" + resolved "https://registry.yarnpkg.com/sass-loader/-/sass-loader-13.3.1.tgz#32ee5791434b9b4dbd1adcce76fcb4cea49cc12c" + integrity sha512-cBTxmgyVA1nXPvIK4brjJMXOMJ2v2YrQEuHqLw3LylGb3gsR6jAvdjHMcy/+JGTmmIF9SauTrLLR7bsWDMWqgg== + dependencies: + klona "^2.0.6" + neo-async "^2.6.2" + +sass@1.63.2: + version "1.63.2" + resolved "https://registry.yarnpkg.com/sass/-/sass-1.63.2.tgz#75f7d9a8e67d1d5b98a989507f4d98b6067b1f75" + integrity sha512-u56TU0AIFqMtauKl/OJ1AeFsXqRHkgO7nCWmHaDwfxDo9GUMSqBA4NEh6GMuh1CYVM7zuROYtZrHzPc2ixK+ww== + dependencies: + chokidar ">=3.0.0 <4.0.0" + immutable "^4.0.0" + source-map-js ">=0.6.2 <2.0.0" + +saxes@^6.0.0: + version "6.0.0" + resolved "https://registry.yarnpkg.com/saxes/-/saxes-6.0.0.tgz#fe5b4a4768df4f14a201b1ba6a65c1f3d9988cc5" + integrity sha512-xAg7SOnEhrm5zI3puOOKyy1OMcMlIJZYNJY7xLBwSze0UjhPLnWfj2GF2EpT0jmzaJKIWKHLsaSSajf35bcYnA== + dependencies: + xmlchars "^2.2.0" + +scheduler@^0.23.0: + version "0.23.0" + resolved "https://registry.yarnpkg.com/scheduler/-/scheduler-0.23.0.tgz#ba8041afc3d30eb206a487b6b384002e4e61fdfe" + integrity sha512-CtuThmgHNg7zIZWAXi3AsyIzA3n4xx7aNyjwC2VJldO2LMVDhFK+63xGqq6CsJH4rTAt6/M+N4GhZiDYPx9eUw== + dependencies: + loose-envify "^1.1.0" + +schema-utils@>1.0.0, schema-utils@^4.0.0: + version "4.2.0" + resolved "https://registry.yarnpkg.com/schema-utils/-/schema-utils-4.2.0.tgz#70d7c93e153a273a805801882ebd3bff20d89c8b" + integrity sha512-L0jRsrPpjdckP3oPug3/VxNKt2trR8TcabrM6FOAAlvC/9Phcmm+cuAgTlxBqdBR1WJx7Naj9WHw+aOmheSVbw== + dependencies: + "@types/json-schema" "^7.0.9" + ajv "^8.9.0" + ajv-formats "^2.1.1" + ajv-keywords "^5.1.0" + +schema-utils@^3.1.1, schema-utils@^3.2.0: + version "3.3.0" + resolved "https://registry.yarnpkg.com/schema-utils/-/schema-utils-3.3.0.tgz#f50a88877c3c01652a15b622ae9e9795df7a60fe" + integrity sha512-pN/yOAvcC+5rQ5nERGuwrjLlYvLTbCibnZ1I7B1LaiAz9BRBlE9GMgE/eqV30P7aJQUf7Ddimy/RsbYO/GrVGg== + dependencies: + "@types/json-schema" "^7.0.8" + ajv "^6.12.5" + ajv-keywords "^3.5.2" + +screenfull@^5.1.0: + version "5.2.0" + resolved "https://registry.yarnpkg.com/screenfull/-/screenfull-5.2.0.tgz#6533d524d30621fc1283b9692146f3f13a93d1ba" + integrity sha512-9BakfsO2aUQN2K9Fdbj87RJIEZ82Q9IGim7FqM5OsebfoFC6ZHXgDq/KvniuLTPdeM8wY2o6Dj3WQ7KeQCj3cA== + +selection-is-backward@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/selection-is-backward/-/selection-is-backward-1.0.0.tgz#97a54633188a511aba6419fc5c1fa91b467e6be1" + integrity sha512-C+6PCOO55NLCfS8uQjUKV/6E5XMuUcfOVsix5m0QqCCCKi495NgeQVNfWtAaD71NKHsdmFCJoXUGfir3qWdr9A== + +semver@^5.3.0: + version "5.7.2" + resolved "https://registry.yarnpkg.com/semver/-/semver-5.7.2.tgz#48d55db737c3287cd4835e17fa13feace1c41ef8" + integrity sha512-cBznnQ9KjJqU67B52RMC65CMarK2600WFnbkcaiwWq3xy/5haFJlshgnpjovMVJ+Hff49d8GEn0b87C5pDQ10g== + +semver@^6.0.0, semver@^6.1.1, semver@^6.1.2, semver@^6.3.0, semver@^6.3.1: + version "6.3.1" + resolved "https://registry.yarnpkg.com/semver/-/semver-6.3.1.tgz#556d2ef8689146e46dcea4bfdd095f3434dffcb4" + integrity sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA== + +semver@^7.3.2, semver@^7.3.4, semver@^7.3.5, semver@^7.3.7, semver@^7.5.1, semver@^7.5.3, semver@^7.5.4: + version "7.5.4" + resolved "https://registry.yarnpkg.com/semver/-/semver-7.5.4.tgz#483986ec4ed38e1c6c48c34894a9182dbff68a6e" + integrity sha512-1bCSESV6Pv+i21Hvpxp3Dx+pSD8lIPt8uVjRrxAUt/nbswYc+tK6Y2btiULjd4+fnq15PX+nqQDC7Oft7WkwcA== + dependencies: + lru-cache "^6.0.0" + +serialize-javascript@6.0.0: + version "6.0.0" + resolved "https://registry.yarnpkg.com/serialize-javascript/-/serialize-javascript-6.0.0.tgz#efae5d88f45d7924141da8b5c3a7a7e663fefeb8" + integrity sha512-Qr3TosvguFt8ePWqsvRfrKyQXIiW+nGbYpy8XK24NQHE83caxWt+mIymTT19DGFbNWNLfEwsrkSmN64lVWB9ag== + dependencies: + randombytes "^2.1.0" + +serialize-javascript@^6.0.0, serialize-javascript@^6.0.1: + version "6.0.2" + resolved "https://registry.yarnpkg.com/serialize-javascript/-/serialize-javascript-6.0.2.tgz#defa1e055c83bf6d59ea805d8da862254eb6a6c2" + integrity sha512-Saa1xPByTTq2gdeFZYLLo+RFE35NHZkAbqZeWNd3BpzppeVisAqpDjcp8dyf6uIvEqJRd46jemmyA4iFIeVk8g== + dependencies: + randombytes "^2.1.0" + +set-function-length@^1.1.1: + version "1.2.0" + resolved "https://registry.yarnpkg.com/set-function-length/-/set-function-length-1.2.0.tgz#2f81dc6c16c7059bda5ab7c82c11f03a515ed8e1" + integrity sha512-4DBHDoyHlM1IRPGYcoxexgh67y4ueR53FKV1yyxwFMY7aCqcN/38M1+SwZ/qJQ8iLv7+ck385ot4CcisOAPT9w== + dependencies: + define-data-property "^1.1.1" + function-bind "^1.1.2" + get-intrinsic "^1.2.2" + gopd "^1.0.1" + has-property-descriptors "^1.0.1" + +set-function-name@^2.0.0: + version "2.0.1" + resolved "https://registry.yarnpkg.com/set-function-name/-/set-function-name-2.0.1.tgz#12ce38b7954310b9f61faa12701620a0c882793a" + integrity sha512-tMNCiqYVkXIZgc2Hnoy2IvC/f8ezc5koaRFkCjrpWzGpCd3qbZXPzVy9MAZzK1ch/X0jvSkojys3oqJN0qCmdA== + dependencies: + define-data-property "^1.0.1" + functions-have-names "^1.2.3" + has-property-descriptors "^1.0.0" + +set-harmonic-interval@^1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/set-harmonic-interval/-/set-harmonic-interval-1.0.1.tgz#e1773705539cdfb80ce1c3d99e7f298bb3995249" + integrity sha512-AhICkFV84tBP1aWqPwLZqFvAwqEoVA9kxNMniGEUvzOlm4vLmOFLiTT3UZ6bziJTy4bOVpzWGTfSCbmaayGx8g== + +shallow-clone@^3.0.0: + version "3.0.1" + resolved "https://registry.yarnpkg.com/shallow-clone/-/shallow-clone-3.0.1.tgz#8f2981ad92531f55035b01fb230769a40e02efa3" + integrity sha512-/6KqX+GVUdqPuPPd2LxDDxzX6CAbjJehAAOKlNpqqUpAqPM6HeL8f+o3a+JsyGjn2lv0WY8UsTgUJjU9Ok55NA== + dependencies: + kind-of "^6.0.2" + +shallowequal@^1.1.0: + version "1.1.0" + resolved "https://registry.yarnpkg.com/shallowequal/-/shallowequal-1.1.0.tgz#188d521de95b9087404fd4dcb68b13df0ae4e7f8" + integrity sha512-y0m1JoUZSlPAjXVtPPW70aZWfIL/dSP7AFkRnniLCrK/8MDKog3TySTBmckD+RObVxH0v4Tox67+F14PdED2oQ== + +shebang-command@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/shebang-command/-/shebang-command-2.0.0.tgz#ccd0af4f8835fbdc265b82461aaf0c36663f34ea" + integrity sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA== + dependencies: + shebang-regex "^3.0.0" + +shebang-regex@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/shebang-regex/-/shebang-regex-3.0.0.tgz#ae16f1644d873ecad843b0307b143362d4c42172" + integrity sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A== + +side-channel@^1.0.4: + version "1.0.4" + resolved "https://registry.yarnpkg.com/side-channel/-/side-channel-1.0.4.tgz#efce5c8fdc104ee751b25c58d4290011fa5ea2cf" + integrity sha512-q5XPytqFEIKHkGdiMIrY10mvLRvnQh42/+GoBlFW3b2LXLE2xxJpZFdm94we0BaoV3RwJyGqg5wS7epxTv0Zvw== + dependencies: + call-bind "^1.0.0" + get-intrinsic "^1.0.2" + object-inspect "^1.9.0" + +signal-exit@^3.0.2, signal-exit@^3.0.3, signal-exit@^3.0.7: + version "3.0.7" + resolved "https://registry.yarnpkg.com/signal-exit/-/signal-exit-3.0.7.tgz#a9a1767f8af84155114eaabd73f99273c8f59ad9" + integrity sha512-wnD2ZE+l+SPC/uoS0vXeE9L1+0wuaMqKlfz9AMUo38JsyLSBWSFcHR1Rri62LZc12vLr1gb3jl7iwQhgwpAbGQ== + +signal-exit@^4.0.1: + version "4.1.0" + resolved "https://registry.yarnpkg.com/signal-exit/-/signal-exit-4.1.0.tgz#952188c1cbd546070e2dd20d0f41c0ae0530cb04" + integrity sha512-bzyZ1e88w9O1iNJbKnOlvYTrWPDl46O1bG0D3XInv+9tkPrxrN8jUUTiFlDkkmKWgn1M6CfIA13SuGqOa9Korw== + +sisteransi@^1.0.5: + version "1.0.5" + resolved "https://registry.yarnpkg.com/sisteransi/-/sisteransi-1.0.5.tgz#134d681297756437cc05ca01370d3a7a571075ed" + integrity sha512-bLGGlR1QxBcynn2d5YmDX4MGjlZvy2MRBDRNHLJ8VI6l6+9FUiyTFNJ0IveOSP0bcXgVDPRcfGqA0pjaqUpfVg== + +slash@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/slash/-/slash-3.0.0.tgz#6539be870c165adbd5240220dbe361f1bc4d4634" + integrity sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q== + +slash@^4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/slash/-/slash-4.0.0.tgz#2422372176c4c6c5addb5e2ada885af984b396a7" + integrity sha512-3dOsAHXXUkQTpOYcoAxLIorMTp4gIQr5IW3iVb7A7lFIp0VHhnynm9izx6TssdrIcVIESAlVjtnO2K8bg+Coew== + +slash@^5.1.0: + version "5.1.0" + resolved "https://registry.yarnpkg.com/slash/-/slash-5.1.0.tgz#be3adddcdf09ac38eebe8dcdc7b1a57a75b095ce" + integrity sha512-ZA6oR3T/pEyuqwMgAKT0/hAv8oAXckzbkmR0UkUosQ+Mc4RxGoJkRmwHgHufaenlyAgE1Mxgpdcrf75y6XcnDg== + +slate-base64-serializer@^0.2.112: + version "0.2.115" + resolved "https://registry.yarnpkg.com/slate-base64-serializer/-/slate-base64-serializer-0.2.115.tgz#438e051959bde013b50507f3144257e74039ff7f" + integrity sha512-GnLV7bUW/UQ5j7rVIxCU5zdB6NOVsEU6YWsCp68dndIjSGTGLaQv2+WwV3NcnrGGZEYe5qgo33j2QWrPws2C1A== + dependencies: + isomorphic-base64 "^1.0.2" + +slate-dev-environment@^0.2.2: + version "0.2.5" + resolved "https://registry.yarnpkg.com/slate-dev-environment/-/slate-dev-environment-0.2.5.tgz#481b6906fde5becc390db7c14edf97a4bb0029f2" + integrity sha512-oLD8Fclv/RqrDv6RYfN2CRzNcRXsUB99Qgcw5L/njTjxAdDPguV6edQ3DgUG9Q2pLFLhI15DwsKClzVfFzfwGQ== + dependencies: + is-in-browser "^1.1.3" + +slate-hotkeys@^0.2.9: + version "0.2.11" + resolved "https://registry.yarnpkg.com/slate-hotkeys/-/slate-hotkeys-0.2.11.tgz#a94db117d9a98575671192329b05f23e6f485d6f" + integrity sha512-xhq/TlI74dRbO57O4ulGsvCcV4eaQ5nEEz9noZjeNLtNzFRd6lSgExRqAJqKGGIeJw+FnJ3OcqGvdb5CEc9/Ew== + dependencies: + is-hotkey "0.1.4" + slate-dev-environment "^0.2.2" + +slate-plain-serializer@0.7.13, slate-plain-serializer@^0.7.11: + version "0.7.13" + resolved "https://registry.yarnpkg.com/slate-plain-serializer/-/slate-plain-serializer-0.7.13.tgz#6de8f5c645dd749f1b2e4426c20de74bfd213adf" + integrity sha512-TtrlaslxQBEMV0LYdf3s7VAbTxRPe1xaW10WNNGAzGA855/0RhkaHjKkQiRjHv5rvbRleVf7Nxr9fH+4uErfxQ== + +slate-prop-types@^0.5.42: + version "0.5.44" + resolved "https://registry.yarnpkg.com/slate-prop-types/-/slate-prop-types-0.5.44.tgz#da60b69c3451c3bd6cdd60a45d308eeba7e83c76" + integrity sha512-JS0iW7uaciE/W3ADuzeN1HOnSjncQhHPXJ65nZNQzB0DF7mXVmbwQKI6cmCo/xKni7XRJT0JbWSpXFhEdPiBUA== + +slate-react-placeholder@^0.2.9: + version "0.2.9" + resolved "https://registry.yarnpkg.com/slate-react-placeholder/-/slate-react-placeholder-0.2.9.tgz#30f450a05d4871c7d1a27668ebe7907861e7ca74" + integrity sha512-YSJ9Gb4tGpbzPje3eNKtu26hWM8ApxTk9RzjK+6zfD5V/RMTkuWONk24y6c9lZk0OAYNZNUmrnb/QZfU3j9nag== + +slate-react@0.22.10: + version "0.22.10" + resolved "https://registry.yarnpkg.com/slate-react/-/slate-react-0.22.10.tgz#01296dadb707869ace6cb21d336c90bedfb567bf" + integrity sha512-B2Ms1u/REbdd8yKkOItKgrw/tX8klgz5l5x6PP86+oh/yqmB6EHe0QyrYlQ9fc3WBlJUVTOL+nyAP1KmlKj2/w== + dependencies: + debug "^3.1.0" + get-window "^1.1.1" + is-window "^1.0.2" + lodash "^4.1.1" + memoize-one "^4.0.0" + prop-types "^15.5.8" + react-immutable-proptypes "^2.1.0" + selection-is-backward "^1.0.0" + slate-base64-serializer "^0.2.112" + slate-dev-environment "^0.2.2" + slate-hotkeys "^0.2.9" + slate-plain-serializer "^0.7.11" + slate-prop-types "^0.5.42" + slate-react-placeholder "^0.2.9" + tiny-invariant "^1.0.1" + tiny-warning "^0.0.3" + +slate@0.47.9: + version "0.47.9" + resolved "https://registry.yarnpkg.com/slate/-/slate-0.47.9.tgz#090597dd790e79718f782994907d34a903739443" + integrity sha512-EK4O6b7lGt+g5H9PGw9O5KCM4RrOvOgE9mPi3rzQ0zDRlgAb2ga4TdpS6XNQbrsJWsc8I1fjaSsUeCqCUhhi9A== + dependencies: + debug "^3.1.0" + direction "^0.1.5" + esrever "^0.2.0" + is-plain-object "^2.0.4" + lodash "^4.17.4" + tiny-invariant "^1.0.1" + tiny-warning "^0.0.3" + type-of "^2.0.1" + +slice-ansi@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/slice-ansi/-/slice-ansi-3.0.0.tgz#31ddc10930a1b7e0b67b08c96c2f49b77a789787" + integrity sha512-pSyv7bSTC7ig9Dcgbw9AuRNUb5k5V6oDudjZoMBSr13qpLBG7tB+zgCkARjq7xIUgdz5P1Qe8u+rSGdouOOIyQ== + dependencies: + ansi-styles "^4.0.0" + astral-regex "^2.0.0" + is-fullwidth-code-point "^3.0.0" + +slice-ansi@^4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/slice-ansi/-/slice-ansi-4.0.0.tgz#500e8dd0fd55b05815086255b3195adf2a45fe6b" + integrity sha512-qMCMfhY040cVHT43K9BFygqYbUPFZKHOg7K73mtTWJRb8pyP3fzf4Ixd5SzdEJQ6MRUg/WBnOLxghZtKKurENQ== + dependencies: + ansi-styles "^4.0.0" + astral-regex "^2.0.0" + is-fullwidth-code-point "^3.0.0" + +sort-asc@^0.1.0: + version "0.1.0" + resolved "https://registry.yarnpkg.com/sort-asc/-/sort-asc-0.1.0.tgz#ab799df61fc73ea0956c79c4b531ed1e9e7727e9" + integrity sha512-jBgdDd+rQ+HkZF2/OHCmace5dvpos/aWQpcxuyRs9QUbPRnkEJmYVo81PIGpjIdpOcsnJ4rGjStfDHsbn+UVyw== + +sort-desc@^0.1.1: + version "0.1.1" + resolved "https://registry.yarnpkg.com/sort-desc/-/sort-desc-0.1.1.tgz#198b8c0cdeb095c463341861e3925d4ee359a9ee" + integrity sha512-jfZacW5SKOP97BF5rX5kQfJmRVZP5/adDUTY8fCSPvNcXDVpUEe2pr/iKGlcyZzchRJZrswnp68fgk3qBXgkJw== + +sort-object@^0.3.2: + version "0.3.2" + resolved "https://registry.yarnpkg.com/sort-object/-/sort-object-0.3.2.tgz#98e0d199ede40e07c61a84403c61d6c3b290f9e2" + integrity sha512-aAQiEdqFTTdsvUFxXm3umdo04J7MRljoVGbBlkH7BgNsMvVNAJyGj7C/wV1A8wHWAJj/YikeZbfuCKqhggNWGA== + dependencies: + sort-asc "^0.1.0" + sort-desc "^0.1.1" + +"source-map-js@>=0.6.2 <2.0.0", source-map-js@^1.0.2: + version "1.0.2" + resolved "https://registry.yarnpkg.com/source-map-js/-/source-map-js-1.0.2.tgz#adbc361d9c62df380125e7f161f71c826f1e490c" + integrity sha512-R0XvVJ9WusLiqTCEiGCmICCMplcCkIwwR11mOSD9CR5u+IXYdiseeEuXCVAjS54zqwkLcPNnmU4OeJ6tUrWhDw== + +source-map-support@0.5.13: + version "0.5.13" + resolved "https://registry.yarnpkg.com/source-map-support/-/source-map-support-0.5.13.tgz#31b24a9c2e73c2de85066c0feb7d44767ed52932" + integrity sha512-SHSKFHadjVA5oR4PPqhtAVdcBWwRYVd6g6cAXnIbRiIwc2EhPrTuKUBdSLvlEKyIP3GCf89fltvcZiP9MMFA1w== + dependencies: + buffer-from "^1.0.0" + source-map "^0.6.0" + +source-map-support@~0.5.20: + version "0.5.21" + resolved "https://registry.yarnpkg.com/source-map-support/-/source-map-support-0.5.21.tgz#04fe7c7f9e1ed2d662233c28cb2b35b9f63f6e4f" + integrity sha512-uBHU3L3czsIyYXKX88fdrGovxdSCoTGDRZ6SYXtSRxLZUzHg5P/66Ht6uoUlHu9EZod+inXhKo3qQgwXUT/y1w== + dependencies: + buffer-from "^1.0.0" + source-map "^0.6.0" + +source-map@0.5.6: + version "0.5.6" + resolved "https://registry.yarnpkg.com/source-map/-/source-map-0.5.6.tgz#75ce38f52bf0733c5a7f0c118d81334a2bb5f412" + integrity sha512-MjZkVp0NHr5+TPihLcadqnlVoGIoWo4IBHptutGh9wI3ttUYvCG26HkSuDi+K6lsZ25syXJXcctwgyVCt//xqA== + +source-map@^0.5.7: + version "0.5.7" + resolved "https://registry.yarnpkg.com/source-map/-/source-map-0.5.7.tgz#8a039d2d1021d22d1ea14c80d8ea468ba2ef3fcc" + integrity sha512-LbrmJOMUSdEVxIKvdcJzQC+nQhe8FUZQTXQy6+I75skNgn3OoQ0DZA8YnFa7gp8tqtL3KPf1kmo0R5DoApeSGQ== + +source-map@^0.6.0, source-map@^0.6.1, source-map@~0.6.1: + version "0.6.1" + resolved "https://registry.yarnpkg.com/source-map/-/source-map-0.6.1.tgz#74722af32e9614e9c287a8d0bbde48b5e2f1a263" + integrity sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g== + +spdx-exceptions@^2.1.0: + version "2.3.0" + resolved "https://registry.yarnpkg.com/spdx-exceptions/-/spdx-exceptions-2.3.0.tgz#3f28ce1a77a00372683eade4a433183527a2163d" + integrity sha512-/tTrYOC7PPI1nUAgx34hUpqXuyJG+DTHJTnIULG4rDygi4xu/tfgmq1e1cIRwRzwZgo4NLySi+ricLkZkw4i5A== + +spdx-expression-parse@^3.0.1: + version "3.0.1" + resolved "https://registry.yarnpkg.com/spdx-expression-parse/-/spdx-expression-parse-3.0.1.tgz#cf70f50482eefdc98e3ce0a6833e4a53ceeba679" + integrity sha512-cbqHunsQWnJNE6KhVSMsMeH5H/L9EpymbzqTQ3uLwNCLZ1Q481oWaofqH7nO6V07xlXwY6PhQdQ2IedWx/ZK4Q== + dependencies: + spdx-exceptions "^2.1.0" + spdx-license-ids "^3.0.0" + +spdx-license-ids@^3.0.0: + version "3.0.16" + resolved "https://registry.yarnpkg.com/spdx-license-ids/-/spdx-license-ids-3.0.16.tgz#a14f64e0954f6e25cc6587bd4f392522db0d998f" + integrity sha512-eWN+LnM3GR6gPu35WxNgbGl8rmY1AEmoMDvL/QD6zYmPWgywxWqJWNdLGT+ke8dKNWrcYgYjPpG5gbTfghP8rw== + +sprintf-js@~1.0.2: + version "1.0.3" + resolved "https://registry.yarnpkg.com/sprintf-js/-/sprintf-js-1.0.3.tgz#04e6926f662895354f3dd015203633b857297e2c" + integrity sha512-D9cPgkvLlV3t3IzL0D0YLvGA9Ahk4PcvVwUbN0dSGr1aP0Nrt4AEnTUbuGvquEC0mA64Gqt1fzirlRs5ibXx8g== + +sshpk@^1.14.1, sshpk@^1.7.0: + version "1.18.0" + resolved "https://registry.yarnpkg.com/sshpk/-/sshpk-1.18.0.tgz#1663e55cddf4d688b86a46b77f0d5fe363aba028" + integrity sha512-2p2KJZTSqQ/I3+HX42EpYOa2l3f8Erv8MWKsy2I9uf4wA7yFIkXRffYdsx86y6z4vHtV8u7g+pPlr8/4ouAxsQ== + dependencies: + asn1 "~0.2.3" + assert-plus "^1.0.0" + bcrypt-pbkdf "^1.0.0" + dashdash "^1.12.0" + ecc-jsbn "~0.1.1" + getpass "^0.1.1" + jsbn "~0.1.0" + safer-buffer "^2.0.2" + tweetnacl "~0.14.0" + +stack-generator@^2.0.5: + version "2.0.10" + resolved "https://registry.yarnpkg.com/stack-generator/-/stack-generator-2.0.10.tgz#8ae171e985ed62287d4f1ed55a1633b3fb53bb4d" + integrity sha512-mwnua/hkqM6pF4k8SnmZ2zfETsRUpWXREfA/goT8SLCV4iOFa4bzOX2nDipWAZFPTjLvQB82f5yaodMVhK0yJQ== + dependencies: + stackframe "^1.3.4" + +stack-utils@^2.0.3: + version "2.0.6" + resolved "https://registry.yarnpkg.com/stack-utils/-/stack-utils-2.0.6.tgz#aaf0748169c02fc33c8232abccf933f54a1cc34f" + integrity sha512-XlkWvfIm6RmsWtNJx+uqtKLS8eqFbxUg0ZzLXqY0caEy9l7hruX8IpiDnjsLavoBgqCCR71TqWO8MaXYheJ3RQ== + dependencies: + escape-string-regexp "^2.0.0" + +stackframe@^1.3.4: + version "1.3.4" + resolved "https://registry.yarnpkg.com/stackframe/-/stackframe-1.3.4.tgz#b881a004c8c149a5e8efef37d51b16e412943310" + integrity sha512-oeVtt7eWQS+Na6F//S4kJ2K2VbRlS9D43mAlMyVpVWovy9o+jfgH8O9agzANzaiLjclA0oYzUXEM4PurhSUChw== + +stacktrace-gps@^3.0.4: + version "3.1.2" + resolved "https://registry.yarnpkg.com/stacktrace-gps/-/stacktrace-gps-3.1.2.tgz#0c40b24a9b119b20da4525c398795338966a2fb0" + integrity sha512-GcUgbO4Jsqqg6RxfyTHFiPxdPqF+3LFmQhm7MgCuYQOYuWyqxo5pwRPz5d/u6/WYJdEnWfK4r+jGbyD8TSggXQ== + dependencies: + source-map "0.5.6" + stackframe "^1.3.4" + +stacktrace-js@^2.0.2: + version "2.0.2" + resolved "https://registry.yarnpkg.com/stacktrace-js/-/stacktrace-js-2.0.2.tgz#4ca93ea9f494752d55709a081d400fdaebee897b" + integrity sha512-Je5vBeY4S1r/RnLydLl0TBTi3F2qdfWmYsGvtfZgEI+SCprPppaIhQf5nGcal4gI4cGpCV/duLcAzT1np6sQqg== + dependencies: + error-stack-parser "^2.0.6" + stack-generator "^2.0.5" + stacktrace-gps "^3.0.4" + +state-local@^1.0.6: + version "1.0.7" + resolved "https://registry.yarnpkg.com/state-local/-/state-local-1.0.7.tgz#da50211d07f05748d53009bee46307a37db386d5" + integrity sha512-HTEHMNieakEnoe33shBYcZ7NX83ACUjCu8c40iOGEZsngj9zRnkqS9j1pqQPXwobB0ZcVTk27REb7COQ0UR59w== + +stop-iteration-iterator@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/stop-iteration-iterator/-/stop-iteration-iterator-1.0.0.tgz#6a60be0b4ee757d1ed5254858ec66b10c49285e4" + integrity sha512-iCGQj+0l0HOdZ2AEeBADlsRC+vsnDsZsbdSiH1yNSjcfKM7fdpCMfqAL/dwF5BLiw/XhRft/Wax6zQbhq2BcjQ== + dependencies: + internal-slot "^1.0.4" + +stream-buffers@1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/stream-buffers/-/stream-buffers-1.0.1.tgz#9a44a37555f96a5b78a5a765f0c48446cb160b8c" + integrity sha512-t+8bSU8qPq7NnWHWAvikjcZf+biErLZzD15RroYft1IKQwYbkRyiwppT7kNqwdtYLS59YPxc4sTSvwbLSMaodw== + +streamroller@^0.4.0: + version "0.4.1" + resolved "https://registry.yarnpkg.com/streamroller/-/streamroller-0.4.1.tgz#d435bd5974373abd9bd9068359513085106cc05f" + integrity sha512-w0GGkMlWOiIBIYTmOWHTWKy9Y5hKxGKpQ5WpiHqwhvoSoMHXNTITrk6ZsR3fdgz3Bi/c+CXVHwmfPUQFkEPL+A== + dependencies: + date-format "^0.0.0" + debug "^0.7.2" + mkdirp "^0.5.1" + readable-stream "^1.1.7" + +string-hash@^1.1.3: + version "1.1.3" + resolved "https://registry.yarnpkg.com/string-hash/-/string-hash-1.1.3.tgz#e8aafc0ac1855b4666929ed7dd1275df5d6c811b" + integrity sha512-kJUvRUFK49aub+a7T1nNE66EJbZBMnBgoC1UbCZ5n6bsZKBRga4KgBRTMn/pFkeCZSYtNeSyMxPDM0AXWELk2A== + +string-length@^4.0.1: + version "4.0.2" + resolved "https://registry.yarnpkg.com/string-length/-/string-length-4.0.2.tgz#a8a8dc7bd5c1a82b9b3c8b87e125f66871b6e57a" + integrity sha512-+l6rNN5fYHNhZZy41RXsYptCjA2Igmq4EG7kZAYFQI1E1VTXarr6ZPXBg6eq7Y6eK4FEhY6AJlyuFIb/v/S0VQ== + dependencies: + char-regex "^1.0.2" + strip-ansi "^6.0.0" + +string-template@~0.2.1: + version "0.2.1" + resolved "https://registry.yarnpkg.com/string-template/-/string-template-0.2.1.tgz#42932e598a352d01fc22ec3367d9d84eec6c9add" + integrity sha512-Yptehjogou2xm4UJbxJ4CxgZx12HBfeystp0y3x7s4Dj32ltVVG1Gg8YhKjHZkHicuKpZX/ffilA8505VbUbpw== + +"string-width-cjs@npm:string-width@^4.2.0", string-width@^4.1.0, string-width@^4.2.0, string-width@^4.2.3: + version "4.2.3" + resolved "https://registry.yarnpkg.com/string-width/-/string-width-4.2.3.tgz#269c7117d27b05ad2e536830a8ec895ef9c6d010" + integrity sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g== + dependencies: + emoji-regex "^8.0.0" + is-fullwidth-code-point "^3.0.0" + strip-ansi "^6.0.1" + +string-width@^5.0.1, string-width@^5.1.2: + version "5.1.2" + resolved "https://registry.yarnpkg.com/string-width/-/string-width-5.1.2.tgz#14f8daec6d81e7221d2a357e668cab73bdbca794" + integrity sha512-HnLOCR3vjcY8beoNLtcjZ5/nxn2afmME6lhrDrebokqMap+XbeW8n9TXpPDOqdGK5qcI3oT0GKTW6wC7EMiVqA== + dependencies: + eastasianwidth "^0.2.0" + emoji-regex "^9.2.2" + strip-ansi "^7.0.1" + +string.prototype.matchall@^4.0.8: + version "4.0.10" + resolved "https://registry.yarnpkg.com/string.prototype.matchall/-/string.prototype.matchall-4.0.10.tgz#a1553eb532221d4180c51581d6072cd65d1ee100" + integrity sha512-rGXbGmOEosIQi6Qva94HUjgPs9vKW+dkG7Y8Q5O2OYkWL6wFaTRZO8zM4mhP94uX55wgyrXzfS2aGtGzUL7EJQ== + dependencies: + call-bind "^1.0.2" + define-properties "^1.2.0" + es-abstract "^1.22.1" + get-intrinsic "^1.2.1" + has-symbols "^1.0.3" + internal-slot "^1.0.5" + regexp.prototype.flags "^1.5.0" + set-function-name "^2.0.0" + side-channel "^1.0.4" + +string.prototype.trim@^1.2.8: + version "1.2.8" + resolved "https://registry.yarnpkg.com/string.prototype.trim/-/string.prototype.trim-1.2.8.tgz#f9ac6f8af4bd55ddfa8895e6aea92a96395393bd" + integrity sha512-lfjY4HcixfQXOfaqCvcBuOIapyaroTXhbkfJN3gcB1OtyupngWK4sEET9Knd0cXd28kTUqu/kHoV4HKSJdnjiQ== + dependencies: + call-bind "^1.0.2" + define-properties "^1.2.0" + es-abstract "^1.22.1" + +string.prototype.trimend@^1.0.7: + version "1.0.7" + resolved "https://registry.yarnpkg.com/string.prototype.trimend/-/string.prototype.trimend-1.0.7.tgz#1bb3afc5008661d73e2dc015cd4853732d6c471e" + integrity sha512-Ni79DqeB72ZFq1uH/L6zJ+DKZTkOtPIHovb3YZHQViE+HDouuU4mBrLOLDn5Dde3RF8qw5qVETEjhu9locMLvA== + dependencies: + call-bind "^1.0.2" + define-properties "^1.2.0" + es-abstract "^1.22.1" + +string.prototype.trimstart@^1.0.7: + version "1.0.7" + resolved "https://registry.yarnpkg.com/string.prototype.trimstart/-/string.prototype.trimstart-1.0.7.tgz#d4cdb44b83a4737ffbac2d406e405d43d0184298" + integrity sha512-NGhtDFu3jCEm7B4Fy0DpLewdJQOZcQ0rGbwQ/+stjnrp2i+rlKeCvos9hOIeCmqwratM47OBxY7uFZzjxHXmrg== + dependencies: + call-bind "^1.0.2" + define-properties "^1.2.0" + es-abstract "^1.22.1" + +string_decoder@0.10, string_decoder@~0.10.x: + version "0.10.31" + resolved "https://registry.yarnpkg.com/string_decoder/-/string_decoder-0.10.31.tgz#62e203bc41766c6c28c9fc84301dab1c5310fa94" + integrity sha512-ev2QzSzWPYmy9GuqfIVildA4OdcGLeFZQrq5ys6RtiuF+RQQiZWr8TZNyAcuVXyQRYfEO+MsoB/1BuQVhOJuoQ== + +string_decoder@~1.1.1: + version "1.1.1" + resolved "https://registry.yarnpkg.com/string_decoder/-/string_decoder-1.1.1.tgz#9cf1611ba62685d7030ae9e4ba34149c3af03fc8" + integrity sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg== + dependencies: + safe-buffer "~5.1.0" + +"strip-ansi-cjs@npm:strip-ansi@^6.0.1", strip-ansi@^6.0.0, strip-ansi@^6.0.1: + version "6.0.1" + resolved "https://registry.yarnpkg.com/strip-ansi/-/strip-ansi-6.0.1.tgz#9e26c63d30f53443e9489495b2105d37b67a85d9" + integrity sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A== + dependencies: + ansi-regex "^5.0.1" + +strip-ansi@^7.0.1: + version "7.1.0" + resolved "https://registry.yarnpkg.com/strip-ansi/-/strip-ansi-7.1.0.tgz#d5b6568ca689d8561370b0707685d22434faff45" + integrity sha512-iq6eVVI64nQQTRYq2KtEg2d2uU7LElhTJwsH4YzIHZshxlgZms/wIc4VoDQTlG/IvVIrBKG06CrZnp0qv7hkcQ== + dependencies: + ansi-regex "^6.0.1" + +strip-bom@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/strip-bom/-/strip-bom-3.0.0.tgz#2334c18e9c759f7bdd56fdef7e9ae3d588e68ed3" + integrity sha512-vavAMRXOgBVNF6nyEEmL3DBK19iRpDcoIwW+swQ+CbGiu7lju6t+JklA1MHweoWtadgt4ISVUsXLyDq34ddcwA== + +strip-bom@^4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/strip-bom/-/strip-bom-4.0.0.tgz#9c3505c1db45bcedca3d9cf7a16f5c5aa3901878" + integrity sha512-3xurFv5tEgii33Zi8Jtp55wEIILR9eh34FAW00PZf+JnSsTmV/ioewSgQl97JHvgjoRGwPShsWm+IdrxB35d0w== + +strip-final-newline@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/strip-final-newline/-/strip-final-newline-2.0.0.tgz#89b852fb2fcbe936f6f4b3187afb0a12c1ab58ad" + integrity sha512-BrpvfNAE3dcvq7ll3xVumzjKjZQ5tI1sEUIKr3Uoks0XUl45St3FlatVqef9prk4jRDzhW6WZg+3bk93y6pLjA== + +strip-indent@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/strip-indent/-/strip-indent-3.0.0.tgz#c32e1cee940b6b3432c771bc2c54bcce73cd3001" + integrity sha512-laJTa3Jb+VQpaC6DseHhF7dXVqHTfJPCRDaEbid/drOhgitgYku/letMUqOXFoWV0zIIUbjpdH2t+tYj4bQMRQ== + dependencies: + min-indent "^1.0.0" + +strip-json-comments@3.1.1, strip-json-comments@^3.1.0, strip-json-comments@^3.1.1: + version "3.1.1" + resolved "https://registry.yarnpkg.com/strip-json-comments/-/strip-json-comments-3.1.1.tgz#31f1281b3832630434831c310c01cccda8cbe006" + integrity sha512-6fPc+R4ihwqP6N/aIv2f1gMH8lOVtWQHoqC4yK6oSDVVocumAsfCqjkXnqiYMhmMwS/mEHLp7Vehlt3ql6lEig== + +style-loader@3.3.3: + version "3.3.3" + resolved "https://registry.yarnpkg.com/style-loader/-/style-loader-3.3.3.tgz#bba8daac19930169c0c9c96706749a597ae3acff" + integrity sha512-53BiGLXAcll9maCYtZi2RCQZKa8NQQai5C4horqKyRmHj9H7QmcUyucrH+4KW/gBQbXM2AsB0axoEcFZPlfPcw== + +stylis@4.2.0: + version "4.2.0" + resolved "https://registry.yarnpkg.com/stylis/-/stylis-4.2.0.tgz#79daee0208964c8fe695a42fcffcac633a211a51" + integrity sha512-Orov6g6BB1sDfYgzWfTHDOxamtX1bE/zo104Dh9e6fqJ3PooipYyfJ0pUmrZO2wAvO8YbEyeFrkV91XTsGMSrw== + +stylis@^4.3.0: + version "4.3.1" + resolved "https://registry.yarnpkg.com/stylis/-/stylis-4.3.1.tgz#ed8a9ebf9f76fe1e12d462f5cc3c4c980b23a7eb" + integrity sha512-EQepAV+wMsIaGVGX1RECzgrcqRRU/0sYOHkeLsZ3fzHaHXZy4DaOOX0vOlGQdlsjkh3mFHAIlVimpwAs4dslyQ== + +supports-color@8.1.1, supports-color@^8.0.0, supports-color@^8.1.1: + version "8.1.1" + resolved "https://registry.yarnpkg.com/supports-color/-/supports-color-8.1.1.tgz#cd6fc17e28500cff56c1b86c0a7fd4a54a73005c" + integrity sha512-MpUEN2OodtUzxvKQl72cUF7RQ5EiHsGvSsVG0ia9c5RbWGL2CI4C7EpPS8UTBIplnlzZiNuV56w+FuNxy3ty2Q== + dependencies: + has-flag "^4.0.0" + +supports-color@^5.3.0: + version "5.5.0" + resolved "https://registry.yarnpkg.com/supports-color/-/supports-color-5.5.0.tgz#e2e69a44ac8772f78a1ec0b35b689df6530efc8f" + integrity sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow== + dependencies: + has-flag "^3.0.0" + +supports-color@^7.1.0: + version "7.2.0" + resolved "https://registry.yarnpkg.com/supports-color/-/supports-color-7.2.0.tgz#1b7dcdcb32b8138801b3e478ba6a51caa89648da" + integrity sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw== + dependencies: + has-flag "^4.0.0" + +supports-preserve-symlinks-flag@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/supports-preserve-symlinks-flag/-/supports-preserve-symlinks-flag-1.0.0.tgz#6eda4bd344a3c94aea376d4cc31bc77311039e09" + integrity sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w== + +swc-loader@^0.2.3: + version "0.2.3" + resolved "https://registry.yarnpkg.com/swc-loader/-/swc-loader-0.2.3.tgz#6792f1c2e4c9ae9bf9b933b3e010210e270c186d" + integrity sha512-D1p6XXURfSPleZZA/Lipb3A8pZ17fP4NObZvFCDjK/OKljroqDpPmsBdTraWhVBqUNpcWBQY1imWdoPScRlQ7A== + +symbol-tree@^3.2.4: + version "3.2.4" + resolved "https://registry.yarnpkg.com/symbol-tree/-/symbol-tree-3.2.4.tgz#430637d248ba77e078883951fb9aa0eed7c63fa2" + integrity sha512-9QNk5KwDF+Bvz+PyObkmSYjI5ksVUYtjW7AU22r2NKcfLJcXp96hkDWU3+XndOsUb+AQ9QhfzfCT2O+CNWT5Tw== + +systemjs@0.20.19: + version "0.20.19" + resolved "https://registry.yarnpkg.com/systemjs/-/systemjs-0.20.19.tgz#c2b9e79c19f4bea53a19b1ed3f974ffb463be949" + integrity sha512-H/rKwNEEyej/+IhkmFNmKFyJul8tbH/muiPq5TyNoVTwsGhUjRsN3NlFnFQUvFXA3+GQmsXkCNXU6QKPl779aw== + +tapable@^1.0.0: + version "1.1.3" + resolved "https://registry.yarnpkg.com/tapable/-/tapable-1.1.3.tgz#a1fccc06b58db61fd7a45da2da44f5f3a3e67ba2" + integrity sha512-4WK/bYZmj8xLr+HUCODHGF1ZFzsYffasLUgEiMBY4fgtltdO6B4WJtlSbPaDTLpYTcGVwM2qLnFTICEcNxs3kA== + +tapable@^2.1.1, tapable@^2.2.0, tapable@^2.2.1: + version "2.2.1" + resolved "https://registry.yarnpkg.com/tapable/-/tapable-2.2.1.tgz#1967a73ef4060a82f12ab96af86d52fdb76eeca0" + integrity sha512-GNzQvQTOIP6RyTfE2Qxb8ZVlNmw0n88vp1szwWRimP02mnTsx3Wtn5qRdqY9w2XduFNUgvOwhNnQsjwCp+kqaQ== + +terser-webpack-plugin@^5.3.7: + version "5.3.10" + resolved "https://registry.yarnpkg.com/terser-webpack-plugin/-/terser-webpack-plugin-5.3.10.tgz#904f4c9193c6fd2a03f693a2150c62a92f40d199" + integrity sha512-BKFPWlPDndPs+NGGCr1U59t0XScL5317Y0UReNrHaw9/FwhPENlq6bfgs+4yPfyP51vqC1bQ4rp1EfXW5ZSH9w== + dependencies: + "@jridgewell/trace-mapping" "^0.3.20" + jest-worker "^27.4.5" + schema-utils "^3.1.1" + serialize-javascript "^6.0.1" + terser "^5.26.0" + +terser@^5.26.0: + version "5.27.0" + resolved "https://registry.yarnpkg.com/terser/-/terser-5.27.0.tgz#70108689d9ab25fef61c4e93e808e9fd092bf20c" + integrity sha512-bi1HRwVRskAjheeYl291n3JC4GgO/Ty4z1nVs5AAsmonJulGxpSektecnNedrwK9C7vpvVtcX3cw00VSLt7U2A== + dependencies: + "@jridgewell/source-map" "^0.3.3" + acorn "^8.8.2" + commander "^2.20.0" + source-map-support "~0.5.20" + +test-exclude@^6.0.0: + version "6.0.0" + resolved "https://registry.yarnpkg.com/test-exclude/-/test-exclude-6.0.0.tgz#04a8698661d805ea6fa293b6cb9e63ac044ef15e" + integrity sha512-cAGWPIyOHU6zlmg88jwm7VRyXnMN7iV68OGAbYDk/Mh/xC/pzVPlQtY6ngoIH/5/tciuhGfvESU8GrHrcxD56w== + dependencies: + "@istanbuljs/schema" "^0.1.2" + glob "^7.1.4" + minimatch "^3.0.4" + +text-table@^0.2.0: + version "0.2.0" + resolved "https://registry.yarnpkg.com/text-table/-/text-table-0.2.0.tgz#7f5ee823ae805207c00af2df4a84ec3fcfa570b4" + integrity sha512-N+8UisAXDGk8PFXP4HAzVR9nbfmVJ3zYLAWiTIoqC5v5isinhr+r5uaO8+7r3BMfuNIufIsA7RdpVgacC2cSpw== + +throttle-debounce@^3.0.1: + version "3.0.1" + resolved "https://registry.yarnpkg.com/throttle-debounce/-/throttle-debounce-3.0.1.tgz#32f94d84dfa894f786c9a1f290e7a645b6a19abb" + integrity sha512-dTEWWNu6JmeVXY0ZYoPuH5cRIwc0MeGbJwah9KUNYSJwommQpCzTySTpEe8Gs1J23aeWEuAobe4Ag7EHVt/LOg== + +throttleit@^1.0.0: + version "1.0.1" + resolved "https://registry.yarnpkg.com/throttleit/-/throttleit-1.0.1.tgz#304ec51631c3b770c65c6c6f76938b384000f4d5" + integrity sha512-vDZpf9Chs9mAdfY046mcPt8fg5QSZr37hEH4TXYBnDF+izxgrbRGUAAaBvIk/fJm9aOFCGFd1EsNg5AZCbnQCQ== + +through@^2.3.8: + version "2.3.8" + resolved "https://registry.yarnpkg.com/through/-/through-2.3.8.tgz#0dd4c9ffaabc357960b1b724115d7e0e86a2e1f5" + integrity sha512-w89qg7PI8wAdvX60bMDP+bFoD5Dvhm9oLheFp5O4a2QF0cSBGsBX4qZmadPMvVqlLJBBci+WqGGOAPvcDeNSVg== + +tiny-invariant@^1.0.1, tiny-invariant@^1.0.2, tiny-invariant@^1.0.6: + version "1.3.1" + resolved "https://registry.yarnpkg.com/tiny-invariant/-/tiny-invariant-1.3.1.tgz#8560808c916ef02ecfd55e66090df23a4b7aa642" + integrity sha512-AD5ih2NlSssTCwsMznbvwMZpJ1cbhkGd2uueNxzv2jDlEeZdU04JQfRnggJQ8DrcVBGjAsCKwFBbDlVNtEMlzw== + +tiny-lr@^1.1.1: + version "1.1.1" + resolved "https://registry.yarnpkg.com/tiny-lr/-/tiny-lr-1.1.1.tgz#9fa547412f238fedb068ee295af8b682c98b2aab" + integrity sha512-44yhA3tsaRoMOjQQ+5v5mVdqef+kH6Qze9jTpqtVufgYjYt08zyZAwNwwVBj3i1rJMnR52IxOW0LK0vBzgAkuA== + dependencies: + body "^5.1.0" + debug "^3.1.0" + faye-websocket "~0.10.0" + livereload-js "^2.3.0" + object-assign "^4.1.0" + qs "^6.4.0" + +tiny-warning@^0.0.3: + version "0.0.3" + resolved "https://registry.yarnpkg.com/tiny-warning/-/tiny-warning-0.0.3.tgz#1807eb4c5f81784a6354d58ea1d5024f18c6c81f" + integrity sha512-r0SSA5Y5IWERF9Xh++tFPx0jITBgGggOsRLDWWew6YRw/C2dr4uNO1fw1vanrBmHsICmPyMLNBZboTlxUmUuaA== + +tiny-warning@^1.0.0, tiny-warning@^1.0.3: + version "1.0.3" + resolved "https://registry.yarnpkg.com/tiny-warning/-/tiny-warning-1.0.3.tgz#94a30db453df4c643d0fd566060d60a875d84754" + integrity sha512-lBN9zLN/oAf68o3zNXYrdCt1kP8WsiGW8Oo2ka41b2IM5JL/S1CTyX1rW0mb/zSuJun0ZUrDxx4sqvYS2FWzPA== + +tinycolor2@1.6.0: + version "1.6.0" + resolved "https://registry.yarnpkg.com/tinycolor2/-/tinycolor2-1.6.0.tgz#f98007460169b0263b97072c5ae92484ce02d09e" + integrity sha512-XPaBkWQJdsf3pLKJV9p4qN/S+fm2Oj8AIPo1BTUhg5oxkvm9+SVEGFdhyOz7tTdUTfvxMiAs4sp6/eZO2Ew+pw== + +tmp@~0.2.1: + version "0.2.1" + resolved "https://registry.yarnpkg.com/tmp/-/tmp-0.2.1.tgz#8457fc3037dcf4719c251367a1af6500ee1ccf14" + integrity sha512-76SUhtfqR2Ijn+xllcI5P1oyannHNHByD80W1q447gU3mp9G9PSpGdWmjUOHRDPiHYacIk66W7ubDTuPF3BEtQ== + dependencies: + rimraf "^3.0.0" + +tmpl@1.0.5: + version "1.0.5" + resolved "https://registry.yarnpkg.com/tmpl/-/tmpl-1.0.5.tgz#8683e0b902bb9c20c4f726e3c0b69f36518c07cc" + integrity sha512-3f0uOEAQwIqGuWW2MVzYg8fV/QNnc/IpuJNG837rLuczAaLVHslWHZQj4IGiEl5Hs3kkbhwL9Ab7Hrsmuj+Smw== + +to-camel-case@1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/to-camel-case/-/to-camel-case-1.0.0.tgz#1a56054b2f9d696298ce66a60897322b6f423e46" + integrity sha512-nD8pQi5H34kyu1QDMFjzEIYqk0xa9Alt6ZfrdEMuHCFOfTLhDG5pgTu/aAM9Wt9lXILwlXmWP43b8sav0GNE8Q== + dependencies: + to-space-case "^1.0.0" + +to-fast-properties@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/to-fast-properties/-/to-fast-properties-2.0.0.tgz#dc5e698cbd079265bc73e0377681a4e4e83f616e" + integrity sha512-/OaKK0xYrs3DmxRYqL/yDc+FxFUVYhDlXMhRmv3z915w2HF1tnN1omB354j8VUGO/hbRzyD6Y3sA7v7GS/ceog== + +to-no-case@^1.0.0: + version "1.0.2" + resolved "https://registry.yarnpkg.com/to-no-case/-/to-no-case-1.0.2.tgz#c722907164ef6b178132c8e69930212d1b4aa16a" + integrity sha512-Z3g735FxuZY8rodxV4gH7LxClE4H0hTIyHNIHdk+vpQxjLm0cwnKXq/OFVZ76SOQmto7txVcwSCwkU5kqp+FKg== + +to-regex-range@^5.0.1: + version "5.0.1" + resolved "https://registry.yarnpkg.com/to-regex-range/-/to-regex-range-5.0.1.tgz#1648c44aae7c8d988a326018ed72f5b4dd0392e4" + integrity sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ== + dependencies: + is-number "^7.0.0" + +to-space-case@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/to-space-case/-/to-space-case-1.0.0.tgz#b052daafb1b2b29dc770cea0163e5ec0ebc9fc17" + integrity sha512-rLdvwXZ39VOn1IxGL3V6ZstoTbwLRckQmn/U8ZDLuWwIXNpuZDhQ3AiRUlhTbOXFVE9C+dR51wM0CBDhk31VcA== + dependencies: + to-no-case "^1.0.0" + +toggle-selection@^1.0.6: + version "1.0.6" + resolved "https://registry.yarnpkg.com/toggle-selection/-/toggle-selection-1.0.6.tgz#6e45b1263f2017fa0acc7d89d78b15b8bf77da32" + integrity sha512-BiZS+C1OS8g/q2RRbJmy59xpyghNBqrr6k5L/uKBGRsTfxmu3ffiRnd8mlGPUVayg8pvfi5urfnu8TU7DVOkLQ== + +tough-cookie@^4.1.2, tough-cookie@^4.1.3: + version "4.1.3" + resolved "https://registry.yarnpkg.com/tough-cookie/-/tough-cookie-4.1.3.tgz#97b9adb0728b42280aa3d814b6b999b2ff0318bf" + integrity sha512-aX/y5pVRkfRnfmuX+OdbSdXvPe6ieKX/G2s7e98f4poJHnqH3281gDPm/metm6E/WRamfx7WC4HUqkWHfQHprw== + dependencies: + psl "^1.1.33" + punycode "^2.1.1" + universalify "^0.2.0" + url-parse "^1.5.3" + +tough-cookie@~2.5.0: + version "2.5.0" + resolved "https://registry.yarnpkg.com/tough-cookie/-/tough-cookie-2.5.0.tgz#cd9fb2a0aa1d5a12b473bd9fb96fa3dcff65ade2" + integrity sha512-nlLsUzgm1kfLXSXfRZMc1KLAugd4hqJHDTvc2hDIwS3mZAfMEuMbc03SujMF+GEcpaX/qboeycw6iO8JwVv2+g== + dependencies: + psl "^1.1.28" + punycode "^2.1.1" + +tr46@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/tr46/-/tr46-3.0.0.tgz#555c4e297a950617e8eeddef633c87d4d9d6cbf9" + integrity sha512-l7FvfAHlcmulp8kr+flpQZmVwtu7nfRV7NZujtN0OqES8EL4O4e0qqzL0DC5gAvx/ZC/9lk6rhcUwYvkBnBnYA== + dependencies: + punycode "^2.1.1" + +tracelib@1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/tracelib/-/tracelib-1.0.1.tgz#bb44ea96c19b8d7a6c85a6ee1cac9945c5b75c64" + integrity sha512-T2Vkpa/7Vdm3sV8nXRn8vZ0tnq6wlnO4Zx7Pux+JA1W6DMlg5EtbNcPZu/L7XRTPc9S0eAKhEFR4p/u0GcsDpQ== + +ts-api-utils@^1.0.1: + version "1.0.3" + resolved "https://registry.yarnpkg.com/ts-api-utils/-/ts-api-utils-1.0.3.tgz#f12c1c781d04427313dbac808f453f050e54a331" + integrity sha512-wNMeqtMz5NtwpT/UZGY5alT+VoKdSsOOP/kqHFcUW1P/VRhH2wJ48+DN2WwUliNbQ976ETwDL0Ifd2VVvgonvg== + +ts-easing@^0.2.0: + version "0.2.0" + resolved "https://registry.yarnpkg.com/ts-easing/-/ts-easing-0.2.0.tgz#c8a8a35025105566588d87dbda05dd7fbfa5a4ec" + integrity sha512-Z86EW+fFFh/IFB1fqQ3/+7Zpf9t2ebOAxNI/V6Wo7r5gqiqtxmgTlQ1qbqQcjLKYeSHPTsEmvlJUDg/EuL0uHQ== + +ts-loader@8.4.0: + version "8.4.0" + resolved "https://registry.yarnpkg.com/ts-loader/-/ts-loader-8.4.0.tgz#e845ea0f38d140bdc3d7d60293ca18d12ff2720f" + integrity sha512-6nFY3IZ2//mrPc+ImY3hNWx1vCHyEhl6V+wLmL4CZcm6g1CqX7UKrkc6y0i4FwcfOhxyMPCfaEvh20f4r9GNpw== + dependencies: + chalk "^4.1.0" + enhanced-resolve "^4.0.0" + loader-utils "^2.0.0" + micromatch "^4.0.0" + semver "^7.3.4" + +ts-node@^10.9.1: + version "10.9.2" + resolved "https://registry.yarnpkg.com/ts-node/-/ts-node-10.9.2.tgz#70f021c9e185bccdca820e26dc413805c101c71f" + integrity sha512-f0FFpIdcHgn8zcPSbf1dRevwt047YMnaiJM3u2w2RewrB+fob/zePZcrOyQoLMMO7aBIddLcQIEK5dYjkLnGrQ== + dependencies: + "@cspotcode/source-map-support" "^0.8.0" + "@tsconfig/node10" "^1.0.7" + "@tsconfig/node12" "^1.0.7" + "@tsconfig/node14" "^1.0.0" + "@tsconfig/node16" "^1.0.2" + acorn "^8.4.1" + acorn-walk "^8.1.1" + arg "^4.1.0" + create-require "^1.1.0" + diff "^4.0.1" + make-error "^1.1.1" + v8-compile-cache-lib "^3.0.1" + yn "3.1.1" + +tsconfig-paths@^4.2.0: + version "4.2.0" + resolved "https://registry.yarnpkg.com/tsconfig-paths/-/tsconfig-paths-4.2.0.tgz#ef78e19039133446d244beac0fd6a1632e2d107c" + integrity sha512-NoZ4roiN7LnbKn9QqE1amc9DJfzvZXxF4xDavcOWt1BPkdx+m+0gJuPM+S0vCe7zTJMYUP0R8pO2XMr+Y8oLIg== + dependencies: + json5 "^2.2.2" + minimist "^1.2.6" + strip-bom "^3.0.0" + +tslib@2.5.0: + version "2.5.0" + resolved "https://registry.yarnpkg.com/tslib/-/tslib-2.5.0.tgz#42bfed86f5787aeb41d031866c8f402429e0fddf" + integrity sha512-336iVw3rtn2BUK7ORdIAHTyxHGRIHVReokCR3XjbckJMK7ms8FysBfhLR8IXnAgy7T0PTPNBWKiH514FOW/WSg== + +tslib@2.5.3: + version "2.5.3" + resolved "https://registry.yarnpkg.com/tslib/-/tslib-2.5.3.tgz#24944ba2d990940e6e982c4bea147aba80209913" + integrity sha512-mSxlJJwl3BMEQCUNnxXBU9jP4JBktcEGhURcPR6VQVlnP0FdDEsIaz0C35dXNGLyRfrATNofF0F5p2KPxQgB+w== + +tslib@^1.8.1, tslib@^1.9.3: + version "1.14.1" + resolved "https://registry.yarnpkg.com/tslib/-/tslib-1.14.1.tgz#cf2d38bdc34a134bcaf1091c41f6619e2f672d00" + integrity sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg== + +tslib@^2.1.0, tslib@^2.3.1, tslib@^2.4.0: + version "2.6.2" + resolved "https://registry.yarnpkg.com/tslib/-/tslib-2.6.2.tgz#703ac29425e7b37cd6fd456e92404d46d1f3e4ae" + integrity sha512-AEYxH93jGFPn/a2iVAwW87VuUIkR1FVUKB77NwMF7nBTDkDrrT/Hpt/IrCJ0QXhW27jTBDcf5ZY7w6RiqTMw2Q== + +tsutils@^3.21.0: + version "3.21.0" + resolved "https://registry.yarnpkg.com/tsutils/-/tsutils-3.21.0.tgz#b48717d394cea6c1e096983eed58e9d61715b623" + integrity sha512-mHKK3iUXL+3UF6xL5k0PEhKRUBKPBCv/+RkEOpjRWxxx27KKRBmmA60A9pgOUvMi8GKhRMPEmjBRPzs2W7O1OA== + dependencies: + tslib "^1.8.1" + +tunnel-agent@^0.6.0: + version "0.6.0" + resolved "https://registry.yarnpkg.com/tunnel-agent/-/tunnel-agent-0.6.0.tgz#27a5dea06b36b04a0a9966774b290868f0fc40fd" + integrity sha512-McnNiV1l8RYeY8tBgEpuodCC1mLUdbSN+CYBL7kJsJNInOP8UjDDEwdk6Mw60vdLLrr5NHKZhMAOSrR2NZuQ+w== + dependencies: + safe-buffer "^5.0.1" + +tweetnacl@^0.14.3, tweetnacl@~0.14.0: + version "0.14.5" + resolved "https://registry.yarnpkg.com/tweetnacl/-/tweetnacl-0.14.5.tgz#5ae68177f192d4456269d108afa93ff8743f4f64" + integrity sha512-KXXFFdAbFXY4geFIwoyNK+f5Z1b7swfXABfL7HXCmoIWMKU3dmS26672A4EeQtDzLKy7SXmfBu51JolvEKwtGA== + +type-check@^0.4.0, type-check@~0.4.0: + version "0.4.0" + resolved "https://registry.yarnpkg.com/type-check/-/type-check-0.4.0.tgz#07b8203bfa7056c0657050e3ccd2c37730bab8f1" + integrity sha512-XleUoc9uwGXqjWwXaUTZAmzMcFZ5858QA2vvx1Ur5xIcixXIP+8LnFDgRplU30us6teqdlskFfu+ae4K79Ooew== + dependencies: + prelude-ls "^1.2.1" + +type-detect@4.0.8: + version "4.0.8" + resolved "https://registry.yarnpkg.com/type-detect/-/type-detect-4.0.8.tgz#7646fb5f18871cfbb7749e69bd39a6388eb7450c" + integrity sha512-0fr/mIH1dlO+x7TlcMy+bIDqKPsw/70tVyeHW787goQjhmqaZe10uwLujubK9q9Lg6Fiho1KUKDYz0Z7k7g5/g== + +type-fest@^0.20.2: + version "0.20.2" + resolved "https://registry.yarnpkg.com/type-fest/-/type-fest-0.20.2.tgz#1bf207f4b28f91583666cb5fbd327887301cd5f4" + integrity sha512-Ne+eE4r0/iWnpAxD852z3A+N0Bt5RN//NjJwRd2VFHEmrywxf5vsZlh4R6lixl6B+wz/8d+maTSAkN1FIkI3LQ== + +type-fest@^0.21.3: + version "0.21.3" + resolved "https://registry.yarnpkg.com/type-fest/-/type-fest-0.21.3.tgz#d260a24b0198436e133fa26a524a6d65fa3b2e37" + integrity sha512-t0rzBq87m3fVcduHDUFhKmyyX+9eo6WQjZvf51Ea/M0Q7+T374Jp1aUiyUl0GKxp8M/OETVHSDvmkyPgvX+X2w== + +type-of@^2.0.1: + version "2.0.1" + resolved "https://registry.yarnpkg.com/type-of/-/type-of-2.0.1.tgz#e72a1741896568e9f628378d816d6912f7f23972" + integrity sha512-39wxbwHdQ2sTiBB8wAzKfQ9GN+om8w+sjNWzr+vZJR5AMD5J+J7Yc8AtXnU9r/r2c8XiDZ/smxutDmZehX/qpQ== + +typed-array-buffer@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/typed-array-buffer/-/typed-array-buffer-1.0.0.tgz#18de3e7ed7974b0a729d3feecb94338d1472cd60" + integrity sha512-Y8KTSIglk9OZEr8zywiIHG/kmQ7KWyjseXs1CbSo8vC42w7hg2HgYTxSWwP0+is7bWDc1H+Fo026CpHFwm8tkw== + dependencies: + call-bind "^1.0.2" + get-intrinsic "^1.2.1" + is-typed-array "^1.1.10" + +typed-array-byte-length@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/typed-array-byte-length/-/typed-array-byte-length-1.0.0.tgz#d787a24a995711611fb2b87a4052799517b230d0" + integrity sha512-Or/+kvLxNpeQ9DtSydonMxCx+9ZXOswtwJn17SNLvhptaXYDJvkFFP5zbfU/uLmvnBJlI4yrnXRxpdWH/M5tNA== + dependencies: + call-bind "^1.0.2" + for-each "^0.3.3" + has-proto "^1.0.1" + is-typed-array "^1.1.10" + +typed-array-byte-offset@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/typed-array-byte-offset/-/typed-array-byte-offset-1.0.0.tgz#cbbe89b51fdef9cd6aaf07ad4707340abbc4ea0b" + integrity sha512-RD97prjEt9EL8YgAgpOkf3O4IF9lhJFr9g0htQkm0rchFp/Vx7LW5Q8fSXXub7BXAODyUQohRMyOc3faCPd0hg== + dependencies: + available-typed-arrays "^1.0.5" + call-bind "^1.0.2" + for-each "^0.3.3" + has-proto "^1.0.1" + is-typed-array "^1.1.10" + +typed-array-length@^1.0.4: + version "1.0.4" + resolved "https://registry.yarnpkg.com/typed-array-length/-/typed-array-length-1.0.4.tgz#89d83785e5c4098bec72e08b319651f0eac9c1bb" + integrity sha512-KjZypGq+I/H7HI5HlOoGHkWUUGq+Q0TPhQurLbyrVrvnKTBgzLhIJ7j6J/XTQOi0d1RjyZ0wdas8bKs2p0x3Ng== + dependencies: + call-bind "^1.0.2" + for-each "^0.3.3" + is-typed-array "^1.1.9" + +typescript@4.8.4: + version "4.8.4" + resolved "https://registry.yarnpkg.com/typescript/-/typescript-4.8.4.tgz#c464abca159669597be5f96b8943500b238e60e6" + integrity sha512-QCh+85mCy+h0IGff8r5XWzOVSbBO+KfeYrMQh7NJ58QujwcE22u+NUSmUxqF+un70P9GXKxa2HCNiTTMJknyjQ== + +ua-parser-js@^1.0.32: + version "1.0.37" + resolved "https://registry.yarnpkg.com/ua-parser-js/-/ua-parser-js-1.0.37.tgz#b5dc7b163a5c1f0c510b08446aed4da92c46373f" + integrity sha512-bhTyI94tZofjo+Dn8SN6Zv8nBDvyXTymAdM3LDI/0IboIUwTu1rEhW7v2TfiVsoYWgkQ4kOVqnI8APUFbIQIFQ== + +unbox-primitive@^1.0.2: + version "1.0.2" + resolved "https://registry.yarnpkg.com/unbox-primitive/-/unbox-primitive-1.0.2.tgz#29032021057d5e6cdbd08c5129c226dff8ed6f9e" + integrity sha512-61pPlCD9h51VoreyJ0BReideM3MDKMKnh6+V9L08331ipq6Q8OFXZYiqP6n/tbHx4s5I9uRhcye6BrbkizkBDw== + dependencies: + call-bind "^1.0.2" + has-bigints "^1.0.2" + has-symbols "^1.0.3" + which-boxed-primitive "^1.0.2" + +underscore@1.7.0: + version "1.7.0" + resolved "https://registry.yarnpkg.com/underscore/-/underscore-1.7.0.tgz#6bbaf0877500d36be34ecaa584e0db9fef035209" + integrity sha512-cp0oQQyZhUM1kpJDLdGO1jPZHgS/MpzoWYfe9+CM2h/QGDZlqwT2T3YGukuBdaNJ/CAPoeyAZRRHz8JFo176vA== + +undici-types@~5.26.4: + version "5.26.5" + resolved "https://registry.yarnpkg.com/undici-types/-/undici-types-5.26.5.tgz#bcd539893d00b56e964fd2657a4866b221a65617" + integrity sha512-JlCMO+ehdEIKqlFxk6IfVoAUVmgz7cU7zD/h9XZ0qzeosSHmUJVOzSQvvYSYWXkFXC+IfLKSIffhv0sVZup6pA== + +unicode-canonical-property-names-ecmascript@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/unicode-canonical-property-names-ecmascript/-/unicode-canonical-property-names-ecmascript-2.0.0.tgz#301acdc525631670d39f6146e0e77ff6bbdebddc" + integrity sha512-yY5PpDlfVIU5+y/BSCxAJRBIS1Zc2dDG3Ujq+sR0U+JjUevW2JhocOF+soROYDSaAezOzOKuyyixhD6mBknSmQ== + +unicode-match-property-ecmascript@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/unicode-match-property-ecmascript/-/unicode-match-property-ecmascript-2.0.0.tgz#54fd16e0ecb167cf04cf1f756bdcc92eba7976c3" + integrity sha512-5kaZCrbp5mmbz5ulBkDkbY0SsPOjKqVS35VpL9ulMPfSl0J0Xsm+9Evphv9CoIZFwre7aJoa94AY6seMKGVN5Q== + dependencies: + unicode-canonical-property-names-ecmascript "^2.0.0" + unicode-property-aliases-ecmascript "^2.0.0" + +unicode-match-property-value-ecmascript@^2.1.0: + version "2.1.0" + resolved "https://registry.yarnpkg.com/unicode-match-property-value-ecmascript/-/unicode-match-property-value-ecmascript-2.1.0.tgz#cb5fffdcd16a05124f5a4b0bf7c3770208acbbe0" + integrity sha512-qxkjQt6qjg/mYscYMC0XKRn3Rh0wFPlfxB0xkt9CfyTvpX1Ra0+rAmdX2QyAobptSEvuy4RtpPRui6XkV+8wjA== + +unicode-property-aliases-ecmascript@^2.0.0: + version "2.1.0" + resolved "https://registry.yarnpkg.com/unicode-property-aliases-ecmascript/-/unicode-property-aliases-ecmascript-2.1.0.tgz#43d41e3be698bd493ef911077c9b131f827e8ccd" + integrity sha512-6t3foTQI9qne+OZoVQB/8x8rk2k1eVy1gRXhV3oFQ5T6R1dqQ1xtin3XqSlx3+ATBkliTaR/hHyJBm+LVPNM8w== + +unicorn-magic@^0.1.0: + version "0.1.0" + resolved "https://registry.yarnpkg.com/unicorn-magic/-/unicorn-magic-0.1.0.tgz#1bb9a51c823aaf9d73a8bfcd3d1a23dde94b0ce4" + integrity sha512-lRfVq8fE8gz6QMBuDM6a+LO3IAzTi05H6gCVaUpir2E1Rwpo4ZUog45KpNXKC/Mn3Yb9UDuHumeFTo9iV/D9FQ== + +universalify@^0.2.0: + version "0.2.0" + resolved "https://registry.yarnpkg.com/universalify/-/universalify-0.2.0.tgz#6451760566fa857534745ab1dde952d1b1761be0" + integrity sha512-CJ1QgKmNg3CwvAv/kOFmtnEN05f0D/cn9QntgNOQlQF9dgvVTHj3t+8JPdjqawCHk7V/KA+fbUqzZ9XWhcqPUg== + +universalify@^2.0.0: + version "2.0.1" + resolved "https://registry.yarnpkg.com/universalify/-/universalify-2.0.1.tgz#168efc2180964e6386d061e094df61afe239b18d" + integrity sha512-gptHNQghINnc/vTGIk0SOFGFNXw7JVrlRUtConJRlvaw6DuX0wO5Jeko9sWrMBhh+PsYAZ7oXAiOnf/UKogyiw== + +untildify@^4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/untildify/-/untildify-4.0.0.tgz#2bc947b953652487e4600949fb091e3ae8cd919b" + integrity sha512-KK8xQ1mkzZeg9inewmFVDNkg3l5LUhoq9kN6iWYB/CC9YMG8HA+c1Q8HwDe6dEX7kErrEVNVBO3fWsVq5iDgtw== + +update-browserslist-db@^1.0.13: + version "1.0.13" + resolved "https://registry.yarnpkg.com/update-browserslist-db/-/update-browserslist-db-1.0.13.tgz#3c5e4f5c083661bd38ef64b6328c26ed6c8248c4" + integrity sha512-xebP81SNcPuNpPP3uzeW1NYXxI3rxyJzF3pD6sH4jE7o/IX+WtSpwnVU+qIsDPyk0d3hmFQ7mjqc6AtV604hbg== + dependencies: + escalade "^3.1.1" + picocolors "^1.0.0" + +uplot@1.6.24: + version "1.6.24" + resolved "https://registry.yarnpkg.com/uplot/-/uplot-1.6.24.tgz#dfa213fa7da92763261920ea972ed1a5f9f6af12" + integrity sha512-WpH2BsrFrqxkMu+4XBvc0eCDsRBhzoq9crttYeSI0bfxpzR5YoSVzZXOKFVWcVC7sp/aDXrdDPbDZGCtck2PVg== + +uri-js@^4.2.2: + version "4.4.1" + resolved "https://registry.yarnpkg.com/uri-js/-/uri-js-4.4.1.tgz#9b1a52595225859e55f669d928f88c6c57f2a77e" + integrity sha512-7rKUyy33Q1yc98pQ1DAmLtwX109F7TIfWlW1Ydo8Wl1ii1SeHieeh0HHfPeL2fMXK6z0s8ecKs9frCuLJvndBg== + dependencies: + punycode "^2.1.0" + +url-parse@^1.5.3: + version "1.5.10" + resolved "https://registry.yarnpkg.com/url-parse/-/url-parse-1.5.10.tgz#9d3c2f736c1d75dd3bd2be507dcc111f1e2ea9c1" + integrity sha512-WypcfiRhfeUP9vvF0j6rw0J3hrWrw6iZv3+22h6iRMJ/8z1Tj6XfLP4DsUix5MhMPnXpiHDoKyoZ/bdCkwBCiQ== + dependencies: + querystringify "^2.1.1" + requires-port "^1.0.0" + +use-isomorphic-layout-effect@^1.1.2: + version "1.1.2" + resolved "https://registry.yarnpkg.com/use-isomorphic-layout-effect/-/use-isomorphic-layout-effect-1.1.2.tgz#497cefb13d863d687b08477d9e5a164ad8c1a6fb" + integrity sha512-49L8yCO3iGT/ZF9QttjwLF/ZD9Iwto5LnH5LmEdk/6cFmXddqi2ulF0edxTwjj+7mqvpVVGQWvbXZdn32wRSHA== + +use-memo-one@^1.1.1: + version "1.1.3" + resolved "https://registry.yarnpkg.com/use-memo-one/-/use-memo-one-1.1.3.tgz#2fd2e43a2169eabc7496960ace8c79efef975e99" + integrity sha512-g66/K7ZQGYrI6dy8GLpVcMsBp4s17xNkYJVSMvTEevGy3nDxHOfE6z8BVE22+5G5x7t3+bhzrlTDB7ObrEE0cQ== + +util-deprecate@^1.0.2, util-deprecate@~1.0.1: + version "1.0.2" + resolved "https://registry.yarnpkg.com/util-deprecate/-/util-deprecate-1.0.2.tgz#450d4dc9fa70de732762fbd2d4a28981419a0ccf" + integrity sha512-EPD5q1uXyFxJpCrLnCc1nHnq3gOa6DZBocAIiI2TaSCA7VCJ1UJDMagCzIkXNsUYfD1daK//LTEQ8xiIbrHtcw== + +uuid@9.0.0: + version "9.0.0" + resolved "https://registry.yarnpkg.com/uuid/-/uuid-9.0.0.tgz#592f550650024a38ceb0c562f2f6aa435761efb5" + integrity sha512-MXcSTerfPa4uqyzStbRoTgt5XIe3x5+42+q1sDuy3R5MDk66URdLMOZe5aPX/SQd+kuYAh0FdP/pO28IkQyTeg== + +uuid@^3.3.2: + version "3.4.0" + resolved "https://registry.yarnpkg.com/uuid/-/uuid-3.4.0.tgz#b23e4358afa8a202fe7a100af1f5f883f02007ee" + integrity sha512-HjSDRw6gZE5JMggctHBcjVak08+KEVhSIiDzFnT9S9aegmp85S/bReBVTb4QTFaRNptJ9kuYaNhnbNEOkbKb/A== + +uuid@^8.3.2: + version "8.3.2" + resolved "https://registry.yarnpkg.com/uuid/-/uuid-8.3.2.tgz#80d5b5ced271bb9af6c445f21a1a04c606cefbe2" + integrity sha512-+NYs2QeMWy+GWFOEm9xnn6HCDp0l7QBD7ml8zLUmJ+93Q5NF0NocErnwkTkXVFNiX3/fpC6afS8Dhb/gz7R7eg== + +uuid@^9.0.0: + version "9.0.1" + resolved "https://registry.yarnpkg.com/uuid/-/uuid-9.0.1.tgz#e188d4c8853cc722220392c424cd637f32293f30" + integrity sha512-b+1eJOlsR9K8HJpow9Ok3fiWOWSIcIzXodvv0rQjVoOVNpWMpxf1wZNpt4y9h10odCNrqnYp1OBzRktckBe3sA== + +v8-compile-cache-lib@^3.0.1: + version "3.0.1" + resolved "https://registry.yarnpkg.com/v8-compile-cache-lib/-/v8-compile-cache-lib-3.0.1.tgz#6336e8d71965cb3d35a1bbb7868445a7c05264bf" + integrity sha512-wa7YjyUGfNZngI/vtK0UHAN+lgDCxBPCylVXGp0zu59Fz5aiGtNXaq3DhIov063MorB+VfufLh3JlF2KdTK3xg== + +v8-to-istanbul@^9.0.1: + version "9.2.0" + resolved "https://registry.yarnpkg.com/v8-to-istanbul/-/v8-to-istanbul-9.2.0.tgz#2ed7644a245cddd83d4e087b9b33b3e62dfd10ad" + integrity sha512-/EH/sDgxU2eGxajKdwLCDmQ4FWq+kpi3uCmBGpw1xJtnAxEjlD8j8PEiGWpCIMIs3ciNAgH0d3TTJiUkYzyZjA== + dependencies: + "@jridgewell/trace-mapping" "^0.3.12" + "@types/istanbul-lib-coverage" "^2.0.1" + convert-source-map "^2.0.0" + +value-equal@^1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/value-equal/-/value-equal-1.0.1.tgz#1e0b794c734c5c0cade179c437d356d931a34d6c" + integrity sha512-NOJ6JZCAWr0zlxZt+xqCHNTEKOsrks2HQd4MqhP1qy4z1SkbEP467eNx6TgDKXMvUOb+OENfJCZwM+16n7fRfw== + +verror@1.10.0: + version "1.10.0" + resolved "https://registry.yarnpkg.com/verror/-/verror-1.10.0.tgz#3a105ca17053af55d6e270c1f8288682e18da400" + integrity sha512-ZZKSmDAEFOijERBLkmYfJ+vmk3w+7hOLYDNkRCuRuMJGEmqYNCNLyBBFwWKVMhfwaEF3WOd0Zlw86U/WC/+nYw== + dependencies: + assert-plus "^1.0.0" + core-util-is "1.0.2" + extsprintf "^1.2.0" + +void-elements@3.1.0: + version "3.1.0" + resolved "https://registry.yarnpkg.com/void-elements/-/void-elements-3.1.0.tgz#614f7fbf8d801f0bb5f0661f5b2f5785750e4f09" + integrity sha512-Dhxzh5HZuiHQhbvTW9AMetFfBHDMYpo23Uo9btPXgdYP+3T5S+p+jgNy7spra+veYhBP2dCSgxR/i2Y02h5/6w== + +w3c-xmlserializer@^4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/w3c-xmlserializer/-/w3c-xmlserializer-4.0.0.tgz#aebdc84920d806222936e3cdce408e32488a3073" + integrity sha512-d+BFHzbiCx6zGfz0HyQ6Rg69w9k19nviJspaj4yNscGjrHu94sVP+aRm75yEbCh+r2/yR+7q6hux9LVtbuTGBw== + dependencies: + xml-name-validator "^4.0.0" + +walker@^1.0.8: + version "1.0.8" + resolved "https://registry.yarnpkg.com/walker/-/walker-1.0.8.tgz#bd498db477afe573dc04185f011d3ab8a8d7653f" + integrity sha512-ts/8E8l5b7kY0vlWLewOkDXMmPdLcVV4GmOQLyxuSswIJsweeFZtAsMF7k1Nszz+TYBQrlYRmzOnr398y1JemQ== + dependencies: + makeerror "1.0.12" + +warning@^4.0.2: + version "4.0.3" + resolved "https://registry.yarnpkg.com/warning/-/warning-4.0.3.tgz#16e9e077eb8a86d6af7d64aa1e05fd85b4678ca3" + integrity sha512-rpJyN222KWIvHJ/F53XSZv0Zl/accqHR8et1kpaMTD/fLCRxtV8iX8czMzY7sVZupTI3zcUTg8eycS2kNF9l6w== + dependencies: + loose-envify "^1.0.0" + +watchpack@^2.4.0: + version "2.4.0" + resolved "https://registry.yarnpkg.com/watchpack/-/watchpack-2.4.0.tgz#fa33032374962c78113f93c7f2fb4c54c9862a5d" + integrity sha512-Lcvm7MGST/4fup+ifyKi2hjyIAwcdI4HRgtvTpIUxBRhB+RFtUh8XtDOxUfctVCnhVi+QQj49i91OyvzkJl6cg== + dependencies: + glob-to-regexp "^0.4.1" + graceful-fs "^4.1.2" + +web-vitals@^3.1.1: + version "3.5.1" + resolved "https://registry.yarnpkg.com/web-vitals/-/web-vitals-3.5.1.tgz#af7a9dc60708b81007922ab55a23d963676ba30a" + integrity sha512-xQ9lvIpfLxUj0eSmT79ZjRoU5wIRfIr7pNukL7ZE4EcWZSmfZQqOlhuAGfkVa3EFmzPHZhWhXfm2i5ys+THVPg== + +web-worker@^1.2.0: + version "1.3.0" + resolved "https://registry.yarnpkg.com/web-worker/-/web-worker-1.3.0.tgz#e5f2df5c7fe356755a5fb8f8410d4312627e6776" + integrity sha512-BSR9wyRsy/KOValMgd5kMyr3JzpdeoR9KVId8u5GVlTTAtNChlsE4yTxeY7zMdNSyOmoKBv8NH2qeRY9Tg+IaA== + +webidl-conversions@^7.0.0: + version "7.0.0" + resolved "https://registry.yarnpkg.com/webidl-conversions/-/webidl-conversions-7.0.0.tgz#256b4e1882be7debbf01d05f0aa2039778ea080a" + integrity sha512-VwddBukDzu71offAQR975unBIGqfKZpM+8ZX6ySk8nYhVoo5CYaZyzt3YBvYtRtO+aoGlqxPg/B87NGVZ/fu6g== + +webpack-cli@^5.1.4: + version "5.1.4" + resolved "https://registry.yarnpkg.com/webpack-cli/-/webpack-cli-5.1.4.tgz#c8e046ba7eaae4911d7e71e2b25b776fcc35759b" + integrity sha512-pIDJHIEI9LR0yxHXQ+Qh95k2EvXpWzZ5l+d+jIo+RdSm9MiHfzazIxwwni/p7+x4eJZuvG1AJwgC4TNQ7NRgsg== + dependencies: + "@discoveryjs/json-ext" "^0.5.0" + "@webpack-cli/configtest" "^2.1.1" + "@webpack-cli/info" "^2.0.2" + "@webpack-cli/serve" "^2.0.5" + colorette "^2.0.14" + commander "^10.0.1" + cross-spawn "^7.0.3" + envinfo "^7.7.3" + fastest-levenshtein "^1.0.12" + import-local "^3.0.2" + interpret "^3.1.1" + rechoir "^0.8.0" + webpack-merge "^5.7.3" + +webpack-livereload-plugin@^3.0.2: + version "3.0.2" + resolved "https://registry.yarnpkg.com/webpack-livereload-plugin/-/webpack-livereload-plugin-3.0.2.tgz#b12f4ab56c75f03715eb32883bc2f24621f06da1" + integrity sha512-5JeZ2dgsvSNG+clrkD/u2sEiPcNk4qwCVZZmW8KpqKcNlkGv7IJjdVrq13+etAmMZYaCF1EGXdHkVFuLgP4zfw== + dependencies: + anymatch "^3.1.1" + portfinder "^1.0.17" + schema-utils ">1.0.0" + tiny-lr "^1.1.1" + +webpack-merge@^5.7.3: + version "5.10.0" + resolved "https://registry.yarnpkg.com/webpack-merge/-/webpack-merge-5.10.0.tgz#a3ad5d773241e9c682803abf628d4cd62b8a4177" + integrity sha512-+4zXKdx7UnO+1jaN4l2lHVD+mFvnlZQP/6ljaJVb4SZiwIKeUnrT5l0gkT8z+n4hKpC+jpOv6O9R+gLtag7pSA== + dependencies: + clone-deep "^4.0.1" + flat "^5.0.2" + wildcard "^2.0.0" + +webpack-sources@^3.2.3: + version "3.2.3" + resolved "https://registry.yarnpkg.com/webpack-sources/-/webpack-sources-3.2.3.tgz#2d4daab8451fd4b240cc27055ff6a0c2ccea0cde" + integrity sha512-/DyMEOrDgLKKIG0fmvtz+4dUX/3Ghozwgm6iPp8KRhvn+eQf9+Q7GWxVNMk3+uCPWfdXYC4ExGBckIXdFEfH1w== + +webpack@^5.86.0: + version "5.89.0" + resolved "https://registry.yarnpkg.com/webpack/-/webpack-5.89.0.tgz#56b8bf9a34356e93a6625770006490bf3a7f32dc" + integrity sha512-qyfIC10pOr70V+jkmud8tMfajraGCZMBWJtrmuBymQKCrLTRejBI8STDp1MCyZu/QTdZSeacCQYpYNQVOzX5kw== + dependencies: + "@types/eslint-scope" "^3.7.3" + "@types/estree" "^1.0.0" + "@webassemblyjs/ast" "^1.11.5" + "@webassemblyjs/wasm-edit" "^1.11.5" + "@webassemblyjs/wasm-parser" "^1.11.5" + acorn "^8.7.1" + acorn-import-assertions "^1.9.0" + browserslist "^4.14.5" + chrome-trace-event "^1.0.2" + enhanced-resolve "^5.15.0" + es-module-lexer "^1.2.1" + eslint-scope "5.1.1" + events "^3.2.0" + glob-to-regexp "^0.4.1" + graceful-fs "^4.2.9" + json-parse-even-better-errors "^2.3.1" + loader-runner "^4.2.0" + mime-types "^2.1.27" + neo-async "^2.6.2" + schema-utils "^3.2.0" + tapable "^2.1.1" + terser-webpack-plugin "^5.3.7" + watchpack "^2.4.0" + webpack-sources "^3.2.3" + +websocket-driver@>=0.5.1: + version "0.7.4" + resolved "https://registry.yarnpkg.com/websocket-driver/-/websocket-driver-0.7.4.tgz#89ad5295bbf64b480abcba31e4953aca706f5760" + integrity sha512-b17KeDIQVjvb0ssuSDF2cYXSg2iztliJ4B9WdsuB6J952qCPKmnVq4DyW5motImXHDC1cBT/1UezrJVsKw5zjg== + dependencies: + http-parser-js ">=0.5.1" + safe-buffer ">=5.1.0" + websocket-extensions ">=0.1.1" + +websocket-extensions@>=0.1.1: + version "0.1.4" + resolved "https://registry.yarnpkg.com/websocket-extensions/-/websocket-extensions-0.1.4.tgz#7f8473bc839dfd87608adb95d7eb075211578a42" + integrity sha512-OqedPIGOfsDlo31UNwYbCFMSaO9m9G/0faIHj5/dZFDMFqPTcx6UwqyOy3COEaEOg/9VsGIpdqn62W5KhoKSpg== + +whatwg-encoding@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/whatwg-encoding/-/whatwg-encoding-2.0.0.tgz#e7635f597fd87020858626805a2729fa7698ac53" + integrity sha512-p41ogyeMUrw3jWclHWTQg1k05DSVXPLcVxRTYsXUk+ZooOCZLcoYgPZ/HL/D/N+uQPOtcp1me1WhBEaX02mhWg== + dependencies: + iconv-lite "0.6.3" + +whatwg-mimetype@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/whatwg-mimetype/-/whatwg-mimetype-3.0.0.tgz#5fa1a7623867ff1af6ca3dc72ad6b8a4208beba7" + integrity sha512-nt+N2dzIutVRxARx1nghPKGv1xHikU7HKdfafKkLNLindmPU/ch3U31NOCGGA/dmPcmb1VlofO0vnKAcsm0o/Q== + +whatwg-url@^11.0.0: + version "11.0.0" + resolved "https://registry.yarnpkg.com/whatwg-url/-/whatwg-url-11.0.0.tgz#0a849eebb5faf2119b901bb76fd795c2848d4018" + integrity sha512-RKT8HExMpoYx4igMiVMY83lN6UeITKJlBQ+vR/8ZJ8OCdSiN3RwCq+9gH0+Xzj0+5IrM6i4j/6LuvzbZIQgEcQ== + dependencies: + tr46 "^3.0.0" + webidl-conversions "^7.0.0" + +which-boxed-primitive@^1.0.2: + version "1.0.2" + resolved "https://registry.yarnpkg.com/which-boxed-primitive/-/which-boxed-primitive-1.0.2.tgz#13757bc89b209b049fe5d86430e21cf40a89a8e6" + integrity sha512-bwZdv0AKLpplFY2KZRX6TvyuN7ojjr7lwkg6ml0roIy9YeuSr7JS372qlNW18UQYzgYK9ziGcerWqZOmEn9VNg== + dependencies: + is-bigint "^1.0.1" + is-boolean-object "^1.1.0" + is-number-object "^1.0.4" + is-string "^1.0.5" + is-symbol "^1.0.3" + +which-collection@^1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/which-collection/-/which-collection-1.0.1.tgz#70eab71ebbbd2aefaf32f917082fc62cdcb70906" + integrity sha512-W8xeTUwaln8i3K/cY1nGXzdnVZlidBcagyNFtBdD5kxnb4TvGKR7FfSIS3mYpwWS1QUCutfKz8IY8RjftB0+1A== + dependencies: + is-map "^2.0.1" + is-set "^2.0.1" + is-weakmap "^2.0.1" + is-weakset "^2.0.1" + +which-typed-array@^1.1.11, which-typed-array@^1.1.13: + version "1.1.13" + resolved "https://registry.yarnpkg.com/which-typed-array/-/which-typed-array-1.1.13.tgz#870cd5be06ddb616f504e7b039c4c24898184d36" + integrity sha512-P5Nra0qjSncduVPEAr7xhoF5guty49ArDTwzJ/yNuPIbZppyRxFQsRCWrocxIY+CnMVG+qfbU2FmDKyvSGClow== + dependencies: + available-typed-arrays "^1.0.5" + call-bind "^1.0.4" + for-each "^0.3.3" + gopd "^1.0.1" + has-tostringtag "^1.0.0" + +which@^2.0.1: + version "2.0.2" + resolved "https://registry.yarnpkg.com/which/-/which-2.0.2.tgz#7c6a8dd0a636a0327e10b59c9286eee93f3f51b1" + integrity sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA== + dependencies: + isexe "^2.0.0" + +wildcard@^2.0.0: + version "2.0.1" + resolved "https://registry.yarnpkg.com/wildcard/-/wildcard-2.0.1.tgz#5ab10d02487198954836b6349f74fff961e10f67" + integrity sha512-CC1bOL87PIWSBhDcTrdeLo6eGT7mCFtrg0uIJtqJUFyK+eJnzl8A1niH56uu7KMa5XFrtiV+AQuHO3n7DsHnLQ== + +workerpool@6.2.1: + version "6.2.1" + resolved "https://registry.yarnpkg.com/workerpool/-/workerpool-6.2.1.tgz#46fc150c17d826b86a008e5a4508656777e9c343" + integrity sha512-ILEIE97kDZvF9Wb9f6h5aXK4swSlKGUcOEGiIYb2OOu/IrDU9iwj0fD//SsA6E5ibwJxpEvhullJY4Sl4GcpAw== + +"wrap-ansi-cjs@npm:wrap-ansi@^7.0.0", wrap-ansi@^7.0.0: + version "7.0.0" + resolved "https://registry.yarnpkg.com/wrap-ansi/-/wrap-ansi-7.0.0.tgz#67e145cff510a6a6984bdf1152911d69d2eb9e43" + integrity sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q== + dependencies: + ansi-styles "^4.0.0" + string-width "^4.1.0" + strip-ansi "^6.0.0" + +wrap-ansi@^6.2.0: + version "6.2.0" + resolved "https://registry.yarnpkg.com/wrap-ansi/-/wrap-ansi-6.2.0.tgz#e9393ba07102e6c91a3b221478f0257cd2856e53" + integrity sha512-r6lPcBGxZXlIcymEu7InxDMhdW0KDxpLgoFLcguasxCaJ/SOIZwINatK9KY/tf+ZrlywOKU0UDj3ATXUBfxJXA== + dependencies: + ansi-styles "^4.0.0" + string-width "^4.1.0" + strip-ansi "^6.0.0" + +wrap-ansi@^8.1.0: + version "8.1.0" + resolved "https://registry.yarnpkg.com/wrap-ansi/-/wrap-ansi-8.1.0.tgz#56dc22368ee570face1b49819975d9b9a5ead214" + integrity sha512-si7QWI6zUMq56bESFvagtmzMdGOtoxfR+Sez11Mobfc7tm+VkUckk9bW2UeffTGVUbOksxmSw0AA2gs8g71NCQ== + dependencies: + ansi-styles "^6.1.0" + string-width "^5.0.1" + strip-ansi "^7.0.1" + +wrappy@1: + version "1.0.2" + resolved "https://registry.yarnpkg.com/wrappy/-/wrappy-1.0.2.tgz#b5243d8f3ec1aa35f1364605bc0d1036e30ab69f" + integrity sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ== + +write-file-atomic@^4.0.2: + version "4.0.2" + resolved "https://registry.yarnpkg.com/write-file-atomic/-/write-file-atomic-4.0.2.tgz#a9df01ae5b77858a027fd2e80768ee433555fcfd" + integrity sha512-7KxauUdBmSdWnmpaGFg+ppNjKF8uNLry8LyzjauQDOVONfFLNKrKvQOxZ/VuTIcS/gge/YNahf5RIIQWTSarlg== + dependencies: + imurmurhash "^0.1.4" + signal-exit "^3.0.7" + +ws@^7.2.0: + version "7.5.9" + resolved "https://registry.yarnpkg.com/ws/-/ws-7.5.9.tgz#54fa7db29f4c7cec68b1ddd3a89de099942bb591" + integrity sha512-F+P9Jil7UiSKSkppIiD94dN07AwvFixvLIj1Og1Rl9GGMuNipJnV9JzjD6XuqmAeiswGvUmNLjr5cFuXwNS77Q== + +ws@^8.11.0: + version "8.16.0" + resolved "https://registry.yarnpkg.com/ws/-/ws-8.16.0.tgz#d1cd774f36fbc07165066a60e40323eab6446fd4" + integrity sha512-HS0c//TP7Ina87TfiPUz1rQzMhHrl/SG2guqRcTOIUYD2q8uhUdNHZYJUaQ8aTGPzCh+c6oawMKW35nFl1dxyQ== + +xml-name-validator@^4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/xml-name-validator/-/xml-name-validator-4.0.0.tgz#79a006e2e63149a8600f15430f0a4725d1524835" + integrity sha512-ICP2e+jsHvAj2E2lIHxa5tjXRlKDJo4IdvPvCXbXQGdzSfmSpNVyIKMvoZHjDY9DP0zV17iI85o90vRFXNccRw== + +xml-utils@^1.0.2: + version "1.7.0" + resolved "https://registry.yarnpkg.com/xml-utils/-/xml-utils-1.7.0.tgz#333ce391d8918f872aaf98d2cf90f9ef9b82bd0f" + integrity sha512-bWB489+RQQclC7A9OW8e5BzbT8Tu//jtAOvkYwewFr+Q9T9KDGvfzC1lp0pYPEQPEoPQLDkmxkepSC/2gIAZGw== + +xmlchars@^2.2.0: + version "2.2.0" + resolved "https://registry.yarnpkg.com/xmlchars/-/xmlchars-2.2.0.tgz#060fe1bcb7f9c76fe2a17db86a9bc3ab894210cb" + integrity sha512-JZnDKK8B0RCDw84FNdDAIpZK+JuJw+s7Lz8nksI7SIuU3UXJJslUthsi+uWBUYOwPFwW7W7PRLRfUKpxjtjFCw== + +xss@^1.0.14: + version "1.0.14" + resolved "https://registry.yarnpkg.com/xss/-/xss-1.0.14.tgz#4f3efbde75ad0d82e9921cc3c95e6590dd336694" + integrity sha512-og7TEJhXvn1a7kzZGQ7ETjdQVS2UfZyTlsEdDOqvQF7GoxNfY+0YLCzBy1kPdsDDx4QuNAonQPddpsn6Xl/7sw== + dependencies: + commander "^2.20.3" + cssfilter "0.0.10" + +y18n@^5.0.5: + version "5.0.8" + resolved "https://registry.yarnpkg.com/y18n/-/y18n-5.0.8.tgz#7f4934d0f7ca8c56f95314939ddcd2dd91ce1d55" + integrity sha512-0pfFzegeDWJHJIAmTLRP2DwHjdF5s7jo9tuztdQxAhINCdvS+3nGINqPd00AphqJR/0LhANUS6/+7SCb98YOfA== + +yallist@^3.0.2: + version "3.1.1" + resolved "https://registry.yarnpkg.com/yallist/-/yallist-3.1.1.tgz#dbb7daf9bfd8bac9ab45ebf602b8cbad0d5d08fd" + integrity sha512-a4UGQaWPH59mOXUYnAG2ewncQS4i4F43Tv3JoAM+s2VDAmS9NsK8GpDMLrCHPksFT7h3K6TOoUNn2pb7RoXx4g== + +yallist@^4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/yallist/-/yallist-4.0.0.tgz#9bb92790d9c0effec63be73519e11a35019a3a72" + integrity sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A== + +yaml@^1.10.0: + version "1.10.2" + resolved "https://registry.yarnpkg.com/yaml/-/yaml-1.10.2.tgz#2301c5ffbf12b467de8da2333a459e29e7920e4b" + integrity sha512-r3vXyErRCYJ7wg28yvBY5VSoAF8ZvlcW9/BwUzEtUsjvX/DKs24dIkuwjtuprwJJHsbyUbLApepYTR1BN4uHrg== + +yaml@^2.0.0: + version "2.3.4" + resolved "https://registry.yarnpkg.com/yaml/-/yaml-2.3.4.tgz#53fc1d514be80aabf386dc6001eb29bf3b7523b2" + integrity sha512-8aAvwVUSHpfEqTQ4w/KMlf3HcRdt50E5ODIQJBw1fQ5RL34xabzxtUlzTXVqc4rkZsPbvrXKWnABCD7kWSmocA== + +yargs-parser@20.2.4: + version "20.2.4" + resolved "https://registry.yarnpkg.com/yargs-parser/-/yargs-parser-20.2.4.tgz#b42890f14566796f85ae8e3a25290d205f154a54" + integrity sha512-WOkpgNhPTlE73h4VFAFsOnomJVaovO8VqLDzy5saChRBFQFBoMYirowyW+Q9HB4HFF4Z7VZTiG3iSzJJA29yRA== + +yargs-parser@^20.2.2: + version "20.2.9" + resolved "https://registry.yarnpkg.com/yargs-parser/-/yargs-parser-20.2.9.tgz#2eb7dc3b0289718fc295f362753845c41a0c94ee" + integrity sha512-y11nGElTIV+CT3Zv9t7VKl+Q3hTQoT9a1Qzezhhl6Rp21gJ/IVTW7Z3y9EWXhuUBC2Shnf+DX0antecpAwSP8w== + +yargs-parser@^21.1.1: + version "21.1.1" + resolved "https://registry.yarnpkg.com/yargs-parser/-/yargs-parser-21.1.1.tgz#9096bceebf990d21bb31fa9516e0ede294a77d35" + integrity sha512-tVpsJW7DdjecAiFpbIB1e3qxIQsE6NoPc5/eTdrbbIC4h0LVsWhnoa3g+m2HclBIujHzsxZ4VJVA+GUuc2/LBw== + +yargs-unparser@2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/yargs-unparser/-/yargs-unparser-2.0.0.tgz#f131f9226911ae5d9ad38c432fe809366c2325eb" + integrity sha512-7pRTIA9Qc1caZ0bZ6RYRGbHJthJWuakf+WmHK0rVeLkNrrGhfoabBNdue6kdINI6r4if7ocq9aD/n7xwKOdzOA== + dependencies: + camelcase "^6.0.0" + decamelize "^4.0.0" + flat "^5.0.2" + is-plain-obj "^2.1.0" + +yargs@16.2.0: + version "16.2.0" + resolved "https://registry.yarnpkg.com/yargs/-/yargs-16.2.0.tgz#1c82bf0f6b6a66eafce7ef30e376f49a12477f66" + integrity sha512-D1mvvtDG0L5ft/jGWkLpG1+m0eQxOfaBvTNELraWj22wSVUMWxZUvYgJYcKh6jGGIkJFhH4IZPQhR4TKpc8mBw== + dependencies: + cliui "^7.0.2" + escalade "^3.1.1" + get-caller-file "^2.0.5" + require-directory "^2.1.1" + string-width "^4.2.0" + y18n "^5.0.5" + yargs-parser "^20.2.2" + +yargs@^17.3.1: + version "17.7.2" + resolved "https://registry.yarnpkg.com/yargs/-/yargs-17.7.2.tgz#991df39aca675a192b816e1e0363f9d75d2aa269" + integrity sha512-7dSzzRQ++CKnNI/krKnYRV7JKKPUXMEh61soaHKg9mrWEhzFWhFnxPxGl+69cD1Ou63C13NUPCnmIcrvqCuM6w== + dependencies: + cliui "^8.0.1" + escalade "^3.1.1" + get-caller-file "^2.0.5" + require-directory "^2.1.1" + string-width "^4.2.3" + y18n "^5.0.5" + yargs-parser "^21.1.1" + +yauzl@^2.10.0: + version "2.10.0" + resolved "https://registry.yarnpkg.com/yauzl/-/yauzl-2.10.0.tgz#c7eb17c93e112cb1086fa6d8e51fb0667b79a5f9" + integrity sha512-p4a9I6X6nu6IhoGmBqAcbJy1mlC4j27vEPZX9F4L4/vZT3Lyq1VkFHw/V/PUcB9Buo+DG3iHkT0x3Qya58zc3g== + dependencies: + buffer-crc32 "~0.2.3" + fd-slicer "~1.1.0" + +yn@3.1.1: + version "3.1.1" + resolved "https://registry.yarnpkg.com/yn/-/yn-3.1.1.tgz#1e87401a09d767c1d5eab26a6e4c185182d2eb50" + integrity sha512-Ux4ygGWsu2c7isFWe8Yu1YluJmqVhxqK2cLXNQA5AcC3QfbGNpM7fu0Y8b/z16pXLnFxZYvWhd3fhBY9DLmC6Q== + +yocto-queue@^0.1.0: + version "0.1.0" + resolved "https://registry.yarnpkg.com/yocto-queue/-/yocto-queue-0.1.0.tgz#0294eb3dee05028d31ee1a5fa2c556a6aaf10a1b" + integrity sha512-rVksvsnNCdJ/ohGc6xgPwyN8eheCxsiLM8mxuE/t/mOVqJewPuO1miLpTHQiRgTKCLexL4MeAFVagts7HmNZ2Q== + +zstddec@^0.1.0: + version "0.1.0" + resolved "https://registry.yarnpkg.com/zstddec/-/zstddec-0.1.0.tgz#7050f3f0e0c3978562d0c566b3e5a427d2bad7ec" + integrity sha512-w2NTI8+3l3eeltKAdK8QpiLo/flRAr2p8AGeakfMZOXBxOg9HIu4LVDxBi81sYgVhFhdJjv1OrB5ssI8uFPoLg== From 502b09b33d854a16ec018175e639d62261126164 Mon Sep 17 00:00:00 2001 From: The Anh Nguyen Date: Mon, 22 Jan 2024 10:43:43 +0700 Subject: [PATCH 03/23] update Dockerfile --- .../cdn-in-a-box/optional/grafana/Dockerfile | 15 +- .../trafficcontrol-scenes/dist/CHANGELOG.md | 5 - .../trafficcontrol-scenes/dist/LICENSE | 201 - .../trafficcontrol-scenes/dist/README.md | 51 - .../trafficcontrol-scenes/dist/img/logo.png | Bin 106800 -> 0 bytes .../trafficcontrol-scenes/dist/module.js | 2 - .../trafficcontrol-scenes/dist/module.js.map | 1 - .../trafficcontrol-scenes/dist/plugin.json | 50 - .../grafana/trafficcontrol-scenes/yarn.lock | 10242 ---------------- 9 files changed, 13 insertions(+), 10554 deletions(-) delete mode 100644 infrastructure/cdn-in-a-box/optional/grafana/trafficcontrol-scenes/dist/CHANGELOG.md delete mode 100644 infrastructure/cdn-in-a-box/optional/grafana/trafficcontrol-scenes/dist/LICENSE delete mode 100644 infrastructure/cdn-in-a-box/optional/grafana/trafficcontrol-scenes/dist/README.md delete mode 100644 infrastructure/cdn-in-a-box/optional/grafana/trafficcontrol-scenes/dist/img/logo.png delete mode 100644 infrastructure/cdn-in-a-box/optional/grafana/trafficcontrol-scenes/dist/module.js delete mode 100644 infrastructure/cdn-in-a-box/optional/grafana/trafficcontrol-scenes/dist/module.js.map delete mode 100644 infrastructure/cdn-in-a-box/optional/grafana/trafficcontrol-scenes/dist/plugin.json delete mode 100644 infrastructure/cdn-in-a-box/optional/grafana/trafficcontrol-scenes/yarn.lock diff --git a/infrastructure/cdn-in-a-box/optional/grafana/Dockerfile b/infrastructure/cdn-in-a-box/optional/grafana/Dockerfile index 0b77ac4c82..1f2677508c 100644 --- a/infrastructure/cdn-in-a-box/optional/grafana/Dockerfile +++ b/infrastructure/cdn-in-a-box/optional/grafana/Dockerfile @@ -15,6 +15,18 @@ # specific language governing permissions and limitations # under the License. +FROM node:16-alpine as plugin-build-stage + +WORKDIR /app + +COPY optional/grafana/trafficcontrol-scenes/package*.json ./ + +RUN npm install + +COPY optional/grafana/trafficcontrol-scenes/ ./ + +RUN npm run build + FROM grafana/grafana:10.2.3-ubuntu USER root @@ -29,7 +41,6 @@ ADD enroller/server_template.json \ optional/grafana/run-grafana.sh \ optional/grafana/datasources.yml.template \ optional/grafana/app.yaml.template \ - optional/grafana/trafficcontrol-scenes/dist \ $TRAFFIC_TS_RPM \ / @@ -43,7 +54,7 @@ COPY dns/set-dns.sh \ dns/insert-self-into-dns.sh \ /usr/local/sbin/ -COPY optional/grafana/trafficcontrol-scenes/dist /var/lib/grafana/plugins/trafficcontrol-scenes-app +COPY --from=plugin-build-stage /app/dist /var/lib/grafana/plugins/trafficcontrol-scenes-app ENTRYPOINT [ "/run-grafana.sh" ] EXPOSE 443 diff --git a/infrastructure/cdn-in-a-box/optional/grafana/trafficcontrol-scenes/dist/CHANGELOG.md b/infrastructure/cdn-in-a-box/optional/grafana/trafficcontrol-scenes/dist/CHANGELOG.md deleted file mode 100644 index 9d63e78d60..0000000000 --- a/infrastructure/cdn-in-a-box/optional/grafana/trafficcontrol-scenes/dist/CHANGELOG.md +++ /dev/null @@ -1,5 +0,0 @@ -# Changelog - -## 1.0.0 (Unreleased) - -Initial release. diff --git a/infrastructure/cdn-in-a-box/optional/grafana/trafficcontrol-scenes/dist/LICENSE b/infrastructure/cdn-in-a-box/optional/grafana/trafficcontrol-scenes/dist/LICENSE deleted file mode 100644 index 9c8f3ea087..0000000000 --- a/infrastructure/cdn-in-a-box/optional/grafana/trafficcontrol-scenes/dist/LICENSE +++ /dev/null @@ -1,201 +0,0 @@ - Apache License - Version 2.0, January 2004 - http://www.apache.org/licenses/ - - TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION - - 1. Definitions. - - "License" shall mean the terms and conditions for use, reproduction, - and distribution as defined by Sections 1 through 9 of this document. - - "Licensor" shall mean the copyright owner or entity authorized by - the copyright owner that is granting the License. - - "Legal Entity" shall mean the union of the acting entity and all - other entities that control, are controlled by, or are under common - control with that entity. For the purposes of this definition, - "control" means (i) the power, direct or indirect, to cause the - direction or management of such entity, whether by contract or - otherwise, or (ii) ownership of fifty percent (50%) or more of the - outstanding shares, or (iii) beneficial ownership of such entity. - - "You" (or "Your") shall mean an individual or Legal Entity - exercising permissions granted by this License. - - "Source" form shall mean the preferred form for making modifications, - including but not limited to software source code, documentation - source, and configuration files. - - "Object" form shall mean any form resulting from mechanical - transformation or translation of a Source form, including but - not limited to compiled object code, generated documentation, - and conversions to other media types. - - "Work" shall mean the work of authorship, whether in Source or - Object form, made available under the License, as indicated by a - copyright notice that is included in or attached to the work - (an example is provided in the Appendix below). - - "Derivative Works" shall mean any work, whether in Source or Object - form, that is based on (or derived from) the Work and for which the - editorial revisions, annotations, elaborations, or other modifications - represent, as a whole, an original work of authorship. For the purposes - of this License, Derivative Works shall not include works that remain - separable from, or merely link (or bind by name) to the interfaces of, - the Work and Derivative Works thereof. - - "Contribution" shall mean any work of authorship, including - the original version of the Work and any modifications or additions - to that Work or Derivative Works thereof, that is intentionally - submitted to Licensor for inclusion in the Work by the copyright owner - or by an individual or Legal Entity authorized to submit on behalf of - the copyright owner. For the purposes of this definition, "submitted" - means any form of electronic, verbal, or written communication sent - to the Licensor or its representatives, including but not limited to - communication on electronic mailing lists, source code control systems, - and issue tracking systems that are managed by, or on behalf of, the - Licensor for the purpose of discussing and improving the Work, but - excluding communication that is conspicuously marked or otherwise - designated in writing by the copyright owner as "Not a Contribution." - - "Contributor" shall mean Licensor and any individual or Legal Entity - on behalf of whom a Contribution has been received by Licensor and - subsequently incorporated within the Work. - - 2. Grant of Copyright License. Subject to the terms and conditions of - this License, each Contributor hereby grants to You a perpetual, - worldwide, non-exclusive, no-charge, royalty-free, irrevocable - copyright license to reproduce, prepare Derivative Works of, - publicly display, publicly perform, sublicense, and distribute the - Work and such Derivative Works in Source or Object form. - - 3. Grant of Patent License. Subject to the terms and conditions of - this License, each Contributor hereby grants to You a perpetual, - worldwide, non-exclusive, no-charge, royalty-free, irrevocable - (except as stated in this section) patent license to make, have made, - use, offer to sell, sell, import, and otherwise transfer the Work, - where such license applies only to those patent claims licensable - by such Contributor that are necessarily infringed by their - Contribution(s) alone or by combination of their Contribution(s) - with the Work to which such Contribution(s) was submitted. If You - institute patent litigation against any entity (including a - cross-claim or counterclaim in a lawsuit) alleging that the Work - or a Contribution incorporated within the Work constitutes direct - or contributory patent infringement, then any patent licenses - granted to You under this License for that Work shall terminate - as of the date such litigation is filed. - - 4. Redistribution. You may reproduce and distribute copies of the - Work or Derivative Works thereof in any medium, with or without - modifications, and in Source or Object form, provided that You - meet the following conditions: - - (a) You must give any other recipients of the Work or - Derivative Works a copy of this License; and - - (b) You must cause any modified files to carry prominent notices - stating that You changed the files; and - - (c) You must retain, in the Source form of any Derivative Works - that You distribute, all copyright, patent, trademark, and - attribution notices from the Source form of the Work, - excluding those notices that do not pertain to any part of - the Derivative Works; and - - (d) If the Work includes a "NOTICE" text file as part of its - distribution, then any Derivative Works that You distribute must - include a readable copy of the attribution notices contained - within such NOTICE file, excluding those notices that do not - pertain to any part of the Derivative Works, in at least one - of the following places: within a NOTICE text file distributed - as part of the Derivative Works; within the Source form or - documentation, if provided along with the Derivative Works; or, - within a display generated by the Derivative Works, if and - wherever such third-party notices normally appear. The contents - of the NOTICE file are for informational purposes only and - do not modify the License. You may add Your own attribution - notices within Derivative Works that You distribute, alongside - or as an addendum to the NOTICE text from the Work, provided - that such additional attribution notices cannot be construed - as modifying the License. - - You may add Your own copyright statement to Your modifications and - may provide additional or different license terms and conditions - for use, reproduction, or distribution of Your modifications, or - for any such Derivative Works as a whole, provided Your use, - reproduction, and distribution of the Work otherwise complies with - the conditions stated in this License. - - 5. Submission of Contributions. Unless You explicitly state otherwise, - any Contribution intentionally submitted for inclusion in the Work - by You to the Licensor shall be under the terms and conditions of - this License, without any additional terms or conditions. - Notwithstanding the above, nothing herein shall supersede or modify - the terms of any separate license agreement you may have executed - with Licensor regarding such Contributions. - - 6. Trademarks. This License does not grant permission to use the trade - names, trademarks, service marks, or product names of the Licensor, - except as required for reasonable and customary use in describing the - origin of the Work and reproducing the content of the NOTICE file. - - 7. Disclaimer of Warranty. Unless required by applicable law or - agreed to in writing, Licensor provides the Work (and each - Contributor provides its Contributions) on an "AS IS" BASIS, - WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or - implied, including, without limitation, any warranties or conditions - of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A - PARTICULAR PURPOSE. You are solely responsible for determining the - appropriateness of using or redistributing the Work and assume any - risks associated with Your exercise of permissions under this License. - - 8. Limitation of Liability. In no event and under no legal theory, - whether in tort (including negligence), contract, or otherwise, - unless required by applicable law (such as deliberate and grossly - negligent acts) or agreed to in writing, shall any Contributor be - liable to You for damages, including any direct, indirect, special, - incidental, or consequential damages of any character arising as a - result of this License or out of the use or inability to use the - Work (including but not limited to damages for loss of goodwill, - work stoppage, computer failure or malfunction, or any and all - other commercial damages or losses), even if such Contributor - has been advised of the possibility of such damages. - - 9. Accepting Warranty or Additional Liability. While redistributing - the Work or Derivative Works thereof, You may choose to offer, - and charge a fee for, acceptance of support, warranty, indemnity, - or other liability obligations and/or rights consistent with this - License. However, in accepting such obligations, You may act only - on Your own behalf and on Your sole responsibility, not on behalf - of any other Contributor, and only if You agree to indemnify, - defend, and hold each Contributor harmless for any liability - incurred by, or claims asserted against, such Contributor by reason - of your accepting any such warranty or additional liability. - - END OF TERMS AND CONDITIONS - - APPENDIX: How to apply the Apache License to your work. - - To apply the Apache License to your work, attach the following - boilerplate notice, with the fields enclosed by brackets "{}" - replaced with your own identifying information. (Don't include - the brackets!) The text should be enclosed in the appropriate - comment syntax for the file format. We also recommend that a - file or class name and description of purpose be included on the - same "printed page" as the copyright notice for easier - identification within third-party archives. - - Copyright {yyyy} {name of copyright owner} - - Licensed under the Apache License, Version 2.0 (the "License"); - you may not use this file except in compliance with the License. - You may obtain a copy of the License at - - http://www.apache.org/licenses/LICENSE-2.0 - - Unless required by applicable law or agreed to in writing, software - distributed under the License is distributed on an "AS IS" BASIS, - WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - See the License for the specific language governing permissions and - limitations under the License. \ No newline at end of file diff --git a/infrastructure/cdn-in-a-box/optional/grafana/trafficcontrol-scenes/dist/README.md b/infrastructure/cdn-in-a-box/optional/grafana/trafficcontrol-scenes/dist/README.md deleted file mode 100644 index c80f2aa08a..0000000000 --- a/infrastructure/cdn-in-a-box/optional/grafana/trafficcontrol-scenes/dist/README.md +++ /dev/null @@ -1,51 +0,0 @@ - - -# Grafana Scenes Playground - -Playground - - diff --git a/infrastructure/cdn-in-a-box/optional/grafana/trafficcontrol-scenes/dist/img/logo.png b/infrastructure/cdn-in-a-box/optional/grafana/trafficcontrol-scenes/dist/img/logo.png deleted file mode 100644 index 749fd7f8d4c41b63626872e2f87c8a2433973374..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 106800 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%0DO0AM#nH4S`7`S9w6Ee06H!zo%!a2ll#oLjwTk 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 u={944:(e,t,r)=>{"use strict";function n(e){var t,r,a="";if("string"==typeof e||"number"==typeof e)a+=e;else if("object"==typeof e)if(Array.isArray(e))for(t=0;ta,default:()=>o});const o=a},4:(e,t,r)=>{e=r.nmd(e);var n="__lodash_hash_undefined__",a=1,o=2,i=9007199254740991,s="[object Arguments]",l="[object Array]",u="[object AsyncFunction]",c="[object Boolean]",d="[object Date]",p="[object Error]",h="[object Function]",f="[object GeneratorFunction]",m="[object Map]",g="[object Number]",y="[object Null]",b="[object Object]",v="[object Promise]",w="[object Proxy]",S="[object RegExp]",_="[object Set]",O="[object String]",x="[object Undefined]",C="[object WeakMap]",P="[object ArrayBuffer]",D="[object DataView]",E=/^\[object .+?Constructor\]$/,R=/^(?:0|[1-9]\d*)$/,j={};j["[object Float32Array]"]=j["[object Float64Array]"]=j["[object Int8Array]"]=j["[object Int16Array]"]=j["[object Int32Array]"]=j["[object Uint8Array]"]=j["[object Uint8ClampedArray]"]=j["[object Uint16Array]"]=j["[object Uint32Array]"]=!0,j[s]=j[l]=j[P]=j[c]=j[D]=j[d]=j[p]=j[h]=j[m]=j[g]=j[b]=j[S]=j[_]=j[O]=j[C]=!1;var T="object"==typeof r.g&&r.g&&r.g.Object===Object&&r.g,k="object"==typeof self&&self&&self.Object===Object&&self,A=T||k||Function("return this")(),I=t&&!t.nodeType&&t,F=I&&e&&!e.nodeType&&e,V=F&&F.exports===I,L=V&&T.process,M=function(){try{return L&&L.binding&&L.binding("util")}catch(e){}}(),z=M&&M.isTypedArray;function N(e,t){for(var r=-1,n=null==e?0:e.length;++ru))return!1;var d=s.get(e);if(d&&s.get(t))return d==t;var p=-1,h=!0,f=r&o?new Pe:void 0;for(s.set(e,t),s.set(t,e);++p-1},xe.prototype.set=function(e,t){var r=this.__data__,n=Ee(r,e);return n<0?(++this.size,r.push([e,t])):r[n][1]=t,this},Ce.prototype.clear=function(){this.size=0,this.__data__={hash:new Oe,map:new(de||xe),string:new Oe}},Ce.prototype.delete=function(e){var t=Ie(this,e).delete(e);return this.size-=t?1:0,t},Ce.prototype.get=function(e){return Ie(this,e).get(e)},Ce.prototype.has=function(e){return Ie(this,e).has(e)},Ce.prototype.set=function(e,t){var r=Ie(this,e),n=r.size;return r.set(e,t),this.size+=r.size==n?0:1,this},Pe.prototype.add=Pe.prototype.push=function(e){return this.__data__.set(e,n),this},Pe.prototype.has=function(e){return this.__data__.has(e)},De.prototype.clear=function(){this.__data__=new xe,this.size=0},De.prototype.delete=function(e){var t=this.__data__,r=t.delete(e);return this.size=t.size,r},De.prototype.get=function(e){return this.__data__.get(e)},De.prototype.has=function(e){return this.__data__.has(e)},De.prototype.set=function(e,t){var r=this.__data__;if(r instanceof xe){var n=r.__data__;if(!de||n.length<199)return n.push([e,t]),this.size=++r.size,this;r=this.__data__=new Ce(n)}return r.set(e,t),this.size=r.size,this};var Ve=se?function(e){return null==e?[]:(e=Object(e),function(t,r){for(var n=-1,a=null==t?0:t.length,o=0,i=[];++n-1&&e%1==0&&e-1&&e%1==0&&e<=i}function qe(e){var t=typeof e;return null!=e&&("object"==t||"function"==t)}function Ge(e){return null!=e&&"object"==typeof e}var Qe=z?function(e){return function(t){return e(t)}}(z):function(e){return Ge(e)&&We(e.length)&&!!j[Re(e)]};function Ye(e){return null!=(t=e)&&We(t.length)&&!$e(t)?function(e,t){var r=Be(e),n=!r&&He(e),a=!r&&!n&&Ue(e),o=!r&&!n&&!a&&Qe(e),i=r||n||a||o,s=i?function(e,t){for(var r=-1,n=Array(e);++r{"use strict";var n=r(331);function a(){}function o(){}o.resetWarningCache=a,e.exports=function(){function e(e,t,r,a,o,i){if(i!==n){var s=new Error("Calling PropTypes validators directly is not supported by the `prop-types` package. Use PropTypes.checkPropTypes() to call them. Read more at http://fb.me/use-check-prop-types");throw s.name="Invariant Violation",s}}function t(){return e}e.isRequired=e;var r={array:e,bigint:e,bool:e,func:e,number:e,object:e,string:e,symbol:e,any:e,arrayOf:t,element:e,elementType:e,instanceOf:t,node:e,objectOf:t,oneOf:t,oneOfType:t,shape:t,exact:t,checkPropTypes:o,resetWarningCache:a};return r.PropTypes=r,r}},615:(e,t,r)=>{e.exports=r(772)()},331:e=>{"use strict";e.exports="SECRET_DO_NOT_PASS_THIS_OR_YOU_WILL_BE_FIRED"},322:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"DraggableCore",{enumerable:!0,get:function(){return c.default}}),t.default=void 0;var n=function(e,t){if(e&&e.__esModule)return e;if(null===e||"object"!=typeof e&&"function"!=typeof e)return{default:e};var r=h(t);if(r&&r.has(e))return r.get(e);var n={},a=Object.defineProperty&&Object.getOwnPropertyDescriptor;for(var o in e)if("default"!==o&&Object.prototype.hasOwnProperty.call(e,o)){var i=a?Object.getOwnPropertyDescriptor(e,o):null;i&&(i.get||i.set)?Object.defineProperty(n,o,i):n[o]=e[o]}return n.default=e,r&&r.set(e,n),n}(r(650)),a=p(r(615)),o=p(r(729)),i=p(r(944)),s=r(65),l=r(237),u=r(972),c=p(r(700)),d=p(r(936));function p(e){return e&&e.__esModule?e:{default:e}}function h(e){if("function"!=typeof WeakMap)return null;var t=new WeakMap,r=new WeakMap;return(h=function(e){return e?r:t})(e)}function f(){return f=Object.assign?Object.assign.bind():function(e){for(var t=1;t{if((0,d.default)("Draggable: onDragStart: %j",t),!1===this.props.onStart(e,(0,l.createDraggableData)(this,t)))return!1;this.setState({dragging:!0,dragged:!0})})),m(this,"onDrag",((e,t)=>{if(!this.state.dragging)return!1;(0,d.default)("Draggable: onDrag: %j",t);const r=(0,l.createDraggableData)(this,t),n={x:r.x,y:r.y,slackX:0,slackY:0};if(this.props.bounds){const{x:e,y:t}=n;n.x+=this.state.slackX,n.y+=this.state.slackY;const[a,o]=(0,l.getBoundPosition)(this,n.x,n.y);n.x=a,n.y=o,n.slackX=this.state.slackX+(e-n.x),n.slackY=this.state.slackY+(t-n.y),r.x=n.x,r.y=n.y,r.deltaX=n.x-this.state.x,r.deltaY=n.y-this.state.y}if(!1===this.props.onDrag(e,r))return!1;this.setState(n)})),m(this,"onDragStop",((e,t)=>{if(!this.state.dragging)return!1;if(!1===this.props.onStop(e,(0,l.createDraggableData)(this,t)))return!1;(0,d.default)("Draggable: onDragStop: %j",t);const r={dragging:!1,slackX:0,slackY:0};if(Boolean(this.props.position)){const{x:e,y:t}=this.props.position;r.x=e,r.y=t}this.setState(r)})),this.state={dragging:!1,dragged:!1,x:e.position?e.position.x:e.defaultPosition.x,y:e.position?e.position.y:e.defaultPosition.y,prevPropsPosition:{...e.position},slackX:0,slackY:0,isElementSVG:!1},!e.position||e.onDrag||e.onStop||console.warn("A `position` was applied to this , without drag handlers. This will make this component effectively undraggable. Please attach `onDrag` or `onStop` handlers so you can adjust the `position` of this element.")}componentDidMount(){void 0!==window.SVGElement&&this.findDOMNode()instanceof window.SVGElement&&this.setState({isElementSVG:!0})}componentWillUnmount(){this.setState({dragging:!1})}findDOMNode(){var e,t;return null!==(e=null===(t=this.props)||void 0===t||null===(t=t.nodeRef)||void 0===t?void 0:t.current)&&void 0!==e?e:o.default.findDOMNode(this)}render(){const{axis:e,bounds:t,children:r,defaultPosition:a,defaultClassName:o,defaultClassNameDragging:u,defaultClassNameDragged:d,position:p,positionOffset:h,scale:m,...g}=this.props;let y={},b=null;const v=!Boolean(p)||this.state.dragging,w=p||a,S={x:(0,l.canDragX)(this)&&v?this.state.x:w.x,y:(0,l.canDragY)(this)&&v?this.state.y:w.y};this.state.isElementSVG?b=(0,s.createSVGTransform)(S,h):y=(0,s.createCSSTransform)(S,h);const _=(0,i.default)(r.props.className||"",o,{[u]:this.state.dragging,[d]:this.state.dragged});return n.createElement(c.default,f({},g,{onStart:this.onDragStart,onDrag:this.onDrag,onStop:this.onDragStop}),n.cloneElement(n.Children.only(r),{className:_,style:{...r.props.style,...y},transform:b}))}}t.default=g,m(g,"displayName","Draggable"),m(g,"propTypes",{...c.default.propTypes,axis:a.default.oneOf(["both","x","y","none"]),bounds:a.default.oneOfType([a.default.shape({left:a.default.number,right:a.default.number,top:a.default.number,bottom:a.default.number}),a.default.string,a.default.oneOf([!1])]),defaultClassName:a.default.string,defaultClassNameDragging:a.default.string,defaultClassNameDragged:a.default.string,defaultPosition:a.default.shape({x:a.default.number,y:a.default.number}),positionOffset:a.default.shape({x:a.default.oneOfType([a.default.number,a.default.string]),y:a.default.oneOfType([a.default.number,a.default.string])}),position:a.default.shape({x:a.default.number,y:a.default.number}),className:u.dontSetMe,style:u.dontSetMe,transform:u.dontSetMe}),m(g,"defaultProps",{...c.default.defaultProps,axis:"both",bounds:!1,defaultClassName:"react-draggable",defaultClassNameDragging:"react-draggable-dragging",defaultClassNameDragged:"react-draggable-dragged",defaultPosition:{x:0,y:0},scale:1})},700:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.default=void 0;var n=function(e,t){if(e&&e.__esModule)return e;if(null===e||"object"!=typeof e&&"function"!=typeof e)return{default:e};var r=d(t);if(r&&r.has(e))return r.get(e);var n={},a=Object.defineProperty&&Object.getOwnPropertyDescriptor;for(var o in e)if("default"!==o&&Object.prototype.hasOwnProperty.call(e,o)){var i=a?Object.getOwnPropertyDescriptor(e,o):null;i&&(i.get||i.set)?Object.defineProperty(n,o,i):n[o]=e[o]}return n.default=e,r&&r.set(e,n),n}(r(650)),a=c(r(615)),o=c(r(729)),i=r(65),s=r(237),l=r(972),u=c(r(936));function c(e){return e&&e.__esModule?e:{default:e}}function d(e){if("function"!=typeof WeakMap)return null;var t=new WeakMap,r=new WeakMap;return(d=function(e){return e?r:t})(e)}function p(e,t,r){return(t=function(e){var t=function(e,t){if("object"!=typeof e||null===e)return e;var r=e[Symbol.toPrimitive];if(void 0!==r){var n=r.call(e,"string");if("object"!=typeof n)return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return String(e)}(e);return"symbol"==typeof t?t:String(t)}(t))in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}const h={start:"touchstart",move:"touchmove",stop:"touchend"},f={start:"mousedown",move:"mousemove",stop:"mouseup"};let m=f;class g extends n.Component{constructor(){super(...arguments),p(this,"dragging",!1),p(this,"lastX",NaN),p(this,"lastY",NaN),p(this,"touchIdentifier",null),p(this,"mounted",!1),p(this,"handleDragStart",(e=>{if(this.props.onMouseDown(e),!this.props.allowAnyClick&&"number"==typeof e.button&&0!==e.button)return!1;const t=this.findDOMNode();if(!t||!t.ownerDocument||!t.ownerDocument.body)throw new Error(" not mounted on DragStart!");const{ownerDocument:r}=t;if(this.props.disabled||!(e.target instanceof r.defaultView.Node)||this.props.handle&&!(0,i.matchesSelectorAndParentsTo)(e.target,this.props.handle,t)||this.props.cancel&&(0,i.matchesSelectorAndParentsTo)(e.target,this.props.cancel,t))return;"touchstart"===e.type&&e.preventDefault();const n=(0,i.getTouchIdentifier)(e);this.touchIdentifier=n;const a=(0,s.getControlPosition)(e,n,this);if(null==a)return;const{x:o,y:l}=a,c=(0,s.createCoreData)(this,o,l);(0,u.default)("DraggableCore: handleDragStart: %j",c),(0,u.default)("calling",this.props.onStart),!1!==this.props.onStart(e,c)&&!1!==this.mounted&&(this.props.enableUserSelectHack&&(0,i.addUserSelectStyles)(r),this.dragging=!0,this.lastX=o,this.lastY=l,(0,i.addEvent)(r,m.move,this.handleDrag),(0,i.addEvent)(r,m.stop,this.handleDragStop))})),p(this,"handleDrag",(e=>{const t=(0,s.getControlPosition)(e,this.touchIdentifier,this);if(null==t)return;let{x:r,y:n}=t;if(Array.isArray(this.props.grid)){let e=r-this.lastX,t=n-this.lastY;if([e,t]=(0,s.snapToGrid)(this.props.grid,e,t),!e&&!t)return;r=this.lastX+e,n=this.lastY+t}const a=(0,s.createCoreData)(this,r,n);if((0,u.default)("DraggableCore: handleDrag: %j",a),!1!==this.props.onDrag(e,a)&&!1!==this.mounted)this.lastX=r,this.lastY=n;else try{this.handleDragStop(new MouseEvent("mouseup"))}catch(e){const t=document.createEvent("MouseEvents");t.initMouseEvent("mouseup",!0,!0,window,0,0,0,0,0,!1,!1,!1,!1,0,null),this.handleDragStop(t)}})),p(this,"handleDragStop",(e=>{if(!this.dragging)return;const t=(0,s.getControlPosition)(e,this.touchIdentifier,this);if(null==t)return;let{x:r,y:n}=t;if(Array.isArray(this.props.grid)){let e=r-this.lastX||0,t=n-this.lastY||0;[e,t]=(0,s.snapToGrid)(this.props.grid,e,t),r=this.lastX+e,n=this.lastY+t}const a=(0,s.createCoreData)(this,r,n);if(!1===this.props.onStop(e,a)||!1===this.mounted)return!1;const o=this.findDOMNode();o&&this.props.enableUserSelectHack&&(0,i.removeUserSelectStyles)(o.ownerDocument),(0,u.default)("DraggableCore: handleDragStop: %j",a),this.dragging=!1,this.lastX=NaN,this.lastY=NaN,o&&((0,u.default)("DraggableCore: Removing handlers"),(0,i.removeEvent)(o.ownerDocument,m.move,this.handleDrag),(0,i.removeEvent)(o.ownerDocument,m.stop,this.handleDragStop))})),p(this,"onMouseDown",(e=>(m=f,this.handleDragStart(e)))),p(this,"onMouseUp",(e=>(m=f,this.handleDragStop(e)))),p(this,"onTouchStart",(e=>(m=h,this.handleDragStart(e)))),p(this,"onTouchEnd",(e=>(m=h,this.handleDragStop(e))))}componentDidMount(){this.mounted=!0;const e=this.findDOMNode();e&&(0,i.addEvent)(e,h.start,this.onTouchStart,{passive:!1})}componentWillUnmount(){this.mounted=!1;const e=this.findDOMNode();if(e){const{ownerDocument:t}=e;(0,i.removeEvent)(t,f.move,this.handleDrag),(0,i.removeEvent)(t,h.move,this.handleDrag),(0,i.removeEvent)(t,f.stop,this.handleDragStop),(0,i.removeEvent)(t,h.stop,this.handleDragStop),(0,i.removeEvent)(e,h.start,this.onTouchStart,{passive:!1}),this.props.enableUserSelectHack&&(0,i.removeUserSelectStyles)(t)}}findDOMNode(){var e,t;return null!==(e=this.props)&&void 0!==e&&e.nodeRef?null===(t=this.props)||void 0===t||null===(t=t.nodeRef)||void 0===t?void 0:t.current:o.default.findDOMNode(this)}render(){return n.cloneElement(n.Children.only(this.props.children),{onMouseDown:this.onMouseDown,onMouseUp:this.onMouseUp,onTouchEnd:this.onTouchEnd})}}t.default=g,p(g,"displayName","DraggableCore"),p(g,"propTypes",{allowAnyClick:a.default.bool,children:a.default.node.isRequired,disabled:a.default.bool,enableUserSelectHack:a.default.bool,offsetParent:function(e,t){if(e[t]&&1!==e[t].nodeType)throw new Error("Draggable's offsetParent must be a DOM Node.")},grid:a.default.arrayOf(a.default.number),handle:a.default.string,cancel:a.default.string,nodeRef:a.default.object,onStart:a.default.func,onDrag:a.default.func,onStop:a.default.func,onMouseDown:a.default.func,scale:a.default.number,className:l.dontSetMe,style:l.dontSetMe,transform:l.dontSetMe}),p(g,"defaultProps",{allowAnyClick:!1,disabled:!1,enableUserSelectHack:!0,onStart:function(){},onDrag:function(){},onStop:function(){},onMouseDown:function(){},scale:1})},529:(e,t,r)=>{"use strict";const{default:n,DraggableCore:a}=r(322);e.exports=n,e.exports.default=n,e.exports.DraggableCore=a},65:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.addClassName=u,t.addEvent=function(e,t,r,n){if(!e)return;const a={capture:!0,...n};e.addEventListener?e.addEventListener(t,r,a):e.attachEvent?e.attachEvent("on"+t,r):e["on"+t]=r},t.addUserSelectStyles=function(e){if(!e)return;let t=e.getElementById("react-draggable-style-el");t||(t=e.createElement("style"),t.type="text/css",t.id="react-draggable-style-el",t.innerHTML=".react-draggable-transparent-selection *::-moz-selection {all: inherit;}\n",t.innerHTML+=".react-draggable-transparent-selection *::selection {all: inherit;}\n",e.getElementsByTagName("head")[0].appendChild(t)),e.body&&u(e.body,"react-draggable-transparent-selection")},t.createCSSTransform=function(e,t){const r=l(e,t,"px");return{[(0,a.browserPrefixToKey)("transform",a.default)]:r}},t.createSVGTransform=function(e,t){return l(e,t,"")},t.getTouch=function(e,t){return e.targetTouches&&(0,n.findInArray)(e.targetTouches,(e=>t===e.identifier))||e.changedTouches&&(0,n.findInArray)(e.changedTouches,(e=>t===e.identifier))},t.getTouchIdentifier=function(e){return e.targetTouches&&e.targetTouches[0]?e.targetTouches[0].identifier:e.changedTouches&&e.changedTouches[0]?e.changedTouches[0].identifier:void 0},t.getTranslation=l,t.innerHeight=function(e){let t=e.clientHeight;const r=e.ownerDocument.defaultView.getComputedStyle(e);return t-=(0,n.int)(r.paddingTop),t-=(0,n.int)(r.paddingBottom),t},t.innerWidth=function(e){let t=e.clientWidth;const r=e.ownerDocument.defaultView.getComputedStyle(e);return t-=(0,n.int)(r.paddingLeft),t-=(0,n.int)(r.paddingRight),t},t.matchesSelector=s,t.matchesSelectorAndParentsTo=function(e,t,r){let n=e;do{if(s(n,t))return!0;if(n===r)return!1;n=n.parentNode}while(n);return!1},t.offsetXYFromParent=function(e,t,r){const n=t===t.ownerDocument.body?{left:0,top:0}:t.getBoundingClientRect();return{x:(e.clientX+t.scrollLeft-n.left)/r,y:(e.clientY+t.scrollTop-n.top)/r}},t.outerHeight=function(e){let t=e.clientHeight;const r=e.ownerDocument.defaultView.getComputedStyle(e);return t+=(0,n.int)(r.borderTopWidth),t+=(0,n.int)(r.borderBottomWidth),t},t.outerWidth=function(e){let t=e.clientWidth;const r=e.ownerDocument.defaultView.getComputedStyle(e);return t+=(0,n.int)(r.borderLeftWidth),t+=(0,n.int)(r.borderRightWidth),t},t.removeClassName=c,t.removeEvent=function(e,t,r,n){if(!e)return;const a={capture:!0,...n};e.removeEventListener?e.removeEventListener(t,r,a):e.detachEvent?e.detachEvent("on"+t,r):e["on"+t]=null},t.removeUserSelectStyles=function(e){if(e)try{if(e.body&&c(e.body,"react-draggable-transparent-selection"),e.selection)e.selection.empty();else{const t=(e.defaultView||window).getSelection();t&&"Caret"!==t.type&&t.removeAllRanges()}}catch(e){}};var n=r(972),a=function(e,t){if(e&&e.__esModule)return e;if(null===e||"object"!=typeof e&&"function"!=typeof e)return{default:e};var r=o(t);if(r&&r.has(e))return r.get(e);var n={},a=Object.defineProperty&&Object.getOwnPropertyDescriptor;for(var i in e)if("default"!==i&&Object.prototype.hasOwnProperty.call(e,i)){var s=a?Object.getOwnPropertyDescriptor(e,i):null;s&&(s.get||s.set)?Object.defineProperty(n,i,s):n[i]=e[i]}return n.default=e,r&&r.set(e,n),n}(r(249));function o(e){if("function"!=typeof WeakMap)return null;var t=new WeakMap,r=new WeakMap;return(o=function(e){return e?r:t})(e)}let i="";function s(e,t){return i||(i=(0,n.findInArray)(["matches","webkitMatchesSelector","mozMatchesSelector","msMatchesSelector","oMatchesSelector"],(function(t){return(0,n.isFunction)(e[t])}))),!!(0,n.isFunction)(e[i])&&e[i](t)}function l(e,t,r){let{x:n,y:a}=e,o="translate(".concat(n).concat(r,",").concat(a).concat(r,")");if(t){const e="".concat("string"==typeof t.x?t.x:t.x+r),n="".concat("string"==typeof t.y?t.y:t.y+r);o="translate(".concat(e,", ").concat(n,")")+o}return o}function u(e,t){e.classList?e.classList.add(t):e.className.match(new RegExp("(?:^|\\s)".concat(t,"(?!\\S)")))||(e.className+=" ".concat(t))}function c(e,t){e.classList?e.classList.remove(t):e.className=e.className.replace(new RegExp("(?:^|\\s)".concat(t,"(?!\\S)"),"g"),"")}},249:(e,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.browserPrefixToKey=a,t.browserPrefixToStyle=function(e,t){return t?"-".concat(t.toLowerCase(),"-").concat(e):e},t.default=void 0,t.getPrefix=n;const r=["Moz","Webkit","O","ms"];function n(){var e;let t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:"transform";if("undefined"==typeof window)return"";const n=null===(e=window.document)||void 0===e||null===(e=e.documentElement)||void 0===e?void 0:e.style;if(!n)return"";if(t in n)return"";for(let e=0;e{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.default=function(){}},237:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.canDragX=function(e){return"both"===e.props.axis||"x"===e.props.axis},t.canDragY=function(e){return"both"===e.props.axis||"y"===e.props.axis},t.createCoreData=function(e,t,r){const a=!(0,n.isNum)(e.lastX),i=o(e);return a?{node:i,deltaX:0,deltaY:0,lastX:t,lastY:r,x:t,y:r}:{node:i,deltaX:t-e.lastX,deltaY:r-e.lastY,lastX:e.lastX,lastY:e.lastY,x:t,y:r}},t.createDraggableData=function(e,t){const r=e.props.scale;return{node:t.node,x:e.state.x+t.deltaX/r,y:e.state.y+t.deltaY/r,deltaX:t.deltaX/r,deltaY:t.deltaY/r,lastX:e.state.x,lastY:e.state.y}},t.getBoundPosition=function(e,t,r){if(!e.props.bounds)return[t,r];let{bounds:i}=e.props;i="string"==typeof i?i:function(e){return{left:e.left,top:e.top,right:e.right,bottom:e.bottom}}(i);const s=o(e);if("string"==typeof i){const{ownerDocument:e}=s,t=e.defaultView;let r;if(r="parent"===i?s.parentNode:e.querySelector(i),!(r instanceof t.HTMLElement))throw new Error('Bounds selector "'+i+'" could not find an element.');const o=r,l=t.getComputedStyle(s),u=t.getComputedStyle(o);i={left:-s.offsetLeft+(0,n.int)(u.paddingLeft)+(0,n.int)(l.marginLeft),top:-s.offsetTop+(0,n.int)(u.paddingTop)+(0,n.int)(l.marginTop),right:(0,a.innerWidth)(o)-(0,a.outerWidth)(s)-s.offsetLeft+(0,n.int)(u.paddingRight)-(0,n.int)(l.marginRight),bottom:(0,a.innerHeight)(o)-(0,a.outerHeight)(s)-s.offsetTop+(0,n.int)(u.paddingBottom)-(0,n.int)(l.marginBottom)}}return(0,n.isNum)(i.right)&&(t=Math.min(t,i.right)),(0,n.isNum)(i.bottom)&&(r=Math.min(r,i.bottom)),(0,n.isNum)(i.left)&&(t=Math.max(t,i.left)),(0,n.isNum)(i.top)&&(r=Math.max(r,i.top)),[t,r]},t.getControlPosition=function(e,t,r){const n="number"==typeof t?(0,a.getTouch)(e,t):null;if("number"==typeof t&&!n)return null;const i=o(r),s=r.props.offsetParent||i.offsetParent||i.ownerDocument.body;return(0,a.offsetXYFromParent)(n||e,s,r.props.scale)},t.snapToGrid=function(e,t,r){return[Math.round(t/e[0])*e[0],Math.round(r/e[1])*e[1]]};var n=r(972),a=r(65);function o(e){const t=e.findDOMNode();if(!t)throw new Error(": Unmounted during event!");return t}},972:(e,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.dontSetMe=function(e,t,r){if(e[t])return new Error("Invalid prop ".concat(t," passed to ").concat(r," - do not set this, set it on the child."))},t.findInArray=function(e,t){for(let r=0,n=e.length;r{"use strict";function n(e){return n="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},n(e)}Object.defineProperty(t,"__esModule",{value:!0}),t.default=void 0;var a=p(r(650)),o=p(r(615)),i=r(529),s=r(26),l=r(728),u=r(284),c=r(288),d=p(r(944));function p(e){return e&&e.__esModule?e:{default:e}}function h(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),r.push.apply(r,n)}return r}function f(e){for(var t=1;t0&&void 0!==arguments[0]?arguments[0]:this.props;return{cols:e.cols,containerPadding:e.containerPadding,containerWidth:e.containerWidth,margin:e.margin,maxRows:e.maxRows,rowHeight:e.rowHeight}}},{key:"createStyle",value:function(e){var t,r=this.props,n=r.usePercentages,a=r.containerWidth;return r.useCSSTransforms?t=(0,l.setTransform)(e):(t=(0,l.setTopLeft)(e),n&&(t.left=(0,l.perc)(e.left/a),t.width=(0,l.perc)(e.width/a))),t}},{key:"mixinDraggable",value:function(e,t){return a.default.createElement(i.DraggableCore,{disabled:!t,onStart:this.onDragStart,onDrag:this.onDrag,onStop:this.onDragStop,handle:this.props.handle,cancel:".react-resizable-handle"+(this.props.cancel?","+this.props.cancel:""),scale:this.props.transformScale,nodeRef:this.elementRef},e)}},{key:"mixinResizable",value:function(e,t,r){var n=this.props,o=n.cols,i=n.x,l=n.minW,c=n.minH,d=n.maxW,p=n.maxH,h=n.transformScale,f=n.resizeHandles,m=n.resizeHandle,g=this.getPositionParams(),y=(0,u.calcGridItemPosition)(g,0,0,o-i,0).width,b=(0,u.calcGridItemPosition)(g,0,0,l,c),v=(0,u.calcGridItemPosition)(g,0,0,d,p),w=[b.width,b.height],S=[Math.min(v.width,y),Math.min(v.height,1/0)];return a.default.createElement(s.Resizable,{draggableOpts:{disabled:!r},className:r?void 0:"react-resizable-hide",width:t.width,height:t.height,minConstraints:w,maxConstraints:S,onResizeStop:this.onResizeStop,onResizeStart:this.onResizeStart,onResize:this.onResize,transformScale:h,resizeHandles:f,handle:m},e)}},{key:"onResizeHandler",value:function(e,t,r){var n=t.node,a=t.size,o=this.props[r];if(o){var i=this.props,s=i.cols,l=i.x,c=i.y,d=i.i,p=i.maxH,h=i.minH,f=this.props,m=f.minW,g=f.maxW,y=(0,u.calcWH)(this.getPositionParams(),a.width,a.height,l,c),b=y.w,v=y.h;m=Math.max(m,1),g=Math.min(g,s-l),b=(0,u.clamp)(b,m,g),v=(0,u.clamp)(v,h,p),this.setState({resizing:"onResizeStop"===r?null:a}),o.call(this,d,b,v,{e,node:n,size:a})}}},{key:"render",value:function(){var e=this.props,t=e.x,r=e.y,n=e.w,o=e.h,i=e.isDraggable,s=e.isResizable,l=e.droppingPosition,c=e.useCSSTransforms,p=(0,u.calcGridItemPosition)(this.getPositionParams(),t,r,n,o,this.state),h=a.default.Children.only(this.props.children),m=a.default.cloneElement(h,{ref:this.elementRef,className:(0,d.default)("react-grid-item",h.props.className,this.props.className,{static:this.props.static,resizing:Boolean(this.state.resizing),"react-draggable":i,"react-draggable-dragging":Boolean(this.state.dragging),dropping:Boolean(l),cssTransforms:c}),style:f(f(f({},this.props.style),h.props.style),this.createStyle(p))});return m=this.mixinResizable(m,p,s),this.mixinDraggable(m,i)}}],r&&m(t.prototype,r),Object.defineProperty(t,"prototype",{writable:!1}),h}(a.default.Component);t.default=w,v(w,"propTypes",{children:o.default.element,cols:o.default.number.isRequired,containerWidth:o.default.number.isRequired,rowHeight:o.default.number.isRequired,margin:o.default.array.isRequired,maxRows:o.default.number.isRequired,containerPadding:o.default.array.isRequired,x:o.default.number.isRequired,y:o.default.number.isRequired,w:o.default.number.isRequired,h:o.default.number.isRequired,minW:function(e,t){var r=e[t];return"number"!=typeof r?new Error("minWidth not Number"):r>e.w||r>e.maxW?new Error("minWidth larger than item width/maxWidth"):void 0},maxW:function(e,t){var r=e[t];return"number"!=typeof r?new Error("maxWidth not Number"):re.h||r>e.maxH?new Error("minHeight larger than item height/maxHeight"):void 0},maxH:function(e,t){var r=e[t];return"number"!=typeof r?new Error("maxHeight not Number"):r{"use strict";function n(e){return n="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},n(e)}Object.defineProperty(t,"__esModule",{value:!0}),t.default=void 0;var a=function(e,t){if(e&&e.__esModule)return e;if(null===e||"object"!==n(e)&&"function"!=typeof e)return{default:e};var r=p(t);if(r&&r.has(e))return r.get(e);var a={},o=Object.defineProperty&&Object.getOwnPropertyDescriptor;for(var i in e)if("default"!==i&&Object.prototype.hasOwnProperty.call(e,i)){var s=o?Object.getOwnPropertyDescriptor(e,i):null;s&&(s.get||s.set)?Object.defineProperty(a,i,s):a[i]=e[i]}return a.default=e,r&&r.set(e,a),a}(r(650)),o=d(r(4)),i=d(r(944)),s=r(728),l=r(284),u=d(r(275)),c=d(r(288));function d(e){return e&&e.__esModule?e:{default:e}}function p(e){if("function"!=typeof WeakMap)return null;var t=new WeakMap,r=new WeakMap;return(p=function(e){return e?r:t})(e)}function h(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),r.push.apply(r,n)}return r}function f(e){for(var t=1;te.length)&&(t=e.length);for(var r=0,n=new Array(t);r0){var o=1/0,i=1/0;a.forEach((function(t){t.x>e.x&&(o=Math.min(o,t.x)),t.y>e.y&&(i=Math.min(i,t.y))})),Number.isFinite(o)&&(e.w=o-e.x),Number.isFinite(i)&&(e.h=i-e.y)}}return t||(e.w=r,e.h=n),e})),b=function(e,t){return function(e){if(Array.isArray(e))return e}(e)||function(e,t){var r=null==e?null:"undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(null!=r){var n,a,o=[],i=!0,s=!1;try{for(r=r.call(e);!(i=(n=r.next()).done)&&(o.push(n.value),!t||o.length!==t);i=!0);}catch(e){s=!0,a=e}finally{try{i||null==r.return||r.return()}finally{if(s)throw a}}return o}}(e,t)||m(e,t)||function(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}(y,2),v=b[0],w=b[1];if(w){var S={w:w.w,h:w.h,x:w.x,y:w.y,static:!0,i:t};e.props.onResize(v,c,w,S,o,i),e.setState({layout:g?v:(0,s.compact)(v,(0,s.compactType)(e.props),p),activeDrag:S})}})),S(v(e),"onResizeStop",(function(t,r,n,a){var o=a.e,i=a.node,l=e.state,u=l.layout,c=l.oldResizeItem,d=e.props,p=d.cols,h=d.allowOverlap,f=(0,s.getLayoutItem)(u,t);e.props.onResizeStop(u,c,f,null,o,i);var m=h?u:(0,s.compact)(u,(0,s.compactType)(e.props),p),g=e.state.oldLayout;e.setState({activeDrag:null,layout:m,oldResizeItem:null,oldLayout:null}),e.onLayoutMaybeChanged(m,g)})),S(v(e),"onDragOver",(function(t){var r;if(t.preventDefault(),t.stopPropagation(),O&&(null===(r=t.nativeEvent.target)||void 0===r||!r.classList.contains(_)))return!1;var n=e.props,o=n.droppingItem,i=n.onDropDragOver,s=n.margin,u=n.cols,c=n.rowHeight,d=n.maxRows,p=n.width,h=n.containerPadding,y=n.transformScale,b=null==i?void 0:i(t);if(!1===b)return e.state.droppingDOMNode&&e.removeDroppingPlaceholder(),!1;var v,w=f(f({},o),b),S=e.state.layout,x=t.nativeEvent,C=x.layerX,P=x.layerY,D={left:C/y,top:P/y,e:t};if(e.state.droppingDOMNode){if(e.state.droppingPosition){var E=e.state.droppingPosition,R=E.left,j=E.top;(R!=C||j!=P)&&e.setState({droppingPosition:D})}}else{var T={cols:u,margin:s,maxRows:d,rowHeight:c,containerWidth:p,containerPadding:h||s},k=(0,l.calcXY)(T,P,C,w.w,w.h);e.setState({droppingDOMNode:a.createElement("div",{key:w.i}),droppingPosition:D,layout:[].concat((v=S,function(e){if(Array.isArray(e))return g(e)}(v)||function(e){if("undefined"!=typeof Symbol&&null!=e[Symbol.iterator]||null!=e["@@iterator"])return Array.from(e)}(v)||m(v)||function(){throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()),[f(f({},w),{},{x:k.x,y:k.y,static:!1,isDraggable:!0})])})}})),S(v(e),"removeDroppingPlaceholder",(function(){var t=e.props,r=t.droppingItem,n=t.cols,a=e.state.layout,o=(0,s.compact)(a.filter((function(e){return e.i!==r.i})),(0,s.compactType)(e.props),n);e.setState({layout:o,droppingDOMNode:null,activeDrag:null,droppingPosition:void 0})})),S(v(e),"onDragLeave",(function(t){t.preventDefault(),t.stopPropagation(),e.dragEnterCounter--,0===e.dragEnterCounter&&e.removeDroppingPlaceholder()})),S(v(e),"onDragEnter",(function(t){t.preventDefault(),t.stopPropagation(),e.dragEnterCounter++})),S(v(e),"onDrop",(function(t){t.preventDefault(),t.stopPropagation();var r=e.props.droppingItem,n=e.state.layout,a=n.find((function(e){return e.i===r.i}));e.dragEnterCounter=0,e.removeDroppingPlaceholder(),e.props.onDrop(n,a,t)})),e}return t=x,c=[{key:"getDerivedStateFromProps",value:function(e,t){var r;return t.activeDrag?null:((0,o.default)(e.layout,t.propsLayout)&&e.compactType===t.compactType?(0,s.childrenEqual)(e.children,t.children)||(r=t.layout):r=e.layout,r?{layout:(0,s.synchronizeLayoutWithChildren)(r,e.children,e.cols,(0,s.compactType)(e),e.allowOverlap),compactType:e.compactType,children:e.children,propsLayout:e.layout}:null)}}],(r=[{key:"componentDidMount",value:function(){this.setState({mounted:!0}),this.onLayoutMaybeChanged(this.state.layout,this.props.layout)}},{key:"shouldComponentUpdate",value:function(e,t){return this.props.children!==e.children||!(0,s.fastRGLPropsEqual)(this.props,e,o.default)||this.state.activeDrag!==t.activeDrag||this.state.mounted!==t.mounted||this.state.droppingPosition!==t.droppingPosition}},{key:"componentDidUpdate",value:function(e,t){if(!this.state.activeDrag){var r=this.state.layout,n=t.layout;this.onLayoutMaybeChanged(r,n)}}},{key:"containerHeight",value:function(){if(this.props.autoSize){var e=(0,s.bottom)(this.state.layout),t=this.props.containerPadding?this.props.containerPadding[1]:this.props.margin[1];return e*this.props.rowHeight+(e-1)*this.props.margin[1]+2*t+"px"}}},{key:"onLayoutMaybeChanged",value:function(e,t){t||(t=this.state.layout),(0,o.default)(t,e)||this.props.onLayoutChange(e)}},{key:"placeholder",value:function(){var e=this.state.activeDrag;if(!e)return null;var t=this.props,r=t.width,n=t.cols,o=t.margin,i=t.containerPadding,s=t.rowHeight,l=t.maxRows,c=t.useCSSTransforms,d=t.transformScale;return a.createElement(u.default,{w:e.w,h:e.h,x:e.x,y:e.y,i:e.i,className:"react-grid-placeholder",containerWidth:r,cols:n,margin:o,containerPadding:i||o,maxRows:l,rowHeight:s,isDraggable:!1,isResizable:!1,isBounded:!1,useCSSTransforms:c,transformScale:d},a.createElement("div",null))}},{key:"processGridItem",value:function(e,t){if(e&&e.key){var r=(0,s.getLayoutItem)(this.state.layout,String(e.key));if(!r)return null;var n=this.props,o=n.width,i=n.cols,l=n.margin,c=n.containerPadding,d=n.rowHeight,p=n.maxRows,h=n.isDraggable,f=n.isResizable,m=n.isBounded,g=n.useCSSTransforms,y=n.transformScale,b=n.draggableCancel,v=n.draggableHandle,w=n.resizeHandles,S=n.resizeHandle,_=this.state,O=_.mounted,x=_.droppingPosition,C="boolean"==typeof r.isDraggable?r.isDraggable:!r.static&&h,P="boolean"==typeof r.isResizable?r.isResizable:!r.static&&f,D=r.resizeHandles||w,E=C&&m&&!1!==r.isBounded;return a.createElement(u.default,{containerWidth:o,cols:i,margin:l,containerPadding:c||l,maxRows:p,rowHeight:d,cancel:b,handle:v,onDragStop:this.onDragStop,onDragStart:this.onDragStart,onDrag:this.onDrag,onResizeStart:this.onResizeStart,onResize:this.onResize,onResizeStop:this.onResizeStop,isDraggable:C,isResizable:P,isBounded:E,useCSSTransforms:g&&O,usePercentages:!O,transformScale:y,w:r.w,h:r.h,x:r.x,y:r.y,i:r.i,minH:r.minH,minW:r.minW,maxH:r.maxH,maxW:r.maxW,static:r.static,droppingPosition:t?x:void 0,resizeHandles:D,resizeHandle:S},e)}}},{key:"render",value:function(){var e=this,t=this.props,r=t.className,n=t.style,o=t.isDroppable,l=t.innerRef,u=(0,i.default)(_,r),c=f({height:this.containerHeight()},n);return a.createElement("div",{ref:l,className:u,style:c,onDrop:o?this.onDrop:s.noop,onDragLeave:o?this.onDragLeave:s.noop,onDragEnter:o?this.onDragEnter:s.noop,onDragOver:o?this.onDragOver:s.noop},a.Children.map(this.props.children,(function(t){return e.processGridItem(t)})),o&&this.state.droppingDOMNode&&this.processGridItem(this.state.droppingDOMNode,!0),this.placeholder())}}])&&y(t.prototype,r),c&&y(t,c),Object.defineProperty(t,"prototype",{writable:!1}),x}(a.Component);t.default=x,S(x,"displayName","ReactGridLayout"),S(x,"propTypes",c.default),S(x,"defaultProps",{autoSize:!0,cols:12,className:"",style:{},draggableHandle:"",draggableCancel:"",containerPadding:null,rowHeight:150,maxRows:1/0,layout:[],margin:[10,10],isBounded:!1,isDraggable:!0,isResizable:!0,allowOverlap:!1,isDroppable:!1,useCSSTransforms:!0,transformScale:1,verticalCompact:!0,compactType:"vertical",preventCollision:!1,droppingItem:{i:"__dropping-elem__",h:1,w:1},resizeHandles:["se"],onLayoutChange:s.noop,onDragStart:s.noop,onDrag:s.noop,onDragStop:s.noop,onResizeStart:s.noop,onResize:s.noop,onResizeStop:s.noop,onDrop:s.noop,onDropDragOver:s.noop})},288:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.resizeHandleType=t.resizeHandleAxesType=t.default=void 0;var n=o(r(615)),a=o(r(650));function o(e){return e&&e.__esModule?e:{default:e}}var i=n.default.arrayOf(n.default.oneOf(["s","w","e","n","sw","nw","se","ne"]));t.resizeHandleAxesType=i;var s=n.default.oneOfType([n.default.node,n.default.func]);t.resizeHandleType=s;var l={className:n.default.string,style:n.default.object,width:n.default.number,autoSize:n.default.bool,cols:n.default.number,draggableCancel:n.default.string,draggableHandle:n.default.string,verticalCompact:function(e){e.verticalCompact},compactType:n.default.oneOf(["vertical","horizontal"]),layout:function(e){var t=e.layout;void 0!==t&&r(728).validateLayout(t,"layout")},margin:n.default.arrayOf(n.default.number),containerPadding:n.default.arrayOf(n.default.number),rowHeight:n.default.number,maxRows:n.default.number,isBounded:n.default.bool,isDraggable:n.default.bool,isResizable:n.default.bool,allowOverlap:n.default.bool,preventCollision:n.default.bool,useCSSTransforms:n.default.bool,transformScale:n.default.number,isDroppable:n.default.bool,resizeHandles:i,resizeHandle:s,onLayoutChange:n.default.func,onDragStart:n.default.func,onDrag:n.default.func,onDragStop:n.default.func,onResizeStart:n.default.func,onResize:n.default.func,onResizeStop:n.default.func,onDrop:n.default.func,droppingItem:n.default.shape({i:n.default.string.isRequired,w:n.default.number.isRequired,h:n.default.number.isRequired}),children:function(e,t){var r=e[t],n={};a.default.Children.forEach(r,(function(e){if(null!=(null==e?void 0:e.key)){if(n[e.key])throw new Error('Duplicate child key "'+e.key+'" found! This will cause problems in ReactGridLayout.');n[e.key]=!0}}))},innerRef:n.default.any};t.default=l},255:(e,t,r)=>{"use strict";function n(e){return n="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},n(e)}t.default=void 0;var a=function(e,t){if(e&&e.__esModule)return e;if(null===e||"object"!==n(e)&&"function"!=typeof e)return{default:e};var r=p(t);if(r&&r.has(e))return r.get(e);var a={},o=Object.defineProperty&&Object.getOwnPropertyDescriptor;for(var i in e)if("default"!==i&&Object.prototype.hasOwnProperty.call(e,i)){var s=o?Object.getOwnPropertyDescriptor(e,i):null;s&&(s.get||s.set)?Object.defineProperty(a,i,s):a[i]=e[i]}return a.default=e,r&&r.set(e,a),a}(r(650)),o=d(r(615)),i=d(r(4)),s=r(728),l=r(119),u=d(r(402)),c=["breakpoint","breakpoints","cols","layouts","margin","containerPadding","onBreakpointChange","onLayoutChange","onWidthChange"];function d(e){return e&&e.__esModule?e:{default:e}}function p(e){if("function"!=typeof WeakMap)return null;var t=new WeakMap,r=new WeakMap;return(p=function(e){return e?r:t})(e)}function h(){return h=Object.assign||function(e){for(var t=1;t=0||(a[r]=e[r]);return a}(e,t);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(e);for(n=0;n=0||Object.prototype.propertyIsEnumerable.call(e,r)&&(a[r]=e[r])}return a}(e,c));return a.createElement(u.default,h({},n,{margin:_(t,this.state.breakpoint),containerPadding:_(r,this.state.breakpoint),onLayoutChange:this.onLayoutChange,layout:this.state.layout,cols:this.state.cols}))}}])&&g(t.prototype,r),o&&g(t,o),Object.defineProperty(t,"prototype",{writable:!1}),S}(a.Component);t.default=O,w(O,"propTypes",{breakpoint:o.default.string,breakpoints:o.default.object,allowOverlap:o.default.bool,cols:o.default.object,margin:o.default.oneOfType([o.default.array,o.default.object]),containerPadding:o.default.oneOfType([o.default.array,o.default.object]),layouts:function(e,t){if("[object Object]"!==S(e[t]))throw new Error("Layout property must be an object. Received: "+S(e[t]));Object.keys(e[t]).forEach((function(t){if(!(t in e.breakpoints))throw new Error("Each key in layouts must align with a key in breakpoints.");(0,s.validateLayout)(e.layouts[t],"layouts."+t)}))},width:o.default.number.isRequired,onBreakpointChange:o.default.func,onLayoutChange:o.default.func,onWidthChange:o.default.func}),w(O,"defaultProps",{breakpoints:{lg:1200,md:996,sm:768,xs:480,xxs:0},cols:{lg:12,md:10,sm:6,xs:4,xxs:2},containerPadding:{lg:null,md:null,sm:null,xs:null,xxs:null},layouts:{},margin:[10,10],allowOverlap:!1,onBreakpointChange:s.noop,onLayoutChange:s.noop,onWidthChange:s.noop})},284:(e,t)=>{"use strict";function r(e){var t=e.margin,r=e.containerPadding,n=e.containerWidth,a=e.cols;return(n-t[0]*(a-1)-2*r[0])/a}function n(e,t,r){return Number.isFinite(e)?Math.round(t*e+Math.max(0,e-1)*r):e}function a(e,t,r){return Math.max(Math.min(e,r),t)}Object.defineProperty(t,"__esModule",{value:!0}),t.calcGridColWidth=r,t.calcGridItemPosition=function(e,t,a,o,i,s){var l=e.margin,u=e.containerPadding,c=e.rowHeight,d=r(e),p={};return s&&s.resizing?(p.width=Math.round(s.resizing.width),p.height=Math.round(s.resizing.height)):(p.width=n(o,d,l[0]),p.height=n(i,c,l[1])),s&&s.dragging?(p.top=Math.round(s.dragging.top),p.left=Math.round(s.dragging.left)):(p.top=Math.round((c+l[1])*a+u[1]),p.left=Math.round((d+l[0])*t+u[0])),p},t.calcGridItemWHPx=n,t.calcWH=function(e,t,n,o,i){var s=e.margin,l=e.maxRows,u=e.cols,c=e.rowHeight,d=r(e),p=Math.round((t+s[0])/(d+s[0])),h=Math.round((n+s[1])/(c+s[1]));return{w:p=a(p,0,u-o),h:h=a(h,0,l-i)}},t.calcXY=function(e,t,n,o,i){var s=e.margin,l=e.cols,u=e.rowHeight,c=e.maxRows,d=r(e),p=Math.round((n-s[0])/(d+s[0])),h=Math.round((t-s[1])/(u+s[1]));return{x:p=a(p,0,l-o),y:h=a(h,0,c-i)}},t.clamp=a},22:(e,t,r)=>{"use strict";function n(e){return n="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},n(e)}t.default=function(e){var t;return t=function(t){!function(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function");e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,writable:!0,configurable:!0}}),Object.defineProperty(e,"prototype",{writable:!1}),t&&p(e,t)}(b,t);var r,o,l,u,y=(r=b,o=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){}))),!0}catch(e){return!1}}(),function(){var e,t=f(r);if(o){var a=f(this).constructor;e=Reflect.construct(t,arguments,a)}else e=t.apply(this,arguments);return function(e,t){if(t&&("object"===n(t)||"function"==typeof t))return t;if(void 0!==t)throw new TypeError("Derived constructors may only return object or undefined");return h(e)}(this,e)});function b(){var e;!function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,b);for(var t=arguments.length,r=new Array(t),n=0;n=0||(a[r]=e[r]);return a}(e,t);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(e);for(n=0;n=0||Object.prototype.propertyIsEnumerable.call(e,r)&&(a[r]=e[r])}return a}(t,s);return r&&!this.mounted?a.createElement("div",{className:(0,i.default)(this.props.className,g),style:this.props.style,ref:this.elementRef}):a.createElement(e,c({innerRef:this.elementRef},n,this.state))}}])&&d(l.prototype,u),Object.defineProperty(l,"prototype",{writable:!1}),b}(a.Component),m(t,"defaultProps",{measureBeforeMount:!1}),m(t,"propTypes",{measureBeforeMount:o.default.bool}),t};var a=function(e,t){if(e&&e.__esModule)return e;if(null===e||"object"!==n(e)&&"function"!=typeof e)return{default:e};var r=u(t);if(r&&r.has(e))return r.get(e);var a={},o=Object.defineProperty&&Object.getOwnPropertyDescriptor;for(var i in e)if("default"!==i&&Object.prototype.hasOwnProperty.call(e,i)){var s=o?Object.getOwnPropertyDescriptor(e,i):null;s&&(s.get||s.set)?Object.defineProperty(a,i,s):a[i]=e[i]}return a.default=e,r&&r.set(e,a),a}(r(650)),o=l(r(615)),i=l(r(944)),s=["measureBeforeMount"];function l(e){return e&&e.__esModule?e:{default:e}}function u(e){if("function"!=typeof WeakMap)return null;var t=new WeakMap,r=new WeakMap;return(u=function(e){return e?r:t})(e)}function c(){return c=Object.assign||function(e){for(var t=1;t{e.exports=function(e,t,r){return e===t||e.className===t.className&&r(e.style,t.style)&&e.width===t.width&&e.autoSize===t.autoSize&&e.cols===t.cols&&e.draggableCancel===t.draggableCancel&&e.draggableHandle===t.draggableHandle&&r(e.verticalCompact,t.verticalCompact)&&r(e.compactType,t.compactType)&&r(e.layout,t.layout)&&r(e.margin,t.margin)&&r(e.containerPadding,t.containerPadding)&&e.rowHeight===t.rowHeight&&e.maxRows===t.maxRows&&e.isBounded===t.isBounded&&e.isDraggable===t.isDraggable&&e.isResizable===t.isResizable&&e.allowOverlap===t.allowOverlap&&e.preventCollision===t.preventCollision&&e.useCSSTransforms===t.useCSSTransforms&&e.transformScale===t.transformScale&&e.isDroppable===t.isDroppable&&r(e.resizeHandles,t.resizeHandles)&&r(e.resizeHandle,t.resizeHandle)&&e.onLayoutChange===t.onLayoutChange&&e.onDragStart===t.onDragStart&&e.onDrag===t.onDrag&&e.onDragStop===t.onDragStop&&e.onResizeStart===t.onResizeStart&&e.onResize===t.onResize&&e.onResizeStop===t.onResizeStop&&e.onDrop===t.onDrop&&r(e.droppingItem,t.droppingItem)&&r(e.innerRef,t.innerRef)}},119:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.findOrGenerateResponsiveLayout=function(e,t,r,o,i,s){if(e[r])return(0,n.cloneLayout)(e[r]);for(var l=e[o],u=a(t),c=u.slice(u.indexOf(r)),d=0,p=c.length;de[s]&&(n=s)}return n},t.getColsFromBreakpoint=function(e,t){if(!t[e])throw new Error("ResponsiveReactGridLayout: `cols` entry for breakpoint "+e+" is missing!");return t[e]},t.sortBreakpoints=a;var n=r(728);function a(e){return Object.keys(e).sort((function(t,r){return e[t]-e[r]}))}},728:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.bottom=d,t.childrenEqual=function(e,t){return(0,n.default)(a.default.Children.map(e,(function(e){return null==e?void 0:e.key})),a.default.Children.map(t,(function(e){return null==e?void 0:e.key})))},t.cloneLayout=p,t.cloneLayoutItem=f,t.collides=g,t.compact=y,t.compactItem=w,t.compactType=function(e){var t=e||{},r=t.verticalCompact,n=t.compactType;return!1===r?null:n},t.correctBounds=S,t.fastPositionEqual=function(e,t){return e.left===t.left&&e.top===t.top&&e.width===t.width&&e.height===t.height},t.fastRGLPropsEqual=void 0,t.getAllCollisions=x,t.getFirstCollision=O,t.getLayoutItem=_,t.getStatics=C,t.modifyLayout=h,t.moveElement=P,t.moveElementAwayFromCollision=D,t.noop=void 0,t.perc=function(e){return 100*e+"%"},t.setTopLeft=function(e){var t=e.top,r=e.left,n=e.width,a=e.height;return{top:"".concat(t,"px"),left:"".concat(r,"px"),width:"".concat(n,"px"),height:"".concat(a,"px"),position:"absolute"}},t.setTransform=function(e){var t=e.top,r=e.left,n=e.width,a=e.height,o="translate(".concat(r,"px,").concat(t,"px)");return{transform:o,WebkitTransform:o,MozTransform:o,msTransform:o,OTransform:o,width:"".concat(n,"px"),height:"".concat(a,"px"),position:"absolute"}},t.sortLayoutItems=E,t.sortLayoutItemsByColRow=j,t.sortLayoutItemsByRowCol=R,t.synchronizeLayoutWithChildren=function(e,t,r,n,o){e=e||[];var i=[];a.default.Children.forEach(t,(function(t){if(null!=(null==t?void 0:t.key)){var r=_(e,String(t.key));if(r)i.push(f(r));else{!u&&t.props._grid&&console.warn("`_grid` properties on children have been deprecated as of React 15.2. Please use `data-grid` or add your properties directly to the `layout`.");var n=t.props["data-grid"]||t.props._grid;n?(u||T([n],"ReactGridLayout.children"),i.push(f(s(s({},n),{},{i:t.key})))):i.push(f({w:1,h:1,x:0,y:d(i),i:String(t.key)}))}}}));var l=S(i,{cols:r});return o?l:y(l,n,r)},t.validateLayout=T,t.withLayoutItem=function(e,t,r){var n=_(e,t);return n?[e=h(e,n=r(f(n))),n]:[e,null]};var n=o(r(4)),a=o(r(650));function o(e){return e&&e.__esModule?e:{default:e}}function i(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),r.push.apply(r,n)}return r}function s(e){for(var t=1;tr&&(r=t);return r}function p(e){for(var t=Array(e.length),r=0,n=e.length;r=t.x+t.w||e.y+e.h<=t.y||e.y>=t.y+t.h)}function y(e,t,r){for(var n=C(e),a=E(e,t),o=Array(e.length),i=0,s=a.length;it.y+t.h)break;g(t,i)&&v(e,i,r+t[a],n)}}t[n]=r}function w(e,t,r,n,a){var o,i="horizontal"===r;if("vertical"===r)for(t.y=Math.min(d(e),t.y);t.y>0&&!O(e,t);)t.y--;else if(i)for(;t.x>0&&!O(e,t);)t.x--;for(;o=O(e,t);)i?v(a,t,o.x+o.w,"x"):v(a,t,o.y+o.h,"y"),i&&t.x+t.w>n&&(t.x=n-t.w,t.y++);return t.y=Math.max(t.y,0),t.x=Math.max(t.x,0),t}function S(e,t){for(var r=C(e),n=0,a=e.length;nt.cols&&(o.x=t.cols-o.w),o.x<0&&(o.x=0,o.w=t.cols),o.static)for(;O(r,o);)o.y++;else r.push(o)}return e}function _(e,t){for(var r=0,n=e.length;r=n:"horizontal"===i&&"number"==typeof r&&u>=r)&&(d=d.reverse());var h=x(d,t),f=h.length>0;if(f&&l)return p(e);if(f&&o)return k("Collision prevented on ".concat(t.i,", reverting.")),t.x=u,t.y=c,t.moved=!1,e;for(var m=0,g=h.length;mt.y||e.y===t.y&&e.x>t.x?1:e.y===t.y&&e.x===t.x?0:-1}))}function j(e){return e.slice(0).sort((function(e,t){return e.x>t.x||e.x===t.x&&e.y>t.y?1:-1}))}function T(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:"Layout",r=["x","y","w","h"];if(!Array.isArray(e))throw new Error(t+" must be an array!");for(var n=0,a=e.length;n{e.exports=r(402).default,e.exports.utils=r(728),e.exports.Responsive=r(255).default,e.exports.Responsive.utils=r(119),e.exports.WidthProvider=r(22).default},377:(e,t,r)=>{"use strict";t.__esModule=!0,t.default=void 0;var n=function(e,t){if(e&&e.__esModule)return e;if(null===e||"object"!=typeof e&&"function"!=typeof e)return{default:e};var r=l(t);if(r&&r.has(e))return r.get(e);var n={},a=Object.defineProperty&&Object.getOwnPropertyDescriptor;for(var o in e)if("default"!==o&&Object.prototype.hasOwnProperty.call(e,o)){var i=a?Object.getOwnPropertyDescriptor(e,o):null;i&&(i.get||i.set)?Object.defineProperty(n,o,i):n[o]=e[o]}return n.default=e,r&&r.set(e,n),n}(r(650)),a=r(529),o=r(203),i=r(404),s=["children","className","draggableOpts","width","height","handle","handleSize","lockAspectRatio","axis","minConstraints","maxConstraints","onResize","onResizeStop","onResizeStart","resizeHandles","transformScale"];function l(e){if("function"!=typeof WeakMap)return null;var t=new WeakMap,r=new WeakMap;return(l=function(e){return e?r:t})(e)}function u(){return u=Object.assign?Object.assign.bind():function(e){for(var t=1;tMath.abs(l*i)?t=e/i:e=t*i}var u=e,c=t,d=this.slack||[0,0],p=d[0],h=d[1];return e+=p,t+=h,n&&(e=Math.max(n[0],e),t=Math.max(n[1],t)),a&&(e=Math.min(a[0],e),t=Math.min(a[1],t)),this.slack=[p+(u-e),h+(c-t)],[e,t]},l.resizeHandler=function(e,t){var r=this;return function(n,a){var o=a.node,i=a.deltaX,s=a.deltaY;"onResizeStart"===e&&r.resetData();var l=("both"===r.props.axis||"x"===r.props.axis)&&"n"!==t&&"s"!==t,u=("both"===r.props.axis||"y"===r.props.axis)&&"e"!==t&&"w"!==t;if(l||u){var c=t[0],d=t[t.length-1],p=o.getBoundingClientRect();null!=r.lastHandleRect&&("w"===d&&(i+=p.left-r.lastHandleRect.left),"n"===c&&(s+=p.top-r.lastHandleRect.top)),r.lastHandleRect=p,"w"===d&&(i=-i),"n"===c&&(s=-s);var h=r.props.width+(l?i/r.props.transformScale:0),f=r.props.height+(u?s/r.props.transformScale:0),m=r.runConstraints(h,f);h=m[0],f=m[1];var g=h!==r.props.width||f!==r.props.height,y="function"==typeof r.props[e]?r.props[e]:null;y&&!("onResize"===e&&!g)&&(null==n.persist||n.persist(),y(n,{node:o,size:{width:h,height:f},handle:t})),"onResizeStop"===e&&r.resetData()}}},l.renderResizeHandle=function(e,t){var r=this.props.handle;if(!r)return n.createElement("span",{className:"react-resizable-handle react-resizable-handle-"+e,ref:t});if("function"==typeof r)return r(e,t);var a=d({ref:t},"string"==typeof r.type?{}:{handleAxis:e});return n.cloneElement(r,a)},l.render=function(){var e=this,t=this.props,r=t.children,i=t.className,l=t.draggableOpts,c=(t.width,t.height,t.handle,t.handleSize,t.lockAspectRatio,t.axis,t.minConstraints,t.maxConstraints,t.onResize,t.onResizeStop,t.onResizeStart,t.resizeHandles),p=(t.transformScale,function(e,t){if(null==e)return{};var r,n,a={},o=Object.keys(e);for(n=0;n=0||(a[r]=e[r]);return a}(t,s));return(0,o.cloneElement)(r,d(d({},p),{},{className:(i?i+" ":"")+"react-resizable",children:[].concat(r.props.children,c.map((function(t){var r,o=null!=(r=e.handleRefs[t])?r:e.handleRefs[t]=n.createRef();return n.createElement(a.DraggableCore,u({},l,{nodeRef:o,key:"resizableHandle-"+t,onStop:e.resizeHandler("onResizeStop",t),onStart:e.resizeHandler("onResizeStart",t),onDrag:e.resizeHandler("onResize",t)}),e.renderResizeHandle(t,o))})))}))},i}(n.Component);t.default=f,f.propTypes=i.resizableProps,f.defaultProps={axis:"both",handleSize:[20,20],lockAspectRatio:!1,minConstraints:[20,20],maxConstraints:[1/0,1/0],resizeHandles:["se"],transformScale:1}},60:(e,t,r)=>{"use strict";t.default=void 0;var n=function(e,t){if(e&&e.__esModule)return e;if(null===e||"object"!=typeof e&&"function"!=typeof e)return{default:e};var r=u(t);if(r&&r.has(e))return r.get(e);var n={},a=Object.defineProperty&&Object.getOwnPropertyDescriptor;for(var o in e)if("default"!==o&&Object.prototype.hasOwnProperty.call(e,o)){var i=a?Object.getOwnPropertyDescriptor(e,o):null;i&&(i.get||i.set)?Object.defineProperty(n,o,i):n[o]=e[o]}return n.default=e,r&&r.set(e,n),n}(r(650)),a=l(r(615)),o=l(r(377)),i=r(404),s=["handle","handleSize","onResize","onResizeStart","onResizeStop","draggableOpts","minConstraints","maxConstraints","lockAspectRatio","axis","width","height","resizeHandles","style","transformScale"];function l(e){return e&&e.__esModule?e:{default:e}}function u(e){if("function"!=typeof WeakMap)return null;var t=new WeakMap,r=new WeakMap;return(u=function(e){return e?r:t})(e)}function c(){return c=Object.assign?Object.assign.bind():function(e){for(var t=1;t=0||(a[r]=e[r]);return a}(e,s);return n.createElement(o.default,{axis:f,draggableOpts:l,handle:t,handleSize:r,height:this.state.height,lockAspectRatio:h,maxConstraints:d,minConstraints:u,onResizeStart:a,onResize:this.onResize,onResizeStop:i,resizeHandles:m,transformScale:y,width:this.state.width},n.createElement("div",c({},b,{style:p(p({},g),{},{width:this.state.width+"px",height:this.state.height+"px"})})))},a}(n.Component);t.default=m,m.propTypes=p(p({},i.resizableProps),{},{children:a.default.element})},404:(e,t,r)=>{"use strict";t.__esModule=!0,t.resizableProps=void 0;var n,a=(n=r(615))&&n.__esModule?n:{default:n};r(529);var o={axis:a.default.oneOf(["both","x","y","none"]),className:a.default.string,children:a.default.element.isRequired,draggableOpts:a.default.shape({allowAnyClick:a.default.bool,cancel:a.default.string,children:a.default.node,disabled:a.default.bool,enableUserSelectHack:a.default.bool,offsetParent:a.default.node,grid:a.default.arrayOf(a.default.number),handle:a.default.string,nodeRef:a.default.object,onStart:a.default.func,onDrag:a.default.func,onStop:a.default.func,onMouseDown:a.default.func,scale:a.default.number}),height:function(){for(var e=arguments.length,t=new Array(e),r=0;r{"use strict";t.__esModule=!0,t.cloneElement=function(e,t){return t.style&&e.props.style&&(t.style=i(i({},e.props.style),t.style)),t.className&&e.props.className&&(t.className=e.props.className+" "+t.className),a.default.cloneElement(e,t)};var n,a=(n=r(650))&&n.__esModule?n:{default:n};function o(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),r.push.apply(r,n)}return r}function i(e){for(var t=1;t{"use strict";e.exports=function(){throw new Error("Don't instantiate Resizable directly! Use require('react-resizable').Resizable")},e.exports.Resizable=r(377).default,e.exports.ResizableBox=r(60).default},644:e=>{"use strict";e.exports=s},305:t=>{"use strict";t.exports=e},545:e=>{"use strict";e.exports=n},388:e=>{"use strict";e.exports=i},980:e=>{"use strict";e.exports=o},650:e=>{"use strict";e.exports=t},729:e=>{"use strict";e.exports=l},814:e=>{"use strict";e.exports=r},177:e=>{"use strict";e.exports=a}},c={};function d(e){var t=c[e];if(void 0!==t)return t.exports;var r=c[e]={id:e,loaded:!1,exports:{}};return u[e](r,r.exports,d),r.loaded=!0,r.exports}d.n=e=>{var t=e&&e.__esModule?()=>e.default:()=>e;return d.d(t,{a:t}),t},d.d=(e,t)=>{for(var r in t)d.o(t,r)&&!d.o(e,r)&&Object.defineProperty(e,r,{enumerable:!0,get:t[r]})},d.g=function(){if("object"==typeof globalThis)return globalThis;try{return this||new Function("return this")()}catch(e){if("object"==typeof window)return window}}(),d.o=(e,t)=>Object.prototype.hasOwnProperty.call(e,t),d.r=e=>{"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},d.nmd=e=>(e.paths=[],e.children||(e.children=[]),e);var p={};return(()=>{"use strict";d.r(p),d.d(p,{plugin:()=>_u});var e=d(305),t=d(650),r=d.n(t);const n=r().createContext(null);var a=d(814);const o=`/a/${JSON.parse('{"id":"trafficcontrol-scenes-app"}').id}`;var i;!function(e){e.CacheGroup="cache-group",e.DeliveryService="delivery-service",e.Server="server"}(i||(i={}));const s={CACHE_STATS:{uid:"cache_stats",type:"influxdb"},DELIVERYSERVICE_STATS:{uid:"deliveryservice_stats",type:"influxdb"},DAILY_STATS:{uid:"daily_stats",type:"influxdb"},TELEGRAF:{uid:"telegraf",type:"influxdb"}};function l(e){return`${o}/${e}`}var u=d(545),c=Object.defineProperty,h=Object.getOwnPropertySymbols,f=Object.prototype.hasOwnProperty,m=Object.prototype.propertyIsEnumerable,g=(e,t,r)=>t in e?c(e,t,{enumerable:!0,configurable:!0,writable:!0,value:r}):e[t]=r,y=(e,t)=>{for(var r in t||(t={}))f.call(t,r)&&g(e,r,t[r]);if(h)for(var r of h(t))m.call(t,r)&&g(e,r,t[r]);return e};function b(t,r){const n=y({},u.locationService.getSearchObject());if(r)for(const e of Object.keys(n))r.includes(e)||delete n[e];return e.urlUtil.renderUrl(e.locationUtil.assureBaseUrl(t),n)}function v(e,t){return r().createElement(e.Component,{model:e,routeProps:t})}Object.defineProperty,Object.defineProperties,Object.getOwnPropertyDescriptors,Object.getOwnPropertySymbols,Object.prototype.hasOwnProperty,Object.prototype.propertyIsEnumerable;const w=new Map;var S=d(177);const _={randomUUID:"undefined"!=typeof crypto&&crypto.randomUUID&&crypto.randomUUID.bind(crypto)};let O;const x=new Uint8Array(16);function C(){if(!O&&(O="undefined"!=typeof crypto&&crypto.getRandomValues&&crypto.getRandomValues.bind(crypto),!O))throw new Error("crypto.getRandomValues() not supported. See https://github.com/uuidjs/uuid#getrandomvalues-not-supported");return O(x)}const P=[];for(let e=0;e<256;++e)P.push((e+256).toString(16).slice(1));const D=function(e,t,r){if(_.randomUUID&&!t&&!e)return _.randomUUID();const n=(e=e||{}).random||(e.rng||C)();if(n[6]=15&n[6]|64,n[8]=63&n[8]|128,t){r=r||0;for(let e=0;e<16;++e)t[r+e]=n[e];return t}return function(e,t=0){return P[e[t+0]]+P[e[t+1]]+P[e[t+2]]+P[e[t+3]]+"-"+P[e[t+4]]+P[e[t+5]]+"-"+P[e[t+6]]+P[e[t+7]]+"-"+P[e[t+8]]+P[e[t+9]]+"-"+P[e[t+10]]+P[e[t+11]]+P[e[t+12]]+P[e[t+13]]+P[e[t+14]]+P[e[t+15]]}(n)};var E=Object.defineProperty,R=Object.defineProperties,j=Object.getOwnPropertyDescriptors,T=Object.getOwnPropertySymbols,k=Object.prototype.hasOwnProperty,A=Object.prototype.propertyIsEnumerable,I=(e,t,r)=>t in e?E(e,t,{enumerable:!0,configurable:!0,writable:!0,value:r}):e[t]=r;const F=r().memo((function(e){var n,a=e,{model:o}=a,i=((e,t)=>{var r={};for(var n in e)k.call(e,n)&&t.indexOf(n)<0&&(r[n]=e[n]);if(null!=e&&T)for(var n of T(e))t.indexOf(n)<0&&A.call(e,n)&&(r[n]=e[n]);return r})(a,["model"]);const s=null!=(n=o.constructor.Component)?n:V,[l,u]=r().useState(!1);return(0,t.useEffect)((()=>(u(!0),o.activate())),[o]),l?r().createElement(s,(c=((e,t)=>{for(var r in t||(t={}))k.call(t,r)&&I(e,r,t[r]);if(T)for(var r of T(t))A.call(t,r)&&I(e,r,t[r]);return e})({},i),R(c,j({model:o})))):null;var c}));function V(e){return null}class L extends e.BusEventWithPayload{}L.type="scene-object-state-change";class M extends e.BusEventWithPayload{}M.type="scene-object-user-action";var z,N=(e,t,r)=>{if(!t.has(e))throw TypeError("Cannot "+r)};class H{constructor(e){var t,r;((e,t,r)=>{if(t.has(e))throw TypeError("Cannot add the same private member more than once");t instanceof WeakSet?t.add(e):t.set(e,void 0)})(this,z),r=e,N(this,t=z,"write to private field"),t.set(this,r)}resolve(){return N(this,e=z,"read from private field"),e.get(this);var e}}z=new WeakMap;var B=Object.defineProperty,U=Object.getOwnPropertySymbols,$=Object.prototype.hasOwnProperty,W=Object.prototype.propertyIsEnumerable,q=(e,t,r)=>t in e?B(e,t,{enumerable:!0,configurable:!0,writable:!0,value:r}):e[t]=r,G=(e,t)=>{for(var r in t||(t={}))$.call(t,r)&&q(e,r,t[r]);if(U)for(var r of U(t))W.call(t,r)&&q(e,r,t[r]);return e};class Q{constructor(t){this._isActive=!1,this._activationHandlers=[],this._deactivationHandlers=new Map,this._subs=new S.Subscription,this._refCount=0,t.key||(t.key=D()),this._events=new e.EventBusSrv,this._state=Object.freeze(t),this._setParent()}get state(){return this._state}get isActive(){return this._isActive}get parent(){return this._parent}get variableDependency(){return this._variableDependency}get urlSync(){return this._urlSync}get Component(){return F}_setParent(){this.forEachChild((e=>{e._parent&&e._parent!==this&&console.warn("SceneObject already has a parent set that is different from the new parent. You cannot share the same SceneObject instance in multiple scenes or in multiple different places of the same scene graph. Use SceneObject.clone() to duplicate a SceneObject or store a state key reference and use sceneGraph.findObject to locate it.",e,this),e._parent=this}))}subscribeToState(e){return this._events.subscribe(L,(t=>{t.payload.changedObject===this&&e(t.payload.newState,t.payload.prevState)}))}subscribeToEvent(e,t){return this._events.subscribe(e,t)}setState(e){const t=this._state,r=G(G({},this._state),e);this._state=Object.freeze(r),this._setParent(),this._handleActivationOfChangedStateProps(t,r),this.publishEvent(new L({prevState:t,newState:r,partialUpdate:e,changedObject:this}),!0)}_handleActivationOfChangedStateProps(e,t){this.isActive&&(e.$data!==t.$data&&this._handleChangedStateActivation(e.$data,t.$data),e.$variables!==t.$variables&&this._handleChangedStateActivation(e.$variables,t.$variables),e.$timeRange!==t.$timeRange&&this._handleChangedStateActivation(e.$timeRange,t.$timeRange))}_handleChangedStateActivation(e,t){if(e){const t=this._deactivationHandlers.get(e);t&&(t(),this._deactivationHandlers.delete(e))}t&&this._deactivationHandlers.set(t,t.activate())}publishEvent(e,t){this._events.publish(e),t&&this.parent&&this.parent.publishEvent(e,t)}getRoot(){return this._parent?this._parent.getRoot():this}_internalActivate(){this._isActive=!0;const{$data:e,$variables:t,$timeRange:r,$behaviors:n}=this.state;if(r&&!r.isActive&&this._deactivationHandlers.set(r,r.activate()),t&&!t.isActive&&this._deactivationHandlers.set(t,t.activate()),e&&!e.isActive&&this._deactivationHandlers.set(e,e.activate()),n)for(const e of n)if(e instanceof Q)this._deactivationHandlers.set(e,e.activate());else if("function"==typeof e){const t=e(this);t&&this._deactivationHandlers.set(e,t)}this._activationHandlers.forEach((e=>{const t=e();t&&this._deactivationHandlers.set(t,t)}))}activate(){this.isActive||this._internalActivate(),this._refCount++;let e=!1;return()=>{if(this._refCount--,e){const e="SceneObject cancelation handler returned by activate() called a second time";throw console.error(e,this),new Error(e)}e=!0,0===this._refCount&&this._internalDeactivate()}}_internalDeactivate(){this._isActive=!1;for(let e of this._deactivationHandlers.values())e();this._deactivationHandlers.clear(),this._events.removeAllListeners(),this._subs.unsubscribe(),this._subs=new S.Subscription}useState(){return function(e){const[r,n]=(0,t.useState)(e.state),a=e.state;return(0,t.useEffect)((()=>{const t=e.subscribeToState(n);return e.state!==a&&n(e.state),()=>t.unsubscribe()}),[e]),e.state}(this)}forceRender(){this.setState({})}clone(e){return function(e,t){const r=function(e,t){const r=ee({},e);for(const e in r){const t=r[e];if(t instanceof Q&&(r[e]=t.clone()),t instanceof H)throw new Error("Cannot clone a SceneObject with a SceneObjectRef in state");if(Array.isArray(t)){const n=[];for(const e of t)e instanceof Q?n.push(e.clone()):n.push(e);r[e]=n}}return Object.assign(r,t),r}(e.state,t);return new e.constructor(r)}(this,e)}addActivationHandler(e){this._activationHandlers.push(e)}forEachChild(e){for(const t of Object.values(this.state))if(t instanceof Q&&e(t),Array.isArray(t))for(const r of t)r instanceof Q&&e(r)}getRef(){return this._ref||(this._ref=new H(this)),this._ref}}var Y=Object.defineProperty,K=Object.getOwnPropertySymbols,X=Object.prototype.hasOwnProperty,Z=Object.prototype.propertyIsEnumerable,J=(e,t,r)=>t in e?Y(e,t,{enumerable:!0,configurable:!0,writable:!0,value:r}):e[t]=r,ee=(e,t)=>{for(var r in t||(t={}))X.call(t,r)&&J(e,r,t[r]);if(K)for(var r of K(t))Z.call(t,r)&&J(e,r,t[r]);return e};function te(e,t){let r,n=e;for(;n&&!r;)r=t(n),n=n.parent;return r}const re=new Map;var ne=(e=>(e[e.never=0]="never",e[e.onDashboardLoad=1]="onDashboardLoad",e[e.onTimeRangeChanged=2]="onTimeRangeChanged",e))(ne||{}),ae=(e=>(e.Done="Done",e.Error="Error",e.Loading="Loading",e.NotStarted="NotStarted",e.Streaming="Streaming",e))(ae||{}),oe=(e=>(e[e.Crosshair=1]="Crosshair",e[e.Off=0]="Off",e[e.Tooltip=2]="Tooltip",e))(oe||{}),ie=Object.defineProperty,se=Object.getOwnPropertySymbols,le=Object.prototype.hasOwnProperty,ue=Object.prototype.propertyIsEnumerable,ce=(e,t,r)=>t in e?ie(e,t,{enumerable:!0,configurable:!0,writable:!0,value:r}):e[t]=r;const de={state:ae.Done,series:[],timeRange:(0,e.getDefaultTimeRange)()};class pe{constructor(e,t){this._sceneObject=e,this._keys=t.keys}getKeys(){return this._keys}getUrlState(){return this._sceneObject.getUrlState()}updateFromUrl(e){this._sceneObject.updateFromUrl(e)}}const he=/^\d+[yYmMsSwWhHdD]$/;function fe(t){if("string"!=typeof t)return null;if(-1!==t.indexOf("now"))return t;if(he.test(t))return t;if(8===t.length){const r=(0,e.toUtc)(t,"YYYYMMDD");if(r.isValid())return r.toISOString()}else if(15===t.length){const r=(0,e.toUtc)(t,"YYYYMMDDTHHmmss");if(r.isValid())return r.toISOString()}else if(24===t.length)return(0,e.toUtc)(t).toISOString();const r=parseInt(t,10);return isNaN(r)?null:(0,e.toUtc)(r).toISOString()}function me(t,r,n,a,o){const i=o&&"now"===r;return{from:e.dateMath.parse(t,!1,n,a),to:e.dateMath.parse(i?"now-"+o:r,!0,n,a),raw:{from:t,to:r}}}var ge=Object.defineProperty,ye=Object.getOwnPropertySymbols,be=Object.prototype.hasOwnProperty,ve=Object.prototype.propertyIsEnumerable,we=(e,t,r)=>t in e?ge(e,t,{enumerable:!0,configurable:!0,writable:!0,value:r}):e[t]=r;class Se extends Q{constructor(t={}){var r,n;const a=null!=(r=t.from)?r:"now-6h",o=null!=(n=t.to)?n:"now",i=t.timeZone;super(((e,t)=>{for(var r in t||(t={}))be.call(t,r)&&we(e,r,t[r]);if(ye)for(var r of ye(t))ve.call(t,r)&&we(e,r,t[r]);return e})({from:a,to:o,timeZone:i,value:me(a,o,i||(0,e.getTimeZone)(),t.fiscalYearStartMonth,t.UNSAFE_nowDelay)},t)),this._urlSync=new pe(this,{keys:["from","to"]}),this.onTimeRangeChange=e=>{const t={},r={};"string"==typeof e.raw.from?(t.from=e.raw.from,r.from=e.raw.from):(t.from=e.raw.from.toISOString(),r.from=e.raw.from.toISOString(!0)),"string"==typeof e.raw.to?(t.to=e.raw.to,r.to=e.raw.to):(t.to=e.raw.to.toISOString(),r.to=e.raw.to.toISOString(!0)),t.value=me(r.from,r.to,this.getTimeZone(),this.state.fiscalYearStartMonth,this.state.UNSAFE_nowDelay),t.from===this.state.from&&t.to===this.state.to||this.setState(t)},this.onTimeZoneChange=e=>{this.setState({timeZone:e})},this.onRefresh=()=>{this.setState({value:me(this.state.from,this.state.to,this.getTimeZone(),this.state.fiscalYearStartMonth,this.state.UNSAFE_nowDelay)})},this.addActivationHandler(this._onActivate.bind(this))}_onActivate(){if(!this.state.timeZone){const e=this.getTimeZoneSource();e!==this&&this._subs.add(e.subscribeToState(((t,r)=>{void 0!==t.timeZone&&t.timeZone!==r.timeZone&&this.setState({value:me(this.state.from,this.state.to,e.getTimeZone(),this.state.fiscalYearStartMonth,this.state.UNSAFE_nowDelay)})})))}return this.state.weekStart&&(0,e.setWeekStart)(this.state.weekStart),()=>{this.state.weekStart&&(0,e.setWeekStart)(u.config.bootData.user.weekStart)}}getTimeZoneSource(){if(!this.parent||!this.parent.parent)return this;return te(this.parent.parent,(e=>{if(e.state.$timeRange&&e.state.$timeRange.state.timeZone)return e.state.$timeRange}))||this}getTimeZone(){if(this.state.timeZone)return this.state.timeZone;const t=this.getTimeZoneSource();return t!==this?t.state.timeZone:(0,e.getTimeZone)()}getUrlState(){return{from:this.state.from,to:this.state.to}}updateFromUrl(e){var t,r;if(!e.to&&!e.from)return;const n={},a=fe(e.from);a&&(n.from=a);const o=fe(e.to);o&&(n.to=o),n.value=me(null!=(t=n.from)?t:this.state.from,null!=(r=n.to)?r:this.state.to,this.getTimeZone(),this.state.fiscalYearStartMonth,this.state.UNSAFE_nowDelay),this.setState(n)}}const _e=new class extends Q{constructor(e){super(((e,t)=>{for(var r in t||(t={}))le.call(t,r)&&ce(e,r,t[r]);if(se)for(var r of se(t))ue.call(t,r)&&ce(e,r,t[r]);return e})({data:de},e))}getResultsStream(){const e={origin:this,data:this.state.data};return(0,S.of)(e)}},Oe=new Se,xe=new class extends Q{constructor(){super({variables:[]})}getByName(e){}isVariableLoadingOrWaitingToUpdate(e){return!1}};function Ce(e){var t;return null!=(t=te(e,(e=>e.state.$timeRange)))?t:Oe}var Pe=(e=>(e.CSV="csv",e.Date="date",e.Distributed="distributed",e.DoubleQuote="doublequote",e.Glob="glob",e.HTML="html",e.JSON="json",e.Lucene="lucene",e.PercentEncode="percentencode",e.Pipe="pipe",e.QueryParam="queryparam",e.Raw="raw",e.Regex="regex",e.SQLString="sqlstring",e.SingleQuote="singlequote",e.Text="text",e.UriEncode="uriencode",e))(Pe||{});class De extends e.BusEventWithPayload{}function Ee(e){return"object"==typeof e&&"formatter"in e}De.type="scene-variable-changed-value";var Re=d(980);let je,Te={};function ke(e){return Te[e]||(Te[e]=(0,Re.property)(e))}class Ae{constructor(e,t){this.state={name:e,value:t,type:"scopedvar"}}getValue(e){let{value:t}=this.state,r=t.value;return r=e?ke(e)(t.value):t.value,"string"===r||"number"===r||"boolean"===r?r:String(r)}getValueText(){const{value:e}=this.state;return null!=e.text?String(e.text):String(e)}}const Ie=new e.Registry((()=>[{id:Pe.Lucene,name:"Lucene",description:"Values are lucene escaped and multi-valued variables generate an OR expression",formatter:e=>"string"==typeof e?Fe(e):Array.isArray(e)?0===e.length?"__empty__":"("+(0,Re.map)(e,(e=>'"'+Fe(e)+'"')).join(" OR ")+")":Fe(`${e}`)},{id:Pe.Raw,name:"raw",description:"Keep value as is",formatter:e=>String(e)},{id:Pe.Regex,name:"Regex",description:"Values are regex escaped and multi-valued variables generate a (|) expression",formatter:t=>{if("string"==typeof t)return(0,e.escapeRegex)(t);if(Array.isArray(t)){const r=t.map((t=>"string"==typeof t?(0,e.escapeRegex)(t):(0,e.escapeRegex)(String(t))));return 1===r.length?r[0]:"("+r.join("|")+")"}return(0,e.escapeRegex)(`${t}`)}},{id:Pe.Pipe,name:"Pipe",description:"Values are separated by | character",formatter:e=>"string"==typeof e?e:Array.isArray(e)?e.join("|"):`${e}`},{id:Pe.Distributed,name:"Distributed",description:"Multiple values are formatted like variable=value",formatter:(e,t,r)=>"string"==typeof e?e:Array.isArray(e)?(e=(0,Re.map)(e,((e,t)=>0!==t?r.state.name+"="+e:e))).join(","):`${e}`},{id:Pe.CSV,name:"Csv",description:"Comma-separated values",formatter:e=>"string"==typeof e?e:(0,Re.isArray)(e)?e.join(","):String(e)},{id:Pe.HTML,name:"HTML",description:"HTML escaping of values",formatter:t=>"string"==typeof t?e.textUtil.escapeHtml(t):(0,Re.isArray)(t)?e.textUtil.escapeHtml(t.join(", ")):e.textUtil.escapeHtml(String(t))},{id:Pe.JSON,name:"JSON",description:"JSON stringify value",formatter:e=>"string"==typeof e?e:JSON.stringify(e)},{id:Pe.PercentEncode,name:"Percent encode",description:"Useful for URL escaping values",formatter:e=>(0,Re.isArray)(e)?Ve("{"+e.join(",")+"}"):Ve(e)},{id:Pe.SingleQuote,name:"Single quote",description:"Single quoted values",formatter:e=>{const t=new RegExp("'","g");if((0,Re.isArray)(e))return(0,Re.map)(e,(e=>`'${(0,Re.replace)(e,t,"\\'")}'`)).join(",");let r="string"==typeof e?e:String(e);return`'${(0,Re.replace)(r,t,"\\'")}'`}},{id:Pe.DoubleQuote,name:"Double quote",description:"Double quoted values",formatter:e=>{const t=new RegExp('"',"g");if((0,Re.isArray)(e))return(0,Re.map)(e,(e=>`"${(0,Re.replace)(e,t,'\\"')}"`)).join(",");let r="string"==typeof e?e:String(e);return`"${(0,Re.replace)(r,t,'\\"')}"`}},{id:Pe.SQLString,name:"SQL string",description:"SQL string quoting and commas for use in IN statements and other scenarios",formatter:He},{id:Pe.Date,name:"Date",description:"Format date in different ways",formatter:(t,r)=>{var n;let a=NaN;if("number"==typeof t?a=t:"string"==typeof t&&(a=parseInt(t,10)),isNaN(a))return"NaN";const o=null!=(n=r[0])?n:"iso";switch(o){case"ms":return String(t);case"seconds":return`${Math.round(a/1e3)}`;case"iso":return(0,e.dateTime)(a).toISOString();default:return(r||[]).length>1?(0,e.dateTime)(a).format(r.join(":")):(0,e.dateTime)(a).format(o)}}},{id:Pe.Glob,name:"Glob",description:"Format multi-valued variables using glob syntax, example {value1,value2}",formatter:e=>(0,Re.isArray)(e)&&e.length>1?"{"+e.join(",")+"}":String(e)},{id:Pe.Text,name:"Text",description:"Format variables in their text representation. Example in multi-variable scenario A + B + C.",formatter:(e,t,r)=>r.getValueText?r.getValueText():String(e)},{id:Pe.QueryParam,name:"Query parameter",description:"Format variables as URL parameters. Example in multi-variable scenario A + B + C => var-foo=A&var-foo=B&var-foo=C.",formatter:(e,t,r)=>Array.isArray(e)?e.map((e=>ze(r.state.name,e))).join("&"):ze(r.state.name,e)},{id:Pe.UriEncode,name:"Percent encode as URI",description:"Useful for URL escaping values, taking into URI syntax characters",formatter:e=>(0,Re.isArray)(e)?Le("{"+e.join(",")+"}"):Le(e)}]));function Fe(e){return!1===isNaN(+e)?e:e.replace(/([\!\*\+\-\=<>\s\&\|\(\)\[\]\{\}\^\~\?\:\\/"])/g,"\\$1")}function Ve(e){return"object"==typeof e&&(e=String(e)),Me(encodeURIComponent(e))}const Le=e=>Me(encodeURI(String(e))),Me=e=>e.replace(/[!'()*]/g,(e=>"%"+e.charCodeAt(0).toString(16).toUpperCase()));function ze(e,t){return`var-${e}=${Ve(t)}`}const Ne={"'":"''",'"':'\\"'};function He(e){const t=new RegExp("'|\"","g");if((0,Re.isArray)(e))return(0,Re.map)(e,(e=>`'${(0,Re.replace)(e,t,(e=>{var t;return null!=(t=Ne[e])?t:""}))}'`)).join(",");let r="string"==typeof e?e:String(e);return`'${(0,Re.replace)(r,t,(e=>{var t;return null!=(t=Ne[e])?t:""}))}'`}const Be="All",Ue="$__all",$e="$__auto",We=/\$(\w+)|\[\[(\w+?)(?::(\w+))?\]\]|\${(\w+)(?:\.([^:^\}]+))?(?::([^\}]+))?}/g;function qe(e,t){const r=t.state.$variables;if(!r)return t.parent?qe(e,t.parent):null;return r.getByName(e)||(t.parent?qe(e,t.parent):null)}class Ge extends Q{constructor(e){super(e),this.addActivationHandler((()=>this._onActivate()))}_onActivate(){const{layers:e}=this.state,t=[];for(const r of e)t.push(r.activate());return()=>{t.forEach((e=>e()))}}}function Qe(e){var t;return null!=(t=te(e,(e=>e.state.$data)))?t:_e}function Ye(e,t,r,n){if(t(e))return e;let a=null;return e.forEachChild((e=>{if(e===r)return;let n=Ye(e,t);n&&(a=n)})),a||(n&&e.parent?Ye(e.parent,t,e,!0):null)}class Ke{constructor(e){this._value=e}formatter(){return this._value}}class Xe{constructor(e,t){this.state={name:e,type:"time_macro"},this._sceneObject=t}getValue(){const e=Ce(this._sceneObject);return"__from"===this.state.name?e.state.value.from.valueOf():e.state.value.to.valueOf()}getValueText(){const t=Ce(this._sceneObject);return"__from"===this.state.name?(0,e.dateTimeFormat)(t.state.value.from,{timeZone:t.getTimeZone()}):(0,e.dateTimeFormat)(t.state.value.to,{timeZone:t.getTimeZone()})}}class Ze{constructor(e,t){this.state={name:e,type:"time_macro"},this._sceneObject=t}getValue(){var e;const t=Qe(this._sceneObject);if(t){const r=null==(e=t.state.data)?void 0:e.request;return r?"__interval_ms"===this.state.name?r.intervalMs:r.interval:`\${${this.state.name}}`}return`\${${this.state.name}}`}}function Je(e,t={}){if(e.state.$variables)for(const r of e.state.$variables.state.variables)r.state.skipUrlSync||t[r.state.name]||(t[r.state.name]=r);return e.parent&&Je(e.parent,t),t}var et=Object.defineProperty,tt=Object.defineProperties,rt=Object.getOwnPropertyDescriptors,nt=Object.getOwnPropertySymbols,at=Object.prototype.hasOwnProperty,ot=Object.prototype.propertyIsEnumerable,it=(e,t,r)=>t in e?et(e,t,{enumerable:!0,configurable:!0,writable:!0,value:r}):e[t]=r;const st=(0,e.getDisplayProcessor)();class lt{constructor(e){this._urlQueryParams=e}formatter(e){if(!e)return this._urlQueryParams;const t=e.split(":");if("exclude"===t[0]&&t.length>1){const e=new URLSearchParams(this._urlQueryParams);for(const r of t[1].split(","))e.delete(r);return`?${e}`}if("include"===t[0]&&t.length>1){const e=new URLSearchParams(this._urlQueryParams),r=t[1].split(",");for(const t of e.keys())r.includes(t)||e.delete(t);return`?${e}`}return this._urlQueryParams}}const ut={[e.DataLinkBuiltInVars.includeVars]:class{constructor(e,t){this.state={name:e,type:"url_variable"},this._sceneObject=t}getValue(){const e=Je(this._sceneObject),t=Ie.get(Pe.QueryParam),r=[];for(const n of Object.keys(e)){const a=e[n],o=a.getValue();o&&(Ee(o)?r.push(o.formatter(Pe.QueryParam)):r.push(t.formatter(o,[],a)))}return new Ke(r.join("&"))}getValueText(){return""}},[e.DataLinkBuiltInVars.keepTime]:class{constructor(e,t){this.state={name:e,type:"url_variable"},this._sceneObject=t}getValue(){var t;const r=null==(t=Ce(this._sceneObject).urlSync)?void 0:t.getUrlState();return new Ke(e.urlUtil.toUrlParams(r))}getValueText(){return""}},__value:class{constructor(e,t,r,n){this._match=r,this._scopedVars=n,this.state={name:e,type:"__value"}}getValue(t){var r,n;const a=null==(r=this._scopedVars)?void 0:r.__dataContext;if(!a)return this._match;const{frame:o,rowIndex:i,field:s,calculatedValue:l}=a.value;if(l)switch(t){case"numeric":case"raw":return l.numeric;case"time":return"";default:return(0,e.formattedValueToString)(l)}if(null==i)return this._match;if("time"===t){const t=o.fields.find((t=>t.type===e.FieldType.time));return t?t.values.get(i):void 0}if(!s)return this._match;const u=s.values.get(i);if("raw"===t)return u;const c=(null!=(n=s.display)?n:st)(u);return"numeric"===t?c.numeric:(0,e.formattedValueToString)(c)}getValueText(){return""}},__data:class{constructor(e,t,r,n){this._match=r,this._scopedVars=n,this.state={name:e,type:"__data"}}getValue(t){var r,n;const a=null==(r=this._scopedVars)?void 0:r.__dataContext;if(!a||!t)return this._match;const{frame:o,rowIndex:i}=a.value;if(void 0===i||void 0===t)return this._match;const s={name:o.name,refId:o.refId,fields:(0,e.getFieldDisplayValuesProxy)({frame:o,rowIndex:i})};return null!=(n=ke(t)(s))?n:""}getValueText(){return""}},__series:class{constructor(e,t,r,n){this._match=r,this._scopedVars=n,this.state={name:e,type:"__series"}}getValue(t){var r;const n=null==(r=this._scopedVars)?void 0:r.__dataContext;if(!n||!t)return this._match;if("name"!==t)return this._match;const{frame:a,frameIndex:o}=n.value;return(0,e.getFrameDisplayName)(a,o)}getValueText(){return""}},__field:class{constructor(e,t,r,n){this._match=r,this._scopedVars=n,this.state={name:e,type:"__field"}}getValue(t){var r,n;const a=null==(r=this._scopedVars)?void 0:r.__dataContext;if(!a||!t)return this._match;if(void 0===t||""===t)return this._match;const{frame:o,field:i,data:s}=a.value,l=function(t,r,n){return new Proxy({},{get:(a,o)=>{return"name"===o?t.name:"displayName"===o?(0,e.getFieldDisplayName)(t,r,n):"labels"===o||"formattedLabels"===o?t.labels?(i=((e,t)=>{for(var r in t||(t={}))at.call(t,r)&&it(e,r,t[r]);if(nt)for(var r of nt(t))ot.call(t,r)&&it(e,r,t[r]);return e})({},t.labels),s={__values:Object.values(t.labels).sort().join(", "),toString:()=>(0,e.formatLabels)(t.labels,"",!0)},tt(i,rt(s))):"":void 0;var i,s}})}(i,o,s);return null!=(n=ke(t)(l))?n:""}getValueText(){return""}},__url:class{constructor(e,t){this.state={name:e,type:"url_macro"}}getValue(e){var t;const r=u.locationService.getLocation(),n=null!=(t=u.config.appSubUrl)?t:"";switch(null!=e?e:""){case"params":return new lt(r.search);case"path":return n+r.pathname;default:return n+r.pathname+r.search}}getValueText(){return""}},__from:Xe,__to:Xe,__timezone:class{constructor(e,t){this.state={name:e,type:"time_macro"},this._sceneObject=t}getValue(){return Ce(this._sceneObject).getTimeZone()}getValueText(){return this.getValue()}},__user:class{constructor(e,t){this.state={name:e,type:"user_macro"}}getValue(e){const t=u.config.bootData.user;switch(e){case"login":return t.login;case"email":return t.email;default:return String(t.id)}}getValueText(){return""}},__org:class{constructor(e,t){this.state={name:e,type:"org_macro"}}getValue(e){const t=u.config.bootData.user;return"name"===e?t.orgName:String(t.orgId)}getValueText(){return""}},__interval:Ze,__interval_ms:Ze};function ct(e,t){return e===t||(0,Re.isEqual)(e,t)}function dt(e){try{return JSON.stringify(e,null)}catch(e){console.error(e)}return""}function pt(e){return e.map((e=>function(e){let t="";return t="=~"===e.operator||"!~¨"===e.operator?ht(function(e){return e.replace(ft,"\\$&")}(e.value)):ht(e.value),`${e.key}${e.operator}"${t}"`}(e))).join(",")}function ht(e){return e.replace(/\\/g,"\\\\").replace(/\n/g,"\\n").replace(/"/g,'\\"')}const ft=/[*+?()|\\.\[\]{}^$]/g,mt={getVariables:function(e){var t;return null!=(t=te(e,(e=>e.state.$variables)))?t:xe},getData:Qe,getTimeRange:Ce,getLayout:function(e){return te(e,(e=>function(e){return"isDraggable"in e}(e)?e:void 0))||null},getDataLayers:function(e,t=!1){let r,n=e,a=[];for(;n&&(!n.state.$data||n.state.$data instanceof Ge||n.state.$data.state.$data instanceof Ge&&(r=n.state.$data.state.$data),n.state.$data&&n.state.$data instanceof Ge&&(r=n.state.$data),!r||(a=a.concat(r.state.layers),!t));)n=n.parent;return a},interpolate:function(e,t,r,n){return""===t||null==t?"":function(e,t,r,n){return t?(We.lastIndex=0,t.replace(We,((t,a,o,i,s,l,u)=>{const c=i||u||n,d=function(e,t,r,n){const a=null==r?void 0:r[e];if(a)return function(e,t){return je?(je.state.name=e,je.state.value=t):je=new Ae(e,t),je}(e,a);return qe(e,n)||(ut[e]?new ut[e](e,n,t,r):null)}(a||o||s,t,r,e);return d?function(e,t,r){if(null==t)return"";if(Ee(t))return t.formatter(r);if(Array.isArray(t)||"object"!=typeof t||(t=`${t}`),"function"==typeof r)return r(t,{name:e.state.name,type:e.state.type,multi:e.state.isMulti,includeAll:e.state.includeAll});let n=[];r?(n=r.split(":"),n.length>1?(r=n[0],n=n.slice(1)):n=[]):r=Pe.Glob;let a=Ie.getIfExists(r);return a||(console.error(`Variable format ${r} not found. Using glob format as fallback.`),a=Ie.get(Pe.Glob)),a.formatter(t,n,e)}(d,d.getValue(l),c):t}))):null!=t?t:""}(e,t,r,n)},lookupVariable:qe,hasVariableDependencyInLoadingState:function(e){if(!e.variableDependency)return!1;for(const t of e.variableDependency.getNames()){const r=qe(t,e);if(r&&r.parent.isVariableLoadingOrWaitingToUpdate(r))return!0}return!1},findObject:function(e,t){return Ye(e,t,void 0,!0)},getAncestor:function(e,t){let r=e;for(;r;){if(r instanceof t)return r;r=r.parent}throw new Error("Unable to find parent of type "+t.name)}};class gt{constructor(e,t){this._sceneObject=e,this._options=t,this._dependencies=new Set,this.scanCount=0,this.defaultHandlerReferencedVariableValueChanged=()=>{this._sceneObject.forceRender()},this._statePaths=t.statePaths}hasDependencyOn(e){return this.getNames().has(e)}variableUpdatesCompleted(e){const t=this.getNames();let r=!1;for(const n of e)if(t.has(n.state.name)){r=!0;break}this._options.onVariableUpdatesCompleted?this._options.onVariableUpdatesCompleted(e,r):r&&(this._options.onReferencedVariableValueChanged?this._options.onReferencedVariableValueChanged():this.defaultHandlerReferencedVariableValueChanged())}getNames(){const e=this._state,t=this._state=this._sceneObject.state;if(!e)return this.scanStateForDependencies(this._state),this._dependencies;if(t!==e)if(this._statePaths){for(const r of this._statePaths)if(t[r]!==e[r]){this.scanStateForDependencies(t);break}}else this.scanStateForDependencies(t);return this._dependencies}setPaths(e){this._statePaths=e}scanStateForDependencies(e){if(this._dependencies.clear(),this.scanCount+=1,this._options.variableNames)for(const e of this._options.variableNames)this._dependencies.add(e);else if(this._statePaths)for(const t of this._statePaths){const r=e[t];r&&this.extractVariablesFrom(r)}else this.extractVariablesFrom(e)}extractVariablesFrom(e){We.lastIndex=0;const t=("string"!=typeof e?dt(e):e).matchAll(We);if(t)for(const e of t){const[,t,r,,n]=e,a=t||r||n;this._dependencies.add(a)}}}var yt=Object.defineProperty,bt=Object.defineProperties,vt=Object.getOwnPropertyDescriptors,wt=Object.getOwnPropertySymbols,St=Object.prototype.hasOwnProperty,_t=Object.prototype.propertyIsEnumerable,Ot=(e,t,r)=>t in e?yt(e,t,{enumerable:!0,configurable:!0,writable:!0,value:r}):e[t]=r;class xt extends Q{constructor(e){var t,r;super((t=((e,t)=>{for(var r in t||(t={}))St.call(t,r)&&Ot(e,r,t[r]);if(wt)for(var r of wt(t))_t.call(t,r)&&Ot(e,r,t[r]);return e})({},e),r={sync:e.sync||oe.Off},bt(t,vt(r)))),this.getEventsBus=e=>{if(!this.parent)throw new Error("EnableCursorSync cannot be used as a standalone scene object");return new Ct(this.parent,e)}}getEventsScope(){if(!this.parent)throw new Error("EnableCursorSync cannot be used as a standalone scene object");return this.state.key}}class Ct{constructor(e,t){this._source=e,this._eventsOrigin=t}publish(e){e.origin=this,this._eventsOrigin.publishEvent(e,!0)}getStream(e){return new S.Observable((t=>{const r=this._source.subscribeToEvent(e,(e=>{t.next(e)}));return()=>r.unsubscribe()}))}subscribe(e,t){return this.getStream(e).pipe().subscribe(t)}removeAllListeners(){}newScopedBus(e,t){throw new Error("For internal use only")}}async function Pt(e,t){if(null==e?void 0:e.uid){const t=re.get(e.uid);if(t)return t}return e&&e.query?e:await(0,u.getDataSourceSrv)().get(e,t)}class Dt{constructor(){this._values=new Map}recordCurrentDependencyValuesForSceneObject(e){if(this.clearValues(),e.variableDependency)for(const t of e.variableDependency.getNames()){const r=mt.lookupVariable(t,e);r&&this._values.set(r,r.getValue())}}clearValues(){this._values.clear()}hasValues(){return!!this._values}recordCurrentValue(e){this._values.set(e,e.getValue())}hasRecordedValue(e){return this._values.has(e)}hasValueChanged(e){return!(!this._values.has(e)||ct(this._values.get(e),e.getValue()))}hasDependenciesChanged(e){if(!this._values)return!1;if(!e.variableDependency)return!1;for(const t of e.variableDependency.getNames()){const r=mt.lookupVariable(t,e);if(r&&this._values.has(r)&&!ct(this._values.get(r),r.getValue()))return!0}return!1}}function Et(e){return"function"==typeof e}Object.defineProperty,Object.getOwnPropertySymbols,Object.prototype.hasOwnProperty,Object.prototype.propertyIsEnumerable;var Rt=function(e,t){return Rt=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var r in t)Object.prototype.hasOwnProperty.call(t,r)&&(e[r]=t[r])},Rt(e,t)};function jt(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Class extends value "+String(t)+" is not a constructor or null");function r(){this.constructor=e}Rt(e,t),e.prototype=null===t?Object.create(t):(r.prototype=t.prototype,new r)}function Tt(e){var t="function"==typeof Symbol&&Symbol.iterator,r=t&&e[t],n=0;if(r)return r.call(e);if(e&&"number"==typeof e.length)return{next:function(){return e&&n>=e.length&&(e=void 0),{value:e&&e[n++],done:!e}}};throw new TypeError(t?"Object is not iterable.":"Symbol.iterator is not defined.")}function kt(e,t){var r="function"==typeof Symbol&&e[Symbol.iterator];if(!r)return e;var n,a,o=r.call(e),i=[];try{for(;(void 0===t||t-- >0)&&!(n=o.next()).done;)i.push(n.value)}catch(e){a={error:e}}finally{try{n&&!n.done&&(r=o.return)&&r.call(o)}finally{if(a)throw a.error}}return i}function At(e,t,r){if(r||2===arguments.length)for(var n,a=0,o=t.length;at in e?ir(e,t,{enumerable:!0,configurable:!0,writable:!0,value:r}):e[t]=r;const dr="__previousPeriod",pr="__noPeriod",hr={label:"Previous period",value:dr},fr={label:"No comparison",value:pr},mr=[{label:"Day before",value:"24h"},{label:"Week before",value:"1w"},{label:"Month before",value:"1M"}];class gr extends Q{constructor(t){super(((e,t)=>{for(var r in t||(t={}))lr.call(t,r)&&cr(e,r,t[r]);if(sr)for(var r of sr(t))ur.call(t,r)&&cr(e,r,t[r]);return e})({compareOptions:mr},t)),this._urlSync=new pe(this,{keys:["compareWith"]}),this._onActivate=()=>{const e=mt.getTimeRange(this);this.setState({compareOptions:this.getCompareOptions(e.state.value)}),this._subs.add(e.subscribeToState((e=>{const t=this.getCompareOptions(e.value),r={compareOptions:t};Boolean(this.state.compareWith)&&!t.find((({value:e})=>e===this.state.compareWith))&&(r.compareWith=dr),this.setState(r)})))},this.getCompareOptions=t=>{const r=Math.ceil(t.to.diff(t.from)),n=mr.findIndex((({value:t})=>e.rangeUtil.intervalToMs(t)>=r));return[fr,hr,...mr.slice(n).map((({label:e,value:t})=>({label:e,value:t})))]},this.onCompareWithChanged=e=>{e===pr?this.onClearCompare():this.setState({compareWith:e})},this.onClearCompare=()=>{this.setState({compareWith:void 0})},this.addActivationHandler(this._onActivate)}getCompareTimeRange(t){let r,n;if(this.state.compareWith){if(this.state.compareWith===dr){const a=t.to.diff(t.from);r=(0,e.dateTime)(t.from).subtract(a),n=(0,e.dateTime)(t.to).subtract(a)}else r=(0,e.dateTime)(t.from).subtract(e.rangeUtil.intervalToMs(this.state.compareWith)),n=(0,e.dateTime)(t.to).subtract(e.rangeUtil.intervalToMs(this.state.compareWith));return{from:r,to:n,raw:{from:r,to:n}}}}getUrlState(){return{compareWith:this.state.compareWith}}updateFromUrl(e){if(!e.compareWith)return;const t=fe(e.compareWith);t&&(this.getCompareOptions(mt.getTimeRange(this).state.value).find((({value:e})=>e===t))?this.setState({compareWith:t}):this.setState({compareWith:"__previousPeriod"}))}}function yr(e){return{previewButton:(0,or.css)({"&:disabled":{border:`1px solid ${e.colors.secondary.border}`,color:e.colors.text.disabled,opacity:1}})}}gr.Component=function({model:e}){var t;const n=(0,ar.useStyles2)(yr),{compareWith:a,compareOptions:o}=e.useState(),[i,s]=r().useState(a),l=null!=(t=o.find((({value:e})=>e===i)))?t:hr,u=o.find((({value:e})=>e===a)),c=Boolean(u),d=()=>{c?(s(a),e.onClearCompare()):c||e.onCompareWithChanged(l.value)};return r().createElement(ar.ButtonGroup,null,r().createElement(ar.ToolbarButton,{variant:"canvas",tooltip:"Enable time frame comparison",onClick:e=>{e.stopPropagation(),e.preventDefault(),d()}},r().createElement(ar.Checkbox,{label:" ",value:c,onClick:d}),"Comparison"),c?r().createElement(ar.ButtonSelect,{variant:"canvas",value:u,options:o,onChange:t=>{e.onCompareWithChanged(t.value)}}):r().createElement(ar.ToolbarButton,{className:n.previewButton,disabled:!0,variant:"canvas",isOpen:!1},l.label))};const br=e=>`${e}-compare`;var vr=Object.defineProperty,wr=Object.defineProperties,Sr=Object.getOwnPropertyDescriptors,_r=Object.getOwnPropertySymbols,Or=Object.prototype.hasOwnProperty,xr=Object.prototype.propertyIsEnumerable,Cr=(e,t,r)=>t in e?vr(e,t,{enumerable:!0,configurable:!0,writable:!0,value:r}):e[t]=r,Pr=(e,t)=>{for(var r in t||(t={}))Or.call(t,r)&&Cr(e,r,t[r]);if(_r)for(var r of _r(t))xr.call(t,r)&&Cr(e,r,t[r]);return e},Dr=(e,t)=>wr(e,Sr(t));function Er(t){return t.pipe((0,S.map)((([t,r])=>{const n=r.timeRange.from.diff(t.timeRange.from);return r.series.forEach((t=>{t.refId=br(t.refId||""),t.meta=Dr(Pr({},t.meta),{timeCompare:{diffMs:n,isTimeShiftQuery:!0}}),t.fields.forEach((t=>(t.type===e.FieldType.time&&(t.values=t.values.map((e=>n<0?e-n:e+n))),t.config=Dr(Pr({},t.config),{color:{mode:"fixed",fixedColor:u.config.theme.palette.gray60}}),t)))})),Dr(Pr({},t),{series:[...t.series,...r.series]})})))}var Rr=Object.defineProperty,jr=Object.defineProperties,Tr=Object.getOwnPropertyDescriptors,kr=Object.getOwnPropertySymbols,Ar=Object.prototype.hasOwnProperty,Ir=Object.prototype.propertyIsEnumerable,Fr=(e,t,r)=>t in e?Rr(e,t,{enumerable:!0,configurable:!0,writable:!0,value:r}):e[t]=r,Vr=(e,t)=>{for(var r in t||(t={}))Ar.call(t,r)&&Fr(e,r,t[r]);if(kr)for(var r of kr(t))Ir.call(t,r)&&Fr(e,r,t[r]);return e},Lr=(e,t)=>jr(e,Tr(t));function Mr(e){return void 0!==e.useState}function zr(e){return"enrichDataRequest"in e}let Nr,Hr=new Set;var Br=Object.defineProperty,Ur=Object.defineProperties,$r=Object.getOwnPropertyDescriptors,Wr=Object.getOwnPropertySymbols,qr=Object.prototype.hasOwnProperty,Gr=Object.prototype.propertyIsEnumerable,Qr=(e,t,r)=>t in e?Br(e,t,{enumerable:!0,configurable:!0,writable:!0,value:r}):e[t]=r,Yr=(e,t)=>{for(var r in t||(t={}))qr.call(t,r)&&Qr(e,r,t[r]);if(Wr)for(var r of Wr(t))Gr.call(t,r)&&Qr(e,r,t[r]);return e},Kr=(e,t)=>Ur(e,$r(t));let Xr=100;function Zr(){return"SQR"+Xr++}class Jr extends Q{constructor(t){super(t),this._variableValueRecorder=new Dt,this._results=new S.ReplaySubject,this._scopedVars={__sceneObject:{value:this,text:"__sceneObject"}},this._variableDependency=new gt(this,{statePaths:["queries","datasource"],onVariableUpdatesCompleted:(e,t)=>this.onVariableUpdatesCompleted(e,t)}),this.prepareRequests=(t,r)=>{const n=this.getTimeCompare(),{minInterval:a,queries:o}=this.state;let i,s=Yr({app:"scenes",requestId:Zr(),timezone:t.getTimeZone(),panelId:1,range:t.state.value,interval:"1s",intervalMs:1e3,targets:(0,Re.cloneDeep)(o),maxDataPoints:this.getMaxDataPoints(),scopedVars:this._scopedVars,startTime:Date.now(),liveStreaming:this.state.liveStreaming,rangeRaw:{from:t.state.from,to:t.state.to}},function(e){const t=e.getRoot();return zr(t)?t.enrichDataRequest(e):null}(this));this._adhocFilterSet&&(s.filters=this._adhocFilterSet.state.filters),s.targets=s.targets.map((e=>(e.datasource||(e.datasource=r.getRef()),e)));const l=a||r.interval,u=e.rangeUtil.calculateInterval(t.state.value,s.maxDataPoints,l);s.scopedVars=Object.assign({},s.scopedVars,{__interval:{text:u.interval,value:u.interval},__interval_ms:{text:u.intervalMs.toString(),value:u.intervalMs}}),s.interval=u.interval,s.intervalMs=u.intervalMs;const c=t.state.value;if(n){const e=n.getCompareTimeRange(c);e&&(i=Kr(Yr({},s),{range:e,requestId:Zr()}),s=Kr(Yr({},s),{range:c}))}return[s,i]},this.onDataReceived=t=>{this._results.next({origin:this,data:t});const r=(0,e.preProcessPanelData)(t,this.state.data),n=this._combineDataLayers(r);let a=this.state._hasFetchedData;a||r.state===ae.Loading||(a=!0),this._resultAnnotations=t.annotations,this.setState({data:n,_hasFetchedData:a})},this.addActivationHandler((()=>this._onActivate()))}getResultsStream(){return this._results}_onActivate(){const e=mt.getTimeRange(this),t=this.getTimeCompare();return t&&this._subs.add(t.subscribeToState(((e,t)=>{e.compareWith!==t.compareWith&&this.runQueries()}))),this._subs.add(e.subscribeToState((()=>{this.runWithTimeRange(e)}))),this.shouldRunQueriesOnActivate()&&this.runQueries(),()=>this._onDeactivate()}_handleDataLayers(){const e=mt.getDataLayers(this),t=[],r=new Map;e.length>0&&(e.forEach((e=>{t.push(e.getResultsStream())})),this._dataLayersSub=(0,S.merge)(t).pipe((0,S.mergeAll)(),(0,S.map)((e=>(r.set(e.origin.state.key,e.data),r)))).subscribe((e=>{this._onLayersReceived(e)})))}_onLayersReceived(t){var r,n;const a=mt.getTimeRange(this),o=mt.getDataLayers(this),{dataLayerFilter:i}=this.state;let s,l=[],u=[];const c=Array.from(t.keys());if(Array.from(t.values()).forEach(((t,r)=>{const n=c[r],a=o.find((e=>e.state.key===n));a&&(a.topic===e.DataTopic.Annotations&&t[e.DataTopic.Annotations]&&(l=l.concat(t[e.DataTopic.Annotations])),"alertStates"===a.topic&&(u=u.concat(t.series)))})),(null==i?void 0:i.panelId)&&(l.length>0&&(l=function(e,t){var r;if(!Array.isArray(e)||0===e.length)return e;const n=Array.from({length:e.length},(()=>new Set));let a=0;for(const o of e){for(let e=0;e"panelId"===e.name)),l=o.fields.find((e=>"source"===e.name));if(l){s&&"dashboard"===l.values[e].type&&(i=s.values[e]===t.panelId);const n=l.values[e].filter;if(n){const e=(null!=(r=n.ids)?r:[]).includes(t.panelId);n.exclude?e&&(i=!1):e||(i=!1)}}i&&n[a].add(e)}a++}const o=[];a=0;for(const t of e){const e=n[a].size,r=[];for(const e of t.fields){const o=[];for(let r=0;r0))for(const t of u){const r=new e.DataFrameView(t);for(const e of r)if(e.panelId===i.panelId){s=e;break}}const d=this.state.data?this.state.data:Kr(Yr({},de),{timeRange:a.state.value});this._layerAnnotations=l,this.setState({data:Kr(Yr({},d),{annotations:[...null!=(r=this._resultAnnotations)?r:[],...l],alertState:null!=s?s:null==(n=this.state.data)?void 0:n.alertState})})}onVariableUpdatesCompleted(e,t){(this.state.maxDataPoints||!this.state.maxDataPointsFromWidth||this._containerWidth)&&(this.state._isWaitingForVariables||t)&&this.runQueries()}shouldRunQueriesOnActivate(){return!(!this.state.maxDataPoints&&this.state.maxDataPointsFromWidth&&!this._containerWidth||(this._variableValueRecorder.hasDependenciesChanged(this)?(nr("SceneQueryRunner","Variable dependency changed while inactive, shouldRunQueriesOnActivate returns true"),0):this.state.data&&!this._isDataTimeRangeStale(this.state.data)))}_isDataTimeRangeStale(e){const t=mt.getTimeRange(this).state.value,r=e.timeRange;return(t.from.unix()!==r.from.unix()||t.to.unix()!==r.to.unix())&&(nr("SceneQueryRunner","Data time range is stale"),!0)}_onDeactivate(){this._querySub&&(this._querySub.unsubscribe(),this._querySub=void 0),this._dataLayersSub&&(this._dataLayersSub.unsubscribe(),this._dataLayersSub=void 0),this._adhocFilterSub&&this._adhocFilterSub.unsubscribe(),this._variableValueRecorder.recordCurrentDependencyValuesForSceneObject(this)}setContainerWidth(e){!this._containerWidth&&e>0?(this._containerWidth=e,this.state.maxDataPointsFromWidth&&!this.state.maxDataPoints&&setTimeout((()=>{this.isActive&&!this.state._hasFetchedData&&this.runQueries()}),0)):e>0&&(this._containerWidth=e)}isDataReadyToDisplay(){return Boolean(this.state._hasFetchedData)}runQueries(){const e=mt.getTimeRange(this);this.runWithTimeRange(e)}getMaxDataPoints(){var e;return this.state.maxDataPoints?this.state.maxDataPoints:this.state.maxDataPointsFromWidth&&null!=(e=this._containerWidth)?e:500}cancelQuery(){var e;null==(e=this._querySub)||e.unsubscribe(),this._dataLayersSub&&(this._dataLayersSub.unsubscribe(),this._dataLayersSub=void 0),this.setState({data:Kr(Yr({},this.state.data),{state:ae.Done})})}async runWithTimeRange(e){var t,r;this._dataLayersSub||this._handleDataLayers();const n=(0,u.getRunRequest)();if(null==(t=this._querySub)||t.unsubscribe(),mt.hasVariableDependencyInLoadingState(this))return nr("SceneQueryRunner","Variable dependency is in loading state, skipping query execution"),void this.setState({_isWaitingForVariables:!0});this.state._isWaitingForVariables&&this.setState({_isWaitingForVariables:!1});const{queries:a}=this.state;if(null==a?void 0:a.length)try{const t=null!=(r=this.state.datasource)?r:function(e){var t,r;return null!=(r=null==(t=e.find((e=>null!==e.datasource)))?void 0:t.datasource)?r:void 0}(a),o=await Pt(t,this._scopedVars);this._adhocFilterSet||this.findAndSubscribeToAdhocFilters(null==t?void 0:t.uid);const[i,s]=this.prepareRequests(e,o);nr("SceneQueryRunner","Starting runRequest",this.state.key),this._querySub=s?(0,S.forkJoin)([n(o,i),n(o,s)]).pipe(Er).subscribe(this.onDataReceived):n(o,i).subscribe(this.onDataReceived)}catch(e){console.error("PanelQueryRunner Error",e);const t=Kr(Yr(Yr({},de),this.state.data),{state:ae.Error,errors:[(0,u.toDataQueryError)(e)]});this.setState({data:t})}else this._setNoDataState()}_combineDataLayers(e){var t;return this.state.data&&this.state.data.annotations&&(e.annotations=(e.annotations||[]).concat(null!=(t=this._layerAnnotations)?t:[])),this.state.data&&this.state.data.alertState&&(e.alertState=this.state.data.alertState),e}_setNoDataState(){this.state.data!==de&&this.setState({data:de})}getTimeCompare(){return this.parent?te(this.parent,(e=>{let t=null;return e instanceof gr?e:(e.forEachChild((e=>{e instanceof gr&&(t=e)})),t)})):null}findAndSubscribeToAdhocFilters(e){var t;const r=function(e){var t;for(const r of Hr.values())if((null==(t=r.state.datasource)?void 0:t.uid)===e)return r}(e);r&&"same-datasource"===r.state.applyMode&&(this._adhocFilterSet=r,this._adhocFilterSub=null==(t=this._adhocFilterSet)?void 0:t.subscribeToState((()=>this.runQueries())))}}const en={Breadcrumbs:{breadcrumb:e=>`data-testid ${e} breadcrumb`},TimePicker:{openButton:"data-testid TimePicker Open Button",fromField:"Time Range from field",toField:"Time Range to field",applyTimeRange:"data-testid TimePicker submit button",calendar:{label:"Time Range calendar",openButton:"Open time range calendar",closeButton:"Close time range Calendar"},absoluteTimeRangeTitle:"data-testid-absolute-time-range-narrow"},DataSourcePermissions:{form:()=>'form[name="addPermission"]',roleType:"Role to add new permission to",rolePicker:"Built-in role picker",permissionLevel:"Permission Level"},DataSource:{TestData:{QueryTab:{scenarioSelectContainer:"Test Data Query scenario select container",scenarioSelect:"Test Data Query scenario select",max:"TestData max",min:"TestData min",noise:"TestData noise",seriesCount:"TestData series count",spread:"TestData spread",startValue:"TestData start value",drop:"TestData drop values"}},DataSourceHttpSettings:{urlInput:"Datasource HTTP settings url"},Jaeger:{traceIDInput:"Trace ID"},Prometheus:{configPage:{exemplarsAddButton:"Add exemplar config button",internalLinkSwitch:"Internal link switch"},exemplarMarker:"Exemplar marker"}},Menu:{MenuComponent:e=>`${e} menu`,MenuGroup:e=>`${e} menu group`,MenuItem:e=>`${e} menu item`,SubMenu:{container:"SubMenu container",icon:"SubMenu icon"}},Panels:{Panel:{title:e=>`data-testid Panel header ${e}`,headerItems:e=>`Panel header item ${e}`,menuItems:e=>`data-testid Panel menu item ${e}`,menu:e=>`data-testid Panel menu ${e}`,containerByTitle:e=>`${e} panel`,headerCornerInfo:e=>`Panel header ${e}`,loadingBar:()=>"Panel loading bar",HoverWidget:{container:"data-test-id hover-header-container",dragIcon:"data-testid drag-icon"}},Visualization:{Graph:{container:"Graph container",VisualizationTab:{legendSection:"Legend section"},Legend:{legendItemAlias:e=>`gpl alias ${e}`,showLegendSwitch:"gpl show legend"},xAxis:{labels:()=>"div.flot-x-axis > div.flot-tick-label"}},BarGauge:{value:"Bar gauge value",valueV2:"data-testid Bar gauge value"},PieChart:{svgSlice:"Pie Chart Slice"},Text:{container:()=>".markdown-html"},Table:{header:"table header",footer:"table-footer"}}},VizLegend:{seriesName:e=>`VizLegend series ${e}`},Drawer:{General:{title:e=>`Drawer title ${e}`,expand:"Drawer expand",contract:"Drawer contract",close:"Drawer close",rcContentWrapper:()=>".rc-drawer-content-wrapper"}},PanelEditor:{General:{content:"Panel editor content"},OptionsPane:{content:"Panel editor option pane content",select:"Panel editor option pane select",fieldLabel:e=>`${e} field property editor`},DataPane:{content:"Panel editor data pane content"},applyButton:"data-testid Apply changes and go back to dashboard",toggleVizPicker:"data-testid toggle-viz-picker",toggleVizOptions:"data-testid toggle-viz-options",toggleTableView:"toggle-table-view",measureButton:"show measure tools"},PanelInspector:{Data:{content:"Panel inspector Data content"},Stats:{content:"Panel inspector Stats content"},Json:{content:"Panel inspector Json content"},Query:{content:"Panel inspector Query content",refreshButton:"Panel inspector Query refresh button",jsonObjectKeys:()=>".json-formatter-key"}},Tab:{title:e=>`Tab ${e}`,active:()=>'[class*="-activeTabStyle"]'},RefreshPicker:{runButton:"RefreshPicker run button",intervalButton:"RefreshPicker interval button",runButtonV2:"data-testid RefreshPicker run button",intervalButtonV2:"data-testid RefreshPicker interval button"},QueryTab:{content:"Query editor tab content",queryInspectorButton:"Query inspector button",queryHistoryButton:"Rich history button",addQuery:"Query editor add query button"},QueryHistory:{queryText:"Query text"},QueryEditorRows:{rows:"Query editor row"},QueryEditorRow:{actionButton:e=>`${e}`,title:e=>`Query editor row title ${e}`,container:e=>`Query editor row ${e}`},AlertTab:{content:"Alert editor tab content"},Alert:{alert:e=>`Alert ${e}`,alertV2:e=>`data-testid Alert ${e}`},TransformTab:{content:"Transform editor tab content",newTransform:e=>`New transform ${e}`,transformationEditor:e=>`Transformation editor ${e}`,transformationEditorDebugger:e=>`Transformation editor debugger ${e}`},Transforms:{card:e=>`New transform ${e}`,Reduce:{modeLabel:"Transform mode label",calculationsLabel:"Transform calculations label"},SpatialOperations:{actionLabel:"root Action field property editor",locationLabel:"root Location field property editor",location:{autoOption:"Auto location option",coords:{option:"Coords location option",latitudeFieldLabel:"root Latitude field field property editor",longitudeFieldLabel:"root Longitude field field property editor"},geohash:{option:"Geohash location option",geohashFieldLabel:"root Geohash field field property editor"},lookup:{option:"Lookup location option",lookupFieldLabel:"root Lookup field field property editor",gazetteerFieldLabel:"root Gazetteer field property editor"}}},searchInput:"search transformations"},NavBar:{Configuration:{button:"Configuration"},Toggle:{button:"Toggle menu"},Reporting:{button:"Reporting"}},NavMenu:{item:"data-testid Nav menu item"},NavToolbar:{container:"data-testid Nav toolbar"},PageToolbar:{container:()=>".page-toolbar",item:e=>`${e}`,itemButton:e=>`data-testid ${e}`},QueryEditorToolbarItem:{button:e=>`QueryEditor toolbar item button ${e}`},BackButton:{backArrow:"Go Back"},OptionsGroup:{group:e=>e?`Options group ${e}`:"Options group",toggle:e=>e?`Options group ${e} toggle`:"Options group toggle"},PluginVisualization:{item:e=>`Plugin visualization item ${e}`,current:()=>'[class*="-currentVisualizationItem"]'},Select:{option:"Select option",input:()=>'input[id*="time-options-input"]',singleValue:()=>'div[class*="-singleValue"]'},FieldConfigEditor:{content:"Field config editor content"},OverridesConfigEditor:{content:"Field overrides editor content"},FolderPicker:{container:"Folder picker select container",containerV2:"data-testid Folder picker select container",input:"Select a folder"},ReadonlyFolderPicker:{container:"data-testid Readonly folder picker select container"},DataSourcePicker:{container:"data-testid Data source picker select container",input:()=>'input[id="data-source-picker"]',inputV2:"Select a data source"},TimeZonePicker:{container:"Time zone picker select container",containerV2:"data-testid Time zone picker select container"},WeekStartPicker:{container:"Choose starting day of the week",containerV2:"data-testid Choose starting day of the week",placeholder:"Choose starting day of the week"},TraceViewer:{spanBar:"data-testid SpanBar--wrapper"},QueryField:{container:"Query field"},QueryBuilder:{queryPatterns:"Query patterns",labelSelect:"Select label",valueSelect:"Select value",matchOperatorSelect:"Select match operator"},ValuePicker:{button:e=>`Value picker button ${e}`,select:e=>`Value picker select ${e}`},Search:{section:"Search section",sectionV2:"data-testid Search section",items:"Search items",itemsV2:"data-testid Search items",cards:"data-testid Search cards",collapseFolder:e=>`data-testid Collapse folder ${e}`,expandFolder:e=>`data-testid Expand folder ${e}`,dashboardItem:e=>`${en.Search.dashboardItems} ${e}`,dashboardCard:e=>`data-testid Search card ${e}`,folderHeader:e=>`data-testid Folder header ${e}`,folderContent:e=>`data-testid Folder content ${e}`,dashboardItems:"data-testid Dashboard search item"},DashboardLinks:{container:"data-testid Dashboard link container",dropDown:"data-testid Dashboard link dropdown",link:"data-testid Dashboard link"},LoadingIndicator:{icon:"Loading indicator"},CallToActionCard:{button:e=>`Call to action button ${e}`,buttonV2:e=>`data-testid Call to action button ${e}`},DataLinksContextMenu:{singleLink:"Data link"},CodeEditor:{container:"Code editor container"},DashboardImportPage:{textarea:"data-testid-import-dashboard-textarea",submit:"data-testid-load-dashboard"},ImportDashboardForm:{name:"data-testid-import-dashboard-title",submit:"data-testid-import-dashboard-submit"},PanelAlertTabContent:{content:"Unified alert editor tab content"},VisualizationPreview:{card:e=>`data-testid suggestion-${e}`},ColorSwatch:{name:"data-testid-colorswatch"},DashboardRow:{title:e=>`data-testid dashboard-row-title-${e}`},UserProfile:{profileSaveButton:"data-testid-user-profile-save",preferencesSaveButton:"data-testid-shared-prefs-save",orgsTable:"data-testid-user-orgs-table",sessionsTable:"data-testid-user-sessions-table"},FileUpload:{inputField:"data-testid-file-upload-input-field",fileNameSpan:"data-testid-file-upload-file-name"},DebugOverlay:{wrapper:"debug-overlay"},OrgRolePicker:{input:"Role"},AnalyticsToolbarButton:{button:"Dashboard insights"},Variables:{variableOption:"data-testid variable-option"},Annotations:{annotationsTypeInput:"annotations-type-input",annotationsChoosePanelInput:"choose-panels-input"}},tn={pages:{Login:{url:"/login",username:"Username input field",password:"Password input field",submit:"Login button",skip:"Skip change password button"},Home:{url:"/"},DataSource:{name:"Data source settings page name input field",delete:"Data source settings page Delete button",readOnly:"Data source settings page read only message",saveAndTest:"data-testid Data source settings page Save and Test button",alert:"Data source settings page Alert"},DataSources:{url:"/datasources",dataSources:e=>`Data source list item ${e}`},EditDataSource:{url:e=>`/datasources/edit/${e}`,settings:"Datasource settings page basic settings"},AddDataSource:{url:"/datasources/new",dataSourcePlugins:e=>`Data source plugin item ${e}`,dataSourcePluginsV2:e=>`Add new data source ${e}`},ConfirmModal:{delete:"data-testid Confirm Modal Danger Button"},AddDashboard:{url:"/dashboard/new",itemButton:e=>`data-testid ${e}`,addNewPanel:"Add new panel",addNewRow:"Add new row",addNewPanelLibrary:"Add new panel from panel library"},Dashboard:{url:e=>`/d/${e}`,DashNav:{nav:"Dashboard navigation",navV2:"data-testid Dashboard navigation",publicDashboardTag:"data-testid public dashboard tag"},SubMenu:{submenu:"Dashboard submenu",submenuItem:"data-testid template variable",submenuItemLabels:e=>`data-testid Dashboard template variables submenu Label ${e}`,submenuItemValueDropDownValueLinkTexts:e=>`data-testid Dashboard template variables Variable Value DropDown value link text ${e}`,submenuItemValueDropDownDropDown:"Variable options",submenuItemValueDropDownOptionTexts:e=>`data-testid Dashboard template variables Variable Value DropDown option text ${e}`,Annotations:{annotationsWrapper:"data-testid annotation-wrapper",annotationLabel:e=>`data-testid Dashboard annotations submenu Label ${e}`,annotationToggle:e=>`data-testid Dashboard annotations submenu Toggle ${e}`}},Settings:{Actions:{close:"data-testid dashboard-settings-close"},General:{deleteDashBoard:"Dashboard settings page delete dashboard button",sectionItems:e=>`Dashboard settings section item ${e}`,saveDashBoard:"Dashboard settings aside actions Save button",saveAsDashBoard:"Dashboard settings aside actions Save As button",timezone:"Time zone picker select container",title:"Tab General"},Annotations:{List:{addAnnotationCTA:en.CallToActionCard.button("Add annotation query"),addAnnotationCTAV2:en.CallToActionCard.buttonV2("Add annotation query")},Settings:{name:"Annotations settings name input"},NewAnnotation:{panelFilterSelect:"data-testid annotations-panel-filter",showInLabel:"show-in-label",previewInDashboard:"data-testid annotations-preview"}},Variables:{List:{addVariableCTA:en.CallToActionCard.button("Add variable"),addVariableCTAV2:en.CallToActionCard.buttonV2("Add variable"),newButton:"Variable editor New variable button",table:"Variable editor Table",tableRowNameFields:e=>`Variable editor Table Name field ${e}`,tableRowDefinitionFields:e=>`Variable editor Table Definition field ${e}`,tableRowArrowUpButtons:e=>`Variable editor Table ArrowUp button ${e}`,tableRowArrowDownButtons:e=>`Variable editor Table ArrowDown button ${e}`,tableRowDuplicateButtons:e=>`Variable editor Table Duplicate button ${e}`,tableRowRemoveButtons:e=>`Variable editor Table Remove button ${e}`},Edit:{General:{headerLink:"Variable editor Header link",modeLabelNew:"Variable editor Header mode New",modeLabelEdit:"Variable editor Header mode Edit",generalNameInput:"Variable editor Form Name field",generalNameInputV2:"data-testid Variable editor Form Name field",generalTypeSelect:"Variable editor Form Type select",generalTypeSelectV2:"data-testid Variable editor Form Type select",generalLabelInput:"Variable editor Form Label field",generalLabelInputV2:"data-testid Variable editor Form Label field",generalHideSelect:"Variable editor Form Hide select",generalHideSelectV2:"data-testid Variable editor Form Hide select",selectionOptionsMultiSwitch:"Variable editor Form Multi switch",selectionOptionsIncludeAllSwitch:"Variable editor Form IncludeAll switch",selectionOptionsCustomAllInput:"Variable editor Form IncludeAll field",selectionOptionsCustomAllInputV2:"data-testid Variable editor Form IncludeAll field",previewOfValuesOption:"Variable editor Preview of Values option",submitButton:"Variable editor Submit button",applyButton:"data-testid Variable editor Apply button"},QueryVariable:{queryOptionsDataSourceSelect:en.DataSourcePicker.container,queryOptionsRefreshSelect:"Variable editor Form Query Refresh select",queryOptionsRefreshSelectV2:"data-testid Variable editor Form Query Refresh select",queryOptionsRegExInput:"Variable editor Form Query RegEx field",queryOptionsRegExInputV2:"data-testid Variable editor Form Query RegEx field",queryOptionsSortSelect:"Variable editor Form Query Sort select",queryOptionsSortSelectV2:"data-testid Variable editor Form Query Sort select",queryOptionsQueryInput:"Variable editor Form Default Variable Query Editor textarea",valueGroupsTagsEnabledSwitch:"Variable editor Form Query UseTags switch",valueGroupsTagsTagsQueryInput:"Variable editor Form Query TagsQuery field",valueGroupsTagsTagsValuesQueryInput:"Variable editor Form Query TagsValuesQuery field"},ConstantVariable:{constantOptionsQueryInput:"Variable editor Form Constant Query field",constantOptionsQueryInputV2:"data-testid Variable editor Form Constant Query field"},DatasourceVariable:{datasourceSelect:"data-testid datasource variable datasource type"},TextBoxVariable:{textBoxOptionsQueryInput:"Variable editor Form TextBox Query field",textBoxOptionsQueryInputV2:"data-testid Variable editor Form TextBox Query field"},CustomVariable:{customValueInput:"data-testid custom-variable-input"},IntervalVariable:{intervalsValueInput:"data-testid interval variable intervals input"}}}},Annotations:{marker:"data-testid annotation-marker"}},Dashboards:{url:"/dashboards",dashboards:e=>`Dashboard search item ${e}`},SaveDashboardAsModal:{newName:"Save dashboard title field",save:"Save dashboard button"},SaveDashboardModal:{save:"Dashboard settings Save Dashboard Modal Save button",saveVariables:"Dashboard settings Save Dashboard Modal Save variables checkbox",saveTimerange:"Dashboard settings Save Dashboard Modal Save timerange checkbox"},SharePanelModal:{linkToRenderedImage:"Link to rendered image"},ShareDashboardModal:{shareButton:"Share dashboard or panel",PublicDashboard:{Tab:"Tab Public dashboard",WillBePublicCheckbox:"data-testid public dashboard will be public checkbox",LimitedDSCheckbox:"data-testid public dashboard limited datasources checkbox",CostIncreaseCheckbox:"data-testid public dashboard cost may increase checkbox",PauseSwitch:"data-testid public dashboard pause switch",EnableAnnotationsSwitch:"data-testid public dashboard on off switch for annotations",CreateButton:"data-testid public dashboard create button",DeleteButton:"data-testid public dashboard delete button",CopyUrlInput:"data-testid public dashboard copy url input",CopyUrlButton:"data-testid public dashboard copy url button",TemplateVariablesWarningAlert:"data-testid public dashboard disabled template variables alert",UnsupportedDataSourcesWarningAlert:"data-testid public dashboard unsupported data sources alert",NoUpsertPermissionsWarningAlert:"data-testid public dashboard no upsert permissions alert",EnableTimeRangeSwitch:"data-testid public dashboard on off switch for time range",EmailSharingConfiguration:{Container:"data-testid email sharing config container",ShareType:"data-testid public dashboard share type",EmailSharingInput:"data-testid public dashboard email sharing input",EmailSharingInviteButton:"data-testid public dashboard email sharing invite button",EmailSharingList:"data-testid public dashboard email sharing list",DeleteEmail:"data-testid public dashboard delete email button",ReshareLink:"data-testid public dashboard reshare link button"}}},PublicDashboard:{page:"public-dashboard-page",NotAvailable:{container:"public-dashboard-not-available",title:"public-dashboard-title",pausedDescription:"public-dashboard-paused-description"}},RequestViewAccess:{form:"request-view-access-form",recipientInput:"request-view-access-recipient-input",submitButton:"request-view-access-submit-button"},Explore:{url:"/explore",General:{container:"data-testid Explore",graph:"Explore Graph",table:"Explore Table",scrollView:"data-testid explorer scroll view"}},SoloPanel:{url:e=>`/d-solo/${e}`},PluginsList:{page:"Plugins list page",list:"Plugins list",listItem:"Plugins list item",signatureErrorNotice:"Unsigned plugins notice"},PluginPage:{page:"Plugin page",signatureInfo:"Plugin signature info",disabledInfo:"Plugin disabled info"},PlaylistForm:{name:"Playlist name",interval:"Playlist interval",itemDelete:"Delete playlist item"},BrowseDashbards:{table:{row:e=>`data-testid ${e} row`,checkbox:e=>`data-testid ${e} checkbox`}},Search:{url:"/?search=openn",FolderView:{url:"/?search=open&layout=folders"}},PublicDashboards:{ListItem:{linkButton:"public-dashboard-link-button",configButton:"public-dashboard-configuration-button",trashcanButton:"public-dashboard-remove-button"}},UserListPage:{tabs:{allUsers:"data-testid all-users-tab",orgUsers:"data-testid org-users-tab",publicDashboardsUsers:"data-testid public-dashboards-users-tab",users:"data-testid users-tab"},org:{url:"/org/users"},admin:{url:"/admin/users"},publicDashboards:{container:"data-testid public-dashboards-users-list"},UserListAdminPage:{container:"data-testid user-list-admin-page"},UsersListPage:{container:"data-testid users-list-page"},UsersListPublicDashboardsPage:{container:"data-testid users-list-public-dashboards-page",DashboardsListModal:{listItem:e=>`data-testid dashboards-list-item-${e}`}}}},components:en};function rn(e){return r().createElement(ar.Tooltip,{content:"Cancel query"},r().createElement(ar.Icon,{className:"spin-clockwise",name:"sync",size:"xs","aria-label":tn.components.LoadingIndicator.icon,role:"button",onMouseDown:t=>{e.onCancel(t)}}))}function nn(e){const t=(0,ar.useStyles2)(an),n=(0,ar.useTheme2)(),a="vertical"===e.layout,o=Boolean(e.isLoading)?r().createElement("div",{style:{marginLeft:n.spacing(1),marginTop:"-1px"}},r().createElement(rn,{onCancel:t=>{var r;t.preventDefault(),t.stopPropagation(),null==(r=e.onCancel)||r.call(e)}})):null;let i=null;e.error&&(i=r().createElement(ar.Tooltip,{content:e.error,placement:"bottom"},r().createElement(ar.Icon,{className:t.errorIcon,name:"exclamation-triangle"})));const s="string"==typeof e.label?tn.pages.Dashboard.SubMenu.submenuItemLabels(e.label):"";let l;return l=a?r().createElement("label",{className:t.verticalLabel,"data-testid":s,htmlFor:e.htmlFor},e.label,i,e.icon&&r().createElement(ar.Icon,{name:e.icon,className:t.normalIcon}),o,e.onRemove&&r().createElement(ar.IconButton,{variant:"secondary",size:"xs",name:"times",onClick:e.onRemove,tooltip:"Remove"})):r().createElement("label",{className:t.horizontalLabel,"data-testid":s,htmlFor:e.htmlFor},i,e.icon&&r().createElement(ar.Icon,{name:e.icon,className:t.normalIcon}),e.label,o),e.description?r().createElement(ar.Tooltip,{content:e.description,placement:a?"top":"bottom"},l):l}const an=e=>({horizontalLabel:(0,or.css)({background:e.isDark?e.colors.background.primary:e.colors.background.secondary,display:"flex",alignItems:"center",padding:e.spacing(0,1),fontWeight:e.typography.fontWeightMedium,fontSize:e.typography.bodySmall.fontSize,height:e.spacing(e.components.height.md),lineHeight:e.spacing(e.components.height.md),borderRadius:e.shape.borderRadius(1),border:`1px solid ${e.components.input.borderColor}`,position:"relative",right:-1,whiteSpace:"nowrap",gap:e.spacing(.5)}),verticalLabel:(0,or.css)({display:"flex",alignItems:"center",fontWeight:e.typography.fontWeightMedium,fontSize:e.typography.bodySmall.fontSize,lineHeight:e.typography.bodySmall.lineHeight,whiteSpace:"nowrap",marginBottom:e.spacing(.5),gap:e.spacing(1)}),errorIcon:(0,or.css)({color:e.colors.error.text}),normalIcon:(0,or.css)({color:e.colors.text.secondary})});var on=Object.defineProperty,sn=Object.defineProperties,ln=Object.getOwnPropertyDescriptors,un=Object.getOwnPropertySymbols,cn=Object.prototype.hasOwnProperty,dn=Object.prototype.propertyIsEnumerable,pn=(e,t,r)=>t in e?on(e,t,{enumerable:!0,configurable:!0,writable:!0,value:r}):e[t]=r,hn=(e,t)=>{for(var r in t||(t={}))cn.call(t,r)&&pn(e,r,t[r]);if(un)for(var r of un(t))dn.call(t,r)&&pn(e,r,t[r]);return e},fn=(e,t)=>sn(e,ln(t));function mn({layer:e,isEnabled:t,onToggleLayer:n}){var a,o;const i=`data-layer-${e.state.key}`,{data:s}=e.useState(),l=Boolean(s&&s.state===ae.Loading);return r().createElement("div",{className:gn},r().createElement(nn,{htmlFor:i,isLoading:l,onCancel:()=>{var t;return null==(t=e.cancelQuery)?void 0:t.call(e)},label:e.state.name,description:e.state.description,error:null==(o=null==(a=e.state.data)?void 0:a.errors)?void 0:o[0].message}),r().createElement(ar.InlineSwitch,{id:i,value:t,onChange:n}))}(class extends Q{constructor(){super({layersMap:{}}),this.addActivationHandler((()=>this._onActivate()))}_onActivate(){const e=mt.getDataLayers(this,!0);this.setState({layersMap:e.reduce(((e,t)=>fn(hn({},e),{[t.state.key]:t.state.isEnabled})),{})})}toggleLayer(e){this.setState({layersMap:fn(hn({},this.state.layersMap),{[e.state.key]:!e.state.isEnabled})}),e.setState({isEnabled:!e.state.isEnabled})}}).Component=function({model:e}){const{layersMap:t}=e.useState(),n=mt.getDataLayers(e,!0);return 0===n.length?null:r().createElement(r().Fragment,null,n.map((n=>{const a=`data-layer-${n.state.key}`;return n.state.isHidden?null:r().createElement(mn,{key:a,layer:n,onToggleLayer:()=>e.toggleLayer(n),isEnabled:t[n.state.key]})})))};const gn=(0,or.css)({display:"flex"});Object.defineProperty,Object.defineProperties,Object.getOwnPropertyDescriptors,Object.getOwnPropertySymbols,Object.prototype.hasOwnProperty,Object.prototype.propertyIsEnumerable;class yn extends Q{}function bn({variable:t,layout:n}){return t.useState().hide===e.VariableHide.hideVariable?null:"vertical"===n?r().createElement("div",{className:Sn},r().createElement(vn,{variable:t,layout:n}),r().createElement(t.Component,{model:t})):r().createElement("div",{className:wn},r().createElement(vn,{variable:t}),r().createElement(t.Component,{model:t}))}function vn({variable:t,layout:n}){var a,o;const{state:i}=t;if(t.state.hide===e.VariableHide.hideLabel)return null;const s=`var-${i.key}`,l=null!=(a=i.label)?a:i.name;return r().createElement(nn,{htmlFor:s,isLoading:i.loading,onCancel:()=>{var e;return null==(e=t.onCancel)?void 0:e.call(t)},label:l,error:i.error,layout:n,description:null!=(o=i.description)?o:void 0})}yn.Component=function({model:e}){const t=mt.getVariables(e).useState();return r().createElement(r().Fragment,null,t.variables.map((t=>r().createElement(bn,{key:t.state.key,variable:t,layout:e.state.layout}))))};const wn=(0,or.css)({display:"flex"}),Sn=(0,or.css)({display:"flex",flexDirection:"column"});class _n extends Q{constructor(e){super(e),this._variablesThatHaveChanged=new Set,this._variablesToUpdate=new Set,this._updating=new Map,this._variableValueRecorder=new Dt,this._variableDependency=new xn(this._handleParentVariableUpdatesCompleted.bind(this)),this._onActivate=()=>{const e=mt.getTimeRange(this);this._subs.add(this.subscribeToEvent(De,(e=>this._handleVariableValueChanged(e.payload)))),this._subs.add(e.subscribeToState((()=>{this._refreshTimeRangeBasedVariables()}))),this._subs.add(this.subscribeToState(this._onStateChanged)),this._checkForVariablesThatChangedWhileInactive();for(const e of this.state.variables)this._variableNeedsUpdate(e)&&this._variablesToUpdate.add(e);return this._updateNextBatch(),this._onDeactivate},this._onDeactivate=()=>{var e;for(const t of this._updating.values())null==(e=t.subscription)||e.unsubscribe();for(const e of this.state.variables)this._variablesToUpdate.has(e)||this._updating.has(e)||this._variableValueRecorder.recordCurrentValue(e);this._variablesToUpdate.clear(),this._updating.clear()},this._onStateChanged=(e,t)=>{const r=this._variablesToUpdate.size;for(const r of t.variables)if(!e.variables.includes(r)){const e=this._updating.get(r);(null==e?void 0:e.subscription)&&e.subscription.unsubscribe(),this._updating.delete(r),this._variablesToUpdate.delete(r)}for(const r of e.variables)t.variables.includes(r)||this._variableNeedsUpdate(r)&&this._variablesToUpdate.add(r);0===r&&this._variablesToUpdate.size>0&&this._updateNextBatch()},this.addActivationHandler(this._onActivate)}getByName(e){return this.state.variables.find((t=>t.state.name===e))}_refreshTimeRangeBasedVariables(){for(const t of this.state.variables)"refresh"in t.state&&t.state.refresh===e.VariableRefresh.onTimeRangeChanged&&this._variablesToUpdate.add(t);this._updateNextBatch()}_checkForVariablesThatChangedWhileInactive(){if(this._variableValueRecorder.hasValues())for(const e of this.state.variables)this._variableValueRecorder.hasValueChanged(e)&&(On(e,"Changed while in-active"),this._addDependentVariablesToUpdateQueue(e))}_variableNeedsUpdate(e){return!(!e.validateAndUpdate||this._variableValueRecorder.hasRecordedValue(e)&&(On(e,"Skipping updateAndValidate current value valid"),1))}_updateNextBatch(){if(0!==this._variablesToUpdate.size)for(const e of this._variablesToUpdate){if(!e.validateAndUpdate)throw new Error("Variable added to variablesToUpdate but does not have validateAndUpdate");if(this._updating.has(e))continue;if(mt.hasVariableDependencyInLoadingState(e))continue;const t={variable:e};this._updating.set(e,t),On(e,"updateAndValidate started"),t.subscription=e.validateAndUpdate().subscribe({next:()=>this._validateAndUpdateCompleted(e),error:t=>this._handleVariableError(e,t)})}else this._notifyDependentSceneObjects()}_validateAndUpdateCompleted(e){var t;const r=this._updating.get(e);null==(t=null==r?void 0:r.subscription)||t.unsubscribe(),this._updating.delete(e),this._variablesToUpdate.delete(e),On(e,"updateAndValidate completed"),this._updateNextBatch()}cancel(e){var t;const r=this._updating.get(e);null==(t=null==r?void 0:r.subscription)||t.unsubscribe(),this._updating.delete(e),this._variablesToUpdate.delete(e)}_handleVariableError(e,t){var r;const n=this._updating.get(e);null==(r=null==n?void 0:n.subscription)||r.unsubscribe(),this._updating.delete(e),this._variablesToUpdate.delete(e),e.setState({loading:!1,error:t.message}),console.error("SceneVariableSet updateAndValidate error",t),On(e,"updateAndValidate error",t)}_handleVariableValueChanged(e){this._variablesThatHaveChanged.add(e),this._addDependentVariablesToUpdateQueue(e),this._updating.has(e)||this._updateNextBatch()}_handleParentVariableUpdatesCompleted(e){for(const t of e)this._addDependentVariablesToUpdateQueue(t);this._variablesToUpdate.size>0&&0===this._updating.size&&this._updateNextBatch()}_addDependentVariablesToUpdateQueue(e){for(const t of this.state.variables)t.variableDependency&&t.variableDependency.hasDependencyOn(e.state.name)&&(On(t,"Added to update queue, dependant variable value changed"),this._variablesToUpdate.add(t))}_notifyDependentSceneObjects(){this.parent&&(this._traverseSceneAndNotify(this.parent),this._variablesThatHaveChanged.clear())}_traverseSceneAndNotify(e){this!==e&&e.isActive&&(e.variableDependency&&e.variableDependency.variableUpdatesCompleted(this._variablesThatHaveChanged),e.forEachChild((e=>this._traverseSceneAndNotify(e))))}isVariableLoadingOrWaitingToUpdate(e){return!(!e.isAncestorLoading||!e.isAncestorLoading())||!(!this._variablesToUpdate.has(e)&&!this._updating.has(e))||mt.hasVariableDependencyInLoadingState(e)}}function On(e,t,r){nr("SceneVariableSet",`Variable[${e.state.name}]: ${t}`,r)}class xn{constructor(e){this._variableUpdatesCompleted=e,this._emptySet=new Set}getNames(){return this._emptySet}hasDependencyOn(e){return!1}variableUpdatesCompleted(e){this._variableUpdatesCompleted(e)}}function Cn({model:e}){const{value:t,key:n}=e.useState(),a=e.onSearchChange?(t,r)=>{"input-change"===r.action&&e.onSearchChange(t)}:void 0;return r().createElement(ar.Select,{id:n,placeholder:"Select value",width:"auto",value:t,allowCustomValue:!0,tabSelectsValue:!1,onInputChange:a,options:e.getOptionsForSelect(),onChange:t=>{e.changeValueTo(t.value,t.label)}})}function Pn({model:e}){const{value:n,key:a,maxVisibleValues:o}=e.useState(),i=(0,t.useMemo)((()=>(0,Re.isArray)(n)?n:[n]),[n]),[s,l]=(0,t.useState)(i);(0,t.useEffect)((()=>{l(i)}),[i]);const u=e.onSearchChange?(t,r)=>{"input-change"===r.action&&e.onSearchChange(t)}:void 0;return r().createElement(ar.MultiSelect,{id:a,placeholder:"Select value",width:"auto",value:s,noMultiValueWrap:!0,maxVisibleValues:null!=o?o:5,tabSelectsValue:!1,allowCustomValue:!0,options:e.getOptionsForSelect(),closeMenuOnSelect:!1,isClearable:!0,onInputChange:u,onBlur:()=>{e.changeValueTo(s)},onChange:e=>{l(e.map((e=>e.value)))}})}function Dn(e){return e.state.isMulti?r().createElement(Pn,{model:e}):r().createElement(Cn,{model:e})}Object.defineProperty,Object.defineProperties,Object.getOwnPropertyDescriptors,Object.getOwnPropertySymbols,Object.prototype.hasOwnProperty,Object.prototype.propertyIsEnumerable;class En extends Q{constructor(){super(...arguments),this._urlSync=new Rn(this)}validateAndUpdate(){return this.getValueOptions({}).pipe((0,S.map)((e=>(this.updateValueGivenNewOptions(e),{}))))}onCancel(){this.setStateHelper({loading:!1});const e=this.parent;null==e||e.cancel(this)}updateValueGivenNewOptions(e){const{value:t,text:r}=this.state,n={options:e,loading:!1,value:t,text:r};if(0===e.length)(this.state.defaultToAll||this.state.includeAll)&&(n.value=Ue,n.text=Be);else if(this.hasAllValue());else if(this.state.isMulti){const a=(Array.isArray(t)?t:[t]).filter((t=>e.find((e=>e.value===t)))),o=a.map((t=>e.find((e=>e.value===t)).label));if(0===a.length){const t=this.getDefaultMultiState(e);n.value=t.value,n.text=t.text}else(0,Re.isEqual)(a,t)&&(0,Re.isEqual)(o,r)||(n.value=a,n.text=o)}else{let a=function(e,t,r){let n;for(const a of r){if(a.value===e)return a;a.label===t&&(n=a)}return n}(t,r,e);a?(n.text=a.label,n.value=a.value):this.state.defaultToAll?(n.value=Ue,n.text=Be):(n.value=e[0].value,n.text=e[0].label)}this.setStateHelper(n),(n.value!==t||n.text!==r||this.hasAllValue())&&this.publishEvent(new De(this),!0)}getValue(){return this.hasAllValue()?this.state.allValue?new jn(this.state.allValue,this):this.state.options.map((e=>e.value)):this.state.value}getValueText(){return this.hasAllValue()?Be:Array.isArray(this.state.text)?this.state.text.join(" + "):String(this.state.text)}hasAllValue(){const e=this.state.value;return e===Ue||Array.isArray(e)&&e[0]===Ue}getDefaultMultiState(e){return this.state.defaultToAll?{value:[Ue],text:[Be]}:{value:[e[0].value],text:[e[0].label]}}changeValueTo(e,t){if(e!==this.state.value||t!==this.state.text){if(t||(t=Array.isArray(e)?e.map((e=>this.findLabelTextForValue(e))):this.findLabelTextForValue(e)),Array.isArray(e)){if(0===e.length){const r=this.getDefaultMultiState(this.state.options);e=r.value,t=r.text}e[e.length-1]===Ue?(e=[Ue],t=[Be]):e[0]===Ue&&e.length>1&&(e.shift(),Array.isArray(t)&&t.shift())}this.setStateHelper({value:e,text:t,loading:!1}),this.publishEvent(new De(this),!0)}}findLabelTextForValue(e){const t=this.state.options.find((t=>t.value===e));if(t)return t.label;const r=this.state.options.find((t=>t.label===e));return r?r.label:e}setStateHelper(e){var t;t=e,this.setState(t)}getOptionsForSelect(){let e=this.state.options;return this.state.includeAll&&(e=[{value:Ue,label:Be},...e]),Array.isArray(this.state.value)||e.find((e=>e.value===this.state.value))||(e=[{value:this.state.value,label:String(this.state.text)},...e]),e}}class Rn{constructor(e){this._sceneObject=e}getKey(){return`var-${this._sceneObject.state.name}`}getKeys(){return this._sceneObject.state.skipUrlSync?[]:[this.getKey()]}getUrlState(){if(this._sceneObject.state.skipUrlSync)return{};let e=null,t=this._sceneObject.state.value;return e=Array.isArray(t)?t.map(String):this._sceneObject.state.isMulti?[String(t)]:String(t),{[this.getKey()]:e}}updateFromUrl(e){const t=e[this.getKey()];null!=t&&this._sceneObject.changeValueTo(t)}}class jn{constructor(e,t){this._value=e,this._variable=t}formatter(e){return e===Pe.Text?Be:e===Pe.PercentEncode?Ie.get(Pe.PercentEncode).formatter(this._value,[],this._variable):e===Pe.QueryParam?Ie.get(Pe.QueryParam).formatter(Be,[],this._variable):this._value}}var Tn=Object.defineProperty,kn=Object.getOwnPropertySymbols,An=Object.prototype.hasOwnProperty,In=Object.prototype.propertyIsEnumerable,Fn=(e,t,r)=>t in e?Tn(e,t,{enumerable:!0,configurable:!0,writable:!0,value:r}):e[t]=r;(class extends En{constructor(e){super(((e,t)=>{for(var r in t||(t={}))An.call(t,r)&&Fn(e,r,t[r]);if(kn)for(var r of kn(t))In.call(t,r)&&Fn(e,r,t[r]);return e})({type:"custom",query:"",value:"",text:"",options:[],name:""},e)),this._variableDependency=new gt(this,{statePaths:["query"]})}getValueOptions(e){var t;const r=(null!=(t=mt.interpolate(this,this.state.query).match(/(?:\\,|[^,])+/g))?t:[]).map((e=>{var t;e=e.replace(/\\,/g,",");const r=null!=(t=/^(.+)\s:\s(.+)$/g.exec(e))?t:[];if(3===r.length){const[,e,t]=r;return{label:e.trim(),value:t.trim()}}return{label:e.trim(),value:e.trim()}}));return(0,S.of)(r)}}).Component=({model:e})=>Dn(e);var Vn=Object.defineProperty,Ln=Object.getOwnPropertySymbols,Mn=Object.prototype.hasOwnProperty,zn=Object.prototype.propertyIsEnumerable,Nn=(e,t,r)=>t in e?Vn(e,t,{enumerable:!0,configurable:!0,writable:!0,value:r}):e[t]=r;function Hn(e,t){return!t||t.exec(e.name)}function Bn(e,t){return!!e.isDefault&&(!t||t.exec("default"))}(class extends En{constructor(e){super(((e,t)=>{for(var r in t||(t={}))Mn.call(t,r)&&Nn(e,r,t[r]);if(Ln)for(var r of Ln(t))zn.call(t,r)&&Nn(e,r,t[r]);return e})({type:"datasource",value:"",text:"",options:[],name:"",regex:"",pluginId:""},e)),this._variableDependency=new gt(this,{statePaths:["regex"]})}getValueOptions(t){if(!this.state.pluginId)return(0,S.of)([]);const r=(0,u.getDataSourceSrv)().getList({metrics:!0,variables:!1,pluginId:this.state.pluginId});let n;if(this.state.regex){const t=mt.interpolate(this,this.state.regex,void 0,"regex");n=(0,e.stringToJsRegex)(t)}const a=[];for(let e=0;eDn(e);const Un=e=>Boolean(e.metricFindQuery)&&!Boolean(e.variables),$n=t=>{if(!t.variables)return!1;if(t.variables.getType()!==e.VariableSupportType.Standard)return!1;const r=t.variables;return"toDataQuery"in r&&Boolean(r.toDataQuery)},Wn=t=>{if(!t.variables)return!1;if(t.variables.getType()!==e.VariableSupportType.Custom)return!1;const r=t.variables;return"query"in r&&"editor"in r&&Boolean(r.query)&&Boolean(r.editor)};var qn=Object.defineProperty,Gn=Object.defineProperties,Qn=Object.getOwnPropertyDescriptors,Yn=Object.getOwnPropertySymbols,Kn=Object.prototype.hasOwnProperty,Xn=Object.prototype.propertyIsEnumerable,Zn=(e,t,r)=>t in e?qn(e,t,{enumerable:!0,configurable:!0,writable:!0,value:r}):e[t]=r,Jn=(e,t)=>{for(var r in t||(t={}))Kn.call(t,r)&&Zn(e,r,t[r]);if(Yn)for(var r of Yn(t))Xn.call(t,r)&&Zn(e,r,t[r]);return e},ea=(e,t)=>Gn(e,Qn(t));class ta{constructor(e,t=(0,u.getRunRequest)()){this.datasource=e,this._runRequest=t}getTarget(e){if($n(this.datasource))return this.datasource.variables.toDataQuery(function(e){const t=e.state.query;return t&&"object"==typeof t?null==t.refId?ea(Jn({},t),{refId:`variable-${e.state.name}`}):e.state.query:{query:t,refId:`variable-${e.state.name}`}}(e));throw new Error("Couldn't create a target with supplied arguments.")}runRequest(e,t){return $n(this.datasource)?this.datasource.variables.query?this._runRequest(this.datasource,t,this.datasource.variables.query.bind(this.datasource.variables)):this._runRequest(this.datasource,t):aa()}}class ra{constructor(e){this.datasource=e}getTarget(e){if(Un(this.datasource))return e.state.query;throw new Error("Couldn't create a target with supplied arguments.")}runRequest({variable:t,searchFilter:r},n){return Un(this.datasource)?(0,S.from)(this.datasource.metricFindQuery(t.state.query,ea(Jn({},n),{variable:{name:t.state.name,type:t.state.type},searchFilter:r}))).pipe((0,S.mergeMap)((t=>{if(!t||!t.length)return aa();const r=t;return(0,S.of)({series:r,state:e.LoadingState.Done,timeRange:n.range})}))):aa()}}class na{constructor(e,t=(0,u.getRunRequest)()){this.datasource=e,this._runRequest=t}getTarget(e){if(Wn(this.datasource))return e.state.query;throw new Error("Couldn't create a target with supplied arguments.")}runRequest(e,t){return Wn(this.datasource)?this.datasource.variables.query?this._runRequest(this.datasource,t,this.datasource.variables.query.bind(this.datasource.variables)):this._runRequest(this.datasource,t):aa()}}function aa(){return(0,S.of)({state:e.LoadingState.Done,series:[],timeRange:(0,e.getDefaultTimeRange)()})}const oa=(e,t)=>{const r=[];let n=null;t.lastIndex=0;do{n=t.exec(e),n&&r.push(n)}while(t.global&&n&&""!==n[0]&&void 0!==n[0]);return r};var ia=Object.defineProperty,sa=Object.getOwnPropertySymbols,la=Object.prototype.hasOwnProperty,ua=Object.prototype.propertyIsEnumerable,ca=(e,t,r)=>t in e?ia(e,t,{enumerable:!0,configurable:!0,writable:!0,value:r}):e[t]=r;class da extends En{constructor(t){super(((e,t)=>{for(var r in t||(t={}))la.call(t,r)&&ca(e,r,t[r]);if(sa)for(var r of sa(t))ua.call(t,r)&&ca(e,r,t[r]);return e})({type:"query",name:"",value:"",text:"",options:[],datasource:null,regex:"",query:{refId:"A"},refresh:e.VariableRefresh.onDashboardLoad,sort:e.VariableSort.disabled},t)),this._variableDependency=new gt(this,{statePaths:["regex","query","datasource"]}),this.onSearchChange=e=>{dt(this.state.query).indexOf("__searchFilter")&&this._updateOptionsBasedOnSearchFilter(e)},this._updateOptionsBasedOnSearchFilter=(0,Re.debounce)((async e=>{const t=await(0,S.lastValueFrom)(this.getValueOptions({searchFilter:e}));this.setState({options:t,loading:!1})}),400)}getValueOptions(t){return this.state.query?(this.setState({loading:!0,error:null}),(0,S.from)(Pt(this.state.datasource,{__sceneObject:{text:"__sceneObject",value:this}})).pipe((0,S.mergeMap)((r=>{const n=function(e){if($n(e))return new ta(e,(0,u.getRunRequest)());if(Un(e))return new ra(e);if(Wn(e))return new na(e);throw new Error(`Couldn't create a query runner for datasource ${e.type}`)}(r),a=n.getTarget(this),o=this.getRequest(a,t.searchFilter);return n.runRequest({variable:this,searchFilter:t.searchFilter},o).pipe((0,S.filter)((t=>t.state===e.LoadingState.Done||t.state===e.LoadingState.Error)),(0,S.take)(1),(0,S.mergeMap)((t=>t.state===e.LoadingState.Error?(0,S.throwError)((()=>t.error)):(0,S.of)(t))),(t=>t.pipe((0,S.map)((t=>{const r=t.series;if(!r||!r.length)return[];if(function(t){if(!t)return!1;if(!t.length)return!0;const r=t[0];if((0,e.isDataFrame)(r))return!1;for(const e in r){if(!r.hasOwnProperty(e))continue;if(null!==r[e]&&"string"!=typeof r[e]&&"number"!=typeof r[e])continue;const t=e.toLowerCase();if("text"===t||"value"===t)return!0}return!1}(r))return r;if(0===r[0].fields.length)return[];const n=(0,e.getProcessedDataFrames)(r),a=[];let o=-1,i=-1,s=-1,l=-1;for(const t of n)for(let n=0;n{let r="";return this.state.regex&&(r=mt.interpolate(this,this.state.regex,void 0,"regex")),(0,S.of)(((t,r,n)=>{var a,o,i,s,l,u;let c,d=[];t&&(c=(0,e.stringToJsRegex)(t));for(let e=0;ee.groups&&e.groups.value)),n=e.find((e=>e.groups&&e.groups.text)),h=e.find((e=>e.length>1)),f=e.length>1&&h;if(t||n)p=null!=(i=null==(a=null==t?void 0:t.groups)?void 0:a.value)?i:null==(o=null==n?void 0:n.groups)?void 0:o.text,r=null!=(u=null==(s=null==n?void 0:n.groups)?void 0:s.text)?u:null==(l=null==t?void 0:t.groups)?void 0:l.value;else{if(f){for(let t=0;t{if(r===e.VariableSort.disabled)return t;const n=e=>{if(!e.text)return-1;const t=e.text.match(/.*?(\d+).*/);return!t||t.length<2?-1:parseInt(t[1],10)},a=e=>e.sort(((e,t)=>e.text?t.text?e.text.localeCompare(t.text,void 0,{numeric:!0}):1:-1));switch(r){case e.VariableSort.alphabeticalAsc:t=(0,Re.sortBy)(t,"text");break;case e.VariableSort.alphabeticalDesc:t=(0,Re.sortBy)(t,"text").reverse();break;case e.VariableSort.numericalAsc:t=(0,Re.sortBy)(t,n);break;case e.VariableSort.numericalDesc:t=(t=(0,Re.sortBy)(t,n)).reverse();break;case e.VariableSort.alphabeticalCaseInsensitiveAsc:t=(0,Re.sortBy)(t,(e=>(0,Re.toLower)(e.text)));break;case e.VariableSort.alphabeticalCaseInsensitiveDesc:t=(t=(0,Re.sortBy)(t,(e=>(0,Re.toLower)(e.text)))).reverse();break;case e.VariableSort.naturalAsc||7:t=a(t);break;case e.VariableSort.naturalDesc||8:t=(t=a(t)).reverse()}return t})(d,r)})(r,this.state.sort,t))})),(0,S.catchError)((e=>e.cancelled?(0,S.of)([]):(0,S.throwError)((()=>e)))))})))):(0,S.of)([])}getRequest(t,r){const n={__sceneObject:{text:"__sceneObject",value:this}};r&&(n.__searchFilter={value:r,text:r});const a=mt.getTimeRange(this).state.value;return{app:e.CoreApp.Dashboard,requestId:D(),timezone:"",range:a,interval:"",intervalMs:0,targets:[t],scopedVars:n,startTime:Date.now()}}}function pa(e,t){const r=["A","B","C","D","E","F","G","H"],n=[];if(t>5)return[];for(const a of r){const r=`${e}${a}`;n.push({name:r,children:pa(r,t+1)})}return n}function ha(e,t,r){if(r>=t.length)return e;if("*"===t[r])return e;const n=t[r];let a=[],o=[n];n.startsWith("{")&&(o=n.replace(/\{|\}/g,"").split(","));for(const n of e)for(const e of o)if(-1!==e.indexOf("*")){const o=e.replace("*","");new RegExp(`^${o}.*`,"gi").test(n.name)&&(a=a.concat(ha([n],t,r+1)))}else n.name===e&&(a=a.concat(ha(n.children,t,r+1)));return a}function fa(e){return 0===e.indexOf("value")?[{name:e,children:[]}]:ha(pa("",0),e.split("."),0)}da.Component=({model:e})=>Dn(e);var ma=Object.defineProperty,ga=Object.getOwnPropertySymbols,ya=Object.prototype.hasOwnProperty,ba=Object.prototype.propertyIsEnumerable,va=(e,t,r)=>t in e?ma(e,t,{enumerable:!0,configurable:!0,writable:!0,value:r}):e[t]=r;function wa({model:e}){const{value:n,key:a,loading:o}=e.useState(),i=(0,t.useCallback)((t=>{e.setValue(t.currentTarget.value)}),[e]),s=(0,t.useCallback)((t=>{"Enter"===t.key&&e.setValue(t.currentTarget.value)}),[e]);return r().createElement(ar.AutoSizeInput,{id:a,placeholder:"Enter value",minWidth:15,defaultValue:n,loading:o,onBlur:i,onKeyDown:s})}(class extends En{constructor(t){super(((e,t)=>{for(var r in t||(t={}))ya.call(t,r)&&va(e,r,t[r]);if(ga)for(var r of ga(t))ba.call(t,r)&&va(e,r,t[r]);return e})({type:"custom",name:"Test",value:"Value",text:"Text",query:"Query",options:[],refresh:e.VariableRefresh.onDashboardLoad},t)),this.completeUpdate=new S.Subject,this.isGettingValues=!0,this.getValueOptionsCount=0,this._variableDependency=new gt(this,{statePaths:["query"]})}getValueOptions(e){const{delayMs:t}=this.state;return this.getValueOptionsCount+=1,new S.Observable((e=>{if(this.setState({loading:!0}),this.state.throwError)throw new Error(this.state.throwError);const r=this.completeUpdate.subscribe({next:()=>{e.next(this.issueQuery()),e.complete()}});let n;return t?n=window.setTimeout((()=>this.signalUpdateCompleted()),t):0===t&&this.signalUpdateCompleted(),this.isGettingValues=!0,()=>{r.unsubscribe(),window.clearTimeout(n),this.setState({loading:!1}),this.isGettingValues=!1}}))}cancel(){const e=te(this,(e=>e instanceof _n?e:void 0));null==e||e.cancel(this)}issueQuery(){const e=mt.interpolate(this,this.state.query),t=this.getOptions(e);return this.setState({issuedQuery:e,options:t}),t}getOptions(e){return this.state.optionsToReturn?this.state.optionsToReturn:fa(e).map((e=>({label:e.name,value:e.name})))}signalUpdateCompleted(){this.completeUpdate.next(1)}}).Component=({model:e})=>Dn(e);var Sa=Object.defineProperty,_a=Object.getOwnPropertySymbols,Oa=Object.prototype.hasOwnProperty,xa=Object.prototype.propertyIsEnumerable,Ca=(e,t,r)=>t in e?Sa(e,t,{enumerable:!0,configurable:!0,writable:!0,value:r}):e[t]=r;(class extends Q{constructor(e){super(((e,t)=>{for(var r in t||(t={}))Oa.call(t,r)&&Ca(e,r,t[r]);if(_a)for(var r of _a(t))xa.call(t,r)&&Ca(e,r,t[r]);return e})({type:"textbox",value:"",name:""},e)),this._urlSync=new pe(this,{keys:[this.getKey()]})}getValue(){return this.state.value}setValue(e){e!==this.state.value&&(this.setState({value:e}),this.publishEvent(new De(this),!0))}getKey(){return`var-${this.state.name}`}getUrlState(){return{[this.getKey()]:this.state.value}}updateFromUrl(e){const t={},r=e[this.getKey()];"string"==typeof r&&(t.value=r),this.setState(t)}}).Component=({model:e})=>r().createElement(wa,{model:e}),Object.defineProperty,Object.defineProperties,Object.getOwnPropertyDescriptors,Object.getOwnPropertySymbols,Object.prototype.hasOwnProperty,Object.prototype.propertyIsEnumerable;var Pa=Object.defineProperty,Da=Object.getOwnPropertySymbols,Ea=Object.prototype.hasOwnProperty,Ra=Object.prototype.propertyIsEnumerable,ja=(e,t,r)=>t in e?Pa(e,t,{enumerable:!0,configurable:!0,writable:!0,value:r}):e[t]=r;(class extends Q{constructor(e){super(((e,t)=>{for(var r in t||(t={}))Ea.call(t,r)&&ja(e,r,t[r]);if(Da)for(var r of Da(t))Ra.call(t,r)&&ja(e,r,t[r]);return e})({type:"interval",value:"",intervals:["1m","10m","30m","1h","6h","12h","1d","7d","14d","30d"],name:"",autoStepCount:30,autoMinInterval:"10s",autoEnabled:!1,refresh:ne.onTimeRangeChanged},e)),this._onChange=e=>{this.setState({value:e.value}),this.publishEvent(new De(this),!0)},this._urlSync=new pe(this,{keys:[this.getKey()]})}getKey(){return`var-${this.state.name}`}getUrlState(){return{[this.getKey()]:this.state.value}}updateFromUrl(e){const t={},r=e[this.getKey()];"string"==typeof r&&(r.startsWith("$__auto_interval_")?t.value=$e:t.value=r),this.setState(t)}getOptionsForSelect(){const{value:e,intervals:t,autoEnabled:r}=this.state;let n=t.map((e=>({value:e,label:e})));return r&&(n=[{value:$e,label:"Auto"},...n]),e&&!n.some((t=>t.value===e))&&n.push({value:e,label:e}),n}getValue(){const{value:e,autoStepCount:t,autoMinInterval:r}=this.state;return e===$e?this.getAutoRefreshInteval(t,r):e}getAutoRefreshInteval(t,r){const n=mt.getTimeRange(this).state.value;return e.rangeUtil.calculateInterval(n,t,r).interval}validateAndUpdate(){const{value:e,intervals:t}=this.state;let r=!1;if(e===$e)r=!0;else if(!e&&t.length>0){const e=t[0];this.setState({value:e}),r=!0}return r&&this.publishEvent(new De(this),!0),(0,S.of)({})}}).Component=({model:e})=>{const{key:t,value:n}=e.useState();return r().createElement(ar.Select,{id:t,placeholder:"Select value",width:"auto",value:n,tabSelectsValue:!1,options:e.getOptionsForSelect(),onChange:e._onChange})};class Ta{constructor(e){this._variable=e}getKey(){return`var-${this._variable.state.name}`}getKeys(){return[this.getKey()]}getUrlState(){const e=this._variable.state.filters.map((e=>function(e){return[e.key,e.operator,e.value]}(e).map(ka).join("|")));return{[this.getKey()]:e}}updateFromUrl(e){const t=e[this.getKey()];if(null==t)return;const r=function(e){if(Array.isArray(e))return e.map(Ia).filter(Fa);const t=Ia(e);return null===t?[]:[t]}(t);this._variable.setState({filters:r})}}function ka(e){return null==e?"":/\|/g[Symbol.replace](e,"__gfp__")}function Aa(e){return null==e?"":/__gfp__/g[Symbol.replace](e,"|")}function Ia(e){if("string"!=typeof e||0===e.length)return null;const t=e.split("|").map(Aa);return{key:t[0],operator:t[1],value:t[2],condition:""}}function Fa(e){return null!==e&&"string"==typeof e.key&&"string"==typeof e.value}var Va=Object.defineProperty,La=Object.defineProperties,Ma=Object.getOwnPropertyDescriptors,za=Object.getOwnPropertySymbols,Na=Object.prototype.hasOwnProperty,Ha=Object.prototype.propertyIsEnumerable,Ba=(e,t,r)=>t in e?Va(e,t,{enumerable:!0,configurable:!0,writable:!0,value:r}):e[t]=r,Ua=(e,t)=>{for(var r in t||(t={}))Na.call(t,r)&&Ba(e,r,t[r]);if(za)for(var r of za(t))Ha.call(t,r)&&Ba(e,r,t[r]);return e},$a=(e,t)=>La(e,Ma(t));function Wa({filter:n,model:a}){var o,i;const s=(0,ar.useStyles2)(qa),[l,u]=(0,t.useState)({}),c=""!==n.key?(0,e.toOption)(n.key):null,d=""!==n.value?(0,e.toOption)(n.value):null,p=r().createElement(ar.Select,{disabled:a.state.readOnly,className:l.isKeysOpen?s.widthWhenOpen:void 0,width:"auto",value:d,placeholder:"value",options:l.values,onChange:e=>a._updateFilter(n,"value",e.value),isOpen:l.isValuesOpen,isLoading:l.isValuesLoading,onOpenMenu:async()=>{u($a(Ua({},l),{isValuesLoading:!0}));const e=await a._getValuesFor(n);u($a(Ua({},l),{isValuesLoading:!1,isValuesOpen:!0,values:e}))},onCloseMenu:()=>{u($a(Ua({},l),{isValuesOpen:!1}))}}),h=r().createElement(ar.Select,{disabled:a.state.readOnly,className:l.isKeysOpen?s.widthWhenOpen:void 0,width:"auto",value:c,placeholder:"Select label",options:l.keys,onChange:e=>a._updateFilter(n,"key",e.value),autoFocus:""===n.key,isOpen:l.isKeysOpen,isLoading:l.isKeysLoading,onOpenMenu:async()=>{u($a(Ua({},l),{isKeysLoading:!0}));const e=await a._getKeys(n.key);u($a(Ua({},l),{isKeysLoading:!1,isKeysOpen:!0,keys:e}))},onCloseMenu:()=>{u($a(Ua({},l),{isKeysOpen:!1}))},openMenuOnFocus:!0});if("vertical"===a.state.layout){if(n.key){const e=r().createElement(nn,{layout:"vertical",label:null!=(o=n.key)?o:"",onRemove:()=>a._removeFilter(n)});return r().createElement(ar.Field,{label:e,"data-testid":`AdHocFilter-${n.key}`,className:s.field},p)}return r().createElement(ar.Field,{label:"Select label","data-testid":`AdHocFilter-${n.key}`,className:s.field},h)}return r().createElement("div",{className:s.wrapper,"data-testid":`AdHocFilter-${n.key}`},h,r().createElement(ar.Select,{value:n.operator,disabled:a.state.readOnly,options:a._getOperators(),width:"auto",onChange:e=>a._updateFilter(n,"operator",e.value)}),p,r().createElement(ar.Button,{variant:"secondary","aria-label":"Remove filter",title:"Remove filter",className:s.removeButton,icon:"times","data-testid":`AdHocFilter-remove-${null!=(i=n.key)?i:""}`,onClick:()=>a._removeFilter(n)}))}const qa=e=>({field:(0,or.css)({marginBottom:0}),wrapper:(0,or.css)({display:"flex","> *":{"&:not(:first-child)":{marginLeft:-1},"&:first-child":{borderTopRightRadius:0,borderBottomRightRadius:0},"&:last-child":{borderTopLeftRadius:0,borderBottomLeftRadius:0},"&:not(:first-child):not(:last-child)":{borderRadius:0},position:"relative",zIndex:0,"&:hover":{zIndex:1},"&:focus-within":{zIndex:2}}}),widthWhenOpen:(0,or.css)({minWidth:e.spacing(16)}),removeButton:(0,or.css)({paddingLeft:e.spacing(1.5),paddingRight:e.spacing(1.5),borderLeft:"none",position:"relative",left:"1px"})});function Ga({model:e}){const{_wip:t}=e.useState();return t?r().createElement(Wa,{filter:t,model:e}):r().createElement(ar.Button,{variant:"secondary",icon:"plus",title:"Add filter","aria-label":"Add filter","data-testid":"AdHocFilter-add",onClick:()=>e._addWip()})}var Qa=Object.defineProperty,Ya=Object.defineProperties,Ka=Object.getOwnPropertyDescriptors,Xa=Object.getOwnPropertySymbols,Za=Object.prototype.hasOwnProperty,Ja=Object.prototype.propertyIsEnumerable,eo=(e,t,r)=>t in e?Qa(e,t,{enumerable:!0,configurable:!0,writable:!0,value:r}):e[t]=r,to=(e,t)=>{for(var r in t||(t={}))Za.call(t,r)&&eo(e,r,t[r]);if(Xa)for(var r of Xa(t))Ja.call(t,r)&&eo(e,r,t[r]);return e},ro=(e,t)=>Ya(e,Ka(t));class no extends Q{constructor(e){super(to({name:"Filters",filters:[],baseFilters:[],datasource:null,applyMode:"same-datasource",layout:"horizontal"},e)),this._urlSync=new Ta(this),this._scopedVars={__sceneObject:{value:this}},this._dataSourceSrv=(0,u.getDataSourceSrv)(),"same-datasource"===this.state.applyMode&&function(e){if(e.addActivationHandler((()=>(Hr.add(e),()=>Hr.delete(e)))),Nr)return;const t=(0,u.getTemplateSrv)();(null==t?void 0:t.getAdhocFilters)?(Nr=t.getAdhocFilters,t.getAdhocFilters=function(e){var r;if(0===Hr.size)return Nr.call(t);const n=(0,u.getDataSourceSrv)().getInstanceSettings(e);if(!n)return[];for(const e of Hr.values())if((null==(r=e.state.datasource)?void 0:r.uid)===n.uid)return e.state.filters;return[]}.bind(t)):console.log("Failed to patch getAdhocFilters")}(this)}_updateFilter(e,t,r){if(null==r)return;const{filters:n,_wip:a}=this.state;if(e===a)return void("value"===t?this.setState({filters:[...n,ro(to({},a),{[t]:r})],_wip:void 0}):this.setState({_wip:ro(to({},e),{[t]:r})}));const o=this.state.filters.map((n=>n===e?ro(to({},n),{[t]:r}):n));this.setState({filters:o})}_removeFilter(e){e!==this.state._wip?this.setState({filters:this.state.filters.filter((t=>t!==e))}):this.setState({_wip:void 0})}async _getKeys(e){var t,r;const n=await(null==(r=(t=this.state).getTagKeysProvider)?void 0:r.call(t,this,e));if(n&&n.replace)return n.values.map(oo);const a=await this._dataSourceSrv.get(this.state.datasource,this._scopedVars);if(!a||!a.getTagKeys)return[];const o=this.state.filters.filter((t=>t.key!==e)).concat(this.state.baseFilters);let i=await a.getTagKeys({filters:o});n&&(i=i.concat(n.values));const s=this.state.tagKeyRegexFilter;return s&&(i=i.filter((e=>e.text.match(s)))),i.map(oo)}async _getValuesFor(e){var t,r;const n=await(null==(r=(t=this.state).getTagValuesProvider)?void 0:r.call(t,this,e));if(n&&n.replace)return n.values.map(oo);const a=await this._dataSourceSrv.get(this.state.datasource,this._scopedVars);if(!a||!a.getTagValues)return[];const o=this.state.filters.filter((t=>t.key!==e.key)).concat(this.state.baseFilters),i=mt.getTimeRange(this).state.value;let s=await a.getTagValues({key:e.key,filters:o,timeRange:i});return n&&(s=s.concat(n.values)),s.map(oo)}_addWip(){this.setState({_wip:{key:"",value:"",operator:"=",condition:""}})}_getOperators(){return["=","!=","<",">","=~","!~"].map((e=>({label:e,value:e})))}}no.Component=function({model:e}){const{filters:t,readOnly:n,layout:a,name:o}=e.useState(),i=(0,ar.useStyles2)(ao);return r().createElement("div",{className:i.wrapper},"vertical"!==a&&r().createElement(nn,{label:null!=o?o:"Filters",icon:"filter"}),t.map(((t,n)=>r().createElement(r().Fragment,{key:n},r().createElement(Wa,{filter:t,model:e})))),!n&&r().createElement(Ga,{model:e,key:"'builder"}))};const ao=e=>({wrapper:(0,or.css)({display:"flex",gap:e.spacing(2),alignItems:"flex-end"}),filterIcon:(0,or.css)({color:e.colors.text.secondary,paddingRight:e.spacing(.5)})});function oo({text:e,value:t}){return{label:e,value:String(null!=t?t:e)}}var io=Object.defineProperty,so=Object.defineProperties,lo=Object.getOwnPropertyDescriptors,uo=Object.getOwnPropertySymbols,co=Object.prototype.hasOwnProperty,po=Object.prototype.propertyIsEnumerable,ho=(e,t,r)=>t in e?io(e,t,{enumerable:!0,configurable:!0,writable:!0,value:r}):e[t]=r,fo=(e=>(e[e.dontHide=0]="dontHide",e[e.hideLabel=1]="hideLabel",e[e.hideVariable=2]="hideVariable",e))(fo||{});so(((e,t)=>{for(var r in t||(t={}))co.call(t,r)&&ho(e,r,t[r]);if(uo)for(var r of uo(t))po.call(t,r)&&ho(e,r,t[r]);return e})({},{id:"00000000-0000-0000-0000-000000000000",multi:!1,options:[],skipUrlSync:!1}),lo({description:null,hide:0,datasource:null}));var mo=Object.defineProperty,go=Object.defineProperties,yo=Object.getOwnPropertyDescriptors,bo=Object.getOwnPropertySymbols,vo=Object.prototype.hasOwnProperty,wo=Object.prototype.propertyIsEnumerable,So=(e,t,r)=>t in e?mo(e,t,{enumerable:!0,configurable:!0,writable:!0,value:r}):e[t]=r,_o=(e,t)=>{for(var r in t||(t={}))vo.call(t,r)&&So(e,r,t[r]);if(bo)for(var r of bo(t))wo.call(t,r)&&So(e,r,t[r]);return e},Oo=(e,t)=>go(e,yo(t));const xo=class extends Q{static create(e){var t;return new xo({type:"adhoc",hide:fo.hideLabel,name:null!=(t=e.name)?t:"Filters",set:new no(Oo(_o({},e),{applyMode:"manual"}))})}constructor(e){var t;super(Oo(_o({},e),{filterExpression:null!=(t=e.filterExpression)?t:pt(e.set.state.filters)})),this.addActivationHandler((()=>{this._subs.add(this.state.set.subscribeToState(((e,t)=>{e.filters!==t.filters&&this._updateFilterExpression(e.filters,!0)}))),this._updateFilterExpression(this.state.set.state.filters,!1)}))}getValue(){return this.state.filterExpression}_updateFilterExpression(e,t){let r=pt(e);r!==this.state.filterExpression&&(this.setState({filterExpression:r}),t&&this.publishEvent(new De(this),!0))}};let Co;xo.Component=({model:e})=>r().createElement(no.Component,{model:e.state.set});class Po{constructor(){this.urlKeyMapper=new Do,this._stateSub=null,this._locationSub=null,this._onLocationUpdate=e=>{if(this._lastPath!==e.pathname)return;const t=new URLSearchParams(e.search);this.urlKeyMapper.rebuildIndex(this._sceneRoot),this._syncSceneStateFromUrl(this._sceneRoot,t),this._lastPath=e.pathname},this._onStateChanged=({payload:e})=>{const t=e.changedObject;if(t.urlSync){const e=t.urlSync.getUrlState(),r=u.locationService.getSearch(),n={};this.urlKeyMapper.rebuildIndex(this._sceneRoot);for(const[a,o]of Object.entries(e)){const e=this.urlKeyMapper.getUniqueKey(a,t);Eo(r.getAll(e),o)||(n[e]=o)}Object.keys(n).length>0&&u.locationService.partial(n,!0)}}}initSync(e){this._locationSub||(nr("UrlSyncManager","New location listen"),this._locationSub=u.locationService.getHistory().listen(this._onLocationUpdate)),this._stateSub&&(nr("UrlSyncManager","Unregister previous scene state subscription",this._sceneRoot.state.key),this._stateSub.unsubscribe()),this._sceneRoot=e,this._lastPath=u.locationService.getLocation().pathname,this._stateSub=e.subscribeToEvent(L,this._onStateChanged),this.syncFrom(this._sceneRoot)}cleanUp(e){this._sceneRoot===e&&(nr("UrlSyncManager","Clean up"),this._locationSub&&(this._locationSub(),nr("UrlSyncManager","Unregister history listen"),this._locationSub=null),this._stateSub&&(this._stateSub.unsubscribe(),this._stateSub=null,nr("UrlSyncManager","Root deactived, unsub to state","same key",this._sceneRoot.state.key===e.state.key)))}syncFrom(e){const t=u.locationService.getSearch();this.urlKeyMapper.rebuildIndex(this._sceneRoot),this._syncSceneStateFromUrl(e,t)}_syncSceneStateFromUrl(e,t){if(e.urlSync){const r={},n=e.urlSync.getUrlState();for(const a of e.urlSync.getKeys()){const o=this.urlKeyMapper.getUniqueKey(a,e),i=t.getAll(o),s=n[a];Eo(i,s)||(i.length>0?Array.isArray(s)?r[a]=i:r[a]=i[0]:r[a]=null)}Object.keys(r).length>0&&e.urlSync.updateFromUrl(r)}e.forEachChild((e=>this._syncSceneStateFromUrl(e,t)))}getUrlState(e){const t=new Do;t.rebuildIndex(e);const r={},n=e=>{if(e.urlSync){const n=e.urlSync.getUrlState();for(const[a,o]of Object.entries(n))if(null!=o){const n=t.getUniqueKey(a,e);r[n]=o}}e.forEachChild(n)};return n(e),r}}class Do{constructor(){this.index=new Map}getUniqueKey(e,t){const r=this.index.get(e);if(!r)throw new Error("Cannot find any scene object that uses the key '"+e+"'");const n=r.findIndex((e=>e.sceneObject===t));return n>0?`${e}-${n+1}`:e}rebuildIndex(e){this.index.clear(),this.buildIndex(e,0)}buildIndex(e,t){if(e.urlSync)for(const r of e.urlSync.getKeys()){const n=this.index.get(r);n?(n.push({sceneObject:e,depth:t}),n.sort(((e,t)=>e.depth-t.depth))):this.index.set(r,[{sceneObject:e,depth:t}])}e.forEachChild((e=>this.buildIndex(e,t+1)))}}function Eo(e,t){return 0===e.length&&null==t||(Array.isArray(t)||1!==(null==e?void 0:e.length)?0===(null==t?void 0:t.length)&&null===e||(0,Re.isEqual)(e,t):t===e[0])}function Ro(){return Co||(Co=new Po),Co}class jo extends Q{constructor(e){super(e),this.addActivationHandler((()=>{const e=function(e){const t=window.__grafanaSceneContext;return nr("setWindowGrafanaScene","set window.__grafanaSceneContext",e),window.__grafanaSceneContext=e,()=>{window.__grafanaSceneContext===e&&(nr("setWindowGrafanaScene","restore window.__grafanaSceneContext",t),window.__grafanaSceneContext=t)}}(this);return()=>{e(),Ro().cleanUp(this)}}))}initUrlSync(){Ro().initSync(this)}}jo.Component=function({model:e}){const{body:t,controls:n}=e.useState(),a=(0,ar.useStyles2)(To);return r().createElement("div",{className:a.container},n&&r().createElement("div",{className:a.controls},n.map((e=>r().createElement(e.Component,{key:e.state.key,model:e})))),r().createElement("div",{className:a.body},r().createElement(t.Component,{model:t})))};const To=e=>({container:(0,or.css)({flexGrow:1,display:"flex",gap:e.spacing(2),minHeight:"100%",flexDirection:"column"}),body:(0,or.css)({flexGrow:1,display:"flex",gap:e.spacing(1)}),controls:(0,or.css)({display:"flex",gap:e.spacing(2),alignItems:"flex-end",flexWrap:"wrap"})});var ko=function(){},Ao="undefined"!=typeof window;const Io=Ao?t.useLayoutEffect:t.useEffect;var Fo={x:0,y:0,width:0,height:0,top:0,left:0,bottom:0,right:0};const Vo=Ao&&void 0!==window.ResizeObserver?function(){var e=(0,t.useState)(null),r=e[0],n=e[1],a=(0,t.useState)(Fo),o=a[0],i=a[1],s=(0,t.useMemo)((function(){return new window.ResizeObserver((function(e){if(e[0]){var t=e[0].contentRect,r=t.x,n=t.y,a=t.width,o=t.height,s=t.top,l=t.left,u=t.bottom,c=t.right;i({x:r,y:n,width:a,height:o,top:s,left:l,bottom:u,right:c})}}))}),[]);return Io((function(){if(r)return s.observe(r),function(){s.disconnect()}}),[r]),[n,o]}:function(){return[ko,Fo]};function Lo(e,t){if(t)return t;let r=e.error?e.error.message:void 0;return e.errors&&(r=e.errors.map((e=>e.message)).join(", ")),r}const Mo=(0,or.css)({position:"relative",width:"100%",height:"100%"}),zo=(0,or.css)({position:"absolute",width:"100%",height:"100%"}),No=e=>({ok:(0,or.css)({color:e.colors.success.text}),pending:(0,or.css)({color:e.colors.warning.text}),alerting:(0,or.css)({color:e.colors.error.text})});var Ho=Object.defineProperty,Bo=Object.defineProperties,Uo=Object.getOwnPropertyDescriptors,$o=Object.getOwnPropertySymbols,Wo=Object.prototype.hasOwnProperty,qo=Object.prototype.propertyIsEnumerable,Go=(e,t,r)=>t in e?Ho(e,t,{enumerable:!0,configurable:!0,writable:!0,value:r}):e[t]=r,Qo=(e,t)=>{for(var r in t||(t={}))Wo.call(t,r)&&Go(e,r,t[r]);if($o)for(var r of $o(t))qo.call(t,r)&&Go(e,r,t[r]);return e},Yo=(e,t)=>Bo(e,Uo(t));const Ko="hideSeriesFrom",Xo=(0,e.isSystemOverrideWithRef)(Ko);function Zo(t,r=e.ByNamesMatcherMode.exclude,n){return n=null!=n?n:{id:"custom.hideFrom",value:{viz:!0,legend:!1,tooltip:!1}},{__systemRef:Ko,matcher:{id:e.FieldMatcherID.byNames,options:{mode:r,names:t,prefix:r===e.ByNamesMatcherMode.exclude?"All except:":void 0,readOnly:!0}},properties:[Yo(Qo({},n),{value:{viz:!0,legend:!1,tooltip:!1}})]}}const Jo=e=>{var t;const r=null==(t=e.matcher.options)?void 0:t.names;return Array.isArray(r)?[...r]:[]},ei=(t,r)=>{const n=new Set;for(const a of t)for(const o of a.fields){if(o.type!==e.FieldType.number)continue;const i=(0,e.getFieldDisplayName)(o,a,t);i!==r&&n.add(i)}return Array.from(n)},ti=(t,r)=>{var n;let a=[];for(const o of t){const t=o.properties.find((e=>"custom.hideFrom"===e.id));if(void 0!==t&&!0===(null==(n=t.value)?void 0:n.legend)){const t=e.fieldMatchers.get(o.matcher.id).get(o.matcher.options);for(const n of r)for(const o of n.fields){if(o.type!==e.FieldType.number)continue;const i=(0,e.getFieldDisplayName)(o,n,r);t(o,n,r)&&a.push(i)}}}return a};var ri=Object.defineProperty,ni=Object.defineProperties,ai=Object.getOwnPropertyDescriptors,oi=Object.getOwnPropertySymbols,ii=Object.prototype.hasOwnProperty,si=Object.prototype.propertyIsEnumerable,li=(e,t,r)=>t in e?ri(e,t,{enumerable:!0,configurable:!0,writable:!0,value:r}):e[t]=r,ui=(e,t)=>{for(var r in t||(t={}))ii.call(t,r)&&li(e,r,t[r]);if(oi)for(var r of oi(t))si.call(t,r)&&li(e,r,t[r]);return e},ci=(e,t)=>ni(e,ai(t));const di=(t,r)=>({matcher:{id:e.FieldMatcherID.byName,options:t},properties:[pi(r)]}),pi=t=>({id:"color",value:{mode:e.FieldColorModeId.Fixed,fixedColor:t}});var hi=Object.defineProperty,fi=Object.defineProperties,mi=Object.getOwnPropertyDescriptors,gi=Object.getOwnPropertySymbols,yi=Object.prototype.hasOwnProperty,bi=Object.prototype.propertyIsEnumerable,vi=(e,t,r)=>t in e?hi(e,t,{enumerable:!0,configurable:!0,writable:!0,value:r}):e[t]=r,wi=(e,t)=>{for(var r in t||(t={}))yi.call(t,r)&&vi(e,r,t[r]);if(gi)for(var r of gi(t))bi.call(t,r)&&vi(e,r,t[r]);return e},Si=(e,t)=>fi(e,mi(t));class _i extends Q{constructor(t){super(wi({options:{},fieldConfig:{defaults:{},overrides:[]},title:"Title",pluginId:"timeseries"},t)),this._variableDependency=new gt(this,{statePaths:["title","options","fieldConfig"]}),this._structureRev=0,this.onTimeRangeChange=t=>{mt.getTimeRange(this).onTimeRangeChange({raw:{from:(0,e.toUtc)(t.from),to:(0,e.toUtc)(t.to)},from:(0,e.toUtc)(t.from),to:(0,e.toUtc)(t.to)})},this.onTitleChange=e=>{this.setState({title:e})},this.onDescriptionChange=e=>{this.setState({description:e})},this.onDisplayModeChange=e=>{this.setState({displayMode:e})},this.onOptionsChange=(t,r=!1)=>{const{fieldConfig:n,options:a}=this.state,o=r?t:(0,Re.mergeWith)((0,Re.cloneDeep)(a),t,((e,t)=>{if((0,Re.isArray)(t))return t})),i=(0,e.getPanelOptionsWithDefaults)({plugin:this._plugin,currentOptions:o,currentFieldConfig:n,isAfterPluginChange:!1});this.setState({options:i.options})},this.onFieldConfigChange=(t,r)=>{const{fieldConfig:n,options:a}=this.state,o=r?t:(0,Re.merge)((0,Re.cloneDeep)(n),t),i=(0,e.getPanelOptionsWithDefaults)({plugin:this._plugin,currentOptions:a,currentFieldConfig:o,isAfterPluginChange:!1});this.setState({fieldConfig:i.fieldConfig})},this.interpolate=(e,t,r)=>mt.interpolate(this,e,t,r),this.getDescription=()=>{this.publishEvent(new M({origin:this,interaction:"panel-description-shown"}),!0);const{description:t}=this.state;if(t){const r=this.interpolate(t);return(0,e.renderMarkdown)(r)}return""},this.onCancelQuery=()=>{var e;this.publishEvent(new M({origin:this,interaction:"panel-cancel-query-clicked"}),!0);const t=mt.getData(this);null==(e=t.cancelQuery)||e.call(t)},this.onStatusMessageClick=()=>{this.publishEvent(new M({origin:this,interaction:"panel-status-message-clicked"}),!0)},this._onSeriesColorChange=(t,r)=>{this.onFieldConfigChange(((t,r,n)=>{const{overrides:a}=n,o=n.overrides.findIndex((r=>r.matcher.id===e.FieldMatcherID.byName&&r.matcher.options===t));if(o<0)return ci(ui({},n),{overrides:[...n.overrides,di(t,r)]});const i=Array.from(a),s=i[o],l=s.properties.findIndex((e=>"color"===e.id));if(l<0)return i[o]=ci(ui({},s),{properties:[...s.properties,pi(r)]}),ci(ui({},n),{overrides:i});const u=Array.from(s.properties);return u[l]=pi(r),i[o]=ci(ui({},s),{properties:u}),ci(ui({},n),{overrides:i})})(t,r,this.state.fieldConfig))},this._onSeriesVisibilityChange=(t,r)=>{this._dataWithFieldConfig&&this.onFieldConfigChange(function(t,r,n,a){const{overrides:o}=n,i=t,s=o.findIndex(Xo);if(s<0){if(r===ar.SeriesVisibilityChangeMode.ToggleSelection){const e=Zo([i,...ti(o,a)]);return Yo(Qo({},n),{overrides:[...n.overrides,e]})}const e=Zo(ei(a,i));return Yo(Qo({},n),{overrides:[...n.overrides,e]})}const l=Array.from(o),[u]=l.splice(s,1);if(r===ar.SeriesVisibilityChangeMode.ToggleSelection){let e=Jo(u);const t=ti(l,a);if(t.length>0&&(e=e.filter((e=>t.indexOf(e)<0))),e[0]===i&&1===e.length)return Yo(Qo({},n),{overrides:l});const r=Zo([i,...t]);return Yo(Qo({},n),{overrides:[...l,r]})}const c=((t,r,n=e.ByNamesMatcherMode.exclude)=>{const a=t.properties.find((e=>"custom.hideFrom"===e.id)),o=Jo(t),i=o.findIndex((e=>e===r));return i<0?o.push(r):o.splice(i,1),Zo(o,n,a)})(u,i);return((e,t)=>Jo(e).length===ei(t).length)(c,a)?Yo(Qo({},n),{overrides:l}):Yo(Qo({},n),{overrides:[...l,c]})}(t,r,this.state.fieldConfig,this._dataWithFieldConfig.series),!0)},this._onInstanceStateChange=e=>{this.setState({_pluginInstanceState:e})},this._onToggleLegendSort=e=>{const t=this.state.options.legend;if(!t)return;let r=t.sortDesc,n=t.sortBy;e!==n&&(r=void 0),!1===r?(n=void 0,r=void 0):(r=!r,n=e),this.onOptionsChange(Si(wi({},this.state.options),{legend:Si(wi({},t),{sortBy:n,sortDesc:r})}))},this.addActivationHandler((()=>{this._onActivate()})),t.menu&&t.menu.addActivationHandler((()=>{this.publishEvent(new M({origin:this,interaction:"panel-menu-shown"}),!0)}))}_onActivate(){this._plugin||this._loadPlugin(this.state.pluginId)}_loadPlugin(t){const r=function(e){var t;const{getPanelPluginFromCache:r}=(0,u.getPluginImportUtils)();return null!=(t=r(e))?t:w.get(e)}(t);if(r)this._pluginLoaded(r);else{const{importPanelPlugin:r}=(0,u.getPluginImportUtils)();try{r(t).then((e=>this._pluginLoaded(e)))}catch(r){this._pluginLoaded(function(t,r){const n=new e.PanelPlugin((()=>null));return n.meta={id:t,name:t,sort:100,type:e.PluginType.panel,module:"",baseUrl:"",info:{author:{name:""},description:"",links:[],logos:{large:"",small:"public/img/grafana_icon.svg"},screenshots:[],updated:"",version:""}},n}(t)),this.setState({_pluginLoadError:r.message})}}}async _pluginLoaded(t){const{options:r,fieldConfig:n,title:a,pluginVersion:o,_UNSAFE_customMigrationHandler:i}=this.state,s={title:a,options:r,fieldConfig:n,id:1,type:t.meta.id,pluginVersion:o},l=this._getPluginVersion(t);i&&i(s,t),t.onPanelMigration&&l!==this.state.pluginVersion&&(s.options=await t.onPanelMigration(s));const u=(0,e.getPanelOptionsWithDefaults)({plugin:t,currentOptions:s.options,currentFieldConfig:s.fieldConfig,isAfterPluginChange:!1});if(this._plugin=t,this.setState({options:u.options,fieldConfig:u.fieldConfig,pluginVersion:l}),t.meta.skipDataQuery){const e=mt.getTimeRange(this);this._subs.add(e.subscribeToState((()=>this.forceRender())))}}_getPluginVersion(e){return e&&e.meta.info.version?e.meta.info.version:u.config.buildInfo.version}getPlugin(){return this._plugin}getPanelContext(){return this._panelContext||(this._panelContext=this.buildPanelContext()),this._panelContext}applyFieldConfig(t){var r,n;const a=this._plugin;if(!a||a.meta.skipDataQuery||!t)return de;const o=a.dataSupport||{alertStates:!1,annotations:!1},i=a.fieldConfigRegistry,s=null==(r=this._prevData)?void 0:r.series,l=null==t?void 0:t.series;return null==t.structureRev&&l&&s&&!(0,e.compareArrayValues)(l,s,e.compareDataFrameStructures)&&this._structureRev++,this._dataWithFieldConfig=Si(wi({},t),{structureRev:this._structureRev,series:(0,e.applyFieldOverrides)({data:l,fieldConfig:this.state.fieldConfig,fieldConfigRegistry:i,replaceVariables:this.interpolate,theme:u.config.theme2,timeZone:null==(n=t.request)?void 0:n.timezone})}),o.alertStates||(this._dataWithFieldConfig.alertState=void 0),o.annotations||(this._dataWithFieldConfig.annotations=void 0),this._dataWithFieldConfig}buildPanelContext(){const t=(this,mt.findObject(this,(e=>e instanceof xt)));const r={eventsScope:t?t.getEventsScope():"__global_",eventBus:t?t.getEventsBus(this):(0,u.getAppEvents)(),app:e.CoreApp.Unknown,sync:()=>t?t.state.sync:e.DashboardCursorSync.Off,onSeriesColorChange:this._onSeriesColorChange,onToggleSeriesVisibility:this._onSeriesVisibilityChange,onToggleLegendSort:this._onToggleLegendSort,onInstanceStateChange:this._onInstanceStateChange};return this.state.extendPanelContext&&this.state.extendPanelContext(this,r),r}}function Oi(e){return e instanceof _s}_i.Component=function({model:t}){var n,a,o;const{title:i,options:s,fieldConfig:l,_pluginLoadError:c,$data:d,displayMode:p,hoverHeader:h,menu:f,headerActions:m,titleItems:g,description:y}=t.useState(),[b,{width:v,height:w}]=Vo(),S=t.getPlugin(),{dragClass:_,dragClassCancel:O}=function(e){var t,r;const n=mt.getLayout(e),a=null==n?void 0:n.isDraggable();return n&&a&&!function(e,t){let r=e.parent;for(;r&&r!==t;){if("isDraggable"in r.state&&!1===r.state.isDraggable)return!0;r=r.parent}return!1}(e,n)?{dragClass:null==(t=n.getDragClass)?void 0:t.call(n),dragClassCancel:null==(r=null==n?void 0:n.getDragClassCancel)?void 0:r.call(n)}:{dragClass:"",dragClassCancel:""}}(t),x=mt.getData(t),C=x.useState(),P=t.applyFieldConfig(C.data),D=mt.getTimeRange(t),E=D.getTimeZone(),R=function(e,t,r){var n;return!t||t.meta.skipDataQuery?e.state.value:r&&(null==(n=r.request)?void 0:n.range)?r.request.range:e.state.value}(D,S,P),j=t.interpolate(i,void 0,"text"),T=(0,ar.useStyles2)(No);if(!S)return r().createElement("div",null,"Loading plugin panel...");if(!S.panel)return r().createElement("div",null,"Panel plugin has no panel component");const k=S.panel;d&&d.setContainerWidth&&d.setContainerWidth(Math.round(v));let A,I,F=[];g&&(Array.isArray(g)?F=F.concat(g.map((e=>r().createElement(e.Component,{model:e,key:`${e.state.key}`})))):Mr(g)?F.push(r().createElement(g.Component,{model:g})):F.push(g)),t.state.$timeRange&&F.push(r().createElement(t.state.$timeRange.Component,{model:t.state.$timeRange,key:t.state.key})),P.alertState&&F.push(r().createElement(ar.Tooltip,{content:null!=(n=P.alertState.state)?n:"unknown",key:`alert-states-icon-${t.state.key}`},r().createElement(ar.PanelChrome.TitleItem,{className:(0,or.cx)({[T.ok]:P.alertState.state===e.AlertState.OK,[T.pending]:P.alertState.state===e.AlertState.Pending,[T.alerting]:P.alertState.state===e.AlertState.Alerting})},r().createElement(ar.Icon,{name:"alerting"===P.alertState.state?"heart-break":"heart",className:"panel-alert-icon",size:"md"})))),f&&(A=r().createElement(f.Component,{model:f})),m&&(I=Array.isArray(m)?r().createElement(r().Fragment,null,m.map((e=>r().createElement(e.Component,{model:e,key:`${e.state.key}`})))):Mr(m)?r().createElement(m.Component,{model:m}):m);const V=P,L=!x.isDataReadyToDisplay||x.isDataReadyToDisplay(),M=t.getPanelContext(),z=null!=(o=null==(a=M.instanceState)?void 0:a.legacyPanelId)?o:1;return r().createElement("div",{className:Mo},r().createElement("div",{ref:b,className:zo,"data-viz-panel-key":t.state.key},v>0&&w>0&&r().createElement(ar.PanelChrome,{title:j,description:(null==y?void 0:y.trim())?t.getDescription:void 0,loadingState:V.state,statusMessage:Lo(V,c),statusMessageOnClick:t.onStatusMessageClick,width:v,height:w,displayMode:p,hoverHeader:h,titleItems:F,dragClass:_,actions:I,dragClassCancel:O,padding:S.noPadding?"none":"md",menu:A,onCancelQuery:t.onCancelQuery},((n,a)=>r().createElement(r().Fragment,null,r().createElement(ar.ErrorBoundaryAlert,{dependencies:[S,V]},r().createElement(e.PluginContextProvider,{meta:S.meta},r().createElement(ar.PanelContextProvider,{value:M},L&&r().createElement(k,{id:z,data:V,title:i,timeRange:R,timeZone:E,options:s,fieldConfig:l,transparent:!1,width:n,height:a,renderCounter:0,replaceVariables:t.interpolate,onOptionsChange:t.onOptionsChange,onFieldConfigChange:t.onFieldConfigChange,onChangeTimeRange:t.onTimeRangeChange,eventBus:(0,u.getAppEvents)()})))))))))},class extends Q{addItem(e){this.setState({items:this.state.items?[...this.state.items,e]:[e]})}setItems(e){this.setState({items:e})}}.Component=function({model:e}){const{items:n=[]}=e.useState(),a=r().useRef(null);(0,t.useEffect)((()=>{a.current&&a.current.focus()}),[]);const o=e=>e.map((e=>"divider"===e.type?r().createElement(ar.Menu.Divider,{key:e.text}):r().createElement(ar.Menu.Item,{key:e.text,label:e.text,icon:e.iconClassName,childItems:e.subMenu?o(e.subMenu):void 0,url:e.href,onClick:e.onClick,shortcut:e.shortcut})));return r().createElement(ar.Menu,{ref:a},o(n))},class extends Q{}.Component=function({model:e}){const{body:t}=e.useState(),n=e.parent;if(n&&!(n instanceof ds)&&!Oi(n))throw new Error("SceneGridItem must be a child of SceneGridLayout or SceneGridRow");return t?r().createElement(t.Component,{model:t}):null};var xi=d(788),Ci=d.n(xi),Pi=function(){function e(e,t){for(var r=0;r div, .contract-trigger:before { content: " "; display: block; position: absolute; top: 0; left: 0; height: 100%; width: 100%; overflow: hidden; z-index: -1; } .resize-triggers > div { background: #eee; overflow: auto; } .contract-trigger:before { width: 200%; height: 200%; }',o=r.head||r.getElementsByTagName("head")[0],i=r.createElement("style");i.id="detectElementResize",i.type="text/css",null!=e&&i.setAttribute("nonce",e),i.styleSheet?i.styleSheet.cssText=n:i.appendChild(r.createTextNode(n)),o.appendChild(i)}}(c),o.__resizeLast__={},o.__resizeListeners__=[],(o.__resizeTriggers__=c.createElement("div")).className="resize-triggers";var p=c.createElement("div");p.className="expand-trigger",p.appendChild(c.createElement("div"));var h=c.createElement("div");h.className="contract-trigger",o.__resizeTriggers__.appendChild(p),o.__resizeTriggers__.appendChild(h),o.appendChild(o.__resizeTriggers__),i(o),o.addEventListener("scroll",s,!0),n&&(o.__resizeTriggers__.__animationListener__=function(e){e.animationName===r&&i(o)},o.__resizeTriggers__.addEventListener(n,o.__resizeTriggers__.__animationListener__))}o.__resizeListeners__.push(u)}},removeResizeListener:function(e,t){if(l)e.detachEvent("onresize",t);else if(e.__resizeListeners__.splice(e.__resizeListeners__.indexOf(t),1),!e.__resizeListeners__.length){e.removeEventListener("scroll",s,!0),e.__resizeTriggers__.__animationListener__&&(e.__resizeTriggers__.removeEventListener(n,e.__resizeTriggers__.__animationListener__),e.__resizeTriggers__.__animationListener__=null);try{e.__resizeTriggers__=!e.removeChild(e.__resizeTriggers__)}catch(e){}}}}}(e),this._detectElementResize.addResizeListener(this._parentNode,this._onResize),this._onResize())}},{key:"componentWillUnmount",value:function(){this._detectElementResize&&this._parentNode&&this._detectElementResize.removeResizeListener(this._parentNode,this._onResize)}},{key:"render",value:function(){var e=this.props,r=e.children,n=e.className,a=e.disableHeight,o=e.disableWidth,i=e.style,s=this.state,l=s.height,u=s.width,c={overflow:"visible"},d={},p=!1;return a||(0===l&&(p=!0),c.height=0,d.height=l),o||(0===u&&(p=!0),c.width=0,d.width=u),(0,t.createElement)("div",{className:n,ref:this._setRef,style:Di({},c,i)},!p&&r(d))}}]),r}(t.PureComponent);Vi.defaultProps={onResize:function(){},disableHeight:!1,disableWidth:!1,style:{}};const Li=Vi;var Mi=Object.defineProperty,zi=Object.getOwnPropertySymbols,Ni=Object.prototype.hasOwnProperty,Hi=Object.prototype.propertyIsEnumerable,Bi=(e,t,r)=>t in e?Mi(e,t,{enumerable:!0,configurable:!0,writable:!0,value:r}):e[t]=r;function Ui(){const e=(0,t.useRef)(void 0);return null!=e.current||(e.current=(0,Re.uniqueId)()),e.current}const $i=r().forwardRef(((e,n)=>{var a=e,{children:o,onLoad:i,onChange:s}=a,l=((e,t)=>{var r={};for(var n in e)Ni.call(e,n)&&t.indexOf(n)<0&&(r[n]=e[n]);if(null!=e&&zi)for(var n of zi(e))t.indexOf(n)<0&&Hi.call(e,n)&&(r[n]=e[n]);return r})(a,["children","onLoad","onChange"]);const u=Ui(),[c,d]=(0,t.useState)(!1),[p,h]=(0,t.useState)(!1),f=(0,t.useRef)(null);return(0,t.useImperativeHandle)(n,(()=>f.current)),m=()=>{$i.addCallback(u,(e=>{!c&&e.isIntersecting&&(d(!0),null==i||i()),h(e.isIntersecting),null==s||s(e.isIntersecting)}));const e=f.current;return e&&$i.observer.observe(e),()=>{delete $i.callbacks[u],e&&$i.observer.unobserve(e),0===Object.keys($i.callbacks).length&&$i.observer.disconnect()}},(0,t.useEffect)(m,[]),r().createElement("div",((e,t)=>{for(var r in t||(t={}))Ni.call(t,r)&&Bi(e,r,t[r]);if(zi)for(var r of zi(t))Hi.call(t,r)&&Bi(e,r,t[r]);return e})({id:u,ref:f},l),c&&("function"==typeof o?o({isInView:p}):o));var m}));$i.displayName="LazyLoader",$i.callbacks={},$i.addCallback=(e,t)=>$i.callbacks[e]=t,$i.observer=new IntersectionObserver((e=>{for(const t of e)$i.callbacks[t.target.id](t)}),{rootMargin:"100px"});var Wi=Object.defineProperty,qi=Object.defineProperties,Gi=Object.getOwnPropertyDescriptors,Qi=Object.getOwnPropertySymbols,Yi=Object.prototype.hasOwnProperty,Ki=Object.prototype.propertyIsEnumerable,Xi=(e,t,r)=>t in e?Wi(e,t,{enumerable:!0,configurable:!0,writable:!0,value:r}):e[t]=r,Zi=(e,t)=>{for(var r in t||(t={}))Yi.call(t,r)&&Xi(e,r,t[r]);if(Qi)for(var r of Qi(t))Ki.call(t,r)&&Xi(e,r,t[r]);return e},Ji=(e,t)=>qi(e,Gi(t));const es=r().forwardRef(((e,n)=>{var a;const o=e,{grid:i,layoutItem:s,index:l,totalCount:u,isLazy:c,style:d,onLoad:p,onChange:h}=o,f=((e,t)=>{var r={};for(var n in e)Yi.call(e,n)&&t.indexOf(n)<0&&(r[n]=e[n]);if(null!=e&&Qi)for(var n of Qi(e))t.indexOf(n)<0&&Ki.call(e,n)&&(r[n]=e[n]);return r})(o,["grid","layoutItem","index","totalCount","isLazy","style","onLoad","onChange"]),m=i.getSceneLayoutChild(s.i),g=null==(a=m.getClassName)?void 0:a.call(m),y=(0,ar.useTheme2)(),b=(0,t.useRef)(0),[v,w]=(0,t.useReducer)((e=>e+1),0),S=(0,t.useCallback)((()=>(b.current+=1,w(),()=>{b.current-=1,w()})),[w]),_=(0,t.useMemo)((()=>({boostZIndex:S})),[S]),O=u-l,x=r().createElement(m.Component,{model:m,key:m.state.key}),C=ar.LayoutItemContext?r().createElement(ar.LayoutItemContext.Provider,{value:_},x):x,P=Ji(Zi({},d),{zIndex:0===b.current?O:y.zIndex.dropdown});return c?r().createElement($i,Ji(Zi({},f),{key:m.state.key,"data-griditem-key":m.state.key,className:(0,or.cx)(g,e.className),style:P,ref:n}),C):r().createElement("div",Ji(Zi({},f),{ref:n,key:m.state.key,"data-griditem-key":m.state.key,className:(0,or.cx)(g,e.className),style:P}),C)}));es.displayName="GridItemWrapper";var ts=Object.defineProperty,rs=Object.defineProperties,ns=Object.getOwnPropertyDescriptors,as=Object.getOwnPropertySymbols,os=Object.prototype.hasOwnProperty,is=Object.prototype.propertyIsEnumerable,ss=(e,t,r)=>t in e?ts(e,t,{enumerable:!0,configurable:!0,writable:!0,value:r}):e[t]=r,ls=(e,t)=>{for(var r in t||(t={}))os.call(t,r)&&ss(e,r,t[r]);if(as)for(var r of as(t))is.call(t,r)&&ss(e,r,t[r]);return e},us=(e,t)=>rs(e,ns(t));const cs=class extends Q{constructor(e){super(us(ls({},e),{children:hs(e.children)})),this._skipOnLayoutChange=!1,this.onLayoutChange=e=>{if(this._skipOnLayoutChange)this._skipOnLayoutChange=!1;else{for(const t of e){const e=this.getSceneLayoutChild(t.i),r={x:t.x,y:t.y,width:t.w,height:t.h};ps(e.state,r)||e.setState(ls({},r))}this.setState({children:hs(this.state.children)})}},this.onResizeStop=(e,t,r)=>{this.getSceneLayoutChild(r.i).setState({width:r.w,height:r.h})},this.onDragStop=(e,t,r)=>{const n=this.getSceneLayoutChild(r.i);e=fs(e);for(let t=0;te.i===r.i)),o=this.findGridItemSceneParent(e,a-1);let i=this.state.children;o!==n.parent&&(i=this.moveChildTo(n,o)),this.setState({children:hs(i)}),this._skipOnLayoutChange=!0}}isDraggable(){var e;return null!=(e=this.state.isDraggable)&&e}getDragClass(){return`grid-drag-handle-${this.state.key}`}getDragClassCancel(){return"grid-drag-cancel"}toggleRow(e){var t,r;if(!e.state.isCollapsed)return e.setState({isCollapsed:!0}),void this.setState({});const n=e.state.children;if(0===n.length)return e.setState({isCollapsed:!1}),void this.setState({});const a=e.state.y,o=(null!=(t=n[0].state.y)?t:a)-(a+1);let i=a;for(const e of n){const t=ls({},e.state);t.y=null!=(r=t.y)?r:a,t.y-=o,t.y!==e.state.y&&e.setState(t),i=Math.max(i,Number(t.y)+Number(t.height))}const s=i-a-1;for(const t of this.state.children)if(t.state.y>a&&this.pushChildDown(t,s),Oi(t)&&t!==e)for(const e of t.state.children)e.state.y>a&&this.pushChildDown(e,s);e.setState({isCollapsed:!1}),this.setState({})}getSceneLayoutChild(e){for(const t of this.state.children){if(t.state.key===e)return t;if(t instanceof _s)for(const r of t.state.children)if(r.state.key===e)return r}throw new Error("Scene layout child not found for GridItem")}pushChildDown(e,t){e.setState({y:e.state.y+t})}findGridItemSceneParent(e,t){for(let r=t;r>=0;r--){const t=e[r],n=this.getSceneLayoutChild(t.i);if(n instanceof _s)return n.state.isCollapsed?this:n}return this}moveChildTo(e,t){const r=e.parent;let n=this.state.children;const a=e.clone({key:e.state.key});if(r instanceof _s){const o=r.clone({children:r.state.children.filter((t=>t.state.key!==e.state.key))});if(n=n.map((e=>e===r?o:e)),t instanceof _s){const e=t.clone({children:[...t.state.children,a]});n=n.map((r=>r===t?e:r))}else n=[...n,a]}else if(!(t instanceof cs)){n=n.filter((t=>t.state.key!==e.state.key));const r=t.clone({children:[...t.state.children,a]});n=n.map((e=>e===t?r:e))}return n}toGridCell(e){var t,r;const n=e.state;let a=null!=(t=n.x)?t:0,o=null!=(r=n.y)?r:0;const i=Number.isInteger(Number(n.width))?Number(n.width):4,s=Number.isInteger(Number(n.height))?Number(n.height):4;let l=e.state.isDraggable,u=e.state.isResizable;return e instanceof _s&&(l=!!e.state.isCollapsed,u=!1),{i:e.state.key,x:a,y:o,h:s,w:i,isResizable:u,isDraggable:l}}buildGridLayout(e){let t=[];for(const e of this.state.children)if(t.push(this.toGridCell(e)),e instanceof _s&&!e.state.isCollapsed)for(const r of e.state.children)t.push(this.toGridCell(r));return t=fs(t),e<768?(this._skipOnLayoutChange=!0,t.map((e=>us(ls({},e),{w:24})))):(this._skipOnLayoutChange=!1,t)}};let ds=cs;function ps(e,t){return e.x===t.x&&e.y===t.y&&e.width===t.width&&e.height===t.height}function hs(e){return[...e].sort(((e,t)=>e.state.y-t.state.y||e.state.x-t.state.x))}function fs(e){return[...e].sort(((e,t)=>e.y-t.y||e.x-t.x))}ds.Component=function({model:e}){const{children:t,isLazy:n,isDraggable:a,isResizable:o}=e.useState();return function(e){if(e.some((e=>void 0===e.state.height||void 0===e.state.width||void 0===e.state.x||void 0===e.state.y)))throw new Error("All children must have a size specified")}(t),r().createElement(Li,{disableHeight:!0},(({width:t})=>{if(0===t)return null;const i=e.buildGridLayout(t);return r().createElement("div",{style:{width:`${t}px`,height:"100%",position:"relative",zIndex:1}},r().createElement(Ci(),{width:t,isDraggable:a&&t>768,isResizable:null!=o&&o,containerPadding:[0,0],useCSSTransforms:!1,margin:[8,8],cols:24,rowHeight:30,draggableHandle:`.grid-drag-handle-${e.state.key}`,draggableCancel:".grid-drag-cancel",layout:i,onDragStop:e.onDragStop,onResizeStop:e.onResizeStop,onLayoutChange:e.onLayoutChange,isBounded:!1},i.map(((t,a)=>r().createElement(es,{key:t.i,grid:e,layoutItem:t,index:a,isLazy:n,totalCount:i.length})))))}))};var ms=Object.defineProperty,gs=Object.defineProperties,ys=Object.getOwnPropertyDescriptors,bs=Object.getOwnPropertySymbols,vs=Object.prototype.hasOwnProperty,ws=Object.prototype.propertyIsEnumerable,Ss=(e,t,r)=>t in e?ms(e,t,{enumerable:!0,configurable:!0,writable:!0,value:r}):e[t]=r;class _s extends Q{constructor(e){super(((e,t)=>gs(e,ys({x:0,height:1,width:24})))(((e,t)=>{for(var r in t||(t={}))vs.call(t,r)&&Ss(e,r,t[r]);if(bs)for(var r of bs(t))ws.call(t,r)&&Ss(e,r,t[r]);return e})({children:e.children||[],isCollapsible:e.isCollapsible||!0,title:e.title||""},e))),this.onCollapseToggle=()=>{this.state.isCollapsible&&this.getGridLayout().toggleRow(this)}}getGridLayout(){const e=this.parent;if(!(e&&e instanceof ds))throw new Error("SceneGridRow must be a child of SceneGridLayout");return e}getUrlState(){return{rowc:this.state.isCollapsed?"1":"0"}}updateFromUrl(e){null!=e.rowc&&e.rowc!==this.getUrlState().rowc&&this.onCollapseToggle()}}_s.Component=function({model:e}){const t=(0,ar.useStyles2)(Os),{isCollapsible:n,isCollapsed:a,title:o,isDraggable:i,actions:s}=e.useState(),l=e.getGridLayout().getDragClass();return r().createElement("div",{className:(0,or.cx)(t.row,a&&t.rowCollapsed)},r().createElement("button",{onClick:e.onCollapseToggle,className:t.rowTitleButton,"aria-label":a?"Expand row":"Collapse row"},n&&r().createElement(ar.Icon,{name:a?"angle-right":"angle-down"}),r().createElement("span",{className:t.rowTitle,role:"heading"},mt.interpolate(e,o,void 0,"text"))),s&&r().createElement(s.Component,{model:s}),i&&a&&r().createElement("div",{className:(0,or.cx)(t.dragHandle,l)},r().createElement(ar.Icon,{name:"draggabledots"})))};const Os=e=>({row:(0,or.css)({width:"100%",height:"30px",display:"flex",justifyContent:"space-between",gap:e.spacing(1)}),rowTitleButton:(0,or.css)({display:"flex",alignItems:"center",cursor:"pointer",background:"transparent",border:"none",gap:e.spacing(1)}),rowCollapsed:(0,or.css)({borderBottom:`1px solid ${e.colors.border.weak}`}),rowTitle:(0,or.css)({fontSize:e.typography.h5.fontSize,fontWeight:e.typography.fontWeightMedium}),collapsedInfo:(0,or.css)({fontSize:e.typography.bodySmall.fontSize,color:e.colors.text.secondary,display:"flex",alignItems:"center",flexGrow:1}),dragHandle:(0,or.css)({display:"flex",padding:e.spacing(0,1),alignItems:"center",justifyContent:"flex-end",cursor:"move",color:e.colors.text.secondary,"&:hover":{color:e.colors.text.primary}})});(class extends Q{constructor(){super(...arguments),this.onToggle=()=>{this.setState({isCollapsed:!this.state.isCollapsed})},this.onRemove=()=>{const e=this.parent;"body"in e.state&&e.setState({body:void 0})}}}).Component=function({model:e}){const{title:t,isCollapsed:n,canCollapse:a,canRemove:o,body:i,controls:s}=e.useState(),l=(0,ar.useStyles2)(Os),u=(0,ar.useStyles2)(xs),c=(null!=s?s:[]).map((e=>r().createElement(e.Component,{key:e.state.key,model:e})));return o&&c.push(r().createElement(ar.ToolbarButton,{icon:"times",variant:"default",onClick:e.onRemove,key:"remove-button","aria-label":"Remove scene"})),r().createElement("div",{className:u.wrapper},r().createElement("div",{className:(0,or.cx)(u.row,n&&u.rowCollapsed)},r().createElement("button",{onClick:e.onToggle,className:l.rowTitleButton,"aria-label":n?"Expand scene":"Collapse scene"},a&&r().createElement(ar.Icon,{name:n?"angle-right":"angle-down"}),r().createElement("span",{className:l.rowTitle,role:"heading"},mt.interpolate(e,t,void 0,"text"))),r().createElement("div",{className:u.actions},c)),!n&&r().createElement(i.Component,{model:i}))};const xs=e=>({wrapper:(0,or.css)({display:"flex",flexDirection:"column",flexGrow:1,gap:e.spacing(1),cursor:"pointer"}),row:(0,or.css)({width:"100%",display:"flex",justifyContent:"space-between",gap:e.spacing(1)}),rowCollapsed:(0,or.css)({borderBottom:`1px solid ${e.colors.border.weak}`,paddingBottom:e.spacing(1)}),actions:(0,or.css)({display:"flex",alignItems:"center",gap:e.spacing(1),justifyContent:"flex-end",flexGrow:1})});(class extends Q{constructor(){super(...arguments),this._variableDependency=new gt(this,{statePaths:["text"]})}}).Component=({model:e})=>{const{text:t,fontSize:n=20,align:a="left",key:o,spacing:i}=e.useState(),s=(0,ar.useTheme2)(),l=(0,or.css)({fontSize:n,display:"flex",flexGrow:1,alignItems:"center",padding:i?s.spacing(i,0):void 0,justifyContent:a});return r().createElement("div",{className:l,"data-testid":o},mt.interpolate(e,t))},class extends Q{}.Component=({model:e})=>{const t=e.useState();return r().createElement(ar.ToolbarButton,{onClick:t.onClick,icon:t.icon})},class extends Q{}.Component=({model:e})=>{const t=e.useState();return r().createElement("div",{style:{display:"flex"}},t.label&&r().createElement(nn,{label:t.label}),r().createElement(ar.Input,{defaultValue:t.value,width:8,onBlur:t=>{e.state.onChange(parseInt(t.currentTarget.value,10))}}))};class Cs extends Q{constructor(){super(...arguments),this.onZoom=()=>{const t=mt.getTimeRange(this),r=function(t,r){const n=t.to.valueOf()-t.from.valueOf(),a=t.to.valueOf()-n/2,o=0===n?3e4:2*n,i=a+o/2,s=a-o/2;return{from:(0,e.toUtc)(s),to:(0,e.toUtc)(i),raw:{from:(0,e.toUtc)(s),to:(0,e.toUtc)(i)}}}(t.state.value);t.onTimeRangeChange(r)},this.onChangeFiscalYearStartMonth=e=>{mt.getTimeRange(this).setState({fiscalYearStartMonth:e})},this.onMoveBackward=()=>{const e=mt.getTimeRange(this),{state:{value:t}}=e;e.onTimeRangeChange(Ds(Ps.Backward,t,Date.now()))},this.onMoveForward=()=>{const e=mt.getTimeRange(this),{state:{value:t}}=e;e.onTimeRangeChange(Ds(Ps.Forward,t,Date.now()))}}}Cs.Component=function({model:e}){const{hidePicker:t,isOnCanvas:n}=e.useState(),a=mt.getTimeRange(e),o=a.getTimeZone(),i=a.useState();return t?null:r().createElement(ar.TimeRangePicker,{isOnCanvas:null==n||n,value:i.value,onChange:a.onTimeRangeChange,timeZone:o,fiscalYearStartMonth:i.fiscalYearStartMonth,onMoveBackward:e.onMoveBackward,onMoveForward:e.onMoveForward,onZoom:e.onZoom,onChangeTimeZone:a.onTimeZoneChange,onChangeFiscalYearStartMonth:e.onChangeFiscalYearStartMonth})};var Ps=(e=>(e[e.Backward=0]="Backward",e[e.Forward=1]="Forward",e))(Ps||{});function Ds(t,r,n){const a=r.to.valueOf(),o=r.from.valueOf(),i=(a-o)/2;let s,l;0===t?(s=o-i,l=a-i):(s=o+i,l=a+i,l>n&&at in e?Es(e,t,{enumerable:!0,configurable:!0,writable:!0,value:r}):e[t]=r;const Fs=["5s","10s","30s","1m","5m","15m","30m","1h","2h","1d"];class Vs extends Q{constructor(t){var r;super(((e,t)=>Rs(e,js(t)))(((e,t)=>{for(var r in t||(t={}))ks.call(t,r)&&Is(e,r,t[r]);if(Ts)for(var r of Ts(t))As.call(t,r)&&Is(e,r,t[r]);return e})({refresh:""},t),{intervals:null!=(r=t.intervals)?r:Fs})),this._urlSync=new pe(this,{keys:["refresh"]}),this.onRefresh=()=>{const e=mt.getTimeRange(this);this._intervalTimer&&clearInterval(this._intervalTimer),e.onRefresh(),this.setupIntervalTimer()},this.onIntervalChanged=e=>{this.setState({refresh:e}),this.setupIntervalTimer()},this.setupIntervalTimer=()=>{const t=mt.getTimeRange(this),{refresh:r,intervals:n}=this.state;if((this._intervalTimer||""===r)&&clearInterval(this._intervalTimer),""===r)return;if(n&&!n.includes(r))return;const a=e.rangeUtil.intervalToMs(r);this._intervalTimer=setInterval((()=>{t.onRefresh()}),a)},this.addActivationHandler((()=>(this.setupIntervalTimer(),()=>{this._intervalTimer&&clearInterval(this._intervalTimer)})))}getUrlState(){return{refresh:this.state.refresh}}updateFromUrl(e){const t=e.refresh;t&&"string"==typeof t&&this.setState({refresh:t})}}Vs.Component=function({model:e}){const{refresh:t,intervals:n,isOnCanvas:a}=e.useState();return r().createElement(ar.RefreshPicker,{value:t,intervals:n,onRefresh:e.onRefresh,onIntervalChanged:e.onIntervalChanged,isOnCanvas:null==a||a})},class extends Q{constructor(t){super(t),this.addActivationHandler((()=>{const t=mt.getData(this);this._subs.add(t.subscribeToState((t=>{var r;(null==(r=t.data)?void 0:r.state)===e.LoadingState.Done&&this.performRepeat(t.data)}))),t.state.data&&this.performRepeat(t.state.data)}))}performRepeat(e){const t=[];for(let r=0;r{const{body:t}=e.useState();return r().createElement(t.Component,{model:t})};const Ls=class extends Q{constructor(){super({})}get Component(){return Ls.Component}};let Ms=Ls;Ms.Component=e=>r().createElement("div",{style:{flexGrow:1}});class zs extends Q{toggleDirection(){this.setState({direction:"row"===this.state.direction?"column":"row"})}isDraggable(){return!1}}zs.Component=function({model:e,parentState:n}){const{children:a,isHidden:o}=e.useState(),i=function(e,r){return(0,t.useMemo)((()=>{var t,n,a,o,i,s,l,c,d,p;const{direction:h="row",wrap:f}=e,m=u.config.theme2,g={};return r?Hs(g,e,r):(g.display="flex",g.flexGrow=1),g.flexDirection=h,g.gap="8px",g.flexWrap=f||"nowrap",g.alignContent="baseline",g.minHeight=g.minHeight||0,g[m.breakpoints.down("md")]={flexDirection:null!=(n=null==(t=e.md)?void 0:t.direction)?n:"column",maxWidth:null!=(o=null==(a=e.md)?void 0:a.maxWidth)?o:"unset",maxHeight:null!=(s=null==(i=e.md)?void 0:i.maxHeight)?s:"unset",height:null!=(c=null==(l=e.md)?void 0:l.height)?c:"unset",width:null!=(p=null==(d=e.md)?void 0:d.width)?p:"unset"},(0,or.css)(g)}),[r,e])}(e.state,n);return o?null:r().createElement("div",{className:i},a.map((t=>{const n=t.Component;return r().createElement(n,{key:t.state.key,model:t,parentState:e.state})})))};class Ns extends Q{}function Hs(e,t,r){var n,a,o;const i=null!=(n=r.direction)?n:"row",{xSizing:s="fill",ySizing:l="fill"}=t;return e.display="flex",e.position="relative",e.flexDirection=i,"column"===i?(t.height?e.height=t.height:e.flexGrow="fill"===l?1:0,t.width?e.width=t.width:e.alignSelf="fill"===s?"stretch":"flex-start"):(t.height?e.height=t.height:e.alignSelf="fill"===l?"stretch":"flex-start",t.width?e.width=t.width:e.flexGrow="fill"===s?1:0),e.minWidth=t.minWidth,e.maxWidth=t.maxWidth,e.maxHeight=t.maxHeight,e.minHeight=null!=(a=t.minHeight)?a:r.minHeight,e.height=null!=(o=t.height)?o:r.height,e}Ns.Component=function({model:e,parentState:n}){if(!n)throw new Error("SceneFlexItem must be a child of SceneFlexLayout");const{body:a,isHidden:o}=e.useState(),i=function(e,r){return(0,t.useMemo)((()=>{var t,n,a,o,i,s,l,c,d,p;const h=u.config.theme2,f=Hs({},e,r);return f[h.breakpoints.down("md")]={maxWidth:null!=(n=null==(t=e.md)?void 0:t.maxWidth)?n:"unset",maxHeight:null!=(o=null==(a=e.md)?void 0:a.maxHeight)?o:"unset",height:null!=(l=null==(i=e.md)?void 0:i.height)?l:null==(s=r.md)?void 0:s.height,width:null!=(p=null==(c=e.md)?void 0:c.width)?p:null==(d=r.md)?void 0:d.width},(0,or.css)(f)}),[e,r])}(e.state,n);return!a||o?null:r().createElement("div",{className:i},r().createElement(a.Component,{model:a}))};var Bs=Object.defineProperty,Us=Object.getOwnPropertySymbols,$s=Object.prototype.hasOwnProperty,Ws=Object.prototype.propertyIsEnumerable,qs=(e,t,r)=>t in e?Bs(e,t,{enumerable:!0,configurable:!0,writable:!0,value:r}):e[t]=r;(class extends Q{constructor(e){var t,r;super(((e,t)=>{for(var r in t||(t={}))$s.call(t,r)&&qs(e,r,t[r]);if(Us)for(var r of Us(t))Ws.call(t,r)&&qs(e,r,t[r]);return e})({rowGap:1,columnGap:1,templateColumns:"repeat(auto-fit, minmax(400px, 1fr))",autoRows:null!=(t=e.autoRows)?t:"320px",children:null!=(r=e.children)?r:[]},e))}isDraggable(){return!1}}).Component=function({model:e}){const{children:n,isHidden:a,isLazy:o}=e.useState(),i=(s=e.state,(0,t.useMemo)((()=>{var e,t,r,n,a,o,i,l,c,d,p;const h={},f=u.config.theme2;return h.display="grid",h.gridTemplateColumns=s.templateColumns,h.gridTemplateRows=s.templateRows||"unset",h.gridAutoRows=s.autoRows||"unset",h.rowGap=f.spacing(null!=(e=s.rowGap)?e:1),h.columnGap=f.spacing(null!=(t=s.columnGap)?t:1),h.justifyItems=s.justifyItems||"unset",h.alignItems=s.alignItems||"unset",h.justifyContent=s.justifyContent||"unset",h.flexGrow=1,s.md&&(h[f.breakpoints.down("md")]={gridTemplateRows:null==(r=s.md)?void 0:r.templateRows,gridTemplateColumns:null==(n=s.md)?void 0:n.templateColumns,rowGap:s.md.rowGap?f.spacing(null!=(o=null==(a=s.md)?void 0:a.rowGap)?o:1):void 0,columnGap:s.md.columnGap?f.spacing(null!=(l=null==(i=s.md)?void 0:i.rowGap)?l:1):void 0,justifyItems:null==(c=s.md)?void 0:c.justifyItems,alignItems:null==(d=s.md)?void 0:d.alignItems,justifyContent:null==(p=s.md)?void 0:p.justifyContent}),(0,or.css)(h)}),[s]));var s;return a?null:r().createElement("div",{className:i},n.map((t=>{const n=t.Component;return o?r().createElement($i,{key:t.state.key,className:i},r().createElement(n,{key:t.state.key,model:t,parentState:e.state})):r().createElement(n,{key:t.state.key,model:t,parentState:e.state})})))},class extends Q{}.Component=function({model:e,parentState:n}){if(!n)throw new Error("SceneCSSGridItem must be a child of SceneCSSGridLayout");const{body:a,isHidden:o}=e.useState(),i=(s=e.state,(0,t.useMemo)((()=>{const e={};return e.gridColumn=s.gridColumn||"unset",e.gridRow=s.gridRow||"unset",e.position="relative",(0,or.css)(e)}),[s]));var s;return!a||o?null:r().createElement("div",{className:i},r().createElement(a.Component,{model:a}))};var Gs=Object.defineProperty,Qs=Object.getOwnPropertySymbols,Ys=Object.prototype.hasOwnProperty,Ks=Object.prototype.propertyIsEnumerable,Xs=(e,t,r)=>t in e?Gs(e,t,{enumerable:!0,configurable:!0,writable:!0,value:r}):e[t]=r,Zs=(e,t)=>{for(var r in t||(t={}))Ys.call(t,r)&&Xs(e,r,t[r]);if(Qs)for(var r of Qs(t))Ks.call(t,r)&&Xs(e,r,t[r]);return e};const Js=new Set(["ArrowUp","ArrowDown"]),el=new Set(["ArrowLeft","ArrowRight"]),tl={row:{dim:"width",axis:"clientX",min:"minWidth",max:"maxWidth"},column:{dim:"height",axis:"clientY",min:"minHeight",max:"maxHeight"}};function rl({direction:e="row",handleSize:n=32,initialSize:a="auto",primaryPaneStyles:o,secondaryPaneStyles:i,onDragFinished:s,children:l}){const u=r().Children.toArray(l),c=(0,t.useRef)(null),d=(0,t.useRef)(null),p=(0,t.useRef)(null),h=(0,t.useRef)(null),f=(0,t.useRef)(null),m=(0,t.useRef)("1fr"),g=(0,t.useRef)(void 0),y=(0,t.useRef)(void 0),b=tl[e].dim,v=tl[e].axis,w=tl[e].min,S=tl[e].max;!function(e,r,n=0,a){const o=(0,Re.throttle)(r,n);(0,t.useLayoutEffect)((()=>{if(!e)return;const t=new ResizeObserver(o);return t.observe(e,{box:"device-pixel-content-box"}),()=>t.disconnect()}),a)}(h.current,(e=>{for(const t of e){if(!t.target.isSameNode(h.current))return;const e=d.current.getBoundingClientRect()[b],r=al(d.current);c.current.ariaValueNow=`${(0,Re.clamp)((e-r[w])/(r[S]-r[w])*100,0,100)}`}}),500,[S,w,e,b]);const _=(0,t.useRef)(null),O=(0,t.useCallback)((e=>{m.current=d.current.getBoundingClientRect()[b],f.current=h.current.getBoundingClientRect()[b],_.current=e[v],c.current.setPointerCapture(e.pointerId),g.current=al(d.current),y.current=void 0}),[b,v]),x=(0,t.useCallback)((e=>{if(null!==_.current&&"1fr"!==m.current){const t=e[v]-_.current,r=g.current,a=(0,Re.clamp)(m.current+t,r[w],r[S]),o=a/(f.current-n);d.current.style.flexGrow=`${o}`,p.current.style.flexGrow=""+(1-o);const i=(0,Re.clamp)((a-r[w])/(r[S]-r[w])*100,0,100);c.current.ariaValueNow=`${i}`}}),[n,v,w,S]),C=(0,t.useCallback)((e=>{e.preventDefault(),e.stopPropagation(),c.current.releasePointerCapture(e.pointerId),_.current=null,null==s||s(parseFloat(d.current.style.flexGrow))}),[s]),P=(0,t.useRef)(new Set),D=(0,t.useRef)(null),E=(0,t.useCallback)((t=>{var r;if(0===P.current.size)return void(D.current=null);if("1fr"===m.current)return;const a=.3*(t-(null!=(r=D.current)?r:t));let o=0;"row"===e?(P.current.has("ArrowLeft")&&(o-=a),P.current.has("ArrowRight")&&(o+=a)):(P.current.has("ArrowUp")&&(o-=a),P.current.has("ArrowDown")&&(o+=a));const i=g.current,s=d.current.getBoundingClientRect()[b],l=(0,Re.clamp)(s+o,i[w],i[S]),u=l/(f.current-n);d.current.style.flexGrow=`${u}`,p.current.style.flexGrow=""+(1-u);const h=(l-i[w])/(i[S]-i[w])*100;c.current.ariaValueNow=`${(0,Re.clamp)(h,0,100)}`,D.current=t,window.requestAnimationFrame(E)}),[e,n,w,S,b]),R=(0,t.useCallback)((t=>{if("Enter"!==t.key){if("Home"===t.key){g.current=al(d.current),f.current=h.current.getBoundingClientRect()[b];const e=g.current[w]/(f.current-n);return d.current.style.flexGrow=`${e}`,p.current.style.flexGrow=""+(1-e),void(c.current.ariaValueNow="0")}if("End"===t.key){g.current=al(d.current),f.current=h.current.getBoundingClientRect()[b];const e=g.current[S]/(f.current-n);return d.current.style.flexGrow=`${e}`,p.current.style.flexGrow=""+(1-e),void(c.current.ariaValueNow="100")}if(("column"===e&&Js.has(t.key)||"row"===e&&el.has(t.key))&&!P.current.has(t.key)&&(y.current=void 0,t.preventDefault(),t.stopPropagation(),m.current=d.current.getBoundingClientRect()[b],f.current=h.current.getBoundingClientRect()[b],g.current=al(d.current),!P.current.has(t.key))){const e=0===P.current.size;P.current.add(t.key),e&&window.requestAnimationFrame(E)}}else void 0===y.current?(y.current=d.current.style.flexGrow,d.current.style.flexGrow="0",p.current.style.flexGrow="1"):(d.current.style.flexGrow=y.current,p.current.style.flexGrow=""+(1-parseFloat(y.current)),y.current=void 0)}),[e,E,n,S,b,w]),j=(0,t.useCallback)((t=>{"row"===e&&!el.has(t.key)||"column"===e&&!Js.has(t.key)||(P.current.delete(t.key),null==s||s(parseFloat(d.current.style.flexGrow)))}),[e,s]),T=(0,t.useCallback)((()=>{d.current.style.flexGrow="0.5",p.current.style.flexGrow="0.5";const e=al(d.current);g.current=e,m.current=d.current.getBoundingClientRect()[b],c.current.ariaValueNow=""+(m.current-e[w])/(e[S]-e[w])*100}),[S,b,w]),k=(0,t.useCallback)((()=>{P.current.size>0&&(P.current.clear(),_.current=null,null==s||s(parseFloat(d.current.style.flexGrow)))}),[s]),A=(0,ar.useStyles2)(nl),I=Ui();return r().createElement("div",{ref:h,className:A.container,style:{flexDirection:e}},r().createElement("div",{ref:d,className:A.panel,style:Zs({flexGrow:"auto"===a?.5:(0,Re.clamp)(a,0,1),[w]:"min-content"},o),id:`start-panel-${I}`},u[0]),r().createElement("div",{ref:c,style:{[b]:`${n}px`},className:(0,or.cx)(A.handle,{[A.handleHorizontal]:"column"===e}),onPointerUp:C,onPointerDown:O,onPointerMove:x,onKeyDown:R,onKeyUp:j,onDoubleClick:T,onBlur:k,role:"separator","aria-valuemin":0,"aria-valuemax":100,"aria-valuenow":50,"aria-controls":`start-panel-${I}`,"aria-label":"Pane resize widget",tabIndex:0}),r().createElement("div",{ref:p,className:A.panel,style:Zs({flexGrow:"auto"===a?.5:(0,Re.clamp)(1-a,0,1),[w]:"min-content"},i),id:`end-panel-${I}`},u[1]))}function nl(e){return{handle:(0,or.css)({cursor:"col-resize",position:"relative",flexShrink:0,userSelect:"none","&::before":{content:'""',position:"absolute",backgroundColor:e.colors.primary.main,left:"50%",transform:"translate(-50%)",top:0,height:"100%",width:"1px",opacity:0,transition:"opacity ease-in-out 0.2s"},"&::after":{content:'""',width:"4px",borderRadius:"4px",backgroundColor:e.colors.border.weak,transition:"background-color ease-in-out 0.2s",height:"50%",top:"calc(50% - (50%) / 2)",transform:"translateX(-50%)",position:"absolute",left:"50%"},"&:hover, &:focus-visible":{outline:"none","&::before":{opacity:1},"&::after":{backgroundColor:e.colors.primary.main}}}),handleHorizontal:(0,or.css)({cursor:"row-resize","&::before":{left:"inherit",transform:"translateY(-50%)",top:"50%",height:"1px",width:"100%"},"&::after":{width:"50%",height:"4px",top:"50%",transform:"translateY(-50%)",left:"calc(50% - (50%) / 2)"}}),container:(0,or.css)({display:"flex",width:"100%",flexGrow:1,overflow:"hidden"}),panel:(0,or.css)({display:"flex",position:"relative",flexBasis:0})}}function al(e){if(null===e)return;const t=document.body.style.overflow,r=e.style.width,n=e.style.height,a=e.style.flexGrow;document.body.style.overflow="hidden",e.style.flexGrow="0";const{width:o,height:i}=e.getBoundingClientRect();e.style.flexGrow="100";const{width:s,height:l}=e.getBoundingClientRect();return document.body.style.overflow=t,e.style.width=r,e.style.height=n,e.style.flexGrow=a,{minWidth:o,maxWidth:s,minHeight:i,maxHeight:l}}(class extends Q{toggleDirection(){this.setState({direction:"row"===this.state.direction?"column":"row"})}isDraggable(){return!1}}).Component=function({model:e}){const{primary:t,secondary:n,direction:a,isHidden:o,initialSize:i,primaryPaneStyles:s,secondaryPaneStyles:l}=e.useState();if(o)return null;const u=t.Component,c=n.Component;return r().createElement(rl,{direction:a,initialSize:null!=i?i:.5,primaryPaneStyles:s,secondaryPaneStyles:l},r().createElement(u,{key:t.state.key,model:t,parentState:e.state}),r().createElement(c,{key:n.state.key,model:n,parentState:e.state}))};class ol extends Q{enrichDataRequest(){return{app:this.state.name||"app"}}}ol.Component=({model:e})=>{const{pages:t}=e.useState();return r().createElement(a.Switch,null,t.map((e=>r().createElement(a.Route,{key:e.state.url,exact:!1,path:e.state.url,render:t=>v(e,t)}))))};var il=Object.defineProperty,sl=Object.getOwnPropertySymbols,ll=Object.prototype.hasOwnProperty,ul=Object.prototype.propertyIsEnumerable,cl=(e,t,r)=>t in e?il(e,t,{enumerable:!0,configurable:!0,writable:!0,value:r}):e[t]=r;class dl extends Q{}function pl({node:e}){const t=e.useState(),n=(0,ar.useStyles2)(hl);return r().createElement("div",{className:n.container},Object.keys(t).map((a=>r().createElement("div",{className:n.row,key:a},r().createElement("div",{className:n.keyName},a),r().createElement("div",{className:n.value},function(e,t,n){if(null===t)return"null";switch(typeof t){case"number":return r().createElement(ar.Input,{type:"number",defaultValue:t,onBlur:t=>n.setState({[e]:t.currentTarget.valueAsNumber})});case"string":return r().createElement(ar.Input,{type:"text",defaultValue:t,onBlur:t=>n.setState({[e]:t.currentTarget.value})});case"object":return Mr(t)?t.constructor.name:(0,Re.isPlainObject)(t)||(0,Re.isArray)(t)?r().createElement(ar.JSONFormatter,{json:t,open:0}):String(t);default:return typeof t}}(a,t[a],e))))))}function hl(e){return{container:(0,or.css)({flexGrow:1,display:"flex",gap:e.spacing(.5),flexDirection:"column"}),row:(0,or.css)({display:"flex",gap:e.spacing(2)}),keyName:(0,or.css)({display:"flex",flexGrow:"0",width:120,alignItems:"center",height:e.spacing(e.components.height.md)}),value:(0,or.css)({flexGrow:1,minHeight:e.spacing(e.components.height.md),display:"flex",alignItems:"center"})}}function fl({node:e,selectedObject:t,onSelect:n}){const a=(0,ar.useStyles2)(ml),o=[],i=e===t;return e.forEachChild((e=>{o.push(r().createElement(fl,{node:e,key:e.state.key,selectedObject:t,onSelect:n}))})),r().createElement("div",{className:a.container},r().createElement("div",{className:(0,or.cx)(a.name,i&&a.selected),onClick:()=>n(e)},e.constructor.name),r().createElement("div",{className:a.children},o))}function ml(e){return{container:(0,or.css)({flexGrow:1,display:"flex",gap:e.spacing(.5),flexDirection:"column"}),name:(0,or.css)({flexGrow:1,display:"flex",gap:e.spacing(1),fontSize:e.typography.bodySmall.fontSize,cursor:"pointer",padding:e.spacing(0,1),borderRadius:e.shape.borderRadius(2),position:"relative","&:hover":{background:e.colors.background.secondary}}),selected:(0,or.css)({"&::before":{display:"block",content:"' '",position:"absolute",left:0,width:4,bottom:2,top:2,borderRadius:e.shape.radius.default,backgroundImage:e.colors.gradients.brandVertical}}),children:(0,or.css)({flexGrow:1,display:"flex",flexDirection:"column",paddingLeft:e.spacing(1)})}}function gl({scene:e}){const n=(0,ar.useStyles2)(yl),[a,o]=(0,t.useState)(!1),[i,s]=(0,t.useState)();return r().createElement(r().Fragment,null,r().createElement(ar.ToolbarButton,{variant:"canvas",icon:"bug",onClick:()=>o(!0)}),a&&r().createElement(ar.Drawer,{title:"Scene debugger",onClose:()=>o(!1),size:"lg"},r().createElement("div",{className:n.panes},r().createElement("div",{className:n.pane1},r().createElement("div",{className:n.paneHeading},"Scene graph"),r().createElement(ar.CustomScrollbar,{autoHeightMin:"100%"},r().createElement("div",{className:n.treeWrapper},r().createElement(fl,{node:e,selectedObject:i,onSelect:s})))),r().createElement("div",{className:n.pane2},r().createElement("div",{className:n.paneHeading},"Object details"),i&&r().createElement(pl,{node:i})))))}function yl(e){return{panes:(0,or.css)({flexGrow:1,display:"flex",height:"100%",flexDirection:"row",marginTop:e.spacing(-2)}),pane1:(0,or.css)({flexGrow:0,display:"flex",height:"100%",flexDirection:"column",borderRight:`1px solid ${e.colors.border.weak}`}),pane2:(0,or.css)({flexGrow:1,display:"flex",minHeight:"100%",flexDirection:"column",paddingLeft:e.spacing(2)}),treeWrapper:(0,or.css)({paddingRight:e.spacing(2),height:"100%",marginLeft:e.spacing(-1)}),paneHeading:(0,or.css)({padding:e.spacing(1,0),fontWeight:e.typography.fontWeightMedium})}}function bl({page:e,routeProps:n}){const o=function(e){return e.parent instanceof Sl?e.parent:e}(e),i=o.useState(),s=function(){const e=(0,a.useLocation)();return(0,u.locationSearchToObject)(e.search||"")}(),l=e.getScene(n.match),c=i.initializedScene===l;if((0,t.useLayoutEffect)((()=>{c||o.initializeScene(l)}),[l,o,c]),(0,t.useEffect)((()=>()=>o.setState({initializedScene:void 0})),[o]),!c)return null;const d={text:i.title,img:i.titleImg,icon:i.titleIcon,url:b(i.url,i.preserveUrlKeys),hideFromBreadcrumbs:i.hideFromBreadcrumbs,parentItem:vl(i.getParentPage?i.getParentPage():o.parent)};i.tabs&&(d.children=i.tabs.map((t=>({text:t.state.title,icon:t.state.titleIcon,tabSuffix:t.state.tabSuffix,active:e===t,url:b(t.state.url,t.state.preserveUrlKeys),parentItem:d}))));let p=[];return i.controls&&(p=i.controls.map((e=>r().createElement(e.Component,{model:e,key:e.state.key})))),s["scene-debugger"]&&p.push(r().createElement(gl,{scene:o,key:"scene-debugger"})),r().createElement(u.PluginPage,{pageNav:d,actions:p,renderTitle:i.renderTitle,subTitle:i.subTitle},r().createElement(l.Component,{model:l}))}function vl(e,t){if(e instanceof Sl)return{text:e.state.title,url:b(e.state.url,e.state.preserveUrlKeys),hideFromBreadcrumbs:e.state.hideFromBreadcrumbs,parentItem:vl(e.state.getParentPage?e.state.getParentPage():e.parent)}}function wl({drilldown:e,parent:t,routeProps:r}){return v(t.getDrilldownPage(e,r.match),r)}dl.Component=({model:e})=>{const{component:t,props:n,reactNode:a}=e.useState();return t?r().createElement(t,((e,t)=>{for(var r in t||(t={}))ll.call(t,r)&&cl(e,r,t[r]);if(sl)for(var r of sl(t))ul.call(t,r)&&cl(e,r,t[r]);return e})({},n)):a||null};class Sl extends Q{constructor(e){super(e),this._sceneCache=new Map,this._drilldownCache=new Map,this.addActivationHandler((()=>()=>Ro().cleanUp(this)))}initializeScene(e){this.setState({initializedScene:e}),Ro().initSync(this)}getScene(e){let t=this._sceneCache.get(e.url);if(t)return t;if(!this.state.getScene)throw new Error("Missing getScene on SceneAppPage "+this.state.title);return t=this.state.getScene(e),this._sceneCache.set(e.url,t),t}getDrilldownPage(e,t){let r=this._drilldownCache.get(t.url);return r||(r=e.getPage(t,this),this._drilldownCache.set(t.url,r),r)}enrichDataRequest(e){if(this.state.getParentPage)return this.state.getParentPage().enrichDataRequest(e);if(!this.parent)return null;const t=this.getRoot();return zr(t)?t.enrichDataRequest(e):null}}Sl.Component=function({model:e,routeProps:t}){var n,o;const{tabs:i,drilldowns:s}=e.useState(),l=[];if(i&&i.length>0)for(let t=0;tv(s,e)})),l.push(r().createElement(a.Route,{exact:!0,key:s.state.url,path:null!=(o=s.state.routePath)?o:s.state.url,render:e=>v(s,e)})),s.state.drilldowns)for(const e of s.state.drilldowns)l.push(r().createElement(a.Route,{exact:!1,key:e.routePath,path:e.routePath,render:t=>r().createElement(wl,{drilldown:e,parent:s,routeProps:t})}))}if(s)for(const t of s)l.push(r().createElement(a.Route,{key:t.routePath,exact:!1,path:t.routePath,render:n=>r().createElement(wl,{drilldown:t,parent:e,routeProps:n})}));return!i&&(u=e,(c=t.match).isExact&&(c.url===u.state.url||u.parent instanceof Sl&&u.parent.state.tabs[0]===u&&u.parent.state.url===c.url))?r().createElement(bl,{page:e,routeProps:t}):(l.push(function(e,t){return r().createElement(a.Route,{key:"fallback route",render:n=>{var a,o,i;const s=null!=(i=null==(o=(a=e.state).getFallbackPage)?void 0:o.call(a))?i:new Sl({url:"",title:"Not found",subTitle:"The url did not match any page",getScene:()=>new jo({body:new zs({direction:"column",children:[new Ns({body:new dl({component:()=>r().createElement("div",{"data-testid":"default-fallback-content"},"If you found your way here using a link then there might be a bug in this application.")})})]})})});return r().createElement(bl,{page:s,routeProps:t})}})}(e,t)),r().createElement(a.Switch,null,l));var u,c};var _l=(e=>(e.Always="always",e.Auto="auto",e.Never="never",e))(_l||{}),Ol=(e=>(e.Hue="hue",e.None="none",e.Opacity="opacity",e.Scheme="scheme",e))(Ol||{}),xl=(e=>(e.None="none",e.Normal="normal",e.Percent="percent",e))(xl||{}),Cl=(e=>(e.Auto="auto",e.Horizontal="horizontal",e.Vertical="vertical",e))(Cl||{}),Pl=(e=>(e.Background="background",e.BackgroundSolid="background_solid",e.None="none",e.Value="value",e))(Pl||{}),Dl=(e=>(e.Area="area",e.Line="line",e.None="none",e))(Dl||{}),El=(e=>(e.Auto="auto",e.Center="center",e))(El||{}),Rl=(e=>(e.Auto="auto",e.Name="name",e.None="none",e.Value="value",e.ValueAndName="value_and_name",e))(Rl||{}),jl=(e=>(e.Basic="basic",e.Gradient="gradient",e.Lcd="lcd",e))(jl||{}),Tl=(e=>(e.Color="color",e.Hidden="hidden",e.Text="text",e))(Tl||{}),kl=(e=>(e.Lg="lg",e.Md="md",e.Sm="sm",e))(kl||{});Cl.Auto,_l.Auto,xl.None,Ol.None,jl.Gradient,Tl.Color,_l.Auto,Ol.None,Pl.Value,Dl.Area,El.Auto,Rl.Auto,_l.Auto,_l.Auto,kl.Sm,_l.Auto;class Al{constructor(){this._overrides=[]}overrideColor(e){return this._overrides[this._overrides.length-1].properties.push({id:"color",value:e}),this}overrideDecimals(e){return this._overrides[this._overrides.length-1].properties.push({id:"decimals",value:e}),this}overrideDisplayName(e){return this._overrides[this._overrides.length-1].properties.push({id:"displayName",value:e}),this}overrideFilterable(e){return this._overrides[this._overrides.length-1].properties.push({id:"filterable",value:e}),this}overrideLinks(e){return this._overrides[this._overrides.length-1].properties.push({id:"links",value:e}),this}overrideMappings(e){return this._overrides[this._overrides.length-1].properties.push({id:"mappings",value:e}),this}overrideMax(e){return this._overrides[this._overrides.length-1].properties.push({id:"max",value:e}),this}overrideMin(e){return this._overrides[this._overrides.length-1].properties.push({id:"min",value:e}),this}overrideNoValue(e){return this._overrides[this._overrides.length-1].properties.push({id:"noValue",value:e}),this}overrideThresholds(e){return this._overrides[this._overrides.length-1].properties.push({id:"thresholds",value:e}),this}overrideUnit(e){return this._overrides[this._overrides.length-1].properties.push({id:"unit",value:e}),this}}class Il extends Al{match(e){return this._overrides.push({matcher:e,properties:[]}),this}matchFieldsWithName(t){return this._overrides.push({matcher:{id:e.FieldMatcherID.byName,options:t},properties:[]}),this}matchFieldsWithNameByRegex(t){return this._overrides.push({matcher:{id:e.FieldMatcherID.byRegexp,options:t},properties:[]}),this}matchFieldsByType(t){return this._overrides.push({matcher:{id:e.FieldMatcherID.byType,options:t},properties:[]}),this}matchFieldsByQuery(t){return this._overrides.push({matcher:{id:e.FieldMatcherID.byFrameRefID,options:t},properties:[]}),this}matchFieldsByValue(t){return this._overrides.push({matcher:{id:e.FieldMatcherID.byValue,options:t},properties:[]}),this}matchComparisonQuery(e){return this.matchFieldsByQuery(br(e))}overrideCustomFieldConfig(e,t){const r=`custom.${String(e)}`;return this._overrides[this._overrides.length-1].properties.push({id:r,value:t}),this}build(){return this._overrides}}var Fl=Object.defineProperty,Vl=Object.defineProperties,Ll=Object.getOwnPropertyDescriptors,Ml=Object.getOwnPropertySymbols,zl=Object.prototype.hasOwnProperty,Nl=Object.prototype.propertyIsEnumerable,Hl=(e,t,r)=>t in e?Fl(e,t,{enumerable:!0,configurable:!0,writable:!0,value:r}):e[t]=r,Bl=(e,t)=>{for(var r in t||(t={}))zl.call(t,r)&&Hl(e,r,t[r]);if(Ml)for(var r of Ml(t))Nl.call(t,r)&&Hl(e,r,t[r]);return e},Ul=(e,t)=>Vl(e,Ll(t));class $l{constructor(e){this.defaultFieldConfig=e,this._fieldConfig={defaults:{},overrides:[]},this._overridesBuilder=new Il,this.setDefaults()}setDefaults(){const e={defaults:{custom:this.defaultFieldConfig?(0,Re.cloneDeep)(this.defaultFieldConfig()):{}},overrides:[]};this._fieldConfig=e}setColor(e){return this.setFieldConfigDefaults("color",e)}setDecimals(e){return this.setFieldConfigDefaults("decimals",e)}setDisplayName(e){return this.setFieldConfigDefaults("displayName",e)}setFilterable(e){return this.setFieldConfigDefaults("filterable",e)}setLinks(e){return this.setFieldConfigDefaults("links",e)}setMappings(e){return this.setFieldConfigDefaults("mappings",e)}setMax(e){return this.setFieldConfigDefaults("max",e)}setMin(e){return this.setFieldConfigDefaults("min",e)}setNoValue(e){return this.setFieldConfigDefaults("noValue",e)}setThresholds(e){return this.setFieldConfigDefaults("thresholds",e)}setUnit(e){return this.setFieldConfigDefaults("unit",e)}setCustomFieldConfig(e,t){return this._fieldConfig.defaults=Ul(Bl({},this._fieldConfig.defaults),{custom:(0,Re.merge)(this._fieldConfig.defaults.custom,{[e]:t})}),this}setOverrides(e){return e(this._overridesBuilder),this}setFieldConfigDefaults(e,t){return this._fieldConfig.defaults=Ul(Bl({},this._fieldConfig.defaults),{[e]:t}),this}build(){return{defaults:this._fieldConfig.defaults,overrides:this._overridesBuilder.build()}}}class Wl{constructor(e){this.defaultOptions=e,this._options={},this.setDefaults()}setDefaults(){this._options=this.defaultOptions?(0,Re.cloneDeep)(this.defaultOptions()):{}}setOption(e,t){return this._options=(0,Re.merge)(this._options,{[e]:t}),this}build(){return this._options}}var ql=Object.defineProperty,Gl=Object.defineProperties,Ql=Object.getOwnPropertyDescriptors,Yl=Object.getOwnPropertySymbols,Kl=Object.prototype.hasOwnProperty,Xl=Object.prototype.propertyIsEnumerable,Zl=(e,t,r)=>t in e?ql(e,t,{enumerable:!0,configurable:!0,writable:!0,value:r}):e[t]=r;class Jl{constructor(e,t,r,n){this._state={},this._state.title="",this._state.description="",this._state.displayMode="default",this._state.hoverHeader=!1,this._state.pluginId=e,this._state.pluginVersion=t,this._fieldConfigBuilder=new $l(n),this._panelOptionsBuilder=new Wl(r)}setTitle(e){return this._state.title=e,this}setDescription(e){return this._state.description=e,this}setDisplayMode(e){return this._state.displayMode=e,this}setHoverHeader(e){return this._state.hoverHeader=e,this}setMenu(e){return this._state.menu=e,this}setHeaderActions(e){return this._state.headerActions=e,this}setColor(e){return this._fieldConfigBuilder.setColor(e),this}setDecimals(e){return this._fieldConfigBuilder.setDecimals(e),this}setDisplayName(e){return this._fieldConfigBuilder.setDisplayName(e),this}setFilterable(e){return this._fieldConfigBuilder.setFilterable(e),this}setLinks(e){return this._fieldConfigBuilder.setLinks(e),this}setMappings(e){return this._fieldConfigBuilder.setMappings(e),this}setMax(e){return this._fieldConfigBuilder.setMax(e),this}setMin(e){return this._fieldConfigBuilder.setMin(e),this}setNoValue(e){return this._fieldConfigBuilder.setNoValue(e),this}setThresholds(e){return this._fieldConfigBuilder.setThresholds(e),this}setUnit(e){return this._fieldConfigBuilder.setUnit(e),this}setCustomFieldConfig(e,t){return this._fieldConfigBuilder.setCustomFieldConfig(e,t),this}setOverrides(e){return this._fieldConfigBuilder.setOverrides(e),this}setOption(e,t){return this._panelOptionsBuilder.setOption(e,t),this}setData(e){return this._state.$data=e,this}setTimeRange(e){return this._state.$timeRange=e,this}setVariables(e){return this._state.$variables=e,this}setBehaviors(e){return this._state.$behaviors=e,this}build(){const e=new _i(((e,t)=>Gl(e,Ql(t)))(((e,t)=>{for(var r in t||(t={}))Kl.call(t,r)&&Zl(e,r,t[r]);if(Yl)for(var r of Yl(t))Xl.call(t,r)&&Zl(e,r,t[r]);return e})({},this._state),{options:this._panelOptionsBuilder.build(),fieldConfig:this._fieldConfigBuilder.build()}));return e}}const eu=()=>new Jl("timeseries","10.0.0"),tu=()=>{const e=new Jr({datasource:s.CACHE_STATS,queries:[{refId:"A",query:'SELECT mean(value) FROM "monthly"."bandwidth.1min" WHERE hostname=\'$hostname\' AND $timeFilter GROUP BY time(60s)',rawQuery:!0,resultFormat:"time_series",alias:"bandwidth"}]});return eu().setTitle("Bandwidth").setData(e).setCustomFieldConfig("fillOpacity",20).setOption("legend",{showLegend:!0,calcs:["max"]}).setUnit("kbps").build()},ru=()=>{const e=new Jr({datasource:s.CACHE_STATS,queries:[{refId:"A",query:'SELECT mean(value) FROM "monthly"."connections.1min" WHERE hostname=\'$hostname\' AND $timeFilter GROUP BY time(60s)',rawQuery:!0,resultFormat:"time_series",alias:"connections"}]});return eu().setTitle("Connections").setData(e).setCustomFieldConfig("fillOpacity",20).setOption("legend",{showLegend:!0,calcs:["max"]}).setCustomFieldConfig("spanNulls",!0).build()},nu=()=>{const e=new Jr({datasource:s.TELEGRAF,queries:[{refId:"A",query:'SELECT mean("usage_system") AS "cpu_system", mean("usage_iowait") AS "cpu_iowait", mean("usage_user") AS "cpu_user", mean("usage_guest") AS "cpu_guest", mean("usage_steal") AS "cpu_steal" FROM "cpu" WHERE host=\'$hostname\' AND $timeFilter GROUP BY time($interval) fill(null)',rawQuery:!0,resultFormat:"time_series",alias:"$col"}]});return eu().setTitle("CPU Usage").setData(e).setUnit("%").setCustomFieldConfig("spanNulls",!0).setCustomFieldConfig("fillOpacity",20).build()},au=()=>{const e=new Jr({datasource:s.TELEGRAF,queries:[{refId:"A",query:'SELECT mean("load1") AS "load1", mean("load5") AS "load5", mean("load15") AS "load15" FROM "system" WHERE host=\'$hostname\' AND $timeFilter GROUP BY time($interval) fill(null)',rawQuery:!0,resultFormat:"time_series",alias:"$col"}]});return eu().setTitle("Load Average").setData(e).setCustomFieldConfig("fillOpacity",20).setCustomFieldConfig("spanNulls",!0).build()},ou=()=>{const e=new Jr({datasource:s.TELEGRAF,queries:[{refId:"A",query:'SELECT mean("used_percent") AS "mem_used" FROM "mem" WHERE host=\'$hostname\' AND $timeFilter GROUP BY time($interval) fill(null)',rawQuery:!0,resultFormat:"time_series",alias:"$col"}]});return eu().setTitle("Memory Usage").setData(e).setCustomFieldConfig("spanNulls",!0).setCustomFieldConfig("fillOpacity",20).setUnit("%").build()},iu=()=>{const e=new Jr({datasource:s.TELEGRAF,queries:[{refId:"A",query:'SELECT mean("tcp_close") AS "tcp_close", mean("tcp_close_wait") AS "tcp_close_wait", mean("tcp_established") AS "tcp_established", mean("tcp_time_wait") AS "tcp_time_wait", mean("tcp_closing") AS "tcp_closing", mean("tcp_fin_wait1") AS "tcp_fin_wait1", mean("tcp_fin_wait2") AS "tcp_fin_wait2", mean("tcp_last_ack") AS "tcp_last_ack", mean("tcp_syn_recv") AS "tcp_syn_recv", mean("tcp_syn_sent") AS "tcp_syn_sent" FROM "netstat" WHERE host=\'$hostname\' AND $timeFilter GROUP BY time($interval) fill(null)',rawQuery:!0,resultFormat:"time_series",alias:"$col"}]});return eu().setTitle("Netstat").setData(e).setCustomFieldConfig("spanNulls",!0).setCustomFieldConfig("fillOpacity",20).build()},su=()=>{const e=new Jr({datasource:s.TELEGRAF,queries:[{refId:"A",query:'SELECT non_negative_derivative(sum("read_time"), 10s) AS "read_time" FROM "diskio" WHERE host=\'$hostname\' AND $timeFilter GROUP BY time($interval) fill(null)',rawQuery:!0,resultFormat:"time_series",alias:"$col"},{refId:"B",query:'SELECT non_negative_derivative(sum("write_time"), 10s) AS "write_time" FROM "diskio" WHERE host=\'$hostname\' AND $timeFilter GROUP BY time($interval) fill(null)',rawQuery:!0,resultFormat:"time_series",alias:"$col"}]});return eu().setTitle("Read/Write Time").setData(e).setCustomFieldConfig("spanNulls",!0).setCustomFieldConfig("fillOpacity",20).setUnit("ns").build()},lu=()=>{const e=new Jr({datasource:s.CACHE_STATS,queries:[{refId:"A",query:'SELECT mean("vol1_wrap_count") AS "vol1", mean("vol2_wrap_count") AS "vol2" FROM "monthly"."wrap_count.1min" WHERE hostname=\'$hostname\' AND $timeFilter GROUP BY time($interval) fill(null)',rawQuery:!0,resultFormat:"time_series",alias:"$col"}]});return eu().setTitle("Wrap Count").setData(e).setCustomFieldConfig("spanNulls",!0).setCustomFieldConfig("fillOpacity",20).build()};function uu(){const e=new Se({from:"now-6h",to:"now"}),t=new da({name:"hostname",datasource:s.CACHE_STATS,query:'SHOW TAG VALUES ON "cache_stats" FROM "monthly"."bandwidth" with key = "hostname"'});return new jo({$timeRange:e,$variables:new _n({variables:[t]}),body:new zs({direction:"column",children:[new Ns({height:250,body:tu()}),new Ns({height:250,body:ru()}),new zs({direction:"row",height:250,children:[new Ns({width:"50%",body:nu()}),new Ns({width:"50%",body:ou()})]}),new zs({direction:"row",height:250,children:[new Ns({width:"50%",body:au()}),new Ns({width:"50%",body:su()})]}),new zs({direction:"row",height:250,children:[new Ns({width:"50%",body:lu()}),new Ns({width:"50%",body:iu()})]})]}),controls:[new yn({}),new Ms,new Cs({isOnCanvas:!0}),new Vs({intervals:["5s","1m","1h"],isOnCanvas:!0})]})}const cu=()=>{const e=(0,t.useMemo)((()=>new ol({pages:[new Sl({title:"Server",url:l(`${i.Server}`),hideFromBreadcrumbs:!0,getScene:uu})]})),[]);return r().createElement(e.Component,{model:e})},du=()=>{const e=new Jr({datasource:s.DELIVERYSERVICE_STATS,queries:[{refId:"A",query:"SELECT mean(value) FROM \"monthly\".\"kbps.ds.1min\" WHERE deliveryservice='$deliveryservice' AND cachegroup = 'total' and $timeFilter GROUP BY time(60s), deliveryservice ORDER BY asc",rawQuery:!0,resultFormat:"time_series",alias:"$tag_deliveryservice",measurement:"bw"}]});return eu().setTitle("Bandwidth").setData(e).setOption("legend",{showLegend:!0,calcs:["max"]}).setCustomFieldConfig("axisCenteredZero",!0).setUnit("bps").build()},pu=()=>{const e=new Jr({datasource:s.DELIVERYSERVICE_STATS,queries:[{refId:"A",query:'SELECT mean(value) FROM "monthly"."tps_2xx.ds.1min" WHERE $timeFilter AND deliveryservice=\'$deliveryservice\' GROUP BY time(60s) ORDER BY asc',rawQuery:!0,resultFormat:"time_series",measurement:"tps_2xx",hide:!1,tags:{deliveryservice:"$deliveryservice"}},{refId:"B",query:'SELECT mean(value) FROM "monthly"."tps_3xx.ds.1min" WHERE $timeFilter AND deliveryservice=\'$deliveryservice\' GROUP BY time(60s) ORDER BY asc',rawQuery:!0,resultFormat:"time_series"},{refId:"C",query:'SELECT mean(value) FROM "monthly"."tps_4xx.ds.1min" WHERE $timeFilter AND deliveryservice=\'$deliveryservice\' GROUP BY time(60s) ORDER BY asc',rawQuery:!0,resultFormat:"time_series"},{refId:"D",query:'SELECT mean(value) FROM "monthly"."tps_5xx.ds.1min" WHERE $timeFilter AND deliveryservice=\'$deliveryservice\' GROUP BY time(60s) ORDER BY asc',rawQuery:!0,resultFormat:"time_series"}]});return eu().setTitle("TPS").setData(e).setOption("legend",{showLegend:!0,calcs:["max"]}).setCustomFieldConfig("axisCenteredZero",!0).setCustomFieldConfig("spanNulls",!0).build()},hu=()=>{const e=new Jr({datasource:s.DELIVERYSERVICE_STATS,queries:[{refId:"A",query:"SELECT mean(value) FROM \"monthly\".\"kbps.cg.1min\" WHERE deliveryservice='$deliveryservice' AND cachegroup != 'all' and $timeFilter GROUP BY time(60s), cachegroup",rawQuery:!0,resultFormat:"time_series",alias:"$tag_cachegroup"}]});return eu().setTitle("Bandwidth by CacheGroup").setData(e).setOption("legend",{showLegend:!0,calcs:["max"]}).setCustomFieldConfig("axisCenteredZero",!0).setCustomFieldConfig("spanNulls",!0).setUnit("bps").build()};function fu(){const e=new Se({from:"now-6h",to:"now"}),t=new da({name:"deliveryservice",datasource:s.DELIVERYSERVICE_STATS,query:'SHOW TAG VALUES ON "deliveryservice_stats" FROM "monthly"."kbps" with key = "deliveryservice"'});return new jo({$timeRange:e,$variables:new _n({variables:[t]}),body:new zs({direction:"column",children:[new Ns({minHeight:300,body:du()}),new Ns({minHeight:300,body:pu()}),new Ns({minHeight:300,body:hu()})]}),controls:[new yn({}),new Ms,new Cs({isOnCanvas:!0}),new Vs({intervals:["5s","1m","1h"],isOnCanvas:!0})]})}const mu=()=>{const e=(0,t.useMemo)((()=>new ol({pages:[new Sl({title:"Delivery Services",url:l(`${i.DeliveryService}`),hideFromBreadcrumbs:!0,getScene:fu})]})),[]);return r().createElement(e.Component,{model:e})},gu=()=>{const e=new Jr({datasource:s.CACHE_STATS,queries:[{refId:"A",query:'SELECT sum(value) FROM "monthly"."bandwidth.1min" WHERE "cachegroup" = \'$cachegroup\' AND $timeFilter GROUP BY time(60s), cachegroup',rawQuery:!0,resultFormat:"time_series",alias:"$tag_cachegroup"}]});return eu().setTitle("Total bandwidth (stacked)").setData(e).setCustomFieldConfig("fillOpacity",20).setOption("legend",{showLegend:!0,calcs:["max"]}).setUnit("Kbits").build()},yu=()=>{const e=new Jr({datasource:s.CACHE_STATS,queries:[{refId:"A",query:'SELECT mean("value") FROM "monthly"."connections.1min" WHERE ("cachegroup" = \'$cachegroup\') AND $timeFilter GROUP BY time($interval), "hostname" fill(null)',rawQuery:!0,resultFormat:"time_series"}]});return eu().setTitle("Connections (stacked)").setCustomFieldConfig("fillOpacity",20).setData(e).setOption("legend",{showLegend:!0,calcs:["max"]}).setCustomFieldConfig("spanNulls",!0).build()};function bu(){const e=new Se({from:"now-6h",to:"now"}),t=new da({name:"cachegroup",datasource:s.CACHE_STATS,query:'SHOW TAG VALUES ON "cache_stats" FROM "monthly"."bandwidth" with key = "cachegroup"'});return new jo({$timeRange:e,$variables:new _n({variables:[t]}),body:new zs({direction:"column",children:[new Ns({minHeight:300,body:gu()}),new Ns({minHeight:300,body:yu()})]}),controls:[new yn({}),new Ms,new Cs({isOnCanvas:!0}),new Vs({intervals:["5s","1m","1h"],isOnCanvas:!0})]})}const vu=()=>{const e=(0,t.useMemo)((()=>new ol({pages:[new Sl({title:"Cache Groups",url:l(`${i.CacheGroup}`),hideFromBreadcrumbs:!0,getScene:bu})]})),[]);return r().createElement(e.Component,{model:e})},wu=()=>r().createElement(a.Switch,null,r().createElement(a.Route,{path:l(`${i.CacheGroup}`),component:vu}),r().createElement(a.Route,{path:l(`${i.DeliveryService}`),component:mu}),r().createElement(a.Route,{path:l(`${i.Server}`),component:cu}),r().createElement(a.Redirect,{to:l(i.CacheGroup)}));class Su extends r().PureComponent{render(){return r().createElement(n.Provider,{value:this.props},r().createElement(wu,null))}}const _u=(new e.AppPlugin).setRootPage(Su)})(),p})())); -//# sourceMappingURL=module.js.map \ No newline at end of file diff --git a/infrastructure/cdn-in-a-box/optional/grafana/trafficcontrol-scenes/dist/module.js.map b/infrastructure/cdn-in-a-box/optional/grafana/trafficcontrol-scenes/dist/module.js.map deleted file mode 100644 index ebcd5ba165..0000000000 --- a/infrastructure/cdn-in-a-box/optional/grafana/trafficcontrol-scenes/dist/module.js.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"module.js","mappings":"8LAAA,SAASA,EAAEC,GAAG,IAAIC,EAAEC,EAAEC,EAAE,GAAG,GAAG,iBAAiBH,GAAG,iBAAiBA,EAAEG,GAAGH,OAAO,GAAG,iBAAiBA,EAAE,GAAGI,MAAMC,QAAQL,GAAG,IAAIC,EAAE,EAAEA,EAAED,EAAEM,OAAOL,IAAID,EAAEC,KAAKC,EAAEH,EAAEC,EAAEC,OAAOE,IAAIA,GAAG,KAAKA,GAAGD,QAAQ,IAAID,KAAKD,EAAEA,EAAEC,KAAKE,IAAIA,GAAG,KAAKA,GAAGF,GAAG,OAAOE,CAAC,CAAQ,SAASI,IAAO,IAAI,IAAIP,EAAEC,EAAEC,EAAE,EAAEC,EAAE,GAAGD,EAAEM,UAAUF,SAASN,EAAEQ,UAAUN,QAAQD,EAAEF,EAAEC,MAAMG,IAAIA,GAAG,KAAKA,GAAGF,GAAG,OAAOE,CAAC,C,yCAAC,S,yBCUlW,IAGIM,EAAiB,4BAGjBC,EAAuB,EACvBC,EAAyB,EAGzBC,EAAmB,iBAGnBC,EAAU,qBACVC,EAAW,iBACXC,EAAW,yBACXC,EAAU,mBACVC,EAAU,gBACVC,EAAW,iBACXC,EAAU,oBACVC,EAAS,6BACTC,EAAS,eACTC,EAAY,kBACZC,EAAU,gBACVC,EAAY,kBACZC,EAAa,mBACbC,EAAW,iBACXC,EAAY,kBACZC,EAAS,eACTC,EAAY,kBAEZC,EAAe,qBACfC,EAAa,mBAEbC,EAAiB,uBACjBC,EAAc,oBAkBdC,EAAe,8BAGfC,EAAW,mBAGXC,EAAiB,CAAC,EACtBA,EAxBiB,yBAwBYA,EAvBZ,yBAwBjBA,EAvBc,sBAuBYA,EAtBX,uBAuBfA,EAtBe,uBAsBYA,EArBZ,uBAsBfA,EArBsB,8BAqBYA,EApBlB,wBAqBhBA,EApBgB,yBAoBY,EAC5BA,EAAevB,GAAWuB,EAAetB,GACzCsB,EAAeJ,GAAkBI,EAAepB,GAChDoB,EAAeH,GAAeG,EAAenB,GAC7CmB,EAAelB,GAAYkB,EAAejB,GAC1CiB,EAAef,GAAUe,EAAed,GACxCc,EAAeZ,GAAaY,EAAeT,GAC3CS,EAAeR,GAAUQ,EAAeP,GACxCO,EAAeL,IAAc,EAG7B,IAAIM,EAA8B,iBAAV,EAAAC,GAAsB,EAAAA,GAAU,EAAAA,EAAOC,SAAWA,QAAU,EAAAD,EAGhFE,EAA0B,iBAARC,MAAoBA,MAAQA,KAAKF,SAAWA,QAAUE,KAGxEC,EAAOL,GAAcG,GAAYG,SAAS,cAATA,GAGjCC,EAA4CC,IAAYA,EAAQC,UAAYD,EAG5EE,EAAaH,GAA4CI,IAAWA,EAAOF,UAAYE,EAGvFC,EAAgBF,GAAcA,EAAWF,UAAYD,EAGrDM,EAAcD,GAAiBZ,EAAWc,QAG1CC,EAAY,WACd,IACE,OAAOF,GAAeA,EAAYG,SAAWH,EAAYG,QAAQ,OACnE,CAAE,MAAOrD,GAAI,CACf,CAJe,GAOXsD,EAAmBF,GAAYA,EAASG,aAuD5C,SAASC,EAAUC,EAAOC,GAIxB,IAHA,IAAIC,GAAS,EACTrD,EAAkB,MAATmD,EAAgB,EAAIA,EAAMnD,SAE9BqD,EAAQrD,GACf,GAAIoD,EAAUD,EAAME,GAAQA,EAAOF,GACjC,OAAO,EAGX,OAAO,CACT,CAiEA,SAASG,EAAWC,GAClB,IAAIF,GAAS,EACTG,EAAS1D,MAAMyD,EAAIE,MAKvB,OAHAF,EAAIG,SAAQ,SAASC,EAAOC,GAC1BJ,IAASH,GAAS,CAACO,EAAKD,EAC1B,IACOH,CACT,CAuBA,SAASK,EAAWC,GAClB,IAAIT,GAAS,EACTG,EAAS1D,MAAMgE,EAAIL,MAKvB,OAHAK,EAAIJ,SAAQ,SAASC,GACnBH,IAASH,GAASM,CACpB,IACOH,CACT,CAGA,IAeMO,EAvCWC,EAAMC,EAwBnBC,EAAapE,MAAMqE,UACnBC,EAAY/B,SAAS8B,UACrBE,EAAcpC,OAAOkC,UAGrBG,EAAalC,EAAK,sBAGlBmC,EAAeH,EAAUI,SAGzBC,EAAiBJ,EAAYI,eAG7BC,GACEX,EAAM,SAASY,KAAKL,GAAcA,EAAWM,MAAQN,EAAWM,KAAKC,UAAY,KACvE,iBAAmBd,EAAO,GAQtCe,EAAuBT,EAAYG,SAGnCO,GAAaC,OAAO,IACtBT,EAAaU,KAAKR,GAAgBS,QA7PjB,sBA6PuC,QACvDA,QAAQ,yDAA0D,SAAW,KAI5EC,GAASxC,EAAgBP,EAAK+C,YAASC,EACvCC,GAASjD,EAAKiD,OACdC,GAAalD,EAAKkD,WAClBC,GAAuBlB,EAAYkB,qBACnCC,GAAStB,EAAWsB,OACpBC,GAAiBJ,GAASA,GAAOK,iBAAcN,EAG/CO,GAAmB1D,OAAO2D,sBAC1BC,GAAiBV,GAASA,GAAOW,cAAWV,EAC5CW,IAnEa/B,EAmEQ/B,OAAO2C,KAnETX,EAmEehC,OAlE7B,SAAS+D,GACd,OAAOhC,EAAKC,EAAU+B,GACxB,GAmEEC,GAAWC,GAAU9D,EAAM,YAC3B+D,GAAMD,GAAU9D,EAAM,OACtBgE,GAAUF,GAAU9D,EAAM,WAC1BiE,GAAMH,GAAU9D,EAAM,OACtBkE,GAAUJ,GAAU9D,EAAM,WAC1BmE,GAAeL,GAAUjE,OAAQ,UAGjCuE,GAAqBC,GAASR,IAC9BS,GAAgBD,GAASN,IACzBQ,GAAoBF,GAASL,IAC7BQ,GAAgBH,GAASJ,IACzBQ,GAAoBJ,GAASH,IAG7BQ,GAAczB,GAASA,GAAOlB,eAAYiB,EAC1C2B,GAAgBD,GAAcA,GAAYE,aAAU5B,EASxD,SAAS6B,GAAKC,GACZ,IAAI7D,GAAS,EACTrD,EAAoB,MAAXkH,EAAkB,EAAIA,EAAQlH,OAG3C,IADAmH,KAAKC,UACI/D,EAAQrD,GAAQ,CACvB,IAAIqH,EAAQH,EAAQ7D,GACpB8D,KAAKrD,IAAIuD,EAAM,GAAIA,EAAM,GAC3B,CACF,CA6FA,SAASC,GAAUJ,GACjB,IAAI7D,GAAS,EACTrD,EAAoB,MAAXkH,EAAkB,EAAIA,EAAQlH,OAG3C,IADAmH,KAAKC,UACI/D,EAAQrD,GAAQ,CACvB,IAAIqH,EAAQH,EAAQ7D,GACpB8D,KAAKrD,IAAIuD,EAAM,GAAIA,EAAM,GAC3B,CACF,CA0GA,SAASE,GAASL,GAChB,IAAI7D,GAAS,EACTrD,EAAoB,MAAXkH,EAAkB,EAAIA,EAAQlH,OAG3C,IADAmH,KAAKC,UACI/D,EAAQrD,GAAQ,CACvB,IAAIqH,EAAQH,EAAQ7D,GACpB8D,KAAKrD,IAAIuD,EAAM,GAAIA,EAAM,GAC3B,CACF,CA6FA,SAASG,GAASC,GAChB,IAAIpE,GAAS,EACTrD,EAAmB,MAAVyH,EAAiB,EAAIA,EAAOzH,OAGzC,IADAmH,KAAKO,SAAW,IAAIH,KACXlE,EAAQrD,GACfmH,KAAKQ,IAAIF,EAAOpE,GAEpB,CAyCA,SAASuE,GAAMV,GACb,IAAIW,EAAOV,KAAKO,SAAW,IAAIJ,GAAUJ,GACzCC,KAAK1D,KAAOoE,EAAKpE,IACnB,CAqIA,SAASqE,GAAa3E,EAAOS,GAE3B,IADA,IAAI5D,EAASmD,EAAMnD,OACZA,KACL,GAAI+H,GAAG5E,EAAMnD,GAAQ,GAAI4D,GACvB,OAAO5D,EAGX,OAAQ,CACV,CAyBA,SAASgI,GAAWrE,GAClB,OAAa,MAATA,OACeyB,IAAVzB,EAAsBnC,EAAeP,EAEtCwE,IAAkBA,MAAkBxD,OAAO0B,GA0arD,SAAmBA,GACjB,IAAIsE,EAAQxD,EAAeQ,KAAKtB,EAAO8B,IACnCyC,EAAMvE,EAAM8B,IAEhB,IACE9B,EAAM8B,SAAkBL,EACxB,IAAI+C,GAAW,CACjB,CAAE,MAAOzI,GAAI,CAEb,IAAI8D,EAASsB,EAAqBG,KAAKtB,GAQvC,OAPIwE,IACEF,EACFtE,EAAM8B,IAAkByC,SAEjBvE,EAAM8B,KAGVjC,CACT,CA3bM4E,CAAUzE,GA4iBhB,SAAwBA,GACtB,OAAOmB,EAAqBG,KAAKtB,EACnC,CA7iBM0E,CAAe1E,EACrB,CASA,SAAS2E,GAAgB3E,GACvB,OAAO4E,GAAa5E,IAAUqE,GAAWrE,IAAUpD,CACrD,CAgBA,SAASiI,GAAY7E,EAAO8E,EAAOC,EAASC,EAAYC,GACtD,OAAIjF,IAAU8E,IAGD,MAAT9E,GAA0B,MAAT8E,IAAmBF,GAAa5E,KAAW4E,GAAaE,GACpE9E,GAAUA,GAAS8E,GAAUA,EAmBxC,SAAyBI,EAAQJ,EAAOC,EAASC,EAAYG,EAAWF,GACtE,IAAIG,EAAWhJ,GAAQ8I,GACnBG,EAAWjJ,GAAQ0I,GACnBQ,EAASF,EAAWvI,EAAW0I,GAAOL,GACtCM,EAASH,EAAWxI,EAAW0I,GAAOT,GAKtCW,GAHJH,EAASA,GAAU1I,EAAUW,EAAY+H,IAGhB/H,EACrBmI,GAHJF,EAASA,GAAU5I,EAAUW,EAAYiI,IAGhBjI,EACrBoI,EAAYL,GAAUE,EAE1B,GAAIG,GAAaxD,GAAS+C,GAAS,CACjC,IAAK/C,GAAS2C,GACZ,OAAO,EAETM,GAAW,EACXK,GAAW,CACb,CACA,GAAIE,IAAcF,EAEhB,OADAR,IAAUA,EAAQ,IAAIhB,IACdmB,GAAY9F,GAAa4F,GAC7BU,GAAYV,EAAQJ,EAAOC,EAASC,EAAYG,EAAWF,GAiKnE,SAAoBC,EAAQJ,EAAOP,EAAKQ,EAASC,EAAYG,EAAWF,GACtE,OAAQV,GACN,KAAKvG,EACH,GAAKkH,EAAOW,YAAcf,EAAMe,YAC3BX,EAAOY,YAAchB,EAAMgB,WAC9B,OAAO,EAETZ,EAASA,EAAOa,OAChBjB,EAAQA,EAAMiB,OAEhB,KAAKhI,EACH,QAAKmH,EAAOW,YAAcf,EAAMe,aAC3BV,EAAU,IAAIxD,GAAWuD,GAAS,IAAIvD,GAAWmD,KAKxD,KAAK/H,EACL,KAAKC,EACL,KAAKK,EAGH,OAAO+G,IAAIc,GAASJ,GAEtB,KAAK7H,EACH,OAAOiI,EAAOc,MAAQlB,EAAMkB,MAAQd,EAAOe,SAAWnB,EAAMmB,QAE9D,KAAKvI,EACL,KAAKE,EAIH,OAAOsH,GAAWJ,EAAQ,GAE5B,KAAK1H,EACH,IAAI8I,EAAUvG,EAEhB,KAAKhC,EACH,IAAIwI,EAAYpB,EAAUtI,EAG1B,GAFAyJ,IAAYA,EAAUhG,GAElBgF,EAAOpF,MAAQgF,EAAMhF,OAASqG,EAChC,OAAO,EAGT,IAAIC,EAAUnB,EAAMoB,IAAInB,GACxB,GAAIkB,EACF,OAAOA,GAAWtB,EAEpBC,GAAWrI,EAGXuI,EAAM9E,IAAI+E,EAAQJ,GAClB,IAAIjF,EAAS+F,GAAYM,EAAQhB,GAASgB,EAAQpB,GAAQC,EAASC,EAAYG,EAAWF,GAE1F,OADAA,EAAc,OAAEC,GACTrF,EAET,IAhoCY,kBAioCV,GAAIuD,GACF,OAAOA,GAAc9B,KAAK4D,IAAW9B,GAAc9B,KAAKwD,GAG9D,OAAO,CACT,CA/NQwB,CAAWpB,EAAQJ,EAAOQ,EAAQP,EAASC,EAAYG,EAAWF,GAExE,KAAMF,EAAUtI,GAAuB,CACrC,IAAI8J,EAAed,GAAY3E,EAAeQ,KAAK4D,EAAQ,eACvDsB,EAAed,GAAY5E,EAAeQ,KAAKwD,EAAO,eAE1D,GAAIyB,GAAgBC,EAAc,CAChC,IAAIC,EAAeF,EAAerB,EAAOlF,QAAUkF,EAC/CwB,EAAeF,EAAe1B,EAAM9E,QAAU8E,EAGlD,OADAG,IAAUA,EAAQ,IAAIhB,IACfkB,EAAUsB,EAAcC,EAAc3B,EAASC,EAAYC,EACpE,CACF,CACA,QAAKU,IAGLV,IAAUA,EAAQ,IAAIhB,IA6NxB,SAAsBiB,EAAQJ,EAAOC,EAASC,EAAYG,EAAWF,GACnE,IAAIkB,EAAYpB,EAAUtI,EACtBkK,EAAWC,GAAW1B,GACtB2B,EAAYF,EAAStK,OAIzB,GAAIwK,GAHWD,GAAW9B,GACDzI,SAEM8J,EAC7B,OAAO,EAGT,IADA,IAAIzG,EAAQmH,EACLnH,KAAS,CACd,IAAIO,EAAM0G,EAASjH,GACnB,KAAMyG,EAAYlG,KAAO6E,EAAQhE,EAAeQ,KAAKwD,EAAO7E,IAC1D,OAAO,CAEX,CAEA,IAAImG,EAAUnB,EAAMoB,IAAInB,GACxB,GAAIkB,GAAWnB,EAAMoB,IAAIvB,GACvB,OAAOsB,GAAWtB,EAEpB,IAAIjF,GAAS,EACboF,EAAM9E,IAAI+E,EAAQJ,GAClBG,EAAM9E,IAAI2E,EAAOI,GAGjB,IADA,IAAI4B,EAAWX,IACNzG,EAAQmH,GAAW,CAE1B,IAAIE,EAAW7B,EADfjF,EAAM0G,EAASjH,IAEXsH,EAAWlC,EAAM7E,GAErB,GAAI+E,EACF,IAAIiC,EAAWd,EACXnB,EAAWgC,EAAUD,EAAU9G,EAAK6E,EAAOI,EAAQD,GACnDD,EAAW+B,EAAUC,EAAU/G,EAAKiF,EAAQJ,EAAOG,GAGzD,UAAmBxD,IAAbwF,EACGF,IAAaC,GAAY7B,EAAU4B,EAAUC,EAAUjC,EAASC,EAAYC,GAC7EgC,GACD,CACLpH,GAAS,EACT,KACF,CACAiH,IAAaA,EAAkB,eAAP7G,EAC1B,CACA,GAAIJ,IAAWiH,EAAU,CACvB,IAAII,EAAUhC,EAAOiC,YACjBC,EAAUtC,EAAMqC,YAGhBD,GAAWE,KACV,gBAAiBlC,MAAU,gBAAiBJ,IACzB,mBAAXoC,GAAyBA,aAAmBA,GACjC,mBAAXE,GAAyBA,aAAmBA,IACvDvH,GAAS,EAEb,CAGA,OAFAoF,EAAc,OAAEC,GAChBD,EAAc,OAAEH,GACTjF,CACT,CA1RSwH,CAAanC,EAAQJ,EAAOC,EAASC,EAAYG,EAAWF,GACrE,CA5DSqC,CAAgBtH,EAAO8E,EAAOC,EAASC,EAAYH,GAAaI,GACzE,CA0HA,SAASW,GAAYpG,EAAOsF,EAAOC,EAASC,EAAYG,EAAWF,GACjE,IAAIkB,EAAYpB,EAAUtI,EACtB8K,EAAY/H,EAAMnD,OAClBmL,EAAY1C,EAAMzI,OAEtB,GAAIkL,GAAaC,KAAerB,GAAaqB,EAAYD,GACvD,OAAO,EAGT,IAAInB,EAAUnB,EAAMoB,IAAI7G,GACxB,GAAI4G,GAAWnB,EAAMoB,IAAIvB,GACvB,OAAOsB,GAAWtB,EAEpB,IAAIpF,GAAS,EACTG,GAAS,EACT4H,EAAQ1C,EAAUrI,EAA0B,IAAImH,QAAWpC,EAM/D,IAJAwD,EAAM9E,IAAIX,EAAOsF,GACjBG,EAAM9E,IAAI2E,EAAOtF,KAGRE,EAAQ6H,GAAW,CAC1B,IAAIG,EAAWlI,EAAME,GACjBsH,EAAWlC,EAAMpF,GAErB,GAAIsF,EACF,IAAIiC,EAAWd,EACXnB,EAAWgC,EAAUU,EAAUhI,EAAOoF,EAAOtF,EAAOyF,GACpDD,EAAW0C,EAAUV,EAAUtH,EAAOF,EAAOsF,EAAOG,GAE1D,QAAiBxD,IAAbwF,EAAwB,CAC1B,GAAIA,EACF,SAEFpH,GAAS,EACT,KACF,CAEA,GAAI4H,GACF,IAAKlI,EAAUuF,GAAO,SAASkC,EAAUW,GACnC,GA72Ba1H,EA62BO0H,GAANF,EA52BXG,IAAI3H,KA62BFyH,IAAaV,GAAY7B,EAAUuC,EAAUV,EAAUjC,EAASC,EAAYC,IAC/E,OAAOwC,EAAKI,KAAKF,GA/2B/B,IAAyB1H,CAi3Bf,IAAI,CACNJ,GAAS,EACT,KACF,OACK,GACD6H,IAAaV,IACX7B,EAAUuC,EAAUV,EAAUjC,EAASC,EAAYC,GACpD,CACLpF,GAAS,EACT,KACF,CACF,CAGA,OAFAoF,EAAc,OAAEzF,GAChByF,EAAc,OAAEH,GACTjF,CACT,CAwKA,SAAS+G,GAAW1B,GAClB,OApZF,SAAwBA,EAAQ4C,EAAUC,GACxC,IAAIlI,EAASiI,EAAS5C,GACtB,OAAO9I,GAAQ8I,GAAUrF,EAhuB3B,SAAmBL,EAAOsE,GAKxB,IAJA,IAAIpE,GAAS,EACTrD,EAASyH,EAAOzH,OAChB2L,EAASxI,EAAMnD,SAEVqD,EAAQrD,GACfmD,EAAMwI,EAAStI,GAASoE,EAAOpE,GAEjC,OAAOF,CACT,CAutBoCyI,CAAUpI,EAAQkI,EAAY7C,GAClE,CAiZSgD,CAAehD,EAAQjE,GAAMkH,GACtC,CAUA,SAASC,GAAWxI,EAAKK,GACvB,IAsHiBD,EACbqI,EAvHAnE,EAAOtE,EAAImE,SACf,OAuHgB,WADZsE,SADarI,EArHAC,KAuHmB,UAARoI,GAA4B,UAARA,GAA4B,WAARA,EACrD,cAAVrI,EACU,OAAVA,GAxHDkE,EAAmB,iBAAPjE,EAAkB,SAAW,QACzCiE,EAAKtE,GACX,CAUA,SAAS2C,GAAU2C,EAAQjF,GACzB,IAAID,EAxjCN,SAAkBkF,EAAQjF,GACxB,OAAiB,MAAViF,OAAiBzD,EAAYyD,EAAOjF,EAC7C,CAsjCcqI,CAASpD,EAAQjF,GAC7B,OArTF,SAAsBD,GACpB,SAAKuI,GAASvI,IAwahB,SAAkBK,GAChB,QAASU,GAAeA,KAAcV,CACxC,CA1a0BmI,CAASxI,MAGnByI,GAAWzI,GAASoB,GAAanD,GAChCyK,KAAK5F,GAAS9C,GAC/B,CA+SS2I,CAAa3I,GAASA,OAAQyB,CACvC,CAr2BA6B,GAAK9C,UAAUiD,MAvEf,WACED,KAAKO,SAAWnB,GAAeA,GAAa,MAAQ,CAAC,EACrDY,KAAK1D,KAAO,CACd,EAqEAwD,GAAK9C,UAAkB,OAzDvB,SAAoBP,GAClB,IAAIJ,EAAS2D,KAAKoE,IAAI3H,WAAeuD,KAAKO,SAAS9D,GAEnD,OADAuD,KAAK1D,MAAQD,EAAS,EAAI,EACnBA,CACT,EAsDAyD,GAAK9C,UAAU6F,IA3Cf,SAAiBpG,GACf,IAAIiE,EAAOV,KAAKO,SAChB,GAAInB,GAAc,CAChB,IAAI/C,EAASqE,EAAKjE,GAClB,OAAOJ,IAAWrD,OAAiBiF,EAAY5B,CACjD,CACA,OAAOiB,EAAeQ,KAAK4C,EAAMjE,GAAOiE,EAAKjE,QAAOwB,CACtD,EAqCA6B,GAAK9C,UAAUoH,IA1Bf,SAAiB3H,GACf,IAAIiE,EAAOV,KAAKO,SAChB,OAAOnB,QAA8BnB,IAAdyC,EAAKjE,GAAsBa,EAAeQ,KAAK4C,EAAMjE,EAC9E,EAwBAqD,GAAK9C,UAAUL,IAZf,SAAiBF,EAAKD,GACpB,IAAIkE,EAAOV,KAAKO,SAGhB,OAFAP,KAAK1D,MAAQ0D,KAAKoE,IAAI3H,GAAO,EAAI,EACjCiE,EAAKjE,GAAQ2C,SAA0BnB,IAAVzB,EAAuBxD,EAAiBwD,EAC9DwD,IACT,EAsHAG,GAAUnD,UAAUiD,MApFpB,WACED,KAAKO,SAAW,GAChBP,KAAK1D,KAAO,CACd,EAkFA6D,GAAUnD,UAAkB,OAvE5B,SAAyBP,GACvB,IAAIiE,EAAOV,KAAKO,SACZrE,EAAQyE,GAAaD,EAAMjE,GAE/B,QAAIP,EAAQ,IAIRA,GADYwE,EAAK7H,OAAS,EAE5B6H,EAAK0E,MAEL/G,GAAOP,KAAK4C,EAAMxE,EAAO,KAEzB8D,KAAK1D,KACA,GACT,EAyDA6D,GAAUnD,UAAU6F,IA9CpB,SAAsBpG,GACpB,IAAIiE,EAAOV,KAAKO,SACZrE,EAAQyE,GAAaD,EAAMjE,GAE/B,OAAOP,EAAQ,OAAI+B,EAAYyC,EAAKxE,GAAO,EAC7C,EA0CAiE,GAAUnD,UAAUoH,IA/BpB,SAAsB3H,GACpB,OAAOkE,GAAaX,KAAKO,SAAU9D,IAAQ,CAC7C,EA8BA0D,GAAUnD,UAAUL,IAlBpB,SAAsBF,EAAKD,GACzB,IAAIkE,EAAOV,KAAKO,SACZrE,EAAQyE,GAAaD,EAAMjE,GAQ/B,OANIP,EAAQ,KACR8D,KAAK1D,KACPoE,EAAK2D,KAAK,CAAC5H,EAAKD,KAEhBkE,EAAKxE,GAAO,GAAKM,EAEZwD,IACT,EAwGAI,GAASpD,UAAUiD,MAtEnB,WACED,KAAK1D,KAAO,EACZ0D,KAAKO,SAAW,CACd,KAAQ,IAAIT,GACZ,IAAO,IAAKd,IAAOmB,IACnB,OAAU,IAAIL,GAElB,EAgEAM,GAASpD,UAAkB,OArD3B,SAAwBP,GACtB,IAAIJ,EAASuI,GAAW5E,KAAMvD,GAAa,OAAEA,GAE7C,OADAuD,KAAK1D,MAAQD,EAAS,EAAI,EACnBA,CACT,EAkDA+D,GAASpD,UAAU6F,IAvCnB,SAAqBpG,GACnB,OAAOmI,GAAW5E,KAAMvD,GAAKoG,IAAIpG,EACnC,EAsCA2D,GAASpD,UAAUoH,IA3BnB,SAAqB3H,GACnB,OAAOmI,GAAW5E,KAAMvD,GAAK2H,IAAI3H,EACnC,EA0BA2D,GAASpD,UAAUL,IAdnB,SAAqBF,EAAKD,GACxB,IAAIkE,EAAOkE,GAAW5E,KAAMvD,GACxBH,EAAOoE,EAAKpE,KAIhB,OAFAoE,EAAK/D,IAAIF,EAAKD,GACdwD,KAAK1D,MAAQoE,EAAKpE,MAAQA,EAAO,EAAI,EAC9B0D,IACT,EAwDAK,GAASrD,UAAUwD,IAAMH,GAASrD,UAAUqH,KAnB5C,SAAqB7H,GAEnB,OADAwD,KAAKO,SAAS5D,IAAIH,EAAOxD,GAClBgH,IACT,EAiBAK,GAASrD,UAAUoH,IANnB,SAAqB5H,GACnB,OAAOwD,KAAKO,SAAS6D,IAAI5H,EAC3B,EAoGAiE,GAAMzD,UAAUiD,MA3EhB,WACED,KAAKO,SAAW,IAAIJ,GACpBH,KAAK1D,KAAO,CACd,EAyEAmE,GAAMzD,UAAkB,OA9DxB,SAAqBP,GACnB,IAAIiE,EAAOV,KAAKO,SACZlE,EAASqE,EAAa,OAAEjE,GAG5B,OADAuD,KAAK1D,KAAOoE,EAAKpE,KACVD,CACT,EAyDAoE,GAAMzD,UAAU6F,IA9ChB,SAAkBpG,GAChB,OAAOuD,KAAKO,SAASsC,IAAIpG,EAC3B,EA6CAgE,GAAMzD,UAAUoH,IAlChB,SAAkB3H,GAChB,OAAOuD,KAAKO,SAAS6D,IAAI3H,EAC3B,EAiCAgE,GAAMzD,UAAUL,IArBhB,SAAkBF,EAAKD,GACrB,IAAIkE,EAAOV,KAAKO,SAChB,GAAIG,aAAgBP,GAAW,CAC7B,IAAIkF,EAAQ3E,EAAKH,SACjB,IAAKvB,IAAQqG,EAAMxM,OAASyM,IAG1B,OAFAD,EAAMhB,KAAK,CAAC5H,EAAKD,IACjBwD,KAAK1D,OAASoE,EAAKpE,KACZ0D,KAETU,EAAOV,KAAKO,SAAW,IAAIH,GAASiF,EACtC,CAGA,OAFA3E,EAAK/D,IAAIF,EAAKD,GACdwD,KAAK1D,KAAOoE,EAAKpE,KACV0D,IACT,EA8hBA,IAAI2E,GAAcnG,GAA+B,SAASkD,GACxD,OAAc,MAAVA,EACK,IAETA,EAAS5G,OAAO4G,GA9sClB,SAAqB1F,EAAOC,GAM1B,IALA,IAAIC,GAAS,EACTrD,EAAkB,MAATmD,EAAgB,EAAIA,EAAMnD,OACnC0M,EAAW,EACXlJ,EAAS,KAEJH,EAAQrD,GAAQ,CACvB,IAAI2D,EAAQR,EAAME,GAwsCkCsJ,EAvsCtChJ,EAwsCP4B,GAAqBN,KAAK4D,EAAQ8D,KAvsCvCnJ,EAAOkJ,KAAc/I,EAEzB,CAosC6C,IAASgJ,EAnsCtD,OAAOnJ,CACT,CAksCSoJ,CAAYjH,GAAiBkD,IAGtC,EAodA,WACE,MAAO,EACT,EA7cIK,GAASlB,GAkCb,SAAS6E,GAAQlJ,EAAO3D,GAEtB,SADAA,EAAmB,MAAVA,EAAiBM,EAAmBN,KAE1B,iBAAT2D,GAAqB9B,EAASwK,KAAK1I,KAC1CA,GAAS,GAAKA,EAAQ,GAAK,GAAKA,EAAQ3D,CAC7C,CA2DA,SAASyG,GAASzC,GAChB,GAAY,MAARA,EAAc,CAChB,IACE,OAAOO,EAAaU,KAAKjB,EAC3B,CAAE,MAAOtE,GAAI,CACb,IACE,OAAQsE,EAAO,EACjB,CAAE,MAAOtE,GAAI,CACf,CACA,MAAO,EACT,CAkCA,SAASqI,GAAGpE,EAAO8E,GACjB,OAAO9E,IAAU8E,GAAU9E,GAAUA,GAAS8E,GAAUA,CAC1D,EA7IKxC,IAAYiD,GAAO,IAAIjD,GAAS,IAAI6G,YAAY,MAAQnL,GACxDwE,IAAO+C,GAAO,IAAI/C,KAAQpF,GAC1BqF,IAAW8C,GAAO9C,GAAQ2G,YAAc5L,GACxCkF,IAAO6C,GAAO,IAAI7C,KAAQ/E,GAC1BgF,IAAW4C,GAAO,IAAI5C,KAAY7E,KACrCyH,GAAS,SAASvF,GAChB,IAAIH,EAASwE,GAAWrE,GACpBqJ,EAAOxJ,GAAUtC,EAAYyC,EAAMmH,iBAAc1F,EACjD6H,EAAaD,EAAOvG,GAASuG,GAAQ,GAEzC,GAAIC,EACF,OAAQA,GACN,KAAKzG,GAAoB,OAAO7E,EAChC,KAAK+E,GAAe,OAAO3F,EAC3B,KAAK4F,GAAmB,OAAOxF,EAC/B,KAAKyF,GAAe,OAAOtF,EAC3B,KAAKuF,GAAmB,OAAOpF,EAGnC,OAAO+B,CACT,GA6IF,IAAI0J,GAAc5E,GAAgB,WAAa,OAAOpI,SAAW,CAA/B,IAAsCoI,GAAkB,SAAS3E,GACjG,OAAO4E,GAAa5E,IAAUc,EAAeQ,KAAKtB,EAAO,YACtD4B,GAAqBN,KAAKtB,EAAO,SACtC,EAyBI5D,GAAUD,MAAMC,QAgDhB+F,GAAWD,IA4Of,WACE,OAAO,CACT,EA3LA,SAASuG,GAAWzI,GAClB,IAAKuI,GAASvI,GACZ,OAAO,EAIT,IAAIuE,EAAMF,GAAWrE,GACrB,OAAOuE,GAAOrH,GAAWqH,GAAOpH,GAAUoH,GAAOzH,GAAYyH,GAAO9G,CACtE,CA4BA,SAAS+L,GAASxJ,GAChB,MAAuB,iBAATA,GACZA,GAAS,GAAKA,EAAQ,GAAK,GAAKA,GAASrD,CAC7C,CA2BA,SAAS4L,GAASvI,GAChB,IAAIqI,SAAcrI,EAClB,OAAgB,MAATA,IAA0B,UAARqI,GAA4B,YAARA,EAC/C,CA0BA,SAASzD,GAAa5E,GACpB,OAAgB,MAATA,GAAiC,iBAATA,CACjC,CAmBA,IAAIV,GAAeD,EAhiDnB,SAAmBgB,GACjB,OAAO,SAASL,GACd,OAAOK,EAAKL,EACd,CACF,CA4hDsCyJ,CAAUpK,GAnvBhD,SAA0BW,GACxB,OAAO4E,GAAa5E,IAClBwJ,GAASxJ,EAAM3D,WAAa8B,EAAekG,GAAWrE,GAC1D,EA8wBA,SAASiB,GAAKiE,GACZ,OA1NgB,OADGlF,EA2NAkF,IA1NKsE,GAASxJ,EAAM3D,UAAYoM,GAAWzI,GA1vBhE,SAAuBA,EAAO0J,GAC5B,IAAIC,EAAQvN,GAAQ4D,GAChB4J,GAASD,GAASJ,GAAYvJ,GAC9B6J,GAAUF,IAAUC,GAASzH,GAASnC,GACtC8J,GAAUH,IAAUC,IAAUC,GAAUvK,GAAaU,GACrD+J,EAAcJ,GAASC,GAASC,GAAUC,EAC1CjK,EAASkK,EAloBf,SAAmB7N,EAAG8N,GAIpB,IAHA,IAAItK,GAAS,EACTG,EAAS1D,MAAMD,KAEVwD,EAAQxD,GACf2D,EAAOH,GAASsK,EAAStK,GAE3B,OAAOG,CACT,CA0nB6BoK,CAAUjK,EAAM3D,OAAQ6N,QAAU,GACzD7N,EAASwD,EAAOxD,OAEpB,IAAK,IAAI4D,KAAOD,GACT0J,IAAa5I,EAAeQ,KAAKtB,EAAOC,IACvC8J,IAEQ,UAAP9J,GAEC4J,IAAkB,UAAP5J,GAA0B,UAAPA,IAE9B6J,IAAkB,UAAP7J,GAA0B,cAAPA,GAA8B,cAAPA,IAEtDiJ,GAAQjJ,EAAK5D,KAElBwD,EAAOgI,KAAK5H,GAGhB,OAAOJ,CACT,CA27B+BsK,CAAcjF,GAtwB7C,SAAkBA,GAChB,GAyZImE,GADerJ,EAxZFkF,IAyZGlF,EAAMmH,YAGnBnH,KAFqB,mBAARqJ,GAAsBA,EAAK7I,WAAcE,GAzZ3D,OAAO0B,GAAW8C,GAuZtB,IAAqBlF,EACfqJ,EAtZAxJ,EAAS,GACb,IAAK,IAAII,KAAO3B,OAAO4G,GACjBpE,EAAeQ,KAAK4D,EAAQjF,IAAe,eAAPA,GACtCJ,EAAOgI,KAAK5H,GAGhB,OAAOJ,CACT,CA2vBuDuK,CAASlF,GA3NhE,IAAqBlF,CA4NrB,CAyCAjB,EAAOH,QAlNP,SAAiBoB,EAAO8E,GACtB,OAAOD,GAAY7E,EAAO8E,EAC5B,C,6BC9lDA,IAAIuF,EAAuB,EAAQ,KAEnC,SAASC,IAAiB,CAC1B,SAASC,IAA0B,CACnCA,EAAuBC,kBAAoBF,EAE3CvL,EAAOH,QAAU,WACf,SAAS6L,EAAKC,EAAOC,EAAUC,EAAeC,EAAUC,EAAcC,GACpE,GAAIA,IAAWV,EAAf,CAIA,IAAIW,EAAM,IAAIC,MACZ,mLAKF,MADAD,EAAIhF,KAAO,sBACLgF,CAPN,CAQF,CAEA,SAASE,IACP,OAAOT,CACT,CAHAA,EAAKU,WAAaV,EAMlB,IAAIW,EAAiB,CACnB5L,MAAOiL,EACPY,OAAQZ,EACRa,KAAMb,EACNpK,KAAMoK,EACNc,OAAQd,EACRvF,OAAQuF,EACRe,OAAQf,EACRzB,OAAQyB,EAERgB,IAAKhB,EACLiB,QAASR,EACTS,QAASlB,EACTmB,YAAanB,EACboB,WAAYX,EACZY,KAAMrB,EACNsB,SAAUb,EACVc,MAAOd,EACPe,UAAWf,EACXgB,MAAOhB,EACPiB,MAAOjB,EAEPkB,eAAgB7B,EAChBC,kBAAmBF,GAKrB,OAFAc,EAAeiB,UAAYjB,EAEpBA,CACT,C,gBC/CErM,EAAOH,QAAU,EAAQ,IAAR,E,uBCNnBG,EAAOH,QAFoB,8C,6BCP3BN,OAAOgO,eAAe1N,EAAS,aAAc,CAC3CoB,OAAO,IAET1B,OAAOgO,eAAe1N,EAAS,gBAAiB,CAC9C2N,YAAY,EACZlG,IAAK,WACH,OAAOmG,EAAeC,OACxB,IAEF7N,EAAA,aAAkB,EAClB,IAAI8N,EAWJ,SAAiCC,EAAKC,GAAe,GAAoBD,GAAOA,EAAIE,WAAc,OAAOF,EAAO,GAAY,OAARA,GAA+B,iBAARA,GAAmC,mBAARA,EAAsB,MAAO,CAAEF,QAASE,GAAS,IAAIG,EAAQC,EAAyBH,GAAc,GAAIE,GAASA,EAAMlF,IAAI+E,GAAQ,OAAOG,EAAMzG,IAAIsG,GAAQ,IAAIK,EAAS,CAAC,EAAOC,EAAwB3O,OAAOgO,gBAAkBhO,OAAO4O,yBAA0B,IAAK,IAAIjN,KAAO0M,EAAO,GAAY,YAAR1M,GAAqB3B,OAAOkC,UAAUM,eAAeQ,KAAKqL,EAAK1M,GAAM,CAAE,IAAIkN,EAAOF,EAAwB3O,OAAO4O,yBAAyBP,EAAK1M,GAAO,KAAUkN,IAASA,EAAK9G,KAAO8G,EAAKhN,KAAQ7B,OAAOgO,eAAeU,EAAQ/M,EAAKkN,GAAgBH,EAAO/M,GAAO0M,EAAI1M,EAAQ,CAAiE,OAA7D+M,EAAOP,QAAUE,EAASG,GAASA,EAAM3M,IAAIwM,EAAKK,GAAkBA,CAAQ,CAXvxBI,CAAwB,EAAQ,MACxCC,EAAaC,EAAuB,EAAQ,MAC5CC,EAAYD,EAAuB,EAAQ,MAC3CE,EAAQF,EAAuB,EAAQ,MACvCG,EAAU,EAAQ,IAClBC,EAAe,EAAQ,KACvBC,EAAS,EAAQ,KACjBnB,EAAiBc,EAAuB,EAAQ,MAChDM,EAAON,EAAuB,EAAQ,MAC1C,SAASA,EAAuBX,GAAO,OAAOA,GAAOA,EAAIE,WAAaF,EAAM,CAAEF,QAASE,EAAO,CAC9F,SAASI,EAAyBH,GAAe,GAAuB,mBAAZjK,QAAwB,OAAO,KAAM,IAAIkL,EAAoB,IAAIlL,QAAemL,EAAmB,IAAInL,QAAW,OAAQoK,EAA2B,SAAUH,GAAe,OAAOA,EAAckB,EAAmBD,CAAmB,GAAGjB,EAAc,CAEtT,SAASmB,IAAiS,OAApRA,EAAWzP,OAAO0P,OAAS1P,OAAO0P,OAAOC,OAAS,SAAUC,GAAU,IAAK,IAAIC,EAAI,EAAGA,EAAI5R,UAAUF,OAAQ8R,IAAK,CAAE,IAAIC,EAAS7R,UAAU4R,GAAI,IAAK,IAAIlO,KAAOmO,EAAc9P,OAAOkC,UAAUM,eAAeQ,KAAK8M,EAAQnO,KAAQiO,EAAOjO,GAAOmO,EAAOnO,GAAU,CAAE,OAAOiO,CAAQ,EAAUH,EAASM,MAAM7K,KAAMjH,UAAY,CAClV,SAAS+R,EAAgB3B,EAAK1M,EAAKD,GAA4L,OAAnLC,EAC5C,SAAwBoC,GAAO,IAAIpC,EACnC,SAAsBsO,EAAOC,GAAQ,GAAqB,iBAAVD,GAAgC,OAAVA,EAAgB,OAAOA,EAAO,IAAIE,EAAOF,EAAM7M,OAAOgN,aAAc,QAAajN,IAATgN,EAAoB,CAAE,IAAIE,EAAMF,EAAKnN,KAAKiN,EAAOC,UAAoB,GAAmB,iBAARG,EAAkB,OAAOA,EAAK,MAAM,IAAIC,UAAU,+CAAiD,CAAE,OAA4B1E,OAAiBqE,EAAQ,CAD/UM,CAAaxM,GAAgB,MAAsB,iBAARpC,EAAmBA,EAAMiK,OAAOjK,EAAM,CADxE6O,CAAe7O,MAAiB0M,EAAOrO,OAAOgO,eAAeK,EAAK1M,EAAK,CAAED,MAAOA,EAAOuM,YAAY,EAAMwC,cAAc,EAAMC,UAAU,IAAkBrC,EAAI1M,GAAOD,EAAgB2M,CAAK,CAgC3O,MAAMsC,UAAkBvC,EAAMwC,UAG5B,+BAAOC,CAAyBC,EAAcC,GAC5C,IAAI,SACFC,GACuBF,GACrB,kBACFG,GACuBF,EAEzB,OAAIC,GAAcC,GAAqBD,EAASE,IAAMD,EAAkBC,GAAKF,EAASG,IAAMF,EAAkBE,EAavG,OAZL,EAAI7B,EAAKnB,SAAS,yCAA0C,CAC1D6C,WACAC,sBAEK,CACLC,EAAGF,EAASE,EACZC,EAAGH,EAASG,EACZF,kBAAmB,IACdD,IAKX,CACA,WAAAnI,CAAYuD,GACVgF,MAAMhF,GACN4D,EAAgB9K,KAAM,eAAe,CAACzH,EAAG4T,KAMvC,IALA,EAAI/B,EAAKnB,SAAS,6BAA8BkD,IAK5B,IAFAnM,KAAKkH,MAAMkF,QAAQ7T,GAAG,EAAI2R,EAAamC,qBAAqBrM,KAAMmM,IAE3D,OAAO,EAClCnM,KAAKsM,SAAS,CACZC,UAAU,EACVC,SAAS,GACT,IAEJ1B,EAAgB9K,KAAM,UAAU,CAACzH,EAAG4T,KAClC,IAAKnM,KAAKyM,MAAMF,SAAU,OAAO,GACjC,EAAInC,EAAKnB,SAAS,wBAAyBkD,GAC3C,MAAMO,GAAS,EAAIxC,EAAamC,qBAAqBrM,KAAMmM,GACrDQ,EAAW,CACfX,EAAGU,EAAOV,EACVC,EAAGS,EAAOT,EACVW,OAAQ,EACRC,OAAQ,GAIV,GAAI7M,KAAKkH,MAAM4F,OAAQ,CAErB,MAAM,EACJd,EAAC,EACDC,GACEU,EAKJA,EAASX,GAAKhM,KAAKyM,MAAMG,OACzBD,EAASV,GAAKjM,KAAKyM,MAAMI,OAGzB,MAAOE,EAAWC,IAAa,EAAI9C,EAAa+C,kBAAkBjN,KAAM2M,EAASX,EAAGW,EAASV,GAC7FU,EAASX,EAAIe,EACbJ,EAASV,EAAIe,EAGbL,EAASC,OAAS5M,KAAKyM,MAAMG,QAAUZ,EAAIW,EAASX,GACpDW,EAASE,OAAS7M,KAAKyM,MAAMI,QAAUZ,EAAIU,EAASV,GAGpDS,EAAOV,EAAIW,EAASX,EACpBU,EAAOT,EAAIU,EAASV,EACpBS,EAAOQ,OAASP,EAASX,EAAIhM,KAAKyM,MAAMT,EACxCU,EAAOS,OAASR,EAASV,EAAIjM,KAAKyM,MAAMR,CAC1C,CAIA,IAAqB,IADAjM,KAAKkH,MAAMkG,OAAO7U,EAAGmU,GACd,OAAO,EACnC1M,KAAKsM,SAASK,EAAS,IAEzB7B,EAAgB9K,KAAM,cAAc,CAACzH,EAAG4T,KACtC,IAAKnM,KAAKyM,MAAMF,SAAU,OAAO,EAIjC,IAAuB,IADAvM,KAAKkH,MAAMmG,OAAO9U,GAAG,EAAI2R,EAAamC,qBAAqBrM,KAAMmM,IAC1D,OAAO,GACrC,EAAI/B,EAAKnB,SAAS,4BAA6BkD,GAC/C,MAAMQ,EAAyC,CAC7CJ,UAAU,EACVK,OAAQ,EACRC,OAAQ,GAMV,GADmBS,QAAQtN,KAAKkH,MAAM4E,UACtB,CACd,MAAM,EACJE,EAAC,EACDC,GACEjM,KAAKkH,MAAM4E,SACfa,EAASX,EAAIA,EACbW,EAASV,EAAIA,CACf,CACAjM,KAAKsM,SAASK,EAAS,IAEzB3M,KAAKyM,MAAQ,CAEXF,UAAU,EAEVC,SAAS,EAETR,EAAG9E,EAAM4E,SAAW5E,EAAM4E,SAASE,EAAI9E,EAAMqG,gBAAgBvB,EAC7DC,EAAG/E,EAAM4E,SAAW5E,EAAM4E,SAASG,EAAI/E,EAAMqG,gBAAgBtB,EAC7DF,kBAAmB,IACd7E,EAAM4E,UAGXc,OAAQ,EACRC,OAAQ,EAERW,cAAc,IAEZtG,EAAM4E,UAAc5E,EAAMkG,QAAUlG,EAAMmG,QAE5CI,QAAQC,KAAK,4NAEjB,CACA,iBAAAC,QAEmC,IAAtBC,OAAOC,YAA8B7N,KAAK8N,wBAAyBF,OAAOC,YACnF7N,KAAKsM,SAAS,CACZkB,cAAc,GAGpB,CACA,oBAAAO,GACE/N,KAAKsM,SAAS,CACZC,UAAU,GAEd,CAIA,WAAAuB,GACE,IAAIE,EAAuBC,EAC3B,OAA4M,QAApMD,EAAuD,QAA9BC,EAAcjO,KAAKkH,aAAmC,IAAhB+G,GAAkE,QAAvCA,EAAcA,EAAYC,eAAqC,IAAhBD,OAAyB,EAASA,EAAYE,eAA+C,IAA1BH,EAAmCA,EAAwBjE,EAAUd,QAAQ6E,YAAY9N,KAC/S,CACA,MAAAoO,GACE,MAAM,KACJC,EAAI,OACJvB,EAAM,SACNwB,EAAQ,gBACRf,EAAe,iBACfgB,EAAgB,yBAChBC,EAAwB,wBACxBC,EAAuB,SACvB3C,EAAQ,eACR4C,EAAc,MACdC,KACGC,GACD5O,KAAKkH,MACT,IAAI2H,EAAQ,CAAC,EACTC,EAAe,KAGnB,MACMC,GADazB,QAAQxB,IACM9L,KAAKyM,MAAMF,SACtCyC,EAAgBlD,GAAYyB,EAC5B0B,EAAgB,CAEpBjD,GAAG,EAAI9B,EAAagF,UAAUlP,OAAS+O,EAAY/O,KAAKyM,MAAMT,EAAIgD,EAAchD,EAEhFC,GAAG,EAAI/B,EAAaiF,UAAUnP,OAAS+O,EAAY/O,KAAKyM,MAAMR,EAAI+C,EAAc/C,GAI9EjM,KAAKyM,MAAMe,aACbsB,GAAe,EAAI7E,EAAQmF,oBAAoBH,EAAeP,GAM9DG,GAAQ,EAAI5E,EAAQoF,oBAAoBJ,EAAeP,GAIzD,MAAMY,GAAY,EAAItF,EAAMf,SAASqF,EAASpH,MAAMoI,WAAa,GAAIf,EAAkB,CACrF,CAACC,GAA2BxO,KAAKyM,MAAMF,SACvC,CAACkC,GAA0BzO,KAAKyM,MAAMD,UAKxC,OAAoBtD,EAAMqG,cAAcvG,EAAeC,QAASsB,EAAS,CAAC,EAAGqE,EAAoB,CAC/FxC,QAASpM,KAAKwP,YACdpC,OAAQpN,KAAKoN,OACbC,OAAQrN,KAAKyP,aACEvG,EAAMwG,aAAaxG,EAAMyG,SAASC,KAAKtB,GAAW,CACjEgB,UAAWA,EACXT,MAAO,IACFP,EAASpH,MAAM2H,SACfA,GAEL/R,UAAWgS,IAEf,EAEF1T,EAAA,QAAkBqQ,EAClBX,EAAgBW,EAAW,cAAe,aAC1CX,EAAgBW,EAAW,YAAa,IAEnCzC,EAAeC,QAAQ4G,UAc1BxB,KAAMxE,EAAWZ,QAAQT,MAAM,CAAC,OAAQ,IAAK,IAAK,SA2BlDsE,OAAQjD,EAAWZ,QAAQR,UAAU,CAACoB,EAAWZ,QAAQP,MAAM,CAC7DoH,KAAMjG,EAAWZ,QAAQlB,OACzBgI,MAAOlG,EAAWZ,QAAQlB,OAC1BiI,IAAKnG,EAAWZ,QAAQlB,OACxBkI,OAAQpG,EAAWZ,QAAQlB,SACzB8B,EAAWZ,QAAQjB,OAAQ6B,EAAWZ,QAAQT,MAAM,EAAC,MACzD+F,iBAAkB1E,EAAWZ,QAAQjB,OACrCwG,yBAA0B3E,EAAWZ,QAAQjB,OAC7CyG,wBAAyB5E,EAAWZ,QAAQjB,OAkB5CuF,gBAAiB1D,EAAWZ,QAAQP,MAAM,CACxCsD,EAAGnC,EAAWZ,QAAQlB,OACtBkE,EAAGpC,EAAWZ,QAAQlB,SAExB2G,eAAgB7E,EAAWZ,QAAQP,MAAM,CACvCsD,EAAGnC,EAAWZ,QAAQR,UAAU,CAACoB,EAAWZ,QAAQlB,OAAQ8B,EAAWZ,QAAQjB,SAC/EiE,EAAGpC,EAAWZ,QAAQR,UAAU,CAACoB,EAAWZ,QAAQlB,OAAQ8B,EAAWZ,QAAQjB,WAsBjF8D,SAAUjC,EAAWZ,QAAQP,MAAM,CACjCsD,EAAGnC,EAAWZ,QAAQlB,OACtBkE,EAAGpC,EAAWZ,QAAQlB,SAKxBuH,UAAWnF,EAAO+F,UAClBrB,MAAO1E,EAAO+F,UACdpT,UAAWqN,EAAO+F,YAEpBpF,EAAgBW,EAAW,eAAgB,IACtCzC,EAAeC,QAAQkH,aAC1B9B,KAAM,OACNvB,QAAQ,EACRyB,iBAAkB,kBAClBC,yBAA0B,2BAC1BC,wBAAyB,0BACzBlB,gBAAiB,CACfvB,EAAG,EACHC,EAAG,GAEL0C,MAAO,G,6BCvYT7T,OAAOgO,eAAe1N,EAAS,aAAc,CAC3CoB,OAAO,IAETpB,EAAA,aAAkB,EAClB,IAAI8N,EASJ,SAAiCC,EAAKC,GAAe,GAAoBD,GAAOA,EAAIE,WAAc,OAAOF,EAAO,GAAY,OAARA,GAA+B,iBAARA,GAAmC,mBAARA,EAAsB,MAAO,CAAEF,QAASE,GAAS,IAAIG,EAAQC,EAAyBH,GAAc,GAAIE,GAASA,EAAMlF,IAAI+E,GAAQ,OAAOG,EAAMzG,IAAIsG,GAAQ,IAAIK,EAAS,CAAC,EAAOC,EAAwB3O,OAAOgO,gBAAkBhO,OAAO4O,yBAA0B,IAAK,IAAIjN,KAAO0M,EAAO,GAAY,YAAR1M,GAAqB3B,OAAOkC,UAAUM,eAAeQ,KAAKqL,EAAK1M,GAAM,CAAE,IAAIkN,EAAOF,EAAwB3O,OAAO4O,yBAAyBP,EAAK1M,GAAO,KAAUkN,IAASA,EAAK9G,KAAO8G,EAAKhN,KAAQ7B,OAAOgO,eAAeU,EAAQ/M,EAAKkN,GAAgBH,EAAO/M,GAAO0M,EAAI1M,EAAQ,CAAiE,OAA7D+M,EAAOP,QAAUE,EAASG,GAASA,EAAM3M,IAAIwM,EAAKK,GAAkBA,CAAQ,CATvxBI,CAAwB,EAAQ,MACxCC,EAAaC,EAAuB,EAAQ,MAC5CC,EAAYD,EAAuB,EAAQ,MAC3CG,EAAU,EAAQ,IAClBC,EAAe,EAAQ,KACvBC,EAAS,EAAQ,KACjBC,EAAON,EAAuB,EAAQ,MAC1C,SAASA,EAAuBX,GAAO,OAAOA,GAAOA,EAAIE,WAAaF,EAAM,CAAEF,QAASE,EAAO,CAC9F,SAASI,EAAyBH,GAAe,GAAuB,mBAAZjK,QAAwB,OAAO,KAAM,IAAIkL,EAAoB,IAAIlL,QAAemL,EAAmB,IAAInL,QAAW,OAAQoK,EAA2B,SAAUH,GAAe,OAAOA,EAAckB,EAAmBD,CAAmB,GAAGjB,EAAc,CAEtT,SAAS0B,EAAgB3B,EAAK1M,EAAKD,GAA4L,OAAnLC,EAC5C,SAAwBoC,GAAO,IAAIpC,EACnC,SAAsBsO,EAAOC,GAAQ,GAAqB,iBAAVD,GAAgC,OAAVA,EAAgB,OAAOA,EAAO,IAAIE,EAAOF,EAAM7M,OAAOgN,aAAc,QAAajN,IAATgN,EAAoB,CAAE,IAAIE,EAAMF,EAAKnN,KAAKiN,EAAOC,UAAoB,GAAmB,iBAARG,EAAkB,OAAOA,EAAK,MAAM,IAAIC,UAAU,+CAAiD,CAAE,OAA4B1E,OAAiBqE,EAAQ,CAD/UM,CAAaxM,GAAgB,MAAsB,iBAARpC,EAAmBA,EAAMiK,OAAOjK,EAAM,CADxE6O,CAAe7O,MAAiB0M,EAAOrO,OAAOgO,eAAeK,EAAK1M,EAAK,CAAED,MAAOA,EAAOuM,YAAY,EAAMwC,cAAc,EAAMC,UAAU,IAAkBrC,EAAI1M,GAAOD,EAAgB2M,CAAK,CAM3O,MAAMiH,EACG,CACLC,MAAO,aACPC,KAAM,YACNC,KAAM,YAJJH,EAMG,CACLC,MAAO,YACPC,KAAM,YACNC,KAAM,WAKV,IAAIC,EAAeJ,EAoCnB,MAAMK,UAAsBvH,EAAMwC,UAChC,WAAA/H,GACEuI,SAASnT,WACT+R,EAAgB9K,KAAM,YAAY,GAElC8K,EAAgB9K,KAAM,QAAS0Q,KAC/B5F,EAAgB9K,KAAM,QAAS0Q,KAC/B5F,EAAgB9K,KAAM,kBAAmB,MACzC8K,EAAgB9K,KAAM,WAAW,GACjC8K,EAAgB9K,KAAM,mBAAmBzH,IAKvC,GAHAyH,KAAKkH,MAAMyJ,YAAYpY,IAGlByH,KAAKkH,MAAM0J,eAAqC,iBAAbrY,EAAEsY,QAAoC,IAAbtY,EAAEsY,OAAc,OAAO,EAGxF,MAAMC,EAAW9Q,KAAK8N,cACtB,IAAKgD,IAAaA,EAASC,gBAAkBD,EAASC,cAAcC,KAClE,MAAM,IAAIvJ,MAAM,6CAElB,MAAM,cACJsJ,GACED,EAGJ,GAAI9Q,KAAKkH,MAAM+J,YAAc1Y,EAAEmS,kBAAkBqG,EAAcG,YAAYC,OAASnR,KAAKkH,MAAMkK,UAAW,EAAInH,EAAQoH,6BAA6B9Y,EAAEmS,OAAQ1K,KAAKkH,MAAMkK,OAAQN,IAAa9Q,KAAKkH,MAAMoK,SAAU,EAAIrH,EAAQoH,6BAA6B9Y,EAAEmS,OAAQ1K,KAAKkH,MAAMoK,OAAQR,GACtR,OAKa,eAAXvY,EAAEsM,MAAuBtM,EAAEgZ,iBAK/B,MAAMC,GAAkB,EAAIvH,EAAQwH,oBAAoBlZ,GACxDyH,KAAKwR,gBAAkBA,EAGvB,MAAM1F,GAAW,EAAI5B,EAAawH,oBAAoBnZ,EAAGiZ,EAAiBxR,MAC1E,GAAgB,MAAZ8L,EAAkB,OACtB,MAAM,EACJE,EAAC,EACDC,GACEH,EAGE6F,GAAY,EAAIzH,EAAa0H,gBAAgB5R,KAAMgM,EAAGC,IAC5D,EAAI7B,EAAKnB,SAAS,qCAAsC0I,IAGxD,EAAIvH,EAAKnB,SAAS,UAAWjJ,KAAKkH,MAAMkF,UAEnB,IADApM,KAAKkH,MAAMkF,QAAQ7T,EAAGoZ,KACI,IAAjB3R,KAAK6R,UAI/B7R,KAAKkH,MAAM4K,uBAAsB,EAAI7H,EAAQ8H,qBAAqBhB,GAKtE/Q,KAAKuM,UAAW,EAChBvM,KAAKgS,MAAQhG,EACbhM,KAAKiS,MAAQhG,GAKb,EAAIhC,EAAQiI,UAAUnB,EAAeP,EAAaF,KAAMtQ,KAAKmS,aAC7D,EAAIlI,EAAQiI,UAAUnB,EAAeP,EAAaD,KAAMvQ,KAAKoS,gBAAe,IAE9EtH,EAAgB9K,KAAM,cAAczH,IAElC,MAAMuT,GAAW,EAAI5B,EAAawH,oBAAoBnZ,EAAGyH,KAAKwR,gBAAiBxR,MAC/E,GAAgB,MAAZ8L,EAAkB,OACtB,IAAI,EACFE,EAAC,EACDC,GACEH,EAGJ,GAAInT,MAAMC,QAAQoH,KAAKkH,MAAMmL,MAAO,CAClC,IAAInF,EAASlB,EAAIhM,KAAKgS,MACpB7E,EAASlB,EAAIjM,KAAKiS,MAEpB,IADC/E,EAAQC,IAAU,EAAIjD,EAAaoI,YAAYtS,KAAKkH,MAAMmL,KAAMnF,EAAQC,IACpED,IAAWC,EAAQ,OACxBnB,EAAIhM,KAAKgS,MAAQ9E,EAAQjB,EAAIjM,KAAKiS,MAAQ9E,CAC5C,CACA,MAAMwE,GAAY,EAAIzH,EAAa0H,gBAAgB5R,KAAMgM,EAAGC,GAK5D,IAJA,EAAI7B,EAAKnB,SAAS,gCAAiC0I,IAI9B,IADA3R,KAAKkH,MAAMkG,OAAO7U,EAAGoZ,KACK,IAAjB3R,KAAK6R,QAcnC7R,KAAKgS,MAAQhG,EACbhM,KAAKiS,MAAQhG,OAdX,IAEEjM,KAAKoS,eAAe,IAAIG,WAAW,WACrC,CAAE,MAAO/K,GAEP,MAAMgL,EAAUC,SAASC,YAAY,eAGrCF,EAAMG,eAAe,WAAW,GAAM,EAAM/E,OAAQ,EAAG,EAAG,EAAG,EAAG,GAAG,GAAO,GAAO,GAAO,EAAO,EAAG,MAClG5N,KAAKoS,eAAeI,EACtB,CAIY,IAEhB1H,EAAgB9K,KAAM,kBAAkBzH,IACtC,IAAKyH,KAAKuM,SAAU,OACpB,MAAMT,GAAW,EAAI5B,EAAawH,oBAAoBnZ,EAAGyH,KAAKwR,gBAAiBxR,MAC/E,GAAgB,MAAZ8L,EAAkB,OACtB,IAAI,EACFE,EAAC,EACDC,GACEH,EAGJ,GAAInT,MAAMC,QAAQoH,KAAKkH,MAAMmL,MAAO,CAClC,IAAInF,EAASlB,EAAIhM,KAAKgS,OAAS,EAC3B7E,EAASlB,EAAIjM,KAAKiS,OAAS,GAC9B/E,EAAQC,IAAU,EAAIjD,EAAaoI,YAAYtS,KAAKkH,MAAMmL,KAAMnF,EAAQC,GACzEnB,EAAIhM,KAAKgS,MAAQ9E,EAAQjB,EAAIjM,KAAKiS,MAAQ9E,CAC5C,CACA,MAAMwE,GAAY,EAAIzH,EAAa0H,gBAAgB5R,KAAMgM,EAAGC,GAI5D,IAAuB,IADAjM,KAAKkH,MAAMmG,OAAO9U,EAAGoZ,KACK,IAAjB3R,KAAK6R,QAAmB,OAAO,EAC/D,MAAMf,EAAW9Q,KAAK8N,cAClBgD,GAEE9Q,KAAKkH,MAAM4K,uBAAsB,EAAI7H,EAAQ2I,wBAAwB9B,EAASC,gBAEpF,EAAI3G,EAAKnB,SAAS,oCAAqC0I,GAGvD3R,KAAKuM,UAAW,EAChBvM,KAAKgS,MAAQtB,IACb1Q,KAAKiS,MAAQvB,IACTI,KAEF,EAAI1G,EAAKnB,SAAS,qCAClB,EAAIgB,EAAQ4I,aAAa/B,EAASC,cAAeP,EAAaF,KAAMtQ,KAAKmS,aACzE,EAAIlI,EAAQ4I,aAAa/B,EAASC,cAAeP,EAAaD,KAAMvQ,KAAKoS,gBAC3E,IAEFtH,EAAgB9K,KAAM,eAAezH,IACnCiY,EAAeJ,EAERpQ,KAAK8S,gBAAgBva,MAE9BuS,EAAgB9K,KAAM,aAAazH,IACjCiY,EAAeJ,EACRpQ,KAAKoS,eAAe7Z,MAG7BuS,EAAgB9K,KAAM,gBAAgBzH,IAEpCiY,EAAeJ,EACRpQ,KAAK8S,gBAAgBva,MAE9BuS,EAAgB9K,KAAM,cAAczH,IAElCiY,EAAeJ,EACRpQ,KAAKoS,eAAe7Z,KAE/B,CACA,iBAAAoV,GACE3N,KAAK6R,SAAU,EAGf,MAAMf,EAAW9Q,KAAK8N,cAClBgD,IACF,EAAI7G,EAAQiI,UAAUpB,EAAUV,EAAgBC,MAAOrQ,KAAK+S,aAAc,CACxEC,SAAS,GAGf,CACA,oBAAAjF,GACE/N,KAAK6R,SAAU,EAGf,MAAMf,EAAW9Q,KAAK8N,cACtB,GAAIgD,EAAU,CACZ,MAAM,cACJC,GACED,GACJ,EAAI7G,EAAQ4I,aAAa9B,EAAeX,EAAgBE,KAAMtQ,KAAKmS,aACnE,EAAIlI,EAAQ4I,aAAa9B,EAAeX,EAAgBE,KAAMtQ,KAAKmS,aACnE,EAAIlI,EAAQ4I,aAAa9B,EAAeX,EAAgBG,KAAMvQ,KAAKoS,iBACnE,EAAInI,EAAQ4I,aAAa9B,EAAeX,EAAgBG,KAAMvQ,KAAKoS,iBACnE,EAAInI,EAAQ4I,aAAa/B,EAAUV,EAAgBC,MAAOrQ,KAAK+S,aAAc,CAC3EC,SAAS,IAEPhT,KAAKkH,MAAM4K,uBAAsB,EAAI7H,EAAQ2I,wBAAwB7B,EAC3E,CACF,CAIA,WAAAjD,GACE,IAAIG,EAAagF,EACjB,OAAsC,QAA9BhF,EAAcjO,KAAKkH,aAAmC,IAAhB+G,GAA0BA,EAAYC,QAA0C,QAA/B+E,EAAejT,KAAKkH,aAAoC,IAAjB+L,GAAqE,QAAzCA,EAAeA,EAAa/E,eAAsC,IAAjB+E,OAA0B,EAASA,EAAa9E,QAAUpE,EAAUd,QAAQ6E,YAAY9N,KAC7S,CACA,MAAAoO,GAGE,OAAoBlF,EAAMwG,aAAaxG,EAAMyG,SAASC,KAAK5P,KAAKkH,MAAMoH,UAAW,CAG/EqC,YAAa3Q,KAAK2Q,YAClBuC,UAAWlT,KAAKkT,UAIhBC,WAAYnT,KAAKmT,YAErB,EAEF/X,EAAA,QAAkBqV,EAClB3F,EAAgB2F,EAAe,cAAe,iBAC9C3F,EAAgB2F,EAAe,YAAa,CAO1CG,cAAe/G,EAAWZ,QAAQnB,KAClCwG,SAAUzE,EAAWZ,QAAQX,KAAKX,WAKlCsJ,SAAUpH,EAAWZ,QAAQnB,KAM7BgK,qBAAsBjI,EAAWZ,QAAQnB,KAKzCsL,aAAc,SAAUlM,EAAgCC,GACtD,GAAID,EAAMC,IAA0C,IAA7BD,EAAMC,GAAU9L,SACrC,MAAM,IAAIoM,MAAM,+CAEpB,EAIA4K,KAAMxI,EAAWZ,QAAQf,QAAQ2B,EAAWZ,QAAQlB,QAqBpDqJ,OAAQvH,EAAWZ,QAAQjB,OAqB3BsJ,OAAQzH,EAAWZ,QAAQjB,OAkB3BkG,QAASrE,EAAWZ,QAAQvH,OAK5B0K,QAASvC,EAAWZ,QAAQpM,KAK5BuQ,OAAQvD,EAAWZ,QAAQpM,KAK3BwQ,OAAQxD,EAAWZ,QAAQpM,KAK3B8T,YAAa9G,EAAWZ,QAAQpM,KAIhC8R,MAAO9E,EAAWZ,QAAQlB,OAI1BuH,UAAWnF,EAAO+F,UAClBrB,MAAO1E,EAAO+F,UACdpT,UAAWqN,EAAO+F,YAEpBpF,EAAgB2F,EAAe,eAAgB,CAC7CG,eAAe,EAEfK,UAAU,EACVa,sBAAsB,EACtB1F,QAAS,WAAa,EACtBgB,OAAQ,WAAa,EACrBC,OAAQ,WAAa,EACrBsD,YAAa,WAAa,EAC1BhC,MAAO,G,6BC9aT,MACE1F,QAASwC,EAAS,cAClBgF,GACE,EAAQ,KAKZlV,EAAOH,QAAUqQ,EACjBlQ,EAAOH,QAAP,QAAyBqQ,EACzBlQ,EAAOH,QAAQqV,cAAgBA,C,4BCV/B3V,OAAOgO,eAAe1N,EAAS,aAAc,CAC3CoB,OAAO,IAETpB,EAAQiY,aAAeA,EACvBjY,EAAQ8W,SAkDR,SAAkBoB,EAAgBd,EAAoBe,EAAwBC,GAC5E,IAAKF,EAAI,OACT,MAAMG,EAAU,CACdC,SAAS,KACNF,GAGDF,EAAGK,iBACLL,EAAGK,iBAAiBnB,EAAOe,EAASE,GAC3BH,EAAGM,YACZN,EAAGM,YAAY,KAAOpB,EAAOe,GAG7BD,EAAG,KAAOd,GAASe,CAEvB,EAhEAnY,EAAQ2W,oBAsKR,SAA6B8B,GAC3B,IAAKA,EAAK,OACV,IAAIC,EAAUD,EAAIE,eAAe,4BAC5BD,IACHA,EAAUD,EAAItE,cAAc,SAC5BuE,EAAQjP,KAAO,WACfiP,EAAQE,GAAK,2BACbF,EAAQG,UAAY,6EACpBH,EAAQG,WAAa,wEACrBJ,EAAIK,qBAAqB,QAAQ,GAAGC,YAAYL,IAE9CD,EAAI7C,MAAMqC,EAAaQ,EAAI7C,KAAM,wCACvC,EAjLA5V,EAAQiU,mBAiIR,SAA4B+E,EAAkC1F,GAC5D,MAAM2F,EAAcC,EAAeF,EAAY1F,EAAgB,MAC/D,MAAO,CACL,EAAC,EAAI6F,EAAWC,oBAAoB,YAAaD,EAAWtL,UAAWoL,EAE3E,EArIAjZ,EAAQgU,mBAsIR,SAA4BgF,EAAkC1F,GAE5D,OADoB4F,EAAeF,EAAY1F,EAAgB,GAEjE,EAxIAtT,EAAQqZ,SAsJR,SAAkBlc,EAAyBmc,GACzC,OAAOnc,EAAEoc,gBAAiB,EAAIxK,EAAOyK,aAAarc,EAAEoc,eAAenc,GAAKkc,IAAelc,EAAEkc,cAAenc,EAAEsc,iBAAkB,EAAI1K,EAAOyK,aAAarc,EAAEsc,gBAAgBrc,GAAKkc,IAAelc,EAAEkc,YAC9L,EAvJAtZ,EAAQqW,mBAwJR,SAA4BlZ,GAC1B,OAAIA,EAAEoc,eAAiBpc,EAAEoc,cAAc,GAAWpc,EAAEoc,cAAc,GAAGD,WACjEnc,EAAEsc,gBAAkBtc,EAAEsc,eAAe,GAAWtc,EAAEsc,eAAe,GAAGH,gBAAxE,CACF,EA1JAtZ,EAAQkZ,eAAiBA,EACzBlZ,EAAQ0Z,YA6FR,SAAqBxM,GACnB,IAAIyM,EAASzM,EAAK0M,aAClB,MAAMC,EAAgB3M,EAAKyI,cAAcG,YAAYgE,iBAAiB5M,GAGtE,OAFAyM,IAAU,EAAI5K,EAAOgL,KAAKF,EAAcG,YACxCL,IAAU,EAAI5K,EAAOgL,KAAKF,EAAcI,eACjCN,CACT,EAlGA3Z,EAAQka,WAmGR,SAAoBhN,GAClB,IAAIiN,EAAQjN,EAAKkN,YACjB,MAAMP,EAAgB3M,EAAKyI,cAAcG,YAAYgE,iBAAiB5M,GAGtE,OAFAiN,IAAS,EAAIpL,EAAOgL,KAAKF,EAAcQ,aACvCF,IAAS,EAAIpL,EAAOgL,KAAKF,EAAcS,cAChCH,CACT,EAxGAna,EAAQua,gBAAkBA,EAC1Bva,EAAQiW,4BA8BR,SAAqCiC,EAAesC,EAAuBC,GACzE,IAAIvN,EAAOgL,EACX,EAAG,CACD,GAAIqC,EAAgBrN,EAAMsN,GAAW,OAAO,EAC5C,GAAItN,IAASuN,EAAU,OAAO,EAE9BvN,EAAOA,EAAKwN,UACd,OAASxN,GACT,OAAO,CACT,EAtCAlN,EAAQ2a,mBA2GR,SAA4BC,EAA2B5C,EAAgCzE,GACrF,MACMsH,EADS7C,IAAiBA,EAAarC,cAAcC,KACzB,CAChClB,KAAM,EACNE,IAAK,GACHoD,EAAa8C,wBAGjB,MAAO,CACLlK,GAHSgK,EAAIG,QAAU/C,EAAagD,WAAaH,EAAiBnG,MAAQnB,EAI1E1C,GAHS+J,EAAIK,QAAUjD,EAAakD,UAAYL,EAAiBjG,KAAOrB,EAK5E,EAtHAvT,EAAQmb,YAsER,SAAqBjO,GAGnB,IAAIyM,EAASzM,EAAK0M,aAClB,MAAMC,EAAgB3M,EAAKyI,cAAcG,YAAYgE,iBAAiB5M,GAGtE,OAFAyM,IAAU,EAAI5K,EAAOgL,KAAKF,EAAcuB,gBACxCzB,IAAU,EAAI5K,EAAOgL,KAAKF,EAAcwB,mBACjC1B,CACT,EA7EA3Z,EAAQsb,WA8ER,SAAoBpO,GAGlB,IAAIiN,EAAQjN,EAAKkN,YACjB,MAAMP,EAAgB3M,EAAKyI,cAAcG,YAAYgE,iBAAiB5M,GAGtE,OAFAiN,IAAS,EAAIpL,EAAOgL,KAAKF,EAAc0B,iBACvCpB,IAAS,EAAIpL,EAAOgL,KAAKF,EAAc2B,kBAChCrB,CACT,EArFAna,EAAQyb,gBAAkBA,EAC1Bzb,EAAQyX,YAmDR,SAAqBS,EAAgBd,EAAoBe,EAAwBC,GAC/E,IAAKF,EAAI,OACT,MAAMG,EAAU,CACdC,SAAS,KACNF,GAGDF,EAAGwD,oBACLxD,EAAGwD,oBAAoBtE,EAAOe,EAASE,GAC9BH,EAAGyD,YACZzD,EAAGyD,YAAY,KAAOvE,EAAOe,GAG7BD,EAAG,KAAOd,GAAS,IAEvB,EAjEApX,EAAQwX,uBAoKR,SAAgCiB,GAC9B,GAAKA,EACL,IAGE,GAFIA,EAAI7C,MAAM6F,EAAgBhD,EAAI7C,KAAM,yCAEpC6C,EAAImD,UAENnD,EAAImD,UAAUC,YACT,CAGL,MAAMD,GAAanD,EAAI3C,aAAetD,QAAQsJ,eAC1CF,GAAgC,UAAnBA,EAAUnS,MACzBmS,EAAUG,iBAEd,CACF,CAAE,MAAO5e,GAET,CACF,EAtLA,IAAI4R,EAAS,EAAQ,KACjBoK,EAEJ,SAAiCpL,EAAKC,GAAe,GAAoBD,GAAOA,EAAIE,WAAc,OAAOF,EAAO,GAAY,OAARA,GAA+B,iBAARA,GAAmC,mBAARA,EAAsB,MAAO,CAAEF,QAASE,GAAS,IAAIG,EAAQC,EAAyBH,GAAc,GAAIE,GAASA,EAAMlF,IAAI+E,GAAQ,OAAOG,EAAMzG,IAAIsG,GAAQ,IAAIK,EAAS,CAAC,EAAOC,EAAwB3O,OAAOgO,gBAAkBhO,OAAO4O,yBAA0B,IAAK,IAAIjN,KAAO0M,EAAO,GAAY,YAAR1M,GAAqB3B,OAAOkC,UAAUM,eAAeQ,KAAKqL,EAAK1M,GAAM,CAAE,IAAIkN,EAAOF,EAAwB3O,OAAO4O,yBAAyBP,EAAK1M,GAAO,KAAUkN,IAASA,EAAK9G,KAAO8G,EAAKhN,KAAQ7B,OAAOgO,eAAeU,EAAQ/M,EAAKkN,GAAgBH,EAAO/M,GAAO0M,EAAI1M,EAAQ,CAAiE,OAA7D+M,EAAOP,QAAUE,EAASG,GAASA,EAAM3M,IAAIwM,EAAKK,GAAkBA,CAAQ,CAFlxBI,CAAwB,EAAQ,MACjD,SAASL,EAAyBH,GAAe,GAAuB,mBAAZjK,QAAwB,OAAO,KAAM,IAAIkL,EAAoB,IAAIlL,QAAemL,EAAmB,IAAInL,QAAW,OAAQoK,EAA2B,SAAUH,GAAe,OAAOA,EAAckB,EAAmBD,CAAmB,GAAGjB,EAAc,CAGtT,IAAIgO,EAAsB,GAC1B,SAASzB,EAAgBrC,EAAesC,GAUtC,OATKwB,IACHA,GAAsB,EAAIjN,EAAOyK,aAAa,CAAC,UAAW,wBAAyB,qBAAsB,oBAAqB,qBAAqB,SAAUyC,GAE3J,OAAO,EAAIlN,EAAOlF,YAAYqO,EAAG+D,GACnC,QAKG,EAAIlN,EAAOlF,YAAYqO,EAAG8D,KAGxB9D,EAAG8D,GAAqBxB,EACjC,CAwGA,SAAStB,EAAe1I,EAAc8C,EAAoD4I,GACxF,IAAI,EACFtL,EAAC,EACDC,GACwBL,EACtByI,EAAc,aAAakD,OAAOvL,GAAGuL,OAAOD,EAAY,KAAKC,OAAOtL,GAAGsL,OAAOD,EAAY,KAC9F,GAAI5I,EAAgB,CAClB,MAAM8I,EAAW,GAAGD,OAAmC,iBAArB7I,EAAe1C,EAAiB0C,EAAe1C,EAAI0C,EAAe1C,EAAIsL,GAClGG,EAAW,GAAGF,OAAmC,iBAArB7I,EAAezC,EAAiByC,EAAezC,EAAIyC,EAAezC,EAAIqL,GACxGjD,EAAc,aAAakD,OAAOC,EAAU,MAAMD,OAAOE,EAAU,KAAOpD,CAC5E,CACA,OAAOA,CACT,CA+CA,SAAShB,EAAaC,EAAsBhE,GACtCgE,EAAGoE,UACLpE,EAAGoE,UAAUlX,IAAI8O,GAEZgE,EAAGhE,UAAUqI,MAAM,IAAI9Z,OAAO,YAAY0Z,OAAOjI,EAAW,eAC/DgE,EAAGhE,WAAa,IAAIiI,OAAOjI,GAGjC,CACA,SAASuH,EAAgBvD,EAAsBhE,GACzCgE,EAAGoE,UACLpE,EAAGoE,UAAUE,OAAOtI,GAEpBgE,EAAGhE,UAAYgE,EAAGhE,UAAUvR,QAAQ,IAAIF,OAAO,YAAY0Z,OAAOjI,EAAW,WAAY,KAAM,GAEnG,C,2BC3NAxU,OAAOgO,eAAe1N,EAAS,aAAc,CAC3CoB,OAAO,IAETpB,EAAQoZ,mBAAqBA,EAC7BpZ,EAAQyc,qBAwBR,SAA8BC,EAAmBC,GAC/C,OAAOA,EAAS,IAAIR,OAAOQ,EAAOC,cAAe,KAAKT,OAAOO,GAAQA,CACvE,EAzBA1c,EAAA,aAAkB,EAClBA,EAAQ6c,UAAYA,EACpB,MAAMC,EAAW,CAAC,MAAO,SAAU,IAAK,MACxC,SAASD,IACP,IAAIE,EACJ,IAAIL,EAAoB/e,UAAUF,OAAS,QAAsBoF,IAAjBlF,UAAU,GAAmBA,UAAU,GAAK,YAG5F,GAAsB,oBAAX6U,OAAwB,MAAO,GAI1C,MAAMiB,EAAiD,QAAxCsJ,EAAmBvK,OAAO6E,gBAA2C,IAArB0F,GAAyF,QAAzDA,EAAmBA,EAAiBC,uBAAkD,IAArBD,OAA8B,EAASA,EAAiBtJ,MACxN,IAAKA,EAAO,MAAO,GACnB,GAAIiJ,KAAQjJ,EAAO,MAAO,GAC1B,IAAK,IAAIlE,EAAI,EAAGA,EAAIuN,EAASrf,OAAQ8R,IACnC,GAAI6J,EAAmBsD,EAAMI,EAASvN,MAAOkE,EAAO,OAAOqJ,EAASvN,GAEtE,MAAO,EACT,CACA,SAAS6J,EAAmBsD,EAAmBC,GAC7C,OAAOA,EAAS,GAAGR,OAAOQ,GAAQR,OAKpC,SAA0Bc,GACxB,IAAIC,EAAM,GACNC,GAAmB,EACvB,IAAK,IAAI5N,EAAI,EAAGA,EAAI0N,EAAIxf,OAAQ8R,IAC1B4N,GACFD,GAAOD,EAAI1N,GAAG6N,cACdD,GAAmB,GACC,MAAXF,EAAI1N,GACb4N,GAAmB,EAEnBD,GAAOD,EAAI1N,GAGf,OAAO2N,CACT,CAnB2CG,CAAiBX,IAASA,CACrE,CAuBe1c,EAAA,QAAmB6c,G,2BClDlCnd,OAAOgO,eAAe1N,EAAS,aAAc,CAC3CoB,OAAO,IAETpB,EAAA,QAEA,WAEA,C,6BCPAN,OAAOgO,eAAe1N,EAAS,aAAc,CAC3CoB,OAAO,IAETpB,EAAQ8T,SA8DR,SAAkBH,GAChB,MAAgC,SAAzBA,EAAU7H,MAAMmH,MAA4C,MAAzBU,EAAU7H,MAAMmH,IAC5D,EA/DAjT,EAAQ+T,SAgER,SAAkBJ,GAChB,MAAgC,SAAzBA,EAAU7H,MAAMmH,MAA4C,MAAzBU,EAAU7H,MAAMmH,IAC5D,EAjEAjT,EAAQwW,eA8ER,SAAwB7C,EAA+B/C,EAAgBC,GACrE,MAAMyM,IAAW,EAAIvO,EAAOwO,OAAO5J,EAAUiD,OACvC1J,EAAOwF,EAAYiB,GACzB,OAAI2J,EAEK,CACLpQ,OACA4E,OAAQ,EACRC,OAAQ,EACR6E,MAAOhG,EACPiG,MAAOhG,EACPD,IACAC,KAIK,CACL3D,OACA4E,OAAQlB,EAAI+C,EAAUiD,MACtB7E,OAAQlB,EAAI8C,EAAUkD,MACtBD,MAAOjD,EAAUiD,MACjBC,MAAOlD,EAAUkD,MACjBjG,IACAC,IAGN,EAvGA7Q,EAAQiR,oBA0GR,SAA6B0C,EAA2B5C,GACtD,MAAMwC,EAAQI,EAAU7H,MAAMyH,MAC9B,MAAO,CACLrG,KAAM6D,EAAS7D,KACf0D,EAAG+C,EAAUtC,MAAMT,EAAIG,EAASe,OAASyB,EACzC1C,EAAG8C,EAAUtC,MAAMR,EAAIE,EAASgB,OAASwB,EACzCzB,OAAQf,EAASe,OAASyB,EAC1BxB,OAAQhB,EAASgB,OAASwB,EAC1BqD,MAAOjD,EAAUtC,MAAMT,EACvBiG,MAAOlD,EAAUtC,MAAMR,EAE3B,EApHA7Q,EAAQ6R,iBAQR,SAA0B8B,EAA2B/C,EAAgBC,GAEnE,IAAK8C,EAAU7H,MAAM4F,OAAQ,MAAO,CAACd,EAAGC,GAGxC,IAAI,OACFa,GACEiC,EAAU7H,MACd4F,EAA2B,iBAAXA,EAAsBA,EAuGxC,SAAqBA,GACnB,MAAO,CACLgD,KAAMhD,EAAOgD,KACbE,IAAKlD,EAAOkD,IACZD,MAAOjD,EAAOiD,MACdE,OAAQnD,EAAOmD,OAEnB,CA9GiD2I,CAAY9L,GAC3D,MAAMxE,EAAOwF,EAAYiB,GACzB,GAAsB,iBAAXjC,EAAqB,CAC9B,MAAM,cACJiE,GACEzI,EACEuQ,EAAc9H,EAAcG,YAClC,IAAI4H,EAMJ,GAJEA,EADa,WAAXhM,EACUxE,EAAKwN,WAEL/E,EAAcgI,cAAcjM,KAEpCgM,aAAqBD,EAAYG,aACrC,MAAM,IAAIvR,MAAM,oBAAsBqF,EAAS,gCAEjD,MAAMmM,EAAgCH,EAChCI,EAAYL,EAAY3D,iBAAiB5M,GACzC6Q,EAAiBN,EAAY3D,iBAAiB+D,GAEpDnM,EAAS,CACPgD,MAAOxH,EAAK8Q,YAAa,EAAIjP,EAAOgL,KAAKgE,EAAe1D,cAAe,EAAItL,EAAOgL,KAAK+D,EAAUG,YACjGrJ,KAAM1H,EAAKgR,WAAY,EAAInP,EAAOgL,KAAKgE,EAAe/D,aAAc,EAAIjL,EAAOgL,KAAK+D,EAAUK,WAC9FxJ,OAAO,EAAI9F,EAAQqL,YAAY2D,IAAe,EAAIhP,EAAQyM,YAAYpO,GAAQA,EAAK8Q,YAAa,EAAIjP,EAAOgL,KAAKgE,EAAezD,eAAgB,EAAIvL,EAAOgL,KAAK+D,EAAUM,aACzKvJ,QAAQ,EAAIhG,EAAQ6K,aAAamE,IAAe,EAAIhP,EAAQsM,aAAajO,GAAQA,EAAKgR,WAAY,EAAInP,EAAOgL,KAAKgE,EAAe9D,gBAAiB,EAAIlL,EAAOgL,KAAK+D,EAAUO,cAEhL,CASA,OANI,EAAItP,EAAOwO,OAAO7L,EAAOiD,SAAQ/D,EAAI0N,KAAKC,IAAI3N,EAAGc,EAAOiD,SACxD,EAAI5F,EAAOwO,OAAO7L,EAAOmD,UAAShE,EAAIyN,KAAKC,IAAI1N,EAAGa,EAAOmD,UAGzD,EAAI9F,EAAOwO,OAAO7L,EAAOgD,QAAO9D,EAAI0N,KAAKE,IAAI5N,EAAGc,EAAOgD,QACvD,EAAI3F,EAAOwO,OAAO7L,EAAOkD,OAAM/D,EAAIyN,KAAKE,IAAI3N,EAAGa,EAAOkD,MACnD,CAAChE,EAAGC,EACb,EAnDA7Q,EAAQsW,mBAiER,SAA4BnZ,EAAyBiZ,EAA+BqI,GAClF,MAAMC,EAAsC,iBAApBtI,GAA+B,EAAIvH,EAAQwK,UAAUlc,EAAGiZ,GAAmB,KACnG,GAA+B,iBAApBA,IAAiCsI,EAAU,OAAO,KAC7D,MAAMxR,EAAOwF,EAAY+L,GAEnBzG,EAAeyG,EAAc3S,MAAMkM,cAAgB9K,EAAK8K,cAAgB9K,EAAKyI,cAAcC,KACjG,OAAO,EAAI/G,EAAQ8L,oBAAoB+D,GAAYvhB,EAAG6a,EAAcyG,EAAc3S,MAAMyH,MAC1F,EAvEAvT,EAAQkX,WAmDR,SAAoBD,EAA6B0H,EAAuBC,GAGtE,MAAO,CAFGN,KAAKO,MAAMF,EAAW1H,EAAK,IAAMA,EAAK,GACtCqH,KAAKO,MAAMD,EAAW3H,EAAK,IAAMA,EAAK,GAElD,EAtDA,IAAIlI,EAAS,EAAQ,KACjBF,EAAU,EAAQ,IA2HtB,SAAS6D,EAAYiB,GACnB,MAAMzG,EAAOyG,EAAUjB,cACvB,IAAKxF,EACH,MAAM,IAAIb,MAAM,4CAGlB,OAAOa,CACT,C,2BC7IAxN,OAAOgO,eAAe1N,EAAS,aAAc,CAC3CoB,OAAO,IAETpB,EAAQ8U,UAqBR,SAAmBhJ,EAAoBC,EAAuBC,GAC5D,GAAIF,EAAMC,GACR,OAAO,IAAIM,MAAM,gBAAgB8P,OAAOpQ,EAAU,eAAeoQ,OAAOnQ,EAAe,4CAE3F,EAxBAhM,EAAQwZ,YAKR,SAAqB5Y,EAAoCke,GACvD,IAAK,IAAIvP,EAAI,EAAG9R,EAASmD,EAAMnD,OAAQ8R,EAAI9R,EAAQ8R,IACjD,GAAIuP,EAASrP,MAAMqP,EAAU,CAACle,EAAM2O,GAAIA,EAAG3O,IAAS,OAAOA,EAAM2O,EAErE,EARAvP,EAAQ+Z,IAgBR,SAAagF,GACX,OAAOC,SAASD,EAAG,GACrB,EAjBA/e,EAAQ6J,WAQR,SAAoBpI,GAElB,MAAuB,mBAATA,GAAgE,sBAAzC/B,OAAOkC,UAAUK,SAASS,KAAKjB,EACtE,EAVAzB,EAAQud,MAWR,SAAe0B,GACb,MAAsB,iBAARA,IAAqBC,MAAMD,EAC3C,C,6BCpBA,SAASE,EAAQpR,GAAkC,OAAOoR,EAAU,mBAAqBrc,QAAU,iBAAmBA,OAAOsc,SAAW,SAAUrR,GAAO,cAAcA,CAAK,EAAI,SAAUA,GAAO,OAAOA,GAAO,mBAAqBjL,QAAUiL,EAAIxF,cAAgBzF,QAAUiL,IAAQjL,OAAOlB,UAAY,gBAAkBmM,CAAK,EAAGoR,EAAQpR,EAAM,CAE/UrO,OAAOgO,eAAe1N,EAAS,aAAc,CAC3CoB,OAAO,IAETpB,EAAA,aAAkB,EAElB,IAAIqf,EAAS3Q,EAAuB,EAAQ,MAExCD,EAAaC,EAAuB,EAAQ,MAE5C4Q,EAAkB,EAAQ,KAE1BC,EAAkB,EAAQ,IAE1BC,EAAS,EAAQ,KAEjBC,EAAkB,EAAQ,KAE1BC,EAA4B,EAAQ,KAEpC9Q,EAAQF,EAAuB,EAAQ,MAE3C,SAASA,EAAuBX,GAAO,OAAOA,GAAOA,EAAIE,WAAaF,EAAM,CAAEF,QAASE,EAAO,CAE9F,SAAS4R,EAAQrZ,EAAQsZ,GAAkB,IAAIvd,EAAO3C,OAAO2C,KAAKiE,GAAS,GAAI5G,OAAO2D,sBAAuB,CAAE,IAAIwc,EAAUngB,OAAO2D,sBAAsBiD,GAASsZ,IAAmBC,EAAUA,EAAQC,QAAO,SAAUC,GAAO,OAAOrgB,OAAO4O,yBAAyBhI,EAAQyZ,GAAKpS,UAAY,KAAKtL,EAAK4G,KAAKwG,MAAMpN,EAAMwd,EAAU,CAAE,OAAOxd,CAAM,CAEpV,SAAS2d,EAAc1Q,GAAU,IAAK,IAAIC,EAAI,EAAGA,EAAI5R,UAAUF,OAAQ8R,IAAK,CAAE,IAAIC,EAAS,MAAQ7R,UAAU4R,GAAK5R,UAAU4R,GAAK,CAAC,EAAGA,EAAI,EAAIoQ,EAAQjgB,OAAO8P,IAAS,GAAIrO,SAAQ,SAAUE,GAAOqO,EAAgBJ,EAAQjO,EAAKmO,EAAOnO,GAAO,IAAK3B,OAAOugB,0BAA4BvgB,OAAOwgB,iBAAiB5Q,EAAQ5P,OAAOugB,0BAA0BzQ,IAAWmQ,EAAQjgB,OAAO8P,IAASrO,SAAQ,SAAUE,GAAO3B,OAAOgO,eAAe4B,EAAQjO,EAAK3B,OAAO4O,yBAAyBkB,EAAQnO,GAAO,GAAI,CAAE,OAAOiO,CAAQ,CAIzf,SAAS6Q,EAAkB7Q,EAAQxD,GAAS,IAAK,IAAIyD,EAAI,EAAGA,EAAIzD,EAAMrO,OAAQ8R,IAAK,CAAE,IAAI6Q,EAAatU,EAAMyD,GAAI6Q,EAAWzS,WAAayS,EAAWzS,aAAc,EAAOyS,EAAWjQ,cAAe,EAAU,UAAWiQ,IAAYA,EAAWhQ,UAAW,GAAM1Q,OAAOgO,eAAe4B,EAAQ8Q,EAAW/e,IAAK+e,EAAa,CAAE,CAM5T,SAASC,EAAgBC,EAAGC,GAA+G,OAA1GF,EAAkB3gB,OAAO8gB,gBAAkB,SAAyBF,EAAGC,GAAsB,OAAjBD,EAAEG,UAAYF,EAAUD,CAAG,EAAUD,EAAgBC,EAAGC,EAAI,CAMzK,SAASG,EAAuB9gB,GAAQ,QAAa,IAATA,EAAmB,MAAM,IAAI+gB,eAAe,6DAAgE,OAAO/gB,CAAM,CAIrK,SAASghB,EAAgBN,GAAwJ,OAAnJM,EAAkBlhB,OAAO8gB,eAAiB9gB,OAAOmhB,eAAiB,SAAyBP,GAAK,OAAOA,EAAEG,WAAa/gB,OAAOmhB,eAAeP,EAAI,EAAUM,EAAgBN,EAAI,CAE5M,SAAS5Q,EAAgB3B,EAAK1M,EAAKD,GAAiK,OAApJC,KAAO0M,EAAOrO,OAAOgO,eAAeK,EAAK1M,EAAK,CAAED,MAAOA,EAAOuM,YAAY,EAAMwC,cAAc,EAAMC,UAAU,IAAkBrC,EAAI1M,GAAOD,EAAgB2M,CAAK,CAKhN,IAAI+S,EAAwB,SAAUC,IAnBtC,SAAmBC,EAAUC,GAAc,GAA0B,mBAAfA,GAA4C,OAAfA,EAAuB,MAAM,IAAIjR,UAAU,sDAAyDgR,EAASpf,UAAYlC,OAAOwhB,OAAOD,GAAcA,EAAWrf,UAAW,CAAE2G,YAAa,CAAEnH,MAAO4f,EAAU5Q,UAAU,EAAMD,cAAc,KAAWzQ,OAAOgO,eAAesT,EAAU,YAAa,CAAE5Q,UAAU,IAAc6Q,GAAYZ,EAAgBW,EAAUC,EAAa,CAoBjcE,CAAUL,EAAUC,GAEpB,IAxBoBK,EAAaC,EAMbC,EAAeC,EAkB/BC,GAlBgBF,EAkBMR,EAlBSS,EAMrC,WAAuC,GAAuB,oBAAZE,UAA4BA,QAAQC,UAAW,OAAO,EAAO,GAAID,QAAQC,UAAUC,KAAM,OAAO,EAAO,GAAqB,mBAAVC,MAAsB,OAAO,EAAM,IAAsF,OAAhF1P,QAAQtQ,UAAU6C,QAAQ/B,KAAK+e,QAAQC,UAAUxP,QAAS,IAAI,WAAa,MAAY,CAAM,CAAE,MAAO/U,GAAK,OAAO,CAAO,CAAE,CANvQ0kB,GAAoC,WAAkC,IAAsC5gB,EAAlC6gB,EAAQlB,EAAgBU,GAAkB,GAAIC,EAA2B,CAAE,IAAIQ,EAAYnB,EAAgBhc,MAAM2D,YAAatH,EAASwgB,QAAQC,UAAUI,EAAOnkB,UAAWokB,EAAY,MAAS9gB,EAAS6gB,EAAMrS,MAAM7K,KAAMjH,WAAc,OAEpX,SAAoCiC,EAAM8C,GAAQ,GAAIA,IAA2B,WAAlByc,EAAQzc,IAAsC,mBAATA,GAAwB,OAAOA,EAAa,QAAa,IAATA,EAAmB,MAAM,IAAIsN,UAAU,4DAA+D,OAAO0Q,EAAuB9gB,EAAO,CAF4FoiB,CAA2Bpd,KAAM3D,EAAS,GAoBna,SAAS6f,IACP,IAAImB,GA/BR,SAAyBC,EAAUd,GAAe,KAAMc,aAAoBd,GAAgB,MAAM,IAAIpR,UAAU,oCAAwC,CAiCpJmS,CAAgBvd,KAAMkc,GAEtB,IAAK,IAAIsB,EAAOzkB,UAAUF,OAAQ4kB,EAAO,IAAI9kB,MAAM6kB,GAAOE,EAAO,EAAGA,EAAOF,EAAME,IAC/ED,EAAKC,GAAQ3kB,UAAU2kB,GAoKzB,OA/JA5S,EAAgBgR,EAFhBuB,EAAQT,EAAO9e,KAAK+M,MAAM+R,EAAQ,CAAC5c,MAAMuX,OAAOkG,KAED,QAAS,CACtDE,SAAU,KACVpR,SAAU,KACV+C,UAAW,KAGbxE,EAAgBgR,EAAuBuB,GAAQ,aAA2B5C,EAAOxR,QAAQ2U,aAEzF9S,EAAgBgR,EAAuBuB,GAAQ,eAAe,SAAU9kB,EAAGqT,GACzE,IAAItD,EAAOsD,EAAKtD,KACZ2F,EAAcoP,EAAMnW,MACpBsI,EAAcvB,EAAYuB,YAC1BqO,EAAiB5P,EAAY4P,eACjC,GAAKrO,EAAL,CACA,IAAIsO,EAEF,CACA9N,IAAK,EACLF,KAAM,GAGJsD,EAAe9K,EAAK8K,aACxB,GAAKA,EAAL,CACA,IAAI2K,EAAa3K,EAAa8C,wBAC1B8H,EAAa1V,EAAK4N,wBAClB+H,EAAQD,EAAWlO,KAAO+N,EAC1BK,EAAQH,EAAWjO,KAAO+N,EAC1BM,EAAOH,EAAWhO,IAAM6N,EACxBO,EAAOL,EAAW/N,IAAM6N,EAC5BC,EAAYhO,KAAOmO,EAAQC,EAAQ9K,EAAagD,WAChD0H,EAAY9N,IAAMmO,EAAOC,EAAOhL,EAAakD,UAE7C+G,EAAM/Q,SAAS,CACbC,SAAUuR,IAIZ,IAAIO,GAAU,EAAIxD,EAAgByD,QAAQjB,EAAMkB,oBAAqBT,EAAY9N,IAAK8N,EAAYhO,KAAMuN,EAAMnW,MAAMsX,EAAGnB,EAAMnW,MAAMuX,GAC/HzS,EAAIqS,EAAQrS,EACZC,EAAIoS,EAAQpS,EAEhB,OAAOuD,EAAY1R,KAAKge,EAAuBuB,GAAQA,EAAMnW,MAAMyD,EAAGqB,EAAGC,EAAG,CAC1E1T,EAAGA,EACH+P,KAAMA,EACNwV,YAAaA,GAtBU,CATD,CAiC1B,IAEAhT,EAAgBgR,EAAuBuB,GAAQ,UAAU,SAAU9kB,EAAGsT,GACpE,IAAIvD,EAAOuD,EAAMvD,KACb4E,EAASrB,EAAMqB,OACfC,EAAStB,EAAMsB,OACfC,EAASiQ,EAAMnW,MAAMkG,OACzB,GAAKA,EAAL,CAEA,IAAKiQ,EAAM5Q,MAAMF,SACf,MAAM,IAAI9E,MAAM,qCAGlB,IAAIuI,EAAMqN,EAAM5Q,MAAMF,SAASyD,IAAM7C,EACjC2C,EAAOuN,EAAM5Q,MAAMF,SAASuD,KAAO5C,EACnC+F,EAAeoK,EAAMnW,MACrBwX,EAAYzL,EAAayL,UACzB/T,EAAIsI,EAAatI,EACjB6T,EAAIvL,EAAauL,EACjBC,EAAIxL,EAAawL,EACjBE,EAAiB1L,EAAa0L,eAE9BC,EAAiBvB,EAAMkB,oBAG3B,GAAIG,EAAW,CACb,IAAItL,EAAe9K,EAAK8K,aAExB,GAAIA,EAAc,CAChB,IAAIyL,EAAexB,EAAMnW,MACrB4X,EAASD,EAAaC,OACtBC,EAAYF,EAAaE,UACzBC,EAAiB5L,EAAa4B,cAAe,EAAI6F,EAAgBoE,kBAAkBR,EAAGM,EAAWD,EAAO,IAC5G9O,GAAM,EAAI6K,EAAgBqE,OAAOlP,EAAK,EAAGgP,GACzC,IAAIG,GAAW,EAAItE,EAAgBuE,kBAAkBR,GACjDS,EAAgBV,GAAiB,EAAI9D,EAAgBoE,kBAAkBT,EAAGW,EAAUL,EAAO,IAC/FhP,GAAO,EAAI+K,EAAgBqE,OAAOpP,EAAM,EAAGuP,EAC7C,CACF,CAEA,IAAIvB,EAEF,CACA9N,IAAKA,EACLF,KAAMA,GAGRuN,EAAM/Q,SAAS,CACbC,SAAUuR,IAIZ,IAAIwB,GAAW,EAAIzE,EAAgByD,QAAQM,EAAgB5O,EAAKF,EAAM0O,EAAGC,GACrEzS,EAAIsT,EAAStT,EACbC,EAAIqT,EAASrT,EAEjB,OAAOmB,EAAOtP,KAAKge,EAAuBuB,GAAQ1S,EAAGqB,EAAGC,EAAG,CACzD1T,EAAGA,EACH+P,KAAMA,EACNwV,YAAaA,GApDI,CAsDrB,IAEAhT,EAAgBgR,EAAuBuB,GAAQ,cAAc,SAAU9kB,EAAGgnB,GACxE,IAAIjX,EAAOiX,EAAMjX,KACbmH,EAAa4N,EAAMnW,MAAMuI,WAC7B,GAAKA,EAAL,CAEA,IAAK4N,EAAM5Q,MAAMF,SACf,MAAM,IAAI9E,MAAM,wCAGlB,IAAI+X,EAAenC,EAAMnW,MACrBsX,EAAIgB,EAAahB,EACjBC,EAAIe,EAAaf,EACjB9T,EAAI6U,EAAa7U,EACjB8U,EAAuBpC,EAAM5Q,MAAMF,SACnCuD,EAAO2P,EAAqB3P,KAC5BE,EAAMyP,EAAqBzP,IAC3B8N,EAEF,CACA9N,IAAKA,EACLF,KAAMA,GAGRuN,EAAM/Q,SAAS,CACbC,SAAU,OAGZ,IAAImT,GAAW,EAAI7E,EAAgByD,QAAQjB,EAAMkB,oBAAqBvO,EAAKF,EAAM0O,EAAGC,GAChFzS,EAAI0T,EAAS1T,EACbC,EAAIyT,EAASzT,EAEjB,OAAOwD,EAAW3R,KAAKge,EAAuBuB,GAAQ1S,EAAGqB,EAAGC,EAAG,CAC7D1T,EAAGA,EACH+P,KAAMA,EACNwV,YAAaA,GA/BQ,CAiCzB,IAEAhT,EAAgBgR,EAAuBuB,GAAQ,gBAAgB,SAAU9kB,EAAGonB,GAC1EtC,EAAMuC,gBAAgBrnB,EAAGonB,EAAc,eACzC,IAEA7U,EAAgBgR,EAAuBuB,GAAQ,iBAAiB,SAAU9kB,EAAGonB,GAC3EtC,EAAMuC,gBAAgBrnB,EAAGonB,EAAc,gBACzC,IAEA7U,EAAgBgR,EAAuBuB,GAAQ,YAAY,SAAU9kB,EAAGonB,GACtEtC,EAAMuC,gBAAgBrnB,EAAGonB,EAAc,WACzC,IAEOtC,CACT,CA8SA,OAnfoBb,EAuMPN,EAvMoBO,EAuMV,CAAC,CACtBhgB,IAAK,wBACLD,MAAO,SAA+BqjB,EAEpCC,GAOA,GAAI9f,KAAKkH,MAAMoH,WAAauR,EAAUvR,SAAU,OAAO,EACvD,GAAItO,KAAKkH,MAAM6Y,mBAAqBF,EAAUE,iBAAkB,OAAO,EAEvE,IAAIC,GAAc,EAAInF,EAAgBoF,sBAAsBjgB,KAAKue,kBAAkBve,KAAKkH,OAAQlH,KAAKkH,MAAM8E,EAAGhM,KAAKkH,MAAM+E,EAAGjM,KAAKkH,MAAMsX,EAAGxe,KAAKkH,MAAMuX,EAAGze,KAAKyM,OACzJqR,GAAc,EAAIjD,EAAgBoF,sBAAsBjgB,KAAKue,kBAAkBsB,GAAYA,EAAU7T,EAAG6T,EAAU5T,EAAG4T,EAAUrB,EAAGqB,EAAUpB,EAAGqB,GACnJ,QAAQ,EAAIlF,EAAOsF,mBAAmBF,EAAalC,IAAgB9d,KAAKkH,MAAMiZ,mBAAqBN,EAAUM,gBAC/G,GACC,CACD1jB,IAAK,oBACLD,MAAO,WACLwD,KAAKogB,iBAAiB,CAAC,EACzB,GACC,CACD3jB,IAAK,qBACLD,MAAO,SAA4B6jB,GAGjCrgB,KAAKogB,iBAAiBC,EACxB,GAGC,CACD5jB,IAAK,mBACLD,MAAO,SAA0B6jB,GAG/B,IAAIN,EAAmB/f,KAAKkH,MAAM6Y,iBAClC,GAAKA,EAAL,CACA,IAAIzX,EAAOtI,KAAKsgB,WAAWnS,QAE3B,GAAK7F,EAAL,CACA,IAAIiY,EAAuBF,EAAUN,kBAAoB,CACvDjQ,KAAM,EACNE,IAAK,GAEHzD,EAAWvM,KAAKyM,MAAMF,SACtBiU,EAAajU,GAAYwT,EAAiBjQ,OAASyQ,EAAqBzQ,MAAQiQ,EAAiB/P,MAAQuQ,EAAqBvQ,IAElI,GAAKzD,GAME,GAAIiU,EAAY,CACrB,IAAItT,EAAS6S,EAAiBjQ,KAAOvD,EAASuD,KAC1C3C,EAAS4S,EAAiB/P,IAAMzD,EAASyD,IAC7ChQ,KAAKoN,OAAO2S,EAAiBxnB,EAAG,CAC9B+P,KAAMA,EACN4E,OAAQA,EACRC,OAAQA,GAEZ,OAbEnN,KAAKwP,YAAYuQ,EAAiBxnB,EAAG,CACnC+P,KAAMA,EACN4E,OAAQ6S,EAAiBjQ,KACzB3C,OAAQ4S,EAAiB/P,KAZZ,CAHY,CA0B/B,GACC,CACDvT,IAAK,oBACLD,MAAO,WAGL,IAAI0K,EAEFnO,UAAUF,OAAS,QAAsBoF,IAAjBlF,UAAU,GAAmBA,UAAU,GAAKiH,KAAKkH,MAC3E,MAAO,CACLuZ,KAAMvZ,EAAMuZ,KACZC,iBAAkBxZ,EAAMwZ,iBACxB/B,eAAgBzX,EAAMyX,eACtBG,OAAQ5X,EAAM4X,OACd6B,QAASzZ,EAAMyZ,QACf5B,UAAW7X,EAAM6X,UAErB,GAYC,CACDtiB,IAAK,cACLD,MAAO,SAAqBokB,GAK1B,IAII/R,EAJAgS,EAAe7gB,KAAKkH,MACpB4Z,EAAiBD,EAAaC,eAC9BnC,EAAiBkC,EAAalC,eAgBlC,OAfuBkC,EAAaV,iBAIlCtR,GAAQ,EAAI+L,EAAOmG,cAAcH,IAGjC/R,GAAQ,EAAI+L,EAAOoG,YAAYJ,GAE3BE,IACFjS,EAAMiB,MAAO,EAAI8K,EAAOqG,MAAML,EAAI9Q,KAAO6O,GACzC9P,EAAM0G,OAAQ,EAAIqF,EAAOqG,MAAML,EAAIrL,MAAQoJ,KAIxC9P,CACT,GAOC,CACDpS,IAAK,iBACLD,MAAO,SAAwB0kB,EAE7BC,GAKA,OAAoB1G,EAAOxR,QAAQsG,cAAcmL,EAAgBjK,cAAe,CAC9EQ,UAAWkQ,EACX/U,QAASpM,KAAKwP,YACdpC,OAAQpN,KAAKoN,OACbC,OAAQrN,KAAKyP,WACb2B,OAAQpR,KAAKkH,MAAMkK,OACnBE,OAAQ,2BAA6BtR,KAAKkH,MAAMoK,OAAS,IAAMtR,KAAKkH,MAAMoK,OAAS,IACnF3C,MAAO3O,KAAKkH,MAAM2W,eAClB3P,QAASlO,KAAKsgB,YACbY,EACL,GAQC,CACDzkB,IAAK,iBACLD,MAAO,SAAwB0kB,EAE7BpV,EAEAsV,GAKA,IAAIC,EAAerhB,KAAKkH,MACpBuZ,EAAOY,EAAaZ,KACpBzU,EAAIqV,EAAarV,EACjBsV,EAAOD,EAAaC,KACpBC,EAAOF,EAAaE,KACpBC,EAAOH,EAAaG,KACpBC,EAAOJ,EAAaI,KACpB5D,EAAiBwD,EAAaxD,eAC9B6D,EAAgBL,EAAaK,cAC7BC,EAAeN,EAAaM,aAC5B/C,EAAiB5e,KAAKue,oBAEtBqD,GAAW,EAAI/G,EAAgBoF,sBAAsBrB,EAAgB,EAAG,EAAG6B,EAAOzU,EAAG,GAAGuJ,MAExFsM,GAAO,EAAIhH,EAAgBoF,sBAAsBrB,EAAgB,EAAG,EAAG0C,EAAMC,GAC7EO,GAAQ,EAAIjH,EAAgBoF,sBAAsBrB,EAAgB,EAAG,EAAG4C,EAAMC,GAC9EM,EAAiB,CAACF,EAAKtM,MAAOsM,EAAK9M,QACnCiN,EAAiB,CAACtI,KAAKC,IAAImI,EAAMvM,MAAOqM,GAAWlI,KAAKC,IAAImI,EAAM/M,OAAQkN,MAC9E,OAAoBxH,EAAOxR,QAAQsG,cAAcoL,EAAgBuH,UAC/D,CACAC,cAAe,CACblR,UAAWmQ,GAEb9R,UAAW8R,OAAcnjB,EAAY,uBACrCsX,MAAOzJ,EAASyJ,MAChBR,OAAQjJ,EAASiJ,OACjBgN,eAAgBA,EAChBC,eAAgBA,EAChBI,aAAcpiB,KAAKoiB,aACnBC,cAAeriB,KAAKqiB,cACpBC,SAAUtiB,KAAKsiB,SACfzE,eAAgBA,EAChB6D,cAAeA,EACftQ,OAAQuQ,GACPT,EACL,GAOC,CACDzkB,IAAK,kBACLD,MASA,SAAyBjE,EAEvBgqB,EAAOC,GAKP,IAAIla,EAAOia,EAAMja,KACbhM,EAAOimB,EAAMjmB,KACbiX,EAAUvT,KAAKkH,MAAMsb,GACzB,GAAKjP,EAAL,CACA,IAAIkP,EAAeziB,KAAKkH,MACpBuZ,EAAOgC,EAAahC,KACpBzU,EAAIyW,EAAazW,EACjBC,EAAIwW,EAAaxW,EACjBtB,EAAI8X,EAAa9X,EACjB8W,EAAOgB,EAAahB,KACpBF,EAAOkB,EAAalB,KACpBmB,EAAe1iB,KAAKkH,MACpBoa,EAAOoB,EAAapB,KACpBE,EAAOkB,EAAalB,KAEpBmB,GAAU,EAAI9H,EAAgB+H,QAAQ5iB,KAAKue,oBAAqBjiB,EAAKiZ,MAAOjZ,EAAKyY,OAAQ/I,EAAGC,GAC5FuS,EAAImE,EAAQnE,EACZC,EAAIkE,EAAQlE,EAGhB6C,EAAO5H,KAAKE,IAAI0H,EAAM,GAEtBE,EAAO9H,KAAKC,IAAI6H,EAAMf,EAAOzU,GAE7BwS,GAAI,EAAI3D,EAAgBqE,OAAOV,EAAG8C,EAAME,GACxC/C,GAAI,EAAI5D,EAAgBqE,OAAOT,EAAG8C,EAAME,GACxCzhB,KAAKsM,SAAS,CACZqR,SAA0B,iBAAhB6E,EAAiC,KAAOlmB,IAEpDiX,EAAQzV,KAAKkC,KAAM2K,EAAG6T,EAAGC,EAAG,CAC1BlmB,EACA+P,KAAMA,EACNhM,KAAMA,GA7BY,CA+BtB,GACC,CACDG,IAAK,SACLD,MAAO,WAGL,IAAIqmB,EAAe7iB,KAAKkH,MACpB8E,EAAI6W,EAAa7W,EACjBC,EAAI4W,EAAa5W,EACjBuS,EAAIqE,EAAarE,EACjBC,EAAIoE,EAAapE,EACjB0C,EAAc0B,EAAa1B,YAC3BC,EAAcyB,EAAazB,YAC3BrB,EAAmB8C,EAAa9C,iBAChCI,EAAmB0C,EAAa1C,iBAChCS,GAAM,EAAI/F,EAAgBoF,sBAAsBjgB,KAAKue,oBAAqBvS,EAAGC,EAAGuS,EAAGC,EAAGze,KAAKyM,OAE3FyU,EAAQzG,EAAOxR,QAAQ0G,SAASC,KAAK5P,KAAKkH,MAAMoH,UAGhDwU,EAAwBrI,EAAOxR,QAAQyG,aAAawR,EAAO,CAC7D6B,IAAK/iB,KAAKsgB,WACVhR,WAAW,EAAItF,EAAMf,SAAS,kBAAmBiY,EAAMha,MAAMoI,UAAWtP,KAAKkH,MAAMoI,UAAW,CAC5F0T,OAAQhjB,KAAKkH,MAAM8b,OACnBrF,SAAUrQ,QAAQtN,KAAKyM,MAAMkR,UAC7B,kBAAmBwD,EACnB,2BAA4B7T,QAAQtN,KAAKyM,MAAMF,UAC/C0W,SAAU3V,QAAQyS,GAClBmD,cAAe/C,IAGjBtR,MAAOuM,EAAcA,EAAcA,EAAc,CAAC,EAAGpb,KAAKkH,MAAM2H,OAAQqS,EAAMha,MAAM2H,OAAQ7O,KAAKmjB,YAAYvC,MAO/G,OAHAkC,EAAW9iB,KAAKojB,eAAeN,EAAUlC,EAAKQ,GAEnCphB,KAAKqjB,eAAeP,EAAU3B,EAE3C,IAhf8D1E,GAAYlB,EAAkBiB,EAAYxf,UAAWyf,GAA2E3hB,OAAOgO,eAAe0T,EAAa,YAAa,CAAEhR,UAAU,IAmfrP0Q,CACT,CA/d4B,CA+d1BzB,EAAOxR,QAAQyC,WAEjBtQ,EAAA,QAAkB8gB,EAElBpR,EAAgBoR,EAAU,YAAa,CAErC5N,SAAUzE,EAAWZ,QAAQd,QAE7BsY,KAAM5W,EAAWZ,QAAQlB,OAAOJ,WAChCgX,eAAgB9U,EAAWZ,QAAQlB,OAAOJ,WAC1CoX,UAAWlV,EAAWZ,QAAQlB,OAAOJ,WACrCmX,OAAQjV,EAAWZ,QAAQjN,MAAM2L,WACjCgZ,QAAS9W,EAAWZ,QAAQlB,OAAOJ,WACnC+Y,iBAAkB7W,EAAWZ,QAAQjN,MAAM2L,WAE3CqE,EAAGnC,EAAWZ,QAAQlB,OAAOJ,WAC7BsE,EAAGpC,EAAWZ,QAAQlB,OAAOJ,WAC7B6W,EAAG3U,EAAWZ,QAAQlB,OAAOJ,WAC7B8W,EAAG5U,EAAWZ,QAAQlB,OAAOJ,WAE7B2Z,KAAM,SAAcpa,EAElBC,GAGA,IAAI3K,EAAQ0K,EAAMC,GAClB,MAAqB,iBAAV3K,EAA2B,IAAIiL,MAAM,uBAC5CjL,EAAQ0K,EAAMsX,GAAKhiB,EAAQ0K,EAAMsa,KAAa,IAAI/Z,MAAM,iDAA5D,CACF,EACA+Z,KAAM,SAActa,EAElBC,GAGA,IAAI3K,EAAQ0K,EAAMC,GAClB,MAAqB,iBAAV3K,EAA2B,IAAIiL,MAAM,uBAC5CjL,EAAQ0K,EAAMsX,GAAKhiB,EAAQ0K,EAAMoa,KAAa,IAAI7Z,MAAM,kDAA5D,CACF,EACA8Z,KAAM,SAAcra,EAElBC,GAGA,IAAI3K,EAAQ0K,EAAMC,GAClB,MAAqB,iBAAV3K,EAA2B,IAAIiL,MAAM,wBAC5CjL,EAAQ0K,EAAMuX,GAAKjiB,EAAQ0K,EAAMua,KAAa,IAAIha,MAAM,oDAA5D,CACF,EACAga,KAAM,SAAcva,EAElBC,GAGA,IAAI3K,EAAQ0K,EAAMC,GAClB,MAAqB,iBAAV3K,EAA2B,IAAIiL,MAAM,wBAC5CjL,EAAQ0K,EAAMuX,GAAKjiB,EAAQ0K,EAAMqa,KAAa,IAAI9Z,MAAM,qDAA5D,CACF,EAEAkD,EAAGd,EAAWZ,QAAQjB,OAAOL,WAE7B+Z,cAAe5G,EAA0BwI,qBACzC3B,aAAc7G,EAA0ByI,iBAExC9T,WAAY5F,EAAWZ,QAAQpM,KAC/B2S,YAAa3F,EAAWZ,QAAQpM,KAChCuQ,OAAQvD,EAAWZ,QAAQpM,KAC3BulB,aAAcvY,EAAWZ,QAAQpM,KACjCwlB,cAAexY,EAAWZ,QAAQpM,KAClCylB,SAAUzY,EAAWZ,QAAQpM,KAE7BskB,YAAatX,EAAWZ,QAAQnB,KAAKH,WACrCyZ,YAAavX,EAAWZ,QAAQnB,KAAKH,WACrC+W,UAAW7U,EAAWZ,QAAQnB,KAAKH,WACnCqb,OAAQnZ,EAAWZ,QAAQnB,KAE3BqY,iBAAkBtW,EAAWZ,QAAQnB,KAAKH,WAC1CkW,eAAgBhU,EAAWZ,QAAQlB,OAEnCuH,UAAWzF,EAAWZ,QAAQjB,OAE9BoJ,OAAQvH,EAAWZ,QAAQjB,OAE3BsJ,OAAQzH,EAAWZ,QAAQjB,OAE3B+X,iBAAkBlW,EAAWZ,QAAQP,MAAM,CACzCnQ,EAAGsR,EAAWZ,QAAQvH,OAAOiG,WAC7BmI,KAAMjG,EAAWZ,QAAQlB,OAAOJ,WAChCqI,IAAKnG,EAAWZ,QAAQlB,OAAOJ,eAInCmD,EAAgBoR,EAAU,eAAgB,CACxC5M,UAAW,GACXgC,OAAQ,GACRF,OAAQ,GACRmQ,KAAM,EACND,KAAM,EACNG,KAAMQ,IACNT,KAAMS,IACNpE,eAAgB,G,6BCvnBlB,SAAStD,EAAQpR,GAAkC,OAAOoR,EAAU,mBAAqBrc,QAAU,iBAAmBA,OAAOsc,SAAW,SAAUrR,GAAO,cAAcA,CAAK,EAAI,SAAUA,GAAO,OAAOA,GAAO,mBAAqBjL,QAAUiL,EAAIxF,cAAgBzF,QAAUiL,IAAQjL,OAAOlB,UAAY,gBAAkBmM,CAAK,EAAGoR,EAAQpR,EAAM,CAE/UrO,OAAOgO,eAAe1N,EAAS,aAAc,CAC3CoB,OAAO,IAETpB,EAAA,aAAkB,EAElB,IAAI8N,EAkBJ,SAAiCC,EAAKC,GAAe,GAAoBD,GAAOA,EAAIE,WAAc,OAAOF,EAAO,GAAY,OAARA,GAAiC,WAAjBoR,EAAQpR,IAAoC,mBAARA,EAAsB,MAAO,CAAEF,QAASE,GAAS,IAAIG,EAAQC,EAAyBH,GAAc,GAAIE,GAASA,EAAMlF,IAAI+E,GAAQ,OAAOG,EAAMzG,IAAIsG,GAAQ,IAAIK,EAAS,CAAC,EAAOC,EAAwB3O,OAAOgO,gBAAkBhO,OAAO4O,yBAA0B,IAAK,IAAIjN,KAAO0M,EAAO,GAAY,YAAR1M,GAAqB3B,OAAOkC,UAAUM,eAAeQ,KAAKqL,EAAK1M,GAAM,CAAE,IAAIkN,EAAOF,EAAwB3O,OAAO4O,yBAAyBP,EAAK1M,GAAO,KAAUkN,IAASA,EAAK9G,KAAO8G,EAAKhN,KAAQ7B,OAAOgO,eAAeU,EAAQ/M,EAAKkN,GAAgBH,EAAO/M,GAAO0M,EAAI1M,EAAQ,CAAiE,OAA7D+M,EAAOP,QAAUE,EAASG,GAASA,EAAM3M,IAAIwM,EAAKK,GAAkBA,CAAQ,CAlBzxBI,CAAwB,EAAQ,MAExC4Z,EAAU1Z,EAAuB,EAAQ,IAEzCE,EAAQF,EAAuB,EAAQ,MAEvC8Q,EAAS,EAAQ,KAEjBC,EAAkB,EAAQ,KAE1B4I,EAAY3Z,EAAuB,EAAQ,MAE3CgR,EAA4BhR,EAAuB,EAAQ,MAE/D,SAASA,EAAuBX,GAAO,OAAOA,GAAOA,EAAIE,WAAaF,EAAM,CAAEF,QAASE,EAAO,CAE9F,SAASI,EAAyBH,GAAe,GAAuB,mBAAZjK,QAAwB,OAAO,KAAM,IAAIkL,EAAoB,IAAIlL,QAAemL,EAAmB,IAAInL,QAAW,OAAQoK,EAA2B,SAAkCH,GAAe,OAAOA,EAAckB,EAAmBD,CAAmB,GAAGjB,EAAc,CAY9U,SAAS2R,EAAQrZ,EAAQsZ,GAAkB,IAAIvd,EAAO3C,OAAO2C,KAAKiE,GAAS,GAAI5G,OAAO2D,sBAAuB,CAAE,IAAIwc,EAAUngB,OAAO2D,sBAAsBiD,GAASsZ,IAAmBC,EAAUA,EAAQC,QAAO,SAAUC,GAAO,OAAOrgB,OAAO4O,yBAAyBhI,EAAQyZ,GAAKpS,UAAY,KAAKtL,EAAK4G,KAAKwG,MAAMpN,EAAMwd,EAAU,CAAE,OAAOxd,CAAM,CAEpV,SAAS2d,EAAc1Q,GAAU,IAAK,IAAIC,EAAI,EAAGA,EAAI5R,UAAUF,OAAQ8R,IAAK,CAAE,IAAIC,EAAS,MAAQ7R,UAAU4R,GAAK5R,UAAU4R,GAAK,CAAC,EAAGA,EAAI,EAAIoQ,EAAQjgB,OAAO8P,IAAS,GAAIrO,SAAQ,SAAUE,GAAOqO,EAAgBJ,EAAQjO,EAAKmO,EAAOnO,GAAO,IAAK3B,OAAOugB,0BAA4BvgB,OAAOwgB,iBAAiB5Q,EAAQ5P,OAAOugB,0BAA0BzQ,IAAWmQ,EAAQjgB,OAAO8P,IAASrO,SAAQ,SAAUE,GAAO3B,OAAOgO,eAAe4B,EAAQjO,EAAK3B,OAAO4O,yBAAyBkB,EAAQnO,GAAO,GAAI,CAAE,OAAOiO,CAAQ,CAMzf,SAASgZ,EAA4BhI,EAAGiI,GAAU,GAAKjI,EAAL,CAAgB,GAAiB,iBAANA,EAAgB,OAAOkI,EAAkBlI,EAAGiI,GAAS,IAAIjrB,EAAIoC,OAAOkC,UAAUK,SAASS,KAAK4d,GAAGmI,MAAM,GAAI,GAAiE,MAAnD,WAANnrB,GAAkBgjB,EAAE/X,cAAajL,EAAIgjB,EAAE/X,YAAYnB,MAAgB,QAAN9J,GAAqB,QAANA,EAAoBC,MAAMmrB,KAAKpI,GAAc,cAANhjB,GAAqB,2CAA2CwM,KAAKxM,GAAWkrB,EAAkBlI,EAAGiI,QAAzG,CAA7O,CAA+V,CAE/Z,SAASC,EAAkBG,EAAKC,IAAkB,MAAPA,GAAeA,EAAMD,EAAIlrB,UAAQmrB,EAAMD,EAAIlrB,QAAQ,IAAK,IAAI8R,EAAI,EAAGsZ,EAAO,IAAItrB,MAAMqrB,GAAMrZ,EAAIqZ,EAAKrZ,IAAOsZ,EAAKtZ,GAAKoZ,EAAIpZ,GAAM,OAAOsZ,CAAM,CAQtL,SAAS1I,EAAkB7Q,EAAQxD,GAAS,IAAK,IAAIyD,EAAI,EAAGA,EAAIzD,EAAMrO,OAAQ8R,IAAK,CAAE,IAAI6Q,EAAatU,EAAMyD,GAAI6Q,EAAWzS,WAAayS,EAAWzS,aAAc,EAAOyS,EAAWjQ,cAAe,EAAU,UAAWiQ,IAAYA,EAAWhQ,UAAW,GAAM1Q,OAAOgO,eAAe4B,EAAQ8Q,EAAW/e,IAAK+e,EAAa,CAAE,CAM5T,SAASC,EAAgBC,EAAGC,GAA+G,OAA1GF,EAAkB3gB,OAAO8gB,gBAAkB,SAAyBF,EAAGC,GAAsB,OAAjBD,EAAEG,UAAYF,EAAUD,CAAG,EAAUD,EAAgBC,EAAGC,EAAI,CAMzK,SAASG,EAAuB9gB,GAAQ,QAAa,IAATA,EAAmB,MAAM,IAAI+gB,eAAe,6DAAgE,OAAO/gB,CAAM,CAIrK,SAASghB,EAAgBN,GAAwJ,OAAnJM,EAAkBlhB,OAAO8gB,eAAiB9gB,OAAOmhB,eAAiB,SAAyBP,GAAK,OAAOA,EAAEG,WAAa/gB,OAAOmhB,eAAeP,EAAI,EAAUM,EAAgBN,EAAI,CAE5M,SAAS5Q,EAAgB3B,EAAK1M,EAAKD,GAAiK,OAApJC,KAAO0M,EAAOrO,OAAOgO,eAAeK,EAAK1M,EAAK,CAAED,MAAOA,EAAOuM,YAAY,EAAMwC,cAAc,EAAMC,UAAU,IAAkBrC,EAAI1M,GAAOD,EAAgB2M,CAAK,CAGhN,IAAI+a,EAAkB,oBAClBC,GAAY,EAEhB,IACEA,EAAY,WAAWjf,KAAKkf,UAAUC,UACxC,CAAE,MAAO9rB,GAET,CAMA,IAAI+rB,EAA+B,SAAUnI,IA9B7C,SAAmBC,EAAUC,GAAc,GAA0B,mBAAfA,GAA4C,OAAfA,EAAuB,MAAM,IAAIjR,UAAU,sDAAyDgR,EAASpf,UAAYlC,OAAOwhB,OAAOD,GAAcA,EAAWrf,UAAW,CAAE2G,YAAa,CAAEnH,MAAO4f,EAAU5Q,UAAU,EAAMD,cAAc,KAAWzQ,OAAOgO,eAAesT,EAAU,YAAa,CAAE5Q,UAAU,IAAc6Q,GAAYZ,EAAgBW,EAAUC,EAAa,CA+BjcE,CAAU+H,EAAiBnI,GAE3B,IAnCoBK,EAAaC,EAAY8H,EAMzB7H,EAAeC,EA6B/BC,GA7BgBF,EA6BM4H,EA7BS3H,EAMrC,WAAuC,GAAuB,oBAAZE,UAA4BA,QAAQC,UAAW,OAAO,EAAO,GAAID,QAAQC,UAAUC,KAAM,OAAO,EAAO,GAAqB,mBAAVC,MAAsB,OAAO,EAAM,IAAsF,OAAhF1P,QAAQtQ,UAAU6C,QAAQ/B,KAAK+e,QAAQC,UAAUxP,QAAS,IAAI,WAAa,MAAY,CAAM,CAAE,MAAO/U,GAAK,OAAO,CAAO,CAAE,CANvQ0kB,GAAoC,WAAkC,IAAsC5gB,EAAlC6gB,EAAQlB,EAAgBU,GAAkB,GAAIC,EAA2B,CAAE,IAAIQ,EAAYnB,EAAgBhc,MAAM2D,YAAatH,EAASwgB,QAAQC,UAAUI,EAAOnkB,UAAWokB,EAAY,MAAS9gB,EAAS6gB,EAAMrS,MAAM7K,KAAMjH,WAAc,OAEpX,SAAoCiC,EAAM8C,GAAQ,GAAIA,IAA2B,WAAlByc,EAAQzc,IAAsC,mBAATA,GAAwB,OAAOA,EAAa,QAAa,IAATA,EAAmB,MAAM,IAAIsN,UAAU,4DAA+D,OAAO0Q,EAAuB9gB,EAAO,CAF4FoiB,CAA2Bpd,KAAM3D,EAAS,GA+Bna,SAASioB,IACP,IAAIjH,GA1CR,SAAyBC,EAAUd,GAAe,KAAMc,aAAoBd,GAAgB,MAAM,IAAIpR,UAAU,oCAAwC,CA4CpJmS,CAAgBvd,KAAMskB,GAEtB,IAAK,IAAI9G,EAAOzkB,UAAUF,OAAQ4kB,EAAO,IAAI9kB,MAAM6kB,GAAOE,EAAO,EAAGA,EAAOF,EAAME,IAC/ED,EAAKC,GAAQ3kB,UAAU2kB,GA4WzB,OAvWA5S,EAAgBgR,EAFhBuB,EAAQT,EAAO9e,KAAK+M,MAAM+R,EAAQ,CAAC5c,MAAMuX,OAAOkG,KAED,QAAS,CACtD+G,WAAY,KACZC,QAAQ,EAAI7J,EAAO8J,+BAA+BrH,EAAMnW,MAAMud,OAAQpH,EAAMnW,MAAMoH,SAAU+O,EAAMnW,MAAMuZ,MACxG,EAAI7F,EAAO+J,aAAatH,EAAMnW,OAAQmW,EAAMnW,MAAM0d,cAClD/S,SAAS,EACTgT,YAAa,KACbC,UAAW,KACXC,cAAe,KACfC,gBAAiB,KACjB1W,SAAU,KAGZxD,EAAgBgR,EAAuBuB,GAAQ,mBAAoB,GAEnEvS,EAAgBgR,EAAuBuB,GAAQ,eAAe,SAAU1S,EAEtEqB,EAEAC,EAEAL,GACA,IAAIrT,EAAIqT,EAAKrT,EACT+P,EAAOsD,EAAKtD,KACZmc,EAASpH,EAAM5Q,MAAMgY,OACrBQ,GAAI,EAAIrK,EAAOsK,eAAeT,EAAQ9Z,GAC1C,GAAKsa,EAOL,OALA5H,EAAM/Q,SAAS,CACbuY,aAAa,EAAIjK,EAAOuK,iBAAiBF,GACzCH,UAAWL,IAGNpH,EAAMnW,MAAMsI,YAAYiV,EAAQQ,EAAGA,EAAG,KAAM1sB,EAAG+P,EACxD,IAEAwC,EAAgBgR,EAAuBuB,GAAQ,UAAU,SAAU1S,EAAGqB,EAAGC,EAAGJ,GAC1E,IAAItT,EAAIsT,EAAMtT,EACV+P,EAAOuD,EAAMvD,KACbuc,EAAcxH,EAAM5Q,MAAMoY,YAC1BJ,EAASpH,EAAM5Q,MAAMgY,OACrBxW,EAAcoP,EAAMnW,MACpBuZ,EAAOxS,EAAYwS,KACnBmE,EAAe3W,EAAY2W,aAC3BQ,EAAmBnX,EAAYmX,iBAC/BH,GAAI,EAAIrK,EAAOsK,eAAeT,EAAQ9Z,GAC1C,GAAKsa,EAAL,CAEA,IAAII,EAAc,CAChB7G,EAAGyG,EAAEzG,EACLC,EAAGwG,EAAExG,EACLzS,EAAGiZ,EAAEjZ,EACLC,EAAGgZ,EAAEhZ,EACLoZ,aAAa,EACb1a,EAAGA,GAIL8Z,GAAS,EAAI7J,EAAO0K,aAAab,EAAQQ,EAAGjZ,EAAGC,GAD5B,EAC6CmZ,GAAkB,EAAIxK,EAAO+J,aAAatH,EAAMnW,OAAQuZ,EAAMmE,GAE9HvH,EAAMnW,MAAMkG,OAAOqX,EAAQI,EAAaI,EAAGI,EAAa9sB,EAAG+P,GAE3D+U,EAAM/Q,SAAS,CACbmY,OAAQG,EAAeH,GAAS,EAAI7J,EAAO2K,SAASd,GAAQ,EAAI7J,EAAO+J,aAAatH,EAAMnW,OAAQuZ,GAClG+D,WAAYa,GAlBA,CAoBhB,IAEAva,EAAgBgR,EAAuBuB,GAAQ,cAAc,SAAU1S,EAAGqB,EAAGC,EAAGsT,GAC9E,IAAIhnB,EAAIgnB,EAAMhnB,EACV+P,EAAOiX,EAAMjX,KACjB,GAAK+U,EAAM5Q,MAAM+X,WAAjB,CACA,IAAIK,EAAcxH,EAAM5Q,MAAMoY,YAC1BJ,EAASpH,EAAM5Q,MAAMgY,OACrBxR,EAAeoK,EAAMnW,MACrBuZ,EAAOxN,EAAawN,KACpB2E,EAAmBnS,EAAamS,iBAChCR,EAAe3R,EAAa2R,aAC5BK,GAAI,EAAIrK,EAAOsK,eAAeT,EAAQ9Z,GAC1C,GAAKsa,EAAL,CAGAR,GAAS,EAAI7J,EAAO0K,aAAab,EAAQQ,EAAGjZ,EAAGC,GAD5B,EAC6CmZ,GAAkB,EAAIxK,EAAO+J,aAAatH,EAAMnW,OAAQuZ,EAAMmE,GAE9HvH,EAAMnW,MAAMuI,WAAWgV,EAAQI,EAAaI,EAAG,KAAM1sB,EAAG+P,GAGxD,IAAIkd,EAAYZ,EAAeH,GAAS,EAAI7J,EAAO2K,SAASd,GAAQ,EAAI7J,EAAO+J,aAAatH,EAAMnW,OAAQuZ,GACtGqE,EAAYzH,EAAM5Q,MAAMqY,UAE5BzH,EAAM/Q,SAAS,CACbkY,WAAY,KACZC,OAAQe,EACRX,YAAa,KACbC,UAAW,OAGbzH,EAAMoI,qBAAqBD,EAAWV,EAlBxB,CARqB,CA2BrC,IAEAha,EAAgBgR,EAAuBuB,GAAQ,iBAAiB,SAAU1S,EAAG6T,EAAGC,EAAG8D,GACjF,IAAIhqB,EAAIgqB,EAAMhqB,EACV+P,EAAOia,EAAMja,KACbmc,EAASpH,EAAM5Q,MAAMgY,OACrBQ,GAAI,EAAIrK,EAAOsK,eAAeT,EAAQ9Z,GACrCsa,IAEL5H,EAAM/Q,SAAS,CACbyY,eAAe,EAAInK,EAAOuK,iBAAiBF,GAC3CH,UAAWzH,EAAM5Q,MAAMgY,SAGzBpH,EAAMnW,MAAMmb,cAAcoC,EAAQQ,EAAGA,EAAG,KAAM1sB,EAAG+P,GACnD,IAEAwC,EAAgBgR,EAAuBuB,GAAQ,YAAY,SAAU1S,EAAG6T,EAAGC,EAAGiH,GAC5E,IAAIntB,EAAImtB,EAAMntB,EACV+P,EAAOod,EAAMpd,KACbqd,EAActI,EAAM5Q,MACpBgY,EAASkB,EAAYlB,OACrBM,EAAgBY,EAAYZ,cAC5BlG,EAAexB,EAAMnW,MACrBuZ,EAAO5B,EAAa4B,KACpB2E,EAAmBvG,EAAauG,iBAChCR,EAAe/F,EAAa+F,aAE5BgB,GAAkB,EAAIhL,EAAOiL,gBAAgBpB,EAAQ9Z,GAAG,SAAUsa,GAGpE,IAAIa,EAEJ,GAAIV,IAAqBR,EAAc,CACrC,IAAImB,GAAa,EAAInL,EAAOoL,kBAAkBvB,EAAQrJ,EAAcA,EAAc,CAAC,EAAG6J,GAAI,CAAC,EAAG,CAC5FzG,EAAGA,EACHC,EAAGA,KACDvD,QAAO,SAAU+K,GACnB,OAAOA,EAAWtb,IAAMsa,EAAEta,CAC5B,IAIA,GAHAmb,EAAgBC,EAAWltB,OAAS,EAGjB,CAEjB,IAAIqtB,EAASjE,IACTkE,EAASlE,IACb8D,EAAWxpB,SAAQ,SAAU0pB,GACvBA,EAAWja,EAAIiZ,EAAEjZ,IAAGka,EAASxM,KAAKC,IAAIuM,EAAQD,EAAWja,IACzDia,EAAWha,EAAIgZ,EAAEhZ,IAAGka,EAASzM,KAAKC,IAAIwM,EAAQF,EAAWha,GAC/D,IACIma,OAAOC,SAASH,KAASjB,EAAEzG,EAAI0H,EAASjB,EAAEjZ,GAC1Coa,OAAOC,SAASF,KAASlB,EAAExG,EAAI0H,EAASlB,EAAEhZ,EAChD,CACF,CAQA,OANK6Z,IAEHb,EAAEzG,EAAIA,EACNyG,EAAExG,EAAIA,GAGDwG,CACT,IACIqB,EAjOV,SAAwBvC,EAAKpZ,GAAK,OAUlC,SAAyBoZ,GAAO,GAAIprB,MAAMC,QAAQmrB,GAAM,OAAOA,CAAK,CAV3BwC,CAAgBxC,IAQzD,SAA+BA,EAAKpZ,GAAK,IAAI6b,EAAY,MAAPzC,EAAc,KAAyB,oBAAX7lB,QAA0B6lB,EAAI7lB,OAAOsc,WAAauJ,EAAI,cAAe,GAAU,MAANyC,EAAJ,CAAwB,IAAkDC,EAAIC,EAAlDC,EAAO,GAAQC,GAAK,EAAUC,GAAK,EAAmB,IAAM,IAAKL,EAAKA,EAAG1oB,KAAKimB,KAAQ6C,GAAMH,EAAKD,EAAGM,QAAQC,QAAoBJ,EAAKtiB,KAAKoiB,EAAGjqB,QAAYmO,GAAKgc,EAAK9tB,SAAW8R,GAA3Dic,GAAK,GAAkE,CAAE,MAAOpf,GAAOqf,GAAK,EAAMH,EAAKlf,CAAK,CAAE,QAAU,IAAWof,GAAsB,MAAhBJ,EAAW,QAAWA,EAAW,QAAK,CAAE,QAAU,GAAIK,EAAI,MAAMH,CAAI,CAAE,CAAE,OAAOC,CAAjV,CAAuV,CAR/bK,CAAsBjD,EAAKpZ,IAAM+Y,EAA4BK,EAAKpZ,IAEnI,WAA8B,MAAM,IAAIS,UAAU,4IAA8I,CAFvD6b,EAAoB,CAiOhIC,CAAetB,EAAiB,GACnDJ,EAAYc,EAAiB,GAC7BrB,EAAIqB,EAAiB,GAGzB,GAAKrB,EAAL,CAEA,IAAII,EAAc,CAChB7G,EAAGyG,EAAEzG,EACLC,EAAGwG,EAAExG,EACLzS,EAAGiZ,EAAEjZ,EACLC,EAAGgZ,EAAEhZ,EACL+W,QAAQ,EACRrY,EAAGA,GAGL0S,EAAMnW,MAAMob,SAASkD,EAAWT,EAAeE,EAAGI,EAAa9sB,EAAG+P,GAGlE+U,EAAM/Q,SAAS,CACbmY,OAAQG,EAAeY,GAAY,EAAI5K,EAAO2K,SAASC,GAAW,EAAI5K,EAAO+J,aAAatH,EAAMnW,OAAQuZ,GACxG+D,WAAYa,GAhBA,CAkBhB,IAEAva,EAAgBgR,EAAuBuB,GAAQ,gBAAgB,SAAU1S,EAAG6T,EAAGC,EAAG0I,GAChF,IAAI5uB,EAAI4uB,EAAM5uB,EACV+P,EAAO6e,EAAM7e,KACb8e,EAAe/J,EAAM5Q,MACrBgY,EAAS2C,EAAa3C,OACtBM,EAAgBqC,EAAarC,cAC7BvF,EAAenC,EAAMnW,MACrBuZ,EAAOjB,EAAaiB,KACpBmE,EAAepF,EAAaoF,aAC5BK,GAAI,EAAIrK,EAAOsK,eAAeT,EAAQ9Z,GAE1C0S,EAAMnW,MAAMkb,aAAaqC,EAAQM,EAAeE,EAAG,KAAM1sB,EAAG+P,GAG5D,IAAIkd,EAAYZ,EAAeH,GAAS,EAAI7J,EAAO2K,SAASd,GAAQ,EAAI7J,EAAO+J,aAAatH,EAAMnW,OAAQuZ,GACtGqE,EAAYzH,EAAM5Q,MAAMqY,UAE5BzH,EAAM/Q,SAAS,CACbkY,WAAY,KACZC,OAAQe,EACRT,cAAe,KACfD,UAAW,OAGbzH,EAAMoI,qBAAqBD,EAAWV,EACxC,IAEAha,EAAgBgR,EAAuBuB,GAAQ,cAAc,SAAU9kB,GACrE,IAAI8uB,EAQJ,GANA9uB,EAAEgZ,iBAEFhZ,EAAE+uB,kBAIEnD,IACiD,QAAlDkD,EAAwB9uB,EAAEgvB,YAAY7c,cAA8C,IAA1B2c,IAAoCA,EAAsB3P,UAAU8P,SAAStD,IACxI,OAAO,EAGT,IAAIrD,EAAexD,EAAMnW,MACrBugB,EAAe5G,EAAa4G,aAC5BC,EAAiB7G,EAAa6G,eAC9B5I,EAAS+B,EAAa/B,OACtB2B,EAAOI,EAAaJ,KACpB1B,EAAY8B,EAAa9B,UACzB4B,EAAUE,EAAaF,QACvBpL,EAAQsL,EAAatL,MACrBmL,EAAmBG,EAAaH,iBAChC7C,EAAiBgD,EAAahD,eAG9B8J,EAAmBD,aAAuD,EAASA,EAAenvB,GAEtG,IAAyB,IAArBovB,EAKF,OAJItK,EAAM5Q,MAAMuY,iBACd3H,EAAMuK,6BAGD,EAGT,IArUsB7D,EAqUlB8D,EAAoBzM,EAAcA,EAAc,CAAC,EAAGqM,GAAeE,GAEnElD,EAASpH,EAAM5Q,MAAMgY,OAErBqD,EAAiBvvB,EAAEgvB,YACnBQ,EAASD,EAAeC,OACxBC,EAASF,EAAeE,OACxBjI,EAAmB,CACrBjQ,KAAMiY,EAASlK,EACf7N,IAAKgY,EAASnK,EACdtlB,EAAGA,GAGL,GAAK8kB,EAAM5Q,MAAMuY,iBAyBV,GAAI3H,EAAM5Q,MAAMsT,iBAAkB,CACvC,IAAIkI,EAAwB5K,EAAM5Q,MAAMsT,iBACpCjQ,EAAOmY,EAAsBnY,KAC7BE,EAAMiY,EAAsBjY,KACLF,GAAQiY,GAAU/X,GAAOgY,IAGlD3K,EAAM/Q,SAAS,CACbyT,iBAAkBA,GAGxB,MApCkC,CAChC,IAAInB,EAEF,CACA6B,KAAMA,EACN3B,OAAQA,EACR6B,QAASA,EACT5B,UAAWA,EACXJ,eAAgBpJ,EAChBmL,iBAAkBA,GAAoB5B,GAEpCoJ,GAAqB,EAAIrN,EAAgByD,QAAQM,EAAgBoJ,EAAQD,EAAQF,EAAkBrJ,EAAGqJ,EAAkBpJ,GAE5HpB,EAAM/Q,SAAS,CACb0Y,gBAA8B9b,EAAMqG,cAAc,MAAO,CACvD9S,IAAKorB,EAAkBld,IAEzBoV,iBAAkBA,EAClB0E,OAAQ,GAAGlN,QApWOwM,EAoWmBU,EA9V/C,SAA4BV,GAAO,GAAIprB,MAAMC,QAAQmrB,GAAM,OAAOH,EAAkBG,EAAM,CANhDoE,CAAmBpE,IAI7D,SAA0BqE,GAAQ,GAAsB,oBAAXlqB,QAAmD,MAAzBkqB,EAAKlqB,OAAOsc,WAA2C,MAAtB4N,EAAK,cAAuB,OAAOzvB,MAAMmrB,KAAKsE,EAAO,CAJxFC,CAAiBtE,IAAQL,EAA4BK,IAE1H,WAAgC,MAAM,IAAI3Y,UAAU,uIAAyI,CAF3Dkd,IAoW1E,CAAClN,EAAcA,EAAc,CAAC,EAAGyM,GAAoB,CAAC,EAAG,CACrG7b,EAAGkc,EAAmBlc,EACtBC,EAAGic,EAAmBjc,EACtB+W,QAAQ,EACR7B,aAAa,OAGnB,CAYF,IAEArW,EAAgBgR,EAAuBuB,GAAQ,6BAA6B,WAC1E,IAAIgE,EAAehE,EAAMnW,MACrBugB,EAAepG,EAAaoG,aAC5BhH,EAAOY,EAAaZ,KACpBgE,EAASpH,EAAM5Q,MAAMgY,OACrBe,GAAY,EAAI5K,EAAO2K,SAASd,EAAOvJ,QAAO,SAAU+J,GAC1D,OAAOA,EAAEta,IAAM8c,EAAa9c,CAC9B,KAAI,EAAIiQ,EAAO+J,aAAatH,EAAMnW,OAAQuZ,GAE1CpD,EAAM/Q,SAAS,CACbmY,OAAQe,EACRR,gBAAiB,KACjBR,WAAY,KACZzE,sBAAkB9hB,GAEtB,IAEA6M,EAAgBgR,EAAuBuB,GAAQ,eAAe,SAAU9kB,GACtEA,EAAEgZ,iBAEFhZ,EAAE+uB,kBACFjK,EAAMkL,mBAMyB,IAA3BlL,EAAMkL,kBACRlL,EAAMuK,2BAEV,IAEA9c,EAAgBgR,EAAuBuB,GAAQ,eAAe,SAAU9kB,GACtEA,EAAEgZ,iBAEFhZ,EAAE+uB,kBACFjK,EAAMkL,kBACR,IAEAzd,EAAgBgR,EAAuBuB,GAAQ,UAAU,SAAU9kB,GAGjEA,EAAEgZ,iBAEFhZ,EAAE+uB,kBACF,IAAIG,EAAepK,EAAMnW,MAAMugB,aAC3BhD,EAASpH,EAAM5Q,MAAMgY,OACrB+D,EAAO/D,EAAOgE,MAAK,SAAUxD,GAC/B,OAAOA,EAAEta,IAAM8c,EAAa9c,CAC9B,IAEA0S,EAAMkL,iBAAmB,EAEzBlL,EAAMuK,4BAENvK,EAAMnW,MAAMwhB,OAAOjE,EAAQ+D,EAAMjwB,EACnC,IAEO8kB,CACT,CAmRA,OA3qBoBb,EA0ZP8H,EA1ZgCC,EAgoBzC,CAAC,CACH9nB,IAAK,2BACLD,MAAO,SAAkCqjB,EAEvC8I,GAKA,IAAIC,EAEJ,OAAID,EAAUnE,WACL,OAKJ,EAAIhB,EAAQva,SAAS4W,EAAU4E,OAAQkE,EAAUE,cAAgBhJ,EAAU8E,cAAgBgE,EAAUhE,aAE9F,EAAI/J,EAAOkO,eAAejJ,EAAUvR,SAAUqa,EAAUra,YAIlEsa,EAAgBD,EAAUlE,QAL1BmE,EAAgB/I,EAAU4E,OASxBmE,EAEK,CACLnE,QAFc,EAAI7J,EAAO8J,+BAA+BkE,EAAe/I,EAAUvR,SAAUuR,EAAUY,MAAM,EAAI7F,EAAO+J,aAAa9E,GAAYA,EAAU+E,cAKzJD,YAAa9E,EAAU8E,YACvBrW,SAAUuR,EAAUvR,SACpBua,YAAahJ,EAAU4E,QAIpB,KACT,KAxqB+BhI,EA0ZH,CAAC,CAC7BhgB,IAAK,oBACLD,MAAO,WACLwD,KAAKsM,SAAS,CACZuF,SAAS,IAIX7R,KAAKylB,qBAAqBzlB,KAAKyM,MAAMgY,OAAQzkB,KAAKkH,MAAMud,OAC1D,GACC,CACDhoB,IAAK,wBACLD,MAAO,SAA+BqjB,EAEpCC,GAKA,OAGE9f,KAAKkH,MAAMoH,WAAauR,EAAUvR,YAAa,EAAIsM,EAAOmO,mBAAmB/oB,KAAKkH,MAAO2Y,EAAW2D,EAAQva,UAAYjJ,KAAKyM,MAAM+X,aAAe1E,EAAU0E,YAAcxkB,KAAKyM,MAAMoF,UAAYiO,EAAUjO,SAAW7R,KAAKyM,MAAMsT,mBAAqBD,EAAUC,gBAEpQ,GACC,CACDtjB,IAAK,qBACLD,MAAO,SAA4B6jB,EAEjCsI,GAGA,IAAK3oB,KAAKyM,MAAM+X,WAAY,CAC1B,IAAIgB,EAAYxlB,KAAKyM,MAAMgY,OACvBK,EAAY6D,EAAUlE,OAC1BzkB,KAAKylB,qBAAqBD,EAAWV,EACvC,CACF,GAMC,CACDroB,IAAK,kBACLD,MAAO,WAGL,GAAKwD,KAAKkH,MAAM8hB,SAAhB,CACA,IAAIC,GAAQ,EAAIrO,EAAO3K,QAAQjQ,KAAKyM,MAAMgY,QACtCyE,EAAoBlpB,KAAKkH,MAAMwZ,iBAAmB1gB,KAAKkH,MAAMwZ,iBAAiB,GAAK1gB,KAAKkH,MAAM4X,OAAO,GACzG,OAAOmK,EAAQjpB,KAAKkH,MAAM6X,WAAakK,EAAQ,GAAKjpB,KAAKkH,MAAM4X,OAAO,GAAyB,EAApBoK,EAAwB,IAHnE,CAIlC,GAUC,CACDzsB,IAAK,uBACLD,MAAO,SAA8BgpB,EAEnCV,GAGKA,IAAWA,EAAY9kB,KAAKyM,MAAMgY,SAElC,EAAIjB,EAAQva,SAAS6b,EAAWU,IACnCxlB,KAAKkH,MAAMiiB,eAAe3D,EAE9B,GACC,CACD/oB,IAAK,cACLD,MAKA,WAGE,IAAIgoB,EAAaxkB,KAAKyM,MAAM+X,WAC5B,IAAKA,EAAY,OAAO,KACxB,IAAI/B,EAAeziB,KAAKkH,MACpBqO,EAAQkN,EAAalN,MACrBkL,EAAOgC,EAAahC,KACpB3B,EAAS2D,EAAa3D,OACtB4B,EAAmB+B,EAAa/B,iBAChC3B,EAAY0D,EAAa1D,UACzB4B,EAAU8B,EAAa9B,QACvBR,EAAmBsC,EAAatC,iBAChCtC,EAAiB4E,EAAa5E,eAElC,OAAoB3U,EAAMqG,cAAckU,EAAUxa,QAAS,CACzDuV,EAAGgG,EAAWhG,EACdC,EAAG+F,EAAW/F,EACdzS,EAAGwY,EAAWxY,EACdC,EAAGuY,EAAWvY,EACdtB,EAAG6Z,EAAW7Z,EACd2E,UAAW,yBACXqP,eAAgBpJ,EAChBkL,KAAMA,EACN3B,OAAQA,EACR4B,iBAAkBA,GAAoB5B,EACtC6B,QAASA,EACT5B,UAAWA,EACXoC,aAAa,EACbC,aAAa,EACb1C,WAAW,EACXyB,iBAAkBA,EAClBtC,eAAgBA,GACF3U,EAAMqG,cAAc,MAAO,MAC7C,GAOC,CACD9S,IAAK,kBACLD,MAAO,SAAyB0kB,EAE9BkI,GAKA,GAAKlI,GAAUA,EAAMzkB,IAArB,CACA,IAAIwoB,GAAI,EAAIrK,EAAOsK,eAAellB,KAAKyM,MAAMgY,OAAQ/d,OAAOwa,EAAMzkB,MAClE,IAAKwoB,EAAG,OAAO,KACf,IAAIvC,EAAe1iB,KAAKkH,MACpBqO,EAAQmN,EAAanN,MACrBkL,EAAOiC,EAAajC,KACpB3B,EAAS4D,EAAa5D,OACtB4B,EAAmBgC,EAAahC,iBAChC3B,EAAY2D,EAAa3D,UACzB4B,EAAU+B,EAAa/B,QACvBQ,EAAcuB,EAAavB,YAC3BC,EAAcsB,EAAatB,YAC3B1C,EAAYgE,EAAahE,UACzByB,EAAmBuC,EAAavC,iBAChCtC,EAAiB6E,EAAa7E,eAC9BwL,EAAkB3G,EAAa2G,gBAC/BC,EAAkB5G,EAAa4G,gBAC/B5H,EAAgBgB,EAAahB,cAC7BC,EAAee,EAAaf,aAC5B4H,EAAevpB,KAAKyM,MACpBoF,EAAU0X,EAAa1X,QACvBkO,EAAmBwJ,EAAaxJ,iBAIhChR,EAAqC,kBAAlBkW,EAAE9D,YAA4B8D,EAAE9D,aAAe8D,EAAEjC,QAAU7B,EAC9EqI,EAAqC,kBAAlBvE,EAAE7D,YAA4B6D,EAAE7D,aAAe6D,EAAEjC,QAAU5B,EAC9EqI,EAAuBxE,EAAEvD,eAAiBA,EAE1CgI,EAAU3a,GAAa2P,IAA6B,IAAhBuG,EAAEvG,UAC1C,OAAoBxV,EAAMqG,cAAckU,EAAUxa,QAAS,CACzD0V,eAAgBpJ,EAChBkL,KAAMA,EACN3B,OAAQA,EACR4B,iBAAkBA,GAAoB5B,EACtC6B,QAASA,EACT5B,UAAWA,EACXzN,OAAQ+X,EACRjY,OAAQkY,EACR7Z,WAAYzP,KAAKyP,WACjBD,YAAaxP,KAAKwP,YAClBpC,OAAQpN,KAAKoN,OACbiV,cAAeriB,KAAKqiB,cACpBC,SAAUtiB,KAAKsiB,SACfF,aAAcpiB,KAAKoiB,aACnBjB,YAAapS,EACbqS,YAAaoI,EACb9K,UAAWgL,EACXvJ,iBAAkBA,GAAoBtO,EACtCiP,gBAAiBjP,EACjBgM,eAAgBA,EAChBW,EAAGyG,EAAEzG,EACLC,EAAGwG,EAAExG,EACLzS,EAAGiZ,EAAEjZ,EACLC,EAAGgZ,EAAEhZ,EACLtB,EAAGsa,EAAEta,EACL4W,KAAM0D,EAAE1D,KACRD,KAAM2D,EAAE3D,KACRG,KAAMwD,EAAExD,KACRD,KAAMyD,EAAEzD,KACRwB,OAAQiC,EAAEjC,OACVjD,iBAAkBqJ,EAAiBrJ,OAAmB9hB,EACtDyjB,cAAe+H,EACf9H,aAAcA,GACbT,EAhE6B,CAiElC,GAGC,CACDzkB,IAAK,SACLD,MAAO,WAGL,IAAImtB,EAAS3pB,KAET6iB,EAAe7iB,KAAKkH,MACpBoI,EAAYuT,EAAavT,UACzBT,EAAQgU,EAAahU,MACrB+a,EAAc/G,EAAa+G,YAC3BC,EAAWhH,EAAagH,SACxBC,GAAkB,EAAI9f,EAAMf,SAASib,EAAiB5U,GAEtDya,EAAc3O,EAAc,CAC9BrG,OAAQ/U,KAAKgqB,mBACZnb,GAEH,OAAoB3F,EAAMqG,cAAc,MAAO,CAC7CwT,IAAK8G,EACLva,UAAWwa,EACXjb,MAAOkb,EACPrB,OAAQkB,EAAc5pB,KAAK0oB,OAAS9N,EAAOqP,KAC3CC,YAAaN,EAAc5pB,KAAKkqB,YAActP,EAAOqP,KACrDE,YAAaP,EAAc5pB,KAAKmqB,YAAcvP,EAAOqP,KACrDG,WAAYR,EAAc5pB,KAAKoqB,WAAaxP,EAAOqP,MAClD/gB,EAAMyG,SAASvT,IAAI4D,KAAKkH,MAAMoH,UAAU,SAAU4S,GACnD,OAAOyI,EAAOU,gBAAgBnJ,EAChC,IAAI0I,GAAe5pB,KAAKyM,MAAMuY,iBAAmBhlB,KAAKqqB,gBAAgBrqB,KAAKyM,MAAMuY,iBAAiB,GAAOhlB,KAAKqlB,cAChH,MA/nB0E9J,EAAkBiB,EAAYxf,UAAWyf,GAAiB8H,GAAahJ,EAAkBiB,EAAa+H,GAAczpB,OAAOgO,eAAe0T,EAAa,YAAa,CAAEhR,UAAU,IA2qBrP8Y,CACT,CA5oBmC,CA4oBjCpb,EAAMwC,WAERtQ,EAAA,QAAkBkpB,EAElBxZ,EAAgBwZ,EAAiB,cAAe,mBAEhDxZ,EAAgBwZ,EAAiB,YAAaxJ,EAA0B7R,SAExE6B,EAAgBwZ,EAAiB,eAAgB,CAC/C0E,UAAU,EACVvI,KAAM,GACNnR,UAAW,GACXT,MAAO,CAAC,EACRya,gBAAiB,GACjBD,gBAAiB,GACjB3I,iBAAkB,KAClB3B,UAAW,IACX4B,QAASsB,IAETwC,OAAQ,GACR3F,OAAQ,CAAC,GAAI,IACbJ,WAAW,EACXyC,aAAa,EACbC,aAAa,EACbwD,cAAc,EACdgF,aAAa,EACbzJ,kBAAkB,EAClBtC,eAAgB,EAChByM,iBAAiB,EACjB3F,YAAa,WACbS,kBAAkB,EAClBqC,aAAc,CACZ9c,EAAG,oBACH8T,EAAG,EACHD,EAAG,GAELkD,cAAe,CAAC,MAChByH,eAAgBvO,EAAOqP,KACvBza,YAAaoL,EAAOqP,KACpB7c,OAAQwN,EAAOqP,KACfxa,WAAYmL,EAAOqP,KACnB5H,cAAezH,EAAOqP,KACtB3H,SAAU1H,EAAOqP,KACjB7H,aAAcxH,EAAOqP,KACrBvB,OAAQ9N,EAAOqP,KACfvC,eAAgB9M,EAAOqP,M,6BChxBzBnvB,OAAOgO,eAAe1N,EAAS,aAAc,CAC3CoB,OAAO,IAETpB,EAAQmoB,iBAAmBnoB,EAAQkoB,qBAAuBloB,EAAA,aAAkB,EAE5E,IAAIyO,EAAaC,EAAuB,EAAQ,MAE5C2Q,EAAS3Q,EAAuB,EAAQ,MAE5C,SAASA,EAAuBX,GAAO,OAAOA,GAAOA,EAAIE,WAAaF,EAAM,CAAEF,QAASE,EAAO,CAY9F,IAAIma,EAEFzZ,EAAWZ,QAAQf,QAAQ2B,EAAWZ,QAAQT,MAAM,CAAC,IAAK,IAAK,IAAK,IAAK,KAAM,KAAM,KAAM,QAG7FpN,EAAQkoB,qBAAuBA,EAE/B,IAAIC,EAEF1Z,EAAWZ,QAAQR,UAAU,CAACoB,EAAWZ,QAAQX,KAAMuB,EAAWZ,QAAQpM,OAmD5EzB,EAAQmoB,iBAAmBA,EAC3B,IAAIgH,EAAW,CAIbjb,UAAWzF,EAAWZ,QAAQjB,OAC9B6G,MAAOhF,EAAWZ,QAAQvH,OAI1B6T,MAAO1L,EAAWZ,QAAQlB,OAE1BihB,SAAUnf,EAAWZ,QAAQnB,KAE7B2Y,KAAM5W,EAAWZ,QAAQlB,OAEzBshB,gBAAiBxf,EAAWZ,QAAQjB,OAEpCshB,gBAAiBzf,EAAWZ,QAAQjB,OAEpCsiB,gBAAiB,SAAyBpjB,GAGpCA,EAAMojB,eAIZ,EAEA3F,YAAc9a,EAAWZ,QAAQT,MAAM,CAAC,WAAY,eAKpDic,OAAQ,SAAgBvd,GAGtB,IAAIud,EAASvd,EAAMud,YAEJxmB,IAAXwmB,GAEJ,sBAAkCA,EAAQ,SAC5C,EAKA3F,OAASjV,EAAWZ,QAAQf,QAAQ2B,EAAWZ,QAAQlB,QAIvD2Y,iBAAmB7W,EAAWZ,QAAQf,QAAQ2B,EAAWZ,QAAQlB,QAIjEgX,UAAWlV,EAAWZ,QAAQlB,OAM9B4Y,QAAS9W,EAAWZ,QAAQlB,OAI5B2W,UAAW7U,EAAWZ,QAAQnB,KAC9BqZ,YAAatX,EAAWZ,QAAQnB,KAChCsZ,YAAavX,EAAWZ,QAAQnB,KAEhC8c,aAAc/a,EAAWZ,QAAQnB,KAEjCsd,iBAAkBvb,EAAWZ,QAAQnB,KAErCqY,iBAAkBtW,EAAWZ,QAAQnB,KAErC+V,eAAgBhU,EAAWZ,QAAQlB,OAEnC6hB,YAAa/f,EAAWZ,QAAQnB,KAEhC4Z,cAAe4B,EACf3B,aAAc4B,EAKd4F,eAAgBtf,EAAWZ,QAAQpM,KAGnC2S,YAAa3F,EAAWZ,QAAQpM,KAEhCuQ,OAAQvD,EAAWZ,QAAQpM,KAE3B4S,WAAY5F,EAAWZ,QAAQpM,KAE/BwlB,cAAexY,EAAWZ,QAAQpM,KAElCylB,SAAUzY,EAAWZ,QAAQpM,KAE7BulB,aAAcvY,EAAWZ,QAAQpM,KAEjC6rB,OAAQ7e,EAAWZ,QAAQpM,KAI3B4qB,aAAe5d,EAAWZ,QAAQP,MAAM,CACtCiC,EAAGd,EAAWZ,QAAQjB,OAAOL,WAC7B6W,EAAG3U,EAAWZ,QAAQlB,OAAOJ,WAC7B8W,EAAG5U,EAAWZ,QAAQlB,OAAOJ,aAK/B2G,SAAU,SAAkBpH,EAE1BC,GAGA,IAAImH,EAAWpH,EAAMC,GAEjB1J,EAAO,CAAC,EAEZgd,EAAOxR,QAAQ0G,SAASpT,QAAQ+R,GAAU,SAAU4S,GAClD,GAAiE,OAA5DA,aAAqC,EAASA,EAAMzkB,KAAzD,CAEA,GAAIgB,EAAKyjB,EAAMzkB,KACb,MAAM,IAAIgL,MAAM,wBAA0ByZ,EAAMzkB,IAAM,yDAGxDgB,EAAKyjB,EAAMzkB,MAAO,CAN2D,CAO/E,GACF,EAEAotB,SAAUhgB,EAAWZ,QAAQhB,KAE/B7M,EAAA,QAAkBmvB,C,6BCvNlB,SAAShQ,EAAQpR,GAAkC,OAAOoR,EAAU,mBAAqBrc,QAAU,iBAAmBA,OAAOsc,SAAW,SAAUrR,GAAO,cAAcA,CAAK,EAAI,SAAUA,GAAO,OAAOA,GAAO,mBAAqBjL,QAAUiL,EAAIxF,cAAgBzF,QAAUiL,IAAQjL,OAAOlB,UAAY,gBAAkBmM,CAAK,EAAGoR,EAAQpR,EAAM,CAK/U/N,EAAA,aAAkB,EAElB,IAAI8N,EAkBJ,SAAiCC,EAAKC,GAAe,GAAoBD,GAAOA,EAAIE,WAAc,OAAOF,EAAO,GAAY,OAARA,GAAiC,WAAjBoR,EAAQpR,IAAoC,mBAARA,EAAsB,MAAO,CAAEF,QAASE,GAAS,IAAIG,EAAQC,EAAyBH,GAAc,GAAIE,GAASA,EAAMlF,IAAI+E,GAAQ,OAAOG,EAAMzG,IAAIsG,GAAQ,IAAIK,EAAS,CAAC,EAAOC,EAAwB3O,OAAOgO,gBAAkBhO,OAAO4O,yBAA0B,IAAK,IAAIjN,KAAO0M,EAAO,GAAY,YAAR1M,GAAqB3B,OAAOkC,UAAUM,eAAeQ,KAAKqL,EAAK1M,GAAM,CAAE,IAAIkN,EAAOF,EAAwB3O,OAAO4O,yBAAyBP,EAAK1M,GAAO,KAAUkN,IAASA,EAAK9G,KAAO8G,EAAKhN,KAAQ7B,OAAOgO,eAAeU,EAAQ/M,EAAKkN,GAAgBH,EAAO/M,GAAO0M,EAAI1M,EAAQ,CAAiE,OAA7D+M,EAAOP,QAAUE,EAASG,GAASA,EAAM3M,IAAIwM,EAAKK,GAAkBA,CAAQ,CAlBzxBI,CAAwB,EAAQ,MAExCC,EAAaC,EAAuB,EAAQ,MAE5C0Z,EAAU1Z,EAAuB,EAAQ,IAEzC8Q,EAAS,EAAQ,KAEjB4P,EAAmB,EAAQ,KAE3BC,EAAmB3gB,EAAuB,EAAQ,MAElD4gB,EAAY,CAAC,aAAc,cAAe,OAAQ,UAAW,SAAU,mBAAoB,qBAAsB,iBAAkB,iBAEvI,SAAS5gB,EAAuBX,GAAO,OAAOA,GAAOA,EAAIE,WAAaF,EAAM,CAAEF,QAASE,EAAO,CAE9F,SAASI,EAAyBH,GAAe,GAAuB,mBAAZjK,QAAwB,OAAO,KAAM,IAAIkL,EAAoB,IAAIlL,QAAemL,EAAmB,IAAInL,QAAW,OAAQoK,EAA2B,SAAkCH,GAAe,OAAOA,EAAckB,EAAmBD,CAAmB,GAAGjB,EAAc,CAI9U,SAASmB,IAA2Q,OAA9PA,EAAWzP,OAAO0P,QAAU,SAAUE,GAAU,IAAK,IAAIC,EAAI,EAAGA,EAAI5R,UAAUF,OAAQ8R,IAAK,CAAE,IAAIC,EAAS7R,UAAU4R,GAAI,IAAK,IAAIlO,KAAOmO,EAAc9P,OAAOkC,UAAUM,eAAeQ,KAAK8M,EAAQnO,KAAQiO,EAAOjO,GAAOmO,EAAOnO,GAAU,CAAE,OAAOiO,CAAQ,EAAUH,EAASM,MAAM7K,KAAMjH,UAAY,CAM5T,SAASgiB,EAAQrZ,EAAQsZ,GAAkB,IAAIvd,EAAO3C,OAAO2C,KAAKiE,GAAS,GAAI5G,OAAO2D,sBAAuB,CAAE,IAAIwc,EAAUngB,OAAO2D,sBAAsBiD,GAASsZ,IAAmBC,EAAUA,EAAQC,QAAO,SAAUC,GAAO,OAAOrgB,OAAO4O,yBAAyBhI,EAAQyZ,GAAKpS,UAAY,KAAKtL,EAAK4G,KAAKwG,MAAMpN,EAAMwd,EAAU,CAAE,OAAOxd,CAAM,CAEpV,SAAS2d,EAAc1Q,GAAU,IAAK,IAAIC,EAAI,EAAGA,EAAI5R,UAAUF,OAAQ8R,IAAK,CAAE,IAAIC,EAAS,MAAQ7R,UAAU4R,GAAK5R,UAAU4R,GAAK,CAAC,EAAGA,EAAI,EAAIoQ,EAAQjgB,OAAO8P,IAAS,GAAIrO,SAAQ,SAAUE,GAAOqO,EAAgBJ,EAAQjO,EAAKmO,EAAOnO,GAAO,IAAK3B,OAAOugB,0BAA4BvgB,OAAOwgB,iBAAiB5Q,EAAQ5P,OAAOugB,0BAA0BzQ,IAAWmQ,EAAQjgB,OAAO8P,IAASrO,SAAQ,SAAUE,GAAO3B,OAAOgO,eAAe4B,EAAQjO,EAAK3B,OAAO4O,yBAAyBkB,EAAQnO,GAAO,GAAI,CAAE,OAAOiO,CAAQ,CAIzf,SAAS6Q,EAAkB7Q,EAAQxD,GAAS,IAAK,IAAIyD,EAAI,EAAGA,EAAIzD,EAAMrO,OAAQ8R,IAAK,CAAE,IAAI6Q,EAAatU,EAAMyD,GAAI6Q,EAAWzS,WAAayS,EAAWzS,aAAc,EAAOyS,EAAWjQ,cAAe,EAAU,UAAWiQ,IAAYA,EAAWhQ,UAAW,GAAM1Q,OAAOgO,eAAe4B,EAAQ8Q,EAAW/e,IAAK+e,EAAa,CAAE,CAM5T,SAASC,EAAgBC,EAAGC,GAA+G,OAA1GF,EAAkB3gB,OAAO8gB,gBAAkB,SAAyBF,EAAGC,GAAsB,OAAjBD,EAAEG,UAAYF,EAAUD,CAAG,EAAUD,EAAgBC,EAAGC,EAAI,CAMzK,SAASG,EAAuB9gB,GAAQ,QAAa,IAATA,EAAmB,MAAM,IAAI+gB,eAAe,6DAAgE,OAAO/gB,CAAM,CAIrK,SAASghB,EAAgBN,GAAwJ,OAAnJM,EAAkBlhB,OAAO8gB,eAAiB9gB,OAAOmhB,eAAiB,SAAyBP,GAAK,OAAOA,EAAEG,WAAa/gB,OAAOmhB,eAAeP,EAAI,EAAUM,EAAgBN,EAAI,CAE5M,SAAS5Q,EAAgB3B,EAAK1M,EAAKD,GAAiK,OAApJC,KAAO0M,EAAOrO,OAAOgO,eAAeK,EAAK1M,EAAK,CAAED,MAAOA,EAAOuM,YAAY,EAAMwC,cAAc,EAAMC,UAAU,IAAkBrC,EAAI1M,GAAOD,EAAgB2M,CAAK,CAGhN,IAAItE,EAAO,SAAcsE,GACvB,OAAOrO,OAAOkC,UAAUK,SAASS,KAAKqL,EACxC,EAUA,SAASwhB,EAERC,EAECC,GAMA,OAAa,MAATD,EAAsB,KAEnBjyB,MAAMC,QAAQgyB,GAASA,EAAQA,EAAMC,EAC9C,CAgDA,IAAIC,EAAyC,SAAU3O,IA1FvD,SAAmBC,EAAUC,GAAc,GAA0B,mBAAfA,GAA4C,OAAfA,EAAuB,MAAM,IAAIjR,UAAU,sDAAyDgR,EAASpf,UAAYlC,OAAOwhB,OAAOD,GAAcA,EAAWrf,UAAW,CAAE2G,YAAa,CAAEnH,MAAO4f,EAAU5Q,UAAU,EAAMD,cAAc,KAAWzQ,OAAOgO,eAAesT,EAAU,YAAa,CAAE5Q,UAAU,IAAc6Q,GAAYZ,EAAgBW,EAAUC,EAAa,CA2FjcE,CAAUuO,EAA2B3O,GAErC,IA/FoBK,EAAaC,EAAY8H,EAMzB7H,EAAeC,EAyF/BC,GAzFgBF,EAyFMoO,EAzFSnO,EAMrC,WAAuC,GAAuB,oBAAZE,UAA4BA,QAAQC,UAAW,OAAO,EAAO,GAAID,QAAQC,UAAUC,KAAM,OAAO,EAAO,GAAqB,mBAAVC,MAAsB,OAAO,EAAM,IAAsF,OAAhF1P,QAAQtQ,UAAU6C,QAAQ/B,KAAK+e,QAAQC,UAAUxP,QAAS,IAAI,WAAa,MAAY,CAAM,CAAE,MAAO/U,GAAK,OAAO,CAAO,CAAE,CANvQ0kB,GAAoC,WAAkC,IAAsC5gB,EAAlC6gB,EAAQlB,EAAgBU,GAAkB,GAAIC,EAA2B,CAAE,IAAIQ,EAAYnB,EAAgBhc,MAAM2D,YAAatH,EAASwgB,QAAQC,UAAUI,EAAOnkB,UAAWokB,EAAY,MAAS9gB,EAAS6gB,EAAMrS,MAAM7K,KAAMjH,WAAc,OAEpX,SAAoCiC,EAAM8C,GAAQ,GAAIA,IAA2B,WAAlByc,EAAQzc,IAAsC,mBAATA,GAAwB,OAAOA,EAAa,QAAa,IAATA,EAAmB,MAAM,IAAIsN,UAAU,4DAA+D,OAAO0Q,EAAuB9gB,EAAO,CAF4FoiB,CAA2Bpd,KAAM3D,EAAS,GA2Fna,SAASyuB,IACP,IAAIzN,GAtGR,SAAyBC,EAAUd,GAAe,KAAMc,aAAoBd,GAAgB,MAAM,IAAIpR,UAAU,oCAAwC,CAwGpJmS,CAAgBvd,KAAM8qB,GAEtB,IAAK,IAAItN,EAAOzkB,UAAUF,OAAQ4kB,EAAO,IAAI9kB,MAAM6kB,GAAOE,EAAO,EAAGA,EAAOF,EAAME,IAC/ED,EAAKC,GAAQ3kB,UAAU2kB,GAazB,OARA5S,EAAgBgR,EAFhBuB,EAAQT,EAAO9e,KAAK+M,MAAM+R,EAAQ,CAAC5c,MAAMuX,OAAOkG,KAED,QAASJ,EAAM0N,wBAE9DjgB,EAAgBgR,EAAuBuB,GAAQ,kBAAkB,SAAUoH,GAGzEpH,EAAMnW,MAAMiiB,eAAe1E,EAAQrJ,EAAcA,EAAc,CAAC,EAAGiC,EAAMnW,MAAM8jB,SAAU,CAAC,EAAGlgB,EAAgB,CAAC,EAAGuS,EAAM5Q,MAAMoe,WAAYpG,IAC3I,IAEOpH,CACT,CA2IA,OAhQoBb,EAuHPsO,EAvHgCvG,EAsOzC,CAAC,CACH9nB,IAAK,2BACLD,MAAO,SAAkCqjB,EAEvC8I,GAKA,KAAK,EAAInF,EAAQva,SAAS4W,EAAUmL,QAASrC,EAAUqC,SAAU,CAE/D,IAAIH,EAAalC,EAAUkC,WACvBI,EAAQtC,EAAUlI,KAItB,MAAO,CACLgE,QAFc,EAAI+F,EAAiBU,gCAAgCrL,EAAUmL,QAASnL,EAAUsL,YAAaN,EAAYA,EAAYI,EAAOpL,EAAU8E,aAGtJqG,QAASnL,EAAUmL,QAEvB,CAEA,OAAO,IACT,KA7P+BvO,EAuHO,CAAC,CACvChgB,IAAK,uBACLD,MAAO,WAGL,IAAIyR,EAAcjO,KAAKkH,MACnBqO,EAAQtH,EAAYsH,MACpB4V,EAAcld,EAAYkd,YAC1BH,EAAU/c,EAAY+c,QACtBvK,EAAOxS,EAAYwS,KACnBoK,GAAa,EAAIL,EAAiBY,wBAAwBD,EAAa5V,GACvE8V,GAAQ,EAAIb,EAAiBc,uBAAuBT,EAAYpK,GAEhEkE,GAA6C,IAA/B3kB,KAAKkH,MAAMojB,gBAA4B,KAAOtqB,KAAKkH,MAAMyd,YAI3E,MAAO,CACLF,QAFkB,EAAI+F,EAAiBU,gCAAgCF,EAASG,EAAaN,EAAYA,EAAYQ,EAAO1G,GAG5HkG,WAAYA,EACZpK,KAAM4K,EAEV,GACC,CACD5uB,IAAK,qBACLD,MAAO,SAA4B6jB,GAI7BrgB,KAAKkH,MAAMqO,OAAS8K,EAAU9K,OAASvV,KAAKkH,MAAM2jB,aAAexK,EAAUwK,aAAe,EAAIrH,EAAQva,SAASjJ,KAAKkH,MAAMikB,YAAa9K,EAAU8K,eAAiB,EAAI3H,EAAQva,SAASjJ,KAAKkH,MAAMuZ,KAAMJ,EAAUI,OACpNzgB,KAAKurB,cAAclL,EAEvB,GAEC,CACD5jB,IAAK,gBACLD,MAKA,SAAuB6jB,GAGrB,IAAIpN,EAAejT,KAAKkH,MACpBikB,EAAclY,EAAakY,YAC3B1K,EAAOxN,EAAawN,KACpBuK,EAAU/X,EAAa+X,QACvBrG,EAAc1R,EAAa0R,YAC3B6G,EAAgBxrB,KAAKkH,MAAM2jB,aAAc,EAAIL,EAAiBY,wBAAwBprB,KAAKkH,MAAMikB,YAAanrB,KAAKkH,MAAMqO,OACzHkW,EAAiBzrB,KAAKyM,MAAMoe,WAC5Ba,GAEF,EAAIlB,EAAiBc,uBAAuBE,EAAe/K,GAEzDkL,EAAavQ,EAAc,CAAC,EAAG4P,GAGnC,GAAIS,IAAmBD,GAAiBnL,EAAU8K,cAAgBA,GAAe9K,EAAUI,OAASA,EAAM,CAElGgL,KAAkBE,IAAaA,EAAWF,IAAkB,EAAI7Q,EAAOgR,aAAa5rB,KAAKyM,MAAMgY,SAErG,IAAIA,GAAS,EAAI+F,EAAiBU,gCAAgCS,EAAYR,EAAaK,EAAeC,EAAgBC,EAAS/G,GAEnIF,GAAS,EAAI7J,EAAO8J,+BAA+BD,EAAQzkB,KAAKkH,MAAMoH,SAAUod,EAAS/G,EAAa3kB,KAAKkH,MAAM0d,cAEjH+G,EAAWH,GAAiB/G,EAE5BzkB,KAAKkH,MAAMiiB,eAAe1E,EAAQkH,GAClC3rB,KAAKkH,MAAM2kB,mBAAmBL,EAAeE,GAC7C1rB,KAAKsM,SAAS,CACZue,WAAYW,EACZ/G,OAAQA,EACRhE,KAAMiL,GAEV,CAEA,IAAI5M,EAAS6L,EAAoB3qB,KAAKkH,MAAM4X,OAAQ0M,GAChD9K,EAAmBiK,EAAoB3qB,KAAKkH,MAAMwZ,iBAAkB8K,GAExExrB,KAAKkH,MAAMqkB,cAAcvrB,KAAKkH,MAAMqO,MAAOuJ,EAAQ4M,EAAShL,EAC9D,GACC,CACDjkB,IAAK,SACLD,MAAO,WAIL,IAAIqiB,EAAe7e,KAAKkH,MAKpB4X,GAJaD,EAAagM,WACZhM,EAAasM,YACpBtM,EAAa4B,KACV5B,EAAamM,QACdnM,EAAaC,QACtB4B,EAAmB7B,EAAa6B,iBAIhCpf,GAHqBud,EAAagN,mBACjBhN,EAAasK,eACdtK,EAAa0M,cApOvC,SAAkC3gB,EAAQkhB,GAAY,GAAc,MAAVlhB,EAAgB,MAAO,CAAC,EAAG,IAAkEnO,EAAKkO,EAAnED,EAEzF,SAAuCE,EAAQkhB,GAAY,GAAc,MAAVlhB,EAAgB,MAAO,CAAC,EAAG,IAA2DnO,EAAKkO,EAA5DD,EAAS,CAAC,EAAOqhB,EAAajxB,OAAO2C,KAAKmN,GAAqB,IAAKD,EAAI,EAAGA,EAAIohB,EAAWlzB,OAAQ8R,IAAOlO,EAAMsvB,EAAWphB,GAAQmhB,EAASE,QAAQvvB,IAAQ,IAAaiO,EAAOjO,GAAOmO,EAAOnO,IAAQ,OAAOiO,CAAQ,CAFhNuhB,CAA8BrhB,EAAQkhB,GAAuB,GAAIhxB,OAAO2D,sBAAuB,CAAE,IAAIytB,EAAmBpxB,OAAO2D,sBAAsBmM,GAAS,IAAKD,EAAI,EAAGA,EAAIuhB,EAAiBrzB,OAAQ8R,IAAOlO,EAAMyvB,EAAiBvhB,GAAQmhB,EAASE,QAAQvvB,IAAQ,GAAkB3B,OAAOkC,UAAUoB,qBAAqBN,KAAK8M,EAAQnO,KAAgBiO,EAAOjO,GAAOmO,EAAOnO,GAAQ,CAAE,OAAOiO,CAAQ,CAqOzdyhB,CAAyBtN,EAAc6L,IAInD,OAAoBxhB,EAAMqG,cAAckb,EAAiBxhB,QAASsB,EAAS,CAAC,EAAGjJ,EAAO,CAEpFwd,OAAQ6L,EAAoB7L,EAAQ9e,KAAKyM,MAAMoe,YAC/CnK,iBAAkBiK,EAAoBjK,EAAkB1gB,KAAKyM,MAAMoe,YACnE1B,eAAgBnpB,KAAKmpB,eACrB1E,OAAQzkB,KAAKyM,MAAMgY,OACnBhE,KAAMzgB,KAAKyM,MAAMgU,OAErB,MArO0ElF,EAAkBiB,EAAYxf,UAAWyf,GAAiB8H,GAAahJ,EAAkBiB,EAAa+H,GAAczpB,OAAOgO,eAAe0T,EAAa,YAAa,CAAEhR,UAAU,IAgQrPsf,CACT,CArK6C,CAqK3C5hB,EAAMwC,WAERtQ,EAAA,QAAkB0vB,EAElBhgB,EAAgBggB,EAA2B,YAAa,CAMtDD,WAAYhhB,EAAWZ,QAAQjB,OAE/BmjB,YAAathB,EAAWZ,QAAQvH,OAChCkjB,aAAc/a,EAAWZ,QAAQnB,KAEjC2Y,KAAM5W,EAAWZ,QAAQvH,OAKzBod,OAAQjV,EAAWZ,QAAQR,UAAU,CAACoB,EAAWZ,QAAQjN,MAAO6N,EAAWZ,QAAQvH,SAKnFgf,iBAAkB7W,EAAWZ,QAAQR,UAAU,CAACoB,EAAWZ,QAAQjN,MAAO6N,EAAWZ,QAAQvH,SAG7FspB,QAAS,SAAiB9jB,EAExBC,GAGA,GAA8B,oBAA1BtC,EAAKqC,EAAMC,IACb,MAAM,IAAIM,MAAM,gDAAkD5C,EAAKqC,EAAMC,KAG/ErM,OAAO2C,KAAKyJ,EAAMC,IAAW5K,SAAQ,SAAUE,GAC7C,KAAMA,KAAOyK,EAAMikB,aACjB,MAAM,IAAI1jB,MAAM,8DAGlB,EAAImT,EAAOwR,gBAAgBllB,EAAM8jB,QAAQvuB,GAAM,WAAaA,EAC9D,GACF,EAGA8Y,MAAO1L,EAAWZ,QAAQlB,OAAOJ,WAKjCkkB,mBAAoBhiB,EAAWZ,QAAQpM,KAGvCssB,eAAgBtf,EAAWZ,QAAQpM,KAEnC0uB,cAAe1hB,EAAWZ,QAAQpM,OAGpCiO,EAAgBggB,EAA2B,eAAgB,CACzDK,YAAa,CACXkB,GAAI,KACJC,GAAI,IACJC,GAAI,IACJC,GAAI,IACJC,IAAK,GAEPhM,KAAM,CACJ4L,GAAI,GACJC,GAAI,GACJC,GAAI,EACJC,GAAI,EACJC,IAAK,GAEP/L,iBAAkB,CAChB2L,GAAI,KACJC,GAAI,KACJC,GAAI,KACJC,GAAI,KACJC,IAAK,MAEPzB,QAAS,CAAC,EACVlM,OAAQ,CAAC,GAAI,IACb8F,cAAc,EACdiH,mBAAoBjR,EAAOqP,KAC3Bd,eAAgBvO,EAAOqP,KACvBsB,cAAe3Q,EAAOqP,M,2BC5WxB,SAAS7K,EAAiBR,GAKxB,IAAIE,EAASF,EAAeE,OACxB4B,EAAmB9B,EAAe8B,iBAClC/B,EAAiBC,EAAeD,eAChC8B,EAAO7B,EAAe6B,KAC1B,OAAQ9B,EAAiBG,EAAO,IAAM2B,EAAO,GAA2B,EAAtBC,EAAiB,IAAUD,CAC/E,CAMA,SAASxB,EAAiByN,EAExBC,EAEAC,GAMA,OAAKxG,OAAOC,SAASqG,GACdhT,KAAKO,MAAM0S,EAAeD,EAAYhT,KAAKE,IAAI,EAAG8S,EAAY,GAAKE,GADlCF,CAE1C,CAiJA,SAASxN,EAAM7E,EAEbwS,EAEAC,GAKA,OAAOpT,KAAKE,IAAIF,KAAKC,IAAIU,EAAKyS,GAAaD,EAC7C,CA5MA/xB,OAAOgO,eAAe1N,EAAS,aAAc,CAC3CoB,OAAO,IAETpB,EAAQgkB,iBAAmBA,EAC3BhkB,EAAQ6kB,qBA0DR,SAA8BrB,EAE5B5S,EAEAC,EAEAuS,EAEAC,EAEAhS,GAKA,IAAIqS,EAASF,EAAeE,OACxB4B,EAAmB9B,EAAe8B,iBAClC3B,EAAYH,EAAeG,UAC3BI,EAAWC,EAAiBR,GAC5BtG,EAAM,CAAC,EAqBX,OAnBI7L,GAASA,EAAMkR,UACjBrF,EAAI/C,MAAQmE,KAAKO,MAAMxN,EAAMkR,SAASpI,OACtC+C,EAAIvD,OAAS2E,KAAKO,MAAMxN,EAAMkR,SAAS5I,UAGvCuD,EAAI/C,MAAQ0J,EAAiBT,EAAGW,EAAUL,EAAO,IACjDxG,EAAIvD,OAASkK,EAAiBR,EAAGM,EAAWD,EAAO,KAIjDrS,GAASA,EAAMF,UACjB+L,EAAItI,IAAM0J,KAAKO,MAAMxN,EAAMF,SAASyD,KACpCsI,EAAIxI,KAAO4J,KAAKO,MAAMxN,EAAMF,SAASuD,QAGrCwI,EAAItI,IAAM0J,KAAKO,OAAO8E,EAAYD,EAAO,IAAM7S,EAAIyU,EAAiB,IACpEpI,EAAIxI,KAAO4J,KAAKO,OAAOkF,EAAWL,EAAO,IAAM9S,EAAI0U,EAAiB,KAG/DpI,CACT,EAlGAld,EAAQ6jB,iBAAmBA,EAC3B7jB,EAAQwnB,OA2JR,SAAgBhE,EAEdrJ,EAEAR,EAEA/I,EAEAC,GAKA,IAAI6S,EAASF,EAAeE,OACxB6B,EAAU/B,EAAe+B,QACzBF,EAAO7B,EAAe6B,KACtB1B,EAAYH,EAAeG,UAC3BI,EAAWC,EAAiBR,GAI5BJ,EAAI9E,KAAKO,OAAO1E,EAAQuJ,EAAO,KAAOK,EAAWL,EAAO,KACxDL,EAAI/E,KAAKO,OAAOlF,EAAS+J,EAAO,KAAOC,EAAYD,EAAO,KAI9D,MAAO,CACLN,EAHFA,EAAIU,EAAMV,EAAG,EAAGiC,EAAOzU,GAIrByS,EAHFA,EAAIS,EAAMT,EAAG,EAAGkC,EAAU1U,GAK5B,EAxLA7Q,EAAQkjB,OA4GR,SAAgBM,EAEd5O,EAEAF,EAEA0O,EAEAC,GAKA,IAAIK,EAASF,EAAeE,OACxB2B,EAAO7B,EAAe6B,KACtB1B,EAAYH,EAAeG,UAC3B4B,EAAU/B,EAAe+B,QACzBxB,EAAWC,EAAiBR,GAQ5B5S,EAAI0N,KAAKO,OAAOnK,EAAOgP,EAAO,KAAOK,EAAWL,EAAO,KACvD7S,EAAIyN,KAAKO,OAAOjK,EAAM8O,EAAO,KAAOC,EAAYD,EAAO,KAI3D,MAAO,CACL9S,EAHFA,EAAIkT,EAAMlT,EAAG,EAAGyU,EAAOjC,GAIrBvS,EAHFA,EAAIiT,EAAMjT,EAAG,EAAG0U,EAAUlC,GAK5B,EA7IArjB,EAAQ8jB,MAAQA,C,4BCRhB,SAAS3E,EAAQpR,GAAkC,OAAOoR,EAAU,mBAAqBrc,QAAU,iBAAmBA,OAAOsc,SAAW,SAAUrR,GAAO,cAAcA,CAAK,EAAI,SAAUA,GAAO,OAAOA,GAAO,mBAAqBjL,QAAUiL,EAAIxF,cAAgBzF,QAAUiL,IAAQjL,OAAOlB,UAAY,gBAAkBmM,CAAK,EAAGoR,EAAQpR,EAAM,CAK/U/N,EAAA,QAoDA,SAEC2xB,GAKC,IAAIC,EAEJ,OAAOA,EAAsB,SAAU7Q,IAjCzC,SAAmBC,EAAUC,GAAc,GAA0B,mBAAfA,GAA4C,OAAfA,EAAuB,MAAM,IAAIjR,UAAU,sDAAyDgR,EAASpf,UAAYlC,OAAOwhB,OAAOD,GAAcA,EAAWrf,UAAW,CAAE2G,YAAa,CAAEnH,MAAO4f,EAAU5Q,UAAU,EAAMD,cAAc,KAAWzQ,OAAOgO,eAAesT,EAAU,YAAa,CAAE5Q,UAAU,IAAc6Q,GAAYZ,EAAgBW,EAAUC,EAAa,CAkC/bE,CAAU0Q,EAAe9Q,GAEzB,IAhCkBO,EAAeC,EANfH,EAAaC,EAsC3BG,GAhCcF,EAgCQuQ,EAhCOtQ,EAMrC,WAAuC,GAAuB,oBAAZE,UAA4BA,QAAQC,UAAW,OAAO,EAAO,GAAID,QAAQC,UAAUC,KAAM,OAAO,EAAO,GAAqB,mBAAVC,MAAsB,OAAO,EAAM,IAAsF,OAAhF1P,QAAQtQ,UAAU6C,QAAQ/B,KAAK+e,QAAQC,UAAUxP,QAAS,IAAI,WAAa,MAAY,CAAM,CAAE,MAAO/U,GAAK,OAAO,CAAO,CAAE,CANvQ0kB,GAAoC,WAAkC,IAAsC5gB,EAAlC6gB,EAAQlB,EAAgBU,GAAkB,GAAIC,EAA2B,CAAE,IAAIQ,EAAYnB,EAAgBhc,MAAM2D,YAAatH,EAASwgB,QAAQC,UAAUI,EAAOnkB,UAAWokB,EAAY,MAAS9gB,EAAS6gB,EAAMrS,MAAM7K,KAAMjH,WAAc,OAEpX,SAAoCiC,EAAM8C,GAAQ,GAAIA,IAA2B,WAAlByc,EAAQzc,IAAsC,mBAATA,GAAwB,OAAOA,EAAa,QAAa,IAATA,EAAmB,MAAM,IAAIsN,UAAU,4DAA+D,OAAO0Q,EAAuB9gB,EAAO,CAF4FoiB,CAA2Bpd,KAAM3D,EAAS,GAkCja,SAAS4wB,IACP,IAAI5P,GA7CV,SAAyBC,EAAUd,GAAe,KAAMc,aAAoBd,GAAgB,MAAM,IAAIpR,UAAU,oCAAwC,CA+ClJmS,CAAgBvd,KAAMitB,GAEtB,IAAK,IAAIzP,EAAOzkB,UAAUF,OAAQ4kB,EAAO,IAAI9kB,MAAM6kB,GAAOE,EAAO,EAAGA,EAAOF,EAAME,IAC/ED,EAAKC,GAAQ3kB,UAAU2kB,GA0BzB,OArBA5S,EAAgBgR,EAFhBuB,EAAQT,EAAO9e,KAAK+M,MAAM+R,EAAQ,CAAC5c,MAAMuX,OAAOkG,KAED,QAAS,CACtDlI,MAAO,OAGTzK,EAAgBgR,EAAuBuB,GAAQ,aAA2BnU,EAAM0U,aAEhF9S,EAAgBgR,EAAuBuB,GAAQ,WAAW,GAE1DvS,EAAgBgR,EAAuBuB,GAAQ,kBAAkB,WAC/D,GAAKA,EAAMxL,QAAX,CACA,IAAIvJ,EAAO+U,EAAMiD,WAAWnS,QAIxB7F,aAAgB0Q,aAAe1Q,EAAK4kB,aACtC7P,EAAM/Q,SAAS,CACbiJ,MAAOjN,EAAK4kB,aAPU,CAU5B,IAEO7P,CACT,CAwCA,OAjHkBb,EA2ELyQ,GA3EkBxQ,EA2EH,CAAC,CAC3BhgB,IAAK,oBACLD,MAAO,WACLwD,KAAK6R,SAAU,EACfjE,OAAO+F,iBAAiB,SAAU3T,KAAKmtB,gBAIvCntB,KAAKmtB,gBACP,GACC,CACD1wB,IAAK,uBACLD,MAAO,WACLwD,KAAK6R,SAAU,EACfjE,OAAOkJ,oBAAoB,SAAU9W,KAAKmtB,eAC5C,GACC,CACD1wB,IAAK,SACLD,MAAO,WACL,IAAIyR,EAAcjO,KAAKkH,MACnBkmB,EAAqBnf,EAAYmf,mBACjCC,EAxGZ,SAAkCziB,EAAQkhB,GAAY,GAAc,MAAVlhB,EAAgB,MAAO,CAAC,EAAG,IAAkEnO,EAAKkO,EAAnED,EAEzF,SAAuCE,EAAQkhB,GAAY,GAAc,MAAVlhB,EAAgB,MAAO,CAAC,EAAG,IAA2DnO,EAAKkO,EAA5DD,EAAS,CAAC,EAAOqhB,EAAajxB,OAAO2C,KAAKmN,GAAqB,IAAKD,EAAI,EAAGA,EAAIohB,EAAWlzB,OAAQ8R,IAAOlO,EAAMsvB,EAAWphB,GAAQmhB,EAASE,QAAQvvB,IAAQ,IAAaiO,EAAOjO,GAAOmO,EAAOnO,IAAQ,OAAOiO,CAAQ,CAFhNuhB,CAA8BrhB,EAAQkhB,GAAuB,GAAIhxB,OAAO2D,sBAAuB,CAAE,IAAIytB,EAAmBpxB,OAAO2D,sBAAsBmM,GAAS,IAAKD,EAAI,EAAGA,EAAIuhB,EAAiBrzB,OAAQ8R,IAAOlO,EAAMyvB,EAAiBvhB,GAAQmhB,EAASE,QAAQvvB,IAAQ,GAAkB3B,OAAOkC,UAAUoB,qBAAqBN,KAAK8M,EAAQnO,KAAgBiO,EAAOjO,GAAOmO,EAAOnO,GAAQ,CAAE,OAAOiO,CAAQ,CAwGxdyhB,CAAyBle,EAAayc,GAEjD,OAAI0C,IAAuBptB,KAAK6R,QACV3I,EAAMqG,cAAc,MAAO,CAC7CD,WAAW,EAAItF,EAAMf,SAASjJ,KAAKkH,MAAMoI,UAAW4U,GACpDrV,MAAO7O,KAAKkH,MAAM2H,MAElBkU,IAAK/iB,KAAKsgB,aAIMpX,EAAMqG,cAAcwd,EAAmBxiB,EAAS,CAClEsf,SAAU7pB,KAAKsgB,YACd+M,EAAMrtB,KAAKyM,OAChB,MA9GwE8O,EAAkBiB,EAAYxf,UAAWyf,GAA2E3hB,OAAOgO,eAAe0T,EAAa,YAAa,CAAEhR,UAAU,IAiHnPyhB,CACT,CA/E6B,CA+E3B/jB,EAAMwC,WAAYZ,EAAgBkiB,EAAQ,eAAgB,CAC1DI,oBAAoB,IAClBtiB,EAAgBkiB,EAAQ,YAAa,CAGvCI,mBAAoBvjB,EAAWZ,QAAQnB,OACrCklB,CACN,EAjJA,IAAI9jB,EAYJ,SAAiCC,EAAKC,GAAe,GAAoBD,GAAOA,EAAIE,WAAc,OAAOF,EAAO,GAAY,OAARA,GAAiC,WAAjBoR,EAAQpR,IAAoC,mBAARA,EAAsB,MAAO,CAAEF,QAASE,GAAS,IAAIG,EAAQC,EAAyBH,GAAc,GAAIE,GAASA,EAAMlF,IAAI+E,GAAQ,OAAOG,EAAMzG,IAAIsG,GAAQ,IAAIK,EAAS,CAAC,EAAOC,EAAwB3O,OAAOgO,gBAAkBhO,OAAO4O,yBAA0B,IAAK,IAAIjN,KAAO0M,EAAO,GAAY,YAAR1M,GAAqB3B,OAAOkC,UAAUM,eAAeQ,KAAKqL,EAAK1M,GAAM,CAAE,IAAIkN,EAAOF,EAAwB3O,OAAO4O,yBAAyBP,EAAK1M,GAAO,KAAUkN,IAASA,EAAK9G,KAAO8G,EAAKhN,KAAQ7B,OAAOgO,eAAeU,EAAQ/M,EAAKkN,GAAgBH,EAAO/M,GAAO0M,EAAI1M,EAAQ,CAAiE,OAA7D+M,EAAOP,QAAUE,EAASG,GAASA,EAAM3M,IAAIwM,EAAKK,GAAkBA,CAAQ,CAZzxBI,CAAwB,EAAQ,MAExCC,EAAaC,EAAuB,EAAQ,MAE5CE,EAAQF,EAAuB,EAAQ,MAEvC4gB,EAAY,CAAC,sBAEjB,SAAS5gB,EAAuBX,GAAO,OAAOA,GAAOA,EAAIE,WAAaF,EAAM,CAAEF,QAASE,EAAO,CAE9F,SAASI,EAAyBH,GAAe,GAAuB,mBAAZjK,QAAwB,OAAO,KAAM,IAAIkL,EAAoB,IAAIlL,QAAemL,EAAmB,IAAInL,QAAW,OAAQoK,EAA2B,SAAkCH,GAAe,OAAOA,EAAckB,EAAmBD,CAAmB,GAAGjB,EAAc,CAI9U,SAASmB,IAA2Q,OAA9PA,EAAWzP,OAAO0P,QAAU,SAAUE,GAAU,IAAK,IAAIC,EAAI,EAAGA,EAAI5R,UAAUF,OAAQ8R,IAAK,CAAE,IAAIC,EAAS7R,UAAU4R,GAAI,IAAK,IAAIlO,KAAOmO,EAAc9P,OAAOkC,UAAUM,eAAeQ,KAAK8M,EAAQnO,KAAQiO,EAAOjO,GAAOmO,EAAOnO,GAAU,CAAE,OAAOiO,CAAQ,EAAUH,EAASM,MAAM7K,KAAMjH,UAAY,CAQ5T,SAASwiB,EAAkB7Q,EAAQxD,GAAS,IAAK,IAAIyD,EAAI,EAAGA,EAAIzD,EAAMrO,OAAQ8R,IAAK,CAAE,IAAI6Q,EAAatU,EAAMyD,GAAI6Q,EAAWzS,WAAayS,EAAWzS,aAAc,EAAOyS,EAAWjQ,cAAe,EAAU,UAAWiQ,IAAYA,EAAWhQ,UAAW,GAAM1Q,OAAOgO,eAAe4B,EAAQ8Q,EAAW/e,IAAK+e,EAAa,CAAE,CAM5T,SAASC,EAAgBC,EAAGC,GAA+G,OAA1GF,EAAkB3gB,OAAO8gB,gBAAkB,SAAyBF,EAAGC,GAAsB,OAAjBD,EAAEG,UAAYF,EAAUD,CAAG,EAAUD,EAAgBC,EAAGC,EAAI,CAMzK,SAASG,EAAuB9gB,GAAQ,QAAa,IAATA,EAAmB,MAAM,IAAI+gB,eAAe,6DAAgE,OAAO/gB,CAAM,CAIrK,SAASghB,EAAgBN,GAAwJ,OAAnJM,EAAkBlhB,OAAO8gB,eAAiB9gB,OAAOmhB,eAAiB,SAAyBP,GAAK,OAAOA,EAAEG,WAAa/gB,OAAOmhB,eAAeP,EAAI,EAAUM,EAAgBN,EAAI,CAE5M,SAAS5Q,EAAgB3B,EAAK1M,EAAKD,GAAiK,OAApJC,KAAO0M,EAAOrO,OAAOgO,eAAeK,EAAK1M,EAAK,CAAED,MAAOA,EAAOuM,YAAY,EAAMwC,cAAc,EAAMC,UAAU,IAAkBrC,EAAI1M,GAAOD,EAAgB2M,CAAK,CAEhN,IAAI+a,EAAkB,mB,UClDtB3oB,EAAOH,QAAU,SAA2B+e,EAAGmT,EAAGC,GAChD,OAAIpT,IAAMmT,GACHnT,EAAE7K,YAAcge,EAAEhe,WAAaie,EAAYpT,EAAEtL,MAAOye,EAAEze,QAAUsL,EAAE5E,QAAU+X,EAAE/X,OAAS4E,EAAE6O,WAAasE,EAAEtE,UAAY7O,EAAEsG,OAAS6M,EAAE7M,MAAQtG,EAAEkP,kBAAoBiE,EAAEjE,iBAAmBlP,EAAEmP,kBAAoBgE,EAAEhE,iBAAmBiE,EAAYpT,EAAEmQ,gBAAiBgD,EAAEhD,kBAAoBiD,EAAYpT,EAAEwK,YAAa2I,EAAE3I,cAAgB4I,EAAYpT,EAAEsK,OAAQ6I,EAAE7I,SAAW8I,EAAYpT,EAAE2E,OAAQwO,EAAExO,SAAWyO,EAAYpT,EAAEuG,iBAAkB4M,EAAE5M,mBAAqBvG,EAAE4E,YAAcuO,EAAEvO,WAAa5E,EAAEwG,UAAY2M,EAAE3M,SAAWxG,EAAEuE,YAAc4O,EAAE5O,WAAavE,EAAEgH,cAAgBmM,EAAEnM,aAAehH,EAAEiH,cAAgBkM,EAAElM,aAAejH,EAAEyK,eAAiB0I,EAAE1I,cAAgBzK,EAAEiL,mBAAqBkI,EAAElI,kBAAoBjL,EAAEgG,mBAAqBmN,EAAEnN,kBAAoBhG,EAAE0D,iBAAmByP,EAAEzP,gBAAkB1D,EAAEyP,cAAgB0D,EAAE1D,aAAe2D,EAAYpT,EAAEuH,cAAe4L,EAAE5L,gBAAkB6L,EAAYpT,EAAEwH,aAAc2L,EAAE3L,eAAiBxH,EAAEgP,iBAAmBmE,EAAEnE,gBAAkBhP,EAAE3K,cAAgB8d,EAAE9d,aAAe2K,EAAE/M,SAAWkgB,EAAElgB,QAAU+M,EAAE1K,aAAe6d,EAAE7d,YAAc0K,EAAEkI,gBAAkBiL,EAAEjL,eAAiBlI,EAAEmI,WAAagL,EAAEhL,UAAYnI,EAAEiI,eAAiBkL,EAAElL,cAAgBjI,EAAEuO,SAAW4E,EAAE5E,QAAU6E,EAAYpT,EAAEsN,aAAc6F,EAAE7F,eAAiB8F,EAAYpT,EAAE0P,SAAUyD,EAAEzD,SACluC,C,6BCFA/uB,OAAOgO,eAAe1N,EAAS,aAAc,CAC3CoB,OAAO,IAETpB,EAAQ8vB,+BAoER,SAAwCF,EAEtCG,EAEAN,EAEAY,EAEAhL,EAEAkE,GAMA,GAAIqG,EAAQH,GAAa,OAAO,EAAIjQ,EAAOgR,aAAaZ,EAAQH,IAMhE,IAJA,IAAIpG,EAASuG,EAAQS,GACjB+B,EAAoBC,EAAgBtC,GACpCuC,EAAmBF,EAAkB3J,MAAM2J,EAAkBxB,QAAQnB,IAEhElgB,EAAI,EAAGqZ,EAAM0J,EAAiB70B,OAAQ8R,EAAIqZ,EAAKrZ,IAAK,CAC3D,IAAI2iB,EAAII,EAAiB/iB,GAEzB,GAAIqgB,EAAQsC,GAAI,CACd7I,EAASuG,EAAQsC,GACjB,KACF,CACF,CAIA,OAFA7I,GAAS,EAAI7J,EAAOgR,aAAanH,GAAU,KAEpC,EAAI7J,EAAO2K,UAAS,EAAI3K,EAAO+S,eAAelJ,EAAQ,CAC3DhE,KAAMA,IACJkE,EAAalE,EACnB,EAvGArlB,EAAQgwB,uBAaR,SAAgCD,EAE9B5V,GAQA,IAHA,IAAIqY,EAASH,EAAgBtC,GACzB0C,EAAWD,EAAO,GAEbjjB,EAAI,EAAGqZ,EAAM4J,EAAO/0B,OAAQ8R,EAAIqZ,EAAKrZ,IAAK,CACjD,IAAImjB,EAAiBF,EAAOjjB,GACxB4K,EAAQ4V,EAAY2C,KAAiBD,EAAWC,EACtD,CAEA,OAAOD,CACT,EA5BAzyB,EAAQkwB,sBAqCR,SAA+BT,EAE7BpK,GAKA,IAAKA,EAAKoK,GACR,MAAM,IAAIpjB,MAAM,0DAA4DojB,EAAa,gBAG3F,OAAOpK,EAAKoK,EACd,EAhDAzvB,EAAQqyB,gBAAkBA,EAE1B,IAAI7S,EAAS,EAAQ,KA6GrB,SAAS6S,EAAgBtC,GAQvB,OADErwB,OAAO2C,KAAK0tB,GACF4C,MAAK,SAAU5T,EAAGmT,GAC5B,OAAOnC,EAAYhR,GAAKgR,EAAYmC,EACtC,GACF,C,6BChIAxyB,OAAOgO,eAAe1N,EAAS,aAAc,CAC3CoB,OAAO,IAETpB,EAAQ6U,OAASA,EACjB7U,EAAQ0tB,cAwJR,SAAuB3O,EAErBmT,GAKA,OAAO,EAAI9J,EAAQva,SAASwR,EAAOxR,QAAQ0G,SAASvT,IAAI+d,GAAG,SAAU6T,GACnE,OAAOA,aAA6B,EAASA,EAAEvxB,GACjD,IAAIge,EAAOxR,QAAQ0G,SAASvT,IAAIkxB,GAAG,SAAUU,GAC3C,OAAOA,aAA6B,EAASA,EAAEvxB,GACjD,IACF,EAnKArB,EAAQwwB,YAAcA,EACtBxwB,EAAQ+pB,gBAAkBA,EAC1B/pB,EAAQ6yB,SAAWA,EACnB7yB,EAAQmqB,QAAUA,EAClBnqB,EAAQ8yB,YAAcA,EACtB9yB,EAAQupB,YAm0BR,SAAqBzd,GAKnB,IAAIqY,EAAQrY,GAAS,CAAC,EAClBojB,EAAkB/K,EAAM+K,gBACxB3F,EAAcpF,EAAMoF,YAExB,OAA2B,IAApB2F,EAA4B,KAAO3F,CAC5C,EA50BAvpB,EAAQuyB,cAAgBA,EACxBvyB,EAAQ8kB,kBAgLR,SAA2B/F,EAEzBmT,GAKA,OAAOnT,EAAErK,OAASwd,EAAExd,MAAQqK,EAAEnK,MAAQsd,EAAEtd,KAAOmK,EAAE5E,QAAU+X,EAAE/X,OAAS4E,EAAEpF,SAAWuY,EAAEvY,MACvF,EAvLA3Z,EAAQ2tB,uBAAoB,EAC5B3tB,EAAQ4qB,iBAAmBA,EAC3B5qB,EAAQ+yB,kBAAoBA,EAC5B/yB,EAAQ8pB,cAAgBA,EACxB9pB,EAAQgzB,WAAaA,EACrBhzB,EAAQizB,aAAeA,EACvBjzB,EAAQkqB,YAAcA,EACtBlqB,EAAQkzB,6BAA+BA,EACvClzB,EAAQ6uB,UAAO,EACf7uB,EAAQ6lB,KA+lBR,SAAc5G,GAKZ,OAAa,IAANA,EAAY,GACrB,EApmBAjf,EAAQ4lB,WA2nBR,SAAoBnV,GAGlB,IAAImE,EAAMnE,EAAMmE,IACZF,EAAOjE,EAAMiE,KACbyF,EAAQ1J,EAAM0J,MACdR,EAASlJ,EAAMkJ,OACnB,MAAO,CACL/E,IAAK,GAAGuH,OAAOvH,EAAK,MACpBF,KAAM,GAAGyH,OAAOzH,EAAM,MACtByF,MAAO,GAAGgC,OAAOhC,EAAO,MACxBR,OAAQ,GAAGwC,OAAOxC,EAAQ,MAC1BjJ,SAAU,WAEd,EAxoBA1Q,EAAQ2lB,aAqmBR,SAAsBnV,GAGpB,IAAIoE,EAAMpE,EAAKoE,IACXF,EAAOlE,EAAKkE,KACZyF,EAAQ3J,EAAK2J,MACbR,EAASnJ,EAAKmJ,OAEdwZ,EAAY,aAAahX,OAAOzH,EAAM,OAAOyH,OAAOvH,EAAK,OAC7D,MAAO,CACLlT,UAAWyxB,EACXC,gBAAiBD,EACjBE,aAAcF,EACdG,YAAaH,EACbI,WAAYJ,EACZhZ,MAAO,GAAGgC,OAAOhC,EAAO,MACxBR,OAAQ,GAAGwC,OAAOxC,EAAQ,MAC1BjJ,SAAU,WAEd,EAvnBA1Q,EAAQwzB,gBAAkBA,EAC1BxzB,EAAQyzB,wBAA0BA,EAClCzzB,EAAQ0zB,wBAA0BA,EAClC1zB,EAAQspB,8BAgtBR,SAAuCqK,EAErCzgB,EAEAmS,EAEAkE,EAEAC,GAKAmK,EAAgBA,GAAiB,GAEjC,IAAItK,EAEF,GAEFhK,EAAOxR,QAAQ0G,SAASpT,QAAQ+R,GAAU,SAAU4S,GAIlD,GAAiE,OAA5DA,aAAqC,EAASA,EAAMzkB,KAAzD,CAEA,IAAIuyB,EAAS9J,EAAc6J,EAAeroB,OAAOwa,EAAMzkB,MAEvD,GAAIuyB,EACFvK,EAAOpgB,KAAK8gB,EAAgB6J,QACvB,EACAC,GAAgB/N,EAAMha,MAAMgoB,OAC/BzhB,QAAQC,KAAK,iJAGf,IAAI7S,EAAIqmB,EAAMha,MAAM,cAAgBga,EAAMha,MAAMgoB,MAE5Cr0B,GACGo0B,GACH7C,EAAe,CAACvxB,GAAI,4BAItB4pB,EAAOpgB,KAAK8gB,EAAgB/J,EAAcA,EAAc,CAAC,EAAGvgB,GAAI,CAAC,EAAG,CAClE8P,EAAGuW,EAAMzkB,SAKXgoB,EAAOpgB,KAAK8gB,EAAgB,CAC1B3G,EAAG,EACHC,EAAG,EACHzS,EAAG,EACHC,EAAGgE,EAAOwU,GACV9Z,EAAGjE,OAAOwa,EAAMzkB,OAGtB,CAjC6E,CAkC/E,IAGA,IAAI0yB,EAAkBxB,EAAclJ,EAAQ,CAC1ChE,KAAMA,IAER,OAAOmE,EAAeuK,EAAkB5J,EAAQ4J,EAAiBxK,EAAalE,EAChF,EA/wBArlB,EAAQgxB,eAAiBA,EACzBhxB,EAAQyqB,eA6ER,SAAwBpB,EAEtB2K,EAEAC,GAKA,IAAI7G,EAAOtD,EAAcT,EAAQ2K,GACjC,OAAK5G,EAKE,CADP/D,EAAS4J,EAAa5J,EAHtB+D,EAAO6G,EAAGlK,EAAgBqD,KAIVA,GALE,CAAC/D,EAAQ,KAM7B,EA3FA,IAAIjB,EAAU1Z,EAAuB,EAAQ,IAEzC2Q,EAAS3Q,EAAuB,EAAQ,MAE5C,SAASA,EAAuBX,GAAO,OAAOA,GAAOA,EAAIE,WAAaF,EAAM,CAAEF,QAASE,EAAO,CAE9F,SAAS4R,EAAQrZ,EAAQsZ,GAAkB,IAAIvd,EAAO3C,OAAO2C,KAAKiE,GAAS,GAAI5G,OAAO2D,sBAAuB,CAAE,IAAIwc,EAAUngB,OAAO2D,sBAAsBiD,GAASsZ,IAAmBC,EAAUA,EAAQC,QAAO,SAAUC,GAAO,OAAOrgB,OAAO4O,yBAAyBhI,EAAQyZ,GAAKpS,UAAY,KAAKtL,EAAK4G,KAAKwG,MAAMpN,EAAMwd,EAAU,CAAE,OAAOxd,CAAM,CAEpV,SAAS2d,EAAc1Q,GAAU,IAAK,IAAIC,EAAI,EAAGA,EAAI5R,UAAUF,OAAQ8R,IAAK,CAAE,IAAIC,EAAS,MAAQ7R,UAAU4R,GAAK5R,UAAU4R,GAAK,CAAC,EAAGA,EAAI,EAAIoQ,EAAQjgB,OAAO8P,IAAS,GAAIrO,SAAQ,SAAUE,GAAOqO,EAAgBJ,EAAQjO,EAAKmO,EAAOnO,GAAO,IAAK3B,OAAOugB,0BAA4BvgB,OAAOwgB,iBAAiB5Q,EAAQ5P,OAAOugB,0BAA0BzQ,IAAWmQ,EAAQjgB,OAAO8P,IAASrO,SAAQ,SAAUE,GAAO3B,OAAOgO,eAAe4B,EAAQjO,EAAK3B,OAAO4O,yBAAyBkB,EAAQnO,GAAO,GAAI,CAAE,OAAOiO,CAAQ,CAEzf,SAASI,EAAgB3B,EAAK1M,EAAKD,GAAiK,OAApJC,KAAO0M,EAAOrO,OAAOgO,eAAeK,EAAK1M,EAAK,CAAED,MAAOA,EAAOuM,YAAY,EAAMwC,cAAc,EAAMC,UAAU,IAAkBrC,EAAI1M,GAAOD,EAAgB2M,CAAK,CAEhN,IAAI8lB,GAAe,EACfK,GAAQ,EAQZ,SAASrf,EAAOwU,GAQd,IAHA,IACI8K,EADA3V,EAAM,EAGDjP,EAAI,EAAGqZ,EAAMS,EAAO5rB,OAAQ8R,EAAIqZ,EAAKrZ,KAC5C4kB,EAAU9K,EAAO9Z,GAAGsB,EAAIwY,EAAO9Z,GAAG8T,GACpB7E,IAAKA,EAAM2V,GAG3B,OAAO3V,CACT,CAEA,SAASgS,EAAYnH,GAOnB,IAFA,IAAIe,EAAY7sB,MAAM8rB,EAAO5rB,QAEpB8R,EAAI,EAAGqZ,EAAMS,EAAO5rB,OAAQ8R,EAAIqZ,EAAKrZ,IAC5C6a,EAAU7a,GAAKwa,EAAgBV,EAAO9Z,IAGxC,OAAO6a,CACT,CAIA,SAAS6I,EAAa5J,EAEpBwB,GAOA,IAFA,IAAIT,EAAY7sB,MAAM8rB,EAAO5rB,QAEpB8R,EAAI,EAAGqZ,EAAMS,EAAO5rB,OAAQ8R,EAAIqZ,EAAKrZ,IACxCsb,EAAWtb,IAAM8Z,EAAO9Z,GAAGA,EAC7B6a,EAAU7a,GAAKsb,EAEfT,EAAU7a,GAAK8Z,EAAO9Z,GAI1B,OAAO6a,CACT,CAuBA,SAASL,EAAgBc,GAKvB,MAAO,CACLzH,EAAGyH,EAAWzH,EACdC,EAAGwH,EAAWxH,EACdzS,EAAGia,EAAWja,EACdC,EAAGga,EAAWha,EACdtB,EAAGsb,EAAWtb,EACd2W,KAAM2E,EAAW3E,KACjBE,KAAMyE,EAAWzE,KACjBD,KAAM0E,EAAW1E,KACjBE,KAAMwE,EAAWxE,KACjB+N,MAAOliB,QAAQ2Y,EAAWuJ,OAC1BxM,OAAQ1V,QAAQ2Y,EAAWjD,QAE3B7B,YAAa8E,EAAW9E,YACxBC,YAAa6E,EAAW7E,YACxBM,cAAeuE,EAAWvE,cAC1BhD,UAAWuH,EAAWvH,UAE1B,CAgCA,IAAIqK,EAEF,EAAQ,KAmBV,SAASkF,EAASwB,EAEhBC,GAKA,QAAID,EAAG9kB,IAAM+kB,EAAG/kB,GAEZ8kB,EAAGzjB,EAAIyjB,EAAGjR,GAAKkR,EAAG1jB,GAElByjB,EAAGzjB,GAAK0jB,EAAG1jB,EAAI0jB,EAAGlR,GAElBiR,EAAGxjB,EAAIwjB,EAAGhR,GAAKiR,EAAGzjB,GAElBwjB,EAAGxjB,GAAKyjB,EAAGzjB,EAAIyjB,EAAGjR,EAGxB,CAcA,SAAS8G,EAAQd,EAEfE,EAEAlE,GAYA,IANA,IAAIkP,EAAcvB,EAAW3J,GAEzBmJ,EAASgB,EAAgBnK,EAAQE,GAEjCrM,EAAM3f,MAAM8rB,EAAO5rB,QAEd8R,EAAI,EAAGqZ,EAAM4J,EAAO/0B,OAAQ8R,EAAIqZ,EAAKrZ,IAAK,CACjD,IAAIsa,EAAIE,EAAgByI,EAAOjjB,IAE1Bsa,EAAEjC,SACLiC,EAAIiJ,EAAYyB,EAAa1K,EAAGN,EAAalE,EAAMmN,GAGnD+B,EAAYtrB,KAAK4gB,IAInB3M,EAAImM,EAAOuH,QAAQ4B,EAAOjjB,KAAOsa,EAEjCA,EAAEuK,OAAQ,CACZ,CAEA,OAAOlX,CACT,CAjFAld,EAAQ2tB,kBAAoBA,EAmF5B,IAAI6G,EAAc,CAChB5jB,EAAG,IACHC,EAAG,KAML,SAAS4jB,EAA2BpL,EAElC+D,EAEAsH,EAEAzhB,GAGA,IAAI0hB,EAAWH,EAAYvhB,GAC3Bma,EAAKna,IAAS,EAKd,IAJA,IAIS1D,EAJO8Z,EAAOroB,KAAI,SAAU6pB,GACnC,OAAOA,EAAWtb,CACpB,IAAGqhB,QAAQxD,EAAK7d,GAES,EAAGA,EAAI8Z,EAAO5rB,OAAQ8R,IAAK,CAClD,IAAIqlB,EAAYvL,EAAO9Z,GAEvB,IAAIqlB,EAAUhN,OAAd,CAGA,GAAIgN,EAAU/jB,EAAIuc,EAAKvc,EAAIuc,EAAK/J,EAAG,MAE/BwP,EAASzF,EAAMwH,IACjBH,EAA2BpL,EAAQuL,EAAWF,EAActH,EAAKuH,GAAW1hB,EANhD,CAQhC,CAEAma,EAAKna,GAAQyhB,CACf,CASA,SAAS5B,EAAYyB,EAEnB1K,EAEAN,EAEAlE,EAEAwP,GAKA,IAoBIhC,EAnBAiC,EAA2B,eAAhBvL,EAEf,GAH+B,aAAhBA,EASb,IAFAM,EAAEhZ,EAAIyN,KAAKC,IAAI1J,EAAO0f,GAAc1K,EAAEhZ,GAE/BgZ,EAAEhZ,EAAI,IAAMkiB,EAAkBwB,EAAa1K,IAChDA,EAAEhZ,SAEC,GAAIikB,EAET,KAAOjL,EAAEjZ,EAAI,IAAMmiB,EAAkBwB,EAAa1K,IAChDA,EAAEjZ,IAON,KAAOiiB,EAAWE,EAAkBwB,EAAa1K,IAC3CiL,EACFL,EAA2BI,EAAYhL,EAAGgJ,EAASjiB,EAAIiiB,EAASzP,EAAG,KAEnEqR,EAA2BI,EAAYhL,EAAGgJ,EAAShiB,EAAIgiB,EAASxP,EAAG,KAIjEyR,GAAYjL,EAAEjZ,EAAIiZ,EAAEzG,EAAIiC,IAC1BwE,EAAEjZ,EAAIyU,EAAOwE,EAAEzG,EACfyG,EAAEhZ,KAON,OAFAgZ,EAAEhZ,EAAIyN,KAAKE,IAAIqL,EAAEhZ,EAAG,GACpBgZ,EAAEjZ,EAAI0N,KAAKE,IAAIqL,EAAEjZ,EAAG,GACbiZ,CACT,CAWA,SAAS0I,EAAclJ,EAErB3X,GAOA,IAFA,IAAIqjB,EAAe/B,EAAW3J,GAErB9Z,EAAI,EAAGqZ,EAAMS,EAAO5rB,OAAQ8R,EAAIqZ,EAAKrZ,IAAK,CACjD,IAAIsa,EAAIR,EAAO9Z,GASf,GAPIsa,EAAEjZ,EAAIiZ,EAAEzG,EAAI1R,EAAO2T,OAAMwE,EAAEjZ,EAAIc,EAAO2T,KAAOwE,EAAEzG,GAE/CyG,EAAEjZ,EAAI,IACRiZ,EAAEjZ,EAAI,EACNiZ,EAAEzG,EAAI1R,EAAO2T,MAGVwE,EAAEjC,OAGL,KAAOmL,EAAkBgC,EAAclL,IACrCA,EAAEhZ,SAJSkkB,EAAa9rB,KAAK4gB,EAOnC,CAEA,OAAOR,CACT,CAUA,SAASS,EAAcT,EAErBzQ,GAKA,IAAK,IAAIrJ,EAAI,EAAGqZ,EAAMS,EAAO5rB,OAAQ8R,EAAIqZ,EAAKrZ,IAC5C,GAAI8Z,EAAO9Z,GAAGA,IAAMqJ,EAAI,OAAOyQ,EAAO9Z,EAE1C,CAWA,SAASwjB,EAAkB1J,EAEzBwB,GAKA,IAAK,IAAItb,EAAI,EAAGqZ,EAAMS,EAAO5rB,OAAQ8R,EAAIqZ,EAAKrZ,IAC5C,GAAIsjB,EAASxJ,EAAO9Z,GAAIsb,GAAa,OAAOxB,EAAO9Z,EAEvD,CAEA,SAASqb,EAAiBvB,EAExBwB,GAKA,OAAOxB,EAAOvJ,QAAO,SAAU+J,GAC7B,OAAOgJ,EAAShJ,EAAGgB,EACrB,GACF,CAQA,SAASmI,EAAW3J,GAKlB,OAAOA,EAAOvJ,QAAO,SAAU+J,GAC7B,OAAOA,EAAEjC,MACX,GACF,CAaA,SAASsC,EAAYb,EAEnBQ,EAEAjZ,EAEAC,EAEAmkB,EAEAhL,EAEAT,EAEAlE,EAEAmE,GAOA,GAAIK,EAAEjC,SAA4B,IAAlBiC,EAAE9D,YAAsB,OAAOsD,EAE/C,GAAIQ,EAAEhZ,IAAMA,GAAKgZ,EAAEjZ,IAAMA,EAAG,OAAOyY,EACnC4L,EAAI,kBAAkB9Y,OAAO0N,EAAEta,EAAG,SAAS4M,OAAO7Q,OAAOsF,GAAI,KAAKuL,OAAO7Q,OAAOuF,GAAI,YAAYsL,OAAO0N,EAAEjZ,EAAG,KAAKuL,OAAO0N,EAAEhZ,EAAG,MAC7H,IAAIqkB,EAAOrL,EAAEjZ,EACTukB,EAAOtL,EAAEhZ,EAEI,iBAAND,IAAgBiZ,EAAEjZ,EAAIA,GAChB,iBAANC,IAAgBgZ,EAAEhZ,EAAIA,GACjCgZ,EAAEuK,OAAQ,EAKV,IAAI5B,EAASgB,EAAgBnK,EAAQE,IACN,aAAhBA,GAA2C,iBAAN1Y,EAAiBskB,GAAQtkB,EAAoB,eAAhB0Y,GAA6C,iBAAN3Y,GAAiBskB,GAAQtkB,KAEnI4hB,EAASA,EAAO4C,WAC9B,IAAIzK,EAAaC,EAAiB4H,EAAQ3I,GACtCa,EAAgBC,EAAWltB,OAAS,EAGxC,GAAIitB,GAAiBlB,EAGnB,OAAOgH,EAAYnH,GACd,GAAIqB,GAAiBV,EAQ1B,OAJAiL,EAAI,0BAA0B9Y,OAAO0N,EAAEta,EAAG,iBAC1Csa,EAAEjZ,EAAIskB,EACNrL,EAAEhZ,EAAIskB,EACNtL,EAAEuK,OAAQ,EACH/K,EAIT,IAAK,IAAI9Z,EAAI,EAAGqZ,EAAM+B,EAAWltB,OAAQ8R,EAAIqZ,EAAKrZ,IAAK,CACrD,IAAI8lB,EAAY1K,EAAWpb,GAC3B0lB,EAAI,+BAA+B9Y,OAAO0N,EAAEta,EAAG,SAAS4M,OAAO0N,EAAEjZ,EAAG,KAAKuL,OAAO0N,EAAEhZ,EAAG,UAAUsL,OAAOkZ,EAAU9lB,EAAG,SAAS4M,OAAOkZ,EAAUzkB,EAAG,KAAKuL,OAAOkZ,EAAUxkB,EAAG,MAErKwkB,EAAUjB,QAGZ/K,EADEgM,EAAUzN,OACHsL,EAA6B7J,EAAQgM,EAAWxL,EAAGmL,EAAczL,EAAalE,GAE9E6N,EAA6B7J,EAAQQ,EAAGwL,EAAWL,EAAczL,EAAalE,GAE3F,CAEA,OAAOgE,CACT,CAWA,SAAS6J,EAA6B7J,EAEpC0L,EAEAO,EAEAN,EAEAzL,EAEAlE,GAKA,IAAIyP,EAA2B,eAAhBvL,EAEXgM,EAA2B,eAAhBhM,EACXS,EAAmB+K,EAAanN,OAKpC,GAAIoN,EAAc,CAEhBA,GAAe,EAEf,IAAIQ,EAEF,CACA5kB,EAAGkkB,EAAWxW,KAAKE,IAAIuW,EAAankB,EAAI0kB,EAAWlS,EAAG,GAAKkS,EAAW1kB,EACtEC,EAAG0kB,EAAWjX,KAAKE,IAAIuW,EAAalkB,EAAIykB,EAAWjS,EAAG,GAAKiS,EAAWzkB,EACtEuS,EAAGkS,EAAWlS,EACdC,EAAGiS,EAAWjS,EACd9T,EAAG,MAGL,IAAKwjB,EAAkB1J,EAAQmM,GAE7B,OADAP,EAAI,8BAA8B9Y,OAAOmZ,EAAW/lB,EAAG,YAAY4M,OAAOqZ,EAAS5kB,EAAG,KAAKuL,OAAOqZ,EAAS3kB,EAAG,OACvGqZ,EAAYb,EAAQiM,EAAYR,EAAWU,EAAS5kB,OAAI/N,EAAW0yB,EAAWC,EAAS3kB,OAAIhO,EAAWmyB,EAAchL,EAAkBT,EAAalE,EAE9J,CAEA,OAAO6E,EAAYb,EAAQiM,EAAYR,EAAWQ,EAAW1kB,EAAI,OAAI/N,EAAW0yB,EAAWD,EAAWzkB,EAAI,OAAIhO,EAAWmyB,EAAchL,EAAkBT,EAAalE,EACxK,CA6DA,SAASmO,EAAgBnK,EAEvBE,GAKA,MAAoB,eAAhBA,EAAqCkK,EAAwBpK,GAC7C,aAAhBE,EAAmCmK,EAAwBrK,GAAoBA,CACrF,CAQA,SAASqK,EAAwBrK,GAM/B,OAAOA,EAAOZ,MAAM,GAAGkK,MAAK,SAAU5T,EAAGmT,GACvC,OAAInT,EAAElO,EAAIqhB,EAAErhB,GAAKkO,EAAElO,IAAMqhB,EAAErhB,GAAKkO,EAAEnO,EAAIshB,EAAEthB,EAC/B,EACEmO,EAAElO,IAAMqhB,EAAErhB,GAAKkO,EAAEnO,IAAMshB,EAAEthB,EAE3B,GAGD,CACV,GACF,CAQA,SAAS6iB,EAAwBpK,GAK/B,OAAOA,EAAOZ,MAAM,GAAGkK,MAAK,SAAU5T,EAAGmT,GACvC,OAAInT,EAAEnO,EAAIshB,EAAEthB,GAAKmO,EAAEnO,IAAMshB,EAAEthB,GAAKmO,EAAElO,EAAIqhB,EAAErhB,EAC/B,GAGD,CACV,GACF,CAwFA,SAASmgB,EAAe3H,GAKtB,IAAIoM,EAEF93B,UAAUF,OAAS,QAAsBoF,IAAjBlF,UAAU,GAAmBA,UAAU,GAAK,SAClE+3B,EAAW,CAAC,IAAK,IAAK,IAAK,KAC/B,IAAKn4B,MAAMC,QAAQ6rB,GAAS,MAAM,IAAIhd,MAAMopB,EAAc,sBAE1D,IAAK,IAAIlmB,EAAI,EAAGqZ,EAAMS,EAAO5rB,OAAQ8R,EAAIqZ,EAAKrZ,IAG5C,IAFA,IAAI6d,EAAO/D,EAAO9Z,GAETomB,EAAI,EAAGA,EAAID,EAASj4B,OAAQk4B,IACnC,GAAiC,iBAAtBvI,EAAKsI,EAASC,IACvB,MAAM,IAAItpB,MAAM,oBAAsBopB,EAAc,IAAMlmB,EAAI,KAAOmmB,EAASC,GAAK,qBAI3F,CAeA,SAASV,IACP,IAAIW,EAEC1B,IAEJ0B,EAAWvjB,SAAS4iB,IAAIxlB,MAAMmmB,EAAUj4B,UAC3C,CAIAqC,EAAQ6uB,KAFG,WAAiB,C,gBCn2B5B1uB,EAAOH,QAAU,EAAjB,aACAG,EAAOH,QAAQ61B,MAAQ,EAAvB,KACA11B,EAAOH,QAAQ81B,WAAf,eAEA31B,EAAOH,QAAQ81B,WAAWD,MAAQ,EAAlC,KACA11B,EAAOH,QAAQ6xB,cAAf,a,6BCHA7xB,EAAQiO,YAAa,EACrBjO,EAAA,aAAkB,EAClB,IAAI8N,EAMJ,SAAiCC,EAAKC,GAAe,GAAoBD,GAAOA,EAAIE,WAAc,OAAOF,EAAO,GAAY,OAARA,GAA+B,iBAARA,GAAmC,mBAARA,EAAsB,MAAO,CAAEF,QAASE,GAAS,IAAIG,EAAQC,EAAyBH,GAAc,GAAIE,GAASA,EAAMlF,IAAI+E,GAAQ,OAAOG,EAAMzG,IAAIsG,GAAQ,IAAIK,EAAS,CAAC,EAAOC,EAAwB3O,OAAOgO,gBAAkBhO,OAAO4O,yBAA0B,IAAK,IAAIjN,KAAO0M,EAAO,GAAY,YAAR1M,GAAqB3B,OAAOkC,UAAUM,eAAeQ,KAAKqL,EAAK1M,GAAM,CAAE,IAAIkN,EAAOF,EAAwB3O,OAAO4O,yBAAyBP,EAAK1M,GAAO,KAAUkN,IAASA,EAAK9G,KAAO8G,EAAKhN,KAAQ7B,OAAOgO,eAAeU,EAAQ/M,EAAKkN,GAAgBH,EAAO/M,GAAO0M,EAAI1M,EAAQ,CAAiE,OAA7D+M,EAAOP,QAAUE,EAASG,GAASA,EAAM3M,IAAIwM,EAAKK,GAAkBA,CAAQ,CANvxBI,CAAwB,EAAQ,MACxC8Q,EAAkB,EAAQ,KAC1BE,EAAS,EAAQ,KACjB/Q,EAAa,EAAQ,KACrB6gB,EAAY,CAAC,WAAY,YAAa,gBAAiB,QAAS,SAAU,SAAU,aAAc,kBAAmB,OAAQ,iBAAkB,iBAAkB,WAAY,eAAgB,gBAAiB,gBAAiB,kBACnO,SAASnhB,EAAyBH,GAAe,GAAuB,mBAAZjK,QAAwB,OAAO,KAAM,IAAIkL,EAAoB,IAAIlL,QAAemL,EAAmB,IAAInL,QAAW,OAAQoK,EAA2B,SAAkCH,GAAe,OAAOA,EAAckB,EAAmBD,CAAmB,GAAGjB,EAAc,CAE9U,SAASmB,IAAiS,OAApRA,EAAWzP,OAAO0P,OAAS1P,OAAO0P,OAAOC,OAAS,SAAUC,GAAU,IAAK,IAAIC,EAAI,EAAGA,EAAI5R,UAAUF,OAAQ8R,IAAK,CAAE,IAAIC,EAAS7R,UAAU4R,GAAI,IAAK,IAAIlO,KAAOmO,EAAc9P,OAAOkC,UAAUM,eAAeQ,KAAK8M,EAAQnO,KAAQiO,EAAOjO,GAAOmO,EAAOnO,GAAU,CAAE,OAAOiO,CAAQ,EAAUH,EAASM,MAAM7K,KAAMjH,UAAY,CAElV,SAASgiB,EAAQrZ,EAAQsZ,GAAkB,IAAIvd,EAAO3C,OAAO2C,KAAKiE,GAAS,GAAI5G,OAAO2D,sBAAuB,CAAE,IAAIwc,EAAUngB,OAAO2D,sBAAsBiD,GAASsZ,IAAmBC,EAAUA,EAAQC,QAAO,SAAUC,GAAO,OAAOrgB,OAAO4O,yBAAyBhI,EAAQyZ,GAAKpS,UAAY,KAAKtL,EAAK4G,KAAKwG,MAAMpN,EAAMwd,EAAU,CAAE,OAAOxd,CAAM,CACpV,SAAS2d,EAAc1Q,GAAU,IAAK,IAAIC,EAAI,EAAGA,EAAI5R,UAAUF,OAAQ8R,IAAK,CAAE,IAAIC,EAAS,MAAQ7R,UAAU4R,GAAK5R,UAAU4R,GAAK,CAAC,EAAGA,EAAI,EAAIoQ,EAAQjgB,OAAO8P,IAAS,GAAIrO,SAAQ,SAAUE,GAAOqO,EAAgBJ,EAAQjO,EAAKmO,EAAOnO,GAAO,IAAK3B,OAAOugB,0BAA4BvgB,OAAOwgB,iBAAiB5Q,EAAQ5P,OAAOugB,0BAA0BzQ,IAAWmQ,EAAQjgB,OAAO8P,IAASrO,SAAQ,SAAUE,GAAO3B,OAAOgO,eAAe4B,EAAQjO,EAAK3B,OAAO4O,yBAAyBkB,EAAQnO,GAAO,GAAI,CAAE,OAAOiO,CAAQ,CACzf,SAASI,EAAgB3B,EAAK1M,EAAKD,GAA4L,OAAnLC,EAC5C,SAAwBoC,GAAO,IAAIpC,EACnC,SAAsBsO,EAAOC,GAAQ,GAAqB,iBAAVD,GAAgC,OAAVA,EAAgB,OAAOA,EAAO,IAAIE,EAAOF,EAAM7M,OAAOgN,aAAc,QAAajN,IAATgN,EAAoB,CAAE,IAAIE,EAAMF,EAAKnN,KAAKiN,EAAOC,UAAoB,GAAmB,iBAARG,EAAkB,OAAOA,EAAK,MAAM,IAAIC,UAAU,+CAAiD,CAAE,OAA4B1E,OAAiBqE,EAAQ,CAD/UM,CAAaxM,GAAgB,MAAsB,iBAARpC,EAAmBA,EAAMiK,OAAOjK,EAAM,CADxE6O,CAAe7O,MAAiB0M,EAAOrO,OAAOgO,eAAeK,EAAK1M,EAAK,CAAED,MAAOA,EAAOuM,YAAY,EAAMwC,cAAc,EAAMC,UAAU,IAAkBrC,EAAI1M,GAAOD,EAAgB2M,CAAK,CAI3O,SAASsS,EAAgBC,EAAGC,GAA6I,OAAxIF,EAAkB3gB,OAAO8gB,eAAiB9gB,OAAO8gB,eAAenR,OAAS,SAAyBiR,EAAGC,GAAsB,OAAjBD,EAAEG,UAAYF,EAAUD,CAAG,EAAUD,EAAgBC,EAAGC,EAAI,CAGvM,IAAIuG,EAAyB,SAAU/F,GAJvC,IAAwBC,EAAUC,EAMhC,SAAS6F,IAEP,IADA,IAAI7E,EACKG,EAAOzkB,UAAUF,OAAQ4kB,EAAO,IAAI9kB,MAAM6kB,GAAOE,EAAO,EAAGA,EAAOF,EAAME,IAC/ED,EAAKC,GAAQ3kB,UAAU2kB,GAMzB,OAJAL,EAAQlB,EAAiBre,KAAK+M,MAAMsR,EAAkB,CAACnc,MAAMuX,OAAOkG,KAAUzd,MACxEmxB,WAAa,CAAC,EACpB9T,EAAM+T,eAAiB,KACvB/T,EAAMgU,MAAQ,KACPhU,CACT,CAhBgChB,EAKNF,GALJC,EAKP8F,GALwCllB,UAAYlC,OAAOwhB,OAAOD,EAAWrf,WAAYof,EAASpf,UAAU2G,YAAcyY,EAAUX,EAAgBW,EAAUC,GAiB7K,IAAIiV,EAASpP,EAAUllB,UAgNvB,OA/MAs0B,EAAOvjB,qBAAuB,WAC5B/N,KAAKuxB,WACP,EACAD,EAAOC,UAAY,WACjBvxB,KAAKoxB,eAAiBpxB,KAAKqxB,MAAQ,IACrC,EAIAC,EAAOE,eAAiB,SAAwBjc,EAAOR,GACrD,IAAI9G,EAAcjO,KAAKkH,MACrB6a,EAAiB9T,EAAY8T,eAC7BC,EAAiB/T,EAAY+T,eAC7ByP,EAAkBxjB,EAAYwjB,gBAEhC,IAAK1P,IAAmBC,IAAmByP,EAAiB,MAAO,CAAClc,EAAOR,GAG3E,GAAI0c,EAAiB,CACnB,IAAIC,EAAQ1xB,KAAKkH,MAAMqO,MAAQvV,KAAKkH,MAAM6N,OACtC4c,EAASpc,EAAQvV,KAAKkH,MAAMqO,MAC5Bqc,EAAS7c,EAAS/U,KAAKkH,MAAM6N,OAM7B2E,KAAKmY,IAAIF,GAAUjY,KAAKmY,IAAID,EAASF,GACvC3c,EAASQ,EAAQmc,EAEjBnc,EAAQR,EAAS2c,CAErB,CACA,IAAII,EAAOvc,EACTwc,EAAOhd,EAKLnJ,EAAO5L,KAAKqxB,OAAS,CAAC,EAAG,GAC3BW,EAASpmB,EAAK,GACdqmB,EAASrmB,EAAK,GAchB,OAbA2J,GAASyc,EACTjd,GAAUkd,EACNlQ,IACFxM,EAAQmE,KAAKE,IAAImI,EAAe,GAAIxM,GACpCR,EAAS2E,KAAKE,IAAImI,EAAe,GAAIhN,IAEnCiN,IACFzM,EAAQmE,KAAKC,IAAIqI,EAAe,GAAIzM,GACpCR,EAAS2E,KAAKC,IAAIqI,EAAe,GAAIjN,IAIvC/U,KAAKqxB,MAAQ,CAACW,GAAUF,EAAOvc,GAAQ0c,GAAUF,EAAOhd,IACjD,CAACQ,EAAOR,EACjB,EAQAuc,EAAOY,cAAgB,SAAuB1P,EAAanU,GACzD,IAAIsb,EAAS3pB,KACb,OAAO,SAAUzH,EAAGsT,GAClB,IAAIvD,EAAOuD,EAAMvD,KACf4E,EAASrB,EAAMqB,OACfC,EAAStB,EAAMsB,OAEG,kBAAhBqV,GAAiCmH,EAAO4H,YAG5C,IAAIriB,GAAkC,SAAtBya,EAAOziB,MAAMmH,MAAyC,MAAtBsb,EAAOziB,MAAMmH,OAA0B,MAATA,GAAyB,MAATA,EAC1Fc,GAAkC,SAAtBwa,EAAOziB,MAAMmH,MAAyC,MAAtBsb,EAAOziB,MAAMmH,OAA0B,MAATA,GAAyB,MAATA,EAE9F,GAAKa,GAAaC,EAAlB,CAGA,IAAIgjB,EAAQ9jB,EAAK,GACb+jB,EAAQ/jB,EAAKA,EAAKxV,OAAS,GAK3Bw5B,EAAa/pB,EAAK4N,wBACO,MAAzByT,EAAOyH,iBAIK,MAAVgB,IAEFllB,GADyBmlB,EAAWviB,KAAO6Z,EAAOyH,eAAethB,MAGrD,MAAVqiB,IAEFhlB,GADwBklB,EAAWriB,IAAM2Z,EAAOyH,eAAephB,MAKnE2Z,EAAOyH,eAAiBiB,EAGV,MAAVD,IAAellB,GAAUA,GACf,MAAVilB,IAAehlB,GAAUA,GAG7B,IAAIoI,EAAQoU,EAAOziB,MAAMqO,OAASrG,EAAWhC,EAASyc,EAAOziB,MAAM2W,eAAiB,GAChF9I,EAAS4U,EAAOziB,MAAM6N,QAAU5F,EAAWhC,EAASwc,EAAOziB,MAAM2W,eAAiB,GAGlFyU,EAAwB3I,EAAO6H,eAAejc,EAAOR,GACzDQ,EAAQ+c,EAAsB,GAC9Bvd,EAASud,EAAsB,GAC/B,IAAIC,EAAoBhd,IAAUoU,EAAOziB,MAAMqO,OAASR,IAAW4U,EAAOziB,MAAM6N,OAG5Esa,EAA0C,mBAA9B1F,EAAOziB,MAAMsb,GAA8BmH,EAAOziB,MAAMsb,GAAe,KAGnF6M,KAD+B,aAAhB7M,IAA+B+P,KAEnC,MAAbh6B,EAAEi6B,SAA2Bj6B,EAAEi6B,UAC/BnD,EAAG92B,EAAG,CACJ+P,KAAMA,EACNhM,KAAM,CACJiZ,MAAOA,EACPR,OAAQA,GAEV3D,OAAQ/C,KAKQ,iBAAhBmU,GAAgCmH,EAAO4H,WAzDT,CA0DpC,CACF,EAKAD,EAAOmB,mBAAqB,SAA4BC,EAAY3P,GAClE,IAAI3R,EAASpR,KAAKkH,MAAMkK,OAExB,IAAKA,EACH,OAAoBlI,EAAMqG,cAAc,OAAQ,CAC9CD,UAAW,iDAAmDojB,EAC9D3P,IAAKA,IAKT,GAAsB,mBAAX3R,EACT,OAAOA,EAAOshB,EAAY3P,GAG5B,IACI7b,EAAQkU,EAAc,CACxB2H,IAAKA,GAFmC,iBAAhB3R,EAAOvM,KAGf,CAAC,EAAI,CACrB6tB,WAAYA,IAEd,OAAoBxpB,EAAMwG,aAAa0B,EAAQlK,EACjD,EACAoqB,EAAOljB,OAAS,WACd,IAAIukB,EAAS3yB,KAGTiT,EAAejT,KAAKkH,MACtBoH,EAAW2E,EAAa3E,SACxBgB,EAAY2D,EAAa3D,UACzB6S,EAAgBlP,EAAakP,cAY7BT,GAXQzO,EAAasC,MACZtC,EAAa8B,OACb9B,EAAa7B,OACT6B,EAAa2f,WACR3f,EAAawe,gBACxBxe,EAAa5E,KACH4E,EAAa8O,eACb9O,EAAa+O,eACnB/O,EAAaqP,SACTrP,EAAamP,aACZnP,EAAaoP,cACbpP,EAAayO,eAE7B/F,GADiB1I,EAAa4K,eAhNpC,SAAuCjT,EAAQkhB,GAAY,GAAc,MAAVlhB,EAAgB,MAAO,CAAC,EAAG,IAA2DnO,EAAKkO,EAA5DD,EAAS,CAAC,EAAOqhB,EAAajxB,OAAO2C,KAAKmN,GAAqB,IAAKD,EAAI,EAAGA,EAAIohB,EAAWlzB,OAAQ8R,IAAOlO,EAAMsvB,EAAWphB,GAAQmhB,EAASE,QAAQvvB,IAAQ,IAAaiO,EAAOjO,GAAOmO,EAAOnO,IAAQ,OAAOiO,CAAQ,CAiNxSuhB,CAA8BhZ,EAAcyX,IAMlD,OAAO,EAAI9P,EAAOlL,cAAcpB,EAAU8M,EAAcA,EAAc,CAAC,EAAGO,GAAI,CAAC,EAAG,CAChFrM,WAAYA,EAAYA,EAAY,IAAM,IAAM,kBAChDhB,SAAU,GAAGiJ,OAAOjJ,EAASpH,MAAMoH,SAAUoT,EAActlB,KAAI,SAAUs2B,GACvE,IAAIG,EAEA9P,EAAiE,OAA1D8P,EAAwBF,EAAOxB,WAAWuB,IAAuBG,EAAwBF,EAAOxB,WAAWuB,GAA2BxpB,EAAM0U,YACvJ,OAAoB1U,EAAMqG,cAAcmL,EAAgBjK,cAAelG,EAAS,CAAC,EAAG4X,EAAe,CACjGjU,QAAS6U,EACTtmB,IAAK,mBAAqBi2B,EAC1BrlB,OAAQslB,EAAOT,cAAc,eAAgBQ,GAC7CtmB,QAASumB,EAAOT,cAAc,gBAAiBQ,GAC/CtlB,OAAQulB,EAAOT,cAAc,WAAYQ,KACvCC,EAAOF,mBAAmBC,EAAY3P,GAC5C,OAEJ,EACOb,CACT,CA9N6B,CA8N3BhZ,EAAMwC,WACRtQ,EAAA,QAAkB8mB,EAClBA,EAAUrS,UAAYhG,EAAWipB,eACjC5Q,EAAU/R,aAAe,CACvB9B,KAAM,OACNukB,WAAY,CAAC,GAAI,IACjBnB,iBAAiB,EACjB1P,eAAgB,CAAC,GAAI,IACrBC,eAAgB,CAACC,IAAUA,KAC3BP,cAAe,CAAC,MAChB7D,eAAgB,E,4BC3PlBziB,EAAA,aAAkB,EAClB,IAAI8N,EAOJ,SAAiCC,EAAKC,GAAe,GAAoBD,GAAOA,EAAIE,WAAc,OAAOF,EAAO,GAAY,OAARA,GAA+B,iBAARA,GAAmC,mBAARA,EAAsB,MAAO,CAAEF,QAASE,GAAS,IAAIG,EAAQC,EAAyBH,GAAc,GAAIE,GAASA,EAAMlF,IAAI+E,GAAQ,OAAOG,EAAMzG,IAAIsG,GAAQ,IAAIK,EAAS,CAAC,EAAOC,EAAwB3O,OAAOgO,gBAAkBhO,OAAO4O,yBAA0B,IAAK,IAAIjN,KAAO0M,EAAO,GAAY,YAAR1M,GAAqB3B,OAAOkC,UAAUM,eAAeQ,KAAKqL,EAAK1M,GAAM,CAAE,IAAIkN,EAAOF,EAAwB3O,OAAO4O,yBAAyBP,EAAK1M,GAAO,KAAUkN,IAASA,EAAK9G,KAAO8G,EAAKhN,KAAQ7B,OAAOgO,eAAeU,EAAQ/M,EAAKkN,GAAgBH,EAAO/M,GAAO0M,EAAI1M,EAAQ,CAAiE,OAA7D+M,EAAOP,QAAUE,EAASG,GAASA,EAAM3M,IAAIwM,EAAKK,GAAkBA,CAAQ,CAPvxBI,CAAwB,EAAQ,MACxCC,EAAaC,EAAuB,EAAQ,MAC5CipB,EAAajpB,EAAuB,EAAQ,MAC5CkpB,EAAc,EAAQ,KACtBtI,EAAY,CAAC,SAAU,aAAc,WAAY,gBAAiB,eAAgB,gBAAiB,iBAAkB,iBAAkB,kBAAmB,OAAQ,QAAS,SAAU,gBAAiB,QAAS,kBACnN,SAAS5gB,EAAuBX,GAAO,OAAOA,GAAOA,EAAIE,WAAaF,EAAM,CAAEF,QAASE,EAAO,CAC9F,SAASI,EAAyBH,GAAe,GAAuB,mBAAZjK,QAAwB,OAAO,KAAM,IAAIkL,EAAoB,IAAIlL,QAAemL,EAAmB,IAAInL,QAAW,OAAQoK,EAA2B,SAAkCH,GAAe,OAAOA,EAAckB,EAAmBD,CAAmB,GAAGjB,EAAc,CAE9U,SAASmB,IAAiS,OAApRA,EAAWzP,OAAO0P,OAAS1P,OAAO0P,OAAOC,OAAS,SAAUC,GAAU,IAAK,IAAIC,EAAI,EAAGA,EAAI5R,UAAUF,OAAQ8R,IAAK,CAAE,IAAIC,EAAS7R,UAAU4R,GAAI,IAAK,IAAIlO,KAAOmO,EAAc9P,OAAOkC,UAAUM,eAAeQ,KAAK8M,EAAQnO,KAAQiO,EAAOjO,GAAOmO,EAAOnO,GAAU,CAAE,OAAOiO,CAAQ,EAAUH,EAASM,MAAM7K,KAAMjH,UAAY,CAClV,SAASgiB,EAAQrZ,EAAQsZ,GAAkB,IAAIvd,EAAO3C,OAAO2C,KAAKiE,GAAS,GAAI5G,OAAO2D,sBAAuB,CAAE,IAAIwc,EAAUngB,OAAO2D,sBAAsBiD,GAASsZ,IAAmBC,EAAUA,EAAQC,QAAO,SAAUC,GAAO,OAAOrgB,OAAO4O,yBAAyBhI,EAAQyZ,GAAKpS,UAAY,KAAKtL,EAAK4G,KAAKwG,MAAMpN,EAAMwd,EAAU,CAAE,OAAOxd,CAAM,CACpV,SAAS2d,EAAc1Q,GAAU,IAAK,IAAIC,EAAI,EAAGA,EAAI5R,UAAUF,OAAQ8R,IAAK,CAAE,IAAIC,EAAS,MAAQ7R,UAAU4R,GAAK5R,UAAU4R,GAAK,CAAC,EAAGA,EAAI,EAAIoQ,EAAQjgB,OAAO8P,IAAS,GAAIrO,SAAQ,SAAUE,GAAOqO,EAAgBJ,EAAQjO,EAAKmO,EAAOnO,GAAO,IAAK3B,OAAOugB,0BAA4BvgB,OAAOwgB,iBAAiB5Q,EAAQ5P,OAAOugB,0BAA0BzQ,IAAWmQ,EAAQjgB,OAAO8P,IAASrO,SAAQ,SAAUE,GAAO3B,OAAOgO,eAAe4B,EAAQjO,EAAK3B,OAAO4O,yBAAyBkB,EAAQnO,GAAO,GAAI,CAAE,OAAOiO,CAAQ,CACzf,SAASI,EAAgB3B,EAAK1M,EAAKD,GAA4L,OAAnLC,EAC5C,SAAwBoC,GAAO,IAAIpC,EACnC,SAAsBsO,EAAOC,GAAQ,GAAqB,iBAAVD,GAAgC,OAAVA,EAAgB,OAAOA,EAAO,IAAIE,EAAOF,EAAM7M,OAAOgN,aAAc,QAAajN,IAATgN,EAAoB,CAAE,IAAIE,EAAMF,EAAKnN,KAAKiN,EAAOC,UAAoB,GAAmB,iBAARG,EAAkB,OAAOA,EAAK,MAAM,IAAIC,UAAU,+CAAiD,CAAE,OAA4B1E,OAAiBqE,EAAQ,CAD/UM,CAAaxM,GAAgB,MAAsB,iBAARpC,EAAmBA,EAAMiK,OAAOjK,EAAM,CADxE6O,CAAe7O,MAAiB0M,EAAOrO,OAAOgO,eAAeK,EAAK1M,EAAK,CAAED,MAAOA,EAAOuM,YAAY,EAAMwC,cAAc,EAAMC,UAAU,IAAkBrC,EAAI1M,GAAOD,EAAgB2M,CAAK,CAK3O,SAASsS,EAAgBC,EAAGC,GAA6I,OAAxIF,EAAkB3gB,OAAO8gB,eAAiB9gB,OAAO8gB,eAAenR,OAAS,SAAyBiR,EAAGC,GAAsB,OAAjBD,EAAEG,UAAYF,EAAUD,CAAG,EAAUD,EAAgBC,EAAGC,EAAI,CACvM,IAAIsX,EAA4B,SAAU9W,GAF1C,IAAwBC,EAAUC,EAIhC,SAAS4W,IAEP,IADA,IAAI5V,EACKG,EAAOzkB,UAAUF,OAAQ4kB,EAAO,IAAI9kB,MAAM6kB,GAAOE,EAAO,EAAGA,EAAOF,EAAME,IAC/ED,EAAKC,GAAQ3kB,UAAU2kB,GAoBzB,OAlBAL,EAAQlB,EAAiBre,KAAK+M,MAAMsR,EAAkB,CAACnc,MAAMuX,OAAOkG,KAAUzd,MACxEyM,MAAQ,CACZ8I,MAAO8H,EAAMnW,MAAMqO,MACnBR,OAAQsI,EAAMnW,MAAM6N,OACpBme,WAAY7V,EAAMnW,MAAMqO,MACxB4d,YAAa9V,EAAMnW,MAAM6N,QAE3BsI,EAAMiF,SAAW,SAAU/pB,EAAGmI,GAC5B,IAAIpE,EAAOoE,EAAKpE,KACZ+gB,EAAMnW,MAAMob,UACD,MAAb/pB,EAAEi6B,SAA2Bj6B,EAAEi6B,UAC/BnV,EAAM/Q,SAAShQ,GAAM,WACnB,OAAO+gB,EAAMnW,MAAMob,UAAYjF,EAAMnW,MAAMob,SAAS/pB,EAAGmI,EACzD,KAEA2c,EAAM/Q,SAAShQ,EAEnB,EACO+gB,CACT,CAyDA,OArFgChB,EAGHF,GAHPC,EAGP6W,GAHwCj2B,UAAYlC,OAAOwhB,OAAOD,EAAWrf,WAAYof,EAASpf,UAAU2G,YAAcyY,EAAUX,EAAgBW,EAAUC,GA6B7K4W,EAAatnB,yBAA2B,SAAkCzE,EAAOuF,GAE/E,OAAIA,EAAMymB,aAAehsB,EAAMqO,OAAS9I,EAAM0mB,cAAgBjsB,EAAM6N,OAC3D,CACLQ,MAAOrO,EAAMqO,MACbR,OAAQ7N,EAAM6N,OACdme,WAAYhsB,EAAMqO,MAClB4d,YAAajsB,EAAM6N,QAGhB,IACT,EACake,EAAaj2B,UACnBoR,OAAS,WAId,IAAIH,EAAcjO,KAAKkH,MACrBkK,EAASnD,EAAYmD,OACrBwhB,EAAa3kB,EAAY2kB,WAEzBvQ,GADWpU,EAAYqU,SACPrU,EAAYoU,eAC5BD,EAAenU,EAAYmU,aAC3BD,EAAgBlU,EAAYkU,cAC5BJ,EAAiB9T,EAAY8T,eAC7BC,EAAiB/T,EAAY+T,eAC7ByP,EAAkBxjB,EAAYwjB,gBAC9BpjB,EAAOJ,EAAYI,KAGnBqT,GAFQzT,EAAYsH,MACXtH,EAAY8G,OACL9G,EAAYyT,eAC5B7S,EAAQZ,EAAYY,MACpBgP,EAAiB5P,EAAY4P,eAC7B3W,EA/DN,SAAuC0D,EAAQkhB,GAAY,GAAc,MAAVlhB,EAAgB,MAAO,CAAC,EAAG,IAA2DnO,EAAKkO,EAA5DD,EAAS,CAAC,EAAOqhB,EAAajxB,OAAO2C,KAAKmN,GAAqB,IAAKD,EAAI,EAAGA,EAAIohB,EAAWlzB,OAAQ8R,IAAOlO,EAAMsvB,EAAWphB,GAAQmhB,EAASE,QAAQvvB,IAAQ,IAAaiO,EAAOjO,GAAOmO,EAAOnO,IAAQ,OAAOiO,CAAQ,CA+DpSuhB,CAA8Bhe,EAAayc,GACrD,OAAoBxhB,EAAMqG,cAAcwjB,EAAW9pB,QAAS,CAC1DoF,KAAMA,EACN8T,cAAeA,EACf/Q,OAAQA,EACRwhB,WAAYA,EACZ7d,OAAQ/U,KAAKyM,MAAMsI,OACnB0c,gBAAiBA,EACjBzP,eAAgBA,EAChBD,eAAgBA,EAChBM,cAAeA,EACfC,SAAUtiB,KAAKsiB,SACfF,aAAcA,EACdV,cAAeA,EACf7D,eAAgBA,EAChBtI,MAAOvV,KAAKyM,MAAM8I,OACJrM,EAAMqG,cAAc,MAAOhF,EAAS,CAAC,EAAGrD,EAAO,CAC7D2H,MAAOuM,EAAcA,EAAc,CAAC,EAAGvM,GAAQ,CAAC,EAAG,CACjD0G,MAAOvV,KAAKyM,MAAM8I,MAAQ,KAC1BR,OAAQ/U,KAAKyM,MAAMsI,OAAS,UAGlC,EACOke,CACT,CApFgC,CAoF9B/pB,EAAMwC,WACRtQ,EAAA,QAAkB63B,EAElBA,EAAapjB,UAAYuL,EAAcA,EAAc,CAAC,EAAG4X,EAAYF,gBAAiB,CAAC,EAAG,CACxFxkB,SAAUzE,EAAWZ,QAAQd,S,6BC3G/B/M,EAAQiO,YAAa,EACrBjO,EAAQ03B,oBAAiB,EACzB,IAEgC3pB,EAF5BU,GAE4BV,EAFQ,EAAQ,OAEKA,EAAIE,WAAaF,EAAM,CAAEF,QAASE,GADjE,EAAQ,KAE9B,IAAI2pB,EAAiB,CAQnBzkB,KAAMxE,EAAWZ,QAAQT,MAAM,CAAC,OAAQ,IAAK,IAAK,SAClD8G,UAAWzF,EAAWZ,QAAQjB,OAI9BsG,SAAUzE,EAAWZ,QAAQd,QAAQR,WAIrCwa,cAAetY,EAAWZ,QAAQP,MAAM,CACtCkI,cAAe/G,EAAWZ,QAAQnB,KAClCwJ,OAAQzH,EAAWZ,QAAQjB,OAC3BsG,SAAUzE,EAAWZ,QAAQX,KAC7B2I,SAAUpH,EAAWZ,QAAQnB,KAC7BgK,qBAAsBjI,EAAWZ,QAAQnB,KACzCsL,aAAcvJ,EAAWZ,QAAQX,KACjC+J,KAAMxI,EAAWZ,QAAQf,QAAQ2B,EAAWZ,QAAQlB,QACpDqJ,OAAQvH,EAAWZ,QAAQjB,OAC3BkG,QAASrE,EAAWZ,QAAQvH,OAC5B0K,QAASvC,EAAWZ,QAAQpM,KAC5BuQ,OAAQvD,EAAWZ,QAAQpM,KAC3BwQ,OAAQxD,EAAWZ,QAAQpM,KAC3B8T,YAAa9G,EAAWZ,QAAQpM,KAChC8R,MAAO9E,EAAWZ,QAAQlB,SAK5BgN,OAAQ,WACN,IAAK,IAAIyI,EAAOzkB,UAAUF,OAAQ4kB,EAAO,IAAI9kB,MAAM6kB,GAAOE,EAAO,EAAGA,EAAOF,EAAME,IAC/ED,EAAKC,GAAQ3kB,UAAU2kB,GAEzB,IAGM0V,EAHFlsB,EAAQuW,EAAK,GAEjB,MAAmB,SAAfvW,EAAMmH,MAAkC,MAAfnH,EAAMmH,MAEzB+kB,EAAoBvpB,EAAWZ,QAAQlB,QAAQJ,WAAWkD,MAAMuoB,EAAmB3V,GAEtF5T,EAAWZ,QAAQlB,OAAO8C,MAAMhB,EAAWZ,QAASwU,EAC7D,EAIArM,OAAQvH,EAAWZ,QAAQR,UAAU,CAACoB,EAAWZ,QAAQX,KAAMuB,EAAWZ,QAAQpM,OAIlF+1B,WAAY/oB,EAAWZ,QAAQf,QAAQ2B,EAAWZ,QAAQlB,QAC1D0pB,gBAAiB5nB,EAAWZ,QAAQnB,KAIpCka,eAAgBnY,EAAWZ,QAAQf,QAAQ2B,EAAWZ,QAAQlB,QAI9Dga,eAAgBlY,EAAWZ,QAAQf,QAAQ2B,EAAWZ,QAAQlB,QAI9Dqa,aAAcvY,EAAWZ,QAAQpM,KAIjCwlB,cAAexY,EAAWZ,QAAQpM,KAIlCylB,SAAUzY,EAAWZ,QAAQpM,KAY7B6kB,cAAe7X,EAAWZ,QAAQf,QAAQ2B,EAAWZ,QAAQT,MAAM,CAAC,IAAK,IAAK,IAAK,IAAK,KAAM,KAAM,KAAM,QAI1GqV,eAAgBhU,EAAWZ,QAAQlB,OAInCwN,MAAO,WACL,IAAK,IAAI8d,EAAQt6B,UAAUF,OAAQ4kB,EAAO,IAAI9kB,MAAM06B,GAAQC,EAAQ,EAAGA,EAAQD,EAAOC,IACpF7V,EAAK6V,GAASv6B,UAAUu6B,GAE1B,IAGMC,EAHFrsB,EAAQuW,EAAK,GAEjB,MAAmB,SAAfvW,EAAMmH,MAAkC,MAAfnH,EAAMmH,MAEzBklB,EAAqB1pB,EAAWZ,QAAQlB,QAAQJ,WAAWkD,MAAM0oB,EAAoB9V,GAExF5T,EAAWZ,QAAQlB,OAAO8C,MAAMhB,EAAWZ,QAASwU,EAC7D,GAEFriB,EAAQ03B,eAAiBA,C,6BClHzB13B,EAAQiO,YAAa,EACrBjO,EAAQsU,aASR,SAAsBvH,EAASjB,GAO7B,OANIA,EAAM2H,OAAS1G,EAAQjB,MAAM2H,QAC/B3H,EAAM2H,MAAQuM,EAAcA,EAAc,CAAC,EAAGjT,EAAQjB,MAAM2H,OAAQ3H,EAAM2H,QAExE3H,EAAMoI,WAAanH,EAAQjB,MAAMoI,YACnCpI,EAAMoI,UAAYnH,EAAQjB,MAAMoI,UAAY,IAAMpI,EAAMoI,WAEtCmL,EAAOxR,QAAQyG,aAAavH,EAASjB,EAC3D,EAhBA,IACgCiC,EAD5BsR,GAC4BtR,EADI,EAAQ,OACSA,EAAIE,WAAaF,EAAM,CAAEF,QAASE,GACvF,SAAS4R,EAAQrZ,EAAQsZ,GAAkB,IAAIvd,EAAO3C,OAAO2C,KAAKiE,GAAS,GAAI5G,OAAO2D,sBAAuB,CAAE,IAAIwc,EAAUngB,OAAO2D,sBAAsBiD,GAASsZ,IAAmBC,EAAUA,EAAQC,QAAO,SAAUC,GAAO,OAAOrgB,OAAO4O,yBAAyBhI,EAAQyZ,GAAKpS,UAAY,KAAKtL,EAAK4G,KAAKwG,MAAMpN,EAAMwd,EAAU,CAAE,OAAOxd,CAAM,CACpV,SAAS2d,EAAc1Q,GAAU,IAAK,IAAIC,EAAI,EAAGA,EAAI5R,UAAUF,OAAQ8R,IAAK,CAAE,IAAIC,EAAS,MAAQ7R,UAAU4R,GAAK5R,UAAU4R,GAAK,CAAC,EAAGA,EAAI,EAAIoQ,EAAQjgB,OAAO8P,IAAS,GAAIrO,SAAQ,SAAUE,GAAOqO,EAAgBJ,EAAQjO,EAAKmO,EAAOnO,GAAO,IAAK3B,OAAOugB,0BAA4BvgB,OAAOwgB,iBAAiB5Q,EAAQ5P,OAAOugB,0BAA0BzQ,IAAWmQ,EAAQjgB,OAAO8P,IAASrO,SAAQ,SAAUE,GAAO3B,OAAOgO,eAAe4B,EAAQjO,EAAK3B,OAAO4O,yBAAyBkB,EAAQnO,GAAO,GAAI,CAAE,OAAOiO,CAAQ,CACzf,SAASI,EAAgB3B,EAAK1M,EAAKD,GAA4L,OAAnLC,EAC5C,SAAwBoC,GAAO,IAAIpC,EACnC,SAAsBsO,EAAOC,GAAQ,GAAqB,iBAAVD,GAAgC,OAAVA,EAAgB,OAAOA,EAAO,IAAIE,EAAOF,EAAM7M,OAAOgN,aAAc,QAAajN,IAATgN,EAAoB,CAAE,IAAIE,EAAMF,EAAKnN,KAAKiN,EAAOC,UAAoB,GAAmB,iBAARG,EAAkB,OAAOA,EAAK,MAAM,IAAIC,UAAU,+CAAiD,CAAE,OAA4B1E,OAAiBqE,EAAQ,CAD/UM,CAAaxM,GAAgB,MAAsB,iBAARpC,EAAmBA,EAAMiK,OAAOjK,EAAM,CADxE6O,CAAe7O,MAAiB0M,EAAOrO,OAAOgO,eAAeK,EAAK1M,EAAK,CAAED,MAAOA,EAAOuM,YAAY,EAAMwC,cAAc,EAAMC,UAAU,IAAkBrC,EAAI1M,GAAOD,EAAgB2M,CAAK,C,4BCP3O5N,EAAOH,QAAU,WACf,MAAM,IAAIqM,MAAM,iFAClB,EAEAlM,EAAOH,QAAQ8mB,UAAY,EAA3B,aACA3mB,EAAOH,QAAQ63B,aAAe,EAA9B,W,uBCNA13B,EAAOH,QAAUo4B,C,uBCAjBj4B,EAAOH,QAAUq4B,C,uBCAjBl4B,EAAOH,QAAUs4B,C,uBCAjBn4B,EAAOH,QAAUu4B,C,uBCAjBp4B,EAAOH,QAAUw4B,C,uBCAjBr4B,EAAOH,QAAUy4B,C,uBCAjBt4B,EAAOH,QAAU04B,C,uBCAjBv4B,EAAOH,QAAU24B,C,uBCAjBx4B,EAAOH,QAAU44B,C,GCCbC,EAA2B,CAAC,EAGhC,SAASC,EAAoBC,GAE5B,IAAIC,EAAeH,EAAyBE,GAC5C,QAAqBl2B,IAAjBm2B,EACH,OAAOA,EAAah5B,QAGrB,IAAIG,EAAS04B,EAAyBE,GAAY,CACjDngB,GAAImgB,EACJE,QAAQ,EACRj5B,QAAS,CAAC,GAUX,OANAk5B,EAAoBH,GAAU54B,EAAQA,EAAOH,QAAS84B,GAGtD34B,EAAO84B,QAAS,EAGT94B,EAAOH,OACf,CCxBA84B,EAAoBx7B,EAAK6C,IACxB,IAAIg5B,EAASh5B,GAAUA,EAAO8N,WAC7B,IAAO9N,EAAiB,QACxB,IAAM,EAEP,OADA24B,EAAoBM,EAAED,EAAQ,CAAEpa,EAAGoa,IAC5BA,CAAM,ECLdL,EAAoBM,EAAI,CAACp5B,EAASq5B,KACjC,IAAI,IAAIh4B,KAAOg4B,EACXP,EAAoBxY,EAAE+Y,EAAYh4B,KAASy3B,EAAoBxY,EAAEtgB,EAASqB,IAC5E3B,OAAOgO,eAAe1N,EAASqB,EAAK,CAAEsM,YAAY,EAAMlG,IAAK4xB,EAAWh4B,IAE1E,ECNDy3B,EAAoBr5B,EAAI,WACvB,GAA0B,iBAAf65B,WAAyB,OAAOA,WAC3C,IACC,OAAO10B,MAAQ,IAAI9E,SAAS,cAAb,EAChB,CAAE,MAAO3C,GACR,GAAsB,iBAAXqV,OAAqB,OAAOA,MACxC,CACA,CAPuB,GCAxBsmB,EAAoBxY,EAAI,CAACvS,EAAK2O,IAAUhd,OAAOkC,UAAUM,eAAeQ,KAAKqL,EAAK2O,GCClFoc,EAAoB57B,EAAK8C,IACH,oBAAX8C,QAA0BA,OAAOK,aAC1CzD,OAAOgO,eAAe1N,EAAS8C,OAAOK,YAAa,CAAE/B,MAAO,WAE7D1B,OAAOgO,eAAe1N,EAAS,aAAc,CAAEoB,OAAO,GAAO,ECL9D03B,EAAoBS,IAAOp5B,IAC1BA,EAAOq5B,MAAQ,GACVr5B,EAAO+S,WAAU/S,EAAO+S,SAAW,IACjC/S,G,+FCCD,MAAMs5B,EAAqB3rB,IAAAA,cAAyC,M,mBCF9D4rB,EAAkB,M,iDAAMC,K,gBAEzBC,G,mFAAAA,IAAAA,EAAAA,CAAAA,IAML,MAKMC,EAA2B,CACtCC,YAAa,CACXt4B,IAAK,cACLiI,KAAM,YAERswB,sBAAuB,CACrBv4B,IAAK,wBACLiI,KAAM,YAERuwB,YAAa,CACXx4B,IAAK,cACLiI,KAAM,YAERwwB,SAAU,CACRz4B,IAAK,WACLiI,KAAM,aC3BH,SAASywB,EAAYC,GAC1B,MAAO,GAAGT,KAAmBS,GAC/B,C,aCAIC,EAAY16B,OAAOgO,eACnB2sB,EAAsB36B,OAAO2D,sBAC7Bi3B,EAAe56B,OAAOkC,UAAUM,eAChCq4B,EAAe76B,OAAOkC,UAAUoB,qBAChCw3B,EAAkB,CAACzsB,EAAK1M,EAAKD,IAAUC,KAAO0M,EAAMqsB,EAAUrsB,EAAK1M,EAAK,CAAEsM,YAAY,EAAMwC,cAAc,EAAMC,UAAU,EAAMhP,UAAW2M,EAAI1M,GAAOD,EACtJq5B,EAAiB,CAAC1b,EAAGmT,KACvB,IAAK,IAAIxV,KAAQwV,IAAMA,EAAI,CAAC,GACtBoI,EAAa53B,KAAKwvB,EAAGxV,IACvB8d,EAAgBzb,EAAGrC,EAAMwV,EAAExV,IAC/B,GAAI2d,EACF,IAAK,IAAI3d,KAAQ2d,EAAoBnI,GAC/BqI,EAAa73B,KAAKwvB,EAAGxV,IACvB8d,EAAgBzb,EAAGrC,EAAMwV,EAAExV,IAEjC,OAAOqC,CAAC,EAMV,SAAS2b,EAAmBC,EAAMC,GAChC,MAAMC,EAAaJ,EAAe,CAAC,EAAG,EAAAK,gBAAgBC,mBACtD,GAAIH,EACF,IAAK,MAAMv5B,KAAO3B,OAAO2C,KAAKw4B,GACvBD,EAAeI,SAAS35B,WACpBw5B,EAAWx5B,GAIxB,OAAO,EAAA45B,QAAQC,UAAU,EAAAC,aAAaC,cAAcT,GAAOE,EAC7D,CACA,SAASQ,EAAmCC,EAAaC,GACvD,OAAO,kBAAoBD,EAAYhrB,UAAW,CAAEkrB,MAAOF,EAAaC,cAC1E,CCpCgB77B,OAAOgO,eACNhO,OAAOwgB,iBACAxgB,OAAOugB,0BACLvgB,OAAO2D,sBACd3D,OAAOkC,UAAUM,eACjBxC,OAAOkC,UAAUoB,qBAcpC,MAAMy4B,EAAsC,IAAI73B,I,aCrBhD,MACA,GACE83B,WAFmC,oBAAXC,QAA0BA,OAAOD,YAAcC,OAAOD,WAAWrsB,KAAKssB,SCGhG,IAAIC,EACJ,MAAMC,EAAQ,IAAI94B,WAAW,IACd,SAAS+4B,IAEtB,IAAKF,IAEHA,EAAoC,oBAAXD,QAA0BA,OAAOC,iBAAmBD,OAAOC,gBAAgBvsB,KAAKssB,SAEpGC,GACH,MAAM,IAAIvvB,MAAM,4GAIpB,OAAOuvB,EAAgBC,EACzB,CCXA,MAAME,EAAY,GAElB,IAAK,IAAIxsB,EAAI,EAAGA,EAAI,MAAOA,EACzBwsB,EAAU9yB,MAAMsG,EAAI,KAAOtN,SAAS,IAAIwmB,MAAM,ICmBhD,QAxBA,SAAYpQ,EAAS2jB,EAAK5yB,GACxB,GAAI,EAAOsyB,aAAeM,IAAQ3jB,EAChC,OAAO,EAAOqjB,aAIhB,MAAMO,GADN5jB,EAAUA,GAAW,CAAC,GACD6jB,SAAW7jB,EAAQyjB,KAAOA,KAK/C,GAHAG,EAAK,GAAe,GAAVA,EAAK,GAAY,GAC3BA,EAAK,GAAe,GAAVA,EAAK,GAAY,IAEvBD,EAAK,CACP5yB,EAASA,GAAU,EAEnB,IAAK,IAAImG,EAAI,EAAGA,EAAI,KAAMA,EACxBysB,EAAI5yB,EAASmG,GAAK0sB,EAAK1sB,GAGzB,OAAOysB,CACT,CAEA,ODbK,SAAyBrT,EAAKvf,EAAS,GAG5C,OAAO2yB,EAAUpT,EAAIvf,EAAS,IAAM2yB,EAAUpT,EAAIvf,EAAS,IAAM2yB,EAAUpT,EAAIvf,EAAS,IAAM2yB,EAAUpT,EAAIvf,EAAS,IAAM,IAAM2yB,EAAUpT,EAAIvf,EAAS,IAAM2yB,EAAUpT,EAAIvf,EAAS,IAAM,IAAM2yB,EAAUpT,EAAIvf,EAAS,IAAM2yB,EAAUpT,EAAIvf,EAAS,IAAM,IAAM2yB,EAAUpT,EAAIvf,EAAS,IAAM2yB,EAAUpT,EAAIvf,EAAS,IAAM,IAAM2yB,EAAUpT,EAAIvf,EAAS,KAAO2yB,EAAUpT,EAAIvf,EAAS,KAAO2yB,EAAUpT,EAAIvf,EAAS,KAAO2yB,EAAUpT,EAAIvf,EAAS,KAAO2yB,EAAUpT,EAAIvf,EAAS,KAAO2yB,EAAUpT,EAAIvf,EAAS,IAChf,CCSS+yB,CAAgBF,EACzB,ECxBA,IAAI,EAAYv8B,OAAOgO,eACnB,EAAahO,OAAOwgB,iBACpB,EAAoBxgB,OAAOugB,0BAC3B,EAAsBvgB,OAAO2D,sBAC7B,EAAe3D,OAAOkC,UAAUM,eAChC,EAAexC,OAAOkC,UAAUoB,qBAChC,EAAkB,CAAC+K,EAAK1M,EAAKD,IAAUC,KAAO0M,EAAM,EAAUA,EAAK1M,EAAK,CAAEsM,YAAY,EAAMwC,cAAc,EAAMC,UAAU,EAAMhP,UAAW2M,EAAI1M,GAAOD,EAyC1J,MAAMg7B,EAAwB,UAhB9B,SAA0CC,GACxC,IACIC,EADAC,EAAKF,GAAI,MAAEb,GAAUe,EAAIC,EAbf,EAAChtB,EAAQitB,KACvB,IAAIntB,EAAS,CAAC,EACd,IAAK,IAAIoN,KAAQlN,EACX,EAAa9M,KAAK8M,EAAQkN,IAAS+f,EAAQ7L,QAAQlU,GAAQ,IAC7DpN,EAAOoN,GAAQlN,EAAOkN,IAC1B,GAAc,MAAVlN,GAAkB,EACpB,IAAK,IAAIkN,KAAQ,EAAoBlN,GAC/BitB,EAAQ7L,QAAQlU,GAAQ,GAAK,EAAaha,KAAK8M,EAAQkN,KACzDpN,EAAOoN,GAAQlN,EAAOkN,IAE5B,OAAOpN,CAAM,EAG6BotB,CAAUH,EAAI,CAAC,UAEzD,MAAMjsB,EAAsD,OAAzCgsB,EAAMd,EAAMjzB,YAAuB,WAAa+zB,EAAMK,GAClEC,EAAWC,GAAgB,cAAe,GAKjD,OAJA,IAAAC,YAAU,KACRD,GAAa,GACNrB,EAAMuB,aACZ,CAACvB,IACCoB,EAGkB,kBAAoBtsB,GAzBxByO,EAXA,EAACA,EAAGmT,KACvB,IAAK,IAAIxV,KAAQwV,IAAMA,EAAI,CAAC,GACtB,EAAaxvB,KAAKwvB,EAAGxV,IACvB,EAAgBqC,EAAGrC,EAAMwV,EAAExV,IAC/B,GAAI,EACF,IAAK,IAAIA,KAAQ,EAAoBwV,GAC/B,EAAaxvB,KAAKwvB,EAAGxV,IACvB,EAAgBqC,EAAGrC,EAAMwV,EAAExV,IAEjC,OAAOqC,CAAC,EA2B4D,CAAe,CAAC,EAAGyd,GAzB3D,EAAWzd,EAAG,EAyB0D,CAClGyc,aAHO,KAvBS,IAACzc,CA4BrB,IAEA,SAAS4d,EAAcK,GACrB,OAAO,IACT,CClDA,MAAMC,UAAqC,EAAAC,qBAE3CD,EAA6BxzB,KAAO,4BACpC,MAAM0zB,UAAwB,EAAAD,qBAE9BC,EAAgB1zB,KAAO,2BCPvB,IAkBI+G,EAlBA4sB,EAAgB,CAACrvB,EAAKsvB,EAAQC,KAChC,IAAKD,EAAOr0B,IAAI+E,GACd,MAAMiC,UAAU,UAAYstB,EAAI,EAiBpC,MAAMC,EACJ,WAAAh1B,CAAYof,GAPK,IAAM0V,EAAQj8B,EALd,EAAC2M,EAAKsvB,EAAQj8B,KAC/B,GAAIi8B,EAAOr0B,IAAI+E,GACb,MAAMiC,UAAU,qDAClBqtB,aAAkBG,QAAUH,EAAOj4B,IAAI2I,GAAOsvB,EAAO97B,IAAIwM,OAU9B,EAVyC,EAUlE0vB,CAAa74B,KAAM4L,GARUpP,EASJumB,EAR3ByV,EAQex4B,KATQy4B,EASF7sB,EARM,0BACQ6sB,EAAO97B,IAO3BqD,KAPoCxD,EAQnD,CACA,OAAAoJ,GACE,OApBF4yB,EAoBsBx4B,KArBCy4B,EAqBK7sB,EApBD,2BACQ6sB,EAAO51B,IAmBpB7C,MArBL,IAAMy4B,CAsBvB,EAEF7sB,EAAO,IAAIzM,QCnBX,IAAI,EAAYrE,OAAOgO,eACnB,EAAsBhO,OAAO2D,sBAC7B,EAAe3D,OAAOkC,UAAUM,eAChC,EAAexC,OAAOkC,UAAUoB,qBAChC,EAAkB,CAAC+K,EAAK1M,EAAKD,IAAUC,KAAO0M,EAAM,EAAUA,EAAK1M,EAAK,CAAEsM,YAAY,EAAMwC,cAAc,EAAMC,UAAU,EAAMhP,UAAW2M,EAAI1M,GAAOD,EACtJ,EAAiB,CAAC2d,EAAGmT,KACvB,IAAK,IAAIxV,KAAQwV,IAAMA,EAAI,CAAC,GACtB,EAAaxvB,KAAKwvB,EAAGxV,IACvB,EAAgBqC,EAAGrC,EAAMwV,EAAExV,IAC/B,GAAI,EACF,IAAK,IAAIA,KAAQ,EAAoBwV,GAC/B,EAAaxvB,KAAKwvB,EAAGxV,IACvB,EAAgBqC,EAAGrC,EAAMwV,EAAExV,IAEjC,OAAOqC,CAAC,EAEV,MAAM,EACJ,WAAAxW,CAAY8I,GACVzM,KAAK84B,WAAY,EACjB94B,KAAK+4B,oBAAsB,GAC3B/4B,KAAKg5B,sBAAwC,IAAIh6B,IACjDgB,KAAKi5B,MAAQ,IAAI,EAAAC,aACjBl5B,KAAKm5B,UAAY,EACZ1sB,EAAMhQ,MACTgQ,EAAMhQ,IAAM,KAEduD,KAAKo5B,QAAU,IAAI,EAAAC,YACnBr5B,KAAKs5B,OAASx+B,OAAOy+B,OAAO9sB,GAC5BzM,KAAKw5B,YACP,CACA,SAAI/sB,GACF,OAAOzM,KAAKs5B,MACd,CACA,YAAIG,GACF,OAAOz5B,KAAK84B,SACd,CACA,UAAIY,GACF,OAAO15B,KAAK25B,OACd,CACA,sBAAIC,GACF,OAAO55B,KAAK65B,mBACd,CACA,WAAIC,GACF,OAAO95B,KAAK+5B,QACd,CACA,aAAIruB,GACF,OAAO8rB,CACT,CACA,UAAAgC,GACEx5B,KAAKg6B,cAAc9Y,IACbA,EAAMyY,SAAWzY,EAAMyY,UAAY35B,MACrCyN,QAAQC,KACN,uUACAwT,EACAlhB,MAGJkhB,EAAMyY,QAAU35B,IAAI,GAExB,CACA,gBAAAi6B,CAAiB1mB,GACf,OAAOvT,KAAKo5B,QAAQc,UAAU7B,GAA+B7lB,IACvDA,EAAM2nB,QAAQC,gBAAkBp6B,MAClCuT,EAAQf,EAAM2nB,QAAQxtB,SAAU6F,EAAM2nB,QAAQxR,UAChD,GAEJ,CACA,gBAAA0R,CAAiBC,EAAW/mB,GAC1B,OAAOvT,KAAKo5B,QAAQc,UAAUI,EAAW/mB,EAC3C,CACA,QAAAjH,CAASiuB,GACP,MAAM5R,EAAY3oB,KAAKs5B,OACjB3sB,EAAW,EAAe,EAAe,CAAC,EAAG3M,KAAKs5B,QAASiB,GACjEv6B,KAAKs5B,OAASx+B,OAAOy+B,OAAO5sB,GAC5B3M,KAAKw5B,aACLx5B,KAAKw6B,qCAAqC7R,EAAWhc,GACrD3M,KAAKy6B,aACH,IAAIpC,EAA6B,CAC/B1P,YACAhc,WACA+tB,cAAeH,EACfH,cAAep6B,QAEjB,EAEJ,CACA,oCAAAw6B,CAAqC7R,EAAWhc,GACzC3M,KAAKy5B,WAGN9Q,EAAUgS,QAAUhuB,EAASguB,OAC/B36B,KAAK46B,8BAA8BjS,EAAUgS,MAAOhuB,EAASguB,OAE3DhS,EAAUkS,aAAeluB,EAASkuB,YACpC76B,KAAK46B,8BAA8BjS,EAAUkS,WAAYluB,EAASkuB,YAEhElS,EAAUmS,aAAenuB,EAASmuB,YACpC96B,KAAK46B,8BAA8BjS,EAAUmS,WAAYnuB,EAASmuB,YAEtE,CACA,6BAAAF,CAA8BG,EAAUC,GACtC,GAAID,EAAU,CACZ,MAAME,EAAsBj7B,KAAKg5B,sBAAsBn2B,IAAIk4B,GACvDE,IACFA,IACAj7B,KAAKg5B,sBAAsBkC,OAAOH,GAEtC,CACIC,GACFh7B,KAAKg5B,sBAAsBr8B,IAAIq+B,EAAUA,EAAS7C,WAEtD,CACA,YAAAsC,CAAajoB,EAAO2oB,GAClBn7B,KAAKo5B,QAAQgC,QAAQ5oB,GACjB2oB,GAAUn7B,KAAK05B,QACjB15B,KAAK05B,OAAOe,aAAajoB,EAAO2oB,EAEpC,CACA,OAAAE,GACE,OAAQr7B,KAAK25B,QAAiB35B,KAAK25B,QAAQ0B,UAApBr7B,IACzB,CACA,iBAAAs7B,GACEt7B,KAAK84B,WAAY,EACjB,MAAM,MAAE6B,EAAK,WAAEE,EAAU,WAAEC,EAAU,WAAES,GAAev7B,KAAKyM,MAU3D,GATIquB,IAAeA,EAAWrB,UAC5Bz5B,KAAKg5B,sBAAsBr8B,IAAIm+B,EAAYA,EAAW3C,YAEpD0C,IAAeA,EAAWpB,UAC5Bz5B,KAAKg5B,sBAAsBr8B,IAAIk+B,EAAYA,EAAW1C,YAEpDwC,IAAUA,EAAMlB,UAClBz5B,KAAKg5B,sBAAsBr8B,IAAIg+B,EAAOA,EAAMxC,YAE1CoD,EACF,IAAK,MAAMC,KAAYD,EACrB,GAAIC,aAAoB,EACtBx7B,KAAKg5B,sBAAsBr8B,IAAI6+B,EAAUA,EAASrD,iBAC7C,GAAwB,mBAAbqD,EAAyB,CACzC,MAAMP,EAAsBO,EAASx7B,MACjCi7B,GACFj7B,KAAKg5B,sBAAsBr8B,IAAI6+B,EAAUP,EAE7C,CAGJj7B,KAAK+4B,oBAAoBx8B,SAASgX,IAChC,MAAMlX,EAASkX,IACXlX,GACF2D,KAAKg5B,sBAAsBr8B,IAAIN,EAAQA,EACzC,GAEJ,CACA,QAAA87B,GACOn4B,KAAKy5B,UACRz5B,KAAKs7B,oBAEPt7B,KAAKm5B,YACL,IAAIsC,GAAS,EACb,MAAO,KAEL,GADAz7B,KAAKm5B,YACDsC,EAAQ,CACV,MAAM/C,EAAM,8EAEZ,MADAjrB,QAAQiuB,MAAMhD,EAAK14B,MACb,IAAIyH,MAAMixB,EAClB,CACA+C,GAAS,EACc,IAAnBz7B,KAAKm5B,WACPn5B,KAAK27B,qBACP,CAEJ,CACA,mBAAAA,GACE37B,KAAK84B,WAAY,EACjB,IAAK,IAAIvlB,KAAWvT,KAAKg5B,sBAAsB14B,SAC7CiT,IAEFvT,KAAKg5B,sBAAsB/4B,QAC3BD,KAAKo5B,QAAQwC,qBACb57B,KAAKi5B,MAAM4C,cACX77B,KAAKi5B,MAAQ,IAAI,EAAAC,YACnB,CACA,QAAA4C,GACE,OAgCJ,SAA6BlF,GAC3B,MAAOwB,EAAG9rB,IAAY,IAAAwvB,UAASlF,EAAMnqB,OAC/BsvB,EAAqBnF,EAAMnqB,MAQjC,OAPA,IAAAyrB,YAAU,KACR,MAAM8D,EAAIpF,EAAMqD,iBAAiB3tB,GAIjC,OAHIsqB,EAAMnqB,QAAUsvB,GAClBzvB,EAASsqB,EAAMnqB,OAEV,IAAMuvB,EAAEH,aAAa,GAC3B,CAACjF,IACGA,EAAMnqB,KACf,CA3CWwvB,CAAoBj8B,KAC7B,CACA,WAAAk8B,GACEl8B,KAAKsM,SAAS,CAAC,EACjB,CACA,KAAA6vB,CAAMC,GACJ,OClLJ,SAA0B1F,EAAa0F,GACrC,MAAMC,EAGR,SAA+BC,EAAYF,GACzC,MAAMC,EAAc,GAAe,CAAC,EAAGC,GACvC,IAAK,MAAM7/B,KAAO4/B,EAAa,CAC7B,MAAME,EAAYF,EAAY5/B,GAI9B,GAHI8/B,aAAqB,IACvBF,EAAY5/B,GAAO8/B,EAAUJ,SAE3BI,aAAqB5D,EACvB,MAAM,IAAIlxB,MAAM,6DAElB,GAAI9O,MAAMC,QAAQ2jC,GAAY,CAC5B,MAAMC,EAAW,GACjB,IAAK,MAAMtb,KAASqb,EACdrb,aAAiB,EACnBsb,EAASn4B,KAAK6c,EAAMib,SAEpBK,EAASn4B,KAAK6c,GAGlBmb,EAAY5/B,GAAO+/B,CACrB,CACF,CAEA,OADA1hC,OAAO0P,OAAO6xB,EAAaD,GACpBC,CACT,CA3BsBI,CAAsB/F,EAAYjqB,MAAO2vB,GAC7D,OAAO,IAAI1F,EAAY/yB,YAAY04B,EACrC,CD+KWK,CAAiB18B,KAAMo8B,EAChC,CACA,oBAAAO,CAAqBppB,GACnBvT,KAAK+4B,oBAAoB10B,KAAKkP,EAChC,CACA,YAAAymB,CAAa9f,GACX,IAAK,MAAMqiB,KAAazhC,OAAOwF,OAAON,KAAKyM,OAIzC,GAHI8vB,aAAqB,GACvBriB,EAASqiB,GAEP5jC,MAAMC,QAAQ2jC,GAChB,IAAK,MAAMrb,KAASqb,EACdrb,aAAiB,GACnBhH,EAASgH,EAKnB,CACA,MAAA0b,GAIE,OAHK58B,KAAK4L,OACR5L,KAAK4L,KAAO,IAAI+sB,EAAe34B,OAE1BA,KAAK4L,IACd,EC1NF,IAAI,EAAY9Q,OAAOgO,eACnB,EAAsBhO,OAAO2D,sBAC7B,EAAe3D,OAAOkC,UAAUM,eAChC,EAAexC,OAAOkC,UAAUoB,qBAChC,EAAkB,CAAC+K,EAAK1M,EAAKD,IAAUC,KAAO0M,EAAM,EAAUA,EAAK1M,EAAK,CAAEsM,YAAY,EAAMwC,cAAc,EAAMC,UAAU,EAAMhP,UAAW2M,EAAI1M,GAAOD,EACtJ,GAAiB,CAAC2d,EAAGmT,KACvB,IAAK,IAAIxV,KAAQwV,IAAMA,EAAI,CAAC,GACtB,EAAaxvB,KAAKwvB,EAAGxV,IACvB,EAAgBqC,EAAGrC,EAAMwV,EAAExV,IAC/B,GAAI,EACF,IAAK,IAAIA,KAAQ,EAAoBwV,GAC/B,EAAaxvB,KAAKwvB,EAAGxV,IACvB,EAAgBqC,EAAGrC,EAAMwV,EAAExV,IAEjC,OAAOqC,CAAC,EA+BV,SAAS0iB,GAAWnG,EAAaoG,GAC/B,IACIC,EADAC,EAAiBtG,EAErB,KAAOsG,IAAmBD,GACxBA,EAAYD,EAAQE,GACpBA,EAAiBA,EAAetD,OAElC,OAAOqD,CACT,CCjBA,MAAME,GAAqC,IAAIj+B,ICnB/C,IAAIk+B,GAAkC,CAAEC,IACtCA,EAAiBA,EAAwB,MAAI,GAAK,QAClDA,EAAiBA,EAAkC,gBAAI,GAAK,kBAC5DA,EAAiBA,EAAqC,mBAAI,GAAK,qBACxDA,GAJ6B,CAKnCD,IAAmB,CAAC,GAWnB,GAA+B,CAAEE,IACnCA,EAAoB,KAAI,OACxBA,EAAqB,MAAI,QACzBA,EAAuB,QAAI,UAC3BA,EAA0B,WAAI,aAC9BA,EAAyB,UAAI,YACtBA,GAN0B,CAOhC,IAAgB,CAAC,GAwDhBC,GAAsC,CAAEC,IAC1CA,EAAqBA,EAAgC,UAAI,GAAK,YAC9DA,EAAqBA,EAA0B,IAAI,GAAK,MACxDA,EAAqBA,EAA8B,QAAI,GAAK,UACrDA,GAJiC,CAKvCD,IAAuB,CAAC,GCnGvB,GAAYviC,OAAOgO,eACnB,GAAsBhO,OAAO2D,sBAC7B,GAAe3D,OAAOkC,UAAUM,eAChC,GAAexC,OAAOkC,UAAUoB,qBAChC,GAAkB,CAAC+K,EAAK1M,EAAKD,IAAUC,KAAO0M,EAAM,GAAUA,EAAK1M,EAAK,CAAEsM,YAAY,EAAMwC,cAAc,EAAMC,UAAU,EAAMhP,UAAW2M,EAAI1M,GAAOD,EA0B1J,MAAM,GAAiB,CACrBiQ,MAAO,GAAa8wB,KACpBC,OAAQ,GACRC,WAAW,IAAAC,wBCtCb,MAAMC,GACJ,WAAAh6B,CAAYi6B,EAAcC,GACxB79B,KAAK49B,aAAeA,EACpB59B,KAAK89B,MAAQD,EAASpgC,IACxB,CACA,OAAAsgC,GACE,OAAO/9B,KAAK89B,KACd,CACA,WAAAE,GACE,OAAOh+B,KAAK49B,aAAaI,aAC3B,CACA,aAAAC,CAAc39B,GACZN,KAAK49B,aAAaK,cAAc39B,EAClC,ECXF,MAAM49B,GAAwB,sBAC9B,SAASC,GAAc3hC,GACrB,GAAqB,iBAAVA,EACT,OAAO,KAET,IAA8B,IAA1BA,EAAMwvB,QAAQ,OAChB,OAAOxvB,EAET,GAAI0hC,GAAsBh5B,KAAK1I,GAC7B,OAAOA,EAET,GAAqB,IAAjBA,EAAM3D,OAAc,CACtB,MAAMulC,GAAW,IAAAC,OAAM7hC,EAAO,YAC9B,GAAI4hC,EAASE,UACX,OAAOF,EAASG,aAEpB,MAAO,GAAqB,KAAjB/hC,EAAM3D,OAAe,CAC9B,MAAMulC,GAAW,IAAAC,OAAM7hC,EAAO,mBAC9B,GAAI4hC,EAASE,UACX,OAAOF,EAASG,aAEpB,MAAO,GAAqB,KAAjB/hC,EAAM3D,OAEf,OADiB,IAAAwlC,OAAM7hC,GACP+hC,cAElB,MAAMC,EAAQpkB,SAAS5d,EAAO,IAC9B,OAAK8d,MAAMkkB,GAGJ,MAFE,IAAAH,OAAMG,GAAOD,aAGxB,CC9BA,SAAS,GAAkBza,EAAM2a,EAAIC,EAAUC,EAAsBC,GACnE,MAAMC,EAAWD,GAAgB,QAAPH,EAC1B,MAAO,CACL3a,KAAM,EAAAgb,SAASC,MAAMjb,GAAM,EAAO4a,EAAUC,GAC5CF,GAAI,EAAAK,SAASC,MAAMF,EAAW,OAASD,EAAQH,GAAI,EAAMC,EAAUC,GACnEK,IAAK,CACHlb,OACA2a,MAGN,CCJA,IAAI,GAAY3jC,OAAOgO,eACnB,GAAsBhO,OAAO2D,sBAC7B,GAAe3D,OAAOkC,UAAUM,eAChC,GAAexC,OAAOkC,UAAUoB,qBAChC,GAAkB,CAAC+K,EAAK1M,EAAKD,IAAUC,KAAO0M,EAAM,GAAUA,EAAK1M,EAAK,CAAEsM,YAAY,EAAMwC,cAAc,EAAMC,UAAU,EAAMhP,UAAW2M,EAAI1M,GAAOD,EAY1J,MAAMyiC,WAAuB,EAC3B,WAAAt7B,CAAY8I,EAAQ,CAAC,GACnB,IAAIgrB,EAAIE,EACR,MAAM7T,EAA4B,OAApB2T,EAAKhrB,EAAMqX,MAAgB2T,EAAK,SACxCgH,EAAwB,OAAlB9G,EAAKlrB,EAAMgyB,IAAc9G,EAAK,MACpC+G,EAAWjyB,EAAMiyB,SAQvBxyB,MAxBiB,EAACiO,EAAGmT,KACvB,IAAK,IAAIxV,KAAQwV,IAAMA,EAAI,CAAC,GACtB,GAAaxvB,KAAKwvB,EAAGxV,IACvB,GAAgBqC,EAAGrC,EAAMwV,EAAExV,IAC/B,GAAI,GACF,IAAK,IAAIA,KAAQ,GAAoBwV,GAC/B,GAAaxvB,KAAKwvB,EAAGxV,IACvB,GAAgBqC,EAAGrC,EAAMwV,EAAExV,IAEjC,OAAOqC,CAAC,EAeA,CAAe,CAAE2J,OAAM2a,KAAIC,WAAUliC,MAP7B,GACZsnB,EACA2a,EACAC,IAAY,IAAAQ,eACZzyB,EAAMkyB,qBACNlyB,EAAM0yB,kBAE4C1yB,IACpDzM,KAAK+5B,SAAW,IAAI4D,GAAyB39B,KAAM,CAAEvC,KAAM,CAAC,OAAQ,QACpEuC,KAAKo/B,kBAAqB3B,IACxB,MAAMlD,EAAS,CAAC,EACV8E,EAAe,CAAC,EACY,iBAAvB5B,EAAUuB,IAAIlb,MACvByW,EAAOzW,KAAO2Z,EAAUuB,IAAIlb,KAC5Bub,EAAavb,KAAO2Z,EAAUuB,IAAIlb,OAElCyW,EAAOzW,KAAO2Z,EAAUuB,IAAIlb,KAAKya,cACjCc,EAAavb,KAAO2Z,EAAUuB,IAAIlb,KAAKya,aAAY,IAErB,iBAArBd,EAAUuB,IAAIP,IACvBlE,EAAOkE,GAAKhB,EAAUuB,IAAIP,GAC1BY,EAAaZ,GAAKhB,EAAUuB,IAAIP,KAEhClE,EAAOkE,GAAKhB,EAAUuB,IAAIP,GAAGF,cAC7Bc,EAAaZ,GAAKhB,EAAUuB,IAAIP,GAAGF,aAAY,IAEjDhE,EAAO/9B,MAAQ,GACb6iC,EAAavb,KACbub,EAAaZ,GACbz+B,KAAKk/B,cACLl/B,KAAKyM,MAAMkyB,qBACX3+B,KAAKyM,MAAM0yB,iBAET5E,EAAOzW,OAAS9jB,KAAKyM,MAAMqX,MAAQyW,EAAOkE,KAAOz+B,KAAKyM,MAAMgyB,IAC9Dz+B,KAAKsM,SAASiuB,EAChB,EAEFv6B,KAAKs/B,iBAAoBZ,IACvB1+B,KAAKsM,SAAS,CAAEoyB,YAAW,EAE7B1+B,KAAKu/B,UAAY,KACfv/B,KAAKsM,SAAS,CACZ9P,MAAO,GACLwD,KAAKyM,MAAMqX,KACX9jB,KAAKyM,MAAMgyB,GACXz+B,KAAKk/B,cACLl/B,KAAKyM,MAAMkyB,qBACX3+B,KAAKyM,MAAM0yB,kBAEb,EAEJn/B,KAAK28B,qBAAqB38B,KAAKw/B,YAAY/0B,KAAKzK,MAClD,CACA,WAAAw/B,GACE,IAAKx/B,KAAKyM,MAAMiyB,SAAU,CACxB,MAAMe,EAAiBz/B,KAAK0/B,oBACxBD,IAAmBz/B,MACrBA,KAAKi5B,MAAMz4B,IACTi/B,EAAexF,kBAAiB,CAACvhC,EAAGijB,UACf,IAAfjjB,EAAEgmC,UAAuBhmC,EAAEgmC,WAAa/iB,EAAE+iB,UAC5C1+B,KAAKsM,SAAS,CACZ9P,MAAO,GACLwD,KAAKyM,MAAMqX,KACX9jB,KAAKyM,MAAMgyB,GACXgB,EAAeP,cACfl/B,KAAKyM,MAAMkyB,qBACX3+B,KAAKyM,MAAM0yB,kBAGjB,IAIR,CAIA,OAHIn/B,KAAKyM,MAAMkzB,YACb,IAAAC,cAAa5/B,KAAKyM,MAAMkzB,WAEnB,KACD3/B,KAAKyM,MAAMkzB,YACb,IAAAC,cAAa,EAAAC,OAAOC,SAASC,KAAKJ,UACpC,CAEJ,CACA,iBAAAD,GACE,IAAK1/B,KAAK05B,SAAW15B,KAAK05B,OAAOA,OAC/B,OAAO15B,KAQT,OANe68B,GAAW78B,KAAK05B,OAAOA,QAAShe,IAC7C,GAAIA,EAAEjP,MAAMquB,YAAcpf,EAAEjP,MAAMquB,WAAWruB,MAAMiyB,SACjD,OAAOhjB,EAAEjP,MAAMquB,UAEJ,KAGN96B,IAGX,CACA,WAAAk/B,GACE,GAAIl/B,KAAKyM,MAAMiyB,SACb,OAAO1+B,KAAKyM,MAAMiyB,SAEpB,MAAMe,EAAiBz/B,KAAK0/B,oBAC5B,OAAID,IAAmBz/B,KACdy/B,EAAehzB,MAAMiyB,UAEvB,IAAAQ,cACT,CACA,WAAAlB,GACE,MAAO,CAAEla,KAAM9jB,KAAKyM,MAAMqX,KAAM2a,GAAIz+B,KAAKyM,MAAMgyB,GACjD,CACA,aAAAR,CAAc39B,GACZ,IAAIm3B,EAAIE,EACR,IAAKr3B,EAAOm+B,KAAOn+B,EAAOwjB,KACxB,OAEF,MAAMyW,EAAS,CAAC,EACVzW,EAAOqa,GAAc79B,EAAOwjB,MAC9BA,IACFyW,EAAOzW,KAAOA,GAEhB,MAAM2a,EAAKN,GAAc79B,EAAOm+B,IAC5BA,IACFlE,EAAOkE,GAAKA,GAEdlE,EAAO/9B,MAAQ,GACS,OAArBi7B,EAAK8C,EAAOzW,MAAgB2T,EAAKz3B,KAAKyM,MAAMqX,KACzB,OAAnB6T,EAAK4C,EAAOkE,IAAc9G,EAAK33B,KAAKyM,MAAMgyB,GAC3Cz+B,KAAKk/B,cACLl/B,KAAKyM,MAAMkyB,qBACX3+B,KAAKyM,MAAM0yB,iBAEbn/B,KAAKsM,SAASiuB,EAChB,EC/JF,MAAMyF,GAAgB,ILiBtB,cAA4B,EAC1B,WAAAr8B,CAAY8I,GACVP,MAbiB,EAACiO,EAAGmT,KACvB,IAAK,IAAIxV,KAAQwV,IAAMA,EAAI,CAAC,GACtB,GAAaxvB,KAAKwvB,EAAGxV,IACvB,GAAgBqC,EAAGrC,EAAMwV,EAAExV,IAC/B,GAAI,GACF,IAAK,IAAIA,KAAQ,GAAoBwV,GAC/B,GAAaxvB,KAAKwvB,EAAGxV,IACvB,GAAgBqC,EAAGrC,EAAMwV,EAAExV,IAEjC,OAAOqC,CAAC,EAIA,CAAe,CACnBzZ,KAAM,IACL+L,GACL,CACA,gBAAAwzB,GACE,MAAM5jC,EAAS,CACb6jC,OAAQlgC,KACRU,KAAMV,KAAKyM,MAAM/L,MAEnB,OAAO,IAAAy/B,IAAG9jC,EACZ,GK5BI+jC,GAAmB,IAAInB,GAYvBoB,GAAmB,IAXzB,cAAmC,EACjC,WAAA18B,GACEuI,MAAM,CAAEo0B,UAAW,IACrB,CACA,SAAAC,CAAU/9B,GAEV,CACA,kCAAAg+B,CAAmCC,GACjC,OAAO,CACT,GCZF,SAASC,GAAahK,GACpB,IAAIe,EACJ,OAAoE,OAA5DA,EAAKoF,GAAWnG,GAAcsF,GAAMA,EAAEvvB,MAAMquB,cAAuBrD,EAAK2I,EAClF,CC+NA,IAMIO,GAAmC,CAAEC,IACvCA,EAAuB,IAAI,MAC3BA,EAAwB,KAAI,OAC5BA,EAA+B,YAAI,cACnCA,EAA+B,YAAI,cACnCA,EAAwB,KAAI,OAC5BA,EAAwB,KAAI,OAC5BA,EAAwB,KAAI,OAC5BA,EAA0B,OAAI,SAC9BA,EAAiC,cAAI,gBACrCA,EAAwB,KAAI,OAC5BA,EAA8B,WAAI,aAClCA,EAAuB,IAAI,MAC3BA,EAAyB,MAAI,QAC7BA,EAA6B,UAAI,YACjCA,EAA+B,YAAI,cACnCA,EAAwB,KAAI,OAC5BA,EAA6B,UAAI,YAC1BA,GAlB8B,CAmBpCD,IAAoB,CAAC,GC5PxB,MAAME,WAAuC,EAAAvI,qBAG7C,SAASwI,GAAsBtkC,GAC7B,MAAwB,iBAAVA,GAAsB,cAAeA,CACrD,CAHAqkC,GAA+Bh8B,KAAO,+B,cCFtC,ICyBIk8B,GDzBAC,GAAqB,CAAC,EAC1B,SAASC,GAAiBC,GAExB,OADiBF,GAAmBE,KAI7BF,GAAmBE,IAAa,KAAAC,UAASD,GAClD,CCPA,MAAME,GACJ,WAAAz9B,CAAYnB,EAAMhG,GAChBwD,KAAKyM,MAAQ,CAAEjK,OAAMhG,QAAOqI,KAAM,YACpC,CACA,QAAAC,CAASo8B,GACP,IAAI,MAAE1kC,GAAUwD,KAAKyM,MACjB40B,EAAY7kC,EAAMA,MAMtB,OAJE6kC,EADEH,EACUD,GAAiBC,EAAjBD,CAA4BzkC,EAAMA,OAElCA,EAAMA,MAEF,WAAd6kC,GAAwC,WAAdA,GAAwC,YAAdA,EAC/CA,EAEF36B,OAAO26B,EAChB,CACA,YAAAC,GACE,MAAM,MAAE9kC,GAAUwD,KAAKyM,MACvB,OAAkB,MAAdjQ,EAAM+kC,KACD76B,OAAOlK,EAAM+kC,MAEf76B,OAAOlK,EAChB,ECrBF,MAAMglC,GAAiB,IAAI,EAAAC,UAAS,IAClB,CACd,CACEztB,GAAI2sB,GAAiBe,OACrBl/B,KAAM,SACNm/B,YAAa,iFACbC,UAAYplC,GACW,iBAAVA,EACFqlC,GAAarlC,GAElB7D,MAAMC,QAAQ4D,GACK,IAAjBA,EAAM3D,OACD,YAKF,KAHc,KAAAuD,KAAII,GAAQslC,GACxB,IAAMD,GAAaC,GAAO,MAETC,KAAK,QAAU,IAElCF,GAAa,GAAGrlC,MAI7B,CACEwX,GAAI2sB,GAAiBqB,IACrBx/B,KAAM,MACNm/B,YAAa,mBACbC,UAAYplC,GAAUkK,OAAOlK,IAE/B,CACEwX,GAAI2sB,GAAiBsB,MACrBz/B,KAAM,QACNm/B,YAAa,8FACbC,UAAYplC,IACV,GAAqB,iBAAVA,EACT,OAAO,IAAA0lC,aAAY1lC,GAErB,GAAI7D,MAAMC,QAAQ4D,GAAQ,CACxB,MAAM2lC,EAAgB3lC,EAAMJ,KAAKosB,GACX,iBAATA,GACF,IAAA0Z,aAAY1Z,IAEZ,IAAA0Z,aAAYx7B,OAAO8hB,MAG9B,OAA6B,IAAzB2Z,EAActpC,OACTspC,EAAc,GAEhB,IAAMA,EAAcJ,KAAK,KAAO,GACzC,CACA,OAAO,IAAAG,aAAY,GAAG1lC,IAAQ,GAGlC,CACEwX,GAAI2sB,GAAiByB,KACrB5/B,KAAM,OACNm/B,YAAa,sCACbC,UAAYplC,GACW,iBAAVA,EACFA,EAEL7D,MAAMC,QAAQ4D,GACTA,EAAMulC,KAAK,KAEb,GAAGvlC,KAGd,CACEwX,GAAI2sB,GAAiB0B,YACrB7/B,KAAM,cACNm/B,YAAa,oDACbC,UAAW,CAACplC,EAAOihB,EAAMgjB,IACF,iBAAVjkC,EACFA,EAEL7D,MAAMC,QAAQ4D,IAChBA,GAAQ,KAAAJ,KAAII,GAAO,CAACslC,EAAK5lC,IACT,IAAVA,EACKukC,EAASh0B,MAAMjK,KAAO,IAAMs/B,EAE5BA,KAGEC,KAAK,KAEb,GAAGvlC,KAGd,CACEwX,GAAI2sB,GAAiB2B,IACrB9/B,KAAM,MACNm/B,YAAa,yBACbC,UAAYplC,GACW,iBAAVA,EACFA,GAEL,KAAA5D,SAAQ4D,GACHA,EAAMulC,KAAK,KAEbr7B,OAAOlK,IAGlB,CACEwX,GAAI2sB,GAAiB4B,KACrB//B,KAAM,OACNm/B,YAAa,0BACbC,UAAYplC,GACW,iBAAVA,EACF,EAAAgmC,SAASC,WAAWjmC,IAEzB,KAAA5D,SAAQ4D,GACH,EAAAgmC,SAASC,WAAWjmC,EAAMulC,KAAK,OAEjC,EAAAS,SAASC,WAAW/7B,OAAOlK,KAGtC,CACEwX,GAAI2sB,GAAiB+B,KACrBlgC,KAAM,OACNm/B,YAAa,uBACbC,UAAYplC,GACW,iBAAVA,EACFA,EAEFkmC,KAAKC,UAAUnmC,IAG1B,CACEwX,GAAI2sB,GAAiBiC,cACrBpgC,KAAM,iBACNm/B,YAAa,iCACbC,UAAYplC,IACN,KAAA5D,SAAQ4D,GACHqmC,GAAyB,IAAMrmC,EAAMulC,KAAK,KAAO,KAEnDc,GAAyBrmC,IAGpC,CACEwX,GAAI2sB,GAAiBmC,YACrBtgC,KAAM,eACNm/B,YAAa,uBACbC,UAAYplC,IACV,MAAMumC,EAAS,IAAIllC,OAAO,IAAK,KAC/B,IAAI,KAAAjF,SAAQ4D,GACV,OAAO,KAAAJ,KAAII,GAAQwmC,GAAM,KAAI,KAAAjlC,SAAQilC,EAAGD,EAAQ,YAAWhB,KAAK,KAElE,IAAIkB,EAA0B,iBAAVzmC,EAAqBA,EAAQkK,OAAOlK,GACxD,MAAO,KAAI,KAAAuB,SAAQklC,EAAQF,EAAQ,SAAS,GAGhD,CACE/uB,GAAI2sB,GAAiBuC,YACrB1gC,KAAM,eACNm/B,YAAa,uBACbC,UAAYplC,IACV,MAAMumC,EAAS,IAAIllC,OAAO,IAAK,KAC/B,IAAI,KAAAjF,SAAQ4D,GACV,OAAO,KAAAJ,KAAII,GAAQwmC,GAAM,KAAI,KAAAjlC,SAAQilC,EAAGD,EAAQ,YAAWhB,KAAK,KAElE,IAAIkB,EAA0B,iBAAVzmC,EAAqBA,EAAQkK,OAAOlK,GACxD,MAAO,KAAI,KAAAuB,SAAQklC,EAAQF,EAAQ,SAAS,GAGhD,CACE/uB,GAAI2sB,GAAiBwC,UACrB3gC,KAAM,aACNm/B,YAAa,6EACbC,UAAWwB,IAEb,CACEpvB,GAAI2sB,GAAiB0C,KACrB7gC,KAAM,OACNm/B,YAAa,gCACbC,UAAW,CAACplC,EAAOihB,KACjB,IAAIga,EACJ,IAAI6L,EAAU5yB,IAMd,GALqB,iBAAVlU,EACT8mC,EAAU9mC,EACgB,iBAAVA,IAChB8mC,EAAUlpB,SAAS5d,EAAO,KAExB8d,MAAMgpB,GACR,MAAO,MAET,MAAMzkC,EAAwB,OAAjB44B,EAAKha,EAAK,IAAcga,EAAK,MAC1C,OAAQ54B,GACN,IAAK,KACH,OAAO6H,OAAOlK,GAChB,IAAK,UACH,MAAO,GAAGkd,KAAKO,MAAMqpB,EAAU,OACjC,IAAK,MACH,OAAO,IAAAC,UAASD,GAAS/E,cAC3B,QACE,OAAK9gB,GAAQ,IAAI5kB,OAAS,GACjB,IAAA0qC,UAASD,GAASE,OAAO/lB,EAAKskB,KAAK,OAErC,IAAAwB,UAASD,GAASE,OAAO3kC,GACpC,GAGJ,CACEmV,GAAI2sB,GAAiB8C,KACrBjhC,KAAM,OACNm/B,YAAa,2EACbC,UAAYplC,IACN,KAAA5D,SAAQ4D,IAAUA,EAAM3D,OAAS,EAC5B,IAAM2D,EAAMulC,KAAK,KAAO,IAE1Br7B,OAAOlK,IAGlB,CACEwX,GAAI2sB,GAAiB+C,KACrBlhC,KAAM,OACNm/B,YAAa,+FACbC,UAAW,CAACplC,EAAOmnC,EAAOlD,IACpBA,EAASa,aACJb,EAASa,eAEX56B,OAAOlK,IAGlB,CACEwX,GAAI2sB,GAAiBiD,WACrBphC,KAAM,kBACNm/B,YAAa,qHACbC,UAAW,CAACplC,EAAOmnC,EAAOlD,IACpB9nC,MAAMC,QAAQ4D,GACTA,EAAMJ,KAAK4mC,GAAMa,GAAqBpD,EAASh0B,MAAMjK,KAAMwgC,KAAIjB,KAAK,KAEtE8B,GAAqBpD,EAASh0B,MAAMjK,KAAMhG,IAGrD,CACEwX,GAAI2sB,GAAiBmD,UACrBthC,KAAM,wBACNm/B,YAAa,oEACbC,UAAYplC,IACN,KAAA5D,SAAQ4D,GACHunC,GAAgB,IAAMvnC,EAAMulC,KAAK,KAAO,KAE1CgC,GAAgBvnC,OAM/B,SAASqlC,GAAarlC,GACpB,OAAsB,IAAlB8d,OAAO9d,GACFA,EAEFA,EAAMuB,QAAQ,kDAAmD,OAC1E,CACA,SAAS8kC,GAAyBxqB,GAIhC,MAHmB,iBAARA,IACTA,EAAM3R,OAAO2R,IAER2rB,GAAgCC,mBAAmB5rB,GAC5D,CACA,MAAM0rB,GAAmB1rB,GAAQ2rB,GAAgCE,UAAUx9B,OAAO2R,KAC5E2rB,GAAmCxnC,GAAUA,EAAMuB,QAAQ,YAAaiwB,GACrE,IAAMA,EAAEmW,WAAW,GAAG9mC,SAAS,IAAImb,gBAE5C,SAASqrB,GAAqBrhC,EAAMhG,GAClC,MAAO,OAAOgG,KAAQqgC,GAAyBrmC,IACjD,CACA,MAAM4nC,GAAiB,CACrB,IAAK,KACL,IAAK,OAEP,SAAShB,GAAmB5mC,GAC1B,MAAMumC,EAAS,IAAIllC,OAAO,OAAO,KACjC,IAAI,KAAAjF,SAAQ4D,GACV,OAAO,KAAAJ,KAAII,GAAQwmC,GAAM,KAAI,KAAAjlC,SAAQilC,EAAGD,GAASprB,IAC/C,IAAI8f,EACJ,OAAuC,OAA/BA,EAAK2M,GAAezsB,IAAkB8f,EAAK,EAAE,SAChDsK,KAAK,KAEd,IAAIkB,EAA0B,iBAAVzmC,EAAqBA,EAAQkK,OAAOlK,GACxD,MAAO,KAAI,KAAAuB,SAAQklC,EAAQF,GAASprB,IAClC,IAAI8f,EACJ,OAAuC,OAA/BA,EAAK2M,GAAezsB,IAAkB8f,EAAK,EAAE,MAEzD,CChSA,MAAM4M,GAAoB,MACpBC,GAAqB,SAErBC,GAAsB,UACtBC,GAAiB,8ECJvB,SAASC,GAAejiC,EAAMk0B,GAC5B,MAAM4J,EAAY5J,EAAYjqB,MAAMouB,WACpC,IAAKyF,EACH,OAAI5J,EAAYgD,OACP+K,GAAejiC,EAAMk0B,EAAYgD,QAEjC,KAIX,OADc4G,EAAUC,UAAU/9B,KAGvBk0B,EAAYgD,OACd+K,GAAejiC,EAAMk0B,EAAYgD,QAEnC,KACT,CCdA,MAAM,WAAwB,EAC5B,WAAA/1B,CAAY8I,GACVP,MAAMO,GACNzM,KAAK28B,sBAAqB,IAAM38B,KAAKw/B,eACvC,CACA,WAAAA,GACE,MAAM,OAAEkF,GAAW1kC,KAAKyM,MAClBk4B,EAAuB,GAC7B,IAAK,MAAMC,KAASF,EAClBC,EAAqBtgC,KAAKugC,EAAMzM,YAElC,MAAO,KACLwM,EAAqBpoC,SAASgX,GAAYA,KAAU,CAExD,ECNF,SAASsxB,GAAQnO,GACf,IAAIe,EACJ,OAA+D,OAAvDA,EAAKoF,GAAWnG,GAAcsF,GAAMA,EAAEvvB,MAAMkuB,SAAkBlD,EAAKuI,EAC7E,CAiCA,SAAS8E,GAAmBC,EAAOC,EAAOC,EAAsBC,GAC9D,GAAIF,EAAMD,GACR,OAAOA,EAET,IAAII,EAAQ,KAUZ,OATAJ,EAAM/K,cAAc9Y,IAClB,GAAIA,IAAU+jB,EACZ,OAEF,IAAIG,EAAQN,GAAmB5jB,EAAO8jB,GAClCI,IACFD,EAAQC,EACV,IAEED,IAGAD,GAAkBH,EAAMrL,OACnBoL,GAAmBC,EAAMrL,OAAQsL,EAAOD,GAAO,GAEjD,KACT,CCnEA,MAAMM,GACJ,WAAA1hC,CAAY2hC,GACVtlC,KAAKslC,OAASA,CAChB,CACA,SAAA1D,GACE,OAAO5hC,KAAKslC,MACd,ECcF,MAAMC,GACJ,WAAA5hC,CAAYnB,EAAMk0B,GAChB12B,KAAKyM,MAAQ,CAAEjK,OAAMqC,KAAM,cAC3B7E,KAAK49B,aAAelH,CACtB,CACA,QAAA5xB,GACE,MAAM24B,EAAYiD,GAAa1gC,KAAK49B,cACpC,MAAwB,WAApB59B,KAAKyM,MAAMjK,KACNi7B,EAAUhxB,MAAMjQ,MAAMsnB,KAAKjkB,UAE3B49B,EAAUhxB,MAAMjQ,MAAMiiC,GAAG5+B,SAEpC,CACA,YAAAyhC,GACE,MAAM7D,EAAYiD,GAAa1gC,KAAK49B,cACpC,MAAwB,WAApB59B,KAAKyM,MAAMjK,MACN,IAAAgjC,gBAAe/H,EAAUhxB,MAAMjQ,MAAMsnB,KAAM,CAAE4a,SAAUjB,EAAUyB,iBAEjE,IAAAsG,gBAAe/H,EAAUhxB,MAAMjQ,MAAMiiC,GAAI,CAAEC,SAAUjB,EAAUyB,eAE1E,EAeF,MAAMuG,GACJ,WAAA9hC,CAAYnB,EAAMk0B,GAChB12B,KAAKyM,MAAQ,CAAEjK,OAAMqC,KAAM,cAC3B7E,KAAK49B,aAAelH,CACtB,CACA,QAAA5xB,GACE,IAAI2yB,EACJ,MAAM/2B,EAAOmkC,GAAQ7kC,KAAK49B,cAC1B,GAAIl9B,EAAM,CACR,MAAMglC,EAAoC,OAAzBjO,EAAK/2B,EAAK+L,MAAM/L,WAAgB,EAAS+2B,EAAGiO,QAC7D,OAAKA,EAGmB,kBAApB1lC,KAAKyM,MAAMjK,KACNkjC,EAAQC,WAEVD,EAAQE,SALN,MAAM5lC,KAAKyM,MAAMjK,OAM5B,CACA,MAAO,MAAMxC,KAAKyM,MAAMjK,OAC1B,EC1CF,SAASqjC,GAAoBnP,EAAaoP,EAAS,CAAC,GAClD,GAAIpP,EAAYjqB,MAAMouB,WACpB,IAAK,MAAM4F,KAAY/J,EAAYjqB,MAAMouB,WAAWpuB,MAAM6zB,UACpDG,EAASh0B,MAAMs5B,aAGdD,EAAOrF,EAASh0B,MAAMjK,QACzBsjC,EAAOrF,EAASh0B,MAAMjK,MAAQi+B,GAOpC,OAHI/J,EAAYgD,QACdmM,GAAoBnP,EAAYgD,OAAQoM,GAEnCA,CACT,CC7CA,IAAI,GAAYhrC,OAAOgO,eACnB,GAAahO,OAAOwgB,iBACpB,GAAoBxgB,OAAOugB,0BAC3B,GAAsBvgB,OAAO2D,sBAC7B,GAAe3D,OAAOkC,UAAUM,eAChC,GAAexC,OAAOkC,UAAUoB,qBAChC,GAAkB,CAAC+K,EAAK1M,EAAKD,IAAUC,KAAO0M,EAAM,GAAUA,EAAK1M,EAAK,CAAEsM,YAAY,EAAMwC,cAAc,EAAMC,UAAU,EAAMhP,UAAW2M,EAAI1M,GAAOD,ECkD1J,MAAMwpC,IAA2B,IAAAC,uBClCjC,MAAMC,GACJ,WAAAviC,CAAYwiC,GACVnmC,KAAKmmC,gBAAkBA,CACzB,CACA,SAAAvE,CAAUnuB,GACR,IAAKA,EACH,OAAOzT,KAAKmmC,gBAEd,MAAMC,EAAS3yB,EAAQ4yB,MAAM,KAC7B,GAAkB,YAAdD,EAAO,IAAoBA,EAAOvtC,OAAS,EAAG,CAChD,MAAMytC,EAAY,IAAIC,gBAAgBvmC,KAAKmmC,iBAC3C,IAAK,MAAMvb,KAASwb,EAAO,GAAGC,MAAM,KAClCC,EAAUpL,OAAOtQ,GAEnB,MAAO,IAAI0b,GACb,CACA,GAAkB,YAAdF,EAAO,IAAoBA,EAAOvtC,OAAS,EAAG,CAChD,MAAMytC,EAAY,IAAIC,gBAAgBvmC,KAAKmmC,iBACrCK,EAAcJ,EAAO,GAAGC,MAAM,KACpC,IAAK,MAAMzb,KAAS0b,EAAU7oC,OACvB+oC,EAAYpQ,SAASxL,IACxB0b,EAAUpL,OAAOtQ,GAGrB,MAAO,IAAI0b,GACb,CACA,OAAOtmC,KAAKmmC,eACd,EC5CF,MAAMM,GAAc,CAClB,CAAC,EAAAC,oBAAoBC,aJHvB,MACE,WAAAhjC,CAAYnB,EAAMk0B,GAChB12B,KAAKyM,MAAQ,CAAEjK,OAAMqC,KAAM,gBAC3B7E,KAAK49B,aAAelH,CACtB,CACA,QAAA5xB,GACE,MAAM8hC,EAAUf,GAAoB7lC,KAAK49B,cACnC4F,EAAShC,GAAe3+B,IAAI89B,GAAiBiD,YAC7CwC,EAAS,GACf,IAAK,MAAM5jC,KAAQ1H,OAAO2C,KAAKmpC,GAAU,CACvC,MAAMnG,EAAWmG,EAAQpkC,GACnBhG,EAAQikC,EAAS37B,WAClBtI,IAGDskC,GAAsBtkC,GACxB4pC,EAAO/hC,KAAK7H,EAAMolC,UAAUjB,GAAiBiD,aAE7CwC,EAAO/hC,KAAKm/B,EAAO5B,UAAUplC,EAAO,GAAIikC,IAE5C,CACA,OAAO,IAAI4E,GAAoBe,EAAOrE,KAAK,KAC7C,CACA,YAAAT,GACE,MAAO,EACT,GIrBA,CAAC,EAAAoF,oBAAoBG,ULJvB,MACE,WAAAljC,CAAYnB,EAAMk0B,GAChB12B,KAAKyM,MAAQ,CAAEjK,OAAMqC,KAAM,gBAC3B7E,KAAK49B,aAAelH,CACtB,CACA,QAAA5xB,GACE,IAAI2yB,EACJ,MACMqP,EAAuC,OAA3BrP,EADAiJ,GAAa1gC,KAAK49B,cACH9D,cAAmB,EAASrC,EAAGuG,cAChE,OAAO,IAAIqH,GAAoB,EAAAhP,QAAQ0Q,YAAYD,GACrD,CACA,YAAAxF,GACE,MAAO,EACT,GKRA,QFNF,MACE,WAAA39B,CAAYnB,EAAMk0B,EAAasQ,EAAQC,GACrCjnC,KAAKgnC,OAASA,EACdhnC,KAAKinC,YAAcA,EACnBjnC,KAAKyM,MAAQ,CAAEjK,OAAMqC,KAAM,UAC7B,CACA,QAAAC,CAASo8B,GACP,IAAIzJ,EAAIE,EACR,MAAMuP,EAAyC,OAA1BzP,EAAKz3B,KAAKinC,kBAAuB,EAASxP,EAAG0P,cAClE,IAAKD,EACH,OAAOlnC,KAAKgnC,OAEd,MAAM,MAAEI,EAAK,SAAEC,EAAQ,MAAEC,EAAK,gBAAEC,GAAoBL,EAAY1qC,MAChE,GAAI+qC,EACF,OAAQrG,GACN,IAAK,UAEL,IAAK,MACH,OAAOqG,EAAgBC,QACzB,IAAK,OACH,MAAO,GAET,QACE,OAAO,IAAAC,wBAAuBF,GAGpC,GAAgB,MAAZF,EACF,OAAOrnC,KAAKgnC,OAEd,GAAkB,SAAd9F,EAAsB,CACxB,MAAMwG,EAAYN,EAAMO,OAAOlf,MAAMhwB,GAAMA,EAAEoM,OAAS,EAAA+iC,UAAUC,OAChE,OAAOH,EAAYA,EAAUpnC,OAAOuC,IAAIwkC,QAAY,CACtD,CACA,IAAKC,EACH,OAAOtnC,KAAKgnC,OAEd,MAAMxqC,EAAQ8qC,EAAMhnC,OAAOuC,IAAIwkC,GAC/B,GAAkB,QAAdnG,EACF,OAAO1kC,EAET,MACMH,GAD2C,OAAvBs7B,EAAK2P,EAAMQ,SAAmBnQ,EAAKqO,IAC7BxpC,GAChC,MACO,YADC0kC,EAEG7kC,EAAOmrC,SAGP,IAAAC,wBAAuBprC,EAEpC,CACA,YAAAilC,GACE,MAAO,EACT,GE7CA,OFgDF,MACE,WAAA39B,CAAYnB,EAAMk0B,EAAasQ,EAAQC,GACrCjnC,KAAKgnC,OAASA,EACdhnC,KAAKinC,YAAcA,EACnBjnC,KAAKyM,MAAQ,CAAEjK,OAAMqC,KAAM,SAC7B,CACA,QAAAC,CAASo8B,GACP,IAAIzJ,EAAIE,EACR,MAAMuP,EAAyC,OAA1BzP,EAAKz3B,KAAKinC,kBAAuB,EAASxP,EAAG0P,cAClE,IAAKD,IAAgBhG,EACnB,OAAOlhC,KAAKgnC,OAEd,MAAM,MAAEI,EAAK,SAAEC,GAAaH,EAAY1qC,MACxC,QAAiB,IAAb6qC,QAAqC,IAAdnG,EACzB,OAAOlhC,KAAKgnC,OAEd,MAAM79B,EAAM,CACV3G,KAAM4kC,EAAM5kC,KACZulC,MAAOX,EAAMW,MACbJ,QAAQ,IAAAK,4BAA2B,CAAEZ,QAAOC,cAE9C,OAAkD,OAA1C1P,EAAKsJ,GAAiBC,EAAjBD,CAA4B93B,IAAgBwuB,EAAK,EAChE,CACA,YAAA2J,GACE,MAAO,EACT,GExEA,SF0EF,MACE,WAAA39B,CAAYnB,EAAMk0B,EAAasQ,EAAQC,GACrCjnC,KAAKgnC,OAASA,EACdhnC,KAAKinC,YAAcA,EACnBjnC,KAAKyM,MAAQ,CAAEjK,OAAMqC,KAAM,WAC7B,CACA,QAAAC,CAASo8B,GACP,IAAIzJ,EACJ,MAAMyP,EAAyC,OAA1BzP,EAAKz3B,KAAKinC,kBAAuB,EAASxP,EAAG0P,cAClE,IAAKD,IAAgBhG,EACnB,OAAOlhC,KAAKgnC,OAEd,GAAkB,SAAd9F,EACF,OAAOlhC,KAAKgnC,OAEd,MAAM,MAAEI,EAAK,WAAEa,GAAef,EAAY1qC,MAC1C,OAAO,IAAA0rC,qBAAoBd,EAAOa,EACpC,CACA,YAAA3G,GACE,MAAO,EACT,GE7FA,QF+FF,MACE,WAAA39B,CAAYnB,EAAMk0B,EAAasQ,EAAQC,GACrCjnC,KAAKgnC,OAASA,EACdhnC,KAAKinC,YAAcA,EACnBjnC,KAAKyM,MAAQ,CAAEjK,OAAMqC,KAAM,UAC7B,CACA,QAAAC,CAASo8B,GACP,IAAIzJ,EAAIE,EACR,MAAMuP,EAAyC,OAA1BzP,EAAKz3B,KAAKinC,kBAAuB,EAASxP,EAAG0P,cAClE,IAAKD,IAAgBhG,EACnB,OAAOlhC,KAAKgnC,OAEd,QAAkB,IAAd9F,GAAsC,KAAdA,EAC1B,OAAOlhC,KAAKgnC,OAEd,MAAM,MAAEI,EAAK,MAAEE,EAAK,KAAE5mC,GAASwmC,EAAY1qC,MACrC2M,EDvGV,SAAkCm+B,EAAOF,EAAOe,GAC9C,OAAO,IAAInrB,MACT,CAAC,EACD,CACEna,IAAK,CAACsG,EAAK1M,KACT,MAAY,SAARA,EACK6qC,EAAM9kC,KAEH,gBAAR/F,GACK,IAAA2rC,qBAAoBd,EAAOF,EAAOe,GAE/B,WAAR1rC,GAA4B,oBAARA,EACjB6qC,EAAMe,QAbAluB,EAXA,EAACA,EAAGmT,KACvB,IAAK,IAAIxV,KAAQwV,IAAMA,EAAI,CAAC,GACtB,GAAaxvB,KAAKwvB,EAAGxV,IACvB,GAAgBqC,EAAGrC,EAAMwV,EAAExV,IAC/B,GAAI,GACF,IAAK,IAAIA,KAAQ,GAAoBwV,GAC/B,GAAaxvB,KAAKwvB,EAAGxV,IACvB,GAAgBqC,EAAGrC,EAAMwV,EAAExV,IAEjC,OAAOqC,CAAC,EAkBqB,CAAe,CAAC,EAAGmtB,EAAMe,QAhBhC/a,EAgByC,CACrDgb,SAAUxtC,OAAOwF,OAAOgnC,EAAMe,QAAQta,OAAOgU,KAAK,MAClD1kC,SAAU,KACD,IAAAkrC,cAAajB,EAAMe,OAAQ,IAAI,IAnBtB,GAAWluB,EAAG,GAAkBmT,KAc3C,QAFX,EAZY,IAACnT,EAAGmT,CAuBH,GAIrB,CC6EgBkb,CAAyBlB,EAAOF,EAAO1mC,GACnD,OAAkD,OAA1Ci3B,EAAKsJ,GAAiBC,EAAjBD,CAA4B93B,IAAgBwuB,EAAK,EAChE,CACA,YAAA2J,GACE,MAAO,EACT,GEnHA,MDZF,MACE,WAAA39B,CAAYnB,EAAM41B,GAChBp4B,KAAKyM,MAAQ,CAAEjK,OAAMqC,KAAM,YAC7B,CACA,QAAAC,CAASo8B,GACP,IAAIzJ,EACJ,MAAMpwB,EAAW,EAAA6uB,gBAAgBuS,cAC3BC,EAAoC,OAA1BjR,EAAK,EAAAoI,OAAO8I,WAAqBlR,EAAK,GACtD,OAAqB,MAAbyJ,EAAoBA,EAAY,IACtC,IAAK,SACH,OAAO,IAAIgF,GAAkB7+B,EAASuhC,QACxC,IAAK,OACH,OAAOF,EAASrhC,EAASwhC,SAE3B,QACE,OAAOH,EAASrhC,EAASwhC,SAAWxhC,EAASuhC,OAEnD,CACA,YAAAtH,GACE,MAAO,EACT,GCPA,OAAYiE,GACZ,KAAUA,GACV,WLyBF,MACE,WAAA5hC,CAAYnB,EAAMk0B,GAChB12B,KAAKyM,MAAQ,CAAEjK,OAAMqC,KAAM,cAC3B7E,KAAK49B,aAAelH,CACtB,CACA,QAAA5xB,GAEE,OADkB47B,GAAa1gC,KAAK49B,cACnBsB,aACnB,CACA,YAAAoC,GACE,OAAOthC,KAAK8E,UACd,GKnCA,OChBF,MACE,WAAAnB,CAAYnB,EAAM41B,GAChBp4B,KAAKyM,MAAQ,CAAEjK,OAAMqC,KAAM,aAC7B,CACA,QAAAC,CAASo8B,GACP,MAAMnB,EAAO,EAAAF,OAAOC,SAASC,KAC7B,OAAQmB,GACN,IAAK,QACH,OAAOnB,EAAK+I,MACd,IAAK,QACH,OAAO/I,EAAKgJ,MAEd,QACE,OAAOriC,OAAOq5B,EAAK/rB,IAEzB,CACA,YAAAstB,GACE,MAAO,EACT,GDDA,MCGF,MACE,WAAA39B,CAAYnB,EAAM41B,GAChBp4B,KAAKyM,MAAQ,CAAEjK,OAAMqC,KAAM,YAC7B,CACA,QAAAC,CAASo8B,GACP,MAAMnB,EAAO,EAAAF,OAAOC,SAASC,KAC7B,MACO,SADCmB,EAEGnB,EAAKiJ,QAGLtiC,OAAOq5B,EAAKkJ,MAEzB,CACA,YAAA3H,GACE,MAAO,EACT,GDlBA,WAAgBmE,GAChB,cAAmBA,IEnBrB,SAASyD,GAAqB/uB,EAAGmT,GAC/B,OAAInT,IAAMmT,IAGH,KAAA6b,SAAQhvB,EAAGmT,EACpB,CACA,SAAS8b,GAAmB5sC,GAC1B,IACE,OAAOkmC,KAAKC,UAAUnmC,EAAO,KAC/B,CAAE,MAAOk/B,GACPjuB,QAAQiuB,MAAMA,EAChB,CACA,MAAO,EACT,CACA,SAAS2N,GAA6BC,GACpC,OAAOA,EAAQltC,KAAK8e,GAEtB,SAAsBA,GACpB,IAAI1e,EAAQ,GAMZ,OAJEA,EADsB,OAApB0e,EAAOquB,UAAyC,QAApBruB,EAAOquB,SAWhCC,GAGT,SAA0BhtC,GACxB,OAAOA,EAAMuB,QAAQ0rC,GAAoB,OAC3C,CALyCC,CAVGxuB,EAAO1e,QAEvCgtC,GAAgCtuB,EAAO1e,OAE1C,GAAG0e,EAAOze,MAAMye,EAAOquB,YAAY/sC,IAC5C,CAViCmtC,CAAazuB,KAAS6mB,KAAK,IAC5D,CAUA,SAASyH,GAAgCI,GACvC,OAAOA,EAAW7rC,QAAQ,MAAO,QAAQA,QAAQ,MAAO,OAAOA,QAAQ,KAAM,MAC/E,CAIA,MAAM0rC,GAAqB,uBC9BrB,GAAa,CACjBI,aVCF,SAAsBnT,GACpB,IAAIe,EACJ,OAAoE,OAA5DA,EAAKoF,GAAWnG,GAAcsF,GAAMA,EAAEvvB,MAAMouB,cAAuBpD,EAAK4I,EAClF,EUHEwE,QAAO,GACPnE,aAAY,GACZoJ,UVSF,SAAmB/E,GAEjB,OADelI,GAAWkI,GAAQ/I,GAJpC,SAAuBA,GACrB,MAAO,gBAAiBA,CAC1B,CAE0C+N,CAAc/N,GAAKA,OAAI,KAIxD,IACT,EUdEgO,cV8DF,SAAuBtT,EAAauT,GAAY,GAC9C,IAEIr/B,EAFA8uB,EAAShD,EACTwT,EAAY,GAEhB,KAAOxQ,KACDA,EAAOjtB,MAAMkuB,OAAWjB,EAAOjtB,MAAMkuB,iBAAiB,IACpDjB,EAAOjtB,MAAMkuB,MAAMluB,MAAMkuB,iBAAiB,KAC5C/vB,EAAS8uB,EAAOjtB,MAAMkuB,MAAMluB,MAAMkuB,OAGlCjB,EAAOjtB,MAAMkuB,OAASjB,EAAOjtB,MAAMkuB,iBAAiB,KACtD/vB,EAAS8uB,EAAOjtB,MAAMkuB,QAEpB/vB,IACFs/B,EAAYA,EAAU3yB,OAAO3M,EAAO6B,MAAMi4B,SACtCuF,KAINvQ,EAASA,EAAOA,OAElB,OAAOwQ,CACT,EUnFEC,YVcF,SAAqBzT,EAAal6B,EAAO4tC,EAAY5G,GACnD,MAAc,KAAVhnC,GAAyB,MAATA,EACX,GWlBX,SAA2Bk6B,EAAahsB,EAAQ0/B,EAAY5G,GAC1D,OAAK94B,GAGL85B,GAAe6F,UAAY,EACpB3/B,EAAO3M,QAAQymC,IAAgB,CAAC7sB,EAAO2yB,EAAMC,EAAMC,EAAMC,EAAMvJ,EAAWwJ,KAC/E,MACMC,EAAMH,GAAQE,GAAQlH,EACtB/C,EAOV,SAA8Bj+B,EAAMmV,EAAOyyB,EAAY1T,GACrD,MAAMkU,EAA0B,MAAdR,OAAqB,EAASA,EAAW5nC,GAC3D,GAAIooC,EACF,OhBEJ,SAAsCpoC,EAAMhG,GAO1C,OANKukC,IAGHA,GAAmBt0B,MAAMjK,KAAOA,EAChCu+B,GAAmBt0B,MAAMjQ,MAAQA,GAHjCukC,GAAqB,IAAIK,GAAmB5+B,EAAMhG,GAK7CukC,EACT,CgBVW8J,CAA6BroC,EAAMooC,GAG5C,OADiBnG,GAAejiC,EAAMk0B,KAIlC+P,GAAYjkC,GACP,IAAIikC,GAAYjkC,GAAMA,EAAMk0B,EAAa/e,EAAOyyB,GAElD,KACT,CApBqBU,CAFIR,GAAQC,GAAQE,EAEe9yB,EAAOyyB,EAAY1T,GACvE,OAAK+J,EAoBT,SAAqBA,EAAUjkC,EAAOuuC,GACpC,GAAIvuC,QACF,MAAO,GAET,GAAIskC,GAAsBtkC,GACxB,OAAOA,EAAMolC,UAAUmJ,GAKzB,GAHKpyC,MAAMC,QAAQ4D,IAA2B,iBAAVA,IAClCA,EAAQ,GAAGA,KAEiB,mBAAnBuuC,EACT,OAAOA,EAAevuC,EAAO,CAC3BgG,KAAMi+B,EAASh0B,MAAMjK,KACrBqC,KAAM47B,EAASh0B,MAAM5H,KACrBmmC,MAAOvK,EAASh0B,MAAMw+B,QACtBC,WAAYzK,EAASh0B,MAAMy+B,aAG/B,IAAIztB,EAAO,GACNstB,GAGHttB,EAAOstB,EAAe1E,MAAM,KACxB5oB,EAAK5kB,OAAS,GAChBkyC,EAAiBttB,EAAK,GACtBA,EAAOA,EAAKoG,MAAM,IAElBpG,EAAO,IAPTstB,EAAiBpK,GAAiB8C,KAUpC,IAAI7B,EAAYJ,GAAe2J,YAAYJ,GAK3C,OAJKnJ,IACHn0B,QAAQiuB,MAAM,mBAAmBqP,+CACjCnJ,EAAYJ,GAAe3+B,IAAI89B,GAAiB8C,OAE3C7B,EAAUA,UAAUplC,EAAOihB,EAAMgjB,EAC1C,CArDW2K,CAAY3K,EAAUA,EAAS37B,SAASo8B,GAAYyJ,GAFlDhzB,CAEsD,KAV9C,MAAVjN,EAAiBA,EAAS,EAYrC,CXMS2gC,CAAkB3U,EAAal6B,EAAO4tC,EAAY5G,EAC3D,EUlBEiB,eAAc,GACd6G,oCVkBF,SAA6C5U,GAC3C,IAAKA,EAAYkD,mBACf,OAAO,EAET,IAAK,MAAMp3B,KAAQk0B,EAAYkD,mBAAmB2R,WAAY,CAC5D,MAAM9K,EAAWgE,GAAejiC,EAAMk0B,GACtC,GAAK+J,GAGOA,EAAS/G,OACb8G,mCAAmCC,GACzC,OAAO,CAEX,CACA,OAAO,CACT,EUhCE+K,WVuDF,SAAoBzG,EAAOC,GACzB,OAAOF,GAAmBC,EAAOC,OAAO,GAAQ,EAClD,EUxDEyG,YVgFF,SAAqB/U,EAAagV,GAChC,IAAIhS,EAAShD,EACb,KAAOgD,GAAQ,CACb,GAAIA,aAAkBgS,EACpB,OAAOhS,EAETA,EAASA,EAAOA,MAClB,CACA,MAAM,IAAIjyB,MAAM,iCAAmCikC,EAAalpC,KAClE,GYpGA,MAAM,GACJ,WAAAmB,CAAYi6B,EAAcC,GACxB79B,KAAK49B,aAAeA,EACpB59B,KAAK69B,SAAWA,EAChB79B,KAAK2rC,cAAgC,IAAIzsC,IACzCc,KAAK4rC,UAAY,EACjB5rC,KAAK6rC,6CAA+C,KAClD7rC,KAAK49B,aAAa1B,aAAa,EAEjCl8B,KAAK8rC,YAAcjO,EAASkO,UAC9B,CACA,eAAAC,CAAgBxpC,GACd,OAAOxC,KAAKurC,WAAWnnC,IAAI5B,EAC7B,CACA,wBAAAypC,CAAyBC,GACvB,MAAMC,EAAOnsC,KAAKurC,WAClB,IAAIa,GAAoB,EACxB,IAAK,MAAM3L,KAAYyL,EACrB,GAAIC,EAAK/nC,IAAIq8B,EAASh0B,MAAMjK,MAAO,CACjC4pC,GAAoB,EACpB,KACF,CAEEpsC,KAAK69B,SAASwO,2BAChBrsC,KAAK69B,SAASwO,2BAA2BH,EAAkBE,GAGzDA,IACEpsC,KAAK69B,SAASyO,iCAChBtsC,KAAK69B,SAASyO,mCAEdtsC,KAAK6rC,+CAGX,CACA,QAAAN,GACE,MAAM5iB,EAAY3oB,KAAKs5B,OACjB3sB,EAAW3M,KAAKs5B,OAASt5B,KAAK49B,aAAanxB,MACjD,IAAKkc,EAEH,OADA3oB,KAAKusC,yBAAyBvsC,KAAKs5B,QAC5Bt5B,KAAK2rC,cAEd,GAAIh/B,IAAagc,EACf,GAAI3oB,KAAK8rC,aACP,IAAK,MAAM/V,KAAQ/1B,KAAK8rC,YACtB,GAAIn/B,EAASopB,KAAUpN,EAAUoN,GAAO,CACtC/1B,KAAKusC,yBAAyB5/B,GAC9B,KACF,OAGF3M,KAAKusC,yBAAyB5/B,GAGlC,OAAO3M,KAAK2rC,aACd,CACA,QAAAa,CAAS5X,GACP50B,KAAK8rC,YAAclX,CACrB,CACA,wBAAA2X,CAAyB9/B,GAGvB,GAFAzM,KAAK2rC,cAAc1rC,QACnBD,KAAK4rC,WAAa,EACd5rC,KAAK69B,SAAS4O,cAChB,IAAK,MAAMjqC,KAAQxC,KAAK69B,SAAS4O,cAC/BzsC,KAAK2rC,cAAcnrC,IAAIgC,QAGzB,GAAIxC,KAAK8rC,YACP,IAAK,MAAM/V,KAAQ/1B,KAAK8rC,YAAa,CACnC,MAAMtvC,EAAQiQ,EAAMspB,GAChBv5B,GACFwD,KAAK0sC,qBAAqBlwC,EAE9B,MAEAwD,KAAK0sC,qBAAqBjgC,EAGhC,CACA,oBAAAigC,CAAqBlwC,GACnBgoC,GAAe6F,UAAY,EAC3B,MACMsC,GADiC,iBAAVnwC,EAAqB4sC,GAAmB5sC,GAASA,GAChDowC,SAASpI,IACvC,GAAKmI,EAGL,IAAK,MAAMh1B,KAASg1B,EAAS,CAC3B,MAAO,CAAErC,EAAMC,EAAM,CAAEE,GAAQ9yB,EACzBk1B,EAAevC,GAAQC,GAAQE,EACrCzqC,KAAK2rC,cAAcnrC,IAAIqsC,EACzB,CACF,ECzFF,IAAI,GAAY/xC,OAAOgO,eACnB,GAAahO,OAAOwgB,iBACpB,GAAoBxgB,OAAOugB,0BAC3B,GAAsBvgB,OAAO2D,sBAC7B,GAAe3D,OAAOkC,UAAUM,eAChC,GAAexC,OAAOkC,UAAUoB,qBAChC,GAAkB,CAAC+K,EAAK1M,EAAKD,IAAUC,KAAO0M,EAAM,GAAUA,EAAK1M,EAAK,CAAEsM,YAAY,EAAMwC,cAAc,EAAMC,UAAU,EAAMhP,UAAW2M,EAAI1M,GAAOD,EAa1J,MAAMswC,WAAmB,EACvB,WAAAnpC,CAAY8I,GAFM,IAAC0N,EAAGmT,EAGpBphB,OAHiBiO,EAXA,EAACA,EAAGmT,KACvB,IAAK,IAAIxV,KAAQwV,IAAMA,EAAI,CAAC,GACtB,GAAaxvB,KAAKwvB,EAAGxV,IACvB,GAAgBqC,EAAGrC,EAAMwV,EAAExV,IAC/B,GAAI,GACF,IAAK,IAAIA,KAAQ,GAAoBwV,GAC/B,GAAaxvB,KAAKwvB,EAAGxV,IACvB,GAAgBqC,EAAGrC,EAAMwV,EAAExV,IAEjC,OAAOqC,CAAC,EAKc,CAAe,CAAC,EAAG1N,GAHnB6gB,EAG2B,CAC7Cyf,KAAMtgC,EAAMsgC,MAAQ1P,GAAoB2P,KAJhB,GAAW7yB,EAAG,GAAkBmT,MAM1DttB,KAAKitC,aAAgBC,IACnB,IAAKltC,KAAK05B,OACR,MAAM,IAAIjyB,MAAM,gEAElB,OAAO,IAAI0lC,GAAqBntC,KAAK05B,OAAQwT,EAAM,CAEvD,CACA,cAAAE,GACE,IAAKptC,KAAK05B,OACR,MAAM,IAAIjyB,MAAM,gEAElB,OAAOzH,KAAKyM,MAAMhQ,GACpB,EAEF,MAAM0wC,GACJ,WAAAxpC,CAAY0pC,EAASC,GACnBttC,KAAKqtC,QAAUA,EACfrtC,KAAKstC,cAAgBA,CACvB,CACA,OAAAlS,CAAQ5oB,GACNA,EAAM0tB,OAASlgC,KACfA,KAAKstC,cAAc7S,aAAajoB,GAAO,EACzC,CACA,SAAA+6B,CAAUjT,GACR,OAAO,IAAI,EAAAkT,YAAYC,IACrB,MAGMC,EAAM1tC,KAAKqtC,QAAQhT,iBAAiBC,GAHzB9nB,IACfi7B,EAAS3mB,KAAKtU,EAAM,IAGtB,MAAO,IAAMk7B,EAAI7R,aAAa,GAElC,CACA,SAAA3B,CAAUI,EAAW/mB,GACnB,OAAOvT,KAAKutC,UAAUjT,GAAWqT,OAAOzT,UAAU3mB,EACpD,CACA,kBAAAqoB,GACA,CACA,YAAAgS,CAAanxC,EAAKye,GAChB,MAAM,IAAIzT,MAAM,wBAClB,ECjEFomC,eAAe,GAAcC,EAAY1D,GACvC,GAAkB,MAAd0D,OAAqB,EAASA,EAAWlxC,IAAK,CAChD,MAAMmxC,EAAoB9Q,GAAmBp6B,IAAIirC,EAAWlxC,KAC5D,GAAImxC,EACF,OAAOA,CAEX,CACA,OAAID,GAAcA,EAAWE,MACpBF,QAEI,IAAAG,oBAAmBprC,IAAIirC,EAAY1D,EAClD,CCXA,MAAM,GACJ,WAAAzmC,GACE3D,KAAKkuC,QAA0B,IAAIlvC,GACrC,CACA,2CAAAmvC,CAA4CzX,GAE1C,GADA12B,KAAKouC,cACA1X,EAAYkD,mBAGjB,IAAK,MAAMiT,KAAgBnW,EAAYkD,mBAAmB2R,WAAY,CACpE,MAAM9K,EAAW,GAAWgE,eAAeoI,EAAcnW,GACrD+J,GACFzgC,KAAKkuC,QAAQvxC,IAAI8jC,EAAUA,EAAS37B,WAExC,CACF,CACA,WAAAspC,GACEpuC,KAAKkuC,QAAQjuC,OACf,CACA,SAAAouC,GACE,QAASruC,KAAKkuC,OAChB,CACA,kBAAAI,CAAmB7N,GACjBzgC,KAAKkuC,QAAQvxC,IAAI8jC,EAAUA,EAAS37B,WACtC,CACA,gBAAAypC,CAAiB9N,GACf,OAAOzgC,KAAKkuC,QAAQ9pC,IAAIq8B,EAC1B,CACA,eAAA+N,CAAgB/N,GACd,SAAIzgC,KAAKkuC,QAAQ9pC,IAAIq8B,IAEdyI,GADSlpC,KAAKkuC,QAAQrrC,IAAI49B,GACEA,EAAS37B,YAK9C,CACA,sBAAA2pC,CAAuB/X,GACrB,IAAK12B,KAAKkuC,QACR,OAAO,EAET,IAAKxX,EAAYkD,mBACf,OAAO,EAET,IAAK,MAAMiT,KAAgBnW,EAAYkD,mBAAmB2R,WAAY,CACpE,MAAM9K,EAAW,GAAWgE,eAAeoI,EAAcnW,GACzD,GAAI+J,GAAYzgC,KAAKkuC,QAAQ9pC,IAAIq8B,KAE1ByI,GADSlpC,KAAKkuC,QAAQrrC,IAAI49B,GACEA,EAAS37B,YACxC,OAAO,CAGb,CACA,OAAO,CACT,ECzDK,SAASG,GAAWzI,GACvB,MAAwB,mBAAVA,CAClB,CCMgB1B,OAAOgO,eACGhO,OAAO2D,sBACd3D,OAAOkC,UAAUM,eACjBxC,OAAOkC,UAAUoB,qBCKpC,IAAIswC,GAAgB,SAASla,EAAGlH,GAI9B,OAHAohB,GAAgB5zC,OAAO8gB,gBAClB,CAAEC,UAAW,cAAgBljB,OAAS,SAAU67B,EAAGlH,GAAKkH,EAAE3Y,UAAYyR,CAAG,GAC1E,SAAUkH,EAAGlH,GAAK,IAAK,IAAI3R,KAAK2R,EAAOxyB,OAAOkC,UAAUM,eAAeQ,KAAKwvB,EAAG3R,KAAI6Y,EAAE7Y,GAAK2R,EAAE3R,GAAI,EAC7F+yB,GAAcla,EAAGlH,EAC1B,EAEO,SAASqhB,GAAUna,EAAGlH,GAC3B,GAAiB,mBAANA,GAA0B,OAANA,EAC3B,MAAM,IAAIliB,UAAU,uBAAyB1E,OAAO4mB,GAAK,iCAE7D,SAASshB,IAAO5uC,KAAK2D,YAAc6wB,CAAG,CADtCka,GAAcla,EAAGlH,GAEjBkH,EAAEx3B,UAAkB,OAANswB,EAAaxyB,OAAOwhB,OAAOgR,IAAMshB,EAAG5xC,UAAYswB,EAAEtwB,UAAW,IAAI4xC,EACjF,CA2IO,SAAStG,GAAS5sB,GACvB,IAAIsgB,EAAsB,mBAAX99B,QAAyBA,OAAOsc,SAAUq0B,EAAI7S,GAAKtgB,EAAEsgB,GAAIrxB,EAAI,EAC5E,GAAIkkC,EAAG,OAAOA,EAAE/wC,KAAK4d,GACrB,GAAIA,GAAyB,iBAAbA,EAAE7iB,OAAqB,MAAO,CAC1CiuB,KAAM,WAEF,OADIpL,GAAK/Q,GAAK+Q,EAAE7iB,SAAQ6iB,OAAI,GACrB,CAAElf,MAAOkf,GAAKA,EAAE/Q,KAAMoc,MAAOrL,EACxC,GAEJ,MAAM,IAAItQ,UAAU4wB,EAAI,0BAA4B,kCACtD,CAEO,SAAS8S,GAAOpzB,EAAGhjB,GACxB,IAAIm2C,EAAsB,mBAAX3wC,QAAyBwd,EAAExd,OAAOsc,UACjD,IAAKq0B,EAAG,OAAOnzB,EACf,IAAmBpjB,EAAYC,EAA3BoS,EAAIkkC,EAAE/wC,KAAK4d,GAAOqzB,EAAK,GAC3B,IACI,WAAc,IAANr2C,GAAgBA,KAAM,MAAQJ,EAAIqS,EAAEmc,QAAQC,MAAMgoB,EAAG1qC,KAAK/L,EAAEkE,MACxE,CACA,MAAOk/B,GAASnjC,EAAI,CAAEmjC,MAAOA,EAAS,CACtC,QACI,IACQpjC,IAAMA,EAAEyuB,OAAS8nB,EAAIlkC,EAAU,SAAIkkC,EAAE/wC,KAAK6M,EAClD,CACA,QAAU,GAAIpS,EAAG,MAAMA,EAAEmjC,KAAO,CACpC,CACA,OAAOqT,CACT,CAkBO,SAASC,GAAcvQ,EAAI3a,EAAMmrB,GACtC,GAAIA,GAA6B,IAArBl2C,UAAUF,OAAc,IAAK,IAA4Bk2C,EAAxBpkC,EAAI,EAAGsa,EAAInB,EAAKjrB,OAAY8R,EAAIsa,EAAGta,KACxEokC,GAAQpkC,KAAKmZ,IACRirB,IAAIA,EAAKp2C,MAAMqE,UAAU6mB,MAAM/lB,KAAKgmB,EAAM,EAAGnZ,IAClDokC,EAAGpkC,GAAKmZ,EAAKnZ,IAGrB,OAAO8zB,EAAGlnB,OAAOw3B,GAAMp2C,MAAMqE,UAAU6mB,MAAM/lB,KAAKgmB,GACpD,CArE6BhpB,OAAOwhB,OA0GXxhB,OAAOwhB,OAyDkB,mBAApB4yB,iBAAiCA,gBC1TxD,ICICC,GDJGC,KCIHD,GDHG,SAAiCE,GCD3B,IAAU/xB,IDEZtd,KCDPyH,MAAM3J,KAAKwf,GACXA,EAAS7b,OAAQ,IAAIgG,OAAQhG,MDC7BzB,KAAKyC,QAAU4sC,EACTA,EAAOx2C,OAAS,4CAA8Cw2C,EAAOjzC,KAAI,SAAUoL,EAAKmD,GAAK,OAAOA,EAAI,EAAI,KAAOnD,EAAInK,UAAY,IAAG0kC,KAAK,QAC3I,GACN/hC,KAAKwC,KAAO,sBACZxC,KAAKqvC,OAASA,CAClB,GCHSryC,UAAYlC,OAAOwhB,OAAO7U,MAAMzK,WACzCmyC,GAASnyC,UAAU2G,YAAcwrC,GAC1BA,ICRJ,SAASG,GAAUvrB,EAAKyE,GAC3B,GAAIzE,EAAK,CACL,IAAI7nB,EAAQ6nB,EAAIiI,QAAQxD,GACxB,GAAKtsB,GAAS6nB,EAAI1lB,OAAOnC,EAAO,EACpC,CACJ,CCDA,IAAIg9B,GAAgB,WAChB,SAASA,EAAaqW,GAClBvvC,KAAKuvC,gBAAkBA,EACvBvvC,KAAKwvC,QAAS,EACdxvC,KAAKyvC,WAAa,KAClBzvC,KAAK0vC,YAAc,IACvB,CA+GqB,IACbz4B,EAIR,OAnHAiiB,EAAal8B,UAAU6+B,YAAc,WACjC,IAAI8T,EAAKlY,EAAImY,EAAKjY,EACd0X,EACJ,IAAKrvC,KAAKwvC,OAAQ,CACdxvC,KAAKwvC,QAAS,EACd,IAAIC,EAAazvC,KAAKyvC,WACtB,GAAIA,EAEA,GADAzvC,KAAKyvC,WAAa,KACd92C,MAAMC,QAAQ62C,GACd,IACI,IAAK,IAAII,EAAevH,GAASmH,GAAaK,EAAiBD,EAAa/oB,QAASgpB,EAAe/oB,KAAM+oB,EAAiBD,EAAa/oB,OACrHgpB,EAAetzC,MACrBob,OAAO5X,KAExB,CACA,MAAO+vC,GAASJ,EAAM,CAAEjU,MAAOqU,EAAS,CACxC,QACI,IACQD,IAAmBA,EAAe/oB,OAAS0Q,EAAKoY,EAAaG,SAASvY,EAAG35B,KAAK+xC,EACtF,CACA,QAAU,GAAIF,EAAK,MAAMA,EAAIjU,KAAO,CACxC,MAGA+T,EAAW73B,OAAO5X,MAG1B,IAAIiwC,EAAmBjwC,KAAKuvC,gBAC5B,GAAItqC,GAAWgrC,GACX,IACIA,GACJ,CACA,MAAO13C,GACH82C,EAAS92C,aAAa62C,GAAsB72C,EAAE82C,OAAS,CAAC92C,EAC5D,CAEJ,IAAIm3C,EAAc1vC,KAAK0vC,YACvB,GAAIA,EAAa,CACb1vC,KAAK0vC,YAAc,KACnB,IACI,IAAK,IAAIQ,EAAgB5H,GAASoH,GAAcS,EAAkBD,EAAcppB,QAASqpB,EAAgBppB,KAAMopB,EAAkBD,EAAcppB,OAAQ,CACnJ,IAAIspB,EAAYD,EAAgB3zC,MAChC,IACI6zC,GAAcD,EAClB,CACA,MAAO5oC,GACH6nC,EAASA,QAAuCA,EAAS,GACrD7nC,aAAe4nC,GACfC,EAASL,GAAcA,GAAc,GAAIF,GAAOO,IAAUP,GAAOtnC,EAAI6nC,SAGrEA,EAAOhrC,KAAKmD,EAEpB,CACJ,CACJ,CACA,MAAO8oC,GAASV,EAAM,CAAElU,MAAO4U,EAAS,CACxC,QACI,IACQH,IAAoBA,EAAgBppB,OAAS4Q,EAAKuY,EAAcF,SAASrY,EAAG75B,KAAKoyC,EACzF,CACA,QAAU,GAAIN,EAAK,MAAMA,EAAIlU,KAAO,CACxC,CACJ,CACA,GAAI2T,EACA,MAAM,IAAID,GAAoBC,EAEtC,CACJ,EACAnW,EAAal8B,UAAUwD,IAAM,SAAU+vC,GACnC,IAAI9Y,EACJ,GAAI8Y,GAAYA,IAAavwC,KACzB,GAAIA,KAAKwvC,OACLa,GAAcE,OAEb,CACD,GAAIA,aAAoBrX,EAAc,CAClC,GAAIqX,EAASf,QAAUe,EAASC,WAAWxwC,MACvC,OAEJuwC,EAASE,WAAWzwC,KACxB,EACCA,KAAK0vC,YAA0C,QAA3BjY,EAAKz3B,KAAK0vC,mBAAgC,IAAPjY,EAAgBA,EAAK,IAAIpzB,KAAKksC,EAC1F,CAER,EACArX,EAAal8B,UAAUwzC,WAAa,SAAU9W,GAC1C,IAAI+V,EAAazvC,KAAKyvC,WACtB,OAAOA,IAAe/V,GAAW/gC,MAAMC,QAAQ62C,IAAeA,EAAWrZ,SAASsD,EACtF,EACAR,EAAal8B,UAAUyzC,WAAa,SAAU/W,GAC1C,IAAI+V,EAAazvC,KAAKyvC,WACtBzvC,KAAKyvC,WAAa92C,MAAMC,QAAQ62C,IAAeA,EAAWprC,KAAKq1B,GAAS+V,GAAcA,EAAa,CAACA,EAAY/V,GAAUA,CAC9H,EACAR,EAAal8B,UAAU0zC,cAAgB,SAAUhX,GAC7C,IAAI+V,EAAazvC,KAAKyvC,WAClBA,IAAe/V,EACf15B,KAAKyvC,WAAa,KAEb92C,MAAMC,QAAQ62C,IACnBH,GAAUG,EAAY/V,EAE9B,EACAR,EAAal8B,UAAU4a,OAAS,SAAU24B,GACtC,IAAIb,EAAc1vC,KAAK0vC,YACvBA,GAAeJ,GAAUI,EAAaa,GAClCA,aAAoBrX,GACpBqX,EAASG,cAAc1wC,KAE/B,EACAk5B,EAAayX,QACL15B,EAAQ,IAAIiiB,GACVsW,QAAS,EACRv4B,GAEJiiB,CACX,CA3HmB,GA8HZ,SAAS0X,GAAep0C,GAC3B,OAAQA,aAAiB08B,IACpB18B,GAAS,WAAYA,GAASyI,GAAWzI,EAAMob,SAAW3S,GAAWzI,EAAMgE,MAAQyE,GAAWzI,EAAMq/B,YAC7G,CACA,SAASwU,GAAcD,GACfnrC,GAAWmrC,GACXA,IAGAA,EAAUvU,aAElB,CAZgC3C,GAAayX,MCjItC,IAAI,GAAS,CAChBE,iBAAkB,KAClBC,sBAAuB,KACvB7xC,aAAShB,EACT8yC,uCAAuC,EACvCC,0BAA0B,GCJnBC,GAAkB,CACzBC,WAAY,SAAU39B,EAAS49B,GAE3B,IADA,IAAI1zB,EAAO,GACF+I,EAAK,EAAGA,EAAKztB,UAAUF,OAAQ2tB,IACpC/I,EAAK+I,EAAK,GAAKztB,UAAUytB,GAE7B,IAAI4qB,EAAWH,GAAgBG,SAC/B,OAAIA,aAA2C,EAASA,EAASF,YACtDE,EAASF,WAAWrmC,MAAMumC,EAAUpC,GAAc,CAACz7B,EAAS49B,GAAUrC,GAAOrxB,KAEjFyzB,WAAWrmC,WAAM,EAAQmkC,GAAc,CAACz7B,EAAS49B,GAAUrC,GAAOrxB,IAC7E,EACA4zB,aAAc,SAAUjgC,GACpB,IAAIggC,EAAWH,GAAgBG,SAC/B,QAASA,aAA2C,EAASA,EAASC,eAAiBA,cAAcjgC,EACzG,EACAggC,cAAUnzC,GCjBP,SAASgsB,KAAS,CCAlB,IAAIqnB,GAA8CC,GAAmB,SAAKtzC,OAAWA,GAOrF,SAASszC,GAAmBC,EAAMh1C,EAAOk/B,GAC5C,MAAO,CACH8V,KAAMA,EACNh1C,MAAOA,EACPk/B,MAAOA,EAEf,CCZA,IAAI+V,GAAU,KCQVC,GAAc,SAAU90B,GAExB,SAAS80B,EAAWC,GAChB,IAAIt0B,EAAQT,EAAO9e,KAAKkC,OAASA,KAWjC,OAVAqd,EAAMu0B,WAAY,EACdD,GACAt0B,EAAMs0B,YAAcA,EAChBf,GAAee,IACfA,EAAYnxC,IAAI6c,IAIpBA,EAAMs0B,YAAcE,GAEjBx0B,CACX,CAwDA,OAtEAsxB,GAAU+C,EAAY90B,GAetB80B,EAAWp1B,OAAS,SAAUwK,EAAM4U,EAAOoW,GACvC,OAAO,IAAIC,GAAejrB,EAAM4U,EAAOoW,EAC3C,EACAJ,EAAW10C,UAAU8pB,KAAO,SAAUtqB,GAC9BwD,KAAK4xC,UACLI,GF1BL,SAA0Bx1C,GAC7B,OAAO+0C,GAAmB,IAAK/0C,OAAOyB,EAC1C,CEwBsCg0C,CAAiBz1C,GAAQwD,MAGnDA,KAAKkyC,MAAM11C,EAEnB,EACAk1C,EAAW10C,UAAU0+B,MAAQ,SAAUl0B,GAC/BxH,KAAK4xC,UACLI,GFpCDT,GAAmB,SAAKtzC,EEoCqBuJ,GAAMxH,OAGlDA,KAAK4xC,WAAY,EACjB5xC,KAAKmyC,OAAO3qC,GAEpB,EACAkqC,EAAW10C,UAAU80C,SAAW,WACxB9xC,KAAK4xC,UACLI,GAA0BV,GAAuBtxC,OAGjDA,KAAK4xC,WAAY,EACjB5xC,KAAKoyC,YAEb,EACAV,EAAW10C,UAAU6+B,YAAc,WAC1B77B,KAAKwvC,SACNxvC,KAAK4xC,WAAY,EACjBh1B,EAAO5f,UAAU6+B,YAAY/9B,KAAKkC,MAClCA,KAAK2xC,YAAc,KAE3B,EACAD,EAAW10C,UAAUk1C,MAAQ,SAAU11C,GACnCwD,KAAK2xC,YAAY7qB,KAAKtqB,EAC1B,EACAk1C,EAAW10C,UAAUm1C,OAAS,SAAU3qC,GACpC,IACIxH,KAAK2xC,YAAYjW,MAAMl0B,EAC3B,CACA,QACIxH,KAAK67B,aACT,CACJ,EACA6V,EAAW10C,UAAUo1C,UAAY,WAC7B,IACIpyC,KAAK2xC,YAAYG,UACrB,CACA,QACI9xC,KAAK67B,aACT,CACJ,EACO6V,CACX,CAxEiB,CAwEfxY,IAEEmZ,GAAQn3C,SAAS8B,UAAUyN,KAC/B,SAASA,GAAK6nC,EAAIC,GACd,OAAOF,GAAMv0C,KAAKw0C,EAAIC,EAC1B,CACA,IAAIC,GAAoB,WACpB,SAASA,EAAiBC,GACtBzyC,KAAKyyC,gBAAkBA,CAC3B,CAqCA,OApCAD,EAAiBx1C,UAAU8pB,KAAO,SAAUtqB,GACxC,IAAIi2C,EAAkBzyC,KAAKyyC,gBAC3B,GAAIA,EAAgB3rB,KAChB,IACI2rB,EAAgB3rB,KAAKtqB,EACzB,CACA,MAAOk/B,GACHgX,GAAqBhX,EACzB,CAER,EACA8W,EAAiBx1C,UAAU0+B,MAAQ,SAAUl0B,GACzC,IAAIirC,EAAkBzyC,KAAKyyC,gBAC3B,GAAIA,EAAgB/W,MAChB,IACI+W,EAAgB/W,MAAMl0B,EAC1B,CACA,MAAOk0B,GACHgX,GAAqBhX,EACzB,MAGAgX,GAAqBlrC,EAE7B,EACAgrC,EAAiBx1C,UAAU80C,SAAW,WAClC,IAAIW,EAAkBzyC,KAAKyyC,gBAC3B,GAAIA,EAAgBX,SAChB,IACIW,EAAgBX,UACpB,CACA,MAAOpW,GACHgX,GAAqBhX,EACzB,CAER,EACO8W,CACX,CAzCuB,GA0CnBT,GAAkB,SAAUn1B,GAE5B,SAASm1B,EAAeY,EAAgBjX,EAAOoW,GAC3C,IACIW,EASIG,EAVJv1B,EAAQT,EAAO9e,KAAKkC,OAASA,KAyBjC,OAvBIiF,GAAW0tC,KAAoBA,EAC/BF,EAAkB,CACd3rB,KAAO6rB,QAAuDA,OAAiB10C,EAC/Ey9B,MAAOA,QAAqCA,OAAQz9B,EACpD6zC,SAAUA,QAA2CA,OAAW7zC,GAKhEof,GAAS,GAAO2zB,2BAChB4B,EAAY93C,OAAOwhB,OAAOq2B,IAChB9W,YAAc,WAAc,OAAOxe,EAAMwe,aAAe,EAClE4W,EAAkB,CACd3rB,KAAM6rB,EAAe7rB,MAAQrc,GAAKkoC,EAAe7rB,KAAM8rB,GACvDlX,MAAOiX,EAAejX,OAASjxB,GAAKkoC,EAAejX,MAAOkX,GAC1Dd,SAAUa,EAAeb,UAAYrnC,GAAKkoC,EAAeb,SAAUc,KAIvEH,EAAkBE,EAG1Bt1B,EAAMs0B,YAAc,IAAIa,GAAiBC,GAClCp1B,CACX,CACA,OA7BAsxB,GAAUoD,EAAgBn1B,GA6BnBm1B,CACX,CA/BqB,CA+BnBL,IAEF,SAASgB,GAAqBhX,GD7IvB,IAAsBl0B,EC8IrB,GAAOupC,uCD9IcvpC,EC+IRk0B,ED9Ib,GAAOqV,uCAAyCU,KAChDA,GAAQoB,aAAc,EACtBpB,GAAQ/V,MAAQl0B,IEtBjB,SAA8BA,GACjCypC,GAAgBC,YAAW,WACvB,IAAIL,EAAmB,GAAOA,iBAC9B,IAAIA,EAIA,MAAMrpC,EAHNqpC,EAAiBrpC,EAKzB,GACJ,CD2JQsrC,CAAqBpX,EAE7B,CAIA,SAASsW,GAA0Be,EAAcC,GAC7C,IAAIlC,EAAwB,GAAOA,sBACnCA,GAAyBG,GAAgBC,YAAW,WAAc,OAAOJ,EAAsBiC,EAAcC,EAAa,GAC9H,CACO,IAAInB,GAAiB,CACxBrC,QAAQ,EACR1oB,KAAMmD,GACNyR,MAVJ,SAA6Bl0B,GACzB,MAAMA,CACV,EASIsqC,SAAU7nB,KEhLY,SAAUrN,GAEhC,SAASq2B,EAAmBtB,EAAauB,EAAQC,EAAYC,EAASC,EAAYC,GAC9E,IAAIj2B,EAAQT,EAAO9e,KAAKkC,KAAM2xC,IAAgB3xC,KAuC9C,OAtCAqd,EAAMg2B,WAAaA,EACnBh2B,EAAMi2B,kBAAoBA,EAC1Bj2B,EAAM60B,MAAQgB,EACR,SAAU12C,GACR,IACI02C,EAAO12C,EACX,CACA,MAAOgL,GACHmqC,EAAYjW,MAAMl0B,EACtB,CACJ,EACEoV,EAAO5f,UAAUk1C,MACvB70B,EAAM80B,OAASiB,EACT,SAAU5rC,GACR,IACI4rC,EAAQ5rC,EACZ,CACA,MAAOA,GACHmqC,EAAYjW,MAAMl0B,EACtB,CACA,QACIxH,KAAK67B,aACT,CACJ,EACEjf,EAAO5f,UAAUm1C,OACvB90B,EAAM+0B,UAAYe,EACZ,WACE,IACIA,GACJ,CACA,MAAO3rC,GACHmqC,EAAYjW,MAAMl0B,EACtB,CACA,QACIxH,KAAK67B,aACT,CACJ,EACEjf,EAAO5f,UAAUo1C,UAChB/0B,CACX,CA1CAsxB,GAAUsE,EAAoBr2B,GA2C9Bq2B,EAAmBj2C,UAAU6+B,YAAc,WACvC,IAAIpE,EACJ,IAAKz3B,KAAKszC,mBAAqBtzC,KAAKszC,oBAAqB,CACrD,IAAIC,EAAWvzC,KAAKwvC,OACpB5yB,EAAO5f,UAAU6+B,YAAY/9B,KAAKkC,OACjCuzC,IAAwC,QAA1B9b,EAAKz3B,KAAKqzC,kBAA+B,IAAP5b,GAAyBA,EAAG35B,KAAKkC,MACtF,CACJ,CAEJ,CArDyB,CAqDvB0xC,IC1DK,IAAI8B,GAAsD,mBAAXt1C,QAAyBA,OAAOs1C,YAAe,eCA9F,SAASC,GAASznC,GACrB,OAAOA,CACX,CCyFA,SAAS0nC,GAAeC,GACpB,IAAIlc,EACJ,OAAgG,QAAxFA,EAAKkc,QAAiDA,EAAc,GAAO10C,eAA4B,IAAPw4B,EAAgBA,EAAKx4B,OACjI,EAvFkB,WACd,SAASuuC,EAAWtT,GACZA,IACAl6B,KAAK4zC,WAAa1Z,EAE1B,CACAsT,EAAWxwC,UAAU62C,KAAO,SAAUtK,GAClC,IAAIiK,EAAa,IAAIhG,EAGrB,OAFAgG,EAAW5oC,OAAS5K,KACpBwzC,EAAWjK,SAAWA,EACfiK,CACX,EACAhG,EAAWxwC,UAAUk9B,UAAY,SAAUyY,EAAgBjX,EAAOoW,GAC9D,IA8Ect1C,EA9EV6gB,EAAQrd,KACRgzC,GA6EUx2C,EA7EgBm2C,IA8EjBn2C,aAAiBk1C,IAJtC,SAAoBl1C,GAChB,OAAOA,GAASyI,GAAWzI,EAAMsqB,OAAS7hB,GAAWzI,EAAMk/B,QAAUz2B,GAAWzI,EAAMs1C,SAC1F,CAEsDgC,CAAWt3C,IAAUo0C,GAAep0C,GA9ElCm2C,EAAiB,IAAIZ,GAAeY,EAAgBjX,EAAOoW,GAY3G,ON/BD,SAAsBziB,GACzB,GAAI,GAAO0hB,sCAAuC,CAC9C,IAAIgD,GAAUtC,GAKd,GAJIsC,IACAtC,GAAU,CAAEoB,aAAa,EAAOnX,MAAO,OAE3CrM,IACI0kB,EAAQ,CACR,IAAItc,EAAKga,GAASoB,EAAcpb,EAAGob,YAAanX,EAAQjE,EAAGiE,MAE3D,GADA+V,GAAU,KACNoB,EACA,MAAMnX,CAEd,CACJ,MAEIrM,GAER,CMEQ2kB,EAAa,WACT,IAAIvc,EAAKpa,EAAOksB,EAAW9R,EAAG8R,SAAU3+B,EAAS6sB,EAAG7sB,OACpDooC,EAAWxyC,IAAI+oC,EAEPA,EAASzrC,KAAKk1C,EAAYpoC,GAC5BA,EAEMyS,EAAMu2B,WAAWZ,GAEjB31B,EAAM42B,cAAcjB,GACpC,IACOA,CACX,EACAxF,EAAWxwC,UAAUi3C,cAAgB,SAAUC,GAC3C,IACI,OAAOl0C,KAAK4zC,WAAWM,EAC3B,CACA,MAAO1sC,GACH0sC,EAAKxY,MAAMl0B,EACf,CACJ,EACAgmC,EAAWxwC,UAAUT,QAAU,SAAUuqB,EAAM6sB,GAC3C,IAAIt2B,EAAQrd,KAEZ,OAAO,IADP2zC,EAAcD,GAAeC,KACN,SAAU/tC,EAASuuC,GACtC,IAAInB,EAAa,IAAIjB,GAAe,CAChCjrB,KAAM,SAAUtqB,GACZ,IACIsqB,EAAKtqB,EACT,CACA,MAAOgL,GACH2sC,EAAO3sC,GACPwrC,EAAWnX,aACf,CACJ,EACAH,MAAOyY,EACPrC,SAAUlsC,IAEdyX,EAAM6c,UAAU8Y,EACpB,GACJ,EACAxF,EAAWxwC,UAAU42C,WAAa,SAAUZ,GACxC,IAAIvb,EACJ,OAA8B,QAAtBA,EAAKz3B,KAAK4K,cAA2B,IAAP6sB,OAAgB,EAASA,EAAGyC,UAAU8Y,EAChF,EACAxF,EAAWxwC,UAAU,IAAqB,WACtC,OAAOgD,IACX,EACAwtC,EAAWxwC,UAAU2wC,KAAO,WAExB,IADA,IAAIyG,EAAa,GACR5tB,EAAK,EAAGA,EAAKztB,UAAUF,OAAQ2tB,IACpC4tB,EAAW5tB,GAAMztB,UAAUytB,GAE/B,OClEe,KADO6tB,EDmEDD,GClEjBv7C,OACG46C,GAEQ,IAAfY,EAAIx7C,OACGw7C,EAAI,GAER,SAAetpC,GAClB,OAAOspC,EAAIC,QAAO,SAAUC,EAAMjC,GAAM,OAAOA,EAAGiC,EAAO,GAAGxpC,EAChE,GD0DqC/K,MCnElC,IAAuBq0C,CDoE1B,EACA7G,EAAWxwC,UAAUw3C,UAAY,SAAUb,GACvC,IAAIt2B,EAAQrd,KAEZ,OAAO,IADP2zC,EAAcD,GAAeC,KACN,SAAU/tC,EAASuuC,GACtC,IAAI33C,EACJ6gB,EAAM6c,WAAU,SAAUluB,GAAK,OAAQxP,EAAQwP,CAAI,IAAG,SAAUxE,GAAO,OAAO2sC,EAAO3sC,EAAM,IAAG,WAAc,OAAO5B,EAAQpJ,EAAQ,GACvI,GACJ,EACAgxC,EAAWlxB,OAAS,SAAU4d,GAC1B,OAAO,IAAIsT,EAAWtT,EAC1B,CAEJ,CAlFiB,GENS,mBAAXh8B,QAA0BA,OAAOsc,UAGrCtc,OAAOsc,SCEF1f,OAAOgO,eACNhO,OAAOwgB,iBACAxgB,OAAOugB,0BACLvgB,OAAO2D,sBACd3D,OAAOkC,UAAUM,eACjBxC,OAAOkC,UAAUoB,qBCXpC,SAAS,GAAcq2C,EAAQhyC,KAAY4qB,GACrCzf,OAAO8mC,qBACTjnC,QAAQ4iB,IAAI,GAAGokB,MAAYhyC,KAAY4qB,EAE3C,CDuGK,EAAAwS,OAAO8U,sBEnGI75C,OAAOgO,eACNhO,OAAOwgB,iBACAxgB,OAAOugB,0BACLvgB,OAAO2D,sBACd3D,OAAOkC,UAAUM,eACjBxC,OAAOkC,UAAUoB,qBCVpBtD,OAAOgO,eACGhO,OAAO2D,sBACd3D,OAAOkC,UAAUM,eACjBxC,OAAOkC,UAAUoB,qBCMpBtD,OAAOgO,eACNhO,OAAOwgB,iBACAxgB,OAAOugB,0BACLvgB,OAAO2D,sBACd3D,OAAOkC,UAAUM,eACjBxC,OAAOkC,UAAUoB,qBCbpBtD,OAAOgO,eACNhO,OAAOwgB,iBACAxgB,OAAOugB,0BACLvgB,OAAO2D,sBACd3D,OAAOkC,UAAUM,eACjBxC,OAAOkC,UAAUoB,qB,wBCAhC,GAAYtD,OAAOgO,eACnB,GAAsBhO,OAAO2D,sBAC7B,GAAe3D,OAAOkC,UAAUM,eAChC,GAAexC,OAAOkC,UAAUoB,qBAChC,GAAkB,CAAC+K,EAAK1M,EAAKD,IAAUC,KAAO0M,EAAM,GAAUA,EAAK1M,EAAK,CAAEsM,YAAY,EAAMwC,cAAc,EAAMC,UAAU,EAAMhP,UAAW2M,EAAI1M,GAAOD,EAY1J,MAAMo4C,GAAwB,mBACxBC,GAAkB,aAClBC,GAAiC,CACrCC,MAAO,kBACPv4C,MAAOo4C,IAEHI,GAAoB,CACxBD,MAAO,gBACPv4C,MAAOq4C,IAEHI,GAA0B,CAC9B,CAAEF,MAAO,aAAcv4C,MAAO,OAC9B,CAAEu4C,MAAO,cAAev4C,MAAO,MAC/B,CAAEu4C,MAAO,eAAgBv4C,MAAO,OAElC,MAAM04C,WAA8B,EAClC,WAAAvxC,CAAY8I,GACVP,MA5BiB,EAACiO,EAAGmT,KACvB,IAAK,IAAIxV,KAAQwV,IAAMA,EAAI,CAAC,GACtB,GAAaxvB,KAAKwvB,EAAGxV,IACvB,GAAgBqC,EAAGrC,EAAMwV,EAAExV,IAC/B,GAAI,GACF,IAAK,IAAIA,KAAQ,GAAoBwV,GAC/B,GAAaxvB,KAAKwvB,EAAGxV,IACvB,GAAgBqC,EAAGrC,EAAMwV,EAAExV,IAEjC,OAAOqC,CAAC,EAmBA,CAAe,CAAEg7B,eAAgBF,IAA2BxoC,IAClEzM,KAAK+5B,SAAW,IAAI4D,GAAyB39B,KAAM,CAAEvC,KAAM,CAAC,iBAC5DuC,KAAKw/B,YAAc,KACjB,MAAM4V,EAAiB,GAAW1U,aAAa1gC,MAC/CA,KAAKsM,SAAS,CAAE6oC,eAAgBn1C,KAAKq1C,kBAAkBD,EAAe3oC,MAAMjQ,SAC5EwD,KAAKi5B,MAAMz4B,IACT40C,EAAenb,kBAAkBwD,IAC/B,MAAM0X,EAAiBn1C,KAAKq1C,kBAAkB5X,EAAUjhC,OAClD84C,EAAc,CAAEH,kBAClB7nC,QAAQtN,KAAKyM,MAAMkjB,eAAiBwlB,EAAe1sB,MAAK,EAAGjsB,WAAYA,IAAUwD,KAAKyM,MAAMkjB,gBAC9F2lB,EAAY3lB,YAAcilB,IAE5B50C,KAAKsM,SAASgpC,EAAY,IAE7B,EAEHt1C,KAAKq1C,kBAAqB5X,IACxB,MAAM8X,EAAW77B,KAAK87B,KAAK/X,EAAUgB,GAAGgX,KAAKhY,EAAU3Z,OACjD4xB,EAAaT,GAAwBU,WAAU,EAAGn5C,WACjC,EAAAo5C,UAAUC,aAAar5C,IACrB+4C,IAEzB,MAAO,CACLP,GACAF,MACGG,GAAwBpxB,MAAM6xB,GAAYt5C,KAAI,EAAG24C,QAAOv4C,YAAY,CAAGu4C,QAAOv4C,YAClF,EAEHwD,KAAK81C,qBAAwBnmB,IACvBA,IAAgBklB,GAClB70C,KAAK+1C,iBAEL/1C,KAAKsM,SAAS,CAAEqjB,eAClB,EAEF3vB,KAAK+1C,eAAiB,KACpB/1C,KAAKsM,SAAS,CAAEqjB,iBAAa,GAAS,EAExC3vB,KAAK28B,qBAAqB38B,KAAKw/B,YACjC,CACA,mBAAAwW,CAAoBvY,GAClB,IAAIwY,EACAC,EACJ,GAAIl2C,KAAKyM,MAAMkjB,YAAa,CAC1B,GAAI3vB,KAAKyM,MAAMkjB,cAAgBilB,GAAuB,CACpD,MAAMuB,EAAS1Y,EAAUgB,GAAGgX,KAAKhY,EAAU3Z,MAC3CmyB,GAAc,IAAA1S,UAAS9F,EAAU3Z,MAAMsyB,SAASD,GAChDD,GAAY,IAAA3S,UAAS9F,EAAUgB,IAAI2X,SAASD,EAC9C,MACEF,GAAc,IAAA1S,UAAS9F,EAAU3Z,MAAMsyB,SAAS,EAAAR,UAAUC,aAAa71C,KAAKyM,MAAMkjB,cAClFumB,GAAY,IAAA3S,UAAS9F,EAAUgB,IAAI2X,SAAS,EAAAR,UAAUC,aAAa71C,KAAKyM,MAAMkjB,cAEhF,MAAO,CACL7L,KAAMmyB,EACNxX,GAAIyX,EACJlX,IAAK,CACHlb,KAAMmyB,EACNxX,GAAIyX,GAGV,CAEF,CACA,WAAAlY,GACE,MAAO,CACLrO,YAAa3vB,KAAKyM,MAAMkjB,YAE5B,CACA,aAAAsO,CAAc39B,GACZ,IAAKA,EAAOqvB,YACV,OAEF,MAAMA,EAAcwO,GAAc79B,EAAOqvB,aACrCA,IACqB3vB,KAAKq1C,kBAAkB,GAAW3U,aAAa1gC,MAAMyM,MAAMjQ,OAC/DisB,MAAK,EAAGjsB,WAAYA,IAAUmzB,IAC/C3vB,KAAKsM,SAAS,CACZqjB,gBAGF3vB,KAAKsM,SAAS,CACZqjB,YAAa,qBAIrB,EA6CF,SAAS0mB,GAAUC,GACjB,MAAO,CACLC,eAAe,KAAAC,KAAI,CACjB,aAAc,CACZC,OAAQ,aAAaH,EAAMI,OAAOC,UAAUF,SAC5CG,MAAON,EAAMI,OAAOnV,KAAKtwB,SACzB4lC,QAAS,KAIjB,CArDA3B,GAAsBxpC,UACtB,UAAuC,MAAEkrB,IACvC,IAAIa,EACJ,MAAMqf,GAAS,KAAAC,YAAWV,KACpB,YAAE1mB,EAAW,eAAEwlB,GAAmBve,EAAMkF,YACvCkb,EAAiBC,GAAsB,aAAetnB,GACvDunB,EAAiG,OAAhFzf,EAAK0d,EAAe1sB,MAAK,EAAGjsB,MAAO26C,KAAaA,IAAWH,KAA4Bvf,EAAKqd,GAC7Gt4C,EAAQ24C,EAAe1sB,MAAK,EAAGjsB,MAAO26C,KAAaA,IAAWxnB,IAC9DynB,EAAU9pC,QAAQ9Q,GAClB66C,EAAU,KACVD,GACFH,EAAmBtnB,GACnBiH,EAAMmf,kBACIqB,GACVxgB,EAAMkf,qBAAqBoB,EAAc16C,MAC3C,EAEF,OAAuB,kBAAoB,GAAA86C,YAAa,KAAsB,kBAAoB,GAAAC,cAAe,CAC/GC,QAAS,SACTC,QAAS,+BACTJ,QAAU9+C,IACRA,EAAE+uB,kBACF/uB,EAAEgZ,iBACF8lC,GAAS,GAEM,kBAAoB,GAAAK,SAAU,CAC/C3C,MAAO,IACPv4C,MAAO46C,EACPC,YACE,cAAeD,EAA0B,kBAAoB,GAAAO,aAAc,CAC7EH,QAAS,SACTh7C,QACAiX,QAAS0hC,EACTyC,SAAW5U,IACTpM,EAAMkf,qBAAqB9S,EAAExmC,MAAM,IAElB,kBAAoB,GAAA+6C,cAAe,CACtDjoC,UAAWwnC,EAAOP,cAClBtlC,UAAU,EACVumC,QAAS,SACTK,QAAQ,GACPX,EAAcnC,OACnB,EC3KA,MAAM+C,GAAyB/P,GAAU,GAAGA,YCK5C,IAAI,GAAYjtC,OAAOgO,eACnB,GAAahO,OAAOwgB,iBACpB,GAAoBxgB,OAAOugB,0BAC3B,GAAsBvgB,OAAO2D,sBAC7B,GAAe3D,OAAOkC,UAAUM,eAChC,GAAexC,OAAOkC,UAAUoB,qBAChC,GAAkB,CAAC+K,EAAK1M,EAAKD,IAAUC,KAAO0M,EAAM,GAAUA,EAAK1M,EAAK,CAAEsM,YAAY,EAAMwC,cAAc,EAAMC,UAAU,EAAMhP,UAAW2M,EAAI1M,GAAOD,EACtJ,GAAiB,CAAC2d,EAAGmT,KACvB,IAAK,IAAIxV,KAAQwV,IAAMA,EAAI,CAAC,GACtB,GAAaxvB,KAAKwvB,EAAGxV,IACvB,GAAgBqC,EAAGrC,EAAMwV,EAAExV,IAC/B,GAAI,GACF,IAAK,IAAIA,KAAQ,GAAoBwV,GAC/B,GAAaxvB,KAAKwvB,EAAGxV,IACvB,GAAgBqC,EAAGrC,EAAMwV,EAAExV,IAEjC,OAAOqC,CAAC,EAEN,GAAgB,CAACA,EAAGmT,IAAM,GAAWnT,EAAG,GAAkBmT,IAC9D,SAASyqB,GAA+Br3C,GACtC,OAAOA,EAAKitC,MACV,IAAAvxC,MAAI,EAAEuf,EAAGqgB,MACP,MAAMyZ,EAAOzZ,EAAEyB,UAAU3Z,KAAK2xB,KAAK95B,EAAE8hB,UAAU3Z,MAwB/C,OAvBAkY,EAAEwB,OAAOjhC,SAASihC,IAChBA,EAAOuK,MAAQ+P,GAAsBta,EAAOuK,OAAS,IACrDvK,EAAOwa,KAAO,GAAc,GAAe,CAAC,EAAGxa,EAAOwa,MAAO,CAC3DC,YAAa,CACX9B,OAAQV,EACRyC,kBAAkB,KAGtB1a,EAAOmK,OAAOprC,SAAS+qC,IACjBA,EAAMziC,OAAS,EAAA+iC,UAAUC,OAC3BP,EAAMhnC,OAASgnC,EAAMhnC,OAAOlE,KAAK4mC,GACxByS,EAAO,EAAIzS,EAAIyS,EAAOzS,EAAIyS,KAGrCnO,EAAMzH,OAAS,GAAc,GAAe,CAAC,EAAGyH,EAAMzH,QAAS,CAC7D+W,MAAO,CACLuB,KAAM,QACNC,WAAY,EAAAvY,OAAOyW,MAAM+B,QAAQC,UAG9BhR,IACP,IAEG,GAAc,GAAe,CAAC,EAAG3rB,GAAI,CAC1C6hB,OAAQ,IAAI7hB,EAAE6hB,UAAWxB,EAAEwB,SAC3B,IAGR,CCxDA,IAAI,GAAY1iC,OAAOgO,eACnB,GAAahO,OAAOwgB,iBACpB,GAAoBxgB,OAAOugB,0BAC3B,GAAsBvgB,OAAO2D,sBAC7B,GAAe3D,OAAOkC,UAAUM,eAChC,GAAexC,OAAOkC,UAAUoB,qBAChC,GAAkB,CAAC+K,EAAK1M,EAAKD,IAAUC,KAAO0M,EAAM,GAAUA,EAAK1M,EAAK,CAAEsM,YAAY,EAAMwC,cAAc,EAAMC,UAAU,EAAMhP,UAAW2M,EAAI1M,GAAOD,EACtJ,GAAiB,CAAC2d,EAAGmT,KACvB,IAAK,IAAIxV,KAAQwV,IAAMA,EAAI,CAAC,GACtB,GAAaxvB,KAAKwvB,EAAGxV,IACvB,GAAgBqC,EAAGrC,EAAMwV,EAAExV,IAC/B,GAAI,GACF,IAAK,IAAIA,KAAQ,GAAoBwV,GAC/B,GAAaxvB,KAAKwvB,EAAGxV,IACvB,GAAgBqC,EAAGrC,EAAMwV,EAAExV,IAEjC,OAAOqC,CAAC,EAEN,GAAgB,CAACA,EAAGmT,IAAM,GAAWnT,EAAG,GAAkBmT,IClB9D,SAASirB,GAAcpvC,GACrB,YAAwB,IAAjBA,EAAI2yB,QACb,CACA,SAAS0c,GAAsBrvC,GAC7B,MAAO,sBAAuBA,CAChC,CCHA,IAAIsvC,GACAC,GAAsC,IAAIx5C,ICgB9C,IAAI,GAAYpE,OAAOgO,eACnB,GAAahO,OAAOwgB,iBACpB,GAAoBxgB,OAAOugB,0BAC3B,GAAsBvgB,OAAO2D,sBAC7B,GAAe3D,OAAOkC,UAAUM,eAChC,GAAexC,OAAOkC,UAAUoB,qBAChC,GAAkB,CAAC+K,EAAK1M,EAAKD,IAAUC,KAAO0M,EAAM,GAAUA,EAAK1M,EAAK,CAAEsM,YAAY,EAAMwC,cAAc,EAAMC,UAAU,EAAMhP,UAAW2M,EAAI1M,GAAOD,EACtJ,GAAiB,CAAC2d,EAAGmT,KACvB,IAAK,IAAIxV,KAAQwV,IAAMA,EAAI,CAAC,GACtB,GAAaxvB,KAAKwvB,EAAGxV,IACvB,GAAgBqC,EAAGrC,EAAMwV,EAAExV,IAC/B,GAAI,GACF,IAAK,IAAIA,KAAQ,GAAoBwV,GAC/B,GAAaxvB,KAAKwvB,EAAGxV,IACvB,GAAgBqC,EAAGrC,EAAMwV,EAAExV,IAEjC,OAAOqC,CAAC,EAEN,GAAgB,CAACA,EAAGmT,IAAM,GAAWnT,EAAG,GAAkBmT,IAC9D,IAAI,GAAU,IACd,SAAS,KACP,MAAO,MAAQ,IACjB,CACA,MAAMqrB,WAAyB,EAC7B,WAAAh1C,CAAYi1C,GACV1sC,MAAM0sC,GACN54C,KAAK64C,uBAAyB,IAAI,GAClC74C,KAAK84C,SAAW,IAAI,EAAAC,cACpB/4C,KAAKinC,YAAc,CAAE+R,cAAe,CAAEx8C,MAAOwD,KAAMuhC,KAAM,kBACzDvhC,KAAK65B,oBAAsB,IAAI,GAAyB75B,KAAM,CAC5D+rC,WAAY,CAAC,UAAW,cACxBM,2BAA4B,CAAC/L,EAAW8L,IAAsBpsC,KAAKqsC,2BAA2B/L,EAAW8L,KAE3GpsC,KAAKi5C,gBAAkB,CAACxb,EAAWyb,KACjC,MAAMC,EAAWn5C,KAAKo5C,kBAChB,YAAEC,EAAW,QAAEC,GAAYt5C,KAAKyM,MACtC,IAAI8sC,EACA7T,EAAU,GAAe,CAC3B8T,IAAK,SACLC,UAAW,KACXC,SAAUjc,EAAUyB,cACpBya,QAAS,EACTC,MAAOnc,EAAUhxB,MAAMjQ,MACvBopC,SAAU,KACVD,WAAY,IACZkU,SAAS,KAAAC,WAAUR,GACnBS,cAAe/5C,KAAKg6C,mBACpB5P,WAAYpqC,KAAKinC,YACjBgT,UAAW5W,KAAK6W,MAChBC,cAAen6C,KAAKyM,MAAM0tC,cAC1BC,SAAU,CACRt2B,KAAM2Z,EAAUhxB,MAAMqX,KACtB2a,GAAIhB,EAAUhxB,MAAMgyB,KCrE9B,SAAgC4b,GAC9B,MAAMp/C,EAAOo/C,EAAahf,UAC1B,OAAImd,GAAsBv9C,GACjBA,EAAKq/C,kBAAkBD,GAEzB,IACT,CDiES,CAAuBr6C,OACtBA,KAAKu6C,kBACP7U,EAAQ4D,QAAUtpC,KAAKu6C,gBAAgB9tC,MAAM68B,SAE/C5D,EAAQmU,QAAUnU,EAAQmU,QAAQz9C,KAAK4xC,IAChCA,EAAMF,aACTE,EAAMF,WAAaoL,EAAGtc,UAEjBoR,KAET,MAAMwM,EAAqBnB,GAA4BH,EAAGtT,SACpD6U,EAAO,EAAA7E,UAAU8E,kBAAkBjd,EAAUhxB,MAAMjQ,MAAOkpC,EAAQqU,cAAeS,GACvF9U,EAAQ0E,WAAatvC,OAAO0P,OAAO,CAAC,EAAGk7B,EAAQ0E,WAAY,CACzDuQ,WAAY,CAAEpZ,KAAMkZ,EAAK7U,SAAUppC,MAAOi+C,EAAK7U,UAC/CgV,cAAe,CAAErZ,KAAMkZ,EAAK9U,WAAWtoC,WAAYb,MAAOi+C,EAAK9U,cAEjED,EAAQE,SAAW6U,EAAK7U,SACxBF,EAAQC,WAAa8U,EAAK9U,WAC1B,MAAMkV,EAAmBpd,EAAUhxB,MAAMjQ,MACzC,GAAI28C,EAAU,CACZ,MAAM2B,EAAqB3B,EAASnD,oBAAoB6E,GACpDC,IACFvB,EAAmB,GAAc,GAAe,CAAC,EAAG7T,GAAU,CAC5DkU,MAAOkB,EACPrB,UAAW,OAEb/T,EAAU,GAAc,GAAe,CAAC,EAAGA,GAAU,CACnDkU,MAAOiB,IAGb,CACA,MAAO,CAACnV,EAAS6T,EAAiB,EAEpCv5C,KAAK+6C,eAAkBr6C,IACrBV,KAAK84C,SAAShyB,KAAK,CAAEoZ,OAAQlgC,KAAMU,SACnC,MAAMs6C,GAAmB,IAAAC,qBAAoBv6C,EAAMV,KAAKyM,MAAM/L,MACxDw6C,EAAwBl7C,KAAKm7C,mBAAmBH,GACtD,IAAII,EAAiBp7C,KAAKyM,MAAM4uC,gBAC3BD,GAAkBJ,EAAiBvuC,QAAU,GAAa6uC,UAC7DF,GAAiB,GAEnBp7C,KAAKu7C,mBAAqB76C,EAAK86C,YAC/Bx7C,KAAKsM,SAAS,CACZ5L,KAAMw6C,EACNG,gBAAiBD,GACjB,EAEJp7C,KAAK28B,sBAAqB,IAAM38B,KAAKw/B,eACvC,CACA,gBAAAS,GACE,OAAOjgC,KAAK84C,QACd,CACA,WAAAtZ,GACE,MAAM/B,EAAY,GAAWiD,aAAa1gC,MACpCm5C,EAAWn5C,KAAKo5C,iBAkBtB,OAjBID,GACFn5C,KAAKi5B,MAAMz4B,IACT24C,EAASlf,kBAAiB,CAACvhC,EAAGijB,KACxBjjB,EAAEi3B,cAAgBhU,EAAEgU,aACtB3vB,KAAKy7C,YACP,KAINz7C,KAAKi5B,MAAMz4B,IACTi9B,EAAUxD,kBAAiB,KACzBj6B,KAAK07C,iBAAiBje,EAAU,KAGhCz9B,KAAK27C,8BACP37C,KAAKy7C,aAEA,IAAMz7C,KAAK47C,eACpB,CACA,iBAAAC,GACE,MAAMC,EAAa,GAAW9R,cAAchqC,MACtC+7C,EAAc,GACdC,EAA6B,IAAIh9C,IACnC88C,EAAWjjD,OAAS,IACtBijD,EAAWv/C,SAASqoC,IAClBmX,EAAY13C,KAAKugC,EAAM3E,mBAAmB,IAE5CjgC,KAAKi8C,gBAAiB,IAAAC,OAAMH,GAAapO,MACvC,IAAAwO,aACA,IAAA//C,MAAK4mC,IACHgZ,EAAWr/C,IAAIqmC,EAAE9C,OAAOzzB,MAAMhQ,IAAKumC,EAAEtiC,MAC9Bs7C,MAET9hB,WAAW79B,IACX2D,KAAKo8C,kBAAkB//C,EAAO,IAGpC,CACA,iBAAA+/C,CAAkBC,GAChB,IAAI5kB,EAAIE,EACR,MAAM8F,EAAY,GAAWiD,aAAa1gC,MACpC87C,EAAa,GAAW9R,cAAchqC,OACtC,gBAAEs8C,GAAoBt8C,KAAKyM,MACjC,IAEI8vC,EAFAf,EAAc,GACdgB,EAAc,GAElB,MAAMC,EAAY9jD,MAAMmrB,KAAKu4B,EAAQ5+C,QAarC,GAZA9E,MAAMmrB,KAAKu4B,EAAQ/7C,UAAU/D,SAAQ,CAACF,EAAQsO,KAC5C,MAAM+xC,EAAWD,EAAU9xC,GACrBi6B,EAAQkX,EAAWrzB,MAAMxD,GAAMA,EAAExY,MAAMhQ,MAAQigD,IACjD9X,IACEA,EAAM+X,QAAU,EAAAC,UAAUC,aAAexgD,EAAO,EAAAugD,UAAUC,eAC5DrB,EAAcA,EAAYjkC,OAAOlb,EAAO,EAAAugD,UAAUC,eAEhC,gBAAhBjY,EAAM+X,QACRH,EAAcA,EAAYjlC,OAAOlb,EAAOmhC,SAE5C,KAEqB,MAAnB8e,OAA0B,EAASA,EAAgB3C,WACjD6B,EAAY3iD,OAAS,IACvB2iD,EH1KR,SAA2B96C,EAAM4oC,GAC/B,IAAI7R,EACJ,IAAK9+B,MAAMC,QAAQ8H,IAAyB,IAAhBA,EAAK7H,OAC/B,OAAO6H,EAET,MAAMo8C,EAAOnkD,MAAMmrB,KAAK,CAAEjrB,OAAQ6H,EAAK7H,SAAU,IAAsB,IAAIqG,MAC3E,IAAI69C,EAAW,EACf,IAAK,MAAM3V,KAAS1mC,EAAM,CACxB,IAAK,IAAIxE,EAAQ,EAAGA,EAAQkrC,EAAMvuC,OAAQqD,IAAS,CACjD,GAAI4gD,EAAKC,GAAU34C,IAAIlI,GACrB,SAEF,IAAI2xB,GAAW,EACf,MAAMmvB,EAAe5V,EAAMO,OAAOlf,MAAMhwB,GAAiB,YAAXA,EAAE+J,OAC1Cy6C,EAAc7V,EAAMO,OAAOlf,MAAMhwB,GAAiB,WAAXA,EAAE+J,OAC/C,GAAIy6C,EAAa,CACXD,GAAmD,cAAnCC,EAAY38C,OAAOpE,GAAO2I,OAC5CgpB,EAAWmvB,EAAa18C,OAAOpE,KAAWotC,EAAQqQ,SAEpD,MAAMuD,EAAeD,EAAY38C,OAAOpE,GAAOgf,OAC/C,GAAIgiC,EAAc,CAChB,MAAM9mB,GAAuC,OAA1BqB,EAAKylB,EAAaC,KAAe1lB,EAAK,IAAIrB,SAASkT,EAAQqQ,SAC1EuD,EAAarlB,QACXzB,IACFvI,GAAW,GAEHuI,IACVvI,GAAW,EAEf,CACF,CACIA,GACFivB,EAAKC,GAAUv8C,IAAItE,EAEvB,CACA6gD,GACF,CACA,MAAMK,EAAY,GAClBL,EAAW,EACX,IAAK,MAAM3V,KAAS1mC,EAAM,CACxB,MAAM28C,EAAcP,EAAKC,GAAUzgD,KAC7BqrC,EAAS,GACf,IAAK,MAAML,KAASF,EAAMO,OAAQ,CAChC,MAAMplC,EAAS,GACf,IAAK,IAAIrG,EAAQ,EAAGA,EAAQkrC,EAAMvuC,OAAQqD,IACpC4gD,EAAKC,GAAU34C,IAAIlI,IACrBqG,EAAO8B,KAAKijC,EAAMhnC,OAAOpE,IAI7ByrC,EAAOtjC,KAAK,GAAc,GAAe,CAAC,EAAGijC,GAAQ,CACnDhnC,OAAQiC,IAEZ,CACA66C,EAAU/4C,KAAK,GAAc,GAAe,CAAC,EAAG+iC,GAAQ,CACtDO,SACA9uC,OAAQwkD,KAEVN,GACF,CACA,OAAOK,CACT,CG6GsBE,CAAkB9B,EAAac,IAE3CE,EAAY3jD,OAAS,GACvB,IAAK,MAAMuuC,KAASoV,EAAa,CAC/B,MAAMe,EAAY,IAAI,EAAAC,cAAcpW,GACpC,IAAK,MAAMqW,KAAOF,EAChB,GAAIE,EAAI9D,UAAY2C,EAAgB3C,QAAS,CAC3C4C,EAAakB,EACb,KACF,CAEJ,CAGJ,MAAMC,EAAkB19C,KAAKyM,MAAM/L,KAAOV,KAAKyM,MAAM/L,KAAO,GAAc,GAAe,CAAC,EAAG,IAAiB,CAAE+8B,UAAWA,EAAUhxB,MAAMjQ,QAC3IwD,KAAK29C,kBAAoBnC,EACzBx7C,KAAKsM,SAAS,CACZ5L,KAAM,GAAc,GAAe,CAAC,EAAGg9C,GAAkB,CACvDlC,YAAa,IAAsC,OAAjC/jB,EAAKz3B,KAAKu7C,oBAA8B9jB,EAAK,MAAO+jB,GACtEe,WAA0B,MAAdA,EAAqBA,EAAuC,OAAzB5kB,EAAK33B,KAAKyM,MAAM/L,WAAgB,EAASi3B,EAAG4kB,cAGjG,CACA,0BAAAlQ,CAA2BuR,EAA2BxR,IAC/CpsC,KAAKyM,MAAMstC,gBAAiB/5C,KAAKyM,MAAMoxC,wBAA2B79C,KAAK89C,mBAGxE99C,KAAKyM,MAAMsxC,wBAIX3R,IAHFpsC,KAAKy7C,YAMT,CACA,0BAAAE,GACE,SAAK37C,KAAKyM,MAAMstC,eAAiB/5C,KAAKyM,MAAMoxC,yBAA2B79C,KAAK89C,kBAGxE99C,KAAK64C,uBAAuBpK,uBAAuBzuC,OACrD,GACE,mBACA,uFAEK,GAEJA,KAAKyM,MAAM/L,OAGZV,KAAKg+C,sBAAsBh+C,KAAKyM,MAAM/L,OAI5C,CACA,qBAAAs9C,CAAsBt9C,GACpB,MACMu9C,EADY,GAAWvd,aAAa1gC,MACTyM,MAAMjQ,MACjC0hD,EAAgBx9C,EAAK+8B,UAC3B,OAAIwgB,EAAen6B,KAAKq6B,SAAWD,EAAcp6B,KAAKq6B,QAAUF,EAAexf,GAAG0f,SAAWD,EAAczf,GAAG0f,UAG9G,GAAc,mBAAoB,6BAC3B,EACT,CACA,aAAAvC,GACM57C,KAAKo+C,YACPp+C,KAAKo+C,UAAUviB,cACf77B,KAAKo+C,eAAY,GAEfp+C,KAAKi8C,iBACPj8C,KAAKi8C,eAAepgB,cACpB77B,KAAKi8C,oBAAiB,GAEpBj8C,KAAKq+C,iBACPr+C,KAAKq+C,gBAAgBxiB,cAEvB77B,KAAK64C,uBAAuB1K,4CAA4CnuC,KAC1E,CACA,iBAAAs+C,CAAkB/oC,IACXvV,KAAK89C,iBAAmBvoC,EAAQ,GACnCvV,KAAK89C,gBAAkBvoC,EACnBvV,KAAKyM,MAAMoxC,yBAA2B79C,KAAKyM,MAAMstC,eACnD7I,YAAW,KACLlxC,KAAKy5B,WAAaz5B,KAAKyM,MAAM4uC,iBAC/Br7C,KAAKy7C,YACP,GACC,IAGDlmC,EAAQ,IACVvV,KAAK89C,gBAAkBvoC,EAG7B,CACA,oBAAAgpC,GACE,OAAOjxC,QAAQtN,KAAKyM,MAAM4uC,gBAC5B,CACA,UAAAI,GACE,MAAMhe,EAAY,GAAWiD,aAAa1gC,MAC1CA,KAAK07C,iBAAiBje,EACxB,CACA,gBAAAuc,GACE,IAAIviB,EACJ,OAAIz3B,KAAKyM,MAAMstC,cACN/5C,KAAKyM,MAAMstC,cAEb/5C,KAAKyM,MAAMoxC,wBAAwD,OAA9BpmB,EAAKz3B,KAAK89C,iBAA2BrmB,EAAW,GAC9F,CACA,WAAA+mB,GACE,IAAI/mB,EACqB,OAAxBA,EAAKz3B,KAAKo+C,YAA8B3mB,EAAGoE,cACxC77B,KAAKi8C,iBACPj8C,KAAKi8C,eAAepgB,cACpB77B,KAAKi8C,oBAAiB,GAExBj8C,KAAKsM,SAAS,CACZ5L,KAAM,GAAc,GAAe,CAAC,EAAGV,KAAKyM,MAAM/L,MAAO,CAAE+L,MAAO,GAAa8wB,QAEnF,CACA,sBAAMme,CAAiBje,GACrB,IAAIhG,EAAIE,EACH33B,KAAKi8C,gBACRj8C,KAAK67C,oBAEP,MAAM4C,GAAa,IAAAC,iBAEnB,GADyB,OAAxBjnB,EAAKz3B,KAAKo+C,YAA8B3mB,EAAGoE,cACxC,GAAWyP,oCAAoCtrC,MAGjD,OAFA,GAAc,mBAAoB,0EAClCA,KAAKsM,SAAS,CAAEyxC,wBAAwB,IAGtC/9C,KAAKyM,MAAMsxC,wBACb/9C,KAAKsM,SAAS,CAAEyxC,wBAAwB,IAE1C,MAAM,QAAEzE,GAAYt5C,KAAKyM,MACzB,GAAiB,MAAX6sC,OAAkB,EAASA,EAAQzgD,OAIzC,IACE,MAAMi1C,EAA6C,OAA/BnW,EAAK33B,KAAKyM,MAAMqhC,YAAsBnW,EAiEhE,SAA6BkiB,GAC3B,IAAIpiB,EAAIE,EACR,OAAoG,OAA5FA,EAA0D,OAApDF,EAAKoiB,EAAQpxB,MAAMjwB,GAAuB,OAAjBA,EAAEs1C,mBAAgC,EAASrW,EAAGqW,YAAsBnW,OAAK,CAClH,CApEqEgnB,CAAoBrF,GAC7EJ,QAAW,GAAcpL,EAAY9tC,KAAKinC,aAC3CjnC,KAAKu6C,iBACRv6C,KAAK4+C,+BAA6C,MAAd9Q,OAAqB,EAASA,EAAWlxC,KAE/E,MAAO8oC,EAAS6T,GAAoBv5C,KAAKi5C,gBAAgBxb,EAAWyb,GACpE,GAAc,mBAAoB,sBAAuBl5C,KAAKyM,MAAMhQ,KAElEuD,KAAKo+C,UADH7E,GACe,IAAAsF,UAAS,CAACJ,EAAWvF,EAAIxT,GAAU+Y,EAAWvF,EAAIK,KAAoB5L,KAAKoK,IAAgC7d,UAAUl6B,KAAK+6C,gBAE1H0D,EAAWvF,EAAIxT,GAASxL,UAAUl6B,KAAK+6C,eAE5D,CAAE,MAAOvzC,GACPiG,QAAQiuB,MAAM,yBAA0Bl0B,GACxC,MAAMnL,EAAS,GAAc,GAAe,GAAe,CAAC,EAAG,IAAiB2D,KAAKyM,MAAM/L,MAAO,CAChG+L,MAAO,GAAahF,MACpB4nC,OAAQ,EAAC,IAAAyP,kBAAiBt3C,MAE5BxH,KAAKsM,SAAS,CACZ5L,KAAMrE,GAEV,MAzBE2D,KAAK++C,iBA0BT,CACA,kBAAA5D,CAAmBz6C,GACjB,IAAI+2B,EAOJ,OANIz3B,KAAKyM,MAAM/L,MAAQV,KAAKyM,MAAM/L,KAAK86C,cACrC96C,EAAK86C,aAAe96C,EAAK86C,aAAe,IAAIjkC,OAAwC,OAAhCkgB,EAAKz3B,KAAK29C,mBAA6BlmB,EAAK,KAE9Fz3B,KAAKyM,MAAM/L,MAAQV,KAAKyM,MAAM/L,KAAK67C,aACrC77C,EAAK67C,WAAav8C,KAAKyM,MAAM/L,KAAK67C,YAE7B77C,CACT,CACA,eAAAq+C,GACM/+C,KAAKyM,MAAM/L,OAAS,IACtBV,KAAKsM,SAAS,CAAE5L,KAAM,IAE1B,CACA,cAAA04C,GACE,OAAKp5C,KAAK05B,OAGHmD,GAAW78B,KAAK05B,QAASsC,IAC9B,IAAImJ,EAAQ,KACZ,OAAInJ,aAAakZ,GACRlZ,GAETA,EAAEhC,cAAc9Y,IACVA,aAAiBg0B,KACnB/P,EAAQjkB,EACV,IAEKikB,EAAK,IAZL,IAcX,CACA,8BAAAyZ,CAA+BhiD,GAC7B,IAAI66B,EACJ,MAAM96B,ED/VV,SAAuCqiD,GACrC,IAAIvnB,EACJ,IAAK,MAAMvc,KAAUw9B,GAAoBp4C,SACvC,IAAuC,OAAjCm3B,EAAKvc,EAAOzO,MAAMqhC,iBAAsB,EAASrW,EAAG76B,OAASoiD,EACjE,OAAO9jC,CAIb,CCuVgB+jC,CAA8BriD,GACrCD,GAA+B,oBAAxBA,EAAI8P,MAAMyyC,YAGtBl/C,KAAKu6C,gBAAkB59C,EACvBqD,KAAKq+C,gBAAiD,OAA9B5mB,EAAKz3B,KAAKu6C,sBAA2B,EAAS9iB,EAAGwC,kBAAiB,IAAMj6B,KAAKy7C,eACvG,EExYF,MAAM0D,GAAa,CACjBC,YAAa,CACXC,WAAaC,GAAU,eAAeA,gBAExCC,WAAY,CACVC,WAAY,qCACZC,UAAW,wBACXC,QAAS,sBACTC,eAAgB,uCAChBC,SAAU,CACR7K,MAAO,sBACPyK,WAAY,2BACZK,YAAa,6BAEfC,uBAAwB,0CAE1BC,sBAAuB,CACrBC,KAAM,IAAM,6BACZC,SAAU,gCACVC,WAAY,uBACZC,gBAAiB,oBAEnBC,WAAY,CACVC,SAAU,CACRC,SAAU,CACRC,wBAAyB,4CACzBC,eAAgB,kCAChB5mC,IAAK,eACLD,IAAK,eACL8mC,MAAO,iBACPC,YAAa,wBACbC,OAAQ,kBACRC,WAAY,uBACZC,KAAM,yBAGVC,uBAAwB,CACtBC,SAAU,gCAEZC,OAAQ,CACNC,aAAc,YAEhBC,WAAY,CACVC,WAAY,CACVC,mBAAoB,6BACpBC,mBAAoB,wBAEtBC,eAAgB,oBAGpBC,KAAM,CACJC,cAAgBlC,GAAU,GAAGA,SAC7BmC,UAAYnC,GAAU,GAAGA,eACzBoC,SAAWpC,GAAU,GAAGA,cACxBqC,QAAS,CACPC,UAAW,oBACXC,KAAM,iBAGVC,OAAQ,CACNC,MAAO,CACLzC,MAAQA,GAAU,4BAA4BA,IAC9C0C,YAAcx5B,GAAS,qBAAqBA,IAC5Cy5B,UAAYz5B,GAAS,+BAA+BA,IACpD05B,KAAO5C,GAAU,0BAA0BA,IAC3C6C,iBAAmB7C,GAAU,GAAGA,UAChC8C,iBAAmBjK,GAAS,gBAAgBA,IAC5CkK,WAAY,IAAM,oBAClBC,YAAa,CACXV,UAAW,sCACXW,SAAU,0BAGdC,cAAe,CACbC,MAAO,CACLb,UAAW,kBACXc,iBAAkB,CAChBC,cAAe,kBAEjBC,OAAQ,CACNC,gBAAkBrgD,GAAS,aAAaA,IACxCsgD,iBAAkB,mBAEpBC,MAAO,CACL1a,OAAQ,IAAM,0CAGlB2a,SAAU,CAIRxmD,MAAO,kBACPymD,QAAS,+BAEXC,SAAU,CACRC,SAAU,mBAEZzf,KAAM,CACJke,UAAW,IAAM,kBAEnBwB,MAAO,CACLC,OAAQ,eACRC,OAAQ,kBAIdC,UAAW,CACTC,WAAahhD,GAAS,oBAAoBA,KAE5CihD,OAAQ,CACNC,QAAS,CACPpE,MAAQA,GAAU,gBAAgBA,IAClCqE,OAAQ,gBACRC,SAAU,kBACVC,MAAO,eACPC,iBAAkB,IAAM,+BAG5BC,YAAa,CACXL,QAAS,CACPM,QAAS,wBAEXC,YAAa,CACXD,QAAS,mCACTE,OAAQ,kCACRC,WAAat/C,GAAS,GAAGA,2BAG3Bu/C,SAAU,CACRJ,QAAS,kCAEXK,YAAa,qDACbC,gBAAiB,gCACjBC,iBAAkB,iCAClBC,gBAAiB,oBAEjBC,cAAe,sBAEjBC,eAAgB,CACdC,KAAM,CACJX,QAAS,gCAEXY,MAAO,CACLZ,QAAS,iCAEXa,KAAM,CACJb,QAAS,gCAEXc,MAAO,CACLd,QAAS,gCACTe,cAAe,uCACfC,eAAgB,IAAM,wBAG1BC,IAAK,CACH3F,MAAQA,GAAU,OAAOA,IACzB4F,OAAQ,IAAM,8BAEhBC,cAAe,CAIbC,UAAW,2BAIXC,eAAgB,gCAChBC,YAAa,uCACbC,iBAAkB,6CAEpBjF,SAAU,CACR0D,QAAS,2BACTwB,qBAAsB,yBACtBC,mBAAoB,sBACpBC,SAAU,iCAEZC,aAAc,CACZC,UAAW,cAEbC,gBAAiB,CACf/I,KAAM,oBAERgJ,eAAgB,CACdC,aAAezG,GAAU,GAAGA,IAC5BA,MAAQvX,GAAU,0BAA0BA,IAC5C6Z,UAAY7Z,GAAU,oBAAoBA,KAE5Cie,SAAU,CACRhC,QAAS,4BAEXiC,MAAO,CAILC,MAAQC,GAAa,SAASA,IAC9BC,QAAUD,GAAa,qBAAqBA,KAE9CE,aAAc,CACZrC,QAAS,+BACTsC,aAAe9jD,GAAS,iBAAiBA,IACzC+jD,qBAAuB/jD,GAAS,yBAAyBA,IACzDgkD,6BAA+BhkD,GAAS,kCAAkCA,KAE5EikD,WAAY,CACVC,KAAOlkD,GAAS,iBAAiBA,IACjCmkD,OAAQ,CACNC,UAAW,uBACXC,kBAAmB,gCAErBC,kBAAmB,CACjBC,YAAa,oCACbC,cAAe,sCACf3/C,SAAU,CACR4/C,WAAY,uBACZC,OAAQ,CACNC,OAAQ,yBACRC,mBAAoB,4CACpBC,oBAAqB,8CAEvBC,QAAS,CACPH,OAAQ,0BACRI,kBAAmB,4CAErBC,OAAQ,CACNL,OAAQ,yBACRM,iBAAkB,0CAClBC,oBAAqB,0CAI3BC,YAAa,0BAEfC,OAAQ,CACNC,cAAe,CACbh3C,OAAQ,iBAEVi3C,OAAQ,CACNj3C,OAAQ,eAEVk3C,UAAW,CACTl3C,OAAQ,cAGZm3C,QAAS,CACPx/B,KAAM,6BAERy/B,WAAY,CACVrG,UAAW,2BAEbsG,YAAa,CACXtG,UAAW,IAAM,gBACjBp5B,KAAOivB,GAAY,GAAGA,IACtB0Q,WAAa7I,GAAU,eAAeA,KAExC8I,uBAAwB,CACtBv3C,OAASyuC,GAAU,mCAAmCA,KAExD+I,WAAY,CACVC,UAAW,WAEbC,aAAc,CACZC,MAAQlJ,GAAUA,EAAQ,iBAAiBA,IAAU,gBACrDmJ,OAASnJ,GAAUA,EAAQ,iBAAiBA,WAAiB,wBAE/DoJ,oBAAqB,CACnBlgC,KAAO82B,GAAU,6BAA6BA,IAC9CnxC,QAAS,IAAM,wCAEjBw6C,OAAQ,CACNxB,OAAQ,gBACRp8C,MAAO,IAAM,kCACb69C,YAAa,IAAM,8BAErBC,kBAAmB,CACjB7E,QAAS,+BAEX8E,sBAAuB,CACrB9E,QAAS,kCAEX+E,aAAc,CAIZnH,UAAW,iCACXoH,YAAa,6CACbj+C,MAAO,mBAETk+C,qBAAsB,CACpBrH,UAAW,uDAEbsH,iBAAkB,CAChBtH,UAAW,kDAIX72C,MAAO,IAAM,iCACbo+C,QAAS,wBAEXC,eAAgB,CAIdxH,UAAW,oCACXoH,YAAa,iDAEfK,gBAAiB,CAIfzH,UAAW,kCACXoH,YAAa,8CACb3jC,YAAa,mCAEfikC,YAAa,CACXC,QAAS,gCAEXC,WAAY,CAAE5H,UAAW,eACzB6H,aAAc,CACZC,cAAe,iBACfC,YAAa,eACbC,YAAa,eACbC,oBAAqB,yBAEvBC,YAAa,CACXj5C,OAASrO,GAAS,uBAAuBA,IACzC0hD,OAAS1hD,GAAS,uBAAuBA,KAE3CunD,OAAQ,CAINC,QAAS,iBACTC,UAAW,6BAIXC,MAAO,eACPC,QAAS,2BACTC,MAAO,2BACPC,eAAiBC,GAAc,+BAA+BA,IAC9DC,aAAeD,GAAc,6BAA6BA,IAC1DE,cAAgBhiC,GAAS,GAAG22B,GAAW4K,OAAOU,kBAAkBjiC,IAChEkiC,cAAgBliC,GAAS,2BAA2BA,IACpDmiC,aAAeC,GAAe,6BAA6BA,IAC3DC,cAAgBD,GAAe,8BAA8BA,IAC7DH,eAAgB,qCAElBK,eAAgB,CACdlJ,UAAW,uCACXmJ,SAAU,sCACVC,KAAM,8BAERC,iBAAkB,CAChBpJ,KAAM,qBAERqJ,iBAAkB,CAIhBr6C,OAASrO,GAAS,yBAAyBA,IAC3C2oD,SAAW3oD,GAAS,qCAAqCA,KAE3D4oD,qBAAsB,CACpBC,WAAY,aAEdC,WAAY,CACV1J,UAAW,yBAEb2J,oBAAqB,CACnBC,SAAU,wCACVC,OAAQ,8BAEVC,oBAAqB,CACnBlpD,KAAM,qCACNipD,OAAQ,uCAEVE,qBAAsB,CACpB3H,QAAS,oCAEX4H,qBAAsB,CACpBlF,KAAOlkD,GAAS,0BAA0BA,KAE5CqpD,YAAa,CACXrpD,KAAM,2BAERspD,aAAc,CACZxM,MAAQA,GAAU,mCAAmCA,KAEvDyM,YAAa,CACXC,kBAAmB,gCACnBC,sBAAuB,gCACvBC,UAAW,8BACXC,cAAe,mCAEjBC,WAAY,CACVC,WAAY,sCACZC,aAAc,qCAEhBC,aAAc,CACZC,QAAS,iBAEXC,cAAe,CACb1hD,MAAO,QAET2hD,uBAAwB,CACtB77C,OAAQ,sBAEV87C,UAAW,CACTC,eAAgB,+BAElB/P,YAAa,CACXgQ,qBAAsB,yBACtBC,4BAA6B,wBCvZ3BC,GAAY,CAChBC,MCJY,CACZC,MAAO,CACLC,IAAK,SACLC,SAAU,uBACVC,SAAU,uBACV3B,OAAQ,eACR4B,KAAM,+BAERC,KAAM,CACJJ,IAAK,KAEP9M,WAAY,CACV59C,KAAM,6CACN04B,OAAQ,0CACRqyB,SAAU,8CACVC,YAAa,6DACbtH,MAAO,mCAETuH,YAAa,CACXP,IAAK,eACLQ,YAAcC,GAAmB,yBAAyBA,KAE5DC,eAAgB,CACdV,IAAMW,GAAkB,qBAAqBA,IAC7CC,SAAU,2CAEZC,cAAe,CACbb,IAAK,mBAELc,kBAAoBC,GAAe,2BAA2BA,IAC9DC,oBAAsBD,GAAe,uBAAuBA,KAE9DE,aAAc,CACZjzB,OAAQ,2CAEVkzB,aAAc,CACZlB,IAAK,iBACL/E,WAAa7I,GAAU,eAAeA,IACtC+O,YAAa,gBACbC,UAAW,cACXC,mBAAoB,oCAEtBC,UAAW,CACTtB,IAAMtwD,GAAQ,MAAMA,IACpB6xD,QAAS,CAIPC,IAAK,uBACLC,MAAO,mCACPC,mBAAoB,oCAEtBjN,QAAS,CACPkN,QAAS,oBACTC,YAAa,gCACbC,kBAAoBvmC,GAAS,0DAA0DA,IACvFwmC,uCAAyCxmC,GAAS,oFAAoFA,IACtIymC,iCAAkC,mBAClCC,oCAAsC1mC,GAAS,gFAAgFA,IAC/Hq0B,YAAa,CACXsS,mBAAoB,iCACpBC,gBAAkBra,GAAU,mDAAmDA,IAC/Esa,iBAAmBta,GAAU,oDAAoDA,MAGrFua,SAAU,CACRC,QAAS,CACP1L,MAAO,wCAETH,QAAS,CACP8L,gBAAiB,kDACjBC,aAAejnC,GAAS,mCAAmCA,IAC3DknC,cAAe,+CACfC,gBAAiB,kDAIjBjW,SAAU,oCACV4F,MAAO,eAETzC,YAAa,CACX+S,KAAM,CAIJC,iBAAkB1Q,GAAW+L,iBAAiBr6C,OAAO,wBACrDi/C,mBAAoB3Q,GAAW+L,iBAAiBC,SAAS,yBAE3DmE,SAAU,CACR9sD,KAAM,mCAERutD,cAAe,CACbC,kBAAmB,uCACnBC,YAAa,gBACbC,mBAAoB,oCAGxBvD,UAAW,CACTiD,KAAM,CAIJO,eAAgBhR,GAAW+L,iBAAiBr6C,OAAO,gBACnDu/C,iBAAkBjR,GAAW+L,iBAAiBC,SAAS,gBACvDkF,UAAW,sCACXC,MAAO,wBACPC,mBAAqB1jB,GAAiB,oCAAoCA,IAC1E2jB,yBAA2B3jB,GAAiB,0CAA0CA,IACtF4jB,uBAAyB5jB,GAAiB,wCAAwCA,IAClF6jB,yBAA2B7jB,GAAiB,0CAA0CA,IACtF8jB,yBAA2B9jB,GAAiB,0CAA0CA,IACtF+jB,sBAAwB/jB,GAAiB,uCAAuCA,KAElFgkB,KAAM,CACJnN,QAAS,CACPoN,WAAY,8BACZC,aAAc,kCAIdC,cAAe,mCACfC,iBAAkB,kCAClBC,mBAAoB,8CACpBC,kBAAmB,mCACnBC,oBAAqB,+CACrBC,kBAAmB,mCACnBC,oBAAqB,+CACrBC,kBAAmB,mCACnBC,oBAAqB,+CACrBC,4BAA6B,oCAC7BC,iCAAkC,yCAClCC,+BAAgC,wCAChCC,iCAAkC,oDAClCC,sBAAuB,2CACvBC,aAAc,gCACdzN,YAAa,4CAEf0N,cAAe,CACbC,6BAA8B7S,GAAW+J,iBAAiBtH,UAC1DqQ,0BAA2B,4CAC3BC,4BAA6B,wDAC7BC,uBAAwB,yCACxBC,yBAA0B,qDAC1BC,uBAAwB,yCACxBC,yBAA0B,qDAC1BC,uBAAwB,8DACxBC,6BAA8B,4CAC9BC,8BAA+B,6CAC/BC,oCAAqC,oDAEvCC,iBAAkB,CAChBC,0BAA2B,4CAC3BC,4BAA6B,yDAE/BC,mBAAoB,CAClBC,iBAAkB,mDAEpBC,gBAAiB,CACfC,yBAA0B,2CAC1BC,2BAA4B,wDAE9BC,eAAgB,CACdC,iBAAkB,qCAEpBC,iBAAkB,CAChBC,oBAAqB,oDAK7BzW,YAAa,CACX0W,OAAQ,kCAGZC,WAAY,CACVtG,IAAK,cAILuG,WAAanU,GAAU,yBAAyBA,KAElDoU,qBAAsB,CACpBC,QAAS,6BACTC,KAAM,yBAERC,mBAAoB,CAClBD,KAAM,sDACNE,cAAe,kEACfC,cAAe,mEAEjBC,gBAAiB,CACfC,oBAAqB,0BAEvBC,oBAAqB,CACnBC,YAAa,2BACbC,gBAAiB,CACfnP,IAAK,uBACLoP,qBAAsB,uDACtBC,kBAAmB,4DACnBC,qBAAsB,0DACtBC,YAAa,4CACbC,wBAAyB,6DACzBC,aAAc,6CACdC,aAAc,6CACdC,aAAc,8CACdC,cAAe,+CACfC,8BAA+B,iEAC/BC,mCAAoC,8DACpCC,gCAAiC,2DACjCC,sBAAuB,4DACvBC,0BAA2B,CACzBC,UAAW,6CACXC,UAAW,0CACXC,kBAAmB,mDACnBC,yBAA0B,2DAC1BC,iBAAkB,kDAClBC,YAAa,mDACbC,YAAa,sDAInBrB,gBAAiB,CACfsB,KAAM,wBACNC,aAAc,CACZ/T,UAAW,iCACXtC,MAAO,yBACPsW,kBAAmB,wCAGvBC,kBAAmB,CACjB7V,KAAM,2BACN8V,eAAgB,sCAChBhE,aAAc,qCAEhBiE,QAAS,CACP7I,IAAK,WACLxJ,QAAS,CACP9B,UAAW,sBACXoU,MAAO,gBACP1F,MAAO,gBACP2F,WAAY,qCAGhBC,UAAW,CACThJ,IAAMwI,GAAS,WAAWA,KAE5BS,YAAa,CACXT,KAAM,oBACNU,KAAM,eACNC,SAAU,oBACVC,qBAAsB,2BAExBC,WAAY,CACVb,KAAM,cACNc,cAAe,wBACfC,aAAc,wBAEhBC,aAAc,CACZl0D,KAAM,gBACNojC,SAAU,oBACV+wB,WAAY,wBAEdC,gBAAiB,CACftG,MAAO,CACL7S,IAAM7gD,GAAQ,eAAeA,QAC7Bi6D,SAAWj6D,GAAQ,eAAeA,eAGtCmtD,OAAQ,CACNmD,IAAK,iBACL4J,WAAY,CACV5J,IAAK,iCAGT6J,iBAAkB,CAChBC,SAAU,CACRC,WAAY,+BACZC,aAAc,wCACdC,eAAgB,mCAGpBC,aAAc,CACZC,KAAM,CACJC,SAAU,4BACVC,SAAU,4BACVC,sBAAuB,0CACvBC,MAAO,yBAETC,IAAK,CACHxK,IAAK,cAEPyK,MAAO,CACLzK,IAAK,gBAEP0K,iBAAkB,CAChBhW,UAAW,4CAEbiW,kBAAmB,CACjBjW,UAAW,oCAEbkW,cAAe,CACblW,UAAW,+BAEbmW,8BAA+B,CAC7BnW,UAAW,gDACXoW,oBAAqB,CACnB3B,SAAWz5D,GAAQ,oCAAoCA,QD7S7Dq7D,WAAY9Y,IEHd,SAAS8L,GAAiB/jD,GACxB,OAAuB,kBAAoB,GAAAgxD,QAAS,CAClDlU,QAAS,gBACQ,kBAAoB,GAAAmU,KAAM,CAC3C7oD,UAAW,iBACX9M,KAAM,OACNlG,KAAM,KACN,aAAcywD,GAAUkL,WAAWhN,iBAAiBpJ,KACpDuW,KAAM,SACNznD,YAAcpY,IACZ2O,EAAMmxD,SAAS9/D,EAAE,IAGvB,CCXA,SAAS+/D,GAAcpxD,GACrB,MAAM4vC,GAAS,KAAAC,YAAW,IACpBT,GAAQ,KAAAiiB,aACRC,EAA8B,aAAjBtxD,EAAMud,OACnBg0C,EAAmBnrD,QAAQpG,EAAMwxD,WAA6B,kBAAoB,MAAO,CAC7F7pD,MAAO,CAAEwK,WAAYi9B,EAAMqiB,QAAQ,GAAIp/C,UAAW,SACjC,kBAAoB0xC,GAAkB,CACvDoN,SAAW9/D,IACT,IAAIk/B,EACJl/B,EAAEgZ,iBACFhZ,EAAE+uB,kBACuB,OAAxBmQ,EAAKvwB,EAAMmxD,WAA6B5gC,EAAG35B,KAAKoJ,EAAM,KAErD,KACN,IAAI0xD,EAAiB,KACjB1xD,EAAMw0B,QACRk9B,EAAiC,kBAAoB,GAAAV,QAAS,CAC5DlU,QAAS98C,EAAMw0B,MACfm9B,UAAW,UACM,kBAAoB,GAAAV,KAAM,CAC3C7oD,UAAWwnC,EAAOgiB,UAClBt2D,KAAM,2BAGV,MAAMu2D,EAAgC,iBAAhB7xD,EAAM6tC,MAAqBgY,GAAUC,MAAMwB,UAAU7M,QAAQoN,kBAAkB7nD,EAAM6tC,OAAS,GACpH,IAAIikB,EA0BJ,OAxBEA,EADER,EAC6B,kBAAoB,QAAS,CAC1DlpD,UAAWwnC,EAAOmiB,cAClB,cAAeF,EACfG,QAAShyD,EAAMgyD,SACdhyD,EAAM6tC,MAAO6jB,EAAgB1xD,EAAM26C,MAAwB,kBAAoB,GAAAsW,KAAM,CACtF31D,KAAM0E,EAAM26C,KACZvyC,UAAWwnC,EAAOqiB,aAChBV,EAAkBvxD,EAAMkyD,UAA4B,kBAAoB,GAAAC,WAAY,CACtF7hB,QAAS,YACTl7C,KAAM,KACNkG,KAAM,QACN60C,QAASnwC,EAAMkyD,SACf3hB,QAAS,YAGoB,kBAAoB,QAAS,CAC1DnoC,UAAWwnC,EAAOwiB,gBAClB,cAAeP,EACfG,QAAShyD,EAAMgyD,SACdN,EAAgB1xD,EAAM26C,MAAwB,kBAAoB,GAAAsW,KAAM,CACzE31D,KAAM0E,EAAM26C,KACZvyC,UAAWwnC,EAAOqiB,aAChBjyD,EAAM6tC,MAAO0jB,GAEfvxD,EAAMy6B,YACe,kBAAoB,GAAAu2B,QAAS,CAClDlU,QAAS98C,EAAMy6B,YACfk3B,UAAWL,EAAa,MAAQ,UAC/BQ,GAEEA,CACT,CACA,MAAM,GAAa1iB,IAAU,CAC3BgjB,iBAAiB,KAAA9iB,KAAI,CACnB+iB,WAAYjjB,EAAMkjB,OAASljB,EAAMI,OAAO6iB,WAAWE,QAAUnjB,EAAMI,OAAO6iB,WAAW5iB,UACrF7O,QAAS,OACT4xB,WAAY,SACZC,QAASrjB,EAAMqiB,QAAQ,EAAG,GAC1BiB,WAAYtjB,EAAMujB,WAAWC,iBAC7BC,SAAUzjB,EAAMujB,WAAWG,UAAUD,SACrChlD,OAAQuhC,EAAMqiB,QAAQriB,EAAM2hB,WAAWljD,OAAOuX,IAC9C2tC,WAAY3jB,EAAMqiB,QAAQriB,EAAM2hB,WAAWljD,OAAOuX,IAClD4tC,aAAc5jB,EAAM5tC,MAAMwxD,aAAa,GACvCzjB,OAAQ,aAAaH,EAAM2hB,WAAWltD,MAAMovD,cAC5CruD,SAAU,WACViE,OAAQ,EACRqqD,WAAY,SACZC,IAAK/jB,EAAMqiB,QAAQ,MAErBM,eAAe,KAAAziB,KAAI,CACjB1O,QAAS,OACT4xB,WAAY,SACZE,WAAYtjB,EAAMujB,WAAWC,iBAC7BC,SAAUzjB,EAAMujB,WAAWG,UAAUD,SACrCE,WAAY3jB,EAAMujB,WAAWG,UAAUC,WACvCG,WAAY,SACZ3gD,aAAc68B,EAAMqiB,QAAQ,IAC5B0B,IAAK/jB,EAAMqiB,QAAQ,KAErBG,WAAW,KAAAtiB,KAAI,CACbI,MAAON,EAAMI,OAAOhb,MAAM6F,OAE5B43B,YAAY,KAAA3iB,KAAI,CACdI,MAAON,EAAMI,OAAOnV,KAAKoV,cCxF7B,IAAI,GAAY77C,OAAOgO,eACnB,GAAahO,OAAOwgB,iBACpB,GAAoBxgB,OAAOugB,0BAC3B,GAAsBvgB,OAAO2D,sBAC7B,GAAe3D,OAAOkC,UAAUM,eAChC,GAAexC,OAAOkC,UAAUoB,qBAChC,GAAkB,CAAC+K,EAAK1M,EAAKD,IAAUC,KAAO0M,EAAM,GAAUA,EAAK1M,EAAK,CAAEsM,YAAY,EAAMwC,cAAc,EAAMC,UAAU,EAAMhP,UAAW2M,EAAI1M,GAAOD,EACtJ,GAAiB,CAAC2d,EAAGmT,KACvB,IAAK,IAAIxV,KAAQwV,IAAMA,EAAI,CAAC,GACtB,GAAaxvB,KAAKwvB,EAAGxV,IACvB,GAAgBqC,EAAGrC,EAAMwV,EAAExV,IAC/B,GAAI,GACF,IAAK,IAAIA,KAAQ,GAAoBwV,GAC/B,GAAaxvB,KAAKwvB,EAAGxV,IACvB,GAAgBqC,EAAGrC,EAAMwV,EAAExV,IAEjC,OAAOqC,CAAC,EAEN,GAAgB,CAACA,EAAGmT,IAAM,GAAWnT,EAAG,GAAkBmT,IAmC9D,SAASgtC,IAAsB,MAAE11B,EAAK,UAAE21B,EAAS,cAAEC,IACjD,IAAI/iC,EAAIE,EACR,MAAM8iC,EAAY,cAAc71B,EAAMn4B,MAAMhQ,OACtC,KAAEiE,GAASkkC,EAAM9I,WACjB4+B,EAAcptD,QAAQ5M,GAAQA,EAAK+L,QAAU,GAAa6uC,SAChE,OAAuB,kBAAoB,MAAO,CAChDhsC,UAAWqrD,IACM,kBAAoBrC,GAAe,CACpDY,QAASuB,EACT/B,UAAWgC,EACXrC,SAAU,KACR,IAAI3gC,EACJ,OAAoC,OAA5BA,EAAMkN,EAAM4Z,kBAAuB,EAAS9mB,EAAI55B,KAAK8mC,EAAM,EAErEmQ,MAAOnQ,EAAMn4B,MAAMjK,KACnBm/B,YAAaiD,EAAMn4B,MAAMk1B,YACzBjG,MAAsE,OAA9D/D,EAAgC,OAA1BF,EAAKmN,EAAMn4B,MAAM/L,WAAgB,EAAS+2B,EAAG4X,aAAkB,EAAS1X,EAAG,GAAGl1B,UAC1E,kBAAoB,GAAAm4D,aAAc,CACpD5mD,GAAIymD,EACJj+D,MAAO+9D,EACP3iB,SAAU4iB,IAEd,EAxDA,cAAqC,EACnC,WAAA72D,GACEuI,MAAM,CAAE2uD,UAAW,CAAC,IACpB76D,KAAK28B,sBAAqB,IAAM38B,KAAKw/B,eACvC,CACA,WAAAA,GACE,MAAMkF,EAAS,GAAWsF,cAAchqC,MAAM,GAC9CA,KAAKsM,SAAS,CAAEuuD,UAAWn2B,EAAO4P,QAAO,CAACwmB,EAAK71C,IAAM,GAAc,GAAe,CAAC,EAAG61C,GAAM,CAAE,CAAC71C,EAAExY,MAAMhQ,KAAMwoB,EAAExY,MAAM8tD,aAAc,CAAC,IACtI,CACA,WAAAQ,CAAY91C,GACVjlB,KAAKsM,SAAS,CAAEuuD,UAAW,GAAc,GAAe,CAAC,EAAG76D,KAAKyM,MAAMouD,WAAY,CAAE,CAAC51C,EAAExY,MAAMhQ,MAAOwoB,EAAExY,MAAM8tD,cAC7Gt1C,EAAE3Y,SAAS,CAAEiuD,WAAYt1C,EAAExY,MAAM8tD,WACnC,IAEqB7uD,UACvB,UAAwC,MAAEkrB,IACxC,MAAM,UAAEikC,GAAcjkC,EAAMkF,WACtB4I,EAAS,GAAWsF,cAAcpT,GAAO,GAC/C,OAAsB,IAAlB8N,EAAO7rC,OACF,KAEc,kBAAoB,aAAgB,KAAM6rC,EAAOtoC,KAAK6oB,IAC3E,MAAMw1C,EAAY,cAAcx1C,EAAExY,MAAMhQ,MACxC,OAAIwoB,EAAExY,MAAMuuD,SACH,KAEc,kBAAoBV,GAAuB,CAChE79D,IAAKg+D,EACL71B,MAAO3f,EACPu1C,cAAe,IAAM5jC,EAAMmkC,YAAY91C,GACvCs1C,UAAWM,EAAU51C,EAAExY,MAAMhQ,MAC7B,IAEN,EAwBA,MAAMk+D,IAAiB,KAAAnkB,KAAI,CAAE1O,QAAS,SC5EtBhtC,OAAOgO,eACNhO,OAAOwgB,iBACAxgB,OAAOugB,0BACLvgB,OAAO2D,sBACd3D,OAAOkC,UAAUM,eACjBxC,OAAOkC,UAAUoB,qBCNpC,MAAM68D,WAA+B,GAWrC,SAASC,IAA2B,SAAEz6B,EAAQ,OAAEhc,IAE9C,OADcgc,EAAS3E,WACbq/B,OAAS,EAAAC,aAAaC,aACvB,KAEM,aAAX52C,EACqB,kBAAoB,MAAO,CAChDnV,UAAWgsD,IACM,kBAAoBC,GAAe,CACpD96B,WACAhc,WACkB,kBAAoBgc,EAAS/0B,UAAW,CAC1DkrB,MAAO6J,KAGY,kBAAoB,MAAO,CAChDnxB,UAAW,IACM,kBAAoBisD,GAAe,CACpD96B,aACkB,kBAAoBA,EAAS/0B,UAAW,CAC1DkrB,MAAO6J,IAEX,CACA,SAAS86B,IAAc,SAAE96B,EAAQ,OAAEhc,IACjC,IAAIgT,EAAIE,EACR,MAAM,MAAElrB,GAAUg0B,EAClB,GAAIA,EAASh0B,MAAM0uD,OAAS,EAAAC,aAAaI,UACvC,OAAO,KAET,MAAMf,EAAY,OAAOhuD,EAAMhQ,MACzBg/D,EAAoC,OAArBhkC,EAAKhrB,EAAMsoC,OAAiBtd,EAAKhrB,EAAMjK,KAC5D,OAAuB,kBAAoB81D,GAAe,CACxDY,QAASuB,EACT/B,UAAWjsD,EAAMivD,QACjBrD,SAAU,KACR,IAAI3gC,EACJ,OAAoC,OAA5BA,EAAM+I,EAAS43B,eAAoB,EAAS3gC,EAAI55B,KAAK2iC,EAAS,EAExEsU,MAAO0mB,EACP//B,MAAOjvB,EAAMivB,MACbjX,SACAkd,YAAyC,OAA3BhK,EAAKlrB,EAAMk1B,aAAuBhK,OAAK,GAEzD,CApDAsjC,GAAuBvvD,UACvB,UAAwC,MAAEkrB,IACxC,MAAM0J,EAAY,GAAWuJ,aAAajT,GAAOkF,WACjD,OAAuB,kBAAoB,aAAgB,KAAMwE,EAAUA,UAAUlkC,KAAKqkC,GAA6B,kBAAoBy6B,GAA4B,CACrKz+D,IAAKgkC,EAASh0B,MAAMhQ,IACpBgkC,WACAhc,OAAQmS,EAAMnqB,MAAMgY,WAExB,EA6CA,MAAM,IAAiB,KAAA+xB,KAAI,CAAE1O,QAAS,SAChCwzB,IAAoB,KAAA9kB,KAAI,CAAE1O,QAAS,OAAQ6zB,cAAe,WCxDhE,MAAMC,WAAyB,EAC7B,WAAAj4D,CAAY8I,GACVP,MAAMO,GACNzM,KAAK49C,0BAA4C,IAAI1+C,IACrDc,KAAK67D,mBAAqC,IAAI38D,IAC9Cc,KAAK87D,UAA4B,IAAI98D,IACrCgB,KAAK64C,uBAAyB,IAAI,GAClC74C,KAAK65B,oBAAsB,IAAIkiC,GAC7B/7D,KAAKg8D,sCAAsCvxD,KAAKzK,OAElDA,KAAKw/B,YAAc,KACjB,MAAM/B,EAAY,GAAWiD,aAAa1gC,MAC1CA,KAAKi5B,MAAMz4B,IACTR,KAAKq6B,iBAAiBwG,IAAiCruB,GAAUxS,KAAKi8D,4BAA4BzpD,EAAM2nB,YAE1Gn6B,KAAKi5B,MAAMz4B,IACTi9B,EAAUxD,kBAAiB,KACzBj6B,KAAKk8D,iCAAiC,KAG1Cl8D,KAAKi5B,MAAMz4B,IAAIR,KAAKi6B,iBAAiBj6B,KAAKm8D,kBAC1Cn8D,KAAKo8D,6CACL,IAAK,MAAM37B,KAAYzgC,KAAKyM,MAAM6zB,UAC5BtgC,KAAKq8D,qBAAqB57B,IAC5BzgC,KAAK67D,mBAAmBr7D,IAAIigC,GAIhC,OADAzgC,KAAKs8D,mBACEt8D,KAAK47C,aAAa,EAE3B57C,KAAK47C,cAAgB,KACnB,IAAInkB,EACJ,IAAK,MAAM8C,KAAUv6B,KAAK87D,UAAUx7D,SACJ,OAA7Bm3B,EAAK8C,EAAOgiC,eAAiC9kC,EAAGoE,cAEnD,IAAK,MAAM4E,KAAYzgC,KAAKyM,MAAM6zB,UAC3BtgC,KAAK67D,mBAAmBz3D,IAAIq8B,IAAczgC,KAAK87D,UAAU13D,IAAIq8B,IAChEzgC,KAAK64C,uBAAuBvK,mBAAmB7N,GAGnDzgC,KAAK67D,mBAAmB57D,QACxBD,KAAK87D,UAAU77D,OAAO,EAExBD,KAAKm8D,gBAAkB,CAACxvD,EAAU6vD,KAChC,MAAMC,EAA8Bz8D,KAAK67D,mBAAmBv/D,KAC5D,IAAK,MAAMmkC,KAAY+7B,EAASl8B,UAC9B,IAAK3zB,EAAS2zB,UAAUlK,SAASqK,GAAW,CAC1C,MAAMi8B,EAAW18D,KAAK87D,UAAUj5D,IAAI49B,IACpB,MAAZi8B,OAAmB,EAASA,EAASH,eACvCG,EAASH,aAAa1gC,cAExB77B,KAAK87D,UAAU5gC,OAAOuF,GACtBzgC,KAAK67D,mBAAmB3gC,OAAOuF,EACjC,CAEF,IAAK,MAAMA,KAAY9zB,EAAS2zB,UACzBk8B,EAASl8B,UAAUlK,SAASqK,IAC3BzgC,KAAKq8D,qBAAqB57B,IAC5BzgC,KAAK67D,mBAAmBr7D,IAAIigC,GAIE,IAAhCg8B,GAAqCz8D,KAAK67D,mBAAmBv/D,KAAO,GACtE0D,KAAKs8D,kBACP,EAEFt8D,KAAK28B,qBAAqB38B,KAAKw/B,YACjC,CACA,SAAAe,CAAU/9B,GACR,OAAOxC,KAAKyM,MAAM6zB,UAAU7X,MAAMzc,GAAMA,EAAES,MAAMjK,OAASA,GAC3D,CACA,+BAAA05D,GACE,IAAK,MAAMz7B,KAAYzgC,KAAKyM,MAAM6zB,UAC5B,YAAaG,EAASh0B,OAASg0B,EAASh0B,MAAMkwD,UAAY,EAAAz/B,gBAAgB0/B,oBAC5E58D,KAAK67D,mBAAmBr7D,IAAIigC,GAGhCzgC,KAAKs8D,kBACP,CACA,0CAAAF,GACE,GAAKp8D,KAAK64C,uBAAuBxK,YAGjC,IAAK,MAAM5N,KAAYzgC,KAAKyM,MAAM6zB,UAC5BtgC,KAAK64C,uBAAuBrK,gBAAgB/N,KAC9Co8B,GAAsBp8B,EAAU,2BAChCzgC,KAAK88D,oCAAoCr8B,GAG/C,CACA,oBAAA47B,CAAqB57B,GACnB,SAAKA,EAASs8B,mBAGV/8D,KAAK64C,uBAAuBtK,iBAAiB9N,KAC/Co8B,GAAsBp8B,EAAU,kDACzB,GAGX,CACA,gBAAA67B,GACE,GAAqC,IAAjCt8D,KAAK67D,mBAAmBv/D,KAI5B,IAAK,MAAMmkC,KAAYzgC,KAAK67D,mBAAoB,CAC9C,IAAKp7B,EAASs8B,kBACZ,MAAM,IAAIt1D,MAAM,2EAElB,GAAIzH,KAAK87D,UAAU13D,IAAIq8B,GACrB,SAEF,GAAI,GAAW6K,oCAAoC7K,GACjD,SAEF,MAAMu8B,EAAmB,CACvBv8B,YAEFzgC,KAAK87D,UAAUn/D,IAAI8jC,EAAUu8B,GAC7BH,GAAsBp8B,EAAU,6BAChCu8B,EAAiBT,aAAe97B,EAASs8B,oBAAoB7iC,UAAU,CACrEpT,KAAM,IAAM9mB,KAAKi9D,4BAA4Bx8B,GAC7C/E,MAAQl0B,GAAQxH,KAAKk9D,qBAAqBz8B,EAAUj5B,IAExD,MAtBExH,KAAKm9D,8BAuBT,CACA,2BAAAF,CAA4Bx8B,GAC1B,IAAIhJ,EACJ,MAAM8C,EAASv6B,KAAK87D,UAAUj5D,IAAI49B,GACsB,OAAvDhJ,EAAe,MAAV8C,OAAiB,EAASA,EAAOgiC,eAAiC9kC,EAAGoE,cAC3E77B,KAAK87D,UAAU5gC,OAAOuF,GACtBzgC,KAAK67D,mBAAmB3gC,OAAOuF,GAC/Bo8B,GAAsBp8B,EAAU,+BAChCzgC,KAAKs8D,kBACP,CACA,MAAAhrD,CAAOmvB,GACL,IAAIhJ,EACJ,MAAM8C,EAASv6B,KAAK87D,UAAUj5D,IAAI49B,GACsB,OAAvDhJ,EAAe,MAAV8C,OAAiB,EAASA,EAAOgiC,eAAiC9kC,EAAGoE,cAC3E77B,KAAK87D,UAAU5gC,OAAOuF,GACtBzgC,KAAK67D,mBAAmB3gC,OAAOuF,EACjC,CACA,oBAAAy8B,CAAqBz8B,EAAUj5B,GAC7B,IAAIiwB,EACJ,MAAM8C,EAASv6B,KAAK87D,UAAUj5D,IAAI49B,GACsB,OAAvDhJ,EAAe,MAAV8C,OAAiB,EAASA,EAAOgiC,eAAiC9kC,EAAGoE,cAC3E77B,KAAK87D,UAAU5gC,OAAOuF,GACtBzgC,KAAK67D,mBAAmB3gC,OAAOuF,GAC/BA,EAASn0B,SAAS,CAAEovD,SAAS,EAAOhgC,MAAOl0B,EAAI/E,UAC/CgL,QAAQiuB,MAAM,2CAA4Cl0B,GAC1Dq1D,GAAsBp8B,EAAU,0BAA2Bj5B,EAC7D,CACA,2BAAAy0D,CAA4BmB,GAC1Bp9D,KAAK49C,0BAA0Bp9C,IAAI48D,GACnCp9D,KAAK88D,oCAAoCM,GACpCp9D,KAAK87D,UAAU13D,IAAIg5D,IACtBp9D,KAAKs8D,kBAET,CACA,qCAAAN,CAAsC9vB,GACpC,IAAK,MAAMmxB,KAAcnxB,EACvBlsC,KAAK88D,oCAAoCO,GAEvCr9D,KAAK67D,mBAAmBv/D,KAAO,GAA6B,IAAxB0D,KAAK87D,UAAUx/D,MACrD0D,KAAKs8D,kBAET,CACA,mCAAAQ,CAAoCM,GAClC,IAAK,MAAME,KAAiBt9D,KAAKyM,MAAM6zB,UACjCg9B,EAAc1jC,oBACZ0jC,EAAc1jC,mBAAmBoS,gBAAgBoxB,EAAoB3wD,MAAMjK,QAC7Eq6D,GAAsBS,EAAe,2DACrCt9D,KAAK67D,mBAAmBr7D,IAAI88D,GAIpC,CACA,4BAAAH,GACOn9D,KAAK05B,SAGV15B,KAAKu9D,wBAAwBv9D,KAAK05B,QAClC15B,KAAK49C,0BAA0B39C,QACjC,CACA,uBAAAs9D,CAAwB7mC,GAClB12B,OAAS02B,GAGRA,EAAY+C,WAGb/C,EAAYkD,oBACdlD,EAAYkD,mBAAmBqS,yBAAyBjsC,KAAK49C,2BAE/DlnB,EAAYsD,cAAc9Y,GAAUlhB,KAAKu9D,wBAAwBr8C,KACnE,CACA,kCAAAsf,CAAmCC,GACjC,SAAIA,EAAS+8B,oBAAqB/8B,EAAS+8B,yBAGvCx9D,KAAK67D,mBAAmBz3D,IAAIq8B,KAAazgC,KAAK87D,UAAU13D,IAAIq8B,KAGzD,GAAW6K,oCAAoC7K,EACxD,EAEF,SAASo8B,GAAsBp8B,EAAUh+B,EAAS+E,GAChD,GAAc,mBAAoB,YAAYi5B,EAASh0B,MAAMjK,UAAUC,IAAW+E,EACpF,CACA,MAAMu0D,GACJ,WAAAp4D,CAAY85D,GACVz9D,KAAKy9D,0BAA4BA,EACjCz9D,KAAK09D,UAA4B,IAAIx+D,GACvC,CACA,QAAAqsC,GACE,OAAOvrC,KAAK09D,SACd,CACA,eAAA1xB,CAAgBxpC,GACd,OAAO,CACT,CACA,wBAAAypC,CAAyBC,GACvBlsC,KAAKy9D,0BAA0BvxB,EACjC,ECjOF,SAASyxB,IAAoB,MAAE/mC,IAC7B,MAAM,MAAEp6B,EAAK,IAAEC,GAAQm6B,EAAMkF,WACvB8hC,EAAgBhnC,EAAMinC,eAAiB,CAAC1mB,EAAQa,KAChC,iBAAhBA,EAAK8lB,QACPlnC,EAAMinC,eAAe1mB,EACvB,OACE,EACJ,OAAuB,kBAAoB,GAAAwR,OAAQ,CACjD30C,GAAIvX,EACJ4oB,YAAa,eACb9P,MAAO,OACP/Y,QACAuhE,kBAAkB,EAClBC,iBAAiB,EACjBJ,gBACAnqD,QAASmjB,EAAMqnC,sBACfrmB,SAAW5c,IACTpE,EAAMsnC,cAAcljC,EAASx+B,MAAOw+B,EAAS+Z,MAAM,GAGzD,CACA,SAASopB,IAAyB,MAAEvnC,IAClC,MAAM,MAAEp6B,EAAK,IAAEC,EAAG,iBAAE2hE,GAAqBxnC,EAAMkF,WACzCuiC,GAAa,IAAAC,UAAQ,KAAM,KAAA1lE,SAAQ4D,GAASA,EAAQ,CAACA,IAAQ,CAACA,KAC7D+hE,EAAkBC,IAAuB,IAAA1iC,UAASuiC,IACzD,IAAAnmC,YAAU,KACRsmC,EAAoBH,EAAW,GAC9B,CAACA,IACJ,MAAMT,EAAgBhnC,EAAMinC,eAAiB,CAAC1mB,EAAQa,KAChC,iBAAhBA,EAAK8lB,QACPlnC,EAAMinC,eAAe1mB,EACvB,OACE,EACJ,OAAuB,kBAAoB,GAAAsnB,YAAa,CACtDzqD,GAAIvX,EACJ4oB,YAAa,eACb9P,MAAO,OACP/Y,MAAO+hE,EACPG,kBAAkB,EAClBN,iBAAsC,MAApBA,EAA2BA,EAAmB,EAChEJ,iBAAiB,EACjBD,kBAAkB,EAClBtqD,QAASmjB,EAAMqnC,sBACfU,mBAAmB,EACnBC,aAAa,EACbhB,gBACAiB,OAAQ,KACNjoC,EAAMsnC,cAAcK,EAAiB,EAEvC3mB,SAAW5c,IACTwjC,EAAoBxjC,EAAS5+B,KAAK4P,GAAMA,EAAExP,QAAO,GAGvD,CACA,SAASsiE,GAAwBloC,GAC/B,OAAIA,EAAMnqB,MAAMw+B,QACS,kBAAoBkzB,GAA0B,CACnEvnC,UAGqB,kBAAoB+mC,GAAqB,CAC9D/mC,SAGN,CClEgB97B,OAAOgO,eACNhO,OAAOwgB,iBACAxgB,OAAOugB,0BACLvgB,OAAO2D,sBACd3D,OAAOkC,UAAUM,eACjBxC,OAAOkC,UAAUoB,qBCEpC,MAAM2gE,WAA2B,EAC/B,WAAAp7D,GACEuI,SAASnT,WACTiH,KAAK+5B,SAAW,IAAIilC,GAAyBh/D,KAC/C,CACA,iBAAA+8D,GACE,OAAO/8D,KAAKi/D,gBAAgB,CAAC,GAAGtxB,MAC9B,IAAAvxC,MAAKqX,IACHzT,KAAKk/D,2BAA2BzrD,GACzB,CAAC,KAGd,CACA,QAAA4kD,GACEr4D,KAAKm/D,eAAe,CAAEzD,SAAS,IAC/B,MAAM0D,EAAcp/D,KAAK05B,OACV,MAAf0lC,GAA+BA,EAAY9tD,OAAOtR,KACpD,CACA,0BAAAk/D,CAA2BzrD,GACzB,MAAQjX,MAAO6iE,EAAc99B,KAAM+9B,GAAgBt/D,KAAKyM,MAClD6oC,EAAc,CAClB7hC,UACAioD,SAAS,EACTl/D,MAAO6iE,EACP99B,KAAM+9B,GAER,GAAuB,IAAnB7rD,EAAQ5a,QACNmH,KAAKyM,MAAM8yD,cAAgBv/D,KAAKyM,MAAMy+B,cACxCoK,EAAY94C,MAAQ8nC,GACpBgR,EAAY/T,KAAO8C,SAEhB,GAAIrkC,KAAKw/D,oBAAsB,GAAIx/D,KAAKyM,MAAMw+B,QAAS,CAC5D,MACMw0B,GADgB9mE,MAAMC,QAAQymE,GAAgBA,EAAe,CAACA,IAClCnkD,QAAQ8nB,GAAMvvB,EAAQgV,MAAM/M,GAAMA,EAAElf,QAAUwmC,MAC1E08B,EAAaD,EAAYrjE,KAAK4mC,GAAMvvB,EAAQgV,MAAM/M,GAAMA,EAAElf,QAAUwmC,IAAG+R,QAC7E,GAA2B,IAAvB0qB,EAAY5mE,OAAc,CAC5B,MAAM8mE,EAAe3/D,KAAK4/D,qBAAqBnsD,GAC/C6hC,EAAY94C,MAAQmjE,EAAanjE,MACjC84C,EAAY/T,KAAOo+B,EAAap+B,IAClC,MAAY,KAAA4H,SAAQs2B,EAAaJ,KAAkB,KAAAl2B,SAAQu2B,EAAYJ,KACrEhqB,EAAY94C,MAAQijE,EACpBnqB,EAAY/T,KAAOm+B,EAEvB,KAAO,CACL,IAAIG,EA0GV,SAAmCR,EAAcC,EAAa7rD,GAC5D,IAAIqsD,EACJ,IAAK,MAAMt3C,KAAQ/U,EAAS,CAC1B,GAAI+U,EAAKhsB,QAAU6iE,EACjB,OAAO72C,EAELA,EAAKusB,QAAUuqB,IACjBQ,EAAYt3C,EAEhB,CACA,OAAOs3C,CACT,CArH2BC,CAA0BV,EAAcC,EAAa7rD,GACtEosD,GACFvqB,EAAY/T,KAAOs+B,EAAe9qB,MAClCO,EAAY94C,MAAQqjE,EAAerjE,OAE/BwD,KAAKyM,MAAM8yD,cACbjqB,EAAY94C,MAAQ8nC,GACpBgR,EAAY/T,KAAO8C,KAEnBiR,EAAY94C,MAAQiX,EAAQ,GAAGjX,MAC/B84C,EAAY/T,KAAO9tB,EAAQ,GAAGshC,MAGpC,CACA/0C,KAAKm/D,eAAe7pB,IAChBA,EAAY94C,QAAU6iE,GAAgB/pB,EAAY/T,OAAS+9B,GAAet/D,KAAKw/D,gBACjFx/D,KAAKy6B,aAAa,IAAIoG,GAA+B7gC,OAAO,EAEhE,CACA,QAAA8E,GACE,OAAI9E,KAAKw/D,cACHx/D,KAAKyM,MAAMuzD,SACN,IAAIC,GAAejgE,KAAKyM,MAAMuzD,SAAUhgE,MAE1CA,KAAKyM,MAAMgH,QAAQrX,KAAK4P,GAAMA,EAAExP,QAElCwD,KAAKyM,MAAMjQ,KACpB,CACA,YAAA8kC,GACE,OAAIthC,KAAKw/D,cACAn7B,GAEL1rC,MAAMC,QAAQoH,KAAKyM,MAAM80B,MACpBvhC,KAAKyM,MAAM80B,KAAKQ,KAAK,OAEvBr7B,OAAO1G,KAAKyM,MAAM80B,KAC3B,CACA,WAAAi+B,GACE,MAAMhjE,EAAQwD,KAAKyM,MAAMjQ,MACzB,OAAOA,IAAU8nC,IAAsB3rC,MAAMC,QAAQ4D,IAAUA,EAAM,KAAO8nC,EAC9E,CACA,oBAAAs7B,CAAqBnsD,GACnB,OAAIzT,KAAKyM,MAAM8yD,aACN,CAAE/iE,MAAO,CAAC8nC,IAAqB/C,KAAM,CAAC8C,KAEtC,CAAE7nC,MAAO,CAACiX,EAAQ,GAAGjX,OAAQ+kC,KAAM,CAAC9tB,EAAQ,GAAGshC,OAE1D,CACA,aAAAmpB,CAAc1hE,EAAO+kC,GACnB,GAAI/kC,IAAUwD,KAAKyM,MAAMjQ,OAAS+kC,IAASvhC,KAAKyM,MAAM80B,KAAtD,CAUA,GAPKA,IAEDA,EADE5oC,MAAMC,QAAQ4D,GACTA,EAAMJ,KAAK4mC,GAAMhjC,KAAKkgE,sBAAsBl9B,KAE5ChjC,KAAKkgE,sBAAsB1jE,IAGlC7D,MAAMC,QAAQ4D,GAAQ,CACxB,GAAqB,IAAjBA,EAAM3D,OAAc,CACtB,MAAM4T,EAAQzM,KAAK4/D,qBAAqB5/D,KAAKyM,MAAMgH,SACnDjX,EAAQiQ,EAAMjQ,MACd+kC,EAAO90B,EAAM80B,IACf,CACI/kC,EAAMA,EAAM3D,OAAS,KAAOyrC,IAC9B9nC,EAAQ,CAAC8nC,IACT/C,EAAO,CAAC8C,KACC7nC,EAAM,KAAO8nC,IAAsB9nC,EAAM3D,OAAS,IAC3D2D,EAAM2jE,QACFxnE,MAAMC,QAAQ2oC,IAChBA,EAAK4+B,QAGX,CACAngE,KAAKm/D,eAAe,CAAE3iE,QAAO+kC,OAAMm6B,SAAS,IAC5C17D,KAAKy6B,aAAa,IAAIoG,GAA+B7gC,OAAO,EAzB5D,CA0BF,CACA,qBAAAkgE,CAAsB1jE,GACpB,MAAM2qD,EAASnnD,KAAKyM,MAAMgH,QAAQgV,MAAMzc,GAAMA,EAAExP,QAAUA,IAC1D,GAAI2qD,EACF,OAAOA,EAAOpS,MAEhB,MAAMqrB,EAAgBpgE,KAAKyM,MAAMgH,QAAQgV,MAAMzc,GAAMA,EAAE+oC,QAAUv4C,IACjE,OAAI4jE,EACKA,EAAcrrB,MAEhBv4C,CACT,CACA,cAAA2iE,CAAe1yD,GC9IjB,IAAwCE,ID+IZF,EAANzM,KC9IRsM,SAASK,ED+IrB,CACA,mBAAAsxD,GACE,IAAIxqD,EAAUzT,KAAKyM,MAAMgH,QAUzB,OATIzT,KAAKyM,MAAMy+B,aACbz3B,EAAU,CAAC,CAAEjX,MAAO8nC,GAAoByQ,MAAO1Q,OAAwB5wB,IAEpE9a,MAAMC,QAAQoH,KAAKyM,MAAMjQ,QACZiX,EAAQgV,MAAMzc,GAAMA,EAAExP,QAAUwD,KAAKyM,MAAMjQ,UAEzDiX,EAAU,CAAC,CAAEjX,MAAOwD,KAAKyM,MAAMjQ,MAAOu4C,MAAOruC,OAAO1G,KAAKyM,MAAM80B,UAAY9tB,IAGxEA,CACT,EAcF,MAAMurD,GACJ,WAAAr7D,CAAYi6B,GACV59B,KAAK49B,aAAeA,CACtB,CACA,MAAAyiC,GACE,MAAO,OAAOrgE,KAAK49B,aAAanxB,MAAMjK,MACxC,CACA,OAAAu7B,GACE,OAAI/9B,KAAK49B,aAAanxB,MAAMs5B,YACnB,GAEF,CAAC/lC,KAAKqgE,SACf,CACA,WAAAriC,GACE,GAAIh+B,KAAK49B,aAAanxB,MAAMs5B,YAC1B,MAAO,CAAC,EAEV,IAAIu6B,EAAW,KACX9jE,EAAQwD,KAAK49B,aAAanxB,MAAMjQ,MAQpC,OANE8jE,EADE3nE,MAAMC,QAAQ4D,GACLA,EAAMJ,IAAIsK,QACZ1G,KAAK49B,aAAanxB,MAAMw+B,QACtB,CAACvkC,OAAOlK,IAERkK,OAAOlK,GAEb,CAAE,CAACwD,KAAKqgE,UAAWC,EAC5B,CACA,aAAAriC,CAAc39B,GACZ,MAAMggE,EAAWhgE,EAAON,KAAKqgE,UACb,MAAZC,GACFtgE,KAAK49B,aAAasgC,cAAcoC,EAEpC,EAEF,MAAML,GACJ,WAAAt8D,CAAY2hC,EAAQi7B,GAClBvgE,KAAKslC,OAASA,EACdtlC,KAAKugE,UAAYA,CACnB,CACA,SAAA3+B,CAAUmJ,GACR,OAAIA,IAAmBpK,GAAiB+C,KAC/BW,GAEL0G,IAAmBpK,GAAiBiC,cAC/BpB,GAAe3+B,IAAI89B,GAAiBiC,eAAehB,UAAU5hC,KAAKslC,OAAQ,GAAItlC,KAAKugE,WAExFx1B,IAAmBpK,GAAiBiD,WAC/BpC,GAAe3+B,IAAI89B,GAAiBiD,YAAYhC,UAAUyC,GAAmB,GAAIrkC,KAAKugE,WAExFvgE,KAAKslC,MACd,EExNF,IAAI,GAAYxqC,OAAOgO,eACnB,GAAsBhO,OAAO2D,sBAC7B,GAAe3D,OAAOkC,UAAUM,eAChC,GAAexC,OAAOkC,UAAUoB,qBAChC,GAAkB,CAAC+K,EAAK1M,EAAKD,IAAUC,KAAO0M,EAAM,GAAUA,EAAK1M,EAAK,CAAEsM,YAAY,EAAMwC,cAAc,EAAMC,UAAU,EAAMhP,UAAW2M,EAAI1M,GAAOD,GAY1J,cAA6BuiE,GAC3B,WAAAp7D,CAAYi1C,GACV1sC,MAbiB,EAACiO,EAAGmT,KACvB,IAAK,IAAIxV,KAAQwV,IAAMA,EAAI,CAAC,GACtB,GAAaxvB,KAAKwvB,EAAGxV,IACvB,GAAgBqC,EAAGrC,EAAMwV,EAAExV,IAC/B,GAAI,GACF,IAAK,IAAIA,KAAQ,GAAoBwV,GAC/B,GAAaxvB,KAAKwvB,EAAGxV,IACvB,GAAgBqC,EAAGrC,EAAMwV,EAAExV,IAEjC,OAAOqC,CAAC,EAIA,CAAe,CACnBtV,KAAM,SACNmpC,MAAO,GACPxxC,MAAO,GACP+kC,KAAM,GACN9tB,QAAS,GACTjR,KAAM,IACLo2C,IACH54C,KAAK65B,oBAAsB,IAAI,GAAyB75B,KAAM,CAC5D+rC,WAAY,CAAC,UAEjB,CACA,eAAAkzB,CAAgBxhD,GACd,IAAIga,EACJ,MAEMhkB,GADuD,OAA9CgkB,EADM,GAAW0S,YAAYnqC,KAAMA,KAAKyM,MAAMuhC,OAC5Br2B,MAAM,mBAA6B8f,EAAK,IACnDr7B,KAAKmlC,IACzB,IAAI7J,EACJ6J,EAAOA,EAAKxjC,QAAQ,OAAQ,KAC5B,MAAM+hE,EAAqD,OAAxCpoC,EAAM,mBAAmBl6B,KAAK+jC,IAAiB7J,EAAM,GACxE,GAAyB,IAArBooC,EAAUjnE,OAAc,CAC1B,MAAO,CAAE4D,EAAKD,GAASsjE,EACvB,MAAO,CAAE/qB,MAAOt4C,EAAI+jE,OAAQhkE,MAAOA,EAAMgkE,OAC3C,CACE,MAAO,CAAEzrB,MAAOxT,EAAKi/B,OAAQhkE,MAAO+kC,EAAKi/B,OAC3C,IAEF,OAAO,IAAArgC,IAAG1sB,EACZ,IAEa/H,UAAY,EAAGkrB,WACrBkoC,GAAwBloC,GC/CjC,IAAI,GAAY97B,OAAOgO,eACnB,GAAsBhO,OAAO2D,sBAC7B,GAAe3D,OAAOkC,UAAUM,eAChC,GAAexC,OAAOkC,UAAUoB,qBAChC,GAAkB,CAAC+K,EAAK1M,EAAKD,IAAUC,KAAO0M,EAAM,GAAUA,EAAK1M,EAAK,CAAEsM,YAAY,EAAMwC,cAAc,EAAMC,UAAU,EAAMhP,UAAW2M,EAAI1M,GAAOD,EA0D1J,SAAS8hC,GAAQ1zB,EAAQ61D,GACvB,OAAKA,GAGEA,EAAMjjE,KAAKoN,EAAOpI,KAC3B,CACA,SAASk+D,GAAU91D,EAAQ61D,GACzB,QAAK71D,EAAO81D,aAGPD,GAGEA,EAAMjjE,KAAK,WACpB,EA5DA,cAAiCuhE,GAC/B,WAAAp7D,CAAYi1C,GACV1sC,MAbiB,EAACiO,EAAGmT,KACvB,IAAK,IAAIxV,KAAQwV,IAAMA,EAAI,CAAC,GACtB,GAAaxvB,KAAKwvB,EAAGxV,IACvB,GAAgBqC,EAAGrC,EAAMwV,EAAExV,IAC/B,GAAI,GACF,IAAK,IAAIA,KAAQ,GAAoBwV,GAC/B,GAAaxvB,KAAKwvB,EAAGxV,IACvB,GAAgBqC,EAAGrC,EAAMwV,EAAExV,IAEjC,OAAOqC,CAAC,EAIA,CAAe,CACnBtV,KAAM,aACNrI,MAAO,GACP+kC,KAAM,GACN9tB,QAAS,GACTjR,KAAM,GACNi+D,MAAO,GACPE,SAAU,IACT/nB,IACH54C,KAAK65B,oBAAsB,IAAI,GAAyB75B,KAAM,CAC5D+rC,WAAY,CAAC,UAEjB,CACA,eAAAkzB,CAAgBxhD,GACd,IAAKzd,KAAKyM,MAAMk0D,SACd,OAAO,IAAAxgC,IAAG,IAEZ,MAAMutB,GAAc,IAAAzf,oBAAmB2yB,QAAQ,CAAEC,SAAS,EAAMvgC,WAAW,EAAOqgC,SAAU3gE,KAAKyM,MAAMk0D,WACvG,IAAIF,EACJ,GAAIzgE,KAAKyM,MAAMg0D,MAAO,CACpB,MAAMK,EAAe,GAAW32B,YAAYnqC,KAAMA,KAAKyM,MAAMg0D,WAAO,EAAQ,SAC5EA,GAAQ,IAAAM,iBAAgBD,EAC1B,CACA,MAAMrtD,EAAU,GAChB,IAAK,IAAI9I,EAAI,EAAGA,EAAI+iD,EAAY70D,OAAQ8R,IAAK,CAC3C,MAAMC,EAAS8iD,EAAY/iD,GACvB2zB,GAAQ1zB,EAAQ61D,IAClBhtD,EAAQpP,KAAK,CAAE0wC,MAAOnqC,EAAOpI,KAAMhG,MAAOoO,EAAOhO,MAE/CoD,KAAKyM,MAAMu0D,sBAAwBN,GAAU91D,EAAQ61D,IACvDhtD,EAAQpP,KAAK,CAAE0wC,MAAO,UAAWv4C,MAAO,WAE5C,CAMA,OALuB,IAAnBiX,EAAQ5a,OACVmH,KAAKsM,SAAS,CAAEovB,MAAO,0BACd17B,KAAKyM,MAAMivB,OACpB17B,KAAKsM,SAAS,CAAEovB,MAAO,QAElB,IAAAyE,IAAG1sB,EACZ,IAEiB/H,UAAY,EAAGkrB,WACzBkoC,GAAwBloC,GClEjC,MAAMqqC,GAA4BnzB,GACzBxgC,QAAQwgC,EAAWozB,mBAAqB5zD,QAAQwgC,EAAWxN,WAE9D6gC,GAA8BrzB,IAClC,IAAKA,EAAWxN,UACd,OAAO,EAET,GAAIwN,EAAWxN,UAAU8gC,YAAc,EAAAC,oBAAoBC,SACzD,OAAO,EAET,MAAMC,EAAkBzzB,EAAWxN,UACnC,MAAO,gBAAiBihC,GAAmBj0D,QAAQi0D,EAAgBC,YAAY,EAE3EC,GAA4B3zB,IAChC,IAAKA,EAAWxN,UACd,OAAO,EAET,GAAIwN,EAAWxN,UAAU8gC,YAAc,EAAAC,oBAAoBK,OACzD,OAAO,EAET,MAAMH,EAAkBzzB,EAAWxN,UACnC,MAAO,UAAWihC,GAAmB,WAAYA,GAAmBj0D,QAAQi0D,EAAgBvzB,QAAU1gC,QAAQi0D,EAAgBI,OAAO,EClBvI,IAAI,GAAY7mE,OAAOgO,eACnB,GAAahO,OAAOwgB,iBACpB,GAAoBxgB,OAAOugB,0BAC3B,GAAsBvgB,OAAO2D,sBAC7B,GAAe3D,OAAOkC,UAAUM,eAChC,GAAexC,OAAOkC,UAAUoB,qBAChC,GAAkB,CAAC+K,EAAK1M,EAAKD,IAAUC,KAAO0M,EAAM,GAAUA,EAAK1M,EAAK,CAAEsM,YAAY,EAAMwC,cAAc,EAAMC,UAAU,EAAMhP,UAAW2M,EAAI1M,GAAOD,EACtJ,GAAiB,CAAC2d,EAAGmT,KACvB,IAAK,IAAIxV,KAAQwV,IAAMA,EAAI,CAAC,GACtB,GAAaxvB,KAAKwvB,EAAGxV,IACvB,GAAgBqC,EAAGrC,EAAMwV,EAAExV,IAC/B,GAAI,GACF,IAAK,IAAIA,KAAQ,GAAoBwV,GAC/B,GAAaxvB,KAAKwvB,EAAGxV,IACvB,GAAgBqC,EAAGrC,EAAMwV,EAAExV,IAEjC,OAAOqC,CAAC,EAEN,GAAgB,CAACA,EAAGmT,IAAM,GAAWnT,EAAG,GAAkBmT,IAC9D,MAAMs0C,GACJ,WAAAj+D,CAAYmqC,EAAY+zB,GAAc,IAAAnjB,kBACpC1+C,KAAK8tC,WAAaA,EAClB9tC,KAAK6hE,YAAcA,CACrB,CACA,SAAAC,CAAUrhC,GACR,GAAI0gC,GAA2BnhE,KAAK8tC,YAClC,OAAO9tC,KAAK8tC,WAAWxN,UAAUkhC,YAoFvC,SAA8C/gC,GAC5C,MAAMuN,EAAQvN,EAASh0B,MAAMuhC,MAC7B,OAAKA,GAA0B,iBAAVA,EAGF,MAAfA,EAAMjG,MACD,GAAc,GAAe,CAAC,EAAGiG,GAAQ,CAAEjG,MAAO,YAAYtH,EAASh0B,MAAMjK,SAE/Ei+B,EAASh0B,MAAMuhC,MALb,CAAEA,QAAOjG,MAAO,YAAYtH,EAASh0B,MAAMjK,OAMtD,CA7FmDu/D,CAAqCthC,IAEpF,MAAM,IAAIh5B,MAAM,oDAClB,CACA,UAAAg3C,CAAWrmB,EAAGsN,GACZ,OAAKy7B,GAA2BnhE,KAAK8tC,YAGhC9tC,KAAK8tC,WAAWxN,UAAU0N,MAGxBhuC,KAAK6hE,YAAY7hE,KAAK8tC,WAAYpI,EAAS1lC,KAAK8tC,WAAWxN,UAAU0N,MAAMvjC,KAAKzK,KAAK8tC,WAAWxN,YAF9FtgC,KAAK6hE,YAAY7hE,KAAK8tC,WAAYpI,GAHlCs8B,IAMX,EAEF,MAAMC,GACJ,WAAAt+D,CAAYmqC,GACV9tC,KAAK8tC,WAAaA,CACpB,CACA,SAAAg0B,CAAUrhC,GACR,GAAIwgC,GAAyBjhE,KAAK8tC,YAChC,OAAOrN,EAASh0B,MAAMuhC,MAExB,MAAM,IAAIvmC,MAAM,oDAClB,CACA,UAAAg3C,EAAW,SAAEhe,EAAQ,aAAEyhC,GAAgBx8B,GACrC,OAAKu7B,GAAyBjhE,KAAK8tC,aAG5B,IAAAhqB,MACL9jB,KAAK8tC,WAAWozB,gBAAgBzgC,EAASh0B,MAAMuhC,MAAO,GAAc,GAAe,CAAC,EAAGtI,GAAU,CAC/FjF,SAAU,CACRj+B,KAAMi+B,EAASh0B,MAAMjK,KACrBqC,KAAM47B,EAASh0B,MAAM5H,MAEvBq9D,mBAEFv0B,MACA,IAAAw0B,WAAU7hE,IACR,IAAKA,IAAWA,EAAOzH,OACrB,OAAOmpE,KAET,MAAMxkC,EAASl9B,EACf,OAAO,IAAA6/B,IAAG,CAAE3C,SAAQ/wB,MAAO,EAAA21D,aAAa7kC,KAAME,UAAWiI,EAAQkU,OAAQ,KAhBpEooB,IAmBX,EAEF,MAAMK,GACJ,WAAA1+D,CAAYmqC,EAAY+zB,GAAc,IAAAnjB,kBACpC1+C,KAAK8tC,WAAaA,EAClB9tC,KAAK6hE,YAAcA,CACrB,CACA,SAAAC,CAAUrhC,GACR,GAAIghC,GAAyBzhE,KAAK8tC,YAChC,OAAOrN,EAASh0B,MAAMuhC,MAExB,MAAM,IAAIvmC,MAAM,oDAClB,CACA,UAAAg3C,CAAWrmB,EAAGsN,GACZ,OAAK+7B,GAAyBzhE,KAAK8tC,YAG9B9tC,KAAK8tC,WAAWxN,UAAU0N,MAGxBhuC,KAAK6hE,YAAY7hE,KAAK8tC,WAAYpI,EAAS1lC,KAAK8tC,WAAWxN,UAAU0N,MAAMvjC,KAAKzK,KAAK8tC,WAAWxN,YAF9FtgC,KAAK6hE,YAAY7hE,KAAK8tC,WAAYpI,GAHlCs8B,IAMX,EAEF,SAASA,KACP,OAAO,IAAA7hC,IAAG,CAAE1zB,MAAO,EAAA21D,aAAa7kC,KAAMC,OAAQ,GAAIC,WAAW,IAAAC,wBAC/D,CClGA,MA6CM4kC,GAAgB,CAACjqD,EAAKooD,KAC1B,MAAMpkB,EAAU,GAChB,IAAI1P,EAAU,KACd8zB,EAAMp2B,UAAY,EAClB,GACEsC,EAAU8zB,EAAMjjE,KAAK6a,GACjBs0B,GACF0P,EAAQh4C,KAAKsoC,SAER8zB,EAAM8B,QAAU51B,GAA0B,KAAfA,EAAQ,SAA4B,IAAfA,EAAQ,IACjE,OAAO0P,CAAO,EC3ChB,IAAI,GAAYvhD,OAAOgO,eACnB,GAAsBhO,OAAO2D,sBAC7B,GAAe3D,OAAOkC,UAAUM,eAChC,GAAexC,OAAOkC,UAAUoB,qBAChC,GAAkB,CAAC+K,EAAK1M,EAAKD,IAAUC,KAAO0M,EAAM,GAAUA,EAAK1M,EAAK,CAAEsM,YAAY,EAAMwC,cAAc,EAAMC,UAAU,EAAMhP,UAAW2M,EAAI1M,GAAOD,EAY1J,MAAMu1D,WAAsBgN,GAC1B,WAAAp7D,CAAYi1C,GACV1sC,MAbiB,EAACiO,EAAGmT,KACvB,IAAK,IAAIxV,KAAQwV,IAAMA,EAAI,CAAC,GACtB,GAAaxvB,KAAKwvB,EAAGxV,IACvB,GAAgBqC,EAAGrC,EAAMwV,EAAExV,IAC/B,GAAI,GACF,IAAK,IAAIA,KAAQ,GAAoBwV,GAC/B,GAAaxvB,KAAKwvB,EAAGxV,IACvB,GAAgBqC,EAAGrC,EAAMwV,EAAExV,IAEjC,OAAOqC,CAAC,EAIA,CAAe,CACnBtV,KAAM,QACNrC,KAAM,GACNhG,MAAO,GACP+kC,KAAM,GACN9tB,QAAS,GACTq6B,WAAY,KACZ2yB,MAAO,GACPzyB,MAAO,CAAEjG,MAAO,KAChB40B,QAAS,EAAAz/B,gBAAgBslC,gBACzBz0C,KAAM,EAAA00C,aAAaxxD,UAClB2nC,IACH54C,KAAK65B,oBAAsB,IAAI,GAAyB75B,KAAM,CAC5D+rC,WAAY,CAAC,QAAS,QAAS,gBAEjC/rC,KAAK69D,eAAkBqE,IA8Eb94B,GA7EkBppC,KAAKyM,MAAMuhC,OA8E9BhiB,QvE1HkB,mBuE+CzBhsB,KAAK0iE,kCAAkCR,EAAa,EAEtDliE,KAAK0iE,mCAAoC,KAAAC,WAAS90B,MAAOq0B,IACvD,MAAM7lE,QAAe,IAAAumE,eAAc5iE,KAAKi/D,gBAAgB,CAAEiD,kBAC1DliE,KAAKsM,SAAS,CAAEmH,QAASpX,EAAQq/D,SAAS,GAAQ,GACjD,IACL,CACA,eAAAuD,CAAgBxhD,GACd,OAAKzd,KAAKyM,MAAMuhC,OAGhBhuC,KAAKsM,SAAS,CAAEovD,SAAS,EAAMhgC,MAAO,QAC/B,IAAA5X,MACL,GAAc9jB,KAAKyM,MAAMqhC,WAAY,CACnCkL,cAAe,CAAEzX,KAAM,gBAAiB/kC,MAAOwD,SAEjD2tC,MACA,IAAAw0B,WAAUjpB,IACR,MAAM2pB,EFgCd,SAA0C/0B,GACxC,GAAIqzB,GAA2BrzB,GAC7B,OAAO,IAAI8zB,GAAoB9zB,GAAY,IAAA4Q,kBAE7C,GAAIuiB,GAAyBnzB,GAC3B,OAAO,IAAIm0B,GAAkBn0B,GAE/B,GAAI2zB,GAAyB3zB,GAC3B,OAAO,IAAIu0B,GAAkBv0B,GAE/B,MAAM,IAAIrmC,MAAM,iDAAiDqmC,EAAWjpC,OAC9E,CE3CuBi+D,CAA0B5pB,GACnCxuC,EAASm4D,EAAOf,UAAU9hE,MAC1B0lC,EAAU1lC,KAAK+iE,WAAWr4D,EAAQ+S,EAAKykD,cAC7C,OAAOW,EAAOpkB,WAAW,CAAEhe,SAAUzgC,KAAMkiE,aAAczkD,EAAKykD,cAAgBx8B,GAASiI,MACrF,IAAAzyB,SAAQxa,GAASA,EAAK+L,QAAU,EAAA21D,aAAa7kC,MAAQ78B,EAAK+L,QAAU,EAAA21D,aAAa36D,SACjF,IAAAu7D,MAAK,IACL,IAAAb,WAAUzhE,GACJA,EAAK+L,QAAU,EAAA21D,aAAa36D,OACvB,IAAAw7D,aAAW,IAAMviE,EAAKg7B,SAExB,IAAAyE,IAAGz/B,MC5EZkK,GAAWA,EAAO+iC,MACxB,IAAAvxC,MAAK8mE,IACH,MAAM/6B,EAAS+6B,EAAU1lC,OACzB,IAAK2K,IAAWA,EAAOtvC,OACrB,MAAO,GAET,GA0DN,SAA6B6H,GAC3B,IAAKA,EACH,OAAO,EAET,IAAKA,EAAK7H,OACR,OAAO,EAET,MAAMsqE,EAAaziE,EAAK,GACxB,IAAI,IAAA0iE,aAAYD,GACd,OAAO,EAET,IAAK,MAAME,KAAiBF,EAAY,CACtC,IAAKA,EAAW7lE,eAAe+lE,GAC7B,SAEF,GAAkC,OAA9BF,EAAWE,IAAgE,iBAA9BF,EAAWE,IAAoE,iBAA9BF,EAAWE,GAC3G,SAEF,MAAM5mE,EAAM4mE,EAAcrrD,cAC1B,GAAY,SAARvb,GAA0B,UAARA,EACpB,OAAO,CAEX,CACA,OAAO,CACT,CAlFU6mE,CAAoBn7B,GACtB,OAAOA,EAET,GAAgC,IAA5BA,EAAO,GAAGR,OAAO9uC,OACnB,MAAO,GAET,MAAM0qE,GAAsB,IAAAC,wBAAuBr7B,GAC7C04B,EAAU,GAChB,IAAI4C,GAAc,EACdC,GAAa,EACbC,GAAe,EACfC,GAAmB,EACvB,IAAK,MAAMx8B,KAASm8B,EAClB,IAAK,IAAIrnE,EAAQ,EAAGA,EAAQkrC,EAAMO,OAAO9uC,OAAQqD,IAAS,CACxD,MAAMorC,EAAQF,EAAMO,OAAOzrC,GACrB2nE,GAAY,IAAAz7B,qBAAoBd,EAAOF,EAAOe,GAAQnwB,cACxDsvB,EAAMziC,OAAS,EAAA+iC,UAAU5/B,SAA2B,IAAjB27D,IACrCA,EAAcznE,GAEE,SAAd2nE,GAAwBv8B,EAAMziC,OAAS,EAAA+iC,UAAU5/B,SAAyB,IAAf07D,IAC7DA,EAAYxnE,GAEI,UAAd2nE,GAAyBv8B,EAAMziC,OAAS,EAAA+iC,UAAU5/B,SAA0B,IAAhBy7D,IAC9DA,EAAavnE,GAEG,eAAd2nE,GAA+Bv8B,EAAMziC,OAAS,EAAA+iC,UAAUk8B,SAAWx8B,EAAMziC,OAAS,EAAA+iC,UAAU7/B,SAAgC,IAArB67D,IACzGA,EAAkB1nE,EAEtB,CAEF,IAAqB,IAAjBynE,EACF,MAAM,IAAIl8D,MAAM,0DAElB,IAAK,MAAM2/B,KAASe,EAClB,IAAK,IAAIjsC,EAAQ,EAAGA,EAAQkrC,EAAMvuC,OAAQqD,IAAS,CACjD,MAAM6nE,GAAkC,IAArBH,EAAyBx8B,EAAMO,OAAOi8B,GAAiBtjE,OAAOuC,IAAI3G,QAAS,EACxF8L,EAASo/B,EAAMO,OAAOg8B,GAAarjE,OAAOuC,IAAI3G,GAC9CqlC,GAAsB,IAAfmiC,EAAmBt8B,EAAMO,OAAO+7B,GAAWpjE,OAAOuC,IAAI3G,GAAS,KACtEM,GAAwB,IAAhBinE,EAAoBr8B,EAAMO,OAAO87B,GAAYnjE,OAAOuC,IAAI3G,GAAS,MAC3D,IAAhBunE,IAAoC,IAAfC,GAIL,IAAhBD,IAAoC,IAAfC,GAIL,IAAhBD,IAAoC,IAAfC,EAIzB7C,EAAQx8D,KAAK,CAAEk9B,OAAM/kC,QAAOunE,eAH1BlD,EAAQx8D,KAAK,CAAEk9B,KAAM/kC,EAAOA,QAAOunE,eAJnClD,EAAQx8D,KAAK,CAAEk9B,OAAM/kC,MAAO+kC,EAAMwiC,eAJlClD,EAAQx8D,KAAK,CAAEk9B,KAAMv5B,EAAQxL,MAAOwL,EAAQ+7D,cAYhD,CAEF,OAAOlD,CAAO,ODmBV,IAAAsB,WAAU7hE,IACR,IAAImgE,EAAQ,GAIZ,OAHIzgE,KAAKyM,MAAMg0D,QACbA,EAAQ,GAAWt2B,YAAYnqC,KAAMA,KAAKyM,MAAMg0D,WAAO,EAAQ,WAE1D,IAAAtgC,IDrFiB,EAAC6jC,EAAej2C,EAAMk2C,KACxD,IAAIxsC,EAAIE,EAAIusC,EAAIr9C,EAAIH,EAAIy9C,EACxB,IAAI1D,EACAhtD,EAAU,GACVuwD,IACFvD,GAAQ,IAAAM,iBAAgBiD,IAE1B,IAAK,IAAIr5D,EAAI,EAAGA,EAAIs5D,EAAYprE,OAAQ8R,IAAK,CAC3C,MAAM6d,EAAOy7C,EAAYt5D,GACzB,IAAI42B,OAAqB,IAAd/Y,EAAK+Y,MAAiC,OAAd/Y,EAAK+Y,KAAgB/Y,EAAKhsB,MAAQgsB,EAAK+Y,KACtE/kC,OAAuB,IAAfgsB,EAAKhsB,OAAmC,OAAfgsB,EAAKhsB,MAAiBgsB,EAAK+Y,KAAO/Y,EAAKhsB,MAO5E,IANI,KAAA4nE,UAAS5nE,KACXA,EAAQA,EAAMa,aAEZ,KAAA+mE,UAAS7iC,KACXA,EAAOA,EAAKlkC,YAEVojE,EAAO,CACT,MAAM9zB,EAAU21B,GAAc9lE,EAAOikE,GACrC,IAAK9zB,EAAQ9zC,OACX,SAEF,MAAMwrE,EAAa13B,EAAQlkB,MAAMomB,GAAMA,EAAEy1B,QAAUz1B,EAAEy1B,OAAO9nE,QACtD+nE,EAAY53B,EAAQlkB,MAAMomB,GAAMA,EAAEy1B,QAAUz1B,EAAEy1B,OAAO/iC,OACrDijC,EAAa73B,EAAQlkB,MAAMomB,GAAMA,EAAEh2C,OAAS,IAC5C4rE,EAAc93B,EAAQ9zC,OAAS,GAAK2rE,EAC1C,GAAIH,GAAcE,EAChB/nE,EAAqG,OAA5F0nE,EAA+D,OAAzDzsC,EAAmB,MAAd4sC,OAAqB,EAASA,EAAWC,aAAkB,EAAS7sC,EAAGj7B,OAAiB0nE,EAA6D,OAAvDvsC,EAAkB,MAAb4sC,OAAoB,EAASA,EAAUD,aAAkB,EAAS3sC,EAAG4J,KAC5LA,EAAiG,OAAzF4iC,EAA6D,OAAvDt9C,EAAkB,MAAb09C,OAAoB,EAASA,EAAUD,aAAkB,EAASz9C,EAAG0a,MAAgB4iC,EAA+D,OAAzDz9C,EAAmB,MAAd29C,OAAqB,EAASA,EAAWC,aAAkB,EAAS59C,EAAGlqB,UACrL,IAAIioE,EAAa,CACtB,IAAK,IAAI1zC,EAAI,EAAGA,EAAI4b,EAAQ9zC,OAAQk4B,IAAK,CACvC,MAAMpZ,EAAQg1B,EAAQ5b,GACtBtd,EAAQpP,KAAK,CAAE0wC,MAAOp9B,EAAM,GAAInb,MAAOmb,EAAM,IAC/C,CACA,QACF,CAAW6sD,IACTjjC,EAAOijC,EAAW,GAClBhoE,EAAQgoE,EAAW,GACrB,CACF,CACA/wD,EAAQpP,KAAK,CAAE0wC,MAAOxT,EAAM/kC,SAC9B,CAEA,OADAiX,GAAU,KAAAixD,QAAOjxD,EAAS,SAeD,EAACA,EAASkxD,KACnC,GAAIA,IAAc,EAAAlC,aAAaxxD,SAC7B,OAAOwC,EAET,MAAMmxD,EAAiBC,IACrB,IAAKA,EAAItjC,KACP,OAAQ,EAEV,MAAMoL,EAAUk4B,EAAItjC,KAAK5pB,MAAM,cAC/B,OAAKg1B,GAAWA,EAAQ9zC,OAAS,GACvB,EAEDuhB,SAASuyB,EAAQ,GAAI,GAC9B,EAEIm4B,EAAqBC,GAClBA,EAASh3C,MAAK,CAAC5T,EAAGmT,IAClBnT,EAAEonB,KAGFjU,EAAEiU,KAGApnB,EAAEonB,KAAKyjC,cAAc13C,EAAEiU,UAAM,EAAQ,CAAEiG,SAAS,IAF9C,GAHC,IAQd,OAAQm9B,GACN,KAAK,EAAAlC,aAAawC,gBAChBxxD,GAAU,KAAAyxD,QAAOzxD,EAAS,QAC1B,MACF,KAAK,EAAAgvD,aAAa0C,iBAChB1xD,GAAU,KAAAyxD,QAAOzxD,EAAS,QAAQ+c,UAClC,MACF,KAAK,EAAAiyC,aAAa2C,aAChB3xD,GAAU,KAAAyxD,QAAOzxD,EAASmxD,GAC1B,MACF,KAAK,EAAAnC,aAAa4C,cAEhB5xD,GADAA,GAAU,KAAAyxD,QAAOzxD,EAASmxD,IACRp0C,UAClB,MACF,KAAK,EAAAiyC,aAAa6C,+BAChB7xD,GAAU,KAAAyxD,QAAOzxD,GAAUoxD,IAClB,KAAAU,SAAQV,EAAItjC,QAErB,MACF,KAAK,EAAAkhC,aAAa+C,gCAIhB/xD,GAHAA,GAAU,KAAAyxD,QAAOzxD,GAAUoxD,IAClB,KAAAU,SAAQV,EAAItjC,SAEH/Q,UAClB,MACF,KAAM,EAAAiyC,aAAagD,YAAc,EAC/BhyD,EAAUqxD,EAAkBrxD,GAC5B,MACF,KAAM,EAAAgvD,aAAaiD,aAAe,EAEhCjyD,GADAA,EAAUqxD,EAAkBrxD,IACV+c,UAGtB,OAAO/c,CAAO,EAzEPkyD,CAAmBlyD,EAASsa,EAAK,EC0CpB63C,CAA4BnF,EAAOzgE,KAAKyM,MAAMshB,KAAMztB,GAAQ,KAExE,IAAAulE,aAAYnqC,GACNA,EAAMoqC,WACD,IAAA3lC,IAAG,KAEL,IAAA8iC,aAAW,IAAMvnC,MAE3B,OAnCI,IAAAyE,IAAG,GAsCd,CACA,UAAA4iC,CAAWr4D,EAAQw3D,GACjB,MAAM93B,EAAa,CACjB4O,cAAe,CAAEzX,KAAM,gBAAiB/kC,MAAOwD,OAE7CkiE,IACF93B,EAAW27B,eAAiB,CAAEvpE,MAAO0lE,EAAc3gC,KAAM2gC,IAE3D,MAAMtoB,EAAQ,GAAWlZ,aAAa1gC,MAAMyM,MAAMjQ,MAYlD,MAXgB,CACdg9C,IAAK,EAAAwsB,QAAQxX,UACb/U,UAAW,IACXC,SAAU,GACVE,QACAhU,SAAU,GACVD,WAAY,EACZkU,QAAS,CAACnvC,GACV0/B,aACA6P,UAAW5W,KAAK6W,MAGpB,EExHF,SAAS+rB,GAAgBvsC,EAAQwsC,GAC/B,MAAMC,EAAQ,CAAC,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,KAC5C73D,EAAW,GACjB,GAAI43D,EAAQ,EACV,MAAO,GAET,IAAK,MAAME,KAAUD,EAAO,CAC1B,MAAME,EAAW,GAAG3sC,IAAS0sC,IAC7B93D,EAASjK,KAAK,CACZ7B,KAAM6jE,EACN/3D,SAAU23D,GAAgBI,EAAUH,EAAQ,IAEhD,CACA,OAAO53D,CACT,CACA,SAASg4D,GAAUh4D,EAAU0/B,EAAOu4B,GAClC,GAAIA,GAAcv4B,EAAMn1C,OACtB,OAAOyV,EAET,GAA0B,MAAtB0/B,EAAMu4B,GACR,OAAOj4D,EAET,MAAMk4D,EAAYx4B,EAAMu4B,GACxB,IAAIlqE,EAAS,GACToqE,EAAe,CAACD,GAChBA,EAAUE,WAAW,OACvBD,EAAeD,EAAUzoE,QAAQ,SAAU,IAAIsoC,MAAM,MAEvD,IAAK,MAAM/9B,KAAQgG,EACjB,IAAK,MAAMq4D,KAAeF,EACxB,IAAkC,IAA9BE,EAAY36C,QAAQ,KAAa,CACnC,MAAM46C,EAAUD,EAAY5oE,QAAQ,IAAK,IAC3B,IAAIF,OAAO,IAAI+oE,MAAa,MAChC1hE,KAAKoD,EAAK9F,QAClBnG,EAASA,EAAOkb,OAAO+uD,GAAU,CAACh+D,GAAO0lC,EAAOu4B,EAAa,IAEjE,MAAWj+D,EAAK9F,OAASmkE,IACvBtqE,EAASA,EAAOkb,OAAO+uD,GAAUh+D,EAAKgG,SAAU0/B,EAAOu4B,EAAa,KAI1E,OAAOlqE,CACT,CACA,SAASwqE,GAAgB74B,GACvB,OAA+B,IAA3BA,EAAMhiB,QAAQ,SACT,CAAC,CAAExpB,KAAMwrC,EAAO1/B,SAAU,KAG5Bg4D,GADUL,GAAgB,GAAI,GACVj4B,EAAM3H,MAAM,KAAM,EAC/C,CFyEA0rB,GAAcrmD,UAAY,EAAGkrB,WACpBkoC,GAAwBloC,GGjHjC,IAAI,GAAY97B,OAAOgO,eACnB,GAAsBhO,OAAO2D,sBAC7B,GAAe3D,OAAOkC,UAAUM,eAChC,GAAexC,OAAOkC,UAAUoB,qBAChC,GAAkB,CAAC+K,EAAK1M,EAAKD,IAAUC,KAAO0M,EAAM,GAAUA,EAAK1M,EAAK,CAAEsM,YAAY,EAAMwC,cAAc,EAAMC,UAAU,EAAMhP,UAAW2M,EAAI1M,GAAOD,ECX1J,SAASsqE,IAAmB,MAAElwC,IAC5B,MAAM,MAAEp6B,EAAK,IAAEC,EAAG,QAAEi/D,GAAY9kC,EAAMkF,WAChC+iC,GAAS,IAAAkI,cACZxuE,IACCq+B,EAAMowC,SAASzuE,EAAE0uE,cAAczqE,MAAM,GAEvC,CAACo6B,IAEGswC,GAAY,IAAAH,cACfxuE,IACe,UAAVA,EAAEkE,KACJm6B,EAAMowC,SAASzuE,EAAE0uE,cAAczqE,MACjC,GAEF,CAACo6B,IAEH,OAAuB,kBAAoB,GAAAuwC,cAAe,CACxDnzD,GAAIvX,EACJ4oB,YAAa,cACb+hD,SAAU,GACVC,aAAc7qE,EACdk/D,UACAmD,SACAqI,aAEJ,EDFA,cAA2BnI,GACzB,WAAAp7D,CAAYi1C,GACV1sC,MAbiB,EAACiO,EAAGmT,KACvB,IAAK,IAAIxV,KAAQwV,IAAMA,EAAI,CAAC,GACtB,GAAaxvB,KAAKwvB,EAAGxV,IACvB,GAAgBqC,EAAGrC,EAAMwV,EAAExV,IAC/B,GAAI,GACF,IAAK,IAAIA,KAAQ,GAAoBwV,GAC/B,GAAaxvB,KAAKwvB,EAAGxV,IACvB,GAAgBqC,EAAGrC,EAAMwV,EAAExV,IAEjC,OAAOqC,CAAC,EAIA,CAAe,CACnBtV,KAAM,SACNrC,KAAM,OACNhG,MAAO,QACP+kC,KAAM,OACNyM,MAAO,QACPv6B,QAAS,GACTkpD,QAAS,EAAAz/B,gBAAgBslC,iBACxB5pB,IACH54C,KAAKsnE,eAAiB,IAAI,EAAAC,QAC1BvnE,KAAKwnE,iBAAkB,EACvBxnE,KAAKynE,qBAAuB,EAC5BznE,KAAK65B,oBAAsB,IAAI,GAAyB75B,KAAM,CAC5D+rC,WAAY,CAAC,UAEjB,CACA,eAAAkzB,CAAgBxhD,GACd,MAAM,QAAEiqD,GAAY1nE,KAAKyM,MAEzB,OADAzM,KAAKynE,sBAAwB,EACtB,IAAI,EAAAj6B,YAAYC,IAErB,GADAztC,KAAKsM,SAAS,CAAEovD,SAAS,IACrB17D,KAAKyM,MAAMw2D,WACb,MAAM,IAAIx7D,MAAMzH,KAAKyM,MAAMw2D,YAE7B,MAAMv1B,EAAM1tC,KAAKsnE,eAAeptC,UAAU,CACxCpT,KAAM,KACJ2mB,EAAS3mB,KAAK9mB,KAAK2nE,cACnBl6B,EAASqE,UAAU,IAGvB,IAAIX,EAOJ,OANIu2B,EACFv2B,EAAUvjC,OAAOsjC,YAAW,IAAMlxC,KAAK4nE,yBAAyBF,GAC3C,IAAZA,GACT1nE,KAAK4nE,wBAEP5nE,KAAKwnE,iBAAkB,EAChB,KACL95B,EAAI7R,cACJjuB,OAAOyjC,aAAaF,GACpBnxC,KAAKsM,SAAS,CAAEovD,SAAS,IACzB17D,KAAKwnE,iBAAkB,CAAK,CAC7B,GAEL,CACA,MAAAl2D,GACE,MAAM8tD,EAAcviC,GAAW78B,MAAOg8B,GAAMA,aAAa4/B,GAAmB5/B,OAAI,IACjE,MAAfojC,GAA+BA,EAAY9tD,OAAOtR,KACpD,CACA,UAAA2nE,GACE,MAAME,EAAoB,GAAW19B,YAAYnqC,KAAMA,KAAKyM,MAAMuhC,OAC5Dv6B,EAAUzT,KAAK8nE,WAAWD,GAKhC,OAJA7nE,KAAKsM,SAAS,CACZy7D,YAAaF,EACbp0D,YAEKA,CACT,CACA,UAAAq0D,CAAWD,GACT,OAAI7nE,KAAKyM,MAAMu7D,gBACNhoE,KAAKyM,MAAMu7D,gBAEbnB,GAAgBgB,GAAmBzrE,KAAK4P,IAAM,CAAG+oC,MAAO/oC,EAAExJ,KAAMhG,MAAOwP,EAAExJ,QAClF,CACA,qBAAAolE,GACE5nE,KAAKsnE,eAAexgD,KAAK,EAC3B,IAEWpb,UAAY,EAAGkrB,WACnBkoC,GAAwBloC,GE3FjC,IAAI,GAAY97B,OAAOgO,eACnB,GAAsBhO,OAAO2D,sBAC7B,GAAe3D,OAAOkC,UAAUM,eAChC,GAAexC,OAAOkC,UAAUoB,qBAChC,GAAkB,CAAC+K,EAAK1M,EAAKD,IAAUC,KAAO0M,EAAM,GAAUA,EAAK1M,EAAK,CAAEsM,YAAY,EAAMwC,cAAc,EAAMC,UAAU,EAAMhP,UAAW2M,EAAI1M,GAAOD,GAY1J,cAA8B,EAC5B,WAAAmH,CAAYi1C,GACV1sC,MAbiB,EAACiO,EAAGmT,KACvB,IAAK,IAAIxV,KAAQwV,IAAMA,EAAI,CAAC,GACtB,GAAaxvB,KAAKwvB,EAAGxV,IACvB,GAAgBqC,EAAGrC,EAAMwV,EAAExV,IAC/B,GAAI,GACF,IAAK,IAAIA,KAAQ,GAAoBwV,GAC/B,GAAaxvB,KAAKwvB,EAAGxV,IACvB,GAAgBqC,EAAGrC,EAAMwV,EAAExV,IAEjC,OAAOqC,CAAC,EAIA,CAAe,CACnBtV,KAAM,UACNrI,MAAO,GACPgG,KAAM,IACLo2C,IACH54C,KAAK+5B,SAAW,IAAI4D,GAAyB39B,KAAM,CAAEvC,KAAM,CAACuC,KAAKqgE,WACnE,CACA,QAAAv7D,GACE,OAAO9E,KAAKyM,MAAMjQ,KACpB,CACA,QAAAwqE,CAAShsC,GACHA,IAAah7B,KAAKyM,MAAMjQ,QAC1BwD,KAAKsM,SAAS,CAAE9P,MAAOw+B,IACvBh7B,KAAKy6B,aAAa,IAAIoG,GAA+B7gC,OAAO,GAEhE,CACA,MAAAqgE,GACE,MAAO,OAAOrgE,KAAKyM,MAAMjK,MAC3B,CACA,WAAAw7B,GACE,MAAO,CAAE,CAACh+B,KAAKqgE,UAAWrgE,KAAKyM,MAAMjQ,MACvC,CACA,aAAAyhC,CAAc39B,GACZ,MAAMi6B,EAAS,CAAC,EACVuH,EAAMxhC,EAAON,KAAKqgE,UACL,iBAARv+B,IACTvH,EAAO/9B,MAAQslC,GAEjB9hC,KAAKsM,SAASiuB,EAChB,IAEc7uB,UAAY,EAAGkrB,WACN,kBAAoBkwC,GAAoB,CAC7DlwC,UCtDY97B,OAAOgO,eACNhO,OAAOwgB,iBACAxgB,OAAOugB,0BACLvgB,OAAO2D,sBACd3D,OAAOkC,UAAUM,eACjBxC,OAAOkC,UAAUoB,qBCGpC,IAAI,GAAYtD,OAAOgO,eACnB,GAAsBhO,OAAO2D,sBAC7B,GAAe3D,OAAOkC,UAAUM,eAChC,GAAexC,OAAOkC,UAAUoB,qBAChC,GAAkB,CAAC+K,EAAK1M,EAAKD,IAAUC,KAAO0M,EAAM,GAAUA,EAAK1M,EAAK,CAAEsM,YAAY,EAAMwC,cAAc,EAAMC,UAAU,EAAMhP,UAAW2M,EAAI1M,GAAOD,GAY1J,cAA+B,EAC7B,WAAAmH,CAAYi1C,GACV1sC,MAbiB,EAACiO,EAAGmT,KACvB,IAAK,IAAIxV,KAAQwV,IAAMA,EAAI,CAAC,GACtB,GAAaxvB,KAAKwvB,EAAGxV,IACvB,GAAgBqC,EAAGrC,EAAMwV,EAAExV,IAC/B,GAAI,GACF,IAAK,IAAIA,KAAQ,GAAoBwV,GAC/B,GAAaxvB,KAAKwvB,EAAGxV,IACvB,GAAgBqC,EAAGrC,EAAMwV,EAAExV,IAEjC,OAAOqC,CAAC,EAIA,CAAe,CACnBtV,KAAM,WACNrI,MAAO,GACPyrE,UAAW,CAAC,KAAM,MAAO,MAAO,KAAM,KAAM,MAAO,KAAM,KAAM,MAAO,OACtEzlE,KAAM,GACN0lE,cAAe,GACfC,gBAAiB,MACjBC,aAAa,EACbzL,QAASz/B,GAAgB0/B,oBACxBhkB,IACH54C,KAAKqoE,UAAa7rE,IAChBwD,KAAKsM,SAAS,CAAE9P,MAAOA,EAAMA,QAC7BwD,KAAKy6B,aAAa,IAAIoG,GAA+B7gC,OAAO,EAAK,EAEnEA,KAAK+5B,SAAW,IAAI4D,GAAyB39B,KAAM,CAAEvC,KAAM,CAACuC,KAAKqgE,WACnE,CACA,MAAAA,GACE,MAAO,OAAOrgE,KAAKyM,MAAMjK,MAC3B,CACA,WAAAw7B,GACE,MAAO,CAAE,CAACh+B,KAAKqgE,UAAWrgE,KAAKyM,MAAMjQ,MACvC,CACA,aAAAyhC,CAAc39B,GACZ,MAAMi6B,EAAS,CAAC,EACVuH,EAAMxhC,EAAON,KAAKqgE,UACL,iBAARv+B,IACLA,EAAI4kC,WAAW,qBACjBnsC,EAAO/9B,MAAQ+nC,GAEfhK,EAAO/9B,MAAQslC,GAGnB9hC,KAAKsM,SAASiuB,EAChB,CACA,mBAAA0jC,GACE,MAAQzhE,MAAO6iE,EAAY,UAAE4I,EAAS,YAAEG,GAAgBpoE,KAAKyM,MAC7D,IAAIgH,EAAUw0D,EAAU7rE,KAAKwpC,IAAa,CAAGppC,MAAOopC,EAAUmP,MAAOnP,MAOrE,OANIwiC,IACF30D,EAAU,CAAC,CAAEjX,MAAO+nC,GAAqBwQ,M9EjEpB,W8EiEoDthC,IAEvE4rD,IAAiB5rD,EAAQ60D,MAAMnhB,GAAWA,EAAO3qD,QAAU6iE,KAC7D5rD,EAAQpP,KAAK,CAAE7H,MAAO6iE,EAActqB,MAAOsqB,IAEtC5rD,CACT,CACA,QAAA3O,GACE,MAAM,MAAEtI,EAAK,cAAE0rE,EAAa,gBAAEC,GAAoBnoE,KAAKyM,MACvD,OAAIjQ,IAAU+nC,GACLvkC,KAAKuoE,sBAAsBL,EAAeC,GAE5C3rE,CACT,CACA,qBAAA+rE,CAAsBL,EAAeM,GACnC,MAAM/qC,EAAY,GAAWiD,aAAa1gC,MAAMyM,MAAMjQ,MAEtD,OADuB,EAAAo5C,UAAU8E,kBAAkBjd,EAAWyqC,EAAeM,GACvD5iC,QACxB,CACA,iBAAAm3B,GACE,MAAM,MAAEvgE,EAAK,UAAEyrE,GAAcjoE,KAAKyM,MAClC,IAAIg8D,GAAgB,EACpB,GAAIjsE,IAAU+nC,GACZkkC,GAAgB,OACX,IAAKjsE,GAASyrE,EAAUpvE,OAAS,EAAG,CACzC,MAAM6vE,EAAcT,EAAU,GAC9BjoE,KAAKsM,SAAS,CAAE9P,MAAOksE,IACvBD,GAAgB,CAClB,CAIA,OAHIA,GACFzoE,KAAKy6B,aAAa,IAAIoG,GAA+B7gC,OAAO,IAEvD,IAAAmgC,IAAG,CAAC,EACb,IAEez0B,UAAY,EAAGkrB,YAC9B,MAAM,IAAEn6B,EAAG,MAAED,GAAUo6B,EAAMkF,WAC7B,OAAuB,kBAAoB,GAAA6sB,OAAQ,CACjD30C,GAAIvX,EACJ4oB,YAAa,eACb9P,MAAO,OACP/Y,QACAwhE,iBAAiB,EACjBvqD,QAASmjB,EAAMqnC,sBACfrmB,SAAUhhB,EAAMyxC,WAChB,EChHJ,MAAMM,GACJ,WAAAhlE,CAAY48D,GACVvgE,KAAKugE,UAAYA,CACnB,CACA,MAAAF,GACE,MAAO,OAAOrgE,KAAKugE,UAAU9zD,MAAMjK,MACrC,CACA,OAAAu7B,GACE,MAAO,CAAC/9B,KAAKqgE,SACf,CACA,WAAAriC,GAEE,MAAMxhC,EADQwD,KAAKugE,UAAU9zD,MAAM68B,QACbltC,KAAK8e,GAgC/B,SAAiBA,GACf,MAAO,CAACA,EAAOze,IAAKye,EAAOquB,SAAUruB,EAAO1e,MAC9C,CAlC0CosE,CAAQ1tD,GAAQ9e,IAAIysE,IAAiB9mC,KAAK,OAChF,MAAO,CAAE,CAAC/hC,KAAKqgE,UAAW7jE,EAC5B,CACA,aAAAyhC,CAAc39B,GACZ,MAAMggE,EAAWhgE,EAAON,KAAKqgE,UAC7B,GAAgB,MAAZC,EACF,OAEF,MAAMh3B,EAIV,SAAiC9sC,GAC/B,GAAI7D,MAAMC,QAAQ4D,GAEhB,OADeA,EACDJ,IAAI0sE,IAAU5tD,OAAO6tD,IAErC,MAAM7tD,EAAS4tD,GAAStsE,GACxB,OAAkB,OAAX0e,EAAkB,GAAK,CAACA,EACjC,CAXoB8tD,CAAwB1I,GACxCtgE,KAAKugE,UAAUj0D,SAAS,CAAEg9B,WAC5B,EAUF,SAASu/B,GAAgBrsE,GACvB,OAAIA,QACK,GAEF,MAAM0B,OAAOH,SAASvB,EAAO,UACtC,CACA,SAASysE,GAAkBzsE,GACzB,OAAIA,QACK,GAEF,WAAW0B,OAAOH,SAASvB,EAAO,IAC3C,CAIA,SAASssE,GAAStsE,GAChB,GAAqB,iBAAVA,GAAuC,IAAjBA,EAAM3D,OACrC,OAAO,KAET,MAAMqwE,EAAQ1sE,EAAM6pC,MAAM,KAAKjqC,IAAI6sE,IACnC,MAAO,CACLxsE,IAAKysE,EAAM,GACX3/B,SAAU2/B,EAAM,GAChB1sE,MAAO0sE,EAAM,GACbC,UAAW,GAEf,CACA,SAASJ,GAAS7tD,GAChB,OAAkB,OAAXA,GAAyC,iBAAfA,EAAOze,KAA4C,iBAAjBye,EAAO1e,KAC5E,CCvDA,IAAI,GAAY1B,OAAOgO,eACnB,GAAahO,OAAOwgB,iBACpB,GAAoBxgB,OAAOugB,0BAC3B,GAAsBvgB,OAAO2D,sBAC7B,GAAe3D,OAAOkC,UAAUM,eAChC,GAAexC,OAAOkC,UAAUoB,qBAChC,GAAkB,CAAC+K,EAAK1M,EAAKD,IAAUC,KAAO0M,EAAM,GAAUA,EAAK1M,EAAK,CAAEsM,YAAY,EAAMwC,cAAc,EAAMC,UAAU,EAAMhP,UAAW2M,EAAI1M,GAAOD,EACtJ,GAAiB,CAAC2d,EAAGmT,KACvB,IAAK,IAAIxV,KAAQwV,IAAMA,EAAI,CAAC,GACtB,GAAaxvB,KAAKwvB,EAAGxV,IACvB,GAAgBqC,EAAGrC,EAAMwV,EAAExV,IAC/B,GAAI,GACF,IAAK,IAAIA,KAAQ,GAAoBwV,GAC/B,GAAaxvB,KAAKwvB,EAAGxV,IACvB,GAAgBqC,EAAGrC,EAAMwV,EAAExV,IAEjC,OAAOqC,CAAC,EAEN,GAAgB,CAACA,EAAGmT,IAAM,GAAWnT,EAAG,GAAkBmT,IAC9D,SAAS87C,IAAoB,OAAEluD,EAAM,MAAE0b,IACrC,IAAIa,EAAIE,EACR,MAAMmf,GAAS,KAAAC,YAAW,KACnBtqC,EAAOH,IAAY,IAAAwvB,UAAS,CAAC,GAC9ButC,EAA0B,KAAfnuD,EAAOze,KAAa,IAAA6sE,UAASpuD,EAAOze,KAAO,KACtD8sE,EAA8B,KAAjBruD,EAAO1e,OAAe,IAAA8sE,UAASpuD,EAAO1e,OAAS,KAC5DotD,EAA8B,kBAAoB,GAAAjB,OAAQ,CAC9D13C,SAAU2lB,EAAMnqB,MAAM8gD,SACtBj+C,UAAW7C,EAAM+8D,WAAa1yB,EAAO2yB,mBAAgB,EACrDl0D,MAAO,OACP/Y,MAAO+sE,EACPlkD,YAAa,QACb5R,QAAShH,EAAMnM,OACfs3C,SAAW5U,GAAMpM,EAAM8yC,cAAcxuD,EAAQ,QAAS8nB,EAAExmC,OACxDq7C,OAAQprC,EAAMk9D,aACdjR,UAAWjsD,EAAMm9D,gBACjBC,WAAYh8B,UACVvhC,EAAS,GAAc,GAAe,CAAC,EAAGG,GAAQ,CAAEm9D,iBAAiB,KACrE,MAAMtpE,QAAes2B,EAAMkzC,cAAc5uD,GACzC5O,EAAS,GAAc,GAAe,CAAC,EAAGG,GAAQ,CAAEm9D,iBAAiB,EAAOD,cAAc,EAAMrpE,WAAU,EAE5GypE,YAAa,KACXz9D,EAAS,GAAc,GAAe,CAAC,EAAGG,GAAQ,CAAEk9D,cAAc,IAAS,IAGzEK,EAA4B,kBAAoB,GAAArhB,OAAQ,CAC5D13C,SAAU2lB,EAAMnqB,MAAM8gD,SACtBj+C,UAAW7C,EAAM+8D,WAAa1yB,EAAO2yB,mBAAgB,EACrDl0D,MAAO,OACP/Y,MAAO6sE,EACPhkD,YAAa,eACb5R,QAAShH,EAAMhP,KACfm6C,SAAW5U,GAAMpM,EAAM8yC,cAAcxuD,EAAQ,MAAO8nB,EAAExmC,OACtDytE,UAA0B,KAAf/uD,EAAOze,IAClBo7C,OAAQprC,EAAM+8D,WACd9Q,UAAWjsD,EAAMy9D,cACjBL,WAAYh8B,UACVvhC,EAAS,GAAc,GAAe,CAAC,EAAGG,GAAQ,CAAEy9D,eAAe,KACnE,MAAMzsE,QAAam5B,EAAMuzC,SAASjvD,EAAOze,KACzC6P,EAAS,GAAc,GAAe,CAAC,EAAGG,GAAQ,CAAEy9D,eAAe,EAAOV,YAAY,EAAM/rE,SAAQ,EAEtGssE,YAAa,KACXz9D,EAAS,GAAc,GAAe,CAAC,EAAGG,GAAQ,CAAE+8D,YAAY,IAAS,EAE3EY,iBAAiB,IAEnB,GAA2B,aAAvBxzC,EAAMnqB,MAAMgY,OAAuB,CACrC,GAAIvJ,EAAOze,IAAK,CACd,MAAMs4C,EAAwB,kBAAoBujB,GAAe,CAC/D7zC,OAAQ,WACRswB,MAA4B,OAApBtd,EAAKvc,EAAOze,KAAeg7B,EAAK,GACxC2hC,SAAU,IAAMxiC,EAAMyzC,cAAcnvD,KAEtC,OAAuB,kBAAoB,GAAAovD,MAAO,CAChDv1B,QACA,cAAe,eAAe75B,EAAOze,MACrC6S,UAAWwnC,EAAOxP,OACjBsiB,EACL,CACE,OAAuB,kBAAoB,GAAA0gB,MAAO,CAChDv1B,MAAO,eACP,cAAe,eAAe75B,EAAOze,MACrC6S,UAAWwnC,EAAOxP,OACjB0iC,EAEP,CACA,OAAuB,kBAAoB,MAAO,CAChD16D,UAAWwnC,EAAO0V,QAClB,cAAe,eAAetxC,EAAOze,OACpCutE,EAA2B,kBAAoB,GAAArhB,OAAQ,CACxDnsD,MAAO0e,EAAOquB,SACdt4B,SAAU2lB,EAAMnqB,MAAM8gD,SACtB95C,QAASmjB,EAAM2zC,gBACfh1D,MAAO,OACPqiC,SAAW5U,GAAMpM,EAAM8yC,cAAcxuD,EAAQ,WAAY8nB,EAAExmC,SACzDotD,EAA6B,kBAAoB,GAAA4gB,OAAQ,CAC3DhzB,QAAS,YACT,aAAc,gBACd8H,MAAO,gBACPhwC,UAAWwnC,EAAO2zB,aAClB5oB,KAAM,QACN,cAAe,sBAA2C,OAApBlqB,EAAKzc,EAAOze,KAAek7B,EAAK,KACtE0f,QAAS,IAAMzgB,EAAMyzC,cAAcnvD,KAEvC,CACA,MAAM,GAAao7B,IAAU,CAC3BhP,OAAO,KAAAkP,KAAI,CACT/8B,aAAc,IAEhB+yC,SAAS,KAAAhW,KAAI,CACX1O,QAAS,OACT,MAAO,CACL,sBAAuB,CACrBzuB,YAAa,GAEf,gBAAiB,CACfqxD,qBAAsB,EACtBC,wBAAyB,GAE3B,eAAgB,CACdC,oBAAqB,EACrBC,uBAAwB,GAE1B,uCAAwC,CACtC3Q,aAAc,GAEhBpuD,SAAU,WACVg/D,OAAQ,EACR,UAAW,CACTA,OAAQ,GAEV,iBAAkB,CAChBA,OAAQ,MAIdrB,eAAe,KAAAjzB,KAAI,CACjB4wB,SAAU9wB,EAAMqiB,QAAQ,MAE1B8R,cAAc,KAAAj0B,KAAI,CAChB/gC,YAAa6gC,EAAMqiB,QAAQ,KAC3BjjD,aAAc4gC,EAAMqiB,QAAQ,KAC5BoS,WAAY,OACZj/D,SAAU,WACVgE,KAAM,UCjJV,SAASk7D,IAAmB,MAAEp0C,IAC5B,MAAM,KAAEq0C,GAASr0C,EAAMkF,WACvB,OAAKmvC,EAUkB,kBAAoB7B,GAAqB,CAC9DluD,OAAQ+vD,EACRr0C,UAXuB,kBAAoB,GAAA4zC,OAAQ,CACjDhzB,QAAS,YACTqK,KAAM,OACNvC,MAAO,aACP,aAAc,aACd,cAAe,kBACfjI,QAAS,IAAMzgB,EAAMs0C,WAO3B,CCRA,IAAI,GAAYpwE,OAAOgO,eACnB,GAAahO,OAAOwgB,iBACpB,GAAoBxgB,OAAOugB,0BAC3B,GAAsBvgB,OAAO2D,sBAC7B,GAAe3D,OAAOkC,UAAUM,eAChC,GAAexC,OAAOkC,UAAUoB,qBAChC,GAAkB,CAAC+K,EAAK1M,EAAKD,IAAUC,KAAO0M,EAAM,GAAUA,EAAK1M,EAAK,CAAEsM,YAAY,EAAMwC,cAAc,EAAMC,UAAU,EAAMhP,UAAW2M,EAAI1M,GAAOD,EACtJ,GAAiB,CAAC2d,EAAGmT,KACvB,IAAK,IAAIxV,KAAQwV,IAAMA,EAAI,CAAC,GACtB,GAAaxvB,KAAKwvB,EAAGxV,IACvB,GAAgBqC,EAAGrC,EAAMwV,EAAExV,IAC/B,GAAI,GACF,IAAK,IAAIA,KAAQ,GAAoBwV,GAC/B,GAAaxvB,KAAKwvB,EAAGxV,IACvB,GAAgBqC,EAAGrC,EAAMwV,EAAExV,IAEjC,OAAOqC,CAAC,EAEN,GAAgB,CAACA,EAAGmT,IAAM,GAAWnT,EAAG,GAAkBmT,IAC9D,MAAM69C,WAAuB,EAC3B,WAAAxnE,CAAYi1C,GACV1sC,MAAM,GAAe,CACnB1J,KAAM,UACN8mC,QAAS,GACT8hC,YAAa,GACbt9B,WAAY,KACZoR,UAAW,kBACXz6B,OAAQ,cACPm0B,IACH54C,KAAK+5B,SAAW,IAAI4uC,GAAmC3oE,MACvDA,KAAKinC,YAAc,CAAE+R,cAAe,CAAEx8C,MAAOwD,OAC7CA,KAAKqrE,gBAAiB,IAAAp9B,oBACO,oBAAzBjuC,KAAKyM,MAAMyyC,WhCxCnB,SAA8BosB,GAK5B,GAJAA,EAAU3uC,sBAAqB,KAC7B+b,GAAoBl4C,IAAI8qE,GACjB,IAAM5yB,GAAoBxd,OAAOowC,MAEtC7yB,GACF,OAEF,MAAM8yB,GAAc,IAAAC,mBACC,MAAfD,OAAsB,EAASA,EAAYE,kBAIjDhzB,GAA0B8yB,EAAYE,gBACtCF,EAAYE,gBAAkB,SAAmCC,GAC/D,IAAIj0C,EACJ,GAAiC,IAA7BihB,GAAoBp8C,KACtB,OAAOm8C,GAAwB36C,KAAKytE,GAEtC,MAAMryB,GAAK,IAAAjL,oBAAmB09B,oBAAoBD,GAClD,IAAKxyB,EACH,MAAO,GAET,IAAK,MAAMh+B,KAAUw9B,GAAoBp4C,SACvC,IAAuC,OAAjCm3B,EAAKvc,EAAOzO,MAAMqhC,iBAAsB,EAASrW,EAAG76B,OAASs8C,EAAGt8C,IACpE,OAAOse,EAAOzO,MAAM68B,QAGxB,MAAO,EACT,EAAE7+B,KAAK8gE,IAnBL99D,QAAQ4iB,IAAI,kCAoBhB,CgCWMu7C,CAAqB5rE,KAEzB,CACA,aAAA0pE,CAAcxuD,EAAQpD,EAAMtb,GAC1B,GAAa,MAATA,EACF,OAEF,MAAM,QAAE8sC,EAAO,KAAE2hC,GAASjrE,KAAKyM,MAC/B,GAAIyO,IAAW+vD,EAMb,YALa,UAATnzD,EACF9X,KAAKsM,SAAS,CAAEg9B,QAAS,IAAIA,EAAS,GAAc,GAAe,CAAC,EAAG2hC,GAAO,CAAE,CAACnzD,GAAOtb,KAAWyuE,UAAM,IAEzGjrE,KAAKsM,SAAS,CAAE2+D,KAAM,GAAc,GAAe,CAAC,EAAG/vD,GAAS,CAAE,CAACpD,GAAOtb,OAI9E,MAAMqvE,EAAiB7rE,KAAKyM,MAAM68B,QAAQltC,KAAK3D,GACzCA,IAAMyiB,EACD,GAAc,GAAe,CAAC,EAAGziB,GAAI,CAAE,CAACqf,GAAOtb,IAEjD/D,IAETuH,KAAKsM,SAAS,CAAEg9B,QAASuiC,GAC3B,CACA,aAAAxB,CAAcnvD,GACRA,IAAWlb,KAAKyM,MAAMw+D,KAI1BjrE,KAAKsM,SAAS,CAAEg9B,QAAStpC,KAAKyM,MAAM68B,QAAQpuB,QAAQziB,GAAMA,IAAMyiB,MAH9Dlb,KAAKsM,SAAS,CAAE2+D,UAAM,GAI1B,CACA,cAAMd,CAAS2B,GACb,IAAIr0C,EAAIE,EACR,MAAMo0C,QAAiE,OAA9Cp0C,GAAMF,EAAKz3B,KAAKyM,OAAOu/D,yBAA8B,EAASr0C,EAAG75B,KAAK25B,EAAIz3B,KAAM8rE,IACzG,GAAIC,GAAYA,EAAShuE,QACvB,OAAOguE,EAASzrE,OAAOlE,IAAI6vE,IAE7B,MAAM/yB,QAAWl5C,KAAKqrE,eAAexoE,IAAI7C,KAAKyM,MAAMqhC,WAAY9tC,KAAKinC,aACrE,IAAKiS,IAAOA,EAAGgzB,WACb,MAAO,GAET,MAAMC,EAAensE,KAAKyM,MAAM68B,QAAQpuB,QAAQziB,GAAMA,EAAEgE,MAAQqvE,IAAYv0D,OAAOvX,KAAKyM,MAAM2+D,aAC9F,IAAI3tE,QAAay7C,EAAGgzB,WAAW,CAAE5iC,QAAS6iC,IACtCJ,IACFtuE,EAAOA,EAAK8Z,OAAOw0D,EAASzrE,SAE9B,MAAM8rE,EAAoBpsE,KAAKyM,MAAM2/D,kBAIrC,OAHIA,IACF3uE,EAAOA,EAAKyd,QAAQziB,GAAMA,EAAE8oC,KAAK5pB,MAAMy0D,MAElC3uE,EAAKrB,IAAI6vE,GAClB,CACA,mBAAMnC,CAAc5uD,GAClB,IAAIuc,EAAIE,EACR,MAAMo0C,QAAmE,OAAhDp0C,GAAMF,EAAKz3B,KAAKyM,OAAO4/D,2BAAgC,EAAS10C,EAAG75B,KAAK25B,EAAIz3B,KAAMkb,IAC3G,GAAI6wD,GAAYA,EAAShuE,QACvB,OAAOguE,EAASzrE,OAAOlE,IAAI6vE,IAE7B,MAAM/yB,QAAWl5C,KAAKqrE,eAAexoE,IAAI7C,KAAKyM,MAAMqhC,WAAY9tC,KAAKinC,aACrE,IAAKiS,IAAOA,EAAGozB,aACb,MAAO,GAET,MAAMH,EAAensE,KAAKyM,MAAM68B,QAAQpuB,QAAQziB,GAAMA,EAAEgE,MAAQye,EAAOze,MAAK8a,OAAOvX,KAAKyM,MAAM2+D,aACxF3tC,EAAY,GAAWiD,aAAa1gC,MAAMyM,MAAMjQ,MACtD,IAAI8D,QAAe44C,EAAGozB,aAAa,CAAE7vE,IAAKye,EAAOze,IAAK6sC,QAAS6iC,EAAc1uC,cAI7E,OAHIsuC,IACFzrE,EAASA,EAAOiX,OAAOw0D,EAASzrE,SAE3BA,EAAOlE,IAAI6vE,GACpB,CACA,OAAAf,GACElrE,KAAKsM,SAAS,CAAE2+D,KAAM,CAAExuE,IAAK,GAAID,MAAO,GAAI+sC,SAAU,IAAK4/B,UAAW,KACxE,CACA,aAAAoB,GACE,MAAO,CAAC,IAAK,KAAM,IAAK,IAAK,KAAM,MAAMnuE,KAAKI,IAAU,CACtDu4C,MAAOv4C,EACPA,WAEJ,EAEF2uE,GAAez/D,UACf,UAAiC,MAAEkrB,IACjC,MAAM,QAAE0S,EAAO,SAAEikB,EAAQ,OAAE9oC,EAAM,KAAEjiB,GAASo0B,EAAMkF,WAC5Cgb,GAAS,KAAAC,YAAW,IAC1B,OAAuB,kBAAoB,MAAO,CAChDznC,UAAWwnC,EAAO0V,SACN,aAAX/nC,GAAyC,kBAAoB6zC,GAAe,CAC7EvjB,MAAe,MAARvyC,EAAeA,EAAO,UAC7Bq/C,KAAM,WACJvY,EAAQltC,KAAI,CAAC8e,EAAQhf,IAA0B,kBAAoB,aAAgB,CACrFO,IAAKP,GACY,kBAAoBktE,GAAqB,CAC1DluD,SACA0b,cACK22B,GAA4B,kBAAoByd,GAAoB,CACzEp0C,QACAn6B,IAAK,aAET,EACA,MAAM,GAAa65C,IAAU,CAC3BkW,SAAS,KAAAhW,KAAI,CACX1O,QAAS,OACTuyB,IAAK/jB,EAAMqiB,QAAQ,GACnBe,WAAY,aAEd6S,YAAY,KAAA/1B,KAAI,CACdI,MAAON,EAAMI,OAAOnV,KAAKoV,UACzBjhC,aAAc4gC,EAAMqiB,QAAQ,QAGhC,SAASsT,IAAkB,KAAE1qC,EAAI,MAAE/kC,IACjC,MAAO,CACLu4C,MAAOxT,EACP/kC,MAAOkK,OAAgB,MAATlK,EAAgBA,EAAQ+kC,GAE1C,CC9JA,IAAI,GAAYzmC,OAAOgO,eACnB,GAAahO,OAAOwgB,iBACpB,GAAoBxgB,OAAOugB,0BAC3B,GAAsBvgB,OAAO2D,sBAC7B,GAAe3D,OAAOkC,UAAUM,eAChC,GAAexC,OAAOkC,UAAUoB,qBAChC,GAAkB,CAAC+K,EAAK1M,EAAKD,IAAUC,KAAO0M,EAAM,GAAUA,EAAK1M,EAAK,CAAEsM,YAAY,EAAMwC,cAAc,EAAMC,UAAU,EAAMhP,UAAW2M,EAAI1M,GAAOD,EAatJ4+D,GAA+B,CAAEoR,IACnCA,EAAcA,EAAwB,SAAI,GAAK,WAC/CA,EAAcA,EAAyB,UAAI,GAAK,YAChDA,EAAcA,EAA4B,aAAI,GAAK,eAC5CA,GAJ0B,CAKhCpR,IAAgB,CAAC,GANU,GAXT,EAACjhD,EAAGmT,KACvB,IAAK,IAAIxV,KAAQwV,IAAMA,EAAI,CAAC,GACtB,GAAaxvB,KAAKwvB,EAAGxV,IACvB,GAAgBqC,EAAGrC,EAAMwV,EAAExV,IAC/B,GAAI,GACF,IAAK,IAAIA,KAAQ,GAAoBwV,GAC/B,GAAaxvB,KAAKwvB,EAAGxV,IACvB,GAAgBqC,EAAGrC,EAAMwV,EAAExV,IAEjC,OAAOqC,CAAC,EAUiC,CAAe,CAAC,EhGd9B,CAC3BnG,GAAI,uCACJg3B,OAAO,EACPv3B,QAAS,GACTsyB,aAAa,IgGE6B,GAQ2C,CACrFpE,YAAa,KACbw5B,KAAM,EACNrtB,WAAY,QCxBd,IAAI,GAAYhzC,OAAOgO,eACnB,GAAahO,OAAOwgB,iBACpB,GAAoBxgB,OAAOugB,0BAC3B,GAAsBvgB,OAAO2D,sBAC7B,GAAe3D,OAAOkC,UAAUM,eAChC,GAAexC,OAAOkC,UAAUoB,qBAChC,GAAkB,CAAC+K,EAAK1M,EAAKD,IAAUC,KAAO0M,EAAM,GAAUA,EAAK1M,EAAK,CAAEsM,YAAY,EAAMwC,cAAc,EAAMC,UAAU,EAAMhP,UAAW2M,EAAI1M,GAAOD,EACtJ,GAAiB,CAAC2d,EAAGmT,KACvB,IAAK,IAAIxV,KAAQwV,IAAMA,EAAI,CAAC,GACtB,GAAaxvB,KAAKwvB,EAAGxV,IACvB,GAAgBqC,EAAGrC,EAAMwV,EAAExV,IAC/B,GAAI,GACF,IAAK,IAAIA,KAAQ,GAAoBwV,GAC/B,GAAaxvB,KAAKwvB,EAAGxV,IACvB,GAAgBqC,EAAGrC,EAAMwV,EAAExV,IAEjC,OAAOqC,CAAC,EAEN,GAAgB,CAACA,EAAGmT,IAAM,GAAWnT,EAAG,GAAkBmT,IAC9D,MAAMm/C,GAAwB,cAAc,EAC1C,aAAOnwD,CAAO7P,GACZ,IAAIgrB,EACJ,OAAO,IAAIg1C,GAAsB,CAC/B5nE,KAAM,QACNs2D,KAAMC,GAAaI,UACnBh5D,KAA2B,OAApBi1B,EAAKhrB,EAAMjK,MAAgBi1B,EAAK,UACvC96B,IAAK,IAAIwuE,GAAe,GAAc,GAAe,CAAC,EAAG1+D,GAAQ,CAC/DyyC,UAAW,aAGjB,CACA,WAAAv7C,CAAY8I,GACV,IAAIgrB,EACJvrB,MAAM,GAAc,GAAe,CAAC,EAAGO,GAAQ,CAC7CigE,iBAAmD,OAAhCj1C,EAAKhrB,EAAMigE,kBAA4Bj1C,EAAK4R,GAA6B58B,EAAM9P,IAAI8P,MAAM68B,YAE9GtpC,KAAK28B,sBAAqB,KACxB38B,KAAKi5B,MAAMz4B,IACTR,KAAKyM,MAAM9P,IAAIs9B,kBAAiB,CAACttB,EAAUgc,KACrChc,EAAS28B,UAAY3gB,EAAU2gB,SACjCtpC,KAAK2sE,wBAAwBhgE,EAAS28B,SAAS,EACjD,KAGJtpC,KAAK2sE,wBAAwB3sE,KAAKyM,MAAM9P,IAAI8P,MAAM68B,SAAS,EAAM,GAErE,CACA,QAAAxkC,GACE,OAAO9E,KAAKyM,MAAMigE,gBACpB,CACA,uBAAAC,CAAwBrjC,EAAS7O,GAC/B,IAAImyC,EAAOvjC,GAA6BC,GACpCsjC,IAAS5sE,KAAKyM,MAAMigE,mBAGxB1sE,KAAKsM,SAAS,CAAEogE,iBAAkBE,IAC9BnyC,GACFz6B,KAAKy6B,aAAa,IAAIoG,GAA+B7gC,OAAO,GAEhE,GAEF,ICwGI6sE,GDxGuBJ,GACN/gE,UAAY,EAAGkrB,WACX,kBAAoBu0C,GAAez/D,UAAW,CACnEkrB,MAAOA,EAAMnqB,MAAM9P,MClEvB,MAAMmwE,GACJ,WAAAnpE,GACE3D,KAAK+sE,aAAe,IAAIC,GACxBhtE,KAAKitE,UAAY,KACjBjtE,KAAKktE,aAAe,KACpBltE,KAAKmtE,kBAAqB9lE,IACxB,GAAIrH,KAAKotE,YAAc/lE,EAASwhC,SAC9B,OAEF,MAAMwkC,EAAY,IAAI9mC,gBAAgBl/B,EAASuhC,QAC/C5oC,KAAK+sE,aAAaO,aAAattE,KAAKutE,YACpCvtE,KAAKwtE,uBAAuBxtE,KAAKutE,WAAYF,GAC7CrtE,KAAKotE,UAAY/lE,EAASwhC,QAAQ,EAEpC7oC,KAAKm8D,gBAAkB,EAAGhiC,cACxB,MAAMC,EAAgBD,EAAQC,cAC9B,GAAIA,EAAcN,QAAS,CACzB,MAAM2zC,EAAcrzC,EAAcN,QAAQkE,cACpC0vC,EAAe,EAAAx3C,gBAAgBy3C,YAC/BC,EAAgB,CAAC,EACvB5tE,KAAK+sE,aAAaO,aAAattE,KAAKutE,YACpC,IAAK,MAAO9wE,EAAKoxE,KAAgB/yE,OAAOiF,QAAQ0tE,GAAc,CAC5D,MAAMK,EAAY9tE,KAAK+sE,aAAagB,aAAatxE,EAAK29B,GAEjD4zC,GADmBN,EAAaO,OAAOH,GACND,KACpCD,EAAcE,GAAaD,EAE/B,CACI/yE,OAAO2C,KAAKmwE,GAAe/0E,OAAS,GACtC,EAAAq9B,gBAAgBg4C,QAAQN,GAAe,EAE3C,EAEJ,CACA,QAAAO,CAASlzE,GACF+E,KAAKktE,eACR,GAAc,iBAAkB,uBAChCltE,KAAKktE,aAAe,EAAAh3C,gBAAgBk4C,aAAaC,OAAOruE,KAAKmtE,oBAE3DntE,KAAKitE,YACP,GAAc,iBAAkB,+CAAgDjtE,KAAKutE,WAAW9gE,MAAMhQ,KACtGuD,KAAKitE,UAAUpxC,eAEjB77B,KAAKutE,WAAatyE,EAClB+E,KAAKotE,UAAY,EAAAl3C,gBAAgBuS,cAAcI,SAC/C7oC,KAAKitE,UAAYhyE,EAAKo/B,iBAAiBhC,EAA8Br4B,KAAKm8D,iBAC1En8D,KAAKsuE,SAAStuE,KAAKutE,WACrB,CACA,OAAAgB,CAAQtzE,GACF+E,KAAKutE,aAAetyE,IAGxB,GAAc,iBAAkB,YAC5B+E,KAAKktE,eACPltE,KAAKktE,eACL,GAAc,iBAAkB,6BAChCltE,KAAKktE,aAAe,MAElBltE,KAAKitE,YACPjtE,KAAKitE,UAAUpxC,cACf77B,KAAKitE,UAAY,KACjB,GACE,iBACA,iCACA,WACAjtE,KAAKutE,WAAW9gE,MAAMhQ,MAAQxB,EAAKwR,MAAMhQ,MAG/C,CACA,QAAA6xE,CAASE,GACP,MAAMnB,EAAY,EAAAn3C,gBAAgBy3C,YAClC3tE,KAAK+sE,aAAaO,aAAattE,KAAKutE,YACpCvtE,KAAKwtE,uBAAuBgB,EAAUnB,EACxC,CACA,sBAAAG,CAAuB92C,EAAa22C,GAClC,GAAI32C,EAAYoD,QAAS,CACvB,MAAMgN,EAAW,CAAC,EACZ2nC,EAAe/3C,EAAYoD,QAAQkE,cACzC,IAAK,MAAMvhC,KAAOi6B,EAAYoD,QAAQiE,UAAW,CAC/C,MAAM+vC,EAAY9tE,KAAK+sE,aAAagB,aAAatxE,EAAKi6B,GAChDsE,EAAWqyC,EAAUY,OAAOH,GAC5BzO,EAAeoP,EAAahyE,GAC9BuxE,GAAgBhzC,EAAUqkC,KAG1BrkC,EAASniC,OAAS,EAChBF,MAAMC,QAAQymE,GAChBv4B,EAASrqC,GAAOu+B,EAEhB8L,EAASrqC,GAAOu+B,EAAS,GAG3B8L,EAASrqC,GAAO,KAEpB,CACI3B,OAAO2C,KAAKqpC,GAAUjuC,OAAS,GACjC69B,EAAYoD,QAAQmE,cAAc6I,EAEtC,CACApQ,EAAYsD,cAAc9Y,GAAUlhB,KAAKwtE,uBAAuBtsD,EAAOmsD,IACzE,CACA,WAAArvC,CAAY/iC,GACV,MAAM8xE,EAAe,IAAIC,GACzBD,EAAaO,aAAaryE,GAC1B,MAAMoB,EAAS,CAAC,EACVqyE,EAAavlE,IACjB,GAAIA,EAAI2wB,QAAS,CACf,MAAM2zC,EAActkE,EAAI2wB,QAAQkE,cAChC,IAAK,MAAOvhC,EAAKD,KAAU1B,OAAOiF,QAAQ0tE,GACxC,GAAa,MAATjxE,EAAe,CACjB,MAAMsxE,EAAYf,EAAagB,aAAatxE,EAAK0M,GACjD9M,EAAOyxE,GAAatxE,CACtB,CAEJ,CACA2M,EAAI6wB,aAAa00C,EAAU,EAG7B,OADAA,EAAUzzE,GACHoB,CACT,EAEF,MAAM2wE,GACJ,WAAArpE,GACE3D,KAAK9D,MAAwB,IAAI8C,GACnC,CACA,YAAA+uE,CAAatxE,EAAK0M,GAChB,MAAMwlE,EAAiB3uE,KAAK9D,MAAM2G,IAAIpG,GACtC,IAAKkyE,EACH,MAAM,IAAIlnE,MAAM,mDAAqDhL,EAAM,KAE7E,MAAMmyE,EAAUD,EAAeh5B,WAAWj6B,GAAMA,EAAEgb,cAAgBvtB,IAClE,OAAIylE,EAAU,EACL,GAAGnyE,KAAOmyE,EAAU,IAEtBnyE,CACT,CACA,YAAA6wE,CAAaryE,GACX+E,KAAK9D,MAAM+D,QACXD,KAAK6uE,WAAW5zE,EAAM,EACxB,CACA,UAAA4zE,CAAWn4C,EAAawvC,GACtB,GAAIxvC,EAAYoD,QACd,IAAK,MAAMr9B,KAAOi6B,EAAYoD,QAAQiE,UAAW,CAC/C,MAAM+wC,EAAM9uE,KAAK9D,MAAM2G,IAAIpG,GACvBqyE,GACFA,EAAIzqE,KAAK,CAAEqyB,cAAawvC,UACxB4I,EAAI/gD,MAAK,CAAC5T,EAAGmT,IAAMnT,EAAE+rD,MAAQ54C,EAAE44C,SAE/BlmE,KAAK9D,MAAMS,IAAIF,EAAK,CAAC,CAAEi6B,cAAawvC,UAExC,CAEFxvC,EAAYsD,cAAc9Y,GAAUlhB,KAAK6uE,WAAW3tD,EAAOglD,EAAQ,IACrE,EAEF,SAAS8H,GAAgBe,EAAiBlB,GACxC,OAA+B,IAA3BkB,EAAgBl2E,QAA+B,MAAfg1E,IAG/Bl1E,MAAMC,QAAQi1E,IAAgF,KAA5C,MAAnBkB,OAA0B,EAASA,EAAgBl2E,QAG3B,KAAxC,MAAfg1E,OAAsB,EAASA,EAAYh1E,SAAqC,OAApBk2E,IAG1D,KAAA5lC,SAAQ4lC,EAAiBlB,GALvBA,IAAgBkB,EAAgB,GAM3C,CAEA,SAASC,KAIP,OAHKnC,KACHA,GAAiB,IAAIC,IAEhBD,EACT,CC3KA,MAAMoC,WAAsB,EAC1B,WAAAtrE,CAAY8I,GACVP,MAAMO,GACNzM,KAAK28B,sBAAqB,KACxB,MAAMuyC,ECTZ,SAAsCC,GACpC,MAAMC,EAAYxhE,OAAOyhE,sBAGzB,OAFA,GAAc,wBAAyB,mCAAoCF,GAC3EvhE,OAAOyhE,sBAAwBF,EACxB,KACDvhE,OAAOyhE,wBAA0BF,IACnC,GAAc,wBAAyB,uCAAwCC,GAC/ExhE,OAAOyhE,sBAAwBD,EACjC,CAEJ,CDD+BE,CAA6BtvE,MACtD,MAAO,KACLkvE,IACAF,KAAoBT,QAAQvuE,KAAK,CAClC,GAEL,CACA,WAAAuvE,GACEP,KAAoBb,SAASnuE,KAC/B,EAEFivE,GAAcvjE,UACd,UAA+B,MAAEkrB,IAC/B,MAAM,KAAE5lB,EAAI,SAAEw+D,GAAa54C,EAAMkF,WAC3Bgb,GAAS,KAAAC,YAAW,IAC1B,OAAuB,kBAAoB,MAAO,CAChDznC,UAAWwnC,EAAO8K,WACjB4tB,GAA4B,kBAAoB,MAAO,CACxDlgE,UAAWwnC,EAAO04B,UACjBA,EAASpzE,KAAKqzE,GAA4B,kBAAoBA,EAAQ/jE,UAAW,CAClFjP,IAAKgzE,EAAQhjE,MAAMhQ,IACnBm6B,MAAO64C,OACa,kBAAoB,MAAO,CAC/CngE,UAAWwnC,EAAO9lC,MACD,kBAAoBA,EAAKtF,UAAW,CACrDkrB,MAAO5lB,KAEX,EACA,MAAM,GAAaslC,IACV,CACLsL,WAAW,KAAApL,KAAI,CACbk5B,SAAU,EACV5nC,QAAS,OACTuyB,IAAK/jB,EAAMqiB,QAAQ,GACnBgX,UAAW,OACXhU,cAAe,WAEjB3qD,MAAM,KAAAwlC,KAAI,CACRk5B,SAAU,EACV5nC,QAAS,OACTuyB,IAAK/jB,EAAMqiB,QAAQ,KAErB6W,UAAU,KAAAh5B,KAAI,CACZ1O,QAAS,OACTuyB,IAAK/jB,EAAMqiB,QAAQ,GACnBe,WAAY,WACZkW,SAAU,WEzDT,IAAI,GAAO,WAAc,EAmBrBC,GAA8B,oBAAXjiE,OChB9B,SADgCiiE,GAAY,EAAAC,gBAAkB,EAAA53C,UCC9D,IAAIynC,GAAe,CACf3zD,EAAG,EACHC,EAAG,EACHsJ,MAAO,EACPR,OAAQ,EACR/E,IAAK,EACLF,KAAM,EACNG,OAAQ,EACRF,MAAO,GAuBX,SAAe8/D,SAA8C,IAA1BjiE,OAAOmiE,eArB1C,WACI,IAAIt4C,GAAK,IAAAqE,UAAS,MAAO3zB,EAAUsvB,EAAG,GAAI1U,EAAM0U,EAAG,GAC/CE,GAAK,IAAAmE,UAAS6jC,IAAeqQ,EAAOr4C,EAAG,GAAIs4C,EAAUt4C,EAAG,GACxD8V,GAAW,IAAA6wB,UAAQ,WACnB,OAAO,IAAI1wD,OAAOmiE,gBAAe,SAAUhwE,GACvC,GAAIA,EAAQ,GAAI,CACZ,IAAI03B,EAAK13B,EAAQ,GAAGmwE,YAAalkE,EAAIyrB,EAAGzrB,EAAGC,EAAIwrB,EAAGxrB,EAAGsJ,EAAQkiB,EAAGliB,MAAOR,EAAS0iB,EAAG1iB,OAAQo7D,EAAQ14C,EAAGznB,IAAKF,EAAO2nB,EAAG3nB,KAAMG,EAASwnB,EAAGxnB,OAAQF,EAAQ0nB,EAAG1nB,MAC1JkgE,EAAQ,CAAEjkE,EAAGA,EAAGC,EAAGA,EAAGsJ,MAAOA,EAAOR,OAAQA,EAAQ/E,IAAKmgE,EAAOrgE,KAAMA,EAAMG,OAAQA,EAAQF,MAAOA,GACvG,CACJ,GACJ,GAAG,IASH,OARA,IAA0B,WACtB,GAAK5H,EAGL,OADAslC,EAAS2iC,QAAQjoE,GACV,WACHslC,EAAS4iC,YACb,CACJ,GAAG,CAACloE,IACG,CAAC4a,EAAKitD,EACjB,EAGM,WAAe,MAAO,CAAC,GAAMrQ,GAAgB,ECkJnD,SAAS2Q,GAAuB5vE,EAAM6vE,GACpC,GAAIA,EACF,OAAOA,EAET,IAAI9tE,EAAU/B,EAAKg7B,MAAQh7B,EAAKg7B,MAAMj5B,aAAU,EAIhD,OAHI/B,EAAK2uC,SACP5sC,EAAU/B,EAAK2uC,OAAOjzC,KAAK7D,GAAMA,EAAEkK,UAASs/B,KAAK,OAE5Ct/B,CACT,CACA,MAAM+tE,IAAkB,KAAAh6B,KAAI,CAC1B1qC,SAAU,WACVyJ,MAAO,OACPR,OAAQ,SAEJ07D,IAAkB,KAAAj6B,KAAI,CAC1B1qC,SAAU,WACVyJ,MAAO,OACPR,OAAQ,SAEJ27D,GAAuBp6B,IACpB,CACLq6B,IAAI,KAAAn6B,KAAI,CACNI,MAAON,EAAMI,OAAOk6B,QAAQrvC,OAE9BsvC,SAAS,KAAAr6B,KAAI,CACXI,MAAON,EAAMI,OAAOo6B,QAAQvvC,OAE9BwvC,UAAU,KAAAv6B,KAAI,CACZI,MAAON,EAAMI,OAAOhb,MAAM6F,SChNhC,IAAI,GAAYzmC,OAAOgO,eACnB,GAAahO,OAAOwgB,iBACpB,GAAoBxgB,OAAOugB,0BAC3B,GAAsBvgB,OAAO2D,sBAC7B,GAAe3D,OAAOkC,UAAUM,eAChC,GAAexC,OAAOkC,UAAUoB,qBAChC,GAAkB,CAAC+K,EAAK1M,EAAKD,IAAUC,KAAO0M,EAAM,GAAUA,EAAK1M,EAAK,CAAEsM,YAAY,EAAMwC,cAAc,EAAMC,UAAU,EAAMhP,UAAW2M,EAAI1M,GAAOD,EACtJ,GAAiB,CAAC2d,EAAGmT,KACvB,IAAK,IAAIxV,KAAQwV,IAAMA,EAAI,CAAC,GACtB,GAAaxvB,KAAKwvB,EAAGxV,IACvB,GAAgBqC,EAAGrC,EAAMwV,EAAExV,IAC/B,GAAI,GACF,IAAK,IAAIA,KAAQ,GAAoBwV,GAC/B,GAAaxvB,KAAKwvB,EAAGxV,IACvB,GAAgBqC,EAAGrC,EAAMwV,EAAExV,IAEjC,OAAOqC,CAAC,EAEN,GAAgB,CAACA,EAAGmT,IAAM,GAAWnT,EAAG,GAAkBmT,IAC9D,MAAM0jD,GAAqB,iBACrBC,IAAuB,IAAAC,yBAAwBF,IA8CrD,SAASG,GAAeC,EAAOj5B,EAAO,EAAAk5B,mBAAmBx5C,QAASsJ,GAShE,OARAA,EAAuB,MAAZA,EAAmBA,EAAW,CACvCntB,GAAI,kBACJxX,MAAO,CACL80E,KAAK,EACLC,QAAQ,EACR95B,SAAS,IAGN,CACL+5B,YAAaR,GACbS,QAAS,CACPz9D,GAAI,EAAA09D,eAAeC,QACnBl+D,QAAS,CACP0kC,OACAi5B,QACAr5D,OAAQogC,IAAS,EAAAk5B,mBAAmBx5C,QAAU,mBAAgB,EAC9D01B,UAAU,IAGdqkB,WAAY,CACV,GAAc,GAAe,CAAC,EAAGzwC,GAAW,CAC1C3kC,MAAO,CACL80E,KAAK,EACLC,QAAQ,EACR95B,SAAS,MAKnB,CACA,MAWMo6B,GAA2BC,IAC/B,IAAIr6C,EACJ,MAAM25C,EAAuC,OAA9B35C,EAAKq6C,EAAKL,QAAQh+D,cAAmB,EAASgkB,EAAG25C,MAChE,OAAKz4E,MAAMC,QAAQw4E,GAGZ,IAAIA,GAFF,EAEQ,EAKbW,GAAkB,CAACrxE,EAAMsxE,KAC7B,MAAMC,EAAyB,IAAI/yE,IACnC,IAAK,MAAMkoC,KAAS1mC,EAClB,IAAK,MAAM4mC,KAASF,EAAMO,OAAQ,CAChC,GAAIL,EAAMziC,OAAS,EAAA+iC,UAAU7/B,OAC3B,SAEF,MAAMvF,GAAO,IAAA4lC,qBAAoBd,EAAOF,EAAO1mC,GAC3C8B,IAASwvE,GAGbC,EAAOzxE,IAAIgC,EACb,CAEF,OAAO7J,MAAMmrB,KAAKmuD,EAAO,EAErBC,GAAyB,CAACC,EAAWzxE,KACzC,IAAI+2B,EACJ,IAAI25C,EAAQ,GACZ,IAAK,MAAMrF,KAAYoG,EAAW,CAChC,MAAMhxC,EAAW4qC,EAAS6F,WAAWnpD,MAAM9M,GAAe,oBAATA,EAAE3H,KACnD,QAAiB,IAAbmtB,IAAgF,KAA/B,OAAxB1J,EAAK0J,EAAS3kC,YAAiB,EAASi7B,EAAG85C,QAAkB,CACxF,MACME,EADO,EAAAW,cAAcvvE,IAAIkpE,EAAS0F,QAAQz9D,IAC3BnR,IAAIkpE,EAAS0F,QAAQh+D,SAC1C,IAAK,MAAM2zB,KAAS1mC,EAClB,IAAK,MAAM4mC,KAASF,EAAMO,OAAQ,CAChC,GAAIL,EAAMziC,OAAS,EAAA+iC,UAAU7/B,OAC3B,SAEF,MAAMvF,GAAO,IAAA4lC,qBAAoBd,EAAOF,EAAO1mC,GAC3C+wE,EAAQnqC,EAAOF,EAAO1mC,IACxB0wE,EAAM/sE,KAAK7B,EAEf,CAEJ,CACF,CACA,OAAO4uE,CAAK,EC7Jd,IAAI,GAAYt2E,OAAOgO,eACnB,GAAahO,OAAOwgB,iBACpB,GAAoBxgB,OAAOugB,0BAC3B,GAAsBvgB,OAAO2D,sBAC7B,GAAe3D,OAAOkC,UAAUM,eAChC,GAAexC,OAAOkC,UAAUoB,qBAChC,GAAkB,CAAC+K,EAAK1M,EAAKD,IAAUC,KAAO0M,EAAM,GAAUA,EAAK1M,EAAK,CAAEsM,YAAY,EAAMwC,cAAc,EAAMC,UAAU,EAAMhP,UAAW2M,EAAI1M,GAAOD,EACtJ,GAAiB,CAAC2d,EAAGmT,KACvB,IAAK,IAAIxV,KAAQwV,IAAMA,EAAI,CAAC,GACtB,GAAaxvB,KAAKwvB,EAAGxV,IACvB,GAAgBqC,EAAGrC,EAAMwV,EAAExV,IAC/B,GAAI,GACF,IAAK,IAAIA,KAAQ,GAAoBwV,GAC/B,GAAaxvB,KAAKwvB,EAAGxV,IACvB,GAAgBqC,EAAGrC,EAAMwV,EAAExV,IAEjC,OAAOqC,CAAC,EAEN,GAAgB,CAACA,EAAGmT,IAAM,GAAWnT,EAAG,GAAkBmT,IAC9D,MA8BM,GAAiB,CAACynB,EAAO6B,KACtB,CACL66B,QAAS,CACPz9D,GAAI,EAAA09D,eAAeW,OACnB5+D,QAASshC,GAEX68B,WAAY,CAACU,GAAe17B,MAG1B07B,GAAkB17B,IACf,CACL5iC,GAAI,QACJxX,MAAO,CACL27C,KAAM,EAAAo6B,iBAAiBC,MACvBp6B,WAAYxB,KCnDlB,IAAI,GAAY97C,OAAOgO,eACnB,GAAahO,OAAOwgB,iBACpB,GAAoBxgB,OAAOugB,0BAC3B,GAAsBvgB,OAAO2D,sBAC7B,GAAe3D,OAAOkC,UAAUM,eAChC,GAAexC,OAAOkC,UAAUoB,qBAChC,GAAkB,CAAC+K,EAAK1M,EAAKD,IAAUC,KAAO0M,EAAM,GAAUA,EAAK1M,EAAK,CAAEsM,YAAY,EAAMwC,cAAc,EAAMC,UAAU,EAAMhP,UAAW2M,EAAI1M,GAAOD,EACtJ,GAAiB,CAAC2d,EAAGmT,KACvB,IAAK,IAAIxV,KAAQwV,IAAMA,EAAI,CAAC,GACtB,GAAaxvB,KAAKwvB,EAAGxV,IACvB,GAAgBqC,EAAGrC,EAAMwV,EAAExV,IAC/B,GAAI,GACF,IAAK,IAAIA,KAAQ,GAAoBwV,GAC/B,GAAaxvB,KAAKwvB,EAAGxV,IACvB,GAAgBqC,EAAGrC,EAAMwV,EAAExV,IAEjC,OAAOqC,CAAC,EAEN,GAAgB,CAACA,EAAGmT,IAAM,GAAWnT,EAAG,GAAkBmT,IAC9D,MAAMmlD,WAAiB,EACrB,WAAA9uE,CAAY8I,GACVP,MAAM,GAAe,CACnBuH,QAAS,CAAC,EACVi/D,YAAa,CAAEC,SAAU,CAAC,EAAGR,UAAW,IACxC7yB,MAAO,QACPqhB,SAAU,cACTl0D,IACHzM,KAAK65B,oBAAsB,IAAI,GAAyB75B,KAAM,CAC5D+rC,WAAY,CAAC,QAAS,UAAW,iBAEnC/rC,KAAK4yE,cAAgB,EACrB5yE,KAAKo/B,kBAAqB3B,IACD,GAAWiD,aAAa1gC,MAChCo/B,kBAAkB,CAC/BJ,IAAK,CACHlb,MAAM,IAAAua,OAAMZ,EAAU3Z,MACtB2a,IAAI,IAAAJ,OAAMZ,EAAUgB,KAEtB3a,MAAM,IAAAua,OAAMZ,EAAU3Z,MACtB2a,IAAI,IAAAJ,OAAMZ,EAAUgB,KACpB,EAEJz+B,KAAK6yE,cAAiBvzB,IACpBt/C,KAAKsM,SAAS,CAAEgzC,SAAQ,EAE1Bt/C,KAAK8yE,oBAAuBnxC,IAC1B3hC,KAAKsM,SAAS,CAAEq1B,eAAc,EAEhC3hC,KAAK+yE,oBAAuBC,IAC1BhzE,KAAKsM,SAAS,CAAE0mE,eAAc,EAEhChzE,KAAKizE,gBAAkB,CAACC,EAAen1E,GAAU,KAC/C,MAAM,YAAE20E,EAAW,QAAEj/D,GAAYzT,KAAKyM,MAChC0mE,EAAcp1E,EAAUm1E,GAAgB,KAAAE,YAAU,KAAAt5B,WAAUrmC,GAAUy/D,GAAe,CAAC96C,EAAGi7C,KAC7F,IAAI,KAAAz6E,SAAQy6E,GACV,OAAOA,CAEH,IAEFC,GAAe,IAAAC,6BAA4B,CAC/CC,OAAQxzE,KAAKyzE,QACbC,eAAgBP,EAChBQ,mBAAoBjB,EACpBkB,qBAAqB,IAEvB5zE,KAAKsM,SAAS,CACZmH,QAAS6/D,EAAa7/D,SACtB,EAEJzT,KAAK6zE,oBAAsB,CAACC,EAAmB/1E,KAC7C,MAAM,YAAE20E,EAAW,QAAEj/D,GAAYzT,KAAKyM,MAChCsnE,EAAkBh2E,EAAU+1E,GAAoB,KAAA53B,QAAM,KAAApC,WAAU44B,GAAcoB,GAC9ER,GAAe,IAAAC,6BAA4B,CAC/CC,OAAQxzE,KAAKyzE,QACbC,eAAgBjgE,EAChBkgE,mBAAoBI,EACpBH,qBAAqB,IAEvB5zE,KAAKsM,SAAS,CACZomE,YAAaY,EAAaZ,aAC1B,EAEJ1yE,KAAKmqC,YAAc,CAAC3tC,EAAOw3E,EAAQxwC,IAC1B,GAAW2G,YAAYnqC,KAAMxD,EAAOw3E,EAAQxwC,GAErDxjC,KAAKi0E,eAAiB,KACpBj0E,KAAKy6B,aAAa,IAAIlC,EAAgB,CAAE2H,OAAQlgC,KAAMk0E,YAAa,6BAA8B,GACjG,MAAM,YAAEvyC,GAAgB3hC,KAAKyM,MAC7B,GAAIk1B,EAAa,CACf,MAAMwyC,EAAWn0E,KAAKmqC,YAAYxI,GAClC,OAAO,IAAAyyC,gBAAeD,EACxB,CACA,MAAO,EAAE,EAEXn0E,KAAKq0E,cAAgB,KACnB,IAAI58C,EACJz3B,KAAKy6B,aAAa,IAAIlC,EAAgB,CAAE2H,OAAQlgC,KAAMk0E,YAAa,gCAAiC,GACpG,MAAMxzE,EAAO,GAAWmkC,QAAQ7kC,MACL,OAA1By3B,EAAK/2B,EAAK89C,cAAgC/mB,EAAG35B,KAAK4C,EAAK,EAE1DV,KAAKs0E,qBAAuB,KAC1Bt0E,KAAKy6B,aAAa,IAAIlC,EAAgB,CAAE2H,OAAQlgC,KAAMk0E,YAAa,kCAAmC,EAAK,EAE7Gl0E,KAAKu0E,qBAAuB,CAACx/B,EAAO6B,KAClC52C,KAAK6zE,oBDjG4B,EAAC9+B,EAAO6B,EAAO87B,KACpD,MAAM,UAAEP,GAAcO,EAChB8B,EAAe9B,EAAYP,UAAUx8B,WAAWo2B,GAC7CA,EAAS0F,QAAQz9D,KAAO,EAAA09D,eAAeW,QAAUtG,EAAS0F,QAAQh+D,UAAYshC,IAEvF,GAAIy/B,EAAe,EACjB,OAAO,GAAc,GAAe,CAAC,EAAG9B,GAAc,CACpDP,UAAW,IAAIO,EAAYP,UAAW,GAAep9B,EAAO6B,MAGhE,MAAM69B,EAAgB97E,MAAMmrB,KAAKquD,GAC3BuC,EAAWD,EAAcD,GACzBG,EAAgBD,EAAS9C,WAAWj8B,WAAWh6B,GAAe,UAATA,EAAE3H,KAC7D,GAAI2gE,EAAgB,EAIlB,OAHAF,EAAcD,GAAgB,GAAc,GAAe,CAAC,EAAGE,GAAW,CACxE9C,WAAY,IAAI8C,EAAS9C,WAAYU,GAAe17B,MAE/C,GAAc,GAAe,CAAC,EAAG87B,GAAc,CACpDP,UAAWsC,IAGf,MAAMG,EAAiBj8E,MAAMmrB,KAAK4wD,EAAS9C,YAK3C,OAJAgD,EAAeD,GAAiBrC,GAAe17B,GAC/C69B,EAAcD,GAAgB,GAAc,GAAe,CAAC,EAAGE,GAAW,CACxE9C,WAAYgD,IAEP,GAAc,GAAe,CAAC,EAAGlC,GAAc,CACpDP,UAAWsC,GACX,ECqE2BI,CAA+B9/B,EAAO6B,EAAO52C,KAAKyM,MAAMimE,aAAa,EAEhG1yE,KAAK80E,0BAA4B,CAAC//B,EAAOoD,KAClCn4C,KAAK+0E,sBAGV/0E,KAAK6zE,oBFpGX,SAAuC9+B,EAAOoD,EAAMu6B,EAAahyE,GAC/D,MAAM,UAAEyxE,GAAcO,EAChBsC,EAAcjgC,EACdy/B,EAAerC,EAAUx8B,UAAUs7B,IACzC,GAAIuD,EAAe,EAAG,CACpB,GAAIr8B,IAAS,GAAA88B,2BAA2BC,gBAAiB,CACvD,MAAMC,EAAYhE,GAAe,CAAC6D,KAAgB9C,GAAuBC,EAAWzxE,KACpF,OAAO,GAAc,GAAe,CAAC,EAAGgyE,GAAc,CACpDP,UAAW,IAAIO,EAAYP,UAAWgD,IAE1C,CACA,MACMC,EAAYjE,GADGY,GAAgBrxE,EAAMs0E,IAE3C,OAAO,GAAc,GAAe,CAAC,EAAGtC,GAAc,CACpDP,UAAW,IAAIO,EAAYP,UAAWiD,IAE1C,CACA,MAAMX,EAAgB97E,MAAMmrB,KAAKquD,IAC1BhkE,GAAWsmE,EAAcp2E,OAAOm2E,EAAc,GACrD,GAAIr8B,IAAS,GAAA88B,2BAA2BC,gBAAiB,CACvD,IAAIR,EAAW7C,GAAwB1jE,GACvC,MAAMknE,EAAqBnD,GAAuBuC,EAAe/zE,GAIjE,GAHI20E,EAAmBx8E,OAAS,IAC9B67E,EAAWA,EAASx5D,QAAQ5H,GAAO+hE,EAAmBrpD,QAAQ1Y,GAAM,KAElEohE,EAAS,KAAOM,GAAmC,IAApBN,EAAS77E,OAC1C,OAAO,GAAc,GAAe,CAAC,EAAG65E,GAAc,CACpDP,UAAWsC,IAGf,MAAMW,EAAYjE,GAAe,CAAC6D,KAAgBK,IAClD,OAAO,GAAc,GAAe,CAAC,EAAG3C,GAAc,CACpDP,UAAW,IAAIsC,EAAeW,IAElC,CACA,MAAMrJ,EAyCuB,EAAC59D,EAAS6mE,EAAa78B,EAAO,EAAAk5B,mBAAmBx5C,WAC9E,MAAMsJ,EAAWhzB,EAAQyjE,WAAWnpD,MAAM9M,GAAe,oBAATA,EAAE3H,KAC5C0gE,EAAW7C,GAAwB1jE,GACnCjS,EAAQw4E,EAAS/+B,WAAWnzC,GAASA,IAASwyE,IAMpD,OALI94E,EAAQ,EACVw4E,EAASrwE,KAAK2wE,GAEdN,EAASr2E,OAAOnC,EAAO,GAElBi1E,GAAeuD,EAAUv8B,EAAMhX,EAAS,EAlD9Bm0C,CAAuBnnE,EAAS6mE,GACjD,MA2D2B,EAACjJ,EAAUrrE,IAC/BmxE,GAAwB9F,GAAUlzE,SAAWk5E,GAAgBrxE,GAAM7H,OA5DtE08E,CAAqBxJ,EAAUrrE,GAC1B,GAAc,GAAe,CAAC,EAAGgyE,GAAc,CACpDP,UAAWsC,IAGR,GAAc,GAAe,CAAC,EAAG/B,GAAc,CACpDP,UAAW,IAAIsC,EAAe1I,IAElC,CEyDQyJ,CAA8BzgC,EAAOoD,EAAMn4C,KAAKyM,MAAMimE,YAAa1yE,KAAK+0E,qBAAqBv3C,SAC7F,EACD,EAEHx9B,KAAKy1E,uBAA0BhpE,IAC7BzM,KAAKsM,SAAS,CAAEopE,qBAAsBjpE,GAAQ,EAEhDzM,KAAK21E,oBAAuBC,IAC1B,MAAMC,EAAgB71E,KAAKyM,MAAMgH,QAAQ89D,OACzC,IAAKsE,EACH,OAEF,IAAIC,EAAWD,EAAcC,SACzB5Q,EAAS2Q,EAAc3Q,OACvB0Q,IAAY1Q,IACd4Q,OAAW,IAEI,IAAbA,GACF5Q,OAAS,EACT4Q,OAAW,IAEXA,GAAYA,EACZ5Q,EAAS0Q,GAEX51E,KAAKizE,gBAAgB,GAAc,GAAe,CAAC,EAAGjzE,KAAKyM,MAAMgH,SAAU,CACzE89D,OAAQ,GAAc,GAAe,CAAC,EAAGsE,GAAgB,CAAE3Q,SAAQ4Q,eAClE,EAEL91E,KAAK28B,sBAAqB,KACxB38B,KAAKw/B,aAAa,IAEhB/yB,EAAMy1C,MACRz1C,EAAMy1C,KAAKvlB,sBAAqB,KAC9B38B,KAAKy6B,aAAa,IAAIlC,EAAgB,CAAE2H,OAAQlgC,KAAMk0E,YAAa,sBAAuB,EAAK,GAGrG,CACA,WAAA10C,GACOx/B,KAAKyzE,SACRzzE,KAAK+1E,YAAY/1E,KAAKyM,MAAMk0D,SAEhC,CACA,WAAAoV,CAAYpV,GACV,MAAM6S,EtHxHV,SAA6B7S,GAC3B,IAAIlpC,EACJ,MAAM,wBAAEu+C,IAA4B,IAAAC,wBACpC,OAAmD,OAA3Cx+C,EAAKu+C,EAAwBrV,IAAqBlpC,EAAKZ,EAAoBh0B,IAAI89D,EACzF,CsHoHmBuV,CAAoBvV,GACnC,GAAI6S,EACFxzE,KAAKm2E,cAAc3C,OACd,CACL,MAAM,kBAAE4C,IAAsB,IAAAH,wBAC9B,IACEG,EAAkBzV,GAAU0V,MAAMh6E,GACzB2D,KAAKm2E,cAAc95E,IAE9B,CAAE,MAAOmL,GACPxH,KAAKm2E,cA6Gb,SAAgCniE,EAAIsiE,GAClC,MAAM9C,EAAS,IAAI,EAAA+C,aAAY,IAAM,OAuBrC,OAtBA/C,EAAOx7B,KAAO,CACZhkC,KACAxR,KAAMwR,EACN+Z,KAAM,IACNlpB,KAAM,EAAA2xE,WAAWtpC,MACjB3xC,OAAQ,GACRk7E,QAAS,GACTC,KAAM,CACJC,OAAQ,CACNn0E,KAAM,IAERm/B,YAAa,GACbi1C,MAAO,GACPC,MAAO,CACLC,MAAO,GACPC,MAAO,+BAETC,YAAa,GACbC,QAAS,GACTC,QAAS,KAGN1D,CACT,CAtI2B2D,CAAuBxW,IAC1C3gE,KAAKsM,SAAS,CAAE8qE,iBAAkB5vE,EAAI/E,SACxC,CACF,CACF,CACA,mBAAM0zE,CAAc3C,GAClB,MAAM,QAAE//D,EAAO,YAAEi/D,EAAW,MAAEpzB,EAAK,cAAE+3B,EAAa,+BAAEC,GAAmCt3E,KAAKyM,MACtFygC,EAAQ,CACZoS,QACA7rC,UACAi/D,cACA1+D,GAAI,EACJnP,KAAM2uE,EAAOx7B,KAAKhkC,GAClBqjE,iBAEIE,EAAiBv3E,KAAKw3E,kBAAkBhE,GAC1C8D,GACFA,EAA+BpqC,EAAOsmC,GAEpCA,EAAOiE,kBACLF,IAAmBv3E,KAAKyM,MAAM4qE,gBAChCnqC,EAAMz5B,cAAgB+/D,EAAOiE,iBAAiBvqC,IAGlD,MAAMomC,GAAe,IAAAC,6BAA4B,CAC/CC,SACAE,eAAgBxmC,EAAMz5B,QACtBkgE,mBAAoBzmC,EAAMwlC,YAC1BkB,qBAAqB,IAQvB,GANA5zE,KAAKyzE,QAAUD,EACfxzE,KAAKsM,SAAS,CACZmH,QAAS6/D,EAAa7/D,QACtBi/D,YAAaY,EAAaZ,YAC1B2E,cAAeE,IAEb/D,EAAOx7B,KAAK0/B,cAAe,CAC7B,MAAMtiC,EAAiB,GAAW1U,aAAa1gC,MAC/CA,KAAKi5B,MAAMz4B,IAAI40C,EAAenb,kBAAiB,IAAMj6B,KAAKk8B,gBAC5D,CACF,CACA,iBAAAs7C,CAAkBhE,GAChB,OAAOA,GAAUA,EAAOx7B,KAAK0+B,KAAKQ,QAAU1D,EAAOx7B,KAAK0+B,KAAKQ,QAAU,EAAAr3C,OAAO83C,UAAUT,OAC1F,CACA,SAAAU,GACE,OAAO53E,KAAKyzE,OACd,CACA,eAAAoE,GAIE,OAHK73E,KAAK83E,gBACR93E,KAAK83E,cAAgB93E,KAAK+3E,qBAErB/3E,KAAK83E,aACd,CACA,gBAAAE,CAAiBC,GACf,IAAIxgD,EAAIE,EACR,MAAM67C,EAASxzE,KAAKyzE,QACpB,IAAKD,GAAUA,EAAOx7B,KAAK0/B,gBAAkBO,EAC3C,OAAO,GAET,MAAMC,EAAoB1E,EAAO2E,aAAe,CAAE37B,aAAa,EAAOhB,aAAa,GAC7E48B,EAAsB5E,EAAO4E,oBAC7BC,EAAsC,OAAxB5gD,EAAKz3B,KAAKs4E,gBAAqB,EAAS7gD,EAAG+F,OACzD+6C,EAAuB,MAAXN,OAAkB,EAASA,EAAQz6C,OAqBrD,OApB4B,MAAxBy6C,EAAQO,cAAwBD,GAAaF,KAAe,IAAAI,oBAAmBF,EAAWF,EAAY,EAAAK,6BACxG14E,KAAK4yE,gBAEP5yE,KAAK+0E,qBAAuB,GAAc,GAAe,CAAC,EAAGkD,GAAU,CACrEO,aAAcx4E,KAAK4yE,cACnBp1C,QAAQ,IAAAm7C,qBAAoB,CAC1Bj4E,KAAM63E,EACN7F,YAAa1yE,KAAKyM,MAAMimE,YACxB0F,sBACAQ,iBAAkB54E,KAAKmqC,YACvBmM,MAAO,EAAAzW,OAAOg5C,OACdn6C,SAAoC,OAAzB/G,EAAKsgD,EAAQvyC,cAAmB,EAAS/N,EAAG+hB,aAGtDw+B,EAAkB17B,cACrBx8C,KAAK+0E,qBAAqBx4B,gBAAa,GAEpC27B,EAAkB18B,cACrBx7C,KAAK+0E,qBAAqBv5B,iBAAc,GAEnCx7C,KAAK+0E,oBACd,CACA,iBAAAgD,GACE,MAAMhrC,GAA0B/sC,K9EjM3B,GAAWwrC,W8EiMgBxrC,M9EjMS0b,GAAMA,aAAaoxB,M8EkM5D,MAAM2E,EAAU,CACdqnC,YAAa/rC,EAAOA,EAAKK,iBAAmB,YAC5C2rC,SAAUhsC,EAAOA,EAAKE,aAAajtC,OAAQ,IAAAg5E,gBAC3Cx/B,IAAK,EAAAwsB,QAAQiT,QACblsC,KAAM,IACAA,EACKA,EAAKtgC,MAAMsgC,KAEb,EAAA1P,oBAAoB2P,IAE7BksC,oBAAqBl5E,KAAKu0E,qBAC1B4E,yBAA0Bn5E,KAAK80E,0BAC/BsE,mBAAoBp5E,KAAK21E,oBACzB0D,sBAAuBr5E,KAAKy1E,wBAK9B,OAHIz1E,KAAKyM,MAAM6sE,oBACbt5E,KAAKyM,MAAM6sE,mBAAmBt5E,KAAMyxC,GAE/BA,CACT,ECvQF,SAAS8nC,GAAer4D,GACtB,OAAOA,aAAiBs4D,EAC1B,CDuQA/G,GAAS/mE,UHrRT,UAA0B,MAAEkrB,IAC1B,IAAIa,EAAIE,EAAIusC,EACZ,MAAM,MACJ5kB,EAAK,QACL7rC,EAAO,YACPi/D,EAAW,iBACX0E,EAAgB,MAChBz8C,EAAK,YACLq4C,EAAW,YACXyG,EAAW,KACXv3B,EAAI,cACJw3B,EAAa,WACbC,EAAU,YACVh4C,GACE/K,EAAMkF,YACH/Y,GAAK,MAAExN,EAAK,OAAER,IAAY,KAC3By+D,EAAS58C,EAAMghD,aACf,UAAEgC,EAAS,gBAAEC,GAyIrB,SAAwB3sC,GACtB,IAAIzV,EAAIE,EACR,MAAMmiD,EAAe,GAAWhwC,UAAUoD,GACpC/rB,EAA8B,MAAhB24D,OAAuB,EAASA,EAAa34D,cACjE,OAAK24D,GAAiB34D,IAKxB,SAA8BqH,EAAM/D,GAClC,IAAIs1D,EAAWvxD,EAAKkR,OACpB,KAAOqgD,GAAYA,IAAat1D,GAAQ,CACtC,GAAI,gBAAiBs1D,EAASttE,QAAwC,IAA/BstE,EAASttE,MAAM0U,YACpD,OAAO,EAET44D,EAAWA,EAASrgD,MACtB,CACA,OAAO,CACT,CAduCsgD,CAAqB9sC,EAAO4sC,GAG1D,CAAEF,UAA+C,OAAnCniD,EAAKqiD,EAAaG,mBAAwB,EAASxiD,EAAG35B,KAAKg8E,GAAeD,gBAA2F,OAAzEliD,EAAqB,MAAhBmiD,OAAuB,EAASA,EAAaI,yBAA8B,EAASviD,EAAG75B,KAAKg8E,IAFzM,CAAEF,UAAW,GAAIC,gBAAiB,GAG7C,CAjJyCM,CAAevjD,GAChDwjD,EAAa,GAAWv1C,QAAQjO,GAChCqhD,EAAUmC,EAAWt+C,WACrBu+C,EAAsBzjD,EAAMohD,iBAAiBC,EAAQv3E,MACrD00C,EAAiB,GAAW1U,aAAa9J,GACzC8H,EAAW0W,EAAelW,cAC1BzB,EAuLR,SAA2B2X,EAAgBo+B,EAAQ9yE,GACjD,IAAI+2B,EACJ,OAAK+7C,GAAUA,EAAOx7B,KAAK0/B,cAClBtiC,EAAe3oC,MAAMjQ,MAE1BkE,IAAgC,OAAtB+2B,EAAK/2B,EAAKglC,cAAmB,EAASjO,EAAGmiB,OAC9Cl5C,EAAKglC,QAAQkU,MAEfxE,EAAe3oC,MAAMjQ,KAC9B,CAhMoB89E,CAAkBllC,EAAgBo+B,EAAQ6G,GACtDE,EAAoB3jD,EAAMuT,YAAYmV,OAAO,EAAQ,QACrDk7B,GAAmB,KAAAzjC,YAAW25B,IACpC,IAAK8C,EACH,OAAuB,kBAAoB,MAAO,KAAM,2BAE1D,IAAKA,EAAOtmC,MACV,OAAuB,kBAAoB,MAAO,KAAM,uCAE1D,MAAMutC,EAAiBjH,EAAOtmC,MAC1BvS,GAASA,EAAM2jB,mBACjB3jB,EAAM2jB,kBAAkB5kC,KAAKO,MAAM1E,IAErC,IA2CImlE,EAMAC,EAjDAC,EAAoB,GACpBjB,IACEhhF,MAAMC,QAAQ+gF,GAChBiB,EAAoBA,EAAkBrjE,OACpCoiE,EAAWv9E,KAAKy+E,GACS,kBAAoBA,EAAUnvE,UAAW,CAC9DkrB,MAAOikD,EACPp+E,IAAK,GAAGo+E,EAAUpuE,MAAMhQ,WAIrB87C,GAAcohC,GACvBiB,EAAkBv2E,KAAqB,kBAAoBs1E,EAAWjuE,UAAW,CAC/EkrB,MAAO+iD,KAGTiB,EAAkBv2E,KAAKs1E,IAGvB/iD,EAAMnqB,MAAMquB,YACd8/C,EAAkBv2E,KAAqB,kBAAoBuyB,EAAMnqB,MAAMquB,WAAWpvB,UAAW,CAC3FkrB,MAAOA,EAAMnqB,MAAMquB,WACnBr+B,IAAKm6B,EAAMnqB,MAAMhQ,OAGjB49E,EAAoB99B,YACtBq+B,EAAkBv2E,KACA,kBAAoB,GAAA6zD,QAAS,CAC3ClU,QAAwD,OAA9CvsB,EAAK4iD,EAAoB99B,WAAW9vC,OAAiBgrB,EAAK,UACpEh7B,IAAK,qBAAqBm6B,EAAMnqB,MAAMhQ,OACrB,kBAAoB,GAAAq+E,YAAYC,UAAW,CAC5DzrE,WAAW,KAAA0rE,IAAG,CACZ,CAACR,EAAiB7J,IAAK0J,EAAoB99B,WAAW9vC,QAAU,EAAAwuE,WAAWC,GAC3E,CAACV,EAAiB3J,SAAUwJ,EAAoB99B,WAAW9vC,QAAU,EAAAwuE,WAAWE,QAChF,CAACX,EAAiBzJ,UAAWsJ,EAAoB99B,WAAW9vC,QAAU,EAAAwuE,WAAWG,YAElE,kBAAoB,GAAAjjB,KAAM,CAC3C31D,KAA+C,aAAzC63E,EAAoB99B,WAAW9vC,MAAuB,cAAgB,QAC5E6C,UAAW,mBACXhT,KAAM,UAKR4lD,IACFw4B,EAA4B,kBAAoBx4B,EAAKx2C,UAAW,CAC9DkrB,MAAOsrB,KAIPw3B,IAEAiB,EADEhiF,MAAMC,QAAQ8gF,GACiB,kBAAoB,aAAgB,KAAMA,EAAct9E,KAAK0hE,GACrE,kBAAoBA,EAAOpyD,UAAW,CAC3DkrB,MAAOknC,EACPrhE,IAAK,GAAGqhE,EAAOrxD,MAAMhQ,WAGhB87C,GAAcmhC,GACU,kBAAoBA,EAAchuE,UAAW,CAC5EkrB,MAAO8iD,IAGQA,GAGrB,MAAMh5E,EAAO25E,EACPgB,GAAkBjB,EAAW77B,sBAAuB67B,EAAW77B,uBAC/D9M,EAAU7a,EAAMihD,kBAChBl+B,EAAqF,OAA1EuqB,EAAqC,OAA/BvsC,EAAK8Z,EAAQ6pC,oBAAyB,EAAS3jD,EAAG4jD,eAAyBrX,EAAK,EACvG,OAAuB,kBAAoB,MAAO,CAChD50D,UAAWkhE,IACM,kBAAoB,MAAO,CAC5CztD,MACAzT,UAAWmhE,GACX,qBAAsB75C,EAAMnqB,MAAMhQ,KACjC8Y,EAAQ,GAAKR,EAAS,GAAqB,kBAAoB,GAAA+lE,YAAa,CAC7Ex7B,MAAOi7B,EACP54C,aAA6B,MAAfA,OAAsB,EAASA,EAAY6+B,QAAU5pC,EAAMq9C,oBAAiB,EAC1FuH,aAAc96E,EAAK+L,MACnBgvE,cAAenL,GAAuB5vE,EAAM02E,GAC5CsE,qBAAsB9kD,EAAM09C,qBAC5B/+D,QACAR,SACAi+D,cACAyG,cACAE,WAAYiB,EACZhB,YACA+B,QAAShB,EACTd,kBACAlgB,QAAS6Z,EAAOoI,UAAY,OAAS,KACrC15B,KAAMw4B,EACNrG,cAAez9C,EAAMy9C,gBACpB,CAAC/+D,EAAYR,IAAgC,kBAAoB,aAAgB,KAAsB,kBAAoB,GAAA+mE,mBAAoB,CAChJC,aAAc,CAACtI,EAAQ9yE,IACN,kBAAoB,EAAAq7E,sBAAuB,CAC5D/jC,KAAMw7B,EAAOx7B,MACI,kBAAoB,GAAAgkC,qBAAsB,CAC3Dx/E,MAAOi1C,GACN4pC,GAAmC,kBAAoBZ,EAAgB,CACxEzmE,GAAI2lC,EACJj5C,OACA4+C,QACA7hB,YACAiB,WACAjrB,UACAi/D,cACAuJ,aAAa,EACb1mE,MAAOD,EACPP,OAAQD,EACRonE,cAAe,EACftD,iBAAkBhiD,EAAMuT,YACxB8oC,gBAAiBr8C,EAAMq8C,gBACvBY,oBAAqBj9C,EAAMi9C,oBAC3BsI,kBAAmBvlD,EAAMwI,kBACzB25C,UAAU,IAAAC,yBAEd,EK9JA,cAA2B,EACzB,OAAAoD,CAAQ5zD,GACNxoB,KAAKsM,SAAS,CACZ49C,MAAOlqD,KAAKyM,MAAMy9C,MAAQ,IAAIlqD,KAAKyM,MAAMy9C,MAAO1hC,GAAQ,CAACA,IAE7D,CACA,QAAA6zD,CAASnyB,GACPlqD,KAAKsM,SAAS,CACZ49C,SAEJ,GAEWx+C,UACb,UAA8B,MAAEkrB,IAC9B,MAAM,MAAEszB,EAAQ,IAAOtzB,EAAMkF,WACvB/Y,EAAM,WAAa,OACzB,IAAAmV,YAAU,KACJnV,EAAI5U,SACN4U,EAAI5U,QAAQmuE,OACd,GACC,IACH,MAAMC,EAAeC,GACZA,EAAOpgF,KACXosB,GAAuB,YAAdA,EAAK3jB,KAAqC,kBAAoB,GAAA08C,KAAKk7B,QAAS,CACpFhgF,IAAK+rB,EAAK+Y,OACS,kBAAoB,GAAAggB,KAAKm7B,KAAM,CAClDjgF,IAAK+rB,EAAK+Y,KACVwT,MAAOvsB,EAAK+Y,KACZsgB,KAAMr5B,EAAKm0D,cACXC,WAAYp0D,EAAKq0D,QAAUN,EAAY/zD,EAAKq0D,cAAW,EACvD3vB,IAAK1kC,EAAKs0D,KACVzlC,QAAS7uB,EAAK6uB,QACd0lC,SAAUv0D,EAAKu0D,aAIrB,OAAuB,kBAAoB,GAAAx7B,KAAM,CAC/Cx+B,OACCw5D,EAAYryB,GACjB,EDtCA,cAA4B,IAEdx+C,UACd,UAA+B,MAAEkrB,IAC/B,MAAM,KAAE5lB,GAAS4lB,EAAMkF,WACjBpC,EAAS9C,EAAM8C,OACrB,GAAIA,KAA6BA,aAcTsjD,MAdqBzD,GAAe7/C,GAC1D,MAAM,IAAIjyB,MAAM,oEAElB,OAAKuJ,EAGkB,kBAAoBA,EAAKtF,UAAW,CACzDkrB,MAAO5lB,IAHA,IAKX,E,yBEZIisE,GAAc,WAChB,SAAS3hE,EAAiB5Q,EAAQxD,GAChC,IAAK,IAAIyD,EAAI,EAAGA,EAAIzD,EAAMrO,OAAQ8R,IAAK,CACrC,IAAI6Q,EAAatU,EAAMyD,GACvB6Q,EAAWzS,WAAayS,EAAWzS,aAAc,EACjDyS,EAAWjQ,cAAe,EACtB,UAAWiQ,IAAYA,EAAWhQ,UAAW,GACjD1Q,OAAOgO,eAAe4B,EAAQ8Q,EAAW/e,IAAK+e,EAChD,CACF,CAEA,OAAO,SAAUgB,EAAaC,EAAY8H,GAGxC,OAFI9H,GAAYnB,EAAiBkB,EAAYxf,UAAWyf,GACpD8H,GAAajJ,EAAiBkB,EAAa+H,GACxC/H,CACT,CACF,CAhBkB,GAkBdjS,GAAWzP,OAAO0P,QAAU,SAAUE,GACxC,IAAK,IAAIC,EAAI,EAAGA,EAAI5R,UAAUF,OAAQ8R,IAAK,CACzC,IAAIC,EAAS7R,UAAU4R,GAEvB,IAAK,IAAIlO,KAAOmO,EACV9P,OAAOkC,UAAUM,eAAeQ,KAAK8M,EAAQnO,KAC/CiO,EAAOjO,GAAOmO,EAAOnO,GAG3B,CAEA,OAAOiO,CACT,EAkBIwyE,GAA4B,SAAUliF,EAAM8C,GAC9C,IAAK9C,EACH,MAAM,IAAI+gB,eAAe,6DAG3B,OAAOje,GAAyB,iBAATA,GAAqC,mBAATA,EAA8B9C,EAAP8C,CAC5E,EAqDIq/E,QAAe,EAEjBA,GADoB,oBAAXvvE,OACMA,OAGU,oBAAT5S,KAEDA,KAEA,EAAAH,EAGjB,IAAIuiF,GAAc,KACdC,GAAe,KAIfC,GAAiBH,GAAa9rC,aAC9BksC,GAAeJ,GAAajsC,WAE5BssC,GAAyBL,GAAaM,sBAAwBN,GAAaO,yBAA2BP,GAAaQ,2BAEnHC,GAA0BT,GAAaU,uBAAyBV,GAAaW,0BAA4BX,GAAaY,4BAE5F,MAA1BP,IAA6D,MAA3BI,IAGpCR,GAAcE,GACdD,GAAe,SAA4CnjE,GACzD,OAAOqjE,GAAarjE,EAdD,GAerB,IAKAkjE,GAAc,SAAqBxxE,GACjC,IAAIC,EA5DC,SAAUkY,EAAKpZ,GACpB,GAAIhS,MAAMC,QAAQmrB,GAChB,OAAOA,EACF,GAAI7lB,OAAOsc,YAAY1f,OAAOipB,GACnC,OA9BJ,SAAuBA,EAAKpZ,GAC1B,IAAIgc,EAAO,GACPC,GAAK,EACLC,GAAK,EACLH,OAAKzoB,EAET,IACE,IAAK,IAAiCwoB,EAA7BD,EAAKzC,EAAI7lB,OAAOsc,cAAmBoM,GAAMH,EAAKD,EAAGM,QAAQC,QAChEJ,EAAKtiB,KAAKoiB,EAAGjqB,QAETmO,GAAKgc,EAAK9tB,SAAW8R,GAH8Cic,GAAK,GAKhF,CAAE,MAAOpf,GACPqf,GAAK,EACLH,EAAKlf,CACP,CAAE,QACA,KACOof,GAAMJ,EAAW,QAAGA,EAAW,QACtC,CAAE,QACA,GAAIK,EAAI,MAAMH,CAChB,CACF,CAEA,OAAOC,CACT,CAMWq3D,CAAcj6D,EAAKpZ,GAE1B,MAAM,IAAIS,UAAU,uDAExB,CAoDc6yE,CAAcryE,EAAM,GAC5BsyE,EAAmBryE,EAAM,GACzBsyE,EAAYtyE,EAAM,GAEtB2xE,GAAuBU,GACvBZ,GAAea,EACjB,EACAd,GAAe,SAAqDnjE,GAClE,IAAIgkE,EAAmBN,IAAwB,WAC7CN,GAAea,GACfjkE,GACF,IAEIikE,EAAYZ,IAAa,WAC3BC,GAAuBU,GACvBhkE,GACF,GArCmB,IAuCnB,MAAO,CAACgkE,EAAkBC,EAC5B,GA6KF,IAAIC,GAAY,SAAUC,GAGxB,SAASD,IACP,IAAIxyE,EAEA0yE,EAAOjhE,GA3VM,SAAUC,EAAUd,GACvC,KAAMc,aAAoBd,GACxB,MAAM,IAAIpR,UAAU,oCAExB,CAyVImzE,CAAev+E,KAAMo+E,GAErB,IAAK,IAAI5gE,EAAOzkB,UAAUF,OAAQ4kB,EAAO9kB,MAAM6kB,GAAOE,EAAO,EAAGA,EAAOF,EAAME,IAC3ED,EAAKC,GAAQ3kB,UAAU2kB,GAGzB,OAAe4gE,EAASjhE,EAAQ6/D,GAA0Bl9E,MAAO4L,EAAOwyE,EAAUviE,WAAa/gB,OAAOmhB,eAAemiE,IAAYtgF,KAAK+M,MAAMe,EAAM,CAAC5L,MAAMuX,OAAOkG,KAAiBJ,EAAM5Q,MAAQ,CAC7LsI,OAAQsI,EAAMnW,MAAMs3E,eAAiB,EACrCjpE,MAAO8H,EAAMnW,MAAMu3E,cAAgB,GAClCphE,EAAMqhE,UAAY,WACnB,IAAIzwE,EAAcoP,EAAMnW,MACpBy3E,EAAgB1wE,EAAY0wE,cAC5BC,EAAe3wE,EAAY2wE,aAC3Bt8D,EAAWrU,EAAYqU,SAG3B,GAAIjF,EAAMwhE,YAAa,CAKrB,IAAIC,EAAUzhE,EAAMwhE,YAAYE,cAAgB,EAC5CC,EAAS3hE,EAAMwhE,YAAY3xD,aAAe,EAE1C+xD,EAASrxE,OAAOsH,iBAAiBmI,EAAMwhE,cAAgB,CAAC,EACxDppE,EAAc2E,SAAS6kE,EAAOxpE,YAAa,KAAO,EAClDC,EAAe0E,SAAS6kE,EAAOvpE,aAAc,KAAO,EACpDN,EAAagF,SAAS6kE,EAAO7pE,WAAY,KAAO,EAChDC,EAAgB+E,SAAS6kE,EAAO5pE,cAAe,KAAO,EAEtD6pE,EAAYJ,EAAU1pE,EAAaC,EACnC8pE,EAAWH,EAASvpE,EAAcC,IAEjCipE,GAAiBthE,EAAM5Q,MAAMsI,SAAWmqE,IAAcN,GAAgBvhE,EAAM5Q,MAAM8I,QAAU4pE,KAC/F9hE,EAAM/Q,SAAS,CACbyI,OAAQ+pE,EAAU1pE,EAAaC,EAC/BE,MAAOypE,EAASvpE,EAAcC,IAGhC4M,EAAS,CAAEvN,OAAQ+pE,EAASvpE,MAAOypE,IAEvC,CACF,EAAG3hE,EAAM+hE,QAAU,SAAUC,GAC3BhiE,EAAMiiE,WAAaD,CACrB,EAAWnC,GAA0B7/D,EAAlCihE,EACL,CA+EA,OAnba,SAAUliE,EAAUC,GACjC,GAA0B,mBAAfA,GAA4C,OAAfA,EACtC,MAAM,IAAIjR,UAAU,kEAAoEiR,GAG1FD,EAASpf,UAAYlC,OAAOwhB,OAAOD,GAAcA,EAAWrf,UAAW,CACrE2G,YAAa,CACXnH,MAAO4f,EACPrT,YAAY,EACZyC,UAAU,EACVD,cAAc,KAGd8Q,IAAYvhB,OAAO8gB,eAAiB9gB,OAAO8gB,eAAeQ,EAAUC,GAAcD,EAASP,UAAYQ,EAC7G,CAkSEkjE,CAASnB,EAAWC,GAsDpBpB,GAAYmB,EAAW,CAAC,CACtB3hF,IAAK,oBACLD,MAAO,WACL,IAAIgjF,EAAQx/E,KAAKkH,MAAMs4E,MAEnBx/E,KAAKs/E,YAAct/E,KAAKs/E,WAAWxpE,YAAc9V,KAAKs/E,WAAWxpE,WAAW/E,eAAiB/Q,KAAKs/E,WAAWxpE,WAAW/E,cAAcG,aAAelR,KAAKs/E,WAAWxpE,sBAAsB9V,KAAKs/E,WAAWxpE,WAAW/E,cAAcG,YAAY8H,cAIlPhZ,KAAK6+E,YAAc7+E,KAAKs/E,WAAWxpE,WAInC9V,KAAKy/E,qBA9Ob,SAAmCD,GACjC,IAAIE,OAAqB,EACrBC,OAAgB,EAChBC,OAAsB,EACtBC,OAAiB,EACjBC,OAAgB,EAChBC,OAAgB,EAChBC,OAAiB,EAEjBpsE,EAAkC,oBAAbnB,UAA4BA,SAASmB,YAC9D,IAAKA,EAAa,CAChBmsE,EAAgB,SAAuB53E,GACrC,IAAI83E,EAAW93E,EAAQ+3E,mBACnBv8B,EAASs8B,EAASE,kBAClBv8B,EAAWq8B,EAASG,iBACpBC,EAAc18B,EAAOw8B,kBACzBv8B,EAASxtC,WAAawtC,EAAS08B,YAC/B18B,EAASttC,UAAYstC,EAAS28B,aAC9BF,EAAYxxE,MAAM0G,MAAQouC,EAAOz2B,YAAc,EAAI,KACnDmzD,EAAYxxE,MAAMkG,OAAS4uC,EAAOo7B,aAAe,EAAI,KACrDp7B,EAAOvtC,WAAautC,EAAO28B,YAC3B38B,EAAOrtC,UAAYqtC,EAAO48B,YAC5B,EAEAT,EAAgB,SAAuB33E,GACrC,OAAOA,EAAQ+kB,cAAgB/kB,EAAQq4E,eAAejrE,OAASpN,EAAQ42E,eAAiB52E,EAAQq4E,eAAezrE,MACjH,EAEAirE,EAAiB,SAAwBznF,GAEvC,KAAIA,EAAEmS,OAAO4E,WAAmD,mBAA/B/W,EAAEmS,OAAO4E,UAAU0c,SAA0BzzB,EAAEmS,OAAO4E,UAAU0c,QAAQ,oBAAsB,GAAKzzB,EAAEmS,OAAO4E,UAAU0c,QAAQ,kBAAoB,GAAnL,CAIA,IAAI7jB,EAAUnI,KACd+/E,EAAc//E,MACVA,KAAKygF,eACPrD,GAAYp9E,KAAKygF,eAEnBzgF,KAAKygF,cAAgBpD,IAAa,WAC5ByC,EAAc33E,KAChBA,EAAQq4E,eAAejrE,MAAQpN,EAAQ+kB,YACvC/kB,EAAQq4E,eAAezrE,OAAS5M,EAAQ42E,aACxC52E,EAAQu4E,oBAAoBnkF,SAAQ,SAA+B+1C,GACjEA,EAAGx0C,KAAKqK,EAAS5P,EACnB,IAEJ,GAfA,CAgBF,EAGA,IAAIooF,GAAY,EACZC,EAAiB,GACrBhB,EAAsB,iBACtB,IAAIiB,EAAc,kBAAkBx6C,MAAM,KACtCy6C,EAAc,uEAAuEz6C,MAAM,KAGzF06C,EAAMtuE,SAASlD,cAAc,eAKjC,QAJgCtR,IAA5B8iF,EAAIlyE,MAAM8wE,gBACZgB,GAAY,IAGI,IAAdA,EACF,IAAK,IAAIh2E,EAAI,EAAGA,EAAIk2E,EAAYhoF,OAAQ8R,IACtC,QAAoD1M,IAAhD8iF,EAAIlyE,MAAMgyE,EAAYl2E,GAAK,iBAAgC,CAE7Di2E,EAAiB,IADXC,EAAYl2E,GACSqN,cAAgB,IAC3C4nE,EAAsBkB,EAAYn2E,GAClCg2E,GAAY,EACZ,KACF,CAMNjB,EAAqB,IAAMkB,EAAiB,cAD5CjB,EAAgB,cAC2D,gDAC3EE,EAAiBe,EAAiB,kBAAoBjB,EAAgB,IACxE,CAqFA,MAAO,CACLqB,kBA5DsB,SAA2B74E,EAASmqC,GAC1D,GAAI1+B,EACFzL,EAAQyL,YAAY,WAAY0+B,OAC3B,CACL,IAAKnqC,EAAQ+3E,mBAAoB,CAC/B,IAAIrsE,EAAM1L,EAAQ4I,cACdkwE,EAAe9D,GAAajoE,iBAAiB/M,GAC7C84E,GAA0C,WAA1BA,EAAan1E,WAC/B3D,EAAQ0G,MAAM/C,SAAW,YAhCd,SAAsB+H,GACvC,IAAKA,EAAIE,eAAe,uBAAwB,CAE9C,IAAIyiC,GAAOkpC,GAA0C,IAAM,uBAAyBG,GAAkC,IAA5G,6VACNqB,EAAOrtE,EAAIqtE,MAAQrtE,EAAIK,qBAAqB,QAAQ,GACpDrF,EAAQgF,EAAItE,cAAc,SAE9BV,EAAMmF,GAAK,sBACXnF,EAAMhK,KAAO,WAEA,MAAT26E,GACF3wE,EAAMsyE,aAAa,QAAS3B,GAG1B3wE,EAAMuyE,WACRvyE,EAAMuyE,WAAWC,QAAU7qC,EAE3B3nC,EAAMsF,YAAYN,EAAIytE,eAAe9qC,IAGvC0qC,EAAK/sE,YAAYtF,EACnB,CACF,CAYM0yE,CAAa1tE,GACb1L,EAAQq4E,eAAiB,CAAC,EAC1Br4E,EAAQu4E,oBAAsB,IAC7Bv4E,EAAQ+3E,mBAAqBrsE,EAAItE,cAAc,QAAQD,UAAY,kBACpE,IAAIkyE,EAAgB3tE,EAAItE,cAAc,OACtCiyE,EAAclyE,UAAY,iBAC1BkyE,EAAcrtE,YAAYN,EAAItE,cAAc,QAC5C,IAAIkyE,EAAkB5tE,EAAItE,cAAc,OACxCkyE,EAAgBnyE,UAAY,mBAC5BnH,EAAQ+3E,mBAAmB/rE,YAAYqtE,GACvCr5E,EAAQ+3E,mBAAmB/rE,YAAYstE,GACvCt5E,EAAQgM,YAAYhM,EAAQ+3E,oBAC5BH,EAAc53E,GACdA,EAAQwL,iBAAiB,SAAUqsE,GAAgB,GAG/CJ,IACFz3E,EAAQ+3E,mBAAmBwB,sBAAwB,SAA2BnpF,GACxEA,EAAEonF,gBAAkBA,GACtBI,EAAc53E,EAElB,EACAA,EAAQ+3E,mBAAmBvsE,iBAAiBisE,EAAqBz3E,EAAQ+3E,mBAAmBwB,uBAEhG,CACAv5E,EAAQu4E,oBAAoBr8E,KAAKiuC,EACnC,CACF,EAwBEqvC,qBAtByB,SAA8Bx5E,EAASmqC,GAChE,GAAI1+B,EACFzL,EAAQ4O,YAAY,WAAYu7B,QAGhC,GADAnqC,EAAQu4E,oBAAoBriF,OAAO8J,EAAQu4E,oBAAoB10D,QAAQsmB,GAAK,IACvEnqC,EAAQu4E,oBAAoB7nF,OAAQ,CACvCsP,EAAQ2O,oBAAoB,SAAUkpE,GAAgB,GAClD73E,EAAQ+3E,mBAAmBwB,wBAC7Bv5E,EAAQ+3E,mBAAmBppE,oBAAoB8oE,EAAqBz3E,EAAQ+3E,mBAAmBwB,uBAC/Fv5E,EAAQ+3E,mBAAmBwB,sBAAwB,MAErD,IACEv5E,EAAQ+3E,oBAAsB/3E,EAAQy5E,YAAYz5E,EAAQ+3E,mBAC5D,CAAE,MAAO3nF,GAET,CACF,CAEJ,EAMF,CAsEoCspF,CAA0BrC,GACtDx/E,KAAKy/E,qBAAqBuB,kBAAkBhhF,KAAK6+E,YAAa7+E,KAAK0+E,WAEnE1+E,KAAK0+E,YAET,GACC,CACDjiF,IAAK,uBACLD,MAAO,WACDwD,KAAKy/E,sBAAwBz/E,KAAK6+E,aACpC7+E,KAAKy/E,qBAAqBkC,qBAAqB3hF,KAAK6+E,YAAa7+E,KAAK0+E,UAE1E,GACC,CACDjiF,IAAK,SACLD,MAAO,WACL,IAAIslF,EAAS9hF,KAAKkH,MACdoH,EAAWwzE,EAAOxzE,SAClBgB,EAAYwyE,EAAOxyE,UACnBqvE,EAAgBmD,EAAOnD,cACvBC,EAAekD,EAAOlD,aACtB/vE,EAAQizE,EAAOjzE,MACfyqB,EAASt5B,KAAKyM,MACdsI,EAASukB,EAAOvkB,OAChBQ,EAAQ+jB,EAAO/jB,MAMfwsE,EAAa,CAAEC,SAAU,WACzBC,EAAc,CAAC,EAIfC,GAAoB,EAkBxB,OAhBKvD,IACY,IAAX5pE,IACFmtE,GAAoB,GAEtBH,EAAWhtE,OAAS,EACpBktE,EAAYltE,OAASA,GAGlB6pE,IACW,IAAVrpE,IACF2sE,GAAoB,GAEtBH,EAAWxsE,MAAQ,EACnB0sE,EAAY1sE,MAAQA,IAGf,IAAAhG,eACL,MACA,CACED,UAAWA,EACXyT,IAAK/iB,KAAKo/E,QACVvwE,MAAOtE,GAAS,CAAC,EAAGw3E,EAAYlzE,KAEjCqzE,GAAqB5zE,EAAS2zE,GAEnC,KAEK7D,CACT,CArIgB,CAqId,EAAA+D,eAEF/D,GAAUjuE,aAAe,CACvBmS,SAAU,WAAqB,EAC/Bq8D,eAAe,EACfC,cAAc,EACd/vE,MAAO,CAAC,GAGV,YCjeA,IAAI,GAAY/T,OAAOgO,eACnB,GAAsBhO,OAAO2D,sBAC7B,GAAe3D,OAAOkC,UAAUM,eAChC,GAAexC,OAAOkC,UAAUoB,qBAChC,GAAkB,CAAC+K,EAAK1M,EAAKD,IAAUC,KAAO0M,EAAM,GAAUA,EAAK1M,EAAK,CAAEsM,YAAY,EAAMwC,cAAc,EAAMC,UAAU,EAAMhP,UAAW2M,EAAI1M,GAAOD,EAwB1J,SAAS4lF,KAEP,MAAMC,GAAY,IAAAC,aAAO,GAEzB,OAD4B,MAAtBD,EAAUl0E,UAAwBk0E,EAAUl0E,SAAU,KAAAo0E,aACrDF,EAAUl0E,OACnB,CACA,MAAMq0E,GAAa,gBACjB,CAAC/qD,EAAI1U,KACH,IAAI4U,EAAKF,GAAI,SAAEnpB,EAAQ,OAAEm0E,EAAM,SAAE7qC,GAAajgB,EAAItK,EApBtC,EAACziB,EAAQitB,KACvB,IAAIntB,EAAS,CAAC,EACd,IAAK,IAAIoN,KAAQlN,EACX,GAAa9M,KAAK8M,EAAQkN,IAAS+f,EAAQ7L,QAAQlU,GAAQ,IAC7DpN,EAAOoN,GAAQlN,EAAOkN,IAC1B,GAAc,MAAVlN,GAAkB,GACpB,IAAK,IAAIkN,KAAQ,GAAoBlN,GAC/BitB,EAAQ7L,QAAQlU,GAAQ,GAAK,GAAaha,KAAK8M,EAAQkN,KACzDpN,EAAOoN,GAAQlN,EAAOkN,IAE5B,OAAOpN,CAAM,EAU8C,CAAUitB,EAAI,CAAC,WAAY,SAAU,aAC9F,MAAM3jB,EAAKouE,MACJ/tD,EAAQquD,IAAa,IAAA5mD,WAAS,IAC9B6mD,EAAUC,IAAe,IAAA9mD,WAAS,GACnCjS,GAAW,IAAAy4D,QAAO,MAuBxB,OAtBA,IAAAO,qBAAoB9/D,GAAK,IAAM8G,EAAS1b,UC5Cd20E,ED6CZ,KACZN,GAAWO,YAAY/uE,GAAK9T,KACrBm0B,GAAUn0B,EAAM8iF,iBACnBN,GAAU,GACA,MAAVD,GAA0BA,KAE5BG,EAAY1iF,EAAM8iF,gBACN,MAAZprC,GAA4BA,EAAS13C,EAAM8iF,eAAe,IAE5D,MAAMC,EAAYp5D,EAAS1b,QAI3B,OAHI80E,GACFT,GAAW/0C,SAAS2iC,QAAQ6S,GAEvB,YACET,GAAWU,UAAUlvE,GAC5BivE,GAAaT,GAAW/0C,SAAS01C,UAAUF,GACM,IAA7CnoF,OAAO2C,KAAK+kF,GAAWU,WAAWrqF,QACpC2pF,GAAW/0C,SAAS4iC,YACtB,CACD,GC/DH,IAAAn4C,WAAU4qD,EAAQ,IDiEK,kBAAoB,MA1D1B,EAAC3oE,EAAGmT,KACvB,IAAK,IAAIxV,KAAQwV,IAAMA,EAAI,CAAC,GACtB,GAAaxvB,KAAKwvB,EAAGxV,IACvB,GAAgBqC,EAAGrC,EAAMwV,EAAExV,IAC/B,GAAI,GACF,IAAK,IAAIA,KAAQ,GAAoBwV,GAC/B,GAAaxvB,KAAKwvB,EAAGxV,IACvB,GAAgBqC,EAAGrC,EAAMwV,EAAExV,IAEjC,OAAOqC,CAAC,EAiD4C,CAAe,CAC/DnG,KACA+O,IAAK8G,GACJwD,GAAOgH,IAA+B,mBAAb/lB,EAA0BA,EAAS,CAAEq0E,aAAcr0E,ICrE/D,IAAUw0E,CDqE+D,IAG7FN,GAAWxN,YAAc,aACzBwN,GAAWU,UAAY,CAAC,EACxBV,GAAWO,YAAc,CAAC/uE,EAAIga,IAAMw0D,GAAWU,UAAUlvE,GAAMga,EAC/Dw0D,GAAW/0C,SAAW,IAAI21C,sBACvBrjF,IACC,IAAK,MAAMG,KAASH,EAClByiF,GAAWU,UAAUhjF,EAAMwK,OAAOsJ,IAAI9T,EACxC,GAEF,CAAEmjF,WAAY,UE1EhB,IAAI,GAAYvoF,OAAOgO,eACnB,GAAahO,OAAOwgB,iBACpB,GAAoBxgB,OAAOugB,0BAC3B,GAAsBvgB,OAAO2D,sBAC7B,GAAe3D,OAAOkC,UAAUM,eAChC,GAAexC,OAAOkC,UAAUoB,qBAChC,GAAkB,CAAC+K,EAAK1M,EAAKD,IAAUC,KAAO0M,EAAM,GAAUA,EAAK1M,EAAK,CAAEsM,YAAY,EAAMwC,cAAc,EAAMC,UAAU,EAAMhP,UAAW2M,EAAI1M,GAAOD,EACtJ,GAAiB,CAAC2d,EAAGmT,KACvB,IAAK,IAAIxV,KAAQwV,IAAMA,EAAI,CAAC,GACtB,GAAaxvB,KAAKwvB,EAAGxV,IACvB,GAAgBqC,EAAGrC,EAAMwV,EAAExV,IAC/B,GAAI,GACF,IAAK,IAAIA,KAAQ,GAAoBwV,GAC/B,GAAaxvB,KAAKwvB,EAAGxV,IACvB,GAAgBqC,EAAGrC,EAAMwV,EAAExV,IAEjC,OAAOqC,CAAC,EAEN,GAAgB,CAACA,EAAGmT,IAAM,GAAWnT,EAAG,GAAkBmT,IAmD9D,MAAMg2D,GAAkB,gBAAiB,CAACp8E,EAAO6b,KAC/C,IAAI4U,EACJ,MAAMF,EAAKvwB,GAAO,KAAEmL,EAAI,WAAE4T,EAAU,MAAE/pB,EAAK,WAAEqnF,EAAU,OAAEC,EAAM,MAAE30E,EAAK,OAAE4zE,EAAM,SAAE7qC,GAAangB,EAAIgsD,EApDnF,EAAC74E,EAAQitB,KACvB,IAAIntB,EAAS,CAAC,EACd,IAAK,IAAIoN,KAAQlN,EACX,GAAa9M,KAAK8M,EAAQkN,IAAS+f,EAAQ7L,QAAQlU,GAAQ,IAC7DpN,EAAOoN,GAAQlN,EAAOkN,IAC1B,GAAc,MAAVlN,GAAkB,GACpB,IAAK,IAAIkN,KAAQ,GAAoBlN,GAC/BitB,EAAQ7L,QAAQlU,GAAQ,GAAK,GAAaha,KAAK8M,EAAQkN,KACzDpN,EAAOoN,GAAQlN,EAAOkN,IAE5B,OAAOpN,CAAM,EA0C+F,CAAU+sB,EAAI,CAAC,OAAQ,aAAc,QAAS,aAAc,SAAU,QAAS,SAAU,aAC/LisD,EAAarxE,EAAKsxE,oBAAoB19D,EAAWtb,GACjD2E,EAA8C,OAAjCqoB,EAAK+rD,EAAWE,mBAAwB,EAASjsD,EAAG75B,KAAK4lF,GACtEptC,GAAQ,KAAAiiB,aACRsrB,GAAe,IAAAvB,QAAO,IACrBlqD,EAAG0rD,IAAe,IAAAC,aAAY/3E,GAAMA,EAAI,GAAG,GAC5Cg4E,GAAc,IAAAjd,cAAY,KAC9B8c,EAAa11E,SAAW,EACxB21E,IACO,KACLD,EAAa11E,SAAW,EACxB21E,GAAa,IAEd,CAACA,IACEG,GAAW,IAAA3lB,UAAQ,KAAM,CAAG0lB,iBAAgB,CAACA,IAC7CE,EAAYX,EAAarnF,EACzBioF,EAA+B,kBAAoBT,EAAWh4E,UAAW,CAC7EkrB,MAAO8sD,EACPjnF,IAAKinF,EAAWj3E,MAAMhQ,MAElB2nF,EAA0B,GAAAC,kBAAoC,kBAAoB,GAAAA,kBAAkBC,SAAU,CAClH9nF,MAAOynF,GACNE,GAAgBA,EACbI,EAAW,GAAc,GAAe,CAAC,EAAG11E,GAAQ,CACxDi8D,OAAiC,IAAzB+Y,EAAa11E,QAAgB+1E,EAAY5tC,EAAMw0B,OAAO0Z,WAEhE,OAAIhB,EACqB,kBAAoBhB,GAAY,GAAc,GAAe,CAAC,EAAGiB,GAAW,CACjGhnF,IAAKinF,EAAWj3E,MAAMhQ,IACtB,oBAAqBinF,EAAWj3E,MAAMhQ,IACtC6S,WAAW,KAAA0rE,IAAG1rE,EAAWpI,EAAMoI,WAC/BT,MAAO01E,EACPxhE,QACEqhE,GAEiB,kBAAoB,MAAO,GAAc,GAAe,CAAC,EAAGX,GAAW,CAC5F1gE,MACAtmB,IAAKinF,EAAWj3E,MAAMhQ,IACtB,oBAAqBinF,EAAWj3E,MAAMhQ,IACtC6S,WAAW,KAAA0rE,IAAG1rE,EAAWpI,EAAMoI,WAC/BT,MAAO01E,IACLH,EAAwB,IAE9Bd,GAAgBtO,YAAc,kBCpH9B,IAAI,GAAYl6E,OAAOgO,eACnB,GAAahO,OAAOwgB,iBACpB,GAAoBxgB,OAAOugB,0BAC3B,GAAsBvgB,OAAO2D,sBAC7B,GAAe3D,OAAOkC,UAAUM,eAChC,GAAexC,OAAOkC,UAAUoB,qBAChC,GAAkB,CAAC+K,EAAK1M,EAAKD,IAAUC,KAAO0M,EAAM,GAAUA,EAAK1M,EAAK,CAAEsM,YAAY,EAAMwC,cAAc,EAAMC,UAAU,EAAMhP,UAAW2M,EAAI1M,GAAOD,EACtJ,GAAiB,CAAC2d,EAAGmT,KACvB,IAAK,IAAIxV,KAAQwV,IAAMA,EAAI,CAAC,GACtB,GAAaxvB,KAAKwvB,EAAGxV,IACvB,GAAgBqC,EAAGrC,EAAMwV,EAAExV,IAC/B,GAAI,GACF,IAAK,IAAIA,KAAQ,GAAoBwV,GAC/B,GAAaxvB,KAAKwvB,EAAGxV,IACvB,GAAgBqC,EAAGrC,EAAMwV,EAAExV,IAEjC,OAAOqC,CAAC,EAEN,GAAgB,CAACA,EAAGmT,IAAM,GAAWnT,EAAG,GAAkBmT,IAC9D,MAAMm3D,GAAmB,cAAc,EACrC,WAAA9gF,CAAY8I,GACVP,MAAM,GAAc,GAAe,CAAC,EAAGO,GAAQ,CAC7C6B,SAAUo2E,GAAuBj4E,EAAM6B,aAEzCtO,KAAK2kF,qBAAsB,EAC3B3kF,KAAKmpB,eAAkB1E,IACrB,GAAIzkB,KAAK2kF,oBACP3kF,KAAK2kF,qBAAsB,MAD7B,CAIA,IAAK,MAAMn8D,KAAQ/D,EAAQ,CACzB,MAAMvD,EAAQlhB,KAAK2jF,oBAAoBn7D,EAAK7d,GACtCi6E,EAAW,CACf54E,EAAGwc,EAAKxc,EACRC,EAAGuc,EAAKvc,EACRsJ,MAAOiT,EAAKhK,EACZzJ,OAAQyT,EAAK/J,GAEVomE,GAAgB3jE,EAAMzU,MAAOm4E,IAChC1jE,EAAM5U,SAAS,GAAe,CAAC,EAAGs4E,GAEtC,CACA5kF,KAAKsM,SAAS,CAAEgC,SAAUo2E,GAAuB1kF,KAAKyM,MAAM6B,WAb5D,CAawE,EAE1EtO,KAAKoiB,aAAe,CAACgW,EAAG1c,EAAGhjB,KACXsH,KAAK2jF,oBAAoBjrF,EAAEiS,GACnC2B,SAAS,CACbiJ,MAAO7c,EAAE8lB,EACTzJ,OAAQrc,EAAE+lB,GACV,EAEJze,KAAKyP,WAAa,CAACq1E,EAAYppE,EAAGqpE,KAChC,MAAMrB,EAAa1jF,KAAK2jF,oBAAoBoB,EAAYp6E,GACxDm6E,EAAaE,GAAeF,GAC5B,IAAK,IAAIn6E,EAAI,EAAGA,EAAIm6E,EAAWjsF,OAAQ8R,IAAK,CAC1C,MAAMs6E,EAAWH,EAAWn6E,GACtBuW,EAAQlhB,KAAK2jF,oBAAoBsB,EAASt6E,GAC1Cu6E,EAAYhkE,EAAMzU,OACN,MAAby4E,OAAoB,EAASA,EAAUl5E,KAAOi5E,EAASj5E,IAAmB,MAAbk5E,OAAoB,EAASA,EAAUj5E,KAAOg5E,EAASh5E,GACvHiV,EAAM5U,SAAS,CACbN,EAAGi5E,EAASj5E,EACZC,EAAGg5E,EAASh5E,GAGlB,CACA,MAAMk5E,EAAqBL,EAAWnvC,WAAWntB,GAASA,EAAK7d,IAAMo6E,EAAYp6E,IAC3Ey6E,EAAYplF,KAAKqlF,wBAAwBP,EAAYK,EAAqB,GAChF,IAAIG,EAActlF,KAAKyM,MAAM6B,SACzB82E,IAAc1B,EAAWhqD,SAC3B4rD,EAActlF,KAAKulF,YAAY7B,EAAY0B,IAE7CplF,KAAKsM,SAAS,CAAEgC,SAAUo2E,GAAuBY,KACjDtlF,KAAK2kF,qBAAsB,CAAI,CAEnC,CACA,WAAAxjE,GACE,IAAIsW,EACJ,OAAwC,OAAhCA,EAAKz3B,KAAKyM,MAAM0U,cAAuBsW,CACjD,CACA,YAAAwiD,GACE,MAAO,oBAAoBj6E,KAAKyM,MAAMhQ,KACxC,CACA,kBAAAy9E,GACE,MAAO,kBACT,CACA,SAAAsL,CAAU/nC,GACR,IAAIhmB,EAAIE,EAER,IADoB8lB,EAAIhxC,MAAMg5E,YAI5B,OAFAhoC,EAAInxC,SAAS,CAAEm5E,aAAa,SAC5BzlF,KAAKsM,SAAS,CAAC,GAGjB,MAAMo5E,EAAcjoC,EAAIhxC,MAAM6B,SAC9B,GAA2B,IAAvBo3E,EAAY7sF,OAGd,OAFA4kD,EAAInxC,SAAS,CAAEm5E,aAAa,SAC5BzlF,KAAKsM,SAAS,CAAC,GAGjB,MAAMq5E,EAAOloC,EAAIhxC,MAAMR,EAEjB25E,GADkD,OAAhCnuD,EAAKiuD,EAAY,GAAGj5E,MAAMR,GAAawrB,EAAKkuD,IACpCA,EAAO,GACvC,IAAIE,EAAOF,EACX,IAAK,MAAMz4C,KAASw4C,EAAa,CAC/B,MAAMI,EAAU,GAAe,CAAC,EAAG54C,EAAMzgC,OACzCq5E,EAAQ75E,EAAwB,OAAnB0rB,EAAKmuD,EAAQ75E,GAAa0rB,EAAKguD,EAC5CG,EAAQ75E,GAAK25E,EACTE,EAAQ75E,IAAMihC,EAAMzgC,MAAMR,GAC5BihC,EAAM5gC,SAASw5E,GAEjBD,EAAOnsE,KAAKE,IAAIisE,EAAMz/D,OAAO0/D,EAAQ75E,GAAKma,OAAO0/D,EAAQ/wE,QAC3D,CACA,MAAMgxE,EAAiBF,EAAOF,EAAO,EACrC,IAAK,MAAMzkE,KAASlhB,KAAKyM,MAAM6B,SAI7B,GAHI4S,EAAMzU,MAAMR,EAAI05E,GAClB3lF,KAAKgmF,cAAc9kE,EAAO6kE,GAExBxM,GAAer4D,IAAUA,IAAUu8B,EACrC,IAAK,MAAMwoC,KAAY/kE,EAAMzU,MAAM6B,SAC7B23E,EAASx5E,MAAMR,EAAI05E,GACrB3lF,KAAKgmF,cAAcC,EAAUF,GAKrCtoC,EAAInxC,SAAS,CAAEm5E,aAAa,IAC5BzlF,KAAKsM,SAAS,CAAC,EACjB,CACA,mBAAAq3E,CAAoBlnF,GAClB,IAAK,MAAMykB,KAASlhB,KAAKyM,MAAM6B,SAAU,CACvC,GAAI4S,EAAMzU,MAAMhQ,MAAQA,EACtB,OAAOykB,EAET,GAAIA,aAAiBs4D,GACnB,IAAK,MAAMyM,KAAY/kE,EAAMzU,MAAM6B,SACjC,GAAI23E,EAASx5E,MAAMhQ,MAAQA,EACzB,OAAOwpF,CAIf,CACA,MAAM,IAAIx+E,MAAM,4CAClB,CACA,aAAAu+E,CAAc9kE,EAAOglE,GACnBhlE,EAAM5U,SAAS,CACbL,EAAGiV,EAAMzU,MAAMR,EAAIi6E,GAEvB,CACA,uBAAAb,CAAwB5gE,EAAQ0hE,GAC9B,IAAK,IAAIx7E,EAAIw7E,EAASx7E,GAAK,EAAGA,IAAK,CACjC,MAAMs6E,EAAWxgE,EAAO9Z,GAClB+4E,EAAa1jF,KAAK2jF,oBAAoBsB,EAASt6E,GACrD,GAAI+4E,aAAsBlK,GACxB,OAAIkK,EAAWj3E,MAAMg5E,YACZzlF,KAEF0jF,CAEX,CACA,OAAO1jF,IACT,CACA,WAAAulF,CAAYrkE,EAAOxW,GACjB,MAAM07E,EAAgBllE,EAAMwY,OAC5B,IAAI2sD,EAAermF,KAAKyM,MAAM6B,SAC9B,MAAMwU,EAAW5B,EAAMib,MAAM,CAAE1/B,IAAKykB,EAAMzU,MAAMhQ,MAChD,GAAI2pF,aAAyB5M,GAAc,CACzC,MAAM8M,EAASF,EAAcjqD,MAAM,CACjC7tB,SAAU83E,EAAc35E,MAAM6B,SAAS4M,QAAQ8S,GAAMA,EAAEvhB,MAAMhQ,MAAQykB,EAAMzU,MAAMhQ,QAGnF,GADA4pF,EAAeA,EAAajqF,KAAK4xB,GAAMA,IAAMo4D,EAAgBE,EAASt4D,IAClEtjB,aAAkB8uE,GAAc,CAClC,MAAM+M,EAAY77E,EAAOyxB,MAAM,CAAE7tB,SAAU,IAAI5D,EAAO+B,MAAM6B,SAAUwU,KACtEujE,EAAeA,EAAajqF,KAAK4xB,GAAMA,IAAMtjB,EAAS67E,EAAYv4D,GACpE,MACEq4D,EAAe,IAAIA,EAAcvjE,EAErC,MACE,KAAMpY,aAAkB+5E,IAAmB,CACzC4B,EAAeA,EAAanrE,QAAQ8S,GAAMA,EAAEvhB,MAAMhQ,MAAQykB,EAAMzU,MAAMhQ,MACtE,MAAM8pF,EAAY77E,EAAOyxB,MAAM,CAAE7tB,SAAU,IAAI5D,EAAO+B,MAAM6B,SAAUwU,KACtEujE,EAAeA,EAAajqF,KAAK4xB,GAAMA,IAAMtjB,EAAS67E,EAAYv4D,GACpE,CAEF,OAAOq4D,CACT,CACA,UAAAG,CAAWtlE,GACT,IAAIuW,EAAIE,EACR,MAAMr7B,EAAO4kB,EAAMzU,MACnB,IAAIT,EAAqB,OAAhByrB,EAAKn7B,EAAK0P,GAAayrB,EAAK,EACjCxrB,EAAqB,OAAhB0rB,EAAKr7B,EAAK2P,GAAa0rB,EAAK,EACrC,MAAMnZ,EAAI4H,OAAOqgE,UAAUrgE,OAAO9pB,EAAKiZ,QAAU6Q,OAAO9pB,EAAKiZ,OCpMtC,EDqMjBkJ,EAAI2H,OAAOqgE,UAAUrgE,OAAO9pB,EAAKyY,SAAWqR,OAAO9pB,EAAKyY,QCrMvC,EDsMvB,IAAIoM,EAAcD,EAAMzU,MAAM0U,YAC1BC,EAAcF,EAAMzU,MAAM2U,YAK9B,OAJIF,aAAiBs4D,KACnBr4D,IAAcD,EAAMzU,MAAMg5E,YAC1BrkE,GAAc,GAET,CAAEzW,EAAGuW,EAAMzU,MAAMhQ,IAAKuP,IAAGC,IAAGwS,IAAGD,IAAG4C,cAAaD,cACxD,CACA,eAAAulE,CAAgBnxE,GACd,IAAIoxE,EAAQ,GACZ,IAAK,MAAMzlE,KAASlhB,KAAKyM,MAAM6B,SAE7B,GADAq4E,EAAMtiF,KAAKrE,KAAKwmF,WAAWtlE,IACvBA,aAAiBs4D,KAAiBt4D,EAAMzU,MAAMg5E,YAChD,IAAK,MAAMQ,KAAY/kE,EAAMzU,MAAM6B,SACjCq4E,EAAMtiF,KAAKrE,KAAKwmF,WAAWP,IAKjC,OADAU,EAAQ3B,GAAe2B,GACnBpxE,EAAQ,KACVvV,KAAK2kF,qBAAsB,EACpBgC,EAAMvqF,KAAKwqF,GAAS,GAAc,GAAe,CAAC,EAAGA,GAAO,CAAEpoE,EAAG,SAE1Exe,KAAK2kF,qBAAsB,EACpBgC,EACT,GAEF,IAAI3J,GAAkByH,GAEtB,SAASI,GAAgB1qE,EAAGmT,GAC1B,OAAOnT,EAAEnO,IAAMshB,EAAEthB,GAAKmO,EAAElO,IAAMqhB,EAAErhB,GAAKkO,EAAE5E,QAAU+X,EAAE/X,OAAS4E,EAAEpF,SAAWuY,EAAEvY,MAC7E,CACA,SAAS2vE,GAAuBp2E,GAC9B,MAAO,IAAIA,GAAUyf,MAAK,CAAC5T,EAAGmT,IACrBnT,EAAE1N,MAAMR,EAAIqhB,EAAE7gB,MAAMR,GAAKkO,EAAE1N,MAAMT,EAAIshB,EAAE7gB,MAAMT,GAExD,CACA,SAASg5E,GAAevgE,GACtB,MAAO,IAAIA,GAAQsJ,MAAK,CAAC5T,EAAGmT,IAAMnT,EAAElO,EAAIqhB,EAAErhB,GAAKkO,EAAEnO,EAAIshB,EAAEthB,GACzD,CAXAgxE,GAAgBtxE,UD3LhB,UAAiC,MAAEkrB,IACjC,MAAM,SAAEtoB,EAAQ,OAAEk1E,EAAM,YAAEriE,EAAW,YAAEC,GAAgBwV,EAAMkF,WAE7D,OAiFF,SAA8BxtB,GAC5B,GAAIA,EAASg6D,MACVt6C,QAAyB,IAAnBA,EAAEvhB,MAAMsI,aAAuC,IAAlBiZ,EAAEvhB,MAAM8I,YAAkC,IAAdyY,EAAEvhB,MAAMT,QAA8B,IAAdgiB,EAAEvhB,MAAMR,IAEhG,MAAM,IAAIxE,MAAM,0CAEpB,CAxFEo/E,CAAqBv4E,GACE,kBAAoB,GAAW,CACpDqwE,eAAe,IACd,EAAGppE,YACJ,GAAc,IAAVA,EACF,OAAO,KAET,MAAMkP,EAASmS,EAAM8vD,gBAAgBnxE,GACrC,OAAuB,kBAAoB,MAAO,CAChD1G,MAAO,CAAE0G,MAAO,GAAGA,MAAWR,OAAQ,OAAQjJ,SAAU,WAAYg/D,OAAQ,IAC3D,kBAAoB,KAAiB,CACtDv1D,QACA4L,YAAaA,GAAe5L,EAAQ,IACpC6L,YAA4B,MAAfA,GAAsBA,EACnCV,iBAAkB,CAAC,EAAG,GACtBP,kBAAkB,EAClBrB,OAAQ,CEvDY,KFwDpB2B,KEvDoB,GFwDpB1B,UE1DmB,GF2DnBuK,gBAAiB,qBAAqBsN,EAAMnqB,MAAMhQ,MAClD4sB,gBAAiB,oBACjB5E,SACAhV,WAAYmnB,EAAMnnB,WAClB2S,aAAcwU,EAAMxU,aACpB+G,eAAgByN,EAAMzN,eACtBzK,WAAW,GACV+F,EAAOroB,KAAI,CAAC6oF,EAAU/oF,IAA0B,kBAAoBonF,GAAiB,CACtF7mF,IAAKwoF,EAASt6E,EACd0H,KAAMukB,EACN3Q,WAAYg/D,EACZ/oF,QACAsnF,SACAD,WAAY9+D,EAAO5rB,YAChB,GAET,EGpEA,IAAI,GAAYiC,OAAOgO,eACnB,GAAahO,OAAOwgB,iBACpB,GAAoBxgB,OAAOugB,0BAC3B,GAAsBvgB,OAAO2D,sBAC7B,GAAe3D,OAAOkC,UAAUM,eAChC,GAAexC,OAAOkC,UAAUoB,qBAChC,GAAkB,CAAC+K,EAAK1M,EAAKD,IAAUC,KAAO0M,EAAM,GAAUA,EAAK1M,EAAK,CAAEsM,YAAY,EAAMwC,cAAc,EAAMC,UAAU,EAAMhP,UAAW2M,EAAI1M,GAAOD,EAa1J,MAAMg9E,WAAqB,EACzB,WAAA71E,CAAY8I,GACVP,MAHgB,EAACiO,EAAGmT,IAAM,GAAWnT,EAAG,GAO7B,CACTnO,EAAG,EACH+I,OAAQ,EACRQ,MDjCoB,MC0BhB,CAdW,EAAC4E,EAAGmT,KACvB,IAAK,IAAIxV,KAAQwV,IAAMA,EAAI,CAAC,GACtB,GAAaxvB,KAAKwvB,EAAGxV,IACvB,GAAgBqC,EAAGrC,EAAMwV,EAAExV,IAC/B,GAAI,GACF,IAAK,IAAIA,KAAQ,GAAoBwV,GAC/B,GAAaxvB,KAAKwvB,EAAGxV,IACvB,GAAgBqC,EAAGrC,EAAMwV,EAAExV,IAEjC,OAAOqC,CAAC,EAKc,CAAe,CACjC7L,SAAU7B,EAAM6B,UAAY,GAC5Bw4E,cAAer6E,EAAMq6E,gBAAiB,EACtCxnC,MAAO7yC,EAAM6yC,OAAS,IACrB7yC,KAKHzM,KAAK+mF,iBAAmB,KACjB/mF,KAAKyM,MAAMq6E,eAGhB9mF,KAAKgnF,gBAAgBxB,UAAUxlF,KAAK,CAExC,CACA,aAAAgnF,GACE,MAAMviE,EAASzkB,KAAK05B,OACpB,KAAKjV,GAAYA,aAAkBu4D,IACjC,MAAM,IAAIv1E,MAAM,mDAElB,OAAOgd,CACT,CACA,WAAAuZ,GACE,MAAO,CAAEipD,KAAMjnF,KAAKyM,MAAMg5E,YAAc,IAAM,IAChD,CACA,aAAAxnD,CAAc39B,GACO,MAAfA,EAAO2mF,MAGP3mF,EAAO2mF,OAASjnF,KAAKg+B,cAAcipD,MACrCjnF,KAAK+mF,kBAET,EAEFvN,GAAa9tE,UACb,UAA8B,MAAEkrB,IAC9B,MAAMkgB,GAAS,KAAAC,YAAWmwC,KACpB,cAAEJ,EAAa,YAAErB,EAAW,MAAEnmC,EAAK,YAAEn+B,EAAW,QAAEw6D,GAAY/kD,EAAMkF,WACpEqrD,EAAkBvwD,EAAMowD,gBAAgB/M,eAC9C,OAAuB,kBAAoB,MAAO,CAChD3qE,WAAW,KAAA0rE,IAAGlkC,EAAO2G,IAAKgoC,GAAe3uC,EAAOswC,eAC/B,kBAAoB,SAAU,CAC/C/vC,QAASzgB,EAAMmwD,iBACfz3E,UAAWwnC,EAAOuwC,eAClB,aAAc5B,EAAc,aAAe,gBAC1CqB,GAAiC,kBAAoB,GAAA3uB,KAAM,CAC5D31D,KAAMijF,EAAc,cAAgB,eAClB,kBAAoB,OAAQ,CAC9Cn2E,UAAWwnC,EAAOwwC,SAClBlvB,KAAM,WACL,GAAWjuB,YAAYvT,EAAO0oB,OAAO,EAAQ,UAAWq8B,GAA2B,kBAAoBA,EAAQjwE,UAAW,CAC3HkrB,MAAO+kD,IACLx6D,GAAeskE,GAA+B,kBAAoB,MAAO,CAC3En2E,WAAW,KAAA0rE,IAAGlkC,EAAOywC,WAAYJ,IAChB,kBAAoB,GAAAhvB,KAAM,CAC3C31D,KAAM,mBAEV,EACA,MAAM0kF,GAAyB5wC,IACtB,CACLmH,KAAK,KAAAjH,KAAI,CACPjhC,MAAO,OACPR,OAAQ,OACR+yB,QAAS,OACT0/C,eAAgB,gBAChBntB,IAAK/jB,EAAMqiB,QAAQ,KAErB0uB,gBAAgB,KAAA7wC,KAAI,CAClB1O,QAAS,OACT4xB,WAAY,SACZ+tB,OAAQ,UACRluB,WAAY,cACZ9iB,OAAQ,OACR4jB,IAAK/jB,EAAMqiB,QAAQ,KAErByuB,cAAc,KAAA5wC,KAAI,CAChBkxC,aAAc,aAAapxC,EAAMI,OAAOD,OAAOkxC,SAEjDL,UAAU,KAAA9wC,KAAI,CACZujB,SAAUzjB,EAAMujB,WAAW+tB,GAAG7tB,SAC9BH,WAAYtjB,EAAMujB,WAAWC,mBAE/B+tB,eAAe,KAAArxC,KAAI,CACjBujB,SAAUzjB,EAAMujB,WAAWG,UAAUD,SACrCnjB,MAAON,EAAMI,OAAOnV,KAAKoV,UACzB7O,QAAS,OACT4xB,WAAY,SACZgW,SAAU,IAEZ6X,YAAY,KAAA/wC,KAAI,CACd1O,QAAS,OACT6xB,QAASrjB,EAAMqiB,QAAQ,EAAG,GAC1Be,WAAY,SACZ8tB,eAAgB,WAChBC,OAAQ,OACR7wC,MAAON,EAAMI,OAAOnV,KAAKoV,UACzB,UAAW,CACTC,MAAON,EAAMI,OAAOnV,KAAKk4B,cCxHjC,cAA0B,EACxB,WAAA91D,GACEuI,SAASnT,WACTiH,KAAK8nF,SAAW,KACd9nF,KAAKsM,SAAS,CACZm5E,aAAczlF,KAAKyM,MAAMg5E,aACzB,EAEJzlF,KAAKo5D,SAAW,KACd,MAAM1/B,EAAS15B,KAAK05B,OA2EjB,SA1EmBA,EA0EPjtB,OAzEbitB,EAAOptB,SAAS,CACd0E,UAAM,GAEV,CAEJ,IAEUtF,UACZ,UAA6B,MAAEkrB,IAC7B,MAAM,MAAE0oB,EAAK,YAAEmmC,EAAW,YAAEsC,EAAW,UAAEC,EAAS,KAAEh3E,EAAI,SAAEw+D,GAAa54C,EAAMkF,WACvEmsD,GAAU,KAAAlxC,YAAWmwC,IACrBpwC,GAAS,KAAAC,YAAW,IACpBmxC,GAA+B,MAAZ1Y,EAAmBA,EAAW,IAAIpzE,KAAK0hE,GAA2B,kBAAoBA,EAAOpyD,UAAW,CAC/HjP,IAAKqhE,EAAOrxD,MAAMhQ,IAClBm6B,MAAOknC,MAaT,OAXIkqB,GACFE,EAAgB7jF,KACE,kBAAoB,GAAAkzC,cAAe,CACjDsK,KAAM,QACNrK,QAAS,UACTH,QAASzgB,EAAMwiC,SACf38D,IAAK,gBACL,aAAc,kBAIG,kBAAoB,MAAO,CAChD6S,UAAWwnC,EAAO0V,SACD,kBAAoB,MAAO,CAC5Cl9C,WAAW,KAAA0rE,IAAGlkC,EAAO2G,IAAKgoC,GAAe3uC,EAAOswC,eAC/B,kBAAoB,SAAU,CAC/C/vC,QAASzgB,EAAMkxD,SACfx4E,UAAW24E,EAAQZ,eACnB,aAAc5B,EAAc,eAAiB,kBAC5CsC,GAA+B,kBAAoB,GAAA5vB,KAAM,CAC1D31D,KAAMijF,EAAc,cAAgB,eAClB,kBAAoB,OAAQ,CAC9Cn2E,UAAW24E,EAAQX,SACnBlvB,KAAM,WACL,GAAWjuB,YAAYvT,EAAO0oB,OAAO,EAAQ,UAA2B,kBAAoB,MAAO,CACpGhwC,UAAWwnC,EAAO6kC,SACjBuM,KAAoBzC,GAA+B,kBAAoBz0E,EAAKtF,UAAW,CACxFkrB,MAAO5lB,IAEX,EACA,MAAM,GAAaslC,IAAU,CAC3BkW,SAAS,KAAAhW,KAAI,CACX1O,QAAS,OACT6zB,cAAe,SACf+T,SAAU,EACVrV,IAAK/jB,EAAMqiB,QAAQ,GACnB8uB,OAAQ,YAEVhqC,KAAK,KAAAjH,KAAI,CACPjhC,MAAO,OACPuyB,QAAS,OACT0/C,eAAgB,gBAChBntB,IAAK/jB,EAAMqiB,QAAQ,KAErByuB,cAAc,KAAA5wC,KAAI,CAChBkxC,aAAc,aAAapxC,EAAMI,OAAOD,OAAOkxC,OAC/CtyE,cAAeihC,EAAMqiB,QAAQ,KAE/BgjB,SAAS,KAAAnlC,KAAI,CACX1O,QAAS,OACT4xB,WAAY,SACZW,IAAK/jB,EAAMqiB,QAAQ,GACnB6uB,eAAgB,WAChB9X,SAAU,OChFd,cAA8B,EAC5B,WAAA/rE,GACEuI,SAASnT,WACTiH,KAAK65B,oBAAsB,IAAI,GAAyB75B,KAAM,CAAE+rC,WAAY,CAAC,SAC/E,IAEcrgC,UAAY,EAAGkrB,YAC7B,MAAM,KAAE2K,EAAI,SAAEw4B,EAAW,GAAE,MAAEouB,EAAQ,OAAM,IAAE1rF,EAAG,QAAEk8D,GAAY/hC,EAAMkF,WAC9Dwa,GAAQ,KAAAiiB,aACR1pD,GAAQ,KAAA2nC,KAAI,CAChBujB,WACAjyB,QAAS,OACT4nC,SAAU,EACVhW,WAAY,SACZC,QAAShB,EAAUriB,EAAMqiB,QAAQA,EAAS,QAAK,EAC/C6uB,eAAgBW,IAElB,OAAuB,kBAAoB,MAAO,CAChD74E,UAAWT,EACX,cAAepS,GACd,GAAW0tC,YAAYvT,EAAO2K,GAAM,ECtBzC,cAAiC,IAEd71B,UAAY,EAAGkrB,YAChC,MAAMnqB,EAAQmqB,EAAMkF,WACpB,OAAuB,kBAAoB,GAAAyb,cAAe,CACxDF,QAAS5qC,EAAM4qC,QACfwK,KAAMp1C,EAAMo1C,MACZ,EAEJ,cAAgC,IAEdn2C,UAAY,EAAGkrB,YAC/B,MAAMnqB,EAAQmqB,EAAMkF,WACpB,OAAuB,kBAAoB,MAAO,CAChDjtB,MAAO,CAAEi5B,QAAS,SACjBr7B,EAAMsoC,OAAyB,kBAAoBujB,GAAe,CACnEvjB,MAAOtoC,EAAMsoC,QACK,kBAAoB,GAAAqzC,MAAO,CAC7C/gB,aAAc56D,EAAMjQ,MACpB+Y,MAAO,EACPspD,OAAS7oD,IACP4gB,EAAMnqB,MAAMmrC,SAASx9B,SAASpE,EAAIixD,cAAczqE,MAAO,IAAI,IAE5D,ECtBL,MAAM6rF,WAAwB,EAC5B,WAAA1kF,GACEuI,SAASnT,WACTiH,KAAKsoF,OAAS,KACZ,MAAM7qD,EAAY,GAAWiD,aAAa1gC,MACpCuoF,EA6CZ,SAA4B9qD,EAAW+qD,GACrC,MAAMC,EAAWhrD,EAAUgB,GAAG5+B,UAAY49B,EAAU3Z,KAAKjkB,UACnD6oF,EAASjrD,EAAUgB,GAAG5+B,UAAY4oF,EAAW,EAC7CE,EAA2B,IAAbF,EAAiB,IAhDiC,EAgD3BA,EACrChqD,EAAKiqD,EAASC,EAAc,EAC5B7kE,EAAO4kE,EAASC,EAAc,EACpC,MAAO,CAAE7kE,MAAM,IAAAua,OAAMva,GAAO2a,IAAI,IAAAJ,OAAMI,GAAKO,IAAK,CAAElb,MAAM,IAAAua,OAAMva,GAAO2a,IAAI,IAAAJ,OAAMI,IACjF,CApD8BmqD,CAAmBnrD,EAAUhxB,MAAMjQ,OAC3DihC,EAAU2B,kBAAkBmpD,EAAgB,EAE9CvoF,KAAK6oF,6BAAgCC,IACjB,GAAWpoD,aAAa1gC,MAChCsM,SAAS,CAAEqyB,qBAAsBmqD,GAAQ,EAErD9oF,KAAK+oF,eAAiB,KACpB,MAAMtrD,EAAY,GAAWiD,aAAa1gC,OAExCyM,OAASjQ,MAAOo9C,IACdnc,EACJA,EAAU2B,kBAAkB4pD,GAAoBC,GAAmBC,SAAUtvC,EAAOvW,KAAK6W,OAAO,EAElGl6C,KAAKmpF,cAAgB,KACnB,MAAM1rD,EAAY,GAAWiD,aAAa1gC,OAExCyM,OAASjQ,MAAOo9C,IACdnc,EACJA,EAAU2B,kBAAkB4pD,GAAoBC,GAAmBG,QAASxvC,EAAOvW,KAAK6W,OAAO,CAEnG,EAEFmuC,GAAgB38E,UAChB,UAAiC,MAAEkrB,IACjC,MAAM,WAAEyyD,EAAU,WAAEC,GAAe1yD,EAAMkF,WACnC2B,EAAY,GAAWiD,aAAa9J,GACpC8H,EAAWjB,EAAUyB,cACrBqqD,EAAiB9rD,EAAU3B,WACjC,OAAIutD,EACK,KAEc,kBAAoB,GAAAG,gBAAiB,CAC1DF,WAA0B,MAAdA,GAAqBA,EACjC9sF,MAAO+sF,EAAe/sF,MACtBo7C,SAAUna,EAAU2B,kBACpBV,WACAC,qBAAsB4qD,EAAe5qD,qBACrCoqD,eAAgBnyD,EAAMmyD,eACtBI,cAAevyD,EAAMuyD,cACrBb,OAAQ1xD,EAAM0xD,OACdmB,iBAAkBhsD,EAAU6B,iBAC5BupD,6BAA8BjyD,EAAMiyD,8BAExC,EASA,IAAII,GAAqC,CAAES,IACzCA,EAAoBA,EAA8B,SAAI,GAAK,WAC3DA,EAAoBA,EAA6B,QAAI,GAAK,UACnDA,GAHgC,CAItCT,IAAsB,CAAC,GAC1B,SAASD,GAAoBW,EAAKlsD,EAAWmsD,GAC3C,MAAMC,EAAQpsD,EAAUgB,GAAG5+B,UACrBiqF,EAAUrsD,EAAU3Z,KAAKjkB,UACzBkqF,GAAYF,EAAQC,GAAW,EACrC,IAAIE,EACAC,EACQ,IAARN,GACFK,EAAUF,EAAUC,EACpBE,EAAQJ,EAAQE,IAEhBC,EAAUF,EAAUC,EACpBE,EAAQJ,EAAQE,EACZE,EAAQL,GAAcC,EAAQD,IAChCK,EAAQL,EACRI,EAAUF,IAGd,MAAMhmE,GAAO,IAAAua,OAAM2rD,GACbvrD,GAAK,IAAAJ,OAAM4rD,GACjB,MAAO,CACLnmE,OACA2a,KACAO,IAAK,CAAElb,OAAM2a,MAEjB,CCtFA,IAAI,GAAY3jC,OAAOgO,eACnB,GAAahO,OAAOwgB,iBACpB,GAAoBxgB,OAAOugB,0BAC3B,GAAsBvgB,OAAO2D,sBAC7B,GAAe3D,OAAOkC,UAAUM,eAChC,GAAexC,OAAOkC,UAAUoB,qBAChC,GAAkB,CAAC+K,EAAK1M,EAAKD,IAAUC,KAAO0M,EAAM,GAAUA,EAAK1M,EAAK,CAAEsM,YAAY,EAAMwC,cAAc,EAAMC,UAAU,EAAMhP,UAAW2M,EAAI1M,GAAOD,EAa1J,MAAM0tF,GAAoB,CAAC,KAAM,MAAO,MAAO,KAAM,KAAM,MAAO,MAAO,KAAM,KAAM,MACrF,MAAMC,WAA2B,EAC/B,WAAAxmF,CAAY8I,GACV,IAAIgrB,EACJvrB,MALgB,EAACiO,EAAGmT,IAAM,GAAWnT,EAAG,GAAkBmT,IAKpD,CAhBW,EAACnT,EAAGmT,KACvB,IAAK,IAAIxV,KAAQwV,IAAMA,EAAI,CAAC,GACtB,GAAaxvB,KAAKwvB,EAAGxV,IACvB,GAAgBqC,EAAGrC,EAAMwV,EAAExV,IAC/B,GAAI,GACF,IAAK,IAAIA,KAAQ,GAAoBwV,GAC/B,GAAaxvB,KAAKwvB,EAAGxV,IACvB,GAAgBqC,EAAGrC,EAAMwV,EAAExV,IAEjC,OAAOqC,CAAC,EAOc,CAAe,CACjCwiD,QAAS,IACRlwD,GAAQ,CACTw7D,UAAqC,OAAzBxwC,EAAKhrB,EAAMw7D,WAAqBxwC,EAAKyyD,MAEnDlqF,KAAK+5B,SAAW,IAAI4D,GAAyB39B,KAAM,CAAEvC,KAAM,CAAC,aAC5DuC,KAAKu/B,UAAY,KACf,MAAM9B,EAAY,GAAWiD,aAAa1gC,MACtCA,KAAKoqF,gBACPC,cAAcrqF,KAAKoqF,gBAErB3sD,EAAU8B,YACVv/B,KAAKsqF,oBAAoB,EAE3BtqF,KAAKuqF,kBAAqB3kD,IACxB5lC,KAAKsM,SAAS,CAAEqwD,QAAS/2B,IACzB5lC,KAAKsqF,oBAAoB,EAE3BtqF,KAAKsqF,mBAAqB,KACxB,MAAM7sD,EAAY,GAAWiD,aAAa1gC,OACpC,QAAE28D,EAAO,UAAEsL,GAAcjoE,KAAKyM,MAIpC,IAHIzM,KAAKoqF,gBAA8B,KAAZztB,IACzB0tB,cAAcrqF,KAAKoqF,gBAEL,KAAZztB,EACF,OAEF,GAAIsL,IAAcA,EAAU7xC,SAASumC,GACnC,OAEF,MAAMh3B,EAAa,EAAAiQ,UAAUC,aAAa8mB,GAC1C38D,KAAKoqF,eAAiBI,aAAY,KAChC/sD,EAAU8B,WAAW,GACpBoG,EAAW,EAEhB3lC,KAAK28B,sBAAqB,KACxB38B,KAAKsqF,qBACE,KACDtqF,KAAKoqF,gBACPC,cAAcrqF,KAAKoqF,eACrB,IAGN,CACA,WAAApsD,GACE,MAAO,CACL2+B,QAAS38D,KAAKyM,MAAMkwD,QAExB,CACA,aAAA1+B,CAAc39B,GACZ,MAAMq8D,EAAUr8D,EAAOq8D,QACnBA,GAA8B,iBAAZA,GACpB38D,KAAKsM,SAAS,CACZqwD,WAGN,EAEFwtB,GAAmBz+E,UACnB,UAAoC,MAAEkrB,IACpC,MAAM,QAAE+lC,EAAO,UAAEsL,EAAS,WAAEqhB,GAAe1yD,EAAMkF,WACjD,OAAuB,kBAAoB,GAAAqpB,cAAe,CACxD3oD,MAAOmgE,EACPsL,YACA1oC,UAAW3I,EAAM2I,UACjBgrD,kBAAmB3zD,EAAM2zD,kBACzBjB,WAA0B,MAAdA,GAAqBA,GAErC,EC7FA,cAAmC,EACjC,WAAA3lF,CAAY8I,GACVP,MAAMO,GACNzM,KAAK28B,sBAAqB,KACxB,MAAM8tD,EAAe,GAAW5lD,QAAQ7kC,MACxCA,KAAKi5B,MAAMz4B,IACTiqF,EAAaxwD,kBAAkBv5B,IAC7B,IAAI+2B,GACqB,OAAnBA,EAAK/2B,EAAKA,WAAgB,EAAS+2B,EAAGhrB,SAAW,EAAA21D,aAAa7kC,MAClEv9B,KAAK0qF,cAAchqF,EAAKA,KAC1B,KAGA+pF,EAAah+E,MAAM/L,MACrBV,KAAK0qF,cAAcD,EAAah+E,MAAM/L,KACxC,GAEJ,CACA,aAAAgqF,CAAchqF,GACZ,MAAM4kF,EAAc,GACpB,IAAK,IAAIqF,EAAc,EAAGA,EAAcjqF,EAAK88B,OAAO3kC,OAAQ8xF,IAAe,CACzE,MAAMC,EAAc5qF,KAAKyM,MAAMo+E,eAAenqF,EAAMA,EAAK88B,OAAOmtD,GAAcA,GAC9ErF,EAAYjhF,KAAKumF,EACnB,CACA5qF,KAAKyM,MAAMuE,KAAK1E,SAAS,CAAEgC,SAAUg3E,GACvC,GAEmB55E,UAAY,EAAGkrB,YAClC,MAAM,KAAE5lB,GAAS4lB,EAAMkF,WACvB,OAAuB,kBAAoB9qB,EAAKtF,UAAW,CACzDkrB,MAAO5lB,GACP,ECjCJ,MAAM85E,GAAuB,cAAc,EACzC,WAAAnnF,GACEuI,MAAM,CAAC,EACT,CACA,aAAIR,GACF,OAAOo/E,GAAqBp/E,SAC9B,GAEF,IAAIq/E,GAAsBD,GAC1BC,GAAoBr/E,UAAao2E,GACR,kBAAoB,MAAO,CAChDjzE,MAAO,CAAE6gE,SAAU,KCTvB,MAAMsb,WAAwB,EAC5B,eAAAC,GACEjrF,KAAKsM,SAAS,CACZ4+E,UAAoC,QAAzBlrF,KAAKyM,MAAMy+E,UAAsB,SAAW,OAE3D,CACA,WAAA/pE,GACE,OAAO,CACT,EAEF6pE,GAAgBt/E,UAChB,UAAiC,MAAEkrB,EAAK,YAAEu0D,IACxC,MAAM,SAAE78E,EAAQ,SAAE0sD,GAAapkC,EAAMkF,WAC/BjtB,EAoFR,SAAwBpC,EAAO0+E,GAC7B,OAAO,IAAA7sB,UAAQ,KACb,IAAI7mC,EAAIE,EAAIusC,EAAIr9C,EAAIH,EAAIy9C,EAAIinB,EAAIC,EAAI7kE,EAAI8kE,EACxC,MAAM,UAAEJ,EAAY,MAAK,KAAEK,GAAS9+E,EAC9B6pC,EAAQ,EAAAzW,OAAOg5C,OACfhqE,EAAQ,CAAC,EAmBf,OAlBIs8E,EACFK,GAAgB38E,EAAOpC,EAAO0+E,IAE9Bt8E,EAAMi5B,QAAU,OAChBj5B,EAAM6gE,SAAW,GAEnB7gE,EAAM8sD,cAAgBuvB,EACtBr8E,EAAMwrD,IAAM,MACZxrD,EAAM+gE,SAAW2b,GAAQ,SACzB18E,EAAM48E,aAAe,WACrB58E,EAAM8gE,UAAY9gE,EAAM8gE,WAAa,EACrC9gE,EAAMynC,EAAMnrB,YAAYugE,KAAK,OAAS,CACpC/vB,cAAyE,OAAzDhkC,EAAwB,OAAlBF,EAAKhrB,EAAM6f,SAAc,EAASmL,EAAGyzD,WAAqBvzD,EAAK,SACrF/V,SAAmE,OAAxDiF,EAAwB,OAAlBq9C,EAAKz3D,EAAM6f,SAAc,EAAS43C,EAAGtiD,UAAoBiF,EAAK,QAC/E8kE,UAAqE,OAAzDxnB,EAAwB,OAAlBz9C,EAAKja,EAAM6f,SAAc,EAAS5F,EAAGilE,WAAqBxnB,EAAK,QACjFpvD,OAA+D,OAAtDs2E,EAAwB,OAAlBD,EAAK3+E,EAAM6f,SAAc,EAAS8+D,EAAGr2E,QAAkBs2E,EAAK,QAC3E91E,MAA6D,OAArD+1E,EAAwB,OAAlB9kE,EAAK/Z,EAAM6f,SAAc,EAAS9F,EAAGjR,OAAiB+1E,EAAK,UAEpE,KAAA90C,KAAI3nC,EAAM,GAChB,CAACs8E,EAAa1+E,GACnB,CA9GgBm/E,CAAeh1D,EAAMnqB,MAAO0+E,GAC1C,OAAInwB,EACK,KAEc,kBAAoB,MAAO,CAChD1rD,UAAWT,GACVP,EAASlS,KAAKosB,IACf,MAAM9c,EAAY8c,EAAK9c,UACvB,OAAuB,kBAAoBA,EAAW,CACpDjP,IAAK+rB,EAAK/b,MAAMhQ,IAChBm6B,MAAOpO,EACP2iE,YAAav0D,EAAMnqB,OACnB,IAEN,EACA,MAAMo/E,WAAsB,GAkB5B,SAASL,GAAgB38E,EAAOpC,EAAO0+E,GACrC,IAAI1zD,EAAIE,EAAIusC,EACZ,MAAM4nB,EAAkD,OAA/Br0D,EAAK0zD,EAAYD,WAAqBzzD,EAAK,OAC9D,QAAEs0D,EAAU,OAAM,QAAEC,EAAU,QAAWv/E,EAgC/C,OA/BAoC,EAAMi5B,QAAU,OAChBj5B,EAAM/C,SAAW,WACjB+C,EAAM8sD,cAAgBmwB,EACE,WAApBA,GACEr/E,EAAMsI,OACRlG,EAAMkG,OAAStI,EAAMsI,OAErBlG,EAAM6gE,SAAuB,SAAZsc,EAAqB,EAAI,EAExCv/E,EAAM8I,MACR1G,EAAM0G,MAAQ9I,EAAM8I,MAEpB1G,EAAMo9E,UAAwB,SAAZF,EAAqB,UAAY,eAGjDt/E,EAAMsI,OACRlG,EAAMkG,OAAStI,EAAMsI,OAErBlG,EAAMo9E,UAAwB,SAAZD,EAAqB,UAAY,aAEjDv/E,EAAM8I,MACR1G,EAAM0G,MAAQ9I,EAAM8I,MAEpB1G,EAAM6gE,SAAuB,SAAZqc,EAAqB,EAAI,GAG9Cl9E,EAAMu4D,SAAW36D,EAAM26D,SACvBv4D,EAAM+S,SAAWnV,EAAMmV,SACvB/S,EAAM88E,UAAYl/E,EAAMk/E,UACxB98E,EAAM8gE,UAAsC,OAAzBh4C,EAAKlrB,EAAMkjE,WAAqBh4C,EAAKwzD,EAAYxb,UACpE9gE,EAAMkG,OAAgC,OAAtBmvD,EAAKz3D,EAAMsI,QAAkBmvD,EAAKinB,EAAYp2E,OACvDlG,CACT,CApDAg9E,GAAcngF,UACd,UAA+B,MAAEkrB,EAAK,YAAEu0D,IACtC,IAAKA,EACH,MAAM,IAAI1jF,MAAM,oDAElB,MAAM,KAAEuJ,EAAI,SAAEgqD,GAAapkC,EAAMkF,WAC3BjtB,EA+CR,SAA4BpC,EAAO0+E,GACjC,OAAO,IAAA7sB,UAAQ,KACb,IAAI7mC,EAAIE,EAAIusC,EAAIr9C,EAAIH,EAAIy9C,EAAIinB,EAAIC,EAAI7kE,EAAI8kE,EACxC,MAAMh1C,EAAQ,EAAAzW,OAAOg5C,OACfhqE,EAAQ28E,GAAgB,CAAC,EAAG/+E,EAAO0+E,GAOzC,OANAt8E,EAAMynC,EAAMnrB,YAAYugE,KAAK,OAAS,CACpC9pE,SAAmE,OAAxD+V,EAAwB,OAAlBF,EAAKhrB,EAAM6f,SAAc,EAASmL,EAAG7V,UAAoB+V,EAAK,QAC/Eg0D,UAAqE,OAAzD9kE,EAAwB,OAAlBq9C,EAAKz3D,EAAM6f,SAAc,EAAS43C,EAAGynB,WAAqB9kE,EAAK,QACjF9R,OAA+D,OAAtDq2E,EAAwB,OAAlB1kE,EAAKja,EAAM6f,SAAc,EAAS5F,EAAG3R,QAAkBq2E,EAA8B,OAAxBjnB,EAAKgnB,EAAY7+D,SAAc,EAAS63C,EAAGpvD,OACvHQ,MAA6D,OAArD+1E,EAAwB,OAAlBD,EAAK5+E,EAAM6f,SAAc,EAAS++D,EAAG91E,OAAiB+1E,EAA8B,OAAxB9kE,EAAK2kE,EAAY7+D,SAAc,EAAS9F,EAAGjR,QAEhH,KAAAihC,KAAI3nC,EAAM,GAChB,CAACpC,EAAO0+E,GACb,CA5DgBe,CAAmBt1D,EAAMnqB,MAAO0+E,GAC9C,OAAKn6E,GAAQgqD,EACJ,KAEc,kBAAoB,MAAO,CAChD1rD,UAAWT,GACM,kBAAoBmC,EAAKtF,UAAW,CACrDkrB,MAAO5lB,IAEX,EC5CA,IAAI,GAAYlW,OAAOgO,eACnB,GAAsBhO,OAAO2D,sBAC7B,GAAe3D,OAAOkC,UAAUM,eAChC,GAAexC,OAAOkC,UAAUoB,qBAChC,GAAkB,CAAC+K,EAAK1M,EAAKD,IAAUC,KAAO0M,EAAM,GAAUA,EAAK1M,EAAK,CAAEsM,YAAY,EAAMwC,cAAc,EAAMC,UAAU,EAAMhP,UAAW2M,EAAI1M,GAAOD,GAY1J,cAAiC,EAC/B,WAAAmH,CAAY8I,GACV,IAAIgrB,EAAIE,EACRzrB,MAdiB,EAACiO,EAAGmT,KACvB,IAAK,IAAIxV,KAAQwV,IAAMA,EAAI,CAAC,GACtB,GAAaxvB,KAAKwvB,EAAGxV,IACvB,GAAgBqC,EAAGrC,EAAMwV,EAAExV,IAC/B,GAAI,GACF,IAAK,IAAIA,KAAQ,GAAoBwV,GAC/B,GAAaxvB,KAAKwvB,EAAGxV,IACvB,GAAgBqC,EAAGrC,EAAMwV,EAAExV,IAEjC,OAAOqC,CAAC,EAKA,CAAe,CACnBgyE,OAAQ,EACRC,UAAW,EACXC,gBAAiB,uCACjBC,SAAmC,OAAxB70D,EAAKhrB,EAAM6/E,UAAoB70D,EAAK,QAC/CnpB,SAAmC,OAAxBqpB,EAAKlrB,EAAM6B,UAAoBqpB,EAAK,IAC9ClrB,GACL,CACA,WAAA0U,GACE,OAAO,CACT,IAEiBzV,UACnB,UAAoC,MAAEkrB,IACpC,MAAM,SAAEtoB,EAAQ,SAAE0sD,EAAQ,OAAEwoB,GAAW5sD,EAAMkF,WACvCjtB,GA2CgBpC,EA3COmqB,EAAMnqB,OA4C5B,IAAA6xD,UAAQ,KACb,IAAI7mC,EAAIE,EAAIusC,EAAIr9C,EAAIH,EAAIy9C,EAAIinB,EAAIC,EAAI7kE,EAAI8kE,EAAIiB,EAC5C,MAAM19E,EAAQ,CAAC,EACTynC,EAAQ,EAAAzW,OAAOg5C,OAsBrB,OArBAhqE,EAAMi5B,QAAU,OAChBj5B,EAAM29E,oBAAsB//E,EAAM4/E,gBAClCx9E,EAAM49E,iBAAmBhgF,EAAMigF,cAAgB,QAC/C79E,EAAM89E,aAAelgF,EAAM6/E,UAAY,QACvCz9E,EAAMs9E,OAAS71C,EAAMqiB,QAA+B,OAAtBlhC,EAAKhrB,EAAM0/E,QAAkB10D,EAAK,GAChE5oB,EAAMu9E,UAAY91C,EAAMqiB,QAAkC,OAAzBhhC,EAAKlrB,EAAM2/E,WAAqBz0D,EAAK,GACtE9oB,EAAM+9E,aAAengF,EAAMmgF,cAAgB,QAC3C/9E,EAAM6qD,WAAajtD,EAAMitD,YAAc,QACvC7qD,EAAM24E,eAAiB/6E,EAAM+6E,gBAAkB,QAC/C34E,EAAM6gE,SAAW,EACbjjE,EAAM6f,KACRzd,EAAMynC,EAAMnrB,YAAYugE,KAAK,OAAS,CACpCe,iBAAqC,OAAlBvoB,EAAKz3D,EAAM6f,SAAc,EAAS43C,EAAGwoB,aACxDF,oBAAwC,OAAlB3lE,EAAKpa,EAAM6f,SAAc,EAASzF,EAAGwlE,gBAC3DF,OAAQ1/E,EAAM6f,GAAG6/D,OAAS71C,EAAMqiB,QAA+D,OAAtDwL,EAAwB,OAAlBz9C,EAAKja,EAAM6f,SAAc,EAAS5F,EAAGylE,QAAkBhoB,EAAK,QAAK,EAChHioB,UAAW3/E,EAAM6f,GAAG8/D,UAAY91C,EAAMqiB,QAA+D,OAAtD0yB,EAAwB,OAAlBD,EAAK3+E,EAAM6f,SAAc,EAAS8+D,EAAGe,QAAkBd,EAAK,QAAK,EACtHuB,aAAiC,OAAlBpmE,EAAK/Z,EAAM6f,SAAc,EAAS9F,EAAGomE,aACpDlzB,WAA+B,OAAlB4xB,EAAK7+E,EAAM6f,SAAc,EAASg/D,EAAG5xB,WAClD8tB,eAAmC,OAAlB+E,EAAK9/E,EAAM6f,SAAc,EAASigE,EAAG/E,kBAGnD,KAAAhxC,KAAI3nC,EAAM,GAChB,CAACpC,KA3BN,IAAwBA,EA1CtB,OAAIuuD,EACK,KAEc,kBAAoB,MAAO,CAChD1rD,UAAWT,GACVP,EAASlS,KAAKosB,IACf,MAAM9c,EAAY8c,EAAK9c,UACvB,OAAI83E,EACqB,kBAAoBhB,GAAY,CACrD/lF,IAAK+rB,EAAK/b,MAAMhQ,IAChB6S,UAAWT,GACM,kBAAoBnD,EAAW,CAChDjP,IAAK+rB,EAAK/b,MAAMhQ,IAChBm6B,MAAOpO,EACP2iE,YAAav0D,EAAMnqB,SAGA,kBAAoBf,EAAW,CACpDjP,IAAK+rB,EAAK/b,MAAMhQ,IAChBm6B,MAAOpO,EACP2iE,YAAav0D,EAAMnqB,OACnB,IAEN,EACA,cAA+B,IAEdf,UACjB,UAAkC,MAAEkrB,EAAK,YAAEu0D,IACzC,IAAKA,EACH,MAAM,IAAI1jF,MAAM,0DAElB,MAAM,KAAEuJ,EAAI,SAAEgqD,GAAapkC,EAAMkF,WAC3BjtB,GAuCcpC,EAvCOmqB,EAAMnqB,OAwC1B,IAAA6xD,UAAQ,KACb,MAAMzvD,EAAQ,CAAC,EAIf,OAHAA,EAAMg+E,WAAapgF,EAAMogF,YAAc,QACvCh+E,EAAMo5E,QAAUx7E,EAAMw7E,SAAW,QACjCp5E,EAAM/C,SAAW,YACV,KAAA0qC,KAAI3nC,EAAM,GAChB,CAACpC,KAPN,IAAsBA,EAtCpB,OAAKuE,GAAQgqD,EACJ,KAEc,kBAAoB,MAAO,CAChD1rD,UAAWT,GACM,kBAAoBmC,EAAKtF,UAAW,CACrDkrB,MAAO5lB,IAEX,EC5EA,IAAI,GAAYlW,OAAOgO,eACnB,GAAsBhO,OAAO2D,sBAC7B,GAAe3D,OAAOkC,UAAUM,eAChC,GAAexC,OAAOkC,UAAUoB,qBAChC,GAAkB,CAAC+K,EAAK1M,EAAKD,IAAUC,KAAO0M,EAAM,GAAUA,EAAK1M,EAAK,CAAEsM,YAAY,EAAMwC,cAAc,EAAMC,UAAU,EAAMhP,UAAW2M,EAAI1M,GAAOD,EACtJ,GAAiB,CAAC2d,EAAGmT,KACvB,IAAK,IAAIxV,KAAQwV,IAAMA,EAAI,CAAC,GACtB,GAAaxvB,KAAKwvB,EAAGxV,IACvB,GAAgBqC,EAAGrC,EAAMwV,EAAExV,IAC/B,GAAI,GACF,IAAK,IAAIA,KAAQ,GAAoBwV,GAC/B,GAAaxvB,KAAKwvB,EAAGxV,IACvB,GAAgBqC,EAAGrC,EAAMwV,EAAExV,IAEjC,OAAOqC,CAAC,EAEV,MACM2yE,GAAgC,IAAI5tF,IAAI,CAAC,UAAW,cACpD6tF,GAAkC,IAAI7tF,IAAI,CAAC,YAAa,eACxD8tF,GAAoB,CACxBvvC,IAAK,CACHwvC,IAAK,QACL5+E,KAAM,UACNsL,IAAK,WACLC,IAAK,YAEPszE,OAAQ,CACND,IAAK,SACL5+E,KAAM,UACNsL,IAAK,YACLC,IAAK,cAGT,SAASuzE,IAAS,UAChBjC,EAAY,MAAK,WACjBt4D,EAAa,GAAE,YACfw6D,EAAc,OAAM,kBACpBC,EAAiB,oBACjBC,EAAmB,eACnBC,EAAc,SACdj/E,IAEA,MAAMk/E,EAAO,aAAe5kB,QAAQt6D,GAC9Bm/E,GAAc,IAAAnL,QAAO,MACrBoL,GAAe,IAAApL,QAAO,MACtBqL,GAAgB,IAAArL,QAAO,MACvBsL,GAAe,IAAAtL,QAAO,MACtBuL,GAAgB,IAAAvL,QAAO,MACvBwL,GAAiB,IAAAxL,QAAO,OACxByL,GAAwB,IAAAzL,aAAO,GAC/B0L,GAAW,IAAA1L,aAAO,GAClB2L,EAAkBjB,GAAkB9B,GAAW+B,IAC/CiB,EAAalB,GAAkB9B,GAAW78E,KAC1C8/E,EAAanB,GAAkB9B,GAAWvxE,IAC1Cy0E,EAAapB,GAAkB9B,GAAWtxE,KAqTlD,SAA2BlP,EAAQ2kB,EAAIg/D,EAAe,EAAGliD,GACvD,MAAMmiD,GAAoB,KAAAC,UAASl/D,EAAIg/D,IACvC,IAAAve,kBAAgB,KACd,IAAKplE,EACH,OAEF,MAAM8jF,EAAiB,IAAIze,eAAeue,GAE1C,OADAE,EAAepe,QAAQ1lE,EAAQ,CAAE+jF,IAAK,6BAC/B,IAAMD,EAAene,YAAY,GACvClkC,EACL,CA9TEuiD,CACEd,EAAaz/E,SACZpO,IACC,IAAK,MAAMG,KAASH,EAAS,CAC3B,IAAKG,EAAMwK,OAAOikF,WAAWf,EAAaz/E,SACxC,OAEF,MAAMygF,EAAUlB,EAAav/E,QAAQ+H,wBAAwB+3E,GACvDY,EAAUC,GAAepB,EAAav/E,SAC5Cs/E,EAAYt/E,QAAQ4gF,aAAe,IAAG,KAAA7vE,QACnC0vE,EAAUC,EAAQV,KAAgBU,EAAQT,GAAcS,EAAQV,IAAe,IAChF,EACA,MAEJ,IAEF,IACA,CAACC,EAAYD,EAAYjD,EAAW+C,IAEtC,MAAMe,GAAY,IAAA1M,QAAO,MACnB2M,GAAgB,IAAAloB,cACnBxuE,IACCu1F,EAAe3/E,QAAUu/E,EAAav/E,QAAQ+H,wBAAwB+3E,GACtEJ,EAAc1/E,QAAUy/E,EAAaz/E,QAAQ+H,wBAAwB+3E,GACrEe,EAAU7gF,QAAU5V,EAAE21F,GACtBT,EAAYt/E,QAAQ+gF,kBAAkB32F,EAAE42F,WACxCpB,EAAsB5/E,QAAU2gF,GAAepB,EAAav/E,SAC5D6/E,EAAS7/E,aAAU,CAAM,GAE3B,CAAC8/E,EAAiBC,IAEdkB,GAAgB,IAAAroB,cACnBxuE,IACC,GAA0B,OAAtBy2F,EAAU7gF,SAA+C,QAA3B2/E,EAAe3/E,QAAmB,CAClE,MAAMsnC,EAAOl9C,EAAE21F,GAAcc,EAAU7gF,QACjCkhF,EAAOtB,EAAsB5/E,QAC7B23E,GAAU,KAAA5mE,OAAM4uE,EAAe3/E,QAAUsnC,EAAM45C,EAAKlB,GAAakB,EAAKjB,IACtEkB,EAAUxJ,GAAW+H,EAAc1/E,QAAUykB,GACnD86D,EAAav/E,QAAQU,MAAM6gE,SAAW,GAAG4f,IACzC3B,EAAcx/E,QAAQU,MAAM6gE,SAAW,IAAG,EAAI4f,GAC9C,MAAMP,GAAe,KAAA7vE,QAClB4mE,EAAUuJ,EAAKlB,KAAgBkB,EAAKjB,GAAciB,EAAKlB,IAAe,IACvE,EACA,KAEFV,EAAYt/E,QAAQ4gF,aAAe,GAAGA,GACxC,IAEF,CAACn8D,EAAYs7D,EAAYC,EAAYC,IAEjCmB,GAAc,IAAAxoB,cACjBxuE,IACCA,EAAEgZ,iBACFhZ,EAAE+uB,kBACFmmE,EAAYt/E,QAAQqhF,sBAAsBj3F,EAAE42F,WAC5CH,EAAU7gF,QAAU,KACF,MAAlBo/E,GAAkCA,EAAekC,WAAW/B,EAAav/E,QAAQU,MAAM6gE,UAAU,GAEnG,CAAC6d,IAEGmC,GAAc,IAAApN,QAAuB,IAAIpjF,KACzCywF,GAAoB,IAAArN,QAAO,MAC3BsN,GAAoB,IAAA7oB,cACvBl/B,IACC,IAAIpQ,EAEJ,GADoD,IAA7Bi4D,EAAYvhF,QAAQ7R,KAGzC,YADAqzF,EAAkBxhF,QAAU,MAEvB,GAA+B,QAA3B2/E,EAAe3/E,QACxB,OAEF,MACM0hF,EAhHU,IA+GLhoD,GAA4C,OAAnCpQ,EAAKk4D,EAAkBxhF,SAAmBspB,EAAKoQ,IAEnE,IAAIioD,EAAa,EACC,QAAd5E,GACEwE,EAAYvhF,QAAQ/J,IAAI,eAC1B0rF,GAAcD,GAEZH,EAAYvhF,QAAQ/J,IAAI,gBAC1B0rF,GAAcD,KAGZH,EAAYvhF,QAAQ/J,IAAI,aAC1B0rF,GAAcD,GAEZH,EAAYvhF,QAAQ/J,IAAI,eAC1B0rF,GAAcD,IAGlB,MAAME,EAAgBhC,EAAsB5/E,QACtCygF,EAAUlB,EAAav/E,QAAQ+H,wBAAwB+3E,GACvDnI,GAAU,KAAA5mE,OAAM0vE,EAAUkB,EAAYC,EAAc5B,GAAa4B,EAAc3B,IAC/EkB,EAAUxJ,GAAW+H,EAAc1/E,QAAUykB,GACnD86D,EAAav/E,QAAQU,MAAM6gE,SAAW,GAAG4f,IACzC3B,EAAcx/E,QAAQU,MAAM6gE,SAAW,IAAG,EAAI4f,GAC9C,MAAMP,GAAgBjJ,EAAUiK,EAAc5B,KAAgB4B,EAAc3B,GAAc2B,EAAc5B,IAAe,IACvHV,EAAYt/E,QAAQ4gF,aAAe,IAAG,KAAA7vE,OAAM6vE,EAAc,EAAG,OAC7DY,EAAkBxhF,QAAU05B,EAC5Bj6B,OAAOiwE,sBAAsB+R,EAAkB,GAEjD,CAAC1E,EAAWt4D,EAAYu7D,EAAYC,EAAYH,IAE5C/mB,GAAY,IAAAH,cACfxuE,IACC,GAAc,UAAVA,EAAEkE,IAAN,CAWO,GAAc,SAAVlE,EAAEkE,IAAgB,CAC3BsxF,EAAsB5/E,QAAU2gF,GAAepB,EAAav/E,SAC5D0/E,EAAc1/E,QAAUy/E,EAAaz/E,QAAQ+H,wBAAwB+3E,GACrE,MAAMqB,EAAUvB,EAAsB5/E,QAAQggF,IAAeN,EAAc1/E,QAAUykB,GAIrF,OAHA86D,EAAav/E,QAAQU,MAAM6gE,SAAW,GAAG4f,IACzC3B,EAAcx/E,QAAQU,MAAM6gE,SAAW,IAAG,EAAI4f,QAC9C7B,EAAYt/E,QAAQ4gF,aAAe,IAErC,CAAO,GAAc,QAAVx2F,EAAEkE,IAAe,CAC1BsxF,EAAsB5/E,QAAU2gF,GAAepB,EAAav/E,SAC5D0/E,EAAc1/E,QAAUy/E,EAAaz/E,QAAQ+H,wBAAwB+3E,GACrE,MAAMqB,EAAUvB,EAAsB5/E,QAAQigF,IAAeP,EAAc1/E,QAAUykB,GAIrF,OAHA86D,EAAav/E,QAAQU,MAAM6gE,SAAW,GAAG4f,IACzC3B,EAAcx/E,QAAQU,MAAM6gE,SAAW,IAAG,EAAI4f,QAC9C7B,EAAYt/E,QAAQ4gF,aAAe,MAErC,CACA,IAAoB,WAAd7D,GAA0B4B,GAAc1oF,IAAI7L,EAAEkE,MAAsB,QAAdyuF,GAAuB6B,GAAgB3oF,IAAI7L,EAAEkE,QAASizF,EAAYvhF,QAAQ/J,IAAI7L,EAAEkE,OAG5IuxF,EAAS7/E,aAAU,EACnB5V,EAAEgZ,iBACFhZ,EAAE+uB,kBACFwmE,EAAe3/E,QAAUu/E,EAAav/E,QAAQ+H,wBAAwB+3E,GACtEJ,EAAc1/E,QAAUy/E,EAAaz/E,QAAQ+H,wBAAwB+3E,GACrEF,EAAsB5/E,QAAU2gF,GAAepB,EAAav/E,UAC5CuhF,EAAYvhF,QAAQ/J,IAAI7L,EAAEkE,MAC9B,CACV,MAAMuzF,EAAqD,IAA7BN,EAAYvhF,QAAQ7R,KAClDozF,EAAYvhF,QAAQ3N,IAAIjI,EAAEkE,KACtBuzF,GACFpiF,OAAOiwE,sBAAsB+R,EAEjC,CAjBA,WA1B2B,IAArB5B,EAAS7/E,SACX6/E,EAAS7/E,QAAUu/E,EAAav/E,QAAQU,MAAM6gE,SAC9Cge,EAAav/E,QAAQU,MAAM6gE,SAAW,IACtCie,EAAcx/E,QAAQU,MAAM6gE,SAAW,MAEvCge,EAAav/E,QAAQU,MAAM6gE,SAAWse,EAAS7/E,QAC/Cw/E,EAAcx/E,QAAQU,MAAM6gE,SAAW,IAAG,EAAI+f,WAAWzB,EAAS7/E,UAClE6/E,EAAS7/E,aAAU,EAoCvB,GAEF,CAAC+8E,EAAW0E,EAAmBh9D,EAAYw7D,EAAYH,EAAiBE,IAEpE8B,GAAU,IAAAlpB,cACbxuE,IACmB,QAAd2yF,IAAwB6B,GAAgB3oF,IAAI7L,EAAEkE,MAAsB,WAAdyuF,IAA2B4B,GAAc1oF,IAAI7L,EAAEkE,OAGzGizF,EAAYvhF,QAAQ+sB,OAAO3iC,EAAEkE,KACX,MAAlB8wF,GAAkCA,EAAekC,WAAW/B,EAAav/E,QAAQU,MAAM6gE,WAAU,GAEnG,CAACwb,EAAWqC,IAER2C,GAAgB,IAAAnpB,cAAY,KAChC2mB,EAAav/E,QAAQU,MAAM6gE,SAAW,MACtCie,EAAcx/E,QAAQU,MAAM6gE,SAAW,MACvC,MAAMud,EAAM6B,GAAepB,EAAav/E,SACxC4/E,EAAsB5/E,QAAU8+E,EAChCa,EAAe3/E,QAAUu/E,EAAav/E,QAAQ+H,wBAAwB+3E,GACtER,EAAYt/E,QAAQ4gF,aAAe,IAAIjB,EAAe3/E,QAAU8+E,EAAIkB,KAAgBlB,EAAImB,GAAcnB,EAAIkB,IAAe,GAAK,GAC7H,CAACC,EAAYH,EAAiBE,IAC3BtvB,GAAS,IAAAkI,cAAY,KACrB2oB,EAAYvhF,QAAQ7R,KAAO,IAC7BozF,EAAYvhF,QAAQlO,QACpB+uF,EAAU7gF,QAAU,KACF,MAAlBo/E,GAAkCA,EAAekC,WAAW/B,EAAav/E,QAAQU,MAAM6gE,WACzF,GACC,CAAC6d,IACEz2C,GAAS,KAAAC,YAAW,IACpB/iC,EAAKouE,KACX,OAAuB,kBAAoB,MAAO,CAChDr/D,IAAK6qE,EACLt+E,UAAWwnC,EAAO8K,UAClB/yC,MAAO,CACL8sD,cAAeuvB,IAEA,kBAAoB,MAAO,CAC5CnoE,IAAK2qE,EACLp+E,UAAWwnC,EAAO5J,MAClBr+B,MAAO,GAAe,CACpB6gE,SAA0B,SAAhB0d,EAAyB,IAAM,KAAAluE,OAAMkuE,EAAa,EAAG,GAC/D,CAACe,GAAa,eACbd,GACHr5E,GAAI,eAAeA,KAClBw5E,EAAK,IAAqB,kBAAoB,MAAO,CACtDzqE,IAAK0qE,EACL5+E,MAAO,CAAE,CAACo/E,GAAkB,GAAGr7D,OAC/BtjB,WAAW,KAAA0rE,IAAGlkC,EAAO1lC,OAAQ,CAAE,CAAC0lC,EAAOq5C,kBAAiC,WAAdjF,IAC1DqE,cACAN,gBACAG,gBACAloB,YACA+oB,UACAC,gBACArxB,SACAzG,KAAM,YACN,gBAAiB,EACjB,gBAAiB,IACjB,gBAAiB,GACjB,gBAAiB,eAAepkD,IAChC,aAAc,qBACdo8E,SAAU,IACQ,kBAAoB,MAAO,CAC7CrtE,IAAK4qE,EACLr+E,UAAWwnC,EAAO5J,MAClBr+B,MAAO,GAAe,CACpB6gE,SAA0B,SAAhB0d,EAAyB,IAAM,KAAAluE,OAAM,EAAIkuE,EAAa,EAAG,GACnE,CAACe,GAAa,eACbb,GACHt5E,GAAI,aAAaA,KAChBw5E,EAAK,IACV,CACA,SAAS,GAAUl3C,GACjB,MAAO,CACLllC,QAAQ,KAAAolC,KAAI,CACVixC,OAAQ,aACR37E,SAAU,WACVukF,WAAY,EACZC,WAAY,OACZ,YAAa,CACXtsC,QAAS,KACTl4C,SAAU,WACVykF,gBAAiBj6C,EAAMI,OAAO+iB,QAAQ+2B,KACtC1gF,KAAM,MACNhT,UAAW,kBACXkT,IAAK,EACL+E,OAAQ,OACRQ,MAAO,MACPshC,QAAS,EACT45C,WAAY,4BAEd,WAAY,CACVzsC,QAAS,KACTzuC,MAAO,MACP2kD,aAAc,MACdq2B,gBAAiBj6C,EAAMI,OAAOD,OAAOkxC,KACrC8I,WAAY,oCACZ17E,OAAQ,MACR/E,IAAK,wBACLlT,UAAW,mBACXgP,SAAU,WACVgE,KAAM,OAER,2BAA4B,CAC1B4gF,QAAS,OACT,YAAa,CACX75C,QAAS,GAEX,WAAY,CACV05C,gBAAiBj6C,EAAMI,OAAO+iB,QAAQ+2B,SAI5CL,kBAAkB,KAAA35C,KAAI,CACpBixC,OAAQ,aACR,YAAa,CACX33E,KAAM,UACNhT,UAAW,mBACXkT,IAAK,MACL+E,OAAQ,MACRQ,MAAO,QAET,WAAY,CACVA,MAAO,MACPR,OAAQ,MACR/E,IAAK,MACLlT,UAAW,mBACXgT,KAAM,2BAGV8xC,WAAW,KAAApL,KAAI,CACb1O,QAAS,OACTvyB,MAAO,OACPm6D,SAAU,EACVsS,SAAU,WAEZ90C,OAAO,KAAAsJ,KAAI,CAAE1O,QAAS,OAAQh8B,SAAU,WAAY6kF,UAAW,IAEnE,CACA,SAAS7B,GAAe/rE,GACtB,GAAY,OAARA,EACF,OAEF,MAAM6tE,EAAoBn+E,SAASzB,KAAKnC,MAAMmzE,SACxC6O,EAAa9tE,EAAIlU,MAAM0G,MACvBu7E,EAAc/tE,EAAIlU,MAAMkG,OACxBg8E,EAAYhuE,EAAIlU,MAAM6gE,SAC5Bj9D,SAASzB,KAAKnC,MAAMmzE,SAAW,SAC/Bj/D,EAAIlU,MAAM6gE,SAAW,IACrB,MAAQn6D,MAAO6xD,EAAUryD,OAAQ46D,GAAc5sD,EAAI7M,wBACnD6M,EAAIlU,MAAM6gE,SAAW,MACrB,MAAQn6D,MAAOqM,EAAU7M,OAAQ42E,GAAc5oE,EAAI7M,wBAKnD,OAJAzD,SAASzB,KAAKnC,MAAMmzE,SAAW4O,EAC/B7tE,EAAIlU,MAAM0G,MAAQs7E,EAClB9tE,EAAIlU,MAAMkG,OAAS+7E,EACnB/tE,EAAIlU,MAAM6gE,SAAWqhB,EACd,CAAE3pB,WAAUxlD,WAAU+tD,YAAWgc,YAC1C,EC7WA,cAA0B,EACxB,eAAAV,GACEjrF,KAAKsM,SAAS,CACZ4+E,UAAoC,QAAzBlrF,KAAKyM,MAAMy+E,UAAsB,SAAW,OAE3D,CACA,WAAA/pE,GACE,OAAO,CACT,IAEUzV,UCVZ,UAA6B,MAAEkrB,IAC7B,MAAM,QAAE6iC,EAAO,UAAE9iB,EAAS,UAAEu0C,EAAS,SAAElwB,EAAQ,YAAEoyB,EAAW,kBAAEC,EAAiB,oBAAEC,GAAwB12D,EAAMkF,WAC/G,GAAIk/B,EACF,OAAO,KAET,MAAMg2B,EAAOv3B,EAAQ/tD,UACfulF,EAAMt6C,EAAUjrC,UACtB,OAAuB,kBAAoByhF,GAAU,CACnDjC,YACAkC,YAA4B,MAAfA,EAAsBA,EAAc,GACjDC,oBACAC,uBACiB,kBAAoB0D,EAAM,CAC3Cv0F,IAAKg9D,EAAQhtD,MAAMhQ,IACnBm6B,MAAO6iC,EACP0xB,YAAav0D,EAAMnqB,QACD,kBAAoBwkF,EAAK,CAC3Cx0F,IAAKk6C,EAAUlqC,MAAMhQ,IACrBm6B,MAAO+f,EACPw0C,YAAav0D,EAAMnqB,QAEvB,ECnBA,MAAMykF,WAAiB,EACrB,iBAAA52C,GACE,MAAO,CACLd,IAAKx5C,KAAKyM,MAAMjK,MAAQ,MAE5B,EAEF0uF,GAASxlF,UAAY,EAAGkrB,YACtB,MAAM,MAAEo2B,GAAUp2B,EAAMkF,WACxB,OAAuB,kBAAoB,EAAAq1D,OAAQ,KAAMnkC,EAAM5wD,KAAKs5D,GAAyB,kBAAoB,EAAA07B,MAAO,CACtH30F,IAAKi5D,EAAKjpD,MAAMygD,IAChBvkD,OAAO,EACPotB,KAAM2/B,EAAKjpD,MAAMygD,IACjB9+C,OAASlH,GAAUuvB,EAAmCi/B,EAAMxuD,OAC1D,EChBN,IAAI,GAAYpM,OAAOgO,eACnB,GAAsBhO,OAAO2D,sBAC7B,GAAe3D,OAAOkC,UAAUM,eAChC,GAAexC,OAAOkC,UAAUoB,qBAChC,GAAkB,CAAC+K,EAAK1M,EAAKD,IAAUC,KAAO0M,EAAM,GAAUA,EAAK1M,EAAK,CAAEsM,YAAY,EAAMwC,cAAc,EAAMC,UAAU,EAAMhP,UAAW2M,EAAI1M,GAAOD,EAY1J,MAAM60F,WAAyB,GCb/B,SAASC,IAAa,KAAEhpF,IACtB,MAAMmE,EAAQnE,EAAKwzB,WACbgb,GAAS,KAAAC,YAAW,IAC1B,OAAuB,kBAAoB,MAAO,CAChDznC,UAAWwnC,EAAO8K,WACjB9mD,OAAO2C,KAAKgP,GAAOrQ,KAAKK,GAAwB,kBAAoB,MAAO,CAC5E6S,UAAWwnC,EAAO2G,IAClBhhD,OACiB,kBAAoB,MAAO,CAC5C6S,UAAWwnC,EAAOy6C,SACjB90F,GAAsB,kBAAoB,MAAO,CAClD6S,UAAWwnC,EAAOt6C,OAGtB,SAAqBC,EAAKD,EAAO8L,GAC/B,GAAc,OAAV9L,EACF,MAAO,OAET,cAAeA,GACb,IAAK,SACH,OAAuB,kBAAoB,GAAA4rF,MAAO,CAChDvjF,KAAM,SACNwiE,aAAc7qE,EACdqiE,OAAS7oD,GAAQ1N,EAAKgE,SAAS,CAAE,CAAC7P,GAAMuZ,EAAIixD,cAAcuqB,kBAE9D,IAAK,SACH,OAAuB,kBAAoB,GAAApJ,MAAO,CAChDvjF,KAAM,OACNwiE,aAAc7qE,EACdqiE,OAAS7oD,GAAQ1N,EAAKgE,SAAS,CAAE,CAAC7P,GAAMuZ,EAAIixD,cAAczqE,UAE9D,IAAK,SACH,OAAI+7C,GAAc/7C,GACTA,EAAMmH,YAAYnB,MAEvB,KAAAivF,eAAcj1F,KAAU,KAAA5D,SAAQ4D,GACX,kBAAoB,GAAAk1F,cAAe,CACxDC,KAAMn1F,EACNo1F,KAAM,IAGHlrF,OAAOlK,GAChB,QACE,cAAcA,EAEpB,CAjCKq1F,CAAYp1F,EAAKgQ,EAAMhQ,GAAM6L,OAClC,CAiCA,SAAS,GAAUguC,GACjB,MAAO,CACLsL,WAAW,KAAApL,KAAI,CACbk5B,SAAU,EACV5nC,QAAS,OACTuyB,IAAK/jB,EAAMqiB,QAAQ,IACnBgD,cAAe,WAEjBle,KAAK,KAAAjH,KAAI,CACP1O,QAAS,OACTuyB,IAAK/jB,EAAMqiB,QAAQ,KAErB44B,SAAS,KAAA/6C,KAAI,CACX1O,QAAS,OACT4nC,SAAU,IACVn6D,MAAO,IACPmkD,WAAY,SACZ3kD,OAAQuhC,EAAMqiB,QAAQriB,EAAM2hB,WAAWljD,OAAOuX,MAEhD9vB,OAAO,KAAAg6C,KAAI,CACTk5B,SAAU,EACVC,UAAWr5B,EAAMqiB,QAAQriB,EAAM2hB,WAAWljD,OAAOuX,IACjDwb,QAAS,OACT4xB,WAAY,WAGlB,CC1EA,SAASo4B,IAAc,KAAExpF,EAAI,eAAEypF,EAAc,SAAEC,IAC7C,MAAMl7C,GAAS,KAAAC,YAAW,IACpBzoC,EAAW,GACX2jF,EAAa3pF,IAASypF,EAW5B,OAVAzpF,EAAK0xB,cAAc9Y,IACjB5S,EAASjK,KACS,kBAAoBytF,GAAe,CACjDxpF,KAAM4Y,EACNzkB,IAAKykB,EAAMzU,MAAMhQ,IACjBs1F,iBACAC,aAEH,IAEoB,kBAAoB,MAAO,CAChD1iF,UAAWwnC,EAAO8K,WACD,kBAAoB,MAAO,CAC5CtyC,WAAW,KAAA0rE,IAAGlkC,EAAOt0C,KAAMyvF,GAAcn7C,EAAOo7C,UAChD76C,QAAS,IAAM26C,EAAS1pF,IACvBA,EAAK3E,YAAYnB,MAAuB,kBAAoB,MAAO,CACpE8M,UAAWwnC,EAAOxoC,UACjBA,GACL,CACA,SAAS,GAAUgoC,GACjB,MAAO,CACLsL,WAAW,KAAApL,KAAI,CACbk5B,SAAU,EACV5nC,QAAS,OACTuyB,IAAK/jB,EAAMqiB,QAAQ,IACnBgD,cAAe,WAEjBn5D,MAAM,KAAAg0C,KAAI,CACRk5B,SAAU,EACV5nC,QAAS,OACTuyB,IAAK/jB,EAAMqiB,QAAQ,GACnBoB,SAAUzjB,EAAMujB,WAAWG,UAAUD,SACrC0tB,OAAQ,UACR9tB,QAASrjB,EAAMqiB,QAAQ,EAAG,GAC1BuB,aAAc5jB,EAAM5tC,MAAMwxD,aAAa,GACvCpuD,SAAU,WACV,UAAW,CACTytD,WAAYjjB,EAAMI,OAAO6iB,WAAW5iB,aAGxCu7C,UAAU,KAAA17C,KAAI,CACZ,YAAa,CACX1O,QAAS,QACTkc,QAAS,MACTl4C,SAAU,WACVgE,KAAM,EACNyF,MAAO,EACPtF,OAAQ,EACRD,IAAK,EACLkqD,aAAc5jB,EAAM5tC,MAAMypF,OAAOlpF,QACjCmpF,gBAAiB97C,EAAMI,OAAO27C,UAAUC,iBAG5ChkF,UAAU,KAAAkoC,KAAI,CACZk5B,SAAU,EACV5nC,QAAS,OACT6zB,cAAe,SACflmD,YAAa6gC,EAAMqiB,QAAQ,KAGjC,CC9DA,SAAS45B,IAAc,MAAExtD,IACvB,MAAM+R,GAAS,KAAAC,YAAW,KACnBc,EAAQ26C,IAAa,IAAA12D,WAAS,IAC9Bi2D,EAAgBU,IAAqB,IAAA32D,YAC5C,OAAuB,kBAAoB,aAAgB,KAAsB,kBAAoB,GAAAyb,cAAe,CAClHC,QAAS,SACTqK,KAAM,MACNxK,QAAS,IAAMm7C,GAAU,KACvB36C,GAA0B,kBAAoB,GAAA4L,OAAQ,CACxDnE,MAAO,iBACPozC,QAAS,IAAMF,GAAU,GACzBl2F,KAAM,MACW,kBAAoB,MAAO,CAC5CgT,UAAWwnC,EAAO67C,OACD,kBAAoB,MAAO,CAC5CrjF,UAAWwnC,EAAO87C,OACD,kBAAoB,MAAO,CAC5CtjF,UAAWwnC,EAAO+7C,aACjB,eAAgC,kBAAoB,GAAAC,gBAAiB,CACtEC,cAAe,QACE,kBAAoB,MAAO,CAC5CzjF,UAAWwnC,EAAOk8C,aACD,kBAAoBlB,GAAe,CACpDxpF,KAAMy8B,EACNgtD,iBACAC,SAAUS,OACW,kBAAoB,MAAO,CAChDnjF,UAAWwnC,EAAOm8C,OACD,kBAAoB,MAAO,CAC5C3jF,UAAWwnC,EAAO+7C,aACjB,kBAAmBd,GAAkC,kBAAoBT,GAAc,CACxFhpF,KAAMypF,OAEV,CACA,SAAS,GAAUz7C,GACjB,MAAO,CACLq8C,OAAO,KAAAn8C,KAAI,CACTk5B,SAAU,EACV5nC,QAAS,OACT/yB,OAAQ,OACR4mD,cAAe,MACfpiD,UAAW+8B,EAAMqiB,SAAS,KAE5Bi6B,OAAO,KAAAp8C,KAAI,CACTk5B,SAAU,EACV5nC,QAAS,OACT/yB,OAAQ,OACR4mD,cAAe,SACfu3B,YAAa,aAAa58C,EAAMI,OAAOD,OAAOkxC,SAEhDsL,OAAO,KAAAz8C,KAAI,CACTk5B,SAAU,EACV5nC,QAAS,OACT6nC,UAAW,OACXhU,cAAe,SACflmD,YAAa6gC,EAAMqiB,QAAQ,KAE7Bq6B,aAAa,KAAAx8C,KAAI,CACf9gC,aAAc4gC,EAAMqiB,QAAQ,GAC5B5jD,OAAQ,OACRsE,WAAYi9B,EAAMqiB,SAAS,KAE7Bk6B,aAAa,KAAAr8C,KAAI,CACfmjB,QAASrjB,EAAMqiB,QAAQ,EAAG,GAC1BiB,WAAYtjB,EAAMujB,WAAWC,mBAGnC,CCnEA,SAASq5B,IAAiB,KAAEz9B,EAAI,WAAE/+B,IAChC,MAAMy8D,EA2DR,SAA4B19B,GAC1B,OAAIA,EAAKh8B,kBAAkB25D,GAClB39B,EAAKh8B,OAEPg8B,CACT,CAhEwB49B,CAAmB59B,GACnC69B,EAAiBH,EAAct3D,WAC/BsK,ElJYR,WACE,MAAM/+B,GAAW,IAAAmsF,eACjB,OAAO,IAAAC,wBAAuBpsF,EAASuhC,QAAU,GACnD,CkJfiB8qD,GACT3uD,EAAQ2wB,EAAKi+B,SAASh9D,EAAWhf,OACjCi8E,EAAgBL,EAAeM,mBAAqB9uD,EAS1D,IARA,IAAA+qC,kBAAgB,KACT8jB,GACHR,EAAcU,gBAAgB/uD,EAChC,GACC,CAACA,EAAOquD,EAAeQ,KAC1B,IAAA17D,YAAU,IACD,IAAMk7D,EAAc9mF,SAAS,CAAEunF,sBAAkB,KACvD,CAACT,KACCQ,EACH,OAAO,KAET,MAAMG,EAAU,CACdxyD,KAAMgyD,EAAej0C,MACrB00C,IAAKT,EAAeU,SACpBpyC,KAAM0xC,EAAeW,UACrBhnC,IAAKp3B,EAAmBy9D,EAAermC,IAAKqmC,EAAeY,iBAC3DC,oBAAqBb,EAAea,oBACpCC,WAAYC,GACVf,EAAegB,cAAgBhB,EAAegB,gBAAkBnB,EAAc15D,SAE9E65D,EAAel8B,OACjB08B,EAAQzlF,SAAWilF,EAAel8B,KAAKj7D,KAAKo4F,IACnC,CACLjzD,KAAMizD,EAAI/nF,MAAM6yC,MAChBuC,KAAM2yC,EAAI/nF,MAAMynF,UAChBO,UAAWD,EAAI/nF,MAAMgoF,UACrBvvC,OAAQwQ,IAAS8+B,EACjBtnC,IAAKp3B,EAAmB0+D,EAAI/nF,MAAMygD,IAAKsnC,EAAI/nF,MAAM0nF,iBACjDE,WAAYN,OAIlB,IAAIW,EAAc,GAalB,OAZInB,EAAe/jB,WACjBklB,EAAcnB,EAAe/jB,SAASpzE,KAAKqzE,GAA4B,kBAAoBA,EAAQ/jE,UAAW,CAC5GkrB,MAAO64C,EACPhzE,IAAKgzE,EAAQhjE,MAAMhQ,SAGnB2pC,EAAO,mBACTsuD,EAAYrwF,KAAqB,kBAAoBkuF,GAAe,CAClExtD,MAAOquD,EACP32F,IAAK,oBAGc,kBAAoB,EAAA85D,WAAY,CACrDw9B,UACApY,QAAS+Y,EACTC,YAAapB,EAAeoB,YAC5BC,SAAUrB,EAAeqB,UACR,kBAAoB7vD,EAAMr5B,UAAW,CACtDkrB,MAAOmO,IAEX,CAOA,SAASuvD,GAAqB56D,EAAQ0M,GACpC,GAAI1M,aAAkB25D,GACpB,MAAO,CACL9xD,KAAM7H,EAAOjtB,MAAM6yC,MACnB4N,IAAKp3B,EAAmB4D,EAAOjtB,MAAMygD,IAAKxzB,EAAOjtB,MAAM0nF,iBACvDC,oBAAqB16D,EAAOjtB,MAAM2nF,oBAClCC,WAAYC,GACV56D,EAAOjtB,MAAM8nF,cAAgB76D,EAAOjtB,MAAM8nF,gBAAkB76D,EAAOA,QAI3E,CACA,SAASm7D,IAA4B,UAAEC,EAAS,OAAEp7D,EAAM,WAAE/C,IACxD,OAAOF,EAAmCiD,EAAOq7D,iBAAiBD,EAAWn+D,EAAWhf,OAAQgf,EAClG,CJjEA06D,GAAiB3lF,UAAY,EAAGkrB,YAC9B,MAAQo+D,UAAWtpF,EAAS,MAAExE,EAAK,UAAE+tF,GAAcr+D,EAAMkF,WACzD,OAAIpwB,EACqB,kBAAoBA,EAhB1B,EAACyO,EAAGmT,KACvB,IAAK,IAAIxV,KAAQwV,IAAMA,EAAI,CAAC,GACtB,GAAaxvB,KAAKwvB,EAAGxV,IACvB,GAAgBqC,EAAGrC,EAAMwV,EAAExV,IAC/B,GAAI,GACF,IAAK,IAAIA,KAAQ,GAAoBwV,GAC/B,GAAaxvB,KAAKwvB,EAAGxV,IACvB,GAAgBqC,EAAGrC,EAAMwV,EAAExV,IAEjC,OAAOqC,CAAC,EAOgD,CAAe,CAAC,EAAGjT,IAEvE+tF,GAGG,IAAI,EKlBb,MAAM5B,WAAqB,EACzB,WAAA1vF,CAAY8I,GACVP,MAAMO,GACNzM,KAAKk1F,YAA8B,IAAIl2F,IACvCgB,KAAKm1F,gBAAkC,IAAIn2F,IAC3CgB,KAAK28B,sBAAqB,IACjB,IAAMqyC,KAAoBT,QAAQvuE,OAE7C,CACA,eAAA8zF,CAAgB/uD,GACd/kC,KAAKsM,SAAS,CAAEunF,iBAAkB9uD,IAClCiqC,KAAoBb,SAASnuE,KAC/B,CACA,QAAA2zF,CAASyB,GACP,IAAIrwD,EAAQ/kC,KAAKk1F,YAAYryF,IAAIuyF,EAAWloC,KAC5C,GAAInoB,EACF,OAAOA,EAET,IAAK/kC,KAAKyM,MAAMknF,SACd,MAAM,IAAIlsF,MAAM,oCAAsCzH,KAAKyM,MAAM6yC,OAInE,OAFAva,EAAQ/kC,KAAKyM,MAAMknF,SAASyB,GAC5Bp1F,KAAKk1F,YAAYv4F,IAAIy4F,EAAWloC,IAAKnoB,GAC9BA,CACT,CACA,gBAAAgwD,CAAiBD,EAAWM,GAC1B,IAAI1/B,EAAO11D,KAAKm1F,gBAAgBtyF,IAAIuyF,EAAWloC,KAC/C,OAAIwI,IAGJA,EAAOo/B,EAAUO,QAAQD,EAAYp1F,MACrCA,KAAKm1F,gBAAgBx4F,IAAIy4F,EAAWloC,IAAKwI,GAClCA,EACT,CACA,iBAAApb,CAAkB1vC,GAChB,GAAI5K,KAAKyM,MAAM8nF,cACb,OAAOv0F,KAAKyM,MAAM8nF,gBAAgBj6C,kBAAkB1vC,GAEtD,IAAK5K,KAAK05B,OACR,OAAO,KAET,MAAMz+B,EAAO+E,KAAKq7B,UAClB,OAAImd,GAAsBv9C,GACjBA,EAAKq/C,kBAAkB1vC,GAEzB,IACT,EAEFyoF,GAAa3nF,UACb,UAA8B,MAAEkrB,EAAK,WAAED,IACrC,IAAIc,EAAIE,EACR,MAAM,KAAE0/B,EAAI,WAAEi+B,GAAe1+D,EAAMkF,WAC7By5D,EAAS,GACf,GAAIl+B,GAAQA,EAAKx+D,OAAS,EACxB,IAAK,IAAIu3F,EAAW,EAAGA,EAAW/4B,EAAKx+D,OAAQu3F,IAAY,CACzD,MAAMoE,EAAMn9B,EAAK+4B,GAmBjB,GAlBiB,IAAbA,GACFmF,EAAOlxF,KACW,kBAAoB,EAAA+sF,MAAO,CACzCzoF,OAAO,EACPlM,IAAKm6B,EAAMnqB,MAAMygD,IACjBn3B,KAAsC,OAA/B0B,EAAKb,EAAMnqB,MAAM+oF,WAAqB/9D,EAAKb,EAAMnqB,MAAMygD,IAC9D9+C,OAASlH,GAAUuvB,EAAmC+9D,EAAKttF,MAIjEquF,EAAOlxF,KACW,kBAAoB,EAAA+sF,MAAO,CACzCzoF,OAAO,EACPlM,IAAK+3F,EAAI/nF,MAAMygD,IACfn3B,KAAoC,OAA7B4B,EAAK68D,EAAI/nF,MAAM+oF,WAAqB79D,EAAK68D,EAAI/nF,MAAMygD,IAC1D9+C,OAASlH,GAAUuvB,EAAmC+9D,EAAKttF,MAG3DstF,EAAI/nF,MAAM6oF,WACZ,IAAK,MAAMR,KAAaN,EAAI/nF,MAAM6oF,WAChCC,EAAOlxF,KACW,kBAAoB,EAAA+sF,MAAO,CACzCzoF,OAAO,EACPlM,IAAKq4F,EAAUU,UACfz/D,KAAM++D,EAAUU,UAChBpnF,OAASlH,GAA0B,kBAAoB2tF,GAA6B,CAClFC,YACAp7D,OAAQ86D,EACR79D,WAAYzvB,MAMxB,CAEF,GAAIouF,EACF,IAAK,MAAMR,KAAaQ,EACtBC,EAAOlxF,KACW,kBAAoB,EAAA+sF,MAAO,CACzC30F,IAAKq4F,EAAUU,UACf7sF,OAAO,EACPotB,KAAM++D,EAAUU,UAChBpnF,OAASlH,GAA0B,kBAAoB2tF,GAA6B,CAClFC,YACAp7D,OAAQ9C,EACRD,WAAYzvB,OAMtB,OAAKmwD,IAsB0B3B,EAtBM9+B,GAsBAjf,EAtBOgf,EAAWhf,OAuB5C89E,UAGP99E,EAAMu1C,MAAQwI,EAAKjpD,MAAMygD,KAGzBwI,EAAKh8B,kBAAkB25D,IAAgB39B,EAAKh8B,OAAOjtB,MAAM4qD,KAAK,KAAO3B,GAAQA,EAAKh8B,OAAOjtB,MAAMygD,MAAQv1C,EAAMu1C,MA5BxF,kBAAoBimC,GAAkB,CAC3Dz9B,KAAM9+B,EACND,gBAGJ4+D,EAAOlxF,KAGT,SAA0BqxD,EAAM/+B,GAC9B,OAAuB,kBAAoB,EAAAy6D,MAAO,CAChD30F,IAAK,iBACL2R,OAASlH,IACP,IAAIuwB,EAAIE,EAAIusC,EACZ,MAAMwxB,EAAiG,OAAjFxxB,EAAiD,OAA3CvsC,GAAMF,EAAKi+B,EAAKjpD,OAAOkpF,sBAA2B,EAASh+D,EAAG75B,KAAK25B,IAAeysC,EAqB3G,IAAImvB,GAAa,CACtBnmC,IAAK,GACL5N,MAAO,YACPs1C,SAAU,iCACVjB,SAAU,IACD,IAAI1kB,GAAc,CACvBj+D,KAAM,IAAIg6E,GAAgB,CACxBE,UAAW,SACX58E,SAAU,CACR,IAAIu9E,GAAc,CAChB76E,KAAM,IAAIqgF,GAAiB,CACzB2D,UAAW,IACc,kBAAoB,MAAO,CAChD,cAAe,4BACd,qGAlCf,OAAuB,kBAAoB7B,GAAkB,CAC3Dz9B,KAAMggC,EACN/+D,cACA,GAGR,CAfci/D,CAAiBh/D,EAAOD,IACb,kBAAoB,EAAAw6D,OAAQ,KAAMoE,IAe3D,IAAiC7/B,EAAM/9C,CAdvC,EC/HA,IAAI,GAAiC,CAAEk+E,IACrCA,EAAwB,OAAI,SAC5BA,EAAsB,KAAI,OAC1BA,EAAuB,MAAI,QACpBA,GAJ4B,CAKlC,IAAkB,CAAC,GAClB,GAAoC,CAAEC,IACxCA,EAAwB,IAAI,MAC5BA,EAAyB,KAAI,OAC7BA,EAA4B,QAAI,UAChCA,EAA2B,OAAI,SACxBA,GAL+B,CAMrC,IAAqB,CAAC,GACrB,GAA+B,CAAEC,IACnCA,EAAoB,KAAI,OACxBA,EAAsB,OAAI,SAC1BA,EAAuB,QAAI,UACpBA,GAJ0B,CAKhC,IAAgB,CAAC,GAChB,GAAiC,CAAEC,IACrCA,EAAsB,KAAI,OAC1BA,EAA4B,WAAI,aAChCA,EAA0B,SAAI,WACvBA,GAJ4B,CAKlC,IAAkB,CAAC,GAClB,GAAoC,CAAEC,IACxCA,EAA+B,WAAI,aACnCA,EAAoC,gBAAI,mBACxCA,EAAyB,KAAI,OAC7BA,EAA0B,MAAI,QACvBA,GAL+B,CAMrC,IAAqB,CAAC,GACrB,GAAoC,CAAEC,IACxCA,EAAyB,KAAI,OAC7BA,EAAyB,KAAI,OAC7BA,EAAyB,KAAI,OACtBA,GAJ+B,CAKrC,IAAqB,CAAC,GACrB,GAAsC,CAAEC,IAC1CA,EAA2B,KAAI,OAC/BA,EAA6B,OAAI,SAC1BA,GAHiC,CAIvC,IAAuB,CAAC,GACvB,GAAmC,CAAEC,IACvCA,EAAwB,KAAI,OAC5BA,EAAwB,KAAI,OAC5BA,EAAwB,KAAI,OAC5BA,EAAyB,MAAI,QAC7BA,EAAgC,aAAI,iBAC7BA,GAN8B,CAOpC,IAAoB,CAAC,GACpB,GAAsC,CAAEC,IAC1CA,EAA4B,MAAI,QAChCA,EAA+B,SAAI,WACnCA,EAA0B,IAAI,MACvBA,GAJiC,CAKvC,IAAuB,CAAC,GACvB,GAAoC,CAAEC,IACxCA,EAA0B,MAAI,QAC9BA,EAA2B,OAAI,SAC/BA,EAAyB,KAAI,OACtBA,GAJ+B,CAKrC,IAAqB,CAAC,GACrB,GAAkC,CAAEC,IACtCA,EAAqB,GAAI,KACzBA,EAAqB,GAAI,KACzBA,EAAqB,GAAI,KAClBA,GAJ6B,CAKnC,IAAmB,CAAC,GC5DR,GAAeC,KACjB,GAAeA,KAChB,GAAaC,KAMT,GAAkBA,KCZnB,GAAoBC,SAItB,GAAkBC,MC+BlB,GAAeH,KC/BZ,GAAkBC,KCJrB,GAAkBG,MAClB,GAAkBC,KAChB,GAAoBL,KACvB,GAAiBA,KCAhB,GAAeA,KCDf,GAAeA,KCFd,GAAgBM,GCcrB,GAAeN,KClBxB,MAAMO,GACJ,WAAApzF,GACE3D,KAAKg3F,WAAa,EACpB,CACA,aAAAC,CAAcz6F,GAEZ,OADAwD,KAAKg3F,WAAWh3F,KAAKg3F,WAAWn+F,OAAS,GAAG+4E,WAAWvtE,KAAK,CAAE2P,GAAI,QAASxX,UACpEwD,IACT,CACA,gBAAAk3F,CAAiB16F,GAEf,OADAwD,KAAKg3F,WAAWh3F,KAAKg3F,WAAWn+F,OAAS,GAAG+4E,WAAWvtE,KAAK,CAAE2P,GAAI,WAAYxX,UACvEwD,IACT,CACA,mBAAAm3F,CAAoB36F,GAElB,OADAwD,KAAKg3F,WAAWh3F,KAAKg3F,WAAWn+F,OAAS,GAAG+4E,WAAWvtE,KAAK,CAAE2P,GAAI,cAAexX,UAC1EwD,IACT,CACA,kBAAAo3F,CAAmB56F,GAEjB,OADAwD,KAAKg3F,WAAWh3F,KAAKg3F,WAAWn+F,OAAS,GAAG+4E,WAAWvtE,KAAK,CAAE2P,GAAI,aAAcxX,UACzEwD,IACT,CACA,aAAAq3F,CAAc76F,GAEZ,OADAwD,KAAKg3F,WAAWh3F,KAAKg3F,WAAWn+F,OAAS,GAAG+4E,WAAWvtE,KAAK,CAAE2P,GAAI,QAASxX,UACpEwD,IACT,CACA,gBAAAs3F,CAAiB96F,GAEf,OADAwD,KAAKg3F,WAAWh3F,KAAKg3F,WAAWn+F,OAAS,GAAG+4E,WAAWvtE,KAAK,CAAE2P,GAAI,WAAYxX,UACvEwD,IACT,CACA,WAAAu3F,CAAY/6F,GAEV,OADAwD,KAAKg3F,WAAWh3F,KAAKg3F,WAAWn+F,OAAS,GAAG+4E,WAAWvtE,KAAK,CAAE2P,GAAI,MAAOxX,UAClEwD,IACT,CACA,WAAAw3F,CAAYh7F,GAEV,OADAwD,KAAKg3F,WAAWh3F,KAAKg3F,WAAWn+F,OAAS,GAAG+4E,WAAWvtE,KAAK,CAAE2P,GAAI,MAAOxX,UAClEwD,IACT,CACA,eAAAy3F,CAAgBj7F,GAEd,OADAwD,KAAKg3F,WAAWh3F,KAAKg3F,WAAWn+F,OAAS,GAAG+4E,WAAWvtE,KAAK,CAAE2P,GAAI,UAAWxX,UACtEwD,IACT,CACA,kBAAA03F,CAAmBl7F,GAEjB,OADAwD,KAAKg3F,WAAWh3F,KAAKg3F,WAAWn+F,OAAS,GAAG+4E,WAAWvtE,KAAK,CAAE2P,GAAI,aAAcxX,UACzEwD,IACT,CACA,YAAA23F,CAAan7F,GAEX,OADAwD,KAAKg3F,WAAWh3F,KAAKg3F,WAAWn+F,OAAS,GAAG+4E,WAAWvtE,KAAK,CAAE2P,GAAI,OAAQxX,UACnEwD,IACT,EC3CF,MAAM43F,WAAoCb,GACxC,KAAAp/E,CAAM85D,GAEJ,OADAzxE,KAAKg3F,WAAW3yF,KAAK,CAAEotE,UAASG,WAAY,KACrC5xE,IACT,CACA,mBAAA63F,CAAoBr1F,GAQlB,OAPAxC,KAAKg3F,WAAW3yF,KAAK,CACnBotE,QAAS,CACPz9D,GAAI,EAAA09D,eAAeW,OACnB5+D,QAASjR,GAEXovE,WAAY,KAEP5xE,IACT,CACA,0BAAA83F,CAA2Br3B,GAQzB,OAPAzgE,KAAKg3F,WAAW3yF,KAAK,CACnBotE,QAAS,CACPz9D,GAAI,EAAA09D,eAAeqmB,SACnBtkF,QAASgtD,GAEXmR,WAAY,KAEP5xE,IACT,CACA,iBAAAg4F,CAAkBC,GAQhB,OAPAj4F,KAAKg3F,WAAW3yF,KAAK,CACnBotE,QAAS,CACPz9D,GAAI,EAAA09D,eAAewmB,OACnBzkF,QAASwkF,GAEXrmB,WAAY,KAEP5xE,IACT,CACA,kBAAAm4F,CAAmBpwD,GAQjB,OAPA/nC,KAAKg3F,WAAW3yF,KAAK,CACnBotE,QAAS,CACPz9D,GAAI,EAAA09D,eAAe0mB,aACnB3kF,QAASs0B,GAEX6pC,WAAY,KAEP5xE,IACT,CACA,kBAAAq4F,CAAmB5kF,GAQjB,OAPAzT,KAAKg3F,WAAW3yF,KAAK,CACnBotE,QAAS,CACPz9D,GAAI,EAAA09D,eAAe4mB,QACnB7kF,WAEFm+D,WAAY,KAEP5xE,IACT,CACA,oBAAAu4F,CAAqBxwD,GACnB,OAAO/nC,KAAKm4F,mBAAmBrgD,GAAsB/P,GACvD,CACA,yBAAAywD,CAA0BxkF,EAAIxX,GAC5B,MAAMi8F,EAAM,UAAU/xF,OAAOsN,KAG7B,OAFahU,KAAKg3F,WAAWh3F,KAAKg3F,WAAWn+F,OAAS,GACjD+4E,WAAWvtE,KAAK,CAAE2P,GAAIykF,EAAKj8F,UACzBwD,IACT,CACA,KAAA04F,GACE,OAAO14F,KAAKg3F,UACd,ECnEF,IAAI,GAAYl8F,OAAOgO,eACnB,GAAahO,OAAOwgB,iBACpB,GAAoBxgB,OAAOugB,0BAC3B,GAAsBvgB,OAAO2D,sBAC7B,GAAe3D,OAAOkC,UAAUM,eAChC,GAAexC,OAAOkC,UAAUoB,qBAChC,GAAkB,CAAC+K,EAAK1M,EAAKD,IAAUC,KAAO0M,EAAM,GAAUA,EAAK1M,EAAK,CAAEsM,YAAY,EAAMwC,cAAc,EAAMC,UAAU,EAAMhP,UAAW2M,EAAI1M,GAAOD,EACtJ,GAAiB,CAAC2d,EAAGmT,KACvB,IAAK,IAAIxV,KAAQwV,IAAMA,EAAI,CAAC,GACtB,GAAaxvB,KAAKwvB,EAAGxV,IACvB,GAAgBqC,EAAGrC,EAAMwV,EAAExV,IAC/B,GAAI,GACF,IAAK,IAAIA,KAAQ,GAAoBwV,GAC/B,GAAaxvB,KAAKwvB,EAAGxV,IACvB,GAAgBqC,EAAGrC,EAAMwV,EAAExV,IAEjC,OAAOqC,CAAC,EAEN,GAAgB,CAACA,EAAGmT,IAAM,GAAWnT,EAAG,GAAkBmT,IAC9D,MAAMqrE,GACJ,WAAAh1F,CAAYi1F,GACV54F,KAAK44F,mBAAqBA,EAC1B54F,KAAK64F,aAAe,CAClBlmB,SAAU,CAAC,EACXR,UAAW,IAEbnyE,KAAK84F,kBAAoB,IAAIlB,GAC7B53F,KAAK+4F,aACP,CACA,WAAAA,GACE,MAAMrmB,EAAc,CAClBC,SAAU,CACRqmB,OAAQh5F,KAAK44F,oBAAqB,KAAA9+C,WAAU95C,KAAK44F,sBAAwB,CAAC,GAE5EzmB,UAAW,IAEbnyE,KAAK64F,aAAenmB,CACtB,CACA,QAAAumB,CAASriD,GACP,OAAO52C,KAAKk5F,uBAAuB,QAAStiD,EAC9C,CACA,WAAAuiD,CAAYC,GACV,OAAOp5F,KAAKk5F,uBAAuB,WAAYE,EACjD,CACA,cAAAC,CAAerkB,GACb,OAAOh1E,KAAKk5F,uBAAuB,cAAelkB,EACpD,CACA,aAAAskB,CAAcC,GACZ,OAAOv5F,KAAKk5F,uBAAuB,aAAcK,EACnD,CACA,QAAAC,CAAS5iB,GACP,OAAO52E,KAAKk5F,uBAAuB,QAAStiB,EAC9C,CACA,WAAA6iB,CAAYC,GACV,OAAO15F,KAAKk5F,uBAAuB,WAAYQ,EACjD,CACA,MAAAC,CAAO//E,GACL,OAAO5Z,KAAKk5F,uBAAuB,MAAOt/E,EAC5C,CACA,MAAAggF,CAAOjgF,GACL,OAAO3Z,KAAKk5F,uBAAuB,MAAOv/E,EAC5C,CACA,UAAAkgF,CAAWC,GACT,OAAO95F,KAAKk5F,uBAAuB,UAAWY,EAChD,CACA,aAAAC,CAAcC,GACZ,OAAOh6F,KAAKk5F,uBAAuB,aAAcc,EACnD,CACA,OAAAC,CAAQC,GACN,OAAOl6F,KAAKk5F,uBAAuB,OAAQgB,EAC7C,CACA,oBAAAC,CAAqBnmF,EAAIxX,GAIvB,OAHAwD,KAAK64F,aAAalmB,SAAW,GAAc,GAAe,CAAC,EAAG3yE,KAAK64F,aAAalmB,UAAW,CACzFqmB,QAAQ,KAAA98C,OAAMl8C,KAAK64F,aAAalmB,SAASqmB,OAAQ,CAAE,CAAChlF,GAAKxX,MAEpDwD,IACT,CACA,YAAAo6F,CAAaC,GAEX,OADAA,EAAQr6F,KAAK84F,mBACN94F,IACT,CACA,sBAAAk5F,CAAuBz8F,EAAKD,GAI1B,OAHAwD,KAAK64F,aAAalmB,SAAW,GAAc,GAAe,CAAC,EAAG3yE,KAAK64F,aAAalmB,UAAW,CACzF,CAACl2E,GAAMD,IAEFwD,IACT,CACA,KAAA04F,GACE,MAAO,CACL/lB,SAAU3yE,KAAK64F,aAAalmB,SAC5BR,UAAWnyE,KAAK84F,kBAAkBJ,QAEtC,EC7FF,MAAM4B,GACJ,WAAA32F,CAAY42F,GACVv6F,KAAKu6F,eAAiBA,EACtBv6F,KAAK69B,SAAW,CAAC,EACjB79B,KAAK+4F,aACP,CACA,WAAAA,GACE/4F,KAAK69B,SAAW79B,KAAKu6F,gBAAiB,KAAAzgD,WAAU95C,KAAKu6F,kBAAoB,CAAC,CAC5E,CACA,SAAAC,CAAUxmF,EAAIxX,GAEZ,OADAwD,KAAK69B,UAAW,KAAAqe,OAAMl8C,KAAK69B,SAAU,CAAE,CAAC7pB,GAAKxX,IACtCwD,IACT,CACA,KAAA04F,GACE,OAAO14F,KAAK69B,QACd,ECbF,IAAI,GAAY/iC,OAAOgO,eACnB,GAAahO,OAAOwgB,iBACpB,GAAoBxgB,OAAOugB,0BAC3B,GAAsBvgB,OAAO2D,sBAC7B,GAAe3D,OAAOkC,UAAUM,eAChC,GAAexC,OAAOkC,UAAUoB,qBAChC,GAAkB,CAAC+K,EAAK1M,EAAKD,IAAUC,KAAO0M,EAAM,GAAUA,EAAK1M,EAAK,CAAEsM,YAAY,EAAMwC,cAAc,EAAMC,UAAU,EAAMhP,UAAW2M,EAAI1M,GAAOD,EAa1J,MAAMi+F,GACJ,WAAA92F,CAAYg9D,EAAU0W,EAAekjB,EAAgB3B,GACnD54F,KAAKs5B,OAAS,CAAC,EACft5B,KAAKs5B,OAAOgmB,MAAQ,GACpBt/C,KAAKs5B,OAAOqI,YAAc,GAC1B3hC,KAAKs5B,OAAO05C,YAAc,UAC1BhzE,KAAKs5B,OAAOmgD,aAAc,EAC1Bz5E,KAAKs5B,OAAOqnC,SAAWA,EACvB3gE,KAAKs5B,OAAO+9C,cAAgBA,EAC5Br3E,KAAK06F,oBAAsB,IAAI/B,GAAmBC,GAClD54F,KAAK26F,qBAAuB,IAAIL,GAAoBC,EACtD,CACA,QAAAK,CAASt7C,GAEP,OADAt/C,KAAKs5B,OAAOgmB,MAAQA,EACbt/C,IACT,CACA,cAAA66F,CAAel5D,GAEb,OADA3hC,KAAKs5B,OAAOqI,YAAcA,EACnB3hC,IACT,CACA,cAAA86F,CAAe9nB,GAEb,OADAhzE,KAAKs5B,OAAO05C,YAAcA,EACnBhzE,IACT,CACA,cAAA+6F,CAAethB,GAEb,OADAz5E,KAAKs5B,OAAOmgD,YAAcA,EACnBz5E,IACT,CACA,OAAAg7F,CAAQ94C,GAEN,OADAliD,KAAKs5B,OAAO4oB,KAAOA,EACZliD,IACT,CACA,gBAAAi7F,CAAiBvhB,GAEf,OADA15E,KAAKs5B,OAAOogD,cAAgBA,EACrB15E,IACT,CACA,QAAAi5F,CAASriD,GAEP,OADA52C,KAAK06F,oBAAoBzB,SAASriD,GAC3B52C,IACT,CACA,WAAAm5F,CAAYC,GAEV,OADAp5F,KAAK06F,oBAAoBvB,YAAYC,GAC9Bp5F,IACT,CACA,cAAAq5F,CAAerkB,GAEb,OADAh1E,KAAK06F,oBAAoBrB,eAAerkB,GACjCh1E,IACT,CACA,aAAAs5F,CAAcC,GAEZ,OADAv5F,KAAK06F,oBAAoBpB,cAAcC,GAChCv5F,IACT,CACA,QAAAw5F,CAAS5iB,GAEP,OADA52E,KAAK06F,oBAAoBlB,SAAS5iB,GAC3B52E,IACT,CACA,WAAAy5F,CAAYC,GAEV,OADA15F,KAAK06F,oBAAoBjB,YAAYC,GAC9B15F,IACT,CACA,MAAA25F,CAAO//E,GAEL,OADA5Z,KAAK06F,oBAAoBf,OAAO//E,GACzB5Z,IACT,CACA,MAAA45F,CAAOjgF,GAEL,OADA3Z,KAAK06F,oBAAoBd,OAAOjgF,GACzB3Z,IACT,CACA,UAAA65F,CAAWC,GAET,OADA95F,KAAK06F,oBAAoBb,WAAWC,GAC7B95F,IACT,CACA,aAAA+5F,CAAcC,GAEZ,OADAh6F,KAAK06F,oBAAoBX,cAAcC,GAChCh6F,IACT,CACA,OAAAi6F,CAAQC,GAEN,OADAl6F,KAAK06F,oBAAoBT,QAAQC,GAC1Bl6F,IACT,CACA,oBAAAm6F,CAAqBnmF,EAAIxX,GAEvB,OADAwD,KAAK06F,oBAAoBP,qBAAqBnmF,EAAIxX,GAC3CwD,IACT,CACA,YAAAo6F,CAAaC,GAEX,OADAr6F,KAAK06F,oBAAoBN,aAAaC,GAC/Br6F,IACT,CACA,SAAAw6F,CAAUxmF,EAAIxX,GAEZ,OADAwD,KAAK26F,qBAAqBH,UAAUxmF,EAAIxX,GACjCwD,IACT,CACA,OAAAk7F,CAAQx6F,GAEN,OADAV,KAAKs5B,OAAOqB,MAAQj6B,EACbV,IACT,CACA,YAAAm7F,CAAa19D,GAEX,OADAz9B,KAAKs5B,OAAOwB,WAAa2C,EAClBz9B,IACT,CACA,YAAAo7F,CAAa96D,GAEX,OADAtgC,KAAKs5B,OAAOuB,WAAayF,EAClBtgC,IACT,CACA,YAAAq7F,CAAaC,GAEX,OADAt7F,KAAKs5B,OAAOiC,WAAa+/D,EAClBt7F,IACT,CACA,KAAA04F,GACE,MAAMxrD,EAAQ,IAAIulC,GA9GF,EAACt4D,EAAGmT,IAAM,GAAWnT,EAAG,GAAkBmT,IA8G/B,CAzHV,EAACnT,EAAGmT,KACvB,IAAK,IAAIxV,KAAQwV,IAAMA,EAAI,CAAC,GACtB,GAAaxvB,KAAKwvB,EAAGxV,IACvB,GAAgBqC,EAAGrC,EAAMwV,EAAExV,IAC/B,GAAI,GACF,IAAK,IAAIA,KAAQ,GAAoBwV,GAC/B,GAAaxvB,KAAKwvB,EAAGxV,IACvB,GAAgBqC,EAAGrC,EAAMwV,EAAExV,IAEjC,OAAOqC,CAAC,EAgHmC,CAAe,CAAC,EAAGna,KAAKs5B,QAAS,CACxE7lB,QAASzT,KAAK26F,qBAAqBjC,QACnChmB,YAAa1yE,KAAK06F,oBAAoBhC,WAExC,OAAOxrD,CACT,ECtHF,MAAMquD,GA4EM,IACD,IAAId,GAAgB,aAAc,UC7FhCe,GAAoB,KAC/B,MAQMC,EAAK,IAAI9iD,GAAiB,CAC9B7K,WAAY7Y,EAAyBC,YACrCokB,QAAS,CAVmB,CAC5BvR,MAAO,IACPiG,MAAO,qHACP0tD,UAAU,EACVC,aAAc,cACdC,MAAO,gBAQT,OAAOL,KACJX,SAAS,aACTM,QAAQO,GACRtB,qBAAqB,cAAe,IACpCK,UAAU,SAAU,CAAEqB,YAAY,EAAMC,MAAO,CAAC,SAChD7B,QAAQ,QACRvB,OAAO,ECpBCqD,GAAsB,KACjC,MAUMN,EAAK,IAAI9iD,GAAiB,CAC9B7K,WAAY7Y,EAAyBC,YACrCokB,QAAS,CAXT,CACEvR,MAAO,IACPiG,MAAO,uHACP0tD,UAAU,EACVC,aAAc,cACdC,MAAO,kBASX,OAAOL,KACJX,SAAS,eACTM,QAAQO,GACRtB,qBAAqB,cAAe,IACpCK,UAAU,SAAU,CAAEqB,YAAY,EAAMC,MAAO,CAAC,SAChD3B,qBAAqB,aAAa,GAClCzB,OAAO,ECtBCsD,GAAc,KACzB,MAQMP,EAAK,IAAI9iD,GAAiB,CAC9B7K,WAAY7Y,EAAyBI,SACrCikB,QAAS,CAVU,CACnBvR,MAAO,IACPiG,MAAO,sRACP0tD,UAAU,EACVC,aAAc,cACdC,MAAO,WAQT,OAAOL,KACJX,SAAS,aACTM,QAAQO,GACRxB,QAAQ,KACRE,qBAAqB,aAAa,GAClCA,qBAAqB,cAAe,IACpCzB,OAAO,ECpBCuD,GAAsB,KACjC,MAQMR,EAAK,IAAI9iD,GAAiB,CAC9B7K,WAAY7Y,EAAyBI,SACrCikB,QAAS,CAVU,CACnBvR,MAAO,IACPiG,MAAO,mLACP0tD,UAAU,EACVC,aAAc,cACdC,MAAO,WAQT,OAAOL,KACJX,SAAS,gBACTM,QAAQO,GACRtB,qBAAqB,cAAe,IACpCA,qBAAqB,aAAa,GAClCzB,OAAO,ECnBCwD,GAAiB,KAC5B,MAQMT,EAAK,IAAI9iD,GAAiB,CAC9B7K,WAAY7Y,EAAyBI,SACrCikB,QAAS,CAVU,CACnBvR,MAAO,IACPiG,MAAO,oIACP0tD,UAAU,EACVC,aAAc,cACdC,MAAO,WAQT,OAAOL,KACJX,SAAS,gBACTM,QAAQO,GACRtB,qBAAqB,aAAa,GAClCA,qBAAqB,cAAe,IACpCF,QAAQ,KACRvB,OAAO,ECpBCyD,GAAkB,KAC7B,MAQMV,EAAK,IAAI9iD,GAAiB,CAC9B7K,WAAY7Y,EAAyBI,SACrCikB,QAAS,CAVU,CACnBvR,MAAO,IACPiG,MAAO,4fACP0tD,UAAU,EACVC,aAAc,cACdC,MAAO,WAQT,OAAOL,KACJX,SAAS,WACTM,QAAQO,GACRtB,qBAAqB,aAAa,GAClCA,qBAAqB,cAAe,IACpCzB,OAAO,ECnBC0D,GAAwB,KACnC,MAiBMX,EAAK,IAAI9iD,GAAiB,CAC9B7K,WAAY7Y,EAAyBI,SACrCikB,QAAS,CAlBT,CACEvR,MAAO,IACPiG,MAAO,kKACP0tD,UAAU,EACVC,aAAc,cACdC,MAAO,QAET,CACE7zD,MAAO,IACPiG,MAAO,oKACP0tD,UAAU,EACVC,aAAc,cACdC,MAAO,WASX,OAAOL,KACJX,SAAS,mBACTM,QAAQO,GACRtB,qBAAqB,aAAa,GAClCA,qBAAqB,cAAe,IACpCF,QAAQ,MACRvB,OAAO,EC7BC2D,GAAoB,KAC/B,MAQMZ,EAAK,IAAI9iD,GAAiB,CAC9B7K,WAAY7Y,EAAyBC,YACrCokB,QAAS,CAVU,CACnBvR,MAAO,IACPiG,MAAO,gMACP0tD,UAAU,EACVC,aAAc,cACdC,MAAO,WAQT,OAAOL,KACJX,SAAS,cACTM,QAAQO,GACRtB,qBAAqB,aAAa,GAClCA,qBAAqB,cAAe,IACpCzB,OAAO,ECEL,SAAS4D,KACd,MAAM7+D,EAAY,IAAIwB,GAAe,CACnCnb,KAAM,SACN2a,GAAI,QAGA89D,EAAW,IAAIxqC,GAAc,CACjCvvD,KAAM,WACNsrC,WAAY7Y,EAAyBC,YACrC8Y,MAAO,sFAGT,OAAO,IAAIihC,GAAc,CACvBn0C,WAAY2C,EACZ5C,WAAY,IAAI+gC,GAAiB,CAC/Bt7B,UAAW,CAACi8D,KAEdvrF,KAAM,IAAIg6E,GAAgB,CACxBE,UAAW,SACX58E,SAAU,CACR,IAAIu9E,GAAc,CAChB92E,OAAQ,IACR/D,KAAMwqF,OAER,IAAI3P,GAAc,CAChB92E,OAAQ,IACR/D,KAAM+qF,OAER,IAAI/Q,GAAgB,CAClBE,UAAW,MACXn2E,OAAQ,IACRzG,SAAU,CACR,IAAIu9E,GAAc,CAChBt2E,MAAO,MACPvE,KAAMgrF,OAER,IAAInQ,GAAc,CAChBt2E,MAAO,MACPvE,KAAMkrF,UAIZ,IAAIlR,GAAgB,CAClBE,UAAW,MACXn2E,OAAQ,IACRzG,SAAU,CACR,IAAIu9E,GAAc,CAChBt2E,MAAO,MACPvE,KAAMirF,OAER,IAAIpQ,GAAc,CAChBt2E,MAAO,MACPvE,KAAMorF,UAIZ,IAAIpR,GAAgB,CAClBE,UAAW,MACXn2E,OAAQ,IACRzG,SAAU,CACR,IAAIu9E,GAAc,CAChBt2E,MAAO,MACPvE,KAAMqrF,OAER,IAAIxQ,GAAc,CAChBt2E,MAAO,MACPvE,KAAMmrF,aAMhB3sB,SAAU,CACR,IAAIvU,GAAuB,CAAC,GAC5B,IAAI8vB,GACJ,IAAI1C,GAAgB,CAAEiB,YAAY,IAClC,IAAIa,GAAmB,CACrBliB,UAAW,CAAC,KAAM,KAAM,MACxBqhB,YAAY,MAIpB,CCpGA,MAYakT,GAAa,KACxB,MAAMz3D,GAAQu5B,EAAAA,EAAAA,UAAQ,IAZtB,IAAI4yB,GAAS,CACXlkC,MAAO,CACL,IAAIqmC,GAAa,CACf/zC,MAAO,SACP4N,IAAK53B,EAAY,GAAGN,EAAOynE,UAC3BrI,qBAAqB,EACrBT,SAAU2I,SAMwB,IAExC,OAAO,kBAACv3D,EAAMr5B,UAAS,CAACkrB,MAAOmO,G,EClBpBy2D,GAAoB,KAC/B,MASMC,EAAK,IAAI9iD,GAAiB,CAC9B7K,WAAY7Y,EAAyBE,sBACrCmkB,QAAS,CAXmB,CAC5BvR,MAAO,IACPiG,MAAO,2LACP0tD,UAAU,EACVC,aAAc,cACdC,MAAO,uBACPc,YAAa,SAQf,OAAOnB,KACJX,SAAS,aACTM,QAAQO,GACRjB,UAAU,SAAU,CAAEqB,YAAY,EAAMC,MAAO,CAAC,SAChD3B,qBAAqB,oBAAoB,GACzCF,QAAQ,OACRvB,OAAO,ECrBCiE,GAAc,KACzB,MAgCMlB,EAAK,IAAI9iD,GAAiB,CAC9B7K,WAAY7Y,EAAyBE,sBACrCmkB,QAAS,CAjCT,CACEvR,MAAO,IACPiG,MAAO,iJACP0tD,UAAU,EACVC,aAAc,cACde,YAAa,UACbvhC,MAAM,EACNyhC,KAAM,CACJC,gBAAiB,qBAGrB,CACE90D,MAAO,IACPiG,MAAO,iJACP0tD,UAAU,EACVC,aAAc,eAEhB,CACE5zD,MAAO,IACPiG,MAAO,iJACP0tD,UAAU,EACVC,aAAc,eAEhB,CACE5zD,MAAO,IACPiG,MAAO,iJACP0tD,UAAU,EACVC,aAAc,kBASlB,OAAOJ,KACJX,SAAS,OACTM,QAAQO,GACRjB,UAAU,SAAU,CAAEqB,YAAY,EAAMC,MAAO,CAAC,SAChD3B,qBAAqB,oBAAoB,GACzCA,qBAAqB,aAAa,GAClCzB,OAAO,EC5CCoE,GAAwB,KACnC,MAQMrB,EAAK,IAAI9iD,GAAiB,CAC9B7K,WAAY7Y,EAAyBE,sBACrCmkB,QAAS,CAVwB,CACjCvR,MAAO,IACPiG,MAAO,uKACP0tD,UAAU,EACVC,aAAc,cACdC,MAAO,sBAQT,OAAOL,KACJX,SAAS,2BACTM,QAAQO,GACRjB,UAAU,SAAU,CAAEqB,YAAY,EAAMC,MAAO,CAAC,SAChD3B,qBAAqB,oBAAoB,GACzCA,qBAAqB,aAAa,GAClCF,QAAQ,OACRvB,OAAO,ECPL,SAASqE,KACd,MAAMt/D,EAAY,IAAIwB,GAAe,CACnCnb,KAAM,SACN2a,GAAI,QAGAu+D,EAAkB,IAAIjrC,GAAc,CACxCvvD,KAAM,kBACNsrC,WAAY7Y,EAAyBE,sBACrC6Y,MAAO,kGAGT,OAAO,IAAIihC,GAAc,CACvBn0C,WAAY2C,EACZ5C,WAAY,IAAI+gC,GAAiB,CAC/Bt7B,UAAW,CAAC08D,KAEdhsF,KAAM,IAAIg6E,GAAgB,CACxBE,UAAW,SACX58E,SAAU,CACR,IAAIu9E,GAAc,CAChBlc,UAAW,IACX3+D,KAAMwqF,OAER,IAAI3P,GAAc,CAChBlc,UAAW,IACX3+D,KAAM2rF,OAER,IAAI9Q,GAAc,CAChBlc,UAAW,IACX3+D,KAAM8rF,UAIZttB,SAAU,CACR,IAAIvU,GAAuB,CAAC,GAC5B,IAAI8vB,GACJ,IAAI1C,GAAgB,CAAEiB,YAAY,IAClC,IAAIa,GAAmB,CACrBliB,UAAW,CAAC,KAAM,KAAM,MACxBqhB,YAAY,MAIpB,CCvDA,MAYa2T,GAAsB,KACjC,MAAMl4D,GAAQu5B,EAAAA,EAAAA,UAAQ,IAZtB,IAAI4yB,GAAS,CACXlkC,MAAO,CACL,IAAIqmC,GAAa,CACf/zC,MAAO,oBACP4N,IAAK53B,EAAY,GAAGN,EAAOkoE,mBAC3B9I,qBAAqB,EACrBT,SAAUoJ,SAMwB,IAExC,OAAO,kBAACh4D,EAAMr5B,UAAS,CAACkrB,MAAOmO,G,EClBpBy2D,GAAoB,KAC/B,MASMC,EAAK,IAAI9iD,GAAiB,CAC9B7K,WAAY7Y,EAAyBC,YACrCokB,QAAS,CAXsB,CAC/BvR,MAAO,IACPiG,MACE,wIACF0tD,UAAU,EACVC,aAAc,cACdC,MAAO,sBAQT,OAAOL,KACJX,SAAS,6BACTM,QAAQO,GACRtB,qBAAqB,cAAe,IACpCK,UAAU,SAAU,CAAEqB,YAAY,EAAMC,MAAO,CAAC,SAChD7B,QAAQ,SACRvB,OAAO,ECrBCqD,GAAsB,KACjC,MAQMN,EAAK,IAAI9iD,GAAiB,CAC9B7K,WAAY7Y,EAAyBC,YACrCokB,QAAS,CAVa,CACtBvR,MAAO,IACPiG,MACE,gKACF0tD,UAAU,EACVC,aAAc,kBAQhB,OAAOJ,KACJX,SAAS,yBACTT,qBAAqB,cAAe,IACpCe,QAAQO,GACRjB,UAAU,SAAU,CAAEqB,YAAY,EAAMC,MAAO,CAAC,SAChD3B,qBAAqB,aAAa,GAClCzB,OAAO,ECPL,SAASyE,KACd,MAAM1/D,EAAY,IAAIwB,GAAe,CACnCnb,KAAM,SACN2a,GAAI,QAGA2+D,EAAa,IAAIrrC,GAAc,CACnCvvD,KAAM,aACNsrC,WAAY7Y,EAAyBC,YACrC8Y,MAAO,wFAGT,OAAO,IAAIihC,GAAc,CACvBn0C,WAAY2C,EACZ5C,WAAY,IAAI+gC,GAAiB,CAC/Bt7B,UAAW,CAAC88D,KAEdpsF,KAAM,IAAIg6E,GAAgB,CACxBE,UAAW,SACX58E,SAAU,CACR,IAAIu9E,GAAc,CAChBlc,UAAW,IACX3+D,KAAMwqF,OAER,IAAI3P,GAAc,CAChBlc,UAAW,IACX3+D,KAAM+qF,UAIZvsB,SAAU,CACR,IAAIvU,GAAuB,CAAC,GAC5B,IAAI8vB,GACJ,IAAI1C,GAAgB,CAAEiB,YAAY,IAClC,IAAIa,GAAmB,CACrBliB,UAAW,CAAC,KAAM,KAAM,MACxBqhB,YAAY,MAIpB,CClDA,MAYa+T,GAAiB,KAC5B,MAAMt4D,GAAQu5B,EAAAA,EAAAA,UAAQ,IAZtB,IAAI4yB,GAAS,CACXlkC,MAAO,CACL,IAAIqmC,GAAa,CACf/zC,MAAO,eACP4N,IAAK53B,EAAY,GAAGN,EAAOsoE,cAC3BlJ,qBAAqB,EACrBT,SAAUwJ,SAMwB,IAExC,OAAO,kBAACp4D,EAAMr5B,UAAS,CAACkrB,MAAOmO,G,ECbpBw4D,GAAS,IAElB,kBAACpM,EAAAA,OAAMA,KACL,kBAACC,EAAAA,MAAKA,CAACr7D,KAAMT,EAAY,GAAGN,EAAOsoE,cAAetI,UAAWqI,KAC7D,kBAACjM,EAAAA,MAAKA,CAACr7D,KAAMT,EAAY,GAAGN,EAAOkoE,mBAAoBlI,UAAWiI,KAClE,kBAAC7L,EAAAA,MAAKA,CAACr7D,KAAMT,EAAY,GAAGN,EAAOynE,UAAWzH,UAAWwH,KACzD,kBAACgB,EAAAA,SAAQA,CAAC/+D,GAAInJ,EAAYN,EAAOsoE,eCThC,MAAMG,WAAYv0F,IAAAA,cACvBkF,MAAAA,GACE,OACE,kBAACymB,EAAmByvD,SAAQ,CAAC9nF,MAAOwD,KAAKkH,OACvC,kBAACq2F,GAAMA,MAGb,ECTK,MAAM/pB,IAAS,IAAIkqB,EAAAA,WAAgBC,YAAYF,G","sources":["webpack://trafficcontrol-scenes-app/../node_modules/clsx/dist/clsx.m.js","webpack://trafficcontrol-scenes-app/../node_modules/lodash.isequal/index.js","webpack://trafficcontrol-scenes-app/../node_modules/prop-types/factoryWithThrowingShims.js","webpack://trafficcontrol-scenes-app/../node_modules/prop-types/index.js","webpack://trafficcontrol-scenes-app/../node_modules/prop-types/lib/ReactPropTypesSecret.js","webpack://trafficcontrol-scenes-app/../node_modules/react-draggable/build/cjs/Draggable.js","webpack://trafficcontrol-scenes-app/../node_modules/react-draggable/build/cjs/DraggableCore.js","webpack://trafficcontrol-scenes-app/../node_modules/react-draggable/build/cjs/cjs.js","webpack://trafficcontrol-scenes-app/../node_modules/react-draggable/build/cjs/utils/domFns.js","webpack://trafficcontrol-scenes-app/../node_modules/react-draggable/build/cjs/utils/getPrefix.js","webpack://trafficcontrol-scenes-app/../node_modules/react-draggable/build/cjs/utils/log.js","webpack://trafficcontrol-scenes-app/../node_modules/react-draggable/build/cjs/utils/positionFns.js","webpack://trafficcontrol-scenes-app/../node_modules/react-draggable/build/cjs/utils/shims.js","webpack://trafficcontrol-scenes-app/../node_modules/react-grid-layout/build/GridItem.js","webpack://trafficcontrol-scenes-app/../node_modules/react-grid-layout/build/ReactGridLayout.js","webpack://trafficcontrol-scenes-app/../node_modules/react-grid-layout/build/ReactGridLayoutPropTypes.js","webpack://trafficcontrol-scenes-app/../node_modules/react-grid-layout/build/ResponsiveReactGridLayout.js","webpack://trafficcontrol-scenes-app/../node_modules/react-grid-layout/build/calculateUtils.js","webpack://trafficcontrol-scenes-app/../node_modules/react-grid-layout/build/components/WidthProvider.js","webpack://trafficcontrol-scenes-app/../node_modules/react-grid-layout/build/fastRGLPropsEqual.js","webpack://trafficcontrol-scenes-app/../node_modules/react-grid-layout/build/responsiveUtils.js","webpack://trafficcontrol-scenes-app/../node_modules/react-grid-layout/build/utils.js","webpack://trafficcontrol-scenes-app/../node_modules/react-grid-layout/index.js","webpack://trafficcontrol-scenes-app/../node_modules/react-resizable/build/Resizable.js","webpack://trafficcontrol-scenes-app/../node_modules/react-resizable/build/ResizableBox.js","webpack://trafficcontrol-scenes-app/../node_modules/react-resizable/build/propTypes.js","webpack://trafficcontrol-scenes-app/../node_modules/react-resizable/build/utils.js","webpack://trafficcontrol-scenes-app/../node_modules/react-resizable/index.js","webpack://trafficcontrol-scenes-app/external amd \"@emotion/css\"","webpack://trafficcontrol-scenes-app/external amd \"@grafana/data\"","webpack://trafficcontrol-scenes-app/external amd \"@grafana/runtime\"","webpack://trafficcontrol-scenes-app/external amd \"@grafana/ui\"","webpack://trafficcontrol-scenes-app/external amd \"lodash\"","webpack://trafficcontrol-scenes-app/external amd \"react\"","webpack://trafficcontrol-scenes-app/external amd \"react-dom\"","webpack://trafficcontrol-scenes-app/external amd \"react-router-dom\"","webpack://trafficcontrol-scenes-app/external amd \"rxjs\"","webpack://trafficcontrol-scenes-app/webpack/bootstrap","webpack://trafficcontrol-scenes-app/webpack/runtime/compat get default export","webpack://trafficcontrol-scenes-app/webpack/runtime/define property getters","webpack://trafficcontrol-scenes-app/webpack/runtime/global","webpack://trafficcontrol-scenes-app/webpack/runtime/hasOwnProperty shorthand","webpack://trafficcontrol-scenes-app/webpack/runtime/make namespace object","webpack://trafficcontrol-scenes-app/webpack/runtime/node module decorator","webpack://trafficcontrol-scenes-app/./utils/utils.plugin.ts","webpack://trafficcontrol-scenes-app/./constants.ts","webpack://trafficcontrol-scenes-app/./utils/utils.routing.ts","webpack://trafficcontrol-scenes-app/../node_modules/@grafana/scenes/dist/esm/components/SceneApp/utils.js","webpack://trafficcontrol-scenes-app/../node_modules/@grafana/scenes/dist/esm/components/VizPanel/registerRuntimePanelPlugin.js","webpack://trafficcontrol-scenes-app/../node_modules/@grafana/scenes/node_modules/uuid/dist/esm-browser/native.js","webpack://trafficcontrol-scenes-app/../node_modules/@grafana/scenes/node_modules/uuid/dist/esm-browser/rng.js","webpack://trafficcontrol-scenes-app/../node_modules/@grafana/scenes/node_modules/uuid/dist/esm-browser/stringify.js","webpack://trafficcontrol-scenes-app/../node_modules/@grafana/scenes/node_modules/uuid/dist/esm-browser/v4.js","webpack://trafficcontrol-scenes-app/../node_modules/@grafana/scenes/dist/esm/core/SceneComponentWrapper.js","webpack://trafficcontrol-scenes-app/../node_modules/@grafana/scenes/dist/esm/core/events.js","webpack://trafficcontrol-scenes-app/../node_modules/@grafana/scenes/dist/esm/core/SceneObjectRef.js","webpack://trafficcontrol-scenes-app/../node_modules/@grafana/scenes/dist/esm/core/SceneObjectBase.js","webpack://trafficcontrol-scenes-app/../node_modules/@grafana/scenes/dist/esm/core/sceneGraph/utils.js","webpack://trafficcontrol-scenes-app/../node_modules/@grafana/scenes/dist/esm/querying/RuntimeDataSource.js","webpack://trafficcontrol-scenes-app/../node_modules/@grafana/schema/dist/esm/raw/dashboard/x/dashboard_types.gen.js","webpack://trafficcontrol-scenes-app/../node_modules/@grafana/scenes/dist/esm/core/SceneDataNode.js","webpack://trafficcontrol-scenes-app/../node_modules/@grafana/scenes/dist/esm/services/SceneObjectUrlSyncConfig.js","webpack://trafficcontrol-scenes-app/../node_modules/@grafana/scenes/dist/esm/utils/parseUrlParam.js","webpack://trafficcontrol-scenes-app/../node_modules/@grafana/scenes/dist/esm/utils/evaluateTimeRange.js","webpack://trafficcontrol-scenes-app/../node_modules/@grafana/scenes/dist/esm/core/SceneTimeRange.js","webpack://trafficcontrol-scenes-app/../node_modules/@grafana/scenes/dist/esm/variables/interpolation/defaults.js","webpack://trafficcontrol-scenes-app/../node_modules/@grafana/scenes/dist/esm/core/sceneGraph/getTimeRange.js","webpack://trafficcontrol-scenes-app/../node_modules/@grafana/schema/dist/esm/common/common.gen.js","webpack://trafficcontrol-scenes-app/../node_modules/@grafana/scenes/dist/esm/variables/types.js","webpack://trafficcontrol-scenes-app/../node_modules/@grafana/scenes/dist/esm/variables/interpolation/fieldAccessorCache.js","webpack://trafficcontrol-scenes-app/../node_modules/@grafana/scenes/dist/esm/variables/interpolation/ScopedVarsVariable.js","webpack://trafficcontrol-scenes-app/../node_modules/@grafana/scenes/dist/esm/variables/interpolation/formatRegistry.js","webpack://trafficcontrol-scenes-app/../node_modules/@grafana/scenes/dist/esm/variables/constants.js","webpack://trafficcontrol-scenes-app/../node_modules/@grafana/scenes/dist/esm/variables/lookupVariable.js","webpack://trafficcontrol-scenes-app/../node_modules/@grafana/scenes/dist/esm/querying/SceneDataLayers.js","webpack://trafficcontrol-scenes-app/../node_modules/@grafana/scenes/dist/esm/core/sceneGraph/sceneGraph.js","webpack://trafficcontrol-scenes-app/../node_modules/@grafana/scenes/dist/esm/variables/macros/types.js","webpack://trafficcontrol-scenes-app/../node_modules/@grafana/scenes/dist/esm/variables/macros/timeMacros.js","webpack://trafficcontrol-scenes-app/../node_modules/@grafana/scenes/dist/esm/variables/macros/AllVariablesMacro.js","webpack://trafficcontrol-scenes-app/../node_modules/@grafana/scenes/dist/esm/variables/macros/templateProxies.js","webpack://trafficcontrol-scenes-app/../node_modules/@grafana/scenes/dist/esm/variables/macros/dataMacros.js","webpack://trafficcontrol-scenes-app/../node_modules/@grafana/scenes/dist/esm/variables/macros/urlMacros.js","webpack://trafficcontrol-scenes-app/../node_modules/@grafana/scenes/dist/esm/variables/macros/index.js","webpack://trafficcontrol-scenes-app/../node_modules/@grafana/scenes/dist/esm/variables/macros/contextMacros.js","webpack://trafficcontrol-scenes-app/../node_modules/@grafana/scenes/dist/esm/variables/utils.js","webpack://trafficcontrol-scenes-app/../node_modules/@grafana/scenes/dist/esm/core/sceneGraph/index.js","webpack://trafficcontrol-scenes-app/../node_modules/@grafana/scenes/dist/esm/variables/interpolation/sceneInterpolator.js","webpack://trafficcontrol-scenes-app/../node_modules/@grafana/scenes/dist/esm/variables/VariableDependencyConfig.js","webpack://trafficcontrol-scenes-app/../node_modules/@grafana/scenes/dist/esm/behaviors/CursorSync.js","webpack://trafficcontrol-scenes-app/../node_modules/@grafana/scenes/dist/esm/utils/getDataSource.js","webpack://trafficcontrol-scenes-app/../node_modules/@grafana/scenes/dist/esm/variables/VariableValueRecorder.js","webpack://trafficcontrol-scenes-app/../node_modules/rxjs/dist/esm5/internal/util/isFunction.js","webpack://trafficcontrol-scenes-app/../node_modules/@grafana/scenes/dist/esm/querying/layers/SceneDataLayerBase.js","webpack://trafficcontrol-scenes-app/../node_modules/rxjs/node_modules/tslib/tslib.es6.mjs","webpack://trafficcontrol-scenes-app/../node_modules/rxjs/dist/esm5/internal/util/UnsubscriptionError.js","webpack://trafficcontrol-scenes-app/../node_modules/rxjs/dist/esm5/internal/util/createErrorClass.js","webpack://trafficcontrol-scenes-app/../node_modules/rxjs/dist/esm5/internal/util/arrRemove.js","webpack://trafficcontrol-scenes-app/../node_modules/rxjs/dist/esm5/internal/Subscription.js","webpack://trafficcontrol-scenes-app/../node_modules/rxjs/dist/esm5/internal/config.js","webpack://trafficcontrol-scenes-app/../node_modules/rxjs/dist/esm5/internal/scheduler/timeoutProvider.js","webpack://trafficcontrol-scenes-app/../node_modules/rxjs/dist/esm5/internal/util/noop.js","webpack://trafficcontrol-scenes-app/../node_modules/rxjs/dist/esm5/internal/NotificationFactories.js","webpack://trafficcontrol-scenes-app/../node_modules/rxjs/dist/esm5/internal/util/errorContext.js","webpack://trafficcontrol-scenes-app/../node_modules/rxjs/dist/esm5/internal/Subscriber.js","webpack://trafficcontrol-scenes-app/../node_modules/rxjs/dist/esm5/internal/util/reportUnhandledError.js","webpack://trafficcontrol-scenes-app/../node_modules/rxjs/dist/esm5/internal/operators/OperatorSubscriber.js","webpack://trafficcontrol-scenes-app/../node_modules/rxjs/dist/esm5/internal/symbol/observable.js","webpack://trafficcontrol-scenes-app/../node_modules/rxjs/dist/esm5/internal/util/identity.js","webpack://trafficcontrol-scenes-app/../node_modules/rxjs/dist/esm5/internal/Observable.js","webpack://trafficcontrol-scenes-app/../node_modules/rxjs/dist/esm5/internal/util/pipe.js","webpack://trafficcontrol-scenes-app/../node_modules/rxjs/dist/esm5/internal/symbol/iterator.js","webpack://trafficcontrol-scenes-app/../node_modules/@grafana/scenes/dist/esm/querying/layers/annotations/standardAnnotationsSupport.js","webpack://trafficcontrol-scenes-app/../node_modules/@grafana/scenes/dist/esm/utils/writeSceneLog.js","webpack://trafficcontrol-scenes-app/../node_modules/@grafana/scenes/dist/esm/querying/layers/annotations/standardAnnotationQuery.js","webpack://trafficcontrol-scenes-app/../node_modules/@grafana/scenes/dist/esm/querying/layers/annotations/utils.js","webpack://trafficcontrol-scenes-app/../node_modules/@grafana/scenes/dist/esm/querying/layers/annotations/AnnotationsDataLayer.js","webpack://trafficcontrol-scenes-app/../node_modules/@grafana/scenes/dist/esm/core/SceneTimeZoneOverride.js","webpack://trafficcontrol-scenes-app/../node_modules/@grafana/scenes/dist/esm/components/SceneTimeRangeCompare.js","webpack://trafficcontrol-scenes-app/../node_modules/@grafana/scenes/dist/esm/utils/getCompareSeriesRefId.js","webpack://trafficcontrol-scenes-app/../node_modules/@grafana/scenes/dist/esm/querying/timeShiftQueryResponseOperator.js","webpack://trafficcontrol-scenes-app/../node_modules/@grafana/scenes/dist/esm/querying/layers/annotations/filterAnnotations.js","webpack://trafficcontrol-scenes-app/../node_modules/@grafana/scenes/dist/esm/core/types.js","webpack://trafficcontrol-scenes-app/../node_modules/@grafana/scenes/dist/esm/variables/adhoc/patchGetAdhocFilters.js","webpack://trafficcontrol-scenes-app/../node_modules/@grafana/scenes/dist/esm/querying/SceneQueryRunner.js","webpack://trafficcontrol-scenes-app/../node_modules/@grafana/scenes/dist/esm/querying/getEnrichedDataRequest.js","webpack://trafficcontrol-scenes-app/../node_modules/@grafana/scenes/node_modules/@grafana/e2e-selectors/dist/esm/selectors/components.js","webpack://trafficcontrol-scenes-app/../node_modules/@grafana/scenes/node_modules/@grafana/e2e-selectors/dist/esm/selectors/index.js","webpack://trafficcontrol-scenes-app/../node_modules/@grafana/scenes/node_modules/@grafana/e2e-selectors/dist/esm/selectors/pages.js","webpack://trafficcontrol-scenes-app/../node_modules/@grafana/scenes/dist/esm/utils/LoadingIndicator.js","webpack://trafficcontrol-scenes-app/../node_modules/@grafana/scenes/dist/esm/utils/ControlsLabel.js","webpack://trafficcontrol-scenes-app/../node_modules/@grafana/scenes/dist/esm/querying/layers/SceneDataLayerControls.js","webpack://trafficcontrol-scenes-app/../node_modules/@grafana/scenes/dist/esm/querying/SceneDataTransformer.js","webpack://trafficcontrol-scenes-app/../node_modules/@grafana/scenes/dist/esm/variables/components/VariableValueSelectors.js","webpack://trafficcontrol-scenes-app/../node_modules/@grafana/scenes/dist/esm/variables/sets/SceneVariableSet.js","webpack://trafficcontrol-scenes-app/../node_modules/@grafana/scenes/dist/esm/variables/components/VariableValueSelect.js","webpack://trafficcontrol-scenes-app/../node_modules/@grafana/scenes/dist/esm/variables/variants/ConstantVariable.js","webpack://trafficcontrol-scenes-app/../node_modules/@grafana/scenes/dist/esm/variables/variants/MultiValueVariable.js","webpack://trafficcontrol-scenes-app/../node_modules/@grafana/scenes/dist/esm/utils/utils.js","webpack://trafficcontrol-scenes-app/../node_modules/@grafana/scenes/dist/esm/variables/variants/CustomVariable.js","webpack://trafficcontrol-scenes-app/../node_modules/@grafana/scenes/dist/esm/variables/variants/DataSourceVariable.js","webpack://trafficcontrol-scenes-app/../node_modules/@grafana/scenes/dist/esm/variables/variants/query/guards.js","webpack://trafficcontrol-scenes-app/../node_modules/@grafana/scenes/dist/esm/variables/variants/query/createQueryVariableRunner.js","webpack://trafficcontrol-scenes-app/../node_modules/@grafana/scenes/dist/esm/variables/variants/query/utils.js","webpack://trafficcontrol-scenes-app/../node_modules/@grafana/scenes/dist/esm/variables/variants/query/QueryVariable.js","webpack://trafficcontrol-scenes-app/../node_modules/@grafana/scenes/dist/esm/variables/variants/query/toMetricFindValues.js","webpack://trafficcontrol-scenes-app/../node_modules/@grafana/scenes/dist/esm/utils/metricTree.js","webpack://trafficcontrol-scenes-app/../node_modules/@grafana/scenes/dist/esm/variables/variants/TestVariable.js","webpack://trafficcontrol-scenes-app/../node_modules/@grafana/scenes/dist/esm/variables/components/VariableValueInput.js","webpack://trafficcontrol-scenes-app/../node_modules/@grafana/scenes/dist/esm/variables/variants/TextBoxVariable.js","webpack://trafficcontrol-scenes-app/../node_modules/@grafana/scenes/dist/esm/variables/variants/LocalValueVariable.js","webpack://trafficcontrol-scenes-app/../node_modules/@grafana/scenes/dist/esm/variables/variants/IntervalVariable.js","webpack://trafficcontrol-scenes-app/../node_modules/@grafana/scenes/dist/esm/variables/adhoc/AdHocFiltersVariableUrlSyncHandler.js","webpack://trafficcontrol-scenes-app/../node_modules/@grafana/scenes/dist/esm/variables/adhoc/AdHocFilterRenderer.js","webpack://trafficcontrol-scenes-app/../node_modules/@grafana/scenes/dist/esm/variables/adhoc/AdHocFilterBuilder.js","webpack://trafficcontrol-scenes-app/../node_modules/@grafana/scenes/dist/esm/variables/adhoc/AdHocFiltersSet.js","webpack://trafficcontrol-scenes-app/../node_modules/@grafana/schema/dist/esm/veneer/dashboard.types.js","webpack://trafficcontrol-scenes-app/../node_modules/@grafana/scenes/dist/esm/variables/adhoc/AdHocFiltersVariable.js","webpack://trafficcontrol-scenes-app/../node_modules/@grafana/scenes/dist/esm/services/UrlSyncManager.js","webpack://trafficcontrol-scenes-app/../node_modules/@grafana/scenes/dist/esm/components/EmbeddedScene.js","webpack://trafficcontrol-scenes-app/../node_modules/@grafana/scenes/dist/esm/utils/compatibility/setWindowGrafanaSceneContext.js","webpack://trafficcontrol-scenes-app/../node_modules/react-use/esm/misc/util.js","webpack://trafficcontrol-scenes-app/../node_modules/react-use/esm/useIsomorphicLayoutEffect.js","webpack://trafficcontrol-scenes-app/../node_modules/react-use/esm/useMeasure.js","webpack://trafficcontrol-scenes-app/../node_modules/@grafana/scenes/dist/esm/components/VizPanel/VizPanelRenderer.js","webpack://trafficcontrol-scenes-app/../node_modules/@grafana/scenes/dist/esm/components/VizPanel/seriesVisibilityConfigFactory.js","webpack://trafficcontrol-scenes-app/../node_modules/@grafana/scenes/dist/esm/components/VizPanel/colorSeriesConfigFactory.js","webpack://trafficcontrol-scenes-app/../node_modules/@grafana/scenes/dist/esm/components/VizPanel/VizPanel.js","webpack://trafficcontrol-scenes-app/../node_modules/@grafana/scenes/dist/esm/components/layout/grid/SceneGridItem.js","webpack://trafficcontrol-scenes-app/../node_modules/@grafana/scenes/dist/esm/components/VizPanel/VizPanelMenu.js","webpack://trafficcontrol-scenes-app/../node_modules/react-virtualized-auto-sizer/dist/index.esm.js","webpack://trafficcontrol-scenes-app/../node_modules/@grafana/scenes/dist/esm/components/layout/LazyLoader.js","webpack://trafficcontrol-scenes-app/../node_modules/react-use/esm/useEffectOnce.js","webpack://trafficcontrol-scenes-app/../node_modules/@grafana/scenes/dist/esm/components/layout/grid/SceneGridLayoutRenderer.js","webpack://trafficcontrol-scenes-app/../node_modules/@grafana/scenes/dist/esm/components/layout/grid/SceneGridLayout.js","webpack://trafficcontrol-scenes-app/../node_modules/@grafana/scenes/dist/esm/components/layout/grid/constants.js","webpack://trafficcontrol-scenes-app/../node_modules/@grafana/scenes/dist/esm/components/layout/grid/SceneGridRow.js","webpack://trafficcontrol-scenes-app/../node_modules/@grafana/scenes/dist/esm/components/NestedScene.js","webpack://trafficcontrol-scenes-app/../node_modules/@grafana/scenes/dist/esm/components/SceneCanvasText.js","webpack://trafficcontrol-scenes-app/../node_modules/@grafana/scenes/dist/esm/components/SceneToolbarButton.js","webpack://trafficcontrol-scenes-app/../node_modules/@grafana/scenes/dist/esm/components/SceneTimePicker.js","webpack://trafficcontrol-scenes-app/../node_modules/@grafana/scenes/dist/esm/components/SceneRefreshPicker.js","webpack://trafficcontrol-scenes-app/../node_modules/@grafana/scenes/dist/esm/components/SceneByFrameRepeater.js","webpack://trafficcontrol-scenes-app/../node_modules/@grafana/scenes/dist/esm/components/SceneControlsSpacer.js","webpack://trafficcontrol-scenes-app/../node_modules/@grafana/scenes/dist/esm/components/layout/SceneFlexLayout.js","webpack://trafficcontrol-scenes-app/../node_modules/@grafana/scenes/dist/esm/components/layout/CSSGrid/SceneCSSGridLayout.js","webpack://trafficcontrol-scenes-app/../node_modules/@grafana/scenes/dist/esm/components/layout/split/Splitter.js","webpack://trafficcontrol-scenes-app/../node_modules/@grafana/scenes/dist/esm/components/layout/split/SplitLayout.js","webpack://trafficcontrol-scenes-app/../node_modules/@grafana/scenes/dist/esm/components/layout/split/SplitLayoutRenderer.js","webpack://trafficcontrol-scenes-app/../node_modules/@grafana/scenes/dist/esm/components/SceneApp/SceneApp.js","webpack://trafficcontrol-scenes-app/../node_modules/@grafana/scenes/dist/esm/components/SceneReactObject.js","webpack://trafficcontrol-scenes-app/../node_modules/@grafana/scenes/dist/esm/components/SceneDebugger/DebugDetails.js","webpack://trafficcontrol-scenes-app/../node_modules/@grafana/scenes/dist/esm/components/SceneDebugger/DebugTreeNode.js","webpack://trafficcontrol-scenes-app/../node_modules/@grafana/scenes/dist/esm/components/SceneDebugger/SceneDebugger.js","webpack://trafficcontrol-scenes-app/../node_modules/@grafana/scenes/dist/esm/components/SceneApp/SceneAppPageView.js","webpack://trafficcontrol-scenes-app/../node_modules/@grafana/scenes/dist/esm/components/SceneApp/SceneAppPage.js","webpack://trafficcontrol-scenes-app/../node_modules/@grafana/schema/dist/esm/common.gen-58e5e938.js","webpack://trafficcontrol-scenes-app/../node_modules/@grafana/schema/dist/esm/raw/composable/barchart/panelcfg/x/BarChartPanelCfg_types.gen.js","webpack://trafficcontrol-scenes-app/../node_modules/@grafana/schema/dist/esm/raw/composable/bargauge/panelcfg/x/BarGaugePanelCfg_types.gen.js","webpack://trafficcontrol-scenes-app/../node_modules/@grafana/schema/dist/esm/raw/composable/heatmap/panelcfg/x/HeatmapPanelCfg_types.gen.js","webpack://trafficcontrol-scenes-app/../node_modules/@grafana/schema/dist/esm/raw/composable/histogram/panelcfg/x/HistogramPanelCfg_types.gen.js","webpack://trafficcontrol-scenes-app/../node_modules/@grafana/schema/dist/esm/raw/composable/stat/panelcfg/x/StatPanelCfg_types.gen.js","webpack://trafficcontrol-scenes-app/../node_modules/@grafana/schema/dist/esm/raw/composable/statetimeline/panelcfg/x/StateTimelinePanelCfg_types.gen.js","webpack://trafficcontrol-scenes-app/../node_modules/@grafana/schema/dist/esm/raw/composable/statushistory/panelcfg/x/StatusHistoryPanelCfg_types.gen.js","webpack://trafficcontrol-scenes-app/../node_modules/@grafana/schema/dist/esm/raw/composable/table/panelcfg/x/TablePanelCfg_types.gen.js","webpack://trafficcontrol-scenes-app/../node_modules/@grafana/schema/dist/esm/raw/composable/xychart/panelcfg/x/XYChartPanelCfg_types.gen.js","webpack://trafficcontrol-scenes-app/../node_modules/@grafana/scenes/dist/esm/core/PanelBuilders/StandardFieldConfigBuilders.js","webpack://trafficcontrol-scenes-app/../node_modules/@grafana/scenes/dist/esm/core/PanelBuilders/FieldConfigOverridesBuilder.js","webpack://trafficcontrol-scenes-app/../node_modules/@grafana/scenes/dist/esm/core/PanelBuilders/FieldConfigBuilder.js","webpack://trafficcontrol-scenes-app/../node_modules/@grafana/scenes/dist/esm/core/PanelBuilders/PanelOptionsBuilder.js","webpack://trafficcontrol-scenes-app/../node_modules/@grafana/scenes/dist/esm/core/PanelBuilders/VizPanelBuilder.js","webpack://trafficcontrol-scenes-app/../node_modules/@grafana/scenes/dist/esm/core/PanelBuilders/index.js","webpack://trafficcontrol-scenes-app/./pages/Server/panels/bandwidth.tsx","webpack://trafficcontrol-scenes-app/./pages/Server/panels/connections.tsx","webpack://trafficcontrol-scenes-app/./pages/Server/panels/cpu.tsx","webpack://trafficcontrol-scenes-app/./pages/Server/panels/load-average.tsx","webpack://trafficcontrol-scenes-app/./pages/Server/panels/memory.tsx","webpack://trafficcontrol-scenes-app/./pages/Server/panels/netstat.tsx","webpack://trafficcontrol-scenes-app/./pages/Server/panels/read-write-time.tsx","webpack://trafficcontrol-scenes-app/./pages/Server/panels/wrap-count.tsx","webpack://trafficcontrol-scenes-app/./pages/Server/scene.tsx","webpack://trafficcontrol-scenes-app/./pages/Server/Server.tsx","webpack://trafficcontrol-scenes-app/./pages/DeliveryService/panels/bandwidth.tsx","webpack://trafficcontrol-scenes-app/./pages/DeliveryService/panels/tps.tsx","webpack://trafficcontrol-scenes-app/./pages/DeliveryService/panels/bandwidth-cg.tsx","webpack://trafficcontrol-scenes-app/./pages/DeliveryService/scene.tsx","webpack://trafficcontrol-scenes-app/./pages/DeliveryService/DeliveryService.tsx","webpack://trafficcontrol-scenes-app/./pages/CacheGroup/panels/bandwidth.tsx","webpack://trafficcontrol-scenes-app/./pages/CacheGroup/panels/connections.tsx","webpack://trafficcontrol-scenes-app/./pages/CacheGroup/scene.tsx","webpack://trafficcontrol-scenes-app/./pages/CacheGroup/CacheGroup.tsx","webpack://trafficcontrol-scenes-app/./components/Routes/Routes.tsx","webpack://trafficcontrol-scenes-app/./components/App/App.tsx","webpack://trafficcontrol-scenes-app/./module.ts"],"sourcesContent":["function r(e){var t,f,n=\"\";if(\"string\"==typeof e||\"number\"==typeof e)n+=e;else if(\"object\"==typeof e)if(Array.isArray(e))for(t=0;t\n * Build: `lodash modularize exports=\"npm\" -o ./`\n * Copyright JS Foundation and other contributors \n * Released under MIT license \n * Based on Underscore.js 1.8.3 \n * Copyright Jeremy Ashkenas, DocumentCloud and Investigative Reporters & Editors\n */\n\n/** Used as the size to enable large array optimizations. */\nvar LARGE_ARRAY_SIZE = 200;\n\n/** Used to stand-in for `undefined` hash values. */\nvar HASH_UNDEFINED = '__lodash_hash_undefined__';\n\n/** Used to compose bitmasks for value comparisons. */\nvar COMPARE_PARTIAL_FLAG = 1,\n COMPARE_UNORDERED_FLAG = 2;\n\n/** Used as references for various `Number` constants. */\nvar MAX_SAFE_INTEGER = 9007199254740991;\n\n/** `Object#toString` result references. */\nvar argsTag = '[object Arguments]',\n arrayTag = '[object Array]',\n asyncTag = '[object AsyncFunction]',\n boolTag = '[object Boolean]',\n dateTag = '[object Date]',\n errorTag = '[object Error]',\n funcTag = '[object Function]',\n genTag = '[object GeneratorFunction]',\n mapTag = '[object Map]',\n numberTag = '[object Number]',\n nullTag = '[object Null]',\n objectTag = '[object Object]',\n promiseTag = '[object Promise]',\n proxyTag = '[object Proxy]',\n regexpTag = '[object RegExp]',\n setTag = '[object Set]',\n stringTag = '[object String]',\n symbolTag = '[object Symbol]',\n undefinedTag = '[object Undefined]',\n weakMapTag = '[object WeakMap]';\n\nvar arrayBufferTag = '[object ArrayBuffer]',\n dataViewTag = '[object DataView]',\n float32Tag = '[object Float32Array]',\n float64Tag = '[object Float64Array]',\n int8Tag = '[object Int8Array]',\n int16Tag = '[object Int16Array]',\n int32Tag = '[object Int32Array]',\n uint8Tag = '[object Uint8Array]',\n uint8ClampedTag = '[object Uint8ClampedArray]',\n uint16Tag = '[object Uint16Array]',\n uint32Tag = '[object Uint32Array]';\n\n/**\n * Used to match `RegExp`\n * [syntax characters](http://ecma-international.org/ecma-262/7.0/#sec-patterns).\n */\nvar reRegExpChar = /[\\\\^$.*+?()[\\]{}|]/g;\n\n/** Used to detect host constructors (Safari). */\nvar reIsHostCtor = /^\\[object .+?Constructor\\]$/;\n\n/** Used to detect unsigned integer values. */\nvar reIsUint = /^(?:0|[1-9]\\d*)$/;\n\n/** Used to identify `toStringTag` values of typed arrays. */\nvar typedArrayTags = {};\ntypedArrayTags[float32Tag] = typedArrayTags[float64Tag] =\ntypedArrayTags[int8Tag] = typedArrayTags[int16Tag] =\ntypedArrayTags[int32Tag] = typedArrayTags[uint8Tag] =\ntypedArrayTags[uint8ClampedTag] = typedArrayTags[uint16Tag] =\ntypedArrayTags[uint32Tag] = true;\ntypedArrayTags[argsTag] = typedArrayTags[arrayTag] =\ntypedArrayTags[arrayBufferTag] = typedArrayTags[boolTag] =\ntypedArrayTags[dataViewTag] = typedArrayTags[dateTag] =\ntypedArrayTags[errorTag] = typedArrayTags[funcTag] =\ntypedArrayTags[mapTag] = typedArrayTags[numberTag] =\ntypedArrayTags[objectTag] = typedArrayTags[regexpTag] =\ntypedArrayTags[setTag] = typedArrayTags[stringTag] =\ntypedArrayTags[weakMapTag] = false;\n\n/** Detect free variable `global` from Node.js. */\nvar freeGlobal = typeof global == 'object' && global && global.Object === Object && global;\n\n/** Detect free variable `self`. */\nvar freeSelf = typeof self == 'object' && self && self.Object === Object && self;\n\n/** Used as a reference to the global object. */\nvar root = freeGlobal || freeSelf || Function('return this')();\n\n/** Detect free variable `exports`. */\nvar freeExports = typeof exports == 'object' && exports && !exports.nodeType && exports;\n\n/** Detect free variable `module`. */\nvar freeModule = freeExports && typeof module == 'object' && module && !module.nodeType && module;\n\n/** Detect the popular CommonJS extension `module.exports`. */\nvar moduleExports = freeModule && freeModule.exports === freeExports;\n\n/** Detect free variable `process` from Node.js. */\nvar freeProcess = moduleExports && freeGlobal.process;\n\n/** Used to access faster Node.js helpers. */\nvar nodeUtil = (function() {\n try {\n return freeProcess && freeProcess.binding && freeProcess.binding('util');\n } catch (e) {}\n}());\n\n/* Node.js helper references. */\nvar nodeIsTypedArray = nodeUtil && nodeUtil.isTypedArray;\n\n/**\n * A specialized version of `_.filter` for arrays without support for\n * iteratee shorthands.\n *\n * @private\n * @param {Array} [array] The array to iterate over.\n * @param {Function} predicate The function invoked per iteration.\n * @returns {Array} Returns the new filtered array.\n */\nfunction arrayFilter(array, predicate) {\n var index = -1,\n length = array == null ? 0 : array.length,\n resIndex = 0,\n result = [];\n\n while (++index < length) {\n var value = array[index];\n if (predicate(value, index, array)) {\n result[resIndex++] = value;\n }\n }\n return result;\n}\n\n/**\n * Appends the elements of `values` to `array`.\n *\n * @private\n * @param {Array} array The array to modify.\n * @param {Array} values The values to append.\n * @returns {Array} Returns `array`.\n */\nfunction arrayPush(array, values) {\n var index = -1,\n length = values.length,\n offset = array.length;\n\n while (++index < length) {\n array[offset + index] = values[index];\n }\n return array;\n}\n\n/**\n * A specialized version of `_.some` for arrays without support for iteratee\n * shorthands.\n *\n * @private\n * @param {Array} [array] The array to iterate over.\n * @param {Function} predicate The function invoked per iteration.\n * @returns {boolean} Returns `true` if any element passes the predicate check,\n * else `false`.\n */\nfunction arraySome(array, predicate) {\n var index = -1,\n length = array == null ? 0 : array.length;\n\n while (++index < length) {\n if (predicate(array[index], index, array)) {\n return true;\n }\n }\n return false;\n}\n\n/**\n * The base implementation of `_.times` without support for iteratee shorthands\n * or max array length checks.\n *\n * @private\n * @param {number} n The number of times to invoke `iteratee`.\n * @param {Function} iteratee The function invoked per iteration.\n * @returns {Array} Returns the array of results.\n */\nfunction baseTimes(n, iteratee) {\n var index = -1,\n result = Array(n);\n\n while (++index < n) {\n result[index] = iteratee(index);\n }\n return result;\n}\n\n/**\n * The base implementation of `_.unary` without support for storing metadata.\n *\n * @private\n * @param {Function} func The function to cap arguments for.\n * @returns {Function} Returns the new capped function.\n */\nfunction baseUnary(func) {\n return function(value) {\n return func(value);\n };\n}\n\n/**\n * Checks if a `cache` value for `key` exists.\n *\n * @private\n * @param {Object} cache The cache to query.\n * @param {string} key The key of the entry to check.\n * @returns {boolean} Returns `true` if an entry for `key` exists, else `false`.\n */\nfunction cacheHas(cache, key) {\n return cache.has(key);\n}\n\n/**\n * Gets the value at `key` of `object`.\n *\n * @private\n * @param {Object} [object] The object to query.\n * @param {string} key The key of the property to get.\n * @returns {*} Returns the property value.\n */\nfunction getValue(object, key) {\n return object == null ? undefined : object[key];\n}\n\n/**\n * Converts `map` to its key-value pairs.\n *\n * @private\n * @param {Object} map The map to convert.\n * @returns {Array} Returns the key-value pairs.\n */\nfunction mapToArray(map) {\n var index = -1,\n result = Array(map.size);\n\n map.forEach(function(value, key) {\n result[++index] = [key, value];\n });\n return result;\n}\n\n/**\n * Creates a unary function that invokes `func` with its argument transformed.\n *\n * @private\n * @param {Function} func The function to wrap.\n * @param {Function} transform The argument transform.\n * @returns {Function} Returns the new function.\n */\nfunction overArg(func, transform) {\n return function(arg) {\n return func(transform(arg));\n };\n}\n\n/**\n * Converts `set` to an array of its values.\n *\n * @private\n * @param {Object} set The set to convert.\n * @returns {Array} Returns the values.\n */\nfunction setToArray(set) {\n var index = -1,\n result = Array(set.size);\n\n set.forEach(function(value) {\n result[++index] = value;\n });\n return result;\n}\n\n/** Used for built-in method references. */\nvar arrayProto = Array.prototype,\n funcProto = Function.prototype,\n objectProto = Object.prototype;\n\n/** Used to detect overreaching core-js shims. */\nvar coreJsData = root['__core-js_shared__'];\n\n/** Used to resolve the decompiled source of functions. */\nvar funcToString = funcProto.toString;\n\n/** Used to check objects for own properties. */\nvar hasOwnProperty = objectProto.hasOwnProperty;\n\n/** Used to detect methods masquerading as native. */\nvar maskSrcKey = (function() {\n var uid = /[^.]+$/.exec(coreJsData && coreJsData.keys && coreJsData.keys.IE_PROTO || '');\n return uid ? ('Symbol(src)_1.' + uid) : '';\n}());\n\n/**\n * Used to resolve the\n * [`toStringTag`](http://ecma-international.org/ecma-262/7.0/#sec-object.prototype.tostring)\n * of values.\n */\nvar nativeObjectToString = objectProto.toString;\n\n/** Used to detect if a method is native. */\nvar reIsNative = RegExp('^' +\n funcToString.call(hasOwnProperty).replace(reRegExpChar, '\\\\$&')\n .replace(/hasOwnProperty|(function).*?(?=\\\\\\()| for .+?(?=\\\\\\])/g, '$1.*?') + '$'\n);\n\n/** Built-in value references. */\nvar Buffer = moduleExports ? root.Buffer : undefined,\n Symbol = root.Symbol,\n Uint8Array = root.Uint8Array,\n propertyIsEnumerable = objectProto.propertyIsEnumerable,\n splice = arrayProto.splice,\n symToStringTag = Symbol ? Symbol.toStringTag : undefined;\n\n/* Built-in method references for those with the same name as other `lodash` methods. */\nvar nativeGetSymbols = Object.getOwnPropertySymbols,\n nativeIsBuffer = Buffer ? Buffer.isBuffer : undefined,\n nativeKeys = overArg(Object.keys, Object);\n\n/* Built-in method references that are verified to be native. */\nvar DataView = getNative(root, 'DataView'),\n Map = getNative(root, 'Map'),\n Promise = getNative(root, 'Promise'),\n Set = getNative(root, 'Set'),\n WeakMap = getNative(root, 'WeakMap'),\n nativeCreate = getNative(Object, 'create');\n\n/** Used to detect maps, sets, and weakmaps. */\nvar dataViewCtorString = toSource(DataView),\n mapCtorString = toSource(Map),\n promiseCtorString = toSource(Promise),\n setCtorString = toSource(Set),\n weakMapCtorString = toSource(WeakMap);\n\n/** Used to convert symbols to primitives and strings. */\nvar symbolProto = Symbol ? Symbol.prototype : undefined,\n symbolValueOf = symbolProto ? symbolProto.valueOf : undefined;\n\n/**\n * Creates a hash object.\n *\n * @private\n * @constructor\n * @param {Array} [entries] The key-value pairs to cache.\n */\nfunction Hash(entries) {\n var index = -1,\n length = entries == null ? 0 : entries.length;\n\n this.clear();\n while (++index < length) {\n var entry = entries[index];\n this.set(entry[0], entry[1]);\n }\n}\n\n/**\n * Removes all key-value entries from the hash.\n *\n * @private\n * @name clear\n * @memberOf Hash\n */\nfunction hashClear() {\n this.__data__ = nativeCreate ? nativeCreate(null) : {};\n this.size = 0;\n}\n\n/**\n * Removes `key` and its value from the hash.\n *\n * @private\n * @name delete\n * @memberOf Hash\n * @param {Object} hash The hash to modify.\n * @param {string} key The key of the value to remove.\n * @returns {boolean} Returns `true` if the entry was removed, else `false`.\n */\nfunction hashDelete(key) {\n var result = this.has(key) && delete this.__data__[key];\n this.size -= result ? 1 : 0;\n return result;\n}\n\n/**\n * Gets the hash value for `key`.\n *\n * @private\n * @name get\n * @memberOf Hash\n * @param {string} key The key of the value to get.\n * @returns {*} Returns the entry value.\n */\nfunction hashGet(key) {\n var data = this.__data__;\n if (nativeCreate) {\n var result = data[key];\n return result === HASH_UNDEFINED ? undefined : result;\n }\n return hasOwnProperty.call(data, key) ? data[key] : undefined;\n}\n\n/**\n * Checks if a hash value for `key` exists.\n *\n * @private\n * @name has\n * @memberOf Hash\n * @param {string} key The key of the entry to check.\n * @returns {boolean} Returns `true` if an entry for `key` exists, else `false`.\n */\nfunction hashHas(key) {\n var data = this.__data__;\n return nativeCreate ? (data[key] !== undefined) : hasOwnProperty.call(data, key);\n}\n\n/**\n * Sets the hash `key` to `value`.\n *\n * @private\n * @name set\n * @memberOf Hash\n * @param {string} key The key of the value to set.\n * @param {*} value The value to set.\n * @returns {Object} Returns the hash instance.\n */\nfunction hashSet(key, value) {\n var data = this.__data__;\n this.size += this.has(key) ? 0 : 1;\n data[key] = (nativeCreate && value === undefined) ? HASH_UNDEFINED : value;\n return this;\n}\n\n// Add methods to `Hash`.\nHash.prototype.clear = hashClear;\nHash.prototype['delete'] = hashDelete;\nHash.prototype.get = hashGet;\nHash.prototype.has = hashHas;\nHash.prototype.set = hashSet;\n\n/**\n * Creates an list cache object.\n *\n * @private\n * @constructor\n * @param {Array} [entries] The key-value pairs to cache.\n */\nfunction ListCache(entries) {\n var index = -1,\n length = entries == null ? 0 : entries.length;\n\n this.clear();\n while (++index < length) {\n var entry = entries[index];\n this.set(entry[0], entry[1]);\n }\n}\n\n/**\n * Removes all key-value entries from the list cache.\n *\n * @private\n * @name clear\n * @memberOf ListCache\n */\nfunction listCacheClear() {\n this.__data__ = [];\n this.size = 0;\n}\n\n/**\n * Removes `key` and its value from the list cache.\n *\n * @private\n * @name delete\n * @memberOf ListCache\n * @param {string} key The key of the value to remove.\n * @returns {boolean} Returns `true` if the entry was removed, else `false`.\n */\nfunction listCacheDelete(key) {\n var data = this.__data__,\n index = assocIndexOf(data, key);\n\n if (index < 0) {\n return false;\n }\n var lastIndex = data.length - 1;\n if (index == lastIndex) {\n data.pop();\n } else {\n splice.call(data, index, 1);\n }\n --this.size;\n return true;\n}\n\n/**\n * Gets the list cache value for `key`.\n *\n * @private\n * @name get\n * @memberOf ListCache\n * @param {string} key The key of the value to get.\n * @returns {*} Returns the entry value.\n */\nfunction listCacheGet(key) {\n var data = this.__data__,\n index = assocIndexOf(data, key);\n\n return index < 0 ? undefined : data[index][1];\n}\n\n/**\n * Checks if a list cache value for `key` exists.\n *\n * @private\n * @name has\n * @memberOf ListCache\n * @param {string} key The key of the entry to check.\n * @returns {boolean} Returns `true` if an entry for `key` exists, else `false`.\n */\nfunction listCacheHas(key) {\n return assocIndexOf(this.__data__, key) > -1;\n}\n\n/**\n * Sets the list cache `key` to `value`.\n *\n * @private\n * @name set\n * @memberOf ListCache\n * @param {string} key The key of the value to set.\n * @param {*} value The value to set.\n * @returns {Object} Returns the list cache instance.\n */\nfunction listCacheSet(key, value) {\n var data = this.__data__,\n index = assocIndexOf(data, key);\n\n if (index < 0) {\n ++this.size;\n data.push([key, value]);\n } else {\n data[index][1] = value;\n }\n return this;\n}\n\n// Add methods to `ListCache`.\nListCache.prototype.clear = listCacheClear;\nListCache.prototype['delete'] = listCacheDelete;\nListCache.prototype.get = listCacheGet;\nListCache.prototype.has = listCacheHas;\nListCache.prototype.set = listCacheSet;\n\n/**\n * Creates a map cache object to store key-value pairs.\n *\n * @private\n * @constructor\n * @param {Array} [entries] The key-value pairs to cache.\n */\nfunction MapCache(entries) {\n var index = -1,\n length = entries == null ? 0 : entries.length;\n\n this.clear();\n while (++index < length) {\n var entry = entries[index];\n this.set(entry[0], entry[1]);\n }\n}\n\n/**\n * Removes all key-value entries from the map.\n *\n * @private\n * @name clear\n * @memberOf MapCache\n */\nfunction mapCacheClear() {\n this.size = 0;\n this.__data__ = {\n 'hash': new Hash,\n 'map': new (Map || ListCache),\n 'string': new Hash\n };\n}\n\n/**\n * Removes `key` and its value from the map.\n *\n * @private\n * @name delete\n * @memberOf MapCache\n * @param {string} key The key of the value to remove.\n * @returns {boolean} Returns `true` if the entry was removed, else `false`.\n */\nfunction mapCacheDelete(key) {\n var result = getMapData(this, key)['delete'](key);\n this.size -= result ? 1 : 0;\n return result;\n}\n\n/**\n * Gets the map value for `key`.\n *\n * @private\n * @name get\n * @memberOf MapCache\n * @param {string} key The key of the value to get.\n * @returns {*} Returns the entry value.\n */\nfunction mapCacheGet(key) {\n return getMapData(this, key).get(key);\n}\n\n/**\n * Checks if a map value for `key` exists.\n *\n * @private\n * @name has\n * @memberOf MapCache\n * @param {string} key The key of the entry to check.\n * @returns {boolean} Returns `true` if an entry for `key` exists, else `false`.\n */\nfunction mapCacheHas(key) {\n return getMapData(this, key).has(key);\n}\n\n/**\n * Sets the map `key` to `value`.\n *\n * @private\n * @name set\n * @memberOf MapCache\n * @param {string} key The key of the value to set.\n * @param {*} value The value to set.\n * @returns {Object} Returns the map cache instance.\n */\nfunction mapCacheSet(key, value) {\n var data = getMapData(this, key),\n size = data.size;\n\n data.set(key, value);\n this.size += data.size == size ? 0 : 1;\n return this;\n}\n\n// Add methods to `MapCache`.\nMapCache.prototype.clear = mapCacheClear;\nMapCache.prototype['delete'] = mapCacheDelete;\nMapCache.prototype.get = mapCacheGet;\nMapCache.prototype.has = mapCacheHas;\nMapCache.prototype.set = mapCacheSet;\n\n/**\n *\n * Creates an array cache object to store unique values.\n *\n * @private\n * @constructor\n * @param {Array} [values] The values to cache.\n */\nfunction SetCache(values) {\n var index = -1,\n length = values == null ? 0 : values.length;\n\n this.__data__ = new MapCache;\n while (++index < length) {\n this.add(values[index]);\n }\n}\n\n/**\n * Adds `value` to the array cache.\n *\n * @private\n * @name add\n * @memberOf SetCache\n * @alias push\n * @param {*} value The value to cache.\n * @returns {Object} Returns the cache instance.\n */\nfunction setCacheAdd(value) {\n this.__data__.set(value, HASH_UNDEFINED);\n return this;\n}\n\n/**\n * Checks if `value` is in the array cache.\n *\n * @private\n * @name has\n * @memberOf SetCache\n * @param {*} value The value to search for.\n * @returns {number} Returns `true` if `value` is found, else `false`.\n */\nfunction setCacheHas(value) {\n return this.__data__.has(value);\n}\n\n// Add methods to `SetCache`.\nSetCache.prototype.add = SetCache.prototype.push = setCacheAdd;\nSetCache.prototype.has = setCacheHas;\n\n/**\n * Creates a stack cache object to store key-value pairs.\n *\n * @private\n * @constructor\n * @param {Array} [entries] The key-value pairs to cache.\n */\nfunction Stack(entries) {\n var data = this.__data__ = new ListCache(entries);\n this.size = data.size;\n}\n\n/**\n * Removes all key-value entries from the stack.\n *\n * @private\n * @name clear\n * @memberOf Stack\n */\nfunction stackClear() {\n this.__data__ = new ListCache;\n this.size = 0;\n}\n\n/**\n * Removes `key` and its value from the stack.\n *\n * @private\n * @name delete\n * @memberOf Stack\n * @param {string} key The key of the value to remove.\n * @returns {boolean} Returns `true` if the entry was removed, else `false`.\n */\nfunction stackDelete(key) {\n var data = this.__data__,\n result = data['delete'](key);\n\n this.size = data.size;\n return result;\n}\n\n/**\n * Gets the stack value for `key`.\n *\n * @private\n * @name get\n * @memberOf Stack\n * @param {string} key The key of the value to get.\n * @returns {*} Returns the entry value.\n */\nfunction stackGet(key) {\n return this.__data__.get(key);\n}\n\n/**\n * Checks if a stack value for `key` exists.\n *\n * @private\n * @name has\n * @memberOf Stack\n * @param {string} key The key of the entry to check.\n * @returns {boolean} Returns `true` if an entry for `key` exists, else `false`.\n */\nfunction stackHas(key) {\n return this.__data__.has(key);\n}\n\n/**\n * Sets the stack `key` to `value`.\n *\n * @private\n * @name set\n * @memberOf Stack\n * @param {string} key The key of the value to set.\n * @param {*} value The value to set.\n * @returns {Object} Returns the stack cache instance.\n */\nfunction stackSet(key, value) {\n var data = this.__data__;\n if (data instanceof ListCache) {\n var pairs = data.__data__;\n if (!Map || (pairs.length < LARGE_ARRAY_SIZE - 1)) {\n pairs.push([key, value]);\n this.size = ++data.size;\n return this;\n }\n data = this.__data__ = new MapCache(pairs);\n }\n data.set(key, value);\n this.size = data.size;\n return this;\n}\n\n// Add methods to `Stack`.\nStack.prototype.clear = stackClear;\nStack.prototype['delete'] = stackDelete;\nStack.prototype.get = stackGet;\nStack.prototype.has = stackHas;\nStack.prototype.set = stackSet;\n\n/**\n * Creates an array of the enumerable property names of the array-like `value`.\n *\n * @private\n * @param {*} value The value to query.\n * @param {boolean} inherited Specify returning inherited property names.\n * @returns {Array} Returns the array of property names.\n */\nfunction arrayLikeKeys(value, inherited) {\n var isArr = isArray(value),\n isArg = !isArr && isArguments(value),\n isBuff = !isArr && !isArg && isBuffer(value),\n isType = !isArr && !isArg && !isBuff && isTypedArray(value),\n skipIndexes = isArr || isArg || isBuff || isType,\n result = skipIndexes ? baseTimes(value.length, String) : [],\n length = result.length;\n\n for (var key in value) {\n if ((inherited || hasOwnProperty.call(value, key)) &&\n !(skipIndexes && (\n // Safari 9 has enumerable `arguments.length` in strict mode.\n key == 'length' ||\n // Node.js 0.10 has enumerable non-index properties on buffers.\n (isBuff && (key == 'offset' || key == 'parent')) ||\n // PhantomJS 2 has enumerable non-index properties on typed arrays.\n (isType && (key == 'buffer' || key == 'byteLength' || key == 'byteOffset')) ||\n // Skip index properties.\n isIndex(key, length)\n ))) {\n result.push(key);\n }\n }\n return result;\n}\n\n/**\n * Gets the index at which the `key` is found in `array` of key-value pairs.\n *\n * @private\n * @param {Array} array The array to inspect.\n * @param {*} key The key to search for.\n * @returns {number} Returns the index of the matched value, else `-1`.\n */\nfunction assocIndexOf(array, key) {\n var length = array.length;\n while (length--) {\n if (eq(array[length][0], key)) {\n return length;\n }\n }\n return -1;\n}\n\n/**\n * The base implementation of `getAllKeys` and `getAllKeysIn` which uses\n * `keysFunc` and `symbolsFunc` to get the enumerable property names and\n * symbols of `object`.\n *\n * @private\n * @param {Object} object The object to query.\n * @param {Function} keysFunc The function to get the keys of `object`.\n * @param {Function} symbolsFunc The function to get the symbols of `object`.\n * @returns {Array} Returns the array of property names and symbols.\n */\nfunction baseGetAllKeys(object, keysFunc, symbolsFunc) {\n var result = keysFunc(object);\n return isArray(object) ? result : arrayPush(result, symbolsFunc(object));\n}\n\n/**\n * The base implementation of `getTag` without fallbacks for buggy environments.\n *\n * @private\n * @param {*} value The value to query.\n * @returns {string} Returns the `toStringTag`.\n */\nfunction baseGetTag(value) {\n if (value == null) {\n return value === undefined ? undefinedTag : nullTag;\n }\n return (symToStringTag && symToStringTag in Object(value))\n ? getRawTag(value)\n : objectToString(value);\n}\n\n/**\n * The base implementation of `_.isArguments`.\n *\n * @private\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is an `arguments` object,\n */\nfunction baseIsArguments(value) {\n return isObjectLike(value) && baseGetTag(value) == argsTag;\n}\n\n/**\n * The base implementation of `_.isEqual` which supports partial comparisons\n * and tracks traversed objects.\n *\n * @private\n * @param {*} value The value to compare.\n * @param {*} other The other value to compare.\n * @param {boolean} bitmask The bitmask flags.\n * 1 - Unordered comparison\n * 2 - Partial comparison\n * @param {Function} [customizer] The function to customize comparisons.\n * @param {Object} [stack] Tracks traversed `value` and `other` objects.\n * @returns {boolean} Returns `true` if the values are equivalent, else `false`.\n */\nfunction baseIsEqual(value, other, bitmask, customizer, stack) {\n if (value === other) {\n return true;\n }\n if (value == null || other == null || (!isObjectLike(value) && !isObjectLike(other))) {\n return value !== value && other !== other;\n }\n return baseIsEqualDeep(value, other, bitmask, customizer, baseIsEqual, stack);\n}\n\n/**\n * A specialized version of `baseIsEqual` for arrays and objects which performs\n * deep comparisons and tracks traversed objects enabling objects with circular\n * references to be compared.\n *\n * @private\n * @param {Object} object The object to compare.\n * @param {Object} other The other object to compare.\n * @param {number} bitmask The bitmask flags. See `baseIsEqual` for more details.\n * @param {Function} customizer The function to customize comparisons.\n * @param {Function} equalFunc The function to determine equivalents of values.\n * @param {Object} [stack] Tracks traversed `object` and `other` objects.\n * @returns {boolean} Returns `true` if the objects are equivalent, else `false`.\n */\nfunction baseIsEqualDeep(object, other, bitmask, customizer, equalFunc, stack) {\n var objIsArr = isArray(object),\n othIsArr = isArray(other),\n objTag = objIsArr ? arrayTag : getTag(object),\n othTag = othIsArr ? arrayTag : getTag(other);\n\n objTag = objTag == argsTag ? objectTag : objTag;\n othTag = othTag == argsTag ? objectTag : othTag;\n\n var objIsObj = objTag == objectTag,\n othIsObj = othTag == objectTag,\n isSameTag = objTag == othTag;\n\n if (isSameTag && isBuffer(object)) {\n if (!isBuffer(other)) {\n return false;\n }\n objIsArr = true;\n objIsObj = false;\n }\n if (isSameTag && !objIsObj) {\n stack || (stack = new Stack);\n return (objIsArr || isTypedArray(object))\n ? equalArrays(object, other, bitmask, customizer, equalFunc, stack)\n : equalByTag(object, other, objTag, bitmask, customizer, equalFunc, stack);\n }\n if (!(bitmask & COMPARE_PARTIAL_FLAG)) {\n var objIsWrapped = objIsObj && hasOwnProperty.call(object, '__wrapped__'),\n othIsWrapped = othIsObj && hasOwnProperty.call(other, '__wrapped__');\n\n if (objIsWrapped || othIsWrapped) {\n var objUnwrapped = objIsWrapped ? object.value() : object,\n othUnwrapped = othIsWrapped ? other.value() : other;\n\n stack || (stack = new Stack);\n return equalFunc(objUnwrapped, othUnwrapped, bitmask, customizer, stack);\n }\n }\n if (!isSameTag) {\n return false;\n }\n stack || (stack = new Stack);\n return equalObjects(object, other, bitmask, customizer, equalFunc, stack);\n}\n\n/**\n * The base implementation of `_.isNative` without bad shim checks.\n *\n * @private\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a native function,\n * else `false`.\n */\nfunction baseIsNative(value) {\n if (!isObject(value) || isMasked(value)) {\n return false;\n }\n var pattern = isFunction(value) ? reIsNative : reIsHostCtor;\n return pattern.test(toSource(value));\n}\n\n/**\n * The base implementation of `_.isTypedArray` without Node.js optimizations.\n *\n * @private\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a typed array, else `false`.\n */\nfunction baseIsTypedArray(value) {\n return isObjectLike(value) &&\n isLength(value.length) && !!typedArrayTags[baseGetTag(value)];\n}\n\n/**\n * The base implementation of `_.keys` which doesn't treat sparse arrays as dense.\n *\n * @private\n * @param {Object} object The object to query.\n * @returns {Array} Returns the array of property names.\n */\nfunction baseKeys(object) {\n if (!isPrototype(object)) {\n return nativeKeys(object);\n }\n var result = [];\n for (var key in Object(object)) {\n if (hasOwnProperty.call(object, key) && key != 'constructor') {\n result.push(key);\n }\n }\n return result;\n}\n\n/**\n * A specialized version of `baseIsEqualDeep` for arrays with support for\n * partial deep comparisons.\n *\n * @private\n * @param {Array} array The array to compare.\n * @param {Array} other The other array to compare.\n * @param {number} bitmask The bitmask flags. See `baseIsEqual` for more details.\n * @param {Function} customizer The function to customize comparisons.\n * @param {Function} equalFunc The function to determine equivalents of values.\n * @param {Object} stack Tracks traversed `array` and `other` objects.\n * @returns {boolean} Returns `true` if the arrays are equivalent, else `false`.\n */\nfunction equalArrays(array, other, bitmask, customizer, equalFunc, stack) {\n var isPartial = bitmask & COMPARE_PARTIAL_FLAG,\n arrLength = array.length,\n othLength = other.length;\n\n if (arrLength != othLength && !(isPartial && othLength > arrLength)) {\n return false;\n }\n // Assume cyclic values are equal.\n var stacked = stack.get(array);\n if (stacked && stack.get(other)) {\n return stacked == other;\n }\n var index = -1,\n result = true,\n seen = (bitmask & COMPARE_UNORDERED_FLAG) ? new SetCache : undefined;\n\n stack.set(array, other);\n stack.set(other, array);\n\n // Ignore non-index properties.\n while (++index < arrLength) {\n var arrValue = array[index],\n othValue = other[index];\n\n if (customizer) {\n var compared = isPartial\n ? customizer(othValue, arrValue, index, other, array, stack)\n : customizer(arrValue, othValue, index, array, other, stack);\n }\n if (compared !== undefined) {\n if (compared) {\n continue;\n }\n result = false;\n break;\n }\n // Recursively compare arrays (susceptible to call stack limits).\n if (seen) {\n if (!arraySome(other, function(othValue, othIndex) {\n if (!cacheHas(seen, othIndex) &&\n (arrValue === othValue || equalFunc(arrValue, othValue, bitmask, customizer, stack))) {\n return seen.push(othIndex);\n }\n })) {\n result = false;\n break;\n }\n } else if (!(\n arrValue === othValue ||\n equalFunc(arrValue, othValue, bitmask, customizer, stack)\n )) {\n result = false;\n break;\n }\n }\n stack['delete'](array);\n stack['delete'](other);\n return result;\n}\n\n/**\n * A specialized version of `baseIsEqualDeep` for comparing objects of\n * the same `toStringTag`.\n *\n * **Note:** This function only supports comparing values with tags of\n * `Boolean`, `Date`, `Error`, `Number`, `RegExp`, or `String`.\n *\n * @private\n * @param {Object} object The object to compare.\n * @param {Object} other The other object to compare.\n * @param {string} tag The `toStringTag` of the objects to compare.\n * @param {number} bitmask The bitmask flags. See `baseIsEqual` for more details.\n * @param {Function} customizer The function to customize comparisons.\n * @param {Function} equalFunc The function to determine equivalents of values.\n * @param {Object} stack Tracks traversed `object` and `other` objects.\n * @returns {boolean} Returns `true` if the objects are equivalent, else `false`.\n */\nfunction equalByTag(object, other, tag, bitmask, customizer, equalFunc, stack) {\n switch (tag) {\n case dataViewTag:\n if ((object.byteLength != other.byteLength) ||\n (object.byteOffset != other.byteOffset)) {\n return false;\n }\n object = object.buffer;\n other = other.buffer;\n\n case arrayBufferTag:\n if ((object.byteLength != other.byteLength) ||\n !equalFunc(new Uint8Array(object), new Uint8Array(other))) {\n return false;\n }\n return true;\n\n case boolTag:\n case dateTag:\n case numberTag:\n // Coerce booleans to `1` or `0` and dates to milliseconds.\n // Invalid dates are coerced to `NaN`.\n return eq(+object, +other);\n\n case errorTag:\n return object.name == other.name && object.message == other.message;\n\n case regexpTag:\n case stringTag:\n // Coerce regexes to strings and treat strings, primitives and objects,\n // as equal. See http://www.ecma-international.org/ecma-262/7.0/#sec-regexp.prototype.tostring\n // for more details.\n return object == (other + '');\n\n case mapTag:\n var convert = mapToArray;\n\n case setTag:\n var isPartial = bitmask & COMPARE_PARTIAL_FLAG;\n convert || (convert = setToArray);\n\n if (object.size != other.size && !isPartial) {\n return false;\n }\n // Assume cyclic values are equal.\n var stacked = stack.get(object);\n if (stacked) {\n return stacked == other;\n }\n bitmask |= COMPARE_UNORDERED_FLAG;\n\n // Recursively compare objects (susceptible to call stack limits).\n stack.set(object, other);\n var result = equalArrays(convert(object), convert(other), bitmask, customizer, equalFunc, stack);\n stack['delete'](object);\n return result;\n\n case symbolTag:\n if (symbolValueOf) {\n return symbolValueOf.call(object) == symbolValueOf.call(other);\n }\n }\n return false;\n}\n\n/**\n * A specialized version of `baseIsEqualDeep` for objects with support for\n * partial deep comparisons.\n *\n * @private\n * @param {Object} object The object to compare.\n * @param {Object} other The other object to compare.\n * @param {number} bitmask The bitmask flags. See `baseIsEqual` for more details.\n * @param {Function} customizer The function to customize comparisons.\n * @param {Function} equalFunc The function to determine equivalents of values.\n * @param {Object} stack Tracks traversed `object` and `other` objects.\n * @returns {boolean} Returns `true` if the objects are equivalent, else `false`.\n */\nfunction equalObjects(object, other, bitmask, customizer, equalFunc, stack) {\n var isPartial = bitmask & COMPARE_PARTIAL_FLAG,\n objProps = getAllKeys(object),\n objLength = objProps.length,\n othProps = getAllKeys(other),\n othLength = othProps.length;\n\n if (objLength != othLength && !isPartial) {\n return false;\n }\n var index = objLength;\n while (index--) {\n var key = objProps[index];\n if (!(isPartial ? key in other : hasOwnProperty.call(other, key))) {\n return false;\n }\n }\n // Assume cyclic values are equal.\n var stacked = stack.get(object);\n if (stacked && stack.get(other)) {\n return stacked == other;\n }\n var result = true;\n stack.set(object, other);\n stack.set(other, object);\n\n var skipCtor = isPartial;\n while (++index < objLength) {\n key = objProps[index];\n var objValue = object[key],\n othValue = other[key];\n\n if (customizer) {\n var compared = isPartial\n ? customizer(othValue, objValue, key, other, object, stack)\n : customizer(objValue, othValue, key, object, other, stack);\n }\n // Recursively compare objects (susceptible to call stack limits).\n if (!(compared === undefined\n ? (objValue === othValue || equalFunc(objValue, othValue, bitmask, customizer, stack))\n : compared\n )) {\n result = false;\n break;\n }\n skipCtor || (skipCtor = key == 'constructor');\n }\n if (result && !skipCtor) {\n var objCtor = object.constructor,\n othCtor = other.constructor;\n\n // Non `Object` object instances with different constructors are not equal.\n if (objCtor != othCtor &&\n ('constructor' in object && 'constructor' in other) &&\n !(typeof objCtor == 'function' && objCtor instanceof objCtor &&\n typeof othCtor == 'function' && othCtor instanceof othCtor)) {\n result = false;\n }\n }\n stack['delete'](object);\n stack['delete'](other);\n return result;\n}\n\n/**\n * Creates an array of own enumerable property names and symbols of `object`.\n *\n * @private\n * @param {Object} object The object to query.\n * @returns {Array} Returns the array of property names and symbols.\n */\nfunction getAllKeys(object) {\n return baseGetAllKeys(object, keys, getSymbols);\n}\n\n/**\n * Gets the data for `map`.\n *\n * @private\n * @param {Object} map The map to query.\n * @param {string} key The reference key.\n * @returns {*} Returns the map data.\n */\nfunction getMapData(map, key) {\n var data = map.__data__;\n return isKeyable(key)\n ? data[typeof key == 'string' ? 'string' : 'hash']\n : data.map;\n}\n\n/**\n * Gets the native function at `key` of `object`.\n *\n * @private\n * @param {Object} object The object to query.\n * @param {string} key The key of the method to get.\n * @returns {*} Returns the function if it's native, else `undefined`.\n */\nfunction getNative(object, key) {\n var value = getValue(object, key);\n return baseIsNative(value) ? value : undefined;\n}\n\n/**\n * A specialized version of `baseGetTag` which ignores `Symbol.toStringTag` values.\n *\n * @private\n * @param {*} value The value to query.\n * @returns {string} Returns the raw `toStringTag`.\n */\nfunction getRawTag(value) {\n var isOwn = hasOwnProperty.call(value, symToStringTag),\n tag = value[symToStringTag];\n\n try {\n value[symToStringTag] = undefined;\n var unmasked = true;\n } catch (e) {}\n\n var result = nativeObjectToString.call(value);\n if (unmasked) {\n if (isOwn) {\n value[symToStringTag] = tag;\n } else {\n delete value[symToStringTag];\n }\n }\n return result;\n}\n\n/**\n * Creates an array of the own enumerable symbols of `object`.\n *\n * @private\n * @param {Object} object The object to query.\n * @returns {Array} Returns the array of symbols.\n */\nvar getSymbols = !nativeGetSymbols ? stubArray : function(object) {\n if (object == null) {\n return [];\n }\n object = Object(object);\n return arrayFilter(nativeGetSymbols(object), function(symbol) {\n return propertyIsEnumerable.call(object, symbol);\n });\n};\n\n/**\n * Gets the `toStringTag` of `value`.\n *\n * @private\n * @param {*} value The value to query.\n * @returns {string} Returns the `toStringTag`.\n */\nvar getTag = baseGetTag;\n\n// Fallback for data views, maps, sets, and weak maps in IE 11 and promises in Node.js < 6.\nif ((DataView && getTag(new DataView(new ArrayBuffer(1))) != dataViewTag) ||\n (Map && getTag(new Map) != mapTag) ||\n (Promise && getTag(Promise.resolve()) != promiseTag) ||\n (Set && getTag(new Set) != setTag) ||\n (WeakMap && getTag(new WeakMap) != weakMapTag)) {\n getTag = function(value) {\n var result = baseGetTag(value),\n Ctor = result == objectTag ? value.constructor : undefined,\n ctorString = Ctor ? toSource(Ctor) : '';\n\n if (ctorString) {\n switch (ctorString) {\n case dataViewCtorString: return dataViewTag;\n case mapCtorString: return mapTag;\n case promiseCtorString: return promiseTag;\n case setCtorString: return setTag;\n case weakMapCtorString: return weakMapTag;\n }\n }\n return result;\n };\n}\n\n/**\n * Checks if `value` is a valid array-like index.\n *\n * @private\n * @param {*} value The value to check.\n * @param {number} [length=MAX_SAFE_INTEGER] The upper bounds of a valid index.\n * @returns {boolean} Returns `true` if `value` is a valid index, else `false`.\n */\nfunction isIndex(value, length) {\n length = length == null ? MAX_SAFE_INTEGER : length;\n return !!length &&\n (typeof value == 'number' || reIsUint.test(value)) &&\n (value > -1 && value % 1 == 0 && value < length);\n}\n\n/**\n * Checks if `value` is suitable for use as unique object key.\n *\n * @private\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is suitable, else `false`.\n */\nfunction isKeyable(value) {\n var type = typeof value;\n return (type == 'string' || type == 'number' || type == 'symbol' || type == 'boolean')\n ? (value !== '__proto__')\n : (value === null);\n}\n\n/**\n * Checks if `func` has its source masked.\n *\n * @private\n * @param {Function} func The function to check.\n * @returns {boolean} Returns `true` if `func` is masked, else `false`.\n */\nfunction isMasked(func) {\n return !!maskSrcKey && (maskSrcKey in func);\n}\n\n/**\n * Checks if `value` is likely a prototype object.\n *\n * @private\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a prototype, else `false`.\n */\nfunction isPrototype(value) {\n var Ctor = value && value.constructor,\n proto = (typeof Ctor == 'function' && Ctor.prototype) || objectProto;\n\n return value === proto;\n}\n\n/**\n * Converts `value` to a string using `Object.prototype.toString`.\n *\n * @private\n * @param {*} value The value to convert.\n * @returns {string} Returns the converted string.\n */\nfunction objectToString(value) {\n return nativeObjectToString.call(value);\n}\n\n/**\n * Converts `func` to its source code.\n *\n * @private\n * @param {Function} func The function to convert.\n * @returns {string} Returns the source code.\n */\nfunction toSource(func) {\n if (func != null) {\n try {\n return funcToString.call(func);\n } catch (e) {}\n try {\n return (func + '');\n } catch (e) {}\n }\n return '';\n}\n\n/**\n * Performs a\n * [`SameValueZero`](http://ecma-international.org/ecma-262/7.0/#sec-samevaluezero)\n * comparison between two values to determine if they are equivalent.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to compare.\n * @param {*} other The other value to compare.\n * @returns {boolean} Returns `true` if the values are equivalent, else `false`.\n * @example\n *\n * var object = { 'a': 1 };\n * var other = { 'a': 1 };\n *\n * _.eq(object, object);\n * // => true\n *\n * _.eq(object, other);\n * // => false\n *\n * _.eq('a', 'a');\n * // => true\n *\n * _.eq('a', Object('a'));\n * // => false\n *\n * _.eq(NaN, NaN);\n * // => true\n */\nfunction eq(value, other) {\n return value === other || (value !== value && other !== other);\n}\n\n/**\n * Checks if `value` is likely an `arguments` object.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is an `arguments` object,\n * else `false`.\n * @example\n *\n * _.isArguments(function() { return arguments; }());\n * // => true\n *\n * _.isArguments([1, 2, 3]);\n * // => false\n */\nvar isArguments = baseIsArguments(function() { return arguments; }()) ? baseIsArguments : function(value) {\n return isObjectLike(value) && hasOwnProperty.call(value, 'callee') &&\n !propertyIsEnumerable.call(value, 'callee');\n};\n\n/**\n * Checks if `value` is classified as an `Array` object.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is an array, else `false`.\n * @example\n *\n * _.isArray([1, 2, 3]);\n * // => true\n *\n * _.isArray(document.body.children);\n * // => false\n *\n * _.isArray('abc');\n * // => false\n *\n * _.isArray(_.noop);\n * // => false\n */\nvar isArray = Array.isArray;\n\n/**\n * Checks if `value` is array-like. A value is considered array-like if it's\n * not a function and has a `value.length` that's an integer greater than or\n * equal to `0` and less than or equal to `Number.MAX_SAFE_INTEGER`.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is array-like, else `false`.\n * @example\n *\n * _.isArrayLike([1, 2, 3]);\n * // => true\n *\n * _.isArrayLike(document.body.children);\n * // => true\n *\n * _.isArrayLike('abc');\n * // => true\n *\n * _.isArrayLike(_.noop);\n * // => false\n */\nfunction isArrayLike(value) {\n return value != null && isLength(value.length) && !isFunction(value);\n}\n\n/**\n * Checks if `value` is a buffer.\n *\n * @static\n * @memberOf _\n * @since 4.3.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a buffer, else `false`.\n * @example\n *\n * _.isBuffer(new Buffer(2));\n * // => true\n *\n * _.isBuffer(new Uint8Array(2));\n * // => false\n */\nvar isBuffer = nativeIsBuffer || stubFalse;\n\n/**\n * Performs a deep comparison between two values to determine if they are\n * equivalent.\n *\n * **Note:** This method supports comparing arrays, array buffers, booleans,\n * date objects, error objects, maps, numbers, `Object` objects, regexes,\n * sets, strings, symbols, and typed arrays. `Object` objects are compared\n * by their own, not inherited, enumerable properties. Functions and DOM\n * nodes are compared by strict equality, i.e. `===`.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Lang\n * @param {*} value The value to compare.\n * @param {*} other The other value to compare.\n * @returns {boolean} Returns `true` if the values are equivalent, else `false`.\n * @example\n *\n * var object = { 'a': 1 };\n * var other = { 'a': 1 };\n *\n * _.isEqual(object, other);\n * // => true\n *\n * object === other;\n * // => false\n */\nfunction isEqual(value, other) {\n return baseIsEqual(value, other);\n}\n\n/**\n * Checks if `value` is classified as a `Function` object.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a function, else `false`.\n * @example\n *\n * _.isFunction(_);\n * // => true\n *\n * _.isFunction(/abc/);\n * // => false\n */\nfunction isFunction(value) {\n if (!isObject(value)) {\n return false;\n }\n // The use of `Object#toString` avoids issues with the `typeof` operator\n // in Safari 9 which returns 'object' for typed arrays and other constructors.\n var tag = baseGetTag(value);\n return tag == funcTag || tag == genTag || tag == asyncTag || tag == proxyTag;\n}\n\n/**\n * Checks if `value` is a valid array-like length.\n *\n * **Note:** This method is loosely based on\n * [`ToLength`](http://ecma-international.org/ecma-262/7.0/#sec-tolength).\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a valid length, else `false`.\n * @example\n *\n * _.isLength(3);\n * // => true\n *\n * _.isLength(Number.MIN_VALUE);\n * // => false\n *\n * _.isLength(Infinity);\n * // => false\n *\n * _.isLength('3');\n * // => false\n */\nfunction isLength(value) {\n return typeof value == 'number' &&\n value > -1 && value % 1 == 0 && value <= MAX_SAFE_INTEGER;\n}\n\n/**\n * Checks if `value` is the\n * [language type](http://www.ecma-international.org/ecma-262/7.0/#sec-ecmascript-language-types)\n * of `Object`. (e.g. arrays, functions, objects, regexes, `new Number(0)`, and `new String('')`)\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is an object, else `false`.\n * @example\n *\n * _.isObject({});\n * // => true\n *\n * _.isObject([1, 2, 3]);\n * // => true\n *\n * _.isObject(_.noop);\n * // => true\n *\n * _.isObject(null);\n * // => false\n */\nfunction isObject(value) {\n var type = typeof value;\n return value != null && (type == 'object' || type == 'function');\n}\n\n/**\n * Checks if `value` is object-like. A value is object-like if it's not `null`\n * and has a `typeof` result of \"object\".\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is object-like, else `false`.\n * @example\n *\n * _.isObjectLike({});\n * // => true\n *\n * _.isObjectLike([1, 2, 3]);\n * // => true\n *\n * _.isObjectLike(_.noop);\n * // => false\n *\n * _.isObjectLike(null);\n * // => false\n */\nfunction isObjectLike(value) {\n return value != null && typeof value == 'object';\n}\n\n/**\n * Checks if `value` is classified as a typed array.\n *\n * @static\n * @memberOf _\n * @since 3.0.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a typed array, else `false`.\n * @example\n *\n * _.isTypedArray(new Uint8Array);\n * // => true\n *\n * _.isTypedArray([]);\n * // => false\n */\nvar isTypedArray = nodeIsTypedArray ? baseUnary(nodeIsTypedArray) : baseIsTypedArray;\n\n/**\n * Creates an array of the own enumerable property names of `object`.\n *\n * **Note:** Non-object values are coerced to objects. See the\n * [ES spec](http://ecma-international.org/ecma-262/7.0/#sec-object.keys)\n * for more details.\n *\n * @static\n * @since 0.1.0\n * @memberOf _\n * @category Object\n * @param {Object} object The object to query.\n * @returns {Array} Returns the array of property names.\n * @example\n *\n * function Foo() {\n * this.a = 1;\n * this.b = 2;\n * }\n *\n * Foo.prototype.c = 3;\n *\n * _.keys(new Foo);\n * // => ['a', 'b'] (iteration order is not guaranteed)\n *\n * _.keys('hi');\n * // => ['0', '1']\n */\nfunction keys(object) {\n return isArrayLike(object) ? arrayLikeKeys(object) : baseKeys(object);\n}\n\n/**\n * This method returns a new empty array.\n *\n * @static\n * @memberOf _\n * @since 4.13.0\n * @category Util\n * @returns {Array} Returns the new empty array.\n * @example\n *\n * var arrays = _.times(2, _.stubArray);\n *\n * console.log(arrays);\n * // => [[], []]\n *\n * console.log(arrays[0] === arrays[1]);\n * // => false\n */\nfunction stubArray() {\n return [];\n}\n\n/**\n * This method returns `false`.\n *\n * @static\n * @memberOf _\n * @since 4.13.0\n * @category Util\n * @returns {boolean} Returns `false`.\n * @example\n *\n * _.times(2, _.stubFalse);\n * // => [false, false]\n */\nfunction stubFalse() {\n return false;\n}\n\nmodule.exports = isEqual;\n","/**\n * Copyright (c) 2013-present, Facebook, Inc.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\n'use strict';\n\nvar ReactPropTypesSecret = require('./lib/ReactPropTypesSecret');\n\nfunction emptyFunction() {}\nfunction emptyFunctionWithReset() {}\nemptyFunctionWithReset.resetWarningCache = emptyFunction;\n\nmodule.exports = function() {\n function shim(props, propName, componentName, location, propFullName, secret) {\n if (secret === ReactPropTypesSecret) {\n // It is still safe when called from React.\n return;\n }\n var err = new Error(\n 'Calling PropTypes validators directly is not supported by the `prop-types` package. ' +\n 'Use PropTypes.checkPropTypes() to call them. ' +\n 'Read more at http://fb.me/use-check-prop-types'\n );\n err.name = 'Invariant Violation';\n throw err;\n };\n shim.isRequired = shim;\n function getShim() {\n return shim;\n };\n // Important!\n // Keep this list in sync with production version in `./factoryWithTypeCheckers.js`.\n var ReactPropTypes = {\n array: shim,\n bigint: shim,\n bool: shim,\n func: shim,\n number: shim,\n object: shim,\n string: shim,\n symbol: shim,\n\n any: shim,\n arrayOf: getShim,\n element: shim,\n elementType: shim,\n instanceOf: getShim,\n node: shim,\n objectOf: getShim,\n oneOf: getShim,\n oneOfType: getShim,\n shape: getShim,\n exact: getShim,\n\n checkPropTypes: emptyFunctionWithReset,\n resetWarningCache: emptyFunction\n };\n\n ReactPropTypes.PropTypes = ReactPropTypes;\n\n return ReactPropTypes;\n};\n","/**\n * Copyright (c) 2013-present, Facebook, Inc.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\nif (process.env.NODE_ENV !== 'production') {\n var ReactIs = require('react-is');\n\n // By explicitly using `prop-types` you are opting into new development behavior.\n // http://fb.me/prop-types-in-prod\n var throwOnDirectAccess = true;\n module.exports = require('./factoryWithTypeCheckers')(ReactIs.isElement, throwOnDirectAccess);\n} else {\n // By explicitly using `prop-types` you are opting into new production behavior.\n // http://fb.me/prop-types-in-prod\n module.exports = require('./factoryWithThrowingShims')();\n}\n","/**\n * Copyright (c) 2013-present, Facebook, Inc.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\n'use strict';\n\nvar ReactPropTypesSecret = 'SECRET_DO_NOT_PASS_THIS_OR_YOU_WILL_BE_FIRED';\n\nmodule.exports = ReactPropTypesSecret;\n","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nObject.defineProperty(exports, \"DraggableCore\", {\n enumerable: true,\n get: function () {\n return _DraggableCore.default;\n }\n});\nexports.default = void 0;\nvar React = _interopRequireWildcard(require(\"react\"));\nvar _propTypes = _interopRequireDefault(require(\"prop-types\"));\nvar _reactDom = _interopRequireDefault(require(\"react-dom\"));\nvar _clsx = _interopRequireDefault(require(\"clsx\"));\nvar _domFns = require(\"./utils/domFns\");\nvar _positionFns = require(\"./utils/positionFns\");\nvar _shims = require(\"./utils/shims\");\nvar _DraggableCore = _interopRequireDefault(require(\"./DraggableCore\"));\nvar _log = _interopRequireDefault(require(\"./utils/log\"));\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\nfunction _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== \"function\") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function (nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }\nfunction _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || typeof obj !== \"object\" && typeof obj !== \"function\") { return { default: obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== \"default\" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj.default = obj; if (cache) { cache.set(obj, newObj); } return newObj; }\nfunction _extends() { _extends = Object.assign ? Object.assign.bind() : function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\nfunction _defineProperty(obj, key, value) { key = _toPropertyKey(key); if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\nfunction _toPropertyKey(arg) { var key = _toPrimitive(arg, \"string\"); return typeof key === \"symbol\" ? key : String(key); }\nfunction _toPrimitive(input, hint) { if (typeof input !== \"object\" || input === null) return input; var prim = input[Symbol.toPrimitive]; if (prim !== undefined) { var res = prim.call(input, hint || \"default\"); if (typeof res !== \"object\") return res; throw new TypeError(\"@@toPrimitive must return a primitive value.\"); } return (hint === \"string\" ? String : Number)(input); } /*:: import type {ControlPosition, PositionOffsetControlPosition, DraggableCoreProps, DraggableCoreDefaultProps} from './DraggableCore';*/\n/*:: import type {Bounds, DraggableEventHandler} from './utils/types';*/\n/*:: import type {Element as ReactElement} from 'react';*/\n/*:: type DraggableState = {\n dragging: boolean,\n dragged: boolean,\n x: number, y: number,\n slackX: number, slackY: number,\n isElementSVG: boolean,\n prevPropsPosition: ?ControlPosition,\n};*/\n/*:: export type DraggableDefaultProps = {\n ...DraggableCoreDefaultProps,\n axis: 'both' | 'x' | 'y' | 'none',\n bounds: Bounds | string | false,\n defaultClassName: string,\n defaultClassNameDragging: string,\n defaultClassNameDragged: string,\n defaultPosition: ControlPosition,\n scale: number,\n};*/\n/*:: export type DraggableProps = {\n ...DraggableCoreProps,\n ...DraggableDefaultProps,\n positionOffset: PositionOffsetControlPosition,\n position: ControlPosition,\n};*/\n//\n// Define \n//\nclass Draggable extends React.Component /*:: */{\n // React 16.3+\n // Arity (props, state)\n static getDerivedStateFromProps(_ref /*:: */, _ref2 /*:: */) /*: ?Partial*/{\n let {\n position\n } /*: DraggableProps*/ = _ref /*: DraggableProps*/;\n let {\n prevPropsPosition\n } /*: DraggableState*/ = _ref2 /*: DraggableState*/;\n // Set x/y if a new position is provided in props that is different than the previous.\n if (position && (!prevPropsPosition || position.x !== prevPropsPosition.x || position.y !== prevPropsPosition.y)) {\n (0, _log.default)('Draggable: getDerivedStateFromProps %j', {\n position,\n prevPropsPosition\n });\n return {\n x: position.x,\n y: position.y,\n prevPropsPosition: {\n ...position\n }\n };\n }\n return null;\n }\n constructor(props /*: DraggableProps*/) {\n super(props);\n _defineProperty(this, \"onDragStart\", (e, coreData) => {\n (0, _log.default)('Draggable: onDragStart: %j', coreData);\n\n // Short-circuit if user's callback killed it.\n const shouldStart = this.props.onStart(e, (0, _positionFns.createDraggableData)(this, coreData));\n // Kills start event on core as well, so move handlers are never bound.\n if (shouldStart === false) return false;\n this.setState({\n dragging: true,\n dragged: true\n });\n });\n _defineProperty(this, \"onDrag\", (e, coreData) => {\n if (!this.state.dragging) return false;\n (0, _log.default)('Draggable: onDrag: %j', coreData);\n const uiData = (0, _positionFns.createDraggableData)(this, coreData);\n const newState = {\n x: uiData.x,\n y: uiData.y,\n slackX: 0,\n slackY: 0\n };\n\n // Keep within bounds.\n if (this.props.bounds) {\n // Save original x and y.\n const {\n x,\n y\n } = newState;\n\n // Add slack to the values used to calculate bound position. This will ensure that if\n // we start removing slack, the element won't react to it right away until it's been\n // completely removed.\n newState.x += this.state.slackX;\n newState.y += this.state.slackY;\n\n // Get bound position. This will ceil/floor the x and y within the boundaries.\n const [newStateX, newStateY] = (0, _positionFns.getBoundPosition)(this, newState.x, newState.y);\n newState.x = newStateX;\n newState.y = newStateY;\n\n // Recalculate slack by noting how much was shaved by the boundPosition handler.\n newState.slackX = this.state.slackX + (x - newState.x);\n newState.slackY = this.state.slackY + (y - newState.y);\n\n // Update the event we fire to reflect what really happened after bounds took effect.\n uiData.x = newState.x;\n uiData.y = newState.y;\n uiData.deltaX = newState.x - this.state.x;\n uiData.deltaY = newState.y - this.state.y;\n }\n\n // Short-circuit if user's callback killed it.\n const shouldUpdate = this.props.onDrag(e, uiData);\n if (shouldUpdate === false) return false;\n this.setState(newState);\n });\n _defineProperty(this, \"onDragStop\", (e, coreData) => {\n if (!this.state.dragging) return false;\n\n // Short-circuit if user's callback killed it.\n const shouldContinue = this.props.onStop(e, (0, _positionFns.createDraggableData)(this, coreData));\n if (shouldContinue === false) return false;\n (0, _log.default)('Draggable: onDragStop: %j', coreData);\n const newState /*: Partial*/ = {\n dragging: false,\n slackX: 0,\n slackY: 0\n };\n\n // If this is a controlled component, the result of this operation will be to\n // revert back to the old position. We expect a handler on `onDragStop`, at the least.\n const controlled = Boolean(this.props.position);\n if (controlled) {\n const {\n x,\n y\n } = this.props.position;\n newState.x = x;\n newState.y = y;\n }\n this.setState(newState);\n });\n this.state = {\n // Whether or not we are currently dragging.\n dragging: false,\n // Whether or not we have been dragged before.\n dragged: false,\n // Current transform x and y.\n x: props.position ? props.position.x : props.defaultPosition.x,\n y: props.position ? props.position.y : props.defaultPosition.y,\n prevPropsPosition: {\n ...props.position\n },\n // Used for compensating for out-of-bounds drags\n slackX: 0,\n slackY: 0,\n // Can only determine if SVG after mounting\n isElementSVG: false\n };\n if (props.position && !(props.onDrag || props.onStop)) {\n // eslint-disable-next-line no-console\n console.warn('A `position` was applied to this , without drag handlers. This will make this ' + 'component effectively undraggable. Please attach `onDrag` or `onStop` handlers so you can adjust the ' + '`position` of this element.');\n }\n }\n componentDidMount() {\n // Check to see if the element passed is an instanceof SVGElement\n if (typeof window.SVGElement !== 'undefined' && this.findDOMNode() instanceof window.SVGElement) {\n this.setState({\n isElementSVG: true\n });\n }\n }\n componentWillUnmount() {\n this.setState({\n dragging: false\n }); // prevents invariant if unmounted while dragging\n }\n\n // React Strict Mode compatibility: if `nodeRef` is passed, we will use it instead of trying to find\n // the underlying DOM node ourselves. See the README for more information.\n findDOMNode() /*: ?HTMLElement*/{\n var _this$props$nodeRef$c, _this$props;\n return (_this$props$nodeRef$c = (_this$props = this.props) === null || _this$props === void 0 || (_this$props = _this$props.nodeRef) === null || _this$props === void 0 ? void 0 : _this$props.current) !== null && _this$props$nodeRef$c !== void 0 ? _this$props$nodeRef$c : _reactDom.default.findDOMNode(this);\n }\n render() /*: ReactElement*/{\n const {\n axis,\n bounds,\n children,\n defaultPosition,\n defaultClassName,\n defaultClassNameDragging,\n defaultClassNameDragged,\n position,\n positionOffset,\n scale,\n ...draggableCoreProps\n } = this.props;\n let style = {};\n let svgTransform = null;\n\n // If this is controlled, we don't want to move it - unless it's dragging.\n const controlled = Boolean(position);\n const draggable = !controlled || this.state.dragging;\n const validPosition = position || defaultPosition;\n const transformOpts = {\n // Set left if horizontal drag is enabled\n x: (0, _positionFns.canDragX)(this) && draggable ? this.state.x : validPosition.x,\n // Set top if vertical drag is enabled\n y: (0, _positionFns.canDragY)(this) && draggable ? this.state.y : validPosition.y\n };\n\n // If this element was SVG, we use the `transform` attribute.\n if (this.state.isElementSVG) {\n svgTransform = (0, _domFns.createSVGTransform)(transformOpts, positionOffset);\n } else {\n // Add a CSS transform to move the element around. This allows us to move the element around\n // without worrying about whether or not it is relatively or absolutely positioned.\n // If the item you are dragging already has a transform set, wrap it in a so \n // has a clean slate.\n style = (0, _domFns.createCSSTransform)(transformOpts, positionOffset);\n }\n\n // Mark with class while dragging\n const className = (0, _clsx.default)(children.props.className || '', defaultClassName, {\n [defaultClassNameDragging]: this.state.dragging,\n [defaultClassNameDragged]: this.state.dragged\n });\n\n // Reuse the child provided\n // This makes it flexible to use whatever element is wanted (div, ul, etc)\n return /*#__PURE__*/React.createElement(_DraggableCore.default, _extends({}, draggableCoreProps, {\n onStart: this.onDragStart,\n onDrag: this.onDrag,\n onStop: this.onDragStop\n }), /*#__PURE__*/React.cloneElement(React.Children.only(children), {\n className: className,\n style: {\n ...children.props.style,\n ...style\n },\n transform: svgTransform\n }));\n }\n}\nexports.default = Draggable;\n_defineProperty(Draggable, \"displayName\", 'Draggable');\n_defineProperty(Draggable, \"propTypes\", {\n // Accepts all props accepts.\n ..._DraggableCore.default.propTypes,\n /**\n * `axis` determines which axis the draggable can move.\n *\n * Note that all callbacks will still return data as normal. This only\n * controls flushing to the DOM.\n *\n * 'both' allows movement horizontally and vertically.\n * 'x' limits movement to horizontal axis.\n * 'y' limits movement to vertical axis.\n * 'none' limits all movement.\n *\n * Defaults to 'both'.\n */\n axis: _propTypes.default.oneOf(['both', 'x', 'y', 'none']),\n /**\n * `bounds` determines the range of movement available to the element.\n * Available values are:\n *\n * 'parent' restricts movement within the Draggable's parent node.\n *\n * Alternatively, pass an object with the following properties, all of which are optional:\n *\n * {left: LEFT_BOUND, right: RIGHT_BOUND, bottom: BOTTOM_BOUND, top: TOP_BOUND}\n *\n * All values are in px.\n *\n * Example:\n *\n * ```jsx\n * let App = React.createClass({\n * render: function () {\n * return (\n * \n *

Content
\n *
\n * );\n * }\n * });\n * ```\n */\n bounds: _propTypes.default.oneOfType([_propTypes.default.shape({\n left: _propTypes.default.number,\n right: _propTypes.default.number,\n top: _propTypes.default.number,\n bottom: _propTypes.default.number\n }), _propTypes.default.string, _propTypes.default.oneOf([false])]),\n defaultClassName: _propTypes.default.string,\n defaultClassNameDragging: _propTypes.default.string,\n defaultClassNameDragged: _propTypes.default.string,\n /**\n * `defaultPosition` specifies the x and y that the dragged item should start at\n *\n * Example:\n *\n * ```jsx\n * let App = React.createClass({\n * render: function () {\n * return (\n * \n *
I start with transformX: 25px and transformY: 25px;
\n *
\n * );\n * }\n * });\n * ```\n */\n defaultPosition: _propTypes.default.shape({\n x: _propTypes.default.number,\n y: _propTypes.default.number\n }),\n positionOffset: _propTypes.default.shape({\n x: _propTypes.default.oneOfType([_propTypes.default.number, _propTypes.default.string]),\n y: _propTypes.default.oneOfType([_propTypes.default.number, _propTypes.default.string])\n }),\n /**\n * `position`, if present, defines the current position of the element.\n *\n * This is similar to how form elements in React work - if no `position` is supplied, the component\n * is uncontrolled.\n *\n * Example:\n *\n * ```jsx\n * let App = React.createClass({\n * render: function () {\n * return (\n * \n *
I start with transformX: 25px and transformY: 25px;
\n *
\n * );\n * }\n * });\n * ```\n */\n position: _propTypes.default.shape({\n x: _propTypes.default.number,\n y: _propTypes.default.number\n }),\n /**\n * These properties should be defined on the child, not here.\n */\n className: _shims.dontSetMe,\n style: _shims.dontSetMe,\n transform: _shims.dontSetMe\n});\n_defineProperty(Draggable, \"defaultProps\", {\n ..._DraggableCore.default.defaultProps,\n axis: 'both',\n bounds: false,\n defaultClassName: 'react-draggable',\n defaultClassNameDragging: 'react-draggable-dragging',\n defaultClassNameDragged: 'react-draggable-dragged',\n defaultPosition: {\n x: 0,\n y: 0\n },\n scale: 1\n});","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = void 0;\nvar React = _interopRequireWildcard(require(\"react\"));\nvar _propTypes = _interopRequireDefault(require(\"prop-types\"));\nvar _reactDom = _interopRequireDefault(require(\"react-dom\"));\nvar _domFns = require(\"./utils/domFns\");\nvar _positionFns = require(\"./utils/positionFns\");\nvar _shims = require(\"./utils/shims\");\nvar _log = _interopRequireDefault(require(\"./utils/log\"));\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\nfunction _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== \"function\") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function (nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }\nfunction _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || typeof obj !== \"object\" && typeof obj !== \"function\") { return { default: obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== \"default\" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj.default = obj; if (cache) { cache.set(obj, newObj); } return newObj; }\nfunction _defineProperty(obj, key, value) { key = _toPropertyKey(key); if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\nfunction _toPropertyKey(arg) { var key = _toPrimitive(arg, \"string\"); return typeof key === \"symbol\" ? key : String(key); }\nfunction _toPrimitive(input, hint) { if (typeof input !== \"object\" || input === null) return input; var prim = input[Symbol.toPrimitive]; if (prim !== undefined) { var res = prim.call(input, hint || \"default\"); if (typeof res !== \"object\") return res; throw new TypeError(\"@@toPrimitive must return a primitive value.\"); } return (hint === \"string\" ? String : Number)(input); }\n/*:: import type {EventHandler, MouseTouchEvent} from './utils/types';*/\n/*:: import type {Element as ReactElement} from 'react';*/\n// Simple abstraction for dragging events names.\nconst eventsFor = {\n touch: {\n start: 'touchstart',\n move: 'touchmove',\n stop: 'touchend'\n },\n mouse: {\n start: 'mousedown',\n move: 'mousemove',\n stop: 'mouseup'\n }\n};\n\n// Default to mouse events.\nlet dragEventFor = eventsFor.mouse;\n/*:: export type DraggableData = {\n node: HTMLElement,\n x: number, y: number,\n deltaX: number, deltaY: number,\n lastX: number, lastY: number,\n};*/\n/*:: export type DraggableEventHandler = (e: MouseEvent, data: DraggableData) => void | false;*/\n/*:: export type ControlPosition = {x: number, y: number};*/\n/*:: export type PositionOffsetControlPosition = {x: number|string, y: number|string};*/\n/*:: export type DraggableCoreDefaultProps = {\n allowAnyClick: boolean,\n disabled: boolean,\n enableUserSelectHack: boolean,\n onStart: DraggableEventHandler,\n onDrag: DraggableEventHandler,\n onStop: DraggableEventHandler,\n onMouseDown: (e: MouseEvent) => void,\n scale: number,\n};*/\n/*:: export type DraggableCoreProps = {\n ...DraggableCoreDefaultProps,\n cancel: string,\n children: ReactElement,\n offsetParent: HTMLElement,\n grid: [number, number],\n handle: string,\n nodeRef?: ?React.ElementRef,\n};*/\n//\n// Define .\n//\n// is for advanced usage of . It maintains minimal internal state so it can\n// work well with libraries that require more control over the element.\n//\n\nclass DraggableCore extends React.Component /*:: */{\n constructor() {\n super(...arguments);\n _defineProperty(this, \"dragging\", false);\n // Used while dragging to determine deltas.\n _defineProperty(this, \"lastX\", NaN);\n _defineProperty(this, \"lastY\", NaN);\n _defineProperty(this, \"touchIdentifier\", null);\n _defineProperty(this, \"mounted\", false);\n _defineProperty(this, \"handleDragStart\", e => {\n // Make it possible to attach event handlers on top of this one.\n this.props.onMouseDown(e);\n\n // Only accept left-clicks.\n if (!this.props.allowAnyClick && typeof e.button === 'number' && e.button !== 0) return false;\n\n // Get nodes. Be sure to grab relative document (could be iframed)\n const thisNode = this.findDOMNode();\n if (!thisNode || !thisNode.ownerDocument || !thisNode.ownerDocument.body) {\n throw new Error(' not mounted on DragStart!');\n }\n const {\n ownerDocument\n } = thisNode;\n\n // Short circuit if handle or cancel prop was provided and selector doesn't match.\n if (this.props.disabled || !(e.target instanceof ownerDocument.defaultView.Node) || this.props.handle && !(0, _domFns.matchesSelectorAndParentsTo)(e.target, this.props.handle, thisNode) || this.props.cancel && (0, _domFns.matchesSelectorAndParentsTo)(e.target, this.props.cancel, thisNode)) {\n return;\n }\n\n // Prevent scrolling on mobile devices, like ipad/iphone.\n // Important that this is after handle/cancel.\n if (e.type === 'touchstart') e.preventDefault();\n\n // Set touch identifier in component state if this is a touch event. This allows us to\n // distinguish between individual touches on multitouch screens by identifying which\n // touchpoint was set to this element.\n const touchIdentifier = (0, _domFns.getTouchIdentifier)(e);\n this.touchIdentifier = touchIdentifier;\n\n // Get the current drag point from the event. This is used as the offset.\n const position = (0, _positionFns.getControlPosition)(e, touchIdentifier, this);\n if (position == null) return; // not possible but satisfies flow\n const {\n x,\n y\n } = position;\n\n // Create an event object with all the data parents need to make a decision here.\n const coreEvent = (0, _positionFns.createCoreData)(this, x, y);\n (0, _log.default)('DraggableCore: handleDragStart: %j', coreEvent);\n\n // Call event handler. If it returns explicit false, cancel.\n (0, _log.default)('calling', this.props.onStart);\n const shouldUpdate = this.props.onStart(e, coreEvent);\n if (shouldUpdate === false || this.mounted === false) return;\n\n // Add a style to the body to disable user-select. This prevents text from\n // being selected all over the page.\n if (this.props.enableUserSelectHack) (0, _domFns.addUserSelectStyles)(ownerDocument);\n\n // Initiate dragging. Set the current x and y as offsets\n // so we know how much we've moved during the drag. This allows us\n // to drag elements around even if they have been moved, without issue.\n this.dragging = true;\n this.lastX = x;\n this.lastY = y;\n\n // Add events to the document directly so we catch when the user's mouse/touch moves outside of\n // this element. We use different events depending on whether or not we have detected that this\n // is a touch-capable device.\n (0, _domFns.addEvent)(ownerDocument, dragEventFor.move, this.handleDrag);\n (0, _domFns.addEvent)(ownerDocument, dragEventFor.stop, this.handleDragStop);\n });\n _defineProperty(this, \"handleDrag\", e => {\n // Get the current drag point from the event. This is used as the offset.\n const position = (0, _positionFns.getControlPosition)(e, this.touchIdentifier, this);\n if (position == null) return;\n let {\n x,\n y\n } = position;\n\n // Snap to grid if prop has been provided\n if (Array.isArray(this.props.grid)) {\n let deltaX = x - this.lastX,\n deltaY = y - this.lastY;\n [deltaX, deltaY] = (0, _positionFns.snapToGrid)(this.props.grid, deltaX, deltaY);\n if (!deltaX && !deltaY) return; // skip useless drag\n x = this.lastX + deltaX, y = this.lastY + deltaY;\n }\n const coreEvent = (0, _positionFns.createCoreData)(this, x, y);\n (0, _log.default)('DraggableCore: handleDrag: %j', coreEvent);\n\n // Call event handler. If it returns explicit false, trigger end.\n const shouldUpdate = this.props.onDrag(e, coreEvent);\n if (shouldUpdate === false || this.mounted === false) {\n try {\n // $FlowIgnore\n this.handleDragStop(new MouseEvent('mouseup'));\n } catch (err) {\n // Old browsers\n const event = ((document.createEvent('MouseEvents') /*: any*/) /*: MouseTouchEvent*/);\n // I see why this insanity was deprecated\n // $FlowIgnore\n event.initMouseEvent('mouseup', true, true, window, 0, 0, 0, 0, 0, false, false, false, false, 0, null);\n this.handleDragStop(event);\n }\n return;\n }\n this.lastX = x;\n this.lastY = y;\n });\n _defineProperty(this, \"handleDragStop\", e => {\n if (!this.dragging) return;\n const position = (0, _positionFns.getControlPosition)(e, this.touchIdentifier, this);\n if (position == null) return;\n let {\n x,\n y\n } = position;\n\n // Snap to grid if prop has been provided\n if (Array.isArray(this.props.grid)) {\n let deltaX = x - this.lastX || 0;\n let deltaY = y - this.lastY || 0;\n [deltaX, deltaY] = (0, _positionFns.snapToGrid)(this.props.grid, deltaX, deltaY);\n x = this.lastX + deltaX, y = this.lastY + deltaY;\n }\n const coreEvent = (0, _positionFns.createCoreData)(this, x, y);\n\n // Call event handler\n const shouldContinue = this.props.onStop(e, coreEvent);\n if (shouldContinue === false || this.mounted === false) return false;\n const thisNode = this.findDOMNode();\n if (thisNode) {\n // Remove user-select hack\n if (this.props.enableUserSelectHack) (0, _domFns.removeUserSelectStyles)(thisNode.ownerDocument);\n }\n (0, _log.default)('DraggableCore: handleDragStop: %j', coreEvent);\n\n // Reset the el.\n this.dragging = false;\n this.lastX = NaN;\n this.lastY = NaN;\n if (thisNode) {\n // Remove event handlers\n (0, _log.default)('DraggableCore: Removing handlers');\n (0, _domFns.removeEvent)(thisNode.ownerDocument, dragEventFor.move, this.handleDrag);\n (0, _domFns.removeEvent)(thisNode.ownerDocument, dragEventFor.stop, this.handleDragStop);\n }\n });\n _defineProperty(this, \"onMouseDown\", e => {\n dragEventFor = eventsFor.mouse; // on touchscreen laptops we could switch back to mouse\n\n return this.handleDragStart(e);\n });\n _defineProperty(this, \"onMouseUp\", e => {\n dragEventFor = eventsFor.mouse;\n return this.handleDragStop(e);\n });\n // Same as onMouseDown (start drag), but now consider this a touch device.\n _defineProperty(this, \"onTouchStart\", e => {\n // We're on a touch device now, so change the event handlers\n dragEventFor = eventsFor.touch;\n return this.handleDragStart(e);\n });\n _defineProperty(this, \"onTouchEnd\", e => {\n // We're on a touch device now, so change the event handlers\n dragEventFor = eventsFor.touch;\n return this.handleDragStop(e);\n });\n }\n componentDidMount() {\n this.mounted = true;\n // Touch handlers must be added with {passive: false} to be cancelable.\n // https://developers.google.com/web/updates/2017/01/scrolling-intervention\n const thisNode = this.findDOMNode();\n if (thisNode) {\n (0, _domFns.addEvent)(thisNode, eventsFor.touch.start, this.onTouchStart, {\n passive: false\n });\n }\n }\n componentWillUnmount() {\n this.mounted = false;\n // Remove any leftover event handlers. Remove both touch and mouse handlers in case\n // some browser quirk caused a touch event to fire during a mouse move, or vice versa.\n const thisNode = this.findDOMNode();\n if (thisNode) {\n const {\n ownerDocument\n } = thisNode;\n (0, _domFns.removeEvent)(ownerDocument, eventsFor.mouse.move, this.handleDrag);\n (0, _domFns.removeEvent)(ownerDocument, eventsFor.touch.move, this.handleDrag);\n (0, _domFns.removeEvent)(ownerDocument, eventsFor.mouse.stop, this.handleDragStop);\n (0, _domFns.removeEvent)(ownerDocument, eventsFor.touch.stop, this.handleDragStop);\n (0, _domFns.removeEvent)(thisNode, eventsFor.touch.start, this.onTouchStart, {\n passive: false\n });\n if (this.props.enableUserSelectHack) (0, _domFns.removeUserSelectStyles)(ownerDocument);\n }\n }\n\n // React Strict Mode compatibility: if `nodeRef` is passed, we will use it instead of trying to find\n // the underlying DOM node ourselves. See the README for more information.\n findDOMNode() /*: ?HTMLElement*/{\n var _this$props, _this$props2;\n return (_this$props = this.props) !== null && _this$props !== void 0 && _this$props.nodeRef ? (_this$props2 = this.props) === null || _this$props2 === void 0 || (_this$props2 = _this$props2.nodeRef) === null || _this$props2 === void 0 ? void 0 : _this$props2.current : _reactDom.default.findDOMNode(this);\n }\n render() /*: React.Element*/{\n // Reuse the child provided\n // This makes it flexible to use whatever element is wanted (div, ul, etc)\n return /*#__PURE__*/React.cloneElement(React.Children.only(this.props.children), {\n // Note: mouseMove handler is attached to document so it will still function\n // when the user drags quickly and leaves the bounds of the element.\n onMouseDown: this.onMouseDown,\n onMouseUp: this.onMouseUp,\n // onTouchStart is added on `componentDidMount` so they can be added with\n // {passive: false}, which allows it to cancel. See\n // https://developers.google.com/web/updates/2017/01/scrolling-intervention\n onTouchEnd: this.onTouchEnd\n });\n }\n}\nexports.default = DraggableCore;\n_defineProperty(DraggableCore, \"displayName\", 'DraggableCore');\n_defineProperty(DraggableCore, \"propTypes\", {\n /**\n * `allowAnyClick` allows dragging using any mouse button.\n * By default, we only accept the left button.\n *\n * Defaults to `false`.\n */\n allowAnyClick: _propTypes.default.bool,\n children: _propTypes.default.node.isRequired,\n /**\n * `disabled`, if true, stops the from dragging. All handlers,\n * with the exception of `onMouseDown`, will not fire.\n */\n disabled: _propTypes.default.bool,\n /**\n * By default, we add 'user-select:none' attributes to the document body\n * to prevent ugly text selection during drag. If this is causing problems\n * for your app, set this to `false`.\n */\n enableUserSelectHack: _propTypes.default.bool,\n /**\n * `offsetParent`, if set, uses the passed DOM node to compute drag offsets\n * instead of using the parent node.\n */\n offsetParent: function (props /*: DraggableCoreProps*/, propName /*: $Keys*/) {\n if (props[propName] && props[propName].nodeType !== 1) {\n throw new Error('Draggable\\'s offsetParent must be a DOM Node.');\n }\n },\n /**\n * `grid` specifies the x and y that dragging should snap to.\n */\n grid: _propTypes.default.arrayOf(_propTypes.default.number),\n /**\n * `handle` specifies a selector to be used as the handle that initiates drag.\n *\n * Example:\n *\n * ```jsx\n * let App = React.createClass({\n * render: function () {\n * return (\n * \n *
\n *
Click me to drag
\n *
This is some other content
\n *
\n *
\n * );\n * }\n * });\n * ```\n */\n handle: _propTypes.default.string,\n /**\n * `cancel` specifies a selector to be used to prevent drag initialization.\n *\n * Example:\n *\n * ```jsx\n * let App = React.createClass({\n * render: function () {\n * return(\n * \n *
\n *
You can't drag from here
\n *
Dragging here works fine
\n *
\n *
\n * );\n * }\n * });\n * ```\n */\n cancel: _propTypes.default.string,\n /* If running in React Strict mode, ReactDOM.findDOMNode() is deprecated.\n * Unfortunately, in order for to work properly, we need raw access\n * to the underlying DOM node. If you want to avoid the warning, pass a `nodeRef`\n * as in this example:\n *\n * function MyComponent() {\n * const nodeRef = React.useRef(null);\n * return (\n * \n *
Example Target
\n *
\n * );\n * }\n *\n * This can be used for arbitrarily nested components, so long as the ref ends up\n * pointing to the actual child DOM node and not a custom component.\n */\n nodeRef: _propTypes.default.object,\n /**\n * Called when dragging starts.\n * If this function returns the boolean false, dragging will be canceled.\n */\n onStart: _propTypes.default.func,\n /**\n * Called while dragging.\n * If this function returns the boolean false, dragging will be canceled.\n */\n onDrag: _propTypes.default.func,\n /**\n * Called when dragging stops.\n * If this function returns the boolean false, the drag will remain active.\n */\n onStop: _propTypes.default.func,\n /**\n * A workaround option which can be passed if onMouseDown needs to be accessed,\n * since it'll always be blocked (as there is internal use of onMouseDown)\n */\n onMouseDown: _propTypes.default.func,\n /**\n * `scale`, if set, applies scaling while dragging an element\n */\n scale: _propTypes.default.number,\n /**\n * These properties should be defined on the child, not here.\n */\n className: _shims.dontSetMe,\n style: _shims.dontSetMe,\n transform: _shims.dontSetMe\n});\n_defineProperty(DraggableCore, \"defaultProps\", {\n allowAnyClick: false,\n // by default only accept left click\n disabled: false,\n enableUserSelectHack: true,\n onStart: function () {},\n onDrag: function () {},\n onStop: function () {},\n onMouseDown: function () {},\n scale: 1\n});","\"use strict\";\n\nconst {\n default: Draggable,\n DraggableCore\n} = require('./Draggable');\n\n// Previous versions of this lib exported as the root export. As to no-// them, or TypeScript, we export *both* as the root and as 'default'.\n// See https://github.com/mzabriskie/react-draggable/pull/254\n// and https://github.com/mzabriskie/react-draggable/issues/266\nmodule.exports = Draggable;\nmodule.exports.default = Draggable;\nmodule.exports.DraggableCore = DraggableCore;","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.addClassName = addClassName;\nexports.addEvent = addEvent;\nexports.addUserSelectStyles = addUserSelectStyles;\nexports.createCSSTransform = createCSSTransform;\nexports.createSVGTransform = createSVGTransform;\nexports.getTouch = getTouch;\nexports.getTouchIdentifier = getTouchIdentifier;\nexports.getTranslation = getTranslation;\nexports.innerHeight = innerHeight;\nexports.innerWidth = innerWidth;\nexports.matchesSelector = matchesSelector;\nexports.matchesSelectorAndParentsTo = matchesSelectorAndParentsTo;\nexports.offsetXYFromParent = offsetXYFromParent;\nexports.outerHeight = outerHeight;\nexports.outerWidth = outerWidth;\nexports.removeClassName = removeClassName;\nexports.removeEvent = removeEvent;\nexports.removeUserSelectStyles = removeUserSelectStyles;\nvar _shims = require(\"./shims\");\nvar _getPrefix = _interopRequireWildcard(require(\"./getPrefix\"));\nfunction _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== \"function\") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function (nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }\nfunction _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || typeof obj !== \"object\" && typeof obj !== \"function\") { return { default: obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== \"default\" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj.default = obj; if (cache) { cache.set(obj, newObj); } return newObj; }\n/*:: import type {ControlPosition, PositionOffsetControlPosition, MouseTouchEvent} from './types';*/\nlet matchesSelectorFunc = '';\nfunction matchesSelector(el /*: Node*/, selector /*: string*/) /*: boolean*/{\n if (!matchesSelectorFunc) {\n matchesSelectorFunc = (0, _shims.findInArray)(['matches', 'webkitMatchesSelector', 'mozMatchesSelector', 'msMatchesSelector', 'oMatchesSelector'], function (method) {\n // $FlowIgnore: Doesn't think elements are indexable\n return (0, _shims.isFunction)(el[method]);\n });\n }\n\n // Might not be found entirely (not an Element?) - in that case, bail\n // $FlowIgnore: Doesn't think elements are indexable\n if (!(0, _shims.isFunction)(el[matchesSelectorFunc])) return false;\n\n // $FlowIgnore: Doesn't think elements are indexable\n return el[matchesSelectorFunc](selector);\n}\n\n// Works up the tree to the draggable itself attempting to match selector.\nfunction matchesSelectorAndParentsTo(el /*: Node*/, selector /*: string*/, baseNode /*: Node*/) /*: boolean*/{\n let node = el;\n do {\n if (matchesSelector(node, selector)) return true;\n if (node === baseNode) return false;\n // $FlowIgnore[incompatible-type]\n node = node.parentNode;\n } while (node);\n return false;\n}\nfunction addEvent(el /*: ?Node*/, event /*: string*/, handler /*: Function*/, inputOptions /*: Object*/) /*: void*/{\n if (!el) return;\n const options = {\n capture: true,\n ...inputOptions\n };\n // $FlowIgnore[method-unbinding]\n if (el.addEventListener) {\n el.addEventListener(event, handler, options);\n } else if (el.attachEvent) {\n el.attachEvent('on' + event, handler);\n } else {\n // $FlowIgnore: Doesn't think elements are indexable\n el['on' + event] = handler;\n }\n}\nfunction removeEvent(el /*: ?Node*/, event /*: string*/, handler /*: Function*/, inputOptions /*: Object*/) /*: void*/{\n if (!el) return;\n const options = {\n capture: true,\n ...inputOptions\n };\n // $FlowIgnore[method-unbinding]\n if (el.removeEventListener) {\n el.removeEventListener(event, handler, options);\n } else if (el.detachEvent) {\n el.detachEvent('on' + event, handler);\n } else {\n // $FlowIgnore: Doesn't think elements are indexable\n el['on' + event] = null;\n }\n}\nfunction outerHeight(node /*: HTMLElement*/) /*: number*/{\n // This is deliberately excluding margin for our calculations, since we are using\n // offsetTop which is including margin. See getBoundPosition\n let height = node.clientHeight;\n const computedStyle = node.ownerDocument.defaultView.getComputedStyle(node);\n height += (0, _shims.int)(computedStyle.borderTopWidth);\n height += (0, _shims.int)(computedStyle.borderBottomWidth);\n return height;\n}\nfunction outerWidth(node /*: HTMLElement*/) /*: number*/{\n // This is deliberately excluding margin for our calculations, since we are using\n // offsetLeft which is including margin. See getBoundPosition\n let width = node.clientWidth;\n const computedStyle = node.ownerDocument.defaultView.getComputedStyle(node);\n width += (0, _shims.int)(computedStyle.borderLeftWidth);\n width += (0, _shims.int)(computedStyle.borderRightWidth);\n return width;\n}\nfunction innerHeight(node /*: HTMLElement*/) /*: number*/{\n let height = node.clientHeight;\n const computedStyle = node.ownerDocument.defaultView.getComputedStyle(node);\n height -= (0, _shims.int)(computedStyle.paddingTop);\n height -= (0, _shims.int)(computedStyle.paddingBottom);\n return height;\n}\nfunction innerWidth(node /*: HTMLElement*/) /*: number*/{\n let width = node.clientWidth;\n const computedStyle = node.ownerDocument.defaultView.getComputedStyle(node);\n width -= (0, _shims.int)(computedStyle.paddingLeft);\n width -= (0, _shims.int)(computedStyle.paddingRight);\n return width;\n}\n/*:: interface EventWithOffset {\n clientX: number, clientY: number\n}*/\n// Get from offsetParent\nfunction offsetXYFromParent(evt /*: EventWithOffset*/, offsetParent /*: HTMLElement*/, scale /*: number*/) /*: ControlPosition*/{\n const isBody = offsetParent === offsetParent.ownerDocument.body;\n const offsetParentRect = isBody ? {\n left: 0,\n top: 0\n } : offsetParent.getBoundingClientRect();\n const x = (evt.clientX + offsetParent.scrollLeft - offsetParentRect.left) / scale;\n const y = (evt.clientY + offsetParent.scrollTop - offsetParentRect.top) / scale;\n return {\n x,\n y\n };\n}\nfunction createCSSTransform(controlPos /*: ControlPosition*/, positionOffset /*: PositionOffsetControlPosition*/) /*: Object*/{\n const translation = getTranslation(controlPos, positionOffset, 'px');\n return {\n [(0, _getPrefix.browserPrefixToKey)('transform', _getPrefix.default)]: translation\n };\n}\nfunction createSVGTransform(controlPos /*: ControlPosition*/, positionOffset /*: PositionOffsetControlPosition*/) /*: string*/{\n const translation = getTranslation(controlPos, positionOffset, '');\n return translation;\n}\nfunction getTranslation(_ref /*:: */, positionOffset /*: PositionOffsetControlPosition*/, unitSuffix /*: string*/) /*: string*/{\n let {\n x,\n y\n } /*: ControlPosition*/ = _ref /*: ControlPosition*/;\n let translation = \"translate(\".concat(x).concat(unitSuffix, \",\").concat(y).concat(unitSuffix, \")\");\n if (positionOffset) {\n const defaultX = \"\".concat(typeof positionOffset.x === 'string' ? positionOffset.x : positionOffset.x + unitSuffix);\n const defaultY = \"\".concat(typeof positionOffset.y === 'string' ? positionOffset.y : positionOffset.y + unitSuffix);\n translation = \"translate(\".concat(defaultX, \", \").concat(defaultY, \")\") + translation;\n }\n return translation;\n}\nfunction getTouch(e /*: MouseTouchEvent*/, identifier /*: number*/) /*: ?{clientX: number, clientY: number}*/{\n return e.targetTouches && (0, _shims.findInArray)(e.targetTouches, t => identifier === t.identifier) || e.changedTouches && (0, _shims.findInArray)(e.changedTouches, t => identifier === t.identifier);\n}\nfunction getTouchIdentifier(e /*: MouseTouchEvent*/) /*: ?number*/{\n if (e.targetTouches && e.targetTouches[0]) return e.targetTouches[0].identifier;\n if (e.changedTouches && e.changedTouches[0]) return e.changedTouches[0].identifier;\n}\n\n// User-select Hacks:\n//\n// Useful for preventing blue highlights all over everything when dragging.\n\n// Note we're passing `document` b/c we could be iframed\nfunction addUserSelectStyles(doc /*: ?Document*/) {\n if (!doc) return;\n let styleEl = doc.getElementById('react-draggable-style-el');\n if (!styleEl) {\n styleEl = doc.createElement('style');\n styleEl.type = 'text/css';\n styleEl.id = 'react-draggable-style-el';\n styleEl.innerHTML = '.react-draggable-transparent-selection *::-moz-selection {all: inherit;}\\n';\n styleEl.innerHTML += '.react-draggable-transparent-selection *::selection {all: inherit;}\\n';\n doc.getElementsByTagName('head')[0].appendChild(styleEl);\n }\n if (doc.body) addClassName(doc.body, 'react-draggable-transparent-selection');\n}\nfunction removeUserSelectStyles(doc /*: ?Document*/) {\n if (!doc) return;\n try {\n if (doc.body) removeClassName(doc.body, 'react-draggable-transparent-selection');\n // $FlowIgnore: IE\n if (doc.selection) {\n // $FlowIgnore: IE\n doc.selection.empty();\n } else {\n // Remove selection caused by scroll, unless it's a focused input\n // (we use doc.defaultView in case we're in an iframe)\n const selection = (doc.defaultView || window).getSelection();\n if (selection && selection.type !== 'Caret') {\n selection.removeAllRanges();\n }\n }\n } catch (e) {\n // probably IE\n }\n}\nfunction addClassName(el /*: HTMLElement*/, className /*: string*/) {\n if (el.classList) {\n el.classList.add(className);\n } else {\n if (!el.className.match(new RegExp(\"(?:^|\\\\s)\".concat(className, \"(?!\\\\S)\")))) {\n el.className += \" \".concat(className);\n }\n }\n}\nfunction removeClassName(el /*: HTMLElement*/, className /*: string*/) {\n if (el.classList) {\n el.classList.remove(className);\n } else {\n el.className = el.className.replace(new RegExp(\"(?:^|\\\\s)\".concat(className, \"(?!\\\\S)\"), 'g'), '');\n }\n}","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.browserPrefixToKey = browserPrefixToKey;\nexports.browserPrefixToStyle = browserPrefixToStyle;\nexports.default = void 0;\nexports.getPrefix = getPrefix;\nconst prefixes = ['Moz', 'Webkit', 'O', 'ms'];\nfunction getPrefix() /*: string*/{\n var _window$document;\n let prop /*: string*/ = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : 'transform';\n // Ensure we're running in an environment where there is actually a global\n // `window` obj\n if (typeof window === 'undefined') return '';\n\n // If we're in a pseudo-browser server-side environment, this access\n // path may not exist, so bail out if it doesn't.\n const style = (_window$document = window.document) === null || _window$document === void 0 || (_window$document = _window$document.documentElement) === null || _window$document === void 0 ? void 0 : _window$document.style;\n if (!style) return '';\n if (prop in style) return '';\n for (let i = 0; i < prefixes.length; i++) {\n if (browserPrefixToKey(prop, prefixes[i]) in style) return prefixes[i];\n }\n return '';\n}\nfunction browserPrefixToKey(prop /*: string*/, prefix /*: string*/) /*: string*/{\n return prefix ? \"\".concat(prefix).concat(kebabToTitleCase(prop)) : prop;\n}\nfunction browserPrefixToStyle(prop /*: string*/, prefix /*: string*/) /*: string*/{\n return prefix ? \"-\".concat(prefix.toLowerCase(), \"-\").concat(prop) : prop;\n}\nfunction kebabToTitleCase(str /*: string*/) /*: string*/{\n let out = '';\n let shouldCapitalize = true;\n for (let i = 0; i < str.length; i++) {\n if (shouldCapitalize) {\n out += str[i].toUpperCase();\n shouldCapitalize = false;\n } else if (str[i] === '-') {\n shouldCapitalize = true;\n } else {\n out += str[i];\n }\n }\n return out;\n}\n\n// Default export is the prefix itself, like 'Moz', 'Webkit', etc\n// Note that you may have to re-test for certain things; for instance, Chrome 50\n// can handle unprefixed `transform`, but not unprefixed `user-select`\nvar _default = exports.default = (getPrefix() /*: string*/);","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = log;\n/*eslint no-console:0*/\nfunction log() {\n if (undefined) console.log(...arguments);\n}","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.canDragX = canDragX;\nexports.canDragY = canDragY;\nexports.createCoreData = createCoreData;\nexports.createDraggableData = createDraggableData;\nexports.getBoundPosition = getBoundPosition;\nexports.getControlPosition = getControlPosition;\nexports.snapToGrid = snapToGrid;\nvar _shims = require(\"./shims\");\nvar _domFns = require(\"./domFns\");\n/*:: import type Draggable from '../Draggable';*/\n/*:: import type {Bounds, ControlPosition, DraggableData, MouseTouchEvent} from './types';*/\n/*:: import type DraggableCore from '../DraggableCore';*/\nfunction getBoundPosition(draggable /*: Draggable*/, x /*: number*/, y /*: number*/) /*: [number, number]*/{\n // If no bounds, short-circuit and move on\n if (!draggable.props.bounds) return [x, y];\n\n // Clone new bounds\n let {\n bounds\n } = draggable.props;\n bounds = typeof bounds === 'string' ? bounds : cloneBounds(bounds);\n const node = findDOMNode(draggable);\n if (typeof bounds === 'string') {\n const {\n ownerDocument\n } = node;\n const ownerWindow = ownerDocument.defaultView;\n let boundNode;\n if (bounds === 'parent') {\n boundNode = node.parentNode;\n } else {\n boundNode = ownerDocument.querySelector(bounds);\n }\n if (!(boundNode instanceof ownerWindow.HTMLElement)) {\n throw new Error('Bounds selector \"' + bounds + '\" could not find an element.');\n }\n const boundNodeEl /*: HTMLElement*/ = boundNode; // for Flow, can't seem to refine correctly\n const nodeStyle = ownerWindow.getComputedStyle(node);\n const boundNodeStyle = ownerWindow.getComputedStyle(boundNodeEl);\n // Compute bounds. This is a pain with padding and offsets but this gets it exactly right.\n bounds = {\n left: -node.offsetLeft + (0, _shims.int)(boundNodeStyle.paddingLeft) + (0, _shims.int)(nodeStyle.marginLeft),\n top: -node.offsetTop + (0, _shims.int)(boundNodeStyle.paddingTop) + (0, _shims.int)(nodeStyle.marginTop),\n right: (0, _domFns.innerWidth)(boundNodeEl) - (0, _domFns.outerWidth)(node) - node.offsetLeft + (0, _shims.int)(boundNodeStyle.paddingRight) - (0, _shims.int)(nodeStyle.marginRight),\n bottom: (0, _domFns.innerHeight)(boundNodeEl) - (0, _domFns.outerHeight)(node) - node.offsetTop + (0, _shims.int)(boundNodeStyle.paddingBottom) - (0, _shims.int)(nodeStyle.marginBottom)\n };\n }\n\n // Keep x and y below right and bottom limits...\n if ((0, _shims.isNum)(bounds.right)) x = Math.min(x, bounds.right);\n if ((0, _shims.isNum)(bounds.bottom)) y = Math.min(y, bounds.bottom);\n\n // But above left and top limits.\n if ((0, _shims.isNum)(bounds.left)) x = Math.max(x, bounds.left);\n if ((0, _shims.isNum)(bounds.top)) y = Math.max(y, bounds.top);\n return [x, y];\n}\nfunction snapToGrid(grid /*: [number, number]*/, pendingX /*: number*/, pendingY /*: number*/) /*: [number, number]*/{\n const x = Math.round(pendingX / grid[0]) * grid[0];\n const y = Math.round(pendingY / grid[1]) * grid[1];\n return [x, y];\n}\nfunction canDragX(draggable /*: Draggable*/) /*: boolean*/{\n return draggable.props.axis === 'both' || draggable.props.axis === 'x';\n}\nfunction canDragY(draggable /*: Draggable*/) /*: boolean*/{\n return draggable.props.axis === 'both' || draggable.props.axis === 'y';\n}\n\n// Get {x, y} positions from event.\nfunction getControlPosition(e /*: MouseTouchEvent*/, touchIdentifier /*: ?number*/, draggableCore /*: DraggableCore*/) /*: ?ControlPosition*/{\n const touchObj = typeof touchIdentifier === 'number' ? (0, _domFns.getTouch)(e, touchIdentifier) : null;\n if (typeof touchIdentifier === 'number' && !touchObj) return null; // not the right touch\n const node = findDOMNode(draggableCore);\n // User can provide an offsetParent if desired.\n const offsetParent = draggableCore.props.offsetParent || node.offsetParent || node.ownerDocument.body;\n return (0, _domFns.offsetXYFromParent)(touchObj || e, offsetParent, draggableCore.props.scale);\n}\n\n// Create an data object exposed by 's events\nfunction createCoreData(draggable /*: DraggableCore*/, x /*: number*/, y /*: number*/) /*: DraggableData*/{\n const isStart = !(0, _shims.isNum)(draggable.lastX);\n const node = findDOMNode(draggable);\n if (isStart) {\n // If this is our first move, use the x and y as last coords.\n return {\n node,\n deltaX: 0,\n deltaY: 0,\n lastX: x,\n lastY: y,\n x,\n y\n };\n } else {\n // Otherwise calculate proper values.\n return {\n node,\n deltaX: x - draggable.lastX,\n deltaY: y - draggable.lastY,\n lastX: draggable.lastX,\n lastY: draggable.lastY,\n x,\n y\n };\n }\n}\n\n// Create an data exposed by 's events\nfunction createDraggableData(draggable /*: Draggable*/, coreData /*: DraggableData*/) /*: DraggableData*/{\n const scale = draggable.props.scale;\n return {\n node: coreData.node,\n x: draggable.state.x + coreData.deltaX / scale,\n y: draggable.state.y + coreData.deltaY / scale,\n deltaX: coreData.deltaX / scale,\n deltaY: coreData.deltaY / scale,\n lastX: draggable.state.x,\n lastY: draggable.state.y\n };\n}\n\n// A lot faster than stringify/parse\nfunction cloneBounds(bounds /*: Bounds*/) /*: Bounds*/{\n return {\n left: bounds.left,\n top: bounds.top,\n right: bounds.right,\n bottom: bounds.bottom\n };\n}\nfunction findDOMNode(draggable /*: Draggable | DraggableCore*/) /*: HTMLElement*/{\n const node = draggable.findDOMNode();\n if (!node) {\n throw new Error(': Unmounted during event!');\n }\n // $FlowIgnore we can't assert on HTMLElement due to tests... FIXME\n return node;\n}","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.dontSetMe = dontSetMe;\nexports.findInArray = findInArray;\nexports.int = int;\nexports.isFunction = isFunction;\nexports.isNum = isNum;\n// @credits https://gist.github.com/rogozhnikoff/a43cfed27c41e4e68cdc\nfunction findInArray(array /*: Array | TouchList*/, callback /*: Function*/) /*: any*/{\n for (let i = 0, length = array.length; i < length; i++) {\n if (callback.apply(callback, [array[i], i, array])) return array[i];\n }\n}\nfunction isFunction(func /*: any*/) /*: boolean %checks*/{\n // $FlowIgnore[method-unbinding]\n return typeof func === 'function' || Object.prototype.toString.call(func) === '[object Function]';\n}\nfunction isNum(num /*: any*/) /*: boolean %checks*/{\n return typeof num === 'number' && !isNaN(num);\n}\nfunction int(a /*: string*/) /*: number*/{\n return parseInt(a, 10);\n}\nfunction dontSetMe(props /*: Object*/, propName /*: string*/, componentName /*: string*/) /*: ?Error*/{\n if (props[propName]) {\n return new Error(\"Invalid prop \".concat(propName, \" passed to \").concat(componentName, \" - do not set this, set it on the child.\"));\n }\n}","\"use strict\";\n\nfunction _typeof(obj) { \"@babel/helpers - typeof\"; return _typeof = \"function\" == typeof Symbol && \"symbol\" == typeof Symbol.iterator ? function (obj) { return typeof obj; } : function (obj) { return obj && \"function\" == typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; }, _typeof(obj); }\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = void 0;\n\nvar _react = _interopRequireDefault(require(\"react\"));\n\nvar _propTypes = _interopRequireDefault(require(\"prop-types\"));\n\nvar _reactDraggable = require(\"react-draggable\");\n\nvar _reactResizable = require(\"react-resizable\");\n\nvar _utils = require(\"./utils\");\n\nvar _calculateUtils = require(\"./calculateUtils\");\n\nvar _ReactGridLayoutPropTypes = require(\"./ReactGridLayoutPropTypes\");\n\nvar _clsx = _interopRequireDefault(require(\"clsx\"));\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }\n\nfunction _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { _defineProperty(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } }\n\nfunction _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); Object.defineProperty(Constructor, \"prototype\", { writable: false }); return Constructor; }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function\"); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, writable: true, configurable: true } }); Object.defineProperty(subClass, \"prototype\", { writable: false }); if (superClass) _setPrototypeOf(subClass, superClass); }\n\nfunction _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); }\n\nfunction _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = _getPrototypeOf(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = _getPrototypeOf(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return _possibleConstructorReturn(this, result); }; }\n\nfunction _possibleConstructorReturn(self, call) { if (call && (_typeof(call) === \"object\" || typeof call === \"function\")) { return call; } else if (call !== void 0) { throw new TypeError(\"Derived constructors may only return object or undefined\"); } return _assertThisInitialized(self); }\n\nfunction _assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return self; }\n\nfunction _isNativeReflectConstruct() { if (typeof Reflect === \"undefined\" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === \"function\") return true; try { Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); return true; } catch (e) { return false; } }\n\nfunction _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return _getPrototypeOf(o); }\n\nfunction _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\n\n/**\n * An individual item within a ReactGridLayout.\n */\nvar GridItem = /*#__PURE__*/function (_React$Component) {\n _inherits(GridItem, _React$Component);\n\n var _super = _createSuper(GridItem);\n\n function GridItem() {\n var _this;\n\n _classCallCheck(this, GridItem);\n\n for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n\n _this = _super.call.apply(_super, [this].concat(args));\n\n _defineProperty(_assertThisInitialized(_this), \"state\", {\n resizing: null,\n dragging: null,\n className: \"\"\n });\n\n _defineProperty(_assertThisInitialized(_this), \"elementRef\", /*#__PURE__*/_react.default.createRef());\n\n _defineProperty(_assertThisInitialized(_this), \"onDragStart\", function (e, _ref) {\n var node = _ref.node;\n var _this$props = _this.props,\n onDragStart = _this$props.onDragStart,\n transformScale = _this$props.transformScale;\n if (!onDragStart) return;\n var newPosition\n /*: PartialPosition*/\n = {\n top: 0,\n left: 0\n }; // TODO: this wont work on nested parents\n\n var offsetParent = node.offsetParent;\n if (!offsetParent) return;\n var parentRect = offsetParent.getBoundingClientRect();\n var clientRect = node.getBoundingClientRect();\n var cLeft = clientRect.left / transformScale;\n var pLeft = parentRect.left / transformScale;\n var cTop = clientRect.top / transformScale;\n var pTop = parentRect.top / transformScale;\n newPosition.left = cLeft - pLeft + offsetParent.scrollLeft;\n newPosition.top = cTop - pTop + offsetParent.scrollTop;\n\n _this.setState({\n dragging: newPosition\n }); // Call callback with this data\n\n\n var _calcXY = (0, _calculateUtils.calcXY)(_this.getPositionParams(), newPosition.top, newPosition.left, _this.props.w, _this.props.h),\n x = _calcXY.x,\n y = _calcXY.y;\n\n return onDragStart.call(_assertThisInitialized(_this), _this.props.i, x, y, {\n e: e,\n node: node,\n newPosition: newPosition\n });\n });\n\n _defineProperty(_assertThisInitialized(_this), \"onDrag\", function (e, _ref2) {\n var node = _ref2.node,\n deltaX = _ref2.deltaX,\n deltaY = _ref2.deltaY;\n var onDrag = _this.props.onDrag;\n if (!onDrag) return;\n\n if (!_this.state.dragging) {\n throw new Error(\"onDrag called before onDragStart.\");\n }\n\n var top = _this.state.dragging.top + deltaY;\n var left = _this.state.dragging.left + deltaX;\n var _this$props2 = _this.props,\n isBounded = _this$props2.isBounded,\n i = _this$props2.i,\n w = _this$props2.w,\n h = _this$props2.h,\n containerWidth = _this$props2.containerWidth;\n\n var positionParams = _this.getPositionParams(); // Boundary calculations; keeps items within the grid\n\n\n if (isBounded) {\n var offsetParent = node.offsetParent;\n\n if (offsetParent) {\n var _this$props3 = _this.props,\n margin = _this$props3.margin,\n rowHeight = _this$props3.rowHeight;\n var bottomBoundary = offsetParent.clientHeight - (0, _calculateUtils.calcGridItemWHPx)(h, rowHeight, margin[1]);\n top = (0, _calculateUtils.clamp)(top, 0, bottomBoundary);\n var colWidth = (0, _calculateUtils.calcGridColWidth)(positionParams);\n var rightBoundary = containerWidth - (0, _calculateUtils.calcGridItemWHPx)(w, colWidth, margin[0]);\n left = (0, _calculateUtils.clamp)(left, 0, rightBoundary);\n }\n }\n\n var newPosition\n /*: PartialPosition*/\n = {\n top: top,\n left: left\n };\n\n _this.setState({\n dragging: newPosition\n }); // Call callback with this data\n\n\n var _calcXY2 = (0, _calculateUtils.calcXY)(positionParams, top, left, w, h),\n x = _calcXY2.x,\n y = _calcXY2.y;\n\n return onDrag.call(_assertThisInitialized(_this), i, x, y, {\n e: e,\n node: node,\n newPosition: newPosition\n });\n });\n\n _defineProperty(_assertThisInitialized(_this), \"onDragStop\", function (e, _ref3) {\n var node = _ref3.node;\n var onDragStop = _this.props.onDragStop;\n if (!onDragStop) return;\n\n if (!_this.state.dragging) {\n throw new Error(\"onDragEnd called before onDragStart.\");\n }\n\n var _this$props4 = _this.props,\n w = _this$props4.w,\n h = _this$props4.h,\n i = _this$props4.i;\n var _this$state$dragging = _this.state.dragging,\n left = _this$state$dragging.left,\n top = _this$state$dragging.top;\n var newPosition\n /*: PartialPosition*/\n = {\n top: top,\n left: left\n };\n\n _this.setState({\n dragging: null\n });\n\n var _calcXY3 = (0, _calculateUtils.calcXY)(_this.getPositionParams(), top, left, w, h),\n x = _calcXY3.x,\n y = _calcXY3.y;\n\n return onDragStop.call(_assertThisInitialized(_this), i, x, y, {\n e: e,\n node: node,\n newPosition: newPosition\n });\n });\n\n _defineProperty(_assertThisInitialized(_this), \"onResizeStop\", function (e, callbackData) {\n _this.onResizeHandler(e, callbackData, \"onResizeStop\");\n });\n\n _defineProperty(_assertThisInitialized(_this), \"onResizeStart\", function (e, callbackData) {\n _this.onResizeHandler(e, callbackData, \"onResizeStart\");\n });\n\n _defineProperty(_assertThisInitialized(_this), \"onResize\", function (e, callbackData) {\n _this.onResizeHandler(e, callbackData, \"onResize\");\n });\n\n return _this;\n }\n\n _createClass(GridItem, [{\n key: \"shouldComponentUpdate\",\n value: function shouldComponentUpdate(nextProps\n /*: Props*/\n , nextState\n /*: State*/\n )\n /*: boolean*/\n {\n // We can't deeply compare children. If the developer memoizes them, we can\n // use this optimization.\n if (this.props.children !== nextProps.children) return true;\n if (this.props.droppingPosition !== nextProps.droppingPosition) return true; // TODO memoize these calculations so they don't take so long?\n\n var oldPosition = (0, _calculateUtils.calcGridItemPosition)(this.getPositionParams(this.props), this.props.x, this.props.y, this.props.w, this.props.h, this.state);\n var newPosition = (0, _calculateUtils.calcGridItemPosition)(this.getPositionParams(nextProps), nextProps.x, nextProps.y, nextProps.w, nextProps.h, nextState);\n return !(0, _utils.fastPositionEqual)(oldPosition, newPosition) || this.props.useCSSTransforms !== nextProps.useCSSTransforms;\n }\n }, {\n key: \"componentDidMount\",\n value: function componentDidMount() {\n this.moveDroppingItem({});\n }\n }, {\n key: \"componentDidUpdate\",\n value: function componentDidUpdate(prevProps\n /*: Props*/\n ) {\n this.moveDroppingItem(prevProps);\n } // When a droppingPosition is present, this means we should fire a move event, as if we had moved\n // this element by `x, y` pixels.\n\n }, {\n key: \"moveDroppingItem\",\n value: function moveDroppingItem(prevProps\n /*: Props*/\n ) {\n var droppingPosition = this.props.droppingPosition;\n if (!droppingPosition) return;\n var node = this.elementRef.current; // Can't find DOM node (are we unmounted?)\n\n if (!node) return;\n var prevDroppingPosition = prevProps.droppingPosition || {\n left: 0,\n top: 0\n };\n var dragging = this.state.dragging;\n var shouldDrag = dragging && droppingPosition.left !== prevDroppingPosition.left || droppingPosition.top !== prevDroppingPosition.top;\n\n if (!dragging) {\n this.onDragStart(droppingPosition.e, {\n node: node,\n deltaX: droppingPosition.left,\n deltaY: droppingPosition.top\n });\n } else if (shouldDrag) {\n var deltaX = droppingPosition.left - dragging.left;\n var deltaY = droppingPosition.top - dragging.top;\n this.onDrag(droppingPosition.e, {\n node: node,\n deltaX: deltaX,\n deltaY: deltaY\n });\n }\n }\n }, {\n key: \"getPositionParams\",\n value: function getPositionParams()\n /*: PositionParams*/\n {\n var props\n /*: Props*/\n = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : this.props;\n return {\n cols: props.cols,\n containerPadding: props.containerPadding,\n containerWidth: props.containerWidth,\n margin: props.margin,\n maxRows: props.maxRows,\n rowHeight: props.rowHeight\n };\n }\n /**\n * This is where we set the grid item's absolute placement. It gets a little tricky because we want to do it\n * well when server rendering, and the only way to do that properly is to use percentage width/left because\n * we don't know exactly what the browser viewport is.\n * Unfortunately, CSS Transforms, which are great for performance, break in this instance because a percentage\n * left is relative to the item itself, not its container! So we cannot use them on the server rendering pass.\n *\n * @param {Object} pos Position object with width, height, left, top.\n * @return {Object} Style object.\n */\n\n }, {\n key: \"createStyle\",\n value: function createStyle(pos\n /*: Position*/\n )\n /*: { [key: string]: ?string }*/\n {\n var _this$props5 = this.props,\n usePercentages = _this$props5.usePercentages,\n containerWidth = _this$props5.containerWidth,\n useCSSTransforms = _this$props5.useCSSTransforms;\n var style; // CSS Transforms support (default)\n\n if (useCSSTransforms) {\n style = (0, _utils.setTransform)(pos);\n } else {\n // top,left (slow)\n style = (0, _utils.setTopLeft)(pos); // This is used for server rendering.\n\n if (usePercentages) {\n style.left = (0, _utils.perc)(pos.left / containerWidth);\n style.width = (0, _utils.perc)(pos.width / containerWidth);\n }\n }\n\n return style;\n }\n /**\n * Mix a Draggable instance into a child.\n * @param {Element} child Child element.\n * @return {Element} Child wrapped in Draggable.\n */\n\n }, {\n key: \"mixinDraggable\",\n value: function mixinDraggable(child\n /*: ReactElement*/\n , isDraggable\n /*: boolean*/\n )\n /*: ReactElement*/\n {\n return /*#__PURE__*/_react.default.createElement(_reactDraggable.DraggableCore, {\n disabled: !isDraggable,\n onStart: this.onDragStart,\n onDrag: this.onDrag,\n onStop: this.onDragStop,\n handle: this.props.handle,\n cancel: \".react-resizable-handle\" + (this.props.cancel ? \",\" + this.props.cancel : \"\"),\n scale: this.props.transformScale,\n nodeRef: this.elementRef\n }, child);\n }\n /**\n * Mix a Resizable instance into a child.\n * @param {Element} child Child element.\n * @param {Object} position Position object (pixel values)\n * @return {Element} Child wrapped in Resizable.\n */\n\n }, {\n key: \"mixinResizable\",\n value: function mixinResizable(child\n /*: ReactElement*/\n , position\n /*: Position*/\n , isResizable\n /*: boolean*/\n )\n /*: ReactElement*/\n {\n var _this$props6 = this.props,\n cols = _this$props6.cols,\n x = _this$props6.x,\n minW = _this$props6.minW,\n minH = _this$props6.minH,\n maxW = _this$props6.maxW,\n maxH = _this$props6.maxH,\n transformScale = _this$props6.transformScale,\n resizeHandles = _this$props6.resizeHandles,\n resizeHandle = _this$props6.resizeHandle;\n var positionParams = this.getPositionParams(); // This is the max possible width - doesn't go to infinity because of the width of the window\n\n var maxWidth = (0, _calculateUtils.calcGridItemPosition)(positionParams, 0, 0, cols - x, 0).width; // Calculate min/max constraints using our min & maxes\n\n var mins = (0, _calculateUtils.calcGridItemPosition)(positionParams, 0, 0, minW, minH);\n var maxes = (0, _calculateUtils.calcGridItemPosition)(positionParams, 0, 0, maxW, maxH);\n var minConstraints = [mins.width, mins.height];\n var maxConstraints = [Math.min(maxes.width, maxWidth), Math.min(maxes.height, Infinity)];\n return /*#__PURE__*/_react.default.createElement(_reactResizable.Resizable // These are opts for the resize handle itself\n , {\n draggableOpts: {\n disabled: !isResizable\n },\n className: isResizable ? undefined : \"react-resizable-hide\",\n width: position.width,\n height: position.height,\n minConstraints: minConstraints,\n maxConstraints: maxConstraints,\n onResizeStop: this.onResizeStop,\n onResizeStart: this.onResizeStart,\n onResize: this.onResize,\n transformScale: transformScale,\n resizeHandles: resizeHandles,\n handle: resizeHandle\n }, child);\n }\n /**\n * onDragStart event handler\n * @param {Event} e event data\n * @param {Object} callbackData an object with node, delta and position information\n */\n\n }, {\n key: \"onResizeHandler\",\n value:\n /**\n * Wrapper around drag events to provide more useful data.\n * All drag events call the function with the given handler name,\n * with the signature (index, x, y).\n *\n * @param {String} handlerName Handler name to wrap.\n * @return {Function} Handler function.\n */\n function onResizeHandler(e\n /*: Event*/\n , _ref4, handlerName\n /*: string*/\n )\n /*: void*/\n {\n var node = _ref4.node,\n size = _ref4.size;\n var handler = this.props[handlerName];\n if (!handler) return;\n var _this$props7 = this.props,\n cols = _this$props7.cols,\n x = _this$props7.x,\n y = _this$props7.y,\n i = _this$props7.i,\n maxH = _this$props7.maxH,\n minH = _this$props7.minH;\n var _this$props8 = this.props,\n minW = _this$props8.minW,\n maxW = _this$props8.maxW; // Get new XY\n\n var _calcWH = (0, _calculateUtils.calcWH)(this.getPositionParams(), size.width, size.height, x, y),\n w = _calcWH.w,\n h = _calcWH.h; // minW should be at least 1 (TODO propTypes validation?)\n\n\n minW = Math.max(minW, 1); // maxW should be at most (cols - x)\n\n maxW = Math.min(maxW, cols - x); // Min/max capping\n\n w = (0, _calculateUtils.clamp)(w, minW, maxW);\n h = (0, _calculateUtils.clamp)(h, minH, maxH);\n this.setState({\n resizing: handlerName === \"onResizeStop\" ? null : size\n });\n handler.call(this, i, w, h, {\n e: e,\n node: node,\n size: size\n });\n }\n }, {\n key: \"render\",\n value: function render()\n /*: ReactNode*/\n {\n var _this$props9 = this.props,\n x = _this$props9.x,\n y = _this$props9.y,\n w = _this$props9.w,\n h = _this$props9.h,\n isDraggable = _this$props9.isDraggable,\n isResizable = _this$props9.isResizable,\n droppingPosition = _this$props9.droppingPosition,\n useCSSTransforms = _this$props9.useCSSTransforms;\n var pos = (0, _calculateUtils.calcGridItemPosition)(this.getPositionParams(), x, y, w, h, this.state);\n\n var child = _react.default.Children.only(this.props.children); // Create the child element. We clone the existing element but modify its className and style.\n\n\n var newChild = /*#__PURE__*/_react.default.cloneElement(child, {\n ref: this.elementRef,\n className: (0, _clsx.default)(\"react-grid-item\", child.props.className, this.props.className, {\n static: this.props.static,\n resizing: Boolean(this.state.resizing),\n \"react-draggable\": isDraggable,\n \"react-draggable-dragging\": Boolean(this.state.dragging),\n dropping: Boolean(droppingPosition),\n cssTransforms: useCSSTransforms\n }),\n // We can set the width and height on the child, but unfortunately we can't set the position.\n style: _objectSpread(_objectSpread(_objectSpread({}, this.props.style), child.props.style), this.createStyle(pos))\n }); // Resizable support. This is usually on but the user can toggle it off.\n\n\n newChild = this.mixinResizable(newChild, pos, isResizable); // Draggable support. This is always on, except for with placeholders.\n\n newChild = this.mixinDraggable(newChild, isDraggable);\n return newChild;\n }\n }]);\n\n return GridItem;\n}(_react.default.Component);\n\nexports.default = GridItem;\n\n_defineProperty(GridItem, \"propTypes\", {\n // Children must be only a single element\n children: _propTypes.default.element,\n // General grid attributes\n cols: _propTypes.default.number.isRequired,\n containerWidth: _propTypes.default.number.isRequired,\n rowHeight: _propTypes.default.number.isRequired,\n margin: _propTypes.default.array.isRequired,\n maxRows: _propTypes.default.number.isRequired,\n containerPadding: _propTypes.default.array.isRequired,\n // These are all in grid units\n x: _propTypes.default.number.isRequired,\n y: _propTypes.default.number.isRequired,\n w: _propTypes.default.number.isRequired,\n h: _propTypes.default.number.isRequired,\n // All optional\n minW: function minW(props\n /*: Props*/\n , propName\n /*: string*/\n ) {\n var value = props[propName];\n if (typeof value !== \"number\") return new Error(\"minWidth not Number\");\n if (value > props.w || value > props.maxW) return new Error(\"minWidth larger than item width/maxWidth\");\n },\n maxW: function maxW(props\n /*: Props*/\n , propName\n /*: string*/\n ) {\n var value = props[propName];\n if (typeof value !== \"number\") return new Error(\"maxWidth not Number\");\n if (value < props.w || value < props.minW) return new Error(\"maxWidth smaller than item width/minWidth\");\n },\n minH: function minH(props\n /*: Props*/\n , propName\n /*: string*/\n ) {\n var value = props[propName];\n if (typeof value !== \"number\") return new Error(\"minHeight not Number\");\n if (value > props.h || value > props.maxH) return new Error(\"minHeight larger than item height/maxHeight\");\n },\n maxH: function maxH(props\n /*: Props*/\n , propName\n /*: string*/\n ) {\n var value = props[propName];\n if (typeof value !== \"number\") return new Error(\"maxHeight not Number\");\n if (value < props.h || value < props.minH) return new Error(\"maxHeight smaller than item height/minHeight\");\n },\n // ID is nice to have for callbacks\n i: _propTypes.default.string.isRequired,\n // Resize handle options\n resizeHandles: _ReactGridLayoutPropTypes.resizeHandleAxesType,\n resizeHandle: _ReactGridLayoutPropTypes.resizeHandleType,\n // Functions\n onDragStop: _propTypes.default.func,\n onDragStart: _propTypes.default.func,\n onDrag: _propTypes.default.func,\n onResizeStop: _propTypes.default.func,\n onResizeStart: _propTypes.default.func,\n onResize: _propTypes.default.func,\n // Flags\n isDraggable: _propTypes.default.bool.isRequired,\n isResizable: _propTypes.default.bool.isRequired,\n isBounded: _propTypes.default.bool.isRequired,\n static: _propTypes.default.bool,\n // Use CSS transforms instead of top/left\n useCSSTransforms: _propTypes.default.bool.isRequired,\n transformScale: _propTypes.default.number,\n // Others\n className: _propTypes.default.string,\n // Selector for draggable handle\n handle: _propTypes.default.string,\n // Selector for draggable cancel (see react-draggable)\n cancel: _propTypes.default.string,\n // Current position of a dropping element\n droppingPosition: _propTypes.default.shape({\n e: _propTypes.default.object.isRequired,\n left: _propTypes.default.number.isRequired,\n top: _propTypes.default.number.isRequired\n })\n});\n\n_defineProperty(GridItem, \"defaultProps\", {\n className: \"\",\n cancel: \"\",\n handle: \"\",\n minH: 1,\n minW: 1,\n maxH: Infinity,\n maxW: Infinity,\n transformScale: 1\n});","\"use strict\";\n\nfunction _typeof(obj) { \"@babel/helpers - typeof\"; return _typeof = \"function\" == typeof Symbol && \"symbol\" == typeof Symbol.iterator ? function (obj) { return typeof obj; } : function (obj) { return obj && \"function\" == typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; }, _typeof(obj); }\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = void 0;\n\nvar React = _interopRequireWildcard(require(\"react\"));\n\nvar _lodash = _interopRequireDefault(require(\"lodash.isequal\"));\n\nvar _clsx = _interopRequireDefault(require(\"clsx\"));\n\nvar _utils = require(\"./utils\");\n\nvar _calculateUtils = require(\"./calculateUtils\");\n\nvar _GridItem = _interopRequireDefault(require(\"./GridItem\"));\n\nvar _ReactGridLayoutPropTypes = _interopRequireDefault(require(\"./ReactGridLayoutPropTypes\"));\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== \"function\") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }\n\nfunction _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || _typeof(obj) !== \"object\" && typeof obj !== \"function\") { return { default: obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== \"default\" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj.default = obj; if (cache) { cache.set(obj, newObj); } return newObj; }\n\nfunction _toConsumableArray(arr) { return _arrayWithoutHoles(arr) || _iterableToArray(arr) || _unsupportedIterableToArray(arr) || _nonIterableSpread(); }\n\nfunction _nonIterableSpread() { throw new TypeError(\"Invalid attempt to spread non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\"); }\n\nfunction _iterableToArray(iter) { if (typeof Symbol !== \"undefined\" && iter[Symbol.iterator] != null || iter[\"@@iterator\"] != null) return Array.from(iter); }\n\nfunction _arrayWithoutHoles(arr) { if (Array.isArray(arr)) return _arrayLikeToArray(arr); }\n\nfunction ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }\n\nfunction _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { _defineProperty(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }\n\nfunction _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest(); }\n\nfunction _nonIterableRest() { throw new TypeError(\"Invalid attempt to destructure non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\"); }\n\nfunction _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === \"string\") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === \"Object\" && o.constructor) n = o.constructor.name; if (n === \"Map\" || n === \"Set\") return Array.from(o); if (n === \"Arguments\" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }\n\nfunction _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) { arr2[i] = arr[i]; } return arr2; }\n\nfunction _iterableToArrayLimit(arr, i) { var _i = arr == null ? null : typeof Symbol !== \"undefined\" && arr[Symbol.iterator] || arr[\"@@iterator\"]; if (_i == null) return; var _arr = []; var _n = true; var _d = false; var _s, _e; try { for (_i = _i.call(arr); !(_n = (_s = _i.next()).done); _n = true) { _arr.push(_s.value); if (i && _arr.length === i) break; } } catch (err) { _d = true; _e = err; } finally { try { if (!_n && _i[\"return\"] != null) _i[\"return\"](); } finally { if (_d) throw _e; } } return _arr; }\n\nfunction _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } }\n\nfunction _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); Object.defineProperty(Constructor, \"prototype\", { writable: false }); return Constructor; }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function\"); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, writable: true, configurable: true } }); Object.defineProperty(subClass, \"prototype\", { writable: false }); if (superClass) _setPrototypeOf(subClass, superClass); }\n\nfunction _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); }\n\nfunction _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = _getPrototypeOf(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = _getPrototypeOf(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return _possibleConstructorReturn(this, result); }; }\n\nfunction _possibleConstructorReturn(self, call) { if (call && (_typeof(call) === \"object\" || typeof call === \"function\")) { return call; } else if (call !== void 0) { throw new TypeError(\"Derived constructors may only return object or undefined\"); } return _assertThisInitialized(self); }\n\nfunction _assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return self; }\n\nfunction _isNativeReflectConstruct() { if (typeof Reflect === \"undefined\" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === \"function\") return true; try { Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); return true; } catch (e) { return false; } }\n\nfunction _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return _getPrototypeOf(o); }\n\nfunction _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\n\n// End Types\nvar layoutClassName = \"react-grid-layout\";\nvar isFirefox = false; // Try...catch will protect from navigator not existing (e.g. node) or a bad implementation of navigator\n\ntry {\n isFirefox = /firefox/i.test(navigator.userAgent);\n} catch (e) {\n /* Ignore */\n}\n/**\n * A reactive, fluid grid layout with draggable, resizable components.\n */\n\n\nvar ReactGridLayout = /*#__PURE__*/function (_React$Component) {\n _inherits(ReactGridLayout, _React$Component);\n\n var _super = _createSuper(ReactGridLayout);\n\n function ReactGridLayout() {\n var _this;\n\n _classCallCheck(this, ReactGridLayout);\n\n for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n\n _this = _super.call.apply(_super, [this].concat(args));\n\n _defineProperty(_assertThisInitialized(_this), \"state\", {\n activeDrag: null,\n layout: (0, _utils.synchronizeLayoutWithChildren)(_this.props.layout, _this.props.children, _this.props.cols, // Legacy support for verticalCompact: false\n (0, _utils.compactType)(_this.props), _this.props.allowOverlap),\n mounted: false,\n oldDragItem: null,\n oldLayout: null,\n oldResizeItem: null,\n droppingDOMNode: null,\n children: []\n });\n\n _defineProperty(_assertThisInitialized(_this), \"dragEnterCounter\", 0);\n\n _defineProperty(_assertThisInitialized(_this), \"onDragStart\", function (i\n /*: string*/\n , x\n /*: number*/\n , y\n /*: number*/\n , _ref) {\n var e = _ref.e,\n node = _ref.node;\n var layout = _this.state.layout;\n var l = (0, _utils.getLayoutItem)(layout, i);\n if (!l) return;\n\n _this.setState({\n oldDragItem: (0, _utils.cloneLayoutItem)(l),\n oldLayout: layout\n });\n\n return _this.props.onDragStart(layout, l, l, null, e, node);\n });\n\n _defineProperty(_assertThisInitialized(_this), \"onDrag\", function (i, x, y, _ref2) {\n var e = _ref2.e,\n node = _ref2.node;\n var oldDragItem = _this.state.oldDragItem;\n var layout = _this.state.layout;\n var _this$props = _this.props,\n cols = _this$props.cols,\n allowOverlap = _this$props.allowOverlap,\n preventCollision = _this$props.preventCollision;\n var l = (0, _utils.getLayoutItem)(layout, i);\n if (!l) return; // Create placeholder (display only)\n\n var placeholder = {\n w: l.w,\n h: l.h,\n x: l.x,\n y: l.y,\n placeholder: true,\n i: i\n }; // Move the element to the dragged location.\n\n var isUserAction = true;\n layout = (0, _utils.moveElement)(layout, l, x, y, isUserAction, preventCollision, (0, _utils.compactType)(_this.props), cols, allowOverlap);\n\n _this.props.onDrag(layout, oldDragItem, l, placeholder, e, node);\n\n _this.setState({\n layout: allowOverlap ? layout : (0, _utils.compact)(layout, (0, _utils.compactType)(_this.props), cols),\n activeDrag: placeholder\n });\n });\n\n _defineProperty(_assertThisInitialized(_this), \"onDragStop\", function (i, x, y, _ref3) {\n var e = _ref3.e,\n node = _ref3.node;\n if (!_this.state.activeDrag) return;\n var oldDragItem = _this.state.oldDragItem;\n var layout = _this.state.layout;\n var _this$props2 = _this.props,\n cols = _this$props2.cols,\n preventCollision = _this$props2.preventCollision,\n allowOverlap = _this$props2.allowOverlap;\n var l = (0, _utils.getLayoutItem)(layout, i);\n if (!l) return; // Move the element here\n\n var isUserAction = true;\n layout = (0, _utils.moveElement)(layout, l, x, y, isUserAction, preventCollision, (0, _utils.compactType)(_this.props), cols, allowOverlap);\n\n _this.props.onDragStop(layout, oldDragItem, l, null, e, node); // Set state\n\n\n var newLayout = allowOverlap ? layout : (0, _utils.compact)(layout, (0, _utils.compactType)(_this.props), cols);\n var oldLayout = _this.state.oldLayout;\n\n _this.setState({\n activeDrag: null,\n layout: newLayout,\n oldDragItem: null,\n oldLayout: null\n });\n\n _this.onLayoutMaybeChanged(newLayout, oldLayout);\n });\n\n _defineProperty(_assertThisInitialized(_this), \"onResizeStart\", function (i, w, h, _ref4) {\n var e = _ref4.e,\n node = _ref4.node;\n var layout = _this.state.layout;\n var l = (0, _utils.getLayoutItem)(layout, i);\n if (!l) return;\n\n _this.setState({\n oldResizeItem: (0, _utils.cloneLayoutItem)(l),\n oldLayout: _this.state.layout\n });\n\n _this.props.onResizeStart(layout, l, l, null, e, node);\n });\n\n _defineProperty(_assertThisInitialized(_this), \"onResize\", function (i, w, h, _ref5) {\n var e = _ref5.e,\n node = _ref5.node;\n var _this$state = _this.state,\n layout = _this$state.layout,\n oldResizeItem = _this$state.oldResizeItem;\n var _this$props3 = _this.props,\n cols = _this$props3.cols,\n preventCollision = _this$props3.preventCollision,\n allowOverlap = _this$props3.allowOverlap;\n\n var _withLayoutItem = (0, _utils.withLayoutItem)(layout, i, function (l) {\n // Something like quad tree should be used\n // to find collisions faster\n var hasCollisions;\n\n if (preventCollision && !allowOverlap) {\n var collisions = (0, _utils.getAllCollisions)(layout, _objectSpread(_objectSpread({}, l), {}, {\n w: w,\n h: h\n })).filter(function (layoutItem) {\n return layoutItem.i !== l.i;\n });\n hasCollisions = collisions.length > 0; // If we're colliding, we need adjust the placeholder.\n\n // If we're colliding, we need adjust the placeholder.\n if (hasCollisions) {\n // adjust w && h to maximum allowed space\n var leastX = Infinity,\n leastY = Infinity;\n collisions.forEach(function (layoutItem) {\n if (layoutItem.x > l.x) leastX = Math.min(leastX, layoutItem.x);\n if (layoutItem.y > l.y) leastY = Math.min(leastY, layoutItem.y);\n });\n if (Number.isFinite(leastX)) l.w = leastX - l.x;\n if (Number.isFinite(leastY)) l.h = leastY - l.y;\n }\n }\n\n if (!hasCollisions) {\n // Set new width and height.\n l.w = w;\n l.h = h;\n }\n\n return l;\n }),\n _withLayoutItem2 = _slicedToArray(_withLayoutItem, 2),\n newLayout = _withLayoutItem2[0],\n l = _withLayoutItem2[1]; // Shouldn't ever happen, but typechecking makes it necessary\n\n\n if (!l) return; // Create placeholder element (display only)\n\n var placeholder = {\n w: l.w,\n h: l.h,\n x: l.x,\n y: l.y,\n static: true,\n i: i\n };\n\n _this.props.onResize(newLayout, oldResizeItem, l, placeholder, e, node); // Re-compact the newLayout and set the drag placeholder.\n\n\n _this.setState({\n layout: allowOverlap ? newLayout : (0, _utils.compact)(newLayout, (0, _utils.compactType)(_this.props), cols),\n activeDrag: placeholder\n });\n });\n\n _defineProperty(_assertThisInitialized(_this), \"onResizeStop\", function (i, w, h, _ref6) {\n var e = _ref6.e,\n node = _ref6.node;\n var _this$state2 = _this.state,\n layout = _this$state2.layout,\n oldResizeItem = _this$state2.oldResizeItem;\n var _this$props4 = _this.props,\n cols = _this$props4.cols,\n allowOverlap = _this$props4.allowOverlap;\n var l = (0, _utils.getLayoutItem)(layout, i);\n\n _this.props.onResizeStop(layout, oldResizeItem, l, null, e, node); // Set state\n\n\n var newLayout = allowOverlap ? layout : (0, _utils.compact)(layout, (0, _utils.compactType)(_this.props), cols);\n var oldLayout = _this.state.oldLayout;\n\n _this.setState({\n activeDrag: null,\n layout: newLayout,\n oldResizeItem: null,\n oldLayout: null\n });\n\n _this.onLayoutMaybeChanged(newLayout, oldLayout);\n });\n\n _defineProperty(_assertThisInitialized(_this), \"onDragOver\", function (e) {\n var _e$nativeEvent$target;\n\n e.preventDefault(); // Prevent any browser native action\n\n e.stopPropagation(); // we should ignore events from layout's children in Firefox\n // to avoid unpredictable jumping of a dropping placeholder\n // FIXME remove this hack\n\n if (isFirefox && // $FlowIgnore can't figure this out\n !((_e$nativeEvent$target = e.nativeEvent.target) !== null && _e$nativeEvent$target !== void 0 && _e$nativeEvent$target.classList.contains(layoutClassName))) {\n return false;\n }\n\n var _this$props5 = _this.props,\n droppingItem = _this$props5.droppingItem,\n onDropDragOver = _this$props5.onDropDragOver,\n margin = _this$props5.margin,\n cols = _this$props5.cols,\n rowHeight = _this$props5.rowHeight,\n maxRows = _this$props5.maxRows,\n width = _this$props5.width,\n containerPadding = _this$props5.containerPadding,\n transformScale = _this$props5.transformScale; // Allow user to customize the dropping item or short-circuit the drop based on the results\n // of the `onDragOver(e: Event)` callback.\n\n var onDragOverResult = onDropDragOver === null || onDropDragOver === void 0 ? void 0 : onDropDragOver(e);\n\n if (onDragOverResult === false) {\n if (_this.state.droppingDOMNode) {\n _this.removeDroppingPlaceholder();\n }\n\n return false;\n }\n\n var finalDroppingItem = _objectSpread(_objectSpread({}, droppingItem), onDragOverResult);\n\n var layout = _this.state.layout; // This is relative to the DOM element that this event fired for.\n\n var _e$nativeEvent = e.nativeEvent,\n layerX = _e$nativeEvent.layerX,\n layerY = _e$nativeEvent.layerY;\n var droppingPosition = {\n left: layerX / transformScale,\n top: layerY / transformScale,\n e: e\n };\n\n if (!_this.state.droppingDOMNode) {\n var positionParams\n /*: PositionParams*/\n = {\n cols: cols,\n margin: margin,\n maxRows: maxRows,\n rowHeight: rowHeight,\n containerWidth: width,\n containerPadding: containerPadding || margin\n };\n var calculatedPosition = (0, _calculateUtils.calcXY)(positionParams, layerY, layerX, finalDroppingItem.w, finalDroppingItem.h);\n\n _this.setState({\n droppingDOMNode: /*#__PURE__*/React.createElement(\"div\", {\n key: finalDroppingItem.i\n }),\n droppingPosition: droppingPosition,\n layout: [].concat(_toConsumableArray(layout), [_objectSpread(_objectSpread({}, finalDroppingItem), {}, {\n x: calculatedPosition.x,\n y: calculatedPosition.y,\n static: false,\n isDraggable: true\n })])\n });\n } else if (_this.state.droppingPosition) {\n var _this$state$droppingP = _this.state.droppingPosition,\n left = _this$state$droppingP.left,\n top = _this$state$droppingP.top;\n var shouldUpdatePosition = left != layerX || top != layerY;\n\n if (shouldUpdatePosition) {\n _this.setState({\n droppingPosition: droppingPosition\n });\n }\n }\n });\n\n _defineProperty(_assertThisInitialized(_this), \"removeDroppingPlaceholder\", function () {\n var _this$props6 = _this.props,\n droppingItem = _this$props6.droppingItem,\n cols = _this$props6.cols;\n var layout = _this.state.layout;\n var newLayout = (0, _utils.compact)(layout.filter(function (l) {\n return l.i !== droppingItem.i;\n }), (0, _utils.compactType)(_this.props), cols);\n\n _this.setState({\n layout: newLayout,\n droppingDOMNode: null,\n activeDrag: null,\n droppingPosition: undefined\n });\n });\n\n _defineProperty(_assertThisInitialized(_this), \"onDragLeave\", function (e) {\n e.preventDefault(); // Prevent any browser native action\n\n e.stopPropagation();\n _this.dragEnterCounter--; // onDragLeave can be triggered on each layout's child.\n // But we know that count of dragEnter and dragLeave events\n // will be balanced after leaving the layout's container\n // so we can increase and decrease count of dragEnter and\n // when it'll be equal to 0 we'll remove the placeholder\n\n if (_this.dragEnterCounter === 0) {\n _this.removeDroppingPlaceholder();\n }\n });\n\n _defineProperty(_assertThisInitialized(_this), \"onDragEnter\", function (e) {\n e.preventDefault(); // Prevent any browser native action\n\n e.stopPropagation();\n _this.dragEnterCounter++;\n });\n\n _defineProperty(_assertThisInitialized(_this), \"onDrop\", function (e\n /*: Event*/\n ) {\n e.preventDefault(); // Prevent any browser native action\n\n e.stopPropagation();\n var droppingItem = _this.props.droppingItem;\n var layout = _this.state.layout;\n var item = layout.find(function (l) {\n return l.i === droppingItem.i;\n }); // reset dragEnter counter on drop\n\n _this.dragEnterCounter = 0;\n\n _this.removeDroppingPlaceholder();\n\n _this.props.onDrop(layout, item, e);\n });\n\n return _this;\n }\n\n _createClass(ReactGridLayout, [{\n key: \"componentDidMount\",\n value: function componentDidMount() {\n this.setState({\n mounted: true\n }); // Possibly call back with layout on mount. This should be done after correcting the layout width\n // to ensure we don't rerender with the wrong width.\n\n this.onLayoutMaybeChanged(this.state.layout, this.props.layout);\n }\n }, {\n key: \"shouldComponentUpdate\",\n value: function shouldComponentUpdate(nextProps\n /*: Props*/\n , nextState\n /*: State*/\n )\n /*: boolean*/\n {\n return (// NOTE: this is almost always unequal. Therefore the only way to get better performance\n // from SCU is if the user intentionally memoizes children. If they do, and they can\n // handle changes properly, performance will increase.\n this.props.children !== nextProps.children || !(0, _utils.fastRGLPropsEqual)(this.props, nextProps, _lodash.default) || this.state.activeDrag !== nextState.activeDrag || this.state.mounted !== nextState.mounted || this.state.droppingPosition !== nextState.droppingPosition\n );\n }\n }, {\n key: \"componentDidUpdate\",\n value: function componentDidUpdate(prevProps\n /*: Props*/\n , prevState\n /*: State*/\n ) {\n if (!this.state.activeDrag) {\n var newLayout = this.state.layout;\n var oldLayout = prevState.layout;\n this.onLayoutMaybeChanged(newLayout, oldLayout);\n }\n }\n /**\n * Calculates a pixel value for the container.\n * @return {String} Container height in pixels.\n */\n\n }, {\n key: \"containerHeight\",\n value: function containerHeight()\n /*: ?string*/\n {\n if (!this.props.autoSize) return;\n var nbRow = (0, _utils.bottom)(this.state.layout);\n var containerPaddingY = this.props.containerPadding ? this.props.containerPadding[1] : this.props.margin[1];\n return nbRow * this.props.rowHeight + (nbRow - 1) * this.props.margin[1] + containerPaddingY * 2 + \"px\";\n }\n /**\n * When dragging starts\n * @param {String} i Id of the child\n * @param {Number} x X position of the move\n * @param {Number} y Y position of the move\n * @param {Event} e The mousedown event\n * @param {Element} node The current dragging DOM element\n */\n\n }, {\n key: \"onLayoutMaybeChanged\",\n value: function onLayoutMaybeChanged(newLayout\n /*: Layout*/\n , oldLayout\n /*: ?Layout*/\n ) {\n if (!oldLayout) oldLayout = this.state.layout;\n\n if (!(0, _lodash.default)(oldLayout, newLayout)) {\n this.props.onLayoutChange(newLayout);\n }\n }\n }, {\n key: \"placeholder\",\n value:\n /**\n * Create a placeholder object.\n * @return {Element} Placeholder div.\n */\n function placeholder()\n /*: ?ReactElement*/\n {\n var activeDrag = this.state.activeDrag;\n if (!activeDrag) return null;\n var _this$props7 = this.props,\n width = _this$props7.width,\n cols = _this$props7.cols,\n margin = _this$props7.margin,\n containerPadding = _this$props7.containerPadding,\n rowHeight = _this$props7.rowHeight,\n maxRows = _this$props7.maxRows,\n useCSSTransforms = _this$props7.useCSSTransforms,\n transformScale = _this$props7.transformScale; // {...this.state.activeDrag} is pretty slow, actually\n\n return /*#__PURE__*/React.createElement(_GridItem.default, {\n w: activeDrag.w,\n h: activeDrag.h,\n x: activeDrag.x,\n y: activeDrag.y,\n i: activeDrag.i,\n className: \"react-grid-placeholder\",\n containerWidth: width,\n cols: cols,\n margin: margin,\n containerPadding: containerPadding || margin,\n maxRows: maxRows,\n rowHeight: rowHeight,\n isDraggable: false,\n isResizable: false,\n isBounded: false,\n useCSSTransforms: useCSSTransforms,\n transformScale: transformScale\n }, /*#__PURE__*/React.createElement(\"div\", null));\n }\n /**\n * Given a grid item, set its style attributes & surround in a .\n * @param {Element} child React element.\n * @return {Element} Element wrapped in draggable and properly placed.\n */\n\n }, {\n key: \"processGridItem\",\n value: function processGridItem(child\n /*: ReactElement*/\n , isDroppingItem\n /*: boolean*/\n )\n /*: ?ReactElement*/\n {\n if (!child || !child.key) return;\n var l = (0, _utils.getLayoutItem)(this.state.layout, String(child.key));\n if (!l) return null;\n var _this$props8 = this.props,\n width = _this$props8.width,\n cols = _this$props8.cols,\n margin = _this$props8.margin,\n containerPadding = _this$props8.containerPadding,\n rowHeight = _this$props8.rowHeight,\n maxRows = _this$props8.maxRows,\n isDraggable = _this$props8.isDraggable,\n isResizable = _this$props8.isResizable,\n isBounded = _this$props8.isBounded,\n useCSSTransforms = _this$props8.useCSSTransforms,\n transformScale = _this$props8.transformScale,\n draggableCancel = _this$props8.draggableCancel,\n draggableHandle = _this$props8.draggableHandle,\n resizeHandles = _this$props8.resizeHandles,\n resizeHandle = _this$props8.resizeHandle;\n var _this$state3 = this.state,\n mounted = _this$state3.mounted,\n droppingPosition = _this$state3.droppingPosition; // Determine user manipulations possible.\n // If an item is static, it can't be manipulated by default.\n // Any properties defined directly on the grid item will take precedence.\n\n var draggable = typeof l.isDraggable === \"boolean\" ? l.isDraggable : !l.static && isDraggable;\n var resizable = typeof l.isResizable === \"boolean\" ? l.isResizable : !l.static && isResizable;\n var resizeHandlesOptions = l.resizeHandles || resizeHandles; // isBounded set on child if set on parent, and child is not explicitly false\n\n var bounded = draggable && isBounded && l.isBounded !== false;\n return /*#__PURE__*/React.createElement(_GridItem.default, {\n containerWidth: width,\n cols: cols,\n margin: margin,\n containerPadding: containerPadding || margin,\n maxRows: maxRows,\n rowHeight: rowHeight,\n cancel: draggableCancel,\n handle: draggableHandle,\n onDragStop: this.onDragStop,\n onDragStart: this.onDragStart,\n onDrag: this.onDrag,\n onResizeStart: this.onResizeStart,\n onResize: this.onResize,\n onResizeStop: this.onResizeStop,\n isDraggable: draggable,\n isResizable: resizable,\n isBounded: bounded,\n useCSSTransforms: useCSSTransforms && mounted,\n usePercentages: !mounted,\n transformScale: transformScale,\n w: l.w,\n h: l.h,\n x: l.x,\n y: l.y,\n i: l.i,\n minH: l.minH,\n minW: l.minW,\n maxH: l.maxH,\n maxW: l.maxW,\n static: l.static,\n droppingPosition: isDroppingItem ? droppingPosition : undefined,\n resizeHandles: resizeHandlesOptions,\n resizeHandle: resizeHandle\n }, child);\n } // Called while dragging an element. Part of browser native drag/drop API.\n // Native event target might be the layout itself, or an element within the layout.\n\n }, {\n key: \"render\",\n value: function render()\n /*: React.Element<\"div\">*/\n {\n var _this2 = this;\n\n var _this$props9 = this.props,\n className = _this$props9.className,\n style = _this$props9.style,\n isDroppable = _this$props9.isDroppable,\n innerRef = _this$props9.innerRef;\n var mergedClassName = (0, _clsx.default)(layoutClassName, className);\n\n var mergedStyle = _objectSpread({\n height: this.containerHeight()\n }, style);\n\n return /*#__PURE__*/React.createElement(\"div\", {\n ref: innerRef,\n className: mergedClassName,\n style: mergedStyle,\n onDrop: isDroppable ? this.onDrop : _utils.noop,\n onDragLeave: isDroppable ? this.onDragLeave : _utils.noop,\n onDragEnter: isDroppable ? this.onDragEnter : _utils.noop,\n onDragOver: isDroppable ? this.onDragOver : _utils.noop\n }, React.Children.map(this.props.children, function (child) {\n return _this2.processGridItem(child);\n }), isDroppable && this.state.droppingDOMNode && this.processGridItem(this.state.droppingDOMNode, true), this.placeholder());\n }\n }], [{\n key: \"getDerivedStateFromProps\",\n value: function getDerivedStateFromProps(nextProps\n /*: Props*/\n , prevState\n /*: State*/\n )\n /*: $Shape | null*/\n {\n var newLayoutBase;\n\n if (prevState.activeDrag) {\n return null;\n } // Legacy support for compactType\n // Allow parent to set layout directly.\n\n\n if (!(0, _lodash.default)(nextProps.layout, prevState.propsLayout) || nextProps.compactType !== prevState.compactType) {\n newLayoutBase = nextProps.layout;\n } else if (!(0, _utils.childrenEqual)(nextProps.children, prevState.children)) {\n // If children change, also regenerate the layout. Use our state\n // as the base in case because it may be more up to date than\n // what is in props.\n newLayoutBase = prevState.layout;\n } // We need to regenerate the layout.\n\n\n if (newLayoutBase) {\n var newLayout = (0, _utils.synchronizeLayoutWithChildren)(newLayoutBase, nextProps.children, nextProps.cols, (0, _utils.compactType)(nextProps), nextProps.allowOverlap);\n return {\n layout: newLayout,\n // We need to save these props to state for using\n // getDerivedStateFromProps instead of componentDidMount (in which we would get extra rerender)\n compactType: nextProps.compactType,\n children: nextProps.children,\n propsLayout: nextProps.layout\n };\n }\n\n return null;\n }\n }]);\n\n return ReactGridLayout;\n}(React.Component);\n\nexports.default = ReactGridLayout;\n\n_defineProperty(ReactGridLayout, \"displayName\", \"ReactGridLayout\");\n\n_defineProperty(ReactGridLayout, \"propTypes\", _ReactGridLayoutPropTypes.default);\n\n_defineProperty(ReactGridLayout, \"defaultProps\", {\n autoSize: true,\n cols: 12,\n className: \"\",\n style: {},\n draggableHandle: \"\",\n draggableCancel: \"\",\n containerPadding: null,\n rowHeight: 150,\n maxRows: Infinity,\n // infinite vertical growth\n layout: [],\n margin: [10, 10],\n isBounded: false,\n isDraggable: true,\n isResizable: true,\n allowOverlap: false,\n isDroppable: false,\n useCSSTransforms: true,\n transformScale: 1,\n verticalCompact: true,\n compactType: \"vertical\",\n preventCollision: false,\n droppingItem: {\n i: \"__dropping-elem__\",\n h: 1,\n w: 1\n },\n resizeHandles: [\"se\"],\n onLayoutChange: _utils.noop,\n onDragStart: _utils.noop,\n onDrag: _utils.noop,\n onDragStop: _utils.noop,\n onResizeStart: _utils.noop,\n onResize: _utils.noop,\n onResizeStop: _utils.noop,\n onDrop: _utils.noop,\n onDropDragOver: _utils.noop\n});","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.resizeHandleType = exports.resizeHandleAxesType = exports.default = void 0;\n\nvar _propTypes = _interopRequireDefault(require(\"prop-types\"));\n\nvar _react = _interopRequireDefault(require(\"react\"));\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\n// Defines which resize handles should be rendered (default: 'se')\n// Allows for any combination of:\n// 's' - South handle (bottom-center)\n// 'w' - West handle (left-center)\n// 'e' - East handle (right-center)\n// 'n' - North handle (top-center)\n// 'sw' - Southwest handle (bottom-left)\n// 'nw' - Northwest handle (top-left)\n// 'se' - Southeast handle (bottom-right)\n// 'ne' - Northeast handle (top-right)\nvar resizeHandleAxesType\n/*: ReactPropsChainableTypeChecker*/\n= _propTypes.default.arrayOf(_propTypes.default.oneOf([\"s\", \"w\", \"e\", \"n\", \"sw\", \"nw\", \"se\", \"ne\"])); // Custom component for resize handles\n\n\nexports.resizeHandleAxesType = resizeHandleAxesType;\n\nvar resizeHandleType\n/*: ReactPropsChainableTypeChecker*/\n= _propTypes.default.oneOfType([_propTypes.default.node, _propTypes.default.func]);\n/*:: export type Props = {|\n className: string,\n style: Object,\n width: number,\n autoSize: boolean,\n cols: number,\n draggableCancel: string,\n draggableHandle: string,\n verticalCompact: boolean,\n compactType: CompactType,\n layout: Layout,\n margin: [number, number],\n containerPadding: ?[number, number],\n rowHeight: number,\n maxRows: number,\n isBounded: boolean,\n isDraggable: boolean,\n isResizable: boolean,\n isDroppable: boolean,\n preventCollision: boolean,\n useCSSTransforms: boolean,\n transformScale: number,\n droppingItem: $Shape,\n resizeHandles: ResizeHandleAxis[],\n resizeHandle?: ResizeHandle,\n allowOverlap: boolean,\n\n // Callbacks\n onLayoutChange: Layout => void,\n onDrag: EventCallback,\n onDragStart: EventCallback,\n onDragStop: EventCallback,\n onResize: EventCallback,\n onResizeStart: EventCallback,\n onResizeStop: EventCallback,\n onDropDragOver: (e: DragOverEvent) => ?({| w?: number, h?: number |} | false),\n onDrop: (layout: Layout, item: ?LayoutItem, e: Event) => void,\n children: ReactChildrenArray>,\n innerRef?: Ref<\"div\">\n|};*/\n\n/*:: export type DefaultProps = $Diff<\n Props,\n {\n children: ReactChildrenArray>,\n width: number\n }\n>;*/\n\n\nexports.resizeHandleType = resizeHandleType;\nvar _default = {\n //\n // Basic props\n //\n className: _propTypes.default.string,\n style: _propTypes.default.object,\n // This can be set explicitly. If it is not set, it will automatically\n // be set to the container width. Note that resizes will *not* cause this to adjust.\n // If you need that behavior, use WidthProvider.\n width: _propTypes.default.number,\n // If true, the container height swells and contracts to fit contents\n autoSize: _propTypes.default.bool,\n // # of cols.\n cols: _propTypes.default.number,\n // A selector that will not be draggable.\n draggableCancel: _propTypes.default.string,\n // A selector for the draggable handler\n draggableHandle: _propTypes.default.string,\n // Deprecated\n verticalCompact: function verticalCompact(props\n /*: Props*/\n ) {\n if (props.verticalCompact === false && process.env.NODE_ENV !== \"production\") {\n console.warn( // eslint-disable-line no-console\n \"`verticalCompact` on is deprecated and will be removed soon. \" + 'Use `compactType`: \"horizontal\" | \"vertical\" | null.');\n }\n },\n // Choose vertical or hotizontal compaction\n compactType: (_propTypes.default.oneOf([\"vertical\", \"horizontal\"])\n /*: ReactPropsChainableTypeChecker*/\n ),\n // layout is an array of object with the format:\n // {x: Number, y: Number, w: Number, h: Number, i: String}\n layout: function layout(props\n /*: Props*/\n ) {\n var layout = props.layout; // I hope you're setting the data-grid property on the grid items\n\n if (layout === undefined) return;\n\n require(\"./utils\").validateLayout(layout, \"layout\");\n },\n //\n // Grid Dimensions\n //\n // Margin between items [x, y] in px\n margin: (_propTypes.default.arrayOf(_propTypes.default.number)\n /*: ReactPropsChainableTypeChecker*/\n ),\n // Padding inside the container [x, y] in px\n containerPadding: (_propTypes.default.arrayOf(_propTypes.default.number)\n /*: ReactPropsChainableTypeChecker*/\n ),\n // Rows have a static height, but you can change this based on breakpoints if you like\n rowHeight: _propTypes.default.number,\n // Default Infinity, but you can specify a max here if you like.\n // Note that this isn't fully fleshed out and won't error if you specify a layout that\n // extends beyond the row capacity. It will, however, not allow users to drag/resize\n // an item past the barrier. They can push items beyond the barrier, though.\n // Intentionally not documented for this reason.\n maxRows: _propTypes.default.number,\n //\n // Flags\n //\n isBounded: _propTypes.default.bool,\n isDraggable: _propTypes.default.bool,\n isResizable: _propTypes.default.bool,\n // If true, grid can be placed one over the other.\n allowOverlap: _propTypes.default.bool,\n // If true, grid items won't change position when being dragged over.\n preventCollision: _propTypes.default.bool,\n // Use CSS transforms instead of top/left\n useCSSTransforms: _propTypes.default.bool,\n // parent layout transform scale\n transformScale: _propTypes.default.number,\n // If true, an external element can trigger onDrop callback with a specific grid position as a parameter\n isDroppable: _propTypes.default.bool,\n // Resize handle options\n resizeHandles: resizeHandleAxesType,\n resizeHandle: resizeHandleType,\n //\n // Callbacks\n //\n // Callback so you can save the layout. Calls after each drag & resize stops.\n onLayoutChange: _propTypes.default.func,\n // Calls when drag starts. Callback is of the signature (layout, oldItem, newItem, placeholder, e, ?node).\n // All callbacks below have the same signature. 'start' and 'stop' callbacks omit the 'placeholder'.\n onDragStart: _propTypes.default.func,\n // Calls on each drag movement.\n onDrag: _propTypes.default.func,\n // Calls when drag is complete.\n onDragStop: _propTypes.default.func,\n //Calls when resize starts.\n onResizeStart: _propTypes.default.func,\n // Calls when resize movement happens.\n onResize: _propTypes.default.func,\n // Calls when resize is complete.\n onResizeStop: _propTypes.default.func,\n // Calls when some element is dropped.\n onDrop: _propTypes.default.func,\n //\n // Other validations\n //\n droppingItem: (_propTypes.default.shape({\n i: _propTypes.default.string.isRequired,\n w: _propTypes.default.number.isRequired,\n h: _propTypes.default.number.isRequired\n })\n /*: ReactPropsChainableTypeChecker*/\n ),\n // Children must not have duplicate keys.\n children: function children(props\n /*: Props*/\n , propName\n /*: string*/\n ) {\n var children = props[propName]; // Check children keys for duplicates. Throw if found.\n\n var keys = {};\n\n _react.default.Children.forEach(children, function (child) {\n if ((child === null || child === void 0 ? void 0 : child.key) == null) return;\n\n if (keys[child.key]) {\n throw new Error('Duplicate child key \"' + child.key + '\" found! This will cause problems in ReactGridLayout.');\n }\n\n keys[child.key] = true;\n });\n },\n // Optional ref for getting a reference for the wrapping div.\n innerRef: _propTypes.default.any\n};\nexports.default = _default;","\"use strict\";\n\nfunction _typeof(obj) { \"@babel/helpers - typeof\"; return _typeof = \"function\" == typeof Symbol && \"symbol\" == typeof Symbol.iterator ? function (obj) { return typeof obj; } : function (obj) { return obj && \"function\" == typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; }, _typeof(obj); }\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = void 0;\n\nvar React = _interopRequireWildcard(require(\"react\"));\n\nvar _propTypes = _interopRequireDefault(require(\"prop-types\"));\n\nvar _lodash = _interopRequireDefault(require(\"lodash.isequal\"));\n\nvar _utils = require(\"./utils\");\n\nvar _responsiveUtils = require(\"./responsiveUtils\");\n\nvar _ReactGridLayout = _interopRequireDefault(require(\"./ReactGridLayout\"));\n\nvar _excluded = [\"breakpoint\", \"breakpoints\", \"cols\", \"layouts\", \"margin\", \"containerPadding\", \"onBreakpointChange\", \"onLayoutChange\", \"onWidthChange\"];\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== \"function\") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }\n\nfunction _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || _typeof(obj) !== \"object\" && typeof obj !== \"function\") { return { default: obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== \"default\" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj.default = obj; if (cache) { cache.set(obj, newObj); } return newObj; }\n\nfunction _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\n\nfunction _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }\n\nfunction _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }\n\nfunction ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }\n\nfunction _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { _defineProperty(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } }\n\nfunction _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); Object.defineProperty(Constructor, \"prototype\", { writable: false }); return Constructor; }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function\"); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, writable: true, configurable: true } }); Object.defineProperty(subClass, \"prototype\", { writable: false }); if (superClass) _setPrototypeOf(subClass, superClass); }\n\nfunction _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); }\n\nfunction _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = _getPrototypeOf(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = _getPrototypeOf(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return _possibleConstructorReturn(this, result); }; }\n\nfunction _possibleConstructorReturn(self, call) { if (call && (_typeof(call) === \"object\" || typeof call === \"function\")) { return call; } else if (call !== void 0) { throw new TypeError(\"Derived constructors may only return object or undefined\"); } return _assertThisInitialized(self); }\n\nfunction _assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return self; }\n\nfunction _isNativeReflectConstruct() { if (typeof Reflect === \"undefined\" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === \"function\") return true; try { Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); return true; } catch (e) { return false; } }\n\nfunction _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return _getPrototypeOf(o); }\n\nfunction _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\n\n// $FlowFixMe[method-unbinding]\nvar type = function type(obj) {\n return Object.prototype.toString.call(obj);\n};\n/**\n * Get a value of margin or containerPadding.\n *\n * @param {Array | Object} param Margin | containerPadding, e.g. [10, 10] | {lg: [10, 10], ...}.\n * @param {String} breakpoint Breakpoint: lg, md, sm, xs and etc.\n * @return {Array}\n */\n\n\nfunction getIndentationValue\n/*:: */\n(param\n/*: { [key: string]: T } | T*/\n, breakpoint\n/*: string*/\n)\n/*: T*/\n{\n // $FlowIgnore TODO fix this typedef\n if (param == null) return null; // $FlowIgnore TODO fix this typedef\n\n return Array.isArray(param) ? param : param[breakpoint];\n}\n/*:: type State = {\n layout: Layout,\n breakpoint: string,\n cols: number,\n layouts?: ResponsiveLayout\n};*/\n\n/*:: type Props = {|\n ...React.ElementConfig,\n\n // Responsive config\n breakpoint?: ?Breakpoint,\n breakpoints: Breakpoints,\n cols: { [key: Breakpoint]: number },\n layouts: ResponsiveLayout,\n width: number,\n margin: { [key: Breakpoint]: [number, number] } | [number, number],\n /* prettier-ignore *-/\n containerPadding: { [key: Breakpoint]: ?[number, number] } | ?[number, number],\n\n // Callbacks\n onBreakpointChange: (Breakpoint, cols: number) => void,\n onLayoutChange: OnLayoutChangeCallback,\n onWidthChange: (\n containerWidth: number,\n margin: [number, number],\n cols: number,\n containerPadding: ?[number, number]\n ) => void\n|};*/\n\n/*:: type DefaultProps = Pick<\n Props<>,\n {|\n allowOverlap: 0,\n breakpoints: 0,\n cols: 0,\n containerPadding: 0,\n layouts: 0,\n margin: 0,\n onBreakpointChange: 0,\n onLayoutChange: 0,\n onWidthChange: 0\n |}\n>;*/\n\n\nvar ResponsiveReactGridLayout = /*#__PURE__*/function (_React$Component) {\n _inherits(ResponsiveReactGridLayout, _React$Component);\n\n var _super = _createSuper(ResponsiveReactGridLayout);\n\n function ResponsiveReactGridLayout() {\n var _this;\n\n _classCallCheck(this, ResponsiveReactGridLayout);\n\n for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n\n _this = _super.call.apply(_super, [this].concat(args));\n\n _defineProperty(_assertThisInitialized(_this), \"state\", _this.generateInitialState());\n\n _defineProperty(_assertThisInitialized(_this), \"onLayoutChange\", function (layout\n /*: Layout*/\n ) {\n _this.props.onLayoutChange(layout, _objectSpread(_objectSpread({}, _this.props.layouts), {}, _defineProperty({}, _this.state.breakpoint, layout)));\n });\n\n return _this;\n }\n\n _createClass(ResponsiveReactGridLayout, [{\n key: \"generateInitialState\",\n value: function generateInitialState()\n /*: State*/\n {\n var _this$props = this.props,\n width = _this$props.width,\n breakpoints = _this$props.breakpoints,\n layouts = _this$props.layouts,\n cols = _this$props.cols;\n var breakpoint = (0, _responsiveUtils.getBreakpointFromWidth)(breakpoints, width);\n var colNo = (0, _responsiveUtils.getColsFromBreakpoint)(breakpoint, cols); // verticalCompact compatibility, now deprecated\n\n var compactType = this.props.verticalCompact === false ? null : this.props.compactType; // Get the initial layout. This can tricky; we try to generate one however possible if one doesn't exist\n // for this layout.\n\n var initialLayout = (0, _responsiveUtils.findOrGenerateResponsiveLayout)(layouts, breakpoints, breakpoint, breakpoint, colNo, compactType);\n return {\n layout: initialLayout,\n breakpoint: breakpoint,\n cols: colNo\n };\n }\n }, {\n key: \"componentDidUpdate\",\n value: function componentDidUpdate(prevProps\n /*: Props<*>*/\n ) {\n // Allow parent to set width or breakpoint directly.\n if (this.props.width != prevProps.width || this.props.breakpoint !== prevProps.breakpoint || !(0, _lodash.default)(this.props.breakpoints, prevProps.breakpoints) || !(0, _lodash.default)(this.props.cols, prevProps.cols)) {\n this.onWidthChange(prevProps);\n }\n } // wrap layouts so we do not need to pass layouts to child\n\n }, {\n key: \"onWidthChange\",\n value:\n /**\n * When the width changes work through breakpoints and reset state with the new width & breakpoint.\n * Width changes are necessary to figure out the widget widths.\n */\n function onWidthChange(prevProps\n /*: Props<*>*/\n ) {\n var _this$props2 = this.props,\n breakpoints = _this$props2.breakpoints,\n cols = _this$props2.cols,\n layouts = _this$props2.layouts,\n compactType = _this$props2.compactType;\n var newBreakpoint = this.props.breakpoint || (0, _responsiveUtils.getBreakpointFromWidth)(this.props.breakpoints, this.props.width);\n var lastBreakpoint = this.state.breakpoint;\n var newCols\n /*: number*/\n = (0, _responsiveUtils.getColsFromBreakpoint)(newBreakpoint, cols);\n\n var newLayouts = _objectSpread({}, layouts); // Breakpoint change\n\n\n if (lastBreakpoint !== newBreakpoint || prevProps.breakpoints !== breakpoints || prevProps.cols !== cols) {\n // Preserve the current layout if the current breakpoint is not present in the next layouts.\n if (!(lastBreakpoint in newLayouts)) newLayouts[lastBreakpoint] = (0, _utils.cloneLayout)(this.state.layout); // Find or generate a new layout.\n\n var layout = (0, _responsiveUtils.findOrGenerateResponsiveLayout)(newLayouts, breakpoints, newBreakpoint, lastBreakpoint, newCols, compactType); // This adds missing items.\n\n layout = (0, _utils.synchronizeLayoutWithChildren)(layout, this.props.children, newCols, compactType, this.props.allowOverlap); // Store the new layout.\n\n newLayouts[newBreakpoint] = layout; // callbacks\n\n this.props.onLayoutChange(layout, newLayouts);\n this.props.onBreakpointChange(newBreakpoint, newCols);\n this.setState({\n breakpoint: newBreakpoint,\n layout: layout,\n cols: newCols\n });\n }\n\n var margin = getIndentationValue(this.props.margin, newBreakpoint);\n var containerPadding = getIndentationValue(this.props.containerPadding, newBreakpoint); //call onWidthChange on every change of width, not only on breakpoint changes\n\n this.props.onWidthChange(this.props.width, margin, newCols, containerPadding);\n }\n }, {\n key: \"render\",\n value: function render()\n /*: React.Element*/\n {\n /* eslint-disable no-unused-vars */\n var _this$props3 = this.props,\n breakpoint = _this$props3.breakpoint,\n breakpoints = _this$props3.breakpoints,\n cols = _this$props3.cols,\n layouts = _this$props3.layouts,\n margin = _this$props3.margin,\n containerPadding = _this$props3.containerPadding,\n onBreakpointChange = _this$props3.onBreakpointChange,\n onLayoutChange = _this$props3.onLayoutChange,\n onWidthChange = _this$props3.onWidthChange,\n other = _objectWithoutProperties(_this$props3, _excluded);\n /* eslint-enable no-unused-vars */\n\n\n return /*#__PURE__*/React.createElement(_ReactGridLayout.default, _extends({}, other, {\n // $FlowIgnore should allow nullable here due to DefaultProps\n margin: getIndentationValue(margin, this.state.breakpoint),\n containerPadding: getIndentationValue(containerPadding, this.state.breakpoint),\n onLayoutChange: this.onLayoutChange,\n layout: this.state.layout,\n cols: this.state.cols\n }));\n }\n }], [{\n key: \"getDerivedStateFromProps\",\n value: function getDerivedStateFromProps(nextProps\n /*: Props<*>*/\n , prevState\n /*: State*/\n )\n /*: ?$Shape*/\n {\n if (!(0, _lodash.default)(nextProps.layouts, prevState.layouts)) {\n // Allow parent to set layouts directly.\n var breakpoint = prevState.breakpoint,\n _cols = prevState.cols; // Since we're setting an entirely new layout object, we must generate a new responsive layout\n // if one does not exist.\n\n var newLayout = (0, _responsiveUtils.findOrGenerateResponsiveLayout)(nextProps.layouts, nextProps.breakpoints, breakpoint, breakpoint, _cols, nextProps.compactType);\n return {\n layout: newLayout,\n layouts: nextProps.layouts\n };\n }\n\n return null;\n }\n }]);\n\n return ResponsiveReactGridLayout;\n}(React.Component);\n\nexports.default = ResponsiveReactGridLayout;\n\n_defineProperty(ResponsiveReactGridLayout, \"propTypes\", {\n //\n // Basic props\n //\n // Optional, but if you are managing width yourself you may want to set the breakpoint\n // yourself as well.\n breakpoint: _propTypes.default.string,\n // {name: pxVal}, e.g. {lg: 1200, md: 996, sm: 768, xs: 480}\n breakpoints: _propTypes.default.object,\n allowOverlap: _propTypes.default.bool,\n // # of cols. This is a breakpoint -> cols map\n cols: _propTypes.default.object,\n // # of margin. This is a breakpoint -> margin map\n // e.g. { lg: [5, 5], md: [10, 10], sm: [15, 15] }\n // Margin between items [x, y] in px\n // e.g. [10, 10]\n margin: _propTypes.default.oneOfType([_propTypes.default.array, _propTypes.default.object]),\n // # of containerPadding. This is a breakpoint -> containerPadding map\n // e.g. { lg: [5, 5], md: [10, 10], sm: [15, 15] }\n // Padding inside the container [x, y] in px\n // e.g. [10, 10]\n containerPadding: _propTypes.default.oneOfType([_propTypes.default.array, _propTypes.default.object]),\n // layouts is an object mapping breakpoints to layouts.\n // e.g. {lg: Layout, md: Layout, ...}\n layouts: function layouts(props\n /*: Props<>*/\n , propName\n /*: string*/\n ) {\n if (type(props[propName]) !== \"[object Object]\") {\n throw new Error(\"Layout property must be an object. Received: \" + type(props[propName]));\n }\n\n Object.keys(props[propName]).forEach(function (key) {\n if (!(key in props.breakpoints)) {\n throw new Error(\"Each key in layouts must align with a key in breakpoints.\");\n }\n\n (0, _utils.validateLayout)(props.layouts[key], \"layouts.\" + key);\n });\n },\n // The width of this component.\n // Required in this propTypes stanza because generateInitialState() will fail without it.\n width: _propTypes.default.number.isRequired,\n //\n // Callbacks\n //\n // Calls back with breakpoint and new # cols\n onBreakpointChange: _propTypes.default.func,\n // Callback so you can save the layout.\n // Calls back with (currentLayout, allLayouts). allLayouts are keyed by breakpoint.\n onLayoutChange: _propTypes.default.func,\n // Calls back with (containerWidth, margin, cols, containerPadding)\n onWidthChange: _propTypes.default.func\n});\n\n_defineProperty(ResponsiveReactGridLayout, \"defaultProps\", {\n breakpoints: {\n lg: 1200,\n md: 996,\n sm: 768,\n xs: 480,\n xxs: 0\n },\n cols: {\n lg: 12,\n md: 10,\n sm: 6,\n xs: 4,\n xxs: 2\n },\n containerPadding: {\n lg: null,\n md: null,\n sm: null,\n xs: null,\n xxs: null\n },\n layouts: {},\n margin: [10, 10],\n allowOverlap: false,\n onBreakpointChange: _utils.noop,\n onLayoutChange: _utils.noop,\n onWidthChange: _utils.noop\n});","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.calcGridColWidth = calcGridColWidth;\nexports.calcGridItemPosition = calcGridItemPosition;\nexports.calcGridItemWHPx = calcGridItemWHPx;\nexports.calcWH = calcWH;\nexports.calcXY = calcXY;\nexports.clamp = clamp;\n\n/*:: import type { Position } from \"./utils\";*/\n\n/*:: export type PositionParams = {\n margin: [number, number],\n containerPadding: [number, number],\n containerWidth: number,\n cols: number,\n rowHeight: number,\n maxRows: number\n};*/\n// Helper for generating column width\nfunction calcGridColWidth(positionParams\n/*: PositionParams*/\n)\n/*: number*/\n{\n var margin = positionParams.margin,\n containerPadding = positionParams.containerPadding,\n containerWidth = positionParams.containerWidth,\n cols = positionParams.cols;\n return (containerWidth - margin[0] * (cols - 1) - containerPadding[0] * 2) / cols;\n} // This can either be called:\n// calcGridItemWHPx(w, colWidth, margin[0])\n// or\n// calcGridItemWHPx(h, rowHeight, margin[1])\n\n\nfunction calcGridItemWHPx(gridUnits\n/*: number*/\n, colOrRowSize\n/*: number*/\n, marginPx\n/*: number*/\n)\n/*: number*/\n{\n // 0 * Infinity === NaN, which causes problems with resize contraints\n if (!Number.isFinite(gridUnits)) return gridUnits;\n return Math.round(colOrRowSize * gridUnits + Math.max(0, gridUnits - 1) * marginPx);\n}\n/**\n * Return position on the page given an x, y, w, h.\n * left, top, width, height are all in pixels.\n * @param {PositionParams} positionParams Parameters of grid needed for coordinates calculations.\n * @param {Number} x X coordinate in grid units.\n * @param {Number} y Y coordinate in grid units.\n * @param {Number} w W coordinate in grid units.\n * @param {Number} h H coordinate in grid units.\n * @return {Position} Object containing coords.\n */\n\n\nfunction calcGridItemPosition(positionParams\n/*: PositionParams*/\n, x\n/*: number*/\n, y\n/*: number*/\n, w\n/*: number*/\n, h\n/*: number*/\n, state\n/*: ?Object*/\n)\n/*: Position*/\n{\n var margin = positionParams.margin,\n containerPadding = positionParams.containerPadding,\n rowHeight = positionParams.rowHeight;\n var colWidth = calcGridColWidth(positionParams);\n var out = {}; // If resizing, use the exact width and height as returned from resizing callbacks.\n\n if (state && state.resizing) {\n out.width = Math.round(state.resizing.width);\n out.height = Math.round(state.resizing.height);\n } // Otherwise, calculate from grid units.\n else {\n out.width = calcGridItemWHPx(w, colWidth, margin[0]);\n out.height = calcGridItemWHPx(h, rowHeight, margin[1]);\n } // If dragging, use the exact width and height as returned from dragging callbacks.\n\n\n if (state && state.dragging) {\n out.top = Math.round(state.dragging.top);\n out.left = Math.round(state.dragging.left);\n } // Otherwise, calculate from grid units.\n else {\n out.top = Math.round((rowHeight + margin[1]) * y + containerPadding[1]);\n out.left = Math.round((colWidth + margin[0]) * x + containerPadding[0]);\n }\n\n return out;\n}\n/**\n * Translate x and y coordinates from pixels to grid units.\n * @param {PositionParams} positionParams Parameters of grid needed for coordinates calculations.\n * @param {Number} top Top position (relative to parent) in pixels.\n * @param {Number} left Left position (relative to parent) in pixels.\n * @param {Number} w W coordinate in grid units.\n * @param {Number} h H coordinate in grid units.\n * @return {Object} x and y in grid units.\n */\n\n\nfunction calcXY(positionParams\n/*: PositionParams*/\n, top\n/*: number*/\n, left\n/*: number*/\n, w\n/*: number*/\n, h\n/*: number*/\n)\n/*: { x: number, y: number }*/\n{\n var margin = positionParams.margin,\n cols = positionParams.cols,\n rowHeight = positionParams.rowHeight,\n maxRows = positionParams.maxRows;\n var colWidth = calcGridColWidth(positionParams); // left = colWidth * x + margin * (x + 1)\n // l = cx + m(x+1)\n // l = cx + mx + m\n // l - m = cx + mx\n // l - m = x(c + m)\n // (l - m) / (c + m) = x\n // x = (left - margin) / (coldWidth + margin)\n\n var x = Math.round((left - margin[0]) / (colWidth + margin[0]));\n var y = Math.round((top - margin[1]) / (rowHeight + margin[1])); // Capping\n\n x = clamp(x, 0, cols - w);\n y = clamp(y, 0, maxRows - h);\n return {\n x: x,\n y: y\n };\n}\n/**\n * Given a height and width in pixel values, calculate grid units.\n * @param {PositionParams} positionParams Parameters of grid needed for coordinates calcluations.\n * @param {Number} height Height in pixels.\n * @param {Number} width Width in pixels.\n * @param {Number} x X coordinate in grid units.\n * @param {Number} y Y coordinate in grid units.\n * @return {Object} w, h as grid units.\n */\n\n\nfunction calcWH(positionParams\n/*: PositionParams*/\n, width\n/*: number*/\n, height\n/*: number*/\n, x\n/*: number*/\n, y\n/*: number*/\n)\n/*: { w: number, h: number }*/\n{\n var margin = positionParams.margin,\n maxRows = positionParams.maxRows,\n cols = positionParams.cols,\n rowHeight = positionParams.rowHeight;\n var colWidth = calcGridColWidth(positionParams); // width = colWidth * w - (margin * (w - 1))\n // ...\n // w = (width + margin) / (colWidth + margin)\n\n var w = Math.round((width + margin[0]) / (colWidth + margin[0]));\n var h = Math.round((height + margin[1]) / (rowHeight + margin[1])); // Capping\n\n w = clamp(w, 0, cols - x);\n h = clamp(h, 0, maxRows - y);\n return {\n w: w,\n h: h\n };\n} // Similar to _.clamp\n\n\nfunction clamp(num\n/*: number*/\n, lowerBound\n/*: number*/\n, upperBound\n/*: number*/\n)\n/*: number*/\n{\n return Math.max(Math.min(num, upperBound), lowerBound);\n}","\"use strict\";\n\nfunction _typeof(obj) { \"@babel/helpers - typeof\"; return _typeof = \"function\" == typeof Symbol && \"symbol\" == typeof Symbol.iterator ? function (obj) { return typeof obj; } : function (obj) { return obj && \"function\" == typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; }, _typeof(obj); }\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = WidthProvideRGL;\n\nvar React = _interopRequireWildcard(require(\"react\"));\n\nvar _propTypes = _interopRequireDefault(require(\"prop-types\"));\n\nvar _clsx = _interopRequireDefault(require(\"clsx\"));\n\nvar _excluded = [\"measureBeforeMount\"];\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== \"function\") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }\n\nfunction _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || _typeof(obj) !== \"object\" && typeof obj !== \"function\") { return { default: obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== \"default\" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj.default = obj; if (cache) { cache.set(obj, newObj); } return newObj; }\n\nfunction _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\n\nfunction _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }\n\nfunction _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } }\n\nfunction _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); Object.defineProperty(Constructor, \"prototype\", { writable: false }); return Constructor; }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function\"); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, writable: true, configurable: true } }); Object.defineProperty(subClass, \"prototype\", { writable: false }); if (superClass) _setPrototypeOf(subClass, superClass); }\n\nfunction _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); }\n\nfunction _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = _getPrototypeOf(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = _getPrototypeOf(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return _possibleConstructorReturn(this, result); }; }\n\nfunction _possibleConstructorReturn(self, call) { if (call && (_typeof(call) === \"object\" || typeof call === \"function\")) { return call; } else if (call !== void 0) { throw new TypeError(\"Derived constructors may only return object or undefined\"); } return _assertThisInitialized(self); }\n\nfunction _assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return self; }\n\nfunction _isNativeReflectConstruct() { if (typeof Reflect === \"undefined\" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === \"function\") return true; try { Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); return true; } catch (e) { return false; } }\n\nfunction _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return _getPrototypeOf(o); }\n\nfunction _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\n\nvar layoutClassName = \"react-grid-layout\";\n/*\n * A simple HOC that provides facility for listening to container resizes.\n *\n * The Flow type is pretty janky here. I can't just spread `WPProps` into this returned object - I wish I could - but it triggers\n * a flow bug of some sort that causes it to stop typechecking.\n */\n\nfunction WidthProvideRGL\n/*:: */\n(ComposedComponent\n/*: React.AbstractComponent*/\n)\n/*: React.AbstractComponent>*/\n{\n var _class;\n\n return _class = /*#__PURE__*/function (_React$Component) {\n _inherits(WidthProvider, _React$Component);\n\n var _super = _createSuper(WidthProvider);\n\n function WidthProvider() {\n var _this;\n\n _classCallCheck(this, WidthProvider);\n\n for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n\n _this = _super.call.apply(_super, [this].concat(args));\n\n _defineProperty(_assertThisInitialized(_this), \"state\", {\n width: 1280\n });\n\n _defineProperty(_assertThisInitialized(_this), \"elementRef\", /*#__PURE__*/React.createRef());\n\n _defineProperty(_assertThisInitialized(_this), \"mounted\", false);\n\n _defineProperty(_assertThisInitialized(_this), \"onWindowResize\", function () {\n if (!_this.mounted) return;\n var node = _this.elementRef.current; // Flow casts this to Text | Element\n // fix: grid position error when node or parentNode display is none by window resize\n // #924 #1084\n\n if (node instanceof HTMLElement && node.offsetWidth) {\n _this.setState({\n width: node.offsetWidth\n });\n }\n });\n\n return _this;\n }\n\n _createClass(WidthProvider, [{\n key: \"componentDidMount\",\n value: function componentDidMount() {\n this.mounted = true;\n window.addEventListener(\"resize\", this.onWindowResize); // Call to properly set the breakpoint and resize the elements.\n // Note that if you're doing a full-width element, this can get a little wonky if a scrollbar\n // appears because of the grid. In that case, fire your own resize event, or set `overflow: scroll` on your body.\n\n this.onWindowResize();\n }\n }, {\n key: \"componentWillUnmount\",\n value: function componentWillUnmount() {\n this.mounted = false;\n window.removeEventListener(\"resize\", this.onWindowResize);\n }\n }, {\n key: \"render\",\n value: function render() {\n var _this$props = this.props,\n measureBeforeMount = _this$props.measureBeforeMount,\n rest = _objectWithoutProperties(_this$props, _excluded);\n\n if (measureBeforeMount && !this.mounted) {\n return /*#__PURE__*/React.createElement(\"div\", {\n className: (0, _clsx.default)(this.props.className, layoutClassName),\n style: this.props.style // $FlowIgnore ref types\n ,\n ref: this.elementRef\n });\n }\n\n return /*#__PURE__*/React.createElement(ComposedComponent, _extends({\n innerRef: this.elementRef\n }, rest, this.state));\n }\n }]);\n\n return WidthProvider;\n }(React.Component), _defineProperty(_class, \"defaultProps\", {\n measureBeforeMount: false\n }), _defineProperty(_class, \"propTypes\", {\n // If true, will not render children until mounted. Useful for getting the exact width before\n // rendering, to prevent any unsightly resizing.\n measureBeforeMount: _propTypes.default.bool\n }), _class;\n}","// this file was prevaled\nmodule.exports = function fastRGLPropsEqual(a, b, isEqualImpl) {\n if (a === b) return true;\n return a.className === b.className && isEqualImpl(a.style, b.style) && a.width === b.width && a.autoSize === b.autoSize && a.cols === b.cols && a.draggableCancel === b.draggableCancel && a.draggableHandle === b.draggableHandle && isEqualImpl(a.verticalCompact, b.verticalCompact) && isEqualImpl(a.compactType, b.compactType) && isEqualImpl(a.layout, b.layout) && isEqualImpl(a.margin, b.margin) && isEqualImpl(a.containerPadding, b.containerPadding) && a.rowHeight === b.rowHeight && a.maxRows === b.maxRows && a.isBounded === b.isBounded && a.isDraggable === b.isDraggable && a.isResizable === b.isResizable && a.allowOverlap === b.allowOverlap && a.preventCollision === b.preventCollision && a.useCSSTransforms === b.useCSSTransforms && a.transformScale === b.transformScale && a.isDroppable === b.isDroppable && isEqualImpl(a.resizeHandles, b.resizeHandles) && isEqualImpl(a.resizeHandle, b.resizeHandle) && a.onLayoutChange === b.onLayoutChange && a.onDragStart === b.onDragStart && a.onDrag === b.onDrag && a.onDragStop === b.onDragStop && a.onResizeStart === b.onResizeStart && a.onResize === b.onResize && a.onResizeStop === b.onResizeStop && a.onDrop === b.onDrop && isEqualImpl(a.droppingItem, b.droppingItem) && isEqualImpl(a.innerRef, b.innerRef);\n};","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.findOrGenerateResponsiveLayout = findOrGenerateResponsiveLayout;\nexports.getBreakpointFromWidth = getBreakpointFromWidth;\nexports.getColsFromBreakpoint = getColsFromBreakpoint;\nexports.sortBreakpoints = sortBreakpoints;\n\nvar _utils = require(\"./utils\");\n\n/**\n * Given a width, find the highest breakpoint that matches is valid for it (width > breakpoint).\n *\n * @param {Object} breakpoints Breakpoints object (e.g. {lg: 1200, md: 960, ...})\n * @param {Number} width Screen width.\n * @return {String} Highest breakpoint that is less than width.\n */\nfunction getBreakpointFromWidth(breakpoints\n/*: Breakpoints*/\n, width\n/*: number*/\n)\n/*: Breakpoint*/\n{\n var sorted = sortBreakpoints(breakpoints);\n var matching = sorted[0];\n\n for (var i = 1, len = sorted.length; i < len; i++) {\n var breakpointName = sorted[i];\n if (width > breakpoints[breakpointName]) matching = breakpointName;\n }\n\n return matching;\n}\n/**\n * Given a breakpoint, get the # of cols set for it.\n * @param {String} breakpoint Breakpoint name.\n * @param {Object} cols Map of breakpoints to cols.\n * @return {Number} Number of cols.\n */\n\n\nfunction getColsFromBreakpoint(breakpoint\n/*: Breakpoint*/\n, cols\n/*: Breakpoints*/\n)\n/*: number*/\n{\n if (!cols[breakpoint]) {\n throw new Error(\"ResponsiveReactGridLayout: `cols` entry for breakpoint \" + breakpoint + \" is missing!\");\n }\n\n return cols[breakpoint];\n}\n/**\n * Given existing layouts and a new breakpoint, find or generate a new layout.\n *\n * This finds the layout above the new one and generates from it, if it exists.\n *\n * @param {Object} layouts Existing layouts.\n * @param {Array} breakpoints All breakpoints.\n * @param {String} breakpoint New breakpoint.\n * @param {String} breakpoint Last breakpoint (for fallback).\n * @param {Number} cols Column count at new breakpoint.\n * @param {Boolean} verticalCompact Whether or not to compact the layout\n * vertically.\n * @return {Array} New layout.\n */\n\n\nfunction findOrGenerateResponsiveLayout(layouts\n/*: ResponsiveLayout*/\n, breakpoints\n/*: Breakpoints*/\n, breakpoint\n/*: Breakpoint*/\n, lastBreakpoint\n/*: Breakpoint*/\n, cols\n/*: number*/\n, compactType\n/*: CompactType*/\n)\n/*: Layout*/\n{\n // If it already exists, just return it.\n if (layouts[breakpoint]) return (0, _utils.cloneLayout)(layouts[breakpoint]); // Find or generate the next layout\n\n var layout = layouts[lastBreakpoint];\n var breakpointsSorted = sortBreakpoints(breakpoints);\n var breakpointsAbove = breakpointsSorted.slice(breakpointsSorted.indexOf(breakpoint));\n\n for (var i = 0, len = breakpointsAbove.length; i < len; i++) {\n var b = breakpointsAbove[i];\n\n if (layouts[b]) {\n layout = layouts[b];\n break;\n }\n }\n\n layout = (0, _utils.cloneLayout)(layout || []); // clone layout so we don't modify existing items\n\n return (0, _utils.compact)((0, _utils.correctBounds)(layout, {\n cols: cols\n }), compactType, cols);\n}\n/**\n * Given breakpoints, return an array of breakpoints sorted by width. This is usually\n * e.g. ['xxs', 'xs', 'sm', ...]\n *\n * @param {Object} breakpoints Key/value pair of breakpoint names to widths.\n * @return {Array} Sorted breakpoints.\n */\n\n\nfunction sortBreakpoints(breakpoints\n/*: Breakpoints*/\n)\n/*: Array*/\n{\n var keys\n /*: Array*/\n = Object.keys(breakpoints);\n return keys.sort(function (a, b) {\n return breakpoints[a] - breakpoints[b];\n });\n}","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.bottom = bottom;\nexports.childrenEqual = childrenEqual;\nexports.cloneLayout = cloneLayout;\nexports.cloneLayoutItem = cloneLayoutItem;\nexports.collides = collides;\nexports.compact = compact;\nexports.compactItem = compactItem;\nexports.compactType = compactType;\nexports.correctBounds = correctBounds;\nexports.fastPositionEqual = fastPositionEqual;\nexports.fastRGLPropsEqual = void 0;\nexports.getAllCollisions = getAllCollisions;\nexports.getFirstCollision = getFirstCollision;\nexports.getLayoutItem = getLayoutItem;\nexports.getStatics = getStatics;\nexports.modifyLayout = modifyLayout;\nexports.moveElement = moveElement;\nexports.moveElementAwayFromCollision = moveElementAwayFromCollision;\nexports.noop = void 0;\nexports.perc = perc;\nexports.setTopLeft = setTopLeft;\nexports.setTransform = setTransform;\nexports.sortLayoutItems = sortLayoutItems;\nexports.sortLayoutItemsByColRow = sortLayoutItemsByColRow;\nexports.sortLayoutItemsByRowCol = sortLayoutItemsByRowCol;\nexports.synchronizeLayoutWithChildren = synchronizeLayoutWithChildren;\nexports.validateLayout = validateLayout;\nexports.withLayoutItem = withLayoutItem;\n\nvar _lodash = _interopRequireDefault(require(\"lodash.isequal\"));\n\nvar _react = _interopRequireDefault(require(\"react\"));\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }\n\nfunction _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { _defineProperty(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }\n\nfunction _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\n\nvar isProduction = process.env.NODE_ENV === \"production\";\nvar DEBUG = false;\n/**\n * Return the bottom coordinate of the layout.\n *\n * @param {Array} layout Layout array.\n * @return {Number} Bottom coordinate.\n */\n\nfunction bottom(layout\n/*: Layout*/\n)\n/*: number*/\n{\n var max = 0,\n bottomY;\n\n for (var i = 0, len = layout.length; i < len; i++) {\n bottomY = layout[i].y + layout[i].h;\n if (bottomY > max) max = bottomY;\n }\n\n return max;\n}\n\nfunction cloneLayout(layout\n/*: Layout*/\n)\n/*: Layout*/\n{\n var newLayout = Array(layout.length);\n\n for (var i = 0, len = layout.length; i < len; i++) {\n newLayout[i] = cloneLayoutItem(layout[i]);\n }\n\n return newLayout;\n} // Modify a layoutItem inside a layout. Returns a new Layout,\n// does not mutate. Carries over all other LayoutItems unmodified.\n\n\nfunction modifyLayout(layout\n/*: Layout*/\n, layoutItem\n/*: LayoutItem*/\n)\n/*: Layout*/\n{\n var newLayout = Array(layout.length);\n\n for (var i = 0, len = layout.length; i < len; i++) {\n if (layoutItem.i === layout[i].i) {\n newLayout[i] = layoutItem;\n } else {\n newLayout[i] = layout[i];\n }\n }\n\n return newLayout;\n} // Function to be called to modify a layout item.\n// Does defensive clones to ensure the layout is not modified.\n\n\nfunction withLayoutItem(layout\n/*: Layout*/\n, itemKey\n/*: string*/\n, cb\n/*: LayoutItem => LayoutItem*/\n)\n/*: [Layout, ?LayoutItem]*/\n{\n var item = getLayoutItem(layout, itemKey);\n if (!item) return [layout, null];\n item = cb(cloneLayoutItem(item)); // defensive clone then modify\n // FIXME could do this faster if we already knew the index\n\n layout = modifyLayout(layout, item);\n return [layout, item];\n} // Fast path to cloning, since this is monomorphic\n\n\nfunction cloneLayoutItem(layoutItem\n/*: LayoutItem*/\n)\n/*: LayoutItem*/\n{\n return {\n w: layoutItem.w,\n h: layoutItem.h,\n x: layoutItem.x,\n y: layoutItem.y,\n i: layoutItem.i,\n minW: layoutItem.minW,\n maxW: layoutItem.maxW,\n minH: layoutItem.minH,\n maxH: layoutItem.maxH,\n moved: Boolean(layoutItem.moved),\n static: Boolean(layoutItem.static),\n // These can be null/undefined\n isDraggable: layoutItem.isDraggable,\n isResizable: layoutItem.isResizable,\n resizeHandles: layoutItem.resizeHandles,\n isBounded: layoutItem.isBounded\n };\n}\n/**\n * Comparing React `children` is a bit difficult. This is a good way to compare them.\n * This will catch differences in keys, order, and length.\n */\n\n\nfunction childrenEqual(a\n/*: ReactChildren*/\n, b\n/*: ReactChildren*/\n)\n/*: boolean*/\n{\n return (0, _lodash.default)(_react.default.Children.map(a, function (c) {\n return c === null || c === void 0 ? void 0 : c.key;\n }), _react.default.Children.map(b, function (c) {\n return c === null || c === void 0 ? void 0 : c.key;\n }));\n}\n/**\n * See `fastRGLPropsEqual.js`.\n * We want this to run as fast as possible - it is called often - and to be\n * resilient to new props that we add. So rather than call lodash.isEqual,\n * which isn't suited to comparing props very well, we use this specialized\n * function in conjunction with preval to generate the fastest possible comparison\n * function, tuned for exactly our props.\n */\n\n/*:: type FastRGLPropsEqual = (Object, Object, Function) => boolean;*/\n\n\nvar fastRGLPropsEqual\n/*: FastRGLPropsEqual*/\n= require(\"./fastRGLPropsEqual\"); // Like the above, but a lot simpler.\n\n\nexports.fastRGLPropsEqual = fastRGLPropsEqual;\n\nfunction fastPositionEqual(a\n/*: Position*/\n, b\n/*: Position*/\n)\n/*: boolean*/\n{\n return a.left === b.left && a.top === b.top && a.width === b.width && a.height === b.height;\n}\n/**\n * Given two layoutitems, check if they collide.\n */\n\n\nfunction collides(l1\n/*: LayoutItem*/\n, l2\n/*: LayoutItem*/\n)\n/*: boolean*/\n{\n if (l1.i === l2.i) return false; // same element\n\n if (l1.x + l1.w <= l2.x) return false; // l1 is left of l2\n\n if (l1.x >= l2.x + l2.w) return false; // l1 is right of l2\n\n if (l1.y + l1.h <= l2.y) return false; // l1 is above l2\n\n if (l1.y >= l2.y + l2.h) return false; // l1 is below l2\n\n return true; // boxes overlap\n}\n/**\n * Given a layout, compact it. This involves going down each y coordinate and removing gaps\n * between items.\n *\n * Does not modify layout items (clones). Creates a new layout array.\n *\n * @param {Array} layout Layout.\n * @param {Boolean} verticalCompact Whether or not to compact the layout\n * vertically.\n * @return {Array} Compacted Layout.\n */\n\n\nfunction compact(layout\n/*: Layout*/\n, compactType\n/*: CompactType*/\n, cols\n/*: number*/\n)\n/*: Layout*/\n{\n // Statics go in the compareWith array right away so items flow around them.\n var compareWith = getStatics(layout); // We go through the items by row and column.\n\n var sorted = sortLayoutItems(layout, compactType); // Holding for new items.\n\n var out = Array(layout.length);\n\n for (var i = 0, len = sorted.length; i < len; i++) {\n var l = cloneLayoutItem(sorted[i]); // Don't move static elements\n\n if (!l.static) {\n l = compactItem(compareWith, l, compactType, cols, sorted); // Add to comparison array. We only collide with items before this one.\n // Statics are already in this array.\n\n compareWith.push(l);\n } // Add to output array to make sure they still come out in the right order.\n\n\n out[layout.indexOf(sorted[i])] = l; // Clear moved flag, if it exists.\n\n l.moved = false;\n }\n\n return out;\n}\n\nvar heightWidth = {\n x: \"w\",\n y: \"h\"\n};\n/**\n * Before moving item down, it will check if the movement will cause collisions and move those items down before.\n */\n\nfunction resolveCompactionCollision(layout\n/*: Layout*/\n, item\n/*: LayoutItem*/\n, moveToCoord\n/*: number*/\n, axis\n/*: \"x\" | \"y\"*/\n) {\n var sizeProp = heightWidth[axis];\n item[axis] += 1;\n var itemIndex = layout.map(function (layoutItem) {\n return layoutItem.i;\n }).indexOf(item.i); // Go through each item we collide with.\n\n for (var i = itemIndex + 1; i < layout.length; i++) {\n var otherItem = layout[i]; // Ignore static items\n\n if (otherItem.static) continue; // Optimization: we can break early if we know we're past this el\n // We can do this b/c it's a sorted layout\n\n if (otherItem.y > item.y + item.h) break;\n\n if (collides(item, otherItem)) {\n resolveCompactionCollision(layout, otherItem, moveToCoord + item[sizeProp], axis);\n }\n }\n\n item[axis] = moveToCoord;\n}\n/**\n * Compact an item in the layout.\n *\n * Modifies item.\n *\n */\n\n\nfunction compactItem(compareWith\n/*: Layout*/\n, l\n/*: LayoutItem*/\n, compactType\n/*: CompactType*/\n, cols\n/*: number*/\n, fullLayout\n/*: Layout*/\n)\n/*: LayoutItem*/\n{\n var compactV = compactType === \"vertical\";\n var compactH = compactType === \"horizontal\";\n\n if (compactV) {\n // Bottom 'y' possible is the bottom of the layout.\n // This allows you to do nice stuff like specify {y: Infinity}\n // This is here because the layout must be sorted in order to get the correct bottom `y`.\n l.y = Math.min(bottom(compareWith), l.y); // Move the element up as far as it can go without colliding.\n\n while (l.y > 0 && !getFirstCollision(compareWith, l)) {\n l.y--;\n }\n } else if (compactH) {\n // Move the element left as far as it can go without colliding.\n while (l.x > 0 && !getFirstCollision(compareWith, l)) {\n l.x--;\n }\n } // Move it down, and keep moving it down if it's colliding.\n\n\n var collides;\n\n while (collides = getFirstCollision(compareWith, l)) {\n if (compactH) {\n resolveCompactionCollision(fullLayout, l, collides.x + collides.w, \"x\");\n } else {\n resolveCompactionCollision(fullLayout, l, collides.y + collides.h, \"y\");\n } // Since we can't grow without bounds horizontally, if we've overflown, let's move it down and try again.\n\n\n if (compactH && l.x + l.w > cols) {\n l.x = cols - l.w;\n l.y++;\n }\n } // Ensure that there are no negative positions\n\n\n l.y = Math.max(l.y, 0);\n l.x = Math.max(l.x, 0);\n return l;\n}\n/**\n * Given a layout, make sure all elements fit within its bounds.\n *\n * Modifies layout items.\n *\n * @param {Array} layout Layout array.\n * @param {Number} bounds Number of columns.\n */\n\n\nfunction correctBounds(layout\n/*: Layout*/\n, bounds\n/*: { cols: number }*/\n)\n/*: Layout*/\n{\n var collidesWith = getStatics(layout);\n\n for (var i = 0, len = layout.length; i < len; i++) {\n var l = layout[i]; // Overflows right\n\n if (l.x + l.w > bounds.cols) l.x = bounds.cols - l.w; // Overflows left\n\n if (l.x < 0) {\n l.x = 0;\n l.w = bounds.cols;\n }\n\n if (!l.static) collidesWith.push(l);else {\n // If this is static and collides with other statics, we must move it down.\n // We have to do something nicer than just letting them overlap.\n while (getFirstCollision(collidesWith, l)) {\n l.y++;\n }\n }\n }\n\n return layout;\n}\n/**\n * Get a layout item by ID. Used so we can override later on if necessary.\n *\n * @param {Array} layout Layout array.\n * @param {String} id ID\n * @return {LayoutItem} Item at ID.\n */\n\n\nfunction getLayoutItem(layout\n/*: Layout*/\n, id\n/*: string*/\n)\n/*: ?LayoutItem*/\n{\n for (var i = 0, len = layout.length; i < len; i++) {\n if (layout[i].i === id) return layout[i];\n }\n}\n/**\n * Returns the first item this layout collides with.\n * It doesn't appear to matter which order we approach this from, although\n * perhaps that is the wrong thing to do.\n *\n * @param {Object} layoutItem Layout item.\n * @return {Object|undefined} A colliding layout item, or undefined.\n */\n\n\nfunction getFirstCollision(layout\n/*: Layout*/\n, layoutItem\n/*: LayoutItem*/\n)\n/*: ?LayoutItem*/\n{\n for (var i = 0, len = layout.length; i < len; i++) {\n if (collides(layout[i], layoutItem)) return layout[i];\n }\n}\n\nfunction getAllCollisions(layout\n/*: Layout*/\n, layoutItem\n/*: LayoutItem*/\n)\n/*: Array*/\n{\n return layout.filter(function (l) {\n return collides(l, layoutItem);\n });\n}\n/**\n * Get all static elements.\n * @param {Array} layout Array of layout objects.\n * @return {Array} Array of static layout items..\n */\n\n\nfunction getStatics(layout\n/*: Layout*/\n)\n/*: Array*/\n{\n return layout.filter(function (l) {\n return l.static;\n });\n}\n/**\n * Move an element. Responsible for doing cascading movements of other elements.\n *\n * Modifies layout items.\n *\n * @param {Array} layout Full layout to modify.\n * @param {LayoutItem} l element to move.\n * @param {Number} [x] X position in grid units.\n * @param {Number} [y] Y position in grid units.\n */\n\n\nfunction moveElement(layout\n/*: Layout*/\n, l\n/*: LayoutItem*/\n, x\n/*: ?number*/\n, y\n/*: ?number*/\n, isUserAction\n/*: ?boolean*/\n, preventCollision\n/*: ?boolean*/\n, compactType\n/*: CompactType*/\n, cols\n/*: number*/\n, allowOverlap\n/*: ?boolean*/\n)\n/*: Layout*/\n{\n // If this is static and not explicitly enabled as draggable,\n // no move is possible, so we can short-circuit this immediately.\n if (l.static && l.isDraggable !== true) return layout; // Short-circuit if nothing to do.\n\n if (l.y === y && l.x === x) return layout;\n log(\"Moving element \".concat(l.i, \" to [\").concat(String(x), \",\").concat(String(y), \"] from [\").concat(l.x, \",\").concat(l.y, \"]\"));\n var oldX = l.x;\n var oldY = l.y; // This is quite a bit faster than extending the object\n\n if (typeof x === \"number\") l.x = x;\n if (typeof y === \"number\") l.y = y;\n l.moved = true; // If this collides with anything, move it.\n // When doing this comparison, we have to sort the items we compare with\n // to ensure, in the case of multiple collisions, that we're getting the\n // nearest collision.\n\n var sorted = sortLayoutItems(layout, compactType);\n var movingUp = compactType === \"vertical\" && typeof y === \"number\" ? oldY >= y : compactType === \"horizontal\" && typeof x === \"number\" ? oldX >= x : false; // $FlowIgnore acceptable modification of read-only array as it was recently cloned\n\n if (movingUp) sorted = sorted.reverse();\n var collisions = getAllCollisions(sorted, l);\n var hasCollisions = collisions.length > 0; // We may have collisions. We can short-circuit if we've turned off collisions or\n // allowed overlap.\n\n if (hasCollisions && allowOverlap) {\n // Easy, we don't need to resolve collisions. But we *did* change the layout,\n // so clone it on the way out.\n return cloneLayout(layout);\n } else if (hasCollisions && preventCollision) {\n // If we are preventing collision but not allowing overlap, we need to\n // revert the position of this element so it goes to where it came from, rather\n // than the user's desired location.\n log(\"Collision prevented on \".concat(l.i, \", reverting.\"));\n l.x = oldX;\n l.y = oldY;\n l.moved = false;\n return layout; // did not change so don't clone\n } // Move each item that collides away from this element.\n\n\n for (var i = 0, len = collisions.length; i < len; i++) {\n var collision = collisions[i];\n log(\"Resolving collision between \".concat(l.i, \" at [\").concat(l.x, \",\").concat(l.y, \"] and \").concat(collision.i, \" at [\").concat(collision.x, \",\").concat(collision.y, \"]\")); // Short circuit so we can't infinite loop\n\n if (collision.moved) continue; // Don't move static items - we have to move *this* element away\n\n if (collision.static) {\n layout = moveElementAwayFromCollision(layout, collision, l, isUserAction, compactType, cols);\n } else {\n layout = moveElementAwayFromCollision(layout, l, collision, isUserAction, compactType, cols);\n }\n }\n\n return layout;\n}\n/**\n * This is where the magic needs to happen - given a collision, move an element away from the collision.\n * We attempt to move it up if there's room, otherwise it goes below.\n *\n * @param {Array} layout Full layout to modify.\n * @param {LayoutItem} collidesWith Layout item we're colliding with.\n * @param {LayoutItem} itemToMove Layout item we're moving.\n */\n\n\nfunction moveElementAwayFromCollision(layout\n/*: Layout*/\n, collidesWith\n/*: LayoutItem*/\n, itemToMove\n/*: LayoutItem*/\n, isUserAction\n/*: ?boolean*/\n, compactType\n/*: CompactType*/\n, cols\n/*: number*/\n)\n/*: Layout*/\n{\n var compactH = compactType === \"horizontal\"; // Compact vertically if not set to horizontal\n\n var compactV = compactType !== \"horizontal\";\n var preventCollision = collidesWith.static; // we're already colliding (not for static items)\n // If there is enough space above the collision to put this element, move it there.\n // We only do this on the main collision as this can get funky in cascades and cause\n // unwanted swapping behavior.\n\n if (isUserAction) {\n // Reset isUserAction flag because we're not in the main collision anymore.\n isUserAction = false; // Make a mock item so we don't modify the item here, only modify in moveElement.\n\n var fakeItem\n /*: LayoutItem*/\n = {\n x: compactH ? Math.max(collidesWith.x - itemToMove.w, 0) : itemToMove.x,\n y: compactV ? Math.max(collidesWith.y - itemToMove.h, 0) : itemToMove.y,\n w: itemToMove.w,\n h: itemToMove.h,\n i: \"-1\"\n }; // No collision? If so, we can go up there; otherwise, we'll end up moving down as normal\n\n if (!getFirstCollision(layout, fakeItem)) {\n log(\"Doing reverse collision on \".concat(itemToMove.i, \" up to [\").concat(fakeItem.x, \",\").concat(fakeItem.y, \"].\"));\n return moveElement(layout, itemToMove, compactH ? fakeItem.x : undefined, compactV ? fakeItem.y : undefined, isUserAction, preventCollision, compactType, cols);\n }\n }\n\n return moveElement(layout, itemToMove, compactH ? itemToMove.x + 1 : undefined, compactV ? itemToMove.y + 1 : undefined, isUserAction, preventCollision, compactType, cols);\n}\n/**\n * Helper to convert a number to a percentage string.\n *\n * @param {Number} num Any number\n * @return {String} That number as a percentage.\n */\n\n\nfunction perc(num\n/*: number*/\n)\n/*: string*/\n{\n return num * 100 + \"%\";\n}\n\nfunction setTransform(_ref)\n/*: Object*/\n{\n var top = _ref.top,\n left = _ref.left,\n width = _ref.width,\n height = _ref.height;\n // Replace unitless items with px\n var translate = \"translate(\".concat(left, \"px,\").concat(top, \"px)\");\n return {\n transform: translate,\n WebkitTransform: translate,\n MozTransform: translate,\n msTransform: translate,\n OTransform: translate,\n width: \"\".concat(width, \"px\"),\n height: \"\".concat(height, \"px\"),\n position: \"absolute\"\n };\n}\n\nfunction setTopLeft(_ref2)\n/*: Object*/\n{\n var top = _ref2.top,\n left = _ref2.left,\n width = _ref2.width,\n height = _ref2.height;\n return {\n top: \"\".concat(top, \"px\"),\n left: \"\".concat(left, \"px\"),\n width: \"\".concat(width, \"px\"),\n height: \"\".concat(height, \"px\"),\n position: \"absolute\"\n };\n}\n/**\n * Get layout items sorted from top left to right and down.\n *\n * @return {Array} Array of layout objects.\n * @return {Array} Layout, sorted static items first.\n */\n\n\nfunction sortLayoutItems(layout\n/*: Layout*/\n, compactType\n/*: CompactType*/\n)\n/*: Layout*/\n{\n if (compactType === \"horizontal\") return sortLayoutItemsByColRow(layout);\n if (compactType === \"vertical\") return sortLayoutItemsByRowCol(layout);else return layout;\n}\n/**\n * Sort layout items by row ascending and column ascending.\n *\n * Does not modify Layout.\n */\n\n\nfunction sortLayoutItemsByRowCol(layout\n/*: Layout*/\n)\n/*: Layout*/\n{\n // Slice to clone array as sort modifies\n return layout.slice(0).sort(function (a, b) {\n if (a.y > b.y || a.y === b.y && a.x > b.x) {\n return 1;\n } else if (a.y === b.y && a.x === b.x) {\n // Without this, we can get different sort results in IE vs. Chrome/FF\n return 0;\n }\n\n return -1;\n });\n}\n/**\n * Sort layout items by column ascending then row ascending.\n *\n * Does not modify Layout.\n */\n\n\nfunction sortLayoutItemsByColRow(layout\n/*: Layout*/\n)\n/*: Layout*/\n{\n return layout.slice(0).sort(function (a, b) {\n if (a.x > b.x || a.x === b.x && a.y > b.y) {\n return 1;\n }\n\n return -1;\n });\n}\n/**\n * Generate a layout using the initialLayout and children as a template.\n * Missing entries will be added, extraneous ones will be truncated.\n *\n * Does not modify initialLayout.\n *\n * @param {Array} initialLayout Layout passed in through props.\n * @param {String} breakpoint Current responsive breakpoint.\n * @param {?String} compact Compaction option.\n * @return {Array} Working layout.\n */\n\n\nfunction synchronizeLayoutWithChildren(initialLayout\n/*: Layout*/\n, children\n/*: ReactChildren*/\n, cols\n/*: number*/\n, compactType\n/*: CompactType*/\n, allowOverlap\n/*: ?boolean*/\n)\n/*: Layout*/\n{\n initialLayout = initialLayout || []; // Generate one layout item per child.\n\n var layout\n /*: LayoutItem[]*/\n = [];\n\n _react.default.Children.forEach(children, function (child\n /*: ReactElement*/\n ) {\n // Child may not exist\n if ((child === null || child === void 0 ? void 0 : child.key) == null) return; // Don't overwrite if it already exists.\n\n var exists = getLayoutItem(initialLayout, String(child.key));\n\n if (exists) {\n layout.push(cloneLayoutItem(exists));\n } else {\n if (!isProduction && child.props._grid) {\n console.warn(\"`_grid` properties on children have been deprecated as of React 15.2. \" + \"Please use `data-grid` or add your properties directly to the `layout`.\");\n }\n\n var g = child.props[\"data-grid\"] || child.props._grid; // Hey, this item has a data-grid property, use it.\n\n if (g) {\n if (!isProduction) {\n validateLayout([g], \"ReactGridLayout.children\");\n } // FIXME clone not really necessary here\n\n\n layout.push(cloneLayoutItem(_objectSpread(_objectSpread({}, g), {}, {\n i: child.key\n })));\n } else {\n // Nothing provided: ensure this is added to the bottom\n // FIXME clone not really necessary here\n layout.push(cloneLayoutItem({\n w: 1,\n h: 1,\n x: 0,\n y: bottom(layout),\n i: String(child.key)\n }));\n }\n }\n }); // Correct the layout.\n\n\n var correctedLayout = correctBounds(layout, {\n cols: cols\n });\n return allowOverlap ? correctedLayout : compact(correctedLayout, compactType, cols);\n}\n/**\n * Validate a layout. Throws errors.\n *\n * @param {Array} layout Array of layout items.\n * @param {String} [contextName] Context name for errors.\n * @throw {Error} Validation error.\n */\n\n\nfunction validateLayout(layout\n/*: Layout*/\n)\n/*: void*/\n{\n var contextName\n /*: string*/\n = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : \"Layout\";\n var subProps = [\"x\", \"y\", \"w\", \"h\"];\n if (!Array.isArray(layout)) throw new Error(contextName + \" must be an array!\");\n\n for (var i = 0, len = layout.length; i < len; i++) {\n var item = layout[i];\n\n for (var j = 0; j < subProps.length; j++) {\n if (typeof item[subProps[j]] !== \"number\") {\n throw new Error(\"ReactGridLayout: \" + contextName + \"[\" + i + \"].\" + subProps[j] + \" must be a number!\");\n }\n }\n }\n} // Legacy support for verticalCompact: false\n\n\nfunction compactType(props\n/*: ?{ verticalCompact: boolean, compactType: CompactType }*/\n)\n/*: CompactType*/\n{\n var _ref3 = props || {},\n verticalCompact = _ref3.verticalCompact,\n compactType = _ref3.compactType;\n\n return verticalCompact === false ? null : compactType;\n}\n\nfunction log() {\n var _console;\n\n if (!DEBUG) return; // eslint-disable-next-line no-console\n\n (_console = console).log.apply(_console, arguments);\n}\n\nvar noop = function noop() {};\n\nexports.noop = noop;","module.exports = require(\"./build/ReactGridLayout\").default;\nmodule.exports.utils = require(\"./build/utils\");\nmodule.exports.Responsive =\n require(\"./build/ResponsiveReactGridLayout\").default;\nmodule.exports.Responsive.utils = require(\"./build/responsiveUtils\");\nmodule.exports.WidthProvider =\n require(\"./build/components/WidthProvider\").default;\n","\"use strict\";\n\nexports.__esModule = true;\nexports.default = void 0;\nvar React = _interopRequireWildcard(require(\"react\"));\nvar _reactDraggable = require(\"react-draggable\");\nvar _utils = require(\"./utils\");\nvar _propTypes = require(\"./propTypes\");\nvar _excluded = [\"children\", \"className\", \"draggableOpts\", \"width\", \"height\", \"handle\", \"handleSize\", \"lockAspectRatio\", \"axis\", \"minConstraints\", \"maxConstraints\", \"onResize\", \"onResizeStop\", \"onResizeStart\", \"resizeHandles\", \"transformScale\"];\nfunction _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== \"function\") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }\nfunction _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || typeof obj !== \"object\" && typeof obj !== \"function\") { return { default: obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== \"default\" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj.default = obj; if (cache) { cache.set(obj, newObj); } return newObj; }\nfunction _extends() { _extends = Object.assign ? Object.assign.bind() : function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\nfunction _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }\nfunction ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }\nfunction _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { _defineProperty(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }\nfunction _defineProperty(obj, key, value) { key = _toPropertyKey(key); if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\nfunction _toPropertyKey(arg) { var key = _toPrimitive(arg, \"string\"); return typeof key === \"symbol\" ? key : String(key); }\nfunction _toPrimitive(input, hint) { if (typeof input !== \"object\" || input === null) return input; var prim = input[Symbol.toPrimitive]; if (prim !== undefined) { var res = prim.call(input, hint || \"default\"); if (typeof res !== \"object\") return res; throw new TypeError(\"@@toPrimitive must return a primitive value.\"); } return (hint === \"string\" ? String : Number)(input); }\nfunction _inheritsLoose(subClass, superClass) { subClass.prototype = Object.create(superClass.prototype); subClass.prototype.constructor = subClass; _setPrototypeOf(subClass, superClass); }\nfunction _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf ? Object.setPrototypeOf.bind() : function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); }\n// The base component.\n// This component does not have state and relies on the parent to set its props based on callback data.\nvar Resizable = /*#__PURE__*/function (_React$Component) {\n _inheritsLoose(Resizable, _React$Component);\n function Resizable() {\n var _this;\n for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n _this = _React$Component.call.apply(_React$Component, [this].concat(args)) || this;\n _this.handleRefs = {};\n _this.lastHandleRect = null;\n _this.slack = null;\n return _this;\n }\n var _proto = Resizable.prototype;\n _proto.componentWillUnmount = function componentWillUnmount() {\n this.resetData();\n };\n _proto.resetData = function resetData() {\n this.lastHandleRect = this.slack = null;\n }\n\n // Clamp width and height within provided constraints\n ;\n _proto.runConstraints = function runConstraints(width, height) {\n var _this$props = this.props,\n minConstraints = _this$props.minConstraints,\n maxConstraints = _this$props.maxConstraints,\n lockAspectRatio = _this$props.lockAspectRatio;\n // short circuit\n if (!minConstraints && !maxConstraints && !lockAspectRatio) return [width, height];\n\n // If constraining to min and max, we need to also fit width and height to aspect ratio.\n if (lockAspectRatio) {\n var ratio = this.props.width / this.props.height;\n var deltaW = width - this.props.width;\n var deltaH = height - this.props.height;\n\n // Find which coordinate was greater and should push the other toward it.\n // E.g.:\n // ratio = 1, deltaW = 10, deltaH = 5, deltaH should become 10.\n // ratio = 2, deltaW = 10, deltaH = 6, deltaW should become 12.\n if (Math.abs(deltaW) > Math.abs(deltaH * ratio)) {\n height = width / ratio;\n } else {\n width = height * ratio;\n }\n }\n var oldW = width,\n oldH = height;\n\n // Add slack to the values used to calculate bound position. This will ensure that if\n // we start removing slack, the element won't react to it right away until it's been\n // completely removed.\n var _ref = this.slack || [0, 0],\n slackW = _ref[0],\n slackH = _ref[1];\n width += slackW;\n height += slackH;\n if (minConstraints) {\n width = Math.max(minConstraints[0], width);\n height = Math.max(minConstraints[1], height);\n }\n if (maxConstraints) {\n width = Math.min(maxConstraints[0], width);\n height = Math.min(maxConstraints[1], height);\n }\n\n // If the width or height changed, we must have introduced some slack. Record it for the next iteration.\n this.slack = [slackW + (oldW - width), slackH + (oldH - height)];\n return [width, height];\n }\n\n /**\n * Wrapper around drag events to provide more useful data.\n *\n * @param {String} handlerName Handler name to wrap.\n * @return {Function} Handler function.\n */;\n _proto.resizeHandler = function resizeHandler(handlerName, axis) {\n var _this2 = this;\n return function (e, _ref2) {\n var node = _ref2.node,\n deltaX = _ref2.deltaX,\n deltaY = _ref2.deltaY;\n // Reset data in case it was left over somehow (should not be possible)\n if (handlerName === 'onResizeStart') _this2.resetData();\n\n // Axis restrictions\n var canDragX = (_this2.props.axis === 'both' || _this2.props.axis === 'x') && axis !== 'n' && axis !== 's';\n var canDragY = (_this2.props.axis === 'both' || _this2.props.axis === 'y') && axis !== 'e' && axis !== 'w';\n // No dragging possible.\n if (!canDragX && !canDragY) return;\n\n // Decompose axis for later use\n var axisV = axis[0];\n var axisH = axis[axis.length - 1]; // intentionally not axis[1], so that this catches axis === 'w' for example\n\n // Track the element being dragged to account for changes in position.\n // If a handle's position is changed between callbacks, we need to factor this in to the next callback.\n // Failure to do so will cause the element to \"skip\" when resized upwards or leftwards.\n var handleRect = node.getBoundingClientRect();\n if (_this2.lastHandleRect != null) {\n // If the handle has repositioned on either axis since last render,\n // we need to increase our callback values by this much.\n // Only checking 'n', 'w' since resizing by 's', 'w' won't affect the overall position on page,\n if (axisH === 'w') {\n var deltaLeftSinceLast = handleRect.left - _this2.lastHandleRect.left;\n deltaX += deltaLeftSinceLast;\n }\n if (axisV === 'n') {\n var deltaTopSinceLast = handleRect.top - _this2.lastHandleRect.top;\n deltaY += deltaTopSinceLast;\n }\n }\n // Storage of last rect so we know how much it has really moved.\n _this2.lastHandleRect = handleRect;\n\n // Reverse delta if using top or left drag handles.\n if (axisH === 'w') deltaX = -deltaX;\n if (axisV === 'n') deltaY = -deltaY;\n\n // Update w/h by the deltas. Also factor in transformScale.\n var width = _this2.props.width + (canDragX ? deltaX / _this2.props.transformScale : 0);\n var height = _this2.props.height + (canDragY ? deltaY / _this2.props.transformScale : 0);\n\n // Run user-provided constraints.\n var _this2$runConstraints = _this2.runConstraints(width, height);\n width = _this2$runConstraints[0];\n height = _this2$runConstraints[1];\n var dimensionsChanged = width !== _this2.props.width || height !== _this2.props.height;\n\n // Call user-supplied callback if present.\n var cb = typeof _this2.props[handlerName] === 'function' ? _this2.props[handlerName] : null;\n // Don't call 'onResize' if dimensions haven't changed.\n var shouldSkipCb = handlerName === 'onResize' && !dimensionsChanged;\n if (cb && !shouldSkipCb) {\n e.persist == null ? void 0 : e.persist();\n cb(e, {\n node: node,\n size: {\n width: width,\n height: height\n },\n handle: axis\n });\n }\n\n // Reset internal data\n if (handlerName === 'onResizeStop') _this2.resetData();\n };\n }\n\n // Render a resize handle given an axis & DOM ref. Ref *must* be attached for\n // the underlying draggable library to work properly.\n ;\n _proto.renderResizeHandle = function renderResizeHandle(handleAxis, ref) {\n var handle = this.props.handle;\n // No handle provided, make the default\n if (!handle) {\n return /*#__PURE__*/React.createElement(\"span\", {\n className: \"react-resizable-handle react-resizable-handle-\" + handleAxis,\n ref: ref\n });\n }\n // Handle is a function, such as:\n // `handle={(handleAxis) => }`\n if (typeof handle === 'function') {\n return handle(handleAxis, ref);\n }\n // Handle is a React component (composite or DOM).\n var isDOMElement = typeof handle.type === 'string';\n var props = _objectSpread({\n ref: ref\n }, isDOMElement ? {} : {\n handleAxis: handleAxis\n });\n return /*#__PURE__*/React.cloneElement(handle, props);\n };\n _proto.render = function render() {\n var _this3 = this;\n // Pass along only props not meant for the ``.`\n // eslint-disable-next-line no-unused-vars\n var _this$props2 = this.props,\n children = _this$props2.children,\n className = _this$props2.className,\n draggableOpts = _this$props2.draggableOpts,\n width = _this$props2.width,\n height = _this$props2.height,\n handle = _this$props2.handle,\n handleSize = _this$props2.handleSize,\n lockAspectRatio = _this$props2.lockAspectRatio,\n axis = _this$props2.axis,\n minConstraints = _this$props2.minConstraints,\n maxConstraints = _this$props2.maxConstraints,\n onResize = _this$props2.onResize,\n onResizeStop = _this$props2.onResizeStop,\n onResizeStart = _this$props2.onResizeStart,\n resizeHandles = _this$props2.resizeHandles,\n transformScale = _this$props2.transformScale,\n p = _objectWithoutPropertiesLoose(_this$props2, _excluded);\n\n // What we're doing here is getting the child of this element, and cloning it with this element's props.\n // We are then defining its children as:\n // 1. Its original children (resizable's child's children), and\n // 2. One or more draggable handles.\n return (0, _utils.cloneElement)(children, _objectSpread(_objectSpread({}, p), {}, {\n className: (className ? className + \" \" : '') + \"react-resizable\",\n children: [].concat(children.props.children, resizeHandles.map(function (handleAxis) {\n var _this3$handleRefs$han;\n // Create a ref to the handle so that `` doesn't have to use ReactDOM.findDOMNode().\n var ref = (_this3$handleRefs$han = _this3.handleRefs[handleAxis]) != null ? _this3$handleRefs$han : _this3.handleRefs[handleAxis] = /*#__PURE__*/React.createRef();\n return /*#__PURE__*/React.createElement(_reactDraggable.DraggableCore, _extends({}, draggableOpts, {\n nodeRef: ref,\n key: \"resizableHandle-\" + handleAxis,\n onStop: _this3.resizeHandler('onResizeStop', handleAxis),\n onStart: _this3.resizeHandler('onResizeStart', handleAxis),\n onDrag: _this3.resizeHandler('onResize', handleAxis)\n }), _this3.renderResizeHandle(handleAxis, ref));\n }))\n }));\n };\n return Resizable;\n}(React.Component);\nexports.default = Resizable;\nResizable.propTypes = _propTypes.resizableProps;\nResizable.defaultProps = {\n axis: 'both',\n handleSize: [20, 20],\n lockAspectRatio: false,\n minConstraints: [20, 20],\n maxConstraints: [Infinity, Infinity],\n resizeHandles: ['se'],\n transformScale: 1\n};","\"use strict\";\n\nexports.__esModule = true;\nexports.default = void 0;\nvar React = _interopRequireWildcard(require(\"react\"));\nvar _propTypes = _interopRequireDefault(require(\"prop-types\"));\nvar _Resizable = _interopRequireDefault(require(\"./Resizable\"));\nvar _propTypes2 = require(\"./propTypes\");\nvar _excluded = [\"handle\", \"handleSize\", \"onResize\", \"onResizeStart\", \"onResizeStop\", \"draggableOpts\", \"minConstraints\", \"maxConstraints\", \"lockAspectRatio\", \"axis\", \"width\", \"height\", \"resizeHandles\", \"style\", \"transformScale\"];\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\nfunction _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== \"function\") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }\nfunction _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || typeof obj !== \"object\" && typeof obj !== \"function\") { return { default: obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== \"default\" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj.default = obj; if (cache) { cache.set(obj, newObj); } return newObj; }\nfunction _extends() { _extends = Object.assign ? Object.assign.bind() : function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\nfunction ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }\nfunction _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { _defineProperty(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }\nfunction _defineProperty(obj, key, value) { key = _toPropertyKey(key); if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\nfunction _toPropertyKey(arg) { var key = _toPrimitive(arg, \"string\"); return typeof key === \"symbol\" ? key : String(key); }\nfunction _toPrimitive(input, hint) { if (typeof input !== \"object\" || input === null) return input; var prim = input[Symbol.toPrimitive]; if (prim !== undefined) { var res = prim.call(input, hint || \"default\"); if (typeof res !== \"object\") return res; throw new TypeError(\"@@toPrimitive must return a primitive value.\"); } return (hint === \"string\" ? String : Number)(input); }\nfunction _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }\nfunction _inheritsLoose(subClass, superClass) { subClass.prototype = Object.create(superClass.prototype); subClass.prototype.constructor = subClass; _setPrototypeOf(subClass, superClass); }\nfunction _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf ? Object.setPrototypeOf.bind() : function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); }\nvar ResizableBox = /*#__PURE__*/function (_React$Component) {\n _inheritsLoose(ResizableBox, _React$Component);\n function ResizableBox() {\n var _this;\n for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n _this = _React$Component.call.apply(_React$Component, [this].concat(args)) || this;\n _this.state = {\n width: _this.props.width,\n height: _this.props.height,\n propsWidth: _this.props.width,\n propsHeight: _this.props.height\n };\n _this.onResize = function (e, data) {\n var size = data.size;\n if (_this.props.onResize) {\n e.persist == null ? void 0 : e.persist();\n _this.setState(size, function () {\n return _this.props.onResize && _this.props.onResize(e, data);\n });\n } else {\n _this.setState(size);\n }\n };\n return _this;\n }\n ResizableBox.getDerivedStateFromProps = function getDerivedStateFromProps(props, state) {\n // If parent changes height/width, set that in our state.\n if (state.propsWidth !== props.width || state.propsHeight !== props.height) {\n return {\n width: props.width,\n height: props.height,\n propsWidth: props.width,\n propsHeight: props.height\n };\n }\n return null;\n };\n var _proto = ResizableBox.prototype;\n _proto.render = function render() {\n // Basic wrapper around a Resizable instance.\n // If you use Resizable directly, you are responsible for updating the child component\n // with a new width and height.\n var _this$props = this.props,\n handle = _this$props.handle,\n handleSize = _this$props.handleSize,\n onResize = _this$props.onResize,\n onResizeStart = _this$props.onResizeStart,\n onResizeStop = _this$props.onResizeStop,\n draggableOpts = _this$props.draggableOpts,\n minConstraints = _this$props.minConstraints,\n maxConstraints = _this$props.maxConstraints,\n lockAspectRatio = _this$props.lockAspectRatio,\n axis = _this$props.axis,\n width = _this$props.width,\n height = _this$props.height,\n resizeHandles = _this$props.resizeHandles,\n style = _this$props.style,\n transformScale = _this$props.transformScale,\n props = _objectWithoutPropertiesLoose(_this$props, _excluded);\n return /*#__PURE__*/React.createElement(_Resizable.default, {\n axis: axis,\n draggableOpts: draggableOpts,\n handle: handle,\n handleSize: handleSize,\n height: this.state.height,\n lockAspectRatio: lockAspectRatio,\n maxConstraints: maxConstraints,\n minConstraints: minConstraints,\n onResizeStart: onResizeStart,\n onResize: this.onResize,\n onResizeStop: onResizeStop,\n resizeHandles: resizeHandles,\n transformScale: transformScale,\n width: this.state.width\n }, /*#__PURE__*/React.createElement(\"div\", _extends({}, props, {\n style: _objectSpread(_objectSpread({}, style), {}, {\n width: this.state.width + 'px',\n height: this.state.height + 'px'\n })\n })));\n };\n return ResizableBox;\n}(React.Component);\nexports.default = ResizableBox;\n// PropTypes are identical to , except that children are not strictly required to be present.\nResizableBox.propTypes = _objectSpread(_objectSpread({}, _propTypes2.resizableProps), {}, {\n children: _propTypes.default.element\n});","\"use strict\";\n\nexports.__esModule = true;\nexports.resizableProps = void 0;\nvar _propTypes = _interopRequireDefault(require(\"prop-types\"));\nvar _reactDraggable = require(\"react-draggable\");\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\nvar resizableProps = {\n /*\n * Restricts resizing to a particular axis (default: 'both')\n * 'both' - allows resizing by width or height\n * 'x' - only allows the width to be changed\n * 'y' - only allows the height to be changed\n * 'none' - disables resizing altogether\n * */\n axis: _propTypes.default.oneOf(['both', 'x', 'y', 'none']),\n className: _propTypes.default.string,\n /*\n * Require that one and only one child be present.\n * */\n children: _propTypes.default.element.isRequired,\n /*\n * These will be passed wholesale to react-draggable's DraggableCore\n * */\n draggableOpts: _propTypes.default.shape({\n allowAnyClick: _propTypes.default.bool,\n cancel: _propTypes.default.string,\n children: _propTypes.default.node,\n disabled: _propTypes.default.bool,\n enableUserSelectHack: _propTypes.default.bool,\n offsetParent: _propTypes.default.node,\n grid: _propTypes.default.arrayOf(_propTypes.default.number),\n handle: _propTypes.default.string,\n nodeRef: _propTypes.default.object,\n onStart: _propTypes.default.func,\n onDrag: _propTypes.default.func,\n onStop: _propTypes.default.func,\n onMouseDown: _propTypes.default.func,\n scale: _propTypes.default.number\n }),\n /*\n * Initial height\n * */\n height: function height() {\n for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n var props = args[0];\n // Required if resizing height or both\n if (props.axis === 'both' || props.axis === 'y') {\n var _PropTypes$number;\n return (_PropTypes$number = _propTypes.default.number).isRequired.apply(_PropTypes$number, args);\n }\n return _propTypes.default.number.apply(_propTypes.default, args);\n },\n /*\n * Customize cursor resize handle\n * */\n handle: _propTypes.default.oneOfType([_propTypes.default.node, _propTypes.default.func]),\n /*\n * If you change this, be sure to update your css\n * */\n handleSize: _propTypes.default.arrayOf(_propTypes.default.number),\n lockAspectRatio: _propTypes.default.bool,\n /*\n * Max X & Y measure\n * */\n maxConstraints: _propTypes.default.arrayOf(_propTypes.default.number),\n /*\n * Min X & Y measure\n * */\n minConstraints: _propTypes.default.arrayOf(_propTypes.default.number),\n /*\n * Called on stop resize event\n * */\n onResizeStop: _propTypes.default.func,\n /*\n * Called on start resize event\n * */\n onResizeStart: _propTypes.default.func,\n /*\n * Called on resize event\n * */\n onResize: _propTypes.default.func,\n /*\n * Defines which resize handles should be rendered (default: 'se')\n * 's' - South handle (bottom-center)\n * 'w' - West handle (left-center)\n * 'e' - East handle (right-center)\n * 'n' - North handle (top-center)\n * 'sw' - Southwest handle (bottom-left)\n * 'nw' - Northwest handle (top-left)\n * 'se' - Southeast handle (bottom-right)\n * 'ne' - Northeast handle (top-center)\n * */\n resizeHandles: _propTypes.default.arrayOf(_propTypes.default.oneOf(['s', 'w', 'e', 'n', 'sw', 'nw', 'se', 'ne'])),\n /*\n * If `transform: scale(n)` is set on the parent, this should be set to `n`.\n * */\n transformScale: _propTypes.default.number,\n /*\n * Initial width\n */\n width: function width() {\n for (var _len2 = arguments.length, args = new Array(_len2), _key2 = 0; _key2 < _len2; _key2++) {\n args[_key2] = arguments[_key2];\n }\n var props = args[0];\n // Required if resizing width or both\n if (props.axis === 'both' || props.axis === 'x') {\n var _PropTypes$number2;\n return (_PropTypes$number2 = _propTypes.default.number).isRequired.apply(_PropTypes$number2, args);\n }\n return _propTypes.default.number.apply(_propTypes.default, args);\n }\n};\nexports.resizableProps = resizableProps;","\"use strict\";\n\nexports.__esModule = true;\nexports.cloneElement = cloneElement;\nvar _react = _interopRequireDefault(require(\"react\"));\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\nfunction ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }\nfunction _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { _defineProperty(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }\nfunction _defineProperty(obj, key, value) { key = _toPropertyKey(key); if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\nfunction _toPropertyKey(arg) { var key = _toPrimitive(arg, \"string\"); return typeof key === \"symbol\" ? key : String(key); }\nfunction _toPrimitive(input, hint) { if (typeof input !== \"object\" || input === null) return input; var prim = input[Symbol.toPrimitive]; if (prim !== undefined) { var res = prim.call(input, hint || \"default\"); if (typeof res !== \"object\") return res; throw new TypeError(\"@@toPrimitive must return a primitive value.\"); } return (hint === \"string\" ? String : Number)(input); }\n// React.addons.cloneWithProps look-alike that merges style & className.\nfunction cloneElement(element, props) {\n if (props.style && element.props.style) {\n props.style = _objectSpread(_objectSpread({}, element.props.style), props.style);\n }\n if (props.className && element.props.className) {\n props.className = element.props.className + \" \" + props.className;\n }\n return /*#__PURE__*/_react.default.cloneElement(element, props);\n}","'use strict';\nmodule.exports = function() {\n throw new Error(\"Don't instantiate Resizable directly! Use require('react-resizable').Resizable\");\n};\n\nmodule.exports.Resizable = require('./build/Resizable').default;\nmodule.exports.ResizableBox = require('./build/ResizableBox').default;\n","module.exports = __WEBPACK_EXTERNAL_MODULE__644__;","module.exports = __WEBPACK_EXTERNAL_MODULE__305__;","module.exports = __WEBPACK_EXTERNAL_MODULE__545__;","module.exports = __WEBPACK_EXTERNAL_MODULE__388__;","module.exports = __WEBPACK_EXTERNAL_MODULE__980__;","module.exports = __WEBPACK_EXTERNAL_MODULE__650__;","module.exports = __WEBPACK_EXTERNAL_MODULE__729__;","module.exports = __WEBPACK_EXTERNAL_MODULE__814__;","module.exports = __WEBPACK_EXTERNAL_MODULE__177__;","// The module cache\nvar __webpack_module_cache__ = {};\n\n// The require function\nfunction __webpack_require__(moduleId) {\n\t// Check if module is in cache\n\tvar cachedModule = __webpack_module_cache__[moduleId];\n\tif (cachedModule !== undefined) {\n\t\treturn cachedModule.exports;\n\t}\n\t// Create a new module (and put it into the cache)\n\tvar module = __webpack_module_cache__[moduleId] = {\n\t\tid: moduleId,\n\t\tloaded: false,\n\t\texports: {}\n\t};\n\n\t// Execute the module function\n\t__webpack_modules__[moduleId](module, module.exports, __webpack_require__);\n\n\t// Flag the module as loaded\n\tmodule.loaded = true;\n\n\t// Return the exports of the module\n\treturn module.exports;\n}\n\n","// getDefaultExport function for compatibility with non-harmony modules\n__webpack_require__.n = (module) => {\n\tvar getter = module && module.__esModule ?\n\t\t() => (module['default']) :\n\t\t() => (module);\n\t__webpack_require__.d(getter, { a: getter });\n\treturn getter;\n};","// define getter functions for harmony exports\n__webpack_require__.d = (exports, definition) => {\n\tfor(var key in definition) {\n\t\tif(__webpack_require__.o(definition, key) && !__webpack_require__.o(exports, key)) {\n\t\t\tObject.defineProperty(exports, key, { enumerable: true, get: definition[key] });\n\t\t}\n\t}\n};","__webpack_require__.g = (function() {\n\tif (typeof globalThis === 'object') return globalThis;\n\ttry {\n\t\treturn this || new Function('return this')();\n\t} catch (e) {\n\t\tif (typeof window === 'object') return window;\n\t}\n})();","__webpack_require__.o = (obj, prop) => (Object.prototype.hasOwnProperty.call(obj, prop))","// define __esModule on exports\n__webpack_require__.r = (exports) => {\n\tif(typeof Symbol !== 'undefined' && Symbol.toStringTag) {\n\t\tObject.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });\n\t}\n\tObject.defineProperty(exports, '__esModule', { value: true });\n};","__webpack_require__.nmd = (module) => {\n\tmodule.paths = [];\n\tif (!module.children) module.children = [];\n\treturn module;\n};","import React, { useContext } from 'react';\nimport { AppRootProps } from '@grafana/data';\n\n// This is used to be able to retrieve the root plugin props anywhere inside the app.\nexport const PluginPropsContext = React.createContext(null);\n\nexport const usePluginProps = () => {\n const pluginProps = useContext(PluginPropsContext);\n\n return pluginProps;\n};\n\nexport const usePluginMeta = () => {\n const pluginProps = usePluginProps();\n\n return pluginProps?.meta;\n};\n","import pluginJson from './plugin.json';\n\nexport const PLUGIN_BASE_URL = `/a/${pluginJson.id}`;\n\nexport enum ROUTES {\n CacheGroup = 'cache-group',\n DeliveryService = 'delivery-service',\n Server = 'server',\n}\n\nexport const PROMETHEUS_DATASOURCE_REF = {\n uid: 'prometheus',\n type: 'prometheus',\n};\n\nexport const INFLUXDB_DATASOURCES_REF = {\n CACHE_STATS: {\n uid: 'cache_stats',\n type: 'influxdb',\n },\n DELIVERYSERVICE_STATS: {\n uid: 'deliveryservice_stats',\n type: 'influxdb',\n },\n DAILY_STATS: {\n uid: 'daily_stats',\n type: 'influxdb',\n },\n TELEGRAF: {\n uid: 'telegraf',\n type: 'influxdb',\n },\n};\n","import { PLUGIN_BASE_URL } from '../constants';\n\n// Prefixes the route with the base URL of the plugin\nexport function prefixRoute(route: string): string {\n return `${PLUGIN_BASE_URL}/${route}`;\n}\n","import React from 'react';\nimport { useLocation } from 'react-router-dom';\nimport { urlUtil, locationUtil } from '@grafana/data';\nimport { locationService, locationSearchToObject } from '@grafana/runtime';\n\nvar __defProp = Object.defineProperty;\nvar __getOwnPropSymbols = Object.getOwnPropertySymbols;\nvar __hasOwnProp = Object.prototype.hasOwnProperty;\nvar __propIsEnum = Object.prototype.propertyIsEnumerable;\nvar __defNormalProp = (obj, key, value) => key in obj ? __defProp(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;\nvar __spreadValues = (a, b) => {\n for (var prop in b || (b = {}))\n if (__hasOwnProp.call(b, prop))\n __defNormalProp(a, prop, b[prop]);\n if (__getOwnPropSymbols)\n for (var prop of __getOwnPropSymbols(b)) {\n if (__propIsEnum.call(b, prop))\n __defNormalProp(a, prop, b[prop]);\n }\n return a;\n};\nfunction useAppQueryParams() {\n const location = useLocation();\n return locationSearchToObject(location.search || \"\");\n}\nfunction getUrlWithAppState(path, preserveParams) {\n const paramsCopy = __spreadValues({}, locationService.getSearchObject());\n if (preserveParams) {\n for (const key of Object.keys(paramsCopy)) {\n if (!preserveParams.includes(key)) {\n delete paramsCopy[key];\n }\n }\n }\n return urlUtil.renderUrl(locationUtil.assureBaseUrl(path), paramsCopy);\n}\nfunction renderSceneComponentWithRouteProps(sceneObject, routeProps) {\n return React.createElement(sceneObject.Component, { model: sceneObject, routeProps });\n}\n\nexport { getUrlWithAppState, renderSceneComponentWithRouteProps, useAppQueryParams };\n//# sourceMappingURL=utils.js.map\n","import { getPluginImportUtils } from '@grafana/runtime';\n\nvar __defProp = Object.defineProperty;\nvar __defProps = Object.defineProperties;\nvar __getOwnPropDescs = Object.getOwnPropertyDescriptors;\nvar __getOwnPropSymbols = Object.getOwnPropertySymbols;\nvar __hasOwnProp = Object.prototype.hasOwnProperty;\nvar __propIsEnum = Object.prototype.propertyIsEnumerable;\nvar __defNormalProp = (obj, key, value) => key in obj ? __defProp(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;\nvar __spreadValues = (a, b) => {\n for (var prop in b || (b = {}))\n if (__hasOwnProp.call(b, prop))\n __defNormalProp(a, prop, b[prop]);\n if (__getOwnPropSymbols)\n for (var prop of __getOwnPropSymbols(b)) {\n if (__propIsEnum.call(b, prop))\n __defNormalProp(a, prop, b[prop]);\n }\n return a;\n};\nvar __spreadProps = (a, b) => __defProps(a, __getOwnPropDescs(b));\nconst runtimePanelPlugins = /* @__PURE__ */ new Map();\nfunction registerRuntimePanelPlugin({ pluginId, plugin }) {\n if (runtimePanelPlugins.has(pluginId)) {\n throw new Error(`A runtime panel plugin with id ${pluginId} has already been registered`);\n }\n plugin.meta = __spreadProps(__spreadValues({}, plugin.meta), {\n id: pluginId,\n name: pluginId,\n module: \"runtime plugin\",\n baseUrl: \"runtime plugin\",\n info: {\n author: {\n name: \"Runtime plugin \" + pluginId\n },\n description: \"\",\n links: [],\n logos: {\n large: \"\",\n small: \"\"\n },\n screenshots: [],\n updated: \"\",\n version: \"\"\n }\n });\n runtimePanelPlugins.set(pluginId, plugin);\n}\nfunction loadPanelPluginSync(pluginId) {\n var _a;\n const { getPanelPluginFromCache } = getPluginImportUtils();\n return (_a = getPanelPluginFromCache(pluginId)) != null ? _a : runtimePanelPlugins.get(pluginId);\n}\n\nexport { loadPanelPluginSync, registerRuntimePanelPlugin, runtimePanelPlugins };\n//# sourceMappingURL=registerRuntimePanelPlugin.js.map\n","const randomUUID = typeof crypto !== 'undefined' && crypto.randomUUID && crypto.randomUUID.bind(crypto);\nexport default {\n randomUUID\n};","// Unique ID creation requires a high quality random # generator. In the browser we therefore\n// require the crypto API and do not support built-in fallback to lower quality random number\n// generators (like Math.random()).\nlet getRandomValues;\nconst rnds8 = new Uint8Array(16);\nexport default function rng() {\n // lazy load so that environments that need to polyfill have a chance to do so\n if (!getRandomValues) {\n // getRandomValues needs to be invoked in a context where \"this\" is a Crypto implementation.\n getRandomValues = typeof crypto !== 'undefined' && crypto.getRandomValues && crypto.getRandomValues.bind(crypto);\n\n if (!getRandomValues) {\n throw new Error('crypto.getRandomValues() not supported. See https://github.com/uuidjs/uuid#getrandomvalues-not-supported');\n }\n }\n\n return getRandomValues(rnds8);\n}","import validate from './validate.js';\n/**\n * Convert array of 16 byte values to UUID string format of the form:\n * XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX\n */\n\nconst byteToHex = [];\n\nfor (let i = 0; i < 256; ++i) {\n byteToHex.push((i + 0x100).toString(16).slice(1));\n}\n\nexport function unsafeStringify(arr, offset = 0) {\n // Note: Be careful editing this code! It's been tuned for performance\n // and works in ways you may not expect. See https://github.com/uuidjs/uuid/pull/434\n return byteToHex[arr[offset + 0]] + byteToHex[arr[offset + 1]] + byteToHex[arr[offset + 2]] + byteToHex[arr[offset + 3]] + '-' + byteToHex[arr[offset + 4]] + byteToHex[arr[offset + 5]] + '-' + byteToHex[arr[offset + 6]] + byteToHex[arr[offset + 7]] + '-' + byteToHex[arr[offset + 8]] + byteToHex[arr[offset + 9]] + '-' + byteToHex[arr[offset + 10]] + byteToHex[arr[offset + 11]] + byteToHex[arr[offset + 12]] + byteToHex[arr[offset + 13]] + byteToHex[arr[offset + 14]] + byteToHex[arr[offset + 15]];\n}\n\nfunction stringify(arr, offset = 0) {\n const uuid = unsafeStringify(arr, offset); // Consistency check for valid UUID. If this throws, it's likely due to one\n // of the following:\n // - One or more input array values don't map to a hex octet (leading to\n // \"undefined\" in the uuid)\n // - Invalid input values for the RFC `version` or `variant` fields\n\n if (!validate(uuid)) {\n throw TypeError('Stringified UUID is invalid');\n }\n\n return uuid;\n}\n\nexport default stringify;","import native from './native.js';\nimport rng from './rng.js';\nimport { unsafeStringify } from './stringify.js';\n\nfunction v4(options, buf, offset) {\n if (native.randomUUID && !buf && !options) {\n return native.randomUUID();\n }\n\n options = options || {};\n const rnds = options.random || (options.rng || rng)(); // Per 4.4, set bits for version and `clock_seq_hi_and_reserved`\n\n rnds[6] = rnds[6] & 0x0f | 0x40;\n rnds[8] = rnds[8] & 0x3f | 0x80; // Copy bytes to buffer, if provided\n\n if (buf) {\n offset = offset || 0;\n\n for (let i = 0; i < 16; ++i) {\n buf[offset + i] = rnds[i];\n }\n\n return buf;\n }\n\n return unsafeStringify(rnds);\n}\n\nexport default v4;","import React, { useEffect } from 'react';\n\nvar __defProp = Object.defineProperty;\nvar __defProps = Object.defineProperties;\nvar __getOwnPropDescs = Object.getOwnPropertyDescriptors;\nvar __getOwnPropSymbols = Object.getOwnPropertySymbols;\nvar __hasOwnProp = Object.prototype.hasOwnProperty;\nvar __propIsEnum = Object.prototype.propertyIsEnumerable;\nvar __defNormalProp = (obj, key, value) => key in obj ? __defProp(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;\nvar __spreadValues = (a, b) => {\n for (var prop in b || (b = {}))\n if (__hasOwnProp.call(b, prop))\n __defNormalProp(a, prop, b[prop]);\n if (__getOwnPropSymbols)\n for (var prop of __getOwnPropSymbols(b)) {\n if (__propIsEnum.call(b, prop))\n __defNormalProp(a, prop, b[prop]);\n }\n return a;\n};\nvar __spreadProps = (a, b) => __defProps(a, __getOwnPropDescs(b));\nvar __objRest = (source, exclude) => {\n var target = {};\n for (var prop in source)\n if (__hasOwnProp.call(source, prop) && exclude.indexOf(prop) < 0)\n target[prop] = source[prop];\n if (source != null && __getOwnPropSymbols)\n for (var prop of __getOwnPropSymbols(source)) {\n if (exclude.indexOf(prop) < 0 && __propIsEnum.call(source, prop))\n target[prop] = source[prop];\n }\n return target;\n};\nfunction SceneComponentWrapperWithoutMemo(_a) {\n var _b = _a, { model } = _b, otherProps = __objRest(_b, [\"model\"]);\n var _a2;\n const Component = (_a2 = model.constructor[\"Component\"]) != null ? _a2 : EmptyRenderer;\n const [activated, setActivated] = React.useState(false);\n useEffect(() => {\n setActivated(true);\n return model.activate();\n }, [model]);\n if (!activated) {\n return null;\n }\n return /* @__PURE__ */ React.createElement(Component, __spreadProps(__spreadValues({}, otherProps), {\n model\n }));\n}\nconst SceneComponentWrapper = React.memo(SceneComponentWrapperWithoutMemo);\nfunction EmptyRenderer(_) {\n return null;\n}\n\nexport { SceneComponentWrapper };\n//# sourceMappingURL=SceneComponentWrapper.js.map\n","import { BusEventWithPayload } from '@grafana/data';\n\nclass SceneObjectStateChangedEvent extends BusEventWithPayload {\n}\nSceneObjectStateChangedEvent.type = \"scene-object-state-change\";\nclass UserActionEvent extends BusEventWithPayload {\n}\nUserActionEvent.type = \"scene-object-user-action\";\n\nexport { SceneObjectStateChangedEvent, UserActionEvent };\n//# sourceMappingURL=events.js.map\n","var __accessCheck = (obj, member, msg) => {\n if (!member.has(obj))\n throw TypeError(\"Cannot \" + msg);\n};\nvar __privateGet = (obj, member, getter) => {\n __accessCheck(obj, member, \"read from private field\");\n return getter ? getter.call(obj) : member.get(obj);\n};\nvar __privateAdd = (obj, member, value) => {\n if (member.has(obj))\n throw TypeError(\"Cannot add the same private member more than once\");\n member instanceof WeakSet ? member.add(obj) : member.set(obj, value);\n};\nvar __privateSet = (obj, member, value, setter) => {\n __accessCheck(obj, member, \"write to private field\");\n setter ? setter.call(obj, value) : member.set(obj, value);\n return value;\n};\nvar _ref;\nclass SceneObjectRef {\n constructor(ref) {\n __privateAdd(this, _ref, void 0);\n __privateSet(this, _ref, ref);\n }\n resolve() {\n return __privateGet(this, _ref);\n }\n}\n_ref = new WeakMap();\n\nexport { SceneObjectRef };\n//# sourceMappingURL=SceneObjectRef.js.map\n","import { useState, useEffect } from 'react';\nimport { Subscription } from 'rxjs';\nimport { v4 } from 'uuid';\nimport { EventBusSrv } from '@grafana/data';\nimport { SceneComponentWrapper } from './SceneComponentWrapper.js';\nimport { SceneObjectStateChangedEvent } from './events.js';\nimport { cloneSceneObject } from './sceneGraph/utils.js';\nimport { SceneObjectRef } from './SceneObjectRef.js';\n\nvar __defProp = Object.defineProperty;\nvar __getOwnPropSymbols = Object.getOwnPropertySymbols;\nvar __hasOwnProp = Object.prototype.hasOwnProperty;\nvar __propIsEnum = Object.prototype.propertyIsEnumerable;\nvar __defNormalProp = (obj, key, value) => key in obj ? __defProp(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;\nvar __spreadValues = (a, b) => {\n for (var prop in b || (b = {}))\n if (__hasOwnProp.call(b, prop))\n __defNormalProp(a, prop, b[prop]);\n if (__getOwnPropSymbols)\n for (var prop of __getOwnPropSymbols(b)) {\n if (__propIsEnum.call(b, prop))\n __defNormalProp(a, prop, b[prop]);\n }\n return a;\n};\nclass SceneObjectBase {\n constructor(state) {\n this._isActive = false;\n this._activationHandlers = [];\n this._deactivationHandlers = /* @__PURE__ */ new Map();\n this._subs = new Subscription();\n this._refCount = 0;\n if (!state.key) {\n state.key = v4();\n }\n this._events = new EventBusSrv();\n this._state = Object.freeze(state);\n this._setParent();\n }\n get state() {\n return this._state;\n }\n get isActive() {\n return this._isActive;\n }\n get parent() {\n return this._parent;\n }\n get variableDependency() {\n return this._variableDependency;\n }\n get urlSync() {\n return this._urlSync;\n }\n get Component() {\n return SceneComponentWrapper;\n }\n _setParent() {\n this.forEachChild((child) => {\n if (child._parent && child._parent !== this) {\n console.warn(\n \"SceneObject already has a parent set that is different from the new parent. You cannot share the same SceneObject instance in multiple scenes or in multiple different places of the same scene graph. Use SceneObject.clone() to duplicate a SceneObject or store a state key reference and use sceneGraph.findObject to locate it.\",\n child,\n this\n );\n }\n child._parent = this;\n });\n }\n subscribeToState(handler) {\n return this._events.subscribe(SceneObjectStateChangedEvent, (event) => {\n if (event.payload.changedObject === this) {\n handler(event.payload.newState, event.payload.prevState);\n }\n });\n }\n subscribeToEvent(eventType, handler) {\n return this._events.subscribe(eventType, handler);\n }\n setState(update) {\n const prevState = this._state;\n const newState = __spreadValues(__spreadValues({}, this._state), update);\n this._state = Object.freeze(newState);\n this._setParent();\n this._handleActivationOfChangedStateProps(prevState, newState);\n this.publishEvent(\n new SceneObjectStateChangedEvent({\n prevState,\n newState,\n partialUpdate: update,\n changedObject: this\n }),\n true\n );\n }\n _handleActivationOfChangedStateProps(prevState, newState) {\n if (!this.isActive) {\n return;\n }\n if (prevState.$data !== newState.$data) {\n this._handleChangedStateActivation(prevState.$data, newState.$data);\n }\n if (prevState.$variables !== newState.$variables) {\n this._handleChangedStateActivation(prevState.$variables, newState.$variables);\n }\n if (prevState.$timeRange !== newState.$timeRange) {\n this._handleChangedStateActivation(prevState.$timeRange, newState.$timeRange);\n }\n }\n _handleChangedStateActivation(oldValue, newValue) {\n if (oldValue) {\n const deactivationHandler = this._deactivationHandlers.get(oldValue);\n if (deactivationHandler) {\n deactivationHandler();\n this._deactivationHandlers.delete(oldValue);\n }\n }\n if (newValue) {\n this._deactivationHandlers.set(newValue, newValue.activate());\n }\n }\n publishEvent(event, bubble) {\n this._events.publish(event);\n if (bubble && this.parent) {\n this.parent.publishEvent(event, bubble);\n }\n }\n getRoot() {\n return !this._parent ? this : this._parent.getRoot();\n }\n _internalActivate() {\n this._isActive = true;\n const { $data, $variables, $timeRange, $behaviors } = this.state;\n if ($timeRange && !$timeRange.isActive) {\n this._deactivationHandlers.set($timeRange, $timeRange.activate());\n }\n if ($variables && !$variables.isActive) {\n this._deactivationHandlers.set($variables, $variables.activate());\n }\n if ($data && !$data.isActive) {\n this._deactivationHandlers.set($data, $data.activate());\n }\n if ($behaviors) {\n for (const behavior of $behaviors) {\n if (behavior instanceof SceneObjectBase) {\n this._deactivationHandlers.set(behavior, behavior.activate());\n } else if (typeof behavior === \"function\") {\n const deactivationHandler = behavior(this);\n if (deactivationHandler) {\n this._deactivationHandlers.set(behavior, deactivationHandler);\n }\n }\n }\n }\n this._activationHandlers.forEach((handler) => {\n const result = handler();\n if (result) {\n this._deactivationHandlers.set(result, result);\n }\n });\n }\n activate() {\n if (!this.isActive) {\n this._internalActivate();\n }\n this._refCount++;\n let called = false;\n return () => {\n this._refCount--;\n if (called) {\n const msg = `SceneObject cancelation handler returned by activate() called a second time`;\n console.error(msg, this);\n throw new Error(msg);\n }\n called = true;\n if (this._refCount === 0) {\n this._internalDeactivate();\n }\n };\n }\n _internalDeactivate() {\n this._isActive = false;\n for (let handler of this._deactivationHandlers.values()) {\n handler();\n }\n this._deactivationHandlers.clear();\n this._events.removeAllListeners();\n this._subs.unsubscribe();\n this._subs = new Subscription();\n }\n useState() {\n return useSceneObjectState(this);\n }\n forceRender() {\n this.setState({});\n }\n clone(withState) {\n return cloneSceneObject(this, withState);\n }\n addActivationHandler(handler) {\n this._activationHandlers.push(handler);\n }\n forEachChild(callback) {\n for (const propValue of Object.values(this.state)) {\n if (propValue instanceof SceneObjectBase) {\n callback(propValue);\n }\n if (Array.isArray(propValue)) {\n for (const child of propValue) {\n if (child instanceof SceneObjectBase) {\n callback(child);\n }\n }\n }\n }\n }\n getRef() {\n if (!this._ref) {\n this._ref = new SceneObjectRef(this);\n }\n return this._ref;\n }\n}\nfunction useSceneObjectState(model) {\n const [_, setState] = useState(model.state);\n const stateAtFirstRender = model.state;\n useEffect(() => {\n const s = model.subscribeToState(setState);\n if (model.state !== stateAtFirstRender) {\n setState(model.state);\n }\n return () => s.unsubscribe();\n }, [model]);\n return model.state;\n}\n\nexport { SceneObjectBase };\n//# sourceMappingURL=SceneObjectBase.js.map\n","import { SceneObjectBase } from '../SceneObjectBase.js';\nimport { SceneObjectRef } from '../SceneObjectRef.js';\n\nvar __defProp = Object.defineProperty;\nvar __getOwnPropSymbols = Object.getOwnPropertySymbols;\nvar __hasOwnProp = Object.prototype.hasOwnProperty;\nvar __propIsEnum = Object.prototype.propertyIsEnumerable;\nvar __defNormalProp = (obj, key, value) => key in obj ? __defProp(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;\nvar __spreadValues = (a, b) => {\n for (var prop in b || (b = {}))\n if (__hasOwnProp.call(b, prop))\n __defNormalProp(a, prop, b[prop]);\n if (__getOwnPropSymbols)\n for (var prop of __getOwnPropSymbols(b)) {\n if (__propIsEnum.call(b, prop))\n __defNormalProp(a, prop, b[prop]);\n }\n return a;\n};\nfunction cloneSceneObject(sceneObject, withState) {\n const clonedState = cloneSceneObjectState(sceneObject.state, withState);\n return new sceneObject.constructor(clonedState);\n}\nfunction cloneSceneObjectState(sceneState, withState) {\n const clonedState = __spreadValues({}, sceneState);\n for (const key in clonedState) {\n const propValue = clonedState[key];\n if (propValue instanceof SceneObjectBase) {\n clonedState[key] = propValue.clone();\n }\n if (propValue instanceof SceneObjectRef) {\n throw new Error(\"Cannot clone a SceneObject with a SceneObjectRef in state\");\n }\n if (Array.isArray(propValue)) {\n const newArray = [];\n for (const child of propValue) {\n if (child instanceof SceneObjectBase) {\n newArray.push(child.clone());\n } else {\n newArray.push(child);\n }\n }\n clonedState[key] = newArray;\n }\n }\n Object.assign(clonedState, withState);\n return clonedState;\n}\nfunction getClosest(sceneObject, extract) {\n let curSceneObject = sceneObject;\n let extracted = void 0;\n while (curSceneObject && !extracted) {\n extracted = extract(curSceneObject);\n curSceneObject = curSceneObject.parent;\n }\n return extracted;\n}\n\nexport { cloneSceneObject, cloneSceneObjectState, getClosest };\n//# sourceMappingURL=utils.js.map\n","import { DataSourceApi, PluginType } from '@grafana/data';\n\nclass RuntimeDataSource extends DataSourceApi {\n constructor(pluginId, uid) {\n super({\n name: \"RuntimeDataSource-\" + pluginId,\n uid,\n type: pluginId,\n id: 1,\n readOnly: true,\n jsonData: {},\n access: \"direct\",\n meta: {\n id: pluginId,\n name: \"RuntimeDataSource-\" + pluginId,\n type: PluginType.datasource,\n info: {\n author: {\n name: \"\"\n },\n description: \"\",\n links: [],\n logos: {\n large: \"\",\n small: \"\"\n },\n screenshots: [],\n updated: \"\",\n version: \"\"\n },\n module: \"\",\n baseUrl: \"\"\n }\n });\n }\n testDatasource() {\n return Promise.resolve({});\n }\n}\nconst runtimeDataSources = /* @__PURE__ */ new Map();\nfunction registerRuntimeDataSource({ dataSource }) {\n if (runtimeDataSources.has(dataSource.uid)) {\n throw new Error(`A runtime data source with uid ${dataSource.uid} has already been registered`);\n }\n runtimeDataSources.set(dataSource.uid, dataSource);\n}\n\nexport { RuntimeDataSource, registerRuntimeDataSource, runtimeDataSources };\n//# sourceMappingURL=RuntimeDataSource.js.map\n","const defaultAnnotationTarget = {\n tags: []\n};\nconst defaultAnnotationPanelFilter = {\n exclude: false,\n ids: []\n};\nconst defaultAnnotationContainer = {\n list: []\n};\nconst defaultAnnotationQuery = {\n enable: true,\n hide: false\n};\nconst defaultVariableModel = {\n id: \"00000000-0000-0000-0000-000000000000\",\n multi: false,\n options: [],\n skipUrlSync: false\n};\nvar VariableRefresh = /* @__PURE__ */ ((VariableRefresh2) => {\n VariableRefresh2[VariableRefresh2[\"never\"] = 0] = \"never\";\n VariableRefresh2[VariableRefresh2[\"onDashboardLoad\"] = 1] = \"onDashboardLoad\";\n VariableRefresh2[VariableRefresh2[\"onTimeRangeChanged\"] = 2] = \"onTimeRangeChanged\";\n return VariableRefresh2;\n})(VariableRefresh || {});\nvar VariableSort = /* @__PURE__ */ ((VariableSort2) => {\n VariableSort2[VariableSort2[\"alphabeticalAsc\"] = 1] = \"alphabeticalAsc\";\n VariableSort2[VariableSort2[\"alphabeticalCaseInsensitiveAsc\"] = 5] = \"alphabeticalCaseInsensitiveAsc\";\n VariableSort2[VariableSort2[\"alphabeticalCaseInsensitiveDesc\"] = 6] = \"alphabeticalCaseInsensitiveDesc\";\n VariableSort2[VariableSort2[\"alphabeticalDesc\"] = 2] = \"alphabeticalDesc\";\n VariableSort2[VariableSort2[\"disabled\"] = 0] = \"disabled\";\n VariableSort2[VariableSort2[\"numericalAsc\"] = 3] = \"numericalAsc\";\n VariableSort2[VariableSort2[\"numericalDesc\"] = 4] = \"numericalDesc\";\n return VariableSort2;\n})(VariableSort || {});\nvar LoadingState = /* @__PURE__ */ ((LoadingState2) => {\n LoadingState2[\"Done\"] = \"Done\";\n LoadingState2[\"Error\"] = \"Error\";\n LoadingState2[\"Loading\"] = \"Loading\";\n LoadingState2[\"NotStarted\"] = \"NotStarted\";\n LoadingState2[\"Streaming\"] = \"Streaming\";\n return LoadingState2;\n})(LoadingState || {});\nconst defaultDashboardLink = {\n asDropdown: false,\n includeVars: false,\n keepTime: false,\n tags: [],\n targetBlank: false\n};\nvar FieldColorModeId = /* @__PURE__ */ ((FieldColorModeId2) => {\n FieldColorModeId2[\"ContinuousBlPu\"] = \"continuous-BlPu\";\n FieldColorModeId2[\"ContinuousBlYlRd\"] = \"continuous-BlYlRd\";\n FieldColorModeId2[\"ContinuousBlues\"] = \"continuous-blues\";\n FieldColorModeId2[\"ContinuousGrYlRd\"] = \"continuous-GrYlRd\";\n FieldColorModeId2[\"ContinuousGreens\"] = \"continuous-greens\";\n FieldColorModeId2[\"ContinuousPurples\"] = \"continuous-purples\";\n FieldColorModeId2[\"ContinuousRdYlGr\"] = \"continuous-RdYlGr\";\n FieldColorModeId2[\"ContinuousReds\"] = \"continuous-reds\";\n FieldColorModeId2[\"ContinuousYlBl\"] = \"continuous-YlBl\";\n FieldColorModeId2[\"ContinuousYlRd\"] = \"continuous-YlRd\";\n FieldColorModeId2[\"Fixed\"] = \"fixed\";\n FieldColorModeId2[\"PaletteClassic\"] = \"palette-classic\";\n FieldColorModeId2[\"PaletteClassicByName\"] = \"palette-classic-by-name\";\n FieldColorModeId2[\"Shades\"] = \"shades\";\n FieldColorModeId2[\"Thresholds\"] = \"thresholds\";\n return FieldColorModeId2;\n})(FieldColorModeId || {});\nconst defaultGridPos = {\n h: 9,\n w: 12,\n x: 0,\n y: 0\n};\nvar ThresholdsMode = /* @__PURE__ */ ((ThresholdsMode2) => {\n ThresholdsMode2[\"Absolute\"] = \"absolute\";\n ThresholdsMode2[\"Percentage\"] = \"percentage\";\n return ThresholdsMode2;\n})(ThresholdsMode || {});\nconst defaultThresholdsConfig = {\n steps: []\n};\nvar MappingType = /* @__PURE__ */ ((MappingType2) => {\n MappingType2[\"RangeToText\"] = \"range\";\n MappingType2[\"RegexToText\"] = \"regex\";\n MappingType2[\"SpecialValue\"] = \"special\";\n MappingType2[\"ValueToText\"] = \"value\";\n return MappingType2;\n})(MappingType || {});\nvar SpecialValueMatch = /* @__PURE__ */ ((SpecialValueMatch2) => {\n SpecialValueMatch2[\"Empty\"] = \"empty\";\n SpecialValueMatch2[\"False\"] = \"false\";\n SpecialValueMatch2[\"NaN\"] = \"nan\";\n SpecialValueMatch2[\"Null\"] = \"null\";\n SpecialValueMatch2[\"NullAndNan\"] = \"null+nan\";\n SpecialValueMatch2[\"True\"] = \"true\";\n return SpecialValueMatch2;\n})(SpecialValueMatch || {});\nvar DashboardCursorSync = /* @__PURE__ */ ((DashboardCursorSync2) => {\n DashboardCursorSync2[DashboardCursorSync2[\"Crosshair\"] = 1] = \"Crosshair\";\n DashboardCursorSync2[DashboardCursorSync2[\"Off\"] = 0] = \"Off\";\n DashboardCursorSync2[DashboardCursorSync2[\"Tooltip\"] = 2] = \"Tooltip\";\n return DashboardCursorSync2;\n})(DashboardCursorSync || {});\nconst defaultDashboardCursorSync = 0 /* Off */;\nconst defaultPanel = {\n links: [],\n repeatDirection: \"h\",\n tags: [],\n targets: [],\n transformations: [],\n transparent: false\n};\nconst defaultFieldConfigSource = {\n overrides: []\n};\nconst defaultMatcherConfig = {\n id: \"\"\n};\nconst defaultFieldConfig = {\n links: [],\n mappings: []\n};\nconst defaultRowPanel = {\n collapsed: false,\n panels: []\n};\nconst defaultDashboard = {\n editable: true,\n fiscalYearStartMonth: 0,\n graphTooltip: 0 /* Off */,\n links: [],\n panels: [],\n schemaVersion: 36,\n style: \"dark\",\n tags: [],\n timezone: \"browser\"\n};\n\nexport { DashboardCursorSync, FieldColorModeId, LoadingState, MappingType, SpecialValueMatch, ThresholdsMode, VariableRefresh, VariableSort, defaultAnnotationContainer, defaultAnnotationPanelFilter, defaultAnnotationQuery, defaultAnnotationTarget, defaultDashboard, defaultDashboardCursorSync, defaultDashboardLink, defaultFieldConfig, defaultFieldConfigSource, defaultGridPos, defaultMatcherConfig, defaultPanel, defaultRowPanel, defaultThresholdsConfig, defaultVariableModel };\n//# sourceMappingURL=dashboard_types.gen.js.map\n","import { getDefaultTimeRange } from '@grafana/data';\nimport { LoadingState } from '@grafana/schema';\nimport { of } from 'rxjs';\nimport { SceneObjectBase } from './SceneObjectBase.js';\n\nvar __defProp = Object.defineProperty;\nvar __getOwnPropSymbols = Object.getOwnPropertySymbols;\nvar __hasOwnProp = Object.prototype.hasOwnProperty;\nvar __propIsEnum = Object.prototype.propertyIsEnumerable;\nvar __defNormalProp = (obj, key, value) => key in obj ? __defProp(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;\nvar __spreadValues = (a, b) => {\n for (var prop in b || (b = {}))\n if (__hasOwnProp.call(b, prop))\n __defNormalProp(a, prop, b[prop]);\n if (__getOwnPropSymbols)\n for (var prop of __getOwnPropSymbols(b)) {\n if (__propIsEnum.call(b, prop))\n __defNormalProp(a, prop, b[prop]);\n }\n return a;\n};\nclass SceneDataNode extends SceneObjectBase {\n constructor(state) {\n super(__spreadValues({\n data: emptyPanelData\n }, state));\n }\n getResultsStream() {\n const result = {\n origin: this,\n data: this.state.data\n };\n return of(result);\n }\n}\nconst emptyPanelData = {\n state: LoadingState.Done,\n series: [],\n timeRange: getDefaultTimeRange()\n};\n\nexport { SceneDataNode, emptyPanelData };\n//# sourceMappingURL=SceneDataNode.js.map\n","class SceneObjectUrlSyncConfig {\n constructor(_sceneObject, _options) {\n this._sceneObject = _sceneObject;\n this._keys = _options.keys;\n }\n getKeys() {\n return this._keys;\n }\n getUrlState() {\n return this._sceneObject.getUrlState();\n }\n updateFromUrl(values) {\n this._sceneObject.updateFromUrl(values);\n }\n}\n\nexport { SceneObjectUrlSyncConfig };\n//# sourceMappingURL=SceneObjectUrlSyncConfig.js.map\n","import { toUtc } from '@grafana/data';\n\nconst INTERVAL_STRING_REGEX = /^\\d+[yYmMsSwWhHdD]$/;\nfunction parseUrlParam(value) {\n if (typeof value !== \"string\") {\n return null;\n }\n if (value.indexOf(\"now\") !== -1) {\n return value;\n }\n if (INTERVAL_STRING_REGEX.test(value)) {\n return value;\n }\n if (value.length === 8) {\n const utcValue = toUtc(value, \"YYYYMMDD\");\n if (utcValue.isValid()) {\n return utcValue.toISOString();\n }\n } else if (value.length === 15) {\n const utcValue = toUtc(value, \"YYYYMMDDTHHmmss\");\n if (utcValue.isValid()) {\n return utcValue.toISOString();\n }\n } else if (value.length === 24) {\n const utcValue = toUtc(value);\n return utcValue.toISOString();\n }\n const epoch = parseInt(value, 10);\n if (!isNaN(epoch)) {\n return toUtc(epoch).toISOString();\n }\n return null;\n}\n\nexport { parseUrlParam };\n//# sourceMappingURL=parseUrlParam.js.map\n","import { dateMath } from '@grafana/data';\n\nfunction evaluateTimeRange(from, to, timeZone, fiscalYearStartMonth, delay) {\n const hasDelay = delay && to === \"now\";\n return {\n from: dateMath.parse(from, false, timeZone, fiscalYearStartMonth),\n to: dateMath.parse(hasDelay ? \"now-\" + delay : to, true, timeZone, fiscalYearStartMonth),\n raw: {\n from,\n to\n }\n };\n}\n\nexport { evaluateTimeRange };\n//# sourceMappingURL=evaluateTimeRange.js.map\n","import { getTimeZone, setWeekStart } from '@grafana/data';\nimport { SceneObjectUrlSyncConfig } from '../services/SceneObjectUrlSyncConfig.js';\nimport { SceneObjectBase } from './SceneObjectBase.js';\nimport { getClosest } from './sceneGraph/utils.js';\nimport { parseUrlParam } from '../utils/parseUrlParam.js';\nimport { evaluateTimeRange } from '../utils/evaluateTimeRange.js';\nimport { config } from '@grafana/runtime';\n\nvar __defProp = Object.defineProperty;\nvar __getOwnPropSymbols = Object.getOwnPropertySymbols;\nvar __hasOwnProp = Object.prototype.hasOwnProperty;\nvar __propIsEnum = Object.prototype.propertyIsEnumerable;\nvar __defNormalProp = (obj, key, value) => key in obj ? __defProp(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;\nvar __spreadValues = (a, b) => {\n for (var prop in b || (b = {}))\n if (__hasOwnProp.call(b, prop))\n __defNormalProp(a, prop, b[prop]);\n if (__getOwnPropSymbols)\n for (var prop of __getOwnPropSymbols(b)) {\n if (__propIsEnum.call(b, prop))\n __defNormalProp(a, prop, b[prop]);\n }\n return a;\n};\nclass SceneTimeRange extends SceneObjectBase {\n constructor(state = {}) {\n var _a, _b;\n const from = (_a = state.from) != null ? _a : \"now-6h\";\n const to = (_b = state.to) != null ? _b : \"now\";\n const timeZone = state.timeZone;\n const value = evaluateTimeRange(\n from,\n to,\n timeZone || getTimeZone(),\n state.fiscalYearStartMonth,\n state.UNSAFE_nowDelay\n );\n super(__spreadValues({ from, to, timeZone, value }, state));\n this._urlSync = new SceneObjectUrlSyncConfig(this, { keys: [\"from\", \"to\"] });\n this.onTimeRangeChange = (timeRange) => {\n const update = {};\n const updateToEval = {};\n if (typeof timeRange.raw.from === \"string\") {\n update.from = timeRange.raw.from;\n updateToEval.from = timeRange.raw.from;\n } else {\n update.from = timeRange.raw.from.toISOString();\n updateToEval.from = timeRange.raw.from.toISOString(true);\n }\n if (typeof timeRange.raw.to === \"string\") {\n update.to = timeRange.raw.to;\n updateToEval.to = timeRange.raw.to;\n } else {\n update.to = timeRange.raw.to.toISOString();\n updateToEval.to = timeRange.raw.to.toISOString(true);\n }\n update.value = evaluateTimeRange(\n updateToEval.from,\n updateToEval.to,\n this.getTimeZone(),\n this.state.fiscalYearStartMonth,\n this.state.UNSAFE_nowDelay\n );\n if (update.from !== this.state.from || update.to !== this.state.to) {\n this.setState(update);\n }\n };\n this.onTimeZoneChange = (timeZone) => {\n this.setState({ timeZone });\n };\n this.onRefresh = () => {\n this.setState({\n value: evaluateTimeRange(\n this.state.from,\n this.state.to,\n this.getTimeZone(),\n this.state.fiscalYearStartMonth,\n this.state.UNSAFE_nowDelay\n )\n });\n };\n this.addActivationHandler(this._onActivate.bind(this));\n }\n _onActivate() {\n if (!this.state.timeZone) {\n const timeZoneSource = this.getTimeZoneSource();\n if (timeZoneSource !== this) {\n this._subs.add(\n timeZoneSource.subscribeToState((n, p) => {\n if (n.timeZone !== void 0 && n.timeZone !== p.timeZone) {\n this.setState({\n value: evaluateTimeRange(\n this.state.from,\n this.state.to,\n timeZoneSource.getTimeZone(),\n this.state.fiscalYearStartMonth,\n this.state.UNSAFE_nowDelay\n )\n });\n }\n })\n );\n }\n }\n if (this.state.weekStart) {\n setWeekStart(this.state.weekStart);\n }\n return () => {\n if (this.state.weekStart) {\n setWeekStart(config.bootData.user.weekStart);\n }\n };\n }\n getTimeZoneSource() {\n if (!this.parent || !this.parent.parent) {\n return this;\n }\n const source = getClosest(this.parent.parent, (o) => {\n if (o.state.$timeRange && o.state.$timeRange.state.timeZone) {\n return o.state.$timeRange;\n }\n return void 0;\n });\n if (!source) {\n return this;\n }\n return source;\n }\n getTimeZone() {\n if (this.state.timeZone) {\n return this.state.timeZone;\n }\n const timeZoneSource = this.getTimeZoneSource();\n if (timeZoneSource !== this) {\n return timeZoneSource.state.timeZone;\n }\n return getTimeZone();\n }\n getUrlState() {\n return { from: this.state.from, to: this.state.to };\n }\n updateFromUrl(values) {\n var _a, _b;\n if (!values.to && !values.from) {\n return;\n }\n const update = {};\n const from = parseUrlParam(values.from);\n if (from) {\n update.from = from;\n }\n const to = parseUrlParam(values.to);\n if (to) {\n update.to = to;\n }\n update.value = evaluateTimeRange(\n (_a = update.from) != null ? _a : this.state.from,\n (_b = update.to) != null ? _b : this.state.to,\n this.getTimeZone(),\n this.state.fiscalYearStartMonth,\n this.state.UNSAFE_nowDelay\n );\n this.setState(update);\n }\n}\n\nexport { SceneTimeRange };\n//# sourceMappingURL=SceneTimeRange.js.map\n","import { SceneDataNode } from '../../core/SceneDataNode.js';\nimport { SceneObjectBase } from '../../core/SceneObjectBase.js';\nimport { SceneTimeRange } from '../../core/SceneTimeRange.js';\n\nconst EmptyDataNode = new SceneDataNode();\nconst DefaultTimeRange = new SceneTimeRange();\nclass EmptyVariableSetImpl extends SceneObjectBase {\n constructor() {\n super({ variables: [] });\n }\n getByName(name) {\n return void 0;\n }\n isVariableLoadingOrWaitingToUpdate(variable) {\n return false;\n }\n}\nconst EmptyVariableSet = new EmptyVariableSetImpl();\n\nexport { DefaultTimeRange, EmptyDataNode, EmptyVariableSet, EmptyVariableSetImpl };\n//# sourceMappingURL=defaults.js.map\n","import { DefaultTimeRange } from '../../variables/interpolation/defaults.js';\nimport { getClosest } from './utils.js';\n\nfunction getTimeRange(sceneObject) {\n var _a;\n return (_a = getClosest(sceneObject, (s) => s.state.$timeRange)) != null ? _a : DefaultTimeRange;\n}\n\nexport { getTimeRange };\n//# sourceMappingURL=getTimeRange.js.map\n","var ScaleDimensionMode = /* @__PURE__ */ ((ScaleDimensionMode2) => {\n ScaleDimensionMode2[\"Linear\"] = \"linear\";\n ScaleDimensionMode2[\"Quad\"] = \"quad\";\n return ScaleDimensionMode2;\n})(ScaleDimensionMode || {});\nvar ScalarDimensionMode = /* @__PURE__ */ ((ScalarDimensionMode2) => {\n ScalarDimensionMode2[\"Clamped\"] = \"clamped\";\n ScalarDimensionMode2[\"Mod\"] = \"mod\";\n return ScalarDimensionMode2;\n})(ScalarDimensionMode || {});\nvar TextDimensionMode = /* @__PURE__ */ ((TextDimensionMode2) => {\n TextDimensionMode2[\"Field\"] = \"field\";\n TextDimensionMode2[\"Fixed\"] = \"fixed\";\n TextDimensionMode2[\"Template\"] = \"template\";\n return TextDimensionMode2;\n})(TextDimensionMode || {});\nvar ResourceDimensionMode = /* @__PURE__ */ ((ResourceDimensionMode2) => {\n ResourceDimensionMode2[\"Field\"] = \"field\";\n ResourceDimensionMode2[\"Fixed\"] = \"fixed\";\n ResourceDimensionMode2[\"Mapping\"] = \"mapping\";\n return ResourceDimensionMode2;\n})(ResourceDimensionMode || {});\nvar FrameGeometrySourceMode = /* @__PURE__ */ ((FrameGeometrySourceMode2) => {\n FrameGeometrySourceMode2[\"Auto\"] = \"auto\";\n FrameGeometrySourceMode2[\"Coords\"] = \"coords\";\n FrameGeometrySourceMode2[\"Geohash\"] = \"geohash\";\n FrameGeometrySourceMode2[\"Lookup\"] = \"lookup\";\n return FrameGeometrySourceMode2;\n})(FrameGeometrySourceMode || {});\nvar HeatmapCalculationMode = /* @__PURE__ */ ((HeatmapCalculationMode2) => {\n HeatmapCalculationMode2[\"Count\"] = \"count\";\n HeatmapCalculationMode2[\"Size\"] = \"size\";\n return HeatmapCalculationMode2;\n})(HeatmapCalculationMode || {});\nvar HeatmapCellLayout = /* @__PURE__ */ ((HeatmapCellLayout2) => {\n HeatmapCellLayout2[\"auto\"] = \"auto\";\n HeatmapCellLayout2[\"ge\"] = \"ge\";\n HeatmapCellLayout2[\"le\"] = \"le\";\n HeatmapCellLayout2[\"unknown\"] = \"unknown\";\n return HeatmapCellLayout2;\n})(HeatmapCellLayout || {});\nvar LogsSortOrder = /* @__PURE__ */ ((LogsSortOrder2) => {\n LogsSortOrder2[\"Ascending\"] = \"Ascending\";\n LogsSortOrder2[\"Descending\"] = \"Descending\";\n return LogsSortOrder2;\n})(LogsSortOrder || {});\nvar AxisPlacement = /* @__PURE__ */ ((AxisPlacement2) => {\n AxisPlacement2[\"Auto\"] = \"auto\";\n AxisPlacement2[\"Bottom\"] = \"bottom\";\n AxisPlacement2[\"Hidden\"] = \"hidden\";\n AxisPlacement2[\"Left\"] = \"left\";\n AxisPlacement2[\"Right\"] = \"right\";\n AxisPlacement2[\"Top\"] = \"top\";\n return AxisPlacement2;\n})(AxisPlacement || {});\nvar AxisColorMode = /* @__PURE__ */ ((AxisColorMode2) => {\n AxisColorMode2[\"Series\"] = \"series\";\n AxisColorMode2[\"Text\"] = \"text\";\n return AxisColorMode2;\n})(AxisColorMode || {});\nvar VisibilityMode = /* @__PURE__ */ ((VisibilityMode2) => {\n VisibilityMode2[\"Always\"] = \"always\";\n VisibilityMode2[\"Auto\"] = \"auto\";\n VisibilityMode2[\"Never\"] = \"never\";\n return VisibilityMode2;\n})(VisibilityMode || {});\nvar GraphDrawStyle = /* @__PURE__ */ ((GraphDrawStyle2) => {\n GraphDrawStyle2[\"Bars\"] = \"bars\";\n GraphDrawStyle2[\"Line\"] = \"line\";\n GraphDrawStyle2[\"Points\"] = \"points\";\n return GraphDrawStyle2;\n})(GraphDrawStyle || {});\nvar GraphTransform = /* @__PURE__ */ ((GraphTransform2) => {\n GraphTransform2[\"Constant\"] = \"constant\";\n GraphTransform2[\"NegativeY\"] = \"negative-Y\";\n return GraphTransform2;\n})(GraphTransform || {});\nvar LineInterpolation = /* @__PURE__ */ ((LineInterpolation2) => {\n LineInterpolation2[\"Linear\"] = \"linear\";\n LineInterpolation2[\"Smooth\"] = \"smooth\";\n LineInterpolation2[\"StepAfter\"] = \"stepAfter\";\n LineInterpolation2[\"StepBefore\"] = \"stepBefore\";\n return LineInterpolation2;\n})(LineInterpolation || {});\nvar ScaleDistribution = /* @__PURE__ */ ((ScaleDistribution2) => {\n ScaleDistribution2[\"Linear\"] = \"linear\";\n ScaleDistribution2[\"Log\"] = \"log\";\n ScaleDistribution2[\"Ordinal\"] = \"ordinal\";\n ScaleDistribution2[\"Symlog\"] = \"symlog\";\n return ScaleDistribution2;\n})(ScaleDistribution || {});\nvar GraphGradientMode = /* @__PURE__ */ ((GraphGradientMode2) => {\n GraphGradientMode2[\"Hue\"] = \"hue\";\n GraphGradientMode2[\"None\"] = \"none\";\n GraphGradientMode2[\"Opacity\"] = \"opacity\";\n GraphGradientMode2[\"Scheme\"] = \"scheme\";\n return GraphGradientMode2;\n})(GraphGradientMode || {});\nvar StackingMode = /* @__PURE__ */ ((StackingMode2) => {\n StackingMode2[\"None\"] = \"none\";\n StackingMode2[\"Normal\"] = \"normal\";\n StackingMode2[\"Percent\"] = \"percent\";\n return StackingMode2;\n})(StackingMode || {});\nvar BarAlignment = /* @__PURE__ */ ((BarAlignment2) => {\n BarAlignment2[BarAlignment2[\"After\"] = 1] = \"After\";\n BarAlignment2[BarAlignment2[\"Before\"] = -1] = \"Before\";\n BarAlignment2[BarAlignment2[\"Center\"] = 0] = \"Center\";\n return BarAlignment2;\n})(BarAlignment || {});\nvar ScaleOrientation = /* @__PURE__ */ ((ScaleOrientation2) => {\n ScaleOrientation2[ScaleOrientation2[\"Horizontal\"] = 0] = \"Horizontal\";\n ScaleOrientation2[ScaleOrientation2[\"Vertical\"] = 1] = \"Vertical\";\n return ScaleOrientation2;\n})(ScaleOrientation || {});\nvar ScaleDirection = /* @__PURE__ */ ((ScaleDirection2) => {\n ScaleDirection2[ScaleDirection2[\"Down\"] = -1] = \"Down\";\n ScaleDirection2[ScaleDirection2[\"Left\"] = -1] = \"Left\";\n ScaleDirection2[ScaleDirection2[\"Right\"] = 1] = \"Right\";\n ScaleDirection2[ScaleDirection2[\"Up\"] = 1] = \"Up\";\n return ScaleDirection2;\n})(ScaleDirection || {});\nconst defaultLineStyle = {\n dash: []\n};\nvar GraphTresholdsStyleMode = /* @__PURE__ */ ((GraphTresholdsStyleMode2) => {\n GraphTresholdsStyleMode2[\"Area\"] = \"area\";\n GraphTresholdsStyleMode2[\"Dashed\"] = \"dashed\";\n GraphTresholdsStyleMode2[\"DashedAndArea\"] = \"dashed+area\";\n GraphTresholdsStyleMode2[\"Line\"] = \"line\";\n GraphTresholdsStyleMode2[\"LineAndArea\"] = \"line+area\";\n GraphTresholdsStyleMode2[\"Off\"] = \"off\";\n GraphTresholdsStyleMode2[\"Series\"] = \"series\";\n return GraphTresholdsStyleMode2;\n})(GraphTresholdsStyleMode || {});\nvar LegendDisplayMode = /* @__PURE__ */ ((LegendDisplayMode2) => {\n LegendDisplayMode2[\"Hidden\"] = \"hidden\";\n LegendDisplayMode2[\"List\"] = \"list\";\n LegendDisplayMode2[\"Table\"] = \"table\";\n return LegendDisplayMode2;\n})(LegendDisplayMode || {});\nconst defaultReduceDataOptions = {\n calcs: []\n};\nvar VizOrientation = /* @__PURE__ */ ((VizOrientation2) => {\n VizOrientation2[\"Auto\"] = \"auto\";\n VizOrientation2[\"Horizontal\"] = \"horizontal\";\n VizOrientation2[\"Vertical\"] = \"vertical\";\n return VizOrientation2;\n})(VizOrientation || {});\nconst defaultOptionsWithTimezones = {\n timezone: []\n};\nvar BigValueColorMode = /* @__PURE__ */ ((BigValueColorMode2) => {\n BigValueColorMode2[\"Background\"] = \"background\";\n BigValueColorMode2[\"BackgroundSolid\"] = \"background_solid\";\n BigValueColorMode2[\"None\"] = \"none\";\n BigValueColorMode2[\"Value\"] = \"value\";\n return BigValueColorMode2;\n})(BigValueColorMode || {});\nvar BigValueGraphMode = /* @__PURE__ */ ((BigValueGraphMode2) => {\n BigValueGraphMode2[\"Area\"] = \"area\";\n BigValueGraphMode2[\"Line\"] = \"line\";\n BigValueGraphMode2[\"None\"] = \"none\";\n return BigValueGraphMode2;\n})(BigValueGraphMode || {});\nvar BigValueJustifyMode = /* @__PURE__ */ ((BigValueJustifyMode2) => {\n BigValueJustifyMode2[\"Auto\"] = \"auto\";\n BigValueJustifyMode2[\"Center\"] = \"center\";\n return BigValueJustifyMode2;\n})(BigValueJustifyMode || {});\nvar BigValueTextMode = /* @__PURE__ */ ((BigValueTextMode2) => {\n BigValueTextMode2[\"Auto\"] = \"auto\";\n BigValueTextMode2[\"Name\"] = \"name\";\n BigValueTextMode2[\"None\"] = \"none\";\n BigValueTextMode2[\"Value\"] = \"value\";\n BigValueTextMode2[\"ValueAndName\"] = \"value_and_name\";\n return BigValueTextMode2;\n})(BigValueTextMode || {});\nvar TooltipDisplayMode = /* @__PURE__ */ ((TooltipDisplayMode2) => {\n TooltipDisplayMode2[\"Multi\"] = \"multi\";\n TooltipDisplayMode2[\"None\"] = \"none\";\n TooltipDisplayMode2[\"Single\"] = \"single\";\n return TooltipDisplayMode2;\n})(TooltipDisplayMode || {});\nvar SortOrder = /* @__PURE__ */ ((SortOrder2) => {\n SortOrder2[\"Ascending\"] = \"asc\";\n SortOrder2[\"Descending\"] = \"desc\";\n SortOrder2[\"None\"] = \"none\";\n return SortOrder2;\n})(SortOrder || {});\nconst defaultVizLegendOptions = {\n calcs: []\n};\nvar BarGaugeDisplayMode = /* @__PURE__ */ ((BarGaugeDisplayMode2) => {\n BarGaugeDisplayMode2[\"Basic\"] = \"basic\";\n BarGaugeDisplayMode2[\"Gradient\"] = \"gradient\";\n BarGaugeDisplayMode2[\"Lcd\"] = \"lcd\";\n return BarGaugeDisplayMode2;\n})(BarGaugeDisplayMode || {});\nvar BarGaugeValueMode = /* @__PURE__ */ ((BarGaugeValueMode2) => {\n BarGaugeValueMode2[\"Color\"] = \"color\";\n BarGaugeValueMode2[\"Hidden\"] = \"hidden\";\n BarGaugeValueMode2[\"Text\"] = \"text\";\n return BarGaugeValueMode2;\n})(BarGaugeValueMode || {});\nvar TableCellDisplayMode = /* @__PURE__ */ ((TableCellDisplayMode2) => {\n TableCellDisplayMode2[\"Auto\"] = \"auto\";\n TableCellDisplayMode2[\"BasicGauge\"] = \"basic\";\n TableCellDisplayMode2[\"ColorBackground\"] = \"color-background\";\n TableCellDisplayMode2[\"ColorBackgroundSolid\"] = \"color-background-solid\";\n TableCellDisplayMode2[\"ColorText\"] = \"color-text\";\n TableCellDisplayMode2[\"Gauge\"] = \"gauge\";\n TableCellDisplayMode2[\"GradientGauge\"] = \"gradient-gauge\";\n TableCellDisplayMode2[\"Image\"] = \"image\";\n TableCellDisplayMode2[\"JSONView\"] = \"json-view\";\n TableCellDisplayMode2[\"LcdGauge\"] = \"lcd-gauge\";\n TableCellDisplayMode2[\"Sparkline\"] = \"sparkline\";\n return TableCellDisplayMode2;\n})(TableCellDisplayMode || {});\nvar TableCellBackgroundDisplayMode = /* @__PURE__ */ ((TableCellBackgroundDisplayMode2) => {\n TableCellBackgroundDisplayMode2[\"Basic\"] = \"basic\";\n TableCellBackgroundDisplayMode2[\"Gradient\"] = \"gradient\";\n return TableCellBackgroundDisplayMode2;\n})(TableCellBackgroundDisplayMode || {});\nconst defaultTableFooterOptions = {\n fields: [],\n reducer: []\n};\nvar TableCellHeight = /* @__PURE__ */ ((TableCellHeight2) => {\n TableCellHeight2[\"Lg\"] = \"lg\";\n TableCellHeight2[\"Md\"] = \"md\";\n TableCellHeight2[\"Sm\"] = \"sm\";\n return TableCellHeight2;\n})(TableCellHeight || {});\nvar VariableFormatID = /* @__PURE__ */ ((VariableFormatID2) => {\n VariableFormatID2[\"CSV\"] = \"csv\";\n VariableFormatID2[\"Date\"] = \"date\";\n VariableFormatID2[\"Distributed\"] = \"distributed\";\n VariableFormatID2[\"DoubleQuote\"] = \"doublequote\";\n VariableFormatID2[\"Glob\"] = \"glob\";\n VariableFormatID2[\"HTML\"] = \"html\";\n VariableFormatID2[\"JSON\"] = \"json\";\n VariableFormatID2[\"Lucene\"] = \"lucene\";\n VariableFormatID2[\"PercentEncode\"] = \"percentencode\";\n VariableFormatID2[\"Pipe\"] = \"pipe\";\n VariableFormatID2[\"QueryParam\"] = \"queryparam\";\n VariableFormatID2[\"Raw\"] = \"raw\";\n VariableFormatID2[\"Regex\"] = \"regex\";\n VariableFormatID2[\"SQLString\"] = \"sqlstring\";\n VariableFormatID2[\"SingleQuote\"] = \"singlequote\";\n VariableFormatID2[\"Text\"] = \"text\";\n VariableFormatID2[\"UriEncode\"] = \"uriencode\";\n return VariableFormatID2;\n})(VariableFormatID || {});\nvar LogsDedupStrategy = /* @__PURE__ */ ((LogsDedupStrategy2) => {\n LogsDedupStrategy2[\"exact\"] = \"exact\";\n LogsDedupStrategy2[\"none\"] = \"none\";\n LogsDedupStrategy2[\"numbers\"] = \"numbers\";\n LogsDedupStrategy2[\"signature\"] = \"signature\";\n return LogsDedupStrategy2;\n})(LogsDedupStrategy || {});\nvar ComparisonOperation = /* @__PURE__ */ ((ComparisonOperation2) => {\n ComparisonOperation2[\"EQ\"] = \"eq\";\n ComparisonOperation2[\"GT\"] = \"gt\";\n ComparisonOperation2[\"GTE\"] = \"gte\";\n ComparisonOperation2[\"LT\"] = \"lt\";\n ComparisonOperation2[\"LTE\"] = \"lte\";\n ComparisonOperation2[\"NEQ\"] = \"neq\";\n return ComparisonOperation2;\n})(ComparisonOperation || {});\nconst defaultTimeZone = \"browser\";\n\nexport { AxisColorMode, AxisPlacement, BarAlignment, BarGaugeDisplayMode, BarGaugeValueMode, BigValueColorMode, BigValueGraphMode, BigValueJustifyMode, BigValueTextMode, ComparisonOperation, FrameGeometrySourceMode, GraphDrawStyle, GraphGradientMode, GraphTransform, GraphTresholdsStyleMode, HeatmapCalculationMode, HeatmapCellLayout, LegendDisplayMode, LineInterpolation, LogsDedupStrategy, LogsSortOrder, ResourceDimensionMode, ScalarDimensionMode, ScaleDimensionMode, ScaleDirection, ScaleDistribution, ScaleOrientation, SortOrder, StackingMode, TableCellBackgroundDisplayMode, TableCellDisplayMode, TableCellHeight, TextDimensionMode, TooltipDisplayMode, VariableFormatID, VisibilityMode, VizOrientation, defaultLineStyle, defaultOptionsWithTimezones, defaultReduceDataOptions, defaultTableFooterOptions, defaultTimeZone, defaultVizLegendOptions };\n//# sourceMappingURL=common.gen.js.map\n","import { BusEventWithPayload } from '@grafana/data';\n\nclass SceneVariableValueChangedEvent extends BusEventWithPayload {\n}\nSceneVariableValueChangedEvent.type = \"scene-variable-changed-value\";\nfunction isCustomVariableValue(value) {\n return typeof value === \"object\" && \"formatter\" in value;\n}\n\nexport { SceneVariableValueChangedEvent, isCustomVariableValue };\n//# sourceMappingURL=types.js.map\n","import { property } from 'lodash';\n\nlet fieldAccessorCache = {};\nfunction getFieldAccessor(fieldPath) {\n const accessor = fieldAccessorCache[fieldPath];\n if (accessor) {\n return accessor;\n }\n return fieldAccessorCache[fieldPath] = property(fieldPath);\n}\n\nexport { getFieldAccessor };\n//# sourceMappingURL=fieldAccessorCache.js.map\n","import { getFieldAccessor } from './fieldAccessorCache.js';\n\nclass ScopedVarsVariable {\n constructor(name, value) {\n this.state = { name, value, type: \"scopedvar\" };\n }\n getValue(fieldPath) {\n let { value } = this.state;\n let realValue = value.value;\n if (fieldPath) {\n realValue = getFieldAccessor(fieldPath)(value.value);\n } else {\n realValue = value.value;\n }\n if (realValue === \"string\" || realValue === \"number\" || realValue === \"boolean\") {\n return realValue;\n }\n return String(realValue);\n }\n getValueText() {\n const { value } = this.state;\n if (value.text != null) {\n return String(value.text);\n }\n return String(value);\n }\n}\nlet scopedVarsVariable;\nfunction getSceneVariableForScopedVar(name, value) {\n if (!scopedVarsVariable) {\n scopedVarsVariable = new ScopedVarsVariable(name, value);\n } else {\n scopedVarsVariable.state.name = name;\n scopedVarsVariable.state.value = value;\n }\n return scopedVarsVariable;\n}\n\nexport { ScopedVarsVariable, getSceneVariableForScopedVar };\n//# sourceMappingURL=ScopedVarsVariable.js.map\n","import { map, isArray, replace } from 'lodash';\nimport { Registry, escapeRegex, textUtil, dateTime } from '@grafana/data';\nimport { VariableFormatID } from '@grafana/schema';\n\nconst formatRegistry = new Registry(() => {\n const formats = [\n {\n id: VariableFormatID.Lucene,\n name: \"Lucene\",\n description: \"Values are lucene escaped and multi-valued variables generate an OR expression\",\n formatter: (value) => {\n if (typeof value === \"string\") {\n return luceneEscape(value);\n }\n if (Array.isArray(value)) {\n if (value.length === 0) {\n return \"__empty__\";\n }\n const quotedValues = map(value, (val) => {\n return '\"' + luceneEscape(val) + '\"';\n });\n return \"(\" + quotedValues.join(\" OR \") + \")\";\n } else {\n return luceneEscape(`${value}`);\n }\n }\n },\n {\n id: VariableFormatID.Raw,\n name: \"raw\",\n description: \"Keep value as is\",\n formatter: (value) => String(value)\n },\n {\n id: VariableFormatID.Regex,\n name: \"Regex\",\n description: \"Values are regex escaped and multi-valued variables generate a (|) expression\",\n formatter: (value) => {\n if (typeof value === \"string\") {\n return escapeRegex(value);\n }\n if (Array.isArray(value)) {\n const escapedValues = value.map((item) => {\n if (typeof item === \"string\") {\n return escapeRegex(item);\n } else {\n return escapeRegex(String(item));\n }\n });\n if (escapedValues.length === 1) {\n return escapedValues[0];\n }\n return \"(\" + escapedValues.join(\"|\") + \")\";\n }\n return escapeRegex(`${value}`);\n }\n },\n {\n id: VariableFormatID.Pipe,\n name: \"Pipe\",\n description: \"Values are separated by | character\",\n formatter: (value) => {\n if (typeof value === \"string\") {\n return value;\n }\n if (Array.isArray(value)) {\n return value.join(\"|\");\n }\n return `${value}`;\n }\n },\n {\n id: VariableFormatID.Distributed,\n name: \"Distributed\",\n description: \"Multiple values are formatted like variable=value\",\n formatter: (value, args, variable) => {\n if (typeof value === \"string\") {\n return value;\n }\n if (Array.isArray(value)) {\n value = map(value, (val, index) => {\n if (index !== 0) {\n return variable.state.name + \"=\" + val;\n } else {\n return val;\n }\n });\n return value.join(\",\");\n }\n return `${value}`;\n }\n },\n {\n id: VariableFormatID.CSV,\n name: \"Csv\",\n description: \"Comma-separated values\",\n formatter: (value) => {\n if (typeof value === \"string\") {\n return value;\n }\n if (isArray(value)) {\n return value.join(\",\");\n }\n return String(value);\n }\n },\n {\n id: VariableFormatID.HTML,\n name: \"HTML\",\n description: \"HTML escaping of values\",\n formatter: (value) => {\n if (typeof value === \"string\") {\n return textUtil.escapeHtml(value);\n }\n if (isArray(value)) {\n return textUtil.escapeHtml(value.join(\", \"));\n }\n return textUtil.escapeHtml(String(value));\n }\n },\n {\n id: VariableFormatID.JSON,\n name: \"JSON\",\n description: \"JSON stringify value\",\n formatter: (value) => {\n if (typeof value === \"string\") {\n return value;\n }\n return JSON.stringify(value);\n }\n },\n {\n id: VariableFormatID.PercentEncode,\n name: \"Percent encode\",\n description: \"Useful for URL escaping values\",\n formatter: (value) => {\n if (isArray(value)) {\n return encodeURIComponentStrict(\"{\" + value.join(\",\") + \"}\");\n }\n return encodeURIComponentStrict(value);\n }\n },\n {\n id: VariableFormatID.SingleQuote,\n name: \"Single quote\",\n description: \"Single quoted values\",\n formatter: (value) => {\n const regExp = new RegExp(`'`, \"g\");\n if (isArray(value)) {\n return map(value, (v) => `'${replace(v, regExp, `\\\\'`)}'`).join(\",\");\n }\n let strVal = typeof value === \"string\" ? value : String(value);\n return `'${replace(strVal, regExp, `\\\\'`)}'`;\n }\n },\n {\n id: VariableFormatID.DoubleQuote,\n name: \"Double quote\",\n description: \"Double quoted values\",\n formatter: (value) => {\n const regExp = new RegExp('\"', \"g\");\n if (isArray(value)) {\n return map(value, (v) => `\"${replace(v, regExp, '\\\\\"')}\"`).join(\",\");\n }\n let strVal = typeof value === \"string\" ? value : String(value);\n return `\"${replace(strVal, regExp, '\\\\\"')}\"`;\n }\n },\n {\n id: VariableFormatID.SQLString,\n name: \"SQL string\",\n description: \"SQL string quoting and commas for use in IN statements and other scenarios\",\n formatter: sqlStringFormatter\n },\n {\n id: VariableFormatID.Date,\n name: \"Date\",\n description: \"Format date in different ways\",\n formatter: (value, args) => {\n var _a;\n let nrValue = NaN;\n if (typeof value === \"number\") {\n nrValue = value;\n } else if (typeof value === \"string\") {\n nrValue = parseInt(value, 10);\n }\n if (isNaN(nrValue)) {\n return \"NaN\";\n }\n const arg = (_a = args[0]) != null ? _a : \"iso\";\n switch (arg) {\n case \"ms\":\n return String(value);\n case \"seconds\":\n return `${Math.round(nrValue / 1e3)}`;\n case \"iso\":\n return dateTime(nrValue).toISOString();\n default:\n if ((args || []).length > 1) {\n return dateTime(nrValue).format(args.join(\":\"));\n }\n return dateTime(nrValue).format(arg);\n }\n }\n },\n {\n id: VariableFormatID.Glob,\n name: \"Glob\",\n description: \"Format multi-valued variables using glob syntax, example {value1,value2}\",\n formatter: (value) => {\n if (isArray(value) && value.length > 1) {\n return \"{\" + value.join(\",\") + \"}\";\n }\n return String(value);\n }\n },\n {\n id: VariableFormatID.Text,\n name: \"Text\",\n description: \"Format variables in their text representation. Example in multi-variable scenario A + B + C.\",\n formatter: (value, _args, variable) => {\n if (variable.getValueText) {\n return variable.getValueText();\n }\n return String(value);\n }\n },\n {\n id: VariableFormatID.QueryParam,\n name: \"Query parameter\",\n description: \"Format variables as URL parameters. Example in multi-variable scenario A + B + C => var-foo=A&var-foo=B&var-foo=C.\",\n formatter: (value, _args, variable) => {\n if (Array.isArray(value)) {\n return value.map((v) => formatQueryParameter(variable.state.name, v)).join(\"&\");\n }\n return formatQueryParameter(variable.state.name, value);\n }\n },\n {\n id: VariableFormatID.UriEncode,\n name: \"Percent encode as URI\",\n description: \"Useful for URL escaping values, taking into URI syntax characters\",\n formatter: (value) => {\n if (isArray(value)) {\n return encodeURIStrict(\"{\" + value.join(\",\") + \"}\");\n }\n return encodeURIStrict(value);\n }\n }\n ];\n return formats;\n});\nfunction luceneEscape(value) {\n if (isNaN(+value) === false) {\n return value;\n }\n return value.replace(/([\\!\\*\\+\\-\\=<>\\s\\&\\|\\(\\)\\[\\]\\{\\}\\^\\~\\?\\:\\\\/\"])/g, \"\\\\$1\");\n}\nfunction encodeURIComponentStrict(str) {\n if (typeof str === \"object\") {\n str = String(str);\n }\n return replaceSpecialCharactersToASCII(encodeURIComponent(str));\n}\nconst encodeURIStrict = (str) => replaceSpecialCharactersToASCII(encodeURI(String(str)));\nconst replaceSpecialCharactersToASCII = (value) => value.replace(/[!'()*]/g, (c) => {\n return \"%\" + c.charCodeAt(0).toString(16).toUpperCase();\n});\nfunction formatQueryParameter(name, value) {\n return `var-${name}=${encodeURIComponentStrict(value)}`;\n}\nconst SQL_ESCAPE_MAP = {\n \"'\": \"''\",\n '\"': '\\\\\"'\n};\nfunction sqlStringFormatter(value) {\n const regExp = new RegExp(`'|\"`, \"g\");\n if (isArray(value)) {\n return map(value, (v) => `'${replace(v, regExp, (match) => {\n var _a;\n return (_a = SQL_ESCAPE_MAP[match]) != null ? _a : \"\";\n })}'`).join(\",\");\n }\n let strVal = typeof value === \"string\" ? value : String(value);\n return `'${replace(strVal, regExp, (match) => {\n var _a;\n return (_a = SQL_ESCAPE_MAP[match]) != null ? _a : \"\";\n })}'`;\n}\n\nexport { formatRegistry };\n//# sourceMappingURL=formatRegistry.js.map\n","const ALL_VARIABLE_TEXT = \"All\";\nconst ALL_VARIABLE_VALUE = \"$__all\";\nconst AUTO_VARIABLE_TEXT = \"Auto\";\nconst AUTO_VARIABLE_VALUE = \"$__auto\";\nconst VARIABLE_REGEX = /\\$(\\w+)|\\[\\[(\\w+?)(?::(\\w+))?\\]\\]|\\${(\\w+)(?:\\.([^:^\\}]+))?(?::([^\\}]+))?}/g;\nconst SEARCH_FILTER_VARIABLE = \"__searchFilter\";\n\nexport { ALL_VARIABLE_TEXT, ALL_VARIABLE_VALUE, AUTO_VARIABLE_TEXT, AUTO_VARIABLE_VALUE, SEARCH_FILTER_VARIABLE, VARIABLE_REGEX };\n//# sourceMappingURL=constants.js.map\n","function lookupVariable(name, sceneObject) {\n const variables = sceneObject.state.$variables;\n if (!variables) {\n if (sceneObject.parent) {\n return lookupVariable(name, sceneObject.parent);\n } else {\n return null;\n }\n }\n const found = variables.getByName(name);\n if (found) {\n return found;\n } else if (sceneObject.parent) {\n return lookupVariable(name, sceneObject.parent);\n }\n return null;\n}\n\nexport { lookupVariable };\n//# sourceMappingURL=lookupVariable.js.map\n","import { SceneObjectBase } from '../core/SceneObjectBase.js';\n\nclass SceneDataLayers extends SceneObjectBase {\n constructor(state) {\n super(state);\n this.addActivationHandler(() => this._onActivate());\n }\n _onActivate() {\n const { layers } = this.state;\n const deactivationHandlers = [];\n for (const layer of layers) {\n deactivationHandlers.push(layer.activate());\n }\n return () => {\n deactivationHandlers.forEach((handler) => handler());\n };\n }\n}\n\nexport { SceneDataLayers };\n//# sourceMappingURL=SceneDataLayers.js.map\n","import { EmptyVariableSet, EmptyDataNode } from '../../variables/interpolation/defaults.js';\nimport { sceneInterpolator } from '../../variables/interpolation/sceneInterpolator.js';\nimport { lookupVariable } from '../../variables/lookupVariable.js';\nimport { getClosest } from './utils.js';\nimport { SceneDataLayers } from '../../querying/SceneDataLayers.js';\n\nfunction getVariables(sceneObject) {\n var _a;\n return (_a = getClosest(sceneObject, (s) => s.state.$variables)) != null ? _a : EmptyVariableSet;\n}\nfunction getData(sceneObject) {\n var _a;\n return (_a = getClosest(sceneObject, (s) => s.state.$data)) != null ? _a : EmptyDataNode;\n}\nfunction isSceneLayout(s) {\n return \"isDraggable\" in s;\n}\nfunction getLayout(scene) {\n const parent = getClosest(scene, (s) => isSceneLayout(s) ? s : void 0);\n if (parent) {\n return parent;\n }\n return null;\n}\nfunction interpolate(sceneObject, value, scopedVars, format) {\n if (value === \"\" || value == null) {\n return \"\";\n }\n return sceneInterpolator(sceneObject, value, scopedVars, format);\n}\nfunction hasVariableDependencyInLoadingState(sceneObject) {\n if (!sceneObject.variableDependency) {\n return false;\n }\n for (const name of sceneObject.variableDependency.getNames()) {\n const variable = lookupVariable(name, sceneObject);\n if (!variable) {\n continue;\n }\n const set = variable.parent;\n if (set.isVariableLoadingOrWaitingToUpdate(variable)) {\n return true;\n }\n }\n return false;\n}\nfunction findObjectInternal(scene, check, alreadySearchedChild, shouldSearchUp) {\n if (check(scene)) {\n return scene;\n }\n let found = null;\n scene.forEachChild((child) => {\n if (child === alreadySearchedChild) {\n return;\n }\n let maybe = findObjectInternal(child, check);\n if (maybe) {\n found = maybe;\n }\n });\n if (found) {\n return found;\n }\n if (shouldSearchUp && scene.parent) {\n return findObjectInternal(scene.parent, check, scene, true);\n }\n return null;\n}\nfunction findObject(scene, check) {\n return findObjectInternal(scene, check, void 0, true);\n}\nfunction getDataLayers(sceneObject, localOnly = false) {\n let parent = sceneObject;\n let collected = [];\n let source;\n while (parent) {\n if (parent.state.$data && !(parent.state.$data instanceof SceneDataLayers)) {\n if (parent.state.$data.state.$data instanceof SceneDataLayers) {\n source = parent.state.$data.state.$data;\n }\n }\n if (parent.state.$data && parent.state.$data instanceof SceneDataLayers) {\n source = parent.state.$data;\n }\n if (source) {\n collected = collected.concat(source.state.layers);\n if (localOnly) {\n break;\n }\n }\n parent = parent.parent;\n }\n return collected;\n}\nfunction getAncestor(sceneObject, ancestorType) {\n let parent = sceneObject;\n while (parent) {\n if (parent instanceof ancestorType) {\n return parent;\n }\n parent = parent.parent;\n }\n throw new Error(\"Unable to find parent of type \" + ancestorType.name);\n}\n\nexport { findObject, getAncestor, getData, getDataLayers, getLayout, getVariables, hasVariableDependencyInLoadingState, interpolate };\n//# sourceMappingURL=sceneGraph.js.map\n","class SkipFormattingValue {\n constructor(_value) {\n this._value = _value;\n }\n formatter() {\n return this._value;\n }\n}\n\nexport { SkipFormattingValue };\n//# sourceMappingURL=types.js.map\n","import { urlUtil, dateTimeFormat } from '@grafana/data';\nimport { getTimeRange } from '../../core/sceneGraph/getTimeRange.js';\nimport { getData } from '../../core/sceneGraph/sceneGraph.js';\nimport { SkipFormattingValue } from './types.js';\n\nclass UrlTimeRangeMacro {\n constructor(name, sceneObject) {\n this.state = { name, type: \"url_variable\" };\n this._sceneObject = sceneObject;\n }\n getValue() {\n var _a;\n const timeRange = getTimeRange(this._sceneObject);\n const urlState = (_a = timeRange.urlSync) == null ? void 0 : _a.getUrlState();\n return new SkipFormattingValue(urlUtil.toUrlParams(urlState));\n }\n getValueText() {\n return \"\";\n }\n}\nclass TimeFromAndToMacro {\n constructor(name, sceneObject) {\n this.state = { name, type: \"time_macro\" };\n this._sceneObject = sceneObject;\n }\n getValue() {\n const timeRange = getTimeRange(this._sceneObject);\n if (this.state.name === \"__from\") {\n return timeRange.state.value.from.valueOf();\n } else {\n return timeRange.state.value.to.valueOf();\n }\n }\n getValueText() {\n const timeRange = getTimeRange(this._sceneObject);\n if (this.state.name === \"__from\") {\n return dateTimeFormat(timeRange.state.value.from, { timeZone: timeRange.getTimeZone() });\n } else {\n return dateTimeFormat(timeRange.state.value.to, { timeZone: timeRange.getTimeZone() });\n }\n }\n}\nclass TimezoneMacro {\n constructor(name, sceneObject) {\n this.state = { name, type: \"time_macro\" };\n this._sceneObject = sceneObject;\n }\n getValue() {\n const timeRange = getTimeRange(this._sceneObject);\n return timeRange.getTimeZone();\n }\n getValueText() {\n return this.getValue();\n }\n}\nclass IntervalMacro {\n constructor(name, sceneObject) {\n this.state = { name, type: \"time_macro\" };\n this._sceneObject = sceneObject;\n }\n getValue() {\n var _a;\n const data = getData(this._sceneObject);\n if (data) {\n const request = (_a = data.state.data) == null ? void 0 : _a.request;\n if (!request) {\n return `\\${${this.state.name}}`;\n }\n if (this.state.name === \"__interval_ms\") {\n return request.intervalMs;\n }\n return request.interval;\n }\n return `\\${${this.state.name}}`;\n }\n}\n\nexport { IntervalMacro, TimeFromAndToMacro, TimezoneMacro, UrlTimeRangeMacro };\n//# sourceMappingURL=timeMacros.js.map\n","import { isCustomVariableValue } from '../types.js';\nimport { formatRegistry } from '../interpolation/formatRegistry.js';\nimport { SkipFormattingValue } from './types.js';\nimport { VariableFormatID } from '@grafana/schema';\n\nclass AllVariablesMacro {\n constructor(name, sceneObject) {\n this.state = { name, type: \"url_variable\" };\n this._sceneObject = sceneObject;\n }\n getValue() {\n const allVars = collectAllVariables(this._sceneObject);\n const format = formatRegistry.get(VariableFormatID.QueryParam);\n const params = [];\n for (const name of Object.keys(allVars)) {\n const variable = allVars[name];\n const value = variable.getValue();\n if (!value) {\n continue;\n }\n if (isCustomVariableValue(value)) {\n params.push(value.formatter(VariableFormatID.QueryParam));\n } else {\n params.push(format.formatter(value, [], variable));\n }\n }\n return new SkipFormattingValue(params.join(\"&\"));\n }\n getValueText() {\n return \"\";\n }\n}\nfunction collectAllVariables(sceneObject, record = {}) {\n if (sceneObject.state.$variables) {\n for (const variable of sceneObject.state.$variables.state.variables) {\n if (variable.state.skipUrlSync) {\n continue;\n }\n if (!record[variable.state.name]) {\n record[variable.state.name] = variable;\n }\n }\n }\n if (sceneObject.parent) {\n collectAllVariables(sceneObject.parent, record);\n }\n return record;\n}\n\nexport { AllVariablesMacro };\n//# sourceMappingURL=AllVariablesMacro.js.map\n","import { getFieldDisplayName, formatLabels } from '@grafana/data';\n\nvar __defProp = Object.defineProperty;\nvar __defProps = Object.defineProperties;\nvar __getOwnPropDescs = Object.getOwnPropertyDescriptors;\nvar __getOwnPropSymbols = Object.getOwnPropertySymbols;\nvar __hasOwnProp = Object.prototype.hasOwnProperty;\nvar __propIsEnum = Object.prototype.propertyIsEnumerable;\nvar __defNormalProp = (obj, key, value) => key in obj ? __defProp(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;\nvar __spreadValues = (a, b) => {\n for (var prop in b || (b = {}))\n if (__hasOwnProp.call(b, prop))\n __defNormalProp(a, prop, b[prop]);\n if (__getOwnPropSymbols)\n for (var prop of __getOwnPropSymbols(b)) {\n if (__propIsEnum.call(b, prop))\n __defNormalProp(a, prop, b[prop]);\n }\n return a;\n};\nvar __spreadProps = (a, b) => __defProps(a, __getOwnPropDescs(b));\nfunction getTemplateProxyForField(field, frame, frames) {\n return new Proxy(\n {},\n {\n get: (obj, key) => {\n if (key === \"name\") {\n return field.name;\n }\n if (key === \"displayName\") {\n return getFieldDisplayName(field, frame, frames);\n }\n if (key === \"labels\" || key === \"formattedLabels\") {\n if (!field.labels) {\n return \"\";\n }\n return __spreadProps(__spreadValues({}, field.labels), {\n __values: Object.values(field.labels).sort().join(\", \"),\n toString: () => {\n return formatLabels(field.labels, \"\", true);\n }\n });\n }\n return void 0;\n }\n }\n );\n}\n\nexport { getTemplateProxyForField };\n//# sourceMappingURL=templateProxies.js.map\n","import { getDisplayProcessor, formattedValueToString, FieldType, getFieldDisplayValuesProxy, getFrameDisplayName } from '@grafana/data';\nimport { getFieldAccessor } from '../interpolation/fieldAccessorCache.js';\nimport { getTemplateProxyForField } from './templateProxies.js';\n\nclass ValueMacro {\n constructor(name, sceneObject, _match, _scopedVars) {\n this._match = _match;\n this._scopedVars = _scopedVars;\n this.state = { name, type: \"__value\" };\n }\n getValue(fieldPath) {\n var _a, _b;\n const dataContext = (_a = this._scopedVars) == null ? void 0 : _a.__dataContext;\n if (!dataContext) {\n return this._match;\n }\n const { frame, rowIndex, field, calculatedValue } = dataContext.value;\n if (calculatedValue) {\n switch (fieldPath) {\n case \"numeric\":\n return calculatedValue.numeric;\n case \"raw\":\n return calculatedValue.numeric;\n case \"time\":\n return \"\";\n case \"text\":\n default:\n return formattedValueToString(calculatedValue);\n }\n }\n if (rowIndex == null) {\n return this._match;\n }\n if (fieldPath === \"time\") {\n const timeField = frame.fields.find((f) => f.type === FieldType.time);\n return timeField ? timeField.values.get(rowIndex) : void 0;\n }\n if (!field) {\n return this._match;\n }\n const value = field.values.get(rowIndex);\n if (fieldPath === \"raw\") {\n return value;\n }\n const displayProcessor = (_b = field.display) != null ? _b : fallbackDisplayProcessor;\n const result = displayProcessor(value);\n switch (fieldPath) {\n case \"numeric\":\n return result.numeric;\n case \"text\":\n default:\n return formattedValueToString(result);\n }\n }\n getValueText() {\n return \"\";\n }\n}\nconst fallbackDisplayProcessor = getDisplayProcessor();\nclass DataMacro {\n constructor(name, sceneObject, _match, _scopedVars) {\n this._match = _match;\n this._scopedVars = _scopedVars;\n this.state = { name, type: \"__data\" };\n }\n getValue(fieldPath) {\n var _a, _b;\n const dataContext = (_a = this._scopedVars) == null ? void 0 : _a.__dataContext;\n if (!dataContext || !fieldPath) {\n return this._match;\n }\n const { frame, rowIndex } = dataContext.value;\n if (rowIndex === void 0 || fieldPath === void 0) {\n return this._match;\n }\n const obj = {\n name: frame.name,\n refId: frame.refId,\n fields: getFieldDisplayValuesProxy({ frame, rowIndex })\n };\n return (_b = getFieldAccessor(fieldPath)(obj)) != null ? _b : \"\";\n }\n getValueText() {\n return \"\";\n }\n}\nclass SeriesMacro {\n constructor(name, sceneObject, _match, _scopedVars) {\n this._match = _match;\n this._scopedVars = _scopedVars;\n this.state = { name, type: \"__series\" };\n }\n getValue(fieldPath) {\n var _a;\n const dataContext = (_a = this._scopedVars) == null ? void 0 : _a.__dataContext;\n if (!dataContext || !fieldPath) {\n return this._match;\n }\n if (fieldPath !== \"name\") {\n return this._match;\n }\n const { frame, frameIndex } = dataContext.value;\n return getFrameDisplayName(frame, frameIndex);\n }\n getValueText() {\n return \"\";\n }\n}\nclass FieldMacro {\n constructor(name, sceneObject, _match, _scopedVars) {\n this._match = _match;\n this._scopedVars = _scopedVars;\n this.state = { name, type: \"__field\" };\n }\n getValue(fieldPath) {\n var _a, _b;\n const dataContext = (_a = this._scopedVars) == null ? void 0 : _a.__dataContext;\n if (!dataContext || !fieldPath) {\n return this._match;\n }\n if (fieldPath === void 0 || fieldPath === \"\") {\n return this._match;\n }\n const { frame, field, data } = dataContext.value;\n const obj = getTemplateProxyForField(field, frame, data);\n return (_b = getFieldAccessor(fieldPath)(obj)) != null ? _b : \"\";\n }\n getValueText() {\n return \"\";\n }\n}\n\nexport { DataMacro, FieldMacro, SeriesMacro, ValueMacro };\n//# sourceMappingURL=dataMacros.js.map\n","import { locationService, config } from '@grafana/runtime';\n\nclass UrlMacro {\n constructor(name, _) {\n this.state = { name, type: \"url_macro\" };\n }\n getValue(fieldPath) {\n var _a;\n const location = locationService.getLocation();\n const subUrl = (_a = config.appSubUrl) != null ? _a : \"\";\n switch (fieldPath != null ? fieldPath : \"\") {\n case \"params\":\n return new UrlStateFormatter(location.search);\n case \"path\":\n return subUrl + location.pathname;\n case \"\":\n default:\n return subUrl + location.pathname + location.search;\n }\n }\n getValueText() {\n return \"\";\n }\n}\nclass UrlStateFormatter {\n constructor(_urlQueryParams) {\n this._urlQueryParams = _urlQueryParams;\n }\n formatter(options) {\n if (!options) {\n return this._urlQueryParams;\n }\n const params = options.split(\":\");\n if (params[0] === \"exclude\" && params.length > 1) {\n const allParams = new URLSearchParams(this._urlQueryParams);\n for (const param of params[1].split(\",\")) {\n allParams.delete(param);\n }\n return `?${allParams}`;\n }\n if (params[0] === \"include\" && params.length > 1) {\n const allParams = new URLSearchParams(this._urlQueryParams);\n const includeOnly = params[1].split(\",\");\n for (const param of allParams.keys()) {\n if (!includeOnly.includes(param)) {\n allParams.delete(param);\n }\n }\n return `?${allParams}`;\n }\n return this._urlQueryParams;\n }\n}\n\nexport { UrlMacro };\n//# sourceMappingURL=urlMacros.js.map\n","import { DataLinkBuiltInVars } from '@grafana/data';\nimport { UrlTimeRangeMacro, TimeFromAndToMacro, TimezoneMacro, IntervalMacro } from './timeMacros.js';\nimport { AllVariablesMacro } from './AllVariablesMacro.js';\nimport { ValueMacro, DataMacro, SeriesMacro, FieldMacro } from './dataMacros.js';\nimport { UrlMacro } from './urlMacros.js';\nimport { UserMacro, OrgMacro } from './contextMacros.js';\n\nconst macrosIndex = {\n [DataLinkBuiltInVars.includeVars]: AllVariablesMacro,\n [DataLinkBuiltInVars.keepTime]: UrlTimeRangeMacro,\n [\"__value\"]: ValueMacro,\n [\"__data\"]: DataMacro,\n [\"__series\"]: SeriesMacro,\n [\"__field\"]: FieldMacro,\n [\"__url\"]: UrlMacro,\n [\"__from\"]: TimeFromAndToMacro,\n [\"__to\"]: TimeFromAndToMacro,\n [\"__timezone\"]: TimezoneMacro,\n [\"__user\"]: UserMacro,\n [\"__org\"]: OrgMacro,\n [\"__interval\"]: IntervalMacro,\n [\"__interval_ms\"]: IntervalMacro\n};\nfunction registerVariableMacro(name, macro) {\n if (macrosIndex[name]) {\n throw new Error(`Macro already registered ${name}`);\n }\n macrosIndex[name] = macro;\n return () => {\n delete macrosIndex[name];\n };\n}\n\nexport { macrosIndex, registerVariableMacro };\n//# sourceMappingURL=index.js.map\n","import { config } from '@grafana/runtime';\n\nclass UserMacro {\n constructor(name, _) {\n this.state = { name, type: \"user_macro\" };\n }\n getValue(fieldPath) {\n const user = config.bootData.user;\n switch (fieldPath) {\n case \"login\":\n return user.login;\n case \"email\":\n return user.email;\n case \"id\":\n default:\n return String(user.id);\n }\n }\n getValueText() {\n return \"\";\n }\n}\nclass OrgMacro {\n constructor(name, _) {\n this.state = { name, type: \"org_macro\" };\n }\n getValue(fieldPath) {\n const user = config.bootData.user;\n switch (fieldPath) {\n case \"name\":\n return user.orgName;\n case \"id\":\n default:\n return String(user.orgId);\n }\n }\n getValueText() {\n return \"\";\n }\n}\n\nexport { OrgMacro, UserMacro };\n//# sourceMappingURL=contextMacros.js.map\n","import { isEqual } from 'lodash';\n\nfunction isVariableValueEqual(a, b) {\n if (a === b) {\n return true;\n }\n return isEqual(a, b);\n}\nfunction safeStringifyValue(value) {\n try {\n return JSON.stringify(value, null);\n } catch (error) {\n console.error(error);\n }\n return \"\";\n}\nfunction renderPrometheusLabelFilters(filters) {\n return filters.map((filter) => renderFilter(filter)).join(\",\");\n}\nfunction renderFilter(filter) {\n let value = \"\";\n if (filter.operator === \"=~\" || filter.operator === \"!~\\xA8\") {\n value = escapeLabelValueInRegexSelector(filter.value);\n } else {\n value = escapeLabelValueInExactSelector(filter.value);\n }\n return `${filter.key}${filter.operator}\"${value}\"`;\n}\nfunction escapeLabelValueInExactSelector(labelValue) {\n return labelValue.replace(/\\\\/g, \"\\\\\\\\\").replace(/\\n/g, \"\\\\n\").replace(/\"/g, '\\\\\"');\n}\nfunction escapeLabelValueInRegexSelector(labelValue) {\n return escapeLabelValueInExactSelector(escapeLokiRegexp(labelValue));\n}\nconst RE2_METACHARACTERS = /[*+?()|\\\\.\\[\\]{}^$]/g;\nfunction escapeLokiRegexp(value) {\n return value.replace(RE2_METACHARACTERS, \"\\\\$&\");\n}\n\nexport { escapeLabelValueInExactSelector, escapeLabelValueInRegexSelector, isVariableValueEqual, renderPrometheusLabelFilters, safeStringifyValue };\n//# sourceMappingURL=utils.js.map\n","import { lookupVariable } from '../../variables/lookupVariable.js';\nimport { getTimeRange } from './getTimeRange.js';\nimport { getVariables, getData, getLayout, getDataLayers, interpolate, hasVariableDependencyInLoadingState, findObject, getAncestor } from './sceneGraph.js';\n\nconst sceneGraph = {\n getVariables,\n getData,\n getTimeRange,\n getLayout,\n getDataLayers,\n interpolate,\n lookupVariable,\n hasVariableDependencyInLoadingState,\n findObject,\n getAncestor\n};\n\nexport { sceneGraph };\n//# sourceMappingURL=index.js.map\n","import { VariableFormatID } from '@grafana/schema';\nimport { isCustomVariableValue } from '../types.js';\nimport { getSceneVariableForScopedVar } from './ScopedVarsVariable.js';\nimport { formatRegistry } from './formatRegistry.js';\nimport { VARIABLE_REGEX } from '../constants.js';\nimport { lookupVariable } from '../lookupVariable.js';\nimport { macrosIndex } from '../macros/index.js';\n\nfunction sceneInterpolator(sceneObject, target, scopedVars, format) {\n if (!target) {\n return target != null ? target : \"\";\n }\n VARIABLE_REGEX.lastIndex = 0;\n return target.replace(VARIABLE_REGEX, (match, var1, var2, fmt2, var3, fieldPath, fmt3) => {\n const variableName = var1 || var2 || var3;\n const fmt = fmt2 || fmt3 || format;\n const variable = lookupFormatVariable(variableName, match, scopedVars, sceneObject);\n if (!variable) {\n return match;\n }\n return formatValue(variable, variable.getValue(fieldPath), fmt);\n });\n}\nfunction lookupFormatVariable(name, match, scopedVars, sceneObject) {\n const scopedVar = scopedVars == null ? void 0 : scopedVars[name];\n if (scopedVar) {\n return getSceneVariableForScopedVar(name, scopedVar);\n }\n const variable = lookupVariable(name, sceneObject);\n if (variable) {\n return variable;\n }\n if (macrosIndex[name]) {\n return new macrosIndex[name](name, sceneObject, match, scopedVars);\n }\n return null;\n}\nfunction formatValue(variable, value, formatNameOrFn) {\n if (value === null || value === void 0) {\n return \"\";\n }\n if (isCustomVariableValue(value)) {\n return value.formatter(formatNameOrFn);\n }\n if (!Array.isArray(value) && typeof value === \"object\") {\n value = `${value}`;\n }\n if (typeof formatNameOrFn === \"function\") {\n return formatNameOrFn(value, {\n name: variable.state.name,\n type: variable.state.type,\n multi: variable.state.isMulti,\n includeAll: variable.state.includeAll\n });\n }\n let args = [];\n if (!formatNameOrFn) {\n formatNameOrFn = VariableFormatID.Glob;\n } else {\n args = formatNameOrFn.split(\":\");\n if (args.length > 1) {\n formatNameOrFn = args[0];\n args = args.slice(1);\n } else {\n args = [];\n }\n }\n let formatter = formatRegistry.getIfExists(formatNameOrFn);\n if (!formatter) {\n console.error(`Variable format ${formatNameOrFn} not found. Using glob format as fallback.`);\n formatter = formatRegistry.get(VariableFormatID.Glob);\n }\n return formatter.formatter(value, args, variable);\n}\n\nexport { sceneInterpolator };\n//# sourceMappingURL=sceneInterpolator.js.map\n","import { VARIABLE_REGEX } from './constants.js';\nimport { safeStringifyValue } from './utils.js';\n\nclass VariableDependencyConfig {\n constructor(_sceneObject, _options) {\n this._sceneObject = _sceneObject;\n this._options = _options;\n this._dependencies = /* @__PURE__ */ new Set();\n this.scanCount = 0;\n this.defaultHandlerReferencedVariableValueChanged = () => {\n this._sceneObject.forceRender();\n };\n this._statePaths = _options.statePaths;\n }\n hasDependencyOn(name) {\n return this.getNames().has(name);\n }\n variableUpdatesCompleted(changedVariables) {\n const deps = this.getNames();\n let dependencyChanged = false;\n for (const variable of changedVariables) {\n if (deps.has(variable.state.name)) {\n dependencyChanged = true;\n break;\n }\n }\n if (this._options.onVariableUpdatesCompleted) {\n this._options.onVariableUpdatesCompleted(changedVariables, dependencyChanged);\n return;\n }\n if (dependencyChanged) {\n if (this._options.onReferencedVariableValueChanged) {\n this._options.onReferencedVariableValueChanged();\n } else {\n this.defaultHandlerReferencedVariableValueChanged();\n }\n }\n }\n getNames() {\n const prevState = this._state;\n const newState = this._state = this._sceneObject.state;\n if (!prevState) {\n this.scanStateForDependencies(this._state);\n return this._dependencies;\n }\n if (newState !== prevState) {\n if (this._statePaths) {\n for (const path of this._statePaths) {\n if (newState[path] !== prevState[path]) {\n this.scanStateForDependencies(newState);\n break;\n }\n }\n } else {\n this.scanStateForDependencies(newState);\n }\n }\n return this._dependencies;\n }\n setPaths(paths) {\n this._statePaths = paths;\n }\n scanStateForDependencies(state) {\n this._dependencies.clear();\n this.scanCount += 1;\n if (this._options.variableNames) {\n for (const name of this._options.variableNames) {\n this._dependencies.add(name);\n }\n } else {\n if (this._statePaths) {\n for (const path of this._statePaths) {\n const value = state[path];\n if (value) {\n this.extractVariablesFrom(value);\n }\n }\n } else {\n this.extractVariablesFrom(state);\n }\n }\n }\n extractVariablesFrom(value) {\n VARIABLE_REGEX.lastIndex = 0;\n const stringToCheck = typeof value !== \"string\" ? safeStringifyValue(value) : value;\n const matches = stringToCheck.matchAll(VARIABLE_REGEX);\n if (!matches) {\n return;\n }\n for (const match of matches) {\n const [, var1, var2, , var3] = match;\n const variableName = var1 || var2 || var3;\n this._dependencies.add(variableName);\n }\n }\n}\n\nexport { VariableDependencyConfig };\n//# sourceMappingURL=VariableDependencyConfig.js.map\n","import { DashboardCursorSync } from '@grafana/schema';\nimport { Observable } from 'rxjs';\nimport { sceneGraph } from '../core/sceneGraph/index.js';\nimport { SceneObjectBase } from '../core/SceneObjectBase.js';\n\nvar __defProp = Object.defineProperty;\nvar __defProps = Object.defineProperties;\nvar __getOwnPropDescs = Object.getOwnPropertyDescriptors;\nvar __getOwnPropSymbols = Object.getOwnPropertySymbols;\nvar __hasOwnProp = Object.prototype.hasOwnProperty;\nvar __propIsEnum = Object.prototype.propertyIsEnumerable;\nvar __defNormalProp = (obj, key, value) => key in obj ? __defProp(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;\nvar __spreadValues = (a, b) => {\n for (var prop in b || (b = {}))\n if (__hasOwnProp.call(b, prop))\n __defNormalProp(a, prop, b[prop]);\n if (__getOwnPropSymbols)\n for (var prop of __getOwnPropSymbols(b)) {\n if (__propIsEnum.call(b, prop))\n __defNormalProp(a, prop, b[prop]);\n }\n return a;\n};\nvar __spreadProps = (a, b) => __defProps(a, __getOwnPropDescs(b));\nclass CursorSync extends SceneObjectBase {\n constructor(state) {\n super(__spreadProps(__spreadValues({}, state), {\n sync: state.sync || DashboardCursorSync.Off\n }));\n this.getEventsBus = (panel) => {\n if (!this.parent) {\n throw new Error(\"EnableCursorSync cannot be used as a standalone scene object\");\n }\n return new PanelContextEventBus(this.parent, panel);\n };\n }\n getEventsScope() {\n if (!this.parent) {\n throw new Error(\"EnableCursorSync cannot be used as a standalone scene object\");\n }\n return this.state.key;\n }\n}\nclass PanelContextEventBus {\n constructor(_source, _eventsOrigin) {\n this._source = _source;\n this._eventsOrigin = _eventsOrigin;\n }\n publish(event) {\n event.origin = this;\n this._eventsOrigin.publishEvent(event, true);\n }\n getStream(eventType) {\n return new Observable((observer) => {\n const handler = (event) => {\n observer.next(event);\n };\n const sub = this._source.subscribeToEvent(eventType, handler);\n return () => sub.unsubscribe();\n });\n }\n subscribe(eventType, handler) {\n return this.getStream(eventType).pipe().subscribe(handler);\n }\n removeAllListeners() {\n }\n newScopedBus(key, filter) {\n throw new Error(\"For internal use only\");\n }\n}\nfunction getCursorSyncScope(sceneObject) {\n return sceneGraph.findObject(sceneObject, (o) => o instanceof CursorSync);\n}\n\nexport { CursorSync, getCursorSyncScope };\n//# sourceMappingURL=CursorSync.js.map\n","import { getDataSourceSrv } from '@grafana/runtime';\nimport { runtimeDataSources } from '../querying/RuntimeDataSource.js';\n\nasync function getDataSource(datasource, scopedVars) {\n if (datasource == null ? void 0 : datasource.uid) {\n const runtimeDataSource = runtimeDataSources.get(datasource.uid);\n if (runtimeDataSource) {\n return runtimeDataSource;\n }\n }\n if (datasource && datasource.query) {\n return datasource;\n }\n return await getDataSourceSrv().get(datasource, scopedVars);\n}\n\nexport { getDataSource };\n//# sourceMappingURL=getDataSource.js.map\n","import { sceneGraph } from '../core/sceneGraph/index.js';\nimport { isVariableValueEqual } from './utils.js';\n\nclass VariableValueRecorder {\n constructor() {\n this._values = /* @__PURE__ */ new Map();\n }\n recordCurrentDependencyValuesForSceneObject(sceneObject) {\n this.clearValues();\n if (!sceneObject.variableDependency) {\n return;\n }\n for (const variableName of sceneObject.variableDependency.getNames()) {\n const variable = sceneGraph.lookupVariable(variableName, sceneObject);\n if (variable) {\n this._values.set(variable, variable.getValue());\n }\n }\n }\n clearValues() {\n this._values.clear();\n }\n hasValues() {\n return !!this._values;\n }\n recordCurrentValue(variable) {\n this._values.set(variable, variable.getValue());\n }\n hasRecordedValue(variable) {\n return this._values.has(variable);\n }\n hasValueChanged(variable) {\n if (this._values.has(variable)) {\n const value = this._values.get(variable);\n if (!isVariableValueEqual(value, variable.getValue())) {\n return true;\n }\n }\n return false;\n }\n hasDependenciesChanged(sceneObject) {\n if (!this._values) {\n return false;\n }\n if (!sceneObject.variableDependency) {\n return false;\n }\n for (const variableName of sceneObject.variableDependency.getNames()) {\n const variable = sceneGraph.lookupVariable(variableName, sceneObject);\n if (variable && this._values.has(variable)) {\n const value = this._values.get(variable);\n if (!isVariableValueEqual(value, variable.getValue())) {\n return true;\n }\n }\n }\n return false;\n }\n}\n\nexport { VariableValueRecorder };\n//# sourceMappingURL=VariableValueRecorder.js.map\n","export function isFunction(value) {\n return typeof value === 'function';\n}\n//# sourceMappingURL=isFunction.js.map","import { ReplaySubject } from 'rxjs';\nimport { emptyPanelData } from '../../core/SceneDataNode.js';\nimport { SceneObjectBase } from '../../core/SceneObjectBase.js';\nimport { setBaseClassState } from '../../utils/utils.js';\nimport { writeSceneLog } from '../../utils/writeSceneLog.js';\nimport { VariableDependencyConfig } from '../../variables/VariableDependencyConfig.js';\nimport { VariableValueRecorder } from '../../variables/VariableValueRecorder.js';\n\nvar __defProp = Object.defineProperty;\nvar __getOwnPropSymbols = Object.getOwnPropertySymbols;\nvar __hasOwnProp = Object.prototype.hasOwnProperty;\nvar __propIsEnum = Object.prototype.propertyIsEnumerable;\nvar __defNormalProp = (obj, key, value) => key in obj ? __defProp(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;\nvar __spreadValues = (a, b) => {\n for (var prop in b || (b = {}))\n if (__hasOwnProp.call(b, prop))\n __defNormalProp(a, prop, b[prop]);\n if (__getOwnPropSymbols)\n for (var prop of __getOwnPropSymbols(b)) {\n if (__propIsEnum.call(b, prop))\n __defNormalProp(a, prop, b[prop]);\n }\n return a;\n};\nclass SceneDataLayerBase extends SceneObjectBase {\n constructor(initialState, variableDependencyStatePaths = []) {\n super(__spreadValues({\n isEnabled: true\n }, initialState));\n this._results = new ReplaySubject();\n this._variableValueRecorder = new VariableValueRecorder();\n this._variableDependency = new VariableDependencyConfig(this, {\n onVariableUpdatesCompleted: (variables, dependencyChanged) => this.onVariableUpdatesCompleted(variables, dependencyChanged)\n });\n this._variableDependency.setPaths(variableDependencyStatePaths);\n this.addActivationHandler(() => this.onActivate());\n }\n onActivate() {\n if (this.state.isEnabled) {\n this.onEnable();\n }\n if (this.shouldRunLayerOnActivate()) {\n this.runLayer();\n }\n this.subscribeToState((n, p) => {\n if (!n.isEnabled && this.querySub) {\n this.querySub.unsubscribe();\n this.querySub = void 0;\n this.onDisable();\n this._results.next({\n origin: this,\n data: emptyPanelData,\n topic: this.topic\n });\n this.setStateHelper({\n data: emptyPanelData\n });\n }\n if (n.isEnabled && !p.isEnabled) {\n this.onEnable();\n this.runLayer();\n }\n });\n return () => {\n this.onDeactivate();\n };\n }\n onDeactivate() {\n if (this.querySub) {\n this.querySub.unsubscribe();\n this.querySub = void 0;\n }\n this.onDisable();\n this._variableValueRecorder.recordCurrentDependencyValuesForSceneObject(this);\n }\n onVariableUpdatesCompleted(variables, dependencyChanged) {\n writeSceneLog(\"SceneDataLayerBase\", \"onVariableUpdatesCompleted\");\n if (this.state._isWaitingForVariables && this.shouldRunLayerOnActivate()) {\n this.runLayer();\n return;\n }\n if (dependencyChanged) {\n this.runLayer();\n }\n }\n cancelQuery() {\n if (this.querySub) {\n this.querySub.unsubscribe();\n this.querySub = void 0;\n this.publishResults(emptyPanelData, this.topic);\n }\n }\n publishResults(data, topic) {\n if (this.state.isEnabled) {\n this._results.next({\n origin: this,\n data,\n topic\n });\n this.setStateHelper({\n data\n });\n }\n }\n getResultsStream() {\n return this._results;\n }\n shouldRunLayerOnActivate() {\n if (this._variableValueRecorder.hasDependenciesChanged(this)) {\n writeSceneLog(\n \"SceneDataLayerBase\",\n \"Variable dependency changed while inactive, shouldRunLayerOnActivate returns true\"\n );\n return true;\n }\n if (this.state.data) {\n return false;\n }\n return true;\n }\n setStateHelper(state) {\n setBaseClassState(this, state);\n }\n}\n\nexport { SceneDataLayerBase };\n//# sourceMappingURL=SceneDataLayerBase.js.map\n","/******************************************************************************\nCopyright (c) Microsoft Corporation.\n\nPermission to use, copy, modify, and/or distribute this software for any\npurpose with or without fee is hereby granted.\n\nTHE SOFTWARE IS PROVIDED \"AS IS\" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH\nREGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY\nAND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,\nINDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM\nLOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR\nOTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR\nPERFORMANCE OF THIS SOFTWARE.\n***************************************************************************** */\n/* global Reflect, Promise, SuppressedError, Symbol */\n\nvar extendStatics = function(d, b) {\n extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };\n return extendStatics(d, b);\n};\n\nexport function __extends(d, b) {\n if (typeof b !== \"function\" && b !== null)\n throw new TypeError(\"Class extends value \" + String(b) + \" is not a constructor or null\");\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n}\n\nexport var __assign = function() {\n __assign = Object.assign || function __assign(t) {\n for (var s, i = 1, n = arguments.length; i < n; i++) {\n s = arguments[i];\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p];\n }\n return t;\n }\n return __assign.apply(this, arguments);\n}\n\nexport function __rest(s, e) {\n var t = {};\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)\n t[p] = s[p];\n if (s != null && typeof Object.getOwnPropertySymbols === \"function\")\n for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {\n if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))\n t[p[i]] = s[p[i]];\n }\n return t;\n}\n\nexport function __decorate(decorators, target, key, desc) {\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\n return c > 3 && r && Object.defineProperty(target, key, r), r;\n}\n\nexport function __param(paramIndex, decorator) {\n return function (target, key) { decorator(target, key, paramIndex); }\n}\n\nexport function __esDecorate(ctor, descriptorIn, decorators, contextIn, initializers, extraInitializers) {\n function accept(f) { if (f !== void 0 && typeof f !== \"function\") throw new TypeError(\"Function expected\"); return f; }\n var kind = contextIn.kind, key = kind === \"getter\" ? \"get\" : kind === \"setter\" ? \"set\" : \"value\";\n var target = !descriptorIn && ctor ? contextIn[\"static\"] ? ctor : ctor.prototype : null;\n var descriptor = descriptorIn || (target ? Object.getOwnPropertyDescriptor(target, contextIn.name) : {});\n var _, done = false;\n for (var i = decorators.length - 1; i >= 0; i--) {\n var context = {};\n for (var p in contextIn) context[p] = p === \"access\" ? {} : contextIn[p];\n for (var p in contextIn.access) context.access[p] = contextIn.access[p];\n context.addInitializer = function (f) { if (done) throw new TypeError(\"Cannot add initializers after decoration has completed\"); extraInitializers.push(accept(f || null)); };\n var result = (0, decorators[i])(kind === \"accessor\" ? { get: descriptor.get, set: descriptor.set } : descriptor[key], context);\n if (kind === \"accessor\") {\n if (result === void 0) continue;\n if (result === null || typeof result !== \"object\") throw new TypeError(\"Object expected\");\n if (_ = accept(result.get)) descriptor.get = _;\n if (_ = accept(result.set)) descriptor.set = _;\n if (_ = accept(result.init)) initializers.unshift(_);\n }\n else if (_ = accept(result)) {\n if (kind === \"field\") initializers.unshift(_);\n else descriptor[key] = _;\n }\n }\n if (target) Object.defineProperty(target, contextIn.name, descriptor);\n done = true;\n};\n\nexport function __runInitializers(thisArg, initializers, value) {\n var useValue = arguments.length > 2;\n for (var i = 0; i < initializers.length; i++) {\n value = useValue ? initializers[i].call(thisArg, value) : initializers[i].call(thisArg);\n }\n return useValue ? value : void 0;\n};\n\nexport function __propKey(x) {\n return typeof x === \"symbol\" ? x : \"\".concat(x);\n};\n\nexport function __setFunctionName(f, name, prefix) {\n if (typeof name === \"symbol\") name = name.description ? \"[\".concat(name.description, \"]\") : \"\";\n return Object.defineProperty(f, \"name\", { configurable: true, value: prefix ? \"\".concat(prefix, \" \", name) : name });\n};\n\nexport function __metadata(metadataKey, metadataValue) {\n if (typeof Reflect === \"object\" && typeof Reflect.metadata === \"function\") return Reflect.metadata(metadataKey, metadataValue);\n}\n\nexport function __awaiter(thisArg, _arguments, P, generator) {\n function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\n return new (P || (P = Promise))(function (resolve, reject) {\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\n function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\n step((generator = generator.apply(thisArg, _arguments || [])).next());\n });\n}\n\nexport function __generator(thisArg, body) {\n var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;\n return g = { next: verb(0), \"throw\": verb(1), \"return\": verb(2) }, typeof Symbol === \"function\" && (g[Symbol.iterator] = function() { return this; }), g;\n function verb(n) { return function (v) { return step([n, v]); }; }\n function step(op) {\n if (f) throw new TypeError(\"Generator is already executing.\");\n while (g && (g = 0, op[0] && (_ = 0)), _) try {\n if (f = 1, y && (t = op[0] & 2 ? y[\"return\"] : op[0] ? y[\"throw\"] || ((t = y[\"return\"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;\n if (y = 0, t) op = [op[0] & 2, t.value];\n switch (op[0]) {\n case 0: case 1: t = op; break;\n case 4: _.label++; return { value: op[1], done: false };\n case 5: _.label++; y = op[1]; op = [0]; continue;\n case 7: op = _.ops.pop(); _.trys.pop(); continue;\n default:\n if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }\n if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }\n if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }\n if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }\n if (t[2]) _.ops.pop();\n _.trys.pop(); continue;\n }\n op = body.call(thisArg, _);\n } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }\n if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };\n }\n}\n\nexport var __createBinding = Object.create ? (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n var desc = Object.getOwnPropertyDescriptor(m, k);\n if (!desc || (\"get\" in desc ? !m.__esModule : desc.writable || desc.configurable)) {\n desc = { enumerable: true, get: function() { return m[k]; } };\n }\n Object.defineProperty(o, k2, desc);\n}) : (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n o[k2] = m[k];\n});\n\nexport function __exportStar(m, o) {\n for (var p in m) if (p !== \"default\" && !Object.prototype.hasOwnProperty.call(o, p)) __createBinding(o, m, p);\n}\n\nexport function __values(o) {\n var s = typeof Symbol === \"function\" && Symbol.iterator, m = s && o[s], i = 0;\n if (m) return m.call(o);\n if (o && typeof o.length === \"number\") return {\n next: function () {\n if (o && i >= o.length) o = void 0;\n return { value: o && o[i++], done: !o };\n }\n };\n throw new TypeError(s ? \"Object is not iterable.\" : \"Symbol.iterator is not defined.\");\n}\n\nexport function __read(o, n) {\n var m = typeof Symbol === \"function\" && o[Symbol.iterator];\n if (!m) return o;\n var i = m.call(o), r, ar = [], e;\n try {\n while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);\n }\n catch (error) { e = { error: error }; }\n finally {\n try {\n if (r && !r.done && (m = i[\"return\"])) m.call(i);\n }\n finally { if (e) throw e.error; }\n }\n return ar;\n}\n\n/** @deprecated */\nexport function __spread() {\n for (var ar = [], i = 0; i < arguments.length; i++)\n ar = ar.concat(__read(arguments[i]));\n return ar;\n}\n\n/** @deprecated */\nexport function __spreadArrays() {\n for (var s = 0, i = 0, il = arguments.length; i < il; i++) s += arguments[i].length;\n for (var r = Array(s), k = 0, i = 0; i < il; i++)\n for (var a = arguments[i], j = 0, jl = a.length; j < jl; j++, k++)\n r[k] = a[j];\n return r;\n}\n\nexport function __spreadArray(to, from, pack) {\n if (pack || arguments.length === 2) for (var i = 0, l = from.length, ar; i < l; i++) {\n if (ar || !(i in from)) {\n if (!ar) ar = Array.prototype.slice.call(from, 0, i);\n ar[i] = from[i];\n }\n }\n return to.concat(ar || Array.prototype.slice.call(from));\n}\n\nexport function __await(v) {\n return this instanceof __await ? (this.v = v, this) : new __await(v);\n}\n\nexport function __asyncGenerator(thisArg, _arguments, generator) {\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\n var g = generator.apply(thisArg, _arguments || []), i, q = [];\n return i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i;\n function verb(n) { if (g[n]) i[n] = function (v) { return new Promise(function (a, b) { q.push([n, v, a, b]) > 1 || resume(n, v); }); }; }\n function resume(n, v) { try { step(g[n](v)); } catch (e) { settle(q[0][3], e); } }\n function step(r) { r.value instanceof __await ? Promise.resolve(r.value.v).then(fulfill, reject) : settle(q[0][2], r); }\n function fulfill(value) { resume(\"next\", value); }\n function reject(value) { resume(\"throw\", value); }\n function settle(f, v) { if (f(v), q.shift(), q.length) resume(q[0][0], q[0][1]); }\n}\n\nexport function __asyncDelegator(o) {\n var i, p;\n return i = {}, verb(\"next\"), verb(\"throw\", function (e) { throw e; }), verb(\"return\"), i[Symbol.iterator] = function () { return this; }, i;\n function verb(n, f) { i[n] = o[n] ? function (v) { return (p = !p) ? { value: __await(o[n](v)), done: false } : f ? f(v) : v; } : f; }\n}\n\nexport function __asyncValues(o) {\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\n var m = o[Symbol.asyncIterator], i;\n return m ? m.call(o) : (o = typeof __values === \"function\" ? __values(o) : o[Symbol.iterator](), i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i);\n function verb(n) { i[n] = o[n] && function (v) { return new Promise(function (resolve, reject) { v = o[n](v), settle(resolve, reject, v.done, v.value); }); }; }\n function settle(resolve, reject, d, v) { Promise.resolve(v).then(function(v) { resolve({ value: v, done: d }); }, reject); }\n}\n\nexport function __makeTemplateObject(cooked, raw) {\n if (Object.defineProperty) { Object.defineProperty(cooked, \"raw\", { value: raw }); } else { cooked.raw = raw; }\n return cooked;\n};\n\nvar __setModuleDefault = Object.create ? (function(o, v) {\n Object.defineProperty(o, \"default\", { enumerable: true, value: v });\n}) : function(o, v) {\n o[\"default\"] = v;\n};\n\nexport function __importStar(mod) {\n if (mod && mod.__esModule) return mod;\n var result = {};\n if (mod != null) for (var k in mod) if (k !== \"default\" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);\n __setModuleDefault(result, mod);\n return result;\n}\n\nexport function __importDefault(mod) {\n return (mod && mod.__esModule) ? mod : { default: mod };\n}\n\nexport function __classPrivateFieldGet(receiver, state, kind, f) {\n if (kind === \"a\" && !f) throw new TypeError(\"Private accessor was defined without a getter\");\n if (typeof state === \"function\" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError(\"Cannot read private member from an object whose class did not declare it\");\n return kind === \"m\" ? f : kind === \"a\" ? f.call(receiver) : f ? f.value : state.get(receiver);\n}\n\nexport function __classPrivateFieldSet(receiver, state, value, kind, f) {\n if (kind === \"m\") throw new TypeError(\"Private method is not writable\");\n if (kind === \"a\" && !f) throw new TypeError(\"Private accessor was defined without a setter\");\n if (typeof state === \"function\" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError(\"Cannot write private member to an object whose class did not declare it\");\n return (kind === \"a\" ? f.call(receiver, value) : f ? f.value = value : state.set(receiver, value)), value;\n}\n\nexport function __classPrivateFieldIn(state, receiver) {\n if (receiver === null || (typeof receiver !== \"object\" && typeof receiver !== \"function\")) throw new TypeError(\"Cannot use 'in' operator on non-object\");\n return typeof state === \"function\" ? receiver === state : state.has(receiver);\n}\n\nexport function __addDisposableResource(env, value, async) {\n if (value !== null && value !== void 0) {\n if (typeof value !== \"object\" && typeof value !== \"function\") throw new TypeError(\"Object expected.\");\n var dispose;\n if (async) {\n if (!Symbol.asyncDispose) throw new TypeError(\"Symbol.asyncDispose is not defined.\");\n dispose = value[Symbol.asyncDispose];\n }\n if (dispose === void 0) {\n if (!Symbol.dispose) throw new TypeError(\"Symbol.dispose is not defined.\");\n dispose = value[Symbol.dispose];\n }\n if (typeof dispose !== \"function\") throw new TypeError(\"Object not disposable.\");\n env.stack.push({ value: value, dispose: dispose, async: async });\n }\n else if (async) {\n env.stack.push({ async: true });\n }\n return value;\n}\n\nvar _SuppressedError = typeof SuppressedError === \"function\" ? SuppressedError : function (error, suppressed, message) {\n var e = new Error(message);\n return e.name = \"SuppressedError\", e.error = error, e.suppressed = suppressed, e;\n};\n\nexport function __disposeResources(env) {\n function fail(e) {\n env.error = env.hasError ? new _SuppressedError(e, env.error, \"An error was suppressed during disposal.\") : e;\n env.hasError = true;\n }\n function next() {\n while (env.stack.length) {\n var rec = env.stack.pop();\n try {\n var result = rec.dispose && rec.dispose.call(rec.value);\n if (rec.async) return Promise.resolve(result).then(next, function(e) { fail(e); return next(); });\n }\n catch (e) {\n fail(e);\n }\n }\n if (env.hasError) throw env.error;\n }\n return next();\n}\n\nexport default {\n __extends,\n __assign,\n __rest,\n __decorate,\n __param,\n __metadata,\n __awaiter,\n __generator,\n __createBinding,\n __exportStar,\n __values,\n __read,\n __spread,\n __spreadArrays,\n __spreadArray,\n __await,\n __asyncGenerator,\n __asyncDelegator,\n __asyncValues,\n __makeTemplateObject,\n __importStar,\n __importDefault,\n __classPrivateFieldGet,\n __classPrivateFieldSet,\n __classPrivateFieldIn,\n __addDisposableResource,\n __disposeResources,\n};\n","import { createErrorClass } from './createErrorClass';\nexport var UnsubscriptionError = createErrorClass(function (_super) {\n return function UnsubscriptionErrorImpl(errors) {\n _super(this);\n this.message = errors\n ? errors.length + \" errors occurred during unsubscription:\\n\" + errors.map(function (err, i) { return i + 1 + \") \" + err.toString(); }).join('\\n ')\n : '';\n this.name = 'UnsubscriptionError';\n this.errors = errors;\n };\n});\n//# sourceMappingURL=UnsubscriptionError.js.map","export function createErrorClass(createImpl) {\n var _super = function (instance) {\n Error.call(instance);\n instance.stack = new Error().stack;\n };\n var ctorFunc = createImpl(_super);\n ctorFunc.prototype = Object.create(Error.prototype);\n ctorFunc.prototype.constructor = ctorFunc;\n return ctorFunc;\n}\n//# sourceMappingURL=createErrorClass.js.map","export function arrRemove(arr, item) {\n if (arr) {\n var index = arr.indexOf(item);\n 0 <= index && arr.splice(index, 1);\n }\n}\n//# sourceMappingURL=arrRemove.js.map","import { __read, __spreadArray, __values } from \"tslib\";\nimport { isFunction } from './util/isFunction';\nimport { UnsubscriptionError } from './util/UnsubscriptionError';\nimport { arrRemove } from './util/arrRemove';\nvar Subscription = (function () {\n function Subscription(initialTeardown) {\n this.initialTeardown = initialTeardown;\n this.closed = false;\n this._parentage = null;\n this._finalizers = null;\n }\n Subscription.prototype.unsubscribe = function () {\n var e_1, _a, e_2, _b;\n var errors;\n if (!this.closed) {\n this.closed = true;\n var _parentage = this._parentage;\n if (_parentage) {\n this._parentage = null;\n if (Array.isArray(_parentage)) {\n try {\n for (var _parentage_1 = __values(_parentage), _parentage_1_1 = _parentage_1.next(); !_parentage_1_1.done; _parentage_1_1 = _parentage_1.next()) {\n var parent_1 = _parentage_1_1.value;\n parent_1.remove(this);\n }\n }\n catch (e_1_1) { e_1 = { error: e_1_1 }; }\n finally {\n try {\n if (_parentage_1_1 && !_parentage_1_1.done && (_a = _parentage_1.return)) _a.call(_parentage_1);\n }\n finally { if (e_1) throw e_1.error; }\n }\n }\n else {\n _parentage.remove(this);\n }\n }\n var initialFinalizer = this.initialTeardown;\n if (isFunction(initialFinalizer)) {\n try {\n initialFinalizer();\n }\n catch (e) {\n errors = e instanceof UnsubscriptionError ? e.errors : [e];\n }\n }\n var _finalizers = this._finalizers;\n if (_finalizers) {\n this._finalizers = null;\n try {\n for (var _finalizers_1 = __values(_finalizers), _finalizers_1_1 = _finalizers_1.next(); !_finalizers_1_1.done; _finalizers_1_1 = _finalizers_1.next()) {\n var finalizer = _finalizers_1_1.value;\n try {\n execFinalizer(finalizer);\n }\n catch (err) {\n errors = errors !== null && errors !== void 0 ? errors : [];\n if (err instanceof UnsubscriptionError) {\n errors = __spreadArray(__spreadArray([], __read(errors)), __read(err.errors));\n }\n else {\n errors.push(err);\n }\n }\n }\n }\n catch (e_2_1) { e_2 = { error: e_2_1 }; }\n finally {\n try {\n if (_finalizers_1_1 && !_finalizers_1_1.done && (_b = _finalizers_1.return)) _b.call(_finalizers_1);\n }\n finally { if (e_2) throw e_2.error; }\n }\n }\n if (errors) {\n throw new UnsubscriptionError(errors);\n }\n }\n };\n Subscription.prototype.add = function (teardown) {\n var _a;\n if (teardown && teardown !== this) {\n if (this.closed) {\n execFinalizer(teardown);\n }\n else {\n if (teardown instanceof Subscription) {\n if (teardown.closed || teardown._hasParent(this)) {\n return;\n }\n teardown._addParent(this);\n }\n (this._finalizers = (_a = this._finalizers) !== null && _a !== void 0 ? _a : []).push(teardown);\n }\n }\n };\n Subscription.prototype._hasParent = function (parent) {\n var _parentage = this._parentage;\n return _parentage === parent || (Array.isArray(_parentage) && _parentage.includes(parent));\n };\n Subscription.prototype._addParent = function (parent) {\n var _parentage = this._parentage;\n this._parentage = Array.isArray(_parentage) ? (_parentage.push(parent), _parentage) : _parentage ? [_parentage, parent] : parent;\n };\n Subscription.prototype._removeParent = function (parent) {\n var _parentage = this._parentage;\n if (_parentage === parent) {\n this._parentage = null;\n }\n else if (Array.isArray(_parentage)) {\n arrRemove(_parentage, parent);\n }\n };\n Subscription.prototype.remove = function (teardown) {\n var _finalizers = this._finalizers;\n _finalizers && arrRemove(_finalizers, teardown);\n if (teardown instanceof Subscription) {\n teardown._removeParent(this);\n }\n };\n Subscription.EMPTY = (function () {\n var empty = new Subscription();\n empty.closed = true;\n return empty;\n })();\n return Subscription;\n}());\nexport { Subscription };\nexport var EMPTY_SUBSCRIPTION = Subscription.EMPTY;\nexport function isSubscription(value) {\n return (value instanceof Subscription ||\n (value && 'closed' in value && isFunction(value.remove) && isFunction(value.add) && isFunction(value.unsubscribe)));\n}\nfunction execFinalizer(finalizer) {\n if (isFunction(finalizer)) {\n finalizer();\n }\n else {\n finalizer.unsubscribe();\n }\n}\n//# sourceMappingURL=Subscription.js.map","export var config = {\n onUnhandledError: null,\n onStoppedNotification: null,\n Promise: undefined,\n useDeprecatedSynchronousErrorHandling: false,\n useDeprecatedNextContext: false,\n};\n//# sourceMappingURL=config.js.map","import { __read, __spreadArray } from \"tslib\";\nexport var timeoutProvider = {\n setTimeout: function (handler, timeout) {\n var args = [];\n for (var _i = 2; _i < arguments.length; _i++) {\n args[_i - 2] = arguments[_i];\n }\n var delegate = timeoutProvider.delegate;\n if (delegate === null || delegate === void 0 ? void 0 : delegate.setTimeout) {\n return delegate.setTimeout.apply(delegate, __spreadArray([handler, timeout], __read(args)));\n }\n return setTimeout.apply(void 0, __spreadArray([handler, timeout], __read(args)));\n },\n clearTimeout: function (handle) {\n var delegate = timeoutProvider.delegate;\n return ((delegate === null || delegate === void 0 ? void 0 : delegate.clearTimeout) || clearTimeout)(handle);\n },\n delegate: undefined,\n};\n//# sourceMappingURL=timeoutProvider.js.map","export function noop() { }\n//# sourceMappingURL=noop.js.map","export var COMPLETE_NOTIFICATION = (function () { return createNotification('C', undefined, undefined); })();\nexport function errorNotification(error) {\n return createNotification('E', undefined, error);\n}\nexport function nextNotification(value) {\n return createNotification('N', value, undefined);\n}\nexport function createNotification(kind, value, error) {\n return {\n kind: kind,\n value: value,\n error: error,\n };\n}\n//# sourceMappingURL=NotificationFactories.js.map","import { config } from '../config';\nvar context = null;\nexport function errorContext(cb) {\n if (config.useDeprecatedSynchronousErrorHandling) {\n var isRoot = !context;\n if (isRoot) {\n context = { errorThrown: false, error: null };\n }\n cb();\n if (isRoot) {\n var _a = context, errorThrown = _a.errorThrown, error = _a.error;\n context = null;\n if (errorThrown) {\n throw error;\n }\n }\n }\n else {\n cb();\n }\n}\nexport function captureError(err) {\n if (config.useDeprecatedSynchronousErrorHandling && context) {\n context.errorThrown = true;\n context.error = err;\n }\n}\n//# sourceMappingURL=errorContext.js.map","import { __extends } from \"tslib\";\nimport { isFunction } from './util/isFunction';\nimport { isSubscription, Subscription } from './Subscription';\nimport { config } from './config';\nimport { reportUnhandledError } from './util/reportUnhandledError';\nimport { noop } from './util/noop';\nimport { nextNotification, errorNotification, COMPLETE_NOTIFICATION } from './NotificationFactories';\nimport { timeoutProvider } from './scheduler/timeoutProvider';\nimport { captureError } from './util/errorContext';\nvar Subscriber = (function (_super) {\n __extends(Subscriber, _super);\n function Subscriber(destination) {\n var _this = _super.call(this) || this;\n _this.isStopped = false;\n if (destination) {\n _this.destination = destination;\n if (isSubscription(destination)) {\n destination.add(_this);\n }\n }\n else {\n _this.destination = EMPTY_OBSERVER;\n }\n return _this;\n }\n Subscriber.create = function (next, error, complete) {\n return new SafeSubscriber(next, error, complete);\n };\n Subscriber.prototype.next = function (value) {\n if (this.isStopped) {\n handleStoppedNotification(nextNotification(value), this);\n }\n else {\n this._next(value);\n }\n };\n Subscriber.prototype.error = function (err) {\n if (this.isStopped) {\n handleStoppedNotification(errorNotification(err), this);\n }\n else {\n this.isStopped = true;\n this._error(err);\n }\n };\n Subscriber.prototype.complete = function () {\n if (this.isStopped) {\n handleStoppedNotification(COMPLETE_NOTIFICATION, this);\n }\n else {\n this.isStopped = true;\n this._complete();\n }\n };\n Subscriber.prototype.unsubscribe = function () {\n if (!this.closed) {\n this.isStopped = true;\n _super.prototype.unsubscribe.call(this);\n this.destination = null;\n }\n };\n Subscriber.prototype._next = function (value) {\n this.destination.next(value);\n };\n Subscriber.prototype._error = function (err) {\n try {\n this.destination.error(err);\n }\n finally {\n this.unsubscribe();\n }\n };\n Subscriber.prototype._complete = function () {\n try {\n this.destination.complete();\n }\n finally {\n this.unsubscribe();\n }\n };\n return Subscriber;\n}(Subscription));\nexport { Subscriber };\nvar _bind = Function.prototype.bind;\nfunction bind(fn, thisArg) {\n return _bind.call(fn, thisArg);\n}\nvar ConsumerObserver = (function () {\n function ConsumerObserver(partialObserver) {\n this.partialObserver = partialObserver;\n }\n ConsumerObserver.prototype.next = function (value) {\n var partialObserver = this.partialObserver;\n if (partialObserver.next) {\n try {\n partialObserver.next(value);\n }\n catch (error) {\n handleUnhandledError(error);\n }\n }\n };\n ConsumerObserver.prototype.error = function (err) {\n var partialObserver = this.partialObserver;\n if (partialObserver.error) {\n try {\n partialObserver.error(err);\n }\n catch (error) {\n handleUnhandledError(error);\n }\n }\n else {\n handleUnhandledError(err);\n }\n };\n ConsumerObserver.prototype.complete = function () {\n var partialObserver = this.partialObserver;\n if (partialObserver.complete) {\n try {\n partialObserver.complete();\n }\n catch (error) {\n handleUnhandledError(error);\n }\n }\n };\n return ConsumerObserver;\n}());\nvar SafeSubscriber = (function (_super) {\n __extends(SafeSubscriber, _super);\n function SafeSubscriber(observerOrNext, error, complete) {\n var _this = _super.call(this) || this;\n var partialObserver;\n if (isFunction(observerOrNext) || !observerOrNext) {\n partialObserver = {\n next: (observerOrNext !== null && observerOrNext !== void 0 ? observerOrNext : undefined),\n error: error !== null && error !== void 0 ? error : undefined,\n complete: complete !== null && complete !== void 0 ? complete : undefined,\n };\n }\n else {\n var context_1;\n if (_this && config.useDeprecatedNextContext) {\n context_1 = Object.create(observerOrNext);\n context_1.unsubscribe = function () { return _this.unsubscribe(); };\n partialObserver = {\n next: observerOrNext.next && bind(observerOrNext.next, context_1),\n error: observerOrNext.error && bind(observerOrNext.error, context_1),\n complete: observerOrNext.complete && bind(observerOrNext.complete, context_1),\n };\n }\n else {\n partialObserver = observerOrNext;\n }\n }\n _this.destination = new ConsumerObserver(partialObserver);\n return _this;\n }\n return SafeSubscriber;\n}(Subscriber));\nexport { SafeSubscriber };\nfunction handleUnhandledError(error) {\n if (config.useDeprecatedSynchronousErrorHandling) {\n captureError(error);\n }\n else {\n reportUnhandledError(error);\n }\n}\nfunction defaultErrorHandler(err) {\n throw err;\n}\nfunction handleStoppedNotification(notification, subscriber) {\n var onStoppedNotification = config.onStoppedNotification;\n onStoppedNotification && timeoutProvider.setTimeout(function () { return onStoppedNotification(notification, subscriber); });\n}\nexport var EMPTY_OBSERVER = {\n closed: true,\n next: noop,\n error: defaultErrorHandler,\n complete: noop,\n};\n//# sourceMappingURL=Subscriber.js.map","import { config } from '../config';\nimport { timeoutProvider } from '../scheduler/timeoutProvider';\nexport function reportUnhandledError(err) {\n timeoutProvider.setTimeout(function () {\n var onUnhandledError = config.onUnhandledError;\n if (onUnhandledError) {\n onUnhandledError(err);\n }\n else {\n throw err;\n }\n });\n}\n//# sourceMappingURL=reportUnhandledError.js.map","import { __extends } from \"tslib\";\nimport { Subscriber } from '../Subscriber';\nexport function createOperatorSubscriber(destination, onNext, onComplete, onError, onFinalize) {\n return new OperatorSubscriber(destination, onNext, onComplete, onError, onFinalize);\n}\nvar OperatorSubscriber = (function (_super) {\n __extends(OperatorSubscriber, _super);\n function OperatorSubscriber(destination, onNext, onComplete, onError, onFinalize, shouldUnsubscribe) {\n var _this = _super.call(this, destination) || this;\n _this.onFinalize = onFinalize;\n _this.shouldUnsubscribe = shouldUnsubscribe;\n _this._next = onNext\n ? function (value) {\n try {\n onNext(value);\n }\n catch (err) {\n destination.error(err);\n }\n }\n : _super.prototype._next;\n _this._error = onError\n ? function (err) {\n try {\n onError(err);\n }\n catch (err) {\n destination.error(err);\n }\n finally {\n this.unsubscribe();\n }\n }\n : _super.prototype._error;\n _this._complete = onComplete\n ? function () {\n try {\n onComplete();\n }\n catch (err) {\n destination.error(err);\n }\n finally {\n this.unsubscribe();\n }\n }\n : _super.prototype._complete;\n return _this;\n }\n OperatorSubscriber.prototype.unsubscribe = function () {\n var _a;\n if (!this.shouldUnsubscribe || this.shouldUnsubscribe()) {\n var closed_1 = this.closed;\n _super.prototype.unsubscribe.call(this);\n !closed_1 && ((_a = this.onFinalize) === null || _a === void 0 ? void 0 : _a.call(this));\n }\n };\n return OperatorSubscriber;\n}(Subscriber));\nexport { OperatorSubscriber };\n//# sourceMappingURL=OperatorSubscriber.js.map","export var observable = (function () { return (typeof Symbol === 'function' && Symbol.observable) || '@@observable'; })();\n//# sourceMappingURL=observable.js.map","export function identity(x) {\n return x;\n}\n//# sourceMappingURL=identity.js.map","import { SafeSubscriber, Subscriber } from './Subscriber';\nimport { isSubscription } from './Subscription';\nimport { observable as Symbol_observable } from './symbol/observable';\nimport { pipeFromArray } from './util/pipe';\nimport { config } from './config';\nimport { isFunction } from './util/isFunction';\nimport { errorContext } from './util/errorContext';\nvar Observable = (function () {\n function Observable(subscribe) {\n if (subscribe) {\n this._subscribe = subscribe;\n }\n }\n Observable.prototype.lift = function (operator) {\n var observable = new Observable();\n observable.source = this;\n observable.operator = operator;\n return observable;\n };\n Observable.prototype.subscribe = function (observerOrNext, error, complete) {\n var _this = this;\n var subscriber = isSubscriber(observerOrNext) ? observerOrNext : new SafeSubscriber(observerOrNext, error, complete);\n errorContext(function () {\n var _a = _this, operator = _a.operator, source = _a.source;\n subscriber.add(operator\n ?\n operator.call(subscriber, source)\n : source\n ?\n _this._subscribe(subscriber)\n :\n _this._trySubscribe(subscriber));\n });\n return subscriber;\n };\n Observable.prototype._trySubscribe = function (sink) {\n try {\n return this._subscribe(sink);\n }\n catch (err) {\n sink.error(err);\n }\n };\n Observable.prototype.forEach = function (next, promiseCtor) {\n var _this = this;\n promiseCtor = getPromiseCtor(promiseCtor);\n return new promiseCtor(function (resolve, reject) {\n var subscriber = new SafeSubscriber({\n next: function (value) {\n try {\n next(value);\n }\n catch (err) {\n reject(err);\n subscriber.unsubscribe();\n }\n },\n error: reject,\n complete: resolve,\n });\n _this.subscribe(subscriber);\n });\n };\n Observable.prototype._subscribe = function (subscriber) {\n var _a;\n return (_a = this.source) === null || _a === void 0 ? void 0 : _a.subscribe(subscriber);\n };\n Observable.prototype[Symbol_observable] = function () {\n return this;\n };\n Observable.prototype.pipe = function () {\n var operations = [];\n for (var _i = 0; _i < arguments.length; _i++) {\n operations[_i] = arguments[_i];\n }\n return pipeFromArray(operations)(this);\n };\n Observable.prototype.toPromise = function (promiseCtor) {\n var _this = this;\n promiseCtor = getPromiseCtor(promiseCtor);\n return new promiseCtor(function (resolve, reject) {\n var value;\n _this.subscribe(function (x) { return (value = x); }, function (err) { return reject(err); }, function () { return resolve(value); });\n });\n };\n Observable.create = function (subscribe) {\n return new Observable(subscribe);\n };\n return Observable;\n}());\nexport { Observable };\nfunction getPromiseCtor(promiseCtor) {\n var _a;\n return (_a = promiseCtor !== null && promiseCtor !== void 0 ? promiseCtor : config.Promise) !== null && _a !== void 0 ? _a : Promise;\n}\nfunction isObserver(value) {\n return value && isFunction(value.next) && isFunction(value.error) && isFunction(value.complete);\n}\nfunction isSubscriber(value) {\n return (value && value instanceof Subscriber) || (isObserver(value) && isSubscription(value));\n}\n//# sourceMappingURL=Observable.js.map","import { identity } from './identity';\nexport function pipe() {\n var fns = [];\n for (var _i = 0; _i < arguments.length; _i++) {\n fns[_i] = arguments[_i];\n }\n return pipeFromArray(fns);\n}\nexport function pipeFromArray(fns) {\n if (fns.length === 0) {\n return identity;\n }\n if (fns.length === 1) {\n return fns[0];\n }\n return function piped(input) {\n return fns.reduce(function (prev, fn) { return fn(prev); }, input);\n };\n}\n//# sourceMappingURL=pipe.js.map","export function getSymbolIterator() {\n if (typeof Symbol !== 'function' || !Symbol.iterator) {\n return '@@iterator';\n }\n return Symbol.iterator;\n}\nexport var iterator = getSymbolIterator();\n//# sourceMappingURL=iterator.js.map","import { isString } from 'lodash';\nimport { of } from 'rxjs';\nimport { map, mergeMap } from 'rxjs/operators';\nimport { FieldType, getFieldDisplayName, AnnotationEventFieldSource, standardTransformers } from '@grafana/data';\nimport { config } from '@grafana/runtime';\n\nvar __defProp = Object.defineProperty;\nvar __defProps = Object.defineProperties;\nvar __getOwnPropDescs = Object.getOwnPropertyDescriptors;\nvar __getOwnPropSymbols = Object.getOwnPropertySymbols;\nvar __hasOwnProp = Object.prototype.hasOwnProperty;\nvar __propIsEnum = Object.prototype.propertyIsEnumerable;\nvar __defNormalProp = (obj, key, value) => key in obj ? __defProp(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;\nvar __spreadValues = (a, b) => {\n for (var prop in b || (b = {}))\n if (__hasOwnProp.call(b, prop))\n __defNormalProp(a, prop, b[prop]);\n if (__getOwnPropSymbols)\n for (var prop of __getOwnPropSymbols(b)) {\n if (__propIsEnum.call(b, prop))\n __defNormalProp(a, prop, b[prop]);\n }\n return a;\n};\nvar __spreadProps = (a, b) => __defProps(a, __getOwnPropDescs(b));\nvar __objRest = (source, exclude) => {\n var target = {};\n for (var prop in source)\n if (__hasOwnProp.call(source, prop) && exclude.indexOf(prop) < 0)\n target[prop] = source[prop];\n if (source != null && __getOwnPropSymbols)\n for (var prop of __getOwnPropSymbols(source)) {\n if (exclude.indexOf(prop) < 0 && __propIsEnum.call(source, prop))\n target[prop] = source[prop];\n }\n return target;\n};\nconst standardAnnotationSupport = {\n prepareAnnotation: (json) => {\n if (isString(json == null ? void 0 : json.query)) {\n const _a = json, { query } = _a, rest = __objRest(_a, [\"query\"]);\n return __spreadProps(__spreadValues({}, rest), {\n target: {\n refId: \"annotation_query\",\n query\n },\n mappings: {}\n });\n }\n return json;\n },\n prepareQuery: (anno) => anno.target,\n processEvents: (anno, data) => {\n return getAnnotationsFromData(data, anno.mappings);\n }\n};\nfunction singleFrameFromPanelData() {\n return (source) => source.pipe(\n mergeMap((data) => {\n if (!(data == null ? void 0 : data.length)) {\n return of(void 0);\n }\n if (data.length === 1) {\n return of(data[0]);\n }\n const ctx = {\n interpolate: (v) => v\n };\n return of(data).pipe(\n standardTransformers.mergeTransformer.operator({}, ctx),\n map((d) => d[0])\n );\n })\n );\n}\nconst annotationEventNames = [\n {\n key: \"time\",\n field: (frame) => frame.fields.find((f) => f.type === FieldType.time),\n placeholder: \"time, or the first time field\"\n },\n { key: \"timeEnd\", help: \"When this field is defined, the annotation will be treated as a range\" },\n {\n key: \"title\"\n },\n {\n key: \"text\",\n field: (frame) => frame.fields.find((f) => f.type === FieldType.string),\n placeholder: \"text, or the first text field\"\n },\n { key: \"tags\", split: \",\", help: \"The results will be split on comma (,)\" },\n {\n key: \"id\"\n }\n];\nconst publicDashboardEventNames = [\n {\n key: \"color\"\n },\n {\n key: \"isRegion\"\n },\n {\n key: \"source\"\n }\n];\nconst alertEventAndAnnotationFields = [\n ...config.isPublicDashboardView ? publicDashboardEventNames : [],\n ...annotationEventNames,\n { key: \"userId\" },\n { key: \"login\" },\n { key: \"email\" },\n { key: \"prevState\" },\n { key: \"newState\" },\n { key: \"data\" },\n { key: \"panelId\" },\n { key: \"alertId\" },\n { key: \"dashboardId\" },\n { key: \"dashboardUID\" }\n];\nfunction getAnnotationsFromData(data, options) {\n return of(data).pipe(\n singleFrameFromPanelData(),\n map((frame) => {\n if (!(frame == null ? void 0 : frame.length)) {\n return [];\n }\n let hasTime = false;\n let hasText = false;\n const byName = {};\n for (const f of frame.fields) {\n const name = getFieldDisplayName(f, frame);\n byName[name.toLowerCase()] = f;\n }\n if (!options) {\n options = {};\n }\n const fields = [];\n for (const evts of alertEventAndAnnotationFields) {\n const opt = options[evts.key] || {};\n if (opt.source === AnnotationEventFieldSource.Skip) {\n continue;\n }\n const setter = { key: evts.key, split: evts.split };\n if (opt.source === AnnotationEventFieldSource.Text) {\n setter.text = opt.value;\n } else {\n const lower = (opt.value || evts.key).toLowerCase();\n setter.field = byName[lower];\n if (!setter.field && evts.field) {\n setter.field = evts.field(frame);\n }\n }\n if (setter.field || setter.text) {\n fields.push(setter);\n if (setter.key === \"time\") {\n hasTime = true;\n } else if (setter.key === \"text\") {\n hasText = true;\n }\n }\n }\n if (!hasTime || !hasText) {\n console.error(\"Cannot process annotation fields. No time or text present.\");\n return [];\n }\n const events = [];\n for (let i = 0; i < frame.length; i++) {\n const anno = {\n type: \"default\",\n color: \"red\"\n };\n for (const f of fields) {\n let v = void 0;\n if (f.text) {\n v = f.text;\n } else if (f.field) {\n v = f.field.values.get(i);\n if (v !== void 0 && f.regex) {\n const match = f.regex.exec(v);\n if (match) {\n v = match[1] ? match[1] : match[0];\n }\n }\n }\n if (v !== null && v !== void 0) {\n if (f.split && typeof v === \"string\") {\n v = v.split(\",\");\n }\n anno[f.key] = v;\n }\n }\n events.push(anno);\n }\n return events;\n })\n );\n}\nconst legacyRunner = [\n \"prometheus\",\n \"loki\",\n \"elasticsearch\",\n \"grafana-opensearch-datasource\"\n];\nfunction shouldUseLegacyRunner(datasource) {\n const { type } = datasource;\n return !datasource.annotations || legacyRunner.includes(type);\n}\n\nexport { annotationEventNames, getAnnotationsFromData, publicDashboardEventNames, shouldUseLegacyRunner, singleFrameFromPanelData, standardAnnotationSupport };\n//# sourceMappingURL=standardAnnotationsSupport.js.map\n","function writeSceneLog(logger, message, ...rest) {\n if (window.grafanaSceneLogging) {\n console.log(`${logger}: `, message, ...rest);\n }\n}\n\nexport { writeSceneLog };\n//# sourceMappingURL=writeSceneLog.js.map\n","import { from, of } from 'rxjs';\nimport { map, mergeMap } from 'rxjs/operators';\nimport { rangeUtil, CoreApp, DataTopic } from '@grafana/data';\nimport { getRunRequest } from '@grafana/runtime';\nimport { shouldUseLegacyRunner, standardAnnotationSupport } from './standardAnnotationsSupport.js';\nimport { LoadingState } from '@grafana/schema';\nimport { getEnrichedDataRequest } from '../../getEnrichedDataRequest.js';\n\nvar __defProp = Object.defineProperty;\nvar __defProps = Object.defineProperties;\nvar __getOwnPropDescs = Object.getOwnPropertyDescriptors;\nvar __getOwnPropSymbols = Object.getOwnPropertySymbols;\nvar __hasOwnProp = Object.prototype.hasOwnProperty;\nvar __propIsEnum = Object.prototype.propertyIsEnumerable;\nvar __defNormalProp = (obj, key, value) => key in obj ? __defProp(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;\nvar __spreadValues = (a, b) => {\n for (var prop in b || (b = {}))\n if (__hasOwnProp.call(b, prop))\n __defNormalProp(a, prop, b[prop]);\n if (__getOwnPropSymbols)\n for (var prop of __getOwnPropSymbols(b)) {\n if (__propIsEnum.call(b, prop))\n __defNormalProp(a, prop, b[prop]);\n }\n return a;\n};\nvar __spreadProps = (a, b) => __defProps(a, __getOwnPropDescs(b));\nlet counter = 100;\nfunction getNextRequestId() {\n return \"AQ\" + counter++;\n}\nfunction executeAnnotationQuery(datasource, timeRange, query, layer) {\n var _a;\n if (datasource.annotationQuery && shouldUseLegacyRunner(datasource)) {\n console.warn(\"Using deprecated annotationQuery method, please upgrade your datasource\");\n return from(\n datasource.annotationQuery({\n range: timeRange.state.value,\n rangeRaw: timeRange.state.value.raw,\n annotation: query,\n dashboard: {}\n })\n ).pipe(\n map((events) => ({\n state: LoadingState.Done,\n events\n }))\n );\n }\n const processor = __spreadValues(__spreadValues({}, standardAnnotationSupport), datasource.annotations);\n const annotationWithDefaults = __spreadValues(__spreadValues({}, (_a = processor.getDefaultQuery) == null ? void 0 : _a.call(processor)), query);\n const annotation = processor.prepareAnnotation(annotationWithDefaults);\n if (!annotation) {\n return of({\n state: LoadingState.Done,\n events: []\n });\n }\n const processedQuery = processor.prepareQuery(annotation);\n if (!processedQuery) {\n return of({\n state: LoadingState.Done,\n events: []\n });\n }\n const maxDataPoints = window.innerWidth || document.documentElement.clientWidth || document.body.clientWidth;\n const interval = rangeUtil.calculateInterval(timeRange.state.value, maxDataPoints, datasource.interval);\n const scopedVars = {\n __interval: { text: interval.interval, value: interval.interval },\n __interval_ms: { text: interval.intervalMs.toString(), value: interval.intervalMs },\n __annotation: { text: annotation.name, value: annotation },\n __sceneObject: { text: \"__sceneObject\", value: layer }\n };\n const queryRequest = __spreadValues(__spreadProps(__spreadValues({\n startTime: Date.now(),\n requestId: getNextRequestId(),\n range: timeRange.state.value,\n maxDataPoints,\n scopedVars\n }, interval), {\n app: CoreApp.Dashboard,\n timezone: timeRange.getTimeZone(),\n targets: [\n __spreadProps(__spreadValues({}, processedQuery), {\n refId: \"Anno\"\n })\n ]\n }), getEnrichedDataRequest(layer));\n const runRequest = getRunRequest();\n return runRequest(datasource, queryRequest).pipe(\n mergeMap((panelData) => {\n const data = (panelData == null ? void 0 : panelData.series.length) ? panelData.series : panelData.annotations;\n if (!(data == null ? void 0 : data.length)) {\n return of({\n state: panelData.state,\n events: []\n });\n }\n data.forEach((frame) => {\n var _a2;\n if (!((_a2 = frame.meta) == null ? void 0 : _a2.dataTopic)) {\n frame.meta = __spreadProps(__spreadValues({}, frame.meta || {}), { dataTopic: DataTopic.Annotations });\n }\n });\n return processor.processEvents(annotation, data).pipe(\n map((events) => {\n return {\n state: panelData.state,\n events: events || []\n };\n })\n );\n })\n );\n}\n\nexport { executeAnnotationQuery };\n//# sourceMappingURL=standardAnnotationQuery.js.map\n","import { config } from '@grafana/runtime';\nimport { cloneDeep, partition, groupBy, map, every, find, head, concat } from 'lodash';\n\nvar __defProp = Object.defineProperty;\nvar __getOwnPropSymbols = Object.getOwnPropertySymbols;\nvar __hasOwnProp = Object.prototype.hasOwnProperty;\nvar __propIsEnum = Object.prototype.propertyIsEnumerable;\nvar __defNormalProp = (obj, key, value) => key in obj ? __defProp(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;\nvar __spreadValues = (a, b) => {\n for (var prop in b || (b = {}))\n if (__hasOwnProp.call(b, prop))\n __defNormalProp(a, prop, b[prop]);\n if (__getOwnPropSymbols)\n for (var prop of __getOwnPropSymbols(b)) {\n if (__propIsEnum.call(b, prop))\n __defNormalProp(a, prop, b[prop]);\n }\n return a;\n};\nfunction postProcessQueryResult(annotation, results) {\n if (annotation.snapshotData) {\n annotation = cloneDeep(annotation);\n delete annotation.snapshotData;\n }\n const processed = results.map((item) => {\n var _a;\n const processedItem = __spreadValues({}, item);\n processedItem.source = annotation;\n processedItem.color = config.theme2.visualization.getColorByName(annotation.iconColor);\n processedItem.type = annotation.name;\n processedItem.isRegion = Boolean(processedItem.timeEnd && processedItem.time !== processedItem.timeEnd);\n switch ((_a = processedItem.newState) == null ? void 0 : _a.toLowerCase()) {\n case \"pending\":\n processedItem.color = \"yellow\";\n break;\n case \"alerting\":\n processedItem.color = \"red\";\n break;\n case \"ok\":\n processedItem.color = \"green\";\n break;\n case \"normal\":\n processedItem.color = \"green\";\n break;\n case \"no_data\":\n processedItem.color = \"gray\";\n break;\n case \"nodata\":\n processedItem.color = \"gray\";\n break;\n }\n return processedItem;\n });\n return processed;\n}\nfunction dedupAnnotations(annotations) {\n let dedup = [];\n const events = partition(annotations, \"id\");\n const eventsById = groupBy(events[0], \"id\");\n dedup = map(eventsById, (eventGroup) => {\n if (eventGroup.length > 1 && !every(eventGroup, isPanelAlert)) {\n return find(eventGroup, (event) => {\n return event.eventType !== \"panel-alert\";\n });\n } else {\n return head(eventGroup);\n }\n });\n dedup = concat(dedup, events[1]);\n return dedup;\n}\nfunction isPanelAlert(event) {\n return event.eventType === \"panel-alert\";\n}\n\nexport { dedupAnnotations, postProcessQueryResult };\n//# sourceMappingURL=utils.js.map\n","import { DataTopic, arrayToDataFrame } from '@grafana/data';\nimport { LoadingState } from '@grafana/schema';\nimport { map } from 'rxjs';\nimport { emptyPanelData } from '../../../core/SceneDataNode.js';\nimport { sceneGraph } from '../../../core/sceneGraph/index.js';\nimport { getDataSource } from '../../../utils/getDataSource.js';\nimport { getMessageFromError } from '../../../utils/getMessageFromError.js';\nimport { writeSceneLog } from '../../../utils/writeSceneLog.js';\nimport { SceneDataLayerBase } from '../SceneDataLayerBase.js';\nimport { executeAnnotationQuery } from './standardAnnotationQuery.js';\nimport { postProcessQueryResult, dedupAnnotations } from './utils.js';\n\nvar __defProp = Object.defineProperty;\nvar __defProps = Object.defineProperties;\nvar __getOwnPropDescs = Object.getOwnPropertyDescriptors;\nvar __getOwnPropSymbols = Object.getOwnPropertySymbols;\nvar __hasOwnProp = Object.prototype.hasOwnProperty;\nvar __propIsEnum = Object.prototype.propertyIsEnumerable;\nvar __defNormalProp = (obj, key, value) => key in obj ? __defProp(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;\nvar __spreadValues = (a, b) => {\n for (var prop in b || (b = {}))\n if (__hasOwnProp.call(b, prop))\n __defNormalProp(a, prop, b[prop]);\n if (__getOwnPropSymbols)\n for (var prop of __getOwnPropSymbols(b)) {\n if (__propIsEnum.call(b, prop))\n __defNormalProp(a, prop, b[prop]);\n }\n return a;\n};\nvar __spreadProps = (a, b) => __defProps(a, __getOwnPropDescs(b));\nclass AnnotationsDataLayer extends SceneDataLayerBase {\n constructor(initialState) {\n super(\n __spreadValues({\n isEnabled: true\n }, initialState),\n [\"query\"]\n );\n this.topic = DataTopic.Annotations;\n }\n onEnable() {\n const timeRange = sceneGraph.getTimeRange(this);\n this._timeRangeSub = timeRange.subscribeToState(() => {\n this.runWithTimeRange(timeRange);\n });\n }\n onDisable() {\n var _a;\n (_a = this._timeRangeSub) == null ? void 0 : _a.unsubscribe();\n }\n runLayer() {\n writeSceneLog(\"AnnotationsDataLayer\", \"run layer\");\n const timeRange = sceneGraph.getTimeRange(this);\n this.runWithTimeRange(timeRange);\n }\n async runWithTimeRange(timeRange) {\n const { query } = this.state;\n if (this.querySub) {\n this.querySub.unsubscribe();\n }\n if (sceneGraph.hasVariableDependencyInLoadingState(this)) {\n writeSceneLog(\"AnnotationsDataLayer\", \"Variable dependency is in loading state, skipping query execution\");\n this.setState({ _isWaitingForVariables: true });\n return;\n }\n try {\n const ds = await this.resolveDataSource(query);\n const queryExecution = executeAnnotationQuery(ds, timeRange, query, this).pipe(\n map((events) => {\n const stateUpdate = this.processEvents(query, events);\n return stateUpdate;\n })\n );\n this.querySub = queryExecution.subscribe((stateUpdate) => {\n this.publishResults(stateUpdate, DataTopic.Annotations);\n });\n } catch (e) {\n this.publishResults(\n __spreadProps(__spreadValues({}, emptyPanelData), {\n state: LoadingState.Error,\n errors: [\n {\n message: getMessageFromError(e)\n }\n ]\n }),\n DataTopic.Annotations\n );\n console.error(\"AnnotationsDataLayer error\", e);\n }\n }\n async resolveDataSource(query) {\n return await getDataSource(query.datasource || void 0, {});\n }\n processEvents(query, events) {\n let processedEvents = postProcessQueryResult(query, events.events || []);\n processedEvents = dedupAnnotations(processedEvents);\n const stateUpdate = __spreadProps(__spreadValues({}, emptyPanelData), { state: events.state });\n const df = arrayToDataFrame(processedEvents);\n df.meta = __spreadProps(__spreadValues({}, df.meta), {\n dataTopic: DataTopic.Annotations\n });\n stateUpdate.annotations = [df];\n return stateUpdate;\n }\n}\n\nexport { AnnotationsDataLayer };\n//# sourceMappingURL=AnnotationsDataLayer.js.map\n","import { SceneTimeRangeTransformerBase } from './SceneTimeRangeTransformerBase.js';\nimport { getDefaultTimeRange } from '@grafana/data';\nimport { evaluateTimeRange } from '../utils/evaluateTimeRange.js';\n\nvar __defProp = Object.defineProperty;\nvar __defProps = Object.defineProperties;\nvar __getOwnPropDescs = Object.getOwnPropertyDescriptors;\nvar __getOwnPropSymbols = Object.getOwnPropertySymbols;\nvar __hasOwnProp = Object.prototype.hasOwnProperty;\nvar __propIsEnum = Object.prototype.propertyIsEnumerable;\nvar __defNormalProp = (obj, key, value) => key in obj ? __defProp(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;\nvar __spreadValues = (a, b) => {\n for (var prop in b || (b = {}))\n if (__hasOwnProp.call(b, prop))\n __defNormalProp(a, prop, b[prop]);\n if (__getOwnPropSymbols)\n for (var prop of __getOwnPropSymbols(b)) {\n if (__propIsEnum.call(b, prop))\n __defNormalProp(a, prop, b[prop]);\n }\n return a;\n};\nvar __spreadProps = (a, b) => __defProps(a, __getOwnPropDescs(b));\nclass SceneTimeZoneOverride extends SceneTimeRangeTransformerBase {\n constructor(state) {\n super(__spreadProps(__spreadValues({}, state), {\n timeZone: state.timeZone,\n from: \"now-6h\",\n to: \"now\",\n value: getDefaultTimeRange()\n }));\n }\n ancestorTimeRangeChanged(timeRange) {\n this.setState(__spreadProps(__spreadValues({}, timeRange), {\n timeZone: this.state.timeZone,\n value: evaluateTimeRange(\n timeRange.from,\n timeRange.to,\n this.state.timeZone,\n timeRange.fiscalYearStartMonth,\n timeRange.UNSAFE_nowDelay\n )\n }));\n }\n getTimeZone() {\n return this.state.timeZone;\n }\n onTimeZoneChange(timeZone) {\n this.setState({\n timeZone,\n value: evaluateTimeRange(\n this.state.from,\n this.state.to,\n this.state.timeZone,\n this.getAncestorTimeRange().state.fiscalYearStartMonth,\n this.state.UNSAFE_nowDelay\n )\n });\n }\n}\n\nexport { SceneTimeZoneOverride };\n//# sourceMappingURL=SceneTimeZoneOverride.js.map\n","import { rangeUtil, dateTime } from '@grafana/data';\nimport { useStyles2, ButtonGroup, ToolbarButton, Checkbox, ButtonSelect } from '@grafana/ui';\nimport React from 'react';\nimport { sceneGraph } from '../core/sceneGraph/index.js';\nimport { SceneObjectBase } from '../core/SceneObjectBase.js';\nimport { SceneObjectUrlSyncConfig } from '../services/SceneObjectUrlSyncConfig.js';\nimport { parseUrlParam } from '../utils/parseUrlParam.js';\nimport { css } from '@emotion/css';\n\nvar __defProp = Object.defineProperty;\nvar __getOwnPropSymbols = Object.getOwnPropertySymbols;\nvar __hasOwnProp = Object.prototype.hasOwnProperty;\nvar __propIsEnum = Object.prototype.propertyIsEnumerable;\nvar __defNormalProp = (obj, key, value) => key in obj ? __defProp(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;\nvar __spreadValues = (a, b) => {\n for (var prop in b || (b = {}))\n if (__hasOwnProp.call(b, prop))\n __defNormalProp(a, prop, b[prop]);\n if (__getOwnPropSymbols)\n for (var prop of __getOwnPropSymbols(b)) {\n if (__propIsEnum.call(b, prop))\n __defNormalProp(a, prop, b[prop]);\n }\n return a;\n};\nconst PREVIOUS_PERIOD_VALUE = \"__previousPeriod\";\nconst NO_PERIOD_VALUE = \"__noPeriod\";\nconst PREVIOUS_PERIOD_COMPARE_OPTION = {\n label: \"Previous period\",\n value: PREVIOUS_PERIOD_VALUE\n};\nconst NO_COMPARE_OPTION = {\n label: \"No comparison\",\n value: NO_PERIOD_VALUE\n};\nconst DEFAULT_COMPARE_OPTIONS = [\n { label: \"Day before\", value: \"24h\" },\n { label: \"Week before\", value: \"1w\" },\n { label: \"Month before\", value: \"1M\" }\n];\nclass SceneTimeRangeCompare extends SceneObjectBase {\n constructor(state) {\n super(__spreadValues({ compareOptions: DEFAULT_COMPARE_OPTIONS }, state));\n this._urlSync = new SceneObjectUrlSyncConfig(this, { keys: [\"compareWith\"] });\n this._onActivate = () => {\n const sceneTimeRange = sceneGraph.getTimeRange(this);\n this.setState({ compareOptions: this.getCompareOptions(sceneTimeRange.state.value) });\n this._subs.add(\n sceneTimeRange.subscribeToState((timeRange) => {\n const compareOptions = this.getCompareOptions(timeRange.value);\n const stateUpdate = { compareOptions };\n if (Boolean(this.state.compareWith) && !compareOptions.find(({ value }) => value === this.state.compareWith)) {\n stateUpdate.compareWith = PREVIOUS_PERIOD_VALUE;\n }\n this.setState(stateUpdate);\n })\n );\n };\n this.getCompareOptions = (timeRange) => {\n const diffDays = Math.ceil(timeRange.to.diff(timeRange.from));\n const matchIndex = DEFAULT_COMPARE_OPTIONS.findIndex(({ value }) => {\n const intervalInMs = rangeUtil.intervalToMs(value);\n return intervalInMs >= diffDays;\n });\n return [\n NO_COMPARE_OPTION,\n PREVIOUS_PERIOD_COMPARE_OPTION,\n ...DEFAULT_COMPARE_OPTIONS.slice(matchIndex).map(({ label, value }) => ({ label, value }))\n ];\n };\n this.onCompareWithChanged = (compareWith) => {\n if (compareWith === NO_PERIOD_VALUE) {\n this.onClearCompare();\n } else {\n this.setState({ compareWith });\n }\n };\n this.onClearCompare = () => {\n this.setState({ compareWith: void 0 });\n };\n this.addActivationHandler(this._onActivate);\n }\n getCompareTimeRange(timeRange) {\n let compareFrom;\n let compareTo;\n if (this.state.compareWith) {\n if (this.state.compareWith === PREVIOUS_PERIOD_VALUE) {\n const diffMs = timeRange.to.diff(timeRange.from);\n compareFrom = dateTime(timeRange.from).subtract(diffMs);\n compareTo = dateTime(timeRange.to).subtract(diffMs);\n } else {\n compareFrom = dateTime(timeRange.from).subtract(rangeUtil.intervalToMs(this.state.compareWith));\n compareTo = dateTime(timeRange.to).subtract(rangeUtil.intervalToMs(this.state.compareWith));\n }\n return {\n from: compareFrom,\n to: compareTo,\n raw: {\n from: compareFrom,\n to: compareTo\n }\n };\n }\n return void 0;\n }\n getUrlState() {\n return {\n compareWith: this.state.compareWith\n };\n }\n updateFromUrl(values) {\n if (!values.compareWith) {\n return;\n }\n const compareWith = parseUrlParam(values.compareWith);\n if (compareWith) {\n const compareOptions = this.getCompareOptions(sceneGraph.getTimeRange(this).state.value);\n if (compareOptions.find(({ value }) => value === compareWith)) {\n this.setState({\n compareWith\n });\n } else {\n this.setState({\n compareWith: \"__previousPeriod\"\n });\n }\n }\n }\n}\nSceneTimeRangeCompare.Component = SceneTimeRangeCompareRenderer;\nfunction SceneTimeRangeCompareRenderer({ model }) {\n var _a;\n const styles = useStyles2(getStyles);\n const { compareWith, compareOptions } = model.useState();\n const [previousCompare, setPreviousCompare] = React.useState(compareWith);\n const previousValue = (_a = compareOptions.find(({ value: value2 }) => value2 === previousCompare)) != null ? _a : PREVIOUS_PERIOD_COMPARE_OPTION;\n const value = compareOptions.find(({ value: value2 }) => value2 === compareWith);\n const enabled = Boolean(value);\n const onClick = () => {\n if (enabled) {\n setPreviousCompare(compareWith);\n model.onClearCompare();\n } else if (!enabled) {\n model.onCompareWithChanged(previousValue.value);\n }\n };\n return /* @__PURE__ */ React.createElement(ButtonGroup, null, /* @__PURE__ */ React.createElement(ToolbarButton, {\n variant: \"canvas\",\n tooltip: \"Enable time frame comparison\",\n onClick: (e) => {\n e.stopPropagation();\n e.preventDefault();\n onClick();\n }\n }, /* @__PURE__ */ React.createElement(Checkbox, {\n label: \" \",\n value: enabled,\n onClick\n }), \"Comparison\"), enabled ? /* @__PURE__ */ React.createElement(ButtonSelect, {\n variant: \"canvas\",\n value,\n options: compareOptions,\n onChange: (v) => {\n model.onCompareWithChanged(v.value);\n }\n }) : /* @__PURE__ */ React.createElement(ToolbarButton, {\n className: styles.previewButton,\n disabled: true,\n variant: \"canvas\",\n isOpen: false\n }, previousValue.label));\n}\nfunction getStyles(theme) {\n return {\n previewButton: css({\n \"&:disabled\": {\n border: `1px solid ${theme.colors.secondary.border}`,\n color: theme.colors.text.disabled,\n opacity: 1\n }\n })\n };\n}\n\nexport { DEFAULT_COMPARE_OPTIONS, NO_COMPARE_OPTION, PREVIOUS_PERIOD_COMPARE_OPTION, SceneTimeRangeCompare };\n//# sourceMappingURL=SceneTimeRangeCompare.js.map\n","const getCompareSeriesRefId = (refId) => `${refId}-compare`;\n\nexport { getCompareSeriesRefId };\n//# sourceMappingURL=getCompareSeriesRefId.js.map\n","import { FieldType } from '@grafana/data';\nimport { config } from '@grafana/runtime';\nimport { map } from 'rxjs';\nimport { getCompareSeriesRefId } from '../utils/getCompareSeriesRefId.js';\n\nvar __defProp = Object.defineProperty;\nvar __defProps = Object.defineProperties;\nvar __getOwnPropDescs = Object.getOwnPropertyDescriptors;\nvar __getOwnPropSymbols = Object.getOwnPropertySymbols;\nvar __hasOwnProp = Object.prototype.hasOwnProperty;\nvar __propIsEnum = Object.prototype.propertyIsEnumerable;\nvar __defNormalProp = (obj, key, value) => key in obj ? __defProp(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;\nvar __spreadValues = (a, b) => {\n for (var prop in b || (b = {}))\n if (__hasOwnProp.call(b, prop))\n __defNormalProp(a, prop, b[prop]);\n if (__getOwnPropSymbols)\n for (var prop of __getOwnPropSymbols(b)) {\n if (__propIsEnum.call(b, prop))\n __defNormalProp(a, prop, b[prop]);\n }\n return a;\n};\nvar __spreadProps = (a, b) => __defProps(a, __getOwnPropDescs(b));\nfunction timeShiftQueryResponseOperator(data) {\n return data.pipe(\n map(([p, s]) => {\n const diff = s.timeRange.from.diff(p.timeRange.from);\n s.series.forEach((series) => {\n series.refId = getCompareSeriesRefId(series.refId || \"\");\n series.meta = __spreadProps(__spreadValues({}, series.meta), {\n timeCompare: {\n diffMs: diff,\n isTimeShiftQuery: true\n }\n });\n series.fields.forEach((field) => {\n if (field.type === FieldType.time) {\n field.values = field.values.map((v) => {\n return diff < 0 ? v - diff : v + diff;\n });\n }\n field.config = __spreadProps(__spreadValues({}, field.config), {\n color: {\n mode: \"fixed\",\n fixedColor: config.theme.palette.gray60\n }\n });\n return field;\n });\n });\n return __spreadProps(__spreadValues({}, p), {\n series: [...p.series, ...s.series]\n });\n })\n );\n}\n\nexport { timeShiftQueryResponseOperator };\n//# sourceMappingURL=timeShiftQueryResponseOperator.js.map\n","var __defProp = Object.defineProperty;\nvar __defProps = Object.defineProperties;\nvar __getOwnPropDescs = Object.getOwnPropertyDescriptors;\nvar __getOwnPropSymbols = Object.getOwnPropertySymbols;\nvar __hasOwnProp = Object.prototype.hasOwnProperty;\nvar __propIsEnum = Object.prototype.propertyIsEnumerable;\nvar __defNormalProp = (obj, key, value) => key in obj ? __defProp(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;\nvar __spreadValues = (a, b) => {\n for (var prop in b || (b = {}))\n if (__hasOwnProp.call(b, prop))\n __defNormalProp(a, prop, b[prop]);\n if (__getOwnPropSymbols)\n for (var prop of __getOwnPropSymbols(b)) {\n if (__propIsEnum.call(b, prop))\n __defNormalProp(a, prop, b[prop]);\n }\n return a;\n};\nvar __spreadProps = (a, b) => __defProps(a, __getOwnPropDescs(b));\nfunction filterAnnotations(data, filters) {\n var _a;\n if (!Array.isArray(data) || data.length === 0) {\n return data;\n }\n const rows = Array.from({ length: data.length }, () => /* @__PURE__ */ new Set());\n let frameIdx = 0;\n for (const frame of data) {\n for (let index = 0; index < frame.length; index++) {\n if (rows[frameIdx].has(index)) {\n continue;\n }\n let matching = true;\n const panelIdField = frame.fields.find((f) => f.name === \"panelId\");\n const sourceField = frame.fields.find((f) => f.name === \"source\");\n if (sourceField) {\n if (panelIdField && sourceField.values[index].type === \"dashboard\") {\n matching = panelIdField.values[index] === filters.panelId;\n }\n const sourceFilter = sourceField.values[index].filter;\n if (sourceFilter) {\n const includes = ((_a = sourceFilter.ids) != null ? _a : []).includes(filters.panelId);\n if (sourceFilter.exclude) {\n if (includes) {\n matching = false;\n }\n } else if (!includes) {\n matching = false;\n }\n }\n }\n if (matching) {\n rows[frameIdx].add(index);\n }\n }\n frameIdx++;\n }\n const processed = [];\n frameIdx = 0;\n for (const frame of data) {\n const frameLength = rows[frameIdx].size;\n const fields = [];\n for (const field of frame.fields) {\n const buffer = [];\n for (let index = 0; index < frame.length; index++) {\n if (rows[frameIdx].has(index)) {\n buffer.push(field.values[index]);\n continue;\n }\n }\n fields.push(__spreadProps(__spreadValues({}, field), {\n values: buffer\n }));\n }\n processed.push(__spreadProps(__spreadValues({}, frame), {\n fields,\n length: frameLength\n }));\n frameIdx++;\n }\n return processed;\n}\n\nexport { filterAnnotations };\n//# sourceMappingURL=filterAnnotations.js.map\n","function isSceneObject(obj) {\n return obj.useState !== void 0;\n}\nfunction isDataRequestEnricher(obj) {\n return \"enrichDataRequest\" in obj;\n}\n\nexport { isDataRequestEnricher, isSceneObject };\n//# sourceMappingURL=types.js.map\n","import { getTemplateSrv, getDataSourceSrv } from '@grafana/runtime';\n\nlet originalGetAdhocFilters = void 0;\nlet allActiveFilterSets = /* @__PURE__ */ new Set();\nfunction patchGetAdhocFilters(filterSet) {\n filterSet.addActivationHandler(() => {\n allActiveFilterSets.add(filterSet);\n return () => allActiveFilterSets.delete(filterSet);\n });\n if (originalGetAdhocFilters) {\n return;\n }\n const templateSrv = getTemplateSrv();\n if (!(templateSrv == null ? void 0 : templateSrv.getAdhocFilters)) {\n console.log(\"Failed to patch getAdhocFilters\");\n return;\n }\n originalGetAdhocFilters = templateSrv.getAdhocFilters;\n templateSrv.getAdhocFilters = function getAdhocFiltersScenePatch(dsName) {\n var _a;\n if (allActiveFilterSets.size === 0) {\n return originalGetAdhocFilters.call(templateSrv);\n }\n const ds = getDataSourceSrv().getInstanceSettings(dsName);\n if (!ds) {\n return [];\n }\n for (const filter of allActiveFilterSets.values()) {\n if (((_a = filter.state.datasource) == null ? void 0 : _a.uid) === ds.uid) {\n return filter.state.filters;\n }\n }\n return [];\n }.bind(templateSrv);\n}\nfunction findActiveAdHocFilterSetByUid(dsUid) {\n var _a;\n for (const filter of allActiveFilterSets.values()) {\n if (((_a = filter.state.datasource) == null ? void 0 : _a.uid) === dsUid) {\n return filter;\n }\n }\n return void 0;\n}\n\nexport { findActiveAdHocFilterSetByUid, patchGetAdhocFilters };\n//# sourceMappingURL=patchGetAdhocFilters.js.map\n","import { cloneDeep } from 'lodash';\nimport { ReplaySubject, merge, mergeAll, map, forkJoin } from 'rxjs';\nimport { LoadingState } from '@grafana/schema';\nimport { rangeUtil, preProcessPanelData, DataTopic, DataFrameView } from '@grafana/data';\nimport { getRunRequest, toDataQueryError } from '@grafana/runtime';\nimport { SceneObjectBase } from '../core/SceneObjectBase.js';\nimport { sceneGraph } from '../core/sceneGraph/index.js';\nimport { getDataSource } from '../utils/getDataSource.js';\nimport { VariableDependencyConfig } from '../variables/VariableDependencyConfig.js';\nimport { writeSceneLog } from '../utils/writeSceneLog.js';\nimport { VariableValueRecorder } from '../variables/VariableValueRecorder.js';\nimport { emptyPanelData } from '../core/SceneDataNode.js';\nimport { SceneTimeRangeCompare } from '../components/SceneTimeRangeCompare.js';\nimport { getClosest } from '../core/sceneGraph/utils.js';\nimport { timeShiftQueryResponseOperator } from './timeShiftQueryResponseOperator.js';\nimport { filterAnnotations } from './layers/annotations/filterAnnotations.js';\nimport { getEnrichedDataRequest } from './getEnrichedDataRequest.js';\nimport { findActiveAdHocFilterSetByUid } from '../variables/adhoc/patchGetAdhocFilters.js';\n\nvar __defProp = Object.defineProperty;\nvar __defProps = Object.defineProperties;\nvar __getOwnPropDescs = Object.getOwnPropertyDescriptors;\nvar __getOwnPropSymbols = Object.getOwnPropertySymbols;\nvar __hasOwnProp = Object.prototype.hasOwnProperty;\nvar __propIsEnum = Object.prototype.propertyIsEnumerable;\nvar __defNormalProp = (obj, key, value) => key in obj ? __defProp(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;\nvar __spreadValues = (a, b) => {\n for (var prop in b || (b = {}))\n if (__hasOwnProp.call(b, prop))\n __defNormalProp(a, prop, b[prop]);\n if (__getOwnPropSymbols)\n for (var prop of __getOwnPropSymbols(b)) {\n if (__propIsEnum.call(b, prop))\n __defNormalProp(a, prop, b[prop]);\n }\n return a;\n};\nvar __spreadProps = (a, b) => __defProps(a, __getOwnPropDescs(b));\nlet counter = 100;\nfunction getNextRequestId() {\n return \"SQR\" + counter++;\n}\nclass SceneQueryRunner extends SceneObjectBase {\n constructor(initialState) {\n super(initialState);\n this._variableValueRecorder = new VariableValueRecorder();\n this._results = new ReplaySubject();\n this._scopedVars = { __sceneObject: { value: this, text: \"__sceneObject\" } };\n this._variableDependency = new VariableDependencyConfig(this, {\n statePaths: [\"queries\", \"datasource\"],\n onVariableUpdatesCompleted: (variables, dependencyChanged) => this.onVariableUpdatesCompleted(variables, dependencyChanged)\n });\n this.prepareRequests = (timeRange, ds) => {\n const comparer = this.getTimeCompare();\n const { minInterval, queries } = this.state;\n let secondaryRequest;\n let request = __spreadValues({\n app: \"scenes\",\n requestId: getNextRequestId(),\n timezone: timeRange.getTimeZone(),\n panelId: 1,\n range: timeRange.state.value,\n interval: \"1s\",\n intervalMs: 1e3,\n targets: cloneDeep(queries),\n maxDataPoints: this.getMaxDataPoints(),\n scopedVars: this._scopedVars,\n startTime: Date.now(),\n liveStreaming: this.state.liveStreaming,\n rangeRaw: {\n from: timeRange.state.from,\n to: timeRange.state.to\n }\n }, getEnrichedDataRequest(this));\n if (this._adhocFilterSet) {\n request.filters = this._adhocFilterSet.state.filters;\n }\n request.targets = request.targets.map((query) => {\n if (!query.datasource) {\n query.datasource = ds.getRef();\n }\n return query;\n });\n const lowerIntervalLimit = minInterval ? minInterval : ds.interval;\n const norm = rangeUtil.calculateInterval(timeRange.state.value, request.maxDataPoints, lowerIntervalLimit);\n request.scopedVars = Object.assign({}, request.scopedVars, {\n __interval: { text: norm.interval, value: norm.interval },\n __interval_ms: { text: norm.intervalMs.toString(), value: norm.intervalMs }\n });\n request.interval = norm.interval;\n request.intervalMs = norm.intervalMs;\n const primaryTimeRange = timeRange.state.value;\n if (comparer) {\n const secondaryTimeRange = comparer.getCompareTimeRange(primaryTimeRange);\n if (secondaryTimeRange) {\n secondaryRequest = __spreadProps(__spreadValues({}, request), {\n range: secondaryTimeRange,\n requestId: getNextRequestId()\n });\n request = __spreadProps(__spreadValues({}, request), {\n range: primaryTimeRange\n });\n }\n }\n return [request, secondaryRequest];\n };\n this.onDataReceived = (data) => {\n this._results.next({ origin: this, data });\n const preProcessedData = preProcessPanelData(data, this.state.data);\n const dataWithLayersApplied = this._combineDataLayers(preProcessedData);\n let hasFetchedData = this.state._hasFetchedData;\n if (!hasFetchedData && preProcessedData.state !== LoadingState.Loading) {\n hasFetchedData = true;\n }\n this._resultAnnotations = data.annotations;\n this.setState({\n data: dataWithLayersApplied,\n _hasFetchedData: hasFetchedData\n });\n };\n this.addActivationHandler(() => this._onActivate());\n }\n getResultsStream() {\n return this._results;\n }\n _onActivate() {\n const timeRange = sceneGraph.getTimeRange(this);\n const comparer = this.getTimeCompare();\n if (comparer) {\n this._subs.add(\n comparer.subscribeToState((n, p) => {\n if (n.compareWith !== p.compareWith) {\n this.runQueries();\n }\n })\n );\n }\n this._subs.add(\n timeRange.subscribeToState(() => {\n this.runWithTimeRange(timeRange);\n })\n );\n if (this.shouldRunQueriesOnActivate()) {\n this.runQueries();\n }\n return () => this._onDeactivate();\n }\n _handleDataLayers() {\n const dataLayers = sceneGraph.getDataLayers(this);\n const observables = [];\n const resultsMap = /* @__PURE__ */ new Map();\n if (dataLayers.length > 0) {\n dataLayers.forEach((layer) => {\n observables.push(layer.getResultsStream());\n });\n this._dataLayersSub = merge(observables).pipe(\n mergeAll(),\n map((v) => {\n resultsMap.set(v.origin.state.key, v.data);\n return resultsMap;\n })\n ).subscribe((result) => {\n this._onLayersReceived(result);\n });\n }\n }\n _onLayersReceived(results) {\n var _a, _b;\n const timeRange = sceneGraph.getTimeRange(this);\n const dataLayers = sceneGraph.getDataLayers(this);\n const { dataLayerFilter } = this.state;\n let annotations = [];\n let alertStates = [];\n let alertState;\n const layerKeys = Array.from(results.keys());\n Array.from(results.values()).forEach((result, i) => {\n const layerKey = layerKeys[i];\n const layer = dataLayers.find((l) => l.state.key === layerKey);\n if (layer) {\n if (layer.topic === DataTopic.Annotations && result[DataTopic.Annotations]) {\n annotations = annotations.concat(result[DataTopic.Annotations]);\n }\n if (layer.topic === \"alertStates\") {\n alertStates = alertStates.concat(result.series);\n }\n }\n });\n if (dataLayerFilter == null ? void 0 : dataLayerFilter.panelId) {\n if (annotations.length > 0) {\n annotations = filterAnnotations(annotations, dataLayerFilter);\n }\n if (alertStates.length > 0) {\n for (const frame of alertStates) {\n const frameView = new DataFrameView(frame);\n for (const row of frameView) {\n if (row.panelId === dataLayerFilter.panelId) {\n alertState = row;\n break;\n }\n }\n }\n }\n }\n const baseStateUpdate = this.state.data ? this.state.data : __spreadProps(__spreadValues({}, emptyPanelData), { timeRange: timeRange.state.value });\n this._layerAnnotations = annotations;\n this.setState({\n data: __spreadProps(__spreadValues({}, baseStateUpdate), {\n annotations: [...(_a = this._resultAnnotations) != null ? _a : [], ...annotations],\n alertState: alertState != null ? alertState : (_b = this.state.data) == null ? void 0 : _b.alertState\n })\n });\n }\n onVariableUpdatesCompleted(_variablesThatHaveChanged, dependencyChanged) {\n if (!this.state.maxDataPoints && this.state.maxDataPointsFromWidth && !this._containerWidth) {\n return;\n }\n if (this.state._isWaitingForVariables) {\n this.runQueries();\n return;\n }\n if (dependencyChanged) {\n this.runQueries();\n }\n }\n shouldRunQueriesOnActivate() {\n if (!this.state.maxDataPoints && this.state.maxDataPointsFromWidth && !this._containerWidth) {\n return false;\n }\n if (this._variableValueRecorder.hasDependenciesChanged(this)) {\n writeSceneLog(\n \"SceneQueryRunner\",\n \"Variable dependency changed while inactive, shouldRunQueriesOnActivate returns true\"\n );\n return true;\n }\n if (!this.state.data) {\n return true;\n }\n if (this._isDataTimeRangeStale(this.state.data)) {\n return true;\n }\n return false;\n }\n _isDataTimeRangeStale(data) {\n const timeRange = sceneGraph.getTimeRange(this);\n const stateTimeRange = timeRange.state.value;\n const dataTimeRange = data.timeRange;\n if (stateTimeRange.from.unix() === dataTimeRange.from.unix() && stateTimeRange.to.unix() === dataTimeRange.to.unix()) {\n return false;\n }\n writeSceneLog(\"SceneQueryRunner\", \"Data time range is stale\");\n return true;\n }\n _onDeactivate() {\n if (this._querySub) {\n this._querySub.unsubscribe();\n this._querySub = void 0;\n }\n if (this._dataLayersSub) {\n this._dataLayersSub.unsubscribe();\n this._dataLayersSub = void 0;\n }\n if (this._adhocFilterSub) {\n this._adhocFilterSub.unsubscribe();\n }\n this._variableValueRecorder.recordCurrentDependencyValuesForSceneObject(this);\n }\n setContainerWidth(width) {\n if (!this._containerWidth && width > 0) {\n this._containerWidth = width;\n if (this.state.maxDataPointsFromWidth && !this.state.maxDataPoints) {\n setTimeout(() => {\n if (this.isActive && !this.state._hasFetchedData) {\n this.runQueries();\n }\n }, 0);\n }\n } else {\n if (width > 0) {\n this._containerWidth = width;\n }\n }\n }\n isDataReadyToDisplay() {\n return Boolean(this.state._hasFetchedData);\n }\n runQueries() {\n const timeRange = sceneGraph.getTimeRange(this);\n this.runWithTimeRange(timeRange);\n }\n getMaxDataPoints() {\n var _a;\n if (this.state.maxDataPoints) {\n return this.state.maxDataPoints;\n }\n return this.state.maxDataPointsFromWidth ? (_a = this._containerWidth) != null ? _a : 500 : 500;\n }\n cancelQuery() {\n var _a;\n (_a = this._querySub) == null ? void 0 : _a.unsubscribe();\n if (this._dataLayersSub) {\n this._dataLayersSub.unsubscribe();\n this._dataLayersSub = void 0;\n }\n this.setState({\n data: __spreadProps(__spreadValues({}, this.state.data), { state: LoadingState.Done })\n });\n }\n async runWithTimeRange(timeRange) {\n var _a, _b;\n if (!this._dataLayersSub) {\n this._handleDataLayers();\n }\n const runRequest = getRunRequest();\n (_a = this._querySub) == null ? void 0 : _a.unsubscribe();\n if (sceneGraph.hasVariableDependencyInLoadingState(this)) {\n writeSceneLog(\"SceneQueryRunner\", \"Variable dependency is in loading state, skipping query execution\");\n this.setState({ _isWaitingForVariables: true });\n return;\n }\n if (this.state._isWaitingForVariables) {\n this.setState({ _isWaitingForVariables: false });\n }\n const { queries } = this.state;\n if (!(queries == null ? void 0 : queries.length)) {\n this._setNoDataState();\n return;\n }\n try {\n const datasource = (_b = this.state.datasource) != null ? _b : findFirstDatasource(queries);\n const ds = await getDataSource(datasource, this._scopedVars);\n if (!this._adhocFilterSet) {\n this.findAndSubscribeToAdhocFilters(datasource == null ? void 0 : datasource.uid);\n }\n const [request, secondaryRequest] = this.prepareRequests(timeRange, ds);\n writeSceneLog(\"SceneQueryRunner\", \"Starting runRequest\", this.state.key);\n if (secondaryRequest) {\n this._querySub = forkJoin([runRequest(ds, request), runRequest(ds, secondaryRequest)]).pipe(timeShiftQueryResponseOperator).subscribe(this.onDataReceived);\n } else {\n this._querySub = runRequest(ds, request).subscribe(this.onDataReceived);\n }\n } catch (err) {\n console.error(\"PanelQueryRunner Error\", err);\n const result = __spreadProps(__spreadValues(__spreadValues({}, emptyPanelData), this.state.data), {\n state: LoadingState.Error,\n errors: [toDataQueryError(err)]\n });\n this.setState({\n data: result\n });\n }\n }\n _combineDataLayers(data) {\n var _a;\n if (this.state.data && this.state.data.annotations) {\n data.annotations = (data.annotations || []).concat((_a = this._layerAnnotations) != null ? _a : []);\n }\n if (this.state.data && this.state.data.alertState) {\n data.alertState = this.state.data.alertState;\n }\n return data;\n }\n _setNoDataState() {\n if (this.state.data !== emptyPanelData) {\n this.setState({ data: emptyPanelData });\n }\n }\n getTimeCompare() {\n if (!this.parent) {\n return null;\n }\n return getClosest(this.parent, (s) => {\n let found = null;\n if (s instanceof SceneTimeRangeCompare) {\n return s;\n }\n s.forEachChild((child) => {\n if (child instanceof SceneTimeRangeCompare) {\n found = child;\n }\n });\n return found;\n });\n }\n findAndSubscribeToAdhocFilters(uid) {\n var _a;\n const set = findActiveAdHocFilterSetByUid(uid);\n if (!set || set.state.applyMode !== \"same-datasource\") {\n return;\n }\n this._adhocFilterSet = set;\n this._adhocFilterSub = (_a = this._adhocFilterSet) == null ? void 0 : _a.subscribeToState(() => this.runQueries());\n }\n}\nfunction findFirstDatasource(targets) {\n var _a, _b;\n return (_b = (_a = targets.find((t) => t.datasource !== null)) == null ? void 0 : _a.datasource) != null ? _b : void 0;\n}\n\nexport { SceneQueryRunner, findFirstDatasource, getNextRequestId };\n//# sourceMappingURL=SceneQueryRunner.js.map\n","import { isDataRequestEnricher } from '../core/types.js';\n\nfunction getEnrichedDataRequest(sourceRunner) {\n const root = sourceRunner.getRoot();\n if (isDataRequestEnricher(root)) {\n return root.enrichDataRequest(sourceRunner);\n }\n return null;\n}\n\nexport { getEnrichedDataRequest };\n//# sourceMappingURL=getEnrichedDataRequest.js.map\n","const Components = {\n Breadcrumbs: {\n breadcrumb: (title) => `data-testid ${title} breadcrumb`\n },\n TimePicker: {\n openButton: \"data-testid TimePicker Open Button\",\n fromField: \"Time Range from field\",\n toField: \"Time Range to field\",\n applyTimeRange: \"data-testid TimePicker submit button\",\n calendar: {\n label: \"Time Range calendar\",\n openButton: \"Open time range calendar\",\n closeButton: \"Close time range Calendar\"\n },\n absoluteTimeRangeTitle: \"data-testid-absolute-time-range-narrow\"\n },\n DataSourcePermissions: {\n form: () => 'form[name=\"addPermission\"]',\n roleType: \"Role to add new permission to\",\n rolePicker: \"Built-in role picker\",\n permissionLevel: \"Permission Level\"\n },\n DataSource: {\n TestData: {\n QueryTab: {\n scenarioSelectContainer: \"Test Data Query scenario select container\",\n scenarioSelect: \"Test Data Query scenario select\",\n max: \"TestData max\",\n min: \"TestData min\",\n noise: \"TestData noise\",\n seriesCount: \"TestData series count\",\n spread: \"TestData spread\",\n startValue: \"TestData start value\",\n drop: \"TestData drop values\"\n }\n },\n DataSourceHttpSettings: {\n urlInput: \"Datasource HTTP settings url\"\n },\n Jaeger: {\n traceIDInput: \"Trace ID\"\n },\n Prometheus: {\n configPage: {\n exemplarsAddButton: \"Add exemplar config button\",\n internalLinkSwitch: \"Internal link switch\"\n },\n exemplarMarker: \"Exemplar marker\"\n }\n },\n Menu: {\n MenuComponent: (title) => `${title} menu`,\n MenuGroup: (title) => `${title} menu group`,\n MenuItem: (title) => `${title} menu item`,\n SubMenu: {\n container: \"SubMenu container\",\n icon: \"SubMenu icon\"\n }\n },\n Panels: {\n Panel: {\n title: (title) => `data-testid Panel header ${title}`,\n headerItems: (item) => `Panel header item ${item}`,\n menuItems: (item) => `data-testid Panel menu item ${item}`,\n menu: (title) => `data-testid Panel menu ${title}`,\n containerByTitle: (title) => `${title} panel`,\n headerCornerInfo: (mode) => `Panel header ${mode}`,\n loadingBar: () => `Panel loading bar`,\n HoverWidget: {\n container: \"data-test-id hover-header-container\",\n dragIcon: \"data-testid drag-icon\"\n }\n },\n Visualization: {\n Graph: {\n container: \"Graph container\",\n VisualizationTab: {\n legendSection: \"Legend section\"\n },\n Legend: {\n legendItemAlias: (name) => `gpl alias ${name}`,\n showLegendSwitch: \"gpl show legend\"\n },\n xAxis: {\n labels: () => \"div.flot-x-axis > div.flot-tick-label\"\n }\n },\n BarGauge: {\n /**\n * @deprecated use valueV2 from Grafana 8.3 instead\n */\n value: \"Bar gauge value\",\n valueV2: \"data-testid Bar gauge value\"\n },\n PieChart: {\n svgSlice: \"Pie Chart Slice\"\n },\n Text: {\n container: () => \".markdown-html\"\n },\n Table: {\n header: \"table header\",\n footer: \"table-footer\"\n }\n }\n },\n VizLegend: {\n seriesName: (name) => `VizLegend series ${name}`\n },\n Drawer: {\n General: {\n title: (title) => `Drawer title ${title}`,\n expand: \"Drawer expand\",\n contract: \"Drawer contract\",\n close: \"Drawer close\",\n rcContentWrapper: () => \".rc-drawer-content-wrapper\"\n }\n },\n PanelEditor: {\n General: {\n content: \"Panel editor content\"\n },\n OptionsPane: {\n content: \"Panel editor option pane content\",\n select: \"Panel editor option pane select\",\n fieldLabel: (type) => `${type} field property editor`\n },\n // not sure about the naming *DataPane*\n DataPane: {\n content: \"Panel editor data pane content\"\n },\n applyButton: \"data-testid Apply changes and go back to dashboard\",\n toggleVizPicker: \"data-testid toggle-viz-picker\",\n toggleVizOptions: \"data-testid toggle-viz-options\",\n toggleTableView: \"toggle-table-view\",\n // [Geomap] Map controls\n measureButton: \"show measure tools\"\n },\n PanelInspector: {\n Data: {\n content: \"Panel inspector Data content\"\n },\n Stats: {\n content: \"Panel inspector Stats content\"\n },\n Json: {\n content: \"Panel inspector Json content\"\n },\n Query: {\n content: \"Panel inspector Query content\",\n refreshButton: \"Panel inspector Query refresh button\",\n jsonObjectKeys: () => \".json-formatter-key\"\n }\n },\n Tab: {\n title: (title) => `Tab ${title}`,\n active: () => '[class*=\"-activeTabStyle\"]'\n },\n RefreshPicker: {\n /**\n * @deprecated use runButtonV2 from Grafana 8.3 instead\n */\n runButton: \"RefreshPicker run button\",\n /**\n * @deprecated use intervalButtonV2 from Grafana 8.3 instead\n */\n intervalButton: \"RefreshPicker interval button\",\n runButtonV2: \"data-testid RefreshPicker run button\",\n intervalButtonV2: \"data-testid RefreshPicker interval button\"\n },\n QueryTab: {\n content: \"Query editor tab content\",\n queryInspectorButton: \"Query inspector button\",\n queryHistoryButton: \"Rich history button\",\n addQuery: \"Query editor add query button\"\n },\n QueryHistory: {\n queryText: \"Query text\"\n },\n QueryEditorRows: {\n rows: \"Query editor row\"\n },\n QueryEditorRow: {\n actionButton: (title) => `${title}`,\n title: (refId) => `Query editor row title ${refId}`,\n container: (refId) => `Query editor row ${refId}`\n },\n AlertTab: {\n content: \"Alert editor tab content\"\n },\n Alert: {\n /**\n * @deprecated use alertV2 from Grafana 8.3 instead\n */\n alert: (severity) => `Alert ${severity}`,\n alertV2: (severity) => `data-testid Alert ${severity}`\n },\n TransformTab: {\n content: \"Transform editor tab content\",\n newTransform: (name) => `New transform ${name}`,\n transformationEditor: (name) => `Transformation editor ${name}`,\n transformationEditorDebugger: (name) => `Transformation editor debugger ${name}`\n },\n Transforms: {\n card: (name) => `New transform ${name}`,\n Reduce: {\n modeLabel: \"Transform mode label\",\n calculationsLabel: \"Transform calculations label\"\n },\n SpatialOperations: {\n actionLabel: \"root Action field property editor\",\n locationLabel: \"root Location field property editor\",\n location: {\n autoOption: \"Auto location option\",\n coords: {\n option: \"Coords location option\",\n latitudeFieldLabel: \"root Latitude field field property editor\",\n longitudeFieldLabel: \"root Longitude field field property editor\"\n },\n geohash: {\n option: \"Geohash location option\",\n geohashFieldLabel: \"root Geohash field field property editor\"\n },\n lookup: {\n option: \"Lookup location option\",\n lookupFieldLabel: \"root Lookup field field property editor\",\n gazetteerFieldLabel: \"root Gazetteer field property editor\"\n }\n }\n },\n searchInput: \"search transformations\"\n },\n NavBar: {\n Configuration: {\n button: \"Configuration\"\n },\n Toggle: {\n button: \"Toggle menu\"\n },\n Reporting: {\n button: \"Reporting\"\n }\n },\n NavMenu: {\n item: \"data-testid Nav menu item\"\n },\n NavToolbar: {\n container: \"data-testid Nav toolbar\"\n },\n PageToolbar: {\n container: () => \".page-toolbar\",\n item: (tooltip) => `${tooltip}`,\n itemButton: (title) => `data-testid ${title}`\n },\n QueryEditorToolbarItem: {\n button: (title) => `QueryEditor toolbar item button ${title}`\n },\n BackButton: {\n backArrow: \"Go Back\"\n },\n OptionsGroup: {\n group: (title) => title ? `Options group ${title}` : \"Options group\",\n toggle: (title) => title ? `Options group ${title} toggle` : \"Options group toggle\"\n },\n PluginVisualization: {\n item: (title) => `Plugin visualization item ${title}`,\n current: () => '[class*=\"-currentVisualizationItem\"]'\n },\n Select: {\n option: \"Select option\",\n input: () => 'input[id*=\"time-options-input\"]',\n singleValue: () => 'div[class*=\"-singleValue\"]'\n },\n FieldConfigEditor: {\n content: \"Field config editor content\"\n },\n OverridesConfigEditor: {\n content: \"Field overrides editor content\"\n },\n FolderPicker: {\n /**\n * @deprecated use containerV2 from Grafana 8.3 instead\n */\n container: \"Folder picker select container\",\n containerV2: \"data-testid Folder picker select container\",\n input: \"Select a folder\"\n },\n ReadonlyFolderPicker: {\n container: \"data-testid Readonly folder picker select container\"\n },\n DataSourcePicker: {\n container: \"data-testid Data source picker select container\",\n /**\n * @deprecated use inputV2 instead\n */\n input: () => 'input[id=\"data-source-picker\"]',\n inputV2: \"Select a data source\"\n },\n TimeZonePicker: {\n /**\n * @deprecated use TimeZonePicker.containerV2 from Grafana 8.3 instead\n */\n container: \"Time zone picker select container\",\n containerV2: \"data-testid Time zone picker select container\"\n },\n WeekStartPicker: {\n /**\n * @deprecated use WeekStartPicker.containerV2 from Grafana 8.3 instead\n */\n container: \"Choose starting day of the week\",\n containerV2: \"data-testid Choose starting day of the week\",\n placeholder: \"Choose starting day of the week\"\n },\n TraceViewer: {\n spanBar: \"data-testid SpanBar--wrapper\"\n },\n QueryField: { container: \"Query field\" },\n QueryBuilder: {\n queryPatterns: \"Query patterns\",\n labelSelect: \"Select label\",\n valueSelect: \"Select value\",\n matchOperatorSelect: \"Select match operator\"\n },\n ValuePicker: {\n button: (name) => `Value picker button ${name}`,\n select: (name) => `Value picker select ${name}`\n },\n Search: {\n /**\n * @deprecated use sectionV2 from Grafana 8.3 instead\n */\n section: \"Search section\",\n sectionV2: \"data-testid Search section\",\n /**\n * @deprecated use itemsV2 from Grafana 8.3 instead\n */\n items: \"Search items\",\n itemsV2: \"data-testid Search items\",\n cards: \"data-testid Search cards\",\n collapseFolder: (sectionId) => `data-testid Collapse folder ${sectionId}`,\n expandFolder: (sectionId) => `data-testid Expand folder ${sectionId}`,\n dashboardItem: (item) => `${Components.Search.dashboardItems} ${item}`,\n dashboardCard: (item) => `data-testid Search card ${item}`,\n folderHeader: (folderName) => `data-testid Folder header ${folderName}`,\n folderContent: (folderName) => `data-testid Folder content ${folderName}`,\n dashboardItems: \"data-testid Dashboard search item\"\n },\n DashboardLinks: {\n container: \"data-testid Dashboard link container\",\n dropDown: \"data-testid Dashboard link dropdown\",\n link: \"data-testid Dashboard link\"\n },\n LoadingIndicator: {\n icon: \"Loading indicator\"\n },\n CallToActionCard: {\n /**\n * @deprecated use buttonV2 from Grafana 8.3 instead\n */\n button: (name) => `Call to action button ${name}`,\n buttonV2: (name) => `data-testid Call to action button ${name}`\n },\n DataLinksContextMenu: {\n singleLink: \"Data link\"\n },\n CodeEditor: {\n container: \"Code editor container\"\n },\n DashboardImportPage: {\n textarea: \"data-testid-import-dashboard-textarea\",\n submit: \"data-testid-load-dashboard\"\n },\n ImportDashboardForm: {\n name: \"data-testid-import-dashboard-title\",\n submit: \"data-testid-import-dashboard-submit\"\n },\n PanelAlertTabContent: {\n content: \"Unified alert editor tab content\"\n },\n VisualizationPreview: {\n card: (name) => `data-testid suggestion-${name}`\n },\n ColorSwatch: {\n name: `data-testid-colorswatch`\n },\n DashboardRow: {\n title: (title) => `data-testid dashboard-row-title-${title}`\n },\n UserProfile: {\n profileSaveButton: \"data-testid-user-profile-save\",\n preferencesSaveButton: \"data-testid-shared-prefs-save\",\n orgsTable: \"data-testid-user-orgs-table\",\n sessionsTable: \"data-testid-user-sessions-table\"\n },\n FileUpload: {\n inputField: \"data-testid-file-upload-input-field\",\n fileNameSpan: \"data-testid-file-upload-file-name\"\n },\n DebugOverlay: {\n wrapper: \"debug-overlay\"\n },\n OrgRolePicker: {\n input: \"Role\"\n },\n AnalyticsToolbarButton: {\n button: \"Dashboard insights\"\n },\n Variables: {\n variableOption: \"data-testid variable-option\"\n },\n Annotations: {\n annotationsTypeInput: \"annotations-type-input\",\n annotationsChoosePanelInput: \"choose-panels-input\"\n }\n};\n\nexport { Components };\n//# sourceMappingURL=components.js.map\n","import { Components } from './components.js';\nexport { Components } from './components.js';\nimport { Pages } from './pages.js';\nexport { Pages } from './pages.js';\n\nconst selectors = {\n pages: Pages,\n components: Components\n};\n\nexport { selectors };\n//# sourceMappingURL=index.js.map\n","import { Components } from './components.js';\n\nconst Pages = {\n Login: {\n url: \"/login\",\n username: \"Username input field\",\n password: \"Password input field\",\n submit: \"Login button\",\n skip: \"Skip change password button\"\n },\n Home: {\n url: \"/\"\n },\n DataSource: {\n name: \"Data source settings page name input field\",\n delete: \"Data source settings page Delete button\",\n readOnly: \"Data source settings page read only message\",\n saveAndTest: \"data-testid Data source settings page Save and Test button\",\n alert: \"Data source settings page Alert\"\n },\n DataSources: {\n url: \"/datasources\",\n dataSources: (dataSourceName) => `Data source list item ${dataSourceName}`\n },\n EditDataSource: {\n url: (dataSourceUid) => `/datasources/edit/${dataSourceUid}`,\n settings: \"Datasource settings page basic settings\"\n },\n AddDataSource: {\n url: \"/datasources/new\",\n /** @deprecated Use dataSourcePluginsV2 */\n dataSourcePlugins: (pluginName) => `Data source plugin item ${pluginName}`,\n dataSourcePluginsV2: (pluginName) => `Add new data source ${pluginName}`\n },\n ConfirmModal: {\n delete: \"data-testid Confirm Modal Danger Button\"\n },\n AddDashboard: {\n url: \"/dashboard/new\",\n itemButton: (title) => `data-testid ${title}`,\n addNewPanel: \"Add new panel\",\n addNewRow: \"Add new row\",\n addNewPanelLibrary: \"Add new panel from panel library\"\n },\n Dashboard: {\n url: (uid) => `/d/${uid}`,\n DashNav: {\n /**\n * @deprecated use navV2 from Grafana 8.3 instead\n */\n nav: \"Dashboard navigation\",\n navV2: \"data-testid Dashboard navigation\",\n publicDashboardTag: \"data-testid public dashboard tag\"\n },\n SubMenu: {\n submenu: \"Dashboard submenu\",\n submenuItem: \"data-testid template variable\",\n submenuItemLabels: (item) => `data-testid Dashboard template variables submenu Label ${item}`,\n submenuItemValueDropDownValueLinkTexts: (item) => `data-testid Dashboard template variables Variable Value DropDown value link text ${item}`,\n submenuItemValueDropDownDropDown: \"Variable options\",\n submenuItemValueDropDownOptionTexts: (item) => `data-testid Dashboard template variables Variable Value DropDown option text ${item}`,\n Annotations: {\n annotationsWrapper: \"data-testid annotation-wrapper\",\n annotationLabel: (label) => `data-testid Dashboard annotations submenu Label ${label}`,\n annotationToggle: (label) => `data-testid Dashboard annotations submenu Toggle ${label}`\n }\n },\n Settings: {\n Actions: {\n close: \"data-testid dashboard-settings-close\"\n },\n General: {\n deleteDashBoard: \"Dashboard settings page delete dashboard button\",\n sectionItems: (item) => `Dashboard settings section item ${item}`,\n saveDashBoard: \"Dashboard settings aside actions Save button\",\n saveAsDashBoard: \"Dashboard settings aside actions Save As button\",\n /**\n * @deprecated use components.TimeZonePicker.containerV2 from Grafana 8.3 instead\n */\n timezone: \"Time zone picker select container\",\n title: \"Tab General\"\n },\n Annotations: {\n List: {\n /**\n * @deprecated use addAnnotationCTAV2 from Grafana 8.3 instead\n */\n addAnnotationCTA: Components.CallToActionCard.button(\"Add annotation query\"),\n addAnnotationCTAV2: Components.CallToActionCard.buttonV2(\"Add annotation query\")\n },\n Settings: {\n name: \"Annotations settings name input\"\n },\n NewAnnotation: {\n panelFilterSelect: \"data-testid annotations-panel-filter\",\n showInLabel: \"show-in-label\",\n previewInDashboard: \"data-testid annotations-preview\"\n }\n },\n Variables: {\n List: {\n /**\n * @deprecated use addVariableCTAV2 from Grafana 8.3 instead\n */\n addVariableCTA: Components.CallToActionCard.button(\"Add variable\"),\n addVariableCTAV2: Components.CallToActionCard.buttonV2(\"Add variable\"),\n newButton: \"Variable editor New variable button\",\n table: \"Variable editor Table\",\n tableRowNameFields: (variableName) => `Variable editor Table Name field ${variableName}`,\n tableRowDefinitionFields: (variableName) => `Variable editor Table Definition field ${variableName}`,\n tableRowArrowUpButtons: (variableName) => `Variable editor Table ArrowUp button ${variableName}`,\n tableRowArrowDownButtons: (variableName) => `Variable editor Table ArrowDown button ${variableName}`,\n tableRowDuplicateButtons: (variableName) => `Variable editor Table Duplicate button ${variableName}`,\n tableRowRemoveButtons: (variableName) => `Variable editor Table Remove button ${variableName}`\n },\n Edit: {\n General: {\n headerLink: \"Variable editor Header link\",\n modeLabelNew: \"Variable editor Header mode New\",\n /**\n * @deprecated\n */\n modeLabelEdit: \"Variable editor Header mode Edit\",\n generalNameInput: \"Variable editor Form Name field\",\n generalNameInputV2: \"data-testid Variable editor Form Name field\",\n generalTypeSelect: \"Variable editor Form Type select\",\n generalTypeSelectV2: \"data-testid Variable editor Form Type select\",\n generalLabelInput: \"Variable editor Form Label field\",\n generalLabelInputV2: \"data-testid Variable editor Form Label field\",\n generalHideSelect: \"Variable editor Form Hide select\",\n generalHideSelectV2: \"data-testid Variable editor Form Hide select\",\n selectionOptionsMultiSwitch: \"Variable editor Form Multi switch\",\n selectionOptionsIncludeAllSwitch: \"Variable editor Form IncludeAll switch\",\n selectionOptionsCustomAllInput: \"Variable editor Form IncludeAll field\",\n selectionOptionsCustomAllInputV2: \"data-testid Variable editor Form IncludeAll field\",\n previewOfValuesOption: \"Variable editor Preview of Values option\",\n submitButton: \"Variable editor Submit button\",\n applyButton: \"data-testid Variable editor Apply button\"\n },\n QueryVariable: {\n queryOptionsDataSourceSelect: Components.DataSourcePicker.container,\n queryOptionsRefreshSelect: \"Variable editor Form Query Refresh select\",\n queryOptionsRefreshSelectV2: \"data-testid Variable editor Form Query Refresh select\",\n queryOptionsRegExInput: \"Variable editor Form Query RegEx field\",\n queryOptionsRegExInputV2: \"data-testid Variable editor Form Query RegEx field\",\n queryOptionsSortSelect: \"Variable editor Form Query Sort select\",\n queryOptionsSortSelectV2: \"data-testid Variable editor Form Query Sort select\",\n queryOptionsQueryInput: \"Variable editor Form Default Variable Query Editor textarea\",\n valueGroupsTagsEnabledSwitch: \"Variable editor Form Query UseTags switch\",\n valueGroupsTagsTagsQueryInput: \"Variable editor Form Query TagsQuery field\",\n valueGroupsTagsTagsValuesQueryInput: \"Variable editor Form Query TagsValuesQuery field\"\n },\n ConstantVariable: {\n constantOptionsQueryInput: \"Variable editor Form Constant Query field\",\n constantOptionsQueryInputV2: \"data-testid Variable editor Form Constant Query field\"\n },\n DatasourceVariable: {\n datasourceSelect: \"data-testid datasource variable datasource type\"\n },\n TextBoxVariable: {\n textBoxOptionsQueryInput: \"Variable editor Form TextBox Query field\",\n textBoxOptionsQueryInputV2: \"data-testid Variable editor Form TextBox Query field\"\n },\n CustomVariable: {\n customValueInput: \"data-testid custom-variable-input\"\n },\n IntervalVariable: {\n intervalsValueInput: \"data-testid interval variable intervals input\"\n }\n }\n }\n },\n Annotations: {\n marker: \"data-testid annotation-marker\"\n }\n },\n Dashboards: {\n url: \"/dashboards\",\n /**\n * @deprecated use components.Search.dashboardItem from Grafana 8.3 instead\n */\n dashboards: (title) => `Dashboard search item ${title}`\n },\n SaveDashboardAsModal: {\n newName: \"Save dashboard title field\",\n save: \"Save dashboard button\"\n },\n SaveDashboardModal: {\n save: \"Dashboard settings Save Dashboard Modal Save button\",\n saveVariables: \"Dashboard settings Save Dashboard Modal Save variables checkbox\",\n saveTimerange: \"Dashboard settings Save Dashboard Modal Save timerange checkbox\"\n },\n SharePanelModal: {\n linkToRenderedImage: \"Link to rendered image\"\n },\n ShareDashboardModal: {\n shareButton: \"Share dashboard or panel\",\n PublicDashboard: {\n Tab: \"Tab Public dashboard\",\n WillBePublicCheckbox: \"data-testid public dashboard will be public checkbox\",\n LimitedDSCheckbox: \"data-testid public dashboard limited datasources checkbox\",\n CostIncreaseCheckbox: \"data-testid public dashboard cost may increase checkbox\",\n PauseSwitch: \"data-testid public dashboard pause switch\",\n EnableAnnotationsSwitch: \"data-testid public dashboard on off switch for annotations\",\n CreateButton: \"data-testid public dashboard create button\",\n DeleteButton: \"data-testid public dashboard delete button\",\n CopyUrlInput: \"data-testid public dashboard copy url input\",\n CopyUrlButton: \"data-testid public dashboard copy url button\",\n TemplateVariablesWarningAlert: \"data-testid public dashboard disabled template variables alert\",\n UnsupportedDataSourcesWarningAlert: \"data-testid public dashboard unsupported data sources alert\",\n NoUpsertPermissionsWarningAlert: \"data-testid public dashboard no upsert permissions alert\",\n EnableTimeRangeSwitch: \"data-testid public dashboard on off switch for time range\",\n EmailSharingConfiguration: {\n Container: \"data-testid email sharing config container\",\n ShareType: \"data-testid public dashboard share type\",\n EmailSharingInput: \"data-testid public dashboard email sharing input\",\n EmailSharingInviteButton: \"data-testid public dashboard email sharing invite button\",\n EmailSharingList: \"data-testid public dashboard email sharing list\",\n DeleteEmail: \"data-testid public dashboard delete email button\",\n ReshareLink: \"data-testid public dashboard reshare link button\"\n }\n }\n },\n PublicDashboard: {\n page: \"public-dashboard-page\",\n NotAvailable: {\n container: \"public-dashboard-not-available\",\n title: \"public-dashboard-title\",\n pausedDescription: \"public-dashboard-paused-description\"\n }\n },\n RequestViewAccess: {\n form: \"request-view-access-form\",\n recipientInput: \"request-view-access-recipient-input\",\n submitButton: \"request-view-access-submit-button\"\n },\n Explore: {\n url: \"/explore\",\n General: {\n container: \"data-testid Explore\",\n graph: \"Explore Graph\",\n table: \"Explore Table\",\n scrollView: \"data-testid explorer scroll view\"\n }\n },\n SoloPanel: {\n url: (page) => `/d-solo/${page}`\n },\n PluginsList: {\n page: \"Plugins list page\",\n list: \"Plugins list\",\n listItem: \"Plugins list item\",\n signatureErrorNotice: \"Unsigned plugins notice\"\n },\n PluginPage: {\n page: \"Plugin page\",\n signatureInfo: \"Plugin signature info\",\n disabledInfo: \"Plugin disabled info\"\n },\n PlaylistForm: {\n name: \"Playlist name\",\n interval: \"Playlist interval\",\n itemDelete: \"Delete playlist item\"\n },\n BrowseDashbards: {\n table: {\n row: (uid) => `data-testid ${uid} row`,\n checkbox: (uid) => `data-testid ${uid} checkbox`\n }\n },\n Search: {\n url: \"/?search=openn\",\n FolderView: {\n url: \"/?search=open&layout=folders\"\n }\n },\n PublicDashboards: {\n ListItem: {\n linkButton: \"public-dashboard-link-button\",\n configButton: \"public-dashboard-configuration-button\",\n trashcanButton: \"public-dashboard-remove-button\"\n }\n },\n UserListPage: {\n tabs: {\n allUsers: \"data-testid all-users-tab\",\n orgUsers: \"data-testid org-users-tab\",\n publicDashboardsUsers: \"data-testid public-dashboards-users-tab\",\n users: \"data-testid users-tab\"\n },\n org: {\n url: \"/org/users\"\n },\n admin: {\n url: \"/admin/users\"\n },\n publicDashboards: {\n container: \"data-testid public-dashboards-users-list\"\n },\n UserListAdminPage: {\n container: \"data-testid user-list-admin-page\"\n },\n UsersListPage: {\n container: \"data-testid users-list-page\"\n },\n UsersListPublicDashboardsPage: {\n container: \"data-testid users-list-public-dashboards-page\",\n DashboardsListModal: {\n listItem: (uid) => `data-testid dashboards-list-item-${uid}`\n }\n }\n }\n};\n\nexport { Pages };\n//# sourceMappingURL=pages.js.map\n","import { selectors } from '@grafana/e2e-selectors';\nimport { Tooltip, Icon } from '@grafana/ui';\nimport React from 'react';\n\nfunction LoadingIndicator(props) {\n return /* @__PURE__ */ React.createElement(Tooltip, {\n content: \"Cancel query\"\n }, /* @__PURE__ */ React.createElement(Icon, {\n className: \"spin-clockwise\",\n name: \"sync\",\n size: \"xs\",\n \"aria-label\": selectors.components.LoadingIndicator.icon,\n role: \"button\",\n onMouseDown: (e) => {\n props.onCancel(e);\n }\n }));\n}\n\nexport { LoadingIndicator };\n//# sourceMappingURL=LoadingIndicator.js.map\n","import React from 'react';\nimport { useStyles2, useTheme2, Tooltip, Icon, IconButton } from '@grafana/ui';\nimport { selectors } from '@grafana/e2e-selectors';\nimport { css } from '@emotion/css';\nimport { LoadingIndicator } from './LoadingIndicator.js';\n\nfunction ControlsLabel(props) {\n const styles = useStyles2(getStyles);\n const theme = useTheme2();\n const isVertical = props.layout === \"vertical\";\n const loadingIndicator = Boolean(props.isLoading) ? /* @__PURE__ */ React.createElement(\"div\", {\n style: { marginLeft: theme.spacing(1), marginTop: \"-1px\" }\n }, /* @__PURE__ */ React.createElement(LoadingIndicator, {\n onCancel: (e) => {\n var _a;\n e.preventDefault();\n e.stopPropagation();\n (_a = props.onCancel) == null ? void 0 : _a.call(props);\n }\n })) : null;\n let errorIndicator = null;\n if (props.error) {\n errorIndicator = /* @__PURE__ */ React.createElement(Tooltip, {\n content: props.error,\n placement: \"bottom\"\n }, /* @__PURE__ */ React.createElement(Icon, {\n className: styles.errorIcon,\n name: \"exclamation-triangle\"\n }));\n }\n const testId = typeof props.label === \"string\" ? selectors.pages.Dashboard.SubMenu.submenuItemLabels(props.label) : \"\";\n let labelElement;\n if (isVertical) {\n labelElement = /* @__PURE__ */ React.createElement(\"label\", {\n className: styles.verticalLabel,\n \"data-testid\": testId,\n htmlFor: props.htmlFor\n }, props.label, errorIndicator, props.icon && /* @__PURE__ */ React.createElement(Icon, {\n name: props.icon,\n className: styles.normalIcon\n }), loadingIndicator, props.onRemove && /* @__PURE__ */ React.createElement(IconButton, {\n variant: \"secondary\",\n size: \"xs\",\n name: \"times\",\n onClick: props.onRemove,\n tooltip: \"Remove\"\n }));\n } else {\n labelElement = /* @__PURE__ */ React.createElement(\"label\", {\n className: styles.horizontalLabel,\n \"data-testid\": testId,\n htmlFor: props.htmlFor\n }, errorIndicator, props.icon && /* @__PURE__ */ React.createElement(Icon, {\n name: props.icon,\n className: styles.normalIcon\n }), props.label, loadingIndicator);\n }\n if (props.description) {\n return /* @__PURE__ */ React.createElement(Tooltip, {\n content: props.description,\n placement: isVertical ? \"top\" : \"bottom\"\n }, labelElement);\n }\n return labelElement;\n}\nconst getStyles = (theme) => ({\n horizontalLabel: css({\n background: theme.isDark ? theme.colors.background.primary : theme.colors.background.secondary,\n display: `flex`,\n alignItems: \"center\",\n padding: theme.spacing(0, 1),\n fontWeight: theme.typography.fontWeightMedium,\n fontSize: theme.typography.bodySmall.fontSize,\n height: theme.spacing(theme.components.height.md),\n lineHeight: theme.spacing(theme.components.height.md),\n borderRadius: theme.shape.borderRadius(1),\n border: `1px solid ${theme.components.input.borderColor}`,\n position: \"relative\",\n right: -1,\n whiteSpace: \"nowrap\",\n gap: theme.spacing(0.5)\n }),\n verticalLabel: css({\n display: `flex`,\n alignItems: \"center\",\n fontWeight: theme.typography.fontWeightMedium,\n fontSize: theme.typography.bodySmall.fontSize,\n lineHeight: theme.typography.bodySmall.lineHeight,\n whiteSpace: \"nowrap\",\n marginBottom: theme.spacing(0.5),\n gap: theme.spacing(1)\n }),\n errorIcon: css({\n color: theme.colors.error.text\n }),\n normalIcon: css({\n color: theme.colors.text.secondary\n })\n});\n\nexport { ControlsLabel };\n//# sourceMappingURL=ControlsLabel.js.map\n","import { css } from '@emotion/css';\nimport { LoadingState } from '@grafana/schema';\nimport { InlineSwitch } from '@grafana/ui';\nimport React from 'react';\nimport { sceneGraph } from '../../core/sceneGraph/index.js';\nimport { SceneObjectBase } from '../../core/SceneObjectBase.js';\nimport { ControlsLabel } from '../../utils/ControlsLabel.js';\n\nvar __defProp = Object.defineProperty;\nvar __defProps = Object.defineProperties;\nvar __getOwnPropDescs = Object.getOwnPropertyDescriptors;\nvar __getOwnPropSymbols = Object.getOwnPropertySymbols;\nvar __hasOwnProp = Object.prototype.hasOwnProperty;\nvar __propIsEnum = Object.prototype.propertyIsEnumerable;\nvar __defNormalProp = (obj, key, value) => key in obj ? __defProp(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;\nvar __spreadValues = (a, b) => {\n for (var prop in b || (b = {}))\n if (__hasOwnProp.call(b, prop))\n __defNormalProp(a, prop, b[prop]);\n if (__getOwnPropSymbols)\n for (var prop of __getOwnPropSymbols(b)) {\n if (__propIsEnum.call(b, prop))\n __defNormalProp(a, prop, b[prop]);\n }\n return a;\n};\nvar __spreadProps = (a, b) => __defProps(a, __getOwnPropDescs(b));\nclass SceneDataLayerControls extends SceneObjectBase {\n constructor() {\n super({ layersMap: {} });\n this.addActivationHandler(() => this._onActivate());\n }\n _onActivate() {\n const layers = sceneGraph.getDataLayers(this, true);\n this.setState({ layersMap: layers.reduce((acc, l) => __spreadProps(__spreadValues({}, acc), { [l.state.key]: l.state.isEnabled }), {}) });\n }\n toggleLayer(l) {\n this.setState({ layersMap: __spreadProps(__spreadValues({}, this.state.layersMap), { [l.state.key]: !l.state.isEnabled }) });\n l.setState({ isEnabled: !l.state.isEnabled });\n }\n}\nSceneDataLayerControls.Component = SceneDataLayerControlsRenderer;\nfunction SceneDataLayerControlsRenderer({ model }) {\n const { layersMap } = model.useState();\n const layers = sceneGraph.getDataLayers(model, true);\n if (layers.length === 0) {\n return null;\n }\n return /* @__PURE__ */ React.createElement(React.Fragment, null, layers.map((l) => {\n const elementId = `data-layer-${l.state.key}`;\n if (l.state.isHidden) {\n return null;\n }\n return /* @__PURE__ */ React.createElement(SceneDataLayerControl, {\n key: elementId,\n layer: l,\n onToggleLayer: () => model.toggleLayer(l),\n isEnabled: layersMap[l.state.key]\n });\n }));\n}\nfunction SceneDataLayerControl({ layer, isEnabled, onToggleLayer }) {\n var _a, _b;\n const elementId = `data-layer-${layer.state.key}`;\n const { data } = layer.useState();\n const showLoading = Boolean(data && data.state === LoadingState.Loading);\n return /* @__PURE__ */ React.createElement(\"div\", {\n className: containerStyle\n }, /* @__PURE__ */ React.createElement(ControlsLabel, {\n htmlFor: elementId,\n isLoading: showLoading,\n onCancel: () => {\n var _a2;\n return (_a2 = layer.cancelQuery) == null ? void 0 : _a2.call(layer);\n },\n label: layer.state.name,\n description: layer.state.description,\n error: (_b = (_a = layer.state.data) == null ? void 0 : _a.errors) == null ? void 0 : _b[0].message\n }), /* @__PURE__ */ React.createElement(InlineSwitch, {\n id: elementId,\n value: isEnabled,\n onChange: onToggleLayer\n }));\n}\nconst containerStyle = css({ display: \"flex\" });\n\nexport { SceneDataLayerControl, SceneDataLayerControls };\n//# sourceMappingURL=SceneDataLayerControls.js.map\n","import { transformDataFrame, LoadingState } from '@grafana/data';\nimport { toDataQueryError } from '@grafana/runtime';\nimport { ReplaySubject, map, catchError, of } from 'rxjs';\nimport { sceneGraph } from '../core/sceneGraph/index.js';\nimport { SceneObjectBase } from '../core/SceneObjectBase.js';\nimport { VariableDependencyConfig } from '../variables/VariableDependencyConfig.js';\nimport { SceneDataLayers } from './SceneDataLayers.js';\n\nvar __defProp = Object.defineProperty;\nvar __defProps = Object.defineProperties;\nvar __getOwnPropDescs = Object.getOwnPropertyDescriptors;\nvar __getOwnPropSymbols = Object.getOwnPropertySymbols;\nvar __hasOwnProp = Object.prototype.hasOwnProperty;\nvar __propIsEnum = Object.prototype.propertyIsEnumerable;\nvar __defNormalProp = (obj, key, value) => key in obj ? __defProp(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;\nvar __spreadValues = (a, b) => {\n for (var prop in b || (b = {}))\n if (__hasOwnProp.call(b, prop))\n __defNormalProp(a, prop, b[prop]);\n if (__getOwnPropSymbols)\n for (var prop of __getOwnPropSymbols(b)) {\n if (__propIsEnum.call(b, prop))\n __defNormalProp(a, prop, b[prop]);\n }\n return a;\n};\nvar __spreadProps = (a, b) => __defProps(a, __getOwnPropDescs(b));\nclass SceneDataTransformer extends SceneObjectBase {\n constructor(state) {\n super(state);\n this._results = new ReplaySubject();\n this._variableDependency = new VariableDependencyConfig(\n this,\n {\n statePaths: [\"transformations\"],\n onReferencedVariableValueChanged: () => this.reprocessTransformations()\n }\n );\n this.addActivationHandler(() => this.activationHandler());\n }\n activationHandler() {\n const sourceData = this.getSourceData();\n this._subs.add(sourceData.subscribeToState((state) => this.transform(state.data)));\n if (sourceData.state.data) {\n this.transform(sourceData.state.data);\n }\n return () => {\n if (this._transformSub) {\n this._transformSub.unsubscribe();\n }\n };\n }\n getSourceData() {\n if (this.state.$data) {\n if (this.state.$data instanceof SceneDataLayers) {\n throw new Error(\"SceneDataLayers can not be used as data provider for SceneDataTransformer.\");\n }\n return this.state.$data;\n }\n if (!this.parent || !this.parent.parent) {\n throw new Error(\"SceneDataTransformer must either have $data set on it or have a parent.parent with $data\");\n }\n return sceneGraph.getData(this.parent.parent);\n }\n setContainerWidth(width) {\n if (this.state.$data && this.state.$data.setContainerWidth) {\n this.state.$data.setContainerWidth(width);\n }\n }\n isDataReadyToDisplay() {\n const dataObject = this.getSourceData();\n if (dataObject.isDataReadyToDisplay) {\n return dataObject.isDataReadyToDisplay();\n }\n return true;\n }\n reprocessTransformations() {\n this.transform(this.getSourceData().state.data);\n }\n cancelQuery() {\n var _a, _b;\n (_b = (_a = this.getSourceData()).cancelQuery) == null ? void 0 : _b.call(_a);\n }\n getResultsStream() {\n return this._results;\n }\n transform(data) {\n const transformations = this.state.transformations || [];\n if (transformations.length === 0 || !data) {\n this.setState({ data });\n return;\n }\n if (this._transformSub) {\n this._transformSub.unsubscribe();\n }\n const ctx = {\n interpolate: (value) => {\n var _a;\n return sceneGraph.interpolate(this, value, (_a = data.request) == null ? void 0 : _a.scopedVars);\n }\n };\n this._transformSub = transformDataFrame(transformations, data.series, ctx).pipe(\n map((series) => __spreadProps(__spreadValues({}, data), { series })),\n catchError((err) => {\n var _a;\n console.error(\"Error transforming data: \", err);\n const sourceErr = ((_a = this.getSourceData().state.data) == null ? void 0 : _a.errors) || [];\n const transformationError = toDataQueryError(err);\n transformationError.message = `Error transforming data: ${transformationError.message}`;\n const result = __spreadProps(__spreadValues({}, data), {\n state: LoadingState.Error,\n errors: [...sourceErr, transformationError]\n });\n return of(result);\n })\n ).subscribe((data2) => {\n this._results.next({ origin: this, data: data2 });\n this.setState({ data: data2 });\n });\n }\n}\n\nexport { SceneDataTransformer };\n//# sourceMappingURL=SceneDataTransformer.js.map\n","import React from 'react';\nimport { VariableHide } from '@grafana/data';\nimport { SceneObjectBase } from '../../core/SceneObjectBase.js';\nimport { sceneGraph } from '../../core/sceneGraph/index.js';\nimport { ControlsLabel } from '../../utils/ControlsLabel.js';\nimport { css } from '@emotion/css';\n\nclass VariableValueSelectors extends SceneObjectBase {\n}\nVariableValueSelectors.Component = VariableValueSelectorsRenderer;\nfunction VariableValueSelectorsRenderer({ model }) {\n const variables = sceneGraph.getVariables(model).useState();\n return /* @__PURE__ */ React.createElement(React.Fragment, null, variables.variables.map((variable) => /* @__PURE__ */ React.createElement(VariableValueSelectWrapper, {\n key: variable.state.key,\n variable,\n layout: model.state.layout\n })));\n}\nfunction VariableValueSelectWrapper({ variable, layout }) {\n const state = variable.useState();\n if (state.hide === VariableHide.hideVariable) {\n return null;\n }\n if (layout === \"vertical\") {\n return /* @__PURE__ */ React.createElement(\"div\", {\n className: verticalContainer\n }, /* @__PURE__ */ React.createElement(VariableLabel, {\n variable,\n layout\n }), /* @__PURE__ */ React.createElement(variable.Component, {\n model: variable\n }));\n }\n return /* @__PURE__ */ React.createElement(\"div\", {\n className: containerStyle\n }, /* @__PURE__ */ React.createElement(VariableLabel, {\n variable\n }), /* @__PURE__ */ React.createElement(variable.Component, {\n model: variable\n }));\n}\nfunction VariableLabel({ variable, layout }) {\n var _a, _b;\n const { state } = variable;\n if (variable.state.hide === VariableHide.hideLabel) {\n return null;\n }\n const elementId = `var-${state.key}`;\n const labelOrName = (_a = state.label) != null ? _a : state.name;\n return /* @__PURE__ */ React.createElement(ControlsLabel, {\n htmlFor: elementId,\n isLoading: state.loading,\n onCancel: () => {\n var _a2;\n return (_a2 = variable.onCancel) == null ? void 0 : _a2.call(variable);\n },\n label: labelOrName,\n error: state.error,\n layout,\n description: (_b = state.description) != null ? _b : void 0\n });\n}\nconst containerStyle = css({ display: \"flex\" });\nconst verticalContainer = css({ display: \"flex\", flexDirection: \"column\" });\n\nexport { VariableValueSelectors };\n//# sourceMappingURL=VariableValueSelectors.js.map\n","import { VariableRefresh } from '@grafana/data';\nimport { sceneGraph } from '../../core/sceneGraph/index.js';\nimport { SceneObjectBase } from '../../core/SceneObjectBase.js';\nimport { writeSceneLog } from '../../utils/writeSceneLog.js';\nimport { SceneVariableValueChangedEvent } from '../types.js';\nimport { VariableValueRecorder } from '../VariableValueRecorder.js';\n\nclass SceneVariableSet extends SceneObjectBase {\n constructor(state) {\n super(state);\n this._variablesThatHaveChanged = /* @__PURE__ */ new Set();\n this._variablesToUpdate = /* @__PURE__ */ new Set();\n this._updating = /* @__PURE__ */ new Map();\n this._variableValueRecorder = new VariableValueRecorder();\n this._variableDependency = new SceneVariableSetVariableDependencyHandler(\n this._handleParentVariableUpdatesCompleted.bind(this)\n );\n this._onActivate = () => {\n const timeRange = sceneGraph.getTimeRange(this);\n this._subs.add(\n this.subscribeToEvent(SceneVariableValueChangedEvent, (event) => this._handleVariableValueChanged(event.payload))\n );\n this._subs.add(\n timeRange.subscribeToState(() => {\n this._refreshTimeRangeBasedVariables();\n })\n );\n this._subs.add(this.subscribeToState(this._onStateChanged));\n this._checkForVariablesThatChangedWhileInactive();\n for (const variable of this.state.variables) {\n if (this._variableNeedsUpdate(variable)) {\n this._variablesToUpdate.add(variable);\n }\n }\n this._updateNextBatch();\n return this._onDeactivate;\n };\n this._onDeactivate = () => {\n var _a;\n for (const update of this._updating.values()) {\n (_a = update.subscription) == null ? void 0 : _a.unsubscribe();\n }\n for (const variable of this.state.variables) {\n if (!this._variablesToUpdate.has(variable) && !this._updating.has(variable)) {\n this._variableValueRecorder.recordCurrentValue(variable);\n }\n }\n this._variablesToUpdate.clear();\n this._updating.clear();\n };\n this._onStateChanged = (newState, oldState) => {\n const variablesToUpdateCountStart = this._variablesToUpdate.size;\n for (const variable of oldState.variables) {\n if (!newState.variables.includes(variable)) {\n const updating = this._updating.get(variable);\n if (updating == null ? void 0 : updating.subscription) {\n updating.subscription.unsubscribe();\n }\n this._updating.delete(variable);\n this._variablesToUpdate.delete(variable);\n }\n }\n for (const variable of newState.variables) {\n if (!oldState.variables.includes(variable)) {\n if (this._variableNeedsUpdate(variable)) {\n this._variablesToUpdate.add(variable);\n }\n }\n }\n if (variablesToUpdateCountStart === 0 && this._variablesToUpdate.size > 0) {\n this._updateNextBatch();\n }\n };\n this.addActivationHandler(this._onActivate);\n }\n getByName(name) {\n return this.state.variables.find((x) => x.state.name === name);\n }\n _refreshTimeRangeBasedVariables() {\n for (const variable of this.state.variables) {\n if (\"refresh\" in variable.state && variable.state.refresh === VariableRefresh.onTimeRangeChanged) {\n this._variablesToUpdate.add(variable);\n }\n }\n this._updateNextBatch();\n }\n _checkForVariablesThatChangedWhileInactive() {\n if (!this._variableValueRecorder.hasValues()) {\n return;\n }\n for (const variable of this.state.variables) {\n if (this._variableValueRecorder.hasValueChanged(variable)) {\n writeVariableTraceLog(variable, \"Changed while in-active\");\n this._addDependentVariablesToUpdateQueue(variable);\n }\n }\n }\n _variableNeedsUpdate(variable) {\n if (!variable.validateAndUpdate) {\n return false;\n }\n if (this._variableValueRecorder.hasRecordedValue(variable)) {\n writeVariableTraceLog(variable, \"Skipping updateAndValidate current value valid\");\n return false;\n }\n return true;\n }\n _updateNextBatch() {\n if (this._variablesToUpdate.size === 0) {\n this._notifyDependentSceneObjects();\n return;\n }\n for (const variable of this._variablesToUpdate) {\n if (!variable.validateAndUpdate) {\n throw new Error(\"Variable added to variablesToUpdate but does not have validateAndUpdate\");\n }\n if (this._updating.has(variable)) {\n continue;\n }\n if (sceneGraph.hasVariableDependencyInLoadingState(variable)) {\n continue;\n }\n const variableToUpdate = {\n variable\n };\n this._updating.set(variable, variableToUpdate);\n writeVariableTraceLog(variable, \"updateAndValidate started\");\n variableToUpdate.subscription = variable.validateAndUpdate().subscribe({\n next: () => this._validateAndUpdateCompleted(variable),\n error: (err) => this._handleVariableError(variable, err)\n });\n }\n }\n _validateAndUpdateCompleted(variable) {\n var _a;\n const update = this._updating.get(variable);\n (_a = update == null ? void 0 : update.subscription) == null ? void 0 : _a.unsubscribe();\n this._updating.delete(variable);\n this._variablesToUpdate.delete(variable);\n writeVariableTraceLog(variable, \"updateAndValidate completed\");\n this._updateNextBatch();\n }\n cancel(variable) {\n var _a;\n const update = this._updating.get(variable);\n (_a = update == null ? void 0 : update.subscription) == null ? void 0 : _a.unsubscribe();\n this._updating.delete(variable);\n this._variablesToUpdate.delete(variable);\n }\n _handleVariableError(variable, err) {\n var _a;\n const update = this._updating.get(variable);\n (_a = update == null ? void 0 : update.subscription) == null ? void 0 : _a.unsubscribe();\n this._updating.delete(variable);\n this._variablesToUpdate.delete(variable);\n variable.setState({ loading: false, error: err.message });\n console.error(\"SceneVariableSet updateAndValidate error\", err);\n writeVariableTraceLog(variable, \"updateAndValidate error\", err);\n }\n _handleVariableValueChanged(variableThatChanged) {\n this._variablesThatHaveChanged.add(variableThatChanged);\n this._addDependentVariablesToUpdateQueue(variableThatChanged);\n if (!this._updating.has(variableThatChanged)) {\n this._updateNextBatch();\n }\n }\n _handleParentVariableUpdatesCompleted(changedVariables) {\n for (const changedVar of changedVariables) {\n this._addDependentVariablesToUpdateQueue(changedVar);\n }\n if (this._variablesToUpdate.size > 0 && this._updating.size === 0) {\n this._updateNextBatch();\n }\n }\n _addDependentVariablesToUpdateQueue(variableThatChanged) {\n for (const otherVariable of this.state.variables) {\n if (otherVariable.variableDependency) {\n if (otherVariable.variableDependency.hasDependencyOn(variableThatChanged.state.name)) {\n writeVariableTraceLog(otherVariable, \"Added to update queue, dependant variable value changed\");\n this._variablesToUpdate.add(otherVariable);\n }\n }\n }\n }\n _notifyDependentSceneObjects() {\n if (!this.parent) {\n return;\n }\n this._traverseSceneAndNotify(this.parent);\n this._variablesThatHaveChanged.clear();\n }\n _traverseSceneAndNotify(sceneObject) {\n if (this === sceneObject) {\n return;\n }\n if (!sceneObject.isActive) {\n return;\n }\n if (sceneObject.variableDependency) {\n sceneObject.variableDependency.variableUpdatesCompleted(this._variablesThatHaveChanged);\n }\n sceneObject.forEachChild((child) => this._traverseSceneAndNotify(child));\n }\n isVariableLoadingOrWaitingToUpdate(variable) {\n if (variable.isAncestorLoading && variable.isAncestorLoading()) {\n return true;\n }\n if (this._variablesToUpdate.has(variable) || this._updating.has(variable)) {\n return true;\n }\n return sceneGraph.hasVariableDependencyInLoadingState(variable);\n }\n}\nfunction writeVariableTraceLog(variable, message, err) {\n writeSceneLog(\"SceneVariableSet\", `Variable[${variable.state.name}]: ${message}`, err);\n}\nclass SceneVariableSetVariableDependencyHandler {\n constructor(_variableUpdatesCompleted) {\n this._variableUpdatesCompleted = _variableUpdatesCompleted;\n this._emptySet = /* @__PURE__ */ new Set();\n }\n getNames() {\n return this._emptySet;\n }\n hasDependencyOn(name) {\n return false;\n }\n variableUpdatesCompleted(changedVariables) {\n this._variableUpdatesCompleted(changedVariables);\n }\n}\n\nexport { SceneVariableSet };\n//# sourceMappingURL=SceneVariableSet.js.map\n","import { isArray } from 'lodash';\nimport React, { useMemo, useState, useEffect } from 'react';\nimport { Select, MultiSelect } from '@grafana/ui';\n\nfunction VariableValueSelect({ model }) {\n const { value, key } = model.useState();\n const onInputChange = model.onSearchChange ? (value2, meta) => {\n if (meta.action === \"input-change\") {\n model.onSearchChange(value2);\n }\n } : void 0;\n return /* @__PURE__ */ React.createElement(Select, {\n id: key,\n placeholder: \"Select value\",\n width: \"auto\",\n value,\n allowCustomValue: true,\n tabSelectsValue: false,\n onInputChange,\n options: model.getOptionsForSelect(),\n onChange: (newValue) => {\n model.changeValueTo(newValue.value, newValue.label);\n }\n });\n}\nfunction VariableValueSelectMulti({ model }) {\n const { value, key, maxVisibleValues } = model.useState();\n const arrayValue = useMemo(() => isArray(value) ? value : [value], [value]);\n const [uncommittedValue, setUncommittedValue] = useState(arrayValue);\n useEffect(() => {\n setUncommittedValue(arrayValue);\n }, [arrayValue]);\n const onInputChange = model.onSearchChange ? (value2, meta) => {\n if (meta.action === \"input-change\") {\n model.onSearchChange(value2);\n }\n } : void 0;\n return /* @__PURE__ */ React.createElement(MultiSelect, {\n id: key,\n placeholder: \"Select value\",\n width: \"auto\",\n value: uncommittedValue,\n noMultiValueWrap: true,\n maxVisibleValues: maxVisibleValues != null ? maxVisibleValues : 5,\n tabSelectsValue: false,\n allowCustomValue: true,\n options: model.getOptionsForSelect(),\n closeMenuOnSelect: false,\n isClearable: true,\n onInputChange,\n onBlur: () => {\n model.changeValueTo(uncommittedValue);\n },\n onChange: (newValue) => {\n setUncommittedValue(newValue.map((x) => x.value));\n }\n });\n}\nfunction renderSelectForVariable(model) {\n if (model.state.isMulti) {\n return /* @__PURE__ */ React.createElement(VariableValueSelectMulti, {\n model\n });\n } else {\n return /* @__PURE__ */ React.createElement(VariableValueSelect, {\n model\n });\n }\n}\n\nexport { VariableValueSelect, VariableValueSelectMulti, renderSelectForVariable };\n//# sourceMappingURL=VariableValueSelect.js.map\n","import { SceneObjectBase } from '../../core/SceneObjectBase.js';\n\nvar __defProp = Object.defineProperty;\nvar __defProps = Object.defineProperties;\nvar __getOwnPropDescs = Object.getOwnPropertyDescriptors;\nvar __getOwnPropSymbols = Object.getOwnPropertySymbols;\nvar __hasOwnProp = Object.prototype.hasOwnProperty;\nvar __propIsEnum = Object.prototype.propertyIsEnumerable;\nvar __defNormalProp = (obj, key, value) => key in obj ? __defProp(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;\nvar __spreadValues = (a, b) => {\n for (var prop in b || (b = {}))\n if (__hasOwnProp.call(b, prop))\n __defNormalProp(a, prop, b[prop]);\n if (__getOwnPropSymbols)\n for (var prop of __getOwnPropSymbols(b)) {\n if (__propIsEnum.call(b, prop))\n __defNormalProp(a, prop, b[prop]);\n }\n return a;\n};\nvar __spreadProps = (a, b) => __defProps(a, __getOwnPropDescs(b));\nclass ConstantVariable extends SceneObjectBase {\n constructor(initialState) {\n super(__spreadProps(__spreadValues({\n type: \"constant\",\n value: \"\",\n name: \"\"\n }, initialState), {\n skipUrlSync: true\n }));\n }\n getValue() {\n return this.state.value;\n }\n}\n\nexport { ConstantVariable };\n//# sourceMappingURL=ConstantVariable.js.map\n","import { isEqual } from 'lodash';\nimport { map } from 'rxjs';\nimport { ALL_VARIABLE_TEXT, ALL_VARIABLE_VALUE } from '../constants.js';\nimport { SceneObjectBase } from '../../core/SceneObjectBase.js';\nimport { SceneVariableValueChangedEvent } from '../types.js';\nimport { formatRegistry } from '../interpolation/formatRegistry.js';\nimport { VariableFormatID } from '@grafana/schema';\nimport { setBaseClassState } from '../../utils/utils.js';\n\nclass MultiValueVariable extends SceneObjectBase {\n constructor() {\n super(...arguments);\n this._urlSync = new MultiValueUrlSyncHandler(this);\n }\n validateAndUpdate() {\n return this.getValueOptions({}).pipe(\n map((options) => {\n this.updateValueGivenNewOptions(options);\n return {};\n })\n );\n }\n onCancel() {\n this.setStateHelper({ loading: false });\n const sceneVarSet = this.parent;\n sceneVarSet == null ? void 0 : sceneVarSet.cancel(this);\n }\n updateValueGivenNewOptions(options) {\n const { value: currentValue, text: currentText } = this.state;\n const stateUpdate = {\n options,\n loading: false,\n value: currentValue,\n text: currentText\n };\n if (options.length === 0) {\n if (this.state.defaultToAll || this.state.includeAll) {\n stateUpdate.value = ALL_VARIABLE_VALUE;\n stateUpdate.text = ALL_VARIABLE_TEXT;\n }\n } else if (this.hasAllValue()) ; else if (this.state.isMulti) {\n const currentValues = Array.isArray(currentValue) ? currentValue : [currentValue];\n const validValues = currentValues.filter((v) => options.find((o) => o.value === v));\n const validTexts = validValues.map((v) => options.find((o) => o.value === v).label);\n if (validValues.length === 0) {\n const defaultState = this.getDefaultMultiState(options);\n stateUpdate.value = defaultState.value;\n stateUpdate.text = defaultState.text;\n } else if (!isEqual(validValues, currentValue) || !isEqual(validTexts, currentText)) {\n stateUpdate.value = validValues;\n stateUpdate.text = validTexts;\n }\n } else {\n let matchingOption = findOptionMatchingCurrent(currentValue, currentText, options);\n if (matchingOption) {\n stateUpdate.text = matchingOption.label;\n stateUpdate.value = matchingOption.value;\n } else {\n if (this.state.defaultToAll) {\n stateUpdate.value = ALL_VARIABLE_VALUE;\n stateUpdate.text = ALL_VARIABLE_TEXT;\n } else {\n stateUpdate.value = options[0].value;\n stateUpdate.text = options[0].label;\n }\n }\n }\n this.setStateHelper(stateUpdate);\n if (stateUpdate.value !== currentValue || stateUpdate.text !== currentText || this.hasAllValue()) {\n this.publishEvent(new SceneVariableValueChangedEvent(this), true);\n }\n }\n getValue() {\n if (this.hasAllValue()) {\n if (this.state.allValue) {\n return new CustomAllValue(this.state.allValue, this);\n }\n return this.state.options.map((x) => x.value);\n }\n return this.state.value;\n }\n getValueText() {\n if (this.hasAllValue()) {\n return ALL_VARIABLE_TEXT;\n }\n if (Array.isArray(this.state.text)) {\n return this.state.text.join(\" + \");\n }\n return String(this.state.text);\n }\n hasAllValue() {\n const value = this.state.value;\n return value === ALL_VARIABLE_VALUE || Array.isArray(value) && value[0] === ALL_VARIABLE_VALUE;\n }\n getDefaultMultiState(options) {\n if (this.state.defaultToAll) {\n return { value: [ALL_VARIABLE_VALUE], text: [ALL_VARIABLE_TEXT] };\n } else {\n return { value: [options[0].value], text: [options[0].label] };\n }\n }\n changeValueTo(value, text) {\n if (value === this.state.value && text === this.state.text) {\n return;\n }\n if (!text) {\n if (Array.isArray(value)) {\n text = value.map((v) => this.findLabelTextForValue(v));\n } else {\n text = this.findLabelTextForValue(value);\n }\n }\n if (Array.isArray(value)) {\n if (value.length === 0) {\n const state = this.getDefaultMultiState(this.state.options);\n value = state.value;\n text = state.text;\n }\n if (value[value.length - 1] === ALL_VARIABLE_VALUE) {\n value = [ALL_VARIABLE_VALUE];\n text = [ALL_VARIABLE_TEXT];\n } else if (value[0] === ALL_VARIABLE_VALUE && value.length > 1) {\n value.shift();\n if (Array.isArray(text)) {\n text.shift();\n }\n }\n }\n this.setStateHelper({ value, text, loading: false });\n this.publishEvent(new SceneVariableValueChangedEvent(this), true);\n }\n findLabelTextForValue(value) {\n const option = this.state.options.find((x) => x.value === value);\n if (option) {\n return option.label;\n }\n const optionByLabel = this.state.options.find((x) => x.label === value);\n if (optionByLabel) {\n return optionByLabel.label;\n }\n return value;\n }\n setStateHelper(state) {\n setBaseClassState(this, state);\n }\n getOptionsForSelect() {\n let options = this.state.options;\n if (this.state.includeAll) {\n options = [{ value: ALL_VARIABLE_VALUE, label: ALL_VARIABLE_TEXT }, ...options];\n }\n if (!Array.isArray(this.state.value)) {\n const current = options.find((x) => x.value === this.state.value);\n if (!current) {\n options = [{ value: this.state.value, label: String(this.state.text) }, ...options];\n }\n }\n return options;\n }\n}\nfunction findOptionMatchingCurrent(currentValue, currentText, options) {\n let textMatch;\n for (const item of options) {\n if (item.value === currentValue) {\n return item;\n }\n if (item.label === currentText) {\n textMatch = item;\n }\n }\n return textMatch;\n}\nclass MultiValueUrlSyncHandler {\n constructor(_sceneObject) {\n this._sceneObject = _sceneObject;\n }\n getKey() {\n return `var-${this._sceneObject.state.name}`;\n }\n getKeys() {\n if (this._sceneObject.state.skipUrlSync) {\n return [];\n }\n return [this.getKey()];\n }\n getUrlState() {\n if (this._sceneObject.state.skipUrlSync) {\n return {};\n }\n let urlValue = null;\n let value = this._sceneObject.state.value;\n if (Array.isArray(value)) {\n urlValue = value.map(String);\n } else if (this._sceneObject.state.isMulti) {\n urlValue = [String(value)];\n } else {\n urlValue = String(value);\n }\n return { [this.getKey()]: urlValue };\n }\n updateFromUrl(values) {\n const urlValue = values[this.getKey()];\n if (urlValue != null) {\n this._sceneObject.changeValueTo(urlValue);\n }\n }\n}\nclass CustomAllValue {\n constructor(_value, _variable) {\n this._value = _value;\n this._variable = _variable;\n }\n formatter(formatNameOrFn) {\n if (formatNameOrFn === VariableFormatID.Text) {\n return ALL_VARIABLE_TEXT;\n }\n if (formatNameOrFn === VariableFormatID.PercentEncode) {\n return formatRegistry.get(VariableFormatID.PercentEncode).formatter(this._value, [], this._variable);\n }\n if (formatNameOrFn === VariableFormatID.QueryParam) {\n return formatRegistry.get(VariableFormatID.QueryParam).formatter(ALL_VARIABLE_TEXT, [], this._variable);\n }\n return this._value;\n }\n}\n\nexport { CustomAllValue, MultiValueUrlSyncHandler, MultiValueVariable };\n//# sourceMappingURL=MultiValueVariable.js.map\n","function setBaseClassState(sceneObject, newState) {\n sceneObject.setState(newState);\n}\n\nexport { setBaseClassState };\n//# sourceMappingURL=utils.js.map\n","import { of } from 'rxjs';\nimport { VariableDependencyConfig } from '../VariableDependencyConfig.js';\nimport { renderSelectForVariable } from '../components/VariableValueSelect.js';\nimport { MultiValueVariable } from './MultiValueVariable.js';\nimport { sceneGraph } from '../../core/sceneGraph/index.js';\n\nvar __defProp = Object.defineProperty;\nvar __getOwnPropSymbols = Object.getOwnPropertySymbols;\nvar __hasOwnProp = Object.prototype.hasOwnProperty;\nvar __propIsEnum = Object.prototype.propertyIsEnumerable;\nvar __defNormalProp = (obj, key, value) => key in obj ? __defProp(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;\nvar __spreadValues = (a, b) => {\n for (var prop in b || (b = {}))\n if (__hasOwnProp.call(b, prop))\n __defNormalProp(a, prop, b[prop]);\n if (__getOwnPropSymbols)\n for (var prop of __getOwnPropSymbols(b)) {\n if (__propIsEnum.call(b, prop))\n __defNormalProp(a, prop, b[prop]);\n }\n return a;\n};\nclass CustomVariable extends MultiValueVariable {\n constructor(initialState) {\n super(__spreadValues({\n type: \"custom\",\n query: \"\",\n value: \"\",\n text: \"\",\n options: [],\n name: \"\"\n }, initialState));\n this._variableDependency = new VariableDependencyConfig(this, {\n statePaths: [\"query\"]\n });\n }\n getValueOptions(args) {\n var _a;\n const interpolated = sceneGraph.interpolate(this, this.state.query);\n const match = (_a = interpolated.match(/(?:\\\\,|[^,])+/g)) != null ? _a : [];\n const options = match.map((text) => {\n var _a2;\n text = text.replace(/\\\\,/g, \",\");\n const textMatch = (_a2 = /^(.+)\\s:\\s(.+)$/g.exec(text)) != null ? _a2 : [];\n if (textMatch.length === 3) {\n const [, key, value] = textMatch;\n return { label: key.trim(), value: value.trim() };\n } else {\n return { label: text.trim(), value: text.trim() };\n }\n });\n return of(options);\n }\n}\nCustomVariable.Component = ({ model }) => {\n return renderSelectForVariable(model);\n};\n\nexport { CustomVariable };\n//# sourceMappingURL=CustomVariable.js.map\n","import { of } from 'rxjs';\nimport { stringToJsRegex } from '@grafana/data';\nimport { getDataSourceSrv } from '@grafana/runtime';\nimport { sceneGraph } from '../../core/sceneGraph/index.js';\nimport { VariableDependencyConfig } from '../VariableDependencyConfig.js';\nimport { renderSelectForVariable } from '../components/VariableValueSelect.js';\nimport { MultiValueVariable } from './MultiValueVariable.js';\n\nvar __defProp = Object.defineProperty;\nvar __getOwnPropSymbols = Object.getOwnPropertySymbols;\nvar __hasOwnProp = Object.prototype.hasOwnProperty;\nvar __propIsEnum = Object.prototype.propertyIsEnumerable;\nvar __defNormalProp = (obj, key, value) => key in obj ? __defProp(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;\nvar __spreadValues = (a, b) => {\n for (var prop in b || (b = {}))\n if (__hasOwnProp.call(b, prop))\n __defNormalProp(a, prop, b[prop]);\n if (__getOwnPropSymbols)\n for (var prop of __getOwnPropSymbols(b)) {\n if (__propIsEnum.call(b, prop))\n __defNormalProp(a, prop, b[prop]);\n }\n return a;\n};\nclass DataSourceVariable extends MultiValueVariable {\n constructor(initialState) {\n super(__spreadValues({\n type: \"datasource\",\n value: \"\",\n text: \"\",\n options: [],\n name: \"\",\n regex: \"\",\n pluginId: \"\"\n }, initialState));\n this._variableDependency = new VariableDependencyConfig(this, {\n statePaths: [\"regex\"]\n });\n }\n getValueOptions(args) {\n if (!this.state.pluginId) {\n return of([]);\n }\n const dataSources = getDataSourceSrv().getList({ metrics: true, variables: false, pluginId: this.state.pluginId });\n let regex;\n if (this.state.regex) {\n const interpolated = sceneGraph.interpolate(this, this.state.regex, void 0, \"regex\");\n regex = stringToJsRegex(interpolated);\n }\n const options = [];\n for (let i = 0; i < dataSources.length; i++) {\n const source = dataSources[i];\n if (isValid(source, regex)) {\n options.push({ label: source.name, value: source.uid });\n }\n if (this.state.defaultOptionEnabled && isDefault(source, regex)) {\n options.push({ label: \"default\", value: \"default\" });\n }\n }\n if (options.length === 0) {\n this.setState({ error: \"No data sources found\" });\n } else if (this.state.error) {\n this.setState({ error: null });\n }\n return of(options);\n }\n}\nDataSourceVariable.Component = ({ model }) => {\n return renderSelectForVariable(model);\n};\nfunction isValid(source, regex) {\n if (!regex) {\n return true;\n }\n return regex.exec(source.name);\n}\nfunction isDefault(source, regex) {\n if (!source.isDefault) {\n return false;\n }\n if (!regex) {\n return true;\n }\n return regex.exec(\"default\");\n}\n\nexport { DataSourceVariable };\n//# sourceMappingURL=DataSourceVariable.js.map\n","import { VariableSupportType } from '@grafana/data';\n\nconst hasLegacyVariableSupport = (datasource) => {\n return Boolean(datasource.metricFindQuery) && !Boolean(datasource.variables);\n};\nconst hasStandardVariableSupport = (datasource) => {\n if (!datasource.variables) {\n return false;\n }\n if (datasource.variables.getType() !== VariableSupportType.Standard) {\n return false;\n }\n const variableSupport = datasource.variables;\n return \"toDataQuery\" in variableSupport && Boolean(variableSupport.toDataQuery);\n};\nconst hasCustomVariableSupport = (datasource) => {\n if (!datasource.variables) {\n return false;\n }\n if (datasource.variables.getType() !== VariableSupportType.Custom) {\n return false;\n }\n const variableSupport = datasource.variables;\n return \"query\" in variableSupport && \"editor\" in variableSupport && Boolean(variableSupport.query) && Boolean(variableSupport.editor);\n};\n\nexport { hasCustomVariableSupport, hasLegacyVariableSupport, hasStandardVariableSupport };\n//# sourceMappingURL=guards.js.map\n","import { from, mergeMap, of } from 'rxjs';\nimport { LoadingState, getDefaultTimeRange } from '@grafana/data';\nimport { getRunRequest } from '@grafana/runtime';\nimport { hasStandardVariableSupport, hasLegacyVariableSupport, hasCustomVariableSupport } from './guards.js';\n\nvar __defProp = Object.defineProperty;\nvar __defProps = Object.defineProperties;\nvar __getOwnPropDescs = Object.getOwnPropertyDescriptors;\nvar __getOwnPropSymbols = Object.getOwnPropertySymbols;\nvar __hasOwnProp = Object.prototype.hasOwnProperty;\nvar __propIsEnum = Object.prototype.propertyIsEnumerable;\nvar __defNormalProp = (obj, key, value) => key in obj ? __defProp(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;\nvar __spreadValues = (a, b) => {\n for (var prop in b || (b = {}))\n if (__hasOwnProp.call(b, prop))\n __defNormalProp(a, prop, b[prop]);\n if (__getOwnPropSymbols)\n for (var prop of __getOwnPropSymbols(b)) {\n if (__propIsEnum.call(b, prop))\n __defNormalProp(a, prop, b[prop]);\n }\n return a;\n};\nvar __spreadProps = (a, b) => __defProps(a, __getOwnPropDescs(b));\nclass StandardQueryRunner {\n constructor(datasource, _runRequest = getRunRequest()) {\n this.datasource = datasource;\n this._runRequest = _runRequest;\n }\n getTarget(variable) {\n if (hasStandardVariableSupport(this.datasource)) {\n return this.datasource.variables.toDataQuery(ensureVariableQueryModelIsADataQuery(variable));\n }\n throw new Error(\"Couldn't create a target with supplied arguments.\");\n }\n runRequest(_, request) {\n if (!hasStandardVariableSupport(this.datasource)) {\n return getEmptyMetricFindValueObservable();\n }\n if (!this.datasource.variables.query) {\n return this._runRequest(this.datasource, request);\n }\n return this._runRequest(this.datasource, request, this.datasource.variables.query.bind(this.datasource.variables));\n }\n}\nclass LegacyQueryRunner {\n constructor(datasource) {\n this.datasource = datasource;\n }\n getTarget(variable) {\n if (hasLegacyVariableSupport(this.datasource)) {\n return variable.state.query;\n }\n throw new Error(\"Couldn't create a target with supplied arguments.\");\n }\n runRequest({ variable, searchFilter }, request) {\n if (!hasLegacyVariableSupport(this.datasource)) {\n return getEmptyMetricFindValueObservable();\n }\n return from(\n this.datasource.metricFindQuery(variable.state.query, __spreadProps(__spreadValues({}, request), {\n variable: {\n name: variable.state.name,\n type: variable.state.type\n },\n searchFilter\n }))\n ).pipe(\n mergeMap((values) => {\n if (!values || !values.length) {\n return getEmptyMetricFindValueObservable();\n }\n const series = values;\n return of({ series, state: LoadingState.Done, timeRange: request.range });\n })\n );\n }\n}\nclass CustomQueryRunner {\n constructor(datasource, _runRequest = getRunRequest()) {\n this.datasource = datasource;\n this._runRequest = _runRequest;\n }\n getTarget(variable) {\n if (hasCustomVariableSupport(this.datasource)) {\n return variable.state.query;\n }\n throw new Error(\"Couldn't create a target with supplied arguments.\");\n }\n runRequest(_, request) {\n if (!hasCustomVariableSupport(this.datasource)) {\n return getEmptyMetricFindValueObservable();\n }\n if (!this.datasource.variables.query) {\n return this._runRequest(this.datasource, request);\n }\n return this._runRequest(this.datasource, request, this.datasource.variables.query.bind(this.datasource.variables));\n }\n}\nfunction getEmptyMetricFindValueObservable() {\n return of({ state: LoadingState.Done, series: [], timeRange: getDefaultTimeRange() });\n}\nfunction createQueryVariableRunnerFactory(datasource) {\n if (hasStandardVariableSupport(datasource)) {\n return new StandardQueryRunner(datasource, getRunRequest());\n }\n if (hasLegacyVariableSupport(datasource)) {\n return new LegacyQueryRunner(datasource);\n }\n if (hasCustomVariableSupport(datasource)) {\n return new CustomQueryRunner(datasource);\n }\n throw new Error(`Couldn't create a query runner for datasource ${datasource.type}`);\n}\nlet createQueryVariableRunner = createQueryVariableRunnerFactory;\nfunction ensureVariableQueryModelIsADataQuery(variable) {\n const query = variable.state.query;\n if (!query || typeof query !== \"object\") {\n return { query, refId: `variable-${variable.state.name}` };\n }\n if (query.refId == null) {\n return __spreadProps(__spreadValues({}, query), { refId: `variable-${variable.state.name}` });\n }\n return variable.state.query;\n}\n\nexport { createQueryVariableRunner };\n//# sourceMappingURL=createQueryVariableRunner.js.map\n","import { isNumber, uniqBy, sortBy, toLower } from 'lodash';\nimport { stringToJsRegex, VariableSort } from '@grafana/data';\n\nconst metricNamesToVariableValues = (variableRegEx, sort, metricNames) => {\n var _a, _b, _c, _d, _e, _f;\n let regex;\n let options = [];\n if (variableRegEx) {\n regex = stringToJsRegex(variableRegEx);\n }\n for (let i = 0; i < metricNames.length; i++) {\n const item = metricNames[i];\n let text = item.text === void 0 || item.text === null ? item.value : item.text;\n let value = item.value === void 0 || item.value === null ? item.text : item.value;\n if (isNumber(value)) {\n value = value.toString();\n }\n if (isNumber(text)) {\n text = text.toString();\n }\n if (regex) {\n const matches = getAllMatches(value, regex);\n if (!matches.length) {\n continue;\n }\n const valueGroup = matches.find((m) => m.groups && m.groups.value);\n const textGroup = matches.find((m) => m.groups && m.groups.text);\n const firstMatch = matches.find((m) => m.length > 1);\n const manyMatches = matches.length > 1 && firstMatch;\n if (valueGroup || textGroup) {\n value = (_c = (_a = valueGroup == null ? void 0 : valueGroup.groups) == null ? void 0 : _a.value) != null ? _c : (_b = textGroup == null ? void 0 : textGroup.groups) == null ? void 0 : _b.text;\n text = (_f = (_d = textGroup == null ? void 0 : textGroup.groups) == null ? void 0 : _d.text) != null ? _f : (_e = valueGroup == null ? void 0 : valueGroup.groups) == null ? void 0 : _e.value;\n } else if (manyMatches) {\n for (let j = 0; j < matches.length; j++) {\n const match = matches[j];\n options.push({ label: match[1], value: match[1] });\n }\n continue;\n } else if (firstMatch) {\n text = firstMatch[1];\n value = firstMatch[1];\n }\n }\n options.push({ label: text, value });\n }\n options = uniqBy(options, \"value\");\n return sortVariableValues(options, sort);\n};\nconst getAllMatches = (str, regex) => {\n const results = [];\n let matches = null;\n regex.lastIndex = 0;\n do {\n matches = regex.exec(str);\n if (matches) {\n results.push(matches);\n }\n } while (regex.global && matches && matches[0] !== \"\" && matches[0] !== void 0);\n return results;\n};\nconst sortVariableValues = (options, sortOrder) => {\n if (sortOrder === VariableSort.disabled) {\n return options;\n }\n const sortByNumeric = (opt) => {\n if (!opt.text) {\n return -1;\n }\n const matches = opt.text.match(/.*?(\\d+).*/);\n if (!matches || matches.length < 2) {\n return -1;\n } else {\n return parseInt(matches[1], 10);\n }\n };\n const sortByNaturalSort = (options2) => {\n return options2.sort((a, b) => {\n if (!a.text) {\n return -1;\n }\n if (!b.text) {\n return 1;\n }\n return a.text.localeCompare(b.text, void 0, { numeric: true });\n });\n };\n switch (sortOrder) {\n case VariableSort.alphabeticalAsc:\n options = sortBy(options, \"text\");\n break;\n case VariableSort.alphabeticalDesc:\n options = sortBy(options, \"text\").reverse();\n break;\n case VariableSort.numericalAsc:\n options = sortBy(options, sortByNumeric);\n break;\n case VariableSort.numericalDesc:\n options = sortBy(options, sortByNumeric);\n options = options.reverse();\n break;\n case VariableSort.alphabeticalCaseInsensitiveAsc:\n options = sortBy(options, (opt) => {\n return toLower(opt.text);\n });\n break;\n case VariableSort.alphabeticalCaseInsensitiveDesc:\n options = sortBy(options, (opt) => {\n return toLower(opt.text);\n });\n options = options.reverse();\n break;\n case (VariableSort.naturalAsc || 7):\n options = sortByNaturalSort(options);\n break;\n case (VariableSort.naturalDesc || 8):\n options = sortByNaturalSort(options);\n options = options.reverse();\n break;\n }\n return options;\n};\n\nexport { metricNamesToVariableValues, sortVariableValues };\n//# sourceMappingURL=utils.js.map\n","import { lastValueFrom, of, from, mergeMap, filter, take, throwError, catchError } from 'rxjs';\nimport { v4 } from 'uuid';\nimport { VariableRefresh, VariableSort, LoadingState, CoreApp } from '@grafana/data';\nimport { sceneGraph } from '../../../core/sceneGraph/index.js';\nimport { VariableDependencyConfig } from '../../VariableDependencyConfig.js';\nimport { renderSelectForVariable } from '../../components/VariableValueSelect.js';\nimport { MultiValueVariable } from '../MultiValueVariable.js';\nimport { createQueryVariableRunner } from './createQueryVariableRunner.js';\nimport { metricNamesToVariableValues } from './utils.js';\nimport { toMetricFindValues } from './toMetricFindValues.js';\nimport { getDataSource } from '../../../utils/getDataSource.js';\nimport { safeStringifyValue } from '../../utils.js';\nimport { SEARCH_FILTER_VARIABLE } from '../../constants.js';\nimport { debounce } from 'lodash';\n\nvar __defProp = Object.defineProperty;\nvar __getOwnPropSymbols = Object.getOwnPropertySymbols;\nvar __hasOwnProp = Object.prototype.hasOwnProperty;\nvar __propIsEnum = Object.prototype.propertyIsEnumerable;\nvar __defNormalProp = (obj, key, value) => key in obj ? __defProp(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;\nvar __spreadValues = (a, b) => {\n for (var prop in b || (b = {}))\n if (__hasOwnProp.call(b, prop))\n __defNormalProp(a, prop, b[prop]);\n if (__getOwnPropSymbols)\n for (var prop of __getOwnPropSymbols(b)) {\n if (__propIsEnum.call(b, prop))\n __defNormalProp(a, prop, b[prop]);\n }\n return a;\n};\nclass QueryVariable extends MultiValueVariable {\n constructor(initialState) {\n super(__spreadValues({\n type: \"query\",\n name: \"\",\n value: \"\",\n text: \"\",\n options: [],\n datasource: null,\n regex: \"\",\n query: { refId: \"A\" },\n refresh: VariableRefresh.onDashboardLoad,\n sort: VariableSort.disabled\n }, initialState));\n this._variableDependency = new VariableDependencyConfig(this, {\n statePaths: [\"regex\", \"query\", \"datasource\"]\n });\n this.onSearchChange = (searchFilter) => {\n if (!containsSearchFilter(this.state.query)) {\n return;\n }\n this._updateOptionsBasedOnSearchFilter(searchFilter);\n };\n this._updateOptionsBasedOnSearchFilter = debounce(async (searchFilter) => {\n const result = await lastValueFrom(this.getValueOptions({ searchFilter }));\n this.setState({ options: result, loading: false });\n }, 400);\n }\n getValueOptions(args) {\n if (!this.state.query) {\n return of([]);\n }\n this.setState({ loading: true, error: null });\n return from(\n getDataSource(this.state.datasource, {\n __sceneObject: { text: \"__sceneObject\", value: this }\n })\n ).pipe(\n mergeMap((ds) => {\n const runner = createQueryVariableRunner(ds);\n const target = runner.getTarget(this);\n const request = this.getRequest(target, args.searchFilter);\n return runner.runRequest({ variable: this, searchFilter: args.searchFilter }, request).pipe(\n filter((data) => data.state === LoadingState.Done || data.state === LoadingState.Error),\n take(1),\n mergeMap((data) => {\n if (data.state === LoadingState.Error) {\n return throwError(() => data.error);\n }\n return of(data);\n }),\n toMetricFindValues(),\n mergeMap((values) => {\n let regex = \"\";\n if (this.state.regex) {\n regex = sceneGraph.interpolate(this, this.state.regex, void 0, \"regex\");\n }\n return of(metricNamesToVariableValues(regex, this.state.sort, values));\n }),\n catchError((error) => {\n if (error.cancelled) {\n return of([]);\n }\n return throwError(() => error);\n })\n );\n })\n );\n }\n getRequest(target, searchFilter) {\n const scopedVars = {\n __sceneObject: { text: \"__sceneObject\", value: this }\n };\n if (searchFilter) {\n scopedVars.__searchFilter = { value: searchFilter, text: searchFilter };\n }\n const range = sceneGraph.getTimeRange(this).state.value;\n const request = {\n app: CoreApp.Dashboard,\n requestId: v4(),\n timezone: \"\",\n range,\n interval: \"\",\n intervalMs: 0,\n targets: [target],\n scopedVars,\n startTime: Date.now()\n };\n return request;\n }\n}\nQueryVariable.Component = ({ model }) => {\n return renderSelectForVariable(model);\n};\nfunction containsSearchFilter(query) {\n const str = safeStringifyValue(query);\n return str.indexOf(SEARCH_FILTER_VARIABLE);\n}\n\nexport { QueryVariable };\n//# sourceMappingURL=QueryVariable.js.map\n","import { getProcessedDataFrames, getFieldDisplayName, FieldType, isDataFrame } from '@grafana/data';\nimport { map } from 'rxjs';\n\nfunction toMetricFindValues() {\n return (source) => source.pipe(\n map((panelData) => {\n const frames = panelData.series;\n if (!frames || !frames.length) {\n return [];\n }\n if (areMetricFindValues(frames)) {\n return frames;\n }\n if (frames[0].fields.length === 0) {\n return [];\n }\n const processedDataFrames = getProcessedDataFrames(frames);\n const metrics = [];\n let valueIndex = -1;\n let textIndex = -1;\n let stringIndex = -1;\n let expandableIndex = -1;\n for (const frame of processedDataFrames) {\n for (let index = 0; index < frame.fields.length; index++) {\n const field = frame.fields[index];\n const fieldName = getFieldDisplayName(field, frame, frames).toLowerCase();\n if (field.type === FieldType.string && stringIndex === -1) {\n stringIndex = index;\n }\n if (fieldName === \"text\" && field.type === FieldType.string && textIndex === -1) {\n textIndex = index;\n }\n if (fieldName === \"value\" && field.type === FieldType.string && valueIndex === -1) {\n valueIndex = index;\n }\n if (fieldName === \"expandable\" && (field.type === FieldType.boolean || field.type === FieldType.number) && expandableIndex === -1) {\n expandableIndex = index;\n }\n }\n }\n if (stringIndex === -1) {\n throw new Error(\"Couldn't find any field of type string in the results.\");\n }\n for (const frame of frames) {\n for (let index = 0; index < frame.length; index++) {\n const expandable = expandableIndex !== -1 ? frame.fields[expandableIndex].values.get(index) : void 0;\n const string = frame.fields[stringIndex].values.get(index);\n const text = textIndex !== -1 ? frame.fields[textIndex].values.get(index) : null;\n const value = valueIndex !== -1 ? frame.fields[valueIndex].values.get(index) : null;\n if (valueIndex === -1 && textIndex === -1) {\n metrics.push({ text: string, value: string, expandable });\n continue;\n }\n if (valueIndex === -1 && textIndex !== -1) {\n metrics.push({ text, value: text, expandable });\n continue;\n }\n if (valueIndex !== -1 && textIndex === -1) {\n metrics.push({ text: value, value, expandable });\n continue;\n }\n metrics.push({ text, value, expandable });\n }\n }\n return metrics;\n })\n );\n}\nfunction areMetricFindValues(data) {\n if (!data) {\n return false;\n }\n if (!data.length) {\n return true;\n }\n const firstValue = data[0];\n if (isDataFrame(firstValue)) {\n return false;\n }\n for (const firstValueKey in firstValue) {\n if (!firstValue.hasOwnProperty(firstValueKey)) {\n continue;\n }\n if (firstValue[firstValueKey] !== null && typeof firstValue[firstValueKey] !== \"string\" && typeof firstValue[firstValueKey] !== \"number\") {\n continue;\n }\n const key = firstValueKey.toLowerCase();\n if (key === \"text\" || key === \"value\") {\n return true;\n }\n }\n return false;\n}\n\nexport { toMetricFindValues };\n//# sourceMappingURL=toMetricFindValues.js.map\n","function buildMetricTree(parent, depth) {\n const chars = [\"A\", \"B\", \"C\", \"D\", \"E\", \"F\", \"G\", \"H\"];\n const children = [];\n if (depth > 5) {\n return [];\n }\n for (const letter of chars) {\n const nodeName = `${parent}${letter}`;\n children.push({\n name: nodeName,\n children: buildMetricTree(nodeName, depth + 1)\n });\n }\n return children;\n}\nfunction queryTree(children, query, queryIndex) {\n if (queryIndex >= query.length) {\n return children;\n }\n if (query[queryIndex] === \"*\") {\n return children;\n }\n const nodeQuery = query[queryIndex];\n let result = [];\n let namesToMatch = [nodeQuery];\n if (nodeQuery.startsWith(\"{\")) {\n namesToMatch = nodeQuery.replace(/\\{|\\}/g, \"\").split(\",\");\n }\n for (const node of children) {\n for (const nameToMatch of namesToMatch) {\n if (nameToMatch.indexOf(\"*\") !== -1) {\n const pattern = nameToMatch.replace(\"*\", \"\");\n const regex = new RegExp(`^${pattern}.*`, \"gi\");\n if (regex.test(node.name)) {\n result = result.concat(queryTree([node], query, queryIndex + 1));\n }\n } else if (node.name === nameToMatch) {\n result = result.concat(queryTree(node.children, query, queryIndex + 1));\n }\n }\n }\n return result;\n}\nfunction queryMetricTree(query) {\n if (query.indexOf(\"value\") === 0) {\n return [{ name: query, children: [] }];\n }\n const children = buildMetricTree(\"\", 0);\n return queryTree(children, query.split(\".\"), 0);\n}\n\nexport { queryMetricTree };\n//# sourceMappingURL=metricTree.js.map\n","import { Subject, Observable } from 'rxjs';\nimport { sceneGraph } from '../../core/sceneGraph/index.js';\nimport { queryMetricTree } from '../../utils/metricTree.js';\nimport { VariableDependencyConfig } from '../VariableDependencyConfig.js';\nimport { renderSelectForVariable } from '../components/VariableValueSelect.js';\nimport { MultiValueVariable } from './MultiValueVariable.js';\nimport { VariableRefresh } from '@grafana/data';\nimport { getClosest } from '../../core/sceneGraph/utils.js';\nimport { SceneVariableSet } from '../sets/SceneVariableSet.js';\n\nvar __defProp = Object.defineProperty;\nvar __getOwnPropSymbols = Object.getOwnPropertySymbols;\nvar __hasOwnProp = Object.prototype.hasOwnProperty;\nvar __propIsEnum = Object.prototype.propertyIsEnumerable;\nvar __defNormalProp = (obj, key, value) => key in obj ? __defProp(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;\nvar __spreadValues = (a, b) => {\n for (var prop in b || (b = {}))\n if (__hasOwnProp.call(b, prop))\n __defNormalProp(a, prop, b[prop]);\n if (__getOwnPropSymbols)\n for (var prop of __getOwnPropSymbols(b)) {\n if (__propIsEnum.call(b, prop))\n __defNormalProp(a, prop, b[prop]);\n }\n return a;\n};\nclass TestVariable extends MultiValueVariable {\n constructor(initialState) {\n super(__spreadValues({\n type: \"custom\",\n name: \"Test\",\n value: \"Value\",\n text: \"Text\",\n query: \"Query\",\n options: [],\n refresh: VariableRefresh.onDashboardLoad\n }, initialState));\n this.completeUpdate = new Subject();\n this.isGettingValues = true;\n this.getValueOptionsCount = 0;\n this._variableDependency = new VariableDependencyConfig(this, {\n statePaths: [\"query\"]\n });\n }\n getValueOptions(args) {\n const { delayMs } = this.state;\n this.getValueOptionsCount += 1;\n return new Observable((observer) => {\n this.setState({ loading: true });\n if (this.state.throwError) {\n throw new Error(this.state.throwError);\n }\n const sub = this.completeUpdate.subscribe({\n next: () => {\n observer.next(this.issueQuery());\n observer.complete();\n }\n });\n let timeout;\n if (delayMs) {\n timeout = window.setTimeout(() => this.signalUpdateCompleted(), delayMs);\n } else if (delayMs === 0) {\n this.signalUpdateCompleted();\n }\n this.isGettingValues = true;\n return () => {\n sub.unsubscribe();\n window.clearTimeout(timeout);\n this.setState({ loading: false });\n this.isGettingValues = false;\n };\n });\n }\n cancel() {\n const sceneVarSet = getClosest(this, (s) => s instanceof SceneVariableSet ? s : void 0);\n sceneVarSet == null ? void 0 : sceneVarSet.cancel(this);\n }\n issueQuery() {\n const interpolatedQuery = sceneGraph.interpolate(this, this.state.query);\n const options = this.getOptions(interpolatedQuery);\n this.setState({\n issuedQuery: interpolatedQuery,\n options\n });\n return options;\n }\n getOptions(interpolatedQuery) {\n if (this.state.optionsToReturn) {\n return this.state.optionsToReturn;\n }\n return queryMetricTree(interpolatedQuery).map((x) => ({ label: x.name, value: x.name }));\n }\n signalUpdateCompleted() {\n this.completeUpdate.next(1);\n }\n}\nTestVariable.Component = ({ model }) => {\n return renderSelectForVariable(model);\n};\n\nexport { TestVariable };\n//# sourceMappingURL=TestVariable.js.map\n","import React, { useCallback } from 'react';\nimport { AutoSizeInput } from '@grafana/ui';\n\nfunction VariableValueInput({ model }) {\n const { value, key, loading } = model.useState();\n const onBlur = useCallback(\n (e) => {\n model.setValue(e.currentTarget.value);\n },\n [model]\n );\n const onKeyDown = useCallback(\n (e) => {\n if (e.key === \"Enter\") {\n model.setValue(e.currentTarget.value);\n }\n },\n [model]\n );\n return /* @__PURE__ */ React.createElement(AutoSizeInput, {\n id: key,\n placeholder: \"Enter value\",\n minWidth: 15,\n defaultValue: value,\n loading,\n onBlur,\n onKeyDown\n });\n}\n\nexport { VariableValueInput };\n//# sourceMappingURL=VariableValueInput.js.map\n","import React from 'react';\nimport { SceneObjectBase } from '../../core/SceneObjectBase.js';\nimport { SceneObjectUrlSyncConfig } from '../../services/SceneObjectUrlSyncConfig.js';\nimport { VariableValueInput } from '../components/VariableValueInput.js';\nimport { SceneVariableValueChangedEvent } from '../types.js';\n\nvar __defProp = Object.defineProperty;\nvar __getOwnPropSymbols = Object.getOwnPropertySymbols;\nvar __hasOwnProp = Object.prototype.hasOwnProperty;\nvar __propIsEnum = Object.prototype.propertyIsEnumerable;\nvar __defNormalProp = (obj, key, value) => key in obj ? __defProp(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;\nvar __spreadValues = (a, b) => {\n for (var prop in b || (b = {}))\n if (__hasOwnProp.call(b, prop))\n __defNormalProp(a, prop, b[prop]);\n if (__getOwnPropSymbols)\n for (var prop of __getOwnPropSymbols(b)) {\n if (__propIsEnum.call(b, prop))\n __defNormalProp(a, prop, b[prop]);\n }\n return a;\n};\nclass TextBoxVariable extends SceneObjectBase {\n constructor(initialState) {\n super(__spreadValues({\n type: \"textbox\",\n value: \"\",\n name: \"\"\n }, initialState));\n this._urlSync = new SceneObjectUrlSyncConfig(this, { keys: [this.getKey()] });\n }\n getValue() {\n return this.state.value;\n }\n setValue(newValue) {\n if (newValue !== this.state.value) {\n this.setState({ value: newValue });\n this.publishEvent(new SceneVariableValueChangedEvent(this), true);\n }\n }\n getKey() {\n return `var-${this.state.name}`;\n }\n getUrlState() {\n return { [this.getKey()]: this.state.value };\n }\n updateFromUrl(values) {\n const update = {};\n const val = values[this.getKey()];\n if (typeof val === \"string\") {\n update.value = val;\n }\n this.setState(update);\n }\n}\nTextBoxVariable.Component = ({ model }) => {\n return /* @__PURE__ */ React.createElement(VariableValueInput, {\n model\n });\n};\n\nexport { TextBoxVariable };\n//# sourceMappingURL=TextBoxVariable.js.map\n","import { SceneObjectBase } from '../../core/SceneObjectBase.js';\nimport { sceneGraph } from '../../core/sceneGraph/index.js';\n\nvar __defProp = Object.defineProperty;\nvar __defProps = Object.defineProperties;\nvar __getOwnPropDescs = Object.getOwnPropertyDescriptors;\nvar __getOwnPropSymbols = Object.getOwnPropertySymbols;\nvar __hasOwnProp = Object.prototype.hasOwnProperty;\nvar __propIsEnum = Object.prototype.propertyIsEnumerable;\nvar __defNormalProp = (obj, key, value) => key in obj ? __defProp(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;\nvar __spreadValues = (a, b) => {\n for (var prop in b || (b = {}))\n if (__hasOwnProp.call(b, prop))\n __defNormalProp(a, prop, b[prop]);\n if (__getOwnPropSymbols)\n for (var prop of __getOwnPropSymbols(b)) {\n if (__propIsEnum.call(b, prop))\n __defNormalProp(a, prop, b[prop]);\n }\n return a;\n};\nvar __spreadProps = (a, b) => __defProps(a, __getOwnPropDescs(b));\nclass LocalValueVariable extends SceneObjectBase {\n constructor(initialState) {\n super(__spreadProps(__spreadValues({\n type: \"system\",\n value: \"\",\n text: \"\",\n name: \"\"\n }, initialState), {\n skipUrlSync: true\n }));\n }\n getValue() {\n return this.state.value;\n }\n getValueText() {\n return this.state.text.toString();\n }\n isAncestorLoading() {\n var _a, _b;\n const ancestorScope = (_b = (_a = this.parent) == null ? void 0 : _a.parent) == null ? void 0 : _b.parent;\n if (!ancestorScope) {\n throw new Error(\"LocalValueVariable requires a parent SceneVariableSet that has an ancestor SceneVariableSet\");\n }\n const set = sceneGraph.getVariables(ancestorScope);\n const parentVar = sceneGraph.lookupVariable(this.state.name, ancestorScope);\n if (set && parentVar) {\n return set.isVariableLoadingOrWaitingToUpdate(parentVar);\n }\n throw new Error(\"LocalValueVariable requires a parent SceneVariableSet that has an ancestor SceneVariableSet\");\n }\n}\n\nexport { LocalValueVariable };\n//# sourceMappingURL=LocalValueVariable.js.map\n","import { rangeUtil } from '@grafana/data';\nimport { VariableRefresh } from '@grafana/schema';\nimport { Select } from '@grafana/ui';\nimport React from 'react';\nimport { of } from 'rxjs';\nimport { sceneGraph } from '../../core/sceneGraph/index.js';\nimport { SceneObjectBase } from '../../core/SceneObjectBase.js';\nimport { SceneObjectUrlSyncConfig } from '../../services/SceneObjectUrlSyncConfig.js';\nimport { AUTO_VARIABLE_VALUE, AUTO_VARIABLE_TEXT } from '../constants.js';\nimport { SceneVariableValueChangedEvent } from '../types.js';\n\nvar __defProp = Object.defineProperty;\nvar __getOwnPropSymbols = Object.getOwnPropertySymbols;\nvar __hasOwnProp = Object.prototype.hasOwnProperty;\nvar __propIsEnum = Object.prototype.propertyIsEnumerable;\nvar __defNormalProp = (obj, key, value) => key in obj ? __defProp(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;\nvar __spreadValues = (a, b) => {\n for (var prop in b || (b = {}))\n if (__hasOwnProp.call(b, prop))\n __defNormalProp(a, prop, b[prop]);\n if (__getOwnPropSymbols)\n for (var prop of __getOwnPropSymbols(b)) {\n if (__propIsEnum.call(b, prop))\n __defNormalProp(a, prop, b[prop]);\n }\n return a;\n};\nclass IntervalVariable extends SceneObjectBase {\n constructor(initialState) {\n super(__spreadValues({\n type: \"interval\",\n value: \"\",\n intervals: [\"1m\", \"10m\", \"30m\", \"1h\", \"6h\", \"12h\", \"1d\", \"7d\", \"14d\", \"30d\"],\n name: \"\",\n autoStepCount: 30,\n autoMinInterval: \"10s\",\n autoEnabled: false,\n refresh: VariableRefresh.onTimeRangeChanged\n }, initialState));\n this._onChange = (value) => {\n this.setState({ value: value.value });\n this.publishEvent(new SceneVariableValueChangedEvent(this), true);\n };\n this._urlSync = new SceneObjectUrlSyncConfig(this, { keys: [this.getKey()] });\n }\n getKey() {\n return `var-${this.state.name}`;\n }\n getUrlState() {\n return { [this.getKey()]: this.state.value };\n }\n updateFromUrl(values) {\n const update = {};\n const val = values[this.getKey()];\n if (typeof val === \"string\") {\n if (val.startsWith(\"$__auto_interval_\")) {\n update.value = AUTO_VARIABLE_VALUE;\n } else {\n update.value = val;\n }\n }\n this.setState(update);\n }\n getOptionsForSelect() {\n const { value: currentValue, intervals, autoEnabled } = this.state;\n let options = intervals.map((interval) => ({ value: interval, label: interval }));\n if (autoEnabled) {\n options = [{ value: AUTO_VARIABLE_VALUE, label: AUTO_VARIABLE_TEXT }, ...options];\n }\n if (currentValue && !options.some((option) => option.value === currentValue)) {\n options.push({ value: currentValue, label: currentValue });\n }\n return options;\n }\n getValue() {\n const { value, autoStepCount, autoMinInterval } = this.state;\n if (value === AUTO_VARIABLE_VALUE) {\n return this.getAutoRefreshInteval(autoStepCount, autoMinInterval);\n }\n return value;\n }\n getAutoRefreshInteval(autoStepCount, minRefreshInterval) {\n const timeRange = sceneGraph.getTimeRange(this).state.value;\n const intervalObject = rangeUtil.calculateInterval(timeRange, autoStepCount, minRefreshInterval);\n return intervalObject.interval;\n }\n validateAndUpdate() {\n const { value, intervals } = this.state;\n let shouldPublish = false;\n if (value === AUTO_VARIABLE_VALUE) {\n shouldPublish = true;\n } else if (!value && intervals.length > 0) {\n const firstOption = intervals[0];\n this.setState({ value: firstOption });\n shouldPublish = true;\n }\n if (shouldPublish) {\n this.publishEvent(new SceneVariableValueChangedEvent(this), true);\n }\n return of({});\n }\n}\nIntervalVariable.Component = ({ model }) => {\n const { key, value } = model.useState();\n return /* @__PURE__ */ React.createElement(Select, {\n id: key,\n placeholder: \"Select value\",\n width: \"auto\",\n value,\n tabSelectsValue: false,\n options: model.getOptionsForSelect(),\n onChange: model._onChange\n });\n};\n\nexport { IntervalVariable };\n//# sourceMappingURL=IntervalVariable.js.map\n","class AdHocFiltersVariableUrlSyncHandler {\n constructor(_variable) {\n this._variable = _variable;\n }\n getKey() {\n return `var-${this._variable.state.name}`;\n }\n getKeys() {\n return [this.getKey()];\n }\n getUrlState() {\n let filters = this._variable.state.filters;\n const value = filters.map((filter) => toArray(filter).map(escapeDelimiter).join(\"|\"));\n return { [this.getKey()]: value };\n }\n updateFromUrl(values) {\n const urlValue = values[this.getKey()];\n if (urlValue == null) {\n return;\n }\n const filters = deserializeUrlToFilters(urlValue);\n this._variable.setState({ filters });\n }\n}\nfunction deserializeUrlToFilters(value) {\n if (Array.isArray(value)) {\n const values = value;\n return values.map(toFilter).filter(isFilter);\n }\n const filter = toFilter(value);\n return filter === null ? [] : [filter];\n}\nfunction escapeDelimiter(value) {\n if (value === null || value === void 0) {\n return \"\";\n }\n return /\\|/g[Symbol.replace](value, \"__gfp__\");\n}\nfunction unescapeDelimiter(value) {\n if (value === null || value === void 0) {\n return \"\";\n }\n return /__gfp__/g[Symbol.replace](value, \"|\");\n}\nfunction toArray(filter) {\n return [filter.key, filter.operator, filter.value];\n}\nfunction toFilter(value) {\n if (typeof value !== \"string\" || value.length === 0) {\n return null;\n }\n const parts = value.split(\"|\").map(unescapeDelimiter);\n return {\n key: parts[0],\n operator: parts[1],\n value: parts[2],\n condition: \"\"\n };\n}\nfunction isFilter(filter) {\n return filter !== null && typeof filter.key === \"string\" && typeof filter.value === \"string\";\n}\n\nexport { AdHocFiltersVariableUrlSyncHandler };\n//# sourceMappingURL=AdHocFiltersVariableUrlSyncHandler.js.map\n","import React, { useState } from 'react';\nimport { toOption } from '@grafana/data';\nimport { useStyles2, Select, Field, Button } from '@grafana/ui';\nimport { css } from '@emotion/css';\nimport { ControlsLabel } from '../../utils/ControlsLabel.js';\n\nvar __defProp = Object.defineProperty;\nvar __defProps = Object.defineProperties;\nvar __getOwnPropDescs = Object.getOwnPropertyDescriptors;\nvar __getOwnPropSymbols = Object.getOwnPropertySymbols;\nvar __hasOwnProp = Object.prototype.hasOwnProperty;\nvar __propIsEnum = Object.prototype.propertyIsEnumerable;\nvar __defNormalProp = (obj, key, value) => key in obj ? __defProp(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;\nvar __spreadValues = (a, b) => {\n for (var prop in b || (b = {}))\n if (__hasOwnProp.call(b, prop))\n __defNormalProp(a, prop, b[prop]);\n if (__getOwnPropSymbols)\n for (var prop of __getOwnPropSymbols(b)) {\n if (__propIsEnum.call(b, prop))\n __defNormalProp(a, prop, b[prop]);\n }\n return a;\n};\nvar __spreadProps = (a, b) => __defProps(a, __getOwnPropDescs(b));\nfunction AdHocFilterRenderer({ filter, model }) {\n var _a, _b;\n const styles = useStyles2(getStyles);\n const [state, setState] = useState({});\n const keyValue = filter.key !== \"\" ? toOption(filter.key) : null;\n const valueValue = filter.value !== \"\" ? toOption(filter.value) : null;\n const valueSelect = /* @__PURE__ */ React.createElement(Select, {\n disabled: model.state.readOnly,\n className: state.isKeysOpen ? styles.widthWhenOpen : void 0,\n width: \"auto\",\n value: valueValue,\n placeholder: \"value\",\n options: state.values,\n onChange: (v) => model._updateFilter(filter, \"value\", v.value),\n isOpen: state.isValuesOpen,\n isLoading: state.isValuesLoading,\n onOpenMenu: async () => {\n setState(__spreadProps(__spreadValues({}, state), { isValuesLoading: true }));\n const values = await model._getValuesFor(filter);\n setState(__spreadProps(__spreadValues({}, state), { isValuesLoading: false, isValuesOpen: true, values }));\n },\n onCloseMenu: () => {\n setState(__spreadProps(__spreadValues({}, state), { isValuesOpen: false }));\n }\n });\n const keySelect = /* @__PURE__ */ React.createElement(Select, {\n disabled: model.state.readOnly,\n className: state.isKeysOpen ? styles.widthWhenOpen : void 0,\n width: \"auto\",\n value: keyValue,\n placeholder: \"Select label\",\n options: state.keys,\n onChange: (v) => model._updateFilter(filter, \"key\", v.value),\n autoFocus: filter.key === \"\",\n isOpen: state.isKeysOpen,\n isLoading: state.isKeysLoading,\n onOpenMenu: async () => {\n setState(__spreadProps(__spreadValues({}, state), { isKeysLoading: true }));\n const keys = await model._getKeys(filter.key);\n setState(__spreadProps(__spreadValues({}, state), { isKeysLoading: false, isKeysOpen: true, keys }));\n },\n onCloseMenu: () => {\n setState(__spreadProps(__spreadValues({}, state), { isKeysOpen: false }));\n },\n openMenuOnFocus: true\n });\n if (model.state.layout === \"vertical\") {\n if (filter.key) {\n const label = /* @__PURE__ */ React.createElement(ControlsLabel, {\n layout: \"vertical\",\n label: (_a = filter.key) != null ? _a : \"\",\n onRemove: () => model._removeFilter(filter)\n });\n return /* @__PURE__ */ React.createElement(Field, {\n label,\n \"data-testid\": `AdHocFilter-${filter.key}`,\n className: styles.field\n }, valueSelect);\n } else {\n return /* @__PURE__ */ React.createElement(Field, {\n label: \"Select label\",\n \"data-testid\": `AdHocFilter-${filter.key}`,\n className: styles.field\n }, keySelect);\n }\n }\n return /* @__PURE__ */ React.createElement(\"div\", {\n className: styles.wrapper,\n \"data-testid\": `AdHocFilter-${filter.key}`\n }, keySelect, /* @__PURE__ */ React.createElement(Select, {\n value: filter.operator,\n disabled: model.state.readOnly,\n options: model._getOperators(),\n width: \"auto\",\n onChange: (v) => model._updateFilter(filter, \"operator\", v.value)\n }), valueSelect, /* @__PURE__ */ React.createElement(Button, {\n variant: \"secondary\",\n \"aria-label\": \"Remove filter\",\n title: \"Remove filter\",\n className: styles.removeButton,\n icon: \"times\",\n \"data-testid\": `AdHocFilter-remove-${(_b = filter.key) != null ? _b : \"\"}`,\n onClick: () => model._removeFilter(filter)\n }));\n}\nconst getStyles = (theme) => ({\n field: css({\n marginBottom: 0\n }),\n wrapper: css({\n display: \"flex\",\n \"> *\": {\n \"&:not(:first-child)\": {\n marginLeft: -1\n },\n \"&:first-child\": {\n borderTopRightRadius: 0,\n borderBottomRightRadius: 0\n },\n \"&:last-child\": {\n borderTopLeftRadius: 0,\n borderBottomLeftRadius: 0\n },\n \"&:not(:first-child):not(:last-child)\": {\n borderRadius: 0\n },\n position: \"relative\",\n zIndex: 0,\n \"&:hover\": {\n zIndex: 1\n },\n \"&:focus-within\": {\n zIndex: 2\n }\n }\n }),\n widthWhenOpen: css({\n minWidth: theme.spacing(16)\n }),\n removeButton: css({\n paddingLeft: theme.spacing(3 / 2),\n paddingRight: theme.spacing(3 / 2),\n borderLeft: \"none\",\n position: \"relative\",\n left: \"1px\"\n })\n});\n\nexport { AdHocFilterRenderer };\n//# sourceMappingURL=AdHocFilterRenderer.js.map\n","import React from 'react';\nimport { AdHocFilterRenderer } from './AdHocFilterRenderer.js';\nimport { Button } from '@grafana/ui';\n\nfunction AdHocFilterBuilder({ model }) {\n const { _wip } = model.useState();\n if (!_wip) {\n return /* @__PURE__ */ React.createElement(Button, {\n variant: \"secondary\",\n icon: \"plus\",\n title: \"Add filter\",\n \"aria-label\": \"Add filter\",\n \"data-testid\": `AdHocFilter-add`,\n onClick: () => model._addWip()\n });\n }\n return /* @__PURE__ */ React.createElement(AdHocFilterRenderer, {\n filter: _wip,\n model\n });\n}\n\nexport { AdHocFilterBuilder };\n//# sourceMappingURL=AdHocFilterBuilder.js.map\n","import { SceneObjectBase } from '../../core/SceneObjectBase.js';\nimport { patchGetAdhocFilters } from './patchGetAdhocFilters.js';\nimport { getDataSourceSrv } from '@grafana/runtime';\nimport { AdHocFiltersVariableUrlSyncHandler } from './AdHocFiltersVariableUrlSyncHandler.js';\nimport { useStyles2 } from '@grafana/ui';\nimport React from 'react';\nimport { ControlsLabel } from '../../utils/ControlsLabel.js';\nimport { AdHocFilterRenderer } from './AdHocFilterRenderer.js';\nimport { AdHocFilterBuilder } from './AdHocFilterBuilder.js';\nimport { css } from '@emotion/css';\nimport { sceneGraph } from '../../core/sceneGraph/index.js';\n\nvar __defProp = Object.defineProperty;\nvar __defProps = Object.defineProperties;\nvar __getOwnPropDescs = Object.getOwnPropertyDescriptors;\nvar __getOwnPropSymbols = Object.getOwnPropertySymbols;\nvar __hasOwnProp = Object.prototype.hasOwnProperty;\nvar __propIsEnum = Object.prototype.propertyIsEnumerable;\nvar __defNormalProp = (obj, key, value) => key in obj ? __defProp(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;\nvar __spreadValues = (a, b) => {\n for (var prop in b || (b = {}))\n if (__hasOwnProp.call(b, prop))\n __defNormalProp(a, prop, b[prop]);\n if (__getOwnPropSymbols)\n for (var prop of __getOwnPropSymbols(b)) {\n if (__propIsEnum.call(b, prop))\n __defNormalProp(a, prop, b[prop]);\n }\n return a;\n};\nvar __spreadProps = (a, b) => __defProps(a, __getOwnPropDescs(b));\nclass AdHocFilterSet extends SceneObjectBase {\n constructor(initialState) {\n super(__spreadValues({\n name: \"Filters\",\n filters: [],\n baseFilters: [],\n datasource: null,\n applyMode: \"same-datasource\",\n layout: \"horizontal\"\n }, initialState));\n this._urlSync = new AdHocFiltersVariableUrlSyncHandler(this);\n this._scopedVars = { __sceneObject: { value: this } };\n this._dataSourceSrv = getDataSourceSrv();\n if (this.state.applyMode === \"same-datasource\") {\n patchGetAdhocFilters(this);\n }\n }\n _updateFilter(filter, prop, value) {\n if (value == null) {\n return;\n }\n const { filters, _wip } = this.state;\n if (filter === _wip) {\n if (prop === \"value\") {\n this.setState({ filters: [...filters, __spreadProps(__spreadValues({}, _wip), { [prop]: value })], _wip: void 0 });\n } else {\n this.setState({ _wip: __spreadProps(__spreadValues({}, filter), { [prop]: value }) });\n }\n return;\n }\n const updatedFilters = this.state.filters.map((f) => {\n if (f === filter) {\n return __spreadProps(__spreadValues({}, f), { [prop]: value });\n }\n return f;\n });\n this.setState({ filters: updatedFilters });\n }\n _removeFilter(filter) {\n if (filter === this.state._wip) {\n this.setState({ _wip: void 0 });\n return;\n }\n this.setState({ filters: this.state.filters.filter((f) => f !== filter) });\n }\n async _getKeys(currentKey) {\n var _a, _b;\n const override = await ((_b = (_a = this.state).getTagKeysProvider) == null ? void 0 : _b.call(_a, this, currentKey));\n if (override && override.replace) {\n return override.values.map(toSelectableValue);\n }\n const ds = await this._dataSourceSrv.get(this.state.datasource, this._scopedVars);\n if (!ds || !ds.getTagKeys) {\n return [];\n }\n const otherFilters = this.state.filters.filter((f) => f.key !== currentKey).concat(this.state.baseFilters);\n let keys = await ds.getTagKeys({ filters: otherFilters });\n if (override) {\n keys = keys.concat(override.values);\n }\n const tagKeyRegexFilter = this.state.tagKeyRegexFilter;\n if (tagKeyRegexFilter) {\n keys = keys.filter((f) => f.text.match(tagKeyRegexFilter));\n }\n return keys.map(toSelectableValue);\n }\n async _getValuesFor(filter) {\n var _a, _b;\n const override = await ((_b = (_a = this.state).getTagValuesProvider) == null ? void 0 : _b.call(_a, this, filter));\n if (override && override.replace) {\n return override.values.map(toSelectableValue);\n }\n const ds = await this._dataSourceSrv.get(this.state.datasource, this._scopedVars);\n if (!ds || !ds.getTagValues) {\n return [];\n }\n const otherFilters = this.state.filters.filter((f) => f.key !== filter.key).concat(this.state.baseFilters);\n const timeRange = sceneGraph.getTimeRange(this).state.value;\n let values = await ds.getTagValues({ key: filter.key, filters: otherFilters, timeRange });\n if (override) {\n values = values.concat(override.values);\n }\n return values.map(toSelectableValue);\n }\n _addWip() {\n this.setState({ _wip: { key: \"\", value: \"\", operator: \"=\", condition: \"\" } });\n }\n _getOperators() {\n return [\"=\", \"!=\", \"<\", \">\", \"=~\", \"!~\"].map((value) => ({\n label: value,\n value\n }));\n }\n}\nAdHocFilterSet.Component = AdHocFiltersSetRenderer;\nfunction AdHocFiltersSetRenderer({ model }) {\n const { filters, readOnly, layout, name } = model.useState();\n const styles = useStyles2(getStyles);\n return /* @__PURE__ */ React.createElement(\"div\", {\n className: styles.wrapper\n }, layout !== \"vertical\" && /* @__PURE__ */ React.createElement(ControlsLabel, {\n label: name != null ? name : \"Filters\",\n icon: \"filter\"\n }), filters.map((filter, index) => /* @__PURE__ */ React.createElement(React.Fragment, {\n key: index\n }, /* @__PURE__ */ React.createElement(AdHocFilterRenderer, {\n filter,\n model\n }))), !readOnly && /* @__PURE__ */ React.createElement(AdHocFilterBuilder, {\n model,\n key: \"'builder\"\n }));\n}\nconst getStyles = (theme) => ({\n wrapper: css({\n display: \"flex\",\n gap: theme.spacing(2),\n alignItems: \"flex-end\"\n }),\n filterIcon: css({\n color: theme.colors.text.secondary,\n paddingRight: theme.spacing(0.5)\n })\n});\nfunction toSelectableValue({ text, value }) {\n return {\n label: text,\n value: String(value != null ? value : text)\n };\n}\n\nexport { AdHocFilterSet, AdHocFiltersSetRenderer };\n//# sourceMappingURL=AdHocFiltersSet.js.map\n","import { defaultDashboard as defaultDashboard$1, defaultVariableModel as defaultVariableModel$1, defaultPanel as defaultPanel$1, defaultRowPanel as defaultRowPanel$1, defaultFieldConfig as defaultFieldConfig$1, defaultFieldConfigSource as defaultFieldConfigSource$1, defaultMatcherConfig as defaultMatcherConfig$1, defaultAnnotationQuery as defaultAnnotationQuery$1, defaultAnnotationContainer as defaultAnnotationContainer$1, defaultThresholdsConfig as defaultThresholdsConfig$1 } from '../raw/dashboard/x/dashboard_types.gen.js';\n\nvar __defProp = Object.defineProperty;\nvar __defProps = Object.defineProperties;\nvar __getOwnPropDescs = Object.getOwnPropertyDescriptors;\nvar __getOwnPropSymbols = Object.getOwnPropertySymbols;\nvar __hasOwnProp = Object.prototype.hasOwnProperty;\nvar __propIsEnum = Object.prototype.propertyIsEnumerable;\nvar __defNormalProp = (obj, key, value) => key in obj ? __defProp(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;\nvar __spreadValues = (a, b) => {\n for (var prop in b || (b = {}))\n if (__hasOwnProp.call(b, prop))\n __defNormalProp(a, prop, b[prop]);\n if (__getOwnPropSymbols)\n for (var prop of __getOwnPropSymbols(b)) {\n if (__propIsEnum.call(b, prop))\n __defNormalProp(a, prop, b[prop]);\n }\n return a;\n};\nvar __spreadProps = (a, b) => __defProps(a, __getOwnPropDescs(b));\nvar VariableHide = /* @__PURE__ */ ((VariableHide2) => {\n VariableHide2[VariableHide2[\"dontHide\"] = 0] = \"dontHide\";\n VariableHide2[VariableHide2[\"hideLabel\"] = 1] = \"hideLabel\";\n VariableHide2[VariableHide2[\"hideVariable\"] = 2] = \"hideVariable\";\n return VariableHide2;\n})(VariableHide || {});\nconst defaultDashboard = defaultDashboard$1;\nconst defaultVariableModel = __spreadProps(__spreadValues({}, defaultVariableModel$1), {\n description: null,\n hide: 0 /* dontHide */,\n datasource: null\n});\nconst defaultPanel = defaultPanel$1;\nconst defaultRowPanel = defaultRowPanel$1;\nconst defaultFieldConfig = defaultFieldConfig$1;\nconst defaultFieldConfigSource = defaultFieldConfigSource$1;\nconst defaultMatcherConfig = defaultMatcherConfig$1;\nconst defaultAnnotationQuery = defaultAnnotationQuery$1;\nconst defaultAnnotationContainer = defaultAnnotationContainer$1;\nconst defaultThresholdsConfig = defaultThresholdsConfig$1;\n\nexport { VariableHide, defaultAnnotationContainer, defaultAnnotationQuery, defaultDashboard, defaultFieldConfig, defaultFieldConfigSource, defaultMatcherConfig, defaultPanel, defaultRowPanel, defaultThresholdsConfig, defaultVariableModel };\n//# sourceMappingURL=dashboard.types.js.map\n","import React from 'react';\nimport { SceneObjectBase } from '../../core/SceneObjectBase.js';\nimport { SceneVariableValueChangedEvent } from '../types.js';\nimport { AdHocFilterSet } from './AdHocFiltersSet.js';\nimport { VariableHide } from '@grafana/schema';\nimport { renderPrometheusLabelFilters } from '../utils.js';\n\nvar __defProp = Object.defineProperty;\nvar __defProps = Object.defineProperties;\nvar __getOwnPropDescs = Object.getOwnPropertyDescriptors;\nvar __getOwnPropSymbols = Object.getOwnPropertySymbols;\nvar __hasOwnProp = Object.prototype.hasOwnProperty;\nvar __propIsEnum = Object.prototype.propertyIsEnumerable;\nvar __defNormalProp = (obj, key, value) => key in obj ? __defProp(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;\nvar __spreadValues = (a, b) => {\n for (var prop in b || (b = {}))\n if (__hasOwnProp.call(b, prop))\n __defNormalProp(a, prop, b[prop]);\n if (__getOwnPropSymbols)\n for (var prop of __getOwnPropSymbols(b)) {\n if (__propIsEnum.call(b, prop))\n __defNormalProp(a, prop, b[prop]);\n }\n return a;\n};\nvar __spreadProps = (a, b) => __defProps(a, __getOwnPropDescs(b));\nconst _AdHocFiltersVariable = class extends SceneObjectBase {\n static create(state) {\n var _a;\n return new _AdHocFiltersVariable({\n type: \"adhoc\",\n hide: VariableHide.hideLabel,\n name: (_a = state.name) != null ? _a : \"Filters\",\n set: new AdHocFilterSet(__spreadProps(__spreadValues({}, state), {\n applyMode: \"manual\"\n }))\n });\n }\n constructor(state) {\n var _a;\n super(__spreadProps(__spreadValues({}, state), {\n filterExpression: (_a = state.filterExpression) != null ? _a : renderPrometheusLabelFilters(state.set.state.filters)\n }));\n this.addActivationHandler(() => {\n this._subs.add(\n this.state.set.subscribeToState((newState, prevState) => {\n if (newState.filters !== prevState.filters) {\n this._updateFilterExpression(newState.filters, true);\n }\n })\n );\n this._updateFilterExpression(this.state.set.state.filters, false);\n });\n }\n getValue() {\n return this.state.filterExpression;\n }\n _updateFilterExpression(filters, publishEvent) {\n let expr = renderPrometheusLabelFilters(filters);\n if (expr === this.state.filterExpression) {\n return;\n }\n this.setState({ filterExpression: expr });\n if (publishEvent) {\n this.publishEvent(new SceneVariableValueChangedEvent(this), true);\n }\n }\n};\nlet AdHocFiltersVariable = _AdHocFiltersVariable;\nAdHocFiltersVariable.Component = ({ model }) => {\n return /* @__PURE__ */ React.createElement(AdHocFilterSet.Component, {\n model: model.state.set\n });\n};\n\nexport { AdHocFiltersVariable };\n//# sourceMappingURL=AdHocFiltersVariable.js.map\n","import { isEqual } from 'lodash';\nimport { locationService } from '@grafana/runtime';\nimport { SceneObjectStateChangedEvent } from '../core/events.js';\nimport { writeSceneLog } from '../utils/writeSceneLog.js';\n\nclass UrlSyncManager {\n constructor() {\n this.urlKeyMapper = new UniqueUrlKeyMapper();\n this._stateSub = null;\n this._locationSub = null;\n this._onLocationUpdate = (location) => {\n if (this._lastPath !== location.pathname) {\n return;\n }\n const urlParams = new URLSearchParams(location.search);\n this.urlKeyMapper.rebuildIndex(this._sceneRoot);\n this._syncSceneStateFromUrl(this._sceneRoot, urlParams);\n this._lastPath = location.pathname;\n };\n this._onStateChanged = ({ payload }) => {\n const changedObject = payload.changedObject;\n if (changedObject.urlSync) {\n const newUrlState = changedObject.urlSync.getUrlState();\n const searchParams = locationService.getSearch();\n const mappedUpdated = {};\n this.urlKeyMapper.rebuildIndex(this._sceneRoot);\n for (const [key, newUrlValue] of Object.entries(newUrlState)) {\n const uniqueKey = this.urlKeyMapper.getUniqueKey(key, changedObject);\n const currentUrlValue = searchParams.getAll(uniqueKey);\n if (!isUrlValueEqual(currentUrlValue, newUrlValue)) {\n mappedUpdated[uniqueKey] = newUrlValue;\n }\n }\n if (Object.keys(mappedUpdated).length > 0) {\n locationService.partial(mappedUpdated, true);\n }\n }\n };\n }\n initSync(root) {\n if (!this._locationSub) {\n writeSceneLog(\"UrlSyncManager\", \"New location listen\");\n this._locationSub = locationService.getHistory().listen(this._onLocationUpdate);\n }\n if (this._stateSub) {\n writeSceneLog(\"UrlSyncManager\", \"Unregister previous scene state subscription\", this._sceneRoot.state.key);\n this._stateSub.unsubscribe();\n }\n this._sceneRoot = root;\n this._lastPath = locationService.getLocation().pathname;\n this._stateSub = root.subscribeToEvent(SceneObjectStateChangedEvent, this._onStateChanged);\n this.syncFrom(this._sceneRoot);\n }\n cleanUp(root) {\n if (this._sceneRoot !== root) {\n return;\n }\n writeSceneLog(\"UrlSyncManager\", \"Clean up\");\n if (this._locationSub) {\n this._locationSub();\n writeSceneLog(\"UrlSyncManager\", \"Unregister history listen\");\n this._locationSub = null;\n }\n if (this._stateSub) {\n this._stateSub.unsubscribe();\n this._stateSub = null;\n writeSceneLog(\n \"UrlSyncManager\",\n \"Root deactived, unsub to state\",\n \"same key\",\n this._sceneRoot.state.key === root.state.key\n );\n }\n }\n syncFrom(sceneObj) {\n const urlParams = locationService.getSearch();\n this.urlKeyMapper.rebuildIndex(this._sceneRoot);\n this._syncSceneStateFromUrl(sceneObj, urlParams);\n }\n _syncSceneStateFromUrl(sceneObject, urlParams) {\n if (sceneObject.urlSync) {\n const urlState = {};\n const currentState = sceneObject.urlSync.getUrlState();\n for (const key of sceneObject.urlSync.getKeys()) {\n const uniqueKey = this.urlKeyMapper.getUniqueKey(key, sceneObject);\n const newValue = urlParams.getAll(uniqueKey);\n const currentValue = currentState[key];\n if (isUrlValueEqual(newValue, currentValue)) {\n continue;\n }\n if (newValue.length > 0) {\n if (Array.isArray(currentValue)) {\n urlState[key] = newValue;\n } else {\n urlState[key] = newValue[0];\n }\n } else {\n urlState[key] = null;\n }\n }\n if (Object.keys(urlState).length > 0) {\n sceneObject.urlSync.updateFromUrl(urlState);\n }\n }\n sceneObject.forEachChild((child) => this._syncSceneStateFromUrl(child, urlParams));\n }\n getUrlState(root) {\n const urlKeyMapper = new UniqueUrlKeyMapper();\n urlKeyMapper.rebuildIndex(root);\n const result = {};\n const visitNode = (obj) => {\n if (obj.urlSync) {\n const newUrlState = obj.urlSync.getUrlState();\n for (const [key, value] of Object.entries(newUrlState)) {\n if (value != null) {\n const uniqueKey = urlKeyMapper.getUniqueKey(key, obj);\n result[uniqueKey] = value;\n }\n }\n }\n obj.forEachChild(visitNode);\n };\n visitNode(root);\n return result;\n }\n}\nclass UniqueUrlKeyMapper {\n constructor() {\n this.index = /* @__PURE__ */ new Map();\n }\n getUniqueKey(key, obj) {\n const objectsWithKey = this.index.get(key);\n if (!objectsWithKey) {\n throw new Error(\"Cannot find any scene object that uses the key '\" + key + \"'\");\n }\n const address = objectsWithKey.findIndex((o) => o.sceneObject === obj);\n if (address > 0) {\n return `${key}-${address + 1}`;\n }\n return key;\n }\n rebuildIndex(root) {\n this.index.clear();\n this.buildIndex(root, 0);\n }\n buildIndex(sceneObject, depth) {\n if (sceneObject.urlSync) {\n for (const key of sceneObject.urlSync.getKeys()) {\n const hit = this.index.get(key);\n if (hit) {\n hit.push({ sceneObject, depth });\n hit.sort((a, b) => a.depth - b.depth);\n } else {\n this.index.set(key, [{ sceneObject, depth }]);\n }\n }\n }\n sceneObject.forEachChild((child) => this.buildIndex(child, depth + 1));\n }\n}\nfunction isUrlValueEqual(currentUrlValue, newUrlValue) {\n if (currentUrlValue.length === 0 && newUrlValue == null) {\n return true;\n }\n if (!Array.isArray(newUrlValue) && (currentUrlValue == null ? void 0 : currentUrlValue.length) === 1) {\n return newUrlValue === currentUrlValue[0];\n }\n if ((newUrlValue == null ? void 0 : newUrlValue.length) === 0 && currentUrlValue === null) {\n return true;\n }\n return isEqual(currentUrlValue, newUrlValue);\n}\nlet urlSyncManager;\nfunction getUrlSyncManager() {\n if (!urlSyncManager) {\n urlSyncManager = new UrlSyncManager();\n }\n return urlSyncManager;\n}\n\nexport { UrlSyncManager, getUrlSyncManager, isUrlValueEqual };\n//# sourceMappingURL=UrlSyncManager.js.map\n","import { css } from '@emotion/css';\nimport { useStyles2 } from '@grafana/ui';\nimport React from 'react';\nimport { SceneObjectBase } from '../core/SceneObjectBase.js';\nimport { getUrlSyncManager } from '../services/UrlSyncManager.js';\nimport { setWindowGrafanaSceneContext } from '../utils/compatibility/setWindowGrafanaSceneContext.js';\n\nclass EmbeddedScene extends SceneObjectBase {\n constructor(state) {\n super(state);\n this.addActivationHandler(() => {\n const unsetGlobalScene = setWindowGrafanaSceneContext(this);\n return () => {\n unsetGlobalScene();\n getUrlSyncManager().cleanUp(this);\n };\n });\n }\n initUrlSync() {\n getUrlSyncManager().initSync(this);\n }\n}\nEmbeddedScene.Component = EmbeddedSceneRenderer;\nfunction EmbeddedSceneRenderer({ model }) {\n const { body, controls } = model.useState();\n const styles = useStyles2(getStyles);\n return /* @__PURE__ */ React.createElement(\"div\", {\n className: styles.container\n }, controls && /* @__PURE__ */ React.createElement(\"div\", {\n className: styles.controls\n }, controls.map((control) => /* @__PURE__ */ React.createElement(control.Component, {\n key: control.state.key,\n model: control\n }))), /* @__PURE__ */ React.createElement(\"div\", {\n className: styles.body\n }, /* @__PURE__ */ React.createElement(body.Component, {\n model: body\n })));\n}\nconst getStyles = (theme) => {\n return {\n container: css({\n flexGrow: 1,\n display: \"flex\",\n gap: theme.spacing(2),\n minHeight: \"100%\",\n flexDirection: \"column\"\n }),\n body: css({\n flexGrow: 1,\n display: \"flex\",\n gap: theme.spacing(1)\n }),\n controls: css({\n display: \"flex\",\n gap: theme.spacing(2),\n alignItems: \"flex-end\",\n flexWrap: \"wrap\"\n })\n };\n};\n\nexport { EmbeddedScene };\n//# sourceMappingURL=EmbeddedScene.js.map\n","import { writeSceneLog } from '../writeSceneLog.js';\n\nfunction setWindowGrafanaSceneContext(activeScene) {\n const prevScene = window.__grafanaSceneContext;\n writeSceneLog(\"setWindowGrafanaScene\", \"set window.__grafanaSceneContext\", activeScene);\n window.__grafanaSceneContext = activeScene;\n return () => {\n if (window.__grafanaSceneContext === activeScene) {\n writeSceneLog(\"setWindowGrafanaScene\", \"restore window.__grafanaSceneContext\", prevScene);\n window.__grafanaSceneContext = prevScene;\n }\n };\n}\n\nexport { setWindowGrafanaSceneContext };\n//# sourceMappingURL=setWindowGrafanaSceneContext.js.map\n","export var noop = function () { };\nexport function on(obj) {\n var args = [];\n for (var _i = 1; _i < arguments.length; _i++) {\n args[_i - 1] = arguments[_i];\n }\n if (obj && obj.addEventListener) {\n obj.addEventListener.apply(obj, args);\n }\n}\nexport function off(obj) {\n var args = [];\n for (var _i = 1; _i < arguments.length; _i++) {\n args[_i - 1] = arguments[_i];\n }\n if (obj && obj.removeEventListener) {\n obj.removeEventListener.apply(obj, args);\n }\n}\nexport var isBrowser = typeof window !== 'undefined';\nexport var isNavigator = typeof navigator !== 'undefined';\n","import { useEffect, useLayoutEffect } from 'react';\nimport { isBrowser } from './misc/util';\nvar useIsomorphicLayoutEffect = isBrowser ? useLayoutEffect : useEffect;\nexport default useIsomorphicLayoutEffect;\n","import { useMemo, useState } from 'react';\nimport useIsomorphicLayoutEffect from './useIsomorphicLayoutEffect';\nimport { isBrowser, noop } from './misc/util';\nvar defaultState = {\n x: 0,\n y: 0,\n width: 0,\n height: 0,\n top: 0,\n left: 0,\n bottom: 0,\n right: 0,\n};\nfunction useMeasure() {\n var _a = useState(null), element = _a[0], ref = _a[1];\n var _b = useState(defaultState), rect = _b[0], setRect = _b[1];\n var observer = useMemo(function () {\n return new window.ResizeObserver(function (entries) {\n if (entries[0]) {\n var _a = entries[0].contentRect, x = _a.x, y = _a.y, width = _a.width, height = _a.height, top_1 = _a.top, left = _a.left, bottom = _a.bottom, right = _a.right;\n setRect({ x: x, y: y, width: width, height: height, top: top_1, left: left, bottom: bottom, right: right });\n }\n });\n }, []);\n useIsomorphicLayoutEffect(function () {\n if (!element)\n return;\n observer.observe(element);\n return function () {\n observer.disconnect();\n };\n }, [element]);\n return [ref, rect];\n}\nexport default isBrowser && typeof window.ResizeObserver !== 'undefined'\n ? useMeasure\n : (function () { return [noop, defaultState]; });\n","import React from 'react';\nimport { useMeasure } from 'react-use';\nimport { AlertState, PluginContextProvider } from '@grafana/data';\nimport { getAppEvents } from '@grafana/runtime';\nimport { useStyles2, Tooltip, PanelChrome, Icon, ErrorBoundaryAlert, PanelContextProvider } from '@grafana/ui';\nimport { sceneGraph } from '../../core/sceneGraph/index.js';\nimport { isSceneObject } from '../../core/types.js';\nimport { css, cx } from '@emotion/css';\n\nfunction VizPanelRenderer({ model }) {\n var _a, _b, _c;\n const {\n title,\n options,\n fieldConfig,\n _pluginLoadError,\n $data,\n displayMode,\n hoverHeader,\n menu,\n headerActions,\n titleItems,\n description\n } = model.useState();\n const [ref, { width, height }] = useMeasure();\n const plugin = model.getPlugin();\n const { dragClass, dragClassCancel } = getDragClasses(model);\n const dataObject = sceneGraph.getData(model);\n const rawData = dataObject.useState();\n const dataWithFieldConfig = model.applyFieldConfig(rawData.data);\n const sceneTimeRange = sceneGraph.getTimeRange(model);\n const timeZone = sceneTimeRange.getTimeZone();\n const timeRange = getPanelTimeRange(sceneTimeRange, plugin, dataWithFieldConfig);\n const titleInterpolated = model.interpolate(title, void 0, \"text\");\n const alertStateStyles = useStyles2(getAlertStateStyles);\n if (!plugin) {\n return /* @__PURE__ */ React.createElement(\"div\", null, \"Loading plugin panel...\");\n }\n if (!plugin.panel) {\n return /* @__PURE__ */ React.createElement(\"div\", null, \"Panel plugin has no panel component\");\n }\n const PanelComponent = plugin.panel;\n if ($data && $data.setContainerWidth) {\n $data.setContainerWidth(Math.round(width));\n }\n let titleItemsElement = [];\n if (titleItems) {\n if (Array.isArray(titleItems)) {\n titleItemsElement = titleItemsElement.concat(\n titleItems.map((titleItem) => {\n return /* @__PURE__ */ React.createElement(titleItem.Component, {\n model: titleItem,\n key: `${titleItem.state.key}`\n });\n })\n );\n } else if (isSceneObject(titleItems)) {\n titleItemsElement.push(/* @__PURE__ */ React.createElement(titleItems.Component, {\n model: titleItems\n }));\n } else {\n titleItemsElement.push(titleItems);\n }\n }\n if (model.state.$timeRange) {\n titleItemsElement.push(/* @__PURE__ */ React.createElement(model.state.$timeRange.Component, {\n model: model.state.$timeRange,\n key: model.state.key\n }));\n }\n if (dataWithFieldConfig.alertState) {\n titleItemsElement.push(\n /* @__PURE__ */ React.createElement(Tooltip, {\n content: (_a = dataWithFieldConfig.alertState.state) != null ? _a : \"unknown\",\n key: `alert-states-icon-${model.state.key}`\n }, /* @__PURE__ */ React.createElement(PanelChrome.TitleItem, {\n className: cx({\n [alertStateStyles.ok]: dataWithFieldConfig.alertState.state === AlertState.OK,\n [alertStateStyles.pending]: dataWithFieldConfig.alertState.state === AlertState.Pending,\n [alertStateStyles.alerting]: dataWithFieldConfig.alertState.state === AlertState.Alerting\n })\n }, /* @__PURE__ */ React.createElement(Icon, {\n name: dataWithFieldConfig.alertState.state === \"alerting\" ? \"heart-break\" : \"heart\",\n className: \"panel-alert-icon\",\n size: \"md\"\n })))\n );\n }\n let panelMenu;\n if (menu) {\n panelMenu = /* @__PURE__ */ React.createElement(menu.Component, {\n model: menu\n });\n }\n let actionsElement;\n if (headerActions) {\n if (Array.isArray(headerActions)) {\n actionsElement = /* @__PURE__ */ React.createElement(React.Fragment, null, headerActions.map((action) => {\n return /* @__PURE__ */ React.createElement(action.Component, {\n model: action,\n key: `${action.state.key}`\n });\n }));\n } else if (isSceneObject(headerActions)) {\n actionsElement = /* @__PURE__ */ React.createElement(headerActions.Component, {\n model: headerActions\n });\n } else {\n actionsElement = headerActions;\n }\n }\n const data = dataWithFieldConfig;\n const isReadyToRender = dataObject.isDataReadyToDisplay ? dataObject.isDataReadyToDisplay() : true;\n const context = model.getPanelContext();\n const panelId = (_c = (_b = context.instanceState) == null ? void 0 : _b.legacyPanelId) != null ? _c : 1;\n return /* @__PURE__ */ React.createElement(\"div\", {\n className: relativeWrapper\n }, /* @__PURE__ */ React.createElement(\"div\", {\n ref,\n className: absoluteWrapper,\n \"data-viz-panel-key\": model.state.key\n }, width > 0 && height > 0 && /* @__PURE__ */ React.createElement(PanelChrome, {\n title: titleInterpolated,\n description: (description == null ? void 0 : description.trim()) ? model.getDescription : void 0,\n loadingState: data.state,\n statusMessage: getChromeStatusMessage(data, _pluginLoadError),\n statusMessageOnClick: model.onStatusMessageClick,\n width,\n height,\n displayMode,\n hoverHeader,\n titleItems: titleItemsElement,\n dragClass,\n actions: actionsElement,\n dragClassCancel,\n padding: plugin.noPadding ? \"none\" : \"md\",\n menu: panelMenu,\n onCancelQuery: model.onCancelQuery\n }, (innerWidth, innerHeight) => /* @__PURE__ */ React.createElement(React.Fragment, null, /* @__PURE__ */ React.createElement(ErrorBoundaryAlert, {\n dependencies: [plugin, data]\n }, /* @__PURE__ */ React.createElement(PluginContextProvider, {\n meta: plugin.meta\n }, /* @__PURE__ */ React.createElement(PanelContextProvider, {\n value: context\n }, isReadyToRender && /* @__PURE__ */ React.createElement(PanelComponent, {\n id: panelId,\n data,\n title,\n timeRange,\n timeZone,\n options,\n fieldConfig,\n transparent: false,\n width: innerWidth,\n height: innerHeight,\n renderCounter: 0,\n replaceVariables: model.interpolate,\n onOptionsChange: model.onOptionsChange,\n onFieldConfigChange: model.onFieldConfigChange,\n onChangeTimeRange: model.onTimeRangeChange,\n eventBus: getAppEvents()\n }))))))));\n}\nfunction getDragClasses(panel) {\n var _a, _b;\n const parentLayout = sceneGraph.getLayout(panel);\n const isDraggable = parentLayout == null ? void 0 : parentLayout.isDraggable();\n if (!parentLayout || !isDraggable || itemDraggingDisabled(panel, parentLayout)) {\n return { dragClass: \"\", dragClassCancel: \"\" };\n }\n return { dragClass: (_a = parentLayout.getDragClass) == null ? void 0 : _a.call(parentLayout), dragClassCancel: (_b = parentLayout == null ? void 0 : parentLayout.getDragClassCancel) == null ? void 0 : _b.call(parentLayout) };\n}\nfunction itemDraggingDisabled(item, layout) {\n let ancestor = item.parent;\n while (ancestor && ancestor !== layout) {\n if (\"isDraggable\" in ancestor.state && ancestor.state.isDraggable === false) {\n return true;\n }\n ancestor = ancestor.parent;\n }\n return false;\n}\nfunction getChromeStatusMessage(data, pluginLoadingError) {\n if (pluginLoadingError) {\n return pluginLoadingError;\n }\n let message = data.error ? data.error.message : void 0;\n if (data.errors) {\n message = data.errors.map((e) => e.message).join(\", \");\n }\n return message;\n}\nconst relativeWrapper = css({\n position: \"relative\",\n width: \"100%\",\n height: \"100%\"\n});\nconst absoluteWrapper = css({\n position: \"absolute\",\n width: \"100%\",\n height: \"100%\"\n});\nconst getAlertStateStyles = (theme) => {\n return {\n ok: css({\n color: theme.colors.success.text\n }),\n pending: css({\n color: theme.colors.warning.text\n }),\n alerting: css({\n color: theme.colors.error.text\n })\n };\n};\nfunction getPanelTimeRange(sceneTimeRange, plugin, data) {\n var _a;\n if (!plugin || plugin.meta.skipDataQuery) {\n return sceneTimeRange.state.value;\n }\n if (data && ((_a = data.request) == null ? void 0 : _a.range)) {\n return data.request.range;\n }\n return sceneTimeRange.state.value;\n}\n\nexport { VizPanelRenderer };\n//# sourceMappingURL=VizPanelRenderer.js.map\n","import { isSystemOverrideWithRef, FieldMatcherID, ByNamesMatcherMode, FieldType, getFieldDisplayName, fieldMatchers } from '@grafana/data';\nimport { SeriesVisibilityChangeMode } from '@grafana/ui';\n\nvar __defProp = Object.defineProperty;\nvar __defProps = Object.defineProperties;\nvar __getOwnPropDescs = Object.getOwnPropertyDescriptors;\nvar __getOwnPropSymbols = Object.getOwnPropertySymbols;\nvar __hasOwnProp = Object.prototype.hasOwnProperty;\nvar __propIsEnum = Object.prototype.propertyIsEnumerable;\nvar __defNormalProp = (obj, key, value) => key in obj ? __defProp(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;\nvar __spreadValues = (a, b) => {\n for (var prop in b || (b = {}))\n if (__hasOwnProp.call(b, prop))\n __defNormalProp(a, prop, b[prop]);\n if (__getOwnPropSymbols)\n for (var prop of __getOwnPropSymbols(b)) {\n if (__propIsEnum.call(b, prop))\n __defNormalProp(a, prop, b[prop]);\n }\n return a;\n};\nvar __spreadProps = (a, b) => __defProps(a, __getOwnPropDescs(b));\nconst displayOverrideRef = \"hideSeriesFrom\";\nconst isHideSeriesOverride = isSystemOverrideWithRef(displayOverrideRef);\nfunction seriesVisibilityConfigFactory(label, mode, fieldConfig, data) {\n const { overrides } = fieldConfig;\n const displayName = label;\n const currentIndex = overrides.findIndex(isHideSeriesOverride);\n if (currentIndex < 0) {\n if (mode === SeriesVisibilityChangeMode.ToggleSelection) {\n const override3 = createOverride([displayName, ...getNamesOfHiddenFields(overrides, data)]);\n return __spreadProps(__spreadValues({}, fieldConfig), {\n overrides: [...fieldConfig.overrides, override3]\n });\n }\n const displayNames = getDisplayNames(data, displayName);\n const override2 = createOverride(displayNames);\n return __spreadProps(__spreadValues({}, fieldConfig), {\n overrides: [...fieldConfig.overrides, override2]\n });\n }\n const overridesCopy = Array.from(overrides);\n const [current] = overridesCopy.splice(currentIndex, 1);\n if (mode === SeriesVisibilityChangeMode.ToggleSelection) {\n let existing = getExistingDisplayNames(current);\n const nameOfHiddenFields = getNamesOfHiddenFields(overridesCopy, data);\n if (nameOfHiddenFields.length > 0) {\n existing = existing.filter((el) => nameOfHiddenFields.indexOf(el) < 0);\n }\n if (existing[0] === displayName && existing.length === 1) {\n return __spreadProps(__spreadValues({}, fieldConfig), {\n overrides: overridesCopy\n });\n }\n const override2 = createOverride([displayName, ...nameOfHiddenFields]);\n return __spreadProps(__spreadValues({}, fieldConfig), {\n overrides: [...overridesCopy, override2]\n });\n }\n const override = createExtendedOverride(current, displayName);\n if (allFieldsAreExcluded(override, data)) {\n return __spreadProps(__spreadValues({}, fieldConfig), {\n overrides: overridesCopy\n });\n }\n return __spreadProps(__spreadValues({}, fieldConfig), {\n overrides: [...overridesCopy, override]\n });\n}\nfunction createOverride(names, mode = ByNamesMatcherMode.exclude, property) {\n property = property != null ? property : {\n id: \"custom.hideFrom\",\n value: {\n viz: true,\n legend: false,\n tooltip: false\n }\n };\n return {\n __systemRef: displayOverrideRef,\n matcher: {\n id: FieldMatcherID.byNames,\n options: {\n mode,\n names,\n prefix: mode === ByNamesMatcherMode.exclude ? \"All except:\" : void 0,\n readOnly: true\n }\n },\n properties: [\n __spreadProps(__spreadValues({}, property), {\n value: {\n viz: true,\n legend: false,\n tooltip: false\n }\n })\n ]\n };\n}\nconst createExtendedOverride = (current, displayName, mode = ByNamesMatcherMode.exclude) => {\n const property = current.properties.find((p) => p.id === \"custom.hideFrom\");\n const existing = getExistingDisplayNames(current);\n const index = existing.findIndex((name) => name === displayName);\n if (index < 0) {\n existing.push(displayName);\n } else {\n existing.splice(index, 1);\n }\n return createOverride(existing, mode, property);\n};\nconst getExistingDisplayNames = (rule) => {\n var _a;\n const names = (_a = rule.matcher.options) == null ? void 0 : _a.names;\n if (!Array.isArray(names)) {\n return [];\n }\n return [...names];\n};\nconst allFieldsAreExcluded = (override, data) => {\n return getExistingDisplayNames(override).length === getDisplayNames(data).length;\n};\nconst getDisplayNames = (data, excludeName) => {\n const unique = /* @__PURE__ */ new Set();\n for (const frame of data) {\n for (const field of frame.fields) {\n if (field.type !== FieldType.number) {\n continue;\n }\n const name = getFieldDisplayName(field, frame, data);\n if (name === excludeName) {\n continue;\n }\n unique.add(name);\n }\n }\n return Array.from(unique);\n};\nconst getNamesOfHiddenFields = (overrides, data) => {\n var _a;\n let names = [];\n for (const override of overrides) {\n const property = override.properties.find((p) => p.id === \"custom.hideFrom\");\n if (property !== void 0 && ((_a = property.value) == null ? void 0 : _a.legend) === true) {\n const info = fieldMatchers.get(override.matcher.id);\n const matcher = info.get(override.matcher.options);\n for (const frame of data) {\n for (const field of frame.fields) {\n if (field.type !== FieldType.number) {\n continue;\n }\n const name = getFieldDisplayName(field, frame, data);\n if (matcher(field, frame, data)) {\n names.push(name);\n }\n }\n }\n }\n }\n return names;\n};\n\nexport { seriesVisibilityConfigFactory };\n//# sourceMappingURL=seriesVisibilityConfigFactory.js.map\n","import { FieldMatcherID, FieldColorModeId } from '@grafana/data';\n\nvar __defProp = Object.defineProperty;\nvar __defProps = Object.defineProperties;\nvar __getOwnPropDescs = Object.getOwnPropertyDescriptors;\nvar __getOwnPropSymbols = Object.getOwnPropertySymbols;\nvar __hasOwnProp = Object.prototype.hasOwnProperty;\nvar __propIsEnum = Object.prototype.propertyIsEnumerable;\nvar __defNormalProp = (obj, key, value) => key in obj ? __defProp(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;\nvar __spreadValues = (a, b) => {\n for (var prop in b || (b = {}))\n if (__hasOwnProp.call(b, prop))\n __defNormalProp(a, prop, b[prop]);\n if (__getOwnPropSymbols)\n for (var prop of __getOwnPropSymbols(b)) {\n if (__propIsEnum.call(b, prop))\n __defNormalProp(a, prop, b[prop]);\n }\n return a;\n};\nvar __spreadProps = (a, b) => __defProps(a, __getOwnPropDescs(b));\nconst changeSeriesColorConfigFactory = (label, color, fieldConfig) => {\n const { overrides } = fieldConfig;\n const currentIndex = fieldConfig.overrides.findIndex((override) => {\n return override.matcher.id === FieldMatcherID.byName && override.matcher.options === label;\n });\n if (currentIndex < 0) {\n return __spreadProps(__spreadValues({}, fieldConfig), {\n overrides: [...fieldConfig.overrides, createOverride(label, color)]\n });\n }\n const overridesCopy = Array.from(overrides);\n const existing = overridesCopy[currentIndex];\n const propertyIndex = existing.properties.findIndex((p) => p.id === \"color\");\n if (propertyIndex < 0) {\n overridesCopy[currentIndex] = __spreadProps(__spreadValues({}, existing), {\n properties: [...existing.properties, createProperty(color)]\n });\n return __spreadProps(__spreadValues({}, fieldConfig), {\n overrides: overridesCopy\n });\n }\n const propertiesCopy = Array.from(existing.properties);\n propertiesCopy[propertyIndex] = createProperty(color);\n overridesCopy[currentIndex] = __spreadProps(__spreadValues({}, existing), {\n properties: propertiesCopy\n });\n return __spreadProps(__spreadValues({}, fieldConfig), {\n overrides: overridesCopy\n });\n};\nconst createOverride = (label, color) => {\n return {\n matcher: {\n id: FieldMatcherID.byName,\n options: label\n },\n properties: [createProperty(color)]\n };\n};\nconst createProperty = (color) => {\n return {\n id: \"color\",\n value: {\n mode: FieldColorModeId.Fixed,\n fixedColor: color\n }\n };\n};\n\nexport { changeSeriesColorConfigFactory };\n//# sourceMappingURL=colorSeriesConfigFactory.js.map\n","import { toUtc, getPanelOptionsWithDefaults, renderMarkdown, compareArrayValues, compareDataFrameStructures, applyFieldOverrides, CoreApp, DashboardCursorSync, PanelPlugin, PluginType } from '@grafana/data';\nimport { getPluginImportUtils, config, getAppEvents } from '@grafana/runtime';\nimport { SceneObjectBase } from '../../core/SceneObjectBase.js';\nimport { sceneGraph } from '../../core/sceneGraph/index.js';\nimport { VizPanelRenderer } from './VizPanelRenderer.js';\nimport { VariableDependencyConfig } from '../../variables/VariableDependencyConfig.js';\nimport { seriesVisibilityConfigFactory } from './seriesVisibilityConfigFactory.js';\nimport { emptyPanelData } from '../../core/SceneDataNode.js';\nimport { changeSeriesColorConfigFactory } from './colorSeriesConfigFactory.js';\nimport { loadPanelPluginSync } from './registerRuntimePanelPlugin.js';\nimport { getCursorSyncScope } from '../../behaviors/CursorSync.js';\nimport { mergeWith, cloneDeep, isArray, merge } from 'lodash';\nimport { UserActionEvent } from '../../core/events.js';\n\nvar __defProp = Object.defineProperty;\nvar __defProps = Object.defineProperties;\nvar __getOwnPropDescs = Object.getOwnPropertyDescriptors;\nvar __getOwnPropSymbols = Object.getOwnPropertySymbols;\nvar __hasOwnProp = Object.prototype.hasOwnProperty;\nvar __propIsEnum = Object.prototype.propertyIsEnumerable;\nvar __defNormalProp = (obj, key, value) => key in obj ? __defProp(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;\nvar __spreadValues = (a, b) => {\n for (var prop in b || (b = {}))\n if (__hasOwnProp.call(b, prop))\n __defNormalProp(a, prop, b[prop]);\n if (__getOwnPropSymbols)\n for (var prop of __getOwnPropSymbols(b)) {\n if (__propIsEnum.call(b, prop))\n __defNormalProp(a, prop, b[prop]);\n }\n return a;\n};\nvar __spreadProps = (a, b) => __defProps(a, __getOwnPropDescs(b));\nclass VizPanel extends SceneObjectBase {\n constructor(state) {\n super(__spreadValues({\n options: {},\n fieldConfig: { defaults: {}, overrides: [] },\n title: \"Title\",\n pluginId: \"timeseries\"\n }, state));\n this._variableDependency = new VariableDependencyConfig(this, {\n statePaths: [\"title\", \"options\", \"fieldConfig\"]\n });\n this._structureRev = 0;\n this.onTimeRangeChange = (timeRange) => {\n const sceneTimeRange = sceneGraph.getTimeRange(this);\n sceneTimeRange.onTimeRangeChange({\n raw: {\n from: toUtc(timeRange.from),\n to: toUtc(timeRange.to)\n },\n from: toUtc(timeRange.from),\n to: toUtc(timeRange.to)\n });\n };\n this.onTitleChange = (title) => {\n this.setState({ title });\n };\n this.onDescriptionChange = (description) => {\n this.setState({ description });\n };\n this.onDisplayModeChange = (displayMode) => {\n this.setState({ displayMode });\n };\n this.onOptionsChange = (optionsUpdate, replace = false) => {\n const { fieldConfig, options } = this.state;\n const nextOptions = replace ? optionsUpdate : mergeWith(cloneDeep(options), optionsUpdate, (_, srcValue) => {\n if (isArray(srcValue)) {\n return srcValue;\n }\n return;\n });\n const withDefaults = getPanelOptionsWithDefaults({\n plugin: this._plugin,\n currentOptions: nextOptions,\n currentFieldConfig: fieldConfig,\n isAfterPluginChange: false\n });\n this.setState({\n options: withDefaults.options\n });\n };\n this.onFieldConfigChange = (fieldConfigUpdate, replace) => {\n const { fieldConfig, options } = this.state;\n const nextFieldConfig = replace ? fieldConfigUpdate : merge(cloneDeep(fieldConfig), fieldConfigUpdate);\n const withDefaults = getPanelOptionsWithDefaults({\n plugin: this._plugin,\n currentOptions: options,\n currentFieldConfig: nextFieldConfig,\n isAfterPluginChange: false\n });\n this.setState({\n fieldConfig: withDefaults.fieldConfig\n });\n };\n this.interpolate = (value, scoped, format) => {\n return sceneGraph.interpolate(this, value, scoped, format);\n };\n this.getDescription = () => {\n this.publishEvent(new UserActionEvent({ origin: this, interaction: \"panel-description-shown\" }), true);\n const { description } = this.state;\n if (description) {\n const markdown = this.interpolate(description);\n return renderMarkdown(markdown);\n }\n return \"\";\n };\n this.onCancelQuery = () => {\n var _a;\n this.publishEvent(new UserActionEvent({ origin: this, interaction: \"panel-cancel-query-clicked\" }), true);\n const data = sceneGraph.getData(this);\n (_a = data.cancelQuery) == null ? void 0 : _a.call(data);\n };\n this.onStatusMessageClick = () => {\n this.publishEvent(new UserActionEvent({ origin: this, interaction: \"panel-status-message-clicked\" }), true);\n };\n this._onSeriesColorChange = (label, color) => {\n this.onFieldConfigChange(changeSeriesColorConfigFactory(label, color, this.state.fieldConfig));\n };\n this._onSeriesVisibilityChange = (label, mode) => {\n if (!this._dataWithFieldConfig) {\n return;\n }\n this.onFieldConfigChange(\n seriesVisibilityConfigFactory(label, mode, this.state.fieldConfig, this._dataWithFieldConfig.series),\n true\n );\n };\n this._onInstanceStateChange = (state) => {\n this.setState({ _pluginInstanceState: state });\n };\n this._onToggleLegendSort = (sortKey) => {\n const legendOptions = this.state.options.legend;\n if (!legendOptions) {\n return;\n }\n let sortDesc = legendOptions.sortDesc;\n let sortBy = legendOptions.sortBy;\n if (sortKey !== sortBy) {\n sortDesc = void 0;\n }\n if (sortDesc === false) {\n sortBy = void 0;\n sortDesc = void 0;\n } else {\n sortDesc = !sortDesc;\n sortBy = sortKey;\n }\n this.onOptionsChange(__spreadProps(__spreadValues({}, this.state.options), {\n legend: __spreadProps(__spreadValues({}, legendOptions), { sortBy, sortDesc })\n }));\n };\n this.addActivationHandler(() => {\n this._onActivate();\n });\n if (state.menu) {\n state.menu.addActivationHandler(() => {\n this.publishEvent(new UserActionEvent({ origin: this, interaction: \"panel-menu-shown\" }), true);\n });\n }\n }\n _onActivate() {\n if (!this._plugin) {\n this._loadPlugin(this.state.pluginId);\n }\n }\n _loadPlugin(pluginId) {\n const plugin = loadPanelPluginSync(pluginId);\n if (plugin) {\n this._pluginLoaded(plugin);\n } else {\n const { importPanelPlugin } = getPluginImportUtils();\n try {\n importPanelPlugin(pluginId).then((result) => {\n return this._pluginLoaded(result);\n });\n } catch (err) {\n this._pluginLoaded(getPanelPluginNotFound(pluginId));\n this.setState({ _pluginLoadError: err.message });\n }\n }\n }\n async _pluginLoaded(plugin) {\n const { options, fieldConfig, title, pluginVersion, _UNSAFE_customMigrationHandler } = this.state;\n const panel = {\n title,\n options,\n fieldConfig,\n id: 1,\n type: plugin.meta.id,\n pluginVersion\n };\n const currentVersion = this._getPluginVersion(plugin);\n if (_UNSAFE_customMigrationHandler) {\n _UNSAFE_customMigrationHandler(panel, plugin);\n }\n if (plugin.onPanelMigration) {\n if (currentVersion !== this.state.pluginVersion) {\n panel.options = await plugin.onPanelMigration(panel);\n }\n }\n const withDefaults = getPanelOptionsWithDefaults({\n plugin,\n currentOptions: panel.options,\n currentFieldConfig: panel.fieldConfig,\n isAfterPluginChange: false\n });\n this._plugin = plugin;\n this.setState({\n options: withDefaults.options,\n fieldConfig: withDefaults.fieldConfig,\n pluginVersion: currentVersion\n });\n if (plugin.meta.skipDataQuery) {\n const sceneTimeRange = sceneGraph.getTimeRange(this);\n this._subs.add(sceneTimeRange.subscribeToState(() => this.forceRender()));\n }\n }\n _getPluginVersion(plugin) {\n return plugin && plugin.meta.info.version ? plugin.meta.info.version : config.buildInfo.version;\n }\n getPlugin() {\n return this._plugin;\n }\n getPanelContext() {\n if (!this._panelContext) {\n this._panelContext = this.buildPanelContext();\n }\n return this._panelContext;\n }\n applyFieldConfig(rawData) {\n var _a, _b;\n const plugin = this._plugin;\n if (!plugin || plugin.meta.skipDataQuery || !rawData) {\n return emptyPanelData;\n }\n const pluginDataSupport = plugin.dataSupport || { alertStates: false, annotations: false };\n const fieldConfigRegistry = plugin.fieldConfigRegistry;\n const prevFrames = (_a = this._prevData) == null ? void 0 : _a.series;\n const newFrames = rawData == null ? void 0 : rawData.series;\n if (rawData.structureRev == null && newFrames && prevFrames && !compareArrayValues(newFrames, prevFrames, compareDataFrameStructures)) {\n this._structureRev++;\n }\n this._dataWithFieldConfig = __spreadProps(__spreadValues({}, rawData), {\n structureRev: this._structureRev,\n series: applyFieldOverrides({\n data: newFrames,\n fieldConfig: this.state.fieldConfig,\n fieldConfigRegistry,\n replaceVariables: this.interpolate,\n theme: config.theme2,\n timeZone: (_b = rawData.request) == null ? void 0 : _b.timezone\n })\n });\n if (!pluginDataSupport.alertStates) {\n this._dataWithFieldConfig.alertState = void 0;\n }\n if (!pluginDataSupport.annotations) {\n this._dataWithFieldConfig.annotations = void 0;\n }\n return this._dataWithFieldConfig;\n }\n buildPanelContext() {\n const sync = getCursorSyncScope(this);\n const context = {\n eventsScope: sync ? sync.getEventsScope() : \"__global_\",\n eventBus: sync ? sync.getEventsBus(this) : getAppEvents(),\n app: CoreApp.Unknown,\n sync: () => {\n if (sync) {\n return sync.state.sync;\n }\n return DashboardCursorSync.Off;\n },\n onSeriesColorChange: this._onSeriesColorChange,\n onToggleSeriesVisibility: this._onSeriesVisibilityChange,\n onToggleLegendSort: this._onToggleLegendSort,\n onInstanceStateChange: this._onInstanceStateChange\n };\n if (this.state.extendPanelContext) {\n this.state.extendPanelContext(this, context);\n }\n return context;\n }\n}\nVizPanel.Component = VizPanelRenderer;\nfunction getPanelPluginNotFound(id, silent) {\n const plugin = new PanelPlugin(() => null);\n plugin.meta = {\n id,\n name: id,\n sort: 100,\n type: PluginType.panel,\n module: \"\",\n baseUrl: \"\",\n info: {\n author: {\n name: \"\"\n },\n description: \"\",\n links: [],\n logos: {\n large: \"\",\n small: \"public/img/grafana_icon.svg\"\n },\n screenshots: [],\n updated: \"\",\n version: \"\"\n }\n };\n return plugin;\n}\n\nexport { VizPanel };\n//# sourceMappingURL=VizPanel.js.map\n","import React from 'react';\nimport { SceneObjectBase } from '../../../core/SceneObjectBase.js';\nimport { SceneGridLayout } from './SceneGridLayout.js';\nimport { SceneGridRow } from './SceneGridRow.js';\n\nclass SceneGridItem extends SceneObjectBase {\n}\nSceneGridItem.Component = SceneGridItemRenderer;\nfunction SceneGridItemRenderer({ model }) {\n const { body } = model.useState();\n const parent = model.parent;\n if (parent && !isSceneGridLayout(parent) && !isSceneGridRow(parent)) {\n throw new Error(\"SceneGridItem must be a child of SceneGridLayout or SceneGridRow\");\n }\n if (!body) {\n return null;\n }\n return /* @__PURE__ */ React.createElement(body.Component, {\n model: body\n });\n}\nfunction isSceneGridRow(child) {\n return child instanceof SceneGridRow;\n}\nfunction isSceneGridLayout(child) {\n return child instanceof SceneGridLayout;\n}\n\nexport { SceneGridItem, isSceneGridRow };\n//# sourceMappingURL=SceneGridItem.js.map\n","import React, { useEffect } from 'react';\nimport { Menu } from '@grafana/ui';\nimport { SceneObjectBase } from '../../core/SceneObjectBase.js';\n\nclass VizPanelMenu extends SceneObjectBase {\n addItem(item) {\n this.setState({\n items: this.state.items ? [...this.state.items, item] : [item]\n });\n }\n setItems(items) {\n this.setState({\n items\n });\n }\n}\nVizPanelMenu.Component = VizPanelMenuRenderer;\nfunction VizPanelMenuRenderer({ model }) {\n const { items = [] } = model.useState();\n const ref = React.useRef(null);\n useEffect(() => {\n if (ref.current) {\n ref.current.focus();\n }\n }, []);\n const renderItems = (items2) => {\n return items2.map(\n (item) => item.type === \"divider\" ? /* @__PURE__ */ React.createElement(Menu.Divider, {\n key: item.text\n }) : /* @__PURE__ */ React.createElement(Menu.Item, {\n key: item.text,\n label: item.text,\n icon: item.iconClassName,\n childItems: item.subMenu ? renderItems(item.subMenu) : void 0,\n url: item.href,\n onClick: item.onClick,\n shortcut: item.shortcut\n })\n );\n };\n return /* @__PURE__ */ React.createElement(Menu, {\n ref\n }, renderItems(items));\n}\n\nexport { VizPanelMenu };\n//# sourceMappingURL=VizPanelMenu.js.map\n","import { createElement, PureComponent } from 'react';\n\nvar classCallCheck = function (instance, Constructor) {\n if (!(instance instanceof Constructor)) {\n throw new TypeError(\"Cannot call a class as a function\");\n }\n};\n\nvar createClass = function () {\n function defineProperties(target, props) {\n for (var i = 0; i < props.length; i++) {\n var descriptor = props[i];\n descriptor.enumerable = descriptor.enumerable || false;\n descriptor.configurable = true;\n if (\"value\" in descriptor) descriptor.writable = true;\n Object.defineProperty(target, descriptor.key, descriptor);\n }\n }\n\n return function (Constructor, protoProps, staticProps) {\n if (protoProps) defineProperties(Constructor.prototype, protoProps);\n if (staticProps) defineProperties(Constructor, staticProps);\n return Constructor;\n };\n}();\n\nvar _extends = Object.assign || function (target) {\n for (var i = 1; i < arguments.length; i++) {\n var source = arguments[i];\n\n for (var key in source) {\n if (Object.prototype.hasOwnProperty.call(source, key)) {\n target[key] = source[key];\n }\n }\n }\n\n return target;\n};\n\nvar inherits = function (subClass, superClass) {\n if (typeof superClass !== \"function\" && superClass !== null) {\n throw new TypeError(\"Super expression must either be null or a function, not \" + typeof superClass);\n }\n\n subClass.prototype = Object.create(superClass && superClass.prototype, {\n constructor: {\n value: subClass,\n enumerable: false,\n writable: true,\n configurable: true\n }\n });\n if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass;\n};\n\nvar possibleConstructorReturn = function (self, call) {\n if (!self) {\n throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\");\n }\n\n return call && (typeof call === \"object\" || typeof call === \"function\") ? call : self;\n};\n\nvar slicedToArray = function () {\n function sliceIterator(arr, i) {\n var _arr = [];\n var _n = true;\n var _d = false;\n var _e = undefined;\n\n try {\n for (var _i = arr[Symbol.iterator](), _s; !(_n = (_s = _i.next()).done); _n = true) {\n _arr.push(_s.value);\n\n if (i && _arr.length === i) break;\n }\n } catch (err) {\n _d = true;\n _e = err;\n } finally {\n try {\n if (!_n && _i[\"return\"]) _i[\"return\"]();\n } finally {\n if (_d) throw _e;\n }\n }\n\n return _arr;\n }\n\n return function (arr, i) {\n if (Array.isArray(arr)) {\n return arr;\n } else if (Symbol.iterator in Object(arr)) {\n return sliceIterator(arr, i);\n } else {\n throw new TypeError(\"Invalid attempt to destructure non-iterable instance\");\n }\n };\n}();\n\n/**\n * Detect Element Resize.\n * https://github.com/sdecima/javascript-detect-element-resize\n * Sebastian Decima\n *\n * Forked from version 0.5.3; includes the following modifications:\n * 1) Guard against unsafe 'window' and 'document' references (to support SSR).\n * 2) Defer initialization code via a top-level function wrapper (to support SSR).\n * 3) Avoid unnecessary reflows by not measuring size for scroll events bubbling from children.\n * 4) Add nonce for style element.\n **/\n\n// Check `document` and `window` in case of server-side rendering\nvar windowObject = void 0;\nif (typeof window !== 'undefined') {\n windowObject = window;\n\n // eslint-disable-next-line no-restricted-globals\n} else if (typeof self !== 'undefined') {\n // eslint-disable-next-line no-restricted-globals\n windowObject = self;\n} else {\n windowObject = global;\n}\n\nvar cancelFrame = null;\nvar requestFrame = null;\n\nvar TIMEOUT_DURATION = 20;\n\nvar clearTimeoutFn = windowObject.clearTimeout;\nvar setTimeoutFn = windowObject.setTimeout;\n\nvar cancelAnimationFrameFn = windowObject.cancelAnimationFrame || windowObject.mozCancelAnimationFrame || windowObject.webkitCancelAnimationFrame;\n\nvar requestAnimationFrameFn = windowObject.requestAnimationFrame || windowObject.mozRequestAnimationFrame || windowObject.webkitRequestAnimationFrame;\n\nif (cancelAnimationFrameFn == null || requestAnimationFrameFn == null) {\n // For environments that don't support animation frame,\n // fallback to a setTimeout based approach.\n cancelFrame = clearTimeoutFn;\n requestFrame = function requestAnimationFrameViaSetTimeout(callback) {\n return setTimeoutFn(callback, TIMEOUT_DURATION);\n };\n} else {\n // Counter intuitively, environments that support animation frames can be trickier.\n // Chrome's \"Throttle non-visible cross-origin iframes\" flag can prevent rAFs from being called.\n // In this case, we should fallback to a setTimeout() implementation.\n cancelFrame = function cancelFrame(_ref) {\n var _ref2 = slicedToArray(_ref, 2),\n animationFrameID = _ref2[0],\n timeoutID = _ref2[1];\n\n cancelAnimationFrameFn(animationFrameID);\n clearTimeoutFn(timeoutID);\n };\n requestFrame = function requestAnimationFrameWithSetTimeoutFallback(callback) {\n var animationFrameID = requestAnimationFrameFn(function animationFrameCallback() {\n clearTimeoutFn(timeoutID);\n callback();\n });\n\n var timeoutID = setTimeoutFn(function timeoutCallback() {\n cancelAnimationFrameFn(animationFrameID);\n callback();\n }, TIMEOUT_DURATION);\n\n return [animationFrameID, timeoutID];\n };\n}\n\nfunction createDetectElementResize(nonce) {\n var animationKeyframes = void 0;\n var animationName = void 0;\n var animationStartEvent = void 0;\n var animationStyle = void 0;\n var checkTriggers = void 0;\n var resetTriggers = void 0;\n var scrollListener = void 0;\n\n var attachEvent = typeof document !== 'undefined' && document.attachEvent;\n if (!attachEvent) {\n resetTriggers = function resetTriggers(element) {\n var triggers = element.__resizeTriggers__,\n expand = triggers.firstElementChild,\n contract = triggers.lastElementChild,\n expandChild = expand.firstElementChild;\n contract.scrollLeft = contract.scrollWidth;\n contract.scrollTop = contract.scrollHeight;\n expandChild.style.width = expand.offsetWidth + 1 + 'px';\n expandChild.style.height = expand.offsetHeight + 1 + 'px';\n expand.scrollLeft = expand.scrollWidth;\n expand.scrollTop = expand.scrollHeight;\n };\n\n checkTriggers = function checkTriggers(element) {\n return element.offsetWidth !== element.__resizeLast__.width || element.offsetHeight !== element.__resizeLast__.height;\n };\n\n scrollListener = function scrollListener(e) {\n // Don't measure (which forces) reflow for scrolls that happen inside of children!\n if (e.target.className && typeof e.target.className.indexOf === 'function' && e.target.className.indexOf('contract-trigger') < 0 && e.target.className.indexOf('expand-trigger') < 0) {\n return;\n }\n\n var element = this;\n resetTriggers(this);\n if (this.__resizeRAF__) {\n cancelFrame(this.__resizeRAF__);\n }\n this.__resizeRAF__ = requestFrame(function animationFrame() {\n if (checkTriggers(element)) {\n element.__resizeLast__.width = element.offsetWidth;\n element.__resizeLast__.height = element.offsetHeight;\n element.__resizeListeners__.forEach(function forEachResizeListener(fn) {\n fn.call(element, e);\n });\n }\n });\n };\n\n /* Detect CSS Animations support to detect element display/re-attach */\n var animation = false;\n var keyframeprefix = '';\n animationStartEvent = 'animationstart';\n var domPrefixes = 'Webkit Moz O ms'.split(' ');\n var startEvents = 'webkitAnimationStart animationstart oAnimationStart MSAnimationStart'.split(' ');\n var pfx = '';\n {\n var elm = document.createElement('fakeelement');\n if (elm.style.animationName !== undefined) {\n animation = true;\n }\n\n if (animation === false) {\n for (var i = 0; i < domPrefixes.length; i++) {\n if (elm.style[domPrefixes[i] + 'AnimationName'] !== undefined) {\n pfx = domPrefixes[i];\n keyframeprefix = '-' + pfx.toLowerCase() + '-';\n animationStartEvent = startEvents[i];\n animation = true;\n break;\n }\n }\n }\n }\n\n animationName = 'resizeanim';\n animationKeyframes = '@' + keyframeprefix + 'keyframes ' + animationName + ' { from { opacity: 0; } to { opacity: 0; } } ';\n animationStyle = keyframeprefix + 'animation: 1ms ' + animationName + '; ';\n }\n\n var createStyles = function createStyles(doc) {\n if (!doc.getElementById('detectElementResize')) {\n //opacity:0 works around a chrome bug https://code.google.com/p/chromium/issues/detail?id=286360\n var css = (animationKeyframes ? animationKeyframes : '') + '.resize-triggers { ' + (animationStyle ? animationStyle : '') + 'visibility: hidden; opacity: 0; } ' + '.resize-triggers, .resize-triggers > div, .contract-trigger:before { content: \" \"; display: block; position: absolute; top: 0; left: 0; height: 100%; width: 100%; overflow: hidden; z-index: -1; } .resize-triggers > div { background: #eee; overflow: auto; } .contract-trigger:before { width: 200%; height: 200%; }',\n head = doc.head || doc.getElementsByTagName('head')[0],\n style = doc.createElement('style');\n\n style.id = 'detectElementResize';\n style.type = 'text/css';\n\n if (nonce != null) {\n style.setAttribute('nonce', nonce);\n }\n\n if (style.styleSheet) {\n style.styleSheet.cssText = css;\n } else {\n style.appendChild(doc.createTextNode(css));\n }\n\n head.appendChild(style);\n }\n };\n\n var addResizeListener = function addResizeListener(element, fn) {\n if (attachEvent) {\n element.attachEvent('onresize', fn);\n } else {\n if (!element.__resizeTriggers__) {\n var doc = element.ownerDocument;\n var elementStyle = windowObject.getComputedStyle(element);\n if (elementStyle && elementStyle.position === 'static') {\n element.style.position = 'relative';\n }\n createStyles(doc);\n element.__resizeLast__ = {};\n element.__resizeListeners__ = [];\n (element.__resizeTriggers__ = doc.createElement('div')).className = 'resize-triggers';\n var expandTrigger = doc.createElement('div');\n expandTrigger.className = 'expand-trigger';\n expandTrigger.appendChild(doc.createElement('div'));\n var contractTrigger = doc.createElement('div');\n contractTrigger.className = 'contract-trigger';\n element.__resizeTriggers__.appendChild(expandTrigger);\n element.__resizeTriggers__.appendChild(contractTrigger);\n element.appendChild(element.__resizeTriggers__);\n resetTriggers(element);\n element.addEventListener('scroll', scrollListener, true);\n\n /* Listen for a css animation to detect element display/re-attach */\n if (animationStartEvent) {\n element.__resizeTriggers__.__animationListener__ = function animationListener(e) {\n if (e.animationName === animationName) {\n resetTriggers(element);\n }\n };\n element.__resizeTriggers__.addEventListener(animationStartEvent, element.__resizeTriggers__.__animationListener__);\n }\n }\n element.__resizeListeners__.push(fn);\n }\n };\n\n var removeResizeListener = function removeResizeListener(element, fn) {\n if (attachEvent) {\n element.detachEvent('onresize', fn);\n } else {\n element.__resizeListeners__.splice(element.__resizeListeners__.indexOf(fn), 1);\n if (!element.__resizeListeners__.length) {\n element.removeEventListener('scroll', scrollListener, true);\n if (element.__resizeTriggers__.__animationListener__) {\n element.__resizeTriggers__.removeEventListener(animationStartEvent, element.__resizeTriggers__.__animationListener__);\n element.__resizeTriggers__.__animationListener__ = null;\n }\n try {\n element.__resizeTriggers__ = !element.removeChild(element.__resizeTriggers__);\n } catch (e) {\n // Preact compat; see developit/preact-compat/issues/228\n }\n }\n }\n };\n\n return {\n addResizeListener: addResizeListener,\n removeResizeListener: removeResizeListener\n };\n}\n\nvar AutoSizer = function (_React$PureComponent) {\n inherits(AutoSizer, _React$PureComponent);\n\n function AutoSizer() {\n var _ref;\n\n var _temp, _this, _ret;\n\n classCallCheck(this, AutoSizer);\n\n for (var _len = arguments.length, args = Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n\n return _ret = (_temp = (_this = possibleConstructorReturn(this, (_ref = AutoSizer.__proto__ || Object.getPrototypeOf(AutoSizer)).call.apply(_ref, [this].concat(args))), _this), _this.state = {\n height: _this.props.defaultHeight || 0,\n width: _this.props.defaultWidth || 0\n }, _this._onResize = function () {\n var _this$props = _this.props,\n disableHeight = _this$props.disableHeight,\n disableWidth = _this$props.disableWidth,\n onResize = _this$props.onResize;\n\n\n if (_this._parentNode) {\n // Guard against AutoSizer component being removed from the DOM immediately after being added.\n // This can result in invalid style values which can result in NaN values if we don't handle them.\n // See issue #150 for more context.\n\n var _height = _this._parentNode.offsetHeight || 0;\n var _width = _this._parentNode.offsetWidth || 0;\n\n var _style = window.getComputedStyle(_this._parentNode) || {};\n var paddingLeft = parseInt(_style.paddingLeft, 10) || 0;\n var paddingRight = parseInt(_style.paddingRight, 10) || 0;\n var paddingTop = parseInt(_style.paddingTop, 10) || 0;\n var paddingBottom = parseInt(_style.paddingBottom, 10) || 0;\n\n var newHeight = _height - paddingTop - paddingBottom;\n var newWidth = _width - paddingLeft - paddingRight;\n\n if (!disableHeight && _this.state.height !== newHeight || !disableWidth && _this.state.width !== newWidth) {\n _this.setState({\n height: _height - paddingTop - paddingBottom,\n width: _width - paddingLeft - paddingRight\n });\n\n onResize({ height: _height, width: _width });\n }\n }\n }, _this._setRef = function (autoSizer) {\n _this._autoSizer = autoSizer;\n }, _temp), possibleConstructorReturn(_this, _ret);\n }\n\n createClass(AutoSizer, [{\n key: 'componentDidMount',\n value: function componentDidMount() {\n var nonce = this.props.nonce;\n\n if (this._autoSizer && this._autoSizer.parentNode && this._autoSizer.parentNode.ownerDocument && this._autoSizer.parentNode.ownerDocument.defaultView && this._autoSizer.parentNode instanceof this._autoSizer.parentNode.ownerDocument.defaultView.HTMLElement) {\n // Delay access of parentNode until mount.\n // This handles edge-cases where the component has already been unmounted before its ref has been set,\n // As well as libraries like react-lite which have a slightly different lifecycle.\n this._parentNode = this._autoSizer.parentNode;\n\n // Defer requiring resize handler in order to support server-side rendering.\n // See issue #41\n this._detectElementResize = createDetectElementResize(nonce);\n this._detectElementResize.addResizeListener(this._parentNode, this._onResize);\n\n this._onResize();\n }\n }\n }, {\n key: 'componentWillUnmount',\n value: function componentWillUnmount() {\n if (this._detectElementResize && this._parentNode) {\n this._detectElementResize.removeResizeListener(this._parentNode, this._onResize);\n }\n }\n }, {\n key: 'render',\n value: function render() {\n var _props = this.props,\n children = _props.children,\n className = _props.className,\n disableHeight = _props.disableHeight,\n disableWidth = _props.disableWidth,\n style = _props.style;\n var _state = this.state,\n height = _state.height,\n width = _state.width;\n\n // Outer div should not force width/height since that may prevent containers from shrinking.\n // Inner component should overflow and use calculated width/height.\n // See issue #68 for more information.\n\n var outerStyle = { overflow: 'visible' };\n var childParams = {};\n\n // Avoid rendering children before the initial measurements have been collected.\n // At best this would just be wasting cycles.\n var bailoutOnChildren = false;\n\n if (!disableHeight) {\n if (height === 0) {\n bailoutOnChildren = true;\n }\n outerStyle.height = 0;\n childParams.height = height;\n }\n\n if (!disableWidth) {\n if (width === 0) {\n bailoutOnChildren = true;\n }\n outerStyle.width = 0;\n childParams.width = width;\n }\n\n return createElement(\n 'div',\n {\n className: className,\n ref: this._setRef,\n style: _extends({}, outerStyle, style)\n },\n !bailoutOnChildren && children(childParams)\n );\n }\n }]);\n return AutoSizer;\n}(PureComponent);\n\nAutoSizer.defaultProps = {\n onResize: function onResize() {},\n disableHeight: false,\n disableWidth: false,\n style: {}\n};\n\nexport default AutoSizer;\n","import React, { useState, useRef, useImperativeHandle } from 'react';\nimport { useEffectOnce } from 'react-use';\nimport { uniqueId } from 'lodash';\n\nvar __defProp = Object.defineProperty;\nvar __getOwnPropSymbols = Object.getOwnPropertySymbols;\nvar __hasOwnProp = Object.prototype.hasOwnProperty;\nvar __propIsEnum = Object.prototype.propertyIsEnumerable;\nvar __defNormalProp = (obj, key, value) => key in obj ? __defProp(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;\nvar __spreadValues = (a, b) => {\n for (var prop in b || (b = {}))\n if (__hasOwnProp.call(b, prop))\n __defNormalProp(a, prop, b[prop]);\n if (__getOwnPropSymbols)\n for (var prop of __getOwnPropSymbols(b)) {\n if (__propIsEnum.call(b, prop))\n __defNormalProp(a, prop, b[prop]);\n }\n return a;\n};\nvar __objRest = (source, exclude) => {\n var target = {};\n for (var prop in source)\n if (__hasOwnProp.call(source, prop) && exclude.indexOf(prop) < 0)\n target[prop] = source[prop];\n if (source != null && __getOwnPropSymbols)\n for (var prop of __getOwnPropSymbols(source)) {\n if (exclude.indexOf(prop) < 0 && __propIsEnum.call(source, prop))\n target[prop] = source[prop];\n }\n return target;\n};\nfunction useUniqueId() {\n var _a;\n const idRefLazy = useRef(void 0);\n (_a = idRefLazy.current) != null ? _a : idRefLazy.current = uniqueId();\n return idRefLazy.current;\n}\nconst LazyLoader = React.forwardRef(\n (_a, ref) => {\n var _b = _a, { children, onLoad, onChange } = _b, rest = __objRest(_b, [\"children\", \"onLoad\", \"onChange\"]);\n const id = useUniqueId();\n const [loaded, setLoaded] = useState(false);\n const [isInView, setIsInView] = useState(false);\n const innerRef = useRef(null);\n useImperativeHandle(ref, () => innerRef.current);\n useEffectOnce(() => {\n LazyLoader.addCallback(id, (entry) => {\n if (!loaded && entry.isIntersecting) {\n setLoaded(true);\n onLoad == null ? void 0 : onLoad();\n }\n setIsInView(entry.isIntersecting);\n onChange == null ? void 0 : onChange(entry.isIntersecting);\n });\n const wrapperEl = innerRef.current;\n if (wrapperEl) {\n LazyLoader.observer.observe(wrapperEl);\n }\n return () => {\n delete LazyLoader.callbacks[id];\n wrapperEl && LazyLoader.observer.unobserve(wrapperEl);\n if (Object.keys(LazyLoader.callbacks).length === 0) {\n LazyLoader.observer.disconnect();\n }\n };\n });\n return /* @__PURE__ */ React.createElement(\"div\", __spreadValues({\n id,\n ref: innerRef\n }, rest), loaded && (typeof children === \"function\" ? children({ isInView }) : children));\n }\n);\nLazyLoader.displayName = \"LazyLoader\";\nLazyLoader.callbacks = {};\nLazyLoader.addCallback = (id, c) => LazyLoader.callbacks[id] = c;\nLazyLoader.observer = new IntersectionObserver(\n (entries) => {\n for (const entry of entries) {\n LazyLoader.callbacks[entry.target.id](entry);\n }\n },\n { rootMargin: \"100px\" }\n);\n\nexport { LazyLoader, useUniqueId };\n//# sourceMappingURL=LazyLoader.js.map\n","import { useEffect } from 'react';\nvar useEffectOnce = function (effect) {\n useEffect(effect, []);\n};\nexport default useEffectOnce;\n","import React, { useRef, useReducer, useCallback, useMemo } from 'react';\nimport ReactGridLayout from 'react-grid-layout';\nimport AutoSizer from 'react-virtualized-auto-sizer';\nimport { GRID_CELL_VMARGIN, GRID_COLUMN_COUNT, GRID_CELL_HEIGHT } from './constants.js';\nimport { LazyLoader } from '../LazyLoader.js';\nimport { useTheme2, LayoutItemContext } from '@grafana/ui';\nimport { cx } from '@emotion/css';\n\nvar __defProp = Object.defineProperty;\nvar __defProps = Object.defineProperties;\nvar __getOwnPropDescs = Object.getOwnPropertyDescriptors;\nvar __getOwnPropSymbols = Object.getOwnPropertySymbols;\nvar __hasOwnProp = Object.prototype.hasOwnProperty;\nvar __propIsEnum = Object.prototype.propertyIsEnumerable;\nvar __defNormalProp = (obj, key, value) => key in obj ? __defProp(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;\nvar __spreadValues = (a, b) => {\n for (var prop in b || (b = {}))\n if (__hasOwnProp.call(b, prop))\n __defNormalProp(a, prop, b[prop]);\n if (__getOwnPropSymbols)\n for (var prop of __getOwnPropSymbols(b)) {\n if (__propIsEnum.call(b, prop))\n __defNormalProp(a, prop, b[prop]);\n }\n return a;\n};\nvar __spreadProps = (a, b) => __defProps(a, __getOwnPropDescs(b));\nvar __objRest = (source, exclude) => {\n var target = {};\n for (var prop in source)\n if (__hasOwnProp.call(source, prop) && exclude.indexOf(prop) < 0)\n target[prop] = source[prop];\n if (source != null && __getOwnPropSymbols)\n for (var prop of __getOwnPropSymbols(source)) {\n if (exclude.indexOf(prop) < 0 && __propIsEnum.call(source, prop))\n target[prop] = source[prop];\n }\n return target;\n};\nfunction SceneGridLayoutRenderer({ model }) {\n const { children, isLazy, isDraggable, isResizable } = model.useState();\n validateChildrenSize(children);\n return /* @__PURE__ */ React.createElement(AutoSizer, {\n disableHeight: true\n }, ({ width }) => {\n if (width === 0) {\n return null;\n }\n const layout = model.buildGridLayout(width);\n return /* @__PURE__ */ React.createElement(\"div\", {\n style: { width: `${width}px`, height: \"100%\", position: \"relative\", zIndex: 1 }\n }, /* @__PURE__ */ React.createElement(ReactGridLayout, {\n width,\n isDraggable: isDraggable && width > 768,\n isResizable: isResizable != null ? isResizable : false,\n containerPadding: [0, 0],\n useCSSTransforms: false,\n margin: [GRID_CELL_VMARGIN, GRID_CELL_VMARGIN],\n cols: GRID_COLUMN_COUNT,\n rowHeight: GRID_CELL_HEIGHT,\n draggableHandle: `.grid-drag-handle-${model.state.key}`,\n draggableCancel: \".grid-drag-cancel\",\n layout,\n onDragStop: model.onDragStop,\n onResizeStop: model.onResizeStop,\n onLayoutChange: model.onLayoutChange,\n isBounded: false\n }, layout.map((gridItem, index) => /* @__PURE__ */ React.createElement(GridItemWrapper, {\n key: gridItem.i,\n grid: model,\n layoutItem: gridItem,\n index,\n isLazy,\n totalCount: layout.length\n }))));\n });\n}\nconst GridItemWrapper = React.forwardRef((props, ref) => {\n var _b;\n const _a = props, { grid, layoutItem, index, totalCount, isLazy, style, onLoad, onChange } = _a, divProps = __objRest(_a, [\"grid\", \"layoutItem\", \"index\", \"totalCount\", \"isLazy\", \"style\", \"onLoad\", \"onChange\"]);\n const sceneChild = grid.getSceneLayoutChild(layoutItem.i);\n const className = (_b = sceneChild.getClassName) == null ? void 0 : _b.call(sceneChild);\n const theme = useTheme2();\n const boostedCount = useRef(0);\n const [_, forceUpdate] = useReducer((x) => x + 1, 0);\n const boostZIndex = useCallback(() => {\n boostedCount.current += 1;\n forceUpdate();\n return () => {\n boostedCount.current -= 1;\n forceUpdate();\n };\n }, [forceUpdate]);\n const ctxValue = useMemo(() => ({ boostZIndex }), [boostZIndex]);\n const descIndex = totalCount - index;\n const innerContent = /* @__PURE__ */ React.createElement(sceneChild.Component, {\n model: sceneChild,\n key: sceneChild.state.key\n });\n const innerContentWithContext = LayoutItemContext ? /* @__PURE__ */ React.createElement(LayoutItemContext.Provider, {\n value: ctxValue\n }, innerContent) : innerContent;\n const newStyle = __spreadProps(__spreadValues({}, style), {\n zIndex: boostedCount.current === 0 ? descIndex : theme.zIndex.dropdown\n });\n if (isLazy) {\n return /* @__PURE__ */ React.createElement(LazyLoader, __spreadProps(__spreadValues({}, divProps), {\n key: sceneChild.state.key,\n \"data-griditem-key\": sceneChild.state.key,\n className: cx(className, props.className),\n style: newStyle,\n ref\n }), innerContentWithContext);\n }\n return /* @__PURE__ */ React.createElement(\"div\", __spreadProps(__spreadValues({}, divProps), {\n ref,\n key: sceneChild.state.key,\n \"data-griditem-key\": sceneChild.state.key,\n className: cx(className, props.className),\n style: newStyle\n }), innerContentWithContext);\n});\nGridItemWrapper.displayName = \"GridItemWrapper\";\nfunction validateChildrenSize(children) {\n if (children.some(\n (c) => c.state.height === void 0 || c.state.width === void 0 || c.state.x === void 0 || c.state.y === void 0\n )) {\n throw new Error(\"All children must have a size specified\");\n }\n}\n\nexport { SceneGridLayoutRenderer };\n//# sourceMappingURL=SceneGridLayoutRenderer.js.map\n","import { SceneObjectBase } from '../../../core/SceneObjectBase.js';\nimport { DEFAULT_PANEL_SPAN } from './constants.js';\nimport { isSceneGridRow } from './SceneGridItem.js';\nimport { SceneGridLayoutRenderer } from './SceneGridLayoutRenderer.js';\nimport { SceneGridRow } from './SceneGridRow.js';\n\nvar __defProp = Object.defineProperty;\nvar __defProps = Object.defineProperties;\nvar __getOwnPropDescs = Object.getOwnPropertyDescriptors;\nvar __getOwnPropSymbols = Object.getOwnPropertySymbols;\nvar __hasOwnProp = Object.prototype.hasOwnProperty;\nvar __propIsEnum = Object.prototype.propertyIsEnumerable;\nvar __defNormalProp = (obj, key, value) => key in obj ? __defProp(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;\nvar __spreadValues = (a, b) => {\n for (var prop in b || (b = {}))\n if (__hasOwnProp.call(b, prop))\n __defNormalProp(a, prop, b[prop]);\n if (__getOwnPropSymbols)\n for (var prop of __getOwnPropSymbols(b)) {\n if (__propIsEnum.call(b, prop))\n __defNormalProp(a, prop, b[prop]);\n }\n return a;\n};\nvar __spreadProps = (a, b) => __defProps(a, __getOwnPropDescs(b));\nconst _SceneGridLayout = class extends SceneObjectBase {\n constructor(state) {\n super(__spreadProps(__spreadValues({}, state), {\n children: sortChildrenByPosition(state.children)\n }));\n this._skipOnLayoutChange = false;\n this.onLayoutChange = (layout) => {\n if (this._skipOnLayoutChange) {\n this._skipOnLayoutChange = false;\n return;\n }\n for (const item of layout) {\n const child = this.getSceneLayoutChild(item.i);\n const nextSize = {\n x: item.x,\n y: item.y,\n width: item.w,\n height: item.h\n };\n if (!isItemSizeEqual(child.state, nextSize)) {\n child.setState(__spreadValues({}, nextSize));\n }\n }\n this.setState({ children: sortChildrenByPosition(this.state.children) });\n };\n this.onResizeStop = (_, o, n) => {\n const child = this.getSceneLayoutChild(n.i);\n child.setState({\n width: n.w,\n height: n.h\n });\n };\n this.onDragStop = (gridLayout, o, updatedItem) => {\n const sceneChild = this.getSceneLayoutChild(updatedItem.i);\n gridLayout = sortGridLayout(gridLayout);\n for (let i = 0; i < gridLayout.length; i++) {\n const gridItem = gridLayout[i];\n const child = this.getSceneLayoutChild(gridItem.i);\n const childSize = child.state;\n if ((childSize == null ? void 0 : childSize.x) !== gridItem.x || (childSize == null ? void 0 : childSize.y) !== gridItem.y) {\n child.setState({\n x: gridItem.x,\n y: gridItem.y\n });\n }\n }\n const indexOfUpdatedItem = gridLayout.findIndex((item) => item.i === updatedItem.i);\n const newParent = this.findGridItemSceneParent(gridLayout, indexOfUpdatedItem - 1);\n let newChildren = this.state.children;\n if (newParent !== sceneChild.parent) {\n newChildren = this.moveChildTo(sceneChild, newParent);\n }\n this.setState({ children: sortChildrenByPosition(newChildren) });\n this._skipOnLayoutChange = true;\n };\n }\n isDraggable() {\n var _a;\n return (_a = this.state.isDraggable) != null ? _a : false;\n }\n getDragClass() {\n return `grid-drag-handle-${this.state.key}`;\n }\n getDragClassCancel() {\n return `grid-drag-cancel`;\n }\n toggleRow(row) {\n var _a, _b;\n const isCollapsed = row.state.isCollapsed;\n if (!isCollapsed) {\n row.setState({ isCollapsed: true });\n this.setState({});\n return;\n }\n const rowChildren = row.state.children;\n if (rowChildren.length === 0) {\n row.setState({ isCollapsed: false });\n this.setState({});\n return;\n }\n const rowY = row.state.y;\n const firstPanelYPos = (_a = rowChildren[0].state.y) != null ? _a : rowY;\n const yDiff = firstPanelYPos - (rowY + 1);\n let yMax = rowY;\n for (const panel of rowChildren) {\n const newSize = __spreadValues({}, panel.state);\n newSize.y = (_b = newSize.y) != null ? _b : rowY;\n newSize.y -= yDiff;\n if (newSize.y !== panel.state.y) {\n panel.setState(newSize);\n }\n yMax = Math.max(yMax, Number(newSize.y) + Number(newSize.height));\n }\n const pushDownAmount = yMax - rowY - 1;\n for (const child of this.state.children) {\n if (child.state.y > rowY) {\n this.pushChildDown(child, pushDownAmount);\n }\n if (isSceneGridRow(child) && child !== row) {\n for (const rowChild of child.state.children) {\n if (rowChild.state.y > rowY) {\n this.pushChildDown(rowChild, pushDownAmount);\n }\n }\n }\n }\n row.setState({ isCollapsed: false });\n this.setState({});\n }\n getSceneLayoutChild(key) {\n for (const child of this.state.children) {\n if (child.state.key === key) {\n return child;\n }\n if (child instanceof SceneGridRow) {\n for (const rowChild of child.state.children) {\n if (rowChild.state.key === key) {\n return rowChild;\n }\n }\n }\n }\n throw new Error(\"Scene layout child not found for GridItem\");\n }\n pushChildDown(child, amount) {\n child.setState({\n y: child.state.y + amount\n });\n }\n findGridItemSceneParent(layout, startAt) {\n for (let i = startAt; i >= 0; i--) {\n const gridItem = layout[i];\n const sceneChild = this.getSceneLayoutChild(gridItem.i);\n if (sceneChild instanceof SceneGridRow) {\n if (sceneChild.state.isCollapsed) {\n return this;\n }\n return sceneChild;\n }\n }\n return this;\n }\n moveChildTo(child, target) {\n const currentParent = child.parent;\n let rootChildren = this.state.children;\n const newChild = child.clone({ key: child.state.key });\n if (currentParent instanceof SceneGridRow) {\n const newRow = currentParent.clone({\n children: currentParent.state.children.filter((c) => c.state.key !== child.state.key)\n });\n rootChildren = rootChildren.map((c) => c === currentParent ? newRow : c);\n if (target instanceof SceneGridRow) {\n const targetRow = target.clone({ children: [...target.state.children, newChild] });\n rootChildren = rootChildren.map((c) => c === target ? targetRow : c);\n } else {\n rootChildren = [...rootChildren, newChild];\n }\n } else {\n if (!(target instanceof _SceneGridLayout)) {\n rootChildren = rootChildren.filter((c) => c.state.key !== child.state.key);\n const targetRow = target.clone({ children: [...target.state.children, newChild] });\n rootChildren = rootChildren.map((c) => c === target ? targetRow : c);\n }\n }\n return rootChildren;\n }\n toGridCell(child) {\n var _a, _b;\n const size = child.state;\n let x = (_a = size.x) != null ? _a : 0;\n let y = (_b = size.y) != null ? _b : 0;\n const w = Number.isInteger(Number(size.width)) ? Number(size.width) : DEFAULT_PANEL_SPAN;\n const h = Number.isInteger(Number(size.height)) ? Number(size.height) : DEFAULT_PANEL_SPAN;\n let isDraggable = child.state.isDraggable;\n let isResizable = child.state.isResizable;\n if (child instanceof SceneGridRow) {\n isDraggable = child.state.isCollapsed ? true : false;\n isResizable = false;\n }\n return { i: child.state.key, x, y, h, w, isResizable, isDraggable };\n }\n buildGridLayout(width) {\n let cells = [];\n for (const child of this.state.children) {\n cells.push(this.toGridCell(child));\n if (child instanceof SceneGridRow && !child.state.isCollapsed) {\n for (const rowChild of child.state.children) {\n cells.push(this.toGridCell(rowChild));\n }\n }\n }\n cells = sortGridLayout(cells);\n if (width < 768) {\n this._skipOnLayoutChange = true;\n return cells.map((cell) => __spreadProps(__spreadValues({}, cell), { w: 24 }));\n }\n this._skipOnLayoutChange = false;\n return cells;\n }\n};\nlet SceneGridLayout = _SceneGridLayout;\nSceneGridLayout.Component = SceneGridLayoutRenderer;\nfunction isItemSizeEqual(a, b) {\n return a.x === b.x && a.y === b.y && a.width === b.width && a.height === b.height;\n}\nfunction sortChildrenByPosition(children) {\n return [...children].sort((a, b) => {\n return a.state.y - b.state.y || a.state.x - b.state.x;\n });\n}\nfunction sortGridLayout(layout) {\n return [...layout].sort((a, b) => a.y - b.y || a.x - b.x);\n}\n\nexport { SceneGridLayout };\n//# sourceMappingURL=SceneGridLayout.js.map\n","const DEFAULT_PANEL_SPAN = 4;\nconst GRID_CELL_HEIGHT = 30;\nconst GRID_CELL_VMARGIN = 8;\nconst GRID_COLUMN_COUNT = 24;\n\nexport { DEFAULT_PANEL_SPAN, GRID_CELL_HEIGHT, GRID_CELL_VMARGIN, GRID_COLUMN_COUNT };\n//# sourceMappingURL=constants.js.map\n","import { cx, css } from '@emotion/css';\nimport React from 'react';\nimport { useStyles2, Icon } from '@grafana/ui';\nimport { SceneObjectBase } from '../../../core/SceneObjectBase.js';\nimport { SceneGridLayout } from './SceneGridLayout.js';\nimport { GRID_COLUMN_COUNT } from './constants.js';\nimport { sceneGraph } from '../../../core/sceneGraph/index.js';\n\nvar __defProp = Object.defineProperty;\nvar __defProps = Object.defineProperties;\nvar __getOwnPropDescs = Object.getOwnPropertyDescriptors;\nvar __getOwnPropSymbols = Object.getOwnPropertySymbols;\nvar __hasOwnProp = Object.prototype.hasOwnProperty;\nvar __propIsEnum = Object.prototype.propertyIsEnumerable;\nvar __defNormalProp = (obj, key, value) => key in obj ? __defProp(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;\nvar __spreadValues = (a, b) => {\n for (var prop in b || (b = {}))\n if (__hasOwnProp.call(b, prop))\n __defNormalProp(a, prop, b[prop]);\n if (__getOwnPropSymbols)\n for (var prop of __getOwnPropSymbols(b)) {\n if (__propIsEnum.call(b, prop))\n __defNormalProp(a, prop, b[prop]);\n }\n return a;\n};\nvar __spreadProps = (a, b) => __defProps(a, __getOwnPropDescs(b));\nclass SceneGridRow extends SceneObjectBase {\n constructor(state) {\n super(__spreadProps(__spreadValues({\n children: state.children || [],\n isCollapsible: state.isCollapsible || true,\n title: state.title || \"\"\n }, state), {\n x: 0,\n height: 1,\n width: GRID_COLUMN_COUNT\n }));\n this.onCollapseToggle = () => {\n if (!this.state.isCollapsible) {\n return;\n }\n this.getGridLayout().toggleRow(this);\n };\n }\n getGridLayout() {\n const layout = this.parent;\n if (!layout || !(layout instanceof SceneGridLayout)) {\n throw new Error(\"SceneGridRow must be a child of SceneGridLayout\");\n }\n return layout;\n }\n getUrlState() {\n return { rowc: this.state.isCollapsed ? \"1\" : \"0\" };\n }\n updateFromUrl(values) {\n if (values.rowc == null) {\n return;\n }\n if (values.rowc !== this.getUrlState().rowc) {\n this.onCollapseToggle();\n }\n }\n}\nSceneGridRow.Component = SceneGridRowRenderer;\nfunction SceneGridRowRenderer({ model }) {\n const styles = useStyles2(getSceneGridRowStyles);\n const { isCollapsible, isCollapsed, title, isDraggable, actions } = model.useState();\n const layoutDragClass = model.getGridLayout().getDragClass();\n return /* @__PURE__ */ React.createElement(\"div\", {\n className: cx(styles.row, isCollapsed && styles.rowCollapsed)\n }, /* @__PURE__ */ React.createElement(\"button\", {\n onClick: model.onCollapseToggle,\n className: styles.rowTitleButton,\n \"aria-label\": isCollapsed ? \"Expand row\" : \"Collapse row\"\n }, isCollapsible && /* @__PURE__ */ React.createElement(Icon, {\n name: isCollapsed ? \"angle-right\" : \"angle-down\"\n }), /* @__PURE__ */ React.createElement(\"span\", {\n className: styles.rowTitle,\n role: \"heading\"\n }, sceneGraph.interpolate(model, title, void 0, \"text\"))), actions && /* @__PURE__ */ React.createElement(actions.Component, {\n model: actions\n }), isDraggable && isCollapsed && /* @__PURE__ */ React.createElement(\"div\", {\n className: cx(styles.dragHandle, layoutDragClass)\n }, /* @__PURE__ */ React.createElement(Icon, {\n name: \"draggabledots\"\n })));\n}\nconst getSceneGridRowStyles = (theme) => {\n return {\n row: css({\n width: \"100%\",\n height: \"30px\",\n display: \"flex\",\n justifyContent: \"space-between\",\n gap: theme.spacing(1)\n }),\n rowTitleButton: css({\n display: \"flex\",\n alignItems: \"center\",\n cursor: \"pointer\",\n background: \"transparent\",\n border: \"none\",\n gap: theme.spacing(1)\n }),\n rowCollapsed: css({\n borderBottom: `1px solid ${theme.colors.border.weak}`\n }),\n rowTitle: css({\n fontSize: theme.typography.h5.fontSize,\n fontWeight: theme.typography.fontWeightMedium\n }),\n collapsedInfo: css({\n fontSize: theme.typography.bodySmall.fontSize,\n color: theme.colors.text.secondary,\n display: \"flex\",\n alignItems: \"center\",\n flexGrow: 1\n }),\n dragHandle: css({\n display: \"flex\",\n padding: theme.spacing(0, 1),\n alignItems: \"center\",\n justifyContent: \"flex-end\",\n cursor: \"move\",\n color: theme.colors.text.secondary,\n \"&:hover\": {\n color: theme.colors.text.primary\n }\n })\n };\n};\n\nexport { SceneGridRow, SceneGridRowRenderer, getSceneGridRowStyles };\n//# sourceMappingURL=SceneGridRow.js.map\n","import { cx, css } from '@emotion/css';\nimport React from 'react';\nimport { useStyles2, ToolbarButton, Icon } from '@grafana/ui';\nimport { SceneObjectBase } from '../core/SceneObjectBase.js';\nimport { getSceneGridRowStyles } from './layout/grid/SceneGridRow.js';\nimport { sceneGraph } from '../core/sceneGraph/index.js';\n\nclass NestedScene extends SceneObjectBase {\n constructor() {\n super(...arguments);\n this.onToggle = () => {\n this.setState({\n isCollapsed: !this.state.isCollapsed\n });\n };\n this.onRemove = () => {\n const parent = this.parent;\n if (isSceneLayoutItem(parent)) {\n parent.setState({\n body: void 0\n });\n }\n };\n }\n}\nNestedScene.Component = NestedSceneRenderer;\nfunction NestedSceneRenderer({ model }) {\n const { title, isCollapsed, canCollapse, canRemove, body, controls } = model.useState();\n const gridRow = useStyles2(getSceneGridRowStyles);\n const styles = useStyles2(getStyles);\n const toolbarControls = (controls != null ? controls : []).map((action) => /* @__PURE__ */ React.createElement(action.Component, {\n key: action.state.key,\n model: action\n }));\n if (canRemove) {\n toolbarControls.push(\n /* @__PURE__ */ React.createElement(ToolbarButton, {\n icon: \"times\",\n variant: \"default\",\n onClick: model.onRemove,\n key: \"remove-button\",\n \"aria-label\": \"Remove scene\"\n })\n );\n }\n return /* @__PURE__ */ React.createElement(\"div\", {\n className: styles.wrapper\n }, /* @__PURE__ */ React.createElement(\"div\", {\n className: cx(styles.row, isCollapsed && styles.rowCollapsed)\n }, /* @__PURE__ */ React.createElement(\"button\", {\n onClick: model.onToggle,\n className: gridRow.rowTitleButton,\n \"aria-label\": isCollapsed ? \"Expand scene\" : \"Collapse scene\"\n }, canCollapse && /* @__PURE__ */ React.createElement(Icon, {\n name: isCollapsed ? \"angle-right\" : \"angle-down\"\n }), /* @__PURE__ */ React.createElement(\"span\", {\n className: gridRow.rowTitle,\n role: \"heading\"\n }, sceneGraph.interpolate(model, title, void 0, \"text\"))), /* @__PURE__ */ React.createElement(\"div\", {\n className: styles.actions\n }, toolbarControls)), !isCollapsed && /* @__PURE__ */ React.createElement(body.Component, {\n model: body\n }));\n}\nconst getStyles = (theme) => ({\n wrapper: css({\n display: \"flex\",\n flexDirection: \"column\",\n flexGrow: 1,\n gap: theme.spacing(1),\n cursor: \"pointer\"\n }),\n row: css({\n width: \"100%\",\n display: \"flex\",\n justifyContent: \"space-between\",\n gap: theme.spacing(1)\n }),\n rowCollapsed: css({\n borderBottom: `1px solid ${theme.colors.border.weak}`,\n paddingBottom: theme.spacing(1)\n }),\n actions: css({\n display: \"flex\",\n alignItems: \"center\",\n gap: theme.spacing(1),\n justifyContent: \"flex-end\",\n flexGrow: 1\n })\n});\nfunction isSceneLayoutItem(x) {\n return \"body\" in x.state;\n}\n\nexport { NestedScene, NestedSceneRenderer };\n//# sourceMappingURL=NestedScene.js.map\n","import React from 'react';\nimport { SceneObjectBase } from '../core/SceneObjectBase.js';\nimport { sceneGraph } from '../core/sceneGraph/index.js';\nimport { VariableDependencyConfig } from '../variables/VariableDependencyConfig.js';\nimport { useTheme2 } from '@grafana/ui';\nimport { css } from '@emotion/css';\n\nclass SceneCanvasText extends SceneObjectBase {\n constructor() {\n super(...arguments);\n this._variableDependency = new VariableDependencyConfig(this, { statePaths: [\"text\"] });\n }\n}\nSceneCanvasText.Component = ({ model }) => {\n const { text, fontSize = 20, align = \"left\", key, spacing } = model.useState();\n const theme = useTheme2();\n const style = css({\n fontSize,\n display: \"flex\",\n flexGrow: 1,\n alignItems: \"center\",\n padding: spacing ? theme.spacing(spacing, 0) : void 0,\n justifyContent: align\n });\n return /* @__PURE__ */ React.createElement(\"div\", {\n className: style,\n \"data-testid\": key\n }, sceneGraph.interpolate(model, text));\n};\n\nexport { SceneCanvasText };\n//# sourceMappingURL=SceneCanvasText.js.map\n","import React from 'react';\nimport { ToolbarButton, Input } from '@grafana/ui';\nimport { SceneObjectBase } from '../core/SceneObjectBase.js';\nimport { ControlsLabel } from '../utils/ControlsLabel.js';\n\nclass SceneToolbarButton extends SceneObjectBase {\n}\nSceneToolbarButton.Component = ({ model }) => {\n const state = model.useState();\n return /* @__PURE__ */ React.createElement(ToolbarButton, {\n onClick: state.onClick,\n icon: state.icon\n });\n};\nclass SceneToolbarInput extends SceneObjectBase {\n}\nSceneToolbarInput.Component = ({ model }) => {\n const state = model.useState();\n return /* @__PURE__ */ React.createElement(\"div\", {\n style: { display: \"flex\" }\n }, state.label && /* @__PURE__ */ React.createElement(ControlsLabel, {\n label: state.label\n }), /* @__PURE__ */ React.createElement(Input, {\n defaultValue: state.value,\n width: 8,\n onBlur: (evt) => {\n model.state.onChange(parseInt(evt.currentTarget.value, 10));\n }\n }));\n};\n\nexport { SceneToolbarButton, SceneToolbarInput };\n//# sourceMappingURL=SceneToolbarButton.js.map\n","import React from 'react';\nimport { TimeRangePicker } from '@grafana/ui';\nimport { SceneObjectBase } from '../core/SceneObjectBase.js';\nimport { sceneGraph } from '../core/sceneGraph/index.js';\nimport { toUtc } from '@grafana/data';\n\nclass SceneTimePicker extends SceneObjectBase {\n constructor() {\n super(...arguments);\n this.onZoom = () => {\n const timeRange = sceneGraph.getTimeRange(this);\n const zoomedTimeRange = getZoomedTimeRange(timeRange.state.value, 2);\n timeRange.onTimeRangeChange(zoomedTimeRange);\n };\n this.onChangeFiscalYearStartMonth = (month) => {\n const timeRange = sceneGraph.getTimeRange(this);\n timeRange.setState({ fiscalYearStartMonth: month });\n };\n this.onMoveBackward = () => {\n const timeRange = sceneGraph.getTimeRange(this);\n const {\n state: { value: range }\n } = timeRange;\n timeRange.onTimeRangeChange(getShiftedTimeRange(TimeRangeDirection.Backward, range, Date.now()));\n };\n this.onMoveForward = () => {\n const timeRange = sceneGraph.getTimeRange(this);\n const {\n state: { value: range }\n } = timeRange;\n timeRange.onTimeRangeChange(getShiftedTimeRange(TimeRangeDirection.Forward, range, Date.now()));\n };\n }\n}\nSceneTimePicker.Component = SceneTimePickerRenderer;\nfunction SceneTimePickerRenderer({ model }) {\n const { hidePicker, isOnCanvas } = model.useState();\n const timeRange = sceneGraph.getTimeRange(model);\n const timeZone = timeRange.getTimeZone();\n const timeRangeState = timeRange.useState();\n if (hidePicker) {\n return null;\n }\n return /* @__PURE__ */ React.createElement(TimeRangePicker, {\n isOnCanvas: isOnCanvas != null ? isOnCanvas : true,\n value: timeRangeState.value,\n onChange: timeRange.onTimeRangeChange,\n timeZone,\n fiscalYearStartMonth: timeRangeState.fiscalYearStartMonth,\n onMoveBackward: model.onMoveBackward,\n onMoveForward: model.onMoveForward,\n onZoom: model.onZoom,\n onChangeTimeZone: timeRange.onTimeZoneChange,\n onChangeFiscalYearStartMonth: model.onChangeFiscalYearStartMonth\n });\n}\nfunction getZoomedTimeRange(timeRange, factor) {\n const timespan = timeRange.to.valueOf() - timeRange.from.valueOf();\n const center = timeRange.to.valueOf() - timespan / 2;\n const newTimespan = timespan === 0 ? 3e4 : timespan * factor;\n const to = center + newTimespan / 2;\n const from = center - newTimespan / 2;\n return { from: toUtc(from), to: toUtc(to), raw: { from: toUtc(from), to: toUtc(to) } };\n}\nvar TimeRangeDirection = /* @__PURE__ */ ((TimeRangeDirection2) => {\n TimeRangeDirection2[TimeRangeDirection2[\"Backward\"] = 0] = \"Backward\";\n TimeRangeDirection2[TimeRangeDirection2[\"Forward\"] = 1] = \"Forward\";\n return TimeRangeDirection2;\n})(TimeRangeDirection || {});\nfunction getShiftedTimeRange(dir, timeRange, upperLimit) {\n const oldTo = timeRange.to.valueOf();\n const oldFrom = timeRange.from.valueOf();\n const halfSpan = (oldTo - oldFrom) / 2;\n let fromRaw;\n let toRaw;\n if (dir === 0 /* Backward */) {\n fromRaw = oldFrom - halfSpan;\n toRaw = oldTo - halfSpan;\n } else {\n fromRaw = oldFrom + halfSpan;\n toRaw = oldTo + halfSpan;\n if (toRaw > upperLimit && oldTo < upperLimit) {\n toRaw = upperLimit;\n fromRaw = oldFrom;\n }\n }\n const from = toUtc(fromRaw);\n const to = toUtc(toRaw);\n return {\n from,\n to,\n raw: { from, to }\n };\n}\n\nexport { SceneTimePicker, TimeRangeDirection, getShiftedTimeRange, getZoomedTimeRange };\n//# sourceMappingURL=SceneTimePicker.js.map\n","import React from 'react';\nimport { rangeUtil } from '@grafana/data';\nimport { RefreshPicker } from '@grafana/ui';\nimport { SceneObjectBase } from '../core/SceneObjectBase.js';\nimport { sceneGraph } from '../core/sceneGraph/index.js';\nimport { SceneObjectUrlSyncConfig } from '../services/SceneObjectUrlSyncConfig.js';\n\nvar __defProp = Object.defineProperty;\nvar __defProps = Object.defineProperties;\nvar __getOwnPropDescs = Object.getOwnPropertyDescriptors;\nvar __getOwnPropSymbols = Object.getOwnPropertySymbols;\nvar __hasOwnProp = Object.prototype.hasOwnProperty;\nvar __propIsEnum = Object.prototype.propertyIsEnumerable;\nvar __defNormalProp = (obj, key, value) => key in obj ? __defProp(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;\nvar __spreadValues = (a, b) => {\n for (var prop in b || (b = {}))\n if (__hasOwnProp.call(b, prop))\n __defNormalProp(a, prop, b[prop]);\n if (__getOwnPropSymbols)\n for (var prop of __getOwnPropSymbols(b)) {\n if (__propIsEnum.call(b, prop))\n __defNormalProp(a, prop, b[prop]);\n }\n return a;\n};\nvar __spreadProps = (a, b) => __defProps(a, __getOwnPropDescs(b));\nconst DEFAULT_INTERVALS = [\"5s\", \"10s\", \"30s\", \"1m\", \"5m\", \"15m\", \"30m\", \"1h\", \"2h\", \"1d\"];\nclass SceneRefreshPicker extends SceneObjectBase {\n constructor(state) {\n var _a;\n super(__spreadProps(__spreadValues({\n refresh: \"\"\n }, state), {\n intervals: (_a = state.intervals) != null ? _a : DEFAULT_INTERVALS\n }));\n this._urlSync = new SceneObjectUrlSyncConfig(this, { keys: [\"refresh\"] });\n this.onRefresh = () => {\n const timeRange = sceneGraph.getTimeRange(this);\n if (this._intervalTimer) {\n clearInterval(this._intervalTimer);\n }\n timeRange.onRefresh();\n this.setupIntervalTimer();\n };\n this.onIntervalChanged = (interval) => {\n this.setState({ refresh: interval });\n this.setupIntervalTimer();\n };\n this.setupIntervalTimer = () => {\n const timeRange = sceneGraph.getTimeRange(this);\n const { refresh, intervals } = this.state;\n if (this._intervalTimer || refresh === \"\") {\n clearInterval(this._intervalTimer);\n }\n if (refresh === \"\") {\n return;\n }\n if (intervals && !intervals.includes(refresh)) {\n return;\n }\n const intervalMs = rangeUtil.intervalToMs(refresh);\n this._intervalTimer = setInterval(() => {\n timeRange.onRefresh();\n }, intervalMs);\n };\n this.addActivationHandler(() => {\n this.setupIntervalTimer();\n return () => {\n if (this._intervalTimer) {\n clearInterval(this._intervalTimer);\n }\n };\n });\n }\n getUrlState() {\n return {\n refresh: this.state.refresh\n };\n }\n updateFromUrl(values) {\n const refresh = values.refresh;\n if (refresh && typeof refresh === \"string\") {\n this.setState({\n refresh\n });\n }\n }\n}\nSceneRefreshPicker.Component = SceneRefreshPickerRenderer;\nfunction SceneRefreshPickerRenderer({ model }) {\n const { refresh, intervals, isOnCanvas } = model.useState();\n return /* @__PURE__ */ React.createElement(RefreshPicker, {\n value: refresh,\n intervals,\n onRefresh: model.onRefresh,\n onIntervalChanged: model.onIntervalChanged,\n isOnCanvas: isOnCanvas != null ? isOnCanvas : true\n });\n}\n\nexport { DEFAULT_INTERVALS, SceneRefreshPicker, SceneRefreshPickerRenderer };\n//# sourceMappingURL=SceneRefreshPicker.js.map\n","import React from 'react';\nimport { LoadingState } from '@grafana/data';\nimport { SceneObjectBase } from '../core/SceneObjectBase.js';\nimport { sceneGraph } from '../core/sceneGraph/index.js';\n\nclass SceneByFrameRepeater extends SceneObjectBase {\n constructor(state) {\n super(state);\n this.addActivationHandler(() => {\n const dataProvider = sceneGraph.getData(this);\n this._subs.add(\n dataProvider.subscribeToState((data) => {\n var _a;\n if (((_a = data.data) == null ? void 0 : _a.state) === LoadingState.Done) {\n this.performRepeat(data.data);\n }\n })\n );\n if (dataProvider.state.data) {\n this.performRepeat(dataProvider.state.data);\n }\n });\n }\n performRepeat(data) {\n const newChildren = [];\n for (let seriesIndex = 0; seriesIndex < data.series.length; seriesIndex++) {\n const layoutChild = this.state.getLayoutChild(data, data.series[seriesIndex], seriesIndex);\n newChildren.push(layoutChild);\n }\n this.state.body.setState({ children: newChildren });\n }\n}\nSceneByFrameRepeater.Component = ({ model }) => {\n const { body } = model.useState();\n return /* @__PURE__ */ React.createElement(body.Component, {\n model: body\n });\n};\n\nexport { SceneByFrameRepeater };\n//# sourceMappingURL=SceneByFrameRepeater.js.map\n","import React from 'react';\nimport { SceneObjectBase } from '../core/SceneObjectBase.js';\n\nconst _SceneControlsSpacer = class extends SceneObjectBase {\n constructor() {\n super({});\n }\n get Component() {\n return _SceneControlsSpacer.Component;\n }\n};\nlet SceneControlsSpacer = _SceneControlsSpacer;\nSceneControlsSpacer.Component = (_props) => {\n return /* @__PURE__ */ React.createElement(\"div\", {\n style: { flexGrow: 1 }\n });\n};\n\nexport { SceneControlsSpacer };\n//# sourceMappingURL=SceneControlsSpacer.js.map\n","import { css } from '@emotion/css';\nimport { config } from '@grafana/runtime';\nimport React, { useMemo } from 'react';\nimport { SceneObjectBase } from '../../core/SceneObjectBase.js';\n\nclass SceneFlexLayout extends SceneObjectBase {\n toggleDirection() {\n this.setState({\n direction: this.state.direction === \"row\" ? \"column\" : \"row\"\n });\n }\n isDraggable() {\n return false;\n }\n}\nSceneFlexLayout.Component = SceneFlexLayoutRenderer;\nfunction SceneFlexLayoutRenderer({ model, parentState }) {\n const { children, isHidden } = model.useState();\n const style = useLayoutStyle(model.state, parentState);\n if (isHidden) {\n return null;\n }\n return /* @__PURE__ */ React.createElement(\"div\", {\n className: style\n }, children.map((item) => {\n const Component = item.Component;\n return /* @__PURE__ */ React.createElement(Component, {\n key: item.state.key,\n model: item,\n parentState: model.state\n });\n }));\n}\nclass SceneFlexItem extends SceneObjectBase {\n}\nSceneFlexItem.Component = SceneFlexItemRenderer;\nfunction SceneFlexItemRenderer({ model, parentState }) {\n if (!parentState) {\n throw new Error(\"SceneFlexItem must be a child of SceneFlexLayout\");\n }\n const { body, isHidden } = model.useState();\n const style = useLayoutItemStyle(model.state, parentState);\n if (!body || isHidden) {\n return null;\n }\n return /* @__PURE__ */ React.createElement(\"div\", {\n className: style\n }, /* @__PURE__ */ React.createElement(body.Component, {\n model: body\n }));\n}\nfunction applyItemStyles(style, state, parentState) {\n var _a, _b, _c;\n const parentDirection = (_a = parentState.direction) != null ? _a : \"row\";\n const { xSizing = \"fill\", ySizing = \"fill\" } = state;\n style.display = \"flex\";\n style.position = \"relative\";\n style.flexDirection = parentDirection;\n if (parentDirection === \"column\") {\n if (state.height) {\n style.height = state.height;\n } else {\n style.flexGrow = ySizing === \"fill\" ? 1 : 0;\n }\n if (state.width) {\n style.width = state.width;\n } else {\n style.alignSelf = xSizing === \"fill\" ? \"stretch\" : \"flex-start\";\n }\n } else {\n if (state.height) {\n style.height = state.height;\n } else {\n style.alignSelf = ySizing === \"fill\" ? \"stretch\" : \"flex-start\";\n }\n if (state.width) {\n style.width = state.width;\n } else {\n style.flexGrow = xSizing === \"fill\" ? 1 : 0;\n }\n }\n style.minWidth = state.minWidth;\n style.maxWidth = state.maxWidth;\n style.maxHeight = state.maxHeight;\n style.minHeight = (_b = state.minHeight) != null ? _b : parentState.minHeight;\n style.height = (_c = state.height) != null ? _c : parentState.height;\n return style;\n}\nfunction useLayoutItemStyle(state, parentState) {\n return useMemo(() => {\n var _a, _b, _c, _d, _e, _f, _g, _h, _i, _j;\n const theme = config.theme2;\n const style = applyItemStyles({}, state, parentState);\n style[theme.breakpoints.down(\"md\")] = {\n maxWidth: (_b = (_a = state.md) == null ? void 0 : _a.maxWidth) != null ? _b : \"unset\",\n maxHeight: (_d = (_c = state.md) == null ? void 0 : _c.maxHeight) != null ? _d : \"unset\",\n height: (_g = (_e = state.md) == null ? void 0 : _e.height) != null ? _g : (_f = parentState.md) == null ? void 0 : _f.height,\n width: (_j = (_h = state.md) == null ? void 0 : _h.width) != null ? _j : (_i = parentState.md) == null ? void 0 : _i.width\n };\n return css(style);\n }, [state, parentState]);\n}\nfunction useLayoutStyle(state, parentState) {\n return useMemo(() => {\n var _a, _b, _c, _d, _e, _f, _g, _h, _i, _j;\n const { direction = \"row\", wrap } = state;\n const theme = config.theme2;\n const style = {};\n if (parentState) {\n applyItemStyles(style, state, parentState);\n } else {\n style.display = \"flex\";\n style.flexGrow = 1;\n }\n style.flexDirection = direction;\n style.gap = \"8px\";\n style.flexWrap = wrap || \"nowrap\";\n style.alignContent = \"baseline\";\n style.minHeight = style.minHeight || 0;\n style[theme.breakpoints.down(\"md\")] = {\n flexDirection: (_b = (_a = state.md) == null ? void 0 : _a.direction) != null ? _b : \"column\",\n maxWidth: (_d = (_c = state.md) == null ? void 0 : _c.maxWidth) != null ? _d : \"unset\",\n maxHeight: (_f = (_e = state.md) == null ? void 0 : _e.maxHeight) != null ? _f : \"unset\",\n height: (_h = (_g = state.md) == null ? void 0 : _g.height) != null ? _h : \"unset\",\n width: (_j = (_i = state.md) == null ? void 0 : _i.width) != null ? _j : \"unset\"\n };\n return css(style);\n }, [parentState, state]);\n}\n\nexport { SceneFlexItem, SceneFlexLayout };\n//# sourceMappingURL=SceneFlexLayout.js.map\n","import { css } from '@emotion/css';\nimport React, { useMemo } from 'react';\nimport { SceneObjectBase } from '../../../core/SceneObjectBase.js';\nimport { config } from '@grafana/runtime';\nimport { LazyLoader } from '../LazyLoader.js';\n\nvar __defProp = Object.defineProperty;\nvar __getOwnPropSymbols = Object.getOwnPropertySymbols;\nvar __hasOwnProp = Object.prototype.hasOwnProperty;\nvar __propIsEnum = Object.prototype.propertyIsEnumerable;\nvar __defNormalProp = (obj, key, value) => key in obj ? __defProp(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;\nvar __spreadValues = (a, b) => {\n for (var prop in b || (b = {}))\n if (__hasOwnProp.call(b, prop))\n __defNormalProp(a, prop, b[prop]);\n if (__getOwnPropSymbols)\n for (var prop of __getOwnPropSymbols(b)) {\n if (__propIsEnum.call(b, prop))\n __defNormalProp(a, prop, b[prop]);\n }\n return a;\n};\nclass SceneCSSGridLayout extends SceneObjectBase {\n constructor(state) {\n var _a, _b;\n super(__spreadValues({\n rowGap: 1,\n columnGap: 1,\n templateColumns: \"repeat(auto-fit, minmax(400px, 1fr))\",\n autoRows: (_a = state.autoRows) != null ? _a : `320px`,\n children: (_b = state.children) != null ? _b : []\n }, state));\n }\n isDraggable() {\n return false;\n }\n}\nSceneCSSGridLayout.Component = SceneCSSGridLayoutRenderer;\nfunction SceneCSSGridLayoutRenderer({ model }) {\n const { children, isHidden, isLazy } = model.useState();\n const style = useLayoutStyle(model.state);\n if (isHidden) {\n return null;\n }\n return /* @__PURE__ */ React.createElement(\"div\", {\n className: style\n }, children.map((item) => {\n const Component = item.Component;\n if (isLazy) {\n return /* @__PURE__ */ React.createElement(LazyLoader, {\n key: item.state.key,\n className: style\n }, /* @__PURE__ */ React.createElement(Component, {\n key: item.state.key,\n model: item,\n parentState: model.state\n }));\n }\n return /* @__PURE__ */ React.createElement(Component, {\n key: item.state.key,\n model: item,\n parentState: model.state\n });\n }));\n}\nclass SceneCSSGridItem extends SceneObjectBase {\n}\nSceneCSSGridItem.Component = SceneCSSGridItemRenderer;\nfunction SceneCSSGridItemRenderer({ model, parentState }) {\n if (!parentState) {\n throw new Error(\"SceneCSSGridItem must be a child of SceneCSSGridLayout\");\n }\n const { body, isHidden } = model.useState();\n const style = useItemStyle(model.state);\n if (!body || isHidden) {\n return null;\n }\n return /* @__PURE__ */ React.createElement(\"div\", {\n className: style\n }, /* @__PURE__ */ React.createElement(body.Component, {\n model: body\n }));\n}\nfunction useLayoutStyle(state) {\n return useMemo(() => {\n var _a, _b, _c, _d, _e, _f, _g, _h, _i, _j, _k;\n const style = {};\n const theme = config.theme2;\n style.display = \"grid\";\n style.gridTemplateColumns = state.templateColumns;\n style.gridTemplateRows = state.templateRows || \"unset\";\n style.gridAutoRows = state.autoRows || \"unset\";\n style.rowGap = theme.spacing((_a = state.rowGap) != null ? _a : 1);\n style.columnGap = theme.spacing((_b = state.columnGap) != null ? _b : 1);\n style.justifyItems = state.justifyItems || \"unset\";\n style.alignItems = state.alignItems || \"unset\";\n style.justifyContent = state.justifyContent || \"unset\";\n style.flexGrow = 1;\n if (state.md) {\n style[theme.breakpoints.down(\"md\")] = {\n gridTemplateRows: (_c = state.md) == null ? void 0 : _c.templateRows,\n gridTemplateColumns: (_d = state.md) == null ? void 0 : _d.templateColumns,\n rowGap: state.md.rowGap ? theme.spacing((_f = (_e = state.md) == null ? void 0 : _e.rowGap) != null ? _f : 1) : void 0,\n columnGap: state.md.columnGap ? theme.spacing((_h = (_g = state.md) == null ? void 0 : _g.rowGap) != null ? _h : 1) : void 0,\n justifyItems: (_i = state.md) == null ? void 0 : _i.justifyItems,\n alignItems: (_j = state.md) == null ? void 0 : _j.alignItems,\n justifyContent: (_k = state.md) == null ? void 0 : _k.justifyContent\n };\n }\n return css(style);\n }, [state]);\n}\nfunction useItemStyle(state) {\n return useMemo(() => {\n const style = {};\n style.gridColumn = state.gridColumn || \"unset\";\n style.gridRow = state.gridRow || \"unset\";\n style.position = \"relative\";\n return css(style);\n }, [state]);\n}\n\nexport { SceneCSSGridItem, SceneCSSGridLayout };\n//# sourceMappingURL=SceneCSSGridLayout.js.map\n","import { cx, css } from '@emotion/css';\nimport { useStyles2 } from '@grafana/ui';\nimport { clamp, throttle } from 'lodash';\nimport React, { useRef, useCallback, useLayoutEffect } from 'react';\nimport { useUniqueId } from '../LazyLoader.js';\n\nvar __defProp = Object.defineProperty;\nvar __getOwnPropSymbols = Object.getOwnPropertySymbols;\nvar __hasOwnProp = Object.prototype.hasOwnProperty;\nvar __propIsEnum = Object.prototype.propertyIsEnumerable;\nvar __defNormalProp = (obj, key, value) => key in obj ? __defProp(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;\nvar __spreadValues = (a, b) => {\n for (var prop in b || (b = {}))\n if (__hasOwnProp.call(b, prop))\n __defNormalProp(a, prop, b[prop]);\n if (__getOwnPropSymbols)\n for (var prop of __getOwnPropSymbols(b)) {\n if (__propIsEnum.call(b, prop))\n __defNormalProp(a, prop, b[prop]);\n }\n return a;\n};\nconst PIXELS_PER_MS = 0.3;\nconst VERTICAL_KEYS = /* @__PURE__ */ new Set([\"ArrowUp\", \"ArrowDown\"]);\nconst HORIZONTAL_KEYS = /* @__PURE__ */ new Set([\"ArrowLeft\", \"ArrowRight\"]);\nconst propsForDirection = {\n row: {\n dim: \"width\",\n axis: \"clientX\",\n min: \"minWidth\",\n max: \"maxWidth\"\n },\n column: {\n dim: \"height\",\n axis: \"clientY\",\n min: \"minHeight\",\n max: \"maxHeight\"\n }\n};\nfunction Splitter({\n direction = \"row\",\n handleSize = 32,\n initialSize = \"auto\",\n primaryPaneStyles,\n secondaryPaneStyles,\n onDragFinished,\n children\n}) {\n const kids = React.Children.toArray(children);\n const splitterRef = useRef(null);\n const firstPaneRef = useRef(null);\n const secondPaneRef = useRef(null);\n const containerRef = useRef(null);\n const containerSize = useRef(null);\n const primarySizeRef = useRef(\"1fr\");\n const firstPaneMeasurements = useRef(void 0);\n const savedPos = useRef(void 0);\n const measurementProp = propsForDirection[direction].dim;\n const clientAxis = propsForDirection[direction].axis;\n const minDimProp = propsForDirection[direction].min;\n const maxDimProp = propsForDirection[direction].max;\n useResizeObserver(\n containerRef.current,\n (entries) => {\n for (const entry of entries) {\n if (!entry.target.isSameNode(containerRef.current)) {\n return;\n }\n const curSize = firstPaneRef.current.getBoundingClientRect()[measurementProp];\n const newDims = measureElement(firstPaneRef.current);\n splitterRef.current.ariaValueNow = `${clamp(\n (curSize - newDims[minDimProp]) / (newDims[maxDimProp] - newDims[minDimProp]) * 100,\n 0,\n 100\n )}`;\n }\n },\n 500,\n [maxDimProp, minDimProp, direction, measurementProp]\n );\n const dragStart = useRef(null);\n const onPointerDown = useCallback(\n (e) => {\n primarySizeRef.current = firstPaneRef.current.getBoundingClientRect()[measurementProp];\n containerSize.current = containerRef.current.getBoundingClientRect()[measurementProp];\n dragStart.current = e[clientAxis];\n splitterRef.current.setPointerCapture(e.pointerId);\n firstPaneMeasurements.current = measureElement(firstPaneRef.current);\n savedPos.current = void 0;\n },\n [measurementProp, clientAxis]\n );\n const onPointerMove = useCallback(\n (e) => {\n if (dragStart.current !== null && primarySizeRef.current !== \"1fr\") {\n const diff = e[clientAxis] - dragStart.current;\n const dims = firstPaneMeasurements.current;\n const newSize = clamp(primarySizeRef.current + diff, dims[minDimProp], dims[maxDimProp]);\n const newFlex = newSize / (containerSize.current - handleSize);\n firstPaneRef.current.style.flexGrow = `${newFlex}`;\n secondPaneRef.current.style.flexGrow = `${1 - newFlex}`;\n const ariaValueNow = clamp(\n (newSize - dims[minDimProp]) / (dims[maxDimProp] - dims[minDimProp]) * 100,\n 0,\n 100\n );\n splitterRef.current.ariaValueNow = `${ariaValueNow}`;\n }\n },\n [handleSize, clientAxis, minDimProp, maxDimProp]\n );\n const onPointerUp = useCallback(\n (e) => {\n e.preventDefault();\n e.stopPropagation();\n splitterRef.current.releasePointerCapture(e.pointerId);\n dragStart.current = null;\n onDragFinished == null ? void 0 : onDragFinished(parseFloat(firstPaneRef.current.style.flexGrow));\n },\n [onDragFinished]\n );\n const pressedKeys = useRef(/* @__PURE__ */ new Set());\n const keysLastHandledAt = useRef(null);\n const handlePressedKeys = useCallback(\n (time) => {\n var _a;\n const nothingPressed = pressedKeys.current.size === 0;\n if (nothingPressed) {\n keysLastHandledAt.current = null;\n return;\n } else if (primarySizeRef.current === \"1fr\") {\n return;\n }\n const dt = time - ((_a = keysLastHandledAt.current) != null ? _a : time);\n const dx = dt * PIXELS_PER_MS;\n let sizeChange = 0;\n if (direction === \"row\") {\n if (pressedKeys.current.has(\"ArrowLeft\")) {\n sizeChange -= dx;\n }\n if (pressedKeys.current.has(\"ArrowRight\")) {\n sizeChange += dx;\n }\n } else {\n if (pressedKeys.current.has(\"ArrowUp\")) {\n sizeChange -= dx;\n }\n if (pressedKeys.current.has(\"ArrowDown\")) {\n sizeChange += dx;\n }\n }\n const firstPaneDims = firstPaneMeasurements.current;\n const curSize = firstPaneRef.current.getBoundingClientRect()[measurementProp];\n const newSize = clamp(curSize + sizeChange, firstPaneDims[minDimProp], firstPaneDims[maxDimProp]);\n const newFlex = newSize / (containerSize.current - handleSize);\n firstPaneRef.current.style.flexGrow = `${newFlex}`;\n secondPaneRef.current.style.flexGrow = `${1 - newFlex}`;\n const ariaValueNow = (newSize - firstPaneDims[minDimProp]) / (firstPaneDims[maxDimProp] - firstPaneDims[minDimProp]) * 100;\n splitterRef.current.ariaValueNow = `${clamp(ariaValueNow, 0, 100)}`;\n keysLastHandledAt.current = time;\n window.requestAnimationFrame(handlePressedKeys);\n },\n [direction, handleSize, minDimProp, maxDimProp, measurementProp]\n );\n const onKeyDown = useCallback(\n (e) => {\n if (e.key === \"Enter\") {\n if (savedPos.current === void 0) {\n savedPos.current = firstPaneRef.current.style.flexGrow;\n firstPaneRef.current.style.flexGrow = \"0\";\n secondPaneRef.current.style.flexGrow = \"1\";\n } else {\n firstPaneRef.current.style.flexGrow = savedPos.current;\n secondPaneRef.current.style.flexGrow = `${1 - parseFloat(savedPos.current)}`;\n savedPos.current = void 0;\n }\n return;\n } else if (e.key === \"Home\") {\n firstPaneMeasurements.current = measureElement(firstPaneRef.current);\n containerSize.current = containerRef.current.getBoundingClientRect()[measurementProp];\n const newFlex = firstPaneMeasurements.current[minDimProp] / (containerSize.current - handleSize);\n firstPaneRef.current.style.flexGrow = `${newFlex}`;\n secondPaneRef.current.style.flexGrow = `${1 - newFlex}`;\n splitterRef.current.ariaValueNow = \"0\";\n return;\n } else if (e.key === \"End\") {\n firstPaneMeasurements.current = measureElement(firstPaneRef.current);\n containerSize.current = containerRef.current.getBoundingClientRect()[measurementProp];\n const newFlex = firstPaneMeasurements.current[maxDimProp] / (containerSize.current - handleSize);\n firstPaneRef.current.style.flexGrow = `${newFlex}`;\n secondPaneRef.current.style.flexGrow = `${1 - newFlex}`;\n splitterRef.current.ariaValueNow = \"100\";\n return;\n }\n if (!(direction === \"column\" && VERTICAL_KEYS.has(e.key) || direction === \"row\" && HORIZONTAL_KEYS.has(e.key)) || pressedKeys.current.has(e.key)) {\n return;\n }\n savedPos.current = void 0;\n e.preventDefault();\n e.stopPropagation();\n primarySizeRef.current = firstPaneRef.current.getBoundingClientRect()[measurementProp];\n containerSize.current = containerRef.current.getBoundingClientRect()[measurementProp];\n firstPaneMeasurements.current = measureElement(firstPaneRef.current);\n const newKey = !pressedKeys.current.has(e.key);\n if (newKey) {\n const initiateAnimationLoop = pressedKeys.current.size === 0;\n pressedKeys.current.add(e.key);\n if (initiateAnimationLoop) {\n window.requestAnimationFrame(handlePressedKeys);\n }\n }\n },\n [direction, handlePressedKeys, handleSize, maxDimProp, measurementProp, minDimProp]\n );\n const onKeyUp = useCallback(\n (e) => {\n if (direction === \"row\" && !HORIZONTAL_KEYS.has(e.key) || direction === \"column\" && !VERTICAL_KEYS.has(e.key)) {\n return;\n }\n pressedKeys.current.delete(e.key);\n onDragFinished == null ? void 0 : onDragFinished(parseFloat(firstPaneRef.current.style.flexGrow));\n },\n [direction, onDragFinished]\n );\n const onDoubleClick = useCallback(() => {\n firstPaneRef.current.style.flexGrow = \"0.5\";\n secondPaneRef.current.style.flexGrow = \"0.5\";\n const dim = measureElement(firstPaneRef.current);\n firstPaneMeasurements.current = dim;\n primarySizeRef.current = firstPaneRef.current.getBoundingClientRect()[measurementProp];\n splitterRef.current.ariaValueNow = `${(primarySizeRef.current - dim[minDimProp]) / (dim[maxDimProp] - dim[minDimProp]) * 100}`;\n }, [maxDimProp, measurementProp, minDimProp]);\n const onBlur = useCallback(() => {\n if (pressedKeys.current.size > 0) {\n pressedKeys.current.clear();\n dragStart.current = null;\n onDragFinished == null ? void 0 : onDragFinished(parseFloat(firstPaneRef.current.style.flexGrow));\n }\n }, [onDragFinished]);\n const styles = useStyles2(getStyles);\n const id = useUniqueId();\n return /* @__PURE__ */ React.createElement(\"div\", {\n ref: containerRef,\n className: styles.container,\n style: {\n flexDirection: direction\n }\n }, /* @__PURE__ */ React.createElement(\"div\", {\n ref: firstPaneRef,\n className: styles.panel,\n style: __spreadValues({\n flexGrow: initialSize === \"auto\" ? 0.5 : clamp(initialSize, 0, 1),\n [minDimProp]: \"min-content\"\n }, primaryPaneStyles),\n id: `start-panel-${id}`\n }, kids[0]), /* @__PURE__ */ React.createElement(\"div\", {\n ref: splitterRef,\n style: { [measurementProp]: `${handleSize}px` },\n className: cx(styles.handle, { [styles.handleHorizontal]: direction === \"column\" }),\n onPointerUp,\n onPointerDown,\n onPointerMove,\n onKeyDown,\n onKeyUp,\n onDoubleClick,\n onBlur,\n role: \"separator\",\n \"aria-valuemin\": 0,\n \"aria-valuemax\": 100,\n \"aria-valuenow\": 50,\n \"aria-controls\": `start-panel-${id}`,\n \"aria-label\": \"Pane resize widget\",\n tabIndex: 0\n }), /* @__PURE__ */ React.createElement(\"div\", {\n ref: secondPaneRef,\n className: styles.panel,\n style: __spreadValues({\n flexGrow: initialSize === \"auto\" ? 0.5 : clamp(1 - initialSize, 0, 1),\n [minDimProp]: \"min-content\"\n }, secondaryPaneStyles),\n id: `end-panel-${id}`\n }, kids[1]));\n}\nfunction getStyles(theme) {\n return {\n handle: css({\n cursor: \"col-resize\",\n position: \"relative\",\n flexShrink: 0,\n userSelect: \"none\",\n \"&::before\": {\n content: '\"\"',\n position: \"absolute\",\n backgroundColor: theme.colors.primary.main,\n left: \"50%\",\n transform: \"translate(-50%)\",\n top: 0,\n height: \"100%\",\n width: \"1px\",\n opacity: 0,\n transition: \"opacity ease-in-out 0.2s\"\n },\n \"&::after\": {\n content: '\"\"',\n width: \"4px\",\n borderRadius: \"4px\",\n backgroundColor: theme.colors.border.weak,\n transition: \"background-color ease-in-out 0.2s\",\n height: \"50%\",\n top: \"calc(50% - (50%) / 2)\",\n transform: \"translateX(-50%)\",\n position: \"absolute\",\n left: \"50%\"\n },\n \"&:hover, &:focus-visible\": {\n outline: \"none\",\n \"&::before\": {\n opacity: 1\n },\n \"&::after\": {\n backgroundColor: theme.colors.primary.main\n }\n }\n }),\n handleHorizontal: css({\n cursor: \"row-resize\",\n \"&::before\": {\n left: \"inherit\",\n transform: \"translateY(-50%)\",\n top: \"50%\",\n height: \"1px\",\n width: \"100%\"\n },\n \"&::after\": {\n width: \"50%\",\n height: \"4px\",\n top: \"50%\",\n transform: \"translateY(-50%)\",\n left: \"calc(50% - (50%) / 2)\"\n }\n }),\n container: css({\n display: \"flex\",\n width: \"100%\",\n flexGrow: 1,\n overflow: \"hidden\"\n }),\n panel: css({ display: \"flex\", position: \"relative\", flexBasis: 0 })\n };\n}\nfunction measureElement(ref) {\n if (ref === null) {\n return void 0;\n }\n const savedBodyOverflow = document.body.style.overflow;\n const savedWidth = ref.style.width;\n const savedHeight = ref.style.height;\n const savedFlex = ref.style.flexGrow;\n document.body.style.overflow = \"hidden\";\n ref.style.flexGrow = \"0\";\n const { width: minWidth, height: minHeight } = ref.getBoundingClientRect();\n ref.style.flexGrow = \"100\";\n const { width: maxWidth, height: maxHeight } = ref.getBoundingClientRect();\n document.body.style.overflow = savedBodyOverflow;\n ref.style.width = savedWidth;\n ref.style.height = savedHeight;\n ref.style.flexGrow = savedFlex;\n return { minWidth, maxWidth, minHeight, maxHeight };\n}\nfunction useResizeObserver(target, cb, throttleWait = 0, deps) {\n const throttledCallback = throttle(cb, throttleWait);\n useLayoutEffect(() => {\n if (!target) {\n return;\n }\n const resizeObserver = new ResizeObserver(throttledCallback);\n resizeObserver.observe(target, { box: \"device-pixel-content-box\" });\n return () => resizeObserver.disconnect();\n }, deps);\n}\n\nexport { Splitter };\n//# sourceMappingURL=Splitter.js.map\n","import { SceneObjectBase } from '../../../core/SceneObjectBase.js';\nimport { SplitLayoutRenderer } from './SplitLayoutRenderer.js';\n\nclass SplitLayout extends SceneObjectBase {\n toggleDirection() {\n this.setState({\n direction: this.state.direction === \"row\" ? \"column\" : \"row\"\n });\n }\n isDraggable() {\n return false;\n }\n}\nSplitLayout.Component = SplitLayoutRenderer;\n\nexport { SplitLayout };\n//# sourceMappingURL=SplitLayout.js.map\n","import React from 'react';\nimport { Splitter } from './Splitter.js';\n\nfunction SplitLayoutRenderer({ model }) {\n const { primary, secondary, direction, isHidden, initialSize, primaryPaneStyles, secondaryPaneStyles } = model.useState();\n if (isHidden) {\n return null;\n }\n const Prim = primary.Component;\n const Sec = secondary.Component;\n return /* @__PURE__ */ React.createElement(Splitter, {\n direction,\n initialSize: initialSize != null ? initialSize : 0.5,\n primaryPaneStyles,\n secondaryPaneStyles\n }, /* @__PURE__ */ React.createElement(Prim, {\n key: primary.state.key,\n model: primary,\n parentState: model.state\n }), /* @__PURE__ */ React.createElement(Sec, {\n key: secondary.state.key,\n model: secondary,\n parentState: model.state\n }));\n}\n\nexport { SplitLayoutRenderer };\n//# sourceMappingURL=SplitLayoutRenderer.js.map\n","import React from 'react';\nimport { Switch, Route } from 'react-router-dom';\nimport { SceneObjectBase } from '../../core/SceneObjectBase.js';\nimport { renderSceneComponentWithRouteProps } from './utils.js';\n\nclass SceneApp extends SceneObjectBase {\n enrichDataRequest() {\n return {\n app: this.state.name || \"app\"\n };\n }\n}\nSceneApp.Component = ({ model }) => {\n const { pages } = model.useState();\n return /* @__PURE__ */ React.createElement(Switch, null, pages.map((page) => /* @__PURE__ */ React.createElement(Route, {\n key: page.state.url,\n exact: false,\n path: page.state.url,\n render: (props) => renderSceneComponentWithRouteProps(page, props)\n })));\n};\nconst sceneAppCache = /* @__PURE__ */ new Map();\nfunction useSceneApp(factory) {\n const cachedApp = sceneAppCache.get(factory);\n if (cachedApp) {\n return cachedApp;\n }\n const newApp = factory();\n sceneAppCache.set(factory, newApp);\n return newApp;\n}\n\nexport { SceneApp, useSceneApp };\n//# sourceMappingURL=SceneApp.js.map\n","import React from 'react';\nimport { SceneObjectBase } from '../core/SceneObjectBase.js';\n\nvar __defProp = Object.defineProperty;\nvar __getOwnPropSymbols = Object.getOwnPropertySymbols;\nvar __hasOwnProp = Object.prototype.hasOwnProperty;\nvar __propIsEnum = Object.prototype.propertyIsEnumerable;\nvar __defNormalProp = (obj, key, value) => key in obj ? __defProp(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;\nvar __spreadValues = (a, b) => {\n for (var prop in b || (b = {}))\n if (__hasOwnProp.call(b, prop))\n __defNormalProp(a, prop, b[prop]);\n if (__getOwnPropSymbols)\n for (var prop of __getOwnPropSymbols(b)) {\n if (__propIsEnum.call(b, prop))\n __defNormalProp(a, prop, b[prop]);\n }\n return a;\n};\nclass SceneReactObject extends SceneObjectBase {\n}\nSceneReactObject.Component = ({ model }) => {\n const { component: Component, props, reactNode } = model.useState();\n if (Component) {\n return /* @__PURE__ */ React.createElement(Component, __spreadValues({}, props));\n }\n if (reactNode) {\n return reactNode;\n }\n return null;\n};\n\nexport { SceneReactObject };\n//# sourceMappingURL=SceneReactObject.js.map\n","import { css } from '@emotion/css';\nimport { useStyles2, JSONFormatter, Input } from '@grafana/ui';\nimport { isPlainObject, isArray } from 'lodash';\nimport React from 'react';\nimport { isSceneObject } from '../../core/types.js';\n\nfunction DebugDetails({ node }) {\n const state = node.useState();\n const styles = useStyles2(getStyles);\n return /* @__PURE__ */ React.createElement(\"div\", {\n className: styles.container\n }, Object.keys(state).map((key) => /* @__PURE__ */ React.createElement(\"div\", {\n className: styles.row,\n key\n }, /* @__PURE__ */ React.createElement(\"div\", {\n className: styles.keyName\n }, key), /* @__PURE__ */ React.createElement(\"div\", {\n className: styles.value\n }, renderValue(key, state[key], node)))));\n}\nfunction renderValue(key, value, node) {\n if (value === null) {\n return \"null\";\n }\n switch (typeof value) {\n case \"number\":\n return /* @__PURE__ */ React.createElement(Input, {\n type: \"number\",\n defaultValue: value,\n onBlur: (evt) => node.setState({ [key]: evt.currentTarget.valueAsNumber })\n });\n case \"string\":\n return /* @__PURE__ */ React.createElement(Input, {\n type: \"text\",\n defaultValue: value,\n onBlur: (evt) => node.setState({ [key]: evt.currentTarget.value })\n });\n case \"object\":\n if (isSceneObject(value)) {\n return value.constructor.name;\n }\n if (isPlainObject(value) || isArray(value)) {\n return /* @__PURE__ */ React.createElement(JSONFormatter, {\n json: value,\n open: 0\n });\n }\n return String(value);\n default:\n return typeof value;\n }\n}\nfunction getStyles(theme) {\n return {\n container: css({\n flexGrow: 1,\n display: \"flex\",\n gap: theme.spacing(0.5),\n flexDirection: \"column\"\n }),\n row: css({\n display: \"flex\",\n gap: theme.spacing(2)\n }),\n keyName: css({\n display: \"flex\",\n flexGrow: \"0\",\n width: 120,\n alignItems: \"center\",\n height: theme.spacing(theme.components.height.md)\n }),\n value: css({\n flexGrow: 1,\n minHeight: theme.spacing(theme.components.height.md),\n display: \"flex\",\n alignItems: \"center\"\n })\n };\n}\n\nexport { DebugDetails };\n//# sourceMappingURL=DebugDetails.js.map\n","import { cx, css } from '@emotion/css';\nimport { useStyles2 } from '@grafana/ui';\nimport React from 'react';\n\nfunction DebugTreeNode({ node, selectedObject, onSelect }) {\n const styles = useStyles2(getStyles);\n const children = [];\n const isSelected = node === selectedObject;\n node.forEachChild((child) => {\n children.push(\n /* @__PURE__ */ React.createElement(DebugTreeNode, {\n node: child,\n key: child.state.key,\n selectedObject,\n onSelect\n })\n );\n });\n return /* @__PURE__ */ React.createElement(\"div\", {\n className: styles.container\n }, /* @__PURE__ */ React.createElement(\"div\", {\n className: cx(styles.name, isSelected && styles.selected),\n onClick: () => onSelect(node)\n }, node.constructor.name), /* @__PURE__ */ React.createElement(\"div\", {\n className: styles.children\n }, children));\n}\nfunction getStyles(theme) {\n return {\n container: css({\n flexGrow: 1,\n display: \"flex\",\n gap: theme.spacing(0.5),\n flexDirection: \"column\"\n }),\n name: css({\n flexGrow: 1,\n display: \"flex\",\n gap: theme.spacing(1),\n fontSize: theme.typography.bodySmall.fontSize,\n cursor: \"pointer\",\n padding: theme.spacing(0, 1),\n borderRadius: theme.shape.borderRadius(2),\n position: \"relative\",\n \"&:hover\": {\n background: theme.colors.background.secondary\n }\n }),\n selected: css({\n \"&::before\": {\n display: \"block\",\n content: \"' '\",\n position: \"absolute\",\n left: 0,\n width: 4,\n bottom: 2,\n top: 2,\n borderRadius: theme.shape.radius.default,\n backgroundImage: theme.colors.gradients.brandVertical\n }\n }),\n children: css({\n flexGrow: 1,\n display: \"flex\",\n flexDirection: \"column\",\n paddingLeft: theme.spacing(1)\n })\n };\n}\n\nexport { DebugTreeNode };\n//# sourceMappingURL=DebugTreeNode.js.map\n","import { css } from '@emotion/css';\nimport { useStyles2, ToolbarButton, Drawer, CustomScrollbar } from '@grafana/ui';\nimport React, { useState } from 'react';\nimport { DebugDetails } from './DebugDetails.js';\nimport { DebugTreeNode } from './DebugTreeNode.js';\n\nfunction SceneDebugger({ scene }) {\n const styles = useStyles2(getStyles);\n const [isOpen, setIsOpen] = useState(false);\n const [selectedObject, setSelectedObject] = useState();\n return /* @__PURE__ */ React.createElement(React.Fragment, null, /* @__PURE__ */ React.createElement(ToolbarButton, {\n variant: \"canvas\",\n icon: \"bug\",\n onClick: () => setIsOpen(true)\n }), isOpen && /* @__PURE__ */ React.createElement(Drawer, {\n title: \"Scene debugger\",\n onClose: () => setIsOpen(false),\n size: \"lg\"\n }, /* @__PURE__ */ React.createElement(\"div\", {\n className: styles.panes\n }, /* @__PURE__ */ React.createElement(\"div\", {\n className: styles.pane1\n }, /* @__PURE__ */ React.createElement(\"div\", {\n className: styles.paneHeading\n }, \"Scene graph\"), /* @__PURE__ */ React.createElement(CustomScrollbar, {\n autoHeightMin: \"100%\"\n }, /* @__PURE__ */ React.createElement(\"div\", {\n className: styles.treeWrapper\n }, /* @__PURE__ */ React.createElement(DebugTreeNode, {\n node: scene,\n selectedObject,\n onSelect: setSelectedObject\n })))), /* @__PURE__ */ React.createElement(\"div\", {\n className: styles.pane2\n }, /* @__PURE__ */ React.createElement(\"div\", {\n className: styles.paneHeading\n }, \"Object details\"), selectedObject && /* @__PURE__ */ React.createElement(DebugDetails, {\n node: selectedObject\n })))));\n}\nfunction getStyles(theme) {\n return {\n panes: css({\n flexGrow: 1,\n display: \"flex\",\n height: \"100%\",\n flexDirection: \"row\",\n marginTop: theme.spacing(-2)\n }),\n pane1: css({\n flexGrow: 0,\n display: \"flex\",\n height: \"100%\",\n flexDirection: \"column\",\n borderRight: `1px solid ${theme.colors.border.weak}`\n }),\n pane2: css({\n flexGrow: 1,\n display: \"flex\",\n minHeight: \"100%\",\n flexDirection: \"column\",\n paddingLeft: theme.spacing(2)\n }),\n treeWrapper: css({\n paddingRight: theme.spacing(2),\n height: \"100%\",\n marginLeft: theme.spacing(-1)\n }),\n paneHeading: css({\n padding: theme.spacing(1, 0),\n fontWeight: theme.typography.fontWeightMedium\n })\n };\n}\n\nexport { SceneDebugger };\n//# sourceMappingURL=SceneDebugger.js.map\n","import { PluginPage } from '@grafana/runtime';\nimport React, { useLayoutEffect, useEffect } from 'react';\nimport { SceneDebugger } from '../SceneDebugger/SceneDebugger.js';\nimport { SceneAppPage } from './SceneAppPage.js';\nimport { useAppQueryParams, getUrlWithAppState, renderSceneComponentWithRouteProps } from './utils.js';\n\nfunction SceneAppPageView({ page, routeProps }) {\n const containerPage = getParentPageIfTab(page);\n const containerState = containerPage.useState();\n const params = useAppQueryParams();\n const scene = page.getScene(routeProps.match);\n const isInitialized = containerState.initializedScene === scene;\n useLayoutEffect(() => {\n if (!isInitialized) {\n containerPage.initializeScene(scene);\n }\n }, [scene, containerPage, isInitialized]);\n useEffect(() => {\n return () => containerPage.setState({ initializedScene: void 0 });\n }, [containerPage]);\n if (!isInitialized) {\n return null;\n }\n const pageNav = {\n text: containerState.title,\n img: containerState.titleImg,\n icon: containerState.titleIcon,\n url: getUrlWithAppState(containerState.url, containerState.preserveUrlKeys),\n hideFromBreadcrumbs: containerState.hideFromBreadcrumbs,\n parentItem: getParentBreadcrumbs(\n containerState.getParentPage ? containerState.getParentPage() : containerPage.parent)\n };\n if (containerState.tabs) {\n pageNav.children = containerState.tabs.map((tab) => {\n return {\n text: tab.state.title,\n icon: tab.state.titleIcon,\n tabSuffix: tab.state.tabSuffix,\n active: page === tab,\n url: getUrlWithAppState(tab.state.url, tab.state.preserveUrlKeys),\n parentItem: pageNav\n };\n });\n }\n let pageActions = [];\n if (containerState.controls) {\n pageActions = containerState.controls.map((control) => /* @__PURE__ */ React.createElement(control.Component, {\n model: control,\n key: control.state.key\n }));\n }\n if (params[\"scene-debugger\"]) {\n pageActions.push(/* @__PURE__ */ React.createElement(SceneDebugger, {\n scene: containerPage,\n key: \"scene-debugger\"\n }));\n }\n return /* @__PURE__ */ React.createElement(PluginPage, {\n pageNav,\n actions: pageActions,\n renderTitle: containerState.renderTitle,\n subTitle: containerState.subTitle\n }, /* @__PURE__ */ React.createElement(scene.Component, {\n model: scene\n }));\n}\nfunction getParentPageIfTab(page) {\n if (page.parent instanceof SceneAppPage) {\n return page.parent;\n }\n return page;\n}\nfunction getParentBreadcrumbs(parent, params) {\n if (parent instanceof SceneAppPage) {\n return {\n text: parent.state.title,\n url: getUrlWithAppState(parent.state.url, parent.state.preserveUrlKeys),\n hideFromBreadcrumbs: parent.state.hideFromBreadcrumbs,\n parentItem: getParentBreadcrumbs(\n parent.state.getParentPage ? parent.state.getParentPage() : parent.parent)\n };\n }\n return void 0;\n}\nfunction SceneAppDrilldownViewRender({ drilldown, parent, routeProps }) {\n return renderSceneComponentWithRouteProps(parent.getDrilldownPage(drilldown, routeProps.match), routeProps);\n}\n\nexport { SceneAppDrilldownViewRender, SceneAppPageView };\n//# sourceMappingURL=SceneAppPageView.js.map\n","import React from 'react';\nimport { Route, Switch } from 'react-router-dom';\nimport { SceneObjectBase } from '../../core/SceneObjectBase.js';\nimport { isDataRequestEnricher } from '../../core/types.js';\nimport { getUrlSyncManager } from '../../services/UrlSyncManager.js';\nimport { EmbeddedScene } from '../EmbeddedScene.js';\nimport { SceneFlexLayout, SceneFlexItem } from '../layout/SceneFlexLayout.js';\nimport { SceneReactObject } from '../SceneReactObject.js';\nimport { SceneAppDrilldownViewRender, SceneAppPageView } from './SceneAppPageView.js';\nimport { renderSceneComponentWithRouteProps } from './utils.js';\n\nclass SceneAppPage extends SceneObjectBase {\n constructor(state) {\n super(state);\n this._sceneCache = /* @__PURE__ */ new Map();\n this._drilldownCache = /* @__PURE__ */ new Map();\n this.addActivationHandler(() => {\n return () => getUrlSyncManager().cleanUp(this);\n });\n }\n initializeScene(scene) {\n this.setState({ initializedScene: scene });\n getUrlSyncManager().initSync(this);\n }\n getScene(routeMatch) {\n let scene = this._sceneCache.get(routeMatch.url);\n if (scene) {\n return scene;\n }\n if (!this.state.getScene) {\n throw new Error(\"Missing getScene on SceneAppPage \" + this.state.title);\n }\n scene = this.state.getScene(routeMatch);\n this._sceneCache.set(routeMatch.url, scene);\n return scene;\n }\n getDrilldownPage(drilldown, routeMatch) {\n let page = this._drilldownCache.get(routeMatch.url);\n if (page) {\n return page;\n }\n page = drilldown.getPage(routeMatch, this);\n this._drilldownCache.set(routeMatch.url, page);\n return page;\n }\n enrichDataRequest(source) {\n if (this.state.getParentPage) {\n return this.state.getParentPage().enrichDataRequest(source);\n }\n if (!this.parent) {\n return null;\n }\n const root = this.getRoot();\n if (isDataRequestEnricher(root)) {\n return root.enrichDataRequest(source);\n }\n return null;\n }\n}\nSceneAppPage.Component = SceneAppPageRenderer;\nfunction SceneAppPageRenderer({ model, routeProps }) {\n var _a, _b;\n const { tabs, drilldowns } = model.useState();\n const routes = [];\n if (tabs && tabs.length > 0) {\n for (let tabIndex = 0; tabIndex < tabs.length; tabIndex++) {\n const tab = tabs[tabIndex];\n if (tabIndex === 0) {\n routes.push(\n /* @__PURE__ */ React.createElement(Route, {\n exact: true,\n key: model.state.url,\n path: (_a = model.state.routePath) != null ? _a : model.state.url,\n render: (props) => renderSceneComponentWithRouteProps(tab, props)\n })\n );\n }\n routes.push(\n /* @__PURE__ */ React.createElement(Route, {\n exact: true,\n key: tab.state.url,\n path: (_b = tab.state.routePath) != null ? _b : tab.state.url,\n render: (props) => renderSceneComponentWithRouteProps(tab, props)\n })\n );\n if (tab.state.drilldowns) {\n for (const drilldown of tab.state.drilldowns) {\n routes.push(\n /* @__PURE__ */ React.createElement(Route, {\n exact: false,\n key: drilldown.routePath,\n path: drilldown.routePath,\n render: (props) => /* @__PURE__ */ React.createElement(SceneAppDrilldownViewRender, {\n drilldown,\n parent: tab,\n routeProps: props\n })\n })\n );\n }\n }\n }\n }\n if (drilldowns) {\n for (const drilldown of drilldowns) {\n routes.push(\n /* @__PURE__ */ React.createElement(Route, {\n key: drilldown.routePath,\n exact: false,\n path: drilldown.routePath,\n render: (props) => /* @__PURE__ */ React.createElement(SceneAppDrilldownViewRender, {\n drilldown,\n parent: model,\n routeProps: props\n })\n })\n );\n }\n }\n if (!tabs && isCurrentPageRouteMatch(model, routeProps.match)) {\n return /* @__PURE__ */ React.createElement(SceneAppPageView, {\n page: model,\n routeProps\n });\n }\n routes.push(getFallbackRoute(model, routeProps));\n return /* @__PURE__ */ React.createElement(Switch, null, routes);\n}\nfunction getFallbackRoute(page, routeProps) {\n return /* @__PURE__ */ React.createElement(Route, {\n key: \"fallback route\",\n render: (props) => {\n var _a, _b, _c;\n const fallbackPage = (_c = (_b = (_a = page.state).getFallbackPage) == null ? void 0 : _b.call(_a)) != null ? _c : getDefaultFallbackPage();\n return /* @__PURE__ */ React.createElement(SceneAppPageView, {\n page: fallbackPage,\n routeProps\n });\n }\n });\n}\nfunction isCurrentPageRouteMatch(page, match) {\n if (!match.isExact) {\n return false;\n }\n if (match.url === page.state.url) {\n return true;\n }\n if (page.parent instanceof SceneAppPage && page.parent.state.tabs[0] === page && page.parent.state.url === match.url) {\n return true;\n }\n return false;\n}\nfunction getDefaultFallbackPage() {\n return new SceneAppPage({\n url: \"\",\n title: \"Not found\",\n subTitle: \"The url did not match any page\",\n getScene: () => {\n return new EmbeddedScene({\n body: new SceneFlexLayout({\n direction: \"column\",\n children: [\n new SceneFlexItem({\n body: new SceneReactObject({\n component: () => {\n return /* @__PURE__ */ React.createElement(\"div\", {\n \"data-testid\": \"default-fallback-content\"\n }, \"If you found your way here using a link then there might be a bug in this application.\");\n }\n })\n })\n ]\n })\n });\n }\n });\n}\n\nexport { SceneAppPage };\n//# sourceMappingURL=SceneAppPage.js.map\n","var VisibilityMode = /* @__PURE__ */ ((VisibilityMode2) => {\n VisibilityMode2[\"Always\"] = \"always\";\n VisibilityMode2[\"Auto\"] = \"auto\";\n VisibilityMode2[\"Never\"] = \"never\";\n return VisibilityMode2;\n})(VisibilityMode || {});\nvar GraphGradientMode = /* @__PURE__ */ ((GraphGradientMode2) => {\n GraphGradientMode2[\"Hue\"] = \"hue\";\n GraphGradientMode2[\"None\"] = \"none\";\n GraphGradientMode2[\"Opacity\"] = \"opacity\";\n GraphGradientMode2[\"Scheme\"] = \"scheme\";\n return GraphGradientMode2;\n})(GraphGradientMode || {});\nvar StackingMode = /* @__PURE__ */ ((StackingMode2) => {\n StackingMode2[\"None\"] = \"none\";\n StackingMode2[\"Normal\"] = \"normal\";\n StackingMode2[\"Percent\"] = \"percent\";\n return StackingMode2;\n})(StackingMode || {});\nvar VizOrientation = /* @__PURE__ */ ((VizOrientation2) => {\n VizOrientation2[\"Auto\"] = \"auto\";\n VizOrientation2[\"Horizontal\"] = \"horizontal\";\n VizOrientation2[\"Vertical\"] = \"vertical\";\n return VizOrientation2;\n})(VizOrientation || {});\nvar BigValueColorMode = /* @__PURE__ */ ((BigValueColorMode2) => {\n BigValueColorMode2[\"Background\"] = \"background\";\n BigValueColorMode2[\"BackgroundSolid\"] = \"background_solid\";\n BigValueColorMode2[\"None\"] = \"none\";\n BigValueColorMode2[\"Value\"] = \"value\";\n return BigValueColorMode2;\n})(BigValueColorMode || {});\nvar BigValueGraphMode = /* @__PURE__ */ ((BigValueGraphMode2) => {\n BigValueGraphMode2[\"Area\"] = \"area\";\n BigValueGraphMode2[\"Line\"] = \"line\";\n BigValueGraphMode2[\"None\"] = \"none\";\n return BigValueGraphMode2;\n})(BigValueGraphMode || {});\nvar BigValueJustifyMode = /* @__PURE__ */ ((BigValueJustifyMode2) => {\n BigValueJustifyMode2[\"Auto\"] = \"auto\";\n BigValueJustifyMode2[\"Center\"] = \"center\";\n return BigValueJustifyMode2;\n})(BigValueJustifyMode || {});\nvar BigValueTextMode = /* @__PURE__ */ ((BigValueTextMode2) => {\n BigValueTextMode2[\"Auto\"] = \"auto\";\n BigValueTextMode2[\"Name\"] = \"name\";\n BigValueTextMode2[\"None\"] = \"none\";\n BigValueTextMode2[\"Value\"] = \"value\";\n BigValueTextMode2[\"ValueAndName\"] = \"value_and_name\";\n return BigValueTextMode2;\n})(BigValueTextMode || {});\nvar BarGaugeDisplayMode = /* @__PURE__ */ ((BarGaugeDisplayMode2) => {\n BarGaugeDisplayMode2[\"Basic\"] = \"basic\";\n BarGaugeDisplayMode2[\"Gradient\"] = \"gradient\";\n BarGaugeDisplayMode2[\"Lcd\"] = \"lcd\";\n return BarGaugeDisplayMode2;\n})(BarGaugeDisplayMode || {});\nvar BarGaugeValueMode = /* @__PURE__ */ ((BarGaugeValueMode2) => {\n BarGaugeValueMode2[\"Color\"] = \"color\";\n BarGaugeValueMode2[\"Hidden\"] = \"hidden\";\n BarGaugeValueMode2[\"Text\"] = \"text\";\n return BarGaugeValueMode2;\n})(BarGaugeValueMode || {});\nvar TableCellHeight = /* @__PURE__ */ ((TableCellHeight2) => {\n TableCellHeight2[\"Lg\"] = \"lg\";\n TableCellHeight2[\"Md\"] = \"md\";\n TableCellHeight2[\"Sm\"] = \"sm\";\n return TableCellHeight2;\n})(TableCellHeight || {});\n\nexport { BigValueColorMode as B, GraphGradientMode as G, StackingMode as S, TableCellHeight as T, VisibilityMode as V, BigValueGraphMode as a, BigValueJustifyMode as b, BigValueTextMode as c, BarGaugeDisplayMode as d, BarGaugeValueMode as e, VizOrientation as f };\n","import { f as VizOrientation, V as VisibilityMode, S as StackingMode, G as GraphGradientMode } from '../../../../../common.gen-58e5e938.js';\n\nconst pluginVersion = \"10.0.3\";\nconst defaultOptions = {\n barRadius: 0,\n barWidth: 0.97,\n fullHighlight: false,\n groupWidth: 0.7,\n orientation: VizOrientation.Auto,\n showValue: VisibilityMode.Auto,\n stacking: StackingMode.None,\n xTickLabelRotation: 0,\n xTickLabelSpacing: 0\n};\nconst defaultFieldConfig = {\n fillOpacity: 80,\n gradientMode: GraphGradientMode.None,\n lineWidth: 1\n};\n\nexport { defaultFieldConfig, defaultOptions, pluginVersion };\n","import { d as BarGaugeDisplayMode, e as BarGaugeValueMode } from '../../../../../common.gen-58e5e938.js';\n\nconst pluginVersion = \"10.0.3\";\nconst defaultOptions = {\n displayMode: BarGaugeDisplayMode.Gradient,\n minVizHeight: 10,\n minVizWidth: 0,\n showUnfilled: true,\n valueMode: BarGaugeValueMode.Color\n};\n\nexport { defaultOptions, pluginVersion };\n","import { V as VisibilityMode } from '../../../../../common.gen-58e5e938.js';\n\nconst pluginVersion = \"10.0.3\";\nvar HeatmapColorMode = /* @__PURE__ */ ((HeatmapColorMode2) => {\n HeatmapColorMode2[\"Opacity\"] = \"opacity\";\n HeatmapColorMode2[\"Scheme\"] = \"scheme\";\n return HeatmapColorMode2;\n})(HeatmapColorMode || {});\nvar HeatmapColorScale = /* @__PURE__ */ ((HeatmapColorScale2) => {\n HeatmapColorScale2[\"Exponential\"] = \"exponential\";\n HeatmapColorScale2[\"Linear\"] = \"linear\";\n return HeatmapColorScale2;\n})(HeatmapColorScale || {});\nconst defaultOptions = {\n calculate: false,\n cellGap: 1,\n cellValues: {},\n color: {\n /**\n * mode: HeatmapColorMode // TODO: fix after remove when https://github.com/grafana/cuetsy/issues/74 is fixed\n */\n scheme: \"Oranges\",\n fill: \"dark-orange\",\n /**\n * scale: HeatmapColorScale // TODO: fix after remove when https://github.com/grafana/cuetsy/issues/74 is fixed\n */\n reverse: false,\n exponent: 0.5,\n steps: 64\n },\n exemplars: {\n color: \"rgba(255,0,255,0.7)\"\n },\n filterValues: {\n le: 1e-9\n },\n legend: {\n show: true\n },\n showValue: VisibilityMode.Auto,\n tooltip: {\n show: true,\n yHistogram: false\n }\n};\n\nexport { HeatmapColorMode, HeatmapColorScale, defaultOptions, pluginVersion };\n","import { G as GraphGradientMode } from '../../../../../common.gen-58e5e938.js';\n\nconst pluginVersion = \"10.0.3\";\nconst defaultOptions = {\n bucketOffset: 0\n};\nconst defaultFieldConfig = {\n fillOpacity: 80,\n gradientMode: GraphGradientMode.None,\n lineWidth: 1\n};\n\nexport { defaultFieldConfig, defaultOptions, pluginVersion };\n","import { B as BigValueColorMode, a as BigValueGraphMode, b as BigValueJustifyMode, c as BigValueTextMode } from '../../../../../common.gen-58e5e938.js';\n\nconst pluginVersion = \"10.0.3\";\nconst defaultOptions = {\n colorMode: BigValueColorMode.Value,\n graphMode: BigValueGraphMode.Area,\n justifyMode: BigValueJustifyMode.Auto,\n textMode: BigValueTextMode.Auto\n};\n\nexport { defaultOptions, pluginVersion };\n","import { V as VisibilityMode } from '../../../../../common.gen-58e5e938.js';\n\nconst pluginVersion = \"10.0.3\";\nconst defaultOptions = {\n alignValue: \"left\",\n mergeValues: true,\n rowHeight: 0.9,\n showValue: VisibilityMode.Auto\n};\nconst defaultFieldConfig = {\n fillOpacity: 70,\n lineWidth: 0\n};\n\nexport { defaultFieldConfig, defaultOptions, pluginVersion };\n","import { V as VisibilityMode } from '../../../../../common.gen-58e5e938.js';\n\nconst pluginVersion = \"10.0.3\";\nconst defaultOptions = {\n colWidth: 0.9,\n rowHeight: 0.9,\n showValue: VisibilityMode.Auto\n};\nconst defaultFieldConfig = {\n fillOpacity: 70,\n lineWidth: 1\n};\n\nexport { defaultFieldConfig, defaultOptions, pluginVersion };\n","import { T as TableCellHeight } from '../../../../../common.gen-58e5e938.js';\n\nconst pluginVersion = \"10.0.3\";\nconst defaultOptions = {\n cellHeight: TableCellHeight.Sm,\n footer: {\n /**\n * Controls whether the footer should be shown\n */\n show: false,\n /**\n * Controls whether the footer should show the total number of rows on Count calculation\n */\n countRows: false,\n /**\n * Represents the selected calculations\n */\n reducer: []\n },\n frameIndex: 0,\n showHeader: true,\n showTypeIcons: false,\n sortBy: []\n};\n\nexport { defaultOptions, pluginVersion };\n","import { V as VisibilityMode } from '../../../../../common.gen-58e5e938.js';\n\nconst pluginVersion = \"10.0.3\";\nvar SeriesMapping = /* @__PURE__ */ ((SeriesMapping2) => {\n SeriesMapping2[\"Auto\"] = \"auto\";\n SeriesMapping2[\"Manual\"] = \"manual\";\n return SeriesMapping2;\n})(SeriesMapping || {});\nvar ScatterShow = /* @__PURE__ */ ((ScatterShow2) => {\n ScatterShow2[\"Lines\"] = \"lines\";\n ScatterShow2[\"Points\"] = \"points\";\n ScatterShow2[\"PointsAndLines\"] = \"points+lines\";\n return ScatterShow2;\n})(ScatterShow || {});\nconst defaultXYDimensionConfig = {\n exclude: []\n};\nconst defaultScatterFieldConfig = {\n label: VisibilityMode.Auto,\n show: \"points\" /* Points */\n};\nconst defaultOptions = {\n series: []\n};\n\nexport { ScatterShow, SeriesMapping, defaultOptions, defaultScatterFieldConfig, defaultXYDimensionConfig, pluginVersion };\n","class StandardFieldConfigOverridesBuilder {\n constructor() {\n this._overrides = [];\n }\n overrideColor(value) {\n this._overrides[this._overrides.length - 1].properties.push({ id: \"color\", value });\n return this;\n }\n overrideDecimals(value) {\n this._overrides[this._overrides.length - 1].properties.push({ id: \"decimals\", value });\n return this;\n }\n overrideDisplayName(value) {\n this._overrides[this._overrides.length - 1].properties.push({ id: \"displayName\", value });\n return this;\n }\n overrideFilterable(value) {\n this._overrides[this._overrides.length - 1].properties.push({ id: \"filterable\", value });\n return this;\n }\n overrideLinks(value) {\n this._overrides[this._overrides.length - 1].properties.push({ id: \"links\", value });\n return this;\n }\n overrideMappings(value) {\n this._overrides[this._overrides.length - 1].properties.push({ id: \"mappings\", value });\n return this;\n }\n overrideMax(value) {\n this._overrides[this._overrides.length - 1].properties.push({ id: \"max\", value });\n return this;\n }\n overrideMin(value) {\n this._overrides[this._overrides.length - 1].properties.push({ id: \"min\", value });\n return this;\n }\n overrideNoValue(value) {\n this._overrides[this._overrides.length - 1].properties.push({ id: \"noValue\", value });\n return this;\n }\n overrideThresholds(value) {\n this._overrides[this._overrides.length - 1].properties.push({ id: \"thresholds\", value });\n return this;\n }\n overrideUnit(value) {\n this._overrides[this._overrides.length - 1].properties.push({ id: \"unit\", value });\n return this;\n }\n}\n\nexport { StandardFieldConfigOverridesBuilder };\n//# sourceMappingURL=StandardFieldConfigBuilders.js.map\n","import { FieldMatcherID } from '@grafana/data';\nimport { getCompareSeriesRefId } from '../../utils/getCompareSeriesRefId.js';\nimport { StandardFieldConfigOverridesBuilder } from './StandardFieldConfigBuilders.js';\n\nclass FieldConfigOverridesBuilder extends StandardFieldConfigOverridesBuilder {\n match(matcher) {\n this._overrides.push({ matcher, properties: [] });\n return this;\n }\n matchFieldsWithName(name) {\n this._overrides.push({\n matcher: {\n id: FieldMatcherID.byName,\n options: name\n },\n properties: []\n });\n return this;\n }\n matchFieldsWithNameByRegex(regex) {\n this._overrides.push({\n matcher: {\n id: FieldMatcherID.byRegexp,\n options: regex\n },\n properties: []\n });\n return this;\n }\n matchFieldsByType(fieldType) {\n this._overrides.push({\n matcher: {\n id: FieldMatcherID.byType,\n options: fieldType\n },\n properties: []\n });\n return this;\n }\n matchFieldsByQuery(refId) {\n this._overrides.push({\n matcher: {\n id: FieldMatcherID.byFrameRefID,\n options: refId\n },\n properties: []\n });\n return this;\n }\n matchFieldsByValue(options) {\n this._overrides.push({\n matcher: {\n id: FieldMatcherID.byValue,\n options\n },\n properties: []\n });\n return this;\n }\n matchComparisonQuery(refId) {\n return this.matchFieldsByQuery(getCompareSeriesRefId(refId));\n }\n overrideCustomFieldConfig(id, value) {\n const _id = `custom.${String(id)}`;\n const last = this._overrides[this._overrides.length - 1];\n last.properties.push({ id: _id, value });\n return this;\n }\n build() {\n return this._overrides;\n }\n}\n\nexport { FieldConfigOverridesBuilder };\n//# sourceMappingURL=FieldConfigOverridesBuilder.js.map\n","import { cloneDeep, merge } from 'lodash';\nimport { FieldConfigOverridesBuilder } from './FieldConfigOverridesBuilder.js';\n\nvar __defProp = Object.defineProperty;\nvar __defProps = Object.defineProperties;\nvar __getOwnPropDescs = Object.getOwnPropertyDescriptors;\nvar __getOwnPropSymbols = Object.getOwnPropertySymbols;\nvar __hasOwnProp = Object.prototype.hasOwnProperty;\nvar __propIsEnum = Object.prototype.propertyIsEnumerable;\nvar __defNormalProp = (obj, key, value) => key in obj ? __defProp(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;\nvar __spreadValues = (a, b) => {\n for (var prop in b || (b = {}))\n if (__hasOwnProp.call(b, prop))\n __defNormalProp(a, prop, b[prop]);\n if (__getOwnPropSymbols)\n for (var prop of __getOwnPropSymbols(b)) {\n if (__propIsEnum.call(b, prop))\n __defNormalProp(a, prop, b[prop]);\n }\n return a;\n};\nvar __spreadProps = (a, b) => __defProps(a, __getOwnPropDescs(b));\nclass FieldConfigBuilder {\n constructor(defaultFieldConfig) {\n this.defaultFieldConfig = defaultFieldConfig;\n this._fieldConfig = {\n defaults: {},\n overrides: []\n };\n this._overridesBuilder = new FieldConfigOverridesBuilder();\n this.setDefaults();\n }\n setDefaults() {\n const fieldConfig = {\n defaults: {\n custom: this.defaultFieldConfig ? cloneDeep(this.defaultFieldConfig()) : {}\n },\n overrides: []\n };\n this._fieldConfig = fieldConfig;\n }\n setColor(color) {\n return this.setFieldConfigDefaults(\"color\", color);\n }\n setDecimals(decimals) {\n return this.setFieldConfigDefaults(\"decimals\", decimals);\n }\n setDisplayName(displayName) {\n return this.setFieldConfigDefaults(\"displayName\", displayName);\n }\n setFilterable(filterable) {\n return this.setFieldConfigDefaults(\"filterable\", filterable);\n }\n setLinks(links) {\n return this.setFieldConfigDefaults(\"links\", links);\n }\n setMappings(mappings) {\n return this.setFieldConfigDefaults(\"mappings\", mappings);\n }\n setMax(max) {\n return this.setFieldConfigDefaults(\"max\", max);\n }\n setMin(min) {\n return this.setFieldConfigDefaults(\"min\", min);\n }\n setNoValue(noValue) {\n return this.setFieldConfigDefaults(\"noValue\", noValue);\n }\n setThresholds(thresholds) {\n return this.setFieldConfigDefaults(\"thresholds\", thresholds);\n }\n setUnit(unit) {\n return this.setFieldConfigDefaults(\"unit\", unit);\n }\n setCustomFieldConfig(id, value) {\n this._fieldConfig.defaults = __spreadProps(__spreadValues({}, this._fieldConfig.defaults), {\n custom: merge(this._fieldConfig.defaults.custom, { [id]: value })\n });\n return this;\n }\n setOverrides(builder) {\n builder(this._overridesBuilder);\n return this;\n }\n setFieldConfigDefaults(key, value) {\n this._fieldConfig.defaults = __spreadProps(__spreadValues({}, this._fieldConfig.defaults), {\n [key]: value\n });\n return this;\n }\n build() {\n return {\n defaults: this._fieldConfig.defaults,\n overrides: this._overridesBuilder.build()\n };\n }\n}\n\nexport { FieldConfigBuilder };\n//# sourceMappingURL=FieldConfigBuilder.js.map\n","import { cloneDeep, merge } from 'lodash';\n\nclass PanelOptionsBuilder {\n constructor(defaultOptions) {\n this.defaultOptions = defaultOptions;\n this._options = {};\n this.setDefaults();\n }\n setDefaults() {\n this._options = this.defaultOptions ? cloneDeep(this.defaultOptions()) : {};\n }\n setOption(id, value) {\n this._options = merge(this._options, { [id]: value });\n return this;\n }\n build() {\n return this._options;\n }\n}\n\nexport { PanelOptionsBuilder };\n//# sourceMappingURL=PanelOptionsBuilder.js.map\n","import { VizPanel } from '../../components/VizPanel/VizPanel.js';\nimport { FieldConfigBuilder } from './FieldConfigBuilder.js';\nimport { PanelOptionsBuilder } from './PanelOptionsBuilder.js';\n\nvar __defProp = Object.defineProperty;\nvar __defProps = Object.defineProperties;\nvar __getOwnPropDescs = Object.getOwnPropertyDescriptors;\nvar __getOwnPropSymbols = Object.getOwnPropertySymbols;\nvar __hasOwnProp = Object.prototype.hasOwnProperty;\nvar __propIsEnum = Object.prototype.propertyIsEnumerable;\nvar __defNormalProp = (obj, key, value) => key in obj ? __defProp(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;\nvar __spreadValues = (a, b) => {\n for (var prop in b || (b = {}))\n if (__hasOwnProp.call(b, prop))\n __defNormalProp(a, prop, b[prop]);\n if (__getOwnPropSymbols)\n for (var prop of __getOwnPropSymbols(b)) {\n if (__propIsEnum.call(b, prop))\n __defNormalProp(a, prop, b[prop]);\n }\n return a;\n};\nvar __spreadProps = (a, b) => __defProps(a, __getOwnPropDescs(b));\nclass VizPanelBuilder {\n constructor(pluginId, pluginVersion, defaultOptions, defaultFieldConfig) {\n this._state = {};\n this._state.title = \"\";\n this._state.description = \"\";\n this._state.displayMode = \"default\";\n this._state.hoverHeader = false;\n this._state.pluginId = pluginId;\n this._state.pluginVersion = pluginVersion;\n this._fieldConfigBuilder = new FieldConfigBuilder(defaultFieldConfig);\n this._panelOptionsBuilder = new PanelOptionsBuilder(defaultOptions);\n }\n setTitle(title) {\n this._state.title = title;\n return this;\n }\n setDescription(description) {\n this._state.description = description;\n return this;\n }\n setDisplayMode(displayMode) {\n this._state.displayMode = displayMode;\n return this;\n }\n setHoverHeader(hoverHeader) {\n this._state.hoverHeader = hoverHeader;\n return this;\n }\n setMenu(menu) {\n this._state.menu = menu;\n return this;\n }\n setHeaderActions(headerActions) {\n this._state.headerActions = headerActions;\n return this;\n }\n setColor(color) {\n this._fieldConfigBuilder.setColor(color);\n return this;\n }\n setDecimals(decimals) {\n this._fieldConfigBuilder.setDecimals(decimals);\n return this;\n }\n setDisplayName(displayName) {\n this._fieldConfigBuilder.setDisplayName(displayName);\n return this;\n }\n setFilterable(filterable) {\n this._fieldConfigBuilder.setFilterable(filterable);\n return this;\n }\n setLinks(links) {\n this._fieldConfigBuilder.setLinks(links);\n return this;\n }\n setMappings(mappings) {\n this._fieldConfigBuilder.setMappings(mappings);\n return this;\n }\n setMax(max) {\n this._fieldConfigBuilder.setMax(max);\n return this;\n }\n setMin(min) {\n this._fieldConfigBuilder.setMin(min);\n return this;\n }\n setNoValue(noValue) {\n this._fieldConfigBuilder.setNoValue(noValue);\n return this;\n }\n setThresholds(thresholds) {\n this._fieldConfigBuilder.setThresholds(thresholds);\n return this;\n }\n setUnit(unit) {\n this._fieldConfigBuilder.setUnit(unit);\n return this;\n }\n setCustomFieldConfig(id, value) {\n this._fieldConfigBuilder.setCustomFieldConfig(id, value);\n return this;\n }\n setOverrides(builder) {\n this._fieldConfigBuilder.setOverrides(builder);\n return this;\n }\n setOption(id, value) {\n this._panelOptionsBuilder.setOption(id, value);\n return this;\n }\n setData(data) {\n this._state.$data = data;\n return this;\n }\n setTimeRange(timeRange) {\n this._state.$timeRange = timeRange;\n return this;\n }\n setVariables(variables) {\n this._state.$variables = variables;\n return this;\n }\n setBehaviors(behaviors) {\n this._state.$behaviors = behaviors;\n return this;\n }\n build() {\n const panel = new VizPanel(__spreadProps(__spreadValues({}, this._state), {\n options: this._panelOptionsBuilder.build(),\n fieldConfig: this._fieldConfigBuilder.build()\n }));\n return panel;\n }\n}\n\nexport { VizPanelBuilder };\n//# sourceMappingURL=VizPanelBuilder.js.map\n","import { defaultOptions, defaultFieldConfig } from '@grafana/schema/dist/esm/raw/composable/barchart/panelcfg/x/BarChartPanelCfg_types.gen';\nimport { defaultOptions as defaultOptions$1 } from '@grafana/schema/dist/esm/raw/composable/bargauge/panelcfg/x/BarGaugePanelCfg_types.gen';\nimport { defaultOptions as defaultOptions$2 } from '@grafana/schema/dist/esm/raw/composable/datagrid/panelcfg/x/DatagridPanelCfg_types.gen';\nimport { defaultOptions as defaultOptions$3 } from '@grafana/schema/dist/esm/raw/composable/gauge/panelcfg/x/GaugePanelCfg_types.gen';\nimport { defaultOptions as defaultOptions$4 } from '@grafana/schema/dist/esm/raw/composable/geomap/panelcfg/x/GeomapPanelCfg_types.gen';\nimport { defaultOptions as defaultOptions$5 } from '@grafana/schema/dist/esm/raw/composable/heatmap/panelcfg/x/HeatmapPanelCfg_types.gen';\nimport { defaultOptions as defaultOptions$6, defaultFieldConfig as defaultFieldConfig$1 } from '@grafana/schema/dist/esm/raw/composable/histogram/panelcfg/x/HistogramPanelCfg_types.gen';\nimport { defaultOptions as defaultOptions$7 } from '@grafana/schema/dist/esm/raw/composable/news/panelcfg/x/NewsPanelCfg_types.gen';\nimport { defaultOptions as defaultOptions$8 } from '@grafana/schema/dist/esm/raw/composable/piechart/panelcfg/x/PieChartPanelCfg_types.gen';\nimport { defaultOptions as defaultOptions$9 } from '@grafana/schema/dist/esm/raw/composable/stat/panelcfg/x/StatPanelCfg_types.gen';\nimport { defaultOptions as defaultOptions$a, defaultFieldConfig as defaultFieldConfig$2 } from '@grafana/schema/dist/esm/raw/composable/statetimeline/panelcfg/x/StateTimelinePanelCfg_types.gen';\nimport { defaultOptions as defaultOptions$b, defaultFieldConfig as defaultFieldConfig$3 } from '@grafana/schema/dist/esm/raw/composable/statushistory/panelcfg/x/StatusHistoryPanelCfg_types.gen';\nimport { defaultOptions as defaultOptions$c } from '@grafana/schema/dist/esm/raw/composable/table/panelcfg/x/TablePanelCfg_types.gen';\nimport { defaultOptions as defaultOptions$d } from '@grafana/schema/dist/esm/raw/composable/text/panelcfg/x/TextPanelCfg_types.gen';\nimport { defaultOptions as defaultOptions$e, defaultScatterFieldConfig } from '@grafana/schema/dist/esm/raw/composable/xychart/panelcfg/x/XYChartPanelCfg_types.gen';\nimport { VizPanelBuilder } from './VizPanelBuilder.js';\nimport 'lodash';\nimport '@grafana/data';\n\nconst PanelBuilders = {\n barchart() {\n return new VizPanelBuilder(\n \"barchart\",\n \"10.0.0\",\n () => defaultOptions,\n () => defaultFieldConfig\n );\n },\n bargauge() {\n return new VizPanelBuilder(\"bargauge\", \"10.0.0\", () => defaultOptions$1);\n },\n datagrid() {\n return new VizPanelBuilder(\"datagrid\", \"10.0.0\", () => defaultOptions$2);\n },\n flamegraph() {\n return new VizPanelBuilder(\"flamegraph\", \"10.0.0\");\n },\n gauge() {\n return new VizPanelBuilder(\"gauge\", \"10.0.0\", () => defaultOptions$3);\n },\n geomap() {\n return new VizPanelBuilder(\"geomap\", \"10.0.0\", () => defaultOptions$4);\n },\n heatmap() {\n return new VizPanelBuilder(\"heatmap\", \"10.0.0\", () => defaultOptions$5);\n },\n histogram() {\n return new VizPanelBuilder(\n \"histogram\",\n \"10.0.0\",\n () => defaultOptions$6,\n () => defaultFieldConfig$1\n );\n },\n logs() {\n return new VizPanelBuilder(\"logs\", \"10.0.0\");\n },\n news() {\n return new VizPanelBuilder(\"news\", \"10.0.0\", () => defaultOptions$7);\n },\n nodegraph() {\n return new VizPanelBuilder(\"nodeGraph\", \"10.0.0\");\n },\n piechart() {\n return new VizPanelBuilder(\n \"piechart\",\n \"10.0.0\",\n () => defaultOptions$8\n );\n },\n stat() {\n return new VizPanelBuilder(\"stat\", \"10.0.0\", () => defaultOptions$9);\n },\n statetimeline() {\n return new VizPanelBuilder(\n \"state-timeline\",\n \"10.0.0\",\n () => defaultOptions$a,\n () => defaultFieldConfig$2\n );\n },\n statushistory() {\n return new VizPanelBuilder(\n \"status-history\",\n \"10.0.0\",\n () => defaultOptions$b,\n () => defaultFieldConfig$3\n );\n },\n table() {\n return new VizPanelBuilder(\"table\", \"10.0.0\", () => defaultOptions$c);\n },\n text() {\n return new VizPanelBuilder(\"text\", \"10.0.0\", () => defaultOptions$d);\n },\n timeseries() {\n return new VizPanelBuilder(\"timeseries\", \"10.0.0\");\n },\n trend() {\n return new VizPanelBuilder(\"trend\", \"10.0.0\");\n },\n traces() {\n return new VizPanelBuilder(\"traces\", \"10.0.0\");\n },\n xychart() {\n return new VizPanelBuilder(\n \"xychart\",\n \"10.0.0\",\n () => defaultOptions$e,\n () => defaultScatterFieldConfig\n );\n }\n};\n\nexport { PanelBuilders };\n//# sourceMappingURL=index.js.map\n","import { SceneQueryRunner, PanelBuilders } from '@grafana/scenes';\nimport { INFLUXDB_DATASOURCES_REF } from '../../../constants';\n\nexport const getBandwidthPanel = () => {\n const defaultBandwidthQuery = {\n refId: 'A',\n query: `SELECT mean(value) FROM \"monthly\".\"bandwidth.1min\" WHERE hostname='$hostname' AND $timeFilter GROUP BY time(60s)`,\n rawQuery: true,\n resultFormat: 'time_series',\n alias: 'bandwidth',\n };\n\n const qr = new SceneQueryRunner({\n datasource: INFLUXDB_DATASOURCES_REF.CACHE_STATS,\n queries: [defaultBandwidthQuery],\n });\n\n return PanelBuilders.timeseries()\n .setTitle('Bandwidth')\n .setData(qr)\n .setCustomFieldConfig('fillOpacity', 20)\n .setOption('legend', { showLegend: true, calcs: ['max'] })\n .setUnit('kbps')\n .build();\n};\n","import { SceneQueryRunner, PanelBuilders } from '@grafana/scenes';\nimport { INFLUXDB_DATASOURCES_REF } from '../../../constants';\n\nexport const getConnectionsPanel = () => {\n const defaultConnectionsQuery = [\n {\n refId: 'A',\n query: `SELECT mean(value) FROM \"monthly\".\"connections.1min\" WHERE hostname='$hostname' AND $timeFilter GROUP BY time(60s)`,\n rawQuery: true,\n resultFormat: 'time_series',\n alias: 'connections',\n },\n ];\n\n const qr = new SceneQueryRunner({\n datasource: INFLUXDB_DATASOURCES_REF.CACHE_STATS,\n queries: [...defaultConnectionsQuery],\n });\n\n return PanelBuilders.timeseries()\n .setTitle('Connections')\n .setData(qr)\n .setCustomFieldConfig('fillOpacity', 20)\n .setOption('legend', { showLegend: true, calcs: ['max'] })\n .setCustomFieldConfig('spanNulls', true)\n .build();\n};\n","import { PanelBuilders, SceneQueryRunner } from '@grafana/scenes';\nimport { INFLUXDB_DATASOURCES_REF } from '../../../constants';\n\nexport const getCPUPanel = () => {\n const defaultQuery = {\n refId: 'A',\n query: `SELECT mean(\"usage_system\") AS \"cpu_system\", mean(\"usage_iowait\") AS \"cpu_iowait\", mean(\"usage_user\") AS \"cpu_user\", mean(\"usage_guest\") AS \"cpu_guest\", mean(\"usage_steal\") AS \"cpu_steal\" FROM \"cpu\" WHERE host='$hostname' AND $timeFilter GROUP BY time($interval) fill(null)`,\n rawQuery: true,\n resultFormat: 'time_series',\n alias: '$col',\n };\n\n const qr = new SceneQueryRunner({\n datasource: INFLUXDB_DATASOURCES_REF.TELEGRAF,\n queries: [defaultQuery],\n });\n\n return PanelBuilders.timeseries()\n .setTitle('CPU Usage')\n .setData(qr)\n .setUnit('%')\n .setCustomFieldConfig('spanNulls', true)\n .setCustomFieldConfig('fillOpacity', 20)\n .build();\n};\n","import { PanelBuilders, SceneQueryRunner } from '@grafana/scenes';\nimport { INFLUXDB_DATASOURCES_REF } from '../../../constants';\n\nexport const getLoadAveragePanel = () => {\n const defaultQuery = {\n refId: 'A',\n query: `SELECT mean(\"load1\") AS \"load1\", mean(\"load5\") AS \"load5\", mean(\"load15\") AS \"load15\" FROM \"system\" WHERE host='$hostname' AND $timeFilter GROUP BY time($interval) fill(null)`,\n rawQuery: true,\n resultFormat: 'time_series',\n alias: '$col',\n };\n\n const qr = new SceneQueryRunner({\n datasource: INFLUXDB_DATASOURCES_REF.TELEGRAF,\n queries: [defaultQuery],\n });\n\n return PanelBuilders.timeseries()\n .setTitle('Load Average')\n .setData(qr)\n .setCustomFieldConfig('fillOpacity', 20)\n .setCustomFieldConfig('spanNulls', true)\n .build();\n};\n","import { PanelBuilders, SceneQueryRunner } from '@grafana/scenes';\nimport { INFLUXDB_DATASOURCES_REF } from '../../../constants';\n\nexport const getMemoryPanel = () => {\n const defaultQuery = {\n refId: 'A',\n query: `SELECT mean(\"used_percent\") AS \"mem_used\" FROM \"mem\" WHERE host='$hostname' AND $timeFilter GROUP BY time($interval) fill(null)`,\n rawQuery: true,\n resultFormat: 'time_series',\n alias: '$col',\n };\n\n const qr = new SceneQueryRunner({\n datasource: INFLUXDB_DATASOURCES_REF.TELEGRAF,\n queries: [defaultQuery],\n });\n\n return PanelBuilders.timeseries()\n .setTitle('Memory Usage')\n .setData(qr)\n .setCustomFieldConfig('spanNulls', true)\n .setCustomFieldConfig('fillOpacity', 20)\n .setUnit('%')\n .build();\n};\n","import { PanelBuilders, SceneQueryRunner } from '@grafana/scenes';\nimport { INFLUXDB_DATASOURCES_REF } from '../../../constants';\n\nexport const getNetstatPanel = () => {\n const defaultQuery = {\n refId: 'A',\n query: `SELECT mean(\"tcp_close\") AS \"tcp_close\", mean(\"tcp_close_wait\") AS \"tcp_close_wait\", mean(\"tcp_established\") AS \"tcp_established\", mean(\"tcp_time_wait\") AS \"tcp_time_wait\", mean(\"tcp_closing\") AS \"tcp_closing\", mean(\"tcp_fin_wait1\") AS \"tcp_fin_wait1\", mean(\"tcp_fin_wait2\") AS \"tcp_fin_wait2\", mean(\"tcp_last_ack\") AS \"tcp_last_ack\", mean(\"tcp_syn_recv\") AS \"tcp_syn_recv\", mean(\"tcp_syn_sent\") AS \"tcp_syn_sent\" FROM \"netstat\" WHERE host='$hostname' AND $timeFilter GROUP BY time($interval) fill(null)`,\n rawQuery: true,\n resultFormat: 'time_series',\n alias: '$col',\n };\n\n const qr = new SceneQueryRunner({\n datasource: INFLUXDB_DATASOURCES_REF.TELEGRAF,\n queries: [defaultQuery],\n });\n\n return PanelBuilders.timeseries()\n .setTitle('Netstat')\n .setData(qr)\n .setCustomFieldConfig('spanNulls', true)\n .setCustomFieldConfig('fillOpacity', 20)\n .build();\n};\n","import { PanelBuilders, SceneQueryRunner } from '@grafana/scenes';\nimport { INFLUXDB_DATASOURCES_REF } from '../../../constants';\n\nexport const getReadWriteTimePanel = () => {\n const defaultQueries = [\n {\n refId: 'A',\n query: `SELECT non_negative_derivative(sum(\"read_time\"), 10s) AS \"read_time\" FROM \"diskio\" WHERE host='$hostname' AND $timeFilter GROUP BY time($interval) fill(null)`,\n rawQuery: true,\n resultFormat: 'time_series',\n alias: '$col',\n },\n {\n refId: 'B',\n query: `SELECT non_negative_derivative(sum(\"write_time\"), 10s) AS \"write_time\" FROM \"diskio\" WHERE host='$hostname' AND $timeFilter GROUP BY time($interval) fill(null)`,\n rawQuery: true,\n resultFormat: 'time_series',\n alias: '$col',\n },\n ];\n\n const qr = new SceneQueryRunner({\n datasource: INFLUXDB_DATASOURCES_REF.TELEGRAF,\n queries: [...defaultQueries],\n });\n\n return PanelBuilders.timeseries()\n .setTitle('Read/Write Time')\n .setData(qr)\n .setCustomFieldConfig('spanNulls', true)\n .setCustomFieldConfig('fillOpacity', 20)\n .setUnit('ns')\n .build();\n};\n","import { PanelBuilders, SceneQueryRunner } from '@grafana/scenes';\nimport { INFLUXDB_DATASOURCES_REF } from '../../../constants';\n\nexport const getWrapCountPanel = () => {\n const defaultQuery = {\n refId: 'A',\n query: `SELECT mean(\"vol1_wrap_count\") AS \"vol1\", mean(\"vol2_wrap_count\") AS \"vol2\" FROM \"monthly\".\"wrap_count.1min\" WHERE hostname='$hostname' AND $timeFilter GROUP BY time($interval) fill(null)`,\n rawQuery: true,\n resultFormat: 'time_series',\n alias: '$col',\n };\n\n const qr = new SceneQueryRunner({\n datasource: INFLUXDB_DATASOURCES_REF.CACHE_STATS,\n queries: [defaultQuery],\n });\n\n return PanelBuilders.timeseries()\n .setTitle('Wrap Count')\n .setData(qr)\n .setCustomFieldConfig('spanNulls', true)\n .setCustomFieldConfig('fillOpacity', 20)\n .build();\n};\n","import {\n SceneTimeRange,\n EmbeddedScene,\n SceneFlexLayout,\n SceneFlexItem,\n SceneControlsSpacer,\n SceneRefreshPicker,\n SceneTimePicker,\n QueryVariable,\n SceneVariableSet,\n VariableValueSelectors,\n} from '@grafana/scenes';\nimport {\n getBandwidthPanel,\n getConnectionsPanel,\n getCPUPanel,\n getMemoryPanel,\n getLoadAveragePanel,\n getReadWriteTimePanel,\n getWrapCountPanel,\n getNetstatPanel,\n} from './panels';\nimport { INFLUXDB_DATASOURCES_REF } from '../../constants';\n\nexport function getServerScene() {\n const timeRange = new SceneTimeRange({\n from: 'now-6h',\n to: 'now',\n });\n\n const hostname = new QueryVariable({\n name: 'hostname',\n datasource: INFLUXDB_DATASOURCES_REF.CACHE_STATS,\n query: 'SHOW TAG VALUES ON \"cache_stats\" FROM \"monthly\".\"bandwidth\" with key = \"hostname\"',\n });\n\n return new EmbeddedScene({\n $timeRange: timeRange,\n $variables: new SceneVariableSet({\n variables: [hostname],\n }),\n body: new SceneFlexLayout({\n direction: 'column',\n children: [\n new SceneFlexItem({\n height: 250,\n body: getBandwidthPanel(),\n }),\n new SceneFlexItem({\n height: 250,\n body: getConnectionsPanel(),\n }),\n new SceneFlexLayout({\n direction: 'row',\n height: 250,\n children: [\n new SceneFlexItem({\n width: '50%',\n body: getCPUPanel(),\n }),\n new SceneFlexItem({\n width: '50%',\n body: getMemoryPanel(),\n }),\n ],\n }),\n new SceneFlexLayout({\n direction: 'row',\n height: 250,\n children: [\n new SceneFlexItem({\n width: '50%',\n body: getLoadAveragePanel(),\n }),\n new SceneFlexItem({\n width: '50%',\n body: getReadWriteTimePanel(),\n }),\n ],\n }),\n new SceneFlexLayout({\n direction: 'row',\n height: 250,\n children: [\n new SceneFlexItem({\n width: '50%',\n body: getWrapCountPanel(),\n }),\n new SceneFlexItem({\n width: '50%',\n body: getNetstatPanel(),\n }),\n ],\n }),\n ],\n }),\n controls: [\n new VariableValueSelectors({}),\n new SceneControlsSpacer(),\n new SceneTimePicker({ isOnCanvas: true }),\n new SceneRefreshPicker({\n intervals: ['5s', '1m', '1h'],\n isOnCanvas: true,\n }),\n ],\n });\n}\n","import React, { useMemo } from 'react';\nimport { SceneApp, SceneAppPage } from '@grafana/scenes';\nimport { ROUTES } from '../../constants';\nimport { prefixRoute } from '../../utils/utils.routing';\nimport { getServerScene } from './scene';\n\nconst getScene = () =>\n new SceneApp({\n pages: [\n new SceneAppPage({\n title: 'Server',\n url: prefixRoute(`${ROUTES.Server}`),\n hideFromBreadcrumbs: true,\n getScene: getServerScene,\n }),\n ],\n });\n\nexport const ServerPage = () => {\n const scene = useMemo(() => getScene(), []);\n\n return ;\n};\n","import { SceneQueryRunner, PanelBuilders } from '@grafana/scenes';\nimport { INFLUXDB_DATASOURCES_REF } from '../../../constants';\n\nexport const getBandwidthPanel = () => {\n const defaultBandwidthQuery = {\n refId: 'A',\n query: `SELECT mean(value) FROM \"monthly\".\"kbps.ds.1min\" WHERE deliveryservice='$deliveryservice' AND cachegroup = 'total' and $timeFilter GROUP BY time(60s), deliveryservice ORDER BY asc`,\n rawQuery: true,\n resultFormat: 'time_series',\n alias: '$tag_deliveryservice',\n measurement: 'bw',\n };\n\n const qr = new SceneQueryRunner({\n datasource: INFLUXDB_DATASOURCES_REF.DELIVERYSERVICE_STATS,\n queries: [defaultBandwidthQuery],\n });\n\n return PanelBuilders.timeseries()\n .setTitle('Bandwidth')\n .setData(qr)\n .setOption('legend', { showLegend: true, calcs: ['max'] })\n .setCustomFieldConfig('axisCenteredZero', true)\n .setUnit('bps')\n .build();\n};\n","import { SceneQueryRunner, PanelBuilders } from '@grafana/scenes';\nimport { INFLUXDB_DATASOURCES_REF } from '../../../constants';\n\nexport const getTpsPanel = () => {\n const tpsQueries = [\n {\n refId: 'A',\n query: `SELECT mean(value) FROM \"monthly\".\"tps_2xx.ds.1min\" WHERE $timeFilter AND deliveryservice='$deliveryservice' GROUP BY time(60s) ORDER BY asc`,\n rawQuery: true,\n resultFormat: 'time_series',\n measurement: 'tps_2xx',\n hide: false,\n tags: {\n deliveryservice: `$deliveryservice`,\n },\n },\n {\n refId: 'B',\n query: `SELECT mean(value) FROM \\\"monthly\\\".\\\"tps_3xx.ds.1min\\\" WHERE $timeFilter AND deliveryservice='$deliveryservice' GROUP BY time(60s) ORDER BY asc`,\n rawQuery: true,\n resultFormat: 'time_series',\n },\n {\n refId: 'C',\n query: `SELECT mean(value) FROM \\\"monthly\\\".\\\"tps_4xx.ds.1min\\\" WHERE $timeFilter AND deliveryservice='$deliveryservice' GROUP BY time(60s) ORDER BY asc`,\n rawQuery: true,\n resultFormat: 'time_series',\n },\n {\n refId: 'D',\n query: `SELECT mean(value) FROM \\\"monthly\\\".\\\"tps_5xx.ds.1min\\\" WHERE $timeFilter AND deliveryservice='$deliveryservice' GROUP BY time(60s) ORDER BY asc`,\n rawQuery: true,\n resultFormat: 'time_series',\n },\n ];\n\n const qr = new SceneQueryRunner({\n datasource: INFLUXDB_DATASOURCES_REF.DELIVERYSERVICE_STATS,\n queries: [...tpsQueries],\n });\n\n return PanelBuilders.timeseries()\n .setTitle('TPS')\n .setData(qr)\n .setOption('legend', { showLegend: true, calcs: ['max'] })\n .setCustomFieldConfig('axisCenteredZero', true)\n .setCustomFieldConfig('spanNulls', true)\n .build();\n};\n","import { SceneQueryRunner, PanelBuilders } from '@grafana/scenes';\nimport { INFLUXDB_DATASOURCES_REF } from '../../../constants';\n\nexport const getBandwidthByCGPanel = () => {\n const bandwidthByCacheGroupQuery = {\n refId: 'A',\n query: `SELECT mean(value) FROM \"monthly\".\"kbps.cg.1min\" WHERE deliveryservice='$deliveryservice' AND cachegroup != 'all' and $timeFilter GROUP BY time(60s), cachegroup`,\n rawQuery: true,\n resultFormat: 'time_series',\n alias: '$tag_cachegroup',\n };\n\n const qr = new SceneQueryRunner({\n datasource: INFLUXDB_DATASOURCES_REF.DELIVERYSERVICE_STATS,\n queries: [bandwidthByCacheGroupQuery],\n });\n\n return PanelBuilders.timeseries()\n .setTitle('Bandwidth by CacheGroup')\n .setData(qr)\n .setOption('legend', { showLegend: true, calcs: ['max'] })\n .setCustomFieldConfig('axisCenteredZero', true)\n .setCustomFieldConfig('spanNulls', true)\n .setUnit('bps')\n .build();\n};\n","import {\n SceneTimeRange,\n EmbeddedScene,\n SceneFlexLayout,\n SceneFlexItem,\n SceneControlsSpacer,\n SceneRefreshPicker,\n SceneTimePicker,\n QueryVariable,\n SceneVariableSet,\n VariableValueSelectors,\n} from '@grafana/scenes';\nimport { getBandwidthPanel } from './panels/bandwidth';\nimport { getTpsPanel } from './panels/tps';\nimport { getBandwidthByCGPanel } from './panels/bandwidth-cg';\nimport { INFLUXDB_DATASOURCES_REF } from '../../constants';\n\nexport function getDeliveryServiceScene() {\n const timeRange = new SceneTimeRange({\n from: 'now-6h',\n to: 'now',\n });\n\n const deliveryService = new QueryVariable({\n name: 'deliveryservice',\n datasource: INFLUXDB_DATASOURCES_REF.DELIVERYSERVICE_STATS,\n query: 'SHOW TAG VALUES ON \"deliveryservice_stats\" FROM \"monthly\".\"kbps\" with key = \"deliveryservice\"',\n });\n\n return new EmbeddedScene({\n $timeRange: timeRange,\n $variables: new SceneVariableSet({\n variables: [deliveryService],\n }),\n body: new SceneFlexLayout({\n direction: 'column',\n children: [\n new SceneFlexItem({\n minHeight: 300,\n body: getBandwidthPanel(),\n }),\n new SceneFlexItem({\n minHeight: 300,\n body: getTpsPanel(),\n }),\n new SceneFlexItem({\n minHeight: 300,\n body: getBandwidthByCGPanel(),\n }),\n ],\n }),\n controls: [\n new VariableValueSelectors({}),\n new SceneControlsSpacer(),\n new SceneTimePicker({ isOnCanvas: true }),\n new SceneRefreshPicker({\n intervals: ['5s', '1m', '1h'],\n isOnCanvas: true,\n }),\n ],\n });\n}\n","import React, { useMemo } from 'react';\nimport { SceneApp, SceneAppPage } from '@grafana/scenes';\nimport { ROUTES } from '../../constants';\nimport { prefixRoute } from '../../utils/utils.routing';\nimport { getDeliveryServiceScene } from './scene';\n\nconst getScene = () =>\n new SceneApp({\n pages: [\n new SceneAppPage({\n title: 'Delivery Services',\n url: prefixRoute(`${ROUTES.DeliveryService}`),\n hideFromBreadcrumbs: true,\n getScene: getDeliveryServiceScene,\n }),\n ],\n });\n\nexport const DeliveryServicePage = () => {\n const scene = useMemo(() => getScene(), []);\n\n return ;\n};\n","import { SceneQueryRunner, PanelBuilders } from '@grafana/scenes';\nimport { INFLUXDB_DATASOURCES_REF } from '../../../constants';\n\nexport const getBandwidthPanel = () => {\n const cacheGroupBandwidthQuery = {\n refId: 'A',\n query:\n 'SELECT sum(value) FROM \"monthly\".\"bandwidth.1min\" WHERE \"cachegroup\" = \\'$cachegroup\\' AND $timeFilter GROUP BY time(60s), cachegroup',\n rawQuery: true,\n resultFormat: 'time_series',\n alias: '$tag_cachegroup',\n };\n\n const qr = new SceneQueryRunner({\n datasource: INFLUXDB_DATASOURCES_REF.CACHE_STATS,\n queries: [cacheGroupBandwidthQuery],\n });\n\n return PanelBuilders.timeseries()\n .setTitle('Total bandwidth (stacked)')\n .setData(qr)\n .setCustomFieldConfig('fillOpacity', 20)\n .setOption('legend', { showLegend: true, calcs: ['max'] })\n .setUnit('Kbits')\n .build();\n};\n","import { SceneQueryRunner, PanelBuilders } from '@grafana/scenes';\nimport { INFLUXDB_DATASOURCES_REF } from '../../../constants';\n\nexport const getConnectionsPanel = () => {\n const connectionQuery = {\n refId: 'A',\n query:\n 'SELECT mean(\"value\") FROM \"monthly\".\"connections.1min\" WHERE (\"cachegroup\" = \\'$cachegroup\\') AND $timeFilter GROUP BY time($interval), \"hostname\" fill(null)',\n rawQuery: true,\n resultFormat: 'time_series',\n };\n\n const qr = new SceneQueryRunner({\n datasource: INFLUXDB_DATASOURCES_REF.CACHE_STATS,\n queries: [connectionQuery],\n });\n\n return PanelBuilders.timeseries()\n .setTitle('Connections (stacked)')\n .setCustomFieldConfig('fillOpacity', 20)\n .setData(qr)\n .setOption('legend', { showLegend: true, calcs: ['max'] })\n .setCustomFieldConfig('spanNulls', true)\n .build();\n};\n","import {\n SceneTimeRange,\n EmbeddedScene,\n SceneFlexLayout,\n SceneFlexItem,\n SceneControlsSpacer,\n SceneRefreshPicker,\n SceneTimePicker,\n QueryVariable,\n SceneVariableSet,\n VariableValueSelectors,\n} from '@grafana/scenes';\nimport { getBandwidthPanel } from './panels/bandwidth';\nimport { getConnectionsPanel } from './panels/connections';\nimport { INFLUXDB_DATASOURCES_REF } from '../../constants';\n\nexport function getCacheGroupScene() {\n const timeRange = new SceneTimeRange({\n from: 'now-6h',\n to: 'now',\n });\n\n const cachegroup = new QueryVariable({\n name: 'cachegroup',\n datasource: INFLUXDB_DATASOURCES_REF.CACHE_STATS,\n query: 'SHOW TAG VALUES ON \"cache_stats\" FROM \"monthly\".\"bandwidth\" with key = \"cachegroup\"',\n });\n\n return new EmbeddedScene({\n $timeRange: timeRange,\n $variables: new SceneVariableSet({\n variables: [cachegroup],\n }),\n body: new SceneFlexLayout({\n direction: 'column',\n children: [\n new SceneFlexItem({\n minHeight: 300,\n body: getBandwidthPanel(),\n }),\n new SceneFlexItem({\n minHeight: 300,\n body: getConnectionsPanel(),\n }),\n ],\n }),\n controls: [\n new VariableValueSelectors({}),\n new SceneControlsSpacer(),\n new SceneTimePicker({ isOnCanvas: true }),\n new SceneRefreshPicker({\n intervals: ['5s', '1m', '1h'],\n isOnCanvas: true,\n }),\n ],\n });\n}\n","import React, { useMemo } from 'react';\nimport { SceneApp, SceneAppPage } from '@grafana/scenes';\nimport { ROUTES } from '../../constants';\nimport { prefixRoute } from '../../utils/utils.routing';\nimport { getCacheGroupScene } from './scene';\n\nconst getScene = () =>\n new SceneApp({\n pages: [\n new SceneAppPage({\n title: 'Cache Groups',\n url: prefixRoute(`${ROUTES.CacheGroup}`),\n hideFromBreadcrumbs: true,\n getScene: getCacheGroupScene,\n }),\n ],\n });\n\nexport const CacheGroupPage = () => {\n const scene = useMemo(() => getScene(), []);\n\n return ;\n};\n","import React from 'react';\nimport { Redirect, Route, Switch } from 'react-router-dom';\nimport { prefixRoute } from '../../utils/utils.routing';\nimport { ROUTES } from '../../constants';\nimport { ServerPage } from '../../pages/Server';\nimport { DeliveryServicePage } from '../../pages/DeliveryService';\nimport { CacheGroupPage } from '../../pages/CacheGroup';\n\nexport const Routes = () => {\n return (\n \n \n \n \n \n \n );\n};\n","import React from 'react';\nimport { AppRootProps } from '@grafana/data';\nimport { PluginPropsContext } from '../../utils/utils.plugin';\nimport { Routes } from '../Routes';\n\nexport class App extends React.PureComponent {\n render() {\n return (\n \n \n \n );\n }\n}\n","import { AppPlugin } from '@grafana/data';\nimport { App } from './components/App';\n\nexport const plugin = new AppPlugin<{}>().setRootPage(App);\n"],"names":["r","e","t","f","n","Array","isArray","length","clsx","arguments","HASH_UNDEFINED","COMPARE_PARTIAL_FLAG","COMPARE_UNORDERED_FLAG","MAX_SAFE_INTEGER","argsTag","arrayTag","asyncTag","boolTag","dateTag","errorTag","funcTag","genTag","mapTag","numberTag","nullTag","objectTag","promiseTag","proxyTag","regexpTag","setTag","stringTag","undefinedTag","weakMapTag","arrayBufferTag","dataViewTag","reIsHostCtor","reIsUint","typedArrayTags","freeGlobal","g","Object","freeSelf","self","root","Function","freeExports","exports","nodeType","freeModule","module","moduleExports","freeProcess","process","nodeUtil","binding","nodeIsTypedArray","isTypedArray","arraySome","array","predicate","index","mapToArray","map","result","size","forEach","value","key","setToArray","set","uid","func","transform","arrayProto","prototype","funcProto","objectProto","coreJsData","funcToString","toString","hasOwnProperty","maskSrcKey","exec","keys","IE_PROTO","nativeObjectToString","reIsNative","RegExp","call","replace","Buffer","undefined","Symbol","Uint8Array","propertyIsEnumerable","splice","symToStringTag","toStringTag","nativeGetSymbols","getOwnPropertySymbols","nativeIsBuffer","isBuffer","nativeKeys","arg","DataView","getNative","Map","Promise","Set","WeakMap","nativeCreate","dataViewCtorString","toSource","mapCtorString","promiseCtorString","setCtorString","weakMapCtorString","symbolProto","symbolValueOf","valueOf","Hash","entries","this","clear","entry","ListCache","MapCache","SetCache","values","__data__","add","Stack","data","assocIndexOf","eq","baseGetTag","isOwn","tag","unmasked","getRawTag","objectToString","baseIsArguments","isObjectLike","baseIsEqual","other","bitmask","customizer","stack","object","equalFunc","objIsArr","othIsArr","objTag","getTag","othTag","objIsObj","othIsObj","isSameTag","equalArrays","byteLength","byteOffset","buffer","name","message","convert","isPartial","stacked","get","equalByTag","objIsWrapped","othIsWrapped","objUnwrapped","othUnwrapped","objProps","getAllKeys","objLength","skipCtor","objValue","othValue","compared","objCtor","constructor","othCtor","equalObjects","baseIsEqualDeep","arrLength","othLength","seen","arrValue","othIndex","has","push","keysFunc","symbolsFunc","offset","arrayPush","baseGetAllKeys","getSymbols","getMapData","type","getValue","isObject","isMasked","isFunction","test","baseIsNative","pop","pairs","LARGE_ARRAY_SIZE","resIndex","symbol","arrayFilter","isIndex","ArrayBuffer","resolve","Ctor","ctorString","isArguments","isLength","baseUnary","inherited","isArr","isArg","isBuff","isType","skipIndexes","iteratee","baseTimes","String","arrayLikeKeys","baseKeys","ReactPropTypesSecret","emptyFunction","emptyFunctionWithReset","resetWarningCache","shim","props","propName","componentName","location","propFullName","secret","err","Error","getShim","isRequired","ReactPropTypes","bigint","bool","number","string","any","arrayOf","element","elementType","instanceOf","node","objectOf","oneOf","oneOfType","shape","exact","checkPropTypes","PropTypes","defineProperty","enumerable","_DraggableCore","default","React","obj","nodeInterop","__esModule","cache","_getRequireWildcardCache","newObj","hasPropertyDescriptor","getOwnPropertyDescriptor","desc","_interopRequireWildcard","_propTypes","_interopRequireDefault","_reactDom","_clsx","_domFns","_positionFns","_shims","_log","cacheBabelInterop","cacheNodeInterop","_extends","assign","bind","target","i","source","apply","_defineProperty","input","hint","prim","toPrimitive","res","TypeError","_toPrimitive","_toPropertyKey","configurable","writable","Draggable","Component","getDerivedStateFromProps","_ref","_ref2","position","prevPropsPosition","x","y","super","coreData","onStart","createDraggableData","setState","dragging","dragged","state","uiData","newState","slackX","slackY","bounds","newStateX","newStateY","getBoundPosition","deltaX","deltaY","onDrag","onStop","Boolean","defaultPosition","isElementSVG","console","warn","componentDidMount","window","SVGElement","findDOMNode","componentWillUnmount","_this$props$nodeRef$c","_this$props","nodeRef","current","render","axis","children","defaultClassName","defaultClassNameDragging","defaultClassNameDragged","positionOffset","scale","draggableCoreProps","style","svgTransform","draggable","validPosition","transformOpts","canDragX","canDragY","createSVGTransform","createCSSTransform","className","createElement","onDragStart","onDragStop","cloneElement","Children","only","propTypes","left","right","top","bottom","dontSetMe","defaultProps","eventsFor","start","move","stop","dragEventFor","DraggableCore","NaN","onMouseDown","allowAnyClick","button","thisNode","ownerDocument","body","disabled","defaultView","Node","handle","matchesSelectorAndParentsTo","cancel","preventDefault","touchIdentifier","getTouchIdentifier","getControlPosition","coreEvent","createCoreData","mounted","enableUserSelectHack","addUserSelectStyles","lastX","lastY","addEvent","handleDrag","handleDragStop","grid","snapToGrid","MouseEvent","event","document","createEvent","initMouseEvent","removeUserSelectStyles","removeEvent","handleDragStart","onTouchStart","passive","_this$props2","onMouseUp","onTouchEnd","offsetParent","addClassName","el","handler","inputOptions","options","capture","addEventListener","attachEvent","doc","styleEl","getElementById","id","innerHTML","getElementsByTagName","appendChild","controlPos","translation","getTranslation","_getPrefix","browserPrefixToKey","getTouch","identifier","targetTouches","findInArray","changedTouches","innerHeight","height","clientHeight","computedStyle","getComputedStyle","int","paddingTop","paddingBottom","innerWidth","width","clientWidth","paddingLeft","paddingRight","matchesSelector","selector","baseNode","parentNode","offsetXYFromParent","evt","offsetParentRect","getBoundingClientRect","clientX","scrollLeft","clientY","scrollTop","outerHeight","borderTopWidth","borderBottomWidth","outerWidth","borderLeftWidth","borderRightWidth","removeClassName","removeEventListener","detachEvent","selection","empty","getSelection","removeAllRanges","matchesSelectorFunc","method","unitSuffix","concat","defaultX","defaultY","classList","match","remove","browserPrefixToStyle","prop","prefix","toLowerCase","getPrefix","prefixes","_window$document","documentElement","str","out","shouldCapitalize","toUpperCase","kebabToTitleCase","isStart","isNum","cloneBounds","ownerWindow","boundNode","querySelector","HTMLElement","boundNodeEl","nodeStyle","boundNodeStyle","offsetLeft","marginLeft","offsetTop","marginTop","marginRight","marginBottom","Math","min","max","draggableCore","touchObj","pendingX","pendingY","round","callback","a","parseInt","num","isNaN","_typeof","iterator","_react","_reactDraggable","_reactResizable","_utils","_calculateUtils","_ReactGridLayoutPropTypes","ownKeys","enumerableOnly","symbols","filter","sym","_objectSpread","getOwnPropertyDescriptors","defineProperties","_defineProperties","descriptor","_setPrototypeOf","o","p","setPrototypeOf","__proto__","_assertThisInitialized","ReferenceError","_getPrototypeOf","getPrototypeOf","GridItem","_React$Component","subClass","superClass","create","_inherits","Constructor","protoProps","Derived","hasNativeReflectConstruct","_super","Reflect","construct","sham","Proxy","_isNativeReflectConstruct","Super","NewTarget","_possibleConstructorReturn","_this","instance","_classCallCheck","_len","args","_key","resizing","createRef","transformScale","newPosition","parentRect","clientRect","cLeft","pLeft","cTop","pTop","_calcXY","calcXY","getPositionParams","w","h","isBounded","containerWidth","positionParams","_this$props3","margin","rowHeight","bottomBoundary","calcGridItemWHPx","clamp","colWidth","calcGridColWidth","rightBoundary","_calcXY2","_ref3","_this$props4","_this$state$dragging","_calcXY3","callbackData","onResizeHandler","nextProps","nextState","droppingPosition","oldPosition","calcGridItemPosition","fastPositionEqual","useCSSTransforms","moveDroppingItem","prevProps","elementRef","prevDroppingPosition","shouldDrag","cols","containerPadding","maxRows","pos","_this$props5","usePercentages","setTransform","setTopLeft","perc","child","isDraggable","isResizable","_this$props6","minW","minH","maxW","maxH","resizeHandles","resizeHandle","maxWidth","mins","maxes","minConstraints","maxConstraints","Infinity","Resizable","draggableOpts","onResizeStop","onResizeStart","onResize","_ref4","handlerName","_this$props7","_this$props8","_calcWH","calcWH","_this$props9","newChild","ref","static","dropping","cssTransforms","createStyle","mixinResizable","mixinDraggable","resizeHandleAxesType","resizeHandleType","_lodash","_GridItem","_unsupportedIterableToArray","minLen","_arrayLikeToArray","slice","from","arr","len","arr2","layoutClassName","isFirefox","navigator","userAgent","ReactGridLayout","staticProps","activeDrag","layout","synchronizeLayoutWithChildren","compactType","allowOverlap","oldDragItem","oldLayout","oldResizeItem","droppingDOMNode","l","getLayoutItem","cloneLayoutItem","preventCollision","placeholder","moveElement","compact","newLayout","onLayoutMaybeChanged","_ref5","_this$state","_withLayoutItem","withLayoutItem","hasCollisions","collisions","getAllCollisions","layoutItem","leastX","leastY","Number","isFinite","_withLayoutItem2","_arrayWithHoles","_i","_s","_e","_arr","_n","_d","next","done","_iterableToArrayLimit","_nonIterableRest","_slicedToArray","_ref6","_this$state2","_e$nativeEvent$target","stopPropagation","nativeEvent","contains","droppingItem","onDropDragOver","onDragOverResult","removeDroppingPlaceholder","finalDroppingItem","_e$nativeEvent","layerX","layerY","_this$state$droppingP","calculatedPosition","_arrayWithoutHoles","iter","_iterableToArray","_nonIterableSpread","dragEnterCounter","item","find","onDrop","prevState","newLayoutBase","propsLayout","childrenEqual","fastRGLPropsEqual","autoSize","nbRow","containerPaddingY","onLayoutChange","isDroppingItem","draggableCancel","draggableHandle","_this$state3","resizable","resizeHandlesOptions","bounded","_this2","isDroppable","innerRef","mergedClassName","mergedStyle","containerHeight","noop","onDragLeave","onDragEnter","onDragOver","processGridItem","verticalCompact","_default","_responsiveUtils","_ReactGridLayout","_excluded","getIndentationValue","param","breakpoint","ResponsiveReactGridLayout","generateInitialState","layouts","_cols","findOrGenerateResponsiveLayout","breakpoints","getBreakpointFromWidth","colNo","getColsFromBreakpoint","onWidthChange","newBreakpoint","lastBreakpoint","newCols","newLayouts","cloneLayout","onBreakpointChange","excluded","sourceKeys","indexOf","_objectWithoutPropertiesLoose","sourceSymbolKeys","_objectWithoutProperties","validateLayout","lg","md","sm","xs","xxs","gridUnits","colOrRowSize","marginPx","lowerBound","upperBound","ComposedComponent","_class","WidthProvider","offsetWidth","onWindowResize","measureBeforeMount","rest","b","isEqualImpl","breakpointsSorted","sortBreakpoints","breakpointsAbove","correctBounds","sorted","matching","breakpointName","sort","c","collides","compactItem","getFirstCollision","getStatics","modifyLayout","moveElementAwayFromCollision","translate","WebkitTransform","MozTransform","msTransform","OTransform","sortLayoutItems","sortLayoutItemsByColRow","sortLayoutItemsByRowCol","initialLayout","exists","isProduction","_grid","correctedLayout","itemKey","cb","DEBUG","bottomY","moved","l1","l2","compareWith","heightWidth","resolveCompactionCollision","moveToCoord","sizeProp","otherItem","fullLayout","compactH","collidesWith","isUserAction","log","oldX","oldY","reverse","collision","itemToMove","compactV","fakeItem","contextName","subProps","j","_console","utils","Responsive","handleRefs","lastHandleRect","slack","_proto","resetData","runConstraints","lockAspectRatio","ratio","deltaW","deltaH","abs","oldW","oldH","slackW","slackH","resizeHandler","axisV","axisH","handleRect","_this2$runConstraints","dimensionsChanged","persist","renderResizeHandle","handleAxis","_this3","handleSize","_this3$handleRefs$han","resizableProps","_Resizable","_propTypes2","ResizableBox","propsWidth","propsHeight","_PropTypes$number","_len2","_key2","_PropTypes$number2","__WEBPACK_EXTERNAL_MODULE__644__","__WEBPACK_EXTERNAL_MODULE__305__","__WEBPACK_EXTERNAL_MODULE__545__","__WEBPACK_EXTERNAL_MODULE__388__","__WEBPACK_EXTERNAL_MODULE__980__","__WEBPACK_EXTERNAL_MODULE__650__","__WEBPACK_EXTERNAL_MODULE__729__","__WEBPACK_EXTERNAL_MODULE__814__","__WEBPACK_EXTERNAL_MODULE__177__","__webpack_module_cache__","__webpack_require__","moduleId","cachedModule","loaded","__webpack_modules__","getter","d","definition","globalThis","nmd","paths","PluginPropsContext","PLUGIN_BASE_URL","pluginJson","ROUTES","INFLUXDB_DATASOURCES_REF","CACHE_STATS","DELIVERYSERVICE_STATS","DAILY_STATS","TELEGRAF","prefixRoute","route","__defProp","__getOwnPropSymbols","__hasOwnProp","__propIsEnum","__defNormalProp","__spreadValues","getUrlWithAppState","path","preserveParams","paramsCopy","locationService","getSearchObject","includes","urlUtil","renderUrl","locationUtil","assureBaseUrl","renderSceneComponentWithRouteProps","sceneObject","routeProps","model","runtimePanelPlugins","randomUUID","crypto","getRandomValues","rnds8","rng","byteToHex","buf","rnds","random","unsafeStringify","SceneComponentWrapper","_a","_a2","_b","otherProps","exclude","__objRest","EmptyRenderer","activated","setActivated","useEffect","activate","_","SceneObjectStateChangedEvent","BusEventWithPayload","UserActionEvent","__accessCheck","member","msg","SceneObjectRef","WeakSet","__privateAdd","_isActive","_activationHandlers","_deactivationHandlers","_subs","Subscription","_refCount","_events","EventBusSrv","_state","freeze","_setParent","isActive","parent","_parent","variableDependency","_variableDependency","urlSync","_urlSync","forEachChild","subscribeToState","subscribe","payload","changedObject","subscribeToEvent","eventType","update","_handleActivationOfChangedStateProps","publishEvent","partialUpdate","$data","_handleChangedStateActivation","$variables","$timeRange","oldValue","newValue","deactivationHandler","delete","bubble","publish","getRoot","_internalActivate","$behaviors","behavior","called","error","_internalDeactivate","removeAllListeners","unsubscribe","useState","stateAtFirstRender","s","useSceneObjectState","forceRender","clone","withState","clonedState","sceneState","propValue","newArray","cloneSceneObjectState","cloneSceneObject","addActivationHandler","getRef","getClosest","extract","extracted","curSceneObject","runtimeDataSources","VariableRefresh","VariableRefresh2","LoadingState2","DashboardCursorSync","DashboardCursorSync2","Done","series","timeRange","getDefaultTimeRange","SceneObjectUrlSyncConfig","_sceneObject","_options","_keys","getKeys","getUrlState","updateFromUrl","INTERVAL_STRING_REGEX","parseUrlParam","utcValue","toUtc","isValid","toISOString","epoch","to","timeZone","fiscalYearStartMonth","delay","hasDelay","dateMath","parse","raw","SceneTimeRange","getTimeZone","UNSAFE_nowDelay","onTimeRangeChange","updateToEval","onTimeZoneChange","onRefresh","_onActivate","timeZoneSource","getTimeZoneSource","weekStart","setWeekStart","config","bootData","user","EmptyDataNode","getResultsStream","origin","of","DefaultTimeRange","EmptyVariableSet","variables","getByName","isVariableLoadingOrWaitingToUpdate","variable","getTimeRange","VariableFormatID","VariableFormatID2","SceneVariableValueChangedEvent","isCustomVariableValue","scopedVarsVariable","fieldAccessorCache","getFieldAccessor","fieldPath","property","ScopedVarsVariable","realValue","getValueText","text","formatRegistry","Registry","Lucene","description","formatter","luceneEscape","val","join","Raw","Regex","escapeRegex","escapedValues","Pipe","Distributed","CSV","HTML","textUtil","escapeHtml","JSON","stringify","PercentEncode","encodeURIComponentStrict","SingleQuote","regExp","v","strVal","DoubleQuote","SQLString","sqlStringFormatter","Date","nrValue","dateTime","format","Glob","Text","_args","QueryParam","formatQueryParameter","UriEncode","encodeURIStrict","replaceSpecialCharactersToASCII","encodeURIComponent","encodeURI","charCodeAt","SQL_ESCAPE_MAP","ALL_VARIABLE_TEXT","ALL_VARIABLE_VALUE","AUTO_VARIABLE_VALUE","VARIABLE_REGEX","lookupVariable","layers","deactivationHandlers","layer","getData","findObjectInternal","scene","check","alreadySearchedChild","shouldSearchUp","found","maybe","SkipFormattingValue","_value","TimeFromAndToMacro","dateTimeFormat","IntervalMacro","request","intervalMs","interval","collectAllVariables","record","skipUrlSync","fallbackDisplayProcessor","getDisplayProcessor","UrlStateFormatter","_urlQueryParams","params","split","allParams","URLSearchParams","includeOnly","macrosIndex","DataLinkBuiltInVars","includeVars","allVars","keepTime","urlState","toUrlParams","_match","_scopedVars","dataContext","__dataContext","frame","rowIndex","field","calculatedValue","numeric","formattedValueToString","timeField","fields","FieldType","time","display","refId","getFieldDisplayValuesProxy","frameIndex","getFrameDisplayName","frames","getFieldDisplayName","labels","__values","formatLabels","getTemplateProxyForField","getLocation","subUrl","appSubUrl","search","pathname","login","email","orgName","orgId","isVariableValueEqual","isEqual","safeStringifyValue","renderPrometheusLabelFilters","filters","operator","escapeLabelValueInExactSelector","RE2_METACHARACTERS","escapeLokiRegexp","renderFilter","labelValue","getVariables","getLayout","isSceneLayout","getDataLayers","localOnly","collected","interpolate","scopedVars","lastIndex","var1","var2","fmt2","var3","fmt3","fmt","scopedVar","getSceneVariableForScopedVar","lookupFormatVariable","formatNameOrFn","multi","isMulti","includeAll","getIfExists","formatValue","sceneInterpolator","hasVariableDependencyInLoadingState","getNames","findObject","getAncestor","ancestorType","_dependencies","scanCount","defaultHandlerReferencedVariableValueChanged","_statePaths","statePaths","hasDependencyOn","variableUpdatesCompleted","changedVariables","deps","dependencyChanged","onVariableUpdatesCompleted","onReferencedVariableValueChanged","scanStateForDependencies","setPaths","variableNames","extractVariablesFrom","matches","matchAll","variableName","CursorSync","sync","Off","getEventsBus","panel","PanelContextEventBus","getEventsScope","_source","_eventsOrigin","getStream","Observable","observer","sub","pipe","newScopedBus","async","datasource","runtimeDataSource","query","getDataSourceSrv","_values","recordCurrentDependencyValuesForSceneObject","clearValues","hasValues","recordCurrentValue","hasRecordedValue","hasValueChanged","hasDependenciesChanged","extendStatics","__extends","__","m","__read","ar","__spreadArray","pack","SuppressedError","ctorFunc","UnsubscriptionError","errors","arrRemove","initialTeardown","closed","_parentage","_finalizers","e_1","e_2","_parentage_1","_parentage_1_1","e_1_1","return","initialFinalizer","_finalizers_1","_finalizers_1_1","finalizer","execFinalizer","e_2_1","teardown","_hasParent","_addParent","_removeParent","EMPTY","isSubscription","onUnhandledError","onStoppedNotification","useDeprecatedSynchronousErrorHandling","useDeprecatedNextContext","timeoutProvider","setTimeout","timeout","delegate","clearTimeout","COMPLETE_NOTIFICATION","createNotification","kind","context","Subscriber","destination","isStopped","EMPTY_OBSERVER","complete","SafeSubscriber","handleStoppedNotification","nextNotification","_next","_error","_complete","_bind","fn","thisArg","ConsumerObserver","partialObserver","handleUnhandledError","observerOrNext","context_1","errorThrown","reportUnhandledError","notification","subscriber","OperatorSubscriber","onNext","onComplete","onError","onFinalize","shouldUnsubscribe","closed_1","observable","identity","getPromiseCtor","promiseCtor","_subscribe","lift","isObserver","isRoot","errorContext","_trySubscribe","sink","reject","operations","fns","reduce","prev","toPromise","logger","grafanaSceneLogging","isPublicDashboardView","PREVIOUS_PERIOD_VALUE","NO_PERIOD_VALUE","PREVIOUS_PERIOD_COMPARE_OPTION","label","NO_COMPARE_OPTION","DEFAULT_COMPARE_OPTIONS","SceneTimeRangeCompare","compareOptions","sceneTimeRange","getCompareOptions","stateUpdate","diffDays","ceil","diff","matchIndex","findIndex","rangeUtil","intervalToMs","onCompareWithChanged","onClearCompare","getCompareTimeRange","compareFrom","compareTo","diffMs","subtract","getStyles","theme","previewButton","css","border","colors","secondary","color","opacity","styles","useStyles2","previousCompare","setPreviousCompare","previousValue","value2","enabled","onClick","ButtonGroup","ToolbarButton","variant","tooltip","Checkbox","ButtonSelect","onChange","isOpen","getCompareSeriesRefId","timeShiftQueryResponseOperator","meta","timeCompare","isTimeShiftQuery","mode","fixedColor","palette","gray60","isSceneObject","isDataRequestEnricher","originalGetAdhocFilters","allActiveFilterSets","SceneQueryRunner","initialState","_variableValueRecorder","_results","ReplaySubject","__sceneObject","prepareRequests","ds","comparer","getTimeCompare","minInterval","queries","secondaryRequest","app","requestId","timezone","panelId","range","targets","cloneDeep","maxDataPoints","getMaxDataPoints","startTime","now","liveStreaming","rangeRaw","sourceRunner","enrichDataRequest","_adhocFilterSet","lowerIntervalLimit","norm","calculateInterval","__interval","__interval_ms","primaryTimeRange","secondaryTimeRange","onDataReceived","preProcessedData","preProcessPanelData","dataWithLayersApplied","_combineDataLayers","hasFetchedData","_hasFetchedData","Loading","_resultAnnotations","annotations","runQueries","runWithTimeRange","shouldRunQueriesOnActivate","_onDeactivate","_handleDataLayers","dataLayers","observables","resultsMap","_dataLayersSub","merge","mergeAll","_onLayersReceived","results","dataLayerFilter","alertState","alertStates","layerKeys","layerKey","topic","DataTopic","Annotations","rows","frameIdx","panelIdField","sourceField","sourceFilter","ids","processed","frameLength","filterAnnotations","frameView","DataFrameView","row","baseStateUpdate","_layerAnnotations","_variablesThatHaveChanged","maxDataPointsFromWidth","_containerWidth","_isWaitingForVariables","_isDataTimeRangeStale","stateTimeRange","dataTimeRange","unix","_querySub","_adhocFilterSub","setContainerWidth","isDataReadyToDisplay","cancelQuery","runRequest","getRunRequest","findFirstDatasource","findAndSubscribeToAdhocFilters","forkJoin","toDataQueryError","_setNoDataState","dsUid","findActiveAdHocFilterSetByUid","applyMode","Components","Breadcrumbs","breadcrumb","title","TimePicker","openButton","fromField","toField","applyTimeRange","calendar","closeButton","absoluteTimeRangeTitle","DataSourcePermissions","form","roleType","rolePicker","permissionLevel","DataSource","TestData","QueryTab","scenarioSelectContainer","scenarioSelect","noise","seriesCount","spread","startValue","drop","DataSourceHttpSettings","urlInput","Jaeger","traceIDInput","Prometheus","configPage","exemplarsAddButton","internalLinkSwitch","exemplarMarker","Menu","MenuComponent","MenuGroup","MenuItem","SubMenu","container","icon","Panels","Panel","headerItems","menuItems","menu","containerByTitle","headerCornerInfo","loadingBar","HoverWidget","dragIcon","Visualization","Graph","VisualizationTab","legendSection","Legend","legendItemAlias","showLegendSwitch","xAxis","BarGauge","valueV2","PieChart","svgSlice","Table","header","footer","VizLegend","seriesName","Drawer","General","expand","contract","close","rcContentWrapper","PanelEditor","content","OptionsPane","select","fieldLabel","DataPane","applyButton","toggleVizPicker","toggleVizOptions","toggleTableView","measureButton","PanelInspector","Data","Stats","Json","Query","refreshButton","jsonObjectKeys","Tab","active","RefreshPicker","runButton","intervalButton","runButtonV2","intervalButtonV2","queryInspectorButton","queryHistoryButton","addQuery","QueryHistory","queryText","QueryEditorRows","QueryEditorRow","actionButton","AlertTab","Alert","alert","severity","alertV2","TransformTab","newTransform","transformationEditor","transformationEditorDebugger","Transforms","card","Reduce","modeLabel","calculationsLabel","SpatialOperations","actionLabel","locationLabel","autoOption","coords","option","latitudeFieldLabel","longitudeFieldLabel","geohash","geohashFieldLabel","lookup","lookupFieldLabel","gazetteerFieldLabel","searchInput","NavBar","Configuration","Toggle","Reporting","NavMenu","NavToolbar","PageToolbar","itemButton","QueryEditorToolbarItem","BackButton","backArrow","OptionsGroup","group","toggle","PluginVisualization","Select","singleValue","FieldConfigEditor","OverridesConfigEditor","FolderPicker","containerV2","ReadonlyFolderPicker","DataSourcePicker","inputV2","TimeZonePicker","WeekStartPicker","TraceViewer","spanBar","QueryField","QueryBuilder","queryPatterns","labelSelect","valueSelect","matchOperatorSelect","ValuePicker","Search","section","sectionV2","items","itemsV2","cards","collapseFolder","sectionId","expandFolder","dashboardItem","dashboardItems","dashboardCard","folderHeader","folderName","folderContent","DashboardLinks","dropDown","link","LoadingIndicator","CallToActionCard","buttonV2","DataLinksContextMenu","singleLink","CodeEditor","DashboardImportPage","textarea","submit","ImportDashboardForm","PanelAlertTabContent","VisualizationPreview","ColorSwatch","DashboardRow","UserProfile","profileSaveButton","preferencesSaveButton","orgsTable","sessionsTable","FileUpload","inputField","fileNameSpan","DebugOverlay","wrapper","OrgRolePicker","AnalyticsToolbarButton","Variables","variableOption","annotationsTypeInput","annotationsChoosePanelInput","selectors","pages","Login","url","username","password","skip","Home","readOnly","saveAndTest","DataSources","dataSources","dataSourceName","EditDataSource","dataSourceUid","settings","AddDataSource","dataSourcePlugins","pluginName","dataSourcePluginsV2","ConfirmModal","AddDashboard","addNewPanel","addNewRow","addNewPanelLibrary","Dashboard","DashNav","nav","navV2","publicDashboardTag","submenu","submenuItem","submenuItemLabels","submenuItemValueDropDownValueLinkTexts","submenuItemValueDropDownDropDown","submenuItemValueDropDownOptionTexts","annotationsWrapper","annotationLabel","annotationToggle","Settings","Actions","deleteDashBoard","sectionItems","saveDashBoard","saveAsDashBoard","List","addAnnotationCTA","addAnnotationCTAV2","NewAnnotation","panelFilterSelect","showInLabel","previewInDashboard","addVariableCTA","addVariableCTAV2","newButton","table","tableRowNameFields","tableRowDefinitionFields","tableRowArrowUpButtons","tableRowArrowDownButtons","tableRowDuplicateButtons","tableRowRemoveButtons","Edit","headerLink","modeLabelNew","modeLabelEdit","generalNameInput","generalNameInputV2","generalTypeSelect","generalTypeSelectV2","generalLabelInput","generalLabelInputV2","generalHideSelect","generalHideSelectV2","selectionOptionsMultiSwitch","selectionOptionsIncludeAllSwitch","selectionOptionsCustomAllInput","selectionOptionsCustomAllInputV2","previewOfValuesOption","submitButton","QueryVariable","queryOptionsDataSourceSelect","queryOptionsRefreshSelect","queryOptionsRefreshSelectV2","queryOptionsRegExInput","queryOptionsRegExInputV2","queryOptionsSortSelect","queryOptionsSortSelectV2","queryOptionsQueryInput","valueGroupsTagsEnabledSwitch","valueGroupsTagsTagsQueryInput","valueGroupsTagsTagsValuesQueryInput","ConstantVariable","constantOptionsQueryInput","constantOptionsQueryInputV2","DatasourceVariable","datasourceSelect","TextBoxVariable","textBoxOptionsQueryInput","textBoxOptionsQueryInputV2","CustomVariable","customValueInput","IntervalVariable","intervalsValueInput","marker","Dashboards","dashboards","SaveDashboardAsModal","newName","save","SaveDashboardModal","saveVariables","saveTimerange","SharePanelModal","linkToRenderedImage","ShareDashboardModal","shareButton","PublicDashboard","WillBePublicCheckbox","LimitedDSCheckbox","CostIncreaseCheckbox","PauseSwitch","EnableAnnotationsSwitch","CreateButton","DeleteButton","CopyUrlInput","CopyUrlButton","TemplateVariablesWarningAlert","UnsupportedDataSourcesWarningAlert","NoUpsertPermissionsWarningAlert","EnableTimeRangeSwitch","EmailSharingConfiguration","Container","ShareType","EmailSharingInput","EmailSharingInviteButton","EmailSharingList","DeleteEmail","ReshareLink","page","NotAvailable","pausedDescription","RequestViewAccess","recipientInput","Explore","graph","scrollView","SoloPanel","PluginsList","list","listItem","signatureErrorNotice","PluginPage","signatureInfo","disabledInfo","PlaylistForm","itemDelete","BrowseDashbards","checkbox","FolderView","PublicDashboards","ListItem","linkButton","configButton","trashcanButton","UserListPage","tabs","allUsers","orgUsers","publicDashboardsUsers","users","org","admin","publicDashboards","UserListAdminPage","UsersListPage","UsersListPublicDashboardsPage","DashboardsListModal","components","Tooltip","Icon","role","onCancel","ControlsLabel","useTheme2","isVertical","loadingIndicator","isLoading","spacing","errorIndicator","placement","errorIcon","testId","labelElement","verticalLabel","htmlFor","normalIcon","onRemove","IconButton","horizontalLabel","background","isDark","primary","alignItems","padding","fontWeight","typography","fontWeightMedium","fontSize","bodySmall","lineHeight","borderRadius","borderColor","whiteSpace","gap","SceneDataLayerControl","isEnabled","onToggleLayer","elementId","showLoading","containerStyle","InlineSwitch","layersMap","acc","toggleLayer","isHidden","VariableValueSelectors","VariableValueSelectWrapper","hide","VariableHide","hideVariable","verticalContainer","VariableLabel","hideLabel","labelOrName","loading","flexDirection","SceneVariableSet","_variablesToUpdate","_updating","SceneVariableSetVariableDependencyHandler","_handleParentVariableUpdatesCompleted","_handleVariableValueChanged","_refreshTimeRangeBasedVariables","_onStateChanged","_checkForVariablesThatChangedWhileInactive","_variableNeedsUpdate","_updateNextBatch","subscription","oldState","variablesToUpdateCountStart","updating","refresh","onTimeRangeChanged","writeVariableTraceLog","_addDependentVariablesToUpdateQueue","validateAndUpdate","variableToUpdate","_validateAndUpdateCompleted","_handleVariableError","_notifyDependentSceneObjects","variableThatChanged","changedVar","otherVariable","_traverseSceneAndNotify","isAncestorLoading","_variableUpdatesCompleted","_emptySet","VariableValueSelect","onInputChange","onSearchChange","action","allowCustomValue","tabSelectsValue","getOptionsForSelect","changeValueTo","VariableValueSelectMulti","maxVisibleValues","arrayValue","useMemo","uncommittedValue","setUncommittedValue","MultiSelect","noMultiValueWrap","closeMenuOnSelect","isClearable","onBlur","renderSelectForVariable","MultiValueVariable","MultiValueUrlSyncHandler","getValueOptions","updateValueGivenNewOptions","setStateHelper","sceneVarSet","currentValue","currentText","defaultToAll","hasAllValue","validValues","validTexts","defaultState","getDefaultMultiState","matchingOption","textMatch","findOptionMatchingCurrent","allValue","CustomAllValue","findLabelTextForValue","shift","optionByLabel","getKey","urlValue","_variable","trim","regex","isDefault","pluginId","getList","metrics","interpolated","stringToJsRegex","defaultOptionEnabled","hasLegacyVariableSupport","metricFindQuery","hasStandardVariableSupport","getType","VariableSupportType","Standard","variableSupport","toDataQuery","hasCustomVariableSupport","Custom","editor","StandardQueryRunner","_runRequest","getTarget","ensureVariableQueryModelIsADataQuery","getEmptyMetricFindValueObservable","LegacyQueryRunner","searchFilter","mergeMap","LoadingState","CustomQueryRunner","getAllMatches","global","onDashboardLoad","VariableSort","_updateOptionsBasedOnSearchFilter","debounce","lastValueFrom","runner","createQueryVariableRunner","getRequest","take","throwError","panelData","firstValue","isDataFrame","firstValueKey","areMetricFindValues","processedDataFrames","getProcessedDataFrames","valueIndex","textIndex","stringIndex","expandableIndex","fieldName","boolean","expandable","variableRegEx","metricNames","_c","_f","isNumber","valueGroup","groups","textGroup","firstMatch","manyMatches","uniqBy","sortOrder","sortByNumeric","opt","sortByNaturalSort","options2","localeCompare","alphabeticalAsc","sortBy","alphabeticalDesc","numericalAsc","numericalDesc","alphabeticalCaseInsensitiveAsc","toLower","alphabeticalCaseInsensitiveDesc","naturalAsc","naturalDesc","sortVariableValues","metricNamesToVariableValues","catchError","cancelled","__searchFilter","CoreApp","buildMetricTree","depth","chars","letter","nodeName","queryTree","queryIndex","nodeQuery","namesToMatch","startsWith","nameToMatch","pattern","queryMetricTree","VariableValueInput","useCallback","setValue","currentTarget","onKeyDown","AutoSizeInput","minWidth","defaultValue","completeUpdate","Subject","isGettingValues","getValueOptionsCount","delayMs","issueQuery","signalUpdateCompleted","interpolatedQuery","getOptions","issuedQuery","optionsToReturn","intervals","autoStepCount","autoMinInterval","autoEnabled","_onChange","some","getAutoRefreshInteval","minRefreshInterval","shouldPublish","firstOption","AdHocFiltersVariableUrlSyncHandler","toArray","escapeDelimiter","toFilter","isFilter","deserializeUrlToFilters","unescapeDelimiter","parts","condition","AdHocFilterRenderer","keyValue","toOption","valueValue","isKeysOpen","widthWhenOpen","_updateFilter","isValuesOpen","isValuesLoading","onOpenMenu","_getValuesFor","onCloseMenu","keySelect","autoFocus","isKeysLoading","_getKeys","openMenuOnFocus","_removeFilter","Field","_getOperators","Button","removeButton","borderTopRightRadius","borderBottomRightRadius","borderTopLeftRadius","borderBottomLeftRadius","zIndex","borderLeft","AdHocFilterBuilder","_wip","_addWip","AdHocFilterSet","baseFilters","_dataSourceSrv","filterSet","templateSrv","getTemplateSrv","getAdhocFilters","dsName","getInstanceSettings","patchGetAdhocFilters","updatedFilters","currentKey","override","getTagKeysProvider","toSelectableValue","getTagKeys","otherFilters","tagKeyRegexFilter","getTagValuesProvider","getTagValues","filterIcon","VariableHide2","_AdHocFiltersVariable","filterExpression","_updateFilterExpression","expr","urlSyncManager","UrlSyncManager","urlKeyMapper","UniqueUrlKeyMapper","_stateSub","_locationSub","_onLocationUpdate","_lastPath","urlParams","rebuildIndex","_sceneRoot","_syncSceneStateFromUrl","newUrlState","searchParams","getSearch","mappedUpdated","newUrlValue","uniqueKey","getUniqueKey","isUrlValueEqual","getAll","partial","initSync","getHistory","listen","syncFrom","cleanUp","sceneObj","currentState","visitNode","objectsWithKey","address","buildIndex","hit","currentUrlValue","getUrlSyncManager","EmbeddedScene","unsetGlobalScene","activeScene","prevScene","__grafanaSceneContext","setWindowGrafanaSceneContext","initUrlSync","controls","control","flexGrow","minHeight","flexWrap","isBrowser","useLayoutEffect","ResizeObserver","rect","setRect","contentRect","top_1","observe","disconnect","getChromeStatusMessage","pluginLoadingError","relativeWrapper","absoluteWrapper","getAlertStateStyles","ok","success","pending","warning","alerting","displayOverrideRef","isHideSeriesOverride","isSystemOverrideWithRef","createOverride","names","ByNamesMatcherMode","viz","legend","__systemRef","matcher","FieldMatcherID","byNames","properties","getExistingDisplayNames","rule","getDisplayNames","excludeName","unique","getNamesOfHiddenFields","overrides","fieldMatchers","byName","createProperty","FieldColorModeId","Fixed","VizPanel","fieldConfig","defaults","_structureRev","onTitleChange","onDescriptionChange","onDisplayModeChange","displayMode","onOptionsChange","optionsUpdate","nextOptions","mergeWith","srcValue","withDefaults","getPanelOptionsWithDefaults","plugin","_plugin","currentOptions","currentFieldConfig","isAfterPluginChange","onFieldConfigChange","fieldConfigUpdate","nextFieldConfig","scoped","getDescription","interaction","markdown","renderMarkdown","onCancelQuery","onStatusMessageClick","_onSeriesColorChange","currentIndex","overridesCopy","existing","propertyIndex","propertiesCopy","changeSeriesColorConfigFactory","_onSeriesVisibilityChange","_dataWithFieldConfig","displayName","SeriesVisibilityChangeMode","ToggleSelection","override3","override2","nameOfHiddenFields","createExtendedOverride","allFieldsAreExcluded","seriesVisibilityConfigFactory","_onInstanceStateChange","_pluginInstanceState","_onToggleLegendSort","sortKey","legendOptions","sortDesc","_loadPlugin","getPanelPluginFromCache","getPluginImportUtils","loadPanelPluginSync","_pluginLoaded","importPanelPlugin","then","silent","PanelPlugin","PluginType","baseUrl","info","author","links","logos","large","small","screenshots","updated","version","getPanelPluginNotFound","_pluginLoadError","pluginVersion","_UNSAFE_customMigrationHandler","currentVersion","_getPluginVersion","onPanelMigration","skipDataQuery","buildInfo","getPlugin","getPanelContext","_panelContext","buildPanelContext","applyFieldConfig","rawData","pluginDataSupport","dataSupport","fieldConfigRegistry","prevFrames","_prevData","newFrames","structureRev","compareArrayValues","compareDataFrameStructures","applyFieldOverrides","replaceVariables","theme2","eventsScope","eventBus","getAppEvents","Unknown","onSeriesColorChange","onToggleSeriesVisibility","onToggleLegendSort","onInstanceStateChange","extendPanelContext","isSceneGridRow","SceneGridRow","hoverHeader","headerActions","titleItems","dragClass","dragClassCancel","parentLayout","ancestor","itemDraggingDisabled","getDragClass","getDragClassCancel","getDragClasses","dataObject","dataWithFieldConfig","getPanelTimeRange","titleInterpolated","alertStateStyles","PanelComponent","panelMenu","actionsElement","titleItemsElement","titleItem","PanelChrome","TitleItem","cx","AlertState","OK","Pending","Alerting","isReadyToRender","instanceState","legacyPanelId","loadingState","statusMessage","statusMessageOnClick","actions","noPadding","ErrorBoundaryAlert","dependencies","PluginContextProvider","PanelContextProvider","transparent","renderCounter","onChangeTimeRange","addItem","setItems","focus","renderItems","items2","Divider","Item","iconClassName","childItems","subMenu","href","shortcut","SceneGridLayout","createClass","possibleConstructorReturn","windowObject","cancelFrame","requestFrame","clearTimeoutFn","setTimeoutFn","cancelAnimationFrameFn","cancelAnimationFrame","mozCancelAnimationFrame","webkitCancelAnimationFrame","requestAnimationFrameFn","requestAnimationFrame","mozRequestAnimationFrame","webkitRequestAnimationFrame","sliceIterator","slicedToArray","animationFrameID","timeoutID","AutoSizer","_React$PureComponent","_temp","classCallCheck","defaultHeight","defaultWidth","_onResize","disableHeight","disableWidth","_parentNode","_height","offsetHeight","_width","_style","newHeight","newWidth","_setRef","autoSizer","_autoSizer","inherits","nonce","_detectElementResize","animationKeyframes","animationName","animationStartEvent","animationStyle","checkTriggers","resetTriggers","scrollListener","triggers","__resizeTriggers__","firstElementChild","lastElementChild","expandChild","scrollWidth","scrollHeight","__resizeLast__","__resizeRAF__","__resizeListeners__","animation","keyframeprefix","domPrefixes","startEvents","elm","addResizeListener","elementStyle","head","setAttribute","styleSheet","cssText","createTextNode","createStyles","expandTrigger","contractTrigger","__animationListener__","removeResizeListener","removeChild","createDetectElementResize","_props","outerStyle","overflow","childParams","bailoutOnChildren","PureComponent","useUniqueId","idRefLazy","useRef","uniqueId","LazyLoader","onLoad","setLoaded","isInView","setIsInView","useImperativeHandle","effect","addCallback","isIntersecting","wrapperEl","callbacks","unobserve","IntersectionObserver","rootMargin","GridItemWrapper","totalCount","isLazy","divProps","sceneChild","getSceneLayoutChild","getClassName","boostedCount","forceUpdate","useReducer","boostZIndex","ctxValue","descIndex","innerContent","innerContentWithContext","LayoutItemContext","Provider","newStyle","dropdown","_SceneGridLayout","sortChildrenByPosition","_skipOnLayoutChange","nextSize","isItemSizeEqual","gridLayout","updatedItem","sortGridLayout","gridItem","childSize","indexOfUpdatedItem","newParent","findGridItemSceneParent","newChildren","moveChildTo","toggleRow","isCollapsed","rowChildren","rowY","yDiff","yMax","newSize","pushDownAmount","pushChildDown","rowChild","amount","startAt","currentParent","rootChildren","newRow","targetRow","toGridCell","isInteger","buildGridLayout","cells","cell","validateChildrenSize","isCollapsible","onCollapseToggle","getGridLayout","rowc","getSceneGridRowStyles","layoutDragClass","rowCollapsed","rowTitleButton","rowTitle","dragHandle","justifyContent","cursor","borderBottom","weak","h5","collapsedInfo","onToggle","canCollapse","canRemove","gridRow","toolbarControls","align","Input","SceneTimePicker","onZoom","zoomedTimeRange","factor","timespan","center","newTimespan","getZoomedTimeRange","onChangeFiscalYearStartMonth","month","onMoveBackward","getShiftedTimeRange","TimeRangeDirection","Backward","onMoveForward","Forward","hidePicker","isOnCanvas","timeRangeState","TimeRangePicker","onChangeTimeZone","TimeRangeDirection2","dir","upperLimit","oldTo","oldFrom","halfSpan","fromRaw","toRaw","DEFAULT_INTERVALS","SceneRefreshPicker","_intervalTimer","clearInterval","setupIntervalTimer","onIntervalChanged","setInterval","dataProvider","performRepeat","seriesIndex","layoutChild","getLayoutChild","_SceneControlsSpacer","SceneControlsSpacer","SceneFlexLayout","toggleDirection","direction","parentState","_g","_h","_j","wrap","applyItemStyles","alignContent","down","maxHeight","useLayoutStyle","SceneFlexItem","parentDirection","xSizing","ySizing","alignSelf","useLayoutItemStyle","rowGap","columnGap","templateColumns","autoRows","_k","gridTemplateColumns","gridTemplateRows","templateRows","gridAutoRows","justifyItems","gridColumn","VERTICAL_KEYS","HORIZONTAL_KEYS","propsForDirection","dim","column","Splitter","initialSize","primaryPaneStyles","secondaryPaneStyles","onDragFinished","kids","splitterRef","firstPaneRef","secondPaneRef","containerRef","containerSize","primarySizeRef","firstPaneMeasurements","savedPos","measurementProp","clientAxis","minDimProp","maxDimProp","throttleWait","throttledCallback","throttle","resizeObserver","box","useResizeObserver","isSameNode","curSize","newDims","measureElement","ariaValueNow","dragStart","onPointerDown","setPointerCapture","pointerId","onPointerMove","dims","newFlex","onPointerUp","releasePointerCapture","parseFloat","pressedKeys","keysLastHandledAt","handlePressedKeys","dx","sizeChange","firstPaneDims","initiateAnimationLoop","onKeyUp","onDoubleClick","handleHorizontal","tabIndex","flexShrink","userSelect","backgroundColor","main","transition","outline","flexBasis","savedBodyOverflow","savedWidth","savedHeight","savedFlex","Prim","Sec","SceneApp","Switch","Route","SceneReactObject","DebugDetails","keyName","valueAsNumber","isPlainObject","JSONFormatter","json","open","renderValue","DebugTreeNode","selectedObject","onSelect","isSelected","selected","radius","backgroundImage","gradients","brandVertical","SceneDebugger","setIsOpen","setSelectedObject","onClose","panes","pane1","paneHeading","CustomScrollbar","autoHeightMin","treeWrapper","pane2","borderRight","SceneAppPageView","containerPage","SceneAppPage","getParentPageIfTab","containerState","useLocation","locationSearchToObject","useAppQueryParams","getScene","isInitialized","initializedScene","initializeScene","pageNav","img","titleImg","titleIcon","preserveUrlKeys","hideFromBreadcrumbs","parentItem","getParentBreadcrumbs","getParentPage","tab","tabSuffix","pageActions","renderTitle","subTitle","SceneAppDrilldownViewRender","drilldown","getDrilldownPage","component","reactNode","_sceneCache","_drilldownCache","routeMatch","getPage","drilldowns","routes","routePath","isExact","fallbackPage","getFallbackPage","getFallbackRoute","VisibilityMode2","GraphGradientMode2","StackingMode2","VizOrientation2","BigValueColorMode2","BigValueGraphMode2","BigValueJustifyMode2","BigValueTextMode2","BarGaugeDisplayMode2","BarGaugeValueMode2","TableCellHeight2","Auto","None","Gradient","Color","Value","Area","Sm","StandardFieldConfigOverridesBuilder","_overrides","overrideColor","overrideDecimals","overrideDisplayName","overrideFilterable","overrideLinks","overrideMappings","overrideMax","overrideMin","overrideNoValue","overrideThresholds","overrideUnit","FieldConfigOverridesBuilder","matchFieldsWithName","matchFieldsWithNameByRegex","byRegexp","matchFieldsByType","fieldType","byType","matchFieldsByQuery","byFrameRefID","matchFieldsByValue","byValue","matchComparisonQuery","overrideCustomFieldConfig","_id","build","FieldConfigBuilder","defaultFieldConfig","_fieldConfig","_overridesBuilder","setDefaults","custom","setColor","setFieldConfigDefaults","setDecimals","decimals","setDisplayName","setFilterable","filterable","setLinks","setMappings","mappings","setMax","setMin","setNoValue","noValue","setThresholds","thresholds","setUnit","unit","setCustomFieldConfig","setOverrides","builder","PanelOptionsBuilder","defaultOptions","setOption","VizPanelBuilder","_fieldConfigBuilder","_panelOptionsBuilder","setTitle","setDescription","setDisplayMode","setHoverHeader","setMenu","setHeaderActions","setData","setTimeRange","setVariables","setBehaviors","behaviors","PanelBuilders","getBandwidthPanel","qr","rawQuery","resultFormat","alias","showLegend","calcs","getConnectionsPanel","getCPUPanel","getLoadAveragePanel","getMemoryPanel","getNetstatPanel","getReadWriteTimePanel","getWrapCountPanel","getServerScene","hostname","ServerPage","Server","measurement","getTpsPanel","tags","deliveryservice","getBandwidthByCGPanel","getDeliveryServiceScene","deliveryService","DeliveryServicePage","DeliveryService","getCacheGroupScene","cachegroup","CacheGroupPage","CacheGroup","Routes","Redirect","App","AppPlugin","setRootPage"],"sourceRoot":""} \ No newline at end of file diff --git a/infrastructure/cdn-in-a-box/optional/grafana/trafficcontrol-scenes/dist/plugin.json b/infrastructure/cdn-in-a-box/optional/grafana/trafficcontrol-scenes/dist/plugin.json deleted file mode 100644 index a46f2e467a..0000000000 --- a/infrastructure/cdn-in-a-box/optional/grafana/trafficcontrol-scenes/dist/plugin.json +++ /dev/null @@ -1,50 +0,0 @@ -{ - "$schema": "https://raw.githubusercontent.com/grafana/grafana/main/docs/sources/developers/plugins/plugin.schema.json", - "type": "app", - "name": "TrafficControl Grafana Scenes", - "id": "trafficcontrol-scenes-app", - "info": { - "keywords": ["trafficcontrol", "app"], - "description": "Visualize Traffic Stats", - "author": { - "name": "ntheanh201" - }, - "logos": { - "small": "img/logo.png", - "large": "img/logo.png" - }, - "screenshots": [], - "version": "1.0.0", - "updated": "2024-01-19" - }, - "includes": [ - { - "type": "page", - "name": "Cache Group", - "path": "/a/trafficcontrol-scenes-app/cache-group", - "role": "Admin", - "addToNav": true, - "defaultNav": false - }, - { - "type": "page", - "name": "Delivery Service", - "path": "/a/trafficcontrol-scenes-app/delivery-service", - "role": "Admin", - "addToNav": true, - "defaultNav": false - }, - { - "type": "page", - "name": "Server", - "path": "/a/trafficcontrol-scenes-app/server", - "role": "Admin", - "addToNav": true, - "defaultNav": false - } - ], - "dependencies": { - "grafanaDependency": ">=10.0.3", - "plugins": [] - } -} diff --git a/infrastructure/cdn-in-a-box/optional/grafana/trafficcontrol-scenes/yarn.lock b/infrastructure/cdn-in-a-box/optional/grafana/trafficcontrol-scenes/yarn.lock deleted file mode 100644 index 1da4c98f1b..0000000000 --- a/infrastructure/cdn-in-a-box/optional/grafana/trafficcontrol-scenes/yarn.lock +++ /dev/null @@ -1,10242 +0,0 @@ -# THIS IS AN AUTOGENERATED FILE. DO NOT EDIT THIS FILE DIRECTLY. -# yarn lockfile v1 - - -"@aashutoshrathi/word-wrap@^1.2.3": - version "1.2.6" - resolved "https://registry.yarnpkg.com/@aashutoshrathi/word-wrap/-/word-wrap-1.2.6.tgz#bd9154aec9983f77b3a034ecaa015c2e4201f6cf" - integrity sha512-1Yjs2SvM8TflER/OD3cOjhWWOZb58A2t7wpE2S9XfBYTiIl+XFhQG2bjy4Pu1I+EAlCNUzRDYDdFwFYUKvXcIA== - -"@adobe/css-tools@^4.3.1": - version "4.3.2" - resolved "https://registry.yarnpkg.com/@adobe/css-tools/-/css-tools-4.3.2.tgz#a6abc715fb6884851fca9dad37fc34739a04fd11" - integrity sha512-DA5a1C0gD/pLOvhv33YMrbf2FK3oUzwNl9oOJqE4XVjuEtt6XIakRcsd7eLiOSPkp1kTRQGICTA8cKra/vFbjw== - -"@ampproject/remapping@^2.1.0", "@ampproject/remapping@^2.2.0": - version "2.2.1" - resolved "https://registry.yarnpkg.com/@ampproject/remapping/-/remapping-2.2.1.tgz#99e8e11851128b8702cd57c33684f1d0f260b630" - integrity sha512-lFMjJTrFL3j7L9yBxwYfCq2k6qqwHyzuUl/XBnif78PWTJYyL/dfowQHWE3sp6U6ZzqWiiIZnpTMO96zhkjwtg== - dependencies: - "@jridgewell/gen-mapping" "^0.3.0" - "@jridgewell/trace-mapping" "^0.3.9" - -"@babel/code-frame@^7.0.0", "@babel/code-frame@^7.10.4", "@babel/code-frame@^7.12.13", "@babel/code-frame@^7.16.7", "@babel/code-frame@^7.18.6", "@babel/code-frame@^7.22.13", "@babel/code-frame@^7.23.5": - version "7.23.5" - resolved "https://registry.yarnpkg.com/@babel/code-frame/-/code-frame-7.23.5.tgz#9009b69a8c602293476ad598ff53e4562e15c244" - integrity sha512-CgH3s1a96LipHCmSUmYFPwY7MNx8C3avkq7i4Wl3cfa662ldtUe4VM1TPXX70pfmrlWTb6jLqTYrZyT2ZTJBgA== - dependencies: - "@babel/highlight" "^7.23.4" - chalk "^2.4.2" - -"@babel/compat-data@^7.17.7", "@babel/compat-data@^7.20.1", "@babel/compat-data@^7.20.5", "@babel/compat-data@^7.23.5": - version "7.23.5" - resolved "https://registry.yarnpkg.com/@babel/compat-data/-/compat-data-7.23.5.tgz#ffb878728bb6bdcb6f4510aa51b1be9afb8cfd98" - integrity sha512-uU27kfDRlhfKl+w1U6vp16IuvSLtjAxdArVXPa9BvLkrr7CYIsxH5adpHObeAGY/41+syctUWOZ140a2Rvkgjw== - -"@babel/core@7.20.5": - version "7.20.5" - resolved "https://registry.yarnpkg.com/@babel/core/-/core-7.20.5.tgz#45e2114dc6cd4ab167f81daf7820e8fa1250d113" - integrity sha512-UdOWmk4pNWTm/4DlPUl/Pt4Gz4rcEMb7CY0Y3eJl5Yz1vI8ZJGmHWaVE55LoxRjdpx0z259GE9U5STA9atUinQ== - dependencies: - "@ampproject/remapping" "^2.1.0" - "@babel/code-frame" "^7.18.6" - "@babel/generator" "^7.20.5" - "@babel/helper-compilation-targets" "^7.20.0" - "@babel/helper-module-transforms" "^7.20.2" - "@babel/helpers" "^7.20.5" - "@babel/parser" "^7.20.5" - "@babel/template" "^7.18.10" - "@babel/traverse" "^7.20.5" - "@babel/types" "^7.20.5" - convert-source-map "^1.7.0" - debug "^4.1.0" - gensync "^1.0.0-beta.2" - json5 "^2.2.1" - semver "^6.3.0" - -"@babel/core@^7.11.6", "@babel/core@^7.12.3", "@babel/core@^7.21.4": - version "7.23.7" - resolved "https://registry.yarnpkg.com/@babel/core/-/core-7.23.7.tgz#4d8016e06a14b5f92530a13ed0561730b5c6483f" - integrity sha512-+UpDgowcmqe36d4NwqvKsyPMlOLNGMsfMmQ5WGCu+siCe3t3dfe9njrzGfdN4qq+bcNUt0+Vw6haRxBOycs4dw== - dependencies: - "@ampproject/remapping" "^2.2.0" - "@babel/code-frame" "^7.23.5" - "@babel/generator" "^7.23.6" - "@babel/helper-compilation-targets" "^7.23.6" - "@babel/helper-module-transforms" "^7.23.3" - "@babel/helpers" "^7.23.7" - "@babel/parser" "^7.23.6" - "@babel/template" "^7.22.15" - "@babel/traverse" "^7.23.7" - "@babel/types" "^7.23.6" - convert-source-map "^2.0.0" - debug "^4.1.0" - gensync "^1.0.0-beta.2" - json5 "^2.2.3" - semver "^6.3.1" - -"@babel/generator@^7.20.5", "@babel/generator@^7.23.6", "@babel/generator@^7.7.2": - version "7.23.6" - resolved "https://registry.yarnpkg.com/@babel/generator/-/generator-7.23.6.tgz#9e1fca4811c77a10580d17d26b57b036133f3c2e" - integrity sha512-qrSfCYxYQB5owCmGLbl8XRpX1ytXlpueOb0N0UmQwA073KZxejgQTzAmJezxvpwQD9uGtK2shHdi55QT+MbjIw== - dependencies: - "@babel/types" "^7.23.6" - "@jridgewell/gen-mapping" "^0.3.2" - "@jridgewell/trace-mapping" "^0.3.17" - jsesc "^2.5.1" - -"@babel/helper-annotate-as-pure@^7.18.6", "@babel/helper-annotate-as-pure@^7.22.5": - version "7.22.5" - resolved "https://registry.yarnpkg.com/@babel/helper-annotate-as-pure/-/helper-annotate-as-pure-7.22.5.tgz#e7f06737b197d580a01edf75d97e2c8be99d3882" - integrity sha512-LvBTxu8bQSQkcyKOU+a1btnNFQ1dMAd0R6PyW3arXes06F6QLWLIrd681bxRPIXlrMGR3XYnW9JyML7dP3qgxg== - dependencies: - "@babel/types" "^7.22.5" - -"@babel/helper-builder-binary-assignment-operator-visitor@^7.22.15": - version "7.22.15" - resolved "https://registry.yarnpkg.com/@babel/helper-builder-binary-assignment-operator-visitor/-/helper-builder-binary-assignment-operator-visitor-7.22.15.tgz#5426b109cf3ad47b91120f8328d8ab1be8b0b956" - integrity sha512-QkBXwGgaoC2GtGZRoma6kv7Szfv06khvhFav67ZExau2RaXzy8MpHSMO2PNoP2XtmQphJQRHFfg77Bq731Yizw== - dependencies: - "@babel/types" "^7.22.15" - -"@babel/helper-compilation-targets@^7.17.7", "@babel/helper-compilation-targets@^7.20.0", "@babel/helper-compilation-targets@^7.20.7", "@babel/helper-compilation-targets@^7.22.15", "@babel/helper-compilation-targets@^7.23.6": - version "7.23.6" - resolved "https://registry.yarnpkg.com/@babel/helper-compilation-targets/-/helper-compilation-targets-7.23.6.tgz#4d79069b16cbcf1461289eccfbbd81501ae39991" - integrity sha512-9JB548GZoQVmzrFgp8o7KxdgkTGm6xs9DW0o/Pim72UDjzr5ObUQ6ZzYPqA+g9OTS2bBQoctLJrky0RDCAWRgQ== - dependencies: - "@babel/compat-data" "^7.23.5" - "@babel/helper-validator-option" "^7.23.5" - browserslist "^4.22.2" - lru-cache "^5.1.1" - semver "^6.3.1" - -"@babel/helper-create-class-features-plugin@^7.18.6", "@babel/helper-create-class-features-plugin@^7.21.0": - version "7.23.7" - resolved "https://registry.yarnpkg.com/@babel/helper-create-class-features-plugin/-/helper-create-class-features-plugin-7.23.7.tgz#b2e6826e0e20d337143655198b79d58fdc9bd43d" - integrity sha512-xCoqR/8+BoNnXOY7RVSgv6X+o7pmT5q1d+gGcRlXYkI+9B31glE4jeejhKVpA04O1AtzOt7OSQ6VYKP5FcRl9g== - dependencies: - "@babel/helper-annotate-as-pure" "^7.22.5" - "@babel/helper-environment-visitor" "^7.22.20" - "@babel/helper-function-name" "^7.23.0" - "@babel/helper-member-expression-to-functions" "^7.23.0" - "@babel/helper-optimise-call-expression" "^7.22.5" - "@babel/helper-replace-supers" "^7.22.20" - "@babel/helper-skip-transparent-expression-wrappers" "^7.22.5" - "@babel/helper-split-export-declaration" "^7.22.6" - semver "^6.3.1" - -"@babel/helper-create-regexp-features-plugin@^7.18.6", "@babel/helper-create-regexp-features-plugin@^7.22.15", "@babel/helper-create-regexp-features-plugin@^7.22.5": - version "7.22.15" - resolved "https://registry.yarnpkg.com/@babel/helper-create-regexp-features-plugin/-/helper-create-regexp-features-plugin-7.22.15.tgz#5ee90093914ea09639b01c711db0d6775e558be1" - integrity sha512-29FkPLFjn4TPEa3RE7GpW+qbE8tlsu3jntNYNfcGsc49LphF1PQIiD+vMZ1z1xVOKt+93khA9tc2JBs3kBjA7w== - dependencies: - "@babel/helper-annotate-as-pure" "^7.22.5" - regexpu-core "^5.3.1" - semver "^6.3.1" - -"@babel/helper-define-polyfill-provider@^0.3.3": - version "0.3.3" - resolved "https://registry.yarnpkg.com/@babel/helper-define-polyfill-provider/-/helper-define-polyfill-provider-0.3.3.tgz#8612e55be5d51f0cd1f36b4a5a83924e89884b7a" - integrity sha512-z5aQKU4IzbqCC1XH0nAqfsFLMVSo22SBKUc0BxGrLkolTdPTructy0ToNnlO2zA4j9Q/7pjMZf0DSY+DSTYzww== - dependencies: - "@babel/helper-compilation-targets" "^7.17.7" - "@babel/helper-plugin-utils" "^7.16.7" - debug "^4.1.1" - lodash.debounce "^4.0.8" - resolve "^1.14.2" - semver "^6.1.2" - -"@babel/helper-environment-visitor@^7.18.9", "@babel/helper-environment-visitor@^7.22.20": - version "7.22.20" - resolved "https://registry.yarnpkg.com/@babel/helper-environment-visitor/-/helper-environment-visitor-7.22.20.tgz#96159db61d34a29dba454c959f5ae4a649ba9167" - integrity sha512-zfedSIzFhat/gFhWfHtgWvlec0nqB9YEIVrpuwjruLlXfUSnA8cJB0miHKwqDnQ7d32aKo2xt88/xZptwxbfhA== - -"@babel/helper-function-name@^7.22.5", "@babel/helper-function-name@^7.23.0": - version "7.23.0" - resolved "https://registry.yarnpkg.com/@babel/helper-function-name/-/helper-function-name-7.23.0.tgz#1f9a3cdbd5b2698a670c30d2735f9af95ed52759" - integrity sha512-OErEqsrxjZTJciZ4Oo+eoZqeW9UIiOcuYKRJA4ZAgV9myA+pOXhhmpfNCKjEH/auVfEYVFJ6y1Tc4r0eIApqiw== - dependencies: - "@babel/template" "^7.22.15" - "@babel/types" "^7.23.0" - -"@babel/helper-hoist-variables@^7.22.5": - version "7.22.5" - resolved "https://registry.yarnpkg.com/@babel/helper-hoist-variables/-/helper-hoist-variables-7.22.5.tgz#c01a007dac05c085914e8fb652b339db50d823bb" - integrity sha512-wGjk9QZVzvknA6yKIUURb8zY3grXCcOZt+/7Wcy8O2uctxhplmUPkOdlgoNhmdVee2c92JXbf1xpMtVNbfoxRw== - dependencies: - "@babel/types" "^7.22.5" - -"@babel/helper-member-expression-to-functions@^7.22.15", "@babel/helper-member-expression-to-functions@^7.23.0": - version "7.23.0" - resolved "https://registry.yarnpkg.com/@babel/helper-member-expression-to-functions/-/helper-member-expression-to-functions-7.23.0.tgz#9263e88cc5e41d39ec18c9a3e0eced59a3e7d366" - integrity sha512-6gfrPwh7OuT6gZyJZvd6WbTfrqAo7vm4xCzAXOusKqq/vWdKXphTpj5klHKNmRUU6/QRGlBsyU9mAIPaWHlqJA== - dependencies: - "@babel/types" "^7.23.0" - -"@babel/helper-module-imports@^7.16.7", "@babel/helper-module-imports@^7.22.15": - version "7.22.15" - resolved "https://registry.yarnpkg.com/@babel/helper-module-imports/-/helper-module-imports-7.22.15.tgz#16146307acdc40cc00c3b2c647713076464bdbf0" - integrity sha512-0pYVBnDKZO2fnSPCrgM/6WMc7eS20Fbok+0r88fp+YtWVLZrp4CkafFGIp+W0VKw4a22sgebPT99y+FDNMdP4w== - dependencies: - "@babel/types" "^7.22.15" - -"@babel/helper-module-transforms@^7.20.2", "@babel/helper-module-transforms@^7.23.3": - version "7.23.3" - resolved "https://registry.yarnpkg.com/@babel/helper-module-transforms/-/helper-module-transforms-7.23.3.tgz#d7d12c3c5d30af5b3c0fcab2a6d5217773e2d0f1" - integrity sha512-7bBs4ED9OmswdfDzpz4MpWgSrV7FXlc3zIagvLFjS5H+Mk7Snr21vQ6QwrsoCGMfNC4e4LQPdoULEt4ykz0SRQ== - dependencies: - "@babel/helper-environment-visitor" "^7.22.20" - "@babel/helper-module-imports" "^7.22.15" - "@babel/helper-simple-access" "^7.22.5" - "@babel/helper-split-export-declaration" "^7.22.6" - "@babel/helper-validator-identifier" "^7.22.20" - -"@babel/helper-optimise-call-expression@^7.22.5": - version "7.22.5" - resolved "https://registry.yarnpkg.com/@babel/helper-optimise-call-expression/-/helper-optimise-call-expression-7.22.5.tgz#f21531a9ccbff644fdd156b4077c16ff0c3f609e" - integrity sha512-HBwaojN0xFRx4yIvpwGqxiV2tUfl7401jlok564NgB9EHS1y6QT17FmKWm4ztqjeVdXLuC4fSvHc5ePpQjoTbw== - dependencies: - "@babel/types" "^7.22.5" - -"@babel/helper-plugin-utils@^7.0.0", "@babel/helper-plugin-utils@^7.10.4", "@babel/helper-plugin-utils@^7.12.13", "@babel/helper-plugin-utils@^7.14.5", "@babel/helper-plugin-utils@^7.16.7", "@babel/helper-plugin-utils@^7.18.6", "@babel/helper-plugin-utils@^7.18.9", "@babel/helper-plugin-utils@^7.20.2", "@babel/helper-plugin-utils@^7.22.5", "@babel/helper-plugin-utils@^7.8.0", "@babel/helper-plugin-utils@^7.8.3": - version "7.22.5" - resolved "https://registry.yarnpkg.com/@babel/helper-plugin-utils/-/helper-plugin-utils-7.22.5.tgz#dd7ee3735e8a313b9f7b05a773d892e88e6d7295" - integrity sha512-uLls06UVKgFG9QD4OeFYLEGteMIAa5kpTPcFL28yuCIIzsf6ZyKZMllKVOCZFhiZ5ptnwX4mtKdWCBE/uT4amg== - -"@babel/helper-remap-async-to-generator@^7.18.9", "@babel/helper-remap-async-to-generator@^7.22.20": - version "7.22.20" - resolved "https://registry.yarnpkg.com/@babel/helper-remap-async-to-generator/-/helper-remap-async-to-generator-7.22.20.tgz#7b68e1cb4fa964d2996fd063723fb48eca8498e0" - integrity sha512-pBGyV4uBqOns+0UvhsTO8qgl8hO89PmiDYv+/COyp1aeMcmfrfruz+/nCMFiYyFF/Knn0yfrC85ZzNFjembFTw== - dependencies: - "@babel/helper-annotate-as-pure" "^7.22.5" - "@babel/helper-environment-visitor" "^7.22.20" - "@babel/helper-wrap-function" "^7.22.20" - -"@babel/helper-replace-supers@^7.22.20": - version "7.22.20" - resolved "https://registry.yarnpkg.com/@babel/helper-replace-supers/-/helper-replace-supers-7.22.20.tgz#e37d367123ca98fe455a9887734ed2e16eb7a793" - integrity sha512-qsW0In3dbwQUbK8kejJ4R7IHVGwHJlV6lpG6UA7a9hSa2YEiAib+N1T2kr6PEeUT+Fl7najmSOS6SmAwCHK6Tw== - dependencies: - "@babel/helper-environment-visitor" "^7.22.20" - "@babel/helper-member-expression-to-functions" "^7.22.15" - "@babel/helper-optimise-call-expression" "^7.22.5" - -"@babel/helper-simple-access@^7.22.5": - version "7.22.5" - resolved "https://registry.yarnpkg.com/@babel/helper-simple-access/-/helper-simple-access-7.22.5.tgz#4938357dc7d782b80ed6dbb03a0fba3d22b1d5de" - integrity sha512-n0H99E/K+Bika3++WNL17POvo4rKWZ7lZEp1Q+fStVbUi8nxPQEBOlTmCOxW/0JsS56SKKQ+ojAe2pHKJHN35w== - dependencies: - "@babel/types" "^7.22.5" - -"@babel/helper-skip-transparent-expression-wrappers@^7.20.0", "@babel/helper-skip-transparent-expression-wrappers@^7.22.5": - version "7.22.5" - resolved "https://registry.yarnpkg.com/@babel/helper-skip-transparent-expression-wrappers/-/helper-skip-transparent-expression-wrappers-7.22.5.tgz#007f15240b5751c537c40e77abb4e89eeaaa8847" - integrity sha512-tK14r66JZKiC43p8Ki33yLBVJKlQDFoA8GYN67lWCDCqoL6EMMSuM9b+Iff2jHaM/RRFYl7K+iiru7hbRqNx8Q== - dependencies: - "@babel/types" "^7.22.5" - -"@babel/helper-split-export-declaration@^7.22.6": - version "7.22.6" - resolved "https://registry.yarnpkg.com/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.22.6.tgz#322c61b7310c0997fe4c323955667f18fcefb91c" - integrity sha512-AsUnxuLhRYsisFiaJwvp1QF+I3KjD5FOxut14q/GzovUe6orHLesW2C7d754kRm53h5gqrz6sFl6sxc4BVtE/g== - dependencies: - "@babel/types" "^7.22.5" - -"@babel/helper-string-parser@^7.23.4": - version "7.23.4" - resolved "https://registry.yarnpkg.com/@babel/helper-string-parser/-/helper-string-parser-7.23.4.tgz#9478c707febcbbe1ddb38a3d91a2e054ae622d83" - integrity sha512-803gmbQdqwdf4olxrX4AJyFBV/RTr3rSmOj0rKwesmzlfhYNDEs+/iOcznzpNWlJlIlTJC2QfPFcHB6DlzdVLQ== - -"@babel/helper-validator-identifier@^7.22.20": - version "7.22.20" - resolved "https://registry.yarnpkg.com/@babel/helper-validator-identifier/-/helper-validator-identifier-7.22.20.tgz#c4ae002c61d2879e724581d96665583dbc1dc0e0" - integrity sha512-Y4OZ+ytlatR8AI+8KZfKuL5urKp7qey08ha31L8b3BwewJAoJamTzyvxPR/5D+KkdJCGPq/+8TukHBlY10FX9A== - -"@babel/helper-validator-option@^7.18.6", "@babel/helper-validator-option@^7.23.5": - version "7.23.5" - resolved "https://registry.yarnpkg.com/@babel/helper-validator-option/-/helper-validator-option-7.23.5.tgz#907a3fbd4523426285365d1206c423c4c5520307" - integrity sha512-85ttAOMLsr53VgXkTbkx8oA6YTfT4q7/HzXSLEYmjcSTJPMPQtvq1BD79Byep5xMUYbGRzEpDsjUf3dyp54IKw== - -"@babel/helper-wrap-function@^7.22.20": - version "7.22.20" - resolved "https://registry.yarnpkg.com/@babel/helper-wrap-function/-/helper-wrap-function-7.22.20.tgz#15352b0b9bfb10fc9c76f79f6342c00e3411a569" - integrity sha512-pms/UwkOpnQe/PDAEdV/d7dVCoBbB+R4FvYoHGZz+4VPcg7RtYy2KP7S2lbuWM6FCSgob5wshfGESbC/hzNXZw== - dependencies: - "@babel/helper-function-name" "^7.22.5" - "@babel/template" "^7.22.15" - "@babel/types" "^7.22.19" - -"@babel/helpers@^7.20.5", "@babel/helpers@^7.23.7": - version "7.23.8" - resolved "https://registry.yarnpkg.com/@babel/helpers/-/helpers-7.23.8.tgz#fc6b2d65b16847fd50adddbd4232c76378959e34" - integrity sha512-KDqYz4PiOWvDFrdHLPhKtCThtIcKVy6avWD2oG4GEvyQ+XDZwHD4YQd+H2vNMnq2rkdxsDkU82T+Vk8U/WXHRQ== - dependencies: - "@babel/template" "^7.22.15" - "@babel/traverse" "^7.23.7" - "@babel/types" "^7.23.6" - -"@babel/highlight@^7.23.4": - version "7.23.4" - resolved "https://registry.yarnpkg.com/@babel/highlight/-/highlight-7.23.4.tgz#edaadf4d8232e1a961432db785091207ead0621b" - integrity sha512-acGdbYSfp2WheJoJm/EBBBLh/ID8KDc64ISZ9DYtBmC8/Q204PZJLHyzeB5qMzJ5trcOkybd78M4x2KWsUq++A== - dependencies: - "@babel/helper-validator-identifier" "^7.22.20" - chalk "^2.4.2" - js-tokens "^4.0.0" - -"@babel/parser@^7.1.0", "@babel/parser@^7.14.7", "@babel/parser@^7.20.5", "@babel/parser@^7.20.7", "@babel/parser@^7.22.15", "@babel/parser@^7.23.6": - version "7.23.6" - resolved "https://registry.yarnpkg.com/@babel/parser/-/parser-7.23.6.tgz#ba1c9e512bda72a47e285ae42aff9d2a635a9e3b" - integrity sha512-Z2uID7YJ7oNvAI20O9X0bblw7Qqs8Q2hFy0R9tAfnfLkp5MW0UH9eUvnDSnFwKZ0AvgS1ucqR4KzvVHgnke1VQ== - -"@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression@^7.18.6": - version "7.23.3" - resolved "https://registry.yarnpkg.com/@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression/-/plugin-bugfix-safari-id-destructuring-collision-in-function-expression-7.23.3.tgz#5cd1c87ba9380d0afb78469292c954fee5d2411a" - integrity sha512-iRkKcCqb7iGnq9+3G6rZ+Ciz5VywC4XNRHe57lKM+jOeYAoR0lVqdeeDRfh0tQcTfw/+vBhHn926FmQhLtlFLQ== - dependencies: - "@babel/helper-plugin-utils" "^7.22.5" - -"@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining@^7.18.9": - version "7.23.3" - resolved "https://registry.yarnpkg.com/@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining/-/plugin-bugfix-v8-spread-parameters-in-optional-chaining-7.23.3.tgz#f6652bb16b94f8f9c20c50941e16e9756898dc5d" - integrity sha512-WwlxbfMNdVEpQjZmK5mhm7oSwD3dS6eU+Iwsi4Knl9wAletWem7kaRsGOG+8UEbRyqxY4SS5zvtfXwX+jMxUwQ== - dependencies: - "@babel/helper-plugin-utils" "^7.22.5" - "@babel/helper-skip-transparent-expression-wrappers" "^7.22.5" - "@babel/plugin-transform-optional-chaining" "^7.23.3" - -"@babel/plugin-proposal-async-generator-functions@^7.20.1": - version "7.20.7" - resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-async-generator-functions/-/plugin-proposal-async-generator-functions-7.20.7.tgz#bfb7276d2d573cb67ba379984a2334e262ba5326" - integrity sha512-xMbiLsn/8RK7Wq7VeVytytS2L6qE69bXPB10YCmMdDZbKF4okCqY74pI/jJQ/8U0b/F6NrT2+14b8/P9/3AMGA== - dependencies: - "@babel/helper-environment-visitor" "^7.18.9" - "@babel/helper-plugin-utils" "^7.20.2" - "@babel/helper-remap-async-to-generator" "^7.18.9" - "@babel/plugin-syntax-async-generators" "^7.8.4" - -"@babel/plugin-proposal-class-properties@^7.18.6": - version "7.18.6" - resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-class-properties/-/plugin-proposal-class-properties-7.18.6.tgz#b110f59741895f7ec21a6fff696ec46265c446a3" - integrity sha512-cumfXOF0+nzZrrN8Rf0t7M+tF6sZc7vhQwYQck9q1/5w2OExlD+b4v4RpMJFaV1Z7WcDRgO6FqvxqxGlwo+RHQ== - dependencies: - "@babel/helper-create-class-features-plugin" "^7.18.6" - "@babel/helper-plugin-utils" "^7.18.6" - -"@babel/plugin-proposal-class-static-block@^7.18.6": - version "7.21.0" - resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-class-static-block/-/plugin-proposal-class-static-block-7.21.0.tgz#77bdd66fb7b605f3a61302d224bdfacf5547977d" - integrity sha512-XP5G9MWNUskFuP30IfFSEFB0Z6HzLIUcjYM4bYOPHXl7eiJ9HFv8tWj6TXTN5QODiEhDZAeI4hLok2iHFFV4hw== - dependencies: - "@babel/helper-create-class-features-plugin" "^7.21.0" - "@babel/helper-plugin-utils" "^7.20.2" - "@babel/plugin-syntax-class-static-block" "^7.14.5" - -"@babel/plugin-proposal-dynamic-import@^7.18.6": - version "7.18.6" - resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-dynamic-import/-/plugin-proposal-dynamic-import-7.18.6.tgz#72bcf8d408799f547d759298c3c27c7e7faa4d94" - integrity sha512-1auuwmK+Rz13SJj36R+jqFPMJWyKEDd7lLSdOj4oJK0UTgGueSAtkrCvz9ewmgyU/P941Rv2fQwZJN8s6QruXw== - dependencies: - "@babel/helper-plugin-utils" "^7.18.6" - "@babel/plugin-syntax-dynamic-import" "^7.8.3" - -"@babel/plugin-proposal-export-namespace-from@^7.18.9": - version "7.18.9" - resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-export-namespace-from/-/plugin-proposal-export-namespace-from-7.18.9.tgz#5f7313ab348cdb19d590145f9247540e94761203" - integrity sha512-k1NtHyOMvlDDFeb9G5PhUXuGj8m/wiwojgQVEhJ/fsVsMCpLyOP4h0uGEjYJKrRI+EVPlb5Jk+Gt9P97lOGwtA== - dependencies: - "@babel/helper-plugin-utils" "^7.18.9" - "@babel/plugin-syntax-export-namespace-from" "^7.8.3" - -"@babel/plugin-proposal-json-strings@^7.18.6": - version "7.18.6" - resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-json-strings/-/plugin-proposal-json-strings-7.18.6.tgz#7e8788c1811c393aff762817e7dbf1ebd0c05f0b" - integrity sha512-lr1peyn9kOdbYc0xr0OdHTZ5FMqS6Di+H0Fz2I/JwMzGmzJETNeOFq2pBySw6X/KFL5EWDjlJuMsUGRFb8fQgQ== - dependencies: - "@babel/helper-plugin-utils" "^7.18.6" - "@babel/plugin-syntax-json-strings" "^7.8.3" - -"@babel/plugin-proposal-logical-assignment-operators@^7.18.9": - version "7.20.7" - resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-logical-assignment-operators/-/plugin-proposal-logical-assignment-operators-7.20.7.tgz#dfbcaa8f7b4d37b51e8bfb46d94a5aea2bb89d83" - integrity sha512-y7C7cZgpMIjWlKE5T7eJwp+tnRYM89HmRvWM5EQuB5BoHEONjmQ8lSNmBUwOyy/GFRsohJED51YBF79hE1djug== - dependencies: - "@babel/helper-plugin-utils" "^7.20.2" - "@babel/plugin-syntax-logical-assignment-operators" "^7.10.4" - -"@babel/plugin-proposal-nullish-coalescing-operator@^7.18.6": - version "7.18.6" - resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-nullish-coalescing-operator/-/plugin-proposal-nullish-coalescing-operator-7.18.6.tgz#fdd940a99a740e577d6c753ab6fbb43fdb9467e1" - integrity sha512-wQxQzxYeJqHcfppzBDnm1yAY0jSRkUXR2z8RePZYrKwMKgMlE8+Z6LUno+bd6LvbGh8Gltvy74+9pIYkr+XkKA== - dependencies: - "@babel/helper-plugin-utils" "^7.18.6" - "@babel/plugin-syntax-nullish-coalescing-operator" "^7.8.3" - -"@babel/plugin-proposal-numeric-separator@^7.18.6": - version "7.18.6" - resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-numeric-separator/-/plugin-proposal-numeric-separator-7.18.6.tgz#899b14fbafe87f053d2c5ff05b36029c62e13c75" - integrity sha512-ozlZFogPqoLm8WBr5Z8UckIoE4YQ5KESVcNudyXOR8uqIkliTEgJ3RoketfG6pmzLdeZF0H/wjE9/cCEitBl7Q== - dependencies: - "@babel/helper-plugin-utils" "^7.18.6" - "@babel/plugin-syntax-numeric-separator" "^7.10.4" - -"@babel/plugin-proposal-object-rest-spread@^7.20.2": - version "7.20.7" - resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-object-rest-spread/-/plugin-proposal-object-rest-spread-7.20.7.tgz#aa662940ef425779c75534a5c41e9d936edc390a" - integrity sha512-d2S98yCiLxDVmBmE8UjGcfPvNEUbA1U5q5WxaWFUGRzJSVAZqm5W6MbPct0jxnegUZ0niLeNX+IOzEs7wYg9Dg== - dependencies: - "@babel/compat-data" "^7.20.5" - "@babel/helper-compilation-targets" "^7.20.7" - "@babel/helper-plugin-utils" "^7.20.2" - "@babel/plugin-syntax-object-rest-spread" "^7.8.3" - "@babel/plugin-transform-parameters" "^7.20.7" - -"@babel/plugin-proposal-optional-catch-binding@^7.18.6": - version "7.18.6" - resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-optional-catch-binding/-/plugin-proposal-optional-catch-binding-7.18.6.tgz#f9400d0e6a3ea93ba9ef70b09e72dd6da638a2cb" - integrity sha512-Q40HEhs9DJQyaZfUjjn6vE8Cv4GmMHCYuMGIWUnlxH6400VGxOuwWsPt4FxXxJkC/5eOzgn0z21M9gMT4MOhbw== - dependencies: - "@babel/helper-plugin-utils" "^7.18.6" - "@babel/plugin-syntax-optional-catch-binding" "^7.8.3" - -"@babel/plugin-proposal-optional-chaining@^7.18.9": - version "7.21.0" - resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-optional-chaining/-/plugin-proposal-optional-chaining-7.21.0.tgz#886f5c8978deb7d30f678b2e24346b287234d3ea" - integrity sha512-p4zeefM72gpmEe2fkUr/OnOXpWEf8nAgk7ZYVqqfFiyIG7oFfVZcCrU64hWn5xp4tQ9LkV4bTIa5rD0KANpKNA== - dependencies: - "@babel/helper-plugin-utils" "^7.20.2" - "@babel/helper-skip-transparent-expression-wrappers" "^7.20.0" - "@babel/plugin-syntax-optional-chaining" "^7.8.3" - -"@babel/plugin-proposal-private-methods@^7.18.6": - version "7.18.6" - resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-private-methods/-/plugin-proposal-private-methods-7.18.6.tgz#5209de7d213457548a98436fa2882f52f4be6bea" - integrity sha512-nutsvktDItsNn4rpGItSNV2sz1XwS+nfU0Rg8aCx3W3NOKVzdMjJRu0O5OkgDp3ZGICSTbgRpxZoWsxoKRvbeA== - dependencies: - "@babel/helper-create-class-features-plugin" "^7.18.6" - "@babel/helper-plugin-utils" "^7.18.6" - -"@babel/plugin-proposal-private-property-in-object@^7.18.6": - version "7.21.11" - resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-private-property-in-object/-/plugin-proposal-private-property-in-object-7.21.11.tgz#69d597086b6760c4126525cfa154f34631ff272c" - integrity sha512-0QZ8qP/3RLDVBwBFoWAwCtgcDZJVwA5LUJRZU8x2YFfKNuFq161wK3cuGrALu5yiPu+vzwTAg/sMWVNeWeNyaw== - dependencies: - "@babel/helper-annotate-as-pure" "^7.18.6" - "@babel/helper-create-class-features-plugin" "^7.21.0" - "@babel/helper-plugin-utils" "^7.20.2" - "@babel/plugin-syntax-private-property-in-object" "^7.14.5" - -"@babel/plugin-proposal-unicode-property-regex@^7.18.6", "@babel/plugin-proposal-unicode-property-regex@^7.4.4": - version "7.18.6" - resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-unicode-property-regex/-/plugin-proposal-unicode-property-regex-7.18.6.tgz#af613d2cd5e643643b65cded64207b15c85cb78e" - integrity sha512-2BShG/d5yoZyXZfVePH91urL5wTG6ASZU9M4o03lKK8u8UW1y08OMttBSOADTcJrnPMpvDXRG3G8fyLh4ovs8w== - dependencies: - "@babel/helper-create-regexp-features-plugin" "^7.18.6" - "@babel/helper-plugin-utils" "^7.18.6" - -"@babel/plugin-syntax-async-generators@^7.8.4": - version "7.8.4" - resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-async-generators/-/plugin-syntax-async-generators-7.8.4.tgz#a983fb1aeb2ec3f6ed042a210f640e90e786fe0d" - integrity sha512-tycmZxkGfZaxhMRbXlPXuVFpdWlXpir2W4AMhSJgRKzk/eDlIXOhb2LHWoLpDF7TEHylV5zNhykX6KAgHJmTNw== - dependencies: - "@babel/helper-plugin-utils" "^7.8.0" - -"@babel/plugin-syntax-bigint@^7.8.3": - version "7.8.3" - resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-bigint/-/plugin-syntax-bigint-7.8.3.tgz#4c9a6f669f5d0cdf1b90a1671e9a146be5300cea" - integrity sha512-wnTnFlG+YxQm3vDxpGE57Pj0srRU4sHE/mDkt1qv2YJJSeUAec2ma4WLUnUPeKjyrfntVwe/N6dCXpU+zL3Npg== - dependencies: - "@babel/helper-plugin-utils" "^7.8.0" - -"@babel/plugin-syntax-class-properties@^7.12.13", "@babel/plugin-syntax-class-properties@^7.8.3": - version "7.12.13" - resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-class-properties/-/plugin-syntax-class-properties-7.12.13.tgz#b5c987274c4a3a82b89714796931a6b53544ae10" - integrity sha512-fm4idjKla0YahUNgFNLCB0qySdsoPiZP3iQE3rky0mBUtMZ23yDJ9SJdg6dXTSDnulOVqiF3Hgr9nbXvXTQZYA== - dependencies: - "@babel/helper-plugin-utils" "^7.12.13" - -"@babel/plugin-syntax-class-static-block@^7.14.5": - version "7.14.5" - resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-class-static-block/-/plugin-syntax-class-static-block-7.14.5.tgz#195df89b146b4b78b3bf897fd7a257c84659d406" - integrity sha512-b+YyPmr6ldyNnM6sqYeMWE+bgJcJpO6yS4QD7ymxgH34GBPNDM/THBh8iunyvKIZztiwLH4CJZ0RxTk9emgpjw== - dependencies: - "@babel/helper-plugin-utils" "^7.14.5" - -"@babel/plugin-syntax-dynamic-import@^7.8.3": - version "7.8.3" - resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-dynamic-import/-/plugin-syntax-dynamic-import-7.8.3.tgz#62bf98b2da3cd21d626154fc96ee5b3cb68eacb3" - integrity sha512-5gdGbFon+PszYzqs83S3E5mpi7/y/8M9eC90MRTZfduQOYW76ig6SOSPNe41IG5LoP3FGBn2N0RjVDSQiS94kQ== - dependencies: - "@babel/helper-plugin-utils" "^7.8.0" - -"@babel/plugin-syntax-export-namespace-from@^7.8.3": - version "7.8.3" - resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-export-namespace-from/-/plugin-syntax-export-namespace-from-7.8.3.tgz#028964a9ba80dbc094c915c487ad7c4e7a66465a" - integrity sha512-MXf5laXo6c1IbEbegDmzGPwGNTsHZmEy6QGznu5Sh2UCWvueywb2ee+CCE4zQiZstxU9BMoQO9i6zUFSY0Kj0Q== - dependencies: - "@babel/helper-plugin-utils" "^7.8.3" - -"@babel/plugin-syntax-import-assertions@^7.20.0": - version "7.23.3" - resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-import-assertions/-/plugin-syntax-import-assertions-7.23.3.tgz#9c05a7f592982aff1a2768260ad84bcd3f0c77fc" - integrity sha512-lPgDSU+SJLK3xmFDTV2ZRQAiM7UuUjGidwBywFavObCiZc1BeAAcMtHJKUya92hPHO+at63JJPLygilZard8jw== - dependencies: - "@babel/helper-plugin-utils" "^7.22.5" - -"@babel/plugin-syntax-import-meta@^7.8.3": - version "7.10.4" - resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-import-meta/-/plugin-syntax-import-meta-7.10.4.tgz#ee601348c370fa334d2207be158777496521fd51" - integrity sha512-Yqfm+XDx0+Prh3VSeEQCPU81yC+JWZ2pDPFSS4ZdpfZhp4MkFMaDC1UqseovEKwSUpnIL7+vK+Clp7bfh0iD7g== - dependencies: - "@babel/helper-plugin-utils" "^7.10.4" - -"@babel/plugin-syntax-json-strings@^7.8.3": - version "7.8.3" - resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-json-strings/-/plugin-syntax-json-strings-7.8.3.tgz#01ca21b668cd8218c9e640cb6dd88c5412b2c96a" - integrity sha512-lY6kdGpWHvjoe2vk4WrAapEuBR69EMxZl+RoGRhrFGNYVK8mOPAW8VfbT/ZgrFbXlDNiiaxQnAtgVCZ6jv30EA== - dependencies: - "@babel/helper-plugin-utils" "^7.8.0" - -"@babel/plugin-syntax-jsx@^7.7.2": - version "7.23.3" - resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-jsx/-/plugin-syntax-jsx-7.23.3.tgz#8f2e4f8a9b5f9aa16067e142c1ac9cd9f810f473" - integrity sha512-EB2MELswq55OHUoRZLGg/zC7QWUKfNLpE57m/S2yr1uEneIgsTgrSzXP3NXEsMkVn76OlaVVnzN+ugObuYGwhg== - dependencies: - "@babel/helper-plugin-utils" "^7.22.5" - -"@babel/plugin-syntax-logical-assignment-operators@^7.10.4", "@babel/plugin-syntax-logical-assignment-operators@^7.8.3": - version "7.10.4" - resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-logical-assignment-operators/-/plugin-syntax-logical-assignment-operators-7.10.4.tgz#ca91ef46303530448b906652bac2e9fe9941f699" - integrity sha512-d8waShlpFDinQ5MtvGU9xDAOzKH47+FFoney2baFIoMr952hKOLp1HR7VszoZvOsV/4+RRszNY7D17ba0te0ig== - dependencies: - "@babel/helper-plugin-utils" "^7.10.4" - -"@babel/plugin-syntax-nullish-coalescing-operator@^7.8.3": - version "7.8.3" - resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-nullish-coalescing-operator/-/plugin-syntax-nullish-coalescing-operator-7.8.3.tgz#167ed70368886081f74b5c36c65a88c03b66d1a9" - integrity sha512-aSff4zPII1u2QD7y+F8oDsz19ew4IGEJg9SVW+bqwpwtfFleiQDMdzA/R+UlWDzfnHFCxxleFT0PMIrR36XLNQ== - dependencies: - "@babel/helper-plugin-utils" "^7.8.0" - -"@babel/plugin-syntax-numeric-separator@^7.10.4", "@babel/plugin-syntax-numeric-separator@^7.8.3": - version "7.10.4" - resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-numeric-separator/-/plugin-syntax-numeric-separator-7.10.4.tgz#b9b070b3e33570cd9fd07ba7fa91c0dd37b9af97" - integrity sha512-9H6YdfkcK/uOnY/K7/aA2xpzaAgkQn37yzWUMRK7OaPOqOpGS1+n0H5hxT9AUw9EsSjPW8SVyMJwYRtWs3X3ug== - dependencies: - "@babel/helper-plugin-utils" "^7.10.4" - -"@babel/plugin-syntax-object-rest-spread@^7.8.3": - version "7.8.3" - resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-object-rest-spread/-/plugin-syntax-object-rest-spread-7.8.3.tgz#60e225edcbd98a640332a2e72dd3e66f1af55871" - integrity sha512-XoqMijGZb9y3y2XskN+P1wUGiVwWZ5JmoDRwx5+3GmEplNyVM2s2Dg8ILFQm8rWM48orGy5YpI5Bl8U1y7ydlA== - dependencies: - "@babel/helper-plugin-utils" "^7.8.0" - -"@babel/plugin-syntax-optional-catch-binding@^7.8.3": - version "7.8.3" - resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-optional-catch-binding/-/plugin-syntax-optional-catch-binding-7.8.3.tgz#6111a265bcfb020eb9efd0fdfd7d26402b9ed6c1" - integrity sha512-6VPD0Pc1lpTqw0aKoeRTMiB+kWhAoT24PA+ksWSBrFtl5SIRVpZlwN3NNPQjehA2E/91FV3RjLWoVTglWcSV3Q== - dependencies: - "@babel/helper-plugin-utils" "^7.8.0" - -"@babel/plugin-syntax-optional-chaining@^7.8.3": - version "7.8.3" - resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-optional-chaining/-/plugin-syntax-optional-chaining-7.8.3.tgz#4f69c2ab95167e0180cd5336613f8c5788f7d48a" - integrity sha512-KoK9ErH1MBlCPxV0VANkXW2/dw4vlbGDrFgz8bmUsBGYkFRcbRwMh6cIJubdPrkxRwuGdtCk0v/wPTKbQgBjkg== - dependencies: - "@babel/helper-plugin-utils" "^7.8.0" - -"@babel/plugin-syntax-private-property-in-object@^7.14.5": - version "7.14.5" - resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-private-property-in-object/-/plugin-syntax-private-property-in-object-7.14.5.tgz#0dc6671ec0ea22b6e94a1114f857970cd39de1ad" - integrity sha512-0wVnp9dxJ72ZUJDV27ZfbSj6iHLoytYZmh3rFcxNnvsJF3ktkzLDZPy/mA17HGsaQT3/DQsWYX1f1QGWkCoVUg== - dependencies: - "@babel/helper-plugin-utils" "^7.14.5" - -"@babel/plugin-syntax-top-level-await@^7.14.5", "@babel/plugin-syntax-top-level-await@^7.8.3": - version "7.14.5" - resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-top-level-await/-/plugin-syntax-top-level-await-7.14.5.tgz#c1cfdadc35a646240001f06138247b741c34d94c" - integrity sha512-hx++upLv5U1rgYfwe1xBQUhRmU41NEvpUvrp8jkrSCdvGSnM5/qdRMtylJ6PG5OFkBaHkbTAKTnd3/YyESRHFw== - dependencies: - "@babel/helper-plugin-utils" "^7.14.5" - -"@babel/plugin-syntax-typescript@^7.7.2": - version "7.23.3" - resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-typescript/-/plugin-syntax-typescript-7.23.3.tgz#24f460c85dbbc983cd2b9c4994178bcc01df958f" - integrity sha512-9EiNjVJOMwCO+43TqoTrgQ8jMwcAd0sWyXi9RPfIsLTj4R2MADDDQXELhffaUx/uJv2AYcxBgPwH6j4TIA4ytQ== - dependencies: - "@babel/helper-plugin-utils" "^7.22.5" - -"@babel/plugin-transform-arrow-functions@^7.18.6": - version "7.23.3" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-arrow-functions/-/plugin-transform-arrow-functions-7.23.3.tgz#94c6dcfd731af90f27a79509f9ab7fb2120fc38b" - integrity sha512-NzQcQrzaQPkaEwoTm4Mhyl8jI1huEL/WWIEvudjTCMJ9aBZNpsJbMASx7EQECtQQPS/DcnFpo0FIh3LvEO9cxQ== - dependencies: - "@babel/helper-plugin-utils" "^7.22.5" - -"@babel/plugin-transform-async-to-generator@^7.18.6": - version "7.23.3" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-async-to-generator/-/plugin-transform-async-to-generator-7.23.3.tgz#d1f513c7a8a506d43f47df2bf25f9254b0b051fa" - integrity sha512-A7LFsKi4U4fomjqXJlZg/u0ft/n8/7n7lpffUP/ZULx/DtV9SGlNKZolHH6PE8Xl1ngCc0M11OaeZptXVkfKSw== - dependencies: - "@babel/helper-module-imports" "^7.22.15" - "@babel/helper-plugin-utils" "^7.22.5" - "@babel/helper-remap-async-to-generator" "^7.22.20" - -"@babel/plugin-transform-block-scoped-functions@^7.18.6": - version "7.23.3" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-block-scoped-functions/-/plugin-transform-block-scoped-functions-7.23.3.tgz#fe1177d715fb569663095e04f3598525d98e8c77" - integrity sha512-vI+0sIaPIO6CNuM9Kk5VmXcMVRiOpDh7w2zZt9GXzmE/9KD70CUEVhvPR/etAeNK/FAEkhxQtXOzVF3EuRL41A== - dependencies: - "@babel/helper-plugin-utils" "^7.22.5" - -"@babel/plugin-transform-block-scoping@^7.20.2": - version "7.23.4" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-block-scoping/-/plugin-transform-block-scoping-7.23.4.tgz#b2d38589531c6c80fbe25e6b58e763622d2d3cf5" - integrity sha512-0QqbP6B6HOh7/8iNR4CQU2Th/bbRtBp4KS9vcaZd1fZ0wSh5Fyssg0UCIHwxh+ka+pNDREbVLQnHCMHKZfPwfw== - dependencies: - "@babel/helper-plugin-utils" "^7.22.5" - -"@babel/plugin-transform-classes@^7.20.2": - version "7.23.8" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-classes/-/plugin-transform-classes-7.23.8.tgz#d08ae096c240347badd68cdf1b6d1624a6435d92" - integrity sha512-yAYslGsY1bX6Knmg46RjiCiNSwJKv2IUC8qOdYKqMMr0491SXFhcHqOdRDeCRohOOIzwN/90C6mQ9qAKgrP7dg== - dependencies: - "@babel/helper-annotate-as-pure" "^7.22.5" - "@babel/helper-compilation-targets" "^7.23.6" - "@babel/helper-environment-visitor" "^7.22.20" - "@babel/helper-function-name" "^7.23.0" - "@babel/helper-plugin-utils" "^7.22.5" - "@babel/helper-replace-supers" "^7.22.20" - "@babel/helper-split-export-declaration" "^7.22.6" - globals "^11.1.0" - -"@babel/plugin-transform-computed-properties@^7.18.9": - version "7.23.3" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-computed-properties/-/plugin-transform-computed-properties-7.23.3.tgz#652e69561fcc9d2b50ba4f7ac7f60dcf65e86474" - integrity sha512-dTj83UVTLw/+nbiHqQSFdwO9CbTtwq1DsDqm3CUEtDrZNET5rT5E6bIdTlOftDTDLMYxvxHNEYO4B9SLl8SLZw== - dependencies: - "@babel/helper-plugin-utils" "^7.22.5" - "@babel/template" "^7.22.15" - -"@babel/plugin-transform-destructuring@^7.20.2": - version "7.23.3" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-destructuring/-/plugin-transform-destructuring-7.23.3.tgz#8c9ee68228b12ae3dff986e56ed1ba4f3c446311" - integrity sha512-n225npDqjDIr967cMScVKHXJs7rout1q+tt50inyBCPkyZ8KxeI6d+GIbSBTT/w/9WdlWDOej3V9HE5Lgk57gw== - dependencies: - "@babel/helper-plugin-utils" "^7.22.5" - -"@babel/plugin-transform-dotall-regex@^7.18.6", "@babel/plugin-transform-dotall-regex@^7.4.4": - version "7.23.3" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-dotall-regex/-/plugin-transform-dotall-regex-7.23.3.tgz#3f7af6054882ede89c378d0cf889b854a993da50" - integrity sha512-vgnFYDHAKzFaTVp+mneDsIEbnJ2Np/9ng9iviHw3P/KVcgONxpNULEW/51Z/BaFojG2GI2GwwXck5uV1+1NOYQ== - dependencies: - "@babel/helper-create-regexp-features-plugin" "^7.22.15" - "@babel/helper-plugin-utils" "^7.22.5" - -"@babel/plugin-transform-duplicate-keys@^7.18.9": - version "7.23.3" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-duplicate-keys/-/plugin-transform-duplicate-keys-7.23.3.tgz#664706ca0a5dfe8d066537f99032fc1dc8b720ce" - integrity sha512-RrqQ+BQmU3Oyav3J+7/myfvRCq7Tbz+kKLLshUmMwNlDHExbGL7ARhajvoBJEvc+fCguPPu887N+3RRXBVKZUA== - dependencies: - "@babel/helper-plugin-utils" "^7.22.5" - -"@babel/plugin-transform-exponentiation-operator@^7.18.6": - version "7.23.3" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-exponentiation-operator/-/plugin-transform-exponentiation-operator-7.23.3.tgz#ea0d978f6b9232ba4722f3dbecdd18f450babd18" - integrity sha512-5fhCsl1odX96u7ILKHBj4/Y8vipoqwsJMh4csSA8qFfxrZDEA4Ssku2DyNvMJSmZNOEBT750LfFPbtrnTP90BQ== - dependencies: - "@babel/helper-builder-binary-assignment-operator-visitor" "^7.22.15" - "@babel/helper-plugin-utils" "^7.22.5" - -"@babel/plugin-transform-for-of@^7.18.8": - version "7.23.6" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-for-of/-/plugin-transform-for-of-7.23.6.tgz#81c37e24171b37b370ba6aaffa7ac86bcb46f94e" - integrity sha512-aYH4ytZ0qSuBbpfhuofbg/e96oQ7U2w1Aw/UQmKT+1l39uEhUPoFS3fHevDc1G0OvewyDudfMKY1OulczHzWIw== - dependencies: - "@babel/helper-plugin-utils" "^7.22.5" - "@babel/helper-skip-transparent-expression-wrappers" "^7.22.5" - -"@babel/plugin-transform-function-name@^7.18.9": - version "7.23.3" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-function-name/-/plugin-transform-function-name-7.23.3.tgz#8f424fcd862bf84cb9a1a6b42bc2f47ed630f8dc" - integrity sha512-I1QXp1LxIvt8yLaib49dRW5Okt7Q4oaxao6tFVKS/anCdEOMtYwWVKoiOA1p34GOWIZjUK0E+zCp7+l1pfQyiw== - dependencies: - "@babel/helper-compilation-targets" "^7.22.15" - "@babel/helper-function-name" "^7.23.0" - "@babel/helper-plugin-utils" "^7.22.5" - -"@babel/plugin-transform-literals@^7.18.9": - version "7.23.3" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-literals/-/plugin-transform-literals-7.23.3.tgz#8214665f00506ead73de157eba233e7381f3beb4" - integrity sha512-wZ0PIXRxnwZvl9AYpqNUxpZ5BiTGrYt7kueGQ+N5FiQ7RCOD4cm8iShd6S6ggfVIWaJf2EMk8eRzAh52RfP4rQ== - dependencies: - "@babel/helper-plugin-utils" "^7.22.5" - -"@babel/plugin-transform-member-expression-literals@^7.18.6": - version "7.23.3" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-member-expression-literals/-/plugin-transform-member-expression-literals-7.23.3.tgz#e37b3f0502289f477ac0e776b05a833d853cabcc" - integrity sha512-sC3LdDBDi5x96LA+Ytekz2ZPk8i/Ck+DEuDbRAll5rknJ5XRTSaPKEYwomLcs1AA8wg9b3KjIQRsnApj+q51Ag== - dependencies: - "@babel/helper-plugin-utils" "^7.22.5" - -"@babel/plugin-transform-modules-amd@^7.19.6": - version "7.23.3" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-modules-amd/-/plugin-transform-modules-amd-7.23.3.tgz#e19b55436a1416829df0a1afc495deedfae17f7d" - integrity sha512-vJYQGxeKM4t8hYCKVBlZX/gtIY2I7mRGFNcm85sgXGMTBcoV3QdVtdpbcWEbzbfUIUZKwvgFT82mRvaQIebZzw== - dependencies: - "@babel/helper-module-transforms" "^7.23.3" - "@babel/helper-plugin-utils" "^7.22.5" - -"@babel/plugin-transform-modules-commonjs@^7.19.6": - version "7.23.3" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-modules-commonjs/-/plugin-transform-modules-commonjs-7.23.3.tgz#661ae831b9577e52be57dd8356b734f9700b53b4" - integrity sha512-aVS0F65LKsdNOtcz6FRCpE4OgsP2OFnW46qNxNIX9h3wuzaNcSQsJysuMwqSibC98HPrf2vCgtxKNwS0DAlgcA== - dependencies: - "@babel/helper-module-transforms" "^7.23.3" - "@babel/helper-plugin-utils" "^7.22.5" - "@babel/helper-simple-access" "^7.22.5" - -"@babel/plugin-transform-modules-systemjs@^7.19.6": - version "7.23.3" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-modules-systemjs/-/plugin-transform-modules-systemjs-7.23.3.tgz#fa7e62248931cb15b9404f8052581c302dd9de81" - integrity sha512-ZxyKGTkF9xT9YJuKQRo19ewf3pXpopuYQd8cDXqNzc3mUNbOME0RKMoZxviQk74hwzfQsEe66dE92MaZbdHKNQ== - dependencies: - "@babel/helper-hoist-variables" "^7.22.5" - "@babel/helper-module-transforms" "^7.23.3" - "@babel/helper-plugin-utils" "^7.22.5" - "@babel/helper-validator-identifier" "^7.22.20" - -"@babel/plugin-transform-modules-umd@^7.18.6": - version "7.23.3" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-modules-umd/-/plugin-transform-modules-umd-7.23.3.tgz#5d4395fccd071dfefe6585a4411aa7d6b7d769e9" - integrity sha512-zHsy9iXX2nIsCBFPud3jKn1IRPWg3Ing1qOZgeKV39m1ZgIdpJqvlWVeiHBZC6ITRG0MfskhYe9cLgntfSFPIg== - dependencies: - "@babel/helper-module-transforms" "^7.23.3" - "@babel/helper-plugin-utils" "^7.22.5" - -"@babel/plugin-transform-named-capturing-groups-regex@^7.19.1": - version "7.22.5" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-named-capturing-groups-regex/-/plugin-transform-named-capturing-groups-regex-7.22.5.tgz#67fe18ee8ce02d57c855185e27e3dc959b2e991f" - integrity sha512-YgLLKmS3aUBhHaxp5hi1WJTgOUb/NCuDHzGT9z9WTt3YG+CPRhJs6nprbStx6DnWM4dh6gt7SU3sZodbZ08adQ== - dependencies: - "@babel/helper-create-regexp-features-plugin" "^7.22.5" - "@babel/helper-plugin-utils" "^7.22.5" - -"@babel/plugin-transform-new-target@^7.18.6": - version "7.23.3" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-new-target/-/plugin-transform-new-target-7.23.3.tgz#5491bb78ed6ac87e990957cea367eab781c4d980" - integrity sha512-YJ3xKqtJMAT5/TIZnpAR3I+K+WaDowYbN3xyxI8zxx/Gsypwf9B9h0VB+1Nh6ACAAPRS5NSRje0uVv5i79HYGQ== - dependencies: - "@babel/helper-plugin-utils" "^7.22.5" - -"@babel/plugin-transform-object-super@^7.18.6": - version "7.23.3" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-object-super/-/plugin-transform-object-super-7.23.3.tgz#81fdb636dcb306dd2e4e8fd80db5b2362ed2ebcd" - integrity sha512-BwQ8q0x2JG+3lxCVFohg+KbQM7plfpBwThdW9A6TMtWwLsbDA01Ek2Zb/AgDN39BiZsExm4qrXxjk+P1/fzGrA== - dependencies: - "@babel/helper-plugin-utils" "^7.22.5" - "@babel/helper-replace-supers" "^7.22.20" - -"@babel/plugin-transform-optional-chaining@^7.23.3": - version "7.23.4" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-optional-chaining/-/plugin-transform-optional-chaining-7.23.4.tgz#6acf61203bdfc4de9d4e52e64490aeb3e52bd017" - integrity sha512-ZU8y5zWOfjM5vZ+asjgAPwDaBjJzgufjES89Rs4Lpq63O300R/kOz30WCLo6BxxX6QVEilwSlpClnG5cZaikTA== - dependencies: - "@babel/helper-plugin-utils" "^7.22.5" - "@babel/helper-skip-transparent-expression-wrappers" "^7.22.5" - "@babel/plugin-syntax-optional-chaining" "^7.8.3" - -"@babel/plugin-transform-parameters@^7.20.1", "@babel/plugin-transform-parameters@^7.20.7": - version "7.23.3" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-parameters/-/plugin-transform-parameters-7.23.3.tgz#83ef5d1baf4b1072fa6e54b2b0999a7b2527e2af" - integrity sha512-09lMt6UsUb3/34BbECKVbVwrT9bO6lILWln237z7sLaWnMsTi7Yc9fhX5DLpkJzAGfaReXI22wP41SZmnAA3Vw== - dependencies: - "@babel/helper-plugin-utils" "^7.22.5" - -"@babel/plugin-transform-property-literals@^7.18.6": - version "7.23.3" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-property-literals/-/plugin-transform-property-literals-7.23.3.tgz#54518f14ac4755d22b92162e4a852d308a560875" - integrity sha512-jR3Jn3y7cZp4oEWPFAlRsSWjxKe4PZILGBSd4nis1TsC5qeSpb+nrtihJuDhNI7QHiVbUaiXa0X2RZY3/TI6Nw== - dependencies: - "@babel/helper-plugin-utils" "^7.22.5" - -"@babel/plugin-transform-regenerator@^7.18.6": - version "7.23.3" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-regenerator/-/plugin-transform-regenerator-7.23.3.tgz#141afd4a2057298602069fce7f2dc5173e6c561c" - integrity sha512-KP+75h0KghBMcVpuKisx3XTu9Ncut8Q8TuvGO4IhY+9D5DFEckQefOuIsB/gQ2tG71lCke4NMrtIPS8pOj18BQ== - dependencies: - "@babel/helper-plugin-utils" "^7.22.5" - regenerator-transform "^0.15.2" - -"@babel/plugin-transform-reserved-words@^7.18.6": - version "7.23.3" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-reserved-words/-/plugin-transform-reserved-words-7.23.3.tgz#4130dcee12bd3dd5705c587947eb715da12efac8" - integrity sha512-QnNTazY54YqgGxwIexMZva9gqbPa15t/x9VS+0fsEFWplwVpXYZivtgl43Z1vMpc1bdPP2PP8siFeVcnFvA3Cg== - dependencies: - "@babel/helper-plugin-utils" "^7.22.5" - -"@babel/plugin-transform-shorthand-properties@^7.18.6": - version "7.23.3" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-shorthand-properties/-/plugin-transform-shorthand-properties-7.23.3.tgz#97d82a39b0e0c24f8a981568a8ed851745f59210" - integrity sha512-ED2fgqZLmexWiN+YNFX26fx4gh5qHDhn1O2gvEhreLW2iI63Sqm4llRLCXALKrCnbN4Jy0VcMQZl/SAzqug/jg== - dependencies: - "@babel/helper-plugin-utils" "^7.22.5" - -"@babel/plugin-transform-spread@^7.19.0": - version "7.23.3" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-spread/-/plugin-transform-spread-7.23.3.tgz#41d17aacb12bde55168403c6f2d6bdca563d362c" - integrity sha512-VvfVYlrlBVu+77xVTOAoxQ6mZbnIq5FM0aGBSFEcIh03qHf+zNqA4DC/3XMUozTg7bZV3e3mZQ0i13VB6v5yUg== - dependencies: - "@babel/helper-plugin-utils" "^7.22.5" - "@babel/helper-skip-transparent-expression-wrappers" "^7.22.5" - -"@babel/plugin-transform-sticky-regex@^7.18.6": - version "7.23.3" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-sticky-regex/-/plugin-transform-sticky-regex-7.23.3.tgz#dec45588ab4a723cb579c609b294a3d1bd22ff04" - integrity sha512-HZOyN9g+rtvnOU3Yh7kSxXrKbzgrm5X4GncPY1QOquu7epga5MxKHVpYu2hvQnry/H+JjckSYRb93iNfsioAGg== - dependencies: - "@babel/helper-plugin-utils" "^7.22.5" - -"@babel/plugin-transform-template-literals@^7.18.9": - version "7.23.3" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-template-literals/-/plugin-transform-template-literals-7.23.3.tgz#5f0f028eb14e50b5d0f76be57f90045757539d07" - integrity sha512-Flok06AYNp7GV2oJPZZcP9vZdszev6vPBkHLwxwSpaIqx75wn6mUd3UFWsSsA0l8nXAKkyCmL/sR02m8RYGeHg== - dependencies: - "@babel/helper-plugin-utils" "^7.22.5" - -"@babel/plugin-transform-typeof-symbol@^7.18.9": - version "7.23.3" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-typeof-symbol/-/plugin-transform-typeof-symbol-7.23.3.tgz#9dfab97acc87495c0c449014eb9c547d8966bca4" - integrity sha512-4t15ViVnaFdrPC74be1gXBSMzXk3B4Us9lP7uLRQHTFpV5Dvt33pn+2MyyNxmN3VTTm3oTrZVMUmuw3oBnQ2oQ== - dependencies: - "@babel/helper-plugin-utils" "^7.22.5" - -"@babel/plugin-transform-unicode-escapes@^7.18.10": - version "7.23.3" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-unicode-escapes/-/plugin-transform-unicode-escapes-7.23.3.tgz#1f66d16cab01fab98d784867d24f70c1ca65b925" - integrity sha512-OMCUx/bU6ChE3r4+ZdylEqAjaQgHAgipgW8nsCfu5pGqDcFytVd91AwRvUJSBZDz0exPGgnjoqhgRYLRjFZc9Q== - dependencies: - "@babel/helper-plugin-utils" "^7.22.5" - -"@babel/plugin-transform-unicode-regex@^7.18.6": - version "7.23.3" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-unicode-regex/-/plugin-transform-unicode-regex-7.23.3.tgz#26897708d8f42654ca4ce1b73e96140fbad879dc" - integrity sha512-wMHpNA4x2cIA32b/ci3AfwNgheiva2W0WUKWTK7vBHBhDKfPsc5cFGNWm69WBqpwd86u1qwZ9PWevKqm1A3yAw== - dependencies: - "@babel/helper-create-regexp-features-plugin" "^7.22.15" - "@babel/helper-plugin-utils" "^7.22.5" - -"@babel/preset-env@7.20.2": - version "7.20.2" - resolved "https://registry.yarnpkg.com/@babel/preset-env/-/preset-env-7.20.2.tgz#9b1642aa47bb9f43a86f9630011780dab7f86506" - integrity sha512-1G0efQEWR1EHkKvKHqbG+IN/QdgwfByUpM5V5QroDzGV2t3S/WXNQd693cHiHTlCFMpr9B6FkPFXDA2lQcKoDg== - dependencies: - "@babel/compat-data" "^7.20.1" - "@babel/helper-compilation-targets" "^7.20.0" - "@babel/helper-plugin-utils" "^7.20.2" - "@babel/helper-validator-option" "^7.18.6" - "@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression" "^7.18.6" - "@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining" "^7.18.9" - "@babel/plugin-proposal-async-generator-functions" "^7.20.1" - "@babel/plugin-proposal-class-properties" "^7.18.6" - "@babel/plugin-proposal-class-static-block" "^7.18.6" - "@babel/plugin-proposal-dynamic-import" "^7.18.6" - "@babel/plugin-proposal-export-namespace-from" "^7.18.9" - "@babel/plugin-proposal-json-strings" "^7.18.6" - "@babel/plugin-proposal-logical-assignment-operators" "^7.18.9" - "@babel/plugin-proposal-nullish-coalescing-operator" "^7.18.6" - "@babel/plugin-proposal-numeric-separator" "^7.18.6" - "@babel/plugin-proposal-object-rest-spread" "^7.20.2" - "@babel/plugin-proposal-optional-catch-binding" "^7.18.6" - "@babel/plugin-proposal-optional-chaining" "^7.18.9" - "@babel/plugin-proposal-private-methods" "^7.18.6" - "@babel/plugin-proposal-private-property-in-object" "^7.18.6" - "@babel/plugin-proposal-unicode-property-regex" "^7.18.6" - "@babel/plugin-syntax-async-generators" "^7.8.4" - "@babel/plugin-syntax-class-properties" "^7.12.13" - "@babel/plugin-syntax-class-static-block" "^7.14.5" - "@babel/plugin-syntax-dynamic-import" "^7.8.3" - "@babel/plugin-syntax-export-namespace-from" "^7.8.3" - "@babel/plugin-syntax-import-assertions" "^7.20.0" - "@babel/plugin-syntax-json-strings" "^7.8.3" - "@babel/plugin-syntax-logical-assignment-operators" "^7.10.4" - "@babel/plugin-syntax-nullish-coalescing-operator" "^7.8.3" - "@babel/plugin-syntax-numeric-separator" "^7.10.4" - "@babel/plugin-syntax-object-rest-spread" "^7.8.3" - "@babel/plugin-syntax-optional-catch-binding" "^7.8.3" - "@babel/plugin-syntax-optional-chaining" "^7.8.3" - "@babel/plugin-syntax-private-property-in-object" "^7.14.5" - "@babel/plugin-syntax-top-level-await" "^7.14.5" - "@babel/plugin-transform-arrow-functions" "^7.18.6" - "@babel/plugin-transform-async-to-generator" "^7.18.6" - "@babel/plugin-transform-block-scoped-functions" "^7.18.6" - "@babel/plugin-transform-block-scoping" "^7.20.2" - "@babel/plugin-transform-classes" "^7.20.2" - "@babel/plugin-transform-computed-properties" "^7.18.9" - "@babel/plugin-transform-destructuring" "^7.20.2" - "@babel/plugin-transform-dotall-regex" "^7.18.6" - "@babel/plugin-transform-duplicate-keys" "^7.18.9" - "@babel/plugin-transform-exponentiation-operator" "^7.18.6" - "@babel/plugin-transform-for-of" "^7.18.8" - "@babel/plugin-transform-function-name" "^7.18.9" - "@babel/plugin-transform-literals" "^7.18.9" - "@babel/plugin-transform-member-expression-literals" "^7.18.6" - "@babel/plugin-transform-modules-amd" "^7.19.6" - "@babel/plugin-transform-modules-commonjs" "^7.19.6" - "@babel/plugin-transform-modules-systemjs" "^7.19.6" - "@babel/plugin-transform-modules-umd" "^7.18.6" - "@babel/plugin-transform-named-capturing-groups-regex" "^7.19.1" - "@babel/plugin-transform-new-target" "^7.18.6" - "@babel/plugin-transform-object-super" "^7.18.6" - "@babel/plugin-transform-parameters" "^7.20.1" - "@babel/plugin-transform-property-literals" "^7.18.6" - "@babel/plugin-transform-regenerator" "^7.18.6" - "@babel/plugin-transform-reserved-words" "^7.18.6" - "@babel/plugin-transform-shorthand-properties" "^7.18.6" - "@babel/plugin-transform-spread" "^7.19.0" - "@babel/plugin-transform-sticky-regex" "^7.18.6" - "@babel/plugin-transform-template-literals" "^7.18.9" - "@babel/plugin-transform-typeof-symbol" "^7.18.9" - "@babel/plugin-transform-unicode-escapes" "^7.18.10" - "@babel/plugin-transform-unicode-regex" "^7.18.6" - "@babel/preset-modules" "^0.1.5" - "@babel/types" "^7.20.2" - babel-plugin-polyfill-corejs2 "^0.3.3" - babel-plugin-polyfill-corejs3 "^0.6.0" - babel-plugin-polyfill-regenerator "^0.4.1" - core-js-compat "^3.25.1" - semver "^6.3.0" - -"@babel/preset-modules@^0.1.5": - version "0.1.6" - resolved "https://registry.yarnpkg.com/@babel/preset-modules/-/preset-modules-0.1.6.tgz#31bcdd8f19538437339d17af00d177d854d9d458" - integrity sha512-ID2yj6K/4lKfhuU3+EX4UvNbIt7eACFbHmNUjzA+ep+B5971CknnA/9DEWKbRokfbbtblxxxXFJJrH47UEAMVg== - dependencies: - "@babel/helper-plugin-utils" "^7.0.0" - "@babel/plugin-proposal-unicode-property-regex" "^7.4.4" - "@babel/plugin-transform-dotall-regex" "^7.4.4" - "@babel/types" "^7.4.4" - esutils "^2.0.2" - -"@babel/regjsgen@^0.8.0": - version "0.8.0" - resolved "https://registry.yarnpkg.com/@babel/regjsgen/-/regjsgen-0.8.0.tgz#f0ba69b075e1f05fb2825b7fad991e7adbb18310" - integrity sha512-x/rqGMdzj+fWZvCOYForTghzbtqPDZ5gPwaoNGHdgDfF2QA/XZbCBp4Moo5scrkAMPhB7z26XM/AaHuIJdgauA== - -"@babel/runtime@^7.0.0", "@babel/runtime@^7.1.2", "@babel/runtime@^7.10.1", "@babel/runtime@^7.11.1", "@babel/runtime@^7.11.2", "@babel/runtime@^7.12.0", "@babel/runtime@^7.12.1", "@babel/runtime@^7.12.13", "@babel/runtime@^7.12.5", "@babel/runtime@^7.15.4", "@babel/runtime@^7.18.0", "@babel/runtime@^7.18.3", "@babel/runtime@^7.20.0", "@babel/runtime@^7.20.6", "@babel/runtime@^7.20.7", "@babel/runtime@^7.23.2", "@babel/runtime@^7.5.5", "@babel/runtime@^7.6.2", "@babel/runtime@^7.8.4", "@babel/runtime@^7.8.7", "@babel/runtime@^7.9.2": - version "7.23.8" - resolved "https://registry.yarnpkg.com/@babel/runtime/-/runtime-7.23.8.tgz#8ee6fe1ac47add7122902f257b8ddf55c898f650" - integrity sha512-Y7KbAP984rn1VGMbGqKmBLio9V7y5Je9GvU4rQPCPinCyNfUcToxIXl06d59URp/F3LwinvODxab5N/G6qggkw== - dependencies: - regenerator-runtime "^0.14.0" - -"@babel/template@^7.18.10", "@babel/template@^7.22.15", "@babel/template@^7.3.3": - version "7.22.15" - resolved "https://registry.yarnpkg.com/@babel/template/-/template-7.22.15.tgz#09576efc3830f0430f4548ef971dde1350ef2f38" - integrity sha512-QPErUVm4uyJa60rkI73qneDacvdvzxshT3kksGqlGWYdOTIUOwJ7RDUL8sGqslY1uXWSL6xMFKEXDS3ox2uF0w== - dependencies: - "@babel/code-frame" "^7.22.13" - "@babel/parser" "^7.22.15" - "@babel/types" "^7.22.15" - -"@babel/traverse@^7.20.5", "@babel/traverse@^7.23.7": - version "7.23.7" - resolved "https://registry.yarnpkg.com/@babel/traverse/-/traverse-7.23.7.tgz#9a7bf285c928cb99b5ead19c3b1ce5b310c9c305" - integrity sha512-tY3mM8rH9jM0YHFGyfC0/xf+SB5eKUu7HPj7/k3fpi9dAlsMc5YbQvDi0Sh2QTPXqMhyaAtzAr807TIyfQrmyg== - dependencies: - "@babel/code-frame" "^7.23.5" - "@babel/generator" "^7.23.6" - "@babel/helper-environment-visitor" "^7.22.20" - "@babel/helper-function-name" "^7.23.0" - "@babel/helper-hoist-variables" "^7.22.5" - "@babel/helper-split-export-declaration" "^7.22.6" - "@babel/parser" "^7.23.6" - "@babel/types" "^7.23.6" - debug "^4.3.1" - globals "^11.1.0" - -"@babel/types@^7.0.0", "@babel/types@^7.20.2", "@babel/types@^7.20.5", "@babel/types@^7.20.7", "@babel/types@^7.22.15", "@babel/types@^7.22.19", "@babel/types@^7.22.5", "@babel/types@^7.23.0", "@babel/types@^7.23.6", "@babel/types@^7.3.3", "@babel/types@^7.4.4": - version "7.23.6" - resolved "https://registry.yarnpkg.com/@babel/types/-/types-7.23.6.tgz#be33fdb151e1f5a56877d704492c240fc71c7ccd" - integrity sha512-+uarb83brBzPKN38NX1MkB6vb6+mwvR6amUulqAE7ccQw1pEl+bCia9TbdG1lsnFP7lZySvUn37CHyXQdfTwzg== - dependencies: - "@babel/helper-string-parser" "^7.23.4" - "@babel/helper-validator-identifier" "^7.22.20" - to-fast-properties "^2.0.0" - -"@bcoe/v8-coverage@^0.2.3": - version "0.2.3" - resolved "https://registry.yarnpkg.com/@bcoe/v8-coverage/-/v8-coverage-0.2.3.tgz#75a2e8b51cb758a7553d6804a5932d7aace75c39" - integrity sha512-0hYQ8SB4Db5zvZB4axdMHGwEaQjkZzFjQiN9LVYvIFB2nSUHW9tYpxWriPrWDASIxiaXax83REcLxuSdnGPZtw== - -"@braintree/sanitize-url@6.0.2": - version "6.0.2" - resolved "https://registry.yarnpkg.com/@braintree/sanitize-url/-/sanitize-url-6.0.2.tgz#6110f918d273fe2af8ea1c4398a88774bb9fc12f" - integrity sha512-Tbsj02wXCbqGmzdnXNk0SOF19ChhRU70BsroIi4Pm6Ehp56in6vch94mfbdQ17DozxkL3BAVjbZ4Qc1a0HFRAg== - -"@colors/colors@1.5.0": - version "1.5.0" - resolved "https://registry.yarnpkg.com/@colors/colors/-/colors-1.5.0.tgz#bb504579c1cae923e6576a4f5da43d25f97bdbd9" - integrity sha512-ooWCrlZP11i8GImSjTHYHLkvFDP48nS4+204nGb1RiX/WXYHmJA2III9/e2DWVabCESdW7hBAEzHRqUn9OUVvQ== - -"@cspotcode/source-map-support@^0.8.0": - version "0.8.1" - resolved "https://registry.yarnpkg.com/@cspotcode/source-map-support/-/source-map-support-0.8.1.tgz#00629c35a688e05a88b1cda684fb9d5e73f000a1" - integrity sha512-IchNf6dN4tHoMFIn/7OE8LWZ19Y6q/67Bmf6vnGREv8RSbBVb9LPJxEcnwrcwX6ixSvaiGoomAUvu4YSxXrVgw== - dependencies: - "@jridgewell/trace-mapping" "0.3.9" - -"@cypress/request@^2.88.10": - version "2.88.12" - resolved "https://registry.yarnpkg.com/@cypress/request/-/request-2.88.12.tgz#ba4911431738494a85e93fb04498cb38bc55d590" - integrity sha512-tOn+0mDZxASFM+cuAP9szGUGPI1HwWVSvdzm7V4cCsPdFTx6qMj29CwaQmRAMIEhORIUBFBsYROYJcveK4uOjA== - dependencies: - aws-sign2 "~0.7.0" - aws4 "^1.8.0" - caseless "~0.12.0" - combined-stream "~1.0.6" - extend "~3.0.2" - forever-agent "~0.6.1" - form-data "~2.3.2" - http-signature "~1.3.6" - is-typedarray "~1.0.0" - isstream "~0.1.2" - json-stringify-safe "~5.0.1" - mime-types "~2.1.19" - performance-now "^2.1.0" - qs "~6.10.3" - safe-buffer "^5.1.2" - tough-cookie "^4.1.3" - tunnel-agent "^0.6.0" - uuid "^8.3.2" - -"@cypress/webpack-preprocessor@5.17.0": - version "5.17.0" - resolved "https://registry.yarnpkg.com/@cypress/webpack-preprocessor/-/webpack-preprocessor-5.17.0.tgz#3f58cf333c5931094780e3ca14c9302a1965025e" - integrity sha512-HyFqHkrOrIIYOt4G+r3VK0kVYTcev1tEcqBI/0DJ4AzEuEgW/TB+cX56txy4Cgn60XXdJoul2utclZwUqOsPZA== - dependencies: - bluebird "3.7.1" - debug "^4.3.4" - lodash "^4.17.20" - -"@cypress/xvfb@^1.2.4": - version "1.2.4" - resolved "https://registry.yarnpkg.com/@cypress/xvfb/-/xvfb-1.2.4.tgz#2daf42e8275b39f4aa53c14214e557bd14e7748a" - integrity sha512-skbBzPggOVYCbnGgV+0dmBdW/s77ZkAOXIC1knS8NagwDjBrNC1LuXtQJeiN6l+m7lzmHtaoUw/ctJKdqkG57Q== - dependencies: - debug "^3.1.0" - lodash.once "^4.1.1" - -"@discoveryjs/json-ext@^0.5.0": - version "0.5.7" - resolved "https://registry.yarnpkg.com/@discoveryjs/json-ext/-/json-ext-0.5.7.tgz#1d572bfbbe14b7704e0ba0f39b74815b84870d70" - integrity sha512-dBVuXR082gk3jsFp7Rd/JI4kytwGHecnCoTtXFb7DB6CNHp4rg5k1bhg0nWdLGLnOV71lmDzGQaLMy8iPLY0pw== - -"@emotion/babel-plugin@^11.10.6", "@emotion/babel-plugin@^11.11.0": - version "11.11.0" - resolved "https://registry.yarnpkg.com/@emotion/babel-plugin/-/babel-plugin-11.11.0.tgz#c2d872b6a7767a9d176d007f5b31f7d504bb5d6c" - integrity sha512-m4HEDZleaaCH+XgDDsPF15Ht6wTLsgDTeR3WYj9Q/k76JtWhrJjcP4+/XlG8LGT/Rol9qUfOIztXeA84ATpqPQ== - dependencies: - "@babel/helper-module-imports" "^7.16.7" - "@babel/runtime" "^7.18.3" - "@emotion/hash" "^0.9.1" - "@emotion/memoize" "^0.8.1" - "@emotion/serialize" "^1.1.2" - babel-plugin-macros "^3.1.0" - convert-source-map "^1.5.0" - escape-string-regexp "^4.0.0" - find-root "^1.1.0" - source-map "^0.5.7" - stylis "4.2.0" - -"@emotion/cache@^11.10.5", "@emotion/cache@^11.11.0", "@emotion/cache@^11.4.0": - version "11.11.0" - resolved "https://registry.yarnpkg.com/@emotion/cache/-/cache-11.11.0.tgz#809b33ee6b1cb1a625fef7a45bc568ccd9b8f3ff" - integrity sha512-P34z9ssTCBi3e9EI1ZsWpNHcfY1r09ZO0rZbRO2ob3ZQMnFI35jB536qoXbkdesr5EUhYi22anuEJuyxifaqAQ== - dependencies: - "@emotion/memoize" "^0.8.1" - "@emotion/sheet" "^1.2.2" - "@emotion/utils" "^1.2.1" - "@emotion/weak-memoize" "^0.3.1" - stylis "4.2.0" - -"@emotion/css@11.10.6": - version "11.10.6" - resolved "https://registry.yarnpkg.com/@emotion/css/-/css-11.10.6.tgz#5d226fdd8ef2a46d28e4eb09f66dc01a3bda5a04" - integrity sha512-88Sr+3heKAKpj9PCqq5A1hAmAkoSIvwEq1O2TwDij7fUtsJpdkV4jMTISSTouFeRvsGvXIpuSuDQ4C1YdfNGXw== - dependencies: - "@emotion/babel-plugin" "^11.10.6" - "@emotion/cache" "^11.10.5" - "@emotion/serialize" "^1.1.1" - "@emotion/sheet" "^1.2.1" - "@emotion/utils" "^1.2.0" - -"@emotion/hash@^0.9.1": - version "0.9.1" - resolved "https://registry.yarnpkg.com/@emotion/hash/-/hash-0.9.1.tgz#4ffb0055f7ef676ebc3a5a91fb621393294e2f43" - integrity sha512-gJB6HLm5rYwSLI6PQa+X1t5CFGrv1J1TWG+sOyMCeKz2ojaj6Fnl/rZEspogG+cvqbt4AE/2eIyD2QfLKTBNlQ== - -"@emotion/memoize@^0.8.1": - version "0.8.1" - resolved "https://registry.yarnpkg.com/@emotion/memoize/-/memoize-0.8.1.tgz#c1ddb040429c6d21d38cc945fe75c818cfb68e17" - integrity sha512-W2P2c/VRW1/1tLox0mVUalvnWXxavmv/Oum2aPsRcoDJuob75FC3Y8FbpfLwUegRcxINtGUMPq0tFCvYNTBXNA== - -"@emotion/react@11.10.6": - version "11.10.6" - resolved "https://registry.yarnpkg.com/@emotion/react/-/react-11.10.6.tgz#dbe5e650ab0f3b1d2e592e6ab1e006e75fd9ac11" - integrity sha512-6HT8jBmcSkfzO7mc+N1L9uwvOnlcGoix8Zn7srt+9ga0MjREo6lRpuVX0kzo6Jp6oTqDhREOFsygN6Ew4fEQbw== - dependencies: - "@babel/runtime" "^7.18.3" - "@emotion/babel-plugin" "^11.10.6" - "@emotion/cache" "^11.10.5" - "@emotion/serialize" "^1.1.1" - "@emotion/use-insertion-effect-with-fallbacks" "^1.0.0" - "@emotion/utils" "^1.2.0" - "@emotion/weak-memoize" "^0.3.0" - hoist-non-react-statics "^3.3.1" - -"@emotion/react@^11.8.1": - version "11.11.3" - resolved "https://registry.yarnpkg.com/@emotion/react/-/react-11.11.3.tgz#96b855dc40a2a55f52a72f518a41db4f69c31a25" - integrity sha512-Cnn0kuq4DoONOMcnoVsTOR8E+AdnKFf//6kUWc4LCdnxj31pZWn7rIULd6Y7/Js1PiPHzn7SKCM9vB/jBni8eA== - dependencies: - "@babel/runtime" "^7.18.3" - "@emotion/babel-plugin" "^11.11.0" - "@emotion/cache" "^11.11.0" - "@emotion/serialize" "^1.1.3" - "@emotion/use-insertion-effect-with-fallbacks" "^1.0.1" - "@emotion/utils" "^1.2.1" - "@emotion/weak-memoize" "^0.3.1" - hoist-non-react-statics "^3.3.1" - -"@emotion/serialize@^1.1.1", "@emotion/serialize@^1.1.2", "@emotion/serialize@^1.1.3": - version "1.1.3" - resolved "https://registry.yarnpkg.com/@emotion/serialize/-/serialize-1.1.3.tgz#84b77bfcfe3b7bb47d326602f640ccfcacd5ffb0" - integrity sha512-iD4D6QVZFDhcbH0RAG1uVu1CwVLMWUkCvAqqlewO/rxf8+87yIBAlt4+AxMiiKPLs5hFc0owNk/sLLAOROw3cA== - dependencies: - "@emotion/hash" "^0.9.1" - "@emotion/memoize" "^0.8.1" - "@emotion/unitless" "^0.8.1" - "@emotion/utils" "^1.2.1" - csstype "^3.0.2" - -"@emotion/sheet@^1.2.1", "@emotion/sheet@^1.2.2": - version "1.2.2" - resolved "https://registry.yarnpkg.com/@emotion/sheet/-/sheet-1.2.2.tgz#d58e788ee27267a14342303e1abb3d508b6d0fec" - integrity sha512-0QBtGvaqtWi+nx6doRwDdBIzhNdZrXUppvTM4dtZZWEGTXL/XE/yJxLMGlDT1Gt+UHH5IX1n+jkXyytE/av7OA== - -"@emotion/unitless@^0.8.1": - version "0.8.1" - resolved "https://registry.yarnpkg.com/@emotion/unitless/-/unitless-0.8.1.tgz#182b5a4704ef8ad91bde93f7a860a88fd92c79a3" - integrity sha512-KOEGMu6dmJZtpadb476IsZBclKvILjopjUii3V+7MnXIQCYh8W3NgNcgwo21n9LXZX6EDIKvqfjYxXebDwxKmQ== - -"@emotion/use-insertion-effect-with-fallbacks@^1.0.0", "@emotion/use-insertion-effect-with-fallbacks@^1.0.1": - version "1.0.1" - resolved "https://registry.yarnpkg.com/@emotion/use-insertion-effect-with-fallbacks/-/use-insertion-effect-with-fallbacks-1.0.1.tgz#08de79f54eb3406f9daaf77c76e35313da963963" - integrity sha512-jT/qyKZ9rzLErtrjGgdkMBn2OP8wl0G3sQlBb3YPryvKHsjvINUhVaPFfP+fpBcOkmrVOVEEHQFJ7nbj2TH2gw== - -"@emotion/utils@^1.2.0", "@emotion/utils@^1.2.1": - version "1.2.1" - resolved "https://registry.yarnpkg.com/@emotion/utils/-/utils-1.2.1.tgz#bbab58465738d31ae4cb3dbb6fc00a5991f755e4" - integrity sha512-Y2tGf3I+XVnajdItskUCn6LX+VUDmP6lTL4fcqsXAv43dnlbZiuW4MWQW38rW/BVWSE7Q/7+XQocmpnRYILUmg== - -"@emotion/weak-memoize@^0.3.0", "@emotion/weak-memoize@^0.3.1": - version "0.3.1" - resolved "https://registry.yarnpkg.com/@emotion/weak-memoize/-/weak-memoize-0.3.1.tgz#d0fce5d07b0620caa282b5131c297bb60f9d87e6" - integrity sha512-EsBwpc7hBUJWAsNPBmJy4hxWx12v6bshQsldrVmjxJoc3isbxhOrF2IcCpaXxfvq03NwkI7sbsOLXbYuqF/8Ww== - -"@es-joy/jsdoccomment@~0.39.4": - version "0.39.4" - resolved "https://registry.yarnpkg.com/@es-joy/jsdoccomment/-/jsdoccomment-0.39.4.tgz#6b8a62e9b3077027837728818d3c4389a898b392" - integrity sha512-Jvw915fjqQct445+yron7Dufix9A+m9j1fCJYlCo1FWlRvTxa3pjJelxdSTdaLWcTwRU6vbL+NYjO4YuNIS5Qg== - dependencies: - comment-parser "1.3.1" - esquery "^1.5.0" - jsdoc-type-pratt-parser "~4.0.0" - -"@eslint-community/eslint-utils@^4.2.0", "@eslint-community/eslint-utils@^4.4.0": - version "4.4.0" - resolved "https://registry.yarnpkg.com/@eslint-community/eslint-utils/-/eslint-utils-4.4.0.tgz#a23514e8fb9af1269d5f7788aa556798d61c6b59" - integrity sha512-1/sA4dwrzBAyeUoQ6oxahHKmrZvsnLCg4RfxW3ZFGGmQkSNQPFNLV9CUEFQP1x9EYXHTo5p6xdhZM1Ne9p/AfA== - dependencies: - eslint-visitor-keys "^3.3.0" - -"@eslint-community/regexpp@^4.4.0": - version "4.10.0" - resolved "https://registry.yarnpkg.com/@eslint-community/regexpp/-/regexpp-4.10.0.tgz#548f6de556857c8bb73bbee70c35dc82a2e74d63" - integrity sha512-Cu96Sd2By9mCNTx2iyKOmq10v22jUVQv0lQnlGNy16oE9589yE+QADPbrMGCkA51cKZSg3Pu/aTJVTGfL/qjUA== - -"@eslint/eslintrc@^2.0.3": - version "2.1.4" - resolved "https://registry.yarnpkg.com/@eslint/eslintrc/-/eslintrc-2.1.4.tgz#388a269f0f25c1b6adc317b5a2c55714894c70ad" - integrity sha512-269Z39MS6wVJtsoUl10L60WdkhJVdPG24Q4eZTH3nnF6lpvSShEK3wQjDX9JRWAUPvPh7COouPpU9IrqaZFvtQ== - dependencies: - ajv "^6.12.4" - debug "^4.3.2" - espree "^9.6.0" - globals "^13.19.0" - ignore "^5.2.0" - import-fresh "^3.2.1" - js-yaml "^4.1.0" - minimatch "^3.1.2" - strip-json-comments "^3.1.1" - -"@eslint/js@8.42.0": - version "8.42.0" - resolved "https://registry.yarnpkg.com/@eslint/js/-/js-8.42.0.tgz#484a1d638de2911e6f5a30c12f49c7e4a3270fb6" - integrity sha512-6SWlXpWU5AvId8Ac7zjzmIOqMOba/JWY8XZ4A7q7Gn1Vlfg/SFFIlrtHXt9nPn4op9ZPAkl91Jao+QQv3r/ukw== - -"@floating-ui/core@^1.5.3": - version "1.5.3" - resolved "https://registry.yarnpkg.com/@floating-ui/core/-/core-1.5.3.tgz#b6aa0827708d70971c8679a16cf680a515b8a52a" - integrity sha512-O0WKDOo0yhJuugCx6trZQj5jVJ9yR0ystG2JaNAemYUWce+pmM6WUEFIibnWyEJKdrDxhm75NoSRME35FNaM/Q== - dependencies: - "@floating-ui/utils" "^0.2.0" - -"@floating-ui/dom@^1.0.1": - version "1.5.4" - resolved "https://registry.yarnpkg.com/@floating-ui/dom/-/dom-1.5.4.tgz#28df1e1cb373884224a463235c218dcbd81a16bb" - integrity sha512-jByEsHIY+eEdCjnTVu+E3ephzTOzkQ8hgUfGwos+bg7NlH33Zc5uO+QHz1mrQUOgIKKDD1RtS201P9NvAfq3XQ== - dependencies: - "@floating-ui/core" "^1.5.3" - "@floating-ui/utils" "^0.2.0" - -"@floating-ui/utils@^0.2.0": - version "0.2.1" - resolved "https://registry.yarnpkg.com/@floating-ui/utils/-/utils-0.2.1.tgz#16308cea045f0fc777b6ff20a9f25474dd8293d2" - integrity sha512-9TANp6GPoMtYzQdt54kfAyMmz1+osLlXdg2ENroU7zzrtflTLrrC/lgrIfaSe+Wu0b89GKccT7vxXA0MoAIO+Q== - -"@formatjs/ecma402-abstract@1.18.2": - version "1.18.2" - resolved "https://registry.yarnpkg.com/@formatjs/ecma402-abstract/-/ecma402-abstract-1.18.2.tgz#bf103712a406874eb1e387858d5be2371ab3aa14" - integrity sha512-+QoPW4csYALsQIl8GbN14igZzDbuwzcpWrku9nyMXlaqAlwRBgl5V+p0vWMGFqHOw37czNXaP/lEk4wbLgcmtA== - dependencies: - "@formatjs/intl-localematcher" "0.5.4" - tslib "^2.4.0" - -"@formatjs/fast-memoize@2.2.0": - version "2.2.0" - resolved "https://registry.yarnpkg.com/@formatjs/fast-memoize/-/fast-memoize-2.2.0.tgz#33bd616d2e486c3e8ef4e68c99648c196887802b" - integrity sha512-hnk/nY8FyrL5YxwP9e4r9dqeM6cAbo8PeU9UjyXojZMNvVad2Z06FAVHyR3Ecw6fza+0GH7vdJgiKIVXTMbSBA== - dependencies: - tslib "^2.4.0" - -"@formatjs/icu-messageformat-parser@2.7.5": - version "2.7.5" - resolved "https://registry.yarnpkg.com/@formatjs/icu-messageformat-parser/-/icu-messageformat-parser-2.7.5.tgz#6c12c08544eafef874df13b30729daf7b4dbd089" - integrity sha512-zCB53HdGDibh6/2ISEN3TGsFQruQ6gGKMFV94qHNyVrs0tNO6ncKhV0vq0n3Ydz8ipIQ2GaYAvfCoimNOVvKqA== - dependencies: - "@formatjs/ecma402-abstract" "1.18.2" - "@formatjs/icu-skeleton-parser" "1.7.2" - tslib "^2.4.0" - -"@formatjs/icu-skeleton-parser@1.7.2": - version "1.7.2" - resolved "https://registry.yarnpkg.com/@formatjs/icu-skeleton-parser/-/icu-skeleton-parser-1.7.2.tgz#ffbdd535c33249635ad0e54a34813194287a1567" - integrity sha512-nlIXVv280bjGW3ail5Np1+xgGKBnMhwQQIivgbk9xX0af8ESQO+y2VW9TOY7mCrs3WH786uVpZlLimXAlXH7SA== - dependencies: - "@formatjs/ecma402-abstract" "1.18.2" - tslib "^2.4.0" - -"@formatjs/intl-localematcher@0.5.4": - version "0.5.4" - resolved "https://registry.yarnpkg.com/@formatjs/intl-localematcher/-/intl-localematcher-0.5.4.tgz#caa71f2e40d93e37d58be35cfffe57865f2b366f" - integrity sha512-zTwEpWOzZ2CiKcB93BLngUX59hQkuZjT2+SAQEscSm52peDW/getsawMcWF1rGRpMCX6D7nSJA3CzJ8gn13N/g== - dependencies: - tslib "^2.4.0" - -"@grafana/data@10.0.3": - version "10.0.3" - resolved "https://registry.yarnpkg.com/@grafana/data/-/data-10.0.3.tgz#648f4560daf102fe44afad35ac2b95aab29c441e" - integrity sha512-JW2A5DK+D6cmijDP1S/+/yYXz+NN0nElzvYiv1nesrNdd/4tNKPVtokX/bg0jdWgGc6Kpt3wJNv6gkxDQg8+PQ== - dependencies: - "@braintree/sanitize-url" "6.0.2" - "@grafana/schema" "10.0.3" - "@types/d3-interpolate" "^3.0.0" - "@types/string-hash" "1.1.1" - d3-interpolate "3.0.1" - date-fns "2.29.3" - dompurify "^2.4.3" - eventemitter3 "5.0.0" - fast_array_intersect "1.1.0" - history "4.10.1" - lodash "4.17.21" - marked "4.2.12" - moment "2.29.4" - moment-timezone "0.5.41" - ol "7.2.2" - papaparse "5.3.2" - react-use "17.4.0" - regenerator-runtime "0.13.11" - rxjs "7.8.0" - string-hash "^1.1.3" - tinycolor2 "1.6.0" - tslib "2.5.0" - uplot "1.6.24" - xss "^1.0.14" - -"@grafana/e2e-selectors@10.0.2": - version "10.0.2" - resolved "https://registry.yarnpkg.com/@grafana/e2e-selectors/-/e2e-selectors-10.0.2.tgz#98cd7fa01ca21b416db8827980508195554fb5a4" - integrity sha512-3dc+2hL/AJLkOMXiN2UmWU3kOHO4Eqv10AJVOTkpDwecQvWoSS5vtflyPCEWshDqDSE/6k2gB9N2rlZk9O/R5g== - dependencies: - "@grafana/tsconfig" "^1.2.0-rc1" - tslib "2.5.0" - typescript "4.8.4" - -"@grafana/e2e-selectors@10.0.3": - version "10.0.3" - resolved "https://registry.yarnpkg.com/@grafana/e2e-selectors/-/e2e-selectors-10.0.3.tgz#e03521f0d46c4eea8daebf3eddc66e166dedb500" - integrity sha512-GknlCJ6XAjKlYH6mYAtJNSir5naTV2VUJVFeG5O7dRATtzG/bzw9PBaRljWZ0j5AC73lsxb5/A3+H0FpYP3Y1g== - dependencies: - "@grafana/tsconfig" "^1.2.0-rc1" - tslib "2.5.0" - typescript "4.8.4" - -"@grafana/e2e@10.0.3": - version "10.0.3" - resolved "https://registry.yarnpkg.com/@grafana/e2e/-/e2e-10.0.3.tgz#9150b48fcaf6f02336c0b7fd84fa824f12fa11df" - integrity sha512-JRSpHfNPmK2DTBWPabBn8KtmJ8KKnjysvR7Wy7yV2Msg3ryx8+R4CjHXtO3kpVDqxr8KZ7hWQYWxxKxHtV8yUQ== - dependencies: - "@babel/core" "7.20.5" - "@babel/preset-env" "7.20.2" - "@cypress/webpack-preprocessor" "5.17.0" - "@grafana/e2e-selectors" "10.0.3" - "@grafana/tsconfig" "^1.2.0-rc1" - "@mochajs/json-file-reporter" "^1.2.0" - babel-loader "9.1.2" - blink-diff "1.0.13" - chrome-remote-interface "0.32.1" - commander "8.3.0" - cypress "9.5.1" - cypress-file-upload "5.0.8" - devtools-protocol "0.0.1113774" - execa "5.1.1" - lodash "4.17.21" - mocha "10.2.0" - resolve-bin "1.0.1" - rimraf "4.4.0" - tracelib "1.0.1" - ts-loader "8.4.0" - tslib "2.5.0" - typescript "4.8.4" - uuid "9.0.0" - yaml "^2.0.0" - -"@grafana/eslint-config@^6.0.0": - version "6.0.1" - resolved "https://registry.yarnpkg.com/@grafana/eslint-config/-/eslint-config-6.0.1.tgz#70f3e1990ab83591b566dec7bce214a1eb4d09c4" - integrity sha512-Tv6BUyJu2kHjrghkQJGhVCwJfNeyNbf/UqqUDW5j04+R0Y4YgWshZ4FrJibkfJc26/3UvfYSnYd+On1psbQIlA== - dependencies: - "@typescript-eslint/eslint-plugin" "5.59.9" - "@typescript-eslint/parser" "5.59.9" - eslint "8.42.0" - eslint-config-prettier "8.8.0" - eslint-plugin-jsdoc "46.2.6" - eslint-plugin-react "7.32.2" - eslint-plugin-react-hooks "4.6.0" - typescript "4.8.4" - -"@grafana/faro-core@^1.0.2": - version "1.3.6" - resolved "https://registry.yarnpkg.com/@grafana/faro-core/-/faro-core-1.3.6.tgz#7e4f2754e35d683c259af2ee4851aceadbfca8ad" - integrity sha512-1N/VWOIuukvqJUbpGRmendbJSG8hEvMqUV79+jPrhSRjM2VlNsqtFC/0VdW9mpQPpZh2cOyI5bPjuAZsRe7+Xw== - dependencies: - "@opentelemetry/api" "^1.7.0" - "@opentelemetry/otlp-transformer" "^0.45.1" - murmurhash-js "^1.0.0" - -"@grafana/faro-web-sdk@1.0.2": - version "1.0.2" - resolved "https://registry.yarnpkg.com/@grafana/faro-web-sdk/-/faro-web-sdk-1.0.2.tgz#24e305a5d91fccc9c57577606f0adb12ad7f4a93" - integrity sha512-C5Cx1owlhdpa+CSu4s5cBN9jmFGfhdoUilWc9bP0gK5LW/MIPlysYNgE/1jCyYYQekOnQPNAxwBUOx1c0kbDqg== - dependencies: - "@grafana/faro-core" "^1.0.2" - ua-parser-js "^1.0.32" - web-vitals "^3.1.1" - -"@grafana/runtime@10.0.3": - version "10.0.3" - resolved "https://registry.yarnpkg.com/@grafana/runtime/-/runtime-10.0.3.tgz#b1f25634ce48054979f3dcffd5b9b6c8988e27d0" - integrity sha512-yqab2KW67+2S+kKUscniSC8t1HRqzArvbHaYV8t/DVe1u1M3gPvCq3+770p04KZ9C/ienBTV8SnLXsqFQZsqjw== - dependencies: - "@grafana/data" "10.0.3" - "@grafana/e2e-selectors" "10.0.3" - "@grafana/faro-web-sdk" "1.0.2" - "@grafana/ui" "10.0.3" - "@sentry/browser" "6.19.7" - history "4.10.1" - lodash "4.17.21" - rxjs "7.8.0" - systemjs "0.20.19" - tslib "2.5.0" - -"@grafana/scenes@^1.28.0": - version "1.30.0" - resolved "https://registry.yarnpkg.com/@grafana/scenes/-/scenes-1.30.0.tgz#2dbf76488a25fa8ac91abb49fdea6d04d5b6e8f0" - integrity sha512-vrSvziS7FkoGBqexEmMuN7Hp4VvLQZKoo1s58/3ghJ6VYRZCFY/R2XyJC2H+ktMPqZ1lrXcQHGdIEx9csGMQyA== - dependencies: - "@grafana/e2e-selectors" "10.0.2" - react-grid-layout "1.3.4" - react-use "17.4.0" - react-virtualized-auto-sizer "1.0.7" - uuid "^9.0.0" - -"@grafana/schema@10.0.3": - version "10.0.3" - resolved "https://registry.yarnpkg.com/@grafana/schema/-/schema-10.0.3.tgz#d8aaa9aa309d0639258af787bec06ed5b75f356f" - integrity sha512-0CBAB3HamQBuNaQXpN1B27Pq7yfFs5VBf7Y1vbuUcNnYEnZg4YtbBR8IiVeCLl3v4NjauskbRIu7iTafZOcBpQ== - dependencies: - tslib "2.5.0" - -"@grafana/tsconfig@^1.2.0-rc1": - version "1.2.0-rc1" - resolved "https://registry.yarnpkg.com/@grafana/tsconfig/-/tsconfig-1.2.0-rc1.tgz#10973c978ec95b0ea637511254b5f478bce04de7" - integrity sha512-+SgQeBQ1pT6D/E3/dEdADqTrlgdIGuexUZ8EU+8KxQFKUeFeU7/3z/ayI2q/wpJ/Kr6WxBBNlrST6aOKia19Ag== - -"@grafana/ui@10.0.3": - version "10.0.3" - resolved "https://registry.yarnpkg.com/@grafana/ui/-/ui-10.0.3.tgz#ef63fcce3e8357796cb2ef4f29b0213876c5e07f" - integrity sha512-X3Lzd4G1X5rJsqGcu9lSbF22BxxQQUjV9sVzoFTDU2losCDgZRyM3IWfeH/ASbpBv+3c9EU6OiEycscbjuWKqg== - dependencies: - "@emotion/css" "11.10.6" - "@emotion/react" "11.10.6" - "@grafana/data" "10.0.3" - "@grafana/e2e-selectors" "10.0.3" - "@grafana/faro-web-sdk" "1.0.2" - "@grafana/schema" "10.0.3" - "@leeoniya/ufuzzy" "1.0.6" - "@monaco-editor/react" "4.4.6" - "@popperjs/core" "2.11.6" - "@react-aria/button" "3.6.1" - "@react-aria/dialog" "3.3.1" - "@react-aria/focus" "3.8.0" - "@react-aria/menu" "3.6.1" - "@react-aria/overlays" "3.10.1" - "@react-aria/utils" "3.13.1" - "@react-stately/menu" "3.4.1" - "@sentry/browser" "6.19.7" - ansicolor "1.1.100" - calculate-size "1.1.1" - classnames "2.3.2" - core-js "3.28.0" - d3 "7.8.2" - date-fns "2.29.3" - hoist-non-react-statics "3.3.2" - i18next "^22.0.0" - immutable "4.2.4" - is-hotkey "0.2.0" - jquery "3.6.3" - lodash "4.17.21" - memoize-one "6.0.0" - moment "2.29.4" - monaco-editor "0.34.0" - ol "7.2.2" - prismjs "1.29.0" - rc-cascader "3.10.2" - rc-drawer "6.1.3" - rc-slider "10.1.1" - rc-time-picker "^3.7.3" - rc-tooltip "5.3.1" - react-beautiful-dnd "13.1.1" - react-calendar "4.0.0" - react-colorful "5.6.1" - react-custom-scrollbars-2 "4.5.0" - react-dropzone "14.2.3" - react-highlight-words "0.20.0" - react-hook-form "7.5.3" - react-i18next "^12.0.0" - react-inlinesvg "3.0.2" - react-popper "2.3.0" - react-popper-tooltip "4.4.2" - react-router-dom "5.3.3" - react-select "5.7.0" - react-select-event "^5.1.0" - react-table "7.8.0" - react-transition-group "4.4.5" - react-use "17.4.0" - react-window "1.8.8" - rxjs "7.8.0" - slate "0.47.9" - slate-plain-serializer "0.7.13" - slate-react "0.22.10" - tinycolor2 "1.6.0" - tslib "2.5.0" - uplot "1.6.24" - uuid "9.0.0" - -"@humanwhocodes/config-array@^0.11.10": - version "0.11.14" - resolved "https://registry.yarnpkg.com/@humanwhocodes/config-array/-/config-array-0.11.14.tgz#d78e481a039f7566ecc9660b4ea7fe6b1fec442b" - integrity sha512-3T8LkOmg45BV5FICb15QQMsyUSWrQ8AygVfC7ZG32zOalnqrilm018ZVCw0eapXux8FtA33q8PSRSstjee3jSg== - dependencies: - "@humanwhocodes/object-schema" "^2.0.2" - debug "^4.3.1" - minimatch "^3.0.5" - -"@humanwhocodes/module-importer@^1.0.1": - version "1.0.1" - resolved "https://registry.yarnpkg.com/@humanwhocodes/module-importer/-/module-importer-1.0.1.tgz#af5b2691a22b44be847b0ca81641c5fb6ad0172c" - integrity sha512-bxveV4V8v5Yb4ncFTT3rPSgZBOpCkjfK0y4oVVVJwIuDVBRMDXrPyXRL988i5ap9m9bnyEEjWfm5WkBmtffLfA== - -"@humanwhocodes/object-schema@^2.0.2": - version "2.0.2" - resolved "https://registry.yarnpkg.com/@humanwhocodes/object-schema/-/object-schema-2.0.2.tgz#d9fae00a2d5cb40f92cfe64b47ad749fbc38f917" - integrity sha512-6EwiSjwWYP7pTckG6I5eyFANjPhmPjUX9JRLUSfNPC7FX7zK9gyZAfUEaECL6ALTpGX5AjnBq3C9XmVWPitNpw== - -"@internationalized/date@^3.5.1": - version "3.5.1" - resolved "https://registry.yarnpkg.com/@internationalized/date/-/date-3.5.1.tgz#14401139f70c1ef14b845d3cac8912e82e82adcc" - integrity sha512-LUQIfwU9e+Fmutc/DpRTGXSdgYZLBegi4wygCWDSVmUdLTaMHsQyASDiJtREwanwKuQLq0hY76fCJ9J/9I2xOQ== - dependencies: - "@swc/helpers" "^0.5.0" - -"@internationalized/message@^3.1.1": - version "3.1.1" - resolved "https://registry.yarnpkg.com/@internationalized/message/-/message-3.1.1.tgz#0f29c5a239b5dcd457b55f21dcd38d1a44a1236a" - integrity sha512-ZgHxf5HAPIaR0th+w0RUD62yF6vxitjlprSxmLJ1tam7FOekqRSDELMg4Cr/DdszG5YLsp5BG3FgHgqquQZbqw== - dependencies: - "@swc/helpers" "^0.5.0" - intl-messageformat "^10.1.0" - -"@internationalized/number@^3.5.0": - version "3.5.0" - resolved "https://registry.yarnpkg.com/@internationalized/number/-/number-3.5.0.tgz#9de6018424b441a6545f209afa286ad7df4a2906" - integrity sha512-ZY1BW8HT9WKYvaubbuqXbbDdHhOUMfE2zHHFJeTppid0S+pc8HtdIxFxaYMsGjCb4UsF+MEJ4n2TfU7iHnUK8w== - dependencies: - "@swc/helpers" "^0.5.0" - -"@internationalized/string@^3.2.0": - version "3.2.0" - resolved "https://registry.yarnpkg.com/@internationalized/string/-/string-3.2.0.tgz#cb7d2229919ccbfb9f3312710477f28986d217d6" - integrity sha512-Xx3Sy3f2c9ctT+vh8c7euEaEHQZltp0euZ3Hy4UfT3E13r6lxpUS3kgKyumEjboJZSnaZv7JhqWz3D75v+IxQg== - dependencies: - "@swc/helpers" "^0.5.0" - -"@isaacs/cliui@^8.0.2": - version "8.0.2" - resolved "https://registry.yarnpkg.com/@isaacs/cliui/-/cliui-8.0.2.tgz#b37667b7bc181c168782259bab42474fbf52b550" - integrity sha512-O8jcjabXaleOG9DQ0+ARXWZBTfnP4WNAqzuiJK7ll44AmxGKv/J2M4TPjxjY3znBCfvBXFzucm1twdyFybFqEA== - dependencies: - string-width "^5.1.2" - string-width-cjs "npm:string-width@^4.2.0" - strip-ansi "^7.0.1" - strip-ansi-cjs "npm:strip-ansi@^6.0.1" - wrap-ansi "^8.1.0" - wrap-ansi-cjs "npm:wrap-ansi@^7.0.0" - -"@istanbuljs/load-nyc-config@^1.0.0": - version "1.1.0" - resolved "https://registry.yarnpkg.com/@istanbuljs/load-nyc-config/-/load-nyc-config-1.1.0.tgz#fd3db1d59ecf7cf121e80650bb86712f9b55eced" - integrity sha512-VjeHSlIzpv/NyD3N0YuHfXOPDIixcA1q2ZV98wsMqcYlPmv2n3Yb2lYP9XMElnaFVXg5A7YLTeLu6V84uQDjmQ== - dependencies: - camelcase "^5.3.1" - find-up "^4.1.0" - get-package-type "^0.1.0" - js-yaml "^3.13.1" - resolve-from "^5.0.0" - -"@istanbuljs/schema@^0.1.2": - version "0.1.3" - resolved "https://registry.yarnpkg.com/@istanbuljs/schema/-/schema-0.1.3.tgz#e45e384e4b8ec16bce2fd903af78450f6bf7ec98" - integrity sha512-ZXRY4jNvVgSVQ8DL3LTcakaAtXwTVUxE81hslsyD2AtoXW/wVob10HkOJ1X/pAlcI7D+2YoZKg5do8G/w6RYgA== - -"@jest/console@^29.7.0": - version "29.7.0" - resolved "https://registry.yarnpkg.com/@jest/console/-/console-29.7.0.tgz#cd4822dbdb84529265c5a2bdb529a3c9cc950ffc" - integrity sha512-5Ni4CU7XHQi32IJ398EEP4RrB8eV09sXP2ROqD4bksHrnTree52PsxvX8tpL8LvTZ3pFzXyPbNQReSN41CAhOg== - dependencies: - "@jest/types" "^29.6.3" - "@types/node" "*" - chalk "^4.0.0" - jest-message-util "^29.7.0" - jest-util "^29.7.0" - slash "^3.0.0" - -"@jest/core@^29.7.0": - version "29.7.0" - resolved "https://registry.yarnpkg.com/@jest/core/-/core-29.7.0.tgz#b6cccc239f30ff36609658c5a5e2291757ce448f" - integrity sha512-n7aeXWKMnGtDA48y8TLWJPJmLmmZ642Ceo78cYWEpiD7FzDgmNDV/GCVRorPABdXLJZ/9wzzgZAlHjXjxDHGsg== - dependencies: - "@jest/console" "^29.7.0" - "@jest/reporters" "^29.7.0" - "@jest/test-result" "^29.7.0" - "@jest/transform" "^29.7.0" - "@jest/types" "^29.6.3" - "@types/node" "*" - ansi-escapes "^4.2.1" - chalk "^4.0.0" - ci-info "^3.2.0" - exit "^0.1.2" - graceful-fs "^4.2.9" - jest-changed-files "^29.7.0" - jest-config "^29.7.0" - jest-haste-map "^29.7.0" - jest-message-util "^29.7.0" - jest-regex-util "^29.6.3" - jest-resolve "^29.7.0" - jest-resolve-dependencies "^29.7.0" - jest-runner "^29.7.0" - jest-runtime "^29.7.0" - jest-snapshot "^29.7.0" - jest-util "^29.7.0" - jest-validate "^29.7.0" - jest-watcher "^29.7.0" - micromatch "^4.0.4" - pretty-format "^29.7.0" - slash "^3.0.0" - strip-ansi "^6.0.0" - -"@jest/create-cache-key-function@^29.7.0": - version "29.7.0" - resolved "https://registry.yarnpkg.com/@jest/create-cache-key-function/-/create-cache-key-function-29.7.0.tgz#793be38148fab78e65f40ae30c36785f4ad859f0" - integrity sha512-4QqS3LY5PBmTRHj9sAg1HLoPzqAI0uOX6wI/TRqHIcOxlFidy6YEmCQJk6FSZjNLGCeubDMfmkWL+qaLKhSGQA== - dependencies: - "@jest/types" "^29.6.3" - -"@jest/environment@^29.7.0": - version "29.7.0" - resolved "https://registry.yarnpkg.com/@jest/environment/-/environment-29.7.0.tgz#24d61f54ff1f786f3cd4073b4b94416383baf2a7" - integrity sha512-aQIfHDq33ExsN4jP1NWGXhxgQ/wixs60gDiKO+XVMd8Mn0NWPWgc34ZQDTb2jKaUWQ7MuwoitXAsN2XVXNMpAw== - dependencies: - "@jest/fake-timers" "^29.7.0" - "@jest/types" "^29.6.3" - "@types/node" "*" - jest-mock "^29.7.0" - -"@jest/expect-utils@^29.7.0": - version "29.7.0" - resolved "https://registry.yarnpkg.com/@jest/expect-utils/-/expect-utils-29.7.0.tgz#023efe5d26a8a70f21677d0a1afc0f0a44e3a1c6" - integrity sha512-GlsNBWiFQFCVi9QVSx7f5AgMeLxe9YCCs5PuP2O2LdjDAA8Jh9eX7lA1Jq/xdXw3Wb3hyvlFNfZIfcRetSzYcA== - dependencies: - jest-get-type "^29.6.3" - -"@jest/expect@^29.7.0": - version "29.7.0" - resolved "https://registry.yarnpkg.com/@jest/expect/-/expect-29.7.0.tgz#76a3edb0cb753b70dfbfe23283510d3d45432bf2" - integrity sha512-8uMeAMycttpva3P1lBHB8VciS9V0XAr3GymPpipdyQXbBcuhkLQOSe8E/p92RyAdToS6ZD1tFkX+CkhoECE0dQ== - dependencies: - expect "^29.7.0" - jest-snapshot "^29.7.0" - -"@jest/fake-timers@^29.7.0": - version "29.7.0" - resolved "https://registry.yarnpkg.com/@jest/fake-timers/-/fake-timers-29.7.0.tgz#fd91bf1fffb16d7d0d24a426ab1a47a49881a565" - integrity sha512-q4DH1Ha4TTFPdxLsqDXK1d3+ioSL7yL5oCMJZgDYm6i+6CygW5E5xVr/D1HdsGxjt1ZWSfUAs9OxSB/BNelWrQ== - dependencies: - "@jest/types" "^29.6.3" - "@sinonjs/fake-timers" "^10.0.2" - "@types/node" "*" - jest-message-util "^29.7.0" - jest-mock "^29.7.0" - jest-util "^29.7.0" - -"@jest/globals@^29.7.0": - version "29.7.0" - resolved "https://registry.yarnpkg.com/@jest/globals/-/globals-29.7.0.tgz#8d9290f9ec47ff772607fa864ca1d5a2efae1d4d" - integrity sha512-mpiz3dutLbkW2MNFubUGUEVLkTGiqW6yLVTA+JbP6fI6J5iL9Y0Nlg8k95pcF8ctKwCS7WVxteBs29hhfAotzQ== - dependencies: - "@jest/environment" "^29.7.0" - "@jest/expect" "^29.7.0" - "@jest/types" "^29.6.3" - jest-mock "^29.7.0" - -"@jest/reporters@^29.7.0": - version "29.7.0" - resolved "https://registry.yarnpkg.com/@jest/reporters/-/reporters-29.7.0.tgz#04b262ecb3b8faa83b0b3d321623972393e8f4c7" - integrity sha512-DApq0KJbJOEzAFYjHADNNxAE3KbhxQB1y5Kplb5Waqw6zVbuWatSnMjE5gs8FUgEPmNsnZA3NCWl9NG0ia04Pg== - dependencies: - "@bcoe/v8-coverage" "^0.2.3" - "@jest/console" "^29.7.0" - "@jest/test-result" "^29.7.0" - "@jest/transform" "^29.7.0" - "@jest/types" "^29.6.3" - "@jridgewell/trace-mapping" "^0.3.18" - "@types/node" "*" - chalk "^4.0.0" - collect-v8-coverage "^1.0.0" - exit "^0.1.2" - glob "^7.1.3" - graceful-fs "^4.2.9" - istanbul-lib-coverage "^3.0.0" - istanbul-lib-instrument "^6.0.0" - istanbul-lib-report "^3.0.0" - istanbul-lib-source-maps "^4.0.0" - istanbul-reports "^3.1.3" - jest-message-util "^29.7.0" - jest-util "^29.7.0" - jest-worker "^29.7.0" - slash "^3.0.0" - string-length "^4.0.1" - strip-ansi "^6.0.0" - v8-to-istanbul "^9.0.1" - -"@jest/schemas@^29.6.3": - version "29.6.3" - resolved "https://registry.yarnpkg.com/@jest/schemas/-/schemas-29.6.3.tgz#430b5ce8a4e0044a7e3819663305a7b3091c8e03" - integrity sha512-mo5j5X+jIZmJQveBKeS/clAueipV7KgiX1vMgCxam1RNYiqE1w62n0/tJJnHtjW8ZHcQco5gY85jA3mi0L+nSA== - dependencies: - "@sinclair/typebox" "^0.27.8" - -"@jest/source-map@^29.6.3": - version "29.6.3" - resolved "https://registry.yarnpkg.com/@jest/source-map/-/source-map-29.6.3.tgz#d90ba772095cf37a34a5eb9413f1b562a08554c4" - integrity sha512-MHjT95QuipcPrpLM+8JMSzFx6eHp5Bm+4XeFDJlwsvVBjmKNiIAvasGK2fxz2WbGRlnvqehFbh07MMa7n3YJnw== - dependencies: - "@jridgewell/trace-mapping" "^0.3.18" - callsites "^3.0.0" - graceful-fs "^4.2.9" - -"@jest/test-result@^29.7.0": - version "29.7.0" - resolved "https://registry.yarnpkg.com/@jest/test-result/-/test-result-29.7.0.tgz#8db9a80aa1a097bb2262572686734baed9b1657c" - integrity sha512-Fdx+tv6x1zlkJPcWXmMDAG2HBnaR9XPSd5aDWQVsfrZmLVT3lU1cwyxLgRmXR9yrq4NBoEm9BMsfgFzTQAbJYA== - dependencies: - "@jest/console" "^29.7.0" - "@jest/types" "^29.6.3" - "@types/istanbul-lib-coverage" "^2.0.0" - collect-v8-coverage "^1.0.0" - -"@jest/test-sequencer@^29.7.0": - version "29.7.0" - resolved "https://registry.yarnpkg.com/@jest/test-sequencer/-/test-sequencer-29.7.0.tgz#6cef977ce1d39834a3aea887a1726628a6f072ce" - integrity sha512-GQwJ5WZVrKnOJuiYiAF52UNUJXgTZx1NHjFSEB0qEMmSZKAkdMoIzw/Cj6x6NF4AvV23AUqDpFzQkN/eYCYTxw== - dependencies: - "@jest/test-result" "^29.7.0" - graceful-fs "^4.2.9" - jest-haste-map "^29.7.0" - slash "^3.0.0" - -"@jest/transform@^29.7.0": - version "29.7.0" - resolved "https://registry.yarnpkg.com/@jest/transform/-/transform-29.7.0.tgz#df2dd9c346c7d7768b8a06639994640c642e284c" - integrity sha512-ok/BTPFzFKVMwO5eOHRrvnBVHdRy9IrsrW1GpMaQ9MCnilNLXQKmAX8s1YXDFaai9xJpac2ySzV0YeRRECr2Vw== - dependencies: - "@babel/core" "^7.11.6" - "@jest/types" "^29.6.3" - "@jridgewell/trace-mapping" "^0.3.18" - babel-plugin-istanbul "^6.1.1" - chalk "^4.0.0" - convert-source-map "^2.0.0" - fast-json-stable-stringify "^2.1.0" - graceful-fs "^4.2.9" - jest-haste-map "^29.7.0" - jest-regex-util "^29.6.3" - jest-util "^29.7.0" - micromatch "^4.0.4" - pirates "^4.0.4" - slash "^3.0.0" - write-file-atomic "^4.0.2" - -"@jest/types@^29.6.3": - version "29.6.3" - resolved "https://registry.yarnpkg.com/@jest/types/-/types-29.6.3.tgz#1131f8cf634e7e84c5e77bab12f052af585fba59" - integrity sha512-u3UPsIilWKOM3F9CXtrG8LEJmNxwoCQC/XVj4IKYXvvpx7QIi/Kg1LI5uDmDpKlac62NUtX7eLjRh+jVZcLOzw== - dependencies: - "@jest/schemas" "^29.6.3" - "@types/istanbul-lib-coverage" "^2.0.0" - "@types/istanbul-reports" "^3.0.0" - "@types/node" "*" - "@types/yargs" "^17.0.8" - chalk "^4.0.0" - -"@jridgewell/gen-mapping@^0.3.0", "@jridgewell/gen-mapping@^0.3.2": - version "0.3.3" - resolved "https://registry.yarnpkg.com/@jridgewell/gen-mapping/-/gen-mapping-0.3.3.tgz#7e02e6eb5df901aaedb08514203b096614024098" - integrity sha512-HLhSWOLRi875zjjMG/r+Nv0oCW8umGb0BgEhyX3dDX3egwZtB8PqLnjz3yedt8R5StBrzcg4aBpnh8UA9D1BoQ== - dependencies: - "@jridgewell/set-array" "^1.0.1" - "@jridgewell/sourcemap-codec" "^1.4.10" - "@jridgewell/trace-mapping" "^0.3.9" - -"@jridgewell/resolve-uri@^3.0.3", "@jridgewell/resolve-uri@^3.1.0": - version "3.1.1" - resolved "https://registry.yarnpkg.com/@jridgewell/resolve-uri/-/resolve-uri-3.1.1.tgz#c08679063f279615a3326583ba3a90d1d82cc721" - integrity sha512-dSYZh7HhCDtCKm4QakX0xFpsRDqjjtZf/kjI/v3T3Nwt5r8/qz/M19F9ySyOqU94SXBmeG9ttTul+YnR4LOxFA== - -"@jridgewell/set-array@^1.0.1": - version "1.1.2" - resolved "https://registry.yarnpkg.com/@jridgewell/set-array/-/set-array-1.1.2.tgz#7c6cf998d6d20b914c0a55a91ae928ff25965e72" - integrity sha512-xnkseuNADM0gt2bs+BvhO0p78Mk762YnZdsuzFV018NoG1Sj1SCQvpSqa7XUaTam5vAGasABV9qXASMKnFMwMw== - -"@jridgewell/source-map@^0.3.3": - version "0.3.5" - resolved "https://registry.yarnpkg.com/@jridgewell/source-map/-/source-map-0.3.5.tgz#a3bb4d5c6825aab0d281268f47f6ad5853431e91" - integrity sha512-UTYAUj/wviwdsMfzoSJspJxbkH5o1snzwX0//0ENX1u/55kkZZkcTZP6u9bwKGkv+dkk9at4m1Cpt0uY80kcpQ== - dependencies: - "@jridgewell/gen-mapping" "^0.3.0" - "@jridgewell/trace-mapping" "^0.3.9" - -"@jridgewell/sourcemap-codec@^1.4.10", "@jridgewell/sourcemap-codec@^1.4.14", "@jridgewell/sourcemap-codec@^1.4.15": - version "1.4.15" - resolved "https://registry.yarnpkg.com/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.4.15.tgz#d7c6e6755c78567a951e04ab52ef0fd26de59f32" - integrity sha512-eF2rxCRulEKXHTRiDrDy6erMYWqNw4LPdQ8UQA4huuxaQsVeRPFl2oM8oDGxMFhJUWZf9McpLtJasDDZb/Bpeg== - -"@jridgewell/trace-mapping@0.3.9": - version "0.3.9" - resolved "https://registry.yarnpkg.com/@jridgewell/trace-mapping/-/trace-mapping-0.3.9.tgz#6534fd5933a53ba7cbf3a17615e273a0d1273ff9" - integrity sha512-3Belt6tdc8bPgAtbcmdtNJlirVoTmEb5e2gC94PnkwEW9jI6CAHUeoG85tjWP5WquqfavoMtMwiG4P926ZKKuQ== - dependencies: - "@jridgewell/resolve-uri" "^3.0.3" - "@jridgewell/sourcemap-codec" "^1.4.10" - -"@jridgewell/trace-mapping@^0.3.12", "@jridgewell/trace-mapping@^0.3.17", "@jridgewell/trace-mapping@^0.3.18", "@jridgewell/trace-mapping@^0.3.20", "@jridgewell/trace-mapping@^0.3.9": - version "0.3.21" - resolved "https://registry.yarnpkg.com/@jridgewell/trace-mapping/-/trace-mapping-0.3.21.tgz#5dc1df7b3dc4a6209e503a924e1ca56097a2bb15" - integrity sha512-SRfKmRe1KvYnxjEMtxEr+J4HIeMX5YBg/qhRHpxEIGjhX1rshcHlnFUE9K0GazhVKWM7B+nARSkV8LuvJdJ5/g== - dependencies: - "@jridgewell/resolve-uri" "^3.1.0" - "@jridgewell/sourcemap-codec" "^1.4.14" - -"@leeoniya/ufuzzy@1.0.6": - version "1.0.6" - resolved "https://registry.yarnpkg.com/@leeoniya/ufuzzy/-/ufuzzy-1.0.6.tgz#cbafcff1529d9592b92bd735f1e8b18f23eda983" - integrity sha512-7co2giTKNKESSEqW+nijF2cGG92WtlGkxFFq7dnwQTemS209JzTLODsnF1pS4KMr3S9xa7WheeCKfGVo5U7s6g== - -"@mapbox/jsonlint-lines-primitives@~2.0.2": - version "2.0.2" - resolved "https://registry.yarnpkg.com/@mapbox/jsonlint-lines-primitives/-/jsonlint-lines-primitives-2.0.2.tgz#ce56e539f83552b58d10d672ea4d6fc9adc7b234" - integrity sha512-rY0o9A5ECsTQRVhv7tL/OyDpGAoUB4tTvLiW1DSzQGq4bvTPhNw1VpSNjDJc5GFZ2XuyOtSWSVN05qOtcD71qQ== - -"@mapbox/mapbox-gl-style-spec@^13.23.1": - version "13.28.0" - resolved "https://registry.yarnpkg.com/@mapbox/mapbox-gl-style-spec/-/mapbox-gl-style-spec-13.28.0.tgz#2ec226320a0f77856046e000df9b419303a56458" - integrity sha512-B8xM7Fp1nh5kejfIl4SWeY0gtIeewbuRencqO3cJDrCHZpaPg7uY+V8abuR+esMeuOjRl5cLhVTP40v+1ywxbg== - dependencies: - "@mapbox/jsonlint-lines-primitives" "~2.0.2" - "@mapbox/point-geometry" "^0.1.0" - "@mapbox/unitbezier" "^0.0.0" - csscolorparser "~1.0.2" - json-stringify-pretty-compact "^2.0.0" - minimist "^1.2.6" - rw "^1.3.3" - sort-object "^0.3.2" - -"@mapbox/point-geometry@^0.1.0": - version "0.1.0" - resolved "https://registry.yarnpkg.com/@mapbox/point-geometry/-/point-geometry-0.1.0.tgz#8a83f9335c7860effa2eeeca254332aa0aeed8f2" - integrity sha512-6j56HdLTwWGO0fJPlrZtdU/B13q8Uwmo18Ck2GnGgN9PCFyKTZ3UbXeEdRFh18i9XQ92eH2VdtpJHpBD3aripQ== - -"@mapbox/unitbezier@^0.0.0": - version "0.0.0" - resolved "https://registry.yarnpkg.com/@mapbox/unitbezier/-/unitbezier-0.0.0.tgz#15651bd553a67b8581fb398810c98ad86a34524e" - integrity sha512-HPnRdYO0WjFjRTSwO3frz1wKaU649OBFPX3Zo/2WZvuRi6zMiRGui8SnPQiQABgqCf8YikDe5t3HViTVw1WUzA== - -"@mochajs/json-file-reporter@^1.2.0": - version "1.3.0" - resolved "https://registry.yarnpkg.com/@mochajs/json-file-reporter/-/json-file-reporter-1.3.0.tgz#63a53bcda93d75f5c5c74af60e45da063931370b" - integrity sha512-evIxpeP8EOixo/T2xh5xYEIzwbEHk8YNJfRUm1KeTs8F3bMjgNn2580Ogze9yisXNlTxu88JiJJYzXjjg5NdLA== - -"@monaco-editor/loader@^1.3.2": - version "1.4.0" - resolved "https://registry.yarnpkg.com/@monaco-editor/loader/-/loader-1.4.0.tgz#f08227057331ec890fa1e903912a5b711a2ad558" - integrity sha512-00ioBig0x642hytVspPl7DbQyaSWRaolYie/UFNjoTdvoKPzo6xrXLhTk9ixgIKcLH5b5vDOjVNiGyY+uDCUlg== - dependencies: - state-local "^1.0.6" - -"@monaco-editor/react@4.4.6": - version "4.4.6" - resolved "https://registry.yarnpkg.com/@monaco-editor/react/-/react-4.4.6.tgz#8ae500b0edf85276d860ed702e7056c316548218" - integrity sha512-Gr3uz3LYf33wlFE3eRnta4RxP5FSNxiIV9ENn2D2/rN8KgGAD8ecvcITRtsbbyuOuNkwbuHYxfeaz2Vr+CtyFA== - dependencies: - "@monaco-editor/loader" "^1.3.2" - prop-types "^15.7.2" - -"@nodelib/fs.scandir@2.1.5": - version "2.1.5" - resolved "https://registry.yarnpkg.com/@nodelib/fs.scandir/-/fs.scandir-2.1.5.tgz#7619c2eb21b25483f6d167548b4cfd5a7488c3d5" - integrity sha512-vq24Bq3ym5HEQm2NKCr3yXDwjc7vTsEThRDnkp2DK9p1uqLR+DHurm/NOTo0KG7HYHU7eppKZj3MyqYuMBf62g== - dependencies: - "@nodelib/fs.stat" "2.0.5" - run-parallel "^1.1.9" - -"@nodelib/fs.stat@2.0.5", "@nodelib/fs.stat@^2.0.2": - version "2.0.5" - resolved "https://registry.yarnpkg.com/@nodelib/fs.stat/-/fs.stat-2.0.5.tgz#5bd262af94e9d25bd1e71b05deed44876a222e8b" - integrity sha512-RkhPPp2zrqDAQA/2jNhnztcPAlv64XdhIp7a7454A5ovI7Bukxgt7MX7udwAu3zg1DcpPU0rz3VV1SeaqvY4+A== - -"@nodelib/fs.walk@^1.2.3", "@nodelib/fs.walk@^1.2.8": - version "1.2.8" - resolved "https://registry.yarnpkg.com/@nodelib/fs.walk/-/fs.walk-1.2.8.tgz#e95737e8bb6746ddedf69c556953494f196fe69a" - integrity sha512-oGB+UxlgWcgQkgwo8GcEGwemoTFt3FIO9ababBmaGwXIoBKZ+GTy0pP185beGg7Llih/NSHSV2XAs1lnznocSg== - dependencies: - "@nodelib/fs.scandir" "2.1.5" - fastq "^1.6.0" - -"@opentelemetry/api-logs@0.45.1": - version "0.45.1" - resolved "https://registry.yarnpkg.com/@opentelemetry/api-logs/-/api-logs-0.45.1.tgz#9e4f2c652dcce798c5627939b22304c2b5ce19c5" - integrity sha512-zVGq/k70l+kB/Wuv3O/zhptP2hvDhEbhDu9EtHde1iWZJf3FedeYS/nWVcMBkkyPAjS/JKNk86WN4CBQLGUuOw== - dependencies: - "@opentelemetry/api" "^1.0.0" - -"@opentelemetry/api@^1.0.0", "@opentelemetry/api@^1.7.0": - version "1.7.0" - resolved "https://registry.yarnpkg.com/@opentelemetry/api/-/api-1.7.0.tgz#b139c81999c23e3c8d3c0a7234480e945920fc40" - integrity sha512-AdY5wvN0P2vXBi3b29hxZgSFvdhdxPB9+f0B6s//P9Q8nibRWeA3cHm8UmLpio9ABigkVHJ5NMPk+Mz8VCCyrw== - -"@opentelemetry/core@1.18.1": - version "1.18.1" - resolved "https://registry.yarnpkg.com/@opentelemetry/core/-/core-1.18.1.tgz#d2e45f6bd6be4f00d20d18d4f1b230ec33805ae9" - integrity sha512-kvnUqezHMhsQvdsnhnqTNfAJs3ox/isB0SVrM1dhVFw7SsB7TstuVa6fgWnN2GdPyilIFLUvvbTZoVRmx6eiRg== - dependencies: - "@opentelemetry/semantic-conventions" "1.18.1" - -"@opentelemetry/otlp-transformer@^0.45.1": - version "0.45.1" - resolved "https://registry.yarnpkg.com/@opentelemetry/otlp-transformer/-/otlp-transformer-0.45.1.tgz#8f6590b93f177510983bea3055e5a3f3d30faad2" - integrity sha512-FhIHgfC0b0XtoBrS5ISfva939yWffNl47ypXR8I7Ru+dunlySpmf2TLocKHYLHGcWiuoeSNO5O4dZCmSKOtpXw== - dependencies: - "@opentelemetry/api-logs" "0.45.1" - "@opentelemetry/core" "1.18.1" - "@opentelemetry/resources" "1.18.1" - "@opentelemetry/sdk-logs" "0.45.1" - "@opentelemetry/sdk-metrics" "1.18.1" - "@opentelemetry/sdk-trace-base" "1.18.1" - -"@opentelemetry/resources@1.18.1": - version "1.18.1" - resolved "https://registry.yarnpkg.com/@opentelemetry/resources/-/resources-1.18.1.tgz#e27bdc4715bccc8cd4a72d4aca3995ad0a496fe7" - integrity sha512-JjbcQLYMttXcIabflLRuaw5oof5gToYV9fuXbcsoOeQ0BlbwUn6DAZi++PNsSz2jjPeASfDls10iaO/8BRIPRA== - dependencies: - "@opentelemetry/core" "1.18.1" - "@opentelemetry/semantic-conventions" "1.18.1" - -"@opentelemetry/sdk-logs@0.45.1": - version "0.45.1" - resolved "https://registry.yarnpkg.com/@opentelemetry/sdk-logs/-/sdk-logs-0.45.1.tgz#d59a99147ab15eb36757932517dfc9a10e1645e9" - integrity sha512-z0RRgW4LeKEKnhXS4F/HnqB6+7gsy63YK47F4XAJYHs4s1KKg8XnQ2RkbuL31i/a9nXkylttYtvsT50CGr487g== - dependencies: - "@opentelemetry/core" "1.18.1" - "@opentelemetry/resources" "1.18.1" - -"@opentelemetry/sdk-metrics@1.18.1": - version "1.18.1" - resolved "https://registry.yarnpkg.com/@opentelemetry/sdk-metrics/-/sdk-metrics-1.18.1.tgz#1dd334744a1e5d2eec27e9e9765c73cd2f43aef3" - integrity sha512-TEFgeNFhdULBYiCoHbz31Y4PDsfjjxRp8Wmdp6ybLQZPqMNEb+dRq+XN8Xw3ivIgTaf9gYsomgV5ensX99RuEQ== - dependencies: - "@opentelemetry/core" "1.18.1" - "@opentelemetry/resources" "1.18.1" - lodash.merge "^4.6.2" - -"@opentelemetry/sdk-trace-base@1.18.1": - version "1.18.1" - resolved "https://registry.yarnpkg.com/@opentelemetry/sdk-trace-base/-/sdk-trace-base-1.18.1.tgz#256605d90b202002d5672305c66dbcf377132379" - integrity sha512-tRHfDxN5dO+nop78EWJpzZwHsN1ewrZRVVwo03VJa3JQZxToRDH29/+MB24+yoa+IArerdr7INFJiX/iN4gjqg== - dependencies: - "@opentelemetry/core" "1.18.1" - "@opentelemetry/resources" "1.18.1" - "@opentelemetry/semantic-conventions" "1.18.1" - -"@opentelemetry/semantic-conventions@1.18.1": - version "1.18.1" - resolved "https://registry.yarnpkg.com/@opentelemetry/semantic-conventions/-/semantic-conventions-1.18.1.tgz#8e47caf57a84b1dcc1722b2025693348cdf443b4" - integrity sha512-+NLGHr6VZwcgE/2lw8zDIufOCGnzsA5CbQIMleXZTrgkBd0TanCX+MiDYJ1TOS4KL/Tqk0nFRxawnaYr6pkZkA== - -"@petamoriken/float16@^3.4.7": - version "3.8.4" - resolved "https://registry.yarnpkg.com/@petamoriken/float16/-/float16-3.8.4.tgz#cd3c02a7fe39f10ae3dd24ed33bd082053aadd66" - integrity sha512-kB+NJ5Br56ZhElKsf0pM7/PQfrDdDVMRz8f0JM6eVOGE+L89z9hwcst9QvWBBnazzuqGTGtPsJNZoQ1JdNiGSQ== - -"@pkgjs/parseargs@^0.11.0": - version "0.11.0" - resolved "https://registry.yarnpkg.com/@pkgjs/parseargs/-/parseargs-0.11.0.tgz#a77ea742fab25775145434eb1d2328cf5013ac33" - integrity sha512-+1VkjdD0QBLPodGrJUeqarH8VAIvQODIbwh9XpP5Syisf7YoQgsJKPNFoqqLQlu+VQ/tVSshMR6loPMn8U+dPg== - -"@popperjs/core@2.11.6": - version "2.11.6" - resolved "https://registry.yarnpkg.com/@popperjs/core/-/core-2.11.6.tgz#cee20bd55e68a1720bdab363ecf0c821ded4cd45" - integrity sha512-50/17A98tWUfQ176raKiOGXuYpLyyVMkxxG6oylzL3BPOlA6ADGdK7EYunSa4I064xerltq9TGXs8HmOk5E+vw== - -"@popperjs/core@^2.11.5": - version "2.11.8" - resolved "https://registry.yarnpkg.com/@popperjs/core/-/core-2.11.8.tgz#6b79032e760a0899cd4204710beede972a3a185f" - integrity sha512-P1st0aksCrn9sGZhp8GMYwBnQsbvAWsZAX44oXNNvLHGqAOcoVxmjZiohstwQ7SqKnbR47akdNi+uleWD8+g6A== - -"@rc-component/portal@^1.0.0-6", "@rc-component/portal@^1.1.0": - version "1.1.2" - resolved "https://registry.yarnpkg.com/@rc-component/portal/-/portal-1.1.2.tgz#55db1e51d784e034442e9700536faaa6ab63fc71" - integrity sha512-6f813C0IsasTZms08kfA8kPAGxbbkYToa8ALaiDIGGECU4i9hj8Plgbx0sNJDrey3EtHO30hmdaxtT0138xZcg== - dependencies: - "@babel/runtime" "^7.18.0" - classnames "^2.3.2" - rc-util "^5.24.4" - -"@rc-component/trigger@^1.5.0": - version "1.18.2" - resolved "https://registry.yarnpkg.com/@rc-component/trigger/-/trigger-1.18.2.tgz#dc52c4c66fa8aaccaf0710498f2429fc05454e3b" - integrity sha512-jRLYgFgjLEPq3MvS87fIhcfuywFSRDaDrYw1FLku7Cm4esszvzTbA0JBsyacAyLrK9rF3TiHFcvoEDMzoD3CTA== - dependencies: - "@babel/runtime" "^7.23.2" - "@rc-component/portal" "^1.1.0" - classnames "^2.3.2" - rc-motion "^2.0.0" - rc-resize-observer "^1.3.1" - rc-util "^5.38.0" - -"@react-aria/button@3.6.1": - version "3.6.1" - resolved "https://registry.yarnpkg.com/@react-aria/button/-/button-3.6.1.tgz#111e296df8e171e4eb227c306f087337490bc896" - integrity sha512-g10dk0eIQ71F1QefUymbff0yceQFHEKzOwK7J5QAFB5w/FUSmCTsMkBrrra4AogRxYHIAr5adPic5F2g7VzQFw== - dependencies: - "@babel/runtime" "^7.6.2" - "@react-aria/focus" "^3.8.0" - "@react-aria/interactions" "^3.11.0" - "@react-aria/utils" "^3.13.3" - "@react-stately/toggle" "^3.4.1" - "@react-types/button" "^3.6.1" - "@react-types/shared" "^3.14.1" - -"@react-aria/dialog@3.3.1": - version "3.3.1" - resolved "https://registry.yarnpkg.com/@react-aria/dialog/-/dialog-3.3.1.tgz#16e250ecc25ddd5da140a4b3dccb4af0d2bfacb8" - integrity sha512-Sz7XdzX3rRhmfIp1rYS5D90T1tqiDsAkONsbPBRqUJx7NrjKiHhx3wvG4shiK66cPhAZwBk7wuQmMugDeIDFSA== - dependencies: - "@babel/runtime" "^7.6.2" - "@react-aria/focus" "^3.8.0" - "@react-aria/utils" "^3.13.3" - "@react-stately/overlays" "^3.4.1" - "@react-types/dialog" "^3.4.3" - "@react-types/shared" "^3.14.1" - -"@react-aria/focus@3.8.0": - version "3.8.0" - resolved "https://registry.yarnpkg.com/@react-aria/focus/-/focus-3.8.0.tgz#b292df7e35ed1b57af43f98df8135b00c4667d17" - integrity sha512-XuaLFdqf/6OyILifkVJo++5k2O+wlpNvXgsJkRWn/wSmB77pZKURm2MMGiSg2u911NqY+829UrSlpmhCZrc8RA== - dependencies: - "@babel/runtime" "^7.6.2" - "@react-aria/interactions" "^3.11.0" - "@react-aria/utils" "^3.13.3" - "@react-types/shared" "^3.14.1" - clsx "^1.1.1" - -"@react-aria/focus@^3.16.0", "@react-aria/focus@^3.8.0": - version "3.16.0" - resolved "https://registry.yarnpkg.com/@react-aria/focus/-/focus-3.16.0.tgz#521677a452de254bd48d3a469d6411d69188593d" - integrity sha512-GP6EYI07E8NKQQcXHjpIocEU0vh0oi0Vcsd+/71fKS0NnTR0TUOEeil0JuuQ9ymkmPDTu51Aaaa4FxVsuN/23A== - dependencies: - "@react-aria/interactions" "^3.20.1" - "@react-aria/utils" "^3.23.0" - "@react-types/shared" "^3.22.0" - "@swc/helpers" "^0.5.0" - clsx "^2.0.0" - -"@react-aria/i18n@^3.10.0", "@react-aria/i18n@^3.6.0": - version "3.10.0" - resolved "https://registry.yarnpkg.com/@react-aria/i18n/-/i18n-3.10.0.tgz#bc61c8d05a0193a4c4322ddaefb4ee382190169a" - integrity sha512-sviD5Y1pLPG49HHRmVjR+5nONrp0HK219+nu9Y7cDfUhXu2EjyhMS9t/n9/VZ69hHChZ2PnHYLEE2visu9CuCg== - dependencies: - "@internationalized/date" "^3.5.1" - "@internationalized/message" "^3.1.1" - "@internationalized/number" "^3.5.0" - "@internationalized/string" "^3.2.0" - "@react-aria/ssr" "^3.9.1" - "@react-aria/utils" "^3.23.0" - "@react-types/shared" "^3.22.0" - "@swc/helpers" "^0.5.0" - -"@react-aria/interactions@^3.11.0", "@react-aria/interactions@^3.20.1": - version "3.20.1" - resolved "https://registry.yarnpkg.com/@react-aria/interactions/-/interactions-3.20.1.tgz#397f6724935024e7d3f4f38e8fae07ee37da868d" - integrity sha512-PLNBr87+SzRhe9PvvF9qvzYeP4ofTwfKSorwmO+hjr3qoczrSXf4LRQlb27wB6hF10C7ZE/XVbUI1lj4QQrZ/g== - dependencies: - "@react-aria/ssr" "^3.9.1" - "@react-aria/utils" "^3.23.0" - "@react-types/shared" "^3.22.0" - "@swc/helpers" "^0.5.0" - -"@react-aria/menu@3.6.1": - version "3.6.1" - resolved "https://registry.yarnpkg.com/@react-aria/menu/-/menu-3.6.1.tgz#91ad540795316623e539b32163a5d6a95f09052c" - integrity sha512-HUJVIOW9TwDS4RpAaw9/JqcOXFCn3leVUumWLfbwwzxON/Sbywr1j1jLuIkfIRAPmp0QVd42f6/9Y0cfH78BQQ== - dependencies: - "@babel/runtime" "^7.6.2" - "@react-aria/i18n" "^3.6.0" - "@react-aria/interactions" "^3.11.0" - "@react-aria/overlays" "^3.10.1" - "@react-aria/selection" "^3.10.1" - "@react-aria/utils" "^3.13.3" - "@react-stately/collections" "^3.4.3" - "@react-stately/menu" "^3.4.1" - "@react-stately/tree" "^3.3.3" - "@react-types/button" "^3.6.1" - "@react-types/menu" "^3.7.1" - "@react-types/shared" "^3.14.1" - -"@react-aria/overlays@3.10.1": - version "3.10.1" - resolved "https://registry.yarnpkg.com/@react-aria/overlays/-/overlays-3.10.1.tgz#ea7995d818030482987fbcd2f65344daf67175c2" - integrity sha512-6hY+3PQzFXQ2Gf656IiUy2VCwxzNohCHxHTZb7WTlOyNWDN77q8lzuHBlaoEzyh25M8CCO6NPa5DukyK3uCHSQ== - dependencies: - "@babel/runtime" "^7.6.2" - "@react-aria/i18n" "^3.6.0" - "@react-aria/interactions" "^3.11.0" - "@react-aria/ssr" "^3.3.0" - "@react-aria/utils" "^3.13.3" - "@react-aria/visually-hidden" "^3.4.1" - "@react-stately/overlays" "^3.4.1" - "@react-types/button" "^3.6.1" - "@react-types/overlays" "^3.6.3" - "@react-types/shared" "^3.14.1" - -"@react-aria/overlays@^3.10.1": - version "3.20.0" - resolved "https://registry.yarnpkg.com/@react-aria/overlays/-/overlays-3.20.0.tgz#9d7e0529aa9e28f8055ef5d8486ce5aa0ede41dd" - integrity sha512-2m7MpRJL5UucbEuu08lMHsiFJoDowkJV4JAIFBZYK1NzVH0vF/A+w9HRNM7jRwx2DUxE+iIsZnl8yKV/7KY8OQ== - dependencies: - "@react-aria/focus" "^3.16.0" - "@react-aria/i18n" "^3.10.0" - "@react-aria/interactions" "^3.20.1" - "@react-aria/ssr" "^3.9.1" - "@react-aria/utils" "^3.23.0" - "@react-aria/visually-hidden" "^3.8.8" - "@react-stately/overlays" "^3.6.4" - "@react-types/button" "^3.9.1" - "@react-types/overlays" "^3.8.4" - "@react-types/shared" "^3.22.0" - "@swc/helpers" "^0.5.0" - -"@react-aria/selection@^3.10.1": - version "3.17.3" - resolved "https://registry.yarnpkg.com/@react-aria/selection/-/selection-3.17.3.tgz#ed4b3c51cc9abc72ad19d6beb536b194db1cbd7d" - integrity sha512-xl2sgeGH61ngQeE05WOWWPVpGRTPMjQEFmsAWEprArFi4Z7ihSZgpGX22l1w7uSmtXM/eN/v0W8hUYUju5iXlQ== - dependencies: - "@react-aria/focus" "^3.16.0" - "@react-aria/i18n" "^3.10.0" - "@react-aria/interactions" "^3.20.1" - "@react-aria/utils" "^3.23.0" - "@react-stately/selection" "^3.14.2" - "@react-types/shared" "^3.22.0" - "@swc/helpers" "^0.5.0" - -"@react-aria/ssr@^3.2.0", "@react-aria/ssr@^3.3.0", "@react-aria/ssr@^3.9.1": - version "3.9.1" - resolved "https://registry.yarnpkg.com/@react-aria/ssr/-/ssr-3.9.1.tgz#a1252fd5ef87eada810dd9dd6751a5e21359d1d2" - integrity sha512-NqzkLFP8ZVI4GSorS0AYljC13QW2sc8bDqJOkBvkAt3M8gbcAXJWVRGtZBCRscki9RZF+rNlnPdg0G0jYkhJcg== - dependencies: - "@swc/helpers" "^0.5.0" - -"@react-aria/utils@3.13.1": - version "3.13.1" - resolved "https://registry.yarnpkg.com/@react-aria/utils/-/utils-3.13.1.tgz#45557fdc7ae9de057a83014013bf09e54d074c96" - integrity sha512-usW6RoLKil4ylgDbRcaQ5YblNGv5ZihI4I9NB8pdazhw53cSRyLaygLdmHO33xgpPnAhb6Nb/tv8d5p6cAde+A== - dependencies: - "@babel/runtime" "^7.6.2" - "@react-aria/ssr" "^3.2.0" - "@react-stately/utils" "^3.5.0" - "@react-types/shared" "^3.13.1" - clsx "^1.1.1" - -"@react-aria/utils@^3.13.3", "@react-aria/utils@^3.23.0": - version "3.23.0" - resolved "https://registry.yarnpkg.com/@react-aria/utils/-/utils-3.23.0.tgz#15548db55fcb7da1920e21735467157328f0223f" - integrity sha512-fJA63/VU4iQNT8WUvrmll3kvToqMurD69CcgVmbQ56V7ZbvlzFi44E7BpnoaofScYLLtFWRjVdaHsohT6O/big== - dependencies: - "@react-aria/ssr" "^3.9.1" - "@react-stately/utils" "^3.9.0" - "@react-types/shared" "^3.22.0" - "@swc/helpers" "^0.5.0" - clsx "^2.0.0" - -"@react-aria/visually-hidden@^3.4.1", "@react-aria/visually-hidden@^3.8.8": - version "3.8.8" - resolved "https://registry.yarnpkg.com/@react-aria/visually-hidden/-/visually-hidden-3.8.8.tgz#0f2a70ca21974154383080cf486caff5e7f2240f" - integrity sha512-Cn2PYKD4ijGDtF0+dvsh8qa4y7KTNAlkTG6h20r8Q+6UTyRNmtE2/26QEaApRF8CBiNy9/BZC/ZC4FK2OjvCoA== - dependencies: - "@react-aria/interactions" "^3.20.1" - "@react-aria/utils" "^3.23.0" - "@react-types/shared" "^3.22.0" - "@swc/helpers" "^0.5.0" - -"@react-stately/collections@^3.10.4", "@react-stately/collections@^3.4.3": - version "3.10.4" - resolved "https://registry.yarnpkg.com/@react-stately/collections/-/collections-3.10.4.tgz#aa81328a0996ba39ee39d469e65135812ebecef1" - integrity sha512-OHhCrItGt4zB2bSrgObRo0H2SC7QlkH8ReGxo+NVIWchXRLRoiWBP7S+IwleewEo5gOqDVPY3hqA9n4iiI8twg== - dependencies: - "@react-types/shared" "^3.22.0" - "@swc/helpers" "^0.5.0" - -"@react-stately/menu@3.4.1": - version "3.4.1" - resolved "https://registry.yarnpkg.com/@react-stately/menu/-/menu-3.4.1.tgz#47f23996927ffa605d725e68902e27ef848fe27a" - integrity sha512-DWo87hjKwtQsFiFJYZGcEvzfSYT/I4FoRl3Ose5lA/gPjdg97f42vumj+Kp4mqJwlla4A9Erz2vAh2uMLl4H0w== - dependencies: - "@babel/runtime" "^7.6.2" - "@react-stately/overlays" "^3.4.1" - "@react-stately/utils" "^3.5.1" - "@react-types/menu" "^3.7.1" - "@react-types/shared" "^3.14.1" - -"@react-stately/menu@^3.4.1": - version "3.6.0" - resolved "https://registry.yarnpkg.com/@react-stately/menu/-/menu-3.6.0.tgz#5366d6674d2c3d7b50efc51a8c0083d9588788f7" - integrity sha512-OB6CjNyfOkAuirqx1oTL8z8epS9WDzLyrXjmRnxdiCU9EgRXLGAQNECuO7VIpl58oDry8tgRJiJ8fn8FivWSQA== - dependencies: - "@react-stately/overlays" "^3.6.4" - "@react-types/menu" "^3.9.6" - "@react-types/shared" "^3.22.0" - "@swc/helpers" "^0.5.0" - -"@react-stately/overlays@^3.4.1", "@react-stately/overlays@^3.6.4": - version "3.6.4" - resolved "https://registry.yarnpkg.com/@react-stately/overlays/-/overlays-3.6.4.tgz#1d0d974413fa3f13d97eec2cac5b48c49978d1a0" - integrity sha512-tHEaoAGpE9dSnsskqLPVKum59yGteoSqsniTopodM+miQozbpPlSjdiQnzGLroy5Afx5OZYClE616muNHUILXA== - dependencies: - "@react-stately/utils" "^3.9.0" - "@react-types/overlays" "^3.8.4" - "@swc/helpers" "^0.5.0" - -"@react-stately/selection@^3.14.2": - version "3.14.2" - resolved "https://registry.yarnpkg.com/@react-stately/selection/-/selection-3.14.2.tgz#6a3d5b59db951c34d04494b28373f4fe8ce6f581" - integrity sha512-mL7OoiUgVWaaF7ks5XSxgbXeShijYmD4G3bkBHhqkpugU600QH6BM2hloCq8KOUupk1y8oTljPtF9EmCv375DA== - dependencies: - "@react-stately/collections" "^3.10.4" - "@react-stately/utils" "^3.9.0" - "@react-types/shared" "^3.22.0" - "@swc/helpers" "^0.5.0" - -"@react-stately/toggle@^3.4.1": - version "3.7.0" - resolved "https://registry.yarnpkg.com/@react-stately/toggle/-/toggle-3.7.0.tgz#abe2f08f37a0f41e6513d4fde3d46f49500bb5cc" - integrity sha512-TRksHkCJk/Xogq4181g3CYgJf+EfsJCqX5UZDSw1Z1Kgpvonjmdf6FAfQfCh9QR2OuXUL6hOLUDVLte5OPI+5g== - dependencies: - "@react-stately/utils" "^3.9.0" - "@react-types/checkbox" "^3.6.0" - "@swc/helpers" "^0.5.0" - -"@react-stately/tree@^3.3.3": - version "3.7.5" - resolved "https://registry.yarnpkg.com/@react-stately/tree/-/tree-3.7.5.tgz#6e084e1b7d3d0b31fe619a5d5c45dea9b0a63ff2" - integrity sha512-xTJVwvhAeY0N5rui4N/TxN7f8hjXdqApDuGDxMZeFAWoQz8Abf7LFKBVQ3OkT6qVr7P+23dgoisUDBhD5a45Hg== - dependencies: - "@react-stately/collections" "^3.10.4" - "@react-stately/selection" "^3.14.2" - "@react-stately/utils" "^3.9.0" - "@react-types/shared" "^3.22.0" - "@swc/helpers" "^0.5.0" - -"@react-stately/utils@^3.5.0", "@react-stately/utils@^3.5.1", "@react-stately/utils@^3.9.0": - version "3.9.0" - resolved "https://registry.yarnpkg.com/@react-stately/utils/-/utils-3.9.0.tgz#9cb2c8eea5dd1b58256ecb436b963c01526bae37" - integrity sha512-yPKFY1F88HxuZ15BG2qwAYxtpE4HnIU0Ofi4CuBE0xC6I8mwo4OQjDzi+DZjxQngM9D6AeTTD6F1V8gkozA0Gw== - dependencies: - "@swc/helpers" "^0.5.0" - -"@react-types/button@^3.6.1", "@react-types/button@^3.9.1": - version "3.9.1" - resolved "https://registry.yarnpkg.com/@react-types/button/-/button-3.9.1.tgz#eb54745133bdaad345d8d589021b67ef2882e1c5" - integrity sha512-bf9iTar3PtqnyV9rA+wyFyrskZKhwmOuOd/ifYIjPs56YNVXWH5Wfqj6Dx3xdFBgtKx8mEVQxVhoX+WkHX+rtw== - dependencies: - "@react-types/shared" "^3.22.0" - -"@react-types/checkbox@^3.6.0": - version "3.6.0" - resolved "https://registry.yarnpkg.com/@react-types/checkbox/-/checkbox-3.6.0.tgz#ba702be25555c1520f78be39c8260354638792b6" - integrity sha512-vgbuJzQpVCNT5AZWV0OozXCnihqrXxoZKfJFIw0xro47pT2sn3t5UC4RA9wfjDGMoK4frw1K/4HQLsQIOsPBkw== - dependencies: - "@react-types/shared" "^3.22.0" - -"@react-types/dialog@^3.4.3": - version "3.5.7" - resolved "https://registry.yarnpkg.com/@react-types/dialog/-/dialog-3.5.7.tgz#3fd93875ff317d6014e814b6e1a2abb87272a1ef" - integrity sha512-geYoqAyQaTLG43AaXdMUVqZXYgkSifrD9cF7lR2kPAT0uGFv0YREi6ieU+aui8XJ83EW0xcxP+EPWd2YkN4D4w== - dependencies: - "@react-types/overlays" "^3.8.4" - "@react-types/shared" "^3.22.0" - -"@react-types/menu@^3.7.1", "@react-types/menu@^3.9.6": - version "3.9.6" - resolved "https://registry.yarnpkg.com/@react-types/menu/-/menu-3.9.6.tgz#1b36842cbdb4590dfff78437316aec4a3f47b1f6" - integrity sha512-w/RbFInOf4nNayQDv5c2L8IMJbcFOkBhsT3xvvpTy+CHvJcQdjggwaV1sRiw7eF/PwB81k2CwigmidUzHJhKDg== - dependencies: - "@react-types/overlays" "^3.8.4" - "@react-types/shared" "^3.22.0" - -"@react-types/overlays@^3.6.3", "@react-types/overlays@^3.8.4": - version "3.8.4" - resolved "https://registry.yarnpkg.com/@react-types/overlays/-/overlays-3.8.4.tgz#a538f6f2fb9826f1da78d3b4f0f6326a709ce37d" - integrity sha512-pfgNlQnbF6RB/R2oSxyqAP3Uzz0xE/k5q4n5gUeCDNLjY5qxFHGE8xniZZ503nZYw6VBa9XMN1efDOKQyeiO0w== - dependencies: - "@react-types/shared" "^3.22.0" - -"@react-types/shared@^3.13.1", "@react-types/shared@^3.14.1", "@react-types/shared@^3.22.0": - version "3.22.0" - resolved "https://registry.yarnpkg.com/@react-types/shared/-/shared-3.22.0.tgz#70f85aad46cd225f7fcb29f1c2b5213163605074" - integrity sha512-yVOekZWbtSmmiThGEIARbBpnmUIuePFlLyctjvCbgJgGhz8JnEJOipLQ/a4anaWfzAgzSceQP8j/K+VOOePleA== - -"@sentry/browser@6.19.7": - version "6.19.7" - resolved "https://registry.yarnpkg.com/@sentry/browser/-/browser-6.19.7.tgz#a40b6b72d911b5f1ed70ed3b4e7d4d4e625c0b5f" - integrity sha512-oDbklp4O3MtAM4mtuwyZLrgO1qDVYIujzNJQzXmi9YzymJCuzMLSRDvhY83NNDCRxf0pds4DShgYeZdbSyKraA== - dependencies: - "@sentry/core" "6.19.7" - "@sentry/types" "6.19.7" - "@sentry/utils" "6.19.7" - tslib "^1.9.3" - -"@sentry/core@6.19.7": - version "6.19.7" - resolved "https://registry.yarnpkg.com/@sentry/core/-/core-6.19.7.tgz#156aaa56dd7fad8c89c145be6ad7a4f7209f9785" - integrity sha512-tOfZ/umqB2AcHPGbIrsFLcvApdTm9ggpi/kQZFkej7kMphjT+SGBiQfYtjyg9jcRW+ilAR4JXC9BGKsdEQ+8Vw== - dependencies: - "@sentry/hub" "6.19.7" - "@sentry/minimal" "6.19.7" - "@sentry/types" "6.19.7" - "@sentry/utils" "6.19.7" - tslib "^1.9.3" - -"@sentry/hub@6.19.7": - version "6.19.7" - resolved "https://registry.yarnpkg.com/@sentry/hub/-/hub-6.19.7.tgz#58ad7776bbd31e9596a8ec46365b45cd8b9cfd11" - integrity sha512-y3OtbYFAqKHCWezF0EGGr5lcyI2KbaXW2Ik7Xp8Mu9TxbSTuwTe4rTntwg8ngPjUQU3SUHzgjqVB8qjiGqFXCA== - dependencies: - "@sentry/types" "6.19.7" - "@sentry/utils" "6.19.7" - tslib "^1.9.3" - -"@sentry/minimal@6.19.7": - version "6.19.7" - resolved "https://registry.yarnpkg.com/@sentry/minimal/-/minimal-6.19.7.tgz#b3ee46d6abef9ef3dd4837ebcb6bdfd01b9aa7b4" - integrity sha512-wcYmSJOdvk6VAPx8IcmZgN08XTXRwRtB1aOLZm+MVHjIZIhHoBGZJYTVQS/BWjldsamj2cX3YGbGXNunaCfYJQ== - dependencies: - "@sentry/hub" "6.19.7" - "@sentry/types" "6.19.7" - tslib "^1.9.3" - -"@sentry/types@6.19.7": - version "6.19.7" - resolved "https://registry.yarnpkg.com/@sentry/types/-/types-6.19.7.tgz#c6b337912e588083fc2896eb012526cf7cfec7c7" - integrity sha512-jH84pDYE+hHIbVnab3Hr+ZXr1v8QABfhx39KknxqKWr2l0oEItzepV0URvbEhB446lk/S/59230dlUUIBGsXbg== - -"@sentry/utils@6.19.7": - version "6.19.7" - resolved "https://registry.yarnpkg.com/@sentry/utils/-/utils-6.19.7.tgz#6edd739f8185fd71afe49cbe351c1bbf5e7b7c79" - integrity sha512-z95ECmE3i9pbWoXQrD/7PgkBAzJYR+iXtPuTkpBjDKs86O3mT+PXOT3BAn79w2wkn7/i3vOGD2xVr1uiMl26dA== - dependencies: - "@sentry/types" "6.19.7" - tslib "^1.9.3" - -"@sinclair/typebox@^0.27.8": - version "0.27.8" - resolved "https://registry.yarnpkg.com/@sinclair/typebox/-/typebox-0.27.8.tgz#6667fac16c436b5434a387a34dedb013198f6e6e" - integrity sha512-+Fj43pSMwJs4KRrH/938Uf+uAELIgVBmQzg/q1YG10djyfA3TnrU8N8XzqCh/okZdszqBQTZf96idMfE5lnwTA== - -"@sindresorhus/merge-streams@^1.0.0": - version "1.0.0" - resolved "https://registry.yarnpkg.com/@sindresorhus/merge-streams/-/merge-streams-1.0.0.tgz#9cd84cc15bc865a5ca35fcaae198eb899f7b5c90" - integrity sha512-rUV5WyJrJLoloD4NDN1V1+LDMDWOa4OTsT4yYJwQNpTU6FWxkxHpL7eu4w+DmiH8x/EAM1otkPE1+LaspIbplw== - -"@sinonjs/commons@^3.0.0": - version "3.0.0" - resolved "https://registry.yarnpkg.com/@sinonjs/commons/-/commons-3.0.0.tgz#beb434fe875d965265e04722ccfc21df7f755d72" - integrity sha512-jXBtWAF4vmdNmZgD5FoKsVLv3rPgDnLgPbU84LIJ3otV44vJlDRokVng5v8NFJdCf/da9legHcKaRuZs4L7faA== - dependencies: - type-detect "4.0.8" - -"@sinonjs/fake-timers@^10.0.2": - version "10.3.0" - resolved "https://registry.yarnpkg.com/@sinonjs/fake-timers/-/fake-timers-10.3.0.tgz#55fdff1ecab9f354019129daf4df0dd4d923ea66" - integrity sha512-V4BG07kuYSUkTCSBHG8G8TNhM+F19jXFWnQtzj+we8DrkpSBCee9Z3Ms8yiGer/dlmhe35/Xdgyo3/0rQKg7YA== - dependencies: - "@sinonjs/commons" "^3.0.0" - -"@swc/core-darwin-arm64@1.3.104": - version "1.3.104" - resolved "https://registry.yarnpkg.com/@swc/core-darwin-arm64/-/core-darwin-arm64-1.3.104.tgz#ad8fcd333c09634279d6cf46c5dd2c00b47ef809" - integrity sha512-rCnVj8x3kn6s914Adddu+zROHUn6mUEMkNKUckofs3W9OthNlZXJA3C5bS2MMTRFXCWamJ0Zmh6INFpz+f4Tfg== - -"@swc/core-darwin-x64@1.3.104": - version "1.3.104" - resolved "https://registry.yarnpkg.com/@swc/core-darwin-x64/-/core-darwin-x64-1.3.104.tgz#be2f270fb1f9d0aa2f27836f9ccb28ea4da26a7e" - integrity sha512-LBCWGTYkn1UjyxrmcLS3vZgtCDVhwxsQMV7jz5duc7Gas8SRWh6ZYqvUkjlXMDX1yx0uvzHrkaRw445+zDRj7Q== - -"@swc/core-linux-arm-gnueabihf@1.3.104": - version "1.3.104" - resolved "https://registry.yarnpkg.com/@swc/core-linux-arm-gnueabihf/-/core-linux-arm-gnueabihf-1.3.104.tgz#52c1425fbd4aa189d47a40eaebb335cbda96f917" - integrity sha512-iFbsWcx0TKHWnFBNCuUstYqRtfkyBx7FKv5To1Hx14EMuvvoCD/qUoJEiNfDQN5n/xU9g5xq4RdbjEWCFLhAbA== - -"@swc/core-linux-arm64-gnu@1.3.104": - version "1.3.104" - resolved "https://registry.yarnpkg.com/@swc/core-linux-arm64-gnu/-/core-linux-arm64-gnu-1.3.104.tgz#30da51b22f36887317fa5f49b8eb2ebe17d936de" - integrity sha512-1BIIp+nUPrRHHaJ35YJqrwXPwYSITp5robqqjyTwoKGw2kq0x+A964kpWul6v0d7A9Ial8fyH4m13eSWBodD2A== - -"@swc/core-linux-arm64-musl@1.3.104": - version "1.3.104" - resolved "https://registry.yarnpkg.com/@swc/core-linux-arm64-musl/-/core-linux-arm64-musl-1.3.104.tgz#c9a281ad655ba5a4217466c7e0ca6457202b2997" - integrity sha512-IyDNkzpKwvLqmRwTW+s8f8OsOSSj1N6juZKbvNHpZRfWZkz3T70q3vJlDBWQwy8z8cm7ckd7YUT3eKcSBPPowg== - -"@swc/core-linux-x64-gnu@1.3.104": - version "1.3.104" - resolved "https://registry.yarnpkg.com/@swc/core-linux-x64-gnu/-/core-linux-x64-gnu-1.3.104.tgz#2bd0cd4e92fbedb83aeb6526299a792579b624f2" - integrity sha512-MfX/wiRdTjE5uXHTDnaX69xI4UBfxIhcxbVlMj//N+7AX/G2pl2UFityfVMU2HpM12BRckrCxVI8F/Zy3DZkYQ== - -"@swc/core-linux-x64-musl@1.3.104": - version "1.3.104" - resolved "https://registry.yarnpkg.com/@swc/core-linux-x64-musl/-/core-linux-x64-musl-1.3.104.tgz#a3bb9b5eb9c524f87c586f43019fc544e2ef8bcf" - integrity sha512-5yeILaxA31gGEmquErO8yxlq1xu0XVt+fz5mbbKXKZMRRILxYxNzAGb5mzV41r0oHz6Vhv4AXX/WMCmeWl+HkQ== - -"@swc/core-win32-arm64-msvc@1.3.104": - version "1.3.104" - resolved "https://registry.yarnpkg.com/@swc/core-win32-arm64-msvc/-/core-win32-arm64-msvc-1.3.104.tgz#ec3b63321bbed1283c7873b7c3ecaaf03f8a42ee" - integrity sha512-rwcImsYnWDWGmeESG0XdGGOql5s3cG5wA8C4hHHKdH76zamPfDKKQFBsjmoNi0f1IsxaI9AJPeOmD4bAhT1ZoQ== - -"@swc/core-win32-ia32-msvc@1.3.104": - version "1.3.104" - resolved "https://registry.yarnpkg.com/@swc/core-win32-ia32-msvc/-/core-win32-ia32-msvc-1.3.104.tgz#47ef6d3dfb7093ff7da4848a59645672c0f25bef" - integrity sha512-ICDA+CJLYC7NkePnrbh/MvXwDQfy3rZSFgrVdrqRosv9DKHdFjYDnA9++7ozjrIdFdBrFW2NR7pyUcidlwhNzA== - -"@swc/core-win32-x64-msvc@1.3.104": - version "1.3.104" - resolved "https://registry.yarnpkg.com/@swc/core-win32-x64-msvc/-/core-win32-x64-msvc-1.3.104.tgz#661de1921e869b0a6762e85c5e3232c007554ad8" - integrity sha512-fZJ1Ju62U4lMZVU+nHxLkFNcu0hG5Y0Yj/5zjrlbuX5N8J5eDndWAFsVnQhxRTZqKhZB53pvWRQs5FItSDqgXg== - -"@swc/core@^1.3.90": - version "1.3.104" - resolved "https://registry.yarnpkg.com/@swc/core/-/core-1.3.104.tgz#4346c4548ddff85ebc4a1acd2ce54ce6f36f5e34" - integrity sha512-9LWH/qzR/Pmyco+XwPiPfz59T1sryI7o5dmqb593MfCkaX5Fzl9KhwQTI47i21/bXYuCdfa9ySZuVkzXMirYxA== - dependencies: - "@swc/counter" "^0.1.1" - "@swc/types" "^0.1.5" - optionalDependencies: - "@swc/core-darwin-arm64" "1.3.104" - "@swc/core-darwin-x64" "1.3.104" - "@swc/core-linux-arm-gnueabihf" "1.3.104" - "@swc/core-linux-arm64-gnu" "1.3.104" - "@swc/core-linux-arm64-musl" "1.3.104" - "@swc/core-linux-x64-gnu" "1.3.104" - "@swc/core-linux-x64-musl" "1.3.104" - "@swc/core-win32-arm64-msvc" "1.3.104" - "@swc/core-win32-ia32-msvc" "1.3.104" - "@swc/core-win32-x64-msvc" "1.3.104" - -"@swc/counter@^0.1.1": - version "0.1.2" - resolved "https://registry.yarnpkg.com/@swc/counter/-/counter-0.1.2.tgz#bf06d0770e47c6f1102270b744e17b934586985e" - integrity sha512-9F4ys4C74eSTEUNndnER3VJ15oru2NumfQxS8geE+f3eB5xvfxpWyqE5XlVnxb/R14uoXi6SLbBwwiDSkv+XEw== - -"@swc/helpers@^0.5.0": - version "0.5.3" - resolved "https://registry.yarnpkg.com/@swc/helpers/-/helpers-0.5.3.tgz#98c6da1e196f5f08f977658b80d6bd941b5f294f" - integrity sha512-FaruWX6KdudYloq1AHD/4nU+UsMTdNE8CKyrseXWEcgjDAbvkwJg2QGPAnfIJLIWsjZOSPLOAykK6fuYp4vp4A== - dependencies: - tslib "^2.4.0" - -"@swc/jest@^0.2.26": - version "0.2.30" - resolved "https://registry.yarnpkg.com/@swc/jest/-/jest-0.2.30.tgz#ad561bf90d1090ec0b71d54878f85a82d3af781f" - integrity sha512-80KKC6GYvgrpX1/7yKsRbu88V6OAJIcMGzOLCt0pPSg1nEwJg/lLAodVy2hCD8OcYApmY5gSwD4SnwgA5Y7Q7A== - dependencies: - "@jest/create-cache-key-function" "^29.7.0" - jsonc-parser "^3.2.0" - -"@swc/types@^0.1.5": - version "0.1.5" - resolved "https://registry.yarnpkg.com/@swc/types/-/types-0.1.5.tgz#043b731d4f56a79b4897a3de1af35e75d56bc63a" - integrity sha512-myfUej5naTBWnqOCc/MdVOLVjXUXtIA+NpDrDBKJtLLg2shUjBu3cZmB/85RyitKc55+lUUyl7oRfLOvkr2hsw== - -"@testing-library/dom@>=7", "@testing-library/dom@^9.0.0": - version "9.3.4" - resolved "https://registry.yarnpkg.com/@testing-library/dom/-/dom-9.3.4.tgz#50696ec28376926fec0a1bf87d9dbac5e27f60ce" - integrity sha512-FlS4ZWlp97iiNWig0Muq8p+3rVDjRiYE+YKGbAqXOu9nwJFFOdL00kFpz42M+4huzYi86vAK1sOOfyOG45muIQ== - dependencies: - "@babel/code-frame" "^7.10.4" - "@babel/runtime" "^7.12.5" - "@types/aria-query" "^5.0.1" - aria-query "5.1.3" - chalk "^4.1.0" - dom-accessibility-api "^0.5.9" - lz-string "^1.5.0" - pretty-format "^27.0.2" - -"@testing-library/jest-dom@6.1.4": - version "6.1.4" - resolved "https://registry.yarnpkg.com/@testing-library/jest-dom/-/jest-dom-6.1.4.tgz#cf0835c33bc5ef00befb9e672b1e3e6a710e30e3" - integrity sha512-wpoYrCYwSZ5/AxcrjLxJmCU6I5QAJXslEeSiMQqaWmP2Kzpd1LvF/qxmAIW2qposULGWq2gw30GgVNFLSc2Jnw== - dependencies: - "@adobe/css-tools" "^4.3.1" - "@babel/runtime" "^7.9.2" - aria-query "^5.0.0" - chalk "^3.0.0" - css.escape "^1.5.1" - dom-accessibility-api "^0.5.6" - lodash "^4.17.15" - redent "^3.0.0" - -"@testing-library/react@14.0.0": - version "14.0.0" - resolved "https://registry.yarnpkg.com/@testing-library/react/-/react-14.0.0.tgz#59030392a6792450b9ab8e67aea5f3cc18d6347c" - integrity sha512-S04gSNJbYE30TlIMLTzv6QCTzt9AqIF5y6s6SzVFILNcNvbV/jU96GeiTPillGQo+Ny64M/5PV7klNYYgv5Dfg== - dependencies: - "@babel/runtime" "^7.12.5" - "@testing-library/dom" "^9.0.0" - "@types/react-dom" "^18.0.0" - -"@tootallnate/once@2": - version "2.0.0" - resolved "https://registry.yarnpkg.com/@tootallnate/once/-/once-2.0.0.tgz#f544a148d3ab35801c1f633a7441fd87c2e484bf" - integrity sha512-XCuKFP5PS55gnMVu3dty8KPatLqUoy/ZYzDzAGCQ8JNFCkLXzmI7vNHCR+XpbZaMWQK/vQubr7PkYq8g470J/A== - -"@tsconfig/node10@^1.0.7": - version "1.0.9" - resolved "https://registry.yarnpkg.com/@tsconfig/node10/-/node10-1.0.9.tgz#df4907fc07a886922637b15e02d4cebc4c0021b2" - integrity sha512-jNsYVVxU8v5g43Erja32laIDHXeoNvFEpX33OK4d6hljo3jDhCBDhx5dhCCTMWUojscpAagGiRkBKxpdl9fxqA== - -"@tsconfig/node12@^1.0.7": - version "1.0.11" - resolved "https://registry.yarnpkg.com/@tsconfig/node12/-/node12-1.0.11.tgz#ee3def1f27d9ed66dac6e46a295cffb0152e058d" - integrity sha512-cqefuRsh12pWyGsIoBKJA9luFu3mRxCA+ORZvA4ktLSzIuCUtWVxGIuXigEwO5/ywWFMZ2QEGKWvkZG1zDMTag== - -"@tsconfig/node14@^1.0.0": - version "1.0.3" - resolved "https://registry.yarnpkg.com/@tsconfig/node14/-/node14-1.0.3.tgz#e4386316284f00b98435bf40f72f75a09dabf6c1" - integrity sha512-ysT8mhdixWK6Hw3i1V2AeRqZ5WfXg1G43mqoYlM2nc6388Fq5jcXyr5mRsqViLx/GJYdoL0bfXD8nmF+Zn/Iow== - -"@tsconfig/node16@^1.0.2": - version "1.0.4" - resolved "https://registry.yarnpkg.com/@tsconfig/node16/-/node16-1.0.4.tgz#0b92dcc0cc1c81f6f306a381f28e31b1a56536e9" - integrity sha512-vxhUy4J8lyeyinH7Azl1pdd43GJhZH/tP2weN8TntQblOY+A0XbT8DJk1/oCPuOOyg/Ja757rG0CgHcWC8OfMA== - -"@types/aria-query@^5.0.1": - version "5.0.4" - resolved "https://registry.yarnpkg.com/@types/aria-query/-/aria-query-5.0.4.tgz#1a31c3d378850d2778dabb6374d036dcba4ba708" - integrity sha512-rfT93uj5s0PRL7EzccGMs3brplhcrghnDoV26NqKhCAS1hVo+WdNsPvE/yb6ilfr5hi2MEk6d5EWJTKdxg8jVw== - -"@types/babel__core@^7.1.14": - version "7.20.5" - resolved "https://registry.yarnpkg.com/@types/babel__core/-/babel__core-7.20.5.tgz#3df15f27ba85319caa07ba08d0721889bb39c017" - integrity sha512-qoQprZvz5wQFJwMDqeseRXWv3rqMvhgpbXFfVyWhbx9X47POIA6i/+dXefEmZKoAgOaTdaIgNSMqMIU61yRyzA== - dependencies: - "@babel/parser" "^7.20.7" - "@babel/types" "^7.20.7" - "@types/babel__generator" "*" - "@types/babel__template" "*" - "@types/babel__traverse" "*" - -"@types/babel__generator@*": - version "7.6.8" - resolved "https://registry.yarnpkg.com/@types/babel__generator/-/babel__generator-7.6.8.tgz#f836c61f48b1346e7d2b0d93c6dacc5b9535d3ab" - integrity sha512-ASsj+tpEDsEiFr1arWrlN6V3mdfjRMZt6LtK/Vp/kreFLnr5QH5+DhvD5nINYZXzwJvXeGq+05iUXcAzVrqWtw== - dependencies: - "@babel/types" "^7.0.0" - -"@types/babel__template@*": - version "7.4.4" - resolved "https://registry.yarnpkg.com/@types/babel__template/-/babel__template-7.4.4.tgz#5672513701c1b2199bc6dad636a9d7491586766f" - integrity sha512-h/NUaSyG5EyxBIp8YRxo4RMe2/qQgvyowRwVMzhYhBCONbW8PUsg4lkFMrhgZhUe5z3L3MiLDuvyJ/CaPa2A8A== - dependencies: - "@babel/parser" "^7.1.0" - "@babel/types" "^7.0.0" - -"@types/babel__traverse@*", "@types/babel__traverse@^7.0.6": - version "7.20.5" - resolved "https://registry.yarnpkg.com/@types/babel__traverse/-/babel__traverse-7.20.5.tgz#7b7502be0aa80cc4ef22978846b983edaafcd4dd" - integrity sha512-WXCyOcRtH37HAUkpXhUduaxdm82b4GSlyTqajXviN4EfiuPgNYR109xMCKvpl6zPIpua0DGlMEDCq+g8EdoheQ== - dependencies: - "@babel/types" "^7.20.7" - -"@types/d3-color@*": - version "3.1.3" - resolved "https://registry.yarnpkg.com/@types/d3-color/-/d3-color-3.1.3.tgz#368c961a18de721da8200e80bf3943fb53136af2" - integrity sha512-iO90scth9WAbmgv7ogoq57O9YpKmFBbmoEoCHDB2xMBY0+/KVrqAaCDyCE16dUspeOvIxFFRI+0sEtqDqy2b4A== - -"@types/d3-interpolate@^3.0.0": - version "3.0.4" - resolved "https://registry.yarnpkg.com/@types/d3-interpolate/-/d3-interpolate-3.0.4.tgz#412b90e84870285f2ff8a846c6eb60344f12a41c" - integrity sha512-mgLPETlrpVV1YRJIglr4Ez47g7Yxjl1lj7YKsiMCb27VJH9W8NVM6Bb9d8kkpG/uAQS5AmbA48q2IAolKKo1MA== - dependencies: - "@types/d3-color" "*" - -"@types/eslint-scope@^3.7.3": - version "3.7.7" - resolved "https://registry.yarnpkg.com/@types/eslint-scope/-/eslint-scope-3.7.7.tgz#3108bd5f18b0cdb277c867b3dd449c9ed7079ac5" - integrity sha512-MzMFlSLBqNF2gcHWO0G1vP/YQyfvrxZ0bF+u7mzUdZ1/xK4A4sru+nraZz5i3iEIk1l1uyicaDVTB4QbbEkAYg== - dependencies: - "@types/eslint" "*" - "@types/estree" "*" - -"@types/eslint@*", "@types/eslint@^8.37.0": - version "8.56.2" - resolved "https://registry.yarnpkg.com/@types/eslint/-/eslint-8.56.2.tgz#1c72a9b794aa26a8b94ad26d5b9aa51c8a6384bb" - integrity sha512-uQDwm1wFHmbBbCZCqAlq6Do9LYwByNZHWzXppSnay9SuwJ+VRbjkbLABer54kcPnMSlG6Fdiy2yaFXm/z9Z5gw== - dependencies: - "@types/estree" "*" - "@types/json-schema" "*" - -"@types/estree@*", "@types/estree@^1.0.0": - version "1.0.5" - resolved "https://registry.yarnpkg.com/@types/estree/-/estree-1.0.5.tgz#a6ce3e556e00fd9895dd872dd172ad0d4bd687f4" - integrity sha512-/kYRxGDLWzHOB7q+wtSUQlFrtcdUccpfy+X+9iMBpHK8QLLhx2wIPYuS5DYtR9Wa/YlZAbIovy7qVdB1Aq6Lyw== - -"@types/graceful-fs@^4.1.3": - version "4.1.9" - resolved "https://registry.yarnpkg.com/@types/graceful-fs/-/graceful-fs-4.1.9.tgz#2a06bc0f68a20ab37b3e36aa238be6abdf49e8b4" - integrity sha512-olP3sd1qOEe5dXTSaFvQG+02VdRXcdytWLAZsAq1PecU8uqQAhkrnbli7DagjtXKW/Bl7YJbUsa8MPcuc8LHEQ== - dependencies: - "@types/node" "*" - -"@types/history@^4.7.11": - version "4.7.11" - resolved "https://registry.yarnpkg.com/@types/history/-/history-4.7.11.tgz#56588b17ae8f50c53983a524fc3cc47437969d64" - integrity sha512-qjDJRrmvBMiTx+jyLxvLfJU7UznFuokDv4f3WRuriHKERccVpFU+8XMQUAbDzoiJCsmexxRExQeMwwCdamSKDA== - -"@types/hoist-non-react-statics@^3.3.0": - version "3.3.5" - resolved "https://registry.yarnpkg.com/@types/hoist-non-react-statics/-/hoist-non-react-statics-3.3.5.tgz#dab7867ef789d87e2b4b0003c9d65c49cc44a494" - integrity sha512-SbcrWzkKBw2cdwRTwQAswfpB9g9LJWfjtUeW/jvNwbhC8cpmmNYVePa+ncbUe0rGTQ7G3Ff6mYUN2VMfLVr+Sg== - dependencies: - "@types/react" "*" - hoist-non-react-statics "^3.3.0" - -"@types/istanbul-lib-coverage@*", "@types/istanbul-lib-coverage@^2.0.0", "@types/istanbul-lib-coverage@^2.0.1": - version "2.0.6" - resolved "https://registry.yarnpkg.com/@types/istanbul-lib-coverage/-/istanbul-lib-coverage-2.0.6.tgz#7739c232a1fee9b4d3ce8985f314c0c6d33549d7" - integrity sha512-2QF/t/auWm0lsy8XtKVPG19v3sSOQlJe/YHZgfjb/KBBHOGSV+J2q/S671rcq9uTBrLAXmZpqJiaQbMT+zNU1w== - -"@types/istanbul-lib-report@*": - version "3.0.3" - resolved "https://registry.yarnpkg.com/@types/istanbul-lib-report/-/istanbul-lib-report-3.0.3.tgz#53047614ae72e19fc0401d872de3ae2b4ce350bf" - integrity sha512-NQn7AHQnk/RSLOxrBbGyJM/aVQ+pjj5HCgasFxc0K/KhoATfQ/47AyUl15I2yBUpihjmas+a+VJBOqecrFH+uA== - dependencies: - "@types/istanbul-lib-coverage" "*" - -"@types/istanbul-reports@^3.0.0": - version "3.0.4" - resolved "https://registry.yarnpkg.com/@types/istanbul-reports/-/istanbul-reports-3.0.4.tgz#0f03e3d2f670fbdac586e34b433783070cc16f54" - integrity sha512-pk2B1NWalF9toCRu6gjBzR69syFjP4Od8WRAX+0mmf9lAjCRicLOWc+ZrxZHx/0XRjotgkF9t6iaMJ+aXcOdZQ== - dependencies: - "@types/istanbul-lib-report" "*" - -"@types/jest@*", "@types/jest@^29.5.0": - version "29.5.11" - resolved "https://registry.yarnpkg.com/@types/jest/-/jest-29.5.11.tgz#0c13aa0da7d0929f078ab080ae5d4ced80fa2f2c" - integrity sha512-S2mHmYIVe13vrm6q4kN6fLYYAka15ALQki/vgDC3mIukEOx8WJlv0kQPM+d4w8Gp6u0uSdKND04IlTXBv0rwnQ== - dependencies: - expect "^29.0.0" - pretty-format "^29.0.0" - -"@types/js-cookie@^2.2.6": - version "2.2.7" - resolved "https://registry.yarnpkg.com/@types/js-cookie/-/js-cookie-2.2.7.tgz#226a9e31680835a6188e887f3988e60c04d3f6a3" - integrity sha512-aLkWa0C0vO5b4Sr798E26QgOkss68Un0bLjs7u9qxzPT5CG+8DuNTffWES58YzJs3hrVAOs1wonycqEBqNJubA== - -"@types/jsdom@^20.0.0": - version "20.0.1" - resolved "https://registry.yarnpkg.com/@types/jsdom/-/jsdom-20.0.1.tgz#07c14bc19bd2f918c1929541cdaacae894744808" - integrity sha512-d0r18sZPmMQr1eG35u12FZfhIXNrnsPU/g5wvRKCUf/tOGilKKwYMYGqh33BNR6ba+2gkHw1EUiHoN3mn7E5IQ== - dependencies: - "@types/node" "*" - "@types/tough-cookie" "*" - parse5 "^7.0.0" - -"@types/json-schema@*", "@types/json-schema@^7.0.12", "@types/json-schema@^7.0.8", "@types/json-schema@^7.0.9": - version "7.0.15" - resolved "https://registry.yarnpkg.com/@types/json-schema/-/json-schema-7.0.15.tgz#596a1747233694d50f6ad8a7869fcb6f56cf5841" - integrity sha512-5+fP8P8MFNC+AyZCDxrB2pkZFPGzqQWUzpSeuuVLvm8VMcorNYavBqoFcxK8bQz4Qsbn4oUEEem4wDLfcysGHA== - -"@types/lodash@^4.14.194": - version "4.14.202" - resolved "https://registry.yarnpkg.com/@types/lodash/-/lodash-4.14.202.tgz#f09dbd2fb082d507178b2f2a5c7e74bd72ff98f8" - integrity sha512-OvlIYQK9tNneDlS0VN54LLd5uiPCBOp7gS5Z0f1mjoJYBrtStzgmJBxONW3U6OZqdtNzZPmn9BS/7WI7BFFcFQ== - -"@types/node@*", "@types/node@^20.8.7": - version "20.11.5" - resolved "https://registry.yarnpkg.com/@types/node/-/node-20.11.5.tgz#be10c622ca7fcaa3cf226cf80166abc31389d86e" - integrity sha512-g557vgQjUUfN76MZAN/dt1z3dzcUsimuysco0KeluHgrPdJXkP/XdAURgyO2W9fZWHRtRBiVKzKn8vyOAwlG+w== - dependencies: - undici-types "~5.26.4" - -"@types/node@^14.14.31": - version "14.18.63" - resolved "https://registry.yarnpkg.com/@types/node/-/node-14.18.63.tgz#1788fa8da838dbb5f9ea994b834278205db6ca2b" - integrity sha512-fAtCfv4jJg+ExtXhvCkCqUKZ+4ok/JQk01qDKhL5BDDoS3AxKXhV5/MAVUZyQnSEd2GT92fkgZl0pz0Q0AzcIQ== - -"@types/parse-json@^4.0.0": - version "4.0.2" - resolved "https://registry.yarnpkg.com/@types/parse-json/-/parse-json-4.0.2.tgz#5950e50960793055845e956c427fc2b0d70c5239" - integrity sha512-dISoDXWWQwUquiKsyZ4Ng+HX2KsPL7LyHKHQwgGFEA3IaKac4Obd+h2a/a6waisAoepJlBcx9paWqjA8/HVjCw== - -"@types/prop-types@*": - version "15.7.11" - resolved "https://registry.yarnpkg.com/@types/prop-types/-/prop-types-15.7.11.tgz#2596fb352ee96a1379c657734d4b913a613ad563" - integrity sha512-ga8y9v9uyeiLdpKddhxYQkxNDrfvuPrlFb0N1qnZZByvcElJaXthF1UhvCh9TLWJBEHeNtdnbysW7Y6Uq8CVng== - -"@types/react-dom@^18.0.0": - version "18.2.18" - resolved "https://registry.yarnpkg.com/@types/react-dom/-/react-dom-18.2.18.tgz#16946e6cd43971256d874bc3d0a72074bb8571dd" - integrity sha512-TJxDm6OfAX2KJWJdMEVTwWke5Sc/E/RlnPGvGfS0W7+6ocy2xhDVQVh/KvC2Uf7kACs+gDytdusDSdWfWkaNzw== - dependencies: - "@types/react" "*" - -"@types/react-redux@^7.1.20": - version "7.1.33" - resolved "https://registry.yarnpkg.com/@types/react-redux/-/react-redux-7.1.33.tgz#53c5564f03f1ded90904e3c90f77e4bd4dc20b15" - integrity sha512-NF8m5AjWCkert+fosDsN3hAlHzpjSiXlVy9EgQEmLoBhaNXbmyeGs/aj5dQzKuF+/q+S7JQagorGDW8pJ28Hmg== - dependencies: - "@types/hoist-non-react-statics" "^3.3.0" - "@types/react" "*" - hoist-non-react-statics "^3.3.0" - redux "^4.0.0" - -"@types/react-router-dom@^5.3.3": - version "5.3.3" - resolved "https://registry.yarnpkg.com/@types/react-router-dom/-/react-router-dom-5.3.3.tgz#e9d6b4a66fcdbd651a5f106c2656a30088cc1e83" - integrity sha512-kpqnYK4wcdm5UaWI3fLcELopqLrHgLqNsdpHauzlQktfkHL3npOSwtj1Uz9oKBAzs7lFtVkV8j83voAz2D8fhw== - dependencies: - "@types/history" "^4.7.11" - "@types/react" "*" - "@types/react-router" "*" - -"@types/react-router@*": - version "5.1.20" - resolved "https://registry.yarnpkg.com/@types/react-router/-/react-router-5.1.20.tgz#88eccaa122a82405ef3efbcaaa5dcdd9f021387c" - integrity sha512-jGjmu/ZqS7FjSH6owMcD5qpq19+1RS9DeVRqfl1FeBMxTDQAGwlMWOcs52NDoXaNKyG3d1cYQFMs9rCrb88o9Q== - dependencies: - "@types/history" "^4.7.11" - "@types/react" "*" - -"@types/react-transition-group@^4.4.0": - version "4.4.10" - resolved "https://registry.yarnpkg.com/@types/react-transition-group/-/react-transition-group-4.4.10.tgz#6ee71127bdab1f18f11ad8fb3322c6da27c327ac" - integrity sha512-hT/+s0VQs2ojCX823m60m5f0sL5idt9SO6Tj6Dg+rdphGPIeJbJ6CxvBYkgkGKrYeDjvIpKTR38UzmtHJOGW3Q== - dependencies: - "@types/react" "*" - -"@types/react@*": - version "18.2.48" - resolved "https://registry.yarnpkg.com/@types/react/-/react-18.2.48.tgz#11df5664642d0bd879c1f58bc1d37205b064e8f1" - integrity sha512-qboRCl6Ie70DQQG9hhNREz81jqC1cs9EVNcjQ1AU+jH6NFfSAhVVbrrY/+nSF+Bsk4AOwm9Qa61InvMCyV+H3w== - dependencies: - "@types/prop-types" "*" - "@types/scheduler" "*" - csstype "^3.0.2" - -"@types/scheduler@*": - version "0.16.8" - resolved "https://registry.yarnpkg.com/@types/scheduler/-/scheduler-0.16.8.tgz#ce5ace04cfeabe7ef87c0091e50752e36707deff" - integrity sha512-WZLiwShhwLRmeV6zH+GkbOFT6Z6VklCItrDioxUnv+u4Ll+8vKeFySoFyK/0ctcRpOmwAicELfmys1sDc/Rw+A== - -"@types/semver@^7.3.12", "@types/semver@^7.5.0": - version "7.5.6" - resolved "https://registry.yarnpkg.com/@types/semver/-/semver-7.5.6.tgz#c65b2bfce1bec346582c07724e3f8c1017a20339" - integrity sha512-dn1l8LaMea/IjDoHNd9J52uBbInB796CDffS6VdIxvqYCPSG0V0DzHp76GpaWnlhg88uYyPbXCDIowa86ybd5A== - -"@types/sinonjs__fake-timers@8.1.1": - version "8.1.1" - resolved "https://registry.yarnpkg.com/@types/sinonjs__fake-timers/-/sinonjs__fake-timers-8.1.1.tgz#b49c2c70150141a15e0fa7e79cf1f92a72934ce3" - integrity sha512-0kSuKjAS0TrGLJ0M/+8MaFkGsQhZpB6pxOmvS3K8FYI72K//YmdfoW9X2qPsAKh1mkwxGD5zib9s1FIFed6E8g== - -"@types/sizzle@^2.3.2": - version "2.3.8" - resolved "https://registry.yarnpkg.com/@types/sizzle/-/sizzle-2.3.8.tgz#518609aefb797da19bf222feb199e8f653ff7627" - integrity sha512-0vWLNK2D5MT9dg0iOo8GlKguPAU02QjmZitPEsXRuJXU/OGIOt9vT9Fc26wtYuavLxtO45v9PGleoL9Z0k1LHg== - -"@types/stack-utils@^2.0.0": - version "2.0.3" - resolved "https://registry.yarnpkg.com/@types/stack-utils/-/stack-utils-2.0.3.tgz#6209321eb2c1712a7e7466422b8cb1fc0d9dd5d8" - integrity sha512-9aEbYZ3TbYMznPdcdr3SmIrLXwC/AKZXQeCf9Pgao5CKb8CyHuEX5jzWPTkvregvhRJHcpRO6BFoGW9ycaOkYw== - -"@types/string-hash@1.1.1": - version "1.1.1" - resolved "https://registry.yarnpkg.com/@types/string-hash/-/string-hash-1.1.1.tgz#4c336e61d1e13ce2d3efaaa5910005fd080e106b" - integrity sha512-ijt3zdHi2DmZxQpQTmozXszzDo78V4R3EdvX0jFMfnMH2ZzQSmCbaWOMPGXFUYSzSIdStv78HDjg32m5dxc+tA== - -"@types/testing-library__jest-dom@5.14.8": - version "5.14.8" - resolved "https://registry.yarnpkg.com/@types/testing-library__jest-dom/-/testing-library__jest-dom-5.14.8.tgz#b32090a01c29040461fb7fa10a82400f216a4b93" - integrity sha512-NRfJE9Cgpmu4fx716q9SYmU4jxxhYRU1BQo239Txt/9N3EC745XZX1Yl7h/SBIDlo1ANVOCRB4YDXjaQdoKCHQ== - dependencies: - "@types/jest" "*" - -"@types/tough-cookie@*": - version "4.0.5" - resolved "https://registry.yarnpkg.com/@types/tough-cookie/-/tough-cookie-4.0.5.tgz#cb6e2a691b70cb177c6e3ae9c1d2e8b2ea8cd304" - integrity sha512-/Ad8+nIOV7Rl++6f1BdKxFSMgmoqEoYbHRpPcx3JEfv8VRsQe9Z4mCXeJBzxs7mbHY/XOZZuXlRNfhpVPbs6ZA== - -"@types/yargs-parser@*": - version "21.0.3" - resolved "https://registry.yarnpkg.com/@types/yargs-parser/-/yargs-parser-21.0.3.tgz#815e30b786d2e8f0dcd85fd5bcf5e1a04d008f15" - integrity sha512-I4q9QU9MQv4oEOz4tAHJtNz1cwuLxn2F3xcc2iV5WdqLPpUnj30aUuxt1mAxYTG+oe8CZMV/+6rU4S4gRDzqtQ== - -"@types/yargs@^17.0.8": - version "17.0.32" - resolved "https://registry.yarnpkg.com/@types/yargs/-/yargs-17.0.32.tgz#030774723a2f7faafebf645f4e5a48371dca6229" - integrity sha512-xQ67Yc/laOG5uMfX/093MRlGGCIBzZMarVa+gfNKJxWAIgykYpVGkBdbqEzGDDfCrVUj6Hiff4mTZ5BA6TmAog== - dependencies: - "@types/yargs-parser" "*" - -"@types/yauzl@^2.9.1": - version "2.10.3" - resolved "https://registry.yarnpkg.com/@types/yauzl/-/yauzl-2.10.3.tgz#e9b2808b4f109504a03cda958259876f61017999" - integrity sha512-oJoftv0LSuaDZE3Le4DbKX+KS9G36NzOeSap90UIK0yMA/NhKJhqlSGtNDORNRaIbQfzjXDrQa0ytJ6mNRGz/Q== - dependencies: - "@types/node" "*" - -"@typescript-eslint/eslint-plugin@5.59.9": - version "5.59.9" - resolved "https://registry.yarnpkg.com/@typescript-eslint/eslint-plugin/-/eslint-plugin-5.59.9.tgz#2604cfaf2b306e120044f901e20c8ed926debf15" - integrity sha512-4uQIBq1ffXd2YvF7MAvehWKW3zVv/w+mSfRAu+8cKbfj3nwzyqJLNcZJpQ/WZ1HLbJDiowwmQ6NO+63nCA+fqA== - dependencies: - "@eslint-community/regexpp" "^4.4.0" - "@typescript-eslint/scope-manager" "5.59.9" - "@typescript-eslint/type-utils" "5.59.9" - "@typescript-eslint/utils" "5.59.9" - debug "^4.3.4" - grapheme-splitter "^1.0.4" - ignore "^5.2.0" - natural-compare-lite "^1.4.0" - semver "^7.3.7" - tsutils "^3.21.0" - -"@typescript-eslint/parser@5.59.9": - version "5.59.9" - resolved "https://registry.yarnpkg.com/@typescript-eslint/parser/-/parser-5.59.9.tgz#a85c47ccdd7e285697463da15200f9a8561dd5fa" - integrity sha512-FsPkRvBtcLQ/eVK1ivDiNYBjn3TGJdXy2fhXX+rc7czWl4ARwnpArwbihSOHI2Peg9WbtGHrbThfBUkZZGTtvQ== - dependencies: - "@typescript-eslint/scope-manager" "5.59.9" - "@typescript-eslint/types" "5.59.9" - "@typescript-eslint/typescript-estree" "5.59.9" - debug "^4.3.4" - -"@typescript-eslint/scope-manager@5.59.9": - version "5.59.9" - resolved "https://registry.yarnpkg.com/@typescript-eslint/scope-manager/-/scope-manager-5.59.9.tgz#eadce1f2733389cdb58c49770192c0f95470d2f4" - integrity sha512-8RA+E+w78z1+2dzvK/tGZ2cpGigBZ58VMEHDZtpE1v+LLjzrYGc8mMaTONSxKyEkz3IuXFM0IqYiGHlCsmlZxQ== - dependencies: - "@typescript-eslint/types" "5.59.9" - "@typescript-eslint/visitor-keys" "5.59.9" - -"@typescript-eslint/scope-manager@6.19.0": - version "6.19.0" - resolved "https://registry.yarnpkg.com/@typescript-eslint/scope-manager/-/scope-manager-6.19.0.tgz#b6d2abb825b29ab70cb542d220e40c61c1678116" - integrity sha512-dO1XMhV2ehBI6QN8Ufi7I10wmUovmLU0Oru3n5LVlM2JuzB4M+dVphCPLkVpKvGij2j/pHBWuJ9piuXx+BhzxQ== - dependencies: - "@typescript-eslint/types" "6.19.0" - "@typescript-eslint/visitor-keys" "6.19.0" - -"@typescript-eslint/type-utils@5.59.9": - version "5.59.9" - resolved "https://registry.yarnpkg.com/@typescript-eslint/type-utils/-/type-utils-5.59.9.tgz#53bfaae2e901e6ac637ab0536d1754dfef4dafc2" - integrity sha512-ksEsT0/mEHg9e3qZu98AlSrONAQtrSTljL3ow9CGej8eRo7pe+yaC/mvTjptp23Xo/xIf2mLZKC6KPv4Sji26Q== - dependencies: - "@typescript-eslint/typescript-estree" "5.59.9" - "@typescript-eslint/utils" "5.59.9" - debug "^4.3.4" - tsutils "^3.21.0" - -"@typescript-eslint/types@5.59.9": - version "5.59.9" - resolved "https://registry.yarnpkg.com/@typescript-eslint/types/-/types-5.59.9.tgz#3b4e7ae63718ce1b966e0ae620adc4099a6dcc52" - integrity sha512-uW8H5NRgTVneSVTfiCVffBb8AbwWSKg7qcA4Ot3JI3MPCJGsB4Db4BhvAODIIYE5mNj7Q+VJkK7JxmRhk2Lyjw== - -"@typescript-eslint/types@6.19.0": - version "6.19.0" - resolved "https://registry.yarnpkg.com/@typescript-eslint/types/-/types-6.19.0.tgz#689b0498c436272a6a2059b09f44bcbd90de294a" - integrity sha512-lFviGV/vYhOy3m8BJ/nAKoAyNhInTdXpftonhWle66XHAtT1ouBlkjL496b5H5hb8dWXHwtypTqgtb/DEa+j5A== - -"@typescript-eslint/typescript-estree@5.59.9": - version "5.59.9" - resolved "https://registry.yarnpkg.com/@typescript-eslint/typescript-estree/-/typescript-estree-5.59.9.tgz#6bfea844e468427b5e72034d33c9fffc9557392b" - integrity sha512-pmM0/VQ7kUhd1QyIxgS+aRvMgw+ZljB3eDb+jYyp6d2bC0mQWLzUDF+DLwCTkQ3tlNyVsvZRXjFyV0LkU/aXjA== - dependencies: - "@typescript-eslint/types" "5.59.9" - "@typescript-eslint/visitor-keys" "5.59.9" - debug "^4.3.4" - globby "^11.1.0" - is-glob "^4.0.3" - semver "^7.3.7" - tsutils "^3.21.0" - -"@typescript-eslint/typescript-estree@6.19.0": - version "6.19.0" - resolved "https://registry.yarnpkg.com/@typescript-eslint/typescript-estree/-/typescript-estree-6.19.0.tgz#0813ba364a409afb4d62348aec0202600cb468fa" - integrity sha512-o/zefXIbbLBZ8YJ51NlkSAt2BamrK6XOmuxSR3hynMIzzyMY33KuJ9vuMdFSXW+H0tVvdF9qBPTHA91HDb4BIQ== - dependencies: - "@typescript-eslint/types" "6.19.0" - "@typescript-eslint/visitor-keys" "6.19.0" - debug "^4.3.4" - globby "^11.1.0" - is-glob "^4.0.3" - minimatch "9.0.3" - semver "^7.5.4" - ts-api-utils "^1.0.1" - -"@typescript-eslint/utils@5.59.9": - version "5.59.9" - resolved "https://registry.yarnpkg.com/@typescript-eslint/utils/-/utils-5.59.9.tgz#adee890107b5ffe02cd46fdaa6c2125fb3c6c7c4" - integrity sha512-1PuMYsju/38I5Ggblaeb98TOoUvjhRvLpLa1DoTOFaLWqaXl/1iQ1eGurTXgBY58NUdtfTXKP5xBq7q9NDaLKg== - dependencies: - "@eslint-community/eslint-utils" "^4.2.0" - "@types/json-schema" "^7.0.9" - "@types/semver" "^7.3.12" - "@typescript-eslint/scope-manager" "5.59.9" - "@typescript-eslint/types" "5.59.9" - "@typescript-eslint/typescript-estree" "5.59.9" - eslint-scope "^5.1.1" - semver "^7.3.7" - -"@typescript-eslint/utils@^6.0.0": - version "6.19.0" - resolved "https://registry.yarnpkg.com/@typescript-eslint/utils/-/utils-6.19.0.tgz#557b72c3eeb4f73bef8037c85dae57b21beb1a4b" - integrity sha512-QR41YXySiuN++/dC9UArYOg4X86OAYP83OWTewpVx5ct1IZhjjgTLocj7QNxGhWoTqknsgpl7L+hGygCO+sdYw== - dependencies: - "@eslint-community/eslint-utils" "^4.4.0" - "@types/json-schema" "^7.0.12" - "@types/semver" "^7.5.0" - "@typescript-eslint/scope-manager" "6.19.0" - "@typescript-eslint/types" "6.19.0" - "@typescript-eslint/typescript-estree" "6.19.0" - semver "^7.5.4" - -"@typescript-eslint/visitor-keys@5.59.9": - version "5.59.9" - resolved "https://registry.yarnpkg.com/@typescript-eslint/visitor-keys/-/visitor-keys-5.59.9.tgz#9f86ef8e95aca30fb5a705bb7430f95fc58b146d" - integrity sha512-bT7s0td97KMaLwpEBckbzj/YohnvXtqbe2XgqNvTl6RJVakY5mvENOTPvw5u66nljfZxthESpDozs86U+oLY8Q== - dependencies: - "@typescript-eslint/types" "5.59.9" - eslint-visitor-keys "^3.3.0" - -"@typescript-eslint/visitor-keys@6.19.0": - version "6.19.0" - resolved "https://registry.yarnpkg.com/@typescript-eslint/visitor-keys/-/visitor-keys-6.19.0.tgz#4565e0ecd63ca1f81b96f1dd76e49f746c6b2b49" - integrity sha512-hZaUCORLgubBvtGpp1JEFEazcuEdfxta9j4iUwdSAr7mEsYYAp3EAUyCZk3VEEqGj6W+AV4uWyrDGtrlawAsgQ== - dependencies: - "@typescript-eslint/types" "6.19.0" - eslint-visitor-keys "^3.4.1" - -"@webassemblyjs/ast@1.11.6", "@webassemblyjs/ast@^1.11.5": - version "1.11.6" - resolved "https://registry.yarnpkg.com/@webassemblyjs/ast/-/ast-1.11.6.tgz#db046555d3c413f8966ca50a95176a0e2c642e24" - integrity sha512-IN1xI7PwOvLPgjcf180gC1bqn3q/QaOCwYUahIOhbYUu8KA/3tw2RT/T0Gidi1l7Hhj5D/INhJxiICObqpMu4Q== - dependencies: - "@webassemblyjs/helper-numbers" "1.11.6" - "@webassemblyjs/helper-wasm-bytecode" "1.11.6" - -"@webassemblyjs/floating-point-hex-parser@1.11.6": - version "1.11.6" - resolved "https://registry.yarnpkg.com/@webassemblyjs/floating-point-hex-parser/-/floating-point-hex-parser-1.11.6.tgz#dacbcb95aff135c8260f77fa3b4c5fea600a6431" - integrity sha512-ejAj9hfRJ2XMsNHk/v6Fu2dGS+i4UaXBXGemOfQ/JfQ6mdQg/WXtwleQRLLS4OvfDhv8rYnVwH27YJLMyYsxhw== - -"@webassemblyjs/helper-api-error@1.11.6": - version "1.11.6" - resolved "https://registry.yarnpkg.com/@webassemblyjs/helper-api-error/-/helper-api-error-1.11.6.tgz#6132f68c4acd59dcd141c44b18cbebbd9f2fa768" - integrity sha512-o0YkoP4pVu4rN8aTJgAyj9hC2Sv5UlkzCHhxqWj8butaLvnpdc2jOwh4ewE6CX0txSfLn/UYaV/pheS2Txg//Q== - -"@webassemblyjs/helper-buffer@1.11.6": - version "1.11.6" - resolved "https://registry.yarnpkg.com/@webassemblyjs/helper-buffer/-/helper-buffer-1.11.6.tgz#b66d73c43e296fd5e88006f18524feb0f2c7c093" - integrity sha512-z3nFzdcp1mb8nEOFFk8DrYLpHvhKC3grJD2ardfKOzmbmJvEf/tPIqCY+sNcwZIY8ZD7IkB2l7/pqhUhqm7hLA== - -"@webassemblyjs/helper-numbers@1.11.6": - version "1.11.6" - resolved "https://registry.yarnpkg.com/@webassemblyjs/helper-numbers/-/helper-numbers-1.11.6.tgz#cbce5e7e0c1bd32cf4905ae444ef64cea919f1b5" - integrity sha512-vUIhZ8LZoIWHBohiEObxVm6hwP034jwmc9kuq5GdHZH0wiLVLIPcMCdpJzG4C11cHoQ25TFIQj9kaVADVX7N3g== - dependencies: - "@webassemblyjs/floating-point-hex-parser" "1.11.6" - "@webassemblyjs/helper-api-error" "1.11.6" - "@xtuc/long" "4.2.2" - -"@webassemblyjs/helper-wasm-bytecode@1.11.6": - version "1.11.6" - resolved "https://registry.yarnpkg.com/@webassemblyjs/helper-wasm-bytecode/-/helper-wasm-bytecode-1.11.6.tgz#bb2ebdb3b83aa26d9baad4c46d4315283acd51e9" - integrity sha512-sFFHKwcmBprO9e7Icf0+gddyWYDViL8bpPjJJl0WHxCdETktXdmtWLGVzoHbqUcY4Be1LkNfwTmXOJUFZYSJdA== - -"@webassemblyjs/helper-wasm-section@1.11.6": - version "1.11.6" - resolved "https://registry.yarnpkg.com/@webassemblyjs/helper-wasm-section/-/helper-wasm-section-1.11.6.tgz#ff97f3863c55ee7f580fd5c41a381e9def4aa577" - integrity sha512-LPpZbSOwTpEC2cgn4hTydySy1Ke+XEu+ETXuoyvuyezHO3Kjdu90KK95Sh9xTbmjrCsUwvWwCOQQNta37VrS9g== - dependencies: - "@webassemblyjs/ast" "1.11.6" - "@webassemblyjs/helper-buffer" "1.11.6" - "@webassemblyjs/helper-wasm-bytecode" "1.11.6" - "@webassemblyjs/wasm-gen" "1.11.6" - -"@webassemblyjs/ieee754@1.11.6": - version "1.11.6" - resolved "https://registry.yarnpkg.com/@webassemblyjs/ieee754/-/ieee754-1.11.6.tgz#bb665c91d0b14fffceb0e38298c329af043c6e3a" - integrity sha512-LM4p2csPNvbij6U1f19v6WR56QZ8JcHg3QIJTlSwzFcmx6WSORicYj6I63f9yU1kEUtrpG+kjkiIAkevHpDXrg== - dependencies: - "@xtuc/ieee754" "^1.2.0" - -"@webassemblyjs/leb128@1.11.6": - version "1.11.6" - resolved "https://registry.yarnpkg.com/@webassemblyjs/leb128/-/leb128-1.11.6.tgz#70e60e5e82f9ac81118bc25381a0b283893240d7" - integrity sha512-m7a0FhE67DQXgouf1tbN5XQcdWoNgaAuoULHIfGFIEVKA6tu/edls6XnIlkmS6FrXAquJRPni3ZZKjw6FSPjPQ== - dependencies: - "@xtuc/long" "4.2.2" - -"@webassemblyjs/utf8@1.11.6": - version "1.11.6" - resolved "https://registry.yarnpkg.com/@webassemblyjs/utf8/-/utf8-1.11.6.tgz#90f8bc34c561595fe156603be7253cdbcd0fab5a" - integrity sha512-vtXf2wTQ3+up9Zsg8sa2yWiQpzSsMyXj0qViVP6xKGCUT8p8YJ6HqI7l5eCnWx1T/FYdsv07HQs2wTFbbof/RA== - -"@webassemblyjs/wasm-edit@^1.11.5": - version "1.11.6" - resolved "https://registry.yarnpkg.com/@webassemblyjs/wasm-edit/-/wasm-edit-1.11.6.tgz#c72fa8220524c9b416249f3d94c2958dfe70ceab" - integrity sha512-Ybn2I6fnfIGuCR+Faaz7YcvtBKxvoLV3Lebn1tM4o/IAJzmi9AWYIPWpyBfU8cC+JxAO57bk4+zdsTjJR+VTOw== - dependencies: - "@webassemblyjs/ast" "1.11.6" - "@webassemblyjs/helper-buffer" "1.11.6" - "@webassemblyjs/helper-wasm-bytecode" "1.11.6" - "@webassemblyjs/helper-wasm-section" "1.11.6" - "@webassemblyjs/wasm-gen" "1.11.6" - "@webassemblyjs/wasm-opt" "1.11.6" - "@webassemblyjs/wasm-parser" "1.11.6" - "@webassemblyjs/wast-printer" "1.11.6" - -"@webassemblyjs/wasm-gen@1.11.6": - version "1.11.6" - resolved "https://registry.yarnpkg.com/@webassemblyjs/wasm-gen/-/wasm-gen-1.11.6.tgz#fb5283e0e8b4551cc4e9c3c0d7184a65faf7c268" - integrity sha512-3XOqkZP/y6B4F0PBAXvI1/bky7GryoogUtfwExeP/v7Nzwo1QLcq5oQmpKlftZLbT+ERUOAZVQjuNVak6UXjPA== - dependencies: - "@webassemblyjs/ast" "1.11.6" - "@webassemblyjs/helper-wasm-bytecode" "1.11.6" - "@webassemblyjs/ieee754" "1.11.6" - "@webassemblyjs/leb128" "1.11.6" - "@webassemblyjs/utf8" "1.11.6" - -"@webassemblyjs/wasm-opt@1.11.6": - version "1.11.6" - resolved "https://registry.yarnpkg.com/@webassemblyjs/wasm-opt/-/wasm-opt-1.11.6.tgz#d9a22d651248422ca498b09aa3232a81041487c2" - integrity sha512-cOrKuLRE7PCe6AsOVl7WasYf3wbSo4CeOk6PkrjS7g57MFfVUF9u6ysQBBODX0LdgSvQqRiGz3CXvIDKcPNy4g== - dependencies: - "@webassemblyjs/ast" "1.11.6" - "@webassemblyjs/helper-buffer" "1.11.6" - "@webassemblyjs/wasm-gen" "1.11.6" - "@webassemblyjs/wasm-parser" "1.11.6" - -"@webassemblyjs/wasm-parser@1.11.6", "@webassemblyjs/wasm-parser@^1.11.5": - version "1.11.6" - resolved "https://registry.yarnpkg.com/@webassemblyjs/wasm-parser/-/wasm-parser-1.11.6.tgz#bb85378c527df824004812bbdb784eea539174a1" - integrity sha512-6ZwPeGzMJM3Dqp3hCsLgESxBGtT/OeCvCZ4TA1JUPYgmhAx38tTPR9JaKy0S5H3evQpO/h2uWs2j6Yc/fjkpTQ== - dependencies: - "@webassemblyjs/ast" "1.11.6" - "@webassemblyjs/helper-api-error" "1.11.6" - "@webassemblyjs/helper-wasm-bytecode" "1.11.6" - "@webassemblyjs/ieee754" "1.11.6" - "@webassemblyjs/leb128" "1.11.6" - "@webassemblyjs/utf8" "1.11.6" - -"@webassemblyjs/wast-printer@1.11.6": - version "1.11.6" - resolved "https://registry.yarnpkg.com/@webassemblyjs/wast-printer/-/wast-printer-1.11.6.tgz#a7bf8dd7e362aeb1668ff43f35cb849f188eff20" - integrity sha512-JM7AhRcE+yW2GWYaKeHL5vt4xqee5N2WcezptmgyhNS+ScggqcT1OtXykhAb13Sn5Yas0j2uv9tHgrjwvzAP4A== - dependencies: - "@webassemblyjs/ast" "1.11.6" - "@xtuc/long" "4.2.2" - -"@webpack-cli/configtest@^2.1.1": - version "2.1.1" - resolved "https://registry.yarnpkg.com/@webpack-cli/configtest/-/configtest-2.1.1.tgz#3b2f852e91dac6e3b85fb2a314fb8bef46d94646" - integrity sha512-wy0mglZpDSiSS0XHrVR+BAdId2+yxPSoJW8fsna3ZpYSlufjvxnP4YbKTCBZnNIcGN4r6ZPXV55X4mYExOfLmw== - -"@webpack-cli/info@^2.0.2": - version "2.0.2" - resolved "https://registry.yarnpkg.com/@webpack-cli/info/-/info-2.0.2.tgz#cc3fbf22efeb88ff62310cf885c5b09f44ae0fdd" - integrity sha512-zLHQdI/Qs1UyT5UBdWNqsARasIA+AaF8t+4u2aS2nEpBQh2mWIVb8qAklq0eUENnC5mOItrIB4LiS9xMtph18A== - -"@webpack-cli/serve@^2.0.5": - version "2.0.5" - resolved "https://registry.yarnpkg.com/@webpack-cli/serve/-/serve-2.0.5.tgz#325db42395cd49fe6c14057f9a900e427df8810e" - integrity sha512-lqaoKnRYBdo1UgDX8uF24AfGMifWK19TxPmM5FHc2vAGxrJ/qtyUyFBWoY1tISZdelsQ5fBcOusifo5o5wSJxQ== - -"@wojtekmaj/date-utils@^1.0.2": - version "1.5.1" - resolved "https://registry.yarnpkg.com/@wojtekmaj/date-utils/-/date-utils-1.5.1.tgz#c3cd67177ac781cfa5736219d702a55a2aea5f2b" - integrity sha512-+i7+JmNiE/3c9FKxzWFi2IjRJ+KzZl1QPu6QNrsgaa2MuBgXvUy4gA1TVzf/JMdIIloB76xSKikTWuyYAIVLww== - -"@xobotyi/scrollbar-width@^1.9.5": - version "1.9.5" - resolved "https://registry.yarnpkg.com/@xobotyi/scrollbar-width/-/scrollbar-width-1.9.5.tgz#80224a6919272f405b87913ca13b92929bdf3c4d" - integrity sha512-N8tkAACJx2ww8vFMneJmaAgmjAG1tnVBZJRLRcx061tmsLRZHSEZSLuGWnwPtunsSLvSqXQ2wfp7Mgqg1I+2dQ== - -"@xtuc/ieee754@^1.2.0": - version "1.2.0" - resolved "https://registry.yarnpkg.com/@xtuc/ieee754/-/ieee754-1.2.0.tgz#eef014a3145ae477a1cbc00cd1e552336dceb790" - integrity sha512-DX8nKgqcGwsc0eJSqYt5lwP4DH5FlHnmuWWBRy7X0NcaGR0ZtuyeESgMwTYVEtxmsNGY+qit4QYT/MIYTOTPeA== - -"@xtuc/long@4.2.2": - version "4.2.2" - resolved "https://registry.yarnpkg.com/@xtuc/long/-/long-4.2.2.tgz#d291c6a4e97989b5c61d9acf396ae4fe133a718d" - integrity sha512-NuHqBY1PB/D8xU6s/thBgOAiAP7HOYDQ32+BFZILJ8ivkUkAHQnWfn6WhL79Owj1qmUnoN/YPhktdIoucipkAQ== - -abab@^2.0.6: - version "2.0.6" - resolved "https://registry.yarnpkg.com/abab/-/abab-2.0.6.tgz#41b80f2c871d19686216b82309231cfd3cb3d291" - integrity sha512-j2afSsaIENvHZN2B8GOpF566vZ5WVk5opAiMTvWgaQT8DkbOqsTfvNAvHoRGU2zzP8cPoqys+xHTRDWW8L+/BA== - -acorn-globals@^7.0.0: - version "7.0.1" - resolved "https://registry.yarnpkg.com/acorn-globals/-/acorn-globals-7.0.1.tgz#0dbf05c44fa7c94332914c02066d5beff62c40c3" - integrity sha512-umOSDSDrfHbTNPuNpC2NSnnA3LUrqpevPb4T9jRx4MagXNS0rs+gwiTcAvqCRmsD6utzsrzNt+ebm00SNWiC3Q== - dependencies: - acorn "^8.1.0" - acorn-walk "^8.0.2" - -acorn-import-assertions@^1.9.0: - version "1.9.0" - resolved "https://registry.yarnpkg.com/acorn-import-assertions/-/acorn-import-assertions-1.9.0.tgz#507276249d684797c84e0734ef84860334cfb1ac" - integrity sha512-cmMwop9x+8KFhxvKrKfPYmN6/pKTYYHBqLa0DfvVZcKMJWNyWLnaqND7dx/qn66R7ewM1UX5XMaDVP5wlVTaVA== - -acorn-jsx@^5.3.2: - version "5.3.2" - resolved "https://registry.yarnpkg.com/acorn-jsx/-/acorn-jsx-5.3.2.tgz#7ed5bb55908b3b2f1bc55c6af1653bada7f07937" - integrity sha512-rq9s+JNhf0IChjtDXxllJ7g41oZk5SlXtp0LHwyA5cejwn7vKmKp4pPri6YEePv2PU65sAsegbXtIinmDFDXgQ== - -acorn-walk@^8.0.2, acorn-walk@^8.1.1: - version "8.3.2" - resolved "https://registry.yarnpkg.com/acorn-walk/-/acorn-walk-8.3.2.tgz#7703af9415f1b6db9315d6895503862e231d34aa" - integrity sha512-cjkyv4OtNCIeqhHrfS81QWXoCBPExR/J62oyEqepVw8WaQeSqpW2uhuLPh1m9eWhDuOo/jUXVTlifvesOWp/4A== - -acorn@^8.1.0, acorn@^8.4.1, acorn@^8.7.1, acorn@^8.8.1, acorn@^8.8.2, acorn@^8.9.0: - version "8.11.3" - resolved "https://registry.yarnpkg.com/acorn/-/acorn-8.11.3.tgz#71e0b14e13a4ec160724b38fb7b0f233b1b81d7a" - integrity sha512-Y9rRfJG5jcKOE0CLisYbojUjIrIEE7AGMzA/Sm4BslANhbS+cDMpgBdcPT91oJ7OuJ9hYJBx59RjbhxVnrF8Xg== - -add-dom-event-listener@^1.1.0: - version "1.1.0" - resolved "https://registry.yarnpkg.com/add-dom-event-listener/-/add-dom-event-listener-1.1.0.tgz#6a92db3a0dd0abc254e095c0f1dc14acbbaae310" - integrity sha512-WCxx1ixHT0GQU9hb0KI/mhgRQhnU+U3GvwY6ZvVjYq8rsihIGoaIOUbY0yMPBxLH5MDtr0kz3fisWGNcbWW7Jw== - dependencies: - object-assign "4.x" - -add-px-to-style@1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/add-px-to-style/-/add-px-to-style-1.0.0.tgz#d0c135441fa8014a8137904531096f67f28f263a" - integrity sha512-YMyxSlXpPjD8uWekCQGuN40lV4bnZagUwqa2m/uFv1z/tNImSk9fnXVMUI5qwME/zzI3MMQRvjZ+69zyfSSyew== - -agent-base@6: - version "6.0.2" - resolved "https://registry.yarnpkg.com/agent-base/-/agent-base-6.0.2.tgz#49fff58577cfee3f37176feab4c22e00f86d7f77" - integrity sha512-RZNwNclF7+MS/8bDg70amg32dyeZGZxiDuQmZxKLAlQjr3jGyLx+4Kkk58UO7D2QdgFIQCovuSuZESne6RG6XQ== - dependencies: - debug "4" - -aggregate-error@^3.0.0: - version "3.1.0" - resolved "https://registry.yarnpkg.com/aggregate-error/-/aggregate-error-3.1.0.tgz#92670ff50f5359bdb7a3e0d40d0ec30c5737687a" - integrity sha512-4I7Td01quW/RpocfNayFdFVk1qSuoh0E7JrbRJ16nH01HhKFQ88INq9Sd+nd72zqRySlr9BmDA8xlEJ6vJMrYA== - dependencies: - clean-stack "^2.0.0" - indent-string "^4.0.0" - -ajv-formats@^2.1.1: - version "2.1.1" - resolved "https://registry.yarnpkg.com/ajv-formats/-/ajv-formats-2.1.1.tgz#6e669400659eb74973bbf2e33327180a0996b520" - integrity sha512-Wx0Kx52hxE7C18hkMEggYlEifqWZtYaRgouJor+WMdPnQyEK13vgEWyVNup7SoeeoLMsr4kf5h6dOW11I15MUA== - dependencies: - ajv "^8.0.0" - -ajv-keywords@^3.5.2: - version "3.5.2" - resolved "https://registry.yarnpkg.com/ajv-keywords/-/ajv-keywords-3.5.2.tgz#31f29da5ab6e00d1c2d329acf7b5929614d5014d" - integrity sha512-5p6WTN0DdTGVQk6VjcEju19IgaHudalcfabD7yhDGeA6bcQnmL+CpveLJq/3hvfwd1aof6L386Ougkx6RfyMIQ== - -ajv-keywords@^5.1.0: - version "5.1.0" - resolved "https://registry.yarnpkg.com/ajv-keywords/-/ajv-keywords-5.1.0.tgz#69d4d385a4733cdbeab44964a1170a88f87f0e16" - integrity sha512-YCS/JNFAUyr5vAuhk1DWm1CBxRHW9LbJ2ozWeemrIqpbsqKjHVxYPyi5GC0rjZIT5JxJ3virVTS8wk4i/Z+krw== - dependencies: - fast-deep-equal "^3.1.3" - -ajv@^6.10.0, ajv@^6.12.3, ajv@^6.12.4, ajv@^6.12.5: - version "6.12.6" - resolved "https://registry.yarnpkg.com/ajv/-/ajv-6.12.6.tgz#baf5a62e802b07d977034586f8c3baf5adf26df4" - integrity sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g== - dependencies: - fast-deep-equal "^3.1.1" - fast-json-stable-stringify "^2.0.0" - json-schema-traverse "^0.4.1" - uri-js "^4.2.2" - -ajv@^8.0.0, ajv@^8.9.0: - version "8.12.0" - resolved "https://registry.yarnpkg.com/ajv/-/ajv-8.12.0.tgz#d1a0527323e22f53562c567c00991577dfbe19d1" - integrity sha512-sRu1kpcO9yLtYxBKvqfTeh9KzZEwO3STyX1HT+4CaDzC6HpTGYhIhPIzj9XuKU7KYDwnaeh5hcOwjy1QuJzBPA== - dependencies: - fast-deep-equal "^3.1.1" - json-schema-traverse "^1.0.0" - require-from-string "^2.0.2" - uri-js "^4.2.2" - -ansi-colors@4.1.1: - version "4.1.1" - resolved "https://registry.yarnpkg.com/ansi-colors/-/ansi-colors-4.1.1.tgz#cbb9ae256bf750af1eab344f229aa27fe94ba348" - integrity sha512-JoX0apGbHaUJBNl6yF+p6JAFYZ666/hhCGKN5t9QFjbJQKUU/g8MNbFDbvfrgKXvI1QpZplPOnwIo99lX/AAmA== - -ansi-colors@^4.1.1: - version "4.1.3" - resolved "https://registry.yarnpkg.com/ansi-colors/-/ansi-colors-4.1.3.tgz#37611340eb2243e70cc604cad35d63270d48781b" - integrity sha512-/6w/C21Pm1A7aZitlI5Ni/2J6FFQN8i1Cvz3kHABAAbw93v/NlvKdVOqz7CCWz/3iv/JplRSEEZ83XION15ovw== - -ansi-escapes@^4.2.1, ansi-escapes@^4.3.0: - version "4.3.2" - resolved "https://registry.yarnpkg.com/ansi-escapes/-/ansi-escapes-4.3.2.tgz#6b2291d1db7d98b6521d5f1efa42d0f3a9feb65e" - integrity sha512-gKXj5ALrKWQLsYG9jlTRmR/xKluxHV+Z9QEwNIgCfM1/uwPMCuzVVnh5mwTd+OuBZcwSIMbqssNWRm1lE51QaQ== - dependencies: - type-fest "^0.21.3" - -ansi-regex@^5.0.1: - version "5.0.1" - resolved "https://registry.yarnpkg.com/ansi-regex/-/ansi-regex-5.0.1.tgz#082cb2c89c9fe8659a311a53bd6a4dc5301db304" - integrity sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ== - -ansi-regex@^6.0.1: - version "6.0.1" - resolved "https://registry.yarnpkg.com/ansi-regex/-/ansi-regex-6.0.1.tgz#3183e38fae9a65d7cb5e53945cd5897d0260a06a" - integrity sha512-n5M855fKb2SsfMIiFFoVrABHJC8QtHwVx+mHWP3QcEqBHYienj5dHSgjbxtC0WEZXYt4wcD6zrQElDPhFuZgfA== - -ansi-styles@^3.2.1: - version "3.2.1" - resolved "https://registry.yarnpkg.com/ansi-styles/-/ansi-styles-3.2.1.tgz#41fbb20243e50b12be0f04b8dedbf07520ce841d" - integrity sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA== - dependencies: - color-convert "^1.9.0" - -ansi-styles@^4.0.0, ansi-styles@^4.1.0: - version "4.3.0" - resolved "https://registry.yarnpkg.com/ansi-styles/-/ansi-styles-4.3.0.tgz#edd803628ae71c04c85ae7a0906edad34b648937" - integrity sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg== - dependencies: - color-convert "^2.0.1" - -ansi-styles@^5.0.0: - version "5.2.0" - resolved "https://registry.yarnpkg.com/ansi-styles/-/ansi-styles-5.2.0.tgz#07449690ad45777d1924ac2abb2fc8895dba836b" - integrity sha512-Cxwpt2SfTzTtXcfOlzGEee8O+c+MmUgGrNiBcXnuWxuFJHe6a5Hz7qwhwe5OgaSYI0IJvkLqWX1ASG+cJOkEiA== - -ansi-styles@^6.1.0: - version "6.2.1" - resolved "https://registry.yarnpkg.com/ansi-styles/-/ansi-styles-6.2.1.tgz#0e62320cf99c21afff3b3012192546aacbfb05c5" - integrity sha512-bN798gFfQX+viw3R7yrGWRqnrN2oRkEkUjjl4JNn4E8GxxbjtG3FbrEIIY3l8/hrwUwIeCZvi4QuOTP4MErVug== - -ansicolor@1.1.100: - version "1.1.100" - resolved "https://registry.yarnpkg.com/ansicolor/-/ansicolor-1.1.100.tgz#811f1afbf726edca3aafb942a14df8351996304a" - integrity sha512-Jl0pxRfa9WaQVUX57AB8/V2my6FJxrOR1Pp2qqFbig20QB4HzUoQ48THTKAgHlUCJeQm/s2WoOPcoIDhyCL/kw== - -anymatch@^3.0.3, anymatch@^3.1.1, anymatch@~3.1.2: - version "3.1.3" - resolved "https://registry.yarnpkg.com/anymatch/-/anymatch-3.1.3.tgz#790c58b19ba1720a84205b57c618d5ad8524973e" - integrity sha512-KMReFUr0B4t+D+OBkjR3KYqvocp2XaSzO55UcB6mgQMd3KbcE+mWTyvVV7D/zsdEbNnV6acZUutkiHQXvTr1Rw== - dependencies: - normalize-path "^3.0.0" - picomatch "^2.0.4" - -arch@^2.2.0: - version "2.2.0" - resolved "https://registry.yarnpkg.com/arch/-/arch-2.2.0.tgz#1bc47818f305764f23ab3306b0bfc086c5a29d11" - integrity sha512-Of/R0wqp83cgHozfIYLbBMnej79U/SVGOOyuB3VVFv1NRM/PSFMK12x9KVtiYzJqmnU5WR2qp0Z5rHb7sWGnFQ== - -are-docs-informative@^0.0.2: - version "0.0.2" - resolved "https://registry.yarnpkg.com/are-docs-informative/-/are-docs-informative-0.0.2.tgz#387f0e93f5d45280373d387a59d34c96db321963" - integrity sha512-ixiS0nLNNG5jNQzgZJNoUpBKdo9yTYZMGJ+QgT2jmjR7G7+QHRCc4v6LQ3NgE7EBJq+o0ams3waJwkrlBom8Ig== - -arg@^4.1.0: - version "4.1.3" - resolved "https://registry.yarnpkg.com/arg/-/arg-4.1.3.tgz#269fc7ad5b8e42cb63c896d5666017261c144089" - integrity sha512-58S9QDqG0Xx27YwPSt9fJxivjYl432YCwfDMfZ+71RAqUrZef7LrKQZ3LHLOwCS4FLNBplP533Zx895SeOCHvA== - -argparse@^1.0.7: - version "1.0.10" - resolved "https://registry.yarnpkg.com/argparse/-/argparse-1.0.10.tgz#bcd6791ea5ae09725e17e5ad988134cd40b3d911" - integrity sha512-o5Roy6tNG4SL/FOkCAN6RzjiakZS25RLYFrcMttJqbdd8BWrnA+fGz57iN5Pb06pvBGvl5gQ0B48dJlslXvoTg== - dependencies: - sprintf-js "~1.0.2" - -argparse@^2.0.1: - version "2.0.1" - resolved "https://registry.yarnpkg.com/argparse/-/argparse-2.0.1.tgz#246f50f3ca78a3240f6c997e8a9bd1eac49e4b38" - integrity sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q== - -aria-query@5.1.3: - version "5.1.3" - resolved "https://registry.yarnpkg.com/aria-query/-/aria-query-5.1.3.tgz#19db27cd101152773631396f7a95a3b58c22c35e" - integrity sha512-R5iJ5lkuHybztUfuOAznmboyjWq8O6sqNqtK7CLOqdydi54VNbORp49mb14KbWgG1QD3JFO9hJdZ+y4KutfdOQ== - dependencies: - deep-equal "^2.0.5" - -aria-query@^5.0.0: - version "5.3.0" - resolved "https://registry.yarnpkg.com/aria-query/-/aria-query-5.3.0.tgz#650c569e41ad90b51b3d7df5e5eed1c7549c103e" - integrity sha512-b0P0sZPKtyu8HkeRAfCq0IfURZK+SuwMjY1UXGBU27wpAiTwQAIlq56IbIO+ytk/JjS1fMR14ee5WBBfKi5J6A== - dependencies: - dequal "^2.0.3" - -array-buffer-byte-length@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/array-buffer-byte-length/-/array-buffer-byte-length-1.0.0.tgz#fabe8bc193fea865f317fe7807085ee0dee5aead" - integrity sha512-LPuwb2P+NrQw3XhxGc36+XSvuBPopovXYTR9Ew++Du9Yb/bx5AzBfrIsBoj0EZUifjQU+sHL21sseZ3jerWO/A== - dependencies: - call-bind "^1.0.2" - is-array-buffer "^3.0.1" - -array-includes@^3.1.6: - version "3.1.7" - resolved "https://registry.yarnpkg.com/array-includes/-/array-includes-3.1.7.tgz#8cd2e01b26f7a3086cbc87271593fe921c62abda" - integrity sha512-dlcsNBIiWhPkHdOEEKnehA+RNUWDc4UqFtnIXU4uuYDPtA4LDkr7qip2p0VvFAEXNDr0yWZ9PJyIRiGjRLQzwQ== - dependencies: - call-bind "^1.0.2" - define-properties "^1.2.0" - es-abstract "^1.22.1" - get-intrinsic "^1.2.1" - is-string "^1.0.7" - -array-tree-filter@^2.1.0: - version "2.1.0" - resolved "https://registry.yarnpkg.com/array-tree-filter/-/array-tree-filter-2.1.0.tgz#873ac00fec83749f255ac8dd083814b4f6329190" - integrity sha512-4ROwICNlNw/Hqa9v+rk5h22KjmzB1JGTMVKP2AKJBOCgb0yL0ASf0+YvCcLNNwquOHNX48jkeZIJ3a+oOQqKcw== - -array-union@^2.1.0: - version "2.1.0" - resolved "https://registry.yarnpkg.com/array-union/-/array-union-2.1.0.tgz#b798420adbeb1de828d84acd8a2e23d3efe85e8d" - integrity sha512-HGyxoOTYUyCM6stUe6EJgnd4EoewAI7zMdfqO+kGjnlZmBDz/cR5pf8r/cR4Wq60sL/p0IkcjUEEPwS3GFrIyw== - -array.prototype.flat@^1.3.1: - version "1.3.2" - resolved "https://registry.yarnpkg.com/array.prototype.flat/-/array.prototype.flat-1.3.2.tgz#1476217df8cff17d72ee8f3ba06738db5b387d18" - integrity sha512-djYB+Zx2vLewY8RWlNCUdHjDXs2XOgm602S9E7P/UpHgfeHL00cRiIF+IN/G/aUJ7kGPb6yO/ErDI5V2s8iycA== - dependencies: - call-bind "^1.0.2" - define-properties "^1.2.0" - es-abstract "^1.22.1" - es-shim-unscopables "^1.0.0" - -array.prototype.flatmap@^1.3.1: - version "1.3.2" - resolved "https://registry.yarnpkg.com/array.prototype.flatmap/-/array.prototype.flatmap-1.3.2.tgz#c9a7c6831db8e719d6ce639190146c24bbd3e527" - integrity sha512-Ewyx0c9PmpcsByhSW4r+9zDU7sGjFc86qf/kKtuSCRdhfbk0SNLLkaT5qvcHnRGgc5NP/ly/y+qkXkqONX54CQ== - dependencies: - call-bind "^1.0.2" - define-properties "^1.2.0" - es-abstract "^1.22.1" - es-shim-unscopables "^1.0.0" - -array.prototype.tosorted@^1.1.1: - version "1.1.2" - resolved "https://registry.yarnpkg.com/array.prototype.tosorted/-/array.prototype.tosorted-1.1.2.tgz#620eff7442503d66c799d95503f82b475745cefd" - integrity sha512-HuQCHOlk1Weat5jzStICBCd83NxiIMwqDg/dHEsoefabn/hJRj5pVdWcPUSpRrwhwxZOsQassMpgN/xRYFBMIg== - dependencies: - call-bind "^1.0.2" - define-properties "^1.2.0" - es-abstract "^1.22.1" - es-shim-unscopables "^1.0.0" - get-intrinsic "^1.2.1" - -arraybuffer.prototype.slice@^1.0.2: - version "1.0.2" - resolved "https://registry.yarnpkg.com/arraybuffer.prototype.slice/-/arraybuffer.prototype.slice-1.0.2.tgz#98bd561953e3e74bb34938e77647179dfe6e9f12" - integrity sha512-yMBKppFur/fbHu9/6USUe03bZ4knMYiwFBcyiaXB8Go0qNehwX6inYPzK9U0NeQvGxKthcmHcaR8P5MStSRBAw== - dependencies: - array-buffer-byte-length "^1.0.0" - call-bind "^1.0.2" - define-properties "^1.2.0" - es-abstract "^1.22.1" - get-intrinsic "^1.2.1" - is-array-buffer "^3.0.2" - is-shared-array-buffer "^1.0.2" - -asap@~1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/asap/-/asap-1.0.0.tgz#b2a45da5fdfa20b0496fc3768cc27c12fa916a7d" - integrity sha512-Ej9qjcXY+8Tuy1cNqiwNMwFRXOy9UwgTeMA8LxreodygIPV48lx8PU1ecFxb5ZeU1DpMKxiq6vGLTxcitWZPbA== - -asn1@~0.2.3: - version "0.2.6" - resolved "https://registry.yarnpkg.com/asn1/-/asn1-0.2.6.tgz#0d3a7bb6e64e02a90c0303b31f292868ea09a08d" - integrity sha512-ix/FxPn0MDjeyJ7i/yoHGFt/EX6LyNbxSEhPPXODPL+KB0VPk86UYfL0lMdy+KCnv+fmvIzySwaK5COwqVbWTQ== - dependencies: - safer-buffer "~2.1.0" - -assert-plus@1.0.0, assert-plus@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/assert-plus/-/assert-plus-1.0.0.tgz#f12e0f3c5d77b0b1cdd9146942e4e96c1e4dd525" - integrity sha512-NfJ4UzBCcQGLDlQq7nHxH+tv3kyZ0hHQqF5BO6J7tNJeP5do1llPr8dZ8zHonfhAu0PHAdMkSo+8o0wxg9lZWw== - -astral-regex@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/astral-regex/-/astral-regex-2.0.0.tgz#483143c567aeed4785759c0865786dc77d7d2e31" - integrity sha512-Z7tMw1ytTXt5jqMcOP+OQteU1VuNK9Y02uuJtKQ1Sv69jXQKKg5cibLwGJow8yzZP+eAc18EmLGPal0bp36rvQ== - -async@^2.6.4: - version "2.6.4" - resolved "https://registry.yarnpkg.com/async/-/async-2.6.4.tgz#706b7ff6084664cd7eae713f6f965433b5504221" - integrity sha512-mzo5dfJYwAn29PeiJ0zvwTo04zj8HDJj0Mn8TD7sno7q12prdbnasKJHhkm2c1LgrhlJ0teaea8860oxi51mGA== - dependencies: - lodash "^4.17.14" - -async@^3.2.0: - version "3.2.5" - resolved "https://registry.yarnpkg.com/async/-/async-3.2.5.tgz#ebd52a8fdaf7a2289a24df399f8d8485c8a46b66" - integrity sha512-baNZyqaaLhyLVKm/DlvdW051MSgO6b8eVfIezl9E5PqWxFgzLm/wQntEW4zOytVburDEr0JlALEpdOFwvErLsg== - -asynckit@^0.4.0: - version "0.4.0" - resolved "https://registry.yarnpkg.com/asynckit/-/asynckit-0.4.0.tgz#c79ed97f7f34cb8f2ba1bc9790bcc366474b4b79" - integrity sha512-Oei9OH4tRh0YqU3GxhX79dM/mwVgvbZJaSNaRk+bshkj0S5cfHcgYakreBjrHwatXKbz+IoIdYLxrKim2MjW0Q== - -at-least-node@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/at-least-node/-/at-least-node-1.0.0.tgz#602cd4b46e844ad4effc92a8011a3c46e0238dc2" - integrity sha512-+q/t7Ekv1EDY2l6Gda6LLiX14rU9TV20Wa3ofeQmwPFZbOMo9DXrLbOjFaaclkXKWidIaopwAObQDqwWtGUjqg== - -attr-accept@^2.2.2: - version "2.2.2" - resolved "https://registry.yarnpkg.com/attr-accept/-/attr-accept-2.2.2.tgz#646613809660110749e92f2c10833b70968d929b" - integrity sha512-7prDjvt9HmqiZ0cl5CRjtS84sEyhsHP2coDkaZKRKVfCDo9s7iw7ChVmar78Gu9pC4SoR/28wFu/G5JJhTnqEg== - -available-typed-arrays@^1.0.5: - version "1.0.5" - resolved "https://registry.yarnpkg.com/available-typed-arrays/-/available-typed-arrays-1.0.5.tgz#92f95616501069d07d10edb2fc37d3e1c65123b7" - integrity sha512-DMD0KiN46eipeziST1LPP/STfDU0sufISXmjSgvVsoU2tqxctQeASejWcfNtxYKqETM1UxQ8sp2OrSBWpHY6sw== - -aws-sign2@~0.7.0: - version "0.7.0" - resolved "https://registry.yarnpkg.com/aws-sign2/-/aws-sign2-0.7.0.tgz#b46e890934a9591f2d2f6f86d7e6a9f1b3fe76a8" - integrity sha512-08kcGqnYf/YmjoRhfxyu+CLxBjUtHLXLXX/vUfx9l2LYzG3c1m61nrpyFUZI6zeS+Li/wWMMidD9KgrqtGq3mA== - -aws4@^1.8.0: - version "1.12.0" - resolved "https://registry.yarnpkg.com/aws4/-/aws4-1.12.0.tgz#ce1c9d143389679e253b314241ea9aa5cec980d3" - integrity sha512-NmWvPnx0F1SfrQbYwOi7OeaNGokp9XhzNioJ/CSBs8Qa4vxug81mhJEAVZwxXuBmYB5KDRfMq/F3RR0BIU7sWg== - -babel-jest@^29.7.0: - version "29.7.0" - resolved "https://registry.yarnpkg.com/babel-jest/-/babel-jest-29.7.0.tgz#f4369919225b684c56085998ac63dbd05be020d5" - integrity sha512-BrvGY3xZSwEcCzKvKsCi2GgHqDqsYkOP4/by5xCgIwGXQxIEh+8ew3gmrE1y7XRR6LHZIj6yLYnUi/mm2KXKBg== - dependencies: - "@jest/transform" "^29.7.0" - "@types/babel__core" "^7.1.14" - babel-plugin-istanbul "^6.1.1" - babel-preset-jest "^29.6.3" - chalk "^4.0.0" - graceful-fs "^4.2.9" - slash "^3.0.0" - -babel-loader@9.1.2: - version "9.1.2" - resolved "https://registry.yarnpkg.com/babel-loader/-/babel-loader-9.1.2.tgz#a16a080de52d08854ee14570469905a5fc00d39c" - integrity sha512-mN14niXW43tddohGl8HPu5yfQq70iUThvFL/4QzESA7GcZoC0eVOhvWdQ8+3UlSjaDE9MVtsW9mxDY07W7VpVA== - dependencies: - find-cache-dir "^3.3.2" - schema-utils "^4.0.0" - -babel-plugin-istanbul@^6.1.1: - version "6.1.1" - resolved "https://registry.yarnpkg.com/babel-plugin-istanbul/-/babel-plugin-istanbul-6.1.1.tgz#fa88ec59232fd9b4e36dbbc540a8ec9a9b47da73" - integrity sha512-Y1IQok9821cC9onCx5otgFfRm7Lm+I+wwxOx738M/WLPZ9Q42m4IG5W0FNX8WLL2gYMZo3JkuXIH2DOpWM+qwA== - dependencies: - "@babel/helper-plugin-utils" "^7.0.0" - "@istanbuljs/load-nyc-config" "^1.0.0" - "@istanbuljs/schema" "^0.1.2" - istanbul-lib-instrument "^5.0.4" - test-exclude "^6.0.0" - -babel-plugin-jest-hoist@^29.6.3: - version "29.6.3" - resolved "https://registry.yarnpkg.com/babel-plugin-jest-hoist/-/babel-plugin-jest-hoist-29.6.3.tgz#aadbe943464182a8922c3c927c3067ff40d24626" - integrity sha512-ESAc/RJvGTFEzRwOTT4+lNDk/GNHMkKbNzsvT0qKRfDyyYTskxB5rnU2njIDYVxXCBHHEI1c0YwHob3WaYujOg== - dependencies: - "@babel/template" "^7.3.3" - "@babel/types" "^7.3.3" - "@types/babel__core" "^7.1.14" - "@types/babel__traverse" "^7.0.6" - -babel-plugin-macros@^3.1.0: - version "3.1.0" - resolved "https://registry.yarnpkg.com/babel-plugin-macros/-/babel-plugin-macros-3.1.0.tgz#9ef6dc74deb934b4db344dc973ee851d148c50c1" - integrity sha512-Cg7TFGpIr01vOQNODXOOaGz2NpCU5gl8x1qJFbb6hbZxR7XrcE2vtbAsTAbJ7/xwJtUuJEw8K8Zr/AE0LHlesg== - dependencies: - "@babel/runtime" "^7.12.5" - cosmiconfig "^7.0.0" - resolve "^1.19.0" - -babel-plugin-polyfill-corejs2@^0.3.3: - version "0.3.3" - resolved "https://registry.yarnpkg.com/babel-plugin-polyfill-corejs2/-/babel-plugin-polyfill-corejs2-0.3.3.tgz#5d1bd3836d0a19e1b84bbf2d9640ccb6f951c122" - integrity sha512-8hOdmFYFSZhqg2C/JgLUQ+t52o5nirNwaWM2B9LWteozwIvM14VSwdsCAUET10qT+kmySAlseadmfeeSWFCy+Q== - dependencies: - "@babel/compat-data" "^7.17.7" - "@babel/helper-define-polyfill-provider" "^0.3.3" - semver "^6.1.1" - -babel-plugin-polyfill-corejs3@^0.6.0: - version "0.6.0" - resolved "https://registry.yarnpkg.com/babel-plugin-polyfill-corejs3/-/babel-plugin-polyfill-corejs3-0.6.0.tgz#56ad88237137eade485a71b52f72dbed57c6230a" - integrity sha512-+eHqR6OPcBhJOGgsIar7xoAB1GcSwVUA3XjAd7HJNzOXT4wv6/H7KIdA/Nc60cvUlDbKApmqNvD1B1bzOt4nyA== - dependencies: - "@babel/helper-define-polyfill-provider" "^0.3.3" - core-js-compat "^3.25.1" - -babel-plugin-polyfill-regenerator@^0.4.1: - version "0.4.1" - resolved "https://registry.yarnpkg.com/babel-plugin-polyfill-regenerator/-/babel-plugin-polyfill-regenerator-0.4.1.tgz#390f91c38d90473592ed43351e801a9d3e0fd747" - integrity sha512-NtQGmyQDXjQqQ+IzRkBVwEOz9lQ4zxAQZgoAYEtU9dJjnl1Oc98qnN7jcp+bE7O7aYzVpavXE3/VKXNzUbh7aw== - dependencies: - "@babel/helper-define-polyfill-provider" "^0.3.3" - -babel-preset-current-node-syntax@^1.0.0: - version "1.0.1" - resolved "https://registry.yarnpkg.com/babel-preset-current-node-syntax/-/babel-preset-current-node-syntax-1.0.1.tgz#b4399239b89b2a011f9ddbe3e4f401fc40cff73b" - integrity sha512-M7LQ0bxarkxQoN+vz5aJPsLBn77n8QgTFmo8WK0/44auK2xlCXrYcUxHFxgU7qW5Yzw/CjmLRK2uJzaCd7LvqQ== - dependencies: - "@babel/plugin-syntax-async-generators" "^7.8.4" - "@babel/plugin-syntax-bigint" "^7.8.3" - "@babel/plugin-syntax-class-properties" "^7.8.3" - "@babel/plugin-syntax-import-meta" "^7.8.3" - "@babel/plugin-syntax-json-strings" "^7.8.3" - "@babel/plugin-syntax-logical-assignment-operators" "^7.8.3" - "@babel/plugin-syntax-nullish-coalescing-operator" "^7.8.3" - "@babel/plugin-syntax-numeric-separator" "^7.8.3" - "@babel/plugin-syntax-object-rest-spread" "^7.8.3" - "@babel/plugin-syntax-optional-catch-binding" "^7.8.3" - "@babel/plugin-syntax-optional-chaining" "^7.8.3" - "@babel/plugin-syntax-top-level-await" "^7.8.3" - -babel-preset-jest@^29.6.3: - version "29.6.3" - resolved "https://registry.yarnpkg.com/babel-preset-jest/-/babel-preset-jest-29.6.3.tgz#fa05fa510e7d493896d7b0dd2033601c840f171c" - integrity sha512-0B3bhxR6snWXJZtR/RliHTDPRgn1sNHOR0yVtq/IiQFyuOVjFS+wuio/R4gSNkyYmKmJB4wGZv2NZanmKmTnNA== - dependencies: - babel-plugin-jest-hoist "^29.6.3" - babel-preset-current-node-syntax "^1.0.0" - -babel-runtime@6.x, babel-runtime@^6.26.0: - version "6.26.0" - resolved "https://registry.yarnpkg.com/babel-runtime/-/babel-runtime-6.26.0.tgz#965c7058668e82b55d7bfe04ff2337bc8b5647fe" - integrity sha512-ITKNuq2wKlW1fJg9sSW52eepoYgZBggvOAHC0u/CYu/qxQ9EVzThCgR69BnSXLHjy2f7SY5zaQ4yt7H9ZVxY2g== - dependencies: - core-js "^2.4.0" - regenerator-runtime "^0.11.0" - -balanced-match@^1.0.0: - version "1.0.2" - resolved "https://registry.yarnpkg.com/balanced-match/-/balanced-match-1.0.2.tgz#e83e3a7e3f300b34cb9d87f615fa0cbf357690ee" - integrity sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw== - -base64-js@^1.3.1: - version "1.5.1" - resolved "https://registry.yarnpkg.com/base64-js/-/base64-js-1.5.1.tgz#1b1b440160a5bf7ad40b650f095963481903930a" - integrity sha512-AKpaYlHn8t4SVbOHCy+b5+KKgvR4vrsD8vbvrbiQJps7fKDTkjkDry6ji0rUJjC0kzbNePLwzxq8iypo41qeWA== - -bcrypt-pbkdf@^1.0.0: - version "1.0.2" - resolved "https://registry.yarnpkg.com/bcrypt-pbkdf/-/bcrypt-pbkdf-1.0.2.tgz#a4301d389b6a43f9b67ff3ca11a3f6637e360e9e" - integrity sha512-qeFIXtP4MSoi6NLqO12WfqARWWuCKi2Rn/9hJLEmtB5yTNr9DqFWkJRCf2qShWzPeAMRnOgCrq0sg/KLv5ES9w== - dependencies: - tweetnacl "^0.14.3" - -big.js@^5.2.2: - version "5.2.2" - resolved "https://registry.yarnpkg.com/big.js/-/big.js-5.2.2.tgz#65f0af382f578bcdc742bd9c281e9cb2d7768328" - integrity sha512-vyL2OymJxmarO8gxMr0mhChsO9QGwhynfuu4+MHTAW6czfq9humCB7rKpUjDd9YUiDPU4mzpyupFSvOClAwbmQ== - -binary-extensions@^2.0.0: - version "2.2.0" - resolved "https://registry.yarnpkg.com/binary-extensions/-/binary-extensions-2.2.0.tgz#75f502eeaf9ffde42fc98829645be4ea76bd9e2d" - integrity sha512-jDctJ/IVQbZoJykoeHbhXpOlNBqGNcwXJKJog42E5HDPUwQTSdjCHdihjj0DlnheQ7blbT6dHOafNAiS8ooQKA== - -blink-diff@1.0.13: - version "1.0.13" - resolved "https://registry.yarnpkg.com/blink-diff/-/blink-diff-1.0.13.tgz#80e3df69de804b30d40c70f041e983841ecda899" - integrity sha512-2hIEnGq8wruXfje9GvDV41VXo+4YdjrjL5ZMlVJT3Wi5k1jjz20fCTlVejSXoERirhEVsFYz9NmgdUYgQ41Giw== - dependencies: - pngjs-image "~0.11.5" - preceptor-core "~0.10.0" - promise "6.0.0" - -blob-util@^2.0.2: - version "2.0.2" - resolved "https://registry.yarnpkg.com/blob-util/-/blob-util-2.0.2.tgz#3b4e3c281111bb7f11128518006cdc60b403a1eb" - integrity sha512-T7JQa+zsXXEa6/8ZhHcQEW1UFfVM49Ts65uBkFL6fz2QmrElqmbajIDJvuA0tEhRe5eIjpV9ZF+0RfZR9voJFQ== - -bluebird@3.7.1: - version "3.7.1" - resolved "https://registry.yarnpkg.com/bluebird/-/bluebird-3.7.1.tgz#df70e302b471d7473489acf26a93d63b53f874de" - integrity sha512-DdmyoGCleJnkbp3nkbxTLJ18rjDsE4yCggEwKNXkeV123sPNfOCYeDoeuOY+F2FrSjO1YXcTU+dsy96KMy+gcg== - -bluebird@^3.7.2: - version "3.7.2" - resolved "https://registry.yarnpkg.com/bluebird/-/bluebird-3.7.2.tgz#9f229c15be272454ffa973ace0dbee79a1b0c36f" - integrity sha512-XpNj6GDQzdfW+r2Wnn7xiSAd7TM3jzkxGXBGTtWKuSXv1xUV+azxAm8jdWZN06QTQk+2N2XB9jRDkvbmQmcRtg== - -body@^5.1.0: - version "5.1.0" - resolved "https://registry.yarnpkg.com/body/-/body-5.1.0.tgz#e4ba0ce410a46936323367609ecb4e6553125069" - integrity sha512-chUsBxGRtuElD6fmw1gHLpvnKdVLK302peeFa9ZqAEk8TyzZ3fygLyUEDDPTJvL9+Bor0dIwn6ePOsRM2y0zQQ== - dependencies: - continuable-cache "^0.3.1" - error "^7.0.0" - raw-body "~1.1.0" - safe-json-parse "~1.0.1" - -brace-expansion@^1.1.7: - version "1.1.11" - resolved "https://registry.yarnpkg.com/brace-expansion/-/brace-expansion-1.1.11.tgz#3c7fcbf529d87226f3d2f52b966ff5271eb441dd" - integrity sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA== - dependencies: - balanced-match "^1.0.0" - concat-map "0.0.1" - -brace-expansion@^2.0.1: - version "2.0.1" - resolved "https://registry.yarnpkg.com/brace-expansion/-/brace-expansion-2.0.1.tgz#1edc459e0f0c548486ecf9fc99f2221364b9a0ae" - integrity sha512-XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA== - dependencies: - balanced-match "^1.0.0" - -braces@^3.0.2, braces@~3.0.2: - version "3.0.2" - resolved "https://registry.yarnpkg.com/braces/-/braces-3.0.2.tgz#3454e1a462ee8d599e236df336cd9ea4f8afe107" - integrity sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A== - dependencies: - fill-range "^7.0.1" - -browser-stdout@1.3.1: - version "1.3.1" - resolved "https://registry.yarnpkg.com/browser-stdout/-/browser-stdout-1.3.1.tgz#baa559ee14ced73452229bad7326467c61fabd60" - integrity sha512-qhAVI1+Av2X7qelOfAIYwXONood6XlZE/fXaBSmW/T5SzLAmCgzi+eiWE7fUvbHaeNBQH13UftjpXxsfLkMpgw== - -browserslist@^4.14.5, browserslist@^4.22.2: - version "4.22.2" - resolved "https://registry.yarnpkg.com/browserslist/-/browserslist-4.22.2.tgz#704c4943072bd81ea18997f3bd2180e89c77874b" - integrity sha512-0UgcrvQmBDvZHFGdYUehrCNIazki7/lUP3kkoi/r3YB2amZbFM9J43ZRkJTXBUZK4gmx56+Sqk9+Vs9mwZx9+A== - dependencies: - caniuse-lite "^1.0.30001565" - electron-to-chromium "^1.4.601" - node-releases "^2.0.14" - update-browserslist-db "^1.0.13" - -bser@2.1.1: - version "2.1.1" - resolved "https://registry.yarnpkg.com/bser/-/bser-2.1.1.tgz#e6787da20ece9d07998533cfd9de6f5c38f4bc05" - integrity sha512-gQxTNE/GAfIIrmHLUE3oJyp5FO6HRBfhjnw4/wMmA63ZGDJnWBmgY/lyQBpnDUkGmAhbSe39tx2d/iTOAfglwQ== - dependencies: - node-int64 "^0.4.0" - -buffer-crc32@~0.2.3: - version "0.2.13" - resolved "https://registry.yarnpkg.com/buffer-crc32/-/buffer-crc32-0.2.13.tgz#0d333e3f00eac50aa1454abd30ef8c2a5d9a7242" - integrity sha512-VO9Ht/+p3SN7SKWqcrgEzjGbRSJYTx+Q1pTQC0wrWqHx0vpJraQ6GtHx8tvcg1rlK1byhU5gccxgOgj7B0TDkQ== - -buffer-from@^1.0.0: - version "1.1.2" - resolved "https://registry.yarnpkg.com/buffer-from/-/buffer-from-1.1.2.tgz#2b146a6fd72e80b4f55d255f35ed59a3a9a41bd5" - integrity sha512-E+XQCRwSbaaiChtv6k6Dwgc+bx+Bs6vuKJHHl5kox/BaKbhiXzqQOwK4cO22yElGp2OCmjwVhT3HmxgyPGnJfQ== - -buffer@^5.6.0: - version "5.7.1" - resolved "https://registry.yarnpkg.com/buffer/-/buffer-5.7.1.tgz#ba62e7c13133053582197160851a8f648e99eed0" - integrity sha512-EHcyIPBQ4BSGlvjB16k5KgAJ27CIsHY/2JBmCRReo48y9rQ3MaUzWX3KVlBa4U7MyX02HdVj0K7C3WaB3ju7FQ== - dependencies: - base64-js "^1.3.1" - ieee754 "^1.1.13" - -builtin-modules@^3.3.0: - version "3.3.0" - resolved "https://registry.yarnpkg.com/builtin-modules/-/builtin-modules-3.3.0.tgz#cae62812b89801e9656336e46223e030386be7b6" - integrity sha512-zhaCDicdLuWN5UbN5IMnFqNMhNfo919sH85y2/ea+5Yg9TsTkeZxpL+JLbp6cgYFS4sRLp3YV4S6yDuqVWHYOw== - -bytes@1: - version "1.0.0" - resolved "https://registry.yarnpkg.com/bytes/-/bytes-1.0.0.tgz#3569ede8ba34315fab99c3e92cb04c7220de1fa8" - integrity sha512-/x68VkHLeTl3/Ll8IvxdwzhrT+IyKc52e/oyHhA2RwqPqswSnjVbSddfPRwAsJtbilMAPSRWwAlpxdYsSWOTKQ== - -cachedir@^2.3.0: - version "2.4.0" - resolved "https://registry.yarnpkg.com/cachedir/-/cachedir-2.4.0.tgz#7fef9cf7367233d7c88068fe6e34ed0d355a610d" - integrity sha512-9EtFOZR8g22CL7BWjJ9BUx1+A/djkofnyW3aOXZORNW2kxoUpx2h+uN2cOqwPmFhnpVmxg+KW2OjOSgChTEvsQ== - -calculate-size@1.1.1: - version "1.1.1" - resolved "https://registry.yarnpkg.com/calculate-size/-/calculate-size-1.1.1.tgz#ae7caa1c7795f82c4f035dc7be270e3581dae3ee" - integrity sha512-jJZ7pvbQVM/Ss3VO789qpsypN3xmnepg242cejOAslsmlZLYw2dnj7knnNowabQ0Kzabzx56KFTy2Pot/y6FmA== - -call-bind@^1.0.0, call-bind@^1.0.2, call-bind@^1.0.4, call-bind@^1.0.5: - version "1.0.5" - resolved "https://registry.yarnpkg.com/call-bind/-/call-bind-1.0.5.tgz#6fa2b7845ce0ea49bf4d8b9ef64727a2c2e2e513" - integrity sha512-C3nQxfFZxFRVoJoGKKI8y3MOEo129NQ+FgQ08iye+Mk4zNZZGdjfs06bVTr+DBSlA66Q2VEcMki/cUCP4SercQ== - dependencies: - function-bind "^1.1.2" - get-intrinsic "^1.2.1" - set-function-length "^1.1.1" - -callsites@^3.0.0: - version "3.1.0" - resolved "https://registry.yarnpkg.com/callsites/-/callsites-3.1.0.tgz#b3630abd8943432f54b3f0519238e33cd7df2f73" - integrity sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ== - -camelcase@^5.3.1: - version "5.3.1" - resolved "https://registry.yarnpkg.com/camelcase/-/camelcase-5.3.1.tgz#e3c9b31569e106811df242f715725a1f4c494320" - integrity sha512-L28STB170nwWS63UjtlEOE3dldQApaJXZkOI1uMFfzf3rRuPegHaHesyee+YxQ+W6SvRDQV6UrdOdRiR153wJg== - -camelcase@^6.0.0, camelcase@^6.2.0: - version "6.3.0" - resolved "https://registry.yarnpkg.com/camelcase/-/camelcase-6.3.0.tgz#5685b95eb209ac9c0c177467778c9c84df58ba9a" - integrity sha512-Gmy6FhYlCY7uOElZUSbxo2UCDH8owEk996gkbrpsgGtrJLM3J7jGxl9Ic7Qwwj4ivOE5AWZWRMecDdF7hqGjFA== - -caniuse-lite@^1.0.30001565: - version "1.0.30001579" - resolved "https://registry.yarnpkg.com/caniuse-lite/-/caniuse-lite-1.0.30001579.tgz#45c065216110f46d6274311a4b3fcf6278e0852a" - integrity sha512-u5AUVkixruKHJjw/pj9wISlcMpgFWzSrczLZbrqBSxukQixmg0SJ5sZTpvaFvxU0HoQKd4yoyAogyrAz9pzJnA== - -caseless@~0.12.0: - version "0.12.0" - resolved "https://registry.yarnpkg.com/caseless/-/caseless-0.12.0.tgz#1b681c21ff84033c826543090689420d187151dc" - integrity sha512-4tYFyifaFfGacoiObjJegolkwSU4xQNGbVgUiNYVUxbQ2x2lUsFvY4hVgVzGiIe6WLOPqycWXA40l+PWsxthUw== - -chalk@^2.4.2: - version "2.4.2" - resolved "https://registry.yarnpkg.com/chalk/-/chalk-2.4.2.tgz#cd42541677a54333cf541a49108c1432b44c9424" - integrity sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ== - dependencies: - ansi-styles "^3.2.1" - escape-string-regexp "^1.0.5" - supports-color "^5.3.0" - -chalk@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/chalk/-/chalk-3.0.0.tgz#3f73c2bf526591f574cc492c51e2456349f844e4" - integrity sha512-4D3B6Wf41KOYRFdszmDqMCGq5VV/uMAB273JILmO+3jAlh8X4qDtdtgCR3fxtbLEMzSx22QdhnDcJvu2u1fVwg== - dependencies: - ansi-styles "^4.1.0" - supports-color "^7.1.0" - -chalk@^4.0.0, chalk@^4.1.0, chalk@^4.1.2: - version "4.1.2" - resolved "https://registry.yarnpkg.com/chalk/-/chalk-4.1.2.tgz#aac4e2b7734a740867aeb16bf02aad556a1e7a01" - integrity sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA== - dependencies: - ansi-styles "^4.1.0" - supports-color "^7.1.0" - -char-regex@^1.0.2: - version "1.0.2" - resolved "https://registry.yarnpkg.com/char-regex/-/char-regex-1.0.2.tgz#d744358226217f981ed58f479b1d6bcc29545dcf" - integrity sha512-kWWXztvZ5SBQV+eRgKFeh8q5sLuZY2+8WUIzlxWVTg+oGwY14qylx1KbKzHd8P6ZYkAg0xyIDU9JMHhyJMZ1jw== - -check-more-types@^2.24.0: - version "2.24.0" - resolved "https://registry.yarnpkg.com/check-more-types/-/check-more-types-2.24.0.tgz#1420ffb10fd444dcfc79b43891bbfffd32a84600" - integrity sha512-Pj779qHxV2tuapviy1bSZNEL1maXr13bPYpsvSDB68HlYcYuhlDrmGd63i0JHMCLKzc7rUSNIrpdJlhVlNwrxA== - -chokidar@3.5.3, "chokidar@>=3.0.0 <4.0.0", chokidar@^3.5.3: - version "3.5.3" - resolved "https://registry.yarnpkg.com/chokidar/-/chokidar-3.5.3.tgz#1cf37c8707b932bd1af1ae22c0432e2acd1903bd" - integrity sha512-Dr3sfKRP6oTcjf2JmUmFJfeVMvXBdegxB0iVQ5eb2V10uFJUCAS8OByZdVAyVb8xXNz3GjjTgj9kLWsZTqE6kw== - dependencies: - anymatch "~3.1.2" - braces "~3.0.2" - glob-parent "~5.1.2" - is-binary-path "~2.1.0" - is-glob "~4.0.1" - normalize-path "~3.0.0" - readdirp "~3.6.0" - optionalDependencies: - fsevents "~2.3.2" - -chrome-remote-interface@0.32.1: - version "0.32.1" - resolved "https://registry.yarnpkg.com/chrome-remote-interface/-/chrome-remote-interface-0.32.1.tgz#e3478ca712223e51c4df7294cbc536f868ca0aa6" - integrity sha512-CU3/K/8YlU2H0DjsLRbxPsG4piiSGUcIy6GkGXF11SqOYoIeuUBivOsGXScaZnTyC1p4wFSR+GNmAM434/ALWw== - dependencies: - commander "2.11.x" - ws "^7.2.0" - -chrome-trace-event@^1.0.2: - version "1.0.3" - resolved "https://registry.yarnpkg.com/chrome-trace-event/-/chrome-trace-event-1.0.3.tgz#1015eced4741e15d06664a957dbbf50d041e26ac" - integrity sha512-p3KULyQg4S7NIHixdwbGX+nFHkoBiA4YQmyWtjb8XngSKV124nJmRysgAeujbUVb15vh+RvFUfCPqU7rXk+hZg== - -ci-info@^3.2.0: - version "3.9.0" - resolved "https://registry.yarnpkg.com/ci-info/-/ci-info-3.9.0.tgz#4279a62028a7b1f262f3473fc9605f5e218c59b4" - integrity sha512-NIxF55hv4nSqQswkAeiOi1r83xy8JldOFDTWiug55KBu9Jnblncd2U6ViHmYgHf01TPZS77NJBhBMKdWj9HQMQ== - -cjs-module-lexer@^1.0.0: - version "1.2.3" - resolved "https://registry.yarnpkg.com/cjs-module-lexer/-/cjs-module-lexer-1.2.3.tgz#6c370ab19f8a3394e318fe682686ec0ac684d107" - integrity sha512-0TNiGstbQmCFwt4akjjBg5pLRTSyj/PkWQ1ZoO2zntmg9yLqSRxwEa4iCfQLGjqhiqBfOJa7W/E8wfGrTDmlZQ== - -classnames@2.3.2: - version "2.3.2" - resolved "https://registry.yarnpkg.com/classnames/-/classnames-2.3.2.tgz#351d813bf0137fcc6a76a16b88208d2560a0d924" - integrity sha512-CSbhY4cFEJRe6/GQzIk5qXZ4Jeg5pcsP7b5peFSDpffpe1cqjASH/n9UTjBwOp6XpMSTwQ8Za2K5V02ueA7Tmw== - -classnames@2.x, classnames@^2.2.1, classnames@^2.2.5, classnames@^2.2.6, classnames@^2.3.1, classnames@^2.3.2: - version "2.5.1" - resolved "https://registry.yarnpkg.com/classnames/-/classnames-2.5.1.tgz#ba774c614be0f016da105c858e7159eae8e7687b" - integrity sha512-saHYOzhIQs6wy2sVxTM6bUDsQO4F50V9RQ22qBpEdCW+I+/Wmke2HOl6lS6dTpdxVhb88/I6+Hs+438c3lfUow== - -clean-stack@^2.0.0: - version "2.2.0" - resolved "https://registry.yarnpkg.com/clean-stack/-/clean-stack-2.2.0.tgz#ee8472dbb129e727b31e8a10a427dee9dfe4008b" - integrity sha512-4diC9HaTE+KRAMWhDhrGOECgWZxoevMc5TlkObMqNSsVU62PYzXZ/SMTjzyGAFF1YusgxGcSWTEXBhp0CPwQ1A== - -cli-cursor@^3.1.0: - version "3.1.0" - resolved "https://registry.yarnpkg.com/cli-cursor/-/cli-cursor-3.1.0.tgz#264305a7ae490d1d03bf0c9ba7c925d1753af307" - integrity sha512-I/zHAwsKf9FqGoXM4WWRACob9+SNukZTd94DWF57E4toouRulbCxcUh6RKUEOQlYTHJnzkPMySvPNaaSLNfLZw== - dependencies: - restore-cursor "^3.1.0" - -cli-table3@~0.6.1: - version "0.6.3" - resolved "https://registry.yarnpkg.com/cli-table3/-/cli-table3-0.6.3.tgz#61ab765aac156b52f222954ffc607a6f01dbeeb2" - integrity sha512-w5Jac5SykAeZJKntOxJCrm63Eg5/4dhMWIcuTbo9rpE+brgaSZo0RuNJZeOyMgsUdhDeojvgyQLmjI+K50ZGyg== - dependencies: - string-width "^4.2.0" - optionalDependencies: - "@colors/colors" "1.5.0" - -cli-truncate@^2.1.0: - version "2.1.0" - resolved "https://registry.yarnpkg.com/cli-truncate/-/cli-truncate-2.1.0.tgz#c39e28bf05edcde5be3b98992a22deed5a2b93c7" - integrity sha512-n8fOixwDD6b/ObinzTrp1ZKFzbgvKZvuz/TvejnLn1aQfC6r52XEx85FmuC+3HI+JM7coBRXUvNqEU2PHVrHpg== - dependencies: - slice-ansi "^3.0.0" - string-width "^4.2.0" - -cliui@^7.0.2: - version "7.0.4" - resolved "https://registry.yarnpkg.com/cliui/-/cliui-7.0.4.tgz#a0265ee655476fc807aea9df3df8df7783808b4f" - integrity sha512-OcRE68cOsVMXp1Yvonl/fzkQOyjLSu/8bhPDfQt0e0/Eb283TKP20Fs2MqoPsr9SwA595rRCA+QMzYc9nBP+JQ== - dependencies: - string-width "^4.2.0" - strip-ansi "^6.0.0" - wrap-ansi "^7.0.0" - -cliui@^8.0.1: - version "8.0.1" - resolved "https://registry.yarnpkg.com/cliui/-/cliui-8.0.1.tgz#0c04b075db02cbfe60dc8e6cf2f5486b1a3608aa" - integrity sha512-BSeNnyus75C4//NQ9gQt1/csTXyo/8Sb+afLAkzAptFuMsod9HFokGNudZpi/oQV73hnVK+sR+5PVRMd+Dr7YQ== - dependencies: - string-width "^4.2.0" - strip-ansi "^6.0.1" - wrap-ansi "^7.0.0" - -clone-deep@^4.0.1: - version "4.0.1" - resolved "https://registry.yarnpkg.com/clone-deep/-/clone-deep-4.0.1.tgz#c19fd9bdbbf85942b4fd979c84dcf7d5f07c2387" - integrity sha512-neHB9xuzh/wk0dIHweyAXv2aPGZIVk3pLMe+/RNzINf17fe0OG96QroktYAUm7SM1PBnzTabaLboqqxDyMU+SQ== - dependencies: - is-plain-object "^2.0.4" - kind-of "^6.0.2" - shallow-clone "^3.0.0" - -clsx@^1.1.1, clsx@^1.2.1: - version "1.2.1" - resolved "https://registry.yarnpkg.com/clsx/-/clsx-1.2.1.tgz#0ddc4a20a549b59c93a4116bb26f5294ca17dc12" - integrity sha512-EcR6r5a8bj6pu3ycsa/E/cKVGuTgZJZdsyUYHOksG/UHIiKfjxzRxYJpyVBwYaQeOvghal9fcc4PidlgzugAQg== - -clsx@^2.0.0: - version "2.1.0" - resolved "https://registry.yarnpkg.com/clsx/-/clsx-2.1.0.tgz#e851283bcb5c80ee7608db18487433f7b23f77cb" - integrity sha512-m3iNNWpd9rl3jvvcBnu70ylMdrXt8Vlq4HYadnU5fwcOtvkSQWPmj7amUcDT2qYI7risszBjI5AUIUox9D16pg== - -co@^4.6.0: - version "4.6.0" - resolved "https://registry.yarnpkg.com/co/-/co-4.6.0.tgz#6ea6bdf3d853ae54ccb8e47bfa0bf3f9031fb184" - integrity sha512-QVb0dM5HvG+uaxitm8wONl7jltx8dqhfU33DcqtOZcLSVIKSDDLDi7+0LbAKiyI8hD9u42m2YxXSkMGWThaecQ== - -collect-v8-coverage@^1.0.0: - version "1.0.2" - resolved "https://registry.yarnpkg.com/collect-v8-coverage/-/collect-v8-coverage-1.0.2.tgz#c0b29bcd33bcd0779a1344c2136051e6afd3d9e9" - integrity sha512-lHl4d5/ONEbLlJvaJNtsF/Lz+WvB07u2ycqTYbdrq7UypDXailES4valYb2eWiJFxZlVmpGekfqoxQhzyFdT4Q== - -color-convert@^1.9.0: - version "1.9.3" - resolved "https://registry.yarnpkg.com/color-convert/-/color-convert-1.9.3.tgz#bb71850690e1f136567de629d2d5471deda4c1e8" - integrity sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg== - dependencies: - color-name "1.1.3" - -color-convert@^2.0.1: - version "2.0.1" - resolved "https://registry.yarnpkg.com/color-convert/-/color-convert-2.0.1.tgz#72d3a68d598c9bdb3af2ad1e84f21d896abd4de3" - integrity sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ== - dependencies: - color-name "~1.1.4" - -color-name@1.1.3: - version "1.1.3" - resolved "https://registry.yarnpkg.com/color-name/-/color-name-1.1.3.tgz#a7d0558bd89c42f795dd42328f740831ca53bc25" - integrity sha512-72fSenhMw2HZMTVHeCA9KCmpEIbzWiQsjN+BHcBbS9vr1mtt+vJjPdksIBNUmKAW8TFUDPJK5SUU3QhE9NEXDw== - -color-name@~1.1.4: - version "1.1.4" - resolved "https://registry.yarnpkg.com/color-name/-/color-name-1.1.4.tgz#c2a09a87acbde69543de6f63fa3995c826c536a2" - integrity sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA== - -colorette@^2.0.14, colorette@^2.0.16: - version "2.0.20" - resolved "https://registry.yarnpkg.com/colorette/-/colorette-2.0.20.tgz#9eb793e6833067f7235902fcd3b09917a000a95a" - integrity sha512-IfEDxwoWIjkeXL1eXcDiow4UbKjhLdq6/EuSVR9GMN7KVH3r9gQ83e73hsz1Nd1T3ijd5xv1wcWRYO+D6kCI2w== - -combined-stream@^1.0.6, combined-stream@^1.0.8, combined-stream@~1.0.6: - version "1.0.8" - resolved "https://registry.yarnpkg.com/combined-stream/-/combined-stream-1.0.8.tgz#c3d45a8b34fd730631a110a8a2520682b31d5a7f" - integrity sha512-FQN4MRfuJeHf7cBbBMJFXhKSDq+2kAArBlmRBvcvFE5BB1HZKXtSFASDhdlz9zOYwxh8lDdnvmMOe/+5cdoEdg== - dependencies: - delayed-stream "~1.0.0" - -commander@2.11.x: - version "2.11.0" - resolved "https://registry.yarnpkg.com/commander/-/commander-2.11.0.tgz#157152fd1e7a6c8d98a5b715cf376df928004563" - integrity sha512-b0553uYA5YAEGgyYIGYROzKQ7X5RAqedkfjiZxwi0kL1g3bOaBNNZfYkzt/CL0umgD5wc9Jec2FbB98CjkMRvQ== - -commander@7: - version "7.2.0" - resolved "https://registry.yarnpkg.com/commander/-/commander-7.2.0.tgz#a36cb57d0b501ce108e4d20559a150a391d97ab7" - integrity sha512-QrWXB+ZQSVPmIWIhtEO9H+gwHaMGYiF5ChvoJ+K9ZGHG/sVsa6yiesAD1GC/x46sET00Xlwo1u49RVVVzvcSkw== - -commander@8.3.0: - version "8.3.0" - resolved "https://registry.yarnpkg.com/commander/-/commander-8.3.0.tgz#4837ea1b2da67b9c616a67afbb0fafee567bca66" - integrity sha512-OkTL9umf+He2DZkUq8f8J9of7yL6RJKI24dVITBmNfZBmri9zYZQrKkuXiKhyfPSu8tUhnVBB1iKXevvnlR4Ww== - -commander@^10.0.1: - version "10.0.1" - resolved "https://registry.yarnpkg.com/commander/-/commander-10.0.1.tgz#881ee46b4f77d1c1dccc5823433aa39b022cbe06" - integrity sha512-y4Mg2tXshplEbSGzx7amzPwKKOCGuoSRP/CjEdwwk0FOGlUbq6lKuoyDZTNZkmxHdJtp54hdfY/JUrdL7Xfdug== - -commander@^2.20.0, commander@^2.20.3: - version "2.20.3" - resolved "https://registry.yarnpkg.com/commander/-/commander-2.20.3.tgz#fd485e84c03eb4881c20722ba48035e8531aeb33" - integrity sha512-GpVkmM8vF2vQUkj2LvZmD35JxeJOLCwJ9cUkugyk2nuhbv3+mJvpLYYt+0+USMxE+oj+ey/lJEnhZw75x/OMcQ== - -commander@^5.1.0: - version "5.1.0" - resolved "https://registry.yarnpkg.com/commander/-/commander-5.1.0.tgz#46abbd1652f8e059bddaef99bbdcb2ad9cf179ae" - integrity sha512-P0CysNDQ7rtVw4QIQtm+MRxV66vKFSvlsQvGYXZWR3qFU0jlMKHZZZgw8e+8DSah4UDKMqnknRDQz+xuQXQ/Zg== - -comment-parser@1.3.1: - version "1.3.1" - resolved "https://registry.yarnpkg.com/comment-parser/-/comment-parser-1.3.1.tgz#3d7ea3adaf9345594aedee6563f422348f165c1b" - integrity sha512-B52sN2VNghyq5ofvUsqZjmk6YkihBX5vMSChmSK9v4ShjKf3Vk5Xcmgpw4o+iIgtrnM/u5FiMpz9VKb8lpBveA== - -common-tags@^1.8.0: - version "1.8.2" - resolved "https://registry.yarnpkg.com/common-tags/-/common-tags-1.8.2.tgz#94ebb3c076d26032745fd54face7f688ef5ac9c6" - integrity sha512-gk/Z852D2Wtb//0I+kRFNKKE9dIIVirjoqPoA1wJU+XePVXZfGeBpk45+A1rKO4Q43prqWBNY/MiIeRLbPWUaA== - -commondir@^1.0.1: - version "1.0.1" - resolved "https://registry.yarnpkg.com/commondir/-/commondir-1.0.1.tgz#ddd800da0c66127393cca5950ea968a3aaf1253b" - integrity sha512-W9pAhw0ja1Edb5GVdIF1mjZw/ASI0AlShXM83UUGe2DVr5TdAPEA1OA8m/g8zWp9x6On7gqufY+FatDbC3MDQg== - -component-classes@^1.2.5: - version "1.2.6" - resolved "https://registry.yarnpkg.com/component-classes/-/component-classes-1.2.6.tgz#c642394c3618a4d8b0b8919efccbbd930e5cd691" - integrity sha512-hPFGULxdwugu1QWW3SvVOCUHLzO34+a2J6Wqy0c5ASQkfi9/8nZcBB0ZohaEbXOQlCflMAEMmEWk7u7BVs4koA== - dependencies: - component-indexof "0.0.3" - -component-indexof@0.0.3: - version "0.0.3" - resolved "https://registry.yarnpkg.com/component-indexof/-/component-indexof-0.0.3.tgz#11d091312239eb8f32c8f25ae9cb002ffe8d3c24" - integrity sha512-puDQKvx/64HZXb4hBwIcvQLaLgux8o1CbWl39s41hrIIZDl1lJiD5jc22gj3RBeGK0ovxALDYpIbyjqDUUl0rw== - -concat-map@0.0.1: - version "0.0.1" - resolved "https://registry.yarnpkg.com/concat-map/-/concat-map-0.0.1.tgz#d8a96bd77fd68df7793a73036a3ba0d5405d477b" - integrity sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg== - -continuable-cache@^0.3.1: - version "0.3.1" - resolved "https://registry.yarnpkg.com/continuable-cache/-/continuable-cache-0.3.1.tgz#bd727a7faed77e71ff3985ac93351a912733ad0f" - integrity sha512-TF30kpKhTH8AGCG3dut0rdd/19B7Z+qCnrMoBLpyQu/2drZdNrrpcjPEoJeSVsQM+8KmWG5O56oPDjSSUsuTyA== - -convert-source-map@^1.5.0, convert-source-map@^1.7.0: - version "1.9.0" - resolved "https://registry.yarnpkg.com/convert-source-map/-/convert-source-map-1.9.0.tgz#7faae62353fb4213366d0ca98358d22e8368b05f" - integrity sha512-ASFBup0Mz1uyiIjANan1jzLQami9z1PoYSZCiiYW2FczPbenXc45FZdBZLzOT+r6+iciuEModtmCti+hjaAk0A== - -convert-source-map@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/convert-source-map/-/convert-source-map-2.0.0.tgz#4b560f649fc4e918dd0ab75cf4961e8bc882d82a" - integrity sha512-Kvp459HrV2FEJ1CAsi1Ku+MY3kasH19TFykTz2xWmMeq6bk2NU3XXvfJ+Q61m0xktWwt+1HSYf3JZsTms3aRJg== - -copy-to-clipboard@^3.3.1: - version "3.3.3" - resolved "https://registry.yarnpkg.com/copy-to-clipboard/-/copy-to-clipboard-3.3.3.tgz#55ac43a1db8ae639a4bd99511c148cdd1b83a1b0" - integrity sha512-2KV8NhB5JqC3ky0r9PMCAZKbUHSwtEo4CwCs0KXgruG43gX5PMqDEBbVU4OUzw2MuAWUfsuFmWvEKG5QRfSnJA== - dependencies: - toggle-selection "^1.0.6" - -copy-webpack-plugin@^11.0.0: - version "11.0.0" - resolved "https://registry.yarnpkg.com/copy-webpack-plugin/-/copy-webpack-plugin-11.0.0.tgz#96d4dbdb5f73d02dd72d0528d1958721ab72e04a" - integrity sha512-fX2MWpamkW0hZxMEg0+mYnA40LTosOSa5TqZ9GYIBzyJa9C3QUaMPSE2xAi/buNr8u89SfD9wHSQVBzrRa/SOQ== - dependencies: - fast-glob "^3.2.11" - glob-parent "^6.0.1" - globby "^13.1.1" - normalize-path "^3.0.0" - schema-utils "^4.0.0" - serialize-javascript "^6.0.0" - -core-js-compat@^3.25.1: - version "3.35.0" - resolved "https://registry.yarnpkg.com/core-js-compat/-/core-js-compat-3.35.0.tgz#c149a3d1ab51e743bc1da61e39cb51f461a41873" - integrity sha512-5blwFAddknKeNgsjBzilkdQ0+YK8L1PfqPYq40NOYMYFSS38qj+hpTcLLWwpIwA2A5bje/x5jmVn2tzUMg9IVw== - dependencies: - browserslist "^4.22.2" - -core-js@3.28.0: - version "3.28.0" - resolved "https://registry.yarnpkg.com/core-js/-/core-js-3.28.0.tgz#ed8b9e99c273879fdfff0edfc77ee709a5800e4a" - integrity sha512-GiZn9D4Z/rSYvTeg1ljAIsEqFm0LaN9gVtwDCrKL80zHtS31p9BAjmTxVqTQDMpwlMolJZOFntUG2uwyj7DAqw== - -core-js@^2.4.0: - version "2.6.12" - resolved "https://registry.yarnpkg.com/core-js/-/core-js-2.6.12.tgz#d9333dfa7b065e347cc5682219d6f690859cc2ec" - integrity sha512-Kb2wC0fvsWfQrgk8HU5lW6U/Lcs8+9aaYcy4ZFc6DDlo4nZ7n70dEgE5rtR0oG6ufKDUnrwfWL1mXR5ljDatrQ== - -core-util-is@1.0.2: - version "1.0.2" - resolved "https://registry.yarnpkg.com/core-util-is/-/core-util-is-1.0.2.tgz#b5fd54220aa2bc5ab57aab7140c940754503c1a7" - integrity sha512-3lqz5YjWTYnW6dlDa5TLaTCcShfar1e40rmcJVwCBJC6mWlFuj0eCHIElmG1g5kyuJ/GD+8Wn4FFCcz4gJPfaQ== - -core-util-is@~1.0.0: - version "1.0.3" - resolved "https://registry.yarnpkg.com/core-util-is/-/core-util-is-1.0.3.tgz#a6042d3634c2b27e9328f837b965fac83808db85" - integrity sha512-ZQBvi1DcpJ4GDqanjucZ2Hj3wEO5pZDS89BWbkcrvdxksJorwUDDZamX9ldFkp9aw2lmBDLgkObEA4DWNJ9FYQ== - -cosmiconfig@^7.0.0, cosmiconfig@^7.0.1: - version "7.1.0" - resolved "https://registry.yarnpkg.com/cosmiconfig/-/cosmiconfig-7.1.0.tgz#1443b9afa596b670082ea46cbd8f6a62b84635f6" - integrity sha512-AdmX6xUzdNASswsFtmwSt7Vj8po9IuqXm0UXz7QKPuEUmPB4XyjGfaAr2PSuELMwkRMVH1EpIkX5bTZGRB3eCA== - dependencies: - "@types/parse-json" "^4.0.0" - import-fresh "^3.2.1" - parse-json "^5.0.0" - path-type "^4.0.0" - yaml "^1.10.0" - -create-jest@^29.7.0: - version "29.7.0" - resolved "https://registry.yarnpkg.com/create-jest/-/create-jest-29.7.0.tgz#a355c5b3cb1e1af02ba177fe7afd7feee49a5320" - integrity sha512-Adz2bdH0Vq3F53KEMJOoftQFutWCukm6J24wbPWRO4k1kMY7gS7ds/uoJkNuV8wDCtWWnuwGcJwpWcih+zEW1Q== - dependencies: - "@jest/types" "^29.6.3" - chalk "^4.0.0" - exit "^0.1.2" - graceful-fs "^4.2.9" - jest-config "^29.7.0" - jest-util "^29.7.0" - prompts "^2.0.1" - -create-require@^1.1.0: - version "1.1.1" - resolved "https://registry.yarnpkg.com/create-require/-/create-require-1.1.1.tgz#c1d7e8f1e5f6cfc9ff65f9cd352d37348756c333" - integrity sha512-dcKFX3jn0MpIaXjisoRvexIJVEKzaq7z2rZKxf+MSr9TkdmHmsU4m2lcLojrj/FHl8mk5VxMmYA+ftRkP/3oKQ== - -cross-spawn@^7.0.0, cross-spawn@^7.0.2, cross-spawn@^7.0.3: - version "7.0.3" - resolved "https://registry.yarnpkg.com/cross-spawn/-/cross-spawn-7.0.3.tgz#f73a85b9d5d41d045551c177e2882d4ac85728a6" - integrity sha512-iRDPJKUPVEND7dHPO8rkbOnPpyDygcDFtWjpeWNCgy8WP2rXcxXL8TskReQl6OrB2G7+UJrags1q15Fudc7G6w== - dependencies: - path-key "^3.1.0" - shebang-command "^2.0.0" - which "^2.0.1" - -css-animation@^1.3.2: - version "1.6.1" - resolved "https://registry.yarnpkg.com/css-animation/-/css-animation-1.6.1.tgz#162064a3b0d51f958b7ff37b3d6d4de18e17039e" - integrity sha512-/48+/BaEaHRY6kNQ2OIPzKf9A6g8WjZYjhiNDNuIVbsm5tXCGIAsHDjB4Xu1C4vXJtUWZo26O68OQkDpNBaPog== - dependencies: - babel-runtime "6.x" - component-classes "^1.2.5" - -css-box-model@^1.2.0: - version "1.2.1" - resolved "https://registry.yarnpkg.com/css-box-model/-/css-box-model-1.2.1.tgz#59951d3b81fd6b2074a62d49444415b0d2b4d7c1" - integrity sha512-a7Vr4Q/kd/aw96bnJG332W9V9LkJO69JRcaCYDUqjp6/z0w6VcZjgAcTbgFxEPfBgdnAwlh3iwu+hLopa+flJw== - dependencies: - tiny-invariant "^1.0.6" - -css-in-js-utils@^3.1.0: - version "3.1.0" - resolved "https://registry.yarnpkg.com/css-in-js-utils/-/css-in-js-utils-3.1.0.tgz#640ae6a33646d401fc720c54fc61c42cd76ae2bb" - integrity sha512-fJAcud6B3rRu+KHYk+Bwf+WFL2MDCJJ1XG9x137tJQ0xYxor7XziQtuGFbWNdqrvF4Tk26O3H73nfVqXt/fW1A== - dependencies: - hyphenate-style-name "^1.0.3" - -css-loader@^6.7.3: - version "6.9.1" - resolved "https://registry.yarnpkg.com/css-loader/-/css-loader-6.9.1.tgz#9ec9a434368f2bdfeffbf8f6901a1ce773586c6b" - integrity sha512-OzABOh0+26JKFdMzlK6PY1u5Zx8+Ck7CVRlcGNZoY9qwJjdfu2VWFuprTIpPW+Av5TZTVViYWcFQaEEQURLknQ== - dependencies: - icss-utils "^5.1.0" - postcss "^8.4.33" - postcss-modules-extract-imports "^3.0.0" - postcss-modules-local-by-default "^4.0.4" - postcss-modules-scope "^3.1.1" - postcss-modules-values "^4.0.0" - postcss-value-parser "^4.2.0" - semver "^7.5.4" - -css-tree@^1.1.2: - version "1.1.3" - resolved "https://registry.yarnpkg.com/css-tree/-/css-tree-1.1.3.tgz#eb4870fb6fd7707327ec95c2ff2ab09b5e8db91d" - integrity sha512-tRpdppF7TRazZrjJ6v3stzv93qxRcSsFmW6cX0Zm2NVKpxE1WV1HblnghVv9TreireHkqI/VDEsfolRF1p6y7Q== - dependencies: - mdn-data "2.0.14" - source-map "^0.6.1" - -css.escape@^1.5.1: - version "1.5.1" - resolved "https://registry.yarnpkg.com/css.escape/-/css.escape-1.5.1.tgz#42e27d4fa04ae32f931a4b4d4191fa9cddee97cb" - integrity sha512-YUifsXXuknHlUsmlgyY0PKzgPOr7/FjCePfHNt0jxm83wHZi44VDMQ7/fGNkjY3/jV1MC+1CmZbaHzugyeRtpg== - -csscolorparser@~1.0.2: - version "1.0.3" - resolved "https://registry.yarnpkg.com/csscolorparser/-/csscolorparser-1.0.3.tgz#b34f391eea4da8f3e98231e2ccd8df9c041f171b" - integrity sha512-umPSgYwZkdFoUrH5hIq5kf0wPSXiro51nPw0j2K/c83KflkPSTBGMz6NJvMB+07VlL0y7VPo6QJcDjcgKTTm3w== - -cssesc@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/cssesc/-/cssesc-3.0.0.tgz#37741919903b868565e1c09ea747445cd18983ee" - integrity sha512-/Tb/JcjK111nNScGob5MNtsntNM1aCNUDipB/TkwZFhyDrrE47SOx/18wF2bbjgc3ZzCSKW1T5nt5EbFoAz/Vg== - -cssfilter@0.0.10: - version "0.0.10" - resolved "https://registry.yarnpkg.com/cssfilter/-/cssfilter-0.0.10.tgz#c6d2672632a2e5c83e013e6864a42ce8defd20ae" - integrity sha512-FAaLDaplstoRsDR8XGYH51znUN0UY7nMc6Z9/fvE8EXGwvJE9hu7W2vHwx1+bd6gCYnln9nLbzxFTrcO9YQDZw== - -cssom@^0.5.0: - version "0.5.0" - resolved "https://registry.yarnpkg.com/cssom/-/cssom-0.5.0.tgz#d254fa92cd8b6fbd83811b9fbaed34663cc17c36" - integrity sha512-iKuQcq+NdHqlAcwUY0o/HL69XQrUaQdMjmStJ8JFmUaiiQErlhrmuigkg/CU4E2J0IyUKUrMAgl36TvN67MqTw== - -cssom@~0.3.6: - version "0.3.8" - resolved "https://registry.yarnpkg.com/cssom/-/cssom-0.3.8.tgz#9f1276f5b2b463f2114d3f2c75250af8c1a36f4a" - integrity sha512-b0tGHbfegbhPJpxpiBPU2sCkigAqtM9O121le6bbOlgyV+NyGyCmVfJ6QW9eRjz8CpNfWEOYBIMIGRYkLwsIYg== - -cssstyle@^2.3.0: - version "2.3.0" - resolved "https://registry.yarnpkg.com/cssstyle/-/cssstyle-2.3.0.tgz#ff665a0ddbdc31864b09647f34163443d90b0852" - integrity sha512-AZL67abkUzIuvcHqk7c09cezpGNcxUxU4Ioi/05xHk4DQeTkWmGYftIE6ctU6AEt+Gn4n1lDStOtj7FKycP71A== - dependencies: - cssom "~0.3.6" - -csstype@^3.0.2, csstype@^3.1.2: - version "3.1.3" - resolved "https://registry.yarnpkg.com/csstype/-/csstype-3.1.3.tgz#d80ff294d114fb0e6ac500fbf85b60137d7eff81" - integrity sha512-M1uQkMl8rQK/szD0LNhtqxIPLpimGm8sOBwU7lLnCpSbTyY3yeU1Vc7l4KT5zT4s/yOxHH5O7tIuuLOCnLADRw== - -cypress-file-upload@5.0.8: - version "5.0.8" - resolved "https://registry.yarnpkg.com/cypress-file-upload/-/cypress-file-upload-5.0.8.tgz#d8824cbeaab798e44be8009769f9a6c9daa1b4a1" - integrity sha512-+8VzNabRk3zG6x8f8BWArF/xA/W0VK4IZNx3MV0jFWrJS/qKn8eHfa5nU73P9fOQAgwHFJx7zjg4lwOnljMO8g== - -cypress@9.5.1: - version "9.5.1" - resolved "https://registry.yarnpkg.com/cypress/-/cypress-9.5.1.tgz#51162f3688cedf5ffce311b914ef49a7c1ece076" - integrity sha512-H7lUWB3Svr44gz1rNnj941xmdsCljXoJa2cDneAltjI9leKLMQLm30x6jLlpQ730tiVtIbW5HdUmBzPzwzfUQg== - dependencies: - "@cypress/request" "^2.88.10" - "@cypress/xvfb" "^1.2.4" - "@types/node" "^14.14.31" - "@types/sinonjs__fake-timers" "8.1.1" - "@types/sizzle" "^2.3.2" - arch "^2.2.0" - blob-util "^2.0.2" - bluebird "^3.7.2" - buffer "^5.6.0" - cachedir "^2.3.0" - chalk "^4.1.0" - check-more-types "^2.24.0" - cli-cursor "^3.1.0" - cli-table3 "~0.6.1" - commander "^5.1.0" - common-tags "^1.8.0" - dayjs "^1.10.4" - debug "^4.3.2" - enquirer "^2.3.6" - eventemitter2 "^6.4.3" - execa "4.1.0" - executable "^4.1.1" - extract-zip "2.0.1" - figures "^3.2.0" - fs-extra "^9.1.0" - getos "^3.2.1" - is-ci "^3.0.0" - is-installed-globally "~0.4.0" - lazy-ass "^1.6.0" - listr2 "^3.8.3" - lodash "^4.17.21" - log-symbols "^4.0.0" - minimist "^1.2.5" - ospath "^1.2.2" - pretty-bytes "^5.6.0" - proxy-from-env "1.0.0" - request-progress "^3.0.0" - semver "^7.3.2" - supports-color "^8.1.1" - tmp "~0.2.1" - untildify "^4.0.0" - yauzl "^2.10.0" - -"d3-array@2 - 3", "d3-array@2.10.0 - 3", "d3-array@2.5.0 - 3", d3-array@3, d3-array@^3.2.0: - version "3.2.4" - resolved "https://registry.yarnpkg.com/d3-array/-/d3-array-3.2.4.tgz#15fec33b237f97ac5d7c986dc77da273a8ed0bb5" - integrity sha512-tdQAmyA18i4J7wprpYq8ClcxZy3SC31QMeByyCFyRt7BVHdREQZ5lpzoe5mFEYZUWe+oq8HBvk9JjpibyEV4Jg== - dependencies: - internmap "1 - 2" - -d3-axis@3: - version "3.0.0" - resolved "https://registry.yarnpkg.com/d3-axis/-/d3-axis-3.0.0.tgz#c42a4a13e8131d637b745fc2973824cfeaf93322" - integrity sha512-IH5tgjV4jE/GhHkRV0HiVYPDtvfjHQlQfJHs0usq7M30XcSBvOotpmH1IgkcXsO/5gEQZD43B//fc7SRT5S+xw== - -d3-brush@3: - version "3.0.0" - resolved "https://registry.yarnpkg.com/d3-brush/-/d3-brush-3.0.0.tgz#6f767c4ed8dcb79de7ede3e1c0f89e63ef64d31c" - integrity sha512-ALnjWlVYkXsVIGlOsuWH1+3udkYFI48Ljihfnh8FZPF2QS9o+PzGLBslO0PjzVoHLZ2KCVgAM8NVkXPJB2aNnQ== - dependencies: - d3-dispatch "1 - 3" - d3-drag "2 - 3" - d3-interpolate "1 - 3" - d3-selection "3" - d3-transition "3" - -d3-chord@3: - version "3.0.1" - resolved "https://registry.yarnpkg.com/d3-chord/-/d3-chord-3.0.1.tgz#d156d61f485fce8327e6abf339cb41d8cbba6966" - integrity sha512-VE5S6TNa+j8msksl7HwjxMHDM2yNK3XCkusIlpX5kwauBfXuyLAtNg9jCp/iHH61tgI4sb6R/EIMWCqEIdjT/g== - dependencies: - d3-path "1 - 3" - -"d3-color@1 - 3", d3-color@3: - version "3.1.0" - resolved "https://registry.yarnpkg.com/d3-color/-/d3-color-3.1.0.tgz#395b2833dfac71507f12ac2f7af23bf819de24e2" - integrity sha512-zg/chbXyeBtMQ1LbD/WSoW2DpC3I0mpmPdW+ynRTj/x2DAWYrIY7qeZIHidozwV24m4iavr15lNwIwLxRmOxhA== - -d3-contour@4: - version "4.0.2" - resolved "https://registry.yarnpkg.com/d3-contour/-/d3-contour-4.0.2.tgz#bb92063bc8c5663acb2422f99c73cbb6c6ae3bcc" - integrity sha512-4EzFTRIikzs47RGmdxbeUvLWtGedDUNkTcmzoeyg4sP/dvCexO47AaQL7VKy/gul85TOxw+IBgA8US2xwbToNA== - dependencies: - d3-array "^3.2.0" - -d3-delaunay@6: - version "6.0.4" - resolved "https://registry.yarnpkg.com/d3-delaunay/-/d3-delaunay-6.0.4.tgz#98169038733a0a5babbeda55054f795bb9e4a58b" - integrity sha512-mdjtIZ1XLAM8bm/hx3WwjfHt6Sggek7qH043O8KEjDXN40xi3vx/6pYSVTwLjEgiXQTbvaouWKynLBiUZ6SK6A== - dependencies: - delaunator "5" - -"d3-dispatch@1 - 3", d3-dispatch@3: - version "3.0.1" - resolved "https://registry.yarnpkg.com/d3-dispatch/-/d3-dispatch-3.0.1.tgz#5fc75284e9c2375c36c839411a0cf550cbfc4d5e" - integrity sha512-rzUyPU/S7rwUflMyLc1ETDeBj0NRuHKKAcvukozwhshr6g6c5d8zh4c2gQjY2bZ0dXeGLWc1PF174P2tVvKhfg== - -"d3-drag@2 - 3", d3-drag@3: - version "3.0.0" - resolved "https://registry.yarnpkg.com/d3-drag/-/d3-drag-3.0.0.tgz#994aae9cd23c719f53b5e10e3a0a6108c69607ba" - integrity sha512-pWbUJLdETVA8lQNJecMxoXfH6x+mO2UQo8rSmZ+QqxcbyA3hfeprFgIT//HW2nlHChWeIIMwS2Fq+gEARkhTkg== - dependencies: - d3-dispatch "1 - 3" - d3-selection "3" - -"d3-dsv@1 - 3", d3-dsv@3: - version "3.0.1" - resolved "https://registry.yarnpkg.com/d3-dsv/-/d3-dsv-3.0.1.tgz#c63af978f4d6a0d084a52a673922be2160789b73" - integrity sha512-UG6OvdI5afDIFP9w4G0mNq50dSOsXHJaRE8arAS5o9ApWnIElp8GZw1Dun8vP8OyHOZ/QJUKUJwxiiCCnUwm+Q== - dependencies: - commander "7" - iconv-lite "0.6" - rw "1" - -"d3-ease@1 - 3", d3-ease@3: - version "3.0.1" - resolved "https://registry.yarnpkg.com/d3-ease/-/d3-ease-3.0.1.tgz#9658ac38a2140d59d346160f1f6c30fda0bd12f4" - integrity sha512-wR/XK3D3XcLIZwpbvQwQ5fK+8Ykds1ip7A2Txe0yxncXSdq1L9skcG7blcedkOX+ZcgxGAmLX1FrRGbADwzi0w== - -d3-fetch@3: - version "3.0.1" - resolved "https://registry.yarnpkg.com/d3-fetch/-/d3-fetch-3.0.1.tgz#83141bff9856a0edb5e38de89cdcfe63d0a60a22" - integrity sha512-kpkQIM20n3oLVBKGg6oHrUchHM3xODkTzjMoj7aWQFq5QEM+R6E4WkzT5+tojDY7yjez8KgCBRoj4aEr99Fdqw== - dependencies: - d3-dsv "1 - 3" - -d3-force@3: - version "3.0.0" - resolved "https://registry.yarnpkg.com/d3-force/-/d3-force-3.0.0.tgz#3e2ba1a61e70888fe3d9194e30d6d14eece155c4" - integrity sha512-zxV/SsA+U4yte8051P4ECydjD/S+qeYtnaIyAs9tgHCqfguma/aAQDjo85A9Z6EKhBirHRJHXIgJUlffT4wdLg== - dependencies: - d3-dispatch "1 - 3" - d3-quadtree "1 - 3" - d3-timer "1 - 3" - -"d3-format@1 - 3", d3-format@3: - version "3.1.0" - resolved "https://registry.yarnpkg.com/d3-format/-/d3-format-3.1.0.tgz#9260e23a28ea5cb109e93b21a06e24e2ebd55641" - integrity sha512-YyUI6AEuY/Wpt8KWLgZHsIU86atmikuoOmCfommt0LYHiQSPjvX2AcFc38PX0CBpr2RCyZhjex+NS/LPOv6YqA== - -d3-geo@3: - version "3.1.0" - resolved "https://registry.yarnpkg.com/d3-geo/-/d3-geo-3.1.0.tgz#74fd54e1f4cebd5185ac2039217a98d39b0a4c0e" - integrity sha512-JEo5HxXDdDYXCaWdwLRt79y7giK8SbhZJbFWXqbRTolCHFI5jRqteLzCsq51NKbUoX0PjBVSohxrx+NoOUujYA== - dependencies: - d3-array "2.5.0 - 3" - -d3-hierarchy@3: - version "3.1.2" - resolved "https://registry.yarnpkg.com/d3-hierarchy/-/d3-hierarchy-3.1.2.tgz#b01cd42c1eed3d46db77a5966cf726f8c09160c6" - integrity sha512-FX/9frcub54beBdugHjDCdikxThEqjnR93Qt7PvQTOHxyiNCAlvMrHhclk3cD5VeAaq9fxmfRp+CnWw9rEMBuA== - -"d3-interpolate@1 - 3", "d3-interpolate@1.2.0 - 3", d3-interpolate@3, d3-interpolate@3.0.1: - version "3.0.1" - resolved "https://registry.yarnpkg.com/d3-interpolate/-/d3-interpolate-3.0.1.tgz#3c47aa5b32c5b3dfb56ef3fd4342078a632b400d" - integrity sha512-3bYs1rOD33uo8aqJfKP3JWPAibgw8Zm2+L9vBKEHJ2Rg+viTR7o5Mmv5mZcieN+FRYaAOWX5SJATX6k1PWz72g== - dependencies: - d3-color "1 - 3" - -"d3-path@1 - 3", d3-path@3, d3-path@^3.1.0: - version "3.1.0" - resolved "https://registry.yarnpkg.com/d3-path/-/d3-path-3.1.0.tgz#22df939032fb5a71ae8b1800d61ddb7851c42526" - integrity sha512-p3KP5HCf/bvjBSSKuXid6Zqijx7wIfNW+J/maPs+iwR35at5JCbLUT0LzF1cnjbCHWhqzQTIN2Jpe8pRebIEFQ== - -d3-polygon@3: - version "3.0.1" - resolved "https://registry.yarnpkg.com/d3-polygon/-/d3-polygon-3.0.1.tgz#0b45d3dd1c48a29c8e057e6135693ec80bf16398" - integrity sha512-3vbA7vXYwfe1SYhED++fPUQlWSYTTGmFmQiany/gdbiWgU/iEyQzyymwL9SkJjFFuCS4902BSzewVGsHHmHtXg== - -"d3-quadtree@1 - 3", d3-quadtree@3: - version "3.0.1" - resolved "https://registry.yarnpkg.com/d3-quadtree/-/d3-quadtree-3.0.1.tgz#6dca3e8be2b393c9a9d514dabbd80a92deef1a4f" - integrity sha512-04xDrxQTDTCFwP5H6hRhsRcb9xxv2RzkcsygFzmkSIOJy3PeRJP7sNk3VRIbKXcog561P9oU0/rVH6vDROAgUw== - -d3-random@3: - version "3.0.1" - resolved "https://registry.yarnpkg.com/d3-random/-/d3-random-3.0.1.tgz#d4926378d333d9c0bfd1e6fa0194d30aebaa20f4" - integrity sha512-FXMe9GfxTxqd5D6jFsQ+DJ8BJS4E/fT5mqqdjovykEB2oFbTMDVdg1MGFxfQW+FBOGoB++k8swBrgwSHT1cUXQ== - -d3-scale-chromatic@3: - version "3.0.0" - resolved "https://registry.yarnpkg.com/d3-scale-chromatic/-/d3-scale-chromatic-3.0.0.tgz#15b4ceb8ca2bb0dcb6d1a641ee03d59c3b62376a" - integrity sha512-Lx9thtxAKrO2Pq6OO2Ua474opeziKr279P/TKZsMAhYyNDD3EnCffdbgeSYN5O7m2ByQsxtuP2CSDczNUIZ22g== - dependencies: - d3-color "1 - 3" - d3-interpolate "1 - 3" - -d3-scale@4: - version "4.0.2" - resolved "https://registry.yarnpkg.com/d3-scale/-/d3-scale-4.0.2.tgz#82b38e8e8ff7080764f8dcec77bd4be393689396" - integrity sha512-GZW464g1SH7ag3Y7hXjf8RoUuAFIqklOAq3MRl4OaWabTFJY9PN/E1YklhXLh+OQ3fM9yS2nOkCoS+WLZ6kvxQ== - dependencies: - d3-array "2.10.0 - 3" - d3-format "1 - 3" - d3-interpolate "1.2.0 - 3" - d3-time "2.1.1 - 3" - d3-time-format "2 - 4" - -"d3-selection@2 - 3", d3-selection@3: - version "3.0.0" - resolved "https://registry.yarnpkg.com/d3-selection/-/d3-selection-3.0.0.tgz#c25338207efa72cc5b9bd1458a1a41901f1e1b31" - integrity sha512-fmTRWbNMmsmWq6xJV8D19U/gw/bwrHfNXxrIN+HfZgnzqTHp9jOmKMhsTUjXOJnZOdZY9Q28y4yebKzqDKlxlQ== - -d3-shape@3: - version "3.2.0" - resolved "https://registry.yarnpkg.com/d3-shape/-/d3-shape-3.2.0.tgz#a1a839cbd9ba45f28674c69d7f855bcf91dfc6a5" - integrity sha512-SaLBuwGm3MOViRq2ABk3eLoxwZELpH6zhl3FbAoJ7Vm1gofKx6El1Ib5z23NUEhF9AsGl7y+dzLe5Cw2AArGTA== - dependencies: - d3-path "^3.1.0" - -"d3-time-format@2 - 4", d3-time-format@4: - version "4.1.0" - resolved "https://registry.yarnpkg.com/d3-time-format/-/d3-time-format-4.1.0.tgz#7ab5257a5041d11ecb4fe70a5c7d16a195bb408a" - integrity sha512-dJxPBlzC7NugB2PDLwo9Q8JiTR3M3e4/XANkreKSUxF8vvXKqm1Yfq4Q5dl8budlunRVlUUaDUgFt7eA8D6NLg== - dependencies: - d3-time "1 - 3" - -"d3-time@1 - 3", "d3-time@2.1.1 - 3", d3-time@3: - version "3.1.0" - resolved "https://registry.yarnpkg.com/d3-time/-/d3-time-3.1.0.tgz#9310db56e992e3c0175e1ef385e545e48a9bb5c7" - integrity sha512-VqKjzBLejbSMT4IgbmVgDjpkYrNWUYJnbCGo874u7MMKIWsILRX+OpX/gTk8MqjpT1A/c6HY2dCA77ZN0lkQ2Q== - dependencies: - d3-array "2 - 3" - -"d3-timer@1 - 3", d3-timer@3: - version "3.0.1" - resolved "https://registry.yarnpkg.com/d3-timer/-/d3-timer-3.0.1.tgz#6284d2a2708285b1abb7e201eda4380af35e63b0" - integrity sha512-ndfJ/JxxMd3nw31uyKoY2naivF+r29V+Lc0svZxe1JvvIRmi8hUsrMvdOwgS1o6uBHmiz91geQ0ylPP0aj1VUA== - -"d3-transition@2 - 3", d3-transition@3: - version "3.0.1" - resolved "https://registry.yarnpkg.com/d3-transition/-/d3-transition-3.0.1.tgz#6869fdde1448868077fdd5989200cb61b2a1645f" - integrity sha512-ApKvfjsSR6tg06xrL434C0WydLr7JewBB3V+/39RMHsaXTOG0zmt/OAXeng5M5LBm0ojmxJrpomQVZ1aPvBL4w== - dependencies: - d3-color "1 - 3" - d3-dispatch "1 - 3" - d3-ease "1 - 3" - d3-interpolate "1 - 3" - d3-timer "1 - 3" - -d3-zoom@3: - version "3.0.0" - resolved "https://registry.yarnpkg.com/d3-zoom/-/d3-zoom-3.0.0.tgz#d13f4165c73217ffeaa54295cd6969b3e7aee8f3" - integrity sha512-b8AmV3kfQaqWAuacbPuNbL6vahnOJflOhexLzMMNLga62+/nh0JzvJ0aO/5a5MVgUFGS7Hu1P9P03o3fJkDCyw== - dependencies: - d3-dispatch "1 - 3" - d3-drag "2 - 3" - d3-interpolate "1 - 3" - d3-selection "2 - 3" - d3-transition "2 - 3" - -d3@7.8.2: - version "7.8.2" - resolved "https://registry.yarnpkg.com/d3/-/d3-7.8.2.tgz#2bdb3c178d095ae03b107a18837ae049838e372d" - integrity sha512-WXty7qOGSHb7HR7CfOzwN1Gw04MUOzN8qh9ZUsvwycIMb4DYMpY9xczZ6jUorGtO6bR9BPMPaueIKwiDxu9uiQ== - dependencies: - d3-array "3" - d3-axis "3" - d3-brush "3" - d3-chord "3" - d3-color "3" - d3-contour "4" - d3-delaunay "6" - d3-dispatch "3" - d3-drag "3" - d3-dsv "3" - d3-ease "3" - d3-fetch "3" - d3-force "3" - d3-format "3" - d3-geo "3" - d3-hierarchy "3" - d3-interpolate "3" - d3-path "3" - d3-polygon "3" - d3-quadtree "3" - d3-random "3" - d3-scale "4" - d3-scale-chromatic "3" - d3-selection "3" - d3-shape "3" - d3-time "3" - d3-time-format "4" - d3-timer "3" - d3-transition "3" - d3-zoom "3" - -dashdash@^1.12.0: - version "1.14.1" - resolved "https://registry.yarnpkg.com/dashdash/-/dashdash-1.14.1.tgz#853cfa0f7cbe2fed5de20326b8dd581035f6e2f0" - integrity sha512-jRFi8UDGo6j+odZiEpjazZaWqEal3w/basFjQHQEwVtZJGDpxbH1MeYluwCS8Xq5wmLJooDlMgvVarmWfGM44g== - dependencies: - assert-plus "^1.0.0" - -data-urls@^3.0.2: - version "3.0.2" - resolved "https://registry.yarnpkg.com/data-urls/-/data-urls-3.0.2.tgz#9cf24a477ae22bcef5cd5f6f0bfbc1d2d3be9143" - integrity sha512-Jy/tj3ldjZJo63sVAvg6LHt2mHvl4V6AgRAmNDtLdm7faqtsx+aJG42rsyCo9JCoRVKwPFzKlIPx3DIibwSIaQ== - dependencies: - abab "^2.0.6" - whatwg-mimetype "^3.0.0" - whatwg-url "^11.0.0" - -date-fns@2.29.3: - version "2.29.3" - resolved "https://registry.yarnpkg.com/date-fns/-/date-fns-2.29.3.tgz#27402d2fc67eb442b511b70bbdf98e6411cd68a8" - integrity sha512-dDCnyH2WnnKusqvZZ6+jA1O51Ibt8ZMRNkDZdyAyK4YfbDwa/cEmuztzG5pk6hqlp9aSBPYcjOlktquahGwGeA== - -date-format@^0.0.0: - version "0.0.0" - resolved "https://registry.yarnpkg.com/date-format/-/date-format-0.0.0.tgz#09206863ab070eb459acea5542cbd856b11966b3" - integrity sha512-kAmAdtsjW5nQ02FERwI1bP4xe6HQBPwy5kpAF4CRSLOMUs/vgMIEEwpy6JqUs7NitTyhZiImxwAjgPpnteycHg== - -dayjs@^1.10.4: - version "1.11.10" - resolved "https://registry.yarnpkg.com/dayjs/-/dayjs-1.11.10.tgz#68acea85317a6e164457d6d6947564029a6a16a0" - integrity sha512-vjAczensTgRcqDERK0SR2XMwsF/tSvnvlv6VcF2GIhg6Sx4yOIt/irsr1RDJsKiIyBzJDpCoXiWWq28MqH2cnQ== - -debug@4, debug@4.3.4, debug@^4.1.0, debug@^4.1.1, debug@^4.3.1, debug@^4.3.2, debug@^4.3.4: - version "4.3.4" - resolved "https://registry.yarnpkg.com/debug/-/debug-4.3.4.tgz#1319f6579357f2338d3337d2cdd4914bb5dcc865" - integrity sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ== - dependencies: - ms "2.1.2" - -debug@^0.7.2: - version "0.7.4" - resolved "https://registry.yarnpkg.com/debug/-/debug-0.7.4.tgz#06e1ea8082c2cb14e39806e22e2f6f757f92af39" - integrity sha512-EohAb3+DSHSGx8carOSKJe8G0ayV5/i609OD0J2orCkuyae7SyZSz2aoLmQF2s0Pj5gITDebwPH7GFBlqOUQ1Q== - -debug@^2.2.0: - version "2.6.9" - resolved "https://registry.yarnpkg.com/debug/-/debug-2.6.9.tgz#5d128515df134ff327e90a4c93f4e077a536341f" - integrity sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA== - dependencies: - ms "2.0.0" - -debug@^3.1.0, debug@^3.2.7: - version "3.2.7" - resolved "https://registry.yarnpkg.com/debug/-/debug-3.2.7.tgz#72580b7e9145fb39b6676f9c5e5fb100b934179a" - integrity sha512-CFjzYYAi4ThfiQvizrFQevTTXHtnCqWfe7x1AhgEscTz6ZbLbfoLRLPugTQyBth6f8ZERVUSyWHFD/7Wu4t1XQ== - dependencies: - ms "^2.1.1" - -decamelize@^4.0.0: - version "4.0.0" - resolved "https://registry.yarnpkg.com/decamelize/-/decamelize-4.0.0.tgz#aa472d7bf660eb15f3494efd531cab7f2a709837" - integrity sha512-9iE1PgSik9HeIIw2JO94IidnE3eBoQrFJ3w7sFuzSX4DpmZ3v5sZpUiV5Swcf6mQEF+Y0ru8Neo+p+nyh2J+hQ== - -decimal.js@^10.4.2: - version "10.4.3" - resolved "https://registry.yarnpkg.com/decimal.js/-/decimal.js-10.4.3.tgz#1044092884d245d1b7f65725fa4ad4c6f781cc23" - integrity sha512-VBBaLc1MgL5XpzgIP7ny5Z6Nx3UrRkIViUkPUdtl9aya5amy3De1gsUUSB1g3+3sExYNjCAsAznmukyxCb1GRA== - -dedent@^1.0.0: - version "1.5.1" - resolved "https://registry.yarnpkg.com/dedent/-/dedent-1.5.1.tgz#4f3fc94c8b711e9bb2800d185cd6ad20f2a90aff" - integrity sha512-+LxW+KLWxu3HW3M2w2ympwtqPrqYRzU8fqi6Fhd18fBALe15blJPI/I4+UHveMVG6lJqB4JNd4UG0S5cnVHwIg== - -deep-equal@^2.0.5: - version "2.2.3" - resolved "https://registry.yarnpkg.com/deep-equal/-/deep-equal-2.2.3.tgz#af89dafb23a396c7da3e862abc0be27cf51d56e1" - integrity sha512-ZIwpnevOurS8bpT4192sqAowWM76JDKSHYzMLty3BZGSswgq6pBaH3DhCSW5xVAZICZyKdOBPjwww5wfgT/6PA== - dependencies: - array-buffer-byte-length "^1.0.0" - call-bind "^1.0.5" - es-get-iterator "^1.1.3" - get-intrinsic "^1.2.2" - is-arguments "^1.1.1" - is-array-buffer "^3.0.2" - is-date-object "^1.0.5" - is-regex "^1.1.4" - is-shared-array-buffer "^1.0.2" - isarray "^2.0.5" - object-is "^1.1.5" - object-keys "^1.1.1" - object.assign "^4.1.4" - regexp.prototype.flags "^1.5.1" - side-channel "^1.0.4" - which-boxed-primitive "^1.0.2" - which-collection "^1.0.1" - which-typed-array "^1.1.13" - -deep-is@^0.1.3: - version "0.1.4" - resolved "https://registry.yarnpkg.com/deep-is/-/deep-is-0.1.4.tgz#a6f2dce612fadd2ef1f519b73551f17e85199831" - integrity sha512-oIPzksmTg4/MriiaYGO+okXDT7ztn/w3Eptv/+gSIdMdKsJo0u4CfYNFJPy+4SKMuCqGw2wxnA+URMg3t8a/bQ== - -deepmerge@^4.2.2: - version "4.3.1" - resolved "https://registry.yarnpkg.com/deepmerge/-/deepmerge-4.3.1.tgz#44b5f2147cd3b00d4b56137685966f26fd25dd4a" - integrity sha512-3sUqbMEc77XqpdNO7FRyRog+eW3ph+GYCbj+rK+uYyRMuwsVy0rMiVtPn+QJlKFvWP/1PYpapqYn0Me2knFn+A== - -define-data-property@^1.0.1, define-data-property@^1.1.1: - version "1.1.1" - resolved "https://registry.yarnpkg.com/define-data-property/-/define-data-property-1.1.1.tgz#c35f7cd0ab09883480d12ac5cb213715587800b3" - integrity sha512-E7uGkTzkk1d0ByLeSc6ZsFS79Axg+m1P/VsgYsxHgiuc3tFSj+MjMIwe90FC4lOAZzNBdY7kkO2P2wKdsQ1vgQ== - dependencies: - get-intrinsic "^1.2.1" - gopd "^1.0.1" - has-property-descriptors "^1.0.0" - -define-properties@^1.1.3, define-properties@^1.2.0, define-properties@^1.2.1: - version "1.2.1" - resolved "https://registry.yarnpkg.com/define-properties/-/define-properties-1.2.1.tgz#10781cc616eb951a80a034bafcaa7377f6af2b6c" - integrity sha512-8QmQKqEASLd5nx0U1B1okLElbUuuttJ/AnYmRXbbbGDWh6uS208EjD4Xqq/I9wK7u0v6O08XhTWnt5XtEbR6Dg== - dependencies: - define-data-property "^1.0.1" - has-property-descriptors "^1.0.0" - object-keys "^1.1.1" - -delaunator@5: - version "5.0.0" - resolved "https://registry.yarnpkg.com/delaunator/-/delaunator-5.0.0.tgz#60f052b28bd91c9b4566850ebf7756efe821d81b" - integrity sha512-AyLvtyJdbv/U1GkiS6gUUzclRoAY4Gs75qkMygJJhU75LW4DNuSF2RMzpxs9jw9Oz1BobHjTdkG3zdP55VxAqw== - dependencies: - robust-predicates "^3.0.0" - -delayed-stream@~1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/delayed-stream/-/delayed-stream-1.0.0.tgz#df3ae199acadfb7d440aaae0b29e2272b24ec619" - integrity sha512-ZySD7Nf91aLB0RxL4KGrKHBXl7Eds1DAmEdcoVawXnLD7SDhpNgtuII2aAkg7a7QS41jxPSZ17p4VdGnMHk3MQ== - -dequal@^2.0.3: - version "2.0.3" - resolved "https://registry.yarnpkg.com/dequal/-/dequal-2.0.3.tgz#2644214f1997d39ed0ee0ece72335490a7ac67be" - integrity sha512-0je+qPKHEMohvfRTCEo3CrPG6cAzAYgmzKyxRiYSSDkS6eGJdyVJm7WaYA5ECaAD9wLB2T4EEeymA5aFVcYXCA== - -detect-newline@^3.0.0: - version "3.1.0" - resolved "https://registry.yarnpkg.com/detect-newline/-/detect-newline-3.1.0.tgz#576f5dfc63ae1a192ff192d8ad3af6308991b651" - integrity sha512-TLz+x/vEXm/Y7P7wn1EJFNLxYpUD4TgMosxY6fAVJUnJMbupHBOncxyWUG9OpTaH9EBD7uFI5LfEgmMOc54DsA== - -devtools-protocol@0.0.1113774: - version "0.0.1113774" - resolved "https://registry.yarnpkg.com/devtools-protocol/-/devtools-protocol-0.0.1113774.tgz#bc3a3e29828bf8338e06f3c251cd986559d55eba" - integrity sha512-e8RTiY/W9+exY6T2bK9mLyJG/CfwCixDVof7MqOS2maLANTdihMr2LCf6wcBUvgQzmrImqHITyJB90ICiuJGwA== - -diff-sequences@^29.6.3: - version "29.6.3" - resolved "https://registry.yarnpkg.com/diff-sequences/-/diff-sequences-29.6.3.tgz#4deaf894d11407c51efc8418012f9e70b84ea921" - integrity sha512-EjePK1srD3P08o2j4f0ExnylqRs5B9tJjcp9t1krH2qRi8CCdsYfwe9JgSLurFBWwq4uOlipzfk5fHNvwFKr8Q== - -diff@5.0.0: - version "5.0.0" - resolved "https://registry.yarnpkg.com/diff/-/diff-5.0.0.tgz#7ed6ad76d859d030787ec35855f5b1daf31d852b" - integrity sha512-/VTCrvm5Z0JGty/BWHljh+BAiw3IK+2j87NGMu8Nwc/f48WoDAC395uomO9ZD117ZOBaHmkX1oyLvkVM/aIT3w== - -diff@^4.0.1: - version "4.0.2" - resolved "https://registry.yarnpkg.com/diff/-/diff-4.0.2.tgz#60f3aecb89d5fae520c11aa19efc2bb982aade7d" - integrity sha512-58lmxKSA4BNyLz+HHMUzlOEpg09FV+ev6ZMe3vJihgdxzgcwZ8VoEEPmALCZG9LmqfVoNMMKpttIYTVG6uDY7A== - -dir-glob@^3.0.1: - version "3.0.1" - resolved "https://registry.yarnpkg.com/dir-glob/-/dir-glob-3.0.1.tgz#56dbf73d992a4a93ba1584f4534063fd2e41717f" - integrity sha512-WkrWp9GR4KXfKGYzOLmTuGVi1UWFfws377n9cc55/tb6DuqyF6pcQ5AbiHEshaDpY9v6oaSr2XCDidGmMwdzIA== - dependencies: - path-type "^4.0.0" - -direction@^0.1.5: - version "0.1.5" - resolved "https://registry.yarnpkg.com/direction/-/direction-0.1.5.tgz#ce5d797f97e26f8be7beff53f7dc40e1c1a9ec4c" - integrity sha512-HceXsAluGbXKCz2qCVbXFUH4Vn4eNMWxY5gzydMFMnS1zKSwvDASqLwcrYLIFDpwuZ63FUAqjDLEP1eicHt8DQ== - -doctrine@^2.1.0: - version "2.1.0" - resolved "https://registry.yarnpkg.com/doctrine/-/doctrine-2.1.0.tgz#5cd01fc101621b42c4cd7f5d1a66243716d3f39d" - integrity sha512-35mSku4ZXK0vfCuHEDAwt55dg2jNajHZ1odvF+8SSr82EsZY4QmXfuWso8oEd8zRhVObSN18aM0CjSdoBX7zIw== - dependencies: - esutils "^2.0.2" - -doctrine@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/doctrine/-/doctrine-3.0.0.tgz#addebead72a6574db783639dc87a121773973961" - integrity sha512-yS+Q5i3hBf7GBkd4KG8a7eBNNWNGLTaEwwYWUijIYM7zrlYDM0BFXHjjPWlWZ1Rg7UaddZeIDmi9jF3HmqiQ2w== - dependencies: - esutils "^2.0.2" - -dom-accessibility-api@^0.5.6, dom-accessibility-api@^0.5.9: - version "0.5.16" - resolved "https://registry.yarnpkg.com/dom-accessibility-api/-/dom-accessibility-api-0.5.16.tgz#5a7429e6066eb3664d911e33fb0e45de8eb08453" - integrity sha512-X7BJ2yElsnOJ30pZF4uIIDfBEVgF4XEBxL9Bxhy6dnrm5hkzqmsWHGTiHqRiITNhMyFLyAiWndIJP7Z1NTteDg== - -dom-align@^1.7.0: - version "1.12.4" - resolved "https://registry.yarnpkg.com/dom-align/-/dom-align-1.12.4.tgz#3503992eb2a7cfcb2ed3b2a6d21e0b9c00d54511" - integrity sha512-R8LUSEay/68zE5c8/3BDxiTEvgb4xZTF0RKmAHfiEVN3klfIpXfi2/QCoiWPccVQ0J/ZGdz9OjzL4uJEP/MRAw== - -dom-css@^2.0.0: - version "2.1.0" - resolved "https://registry.yarnpkg.com/dom-css/-/dom-css-2.1.0.tgz#fdbc2d5a015d0a3e1872e11472bbd0e7b9e6a202" - integrity sha512-w9kU7FAbaSh3QKijL6n59ofAhkkmMJ31GclJIz/vyQdjogfyxcB6Zf8CZyibOERI5o0Hxz30VmJS7+7r5fEj2Q== - dependencies: - add-px-to-style "1.0.0" - prefix-style "2.0.1" - to-camel-case "1.0.0" - -dom-helpers@^5.0.1: - version "5.2.1" - resolved "https://registry.yarnpkg.com/dom-helpers/-/dom-helpers-5.2.1.tgz#d9400536b2bf8225ad98fe052e029451ac40e902" - integrity sha512-nRCa7CK3VTrM2NmGkIy4cbK7IZlgBE/PYMn55rrXefr5xXDP0LdtfPnblFDoVdcAfslJ7or6iqAUnx0CCGIWQA== - dependencies: - "@babel/runtime" "^7.8.7" - csstype "^3.0.2" - -domexception@^4.0.0: - version "4.0.0" - resolved "https://registry.yarnpkg.com/domexception/-/domexception-4.0.0.tgz#4ad1be56ccadc86fc76d033353999a8037d03673" - integrity sha512-A2is4PLG+eeSfoTMA95/s4pvAoSo2mKtiM5jlHkAVewmiO8ISFTFKZjH7UAM1Atli/OT/7JHOrJRJiMKUZKYBw== - dependencies: - webidl-conversions "^7.0.0" - -dompurify@^2.4.3: - version "2.4.7" - resolved "https://registry.yarnpkg.com/dompurify/-/dompurify-2.4.7.tgz#277adeb40a2c84be2d42a8bcd45f582bfa4d0cfc" - integrity sha512-kxxKlPEDa6Nc5WJi+qRgPbOAbgTpSULL+vI3NUXsZMlkJxTqYI9wg5ZTay2sFrdZRWHPWNi+EdAhcJf81WtoMQ== - -earcut@^2.2.3: - version "2.2.4" - resolved "https://registry.yarnpkg.com/earcut/-/earcut-2.2.4.tgz#6d02fd4d68160c114825d06890a92ecaae60343a" - integrity sha512-/pjZsA1b4RPHbeWZQn66SWS8nZZWLQQ23oE3Eam7aroEFGEvwKAsJfZ9ytiEMycfzXWpca4FA9QIOehf7PocBQ== - -eastasianwidth@^0.2.0: - version "0.2.0" - resolved "https://registry.yarnpkg.com/eastasianwidth/-/eastasianwidth-0.2.0.tgz#696ce2ec0aa0e6ea93a397ffcf24aa7840c827cb" - integrity sha512-I88TYZWc9XiYHRQ4/3c5rjjfgkjhLyW2luGIheGERbNQ6OY7yTybanSpDXZa8y7VUP9YmDcYa+eyq4ca7iLqWA== - -ecc-jsbn@~0.1.1: - version "0.1.2" - resolved "https://registry.yarnpkg.com/ecc-jsbn/-/ecc-jsbn-0.1.2.tgz#3a83a904e54353287874c564b7549386849a98c9" - integrity sha512-eh9O+hwRHNbG4BLTjEl3nw044CkGm5X6LoaCf7LPp7UU8Qrt47JYNi6nPX8xjW97TKGKm1ouctg0QSpZe9qrnw== - dependencies: - jsbn "~0.1.0" - safer-buffer "^2.1.0" - -electron-to-chromium@^1.4.601: - version "1.4.639" - resolved "https://registry.yarnpkg.com/electron-to-chromium/-/electron-to-chromium-1.4.639.tgz#c6f9cc685f9efb2980d2cfc95a27f8142c9adf28" - integrity sha512-CkKf3ZUVZchr+zDpAlNLEEy2NJJ9T64ULWaDgy3THXXlPVPkLu3VOs9Bac44nebVtdwl2geSj6AxTtGDOxoXhg== - -emittery@^0.13.1: - version "0.13.1" - resolved "https://registry.yarnpkg.com/emittery/-/emittery-0.13.1.tgz#c04b8c3457490e0847ae51fced3af52d338e3dad" - integrity sha512-DeWwawk6r5yR9jFgnDKYt4sLS0LmHJJi3ZOnb5/JdbYwj3nW+FxQnHIjhBKz8YLC7oRNPVM9NQ47I3CVx34eqQ== - -emoji-regex@^8.0.0: - version "8.0.0" - resolved "https://registry.yarnpkg.com/emoji-regex/-/emoji-regex-8.0.0.tgz#e818fd69ce5ccfcb404594f842963bf53164cc37" - integrity sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A== - -emoji-regex@^9.2.2: - version "9.2.2" - resolved "https://registry.yarnpkg.com/emoji-regex/-/emoji-regex-9.2.2.tgz#840c8803b0d8047f4ff0cf963176b32d4ef3ed72" - integrity sha512-L18DaJsXSUk2+42pv8mLs5jJT2hqFkFE4j21wOmgbUqsZ2hL72NsUU785g9RXgo3s0ZNgVl42TiHp3ZtOv/Vyg== - -emojis-list@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/emojis-list/-/emojis-list-3.0.0.tgz#5570662046ad29e2e916e71aae260abdff4f6a78" - integrity sha512-/kyM18EfinwXZbno9FyUGeFh87KC8HRQBQGildHZbEuRyWFOmv1U10o9BBp8XVZDVNNuQKyIGIu5ZYAAXJ0V2Q== - -end-of-stream@^1.1.0: - version "1.4.4" - resolved "https://registry.yarnpkg.com/end-of-stream/-/end-of-stream-1.4.4.tgz#5ae64a5f45057baf3626ec14da0ca5e4b2431eb0" - integrity sha512-+uw1inIHVPQoaVuHzRyXd21icM+cnt4CzD5rW+NC1wjOUSTOs+Te7FOv7AhN7vS9x/oIyhLP5PR1H+phQAHu5Q== - dependencies: - once "^1.4.0" - -enhanced-resolve@^4.0.0: - version "4.5.0" - resolved "https://registry.yarnpkg.com/enhanced-resolve/-/enhanced-resolve-4.5.0.tgz#2f3cfd84dbe3b487f18f2db2ef1e064a571ca5ec" - integrity sha512-Nv9m36S/vxpsI+Hc4/ZGRs0n9mXqSWGGq49zxb/cJfPAQMbUtttJAlNPS4AQzaBdw/pKskw5bMbekT/Y7W/Wlg== - dependencies: - graceful-fs "^4.1.2" - memory-fs "^0.5.0" - tapable "^1.0.0" - -enhanced-resolve@^5.15.0: - version "5.15.0" - resolved "https://registry.yarnpkg.com/enhanced-resolve/-/enhanced-resolve-5.15.0.tgz#1af946c7d93603eb88e9896cee4904dc012e9c35" - integrity sha512-LXYT42KJ7lpIKECr2mAXIaMldcNCh/7E0KBKOu4KSfkHmP+mZmSs+8V5gBAqisWBy0OO4W5Oyys0GO1Y8KtdKg== - dependencies: - graceful-fs "^4.2.4" - tapable "^2.2.0" - -enquirer@^2.3.6: - version "2.4.1" - resolved "https://registry.yarnpkg.com/enquirer/-/enquirer-2.4.1.tgz#93334b3fbd74fc7097b224ab4a8fb7e40bf4ae56" - integrity sha512-rRqJg/6gd538VHvR3PSrdRBb/1Vy2YfzHqzvbhGIQpDRKIa4FgV/54b5Q1xYSxOOwKvjXweS26E0Q+nAMwp2pQ== - dependencies: - ansi-colors "^4.1.1" - strip-ansi "^6.0.1" - -entities@^4.4.0: - version "4.5.0" - resolved "https://registry.yarnpkg.com/entities/-/entities-4.5.0.tgz#5d268ea5e7113ec74c4d033b79ea5a35a488fb48" - integrity sha512-V0hjH4dGPh9Ao5p0MoRY6BVqtwCjhz6vI5LT8AJ55H+4g9/4vbHx1I54fS0XuclLhDHArPQCiMjDxjaL8fPxhw== - -envinfo@^7.7.3: - version "7.11.0" - resolved "https://registry.yarnpkg.com/envinfo/-/envinfo-7.11.0.tgz#c3793f44284a55ff8c82faf1ffd91bc6478ea01f" - integrity sha512-G9/6xF1FPbIw0TtalAMaVPpiq2aDEuKLXM314jPVAO9r2fo2a4BLqMNkmRS7O/xPPZ+COAhGIz3ETvHEV3eUcg== - -errno@^0.1.3: - version "0.1.8" - resolved "https://registry.yarnpkg.com/errno/-/errno-0.1.8.tgz#8bb3e9c7d463be4976ff888f76b4809ebc2e811f" - integrity sha512-dJ6oBr5SQ1VSd9qkk7ByRgb/1SH4JZjCHSW/mr63/QcXO9zLVxvJ6Oy13nio03rxpSnVDDjFor75SjVeZWPW/A== - dependencies: - prr "~1.0.1" - -error-ex@^1.3.1: - version "1.3.2" - resolved "https://registry.yarnpkg.com/error-ex/-/error-ex-1.3.2.tgz#b4ac40648107fdcdcfae242f428bea8a14d4f1bf" - integrity sha512-7dFHNmqeFSEt2ZBsCriorKnn3Z2pj+fd9kmI6QoWw4//DL+icEBfc0U7qJCisqrTsKTjw4fNFy2pW9OqStD84g== - dependencies: - is-arrayish "^0.2.1" - -error-stack-parser@^2.0.6: - version "2.1.4" - resolved "https://registry.yarnpkg.com/error-stack-parser/-/error-stack-parser-2.1.4.tgz#229cb01cdbfa84440bfa91876285b94680188286" - integrity sha512-Sk5V6wVazPhq5MhpO+AUxJn5x7XSXGl1R93Vn7i+zS15KDVxQijejNCrz8340/2bgLBjR9GtEG8ZVKONDjcqGQ== - dependencies: - stackframe "^1.3.4" - -error@^7.0.0: - version "7.2.1" - resolved "https://registry.yarnpkg.com/error/-/error-7.2.1.tgz#eab21a4689b5f684fc83da84a0e390de82d94894" - integrity sha512-fo9HBvWnx3NGUKMvMwB/CBCMMrfEJgbDTVDEkPygA3Bdd3lM1OyCd+rbQ8BwnpF6GdVeOLDNmyL4N5Bg80ZvdA== - dependencies: - string-template "~0.2.1" - -es-abstract@^1.22.1: - version "1.22.3" - resolved "https://registry.yarnpkg.com/es-abstract/-/es-abstract-1.22.3.tgz#48e79f5573198de6dee3589195727f4f74bc4f32" - integrity sha512-eiiY8HQeYfYH2Con2berK+To6GrK2RxbPawDkGq4UiCQQfZHb6wX9qQqkbpPqaxQFcl8d9QzZqo0tGE0VcrdwA== - dependencies: - array-buffer-byte-length "^1.0.0" - arraybuffer.prototype.slice "^1.0.2" - available-typed-arrays "^1.0.5" - call-bind "^1.0.5" - es-set-tostringtag "^2.0.1" - es-to-primitive "^1.2.1" - function.prototype.name "^1.1.6" - get-intrinsic "^1.2.2" - get-symbol-description "^1.0.0" - globalthis "^1.0.3" - gopd "^1.0.1" - has-property-descriptors "^1.0.0" - has-proto "^1.0.1" - has-symbols "^1.0.3" - hasown "^2.0.0" - internal-slot "^1.0.5" - is-array-buffer "^3.0.2" - is-callable "^1.2.7" - is-negative-zero "^2.0.2" - is-regex "^1.1.4" - is-shared-array-buffer "^1.0.2" - is-string "^1.0.7" - is-typed-array "^1.1.12" - is-weakref "^1.0.2" - object-inspect "^1.13.1" - object-keys "^1.1.1" - object.assign "^4.1.4" - regexp.prototype.flags "^1.5.1" - safe-array-concat "^1.0.1" - safe-regex-test "^1.0.0" - string.prototype.trim "^1.2.8" - string.prototype.trimend "^1.0.7" - string.prototype.trimstart "^1.0.7" - typed-array-buffer "^1.0.0" - typed-array-byte-length "^1.0.0" - typed-array-byte-offset "^1.0.0" - typed-array-length "^1.0.4" - unbox-primitive "^1.0.2" - which-typed-array "^1.1.13" - -es-get-iterator@^1.1.3: - version "1.1.3" - resolved "https://registry.yarnpkg.com/es-get-iterator/-/es-get-iterator-1.1.3.tgz#3ef87523c5d464d41084b2c3c9c214f1199763d6" - integrity sha512-sPZmqHBe6JIiTfN5q2pEi//TwxmAFHwj/XEuYjTuse78i8KxaqMTTzxPoFKuzRpDpTJ+0NAbpfenkmH2rePtuw== - dependencies: - call-bind "^1.0.2" - get-intrinsic "^1.1.3" - has-symbols "^1.0.3" - is-arguments "^1.1.1" - is-map "^2.0.2" - is-set "^2.0.2" - is-string "^1.0.7" - isarray "^2.0.5" - stop-iteration-iterator "^1.0.0" - -es-module-lexer@^1.2.1: - version "1.4.1" - resolved "https://registry.yarnpkg.com/es-module-lexer/-/es-module-lexer-1.4.1.tgz#41ea21b43908fe6a287ffcbe4300f790555331f5" - integrity sha512-cXLGjP0c4T3flZJKQSuziYoq7MlT+rnvfZjfp7h+I7K9BNX54kP9nyWvdbwjQ4u1iWbOL4u96fgeZLToQlZC7w== - -es-set-tostringtag@^2.0.1: - version "2.0.2" - resolved "https://registry.yarnpkg.com/es-set-tostringtag/-/es-set-tostringtag-2.0.2.tgz#11f7cc9f63376930a5f20be4915834f4bc74f9c9" - integrity sha512-BuDyupZt65P9D2D2vA/zqcI3G5xRsklm5N3xCwuiy+/vKy8i0ifdsQP1sLgO4tZDSCaQUSnmC48khknGMV3D2Q== - dependencies: - get-intrinsic "^1.2.2" - has-tostringtag "^1.0.0" - hasown "^2.0.0" - -es-shim-unscopables@^1.0.0: - version "1.0.2" - resolved "https://registry.yarnpkg.com/es-shim-unscopables/-/es-shim-unscopables-1.0.2.tgz#1f6942e71ecc7835ed1c8a83006d8771a63a3763" - integrity sha512-J3yBRXCzDu4ULnQwxyToo/OjdMx6akgVC7K6few0a7F/0wLtmKKN7I73AH5T2836UuXRqN7Qg+IIUw/+YJksRw== - dependencies: - hasown "^2.0.0" - -es-to-primitive@^1.2.1: - version "1.2.1" - resolved "https://registry.yarnpkg.com/es-to-primitive/-/es-to-primitive-1.2.1.tgz#e55cd4c9cdc188bcefb03b366c736323fc5c898a" - integrity sha512-QCOllgZJtaUo9miYBcLChTUaHNjJF3PYs1VidD7AwiEj1kYxKeQTctLAezAOH5ZKRH0g2IgPn6KwB4IT8iRpvA== - dependencies: - is-callable "^1.1.4" - is-date-object "^1.0.1" - is-symbol "^1.0.2" - -escalade@^3.1.1: - version "3.1.1" - resolved "https://registry.yarnpkg.com/escalade/-/escalade-3.1.1.tgz#d8cfdc7000965c5a0174b4a82eaa5c0552742e40" - integrity sha512-k0er2gUkLf8O0zKJiAhmkTnJlTvINGv7ygDNPbeIsX/TJjGJZHuh9B2UxbsaEkmlEo9MfhrSzmhIlhRlI2GXnw== - -escape-string-regexp@4.0.0, escape-string-regexp@^4.0.0: - version "4.0.0" - resolved "https://registry.yarnpkg.com/escape-string-regexp/-/escape-string-regexp-4.0.0.tgz#14ba83a5d373e3d311e5afca29cf5bfad965bf34" - integrity sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA== - -escape-string-regexp@^1.0.5: - version "1.0.5" - resolved "https://registry.yarnpkg.com/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz#1b61c0562190a8dff6ae3bb2cf0200ca130b86d4" - integrity sha512-vbRorB5FUQWvla16U8R/qgaFIya2qGzwDrNmCZuYKrbdSUMG6I1ZCGQRefkRVhuOkIGVne7BQ35DSfo1qvJqFg== - -escape-string-regexp@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/escape-string-regexp/-/escape-string-regexp-2.0.0.tgz#a30304e99daa32e23b2fd20f51babd07cffca344" - integrity sha512-UpzcLCXolUWcNu5HtVMHYdXJjArjsF9C0aNnquZYY4uW/Vu0miy5YoWvbV345HauVvcAUnpRuhMMcqTcGOY2+w== - -escodegen@^2.0.0: - version "2.1.0" - resolved "https://registry.yarnpkg.com/escodegen/-/escodegen-2.1.0.tgz#ba93bbb7a43986d29d6041f99f5262da773e2e17" - integrity sha512-2NlIDTwUWJN0mRPQOdtQBzbUHvdGY2P1VXSyU83Q3xKxM7WHX2Ql8dKq782Q9TgQUNOLEzEYu9bzLNj1q88I5w== - dependencies: - esprima "^4.0.1" - estraverse "^5.2.0" - esutils "^2.0.2" - optionalDependencies: - source-map "~0.6.1" - -eslint-config-prettier@8.8.0: - version "8.8.0" - resolved "https://registry.yarnpkg.com/eslint-config-prettier/-/eslint-config-prettier-8.8.0.tgz#bfda738d412adc917fd7b038857110efe98c9348" - integrity sha512-wLbQiFre3tdGgpDv67NQKnJuTlcUVYHas3k+DZCc2U2BadthoEY4B7hLPvAxaqdyOGCzuLfii2fqGph10va7oA== - -eslint-plugin-deprecation@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/eslint-plugin-deprecation/-/eslint-plugin-deprecation-2.0.0.tgz#9804707a4c19f3a53615c6babc0ced3d429d69cf" - integrity sha512-OAm9Ohzbj11/ZFyICyR5N6LbOIvQMp7ZU2zI7Ej0jIc8kiGUERXPNMfw2QqqHD1ZHtjMub3yPZILovYEYucgoQ== - dependencies: - "@typescript-eslint/utils" "^6.0.0" - tslib "^2.3.1" - tsutils "^3.21.0" - -eslint-plugin-jsdoc@46.2.6: - version "46.2.6" - resolved "https://registry.yarnpkg.com/eslint-plugin-jsdoc/-/eslint-plugin-jsdoc-46.2.6.tgz#f25590d371859f20691d65b5dcd4cbe370d65564" - integrity sha512-zIaK3zbSrKuH12bP+SPybPgcHSM6MFzh3HFeaODzmsF1N8C1l8dzJ22cW1aq4g0+nayU1VMjmNf7hg0dpShLrA== - dependencies: - "@es-joy/jsdoccomment" "~0.39.4" - are-docs-informative "^0.0.2" - comment-parser "1.3.1" - debug "^4.3.4" - escape-string-regexp "^4.0.0" - esquery "^1.5.0" - is-builtin-module "^3.2.1" - semver "^7.5.1" - spdx-expression-parse "^3.0.1" - -eslint-plugin-react-hooks@4.6.0: - version "4.6.0" - resolved "https://registry.yarnpkg.com/eslint-plugin-react-hooks/-/eslint-plugin-react-hooks-4.6.0.tgz#4c3e697ad95b77e93f8646aaa1630c1ba607edd3" - integrity sha512-oFc7Itz9Qxh2x4gNHStv3BqJq54ExXmfC+a1NjAta66IAN87Wu0R/QArgIS9qKzX3dXKPI9H5crl9QchNMY9+g== - -eslint-plugin-react@7.32.2: - version "7.32.2" - resolved "https://registry.yarnpkg.com/eslint-plugin-react/-/eslint-plugin-react-7.32.2.tgz#e71f21c7c265ebce01bcbc9d0955170c55571f10" - integrity sha512-t2fBMa+XzonrrNkyVirzKlvn5RXzzPwRHtMvLAtVZrt8oxgnTQaYbU6SXTOO1mwQgp1y5+toMSKInnzGr0Knqg== - dependencies: - array-includes "^3.1.6" - array.prototype.flatmap "^1.3.1" - array.prototype.tosorted "^1.1.1" - doctrine "^2.1.0" - estraverse "^5.3.0" - jsx-ast-utils "^2.4.1 || ^3.0.0" - minimatch "^3.1.2" - object.entries "^1.1.6" - object.fromentries "^2.0.6" - object.hasown "^1.1.2" - object.values "^1.1.6" - prop-types "^15.8.1" - resolve "^2.0.0-next.4" - semver "^6.3.0" - string.prototype.matchall "^4.0.8" - -eslint-scope@5.1.1, eslint-scope@^5.1.1: - version "5.1.1" - resolved "https://registry.yarnpkg.com/eslint-scope/-/eslint-scope-5.1.1.tgz#e786e59a66cb92b3f6c1fb0d508aab174848f48c" - integrity sha512-2NxwbF/hZ0KpepYN0cNbo+FN6XoK7GaHlQhgx/hIZl6Va0bF45RQOOwhLIy8lQDbuCiadSLCBnH2CFYquit5bw== - dependencies: - esrecurse "^4.3.0" - estraverse "^4.1.1" - -eslint-scope@^7.2.0: - version "7.2.2" - resolved "https://registry.yarnpkg.com/eslint-scope/-/eslint-scope-7.2.2.tgz#deb4f92563390f32006894af62a22dba1c46423f" - integrity sha512-dOt21O7lTMhDM+X9mB4GX+DZrZtCUJPL/wlcTqxyrx5IvO0IYtILdtrQGQp+8n5S0gwSVmOf9NQrjMOgfQZlIg== - dependencies: - esrecurse "^4.3.0" - estraverse "^5.2.0" - -eslint-visitor-keys@^3.3.0, eslint-visitor-keys@^3.4.1: - version "3.4.3" - resolved "https://registry.yarnpkg.com/eslint-visitor-keys/-/eslint-visitor-keys-3.4.3.tgz#0cd72fe8550e3c2eae156a96a4dddcd1c8ac5800" - integrity sha512-wpc+LXeiyiisxPlEkUzU6svyS1frIO3Mgxj1fdy7Pm8Ygzguax2N3Fa/D/ag1WqbOprdI+uY6wMUl8/a2G+iag== - -eslint-webpack-plugin@^4.0.1: - version "4.0.1" - resolved "https://registry.yarnpkg.com/eslint-webpack-plugin/-/eslint-webpack-plugin-4.0.1.tgz#f0f0e9afff2801d8bd41eac88e5409821ecbaccb" - integrity sha512-fUFcXpui/FftGx3NzvWgLZXlLbu+m74sUxGEgxgoxYcUtkIQbS6SdNNZkS99m5ycb23TfoNYrDpp1k/CK5j6Hw== - dependencies: - "@types/eslint" "^8.37.0" - jest-worker "^29.5.0" - micromatch "^4.0.5" - normalize-path "^3.0.0" - schema-utils "^4.0.0" - -eslint@8.42.0: - version "8.42.0" - resolved "https://registry.yarnpkg.com/eslint/-/eslint-8.42.0.tgz#7bebdc3a55f9ed7167251fe7259f75219cade291" - integrity sha512-ulg9Ms6E1WPf67PHaEY4/6E2tEn5/f7FXGzr3t9cBMugOmf1INYvuUwwh1aXQN4MfJ6a5K2iNwP3w4AColvI9A== - dependencies: - "@eslint-community/eslint-utils" "^4.2.0" - "@eslint-community/regexpp" "^4.4.0" - "@eslint/eslintrc" "^2.0.3" - "@eslint/js" "8.42.0" - "@humanwhocodes/config-array" "^0.11.10" - "@humanwhocodes/module-importer" "^1.0.1" - "@nodelib/fs.walk" "^1.2.8" - ajv "^6.10.0" - chalk "^4.0.0" - cross-spawn "^7.0.2" - debug "^4.3.2" - doctrine "^3.0.0" - escape-string-regexp "^4.0.0" - eslint-scope "^7.2.0" - eslint-visitor-keys "^3.4.1" - espree "^9.5.2" - esquery "^1.4.2" - esutils "^2.0.2" - fast-deep-equal "^3.1.3" - file-entry-cache "^6.0.1" - find-up "^5.0.0" - glob-parent "^6.0.2" - globals "^13.19.0" - graphemer "^1.4.0" - ignore "^5.2.0" - import-fresh "^3.0.0" - imurmurhash "^0.1.4" - is-glob "^4.0.0" - is-path-inside "^3.0.3" - js-yaml "^4.1.0" - json-stable-stringify-without-jsonify "^1.0.1" - levn "^0.4.1" - lodash.merge "^4.6.2" - minimatch "^3.1.2" - natural-compare "^1.4.0" - optionator "^0.9.1" - strip-ansi "^6.0.1" - strip-json-comments "^3.1.0" - text-table "^0.2.0" - -espree@^9.5.2, espree@^9.6.0: - version "9.6.1" - resolved "https://registry.yarnpkg.com/espree/-/espree-9.6.1.tgz#a2a17b8e434690a5432f2f8018ce71d331a48c6f" - integrity sha512-oruZaFkjorTpF32kDSI5/75ViwGeZginGGy2NoOSg3Q9bnwlnmDm4HLnkl0RE3n+njDXR037aY1+x58Z/zFdwQ== - dependencies: - acorn "^8.9.0" - acorn-jsx "^5.3.2" - eslint-visitor-keys "^3.4.1" - -esprima@^4.0.0, esprima@^4.0.1: - version "4.0.1" - resolved "https://registry.yarnpkg.com/esprima/-/esprima-4.0.1.tgz#13b04cdb3e6c5d19df91ab6987a8695619b0aa71" - integrity sha512-eGuFFw7Upda+g4p+QHvnW0RyTX/SVeJBDM/gCtMARO0cLuT2HcEKnTPvhjV6aGeqrCB/sbNop0Kszm0jsaWU4A== - -esquery@^1.4.2, esquery@^1.5.0: - version "1.5.0" - resolved "https://registry.yarnpkg.com/esquery/-/esquery-1.5.0.tgz#6ce17738de8577694edd7361c57182ac8cb0db0b" - integrity sha512-YQLXUplAwJgCydQ78IMJywZCceoqk1oH01OERdSAJc/7U2AylwjhSCLDEtqwg811idIS/9fIU5GjG73IgjKMVg== - dependencies: - estraverse "^5.1.0" - -esrecurse@^4.3.0: - version "4.3.0" - resolved "https://registry.yarnpkg.com/esrecurse/-/esrecurse-4.3.0.tgz#7ad7964d679abb28bee72cec63758b1c5d2c9921" - integrity sha512-KmfKL3b6G+RXvP8N1vr3Tq1kL/oCFgn2NYXEtqP8/L3pKapUA4G8cFVaoF3SU323CD4XypR/ffioHmkti6/Tag== - dependencies: - estraverse "^5.2.0" - -esrever@^0.2.0: - version "0.2.0" - resolved "https://registry.yarnpkg.com/esrever/-/esrever-0.2.0.tgz#96e9d28f4f1b1a76784cd5d490eaae010e7407b8" - integrity sha512-1e9YJt6yQkyekt2BUjTky7LZWWVyC2cIpgdnsTAvMcnzXIZvlW/fTMPkxBcZoYhgih4d+EC+iw+yv9GIkz7vrw== - -estraverse@^4.1.1: - version "4.3.0" - resolved "https://registry.yarnpkg.com/estraverse/-/estraverse-4.3.0.tgz#398ad3f3c5a24948be7725e83d11a7de28cdbd1d" - integrity sha512-39nnKffWz8xN1BU/2c79n9nB9HDzo0niYUqx6xyqUnyoAnQyyWpOTdZEeiCch8BBu515t4wp9ZmgVfVhn9EBpw== - -estraverse@^5.1.0, estraverse@^5.2.0, estraverse@^5.3.0: - version "5.3.0" - resolved "https://registry.yarnpkg.com/estraverse/-/estraverse-5.3.0.tgz#2eea5290702f26ab8fe5370370ff86c965d21123" - integrity sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA== - -esutils@^2.0.2: - version "2.0.3" - resolved "https://registry.yarnpkg.com/esutils/-/esutils-2.0.3.tgz#74d2eb4de0b8da1293711910d50775b9b710ef64" - integrity sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g== - -eventemitter2@^6.4.3: - version "6.4.9" - resolved "https://registry.yarnpkg.com/eventemitter2/-/eventemitter2-6.4.9.tgz#41f2750781b4230ed58827bc119d293471ecb125" - integrity sha512-JEPTiaOt9f04oa6NOkc4aH+nVp5I3wEjpHbIPqfgCdD5v5bUzy7xQqwcVO2aDQgOWhI28da57HksMrzK9HlRxg== - -eventemitter3@5.0.0: - version "5.0.0" - resolved "https://registry.yarnpkg.com/eventemitter3/-/eventemitter3-5.0.0.tgz#084eb7f5b5388df1451e63f4c2aafd71b217ccb3" - integrity sha512-riuVbElZZNXLeLEoprfNYoDSwTBRR44X3mnhdI1YcnENpWTCsTTVZ2zFuqQcpoyqPQIUXdiPEU0ECAq0KQRaHg== - -events@^3.2.0: - version "3.3.0" - resolved "https://registry.yarnpkg.com/events/-/events-3.3.0.tgz#31a95ad0a924e2d2c419a813aeb2c4e878ea7400" - integrity sha512-mQw+2fkQbALzQ7V0MY0IqdnXNOeTtP4r0lN9z7AAawCXgqea7bDii20AYrIBrFd/Hx0M2Ocz6S111CaFkUcb0Q== - -execa@4.1.0: - version "4.1.0" - resolved "https://registry.yarnpkg.com/execa/-/execa-4.1.0.tgz#4e5491ad1572f2f17a77d388c6c857135b22847a" - integrity sha512-j5W0//W7f8UxAn8hXVnwG8tLwdiUy4FJLcSupCg6maBYZDpyBvTApK7KyuI4bKj8KOh1r2YH+6ucuYtJv1bTZA== - dependencies: - cross-spawn "^7.0.0" - get-stream "^5.0.0" - human-signals "^1.1.1" - is-stream "^2.0.0" - merge-stream "^2.0.0" - npm-run-path "^4.0.0" - onetime "^5.1.0" - signal-exit "^3.0.2" - strip-final-newline "^2.0.0" - -execa@5.1.1, execa@^5.0.0: - version "5.1.1" - resolved "https://registry.yarnpkg.com/execa/-/execa-5.1.1.tgz#f80ad9cbf4298f7bd1d4c9555c21e93741c411dd" - integrity sha512-8uSpZZocAZRBAPIEINJj3Lo9HyGitllczc27Eh5YYojjMFMn8yHMDMaUHE2Jqfq05D/wucwI4JGURyXt1vchyg== - dependencies: - cross-spawn "^7.0.3" - get-stream "^6.0.0" - human-signals "^2.1.0" - is-stream "^2.0.0" - merge-stream "^2.0.0" - npm-run-path "^4.0.1" - onetime "^5.1.2" - signal-exit "^3.0.3" - strip-final-newline "^2.0.0" - -executable@^4.1.1: - version "4.1.1" - resolved "https://registry.yarnpkg.com/executable/-/executable-4.1.1.tgz#41532bff361d3e57af4d763b70582db18f5d133c" - integrity sha512-8iA79xD3uAch729dUG8xaaBBFGaEa0wdD2VkYLFHwlqosEj/jT66AzcreRDSgV7ehnNLBW2WR5jIXwGKjVdTLg== - dependencies: - pify "^2.2.0" - -exenv@^1.2.2: - version "1.2.2" - resolved "https://registry.yarnpkg.com/exenv/-/exenv-1.2.2.tgz#2ae78e85d9894158670b03d47bec1f03bd91bb9d" - integrity sha512-Z+ktTxTwv9ILfgKCk32OX3n/doe+OcLTRtqK9pcL+JsP3J1/VW8Uvl4ZjLlKqeW4rzK4oesDOGMEMRIZqtP4Iw== - -exit@^0.1.2: - version "0.1.2" - resolved "https://registry.yarnpkg.com/exit/-/exit-0.1.2.tgz#0632638f8d877cc82107d30a0fff1a17cba1cd0c" - integrity sha512-Zk/eNKV2zbjpKzrsQ+n1G6poVbErQxJ0LBOJXaKZ1EViLzH+hrLu9cdXI4zw9dBQJslwBEpbQ2P1oS7nDxs6jQ== - -expect@^29.0.0, expect@^29.7.0: - version "29.7.0" - resolved "https://registry.yarnpkg.com/expect/-/expect-29.7.0.tgz#578874590dcb3214514084c08115d8aee61e11bc" - integrity sha512-2Zks0hf1VLFYI1kbh0I5jP3KHHyCHpkfyHBzsSXRFgl/Bg9mWYfMW8oD+PdMPlEwy5HNsR9JutYy6pMeOh61nw== - dependencies: - "@jest/expect-utils" "^29.7.0" - jest-get-type "^29.6.3" - jest-matcher-utils "^29.7.0" - jest-message-util "^29.7.0" - jest-util "^29.7.0" - -extend@~3.0.2: - version "3.0.2" - resolved "https://registry.yarnpkg.com/extend/-/extend-3.0.2.tgz#f8b1136b4071fbd8eb140aff858b1019ec2915fa" - integrity sha512-fjquC59cD7CyW6urNXK0FBufkZcoiGG80wTuPujX590cB5Ttln20E2UB4S/WARVqhXffZl2LNgS+gQdPIIim/g== - -extract-zip@2.0.1: - version "2.0.1" - resolved "https://registry.yarnpkg.com/extract-zip/-/extract-zip-2.0.1.tgz#663dca56fe46df890d5f131ef4a06d22bb8ba13a" - integrity sha512-GDhU9ntwuKyGXdZBUgTIe+vXnWj0fppUEtMDL0+idd5Sta8TGpHssn/eusA9mrPr9qNDym6SxAYZjNvCn/9RBg== - dependencies: - debug "^4.1.1" - get-stream "^5.1.0" - yauzl "^2.10.0" - optionalDependencies: - "@types/yauzl" "^2.9.1" - -extsprintf@1.3.0: - version "1.3.0" - resolved "https://registry.yarnpkg.com/extsprintf/-/extsprintf-1.3.0.tgz#96918440e3041a7a414f8c52e3c574eb3c3e1e05" - integrity sha512-11Ndz7Nv+mvAC1j0ktTa7fAb0vLyGGX+rMHNBYQviQDGU0Hw7lhctJANqbPhu9nV9/izT/IntTgZ7Im/9LJs9g== - -extsprintf@^1.2.0: - version "1.4.1" - resolved "https://registry.yarnpkg.com/extsprintf/-/extsprintf-1.4.1.tgz#8d172c064867f235c0c84a596806d279bf4bcc07" - integrity sha512-Wrk35e8ydCKDj/ArClo1VrPVmN8zph5V4AtHwIuHhvMXsKf73UT3BOD+azBIW+3wOJ4FhEH7zyaJCFvChjYvMA== - -fast-deep-equal@^3.1.1, fast-deep-equal@^3.1.3: - version "3.1.3" - resolved "https://registry.yarnpkg.com/fast-deep-equal/-/fast-deep-equal-3.1.3.tgz#3a7d56b559d6cbc3eb512325244e619a65c6c525" - integrity sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q== - -fast-glob@^3.2.11, fast-glob@^3.2.9, fast-glob@^3.3.0, fast-glob@^3.3.2: - version "3.3.2" - resolved "https://registry.yarnpkg.com/fast-glob/-/fast-glob-3.3.2.tgz#a904501e57cfdd2ffcded45e99a54fef55e46129" - integrity sha512-oX2ruAFQwf/Orj8m737Y5adxDQO0LAB7/S5MnxCdTNDd4p6BsyIVsv9JQsATbTSq8KHRpLwIHbVlUNatxd+1Ow== - dependencies: - "@nodelib/fs.stat" "^2.0.2" - "@nodelib/fs.walk" "^1.2.3" - glob-parent "^5.1.2" - merge2 "^1.3.0" - micromatch "^4.0.4" - -fast-json-stable-stringify@^2.0.0, fast-json-stable-stringify@^2.1.0: - version "2.1.0" - resolved "https://registry.yarnpkg.com/fast-json-stable-stringify/-/fast-json-stable-stringify-2.1.0.tgz#874bf69c6f404c2b5d99c481341399fd55892633" - integrity sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw== - -fast-levenshtein@^2.0.6: - version "2.0.6" - resolved "https://registry.yarnpkg.com/fast-levenshtein/-/fast-levenshtein-2.0.6.tgz#3d8a5c66883a16a30ca8643e851f19baa7797917" - integrity sha512-DCXu6Ifhqcks7TZKY3Hxp3y6qphY5SJZmrWMDrKcERSOXWQdMhU9Ig/PYrzyw/ul9jOIyh0N4M0tbC5hodg8dw== - -fast-loops@^1.1.3: - version "1.1.3" - resolved "https://registry.yarnpkg.com/fast-loops/-/fast-loops-1.1.3.tgz#ce96adb86d07e7bf9b4822ab9c6fac9964981f75" - integrity sha512-8EZzEP0eKkEEVX+drtd9mtuQ+/QrlfW/5MlwcwK5Nds6EkZ/tRzEexkzUY2mIssnAyVLT+TKHuRXmFNNXYUd6g== - -fast-shallow-equal@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/fast-shallow-equal/-/fast-shallow-equal-1.0.0.tgz#d4dcaf6472440dcefa6f88b98e3251e27f25628b" - integrity sha512-HPtaa38cPgWvaCFmRNhlc6NG7pv6NUHqjPgVAkWGoB9mQMwYB27/K0CvOM5Czy+qpT3e8XJ6Q4aPAnzpNpzNaw== - -fast_array_intersect@1.1.0: - version "1.1.0" - resolved "https://registry.yarnpkg.com/fast_array_intersect/-/fast_array_intersect-1.1.0.tgz#8e8a83d95c515fd55bfb2b02da94da3d7f1c2b8b" - integrity sha512-/DCilZlUdz2XyNDF+ASs0PwY+RKG9Y4Silp/gbS72Cvbg4oibc778xcecg+pnNyiNHYgh/TApsiDTjpdniyShw== - -fastest-levenshtein@^1.0.12: - version "1.0.16" - resolved "https://registry.yarnpkg.com/fastest-levenshtein/-/fastest-levenshtein-1.0.16.tgz#210e61b6ff181de91ea9b3d1b84fdedd47e034e5" - integrity sha512-eRnCtTTtGZFpQCwhJiUOuxPQWRXVKYDn0b2PeHfXL6/Zi53SLAzAHfVhVWK2AryC/WH05kGfxhFIPvTF0SXQzg== - -fastest-stable-stringify@^2.0.2: - version "2.0.2" - resolved "https://registry.yarnpkg.com/fastest-stable-stringify/-/fastest-stable-stringify-2.0.2.tgz#3757a6774f6ec8de40c4e86ec28ea02417214c76" - integrity sha512-bijHueCGd0LqqNK9b5oCMHc0MluJAx0cwqASgbWMvkO01lCYgIhacVRLcaDz3QnyYIRNJRDwMb41VuT6pHJ91Q== - -fastq@^1.6.0: - version "1.16.0" - resolved "https://registry.yarnpkg.com/fastq/-/fastq-1.16.0.tgz#83b9a9375692db77a822df081edb6a9cf6839320" - integrity sha512-ifCoaXsDrsdkWTtiNJX5uzHDsrck5TzfKKDcuFFTIrrc/BS076qgEIfoIy1VeZqViznfKiysPYTh/QeHtnIsYA== - dependencies: - reusify "^1.0.4" - -faye-websocket@~0.10.0: - version "0.10.0" - resolved "https://registry.yarnpkg.com/faye-websocket/-/faye-websocket-0.10.0.tgz#4e492f8d04dfb6f89003507f6edbf2d501e7c6f4" - integrity sha512-Xhj93RXbMSq8urNCUq4p9l0P6hnySJ/7YNRhYNug0bLOuii7pKO7xQFb5mx9xZXWCar88pLPb805PvUkwrLZpQ== - dependencies: - websocket-driver ">=0.5.1" - -fb-watchman@^2.0.0: - version "2.0.2" - resolved "https://registry.yarnpkg.com/fb-watchman/-/fb-watchman-2.0.2.tgz#e9524ee6b5c77e9e5001af0f85f3adbb8623255c" - integrity sha512-p5161BqbuCaSnB8jIbzQHOlpgsPmK5rJVDfDKO91Axs5NC1uu3HRQm6wt9cd9/+GtQQIO53JdGXXoyDpTAsgYA== - dependencies: - bser "2.1.1" - -fd-slicer@~1.1.0: - version "1.1.0" - resolved "https://registry.yarnpkg.com/fd-slicer/-/fd-slicer-1.1.0.tgz#25c7c89cb1f9077f8891bbe61d8f390eae256f1e" - integrity sha512-cE1qsB/VwyQozZ+q1dGxR8LBYNZeofhEdUNGSMbQD3Gw2lAzX9Zb3uIU6Ebc/Fmyjo9AWWfnn0AUCHqtevs/8g== - dependencies: - pend "~1.2.0" - -figures@^3.2.0: - version "3.2.0" - resolved "https://registry.yarnpkg.com/figures/-/figures-3.2.0.tgz#625c18bd293c604dc4a8ddb2febf0c88341746af" - integrity sha512-yaduQFRKLXYOGgEn6AZau90j3ggSOyiqXU0F9JZfeXYhNa+Jk4X+s45A2zg5jns87GAFa34BBm2kXw4XpNcbdg== - dependencies: - escape-string-regexp "^1.0.5" - -file-entry-cache@^6.0.1: - version "6.0.1" - resolved "https://registry.yarnpkg.com/file-entry-cache/-/file-entry-cache-6.0.1.tgz#211b2dd9659cb0394b073e7323ac3c933d522027" - integrity sha512-7Gps/XWymbLk2QLYK4NzpMOrYjMhdIxXuIvy2QBsLE6ljuodKvdkWs/cpyJJ3CVIVpH0Oi1Hvg1ovbMzLdFBBg== - dependencies: - flat-cache "^3.0.4" - -file-selector@^0.6.0: - version "0.6.0" - resolved "https://registry.yarnpkg.com/file-selector/-/file-selector-0.6.0.tgz#fa0a8d9007b829504db4d07dd4de0310b65287dc" - integrity sha512-QlZ5yJC0VxHxQQsQhXvBaC7VRJ2uaxTf+Tfpu4Z/OcVQJVpZO+DGU0rkoVW5ce2SccxugvpBJoMvUs59iILYdw== - dependencies: - tslib "^2.4.0" - -fill-range@^7.0.1: - version "7.0.1" - resolved "https://registry.yarnpkg.com/fill-range/-/fill-range-7.0.1.tgz#1919a6a7c75fe38b2c7c77e5198535da9acdda40" - integrity sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ== - dependencies: - to-regex-range "^5.0.1" - -find-cache-dir@^3.3.2: - version "3.3.2" - resolved "https://registry.yarnpkg.com/find-cache-dir/-/find-cache-dir-3.3.2.tgz#b30c5b6eff0730731aea9bbd9dbecbd80256d64b" - integrity sha512-wXZV5emFEjrridIgED11OoUKLxiYjAcqot/NJdAkOhlJ+vGzwhOAfcG5OX1jP+S0PcjEn8bdMJv+g2jwQ3Onig== - dependencies: - commondir "^1.0.1" - make-dir "^3.0.2" - pkg-dir "^4.1.0" - -find-parent-dir@~0.3.0: - version "0.3.1" - resolved "https://registry.yarnpkg.com/find-parent-dir/-/find-parent-dir-0.3.1.tgz#c5c385b96858c3351f95d446cab866cbf9f11125" - integrity sha512-o4UcykWV/XN9wm+jMEtWLPlV8RXCZnMhQI6F6OdHeSez7iiJWePw8ijOlskJZMsaQoGR/b7dH6lO02HhaTN7+A== - -find-root@^1.1.0: - version "1.1.0" - resolved "https://registry.yarnpkg.com/find-root/-/find-root-1.1.0.tgz#abcfc8ba76f708c42a97b3d685b7e9450bfb9ce4" - integrity sha512-NKfW6bec6GfKc0SGx1e07QZY9PE99u0Bft/0rzSD5k3sO/vwkVUpDUKVm5Gpp5Ue3YfShPFTX2070tDs5kB9Ng== - -find-up@5.0.0, find-up@^5.0.0: - version "5.0.0" - resolved "https://registry.yarnpkg.com/find-up/-/find-up-5.0.0.tgz#4c92819ecb7083561e4f4a240a86be5198f536fc" - integrity sha512-78/PXT1wlLLDgTzDs7sjq9hzz0vXD+zn+7wypEe4fXQxCmdmqfGsEPQxmiCSQI3ajFV91bVSsvNtrJRiW6nGng== - dependencies: - locate-path "^6.0.0" - path-exists "^4.0.0" - -find-up@^4.0.0, find-up@^4.1.0: - version "4.1.0" - resolved "https://registry.yarnpkg.com/find-up/-/find-up-4.1.0.tgz#97afe7d6cdc0bc5928584b7c8d7b16e8a9aa5d19" - integrity sha512-PpOwAdQ/YlXQ2vj8a3h8IipDuYRi3wceVQQGYWxNINccq40Anw7BlsEXCMbt1Zt+OLA6Fq9suIpIWD0OsnISlw== - dependencies: - locate-path "^5.0.0" - path-exists "^4.0.0" - -flat-cache@^3.0.4: - version "3.2.0" - resolved "https://registry.yarnpkg.com/flat-cache/-/flat-cache-3.2.0.tgz#2c0c2d5040c99b1632771a9d105725c0115363ee" - integrity sha512-CYcENa+FtcUKLmhhqyctpclsq7QF38pKjZHsGNiSQF5r4FtoKDWabFDl3hzaEQMvT1LHEysw5twgLvpYYb4vbw== - dependencies: - flatted "^3.2.9" - keyv "^4.5.3" - rimraf "^3.0.2" - -flat@^5.0.2: - version "5.0.2" - resolved "https://registry.yarnpkg.com/flat/-/flat-5.0.2.tgz#8ca6fe332069ffa9d324c327198c598259ceb241" - integrity sha512-b6suED+5/3rTpUBdG1gupIl8MPFCAMA0QXwmljLhvCUKcUvdE4gWky9zpuGCcXHOsz4J9wPGNWq6OKpmIzz3hQ== - -flatted@^3.2.9: - version "3.2.9" - resolved "https://registry.yarnpkg.com/flatted/-/flatted-3.2.9.tgz#7eb4c67ca1ba34232ca9d2d93e9886e611ad7daf" - integrity sha512-36yxDn5H7OFZQla0/jFJmbIKTdZAQHngCedGxiMmpNfEZM0sdEeT+WczLQrjK6D7o2aiyLYDnkw0R3JK0Qv1RQ== - -for-each@^0.3.3: - version "0.3.3" - resolved "https://registry.yarnpkg.com/for-each/-/for-each-0.3.3.tgz#69b447e88a0a5d32c3e7084f3f1710034b21376e" - integrity sha512-jqYfLp7mo9vIyQf8ykW2v7A+2N4QjeCeI5+Dz9XraiO1ign81wjiH7Fb9vSOWvQfNtmSa4H2RoQTrrXivdUZmw== - dependencies: - is-callable "^1.1.3" - -foreground-child@^3.1.0: - version "3.1.1" - resolved "https://registry.yarnpkg.com/foreground-child/-/foreground-child-3.1.1.tgz#1d173e776d75d2772fed08efe4a0de1ea1b12d0d" - integrity sha512-TMKDUnIte6bfb5nWv7V/caI169OHgvwjb7V4WkeUvbQQdjr5rWKqHFiKWb/fcOwB+CzBT+qbWjvj+DVwRskpIg== - dependencies: - cross-spawn "^7.0.0" - signal-exit "^4.0.1" - -forever-agent@~0.6.1: - version "0.6.1" - resolved "https://registry.yarnpkg.com/forever-agent/-/forever-agent-0.6.1.tgz#fbc71f0c41adeb37f96c577ad1ed42d8fdacca91" - integrity sha512-j0KLYPhm6zeac4lz3oJ3o65qvgQCcPubiyotZrXqEaG4hNagNYO8qdlUrX5vwqv9ohqeT/Z3j6+yW067yWWdUw== - -fork-ts-checker-webpack-plugin@^8.0.0: - version "8.0.0" - resolved "https://registry.yarnpkg.com/fork-ts-checker-webpack-plugin/-/fork-ts-checker-webpack-plugin-8.0.0.tgz#dae45dfe7298aa5d553e2580096ced79b6179504" - integrity sha512-mX3qW3idpueT2klaQXBzrIM/pHw+T0B/V9KHEvNrqijTq9NFnMZU6oreVxDYcf33P8a5cW+67PjodNHthGnNVg== - dependencies: - "@babel/code-frame" "^7.16.7" - chalk "^4.1.2" - chokidar "^3.5.3" - cosmiconfig "^7.0.1" - deepmerge "^4.2.2" - fs-extra "^10.0.0" - memfs "^3.4.1" - minimatch "^3.0.4" - node-abort-controller "^3.0.1" - schema-utils "^3.1.1" - semver "^7.3.5" - tapable "^2.2.1" - -form-data@^4.0.0: - version "4.0.0" - resolved "https://registry.yarnpkg.com/form-data/-/form-data-4.0.0.tgz#93919daeaf361ee529584b9b31664dc12c9fa452" - integrity sha512-ETEklSGi5t0QMZuiXoA/Q6vcnxcLQP5vdugSpuAyi6SVGi2clPPp+xgEhuMaHC+zGgn31Kd235W35f7Hykkaww== - dependencies: - asynckit "^0.4.0" - combined-stream "^1.0.8" - mime-types "^2.1.12" - -form-data@~2.3.2: - version "2.3.3" - resolved "https://registry.yarnpkg.com/form-data/-/form-data-2.3.3.tgz#dcce52c05f644f298c6a7ab936bd724ceffbf3a6" - integrity sha512-1lLKB2Mu3aGP1Q/2eCOx0fNbRMe7XdwktwOruhfqqd0rIJWwN4Dh+E3hrPSlDCXnSR7UtZ1N38rVXm+6+MEhJQ== - dependencies: - asynckit "^0.4.0" - combined-stream "^1.0.6" - mime-types "^2.1.12" - -fs-extra@^10.0.0: - version "10.1.0" - resolved "https://registry.yarnpkg.com/fs-extra/-/fs-extra-10.1.0.tgz#02873cfbc4084dde127eaa5f9905eef2325d1abf" - integrity sha512-oRXApq54ETRj4eMiFzGnHWGy+zo5raudjuxN0b8H7s/RU2oW0Wvsx9O0ACRN/kRq9E8Vu/ReskGB5o3ji+FzHQ== - dependencies: - graceful-fs "^4.2.0" - jsonfile "^6.0.1" - universalify "^2.0.0" - -fs-extra@^9.1.0: - version "9.1.0" - resolved "https://registry.yarnpkg.com/fs-extra/-/fs-extra-9.1.0.tgz#5954460c764a8da2094ba3554bf839e6b9a7c86d" - integrity sha512-hcg3ZmepS30/7BSFqRvoo3DOMQu7IjqxO5nCDt+zM9XWjb33Wg7ziNT+Qvqbuc3+gWpzO02JubVyk2G4Zvo1OQ== - dependencies: - at-least-node "^1.0.0" - graceful-fs "^4.2.0" - jsonfile "^6.0.1" - universalify "^2.0.0" - -fs-monkey@^1.0.4: - version "1.0.5" - resolved "https://registry.yarnpkg.com/fs-monkey/-/fs-monkey-1.0.5.tgz#fe450175f0db0d7ea758102e1d84096acb925788" - integrity sha512-8uMbBjrhzW76TYgEV27Y5E//W2f/lTFmx78P2w19FZSxarhI/798APGQyuGCwmkNxgwGRhrLfvWyLBvNtuOmew== - -fs.realpath@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/fs.realpath/-/fs.realpath-1.0.0.tgz#1504ad2523158caa40db4a2787cb01411994ea4f" - integrity sha512-OO0pH2lK6a0hZnAdau5ItzHPI6pUlvI7jMVnxUQRtw4owF2wk8lOSabtGDCTP4Ggrg2MbGnWO9X8K1t4+fGMDw== - -fsevents@^2.3.2, fsevents@~2.3.2: - version "2.3.3" - resolved "https://registry.yarnpkg.com/fsevents/-/fsevents-2.3.3.tgz#cac6407785d03675a2a5e1a5305c697b347d90d6" - integrity sha512-5xoDfX+fL7faATnagmWPpbFtwh/R77WmMMqqHGS65C3vvB0YHrgF+B1YmZ3441tMj5n63k0212XNoJwzlhffQw== - -function-bind@^1.1.2: - version "1.1.2" - resolved "https://registry.yarnpkg.com/function-bind/-/function-bind-1.1.2.tgz#2c02d864d97f3ea6c8830c464cbd11ab6eab7a1c" - integrity sha512-7XHNxH7qX9xG5mIwxkhumTox/MIRNcOgDrxWsMt2pAr23WHp6MrRlN7FBSFpCpr+oVO0F744iUgR82nJMfG2SA== - -function.prototype.name@^1.1.6: - version "1.1.6" - resolved "https://registry.yarnpkg.com/function.prototype.name/-/function.prototype.name-1.1.6.tgz#cdf315b7d90ee77a4c6ee216c3c3362da07533fd" - integrity sha512-Z5kx79swU5P27WEayXM1tBi5Ze/lbIyiNgU3qyXUOf9b2rgXYyF9Dy9Cx+IQv/Lc8WCG6L82zwUPpSS9hGehIg== - dependencies: - call-bind "^1.0.2" - define-properties "^1.2.0" - es-abstract "^1.22.1" - functions-have-names "^1.2.3" - -functions-have-names@^1.2.3: - version "1.2.3" - resolved "https://registry.yarnpkg.com/functions-have-names/-/functions-have-names-1.2.3.tgz#0404fe4ee2ba2f607f0e0ec3c80bae994133b834" - integrity sha512-xckBUXyTIqT97tq2x2AMb+g163b5JFysYk0x4qxNFwbfQkmNZoiRHb6sPzI9/QV33WeuvVYBUIiD4NzNIyqaRQ== - -gensync@^1.0.0-beta.2: - version "1.0.0-beta.2" - resolved "https://registry.yarnpkg.com/gensync/-/gensync-1.0.0-beta.2.tgz#32a6ee76c3d7f52d46b2b1ae5d93fea8580a25e0" - integrity sha512-3hN7NaskYvMDLQY55gnW3NQ+mesEAepTqlg+VEbj7zzqEMBVNhzcGYYeqFo/TlYz6eQiFcp1HcsCZO+nGgS8zg== - -geotiff@^2.0.7: - version "2.1.1" - resolved "https://registry.yarnpkg.com/geotiff/-/geotiff-2.1.1.tgz#98667a2e35436d89f180e94ddb882247ffeb6d78" - integrity sha512-Ss6HQEhrlR2v0FmOGq88l0wa2oCmmGi6rXAMiUxR/T7Xe98evypEmyiji7lvVeVR/AXuxK0xDCWcwfWkSmOrAA== - dependencies: - "@petamoriken/float16" "^3.4.7" - lerc "^3.0.0" - pako "^2.0.4" - parse-headers "^2.0.2" - quick-lru "^6.1.1" - web-worker "^1.2.0" - xml-utils "^1.0.2" - zstddec "^0.1.0" - -get-caller-file@^2.0.5: - version "2.0.5" - resolved "https://registry.yarnpkg.com/get-caller-file/-/get-caller-file-2.0.5.tgz#4f94412a82db32f36e3b0b9741f8a97feb031f7e" - integrity sha512-DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg== - -get-document@1: - version "1.0.0" - resolved "https://registry.yarnpkg.com/get-document/-/get-document-1.0.0.tgz#4821bce66f1c24cb0331602be6cb6b12c4f01c4b" - integrity sha512-8E7H2Xxibav+/rQTTtm6gFlSQwDoAQg667yheA+vWQr/amxEuswChzGo4MIbOJJoR0SMpDyhbUqWp3FpIfwD9A== - -get-intrinsic@^1.0.2, get-intrinsic@^1.1.1, get-intrinsic@^1.1.3, get-intrinsic@^1.2.0, get-intrinsic@^1.2.1, get-intrinsic@^1.2.2: - version "1.2.2" - resolved "https://registry.yarnpkg.com/get-intrinsic/-/get-intrinsic-1.2.2.tgz#281b7622971123e1ef4b3c90fd7539306da93f3b" - integrity sha512-0gSo4ml/0j98Y3lngkFEot/zhiCeWsbYIlZ+uZOVgzLyLaUw7wxUL+nCTP0XJvJg1AXulJRI3UJi8GsbDuxdGA== - dependencies: - function-bind "^1.1.2" - has-proto "^1.0.1" - has-symbols "^1.0.3" - hasown "^2.0.0" - -get-package-type@^0.1.0: - version "0.1.0" - resolved "https://registry.yarnpkg.com/get-package-type/-/get-package-type-0.1.0.tgz#8de2d803cff44df3bc6c456e6668b36c3926e11a" - integrity sha512-pjzuKtY64GYfWizNAJ0fr9VqttZkNiK2iS430LtIHzjBEr6bX8Am2zm4sW4Ro5wjWW5cAlRL1qAMTcXbjNAO2Q== - -get-stream@^5.0.0, get-stream@^5.1.0: - version "5.2.0" - resolved "https://registry.yarnpkg.com/get-stream/-/get-stream-5.2.0.tgz#4966a1795ee5ace65e706c4b7beb71257d6e22d3" - integrity sha512-nBF+F1rAZVCu/p7rjzgA+Yb4lfYXrpl7a6VmJrU8wF9I1CKvP/QwPNZHnOlwbTkY6dvtFIzFMSyQXbLoTQPRpA== - dependencies: - pump "^3.0.0" - -get-stream@^6.0.0: - version "6.0.1" - resolved "https://registry.yarnpkg.com/get-stream/-/get-stream-6.0.1.tgz#a262d8eef67aced57c2852ad6167526a43cbf7b7" - integrity sha512-ts6Wi+2j3jQjqi70w5AlN8DFnkSwC+MqmxEzdEALB2qXZYV3X/b1CTfgPLGJNMeAWxdPfU8FO1ms3NUfaHCPYg== - -get-symbol-description@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/get-symbol-description/-/get-symbol-description-1.0.0.tgz#7fdb81c900101fbd564dd5f1a30af5aadc1e58d6" - integrity sha512-2EmdH1YvIQiZpltCNgkuiUnyukzxM/R6NDJX31Ke3BG1Nq5b0S2PhX59UKi9vZpPDQVdqn+1IcaAwnzTT5vCjw== - dependencies: - call-bind "^1.0.2" - get-intrinsic "^1.1.1" - -get-user-locale@^1.2.0: - version "1.5.1" - resolved "https://registry.yarnpkg.com/get-user-locale/-/get-user-locale-1.5.1.tgz#18a9ba2cfeed0e713ea00968efa75d620523a5ea" - integrity sha512-WiNpoFRcHn1qxP9VabQljzGwkAQDrcpqUtaP0rNBEkFxJdh4f3tik6MfZsMYZc+UgQJdGCxWEjL9wnCUlRQXag== - dependencies: - lodash.memoize "^4.1.1" - -get-window@^1.1.1: - version "1.1.2" - resolved "https://registry.yarnpkg.com/get-window/-/get-window-1.1.2.tgz#65fbaa999fb87f86ea5d30770f4097707044f47f" - integrity sha512-yjWpFcy9fjhLQHW1dPtg9ga4pmizLY8y4ZSHdGrAQ1NU277MRhnGnnLPxe19X8W5lWVsCZz++5xEuNozWMVmTw== - dependencies: - get-document "1" - -getos@^3.2.1: - version "3.2.1" - resolved "https://registry.yarnpkg.com/getos/-/getos-3.2.1.tgz#0134d1f4e00eb46144c5a9c0ac4dc087cbb27dc5" - integrity sha512-U56CfOK17OKgTVqozZjUKNdkfEv6jk5WISBJ8SHoagjE6L69zOwl3Z+O8myjY9MEW3i2HPWQBt/LTbCgcC973Q== - dependencies: - async "^3.2.0" - -getpass@^0.1.1: - version "0.1.7" - resolved "https://registry.yarnpkg.com/getpass/-/getpass-0.1.7.tgz#5eff8e3e684d569ae4cb2b1282604e8ba62149fa" - integrity sha512-0fzj9JxOLfJ+XGLhR8ze3unN0KZCgZwiSSDz168VERjK8Wl8kVSdcu2kspd4s4wtAa1y/qrVRiAA0WclVsu0ng== - dependencies: - assert-plus "^1.0.0" - -glob-parent@^5.1.2, glob-parent@~5.1.2: - version "5.1.2" - resolved "https://registry.yarnpkg.com/glob-parent/-/glob-parent-5.1.2.tgz#869832c58034fe68a4093c17dc15e8340d8401c4" - integrity sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow== - dependencies: - is-glob "^4.0.1" - -glob-parent@^6.0.1, glob-parent@^6.0.2: - version "6.0.2" - resolved "https://registry.yarnpkg.com/glob-parent/-/glob-parent-6.0.2.tgz#6d237d99083950c79290f24c7642a3de9a28f9e3" - integrity sha512-XxwI8EOhVQgWp6iDL+3b0r86f4d6AX6zSU55HfB4ydCEuXLXc5FcYeOu+nnGftS4TEju/11rt4KJPTMgbfmv4A== - dependencies: - is-glob "^4.0.3" - -glob-to-regexp@^0.4.1: - version "0.4.1" - resolved "https://registry.yarnpkg.com/glob-to-regexp/-/glob-to-regexp-0.4.1.tgz#c75297087c851b9a578bd217dd59a92f59fe546e" - integrity sha512-lkX1HJXwyMcprw/5YUZc2s7DrpAiHB21/V+E1rHUrVNokkvB6bqMzT0VfV6/86ZNabt1k14YOIaT7nDvOX3Iiw== - -glob@7.2.0: - version "7.2.0" - resolved "https://registry.yarnpkg.com/glob/-/glob-7.2.0.tgz#d15535af7732e02e948f4c41628bd910293f6023" - integrity sha512-lmLf6gtyrPq8tTjSmrO94wBeQbFR3HbLHbuyD69wuyQkImp2hWqMGB47OX65FBkPffO641IP9jWa1z4ivqG26Q== - dependencies: - fs.realpath "^1.0.0" - inflight "^1.0.4" - inherits "2" - minimatch "^3.0.4" - once "^1.3.0" - path-is-absolute "^1.0.0" - -glob@^10.2.7: - version "10.3.10" - resolved "https://registry.yarnpkg.com/glob/-/glob-10.3.10.tgz#0351ebb809fd187fe421ab96af83d3a70715df4b" - integrity sha512-fa46+tv1Ak0UPK1TOy/pZrIybNNt4HCv7SDzwyfiOZkvZLEbjsZkJBPtDHVshZjbecAoAGSC20MjLDG/qr679g== - dependencies: - foreground-child "^3.1.0" - jackspeak "^2.3.5" - minimatch "^9.0.1" - minipass "^5.0.0 || ^6.0.2 || ^7.0.0" - path-scurry "^1.10.1" - -glob@^7.1.3, glob@^7.1.4: - version "7.2.3" - resolved "https://registry.yarnpkg.com/glob/-/glob-7.2.3.tgz#b8df0fb802bbfa8e89bd1d938b4e16578ed44f2b" - integrity sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q== - dependencies: - fs.realpath "^1.0.0" - inflight "^1.0.4" - inherits "2" - minimatch "^3.1.1" - once "^1.3.0" - path-is-absolute "^1.0.0" - -glob@^9.2.0: - version "9.3.5" - resolved "https://registry.yarnpkg.com/glob/-/glob-9.3.5.tgz#ca2ed8ca452781a3009685607fdf025a899dfe21" - integrity sha512-e1LleDykUz2Iu+MTYdkSsuWX8lvAjAcs0Xef0lNIu0S2wOAzuTxCJtcd9S3cijlwYF18EsU3rzb8jPVobxDh9Q== - dependencies: - fs.realpath "^1.0.0" - minimatch "^8.0.2" - minipass "^4.2.4" - path-scurry "^1.6.1" - -global-dirs@^3.0.0: - version "3.0.1" - resolved "https://registry.yarnpkg.com/global-dirs/-/global-dirs-3.0.1.tgz#0c488971f066baceda21447aecb1a8b911d22485" - integrity sha512-NBcGGFbBA9s1VzD41QXDG+3++t9Mn5t1FpLdhESY6oKY4gYTFpX4wO3sqGUa0Srjtbfj3szX0RnemmrVRUdULA== - dependencies: - ini "2.0.0" - -globals@^11.1.0: - version "11.12.0" - resolved "https://registry.yarnpkg.com/globals/-/globals-11.12.0.tgz#ab8795338868a0babd8525758018c2a7eb95c42e" - integrity sha512-WOBp/EEGUiIsJSp7wcv/y6MO+lV9UoncWqxuFfm8eBwzWNgyfBd6Gz+IeKQ9jCmyhoH99g15M3T+QaVHFjizVA== - -globals@^13.19.0: - version "13.24.0" - resolved "https://registry.yarnpkg.com/globals/-/globals-13.24.0.tgz#8432a19d78ce0c1e833949c36adb345400bb1171" - integrity sha512-AhO5QUcj8llrbG09iWhPU2B204J1xnPeL8kQmVorSsy+Sjj1sk8gIyh6cUocGmH4L0UuhAJy+hJMRA4mgA4mFQ== - dependencies: - type-fest "^0.20.2" - -globalthis@^1.0.3: - version "1.0.3" - resolved "https://registry.yarnpkg.com/globalthis/-/globalthis-1.0.3.tgz#5852882a52b80dc301b0660273e1ed082f0b6ccf" - integrity sha512-sFdI5LyBiNTHjRd7cGPWapiHWMOXKyuBNX/cWJ3NfzrZQVa8GI/8cofCl74AOVqq9W5kNmguTIzJ/1s2gyI9wA== - dependencies: - define-properties "^1.1.3" - -globby@^11.1.0: - version "11.1.0" - resolved "https://registry.yarnpkg.com/globby/-/globby-11.1.0.tgz#bd4be98bb042f83d796f7e3811991fbe82a0d34b" - integrity sha512-jhIXaOzy1sb8IyocaruWSn1TjmnBVs8Ayhcy83rmxNJ8q2uWKCAj3CnJY+KpGSXCueAPc0i05kVvVKtP1t9S3g== - dependencies: - array-union "^2.1.0" - dir-glob "^3.0.1" - fast-glob "^3.2.9" - ignore "^5.2.0" - merge2 "^1.4.1" - slash "^3.0.0" - -globby@^13.1.1: - version "13.2.2" - resolved "https://registry.yarnpkg.com/globby/-/globby-13.2.2.tgz#63b90b1bf68619c2135475cbd4e71e66aa090592" - integrity sha512-Y1zNGV+pzQdh7H39l9zgB4PJqjRNqydvdYCDG4HFXM4XuvSaQQlEc91IU1yALL8gUTDomgBAfz3XJdmUS+oo0w== - dependencies: - dir-glob "^3.0.1" - fast-glob "^3.3.0" - ignore "^5.2.4" - merge2 "^1.4.1" - slash "^4.0.0" - -globby@^14.0.0: - version "14.0.0" - resolved "https://registry.yarnpkg.com/globby/-/globby-14.0.0.tgz#ea9c062a3614e33f516804e778590fcf055256b9" - integrity sha512-/1WM/LNHRAOH9lZta77uGbq0dAEQM+XjNesWwhlERDVenqothRbnzTrL3/LrIoEPPjeUHC3vrS6TwoyxeHs7MQ== - dependencies: - "@sindresorhus/merge-streams" "^1.0.0" - fast-glob "^3.3.2" - ignore "^5.2.4" - path-type "^5.0.0" - slash "^5.1.0" - unicorn-magic "^0.1.0" - -gopd@^1.0.1: - version "1.0.1" - resolved "https://registry.yarnpkg.com/gopd/-/gopd-1.0.1.tgz#29ff76de69dac7489b7c0918a5788e56477c332c" - integrity sha512-d65bNlIadxvpb/A2abVdlqKqV563juRnZ1Wtk6s1sIR8uNsXR70xqIzVqxVf1eTqDunwT2MkczEeaezCKTZhwA== - dependencies: - get-intrinsic "^1.1.3" - -graceful-fs@^4.1.2, graceful-fs@^4.1.6, graceful-fs@^4.2.0, graceful-fs@^4.2.4, graceful-fs@^4.2.9: - version "4.2.11" - resolved "https://registry.yarnpkg.com/graceful-fs/-/graceful-fs-4.2.11.tgz#4183e4e8bf08bb6e05bbb2f7d2e0c8f712ca40e3" - integrity sha512-RbJ5/jmFcNNCcDV5o9eTnBLJ/HszWV0P73bc+Ff4nS/rJj+YaS6IGyiOL0VoBYX+l1Wrl3k63h/KrH+nhJ0XvQ== - -grapheme-splitter@^1.0.4: - version "1.0.4" - resolved "https://registry.yarnpkg.com/grapheme-splitter/-/grapheme-splitter-1.0.4.tgz#9cf3a665c6247479896834af35cf1dbb4400767e" - integrity sha512-bzh50DW9kTPM00T8y4o8vQg89Di9oLJVLW/KaOGIXJWP/iqCN6WKYkbNOF04vFLJhwcpYUh9ydh/+5vpOqV4YQ== - -graphemer@^1.4.0: - version "1.4.0" - resolved "https://registry.yarnpkg.com/graphemer/-/graphemer-1.4.0.tgz#fb2f1d55e0e3a1849aeffc90c4fa0dd53a0e66c6" - integrity sha512-EtKwoO6kxCL9WO5xipiHTZlSzBm7WLT627TqC/uVRd0HKmq8NXyebnNYxDoBi7wt8eTWrUrKXCOVaFq9x1kgag== - -har-schema@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/har-schema/-/har-schema-2.0.0.tgz#a94c2224ebcac04782a0d9035521f24735b7ec92" - integrity sha512-Oqluz6zhGX8cyRaTQlFMPw80bSJVG2x/cFb8ZPhUILGgHka9SsokCCOQgpveePerqidZOrT14ipqfJb7ILcW5Q== - -har-validator@~5.1.3: - version "5.1.5" - resolved "https://registry.yarnpkg.com/har-validator/-/har-validator-5.1.5.tgz#1f0803b9f8cb20c0fa13822df1ecddb36bde1efd" - integrity sha512-nmT2T0lljbxdQZfspsno9hgrG3Uir6Ks5afism62poxqBM6sDnMEuPmzTq8XN0OEwqKLLdh1jQI3qyE66Nzb3w== - dependencies: - ajv "^6.12.3" - har-schema "^2.0.0" - -harmony-reflect@^1.4.6: - version "1.6.2" - resolved "https://registry.yarnpkg.com/harmony-reflect/-/harmony-reflect-1.6.2.tgz#31ecbd32e648a34d030d86adb67d4d47547fe710" - integrity sha512-HIp/n38R9kQjDEziXyDTuW3vvoxxyxjxFzXLrBr18uB47GnSt+G9D29fqrpM5ZkspMcPICud3XsBJQ4Y2URg8g== - -has-bigints@^1.0.1, has-bigints@^1.0.2: - version "1.0.2" - resolved "https://registry.yarnpkg.com/has-bigints/-/has-bigints-1.0.2.tgz#0871bd3e3d51626f6ca0966668ba35d5602d6eaa" - integrity sha512-tSvCKtBr9lkF0Ex0aQiP9N+OpV4zi2r/Nee5VkRDbaqv35RLYMzbwQfFSZZH0kR+Rd6302UJZ2p/bJCEoR3VoQ== - -has-flag@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/has-flag/-/has-flag-3.0.0.tgz#b5d454dc2199ae225699f3467e5a07f3b955bafd" - integrity sha512-sKJf1+ceQBr4SMkvQnBDNDtf4TXpVhVGateu0t918bl30FnbE2m4vNLX+VWe/dpjlb+HugGYzW7uQXH98HPEYw== - -has-flag@^4.0.0: - version "4.0.0" - resolved "https://registry.yarnpkg.com/has-flag/-/has-flag-4.0.0.tgz#944771fd9c81c81265c4d6941860da06bb59479b" - integrity sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ== - -has-property-descriptors@^1.0.0, has-property-descriptors@^1.0.1: - version "1.0.1" - resolved "https://registry.yarnpkg.com/has-property-descriptors/-/has-property-descriptors-1.0.1.tgz#52ba30b6c5ec87fd89fa574bc1c39125c6f65340" - integrity sha512-VsX8eaIewvas0xnvinAe9bw4WfIeODpGYikiWYLH+dma0Jw6KHYqWiWfhQlgOVK8D6PvjubK5Uc4P0iIhIcNVg== - dependencies: - get-intrinsic "^1.2.2" - -has-proto@^1.0.1: - version "1.0.1" - resolved "https://registry.yarnpkg.com/has-proto/-/has-proto-1.0.1.tgz#1885c1305538958aff469fef37937c22795408e0" - integrity sha512-7qE+iP+O+bgF9clE5+UoBFzE65mlBiVj3tKCrlNQ0Ogwm0BjpT/gK4SlLYDMybDh5I3TCTKnPPa0oMG7JDYrhg== - -has-symbols@^1.0.2, has-symbols@^1.0.3: - version "1.0.3" - resolved "https://registry.yarnpkg.com/has-symbols/-/has-symbols-1.0.3.tgz#bb7b2c4349251dce87b125f7bdf874aa7c8b39f8" - integrity sha512-l3LCuF6MgDNwTDKkdYGEihYjt5pRPbEg46rtlmnSPlUbgmB8LOIrKJbYYFBSbnPaJexMKtiPO8hmeRjRz2Td+A== - -has-tostringtag@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/has-tostringtag/-/has-tostringtag-1.0.0.tgz#7e133818a7d394734f941e73c3d3f9291e658b25" - integrity sha512-kFjcSNhnlGV1kyoGk7OXKSawH5JOb/LzUc5w9B02hOTO0dfFRjbHQKvg1d6cf3HbeUmtU9VbbV3qzZ2Teh97WQ== - dependencies: - has-symbols "^1.0.2" - -hasown@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/hasown/-/hasown-2.0.0.tgz#f4c513d454a57b7c7e1650778de226b11700546c" - integrity sha512-vUptKVTpIJhcczKBbgnS+RtcuYMB8+oNzPK2/Hp3hanz8JmpATdmmgLgSaadVREkDm+e2giHwY3ZRkyjSIDDFA== - dependencies: - function-bind "^1.1.2" - -he@1.2.0: - version "1.2.0" - resolved "https://registry.yarnpkg.com/he/-/he-1.2.0.tgz#84ae65fa7eafb165fddb61566ae14baf05664f0f" - integrity sha512-F/1DnUGPopORZi0ni+CvrCgHQ5FyEAHRLSApuYWMmrbSwoN2Mn/7k+Gl38gJnR7yyDZk6WLXwiGod1JOWNDKGw== - -highlight-words-core@^1.2.0: - version "1.2.2" - resolved "https://registry.yarnpkg.com/highlight-words-core/-/highlight-words-core-1.2.2.tgz#1eff6d7d9f0a22f155042a00791237791b1eeaaa" - integrity sha512-BXUKIkUuh6cmmxzi5OIbUJxrG8OAk2MqoL1DtO3Wo9D2faJg2ph5ntyuQeLqaHJmzER6H5tllCDA9ZnNe9BVGg== - -history@4.10.1, history@^4.9.0: - version "4.10.1" - resolved "https://registry.yarnpkg.com/history/-/history-4.10.1.tgz#33371a65e3a83b267434e2b3f3b1b4c58aad4cf3" - integrity sha512-36nwAD620w12kuzPAsyINPWJqlNbij+hpK1k9XRloDtym8mxzGYl2c17LnV6IAGB2Dmg4tEa7G7DlawS0+qjew== - dependencies: - "@babel/runtime" "^7.1.2" - loose-envify "^1.2.0" - resolve-pathname "^3.0.0" - tiny-invariant "^1.0.2" - tiny-warning "^1.0.0" - value-equal "^1.0.1" - -hoist-non-react-statics@3.3.2, hoist-non-react-statics@^3.1.0, hoist-non-react-statics@^3.3.0, hoist-non-react-statics@^3.3.1, hoist-non-react-statics@^3.3.2: - version "3.3.2" - resolved "https://registry.yarnpkg.com/hoist-non-react-statics/-/hoist-non-react-statics-3.3.2.tgz#ece0acaf71d62c2969c2ec59feff42a4b1a85b45" - integrity sha512-/gGivxi8JPKWNm/W0jSmzcMPpfpPLc3dY/6GxhX2hQ9iGj3aDfklV4ET7NjKpSinLpJ5vafa9iiGIEZg10SfBw== - dependencies: - react-is "^16.7.0" - -html-encoding-sniffer@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/html-encoding-sniffer/-/html-encoding-sniffer-3.0.0.tgz#2cb1a8cf0db52414776e5b2a7a04d5dd98158de9" - integrity sha512-oWv4T4yJ52iKrufjnyZPkrN0CH3QnrUqdB6In1g5Fe1mia8GmF36gnfNySxoZtxD5+NmYw1EElVXiBk93UeskA== - dependencies: - whatwg-encoding "^2.0.0" - -html-escaper@^2.0.0: - version "2.0.2" - resolved "https://registry.yarnpkg.com/html-escaper/-/html-escaper-2.0.2.tgz#dfd60027da36a36dfcbe236262c00a5822681453" - integrity sha512-H2iMtd0I4Mt5eYiapRdIDjp+XzelXQ0tFE4JS7YFwFevXXMmOp9myNrUvCg0D6ws8iqkRPBfKHgbwig1SmlLfg== - -html-parse-stringify@^3.0.1: - version "3.0.1" - resolved "https://registry.yarnpkg.com/html-parse-stringify/-/html-parse-stringify-3.0.1.tgz#dfc1017347ce9f77c8141a507f233040c59c55d2" - integrity sha512-KknJ50kTInJ7qIScF3jeaFRpMpE8/lfiTdzf/twXyPBLAGrLRTmkz3AdTnKeh40X8k9L2fdYwEp/42WGXIRGcg== - dependencies: - void-elements "3.1.0" - -http-parser-js@>=0.5.1: - version "0.5.8" - resolved "https://registry.yarnpkg.com/http-parser-js/-/http-parser-js-0.5.8.tgz#af23090d9ac4e24573de6f6aecc9d84a48bf20e3" - integrity sha512-SGeBX54F94Wgu5RH3X5jsDtf4eHyRogWX1XGT3b4HuW3tQPM4AaBzoUji/4AAJNXCEOWZ5O0DgZmJw1947gD5Q== - -http-proxy-agent@^5.0.0: - version "5.0.0" - resolved "https://registry.yarnpkg.com/http-proxy-agent/-/http-proxy-agent-5.0.0.tgz#5129800203520d434f142bc78ff3c170800f2b43" - integrity sha512-n2hY8YdoRE1i7r6M0w9DIw5GgZN0G25P8zLCRQ8rjXtTU3vsNFBI/vWK/UIeE6g5MUUz6avwAPXmL6Fy9D/90w== - dependencies: - "@tootallnate/once" "2" - agent-base "6" - debug "4" - -http-signature@~1.2.0: - version "1.2.0" - resolved "https://registry.yarnpkg.com/http-signature/-/http-signature-1.2.0.tgz#9aecd925114772f3d95b65a60abb8f7c18fbace1" - integrity sha512-CAbnr6Rz4CYQkLYUtSNXxQPUH2gK8f3iWexVlsnMeD+GjlsQ0Xsy1cOX+mN3dtxYomRy21CiOzU8Uhw6OwncEQ== - dependencies: - assert-plus "^1.0.0" - jsprim "^1.2.2" - sshpk "^1.7.0" - -http-signature@~1.3.6: - version "1.3.6" - resolved "https://registry.yarnpkg.com/http-signature/-/http-signature-1.3.6.tgz#cb6fbfdf86d1c974f343be94e87f7fc128662cf9" - integrity sha512-3adrsD6zqo4GsTqtO7FyrejHNv+NgiIfAfv68+jVlFmSr9OGy7zrxONceFRLKvnnZA5jbxQBX1u9PpB6Wi32Gw== - dependencies: - assert-plus "^1.0.0" - jsprim "^2.0.2" - sshpk "^1.14.1" - -https-proxy-agent@^5.0.1: - version "5.0.1" - resolved "https://registry.yarnpkg.com/https-proxy-agent/-/https-proxy-agent-5.0.1.tgz#c59ef224a04fe8b754f3db0063a25ea30d0005d6" - integrity sha512-dFcAjpTQFgoLMzC2VwU+C/CbS7uRL0lWmxDITmqm7C+7F0Odmj6s9l6alZc6AELXhrnggM2CeWSXHGOdX2YtwA== - dependencies: - agent-base "6" - debug "4" - -human-signals@^1.1.1: - version "1.1.1" - resolved "https://registry.yarnpkg.com/human-signals/-/human-signals-1.1.1.tgz#c5b1cd14f50aeae09ab6c59fe63ba3395fe4dfa3" - integrity sha512-SEQu7vl8KjNL2eoGBLF3+wAjpsNfA9XMlXAYj/3EdaNfAlxKthD1xjEQfGOUhllCGGJVNY34bRr6lPINhNjyZw== - -human-signals@^2.1.0: - version "2.1.0" - resolved "https://registry.yarnpkg.com/human-signals/-/human-signals-2.1.0.tgz#dc91fcba42e4d06e4abaed33b3e7a3c02f514ea0" - integrity sha512-B4FFZ6q/T2jhhksgkbEW3HBvWIfDW85snkQgawt07S7J5QXTk6BkNV+0yAeZrM5QpMAdYlocGoljn0sJ/WQkFw== - -hyphenate-style-name@^1.0.3: - version "1.0.4" - resolved "https://registry.yarnpkg.com/hyphenate-style-name/-/hyphenate-style-name-1.0.4.tgz#691879af8e220aea5750e8827db4ef62a54e361d" - integrity sha512-ygGZLjmXfPHj+ZWh6LwbC37l43MhfztxetbFCoYTM2VjkIUpeHgSNn7QIyVFj7YQ1Wl9Cbw5sholVJPzWvC2MQ== - -i18next@^22.0.0: - version "22.5.1" - resolved "https://registry.yarnpkg.com/i18next/-/i18next-22.5.1.tgz#99df0b318741a506000c243429a7352e5f44d424" - integrity sha512-8TGPgM3pAD+VRsMtUMNknRz3kzqwp/gPALrWMsDnmC1mKqJwpWyooQRLMcbTwq8z8YwSmuj+ZYvc+xCuEpkssA== - dependencies: - "@babel/runtime" "^7.20.6" - -iconv-lite@0.6, iconv-lite@0.6.3: - version "0.6.3" - resolved "https://registry.yarnpkg.com/iconv-lite/-/iconv-lite-0.6.3.tgz#a52f80bf38da1952eb5c681790719871a1a72501" - integrity sha512-4fCk79wshMdzMp2rH06qWrJE4iolqLhCUH+OiuIgU++RB0+94NlDL81atO7GX55uUKueo0txHNtvEyI6D7WdMw== - dependencies: - safer-buffer ">= 2.1.2 < 3.0.0" - -iconv-lite@^0.4.8: - version "0.4.24" - resolved "https://registry.yarnpkg.com/iconv-lite/-/iconv-lite-0.4.24.tgz#2022b4b25fbddc21d2f524974a474aafe733908b" - integrity sha512-v3MXnZAcvnywkTUEZomIActle7RXXeedOR31wwl7VlyoXO4Qi9arvSenNQWne1TcRwhCL1HwLI21bEqdpj8/rA== - dependencies: - safer-buffer ">= 2.1.2 < 3" - -icss-utils@^5.0.0, icss-utils@^5.1.0: - version "5.1.0" - resolved "https://registry.yarnpkg.com/icss-utils/-/icss-utils-5.1.0.tgz#c6be6858abd013d768e98366ae47e25d5887b1ae" - integrity sha512-soFhflCVWLfRNOPU3iv5Z9VUdT44xFRbzjLsEzSr5AQmgqPMTHdU3PMT1Cf1ssx8fLNJDA1juftYl+PUcv3MqA== - -identity-obj-proxy@3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/identity-obj-proxy/-/identity-obj-proxy-3.0.0.tgz#94d2bda96084453ef36fbc5aaec37e0f79f1fc14" - integrity sha512-00n6YnVHKrinT9t0d9+5yZC6UBNJANpYEQvL2LlX6Ab9lnmxzIRcEmTPuyGScvl1+jKuCICX1Z0Ab1pPKKdikA== - dependencies: - harmony-reflect "^1.4.6" - -ieee754@^1.1.12, ieee754@^1.1.13: - version "1.2.1" - resolved "https://registry.yarnpkg.com/ieee754/-/ieee754-1.2.1.tgz#8eb7a10a63fff25d15a57b001586d177d1b0d352" - integrity sha512-dcyqhDvX1C46lXZcVqCpK+FtMRQVdIMN6/Df5js2zouUsqG7I6sFxitIC+7KYK29KdXOLHdu9zL4sFnoVQnqaA== - -ignore@^5.2.0, ignore@^5.2.4: - version "5.3.0" - resolved "https://registry.yarnpkg.com/ignore/-/ignore-5.3.0.tgz#67418ae40d34d6999c95ff56016759c718c82f78" - integrity sha512-g7dmpshy+gD7mh88OC9NwSGTKoc3kyLAZQRU1mt53Aw/vnvfXnbC+F/7F7QoYVKbV+KNvJx8wArewKy1vXMtlg== - -immutable@4.2.4: - version "4.2.4" - resolved "https://registry.yarnpkg.com/immutable/-/immutable-4.2.4.tgz#83260d50889526b4b531a5e293709a77f7c55a2a" - integrity sha512-WDxL3Hheb1JkRN3sQkyujNlL/xRjAo3rJtaU5xeufUauG66JdMr32bLj4gF+vWl84DIA3Zxw7tiAjneYzRRw+w== - -immutable@^4.0.0: - version "4.3.4" - resolved "https://registry.yarnpkg.com/immutable/-/immutable-4.3.4.tgz#2e07b33837b4bb7662f288c244d1ced1ef65a78f" - integrity sha512-fsXeu4J4i6WNWSikpI88v/PcVflZz+6kMhUfIwc5SY+poQRPnaf5V7qds6SUyUN3cVxEzuCab7QIoLOQ+DQ1wA== - -import-fresh@^3.0.0, import-fresh@^3.2.1: - version "3.3.0" - resolved "https://registry.yarnpkg.com/import-fresh/-/import-fresh-3.3.0.tgz#37162c25fcb9ebaa2e6e53d5b4d88ce17d9e0c2b" - integrity sha512-veYYhQa+D1QBKznvhUHxb8faxlrwUnxseDAbAp457E0wLNio2bOSKnjYDhMj+YiAq61xrMGhQk9iXVk5FzgQMw== - dependencies: - parent-module "^1.0.0" - resolve-from "^4.0.0" - -import-local@^3.0.2: - version "3.1.0" - resolved "https://registry.yarnpkg.com/import-local/-/import-local-3.1.0.tgz#b4479df8a5fd44f6cdce24070675676063c95cb4" - integrity sha512-ASB07uLtnDs1o6EHjKpX34BKYDSqnFerfTOJL2HvMqF70LnxpjkzDB8J44oT9pu4AMPkQwf8jl6szgvNd2tRIg== - dependencies: - pkg-dir "^4.2.0" - resolve-cwd "^3.0.0" - -imurmurhash@^0.1.4: - version "0.1.4" - resolved "https://registry.yarnpkg.com/imurmurhash/-/imurmurhash-0.1.4.tgz#9218b9b2b928a238b13dc4fb6b6d576f231453ea" - integrity sha512-JmXMZ6wuvDmLiHEml9ykzqO6lwFbof0GG4IkcGaENdCRDDmMVnny7s5HsIgHCbaq0w2MyPhDqkhTUgS2LU2PHA== - -indent-string@^4.0.0: - version "4.0.0" - resolved "https://registry.yarnpkg.com/indent-string/-/indent-string-4.0.0.tgz#624f8f4497d619b2d9768531d58f4122854d7251" - integrity sha512-EdDDZu4A2OyIK7Lr/2zG+w5jmbuk1DVBnEwREQvBzspBJkCEbRa8GxU1lghYcaGJCnRWibjDXlq779X1/y5xwg== - -inflight@^1.0.4: - version "1.0.6" - resolved "https://registry.yarnpkg.com/inflight/-/inflight-1.0.6.tgz#49bd6331d7d02d0c09bc910a1075ba8165b56df9" - integrity sha512-k92I/b08q4wvFscXCLvqfsHCrjrF7yiXsQuIVvVE7N82W3+aqpzuUdBbfhWcy/FZR3/4IgflMgKLOsvPDrGCJA== - dependencies: - once "^1.3.0" - wrappy "1" - -inherits@2, inherits@~2.0.1, inherits@~2.0.3: - version "2.0.4" - resolved "https://registry.yarnpkg.com/inherits/-/inherits-2.0.4.tgz#0fa2c64f932917c3433a0ded55363aae37416b7c" - integrity sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ== - -ini@2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/ini/-/ini-2.0.0.tgz#e5fd556ecdd5726be978fa1001862eacb0a94bc5" - integrity sha512-7PnF4oN3CvZF23ADhA5wRaYEQpJ8qygSkbtTXWBeXWXmEVRXK+1ITciHWwHhsjv1TmW0MgacIv6hEi5pX5NQdA== - -inline-style-prefixer@^7.0.0: - version "7.0.0" - resolved "https://registry.yarnpkg.com/inline-style-prefixer/-/inline-style-prefixer-7.0.0.tgz#991d550735d42069f528ac1bcdacd378d1305442" - integrity sha512-I7GEdScunP1dQ6IM2mQWh6v0mOYdYmH3Bp31UecKdrcUgcURTcctSe1IECdUznSHKSmsHtjrT3CwCPI1pyxfUQ== - dependencies: - css-in-js-utils "^3.1.0" - fast-loops "^1.1.3" - -internal-slot@^1.0.4, internal-slot@^1.0.5: - version "1.0.6" - resolved "https://registry.yarnpkg.com/internal-slot/-/internal-slot-1.0.6.tgz#37e756098c4911c5e912b8edbf71ed3aa116f930" - integrity sha512-Xj6dv+PsbtwyPpEflsejS+oIZxmMlV44zAhG479uYu89MsjcYOhCFnNyKrkJrihbsiasQyY0afoCl/9BLR65bg== - dependencies: - get-intrinsic "^1.2.2" - hasown "^2.0.0" - side-channel "^1.0.4" - -"internmap@1 - 2": - version "2.0.3" - resolved "https://registry.yarnpkg.com/internmap/-/internmap-2.0.3.tgz#6685f23755e43c524e251d29cbc97248e3061009" - integrity sha512-5Hh7Y1wQbvY5ooGgPbDaL5iYLAPzMTUrjMulskHLH6wnv/A+1q5rgEaiuqEjB+oxGXIVZs1FF+R/KPN3ZSQYYg== - -interpret@^3.1.1: - version "3.1.1" - resolved "https://registry.yarnpkg.com/interpret/-/interpret-3.1.1.tgz#5be0ceed67ca79c6c4bc5cf0d7ee843dcea110c4" - integrity sha512-6xwYfHbajpoF0xLW+iwLkhwgvLoZDfjYfoFNu8ftMoXINzwuymNLd9u/KmwtdT2GbR+/Cz66otEGEVVUHX9QLQ== - -intl-messageformat@^10.1.0: - version "10.5.10" - resolved "https://registry.yarnpkg.com/intl-messageformat/-/intl-messageformat-10.5.10.tgz#638b7a9a4926a04f784dfe6e77104a0c537deb36" - integrity sha512-3yzwX6t/my9WRtNiqP05r+/UkpWxwstQiwaHAiuHmDRt7ykzWJ+nceOVjNLZYYWGiSltY+C+Likd8OIVkASepw== - dependencies: - "@formatjs/ecma402-abstract" "1.18.2" - "@formatjs/fast-memoize" "2.2.0" - "@formatjs/icu-messageformat-parser" "2.7.5" - tslib "^2.4.0" - -invariant@^2.2.2: - version "2.2.4" - resolved "https://registry.yarnpkg.com/invariant/-/invariant-2.2.4.tgz#610f3c92c9359ce1db616e538008d23ff35158e6" - integrity sha512-phJfQVBuaJM5raOpJjSfkiD6BpbCE4Ns//LaXl6wGYtUBY83nWS6Rf9tXm2e8VaK60JEjYldbPif/A2B1C2gNA== - dependencies: - loose-envify "^1.0.0" - -is-arguments@^1.1.1: - version "1.1.1" - resolved "https://registry.yarnpkg.com/is-arguments/-/is-arguments-1.1.1.tgz#15b3f88fda01f2a97fec84ca761a560f123efa9b" - integrity sha512-8Q7EARjzEnKpt/PCD7e1cgUS0a6X8u5tdSiMqXhojOdoV9TsMsiO+9VLC5vAmO8N7/GmXn7yjR8qnA6bVAEzfA== - dependencies: - call-bind "^1.0.2" - has-tostringtag "^1.0.0" - -is-array-buffer@^3.0.1, is-array-buffer@^3.0.2: - version "3.0.2" - resolved "https://registry.yarnpkg.com/is-array-buffer/-/is-array-buffer-3.0.2.tgz#f2653ced8412081638ecb0ebbd0c41c6e0aecbbe" - integrity sha512-y+FyyR/w8vfIRq4eQcM1EYgSTnmHXPqaF+IgzgraytCFq5Xh8lllDVmAZolPJiZttZLeFSINPYMaEJ7/vWUa1w== - dependencies: - call-bind "^1.0.2" - get-intrinsic "^1.2.0" - is-typed-array "^1.1.10" - -is-arrayish@^0.2.1: - version "0.2.1" - resolved "https://registry.yarnpkg.com/is-arrayish/-/is-arrayish-0.2.1.tgz#77c99840527aa8ecb1a8ba697b80645a7a926a9d" - integrity sha512-zz06S8t0ozoDXMG+ube26zeCTNXcKIPJZJi8hBrF4idCLms4CG9QtK7qBl1boi5ODzFpjswb5JPmHCbMpjaYzg== - -is-bigint@^1.0.1: - version "1.0.4" - resolved "https://registry.yarnpkg.com/is-bigint/-/is-bigint-1.0.4.tgz#08147a1875bc2b32005d41ccd8291dffc6691df3" - integrity sha512-zB9CruMamjym81i2JZ3UMn54PKGsQzsJeo6xvN3HJJ4CAsQNB6iRutp2To77OfCNuoxspsIhzaPoO1zyCEhFOg== - dependencies: - has-bigints "^1.0.1" - -is-binary-path@~2.1.0: - version "2.1.0" - resolved "https://registry.yarnpkg.com/is-binary-path/-/is-binary-path-2.1.0.tgz#ea1f7f3b80f064236e83470f86c09c254fb45b09" - integrity sha512-ZMERYes6pDydyuGidse7OsHxtbI7WVeUEozgR/g7rd0xUimYNlvZRE/K2MgZTjWy725IfelLeVcEM97mmtRGXw== - dependencies: - binary-extensions "^2.0.0" - -is-boolean-object@^1.1.0: - version "1.1.2" - resolved "https://registry.yarnpkg.com/is-boolean-object/-/is-boolean-object-1.1.2.tgz#5c6dc200246dd9321ae4b885a114bb1f75f63719" - integrity sha512-gDYaKHJmnj4aWxyj6YHyXVpdQawtVLHU5cb+eztPGczf6cjuTdwve5ZIEfgXqH4e57An1D1AKf8CZ3kYrQRqYA== - dependencies: - call-bind "^1.0.2" - has-tostringtag "^1.0.0" - -is-builtin-module@^3.2.1: - version "3.2.1" - resolved "https://registry.yarnpkg.com/is-builtin-module/-/is-builtin-module-3.2.1.tgz#f03271717d8654cfcaf07ab0463faa3571581169" - integrity sha512-BSLE3HnV2syZ0FK0iMA/yUGplUeMmNz4AW5fnTunbCIqZi4vG3WjJT9FHMy5D69xmAYBHXQhJdALdpwVxV501A== - dependencies: - builtin-modules "^3.3.0" - -is-callable@^1.1.3, is-callable@^1.1.4, is-callable@^1.2.7: - version "1.2.7" - resolved "https://registry.yarnpkg.com/is-callable/-/is-callable-1.2.7.tgz#3bc2a85ea742d9e36205dcacdd72ca1fdc51b055" - integrity sha512-1BC0BVFhS/p0qtw6enp8e+8OD0UrK0oFLztSjNzhcKA3WDuJxxAPXzPuPtKkjEY9UUoEWlX/8fgKeu2S8i9JTA== - -is-ci@^3.0.0: - version "3.0.1" - resolved "https://registry.yarnpkg.com/is-ci/-/is-ci-3.0.1.tgz#db6ecbed1bd659c43dac0f45661e7674103d1867" - integrity sha512-ZYvCgrefwqoQ6yTyYUbQu64HsITZ3NfKX1lzaEYdkTDcfKzzCI/wthRRYKkdjHKFVgNiXKAKm65Zo1pk2as/QQ== - dependencies: - ci-info "^3.2.0" - -is-core-module@^2.13.0: - version "2.13.1" - resolved "https://registry.yarnpkg.com/is-core-module/-/is-core-module-2.13.1.tgz#ad0d7532c6fea9da1ebdc82742d74525c6273384" - integrity sha512-hHrIjvZsftOsvKSn2TRYl63zvxsgE0K+0mYMoH6gD4omR5IWB2KynivBQczo3+wF1cCkjzvptnI9Q0sPU66ilw== - dependencies: - hasown "^2.0.0" - -is-date-object@^1.0.1, is-date-object@^1.0.5: - version "1.0.5" - resolved "https://registry.yarnpkg.com/is-date-object/-/is-date-object-1.0.5.tgz#0841d5536e724c25597bf6ea62e1bd38298df31f" - integrity sha512-9YQaSxsAiSwcvS33MBk3wTCVnWK+HhF8VZR2jRxehM16QcVOdHqPn4VPHmRK4lSr38n9JriurInLcP90xsYNfQ== - dependencies: - has-tostringtag "^1.0.0" - -is-extglob@^2.1.1: - version "2.1.1" - resolved "https://registry.yarnpkg.com/is-extglob/-/is-extglob-2.1.1.tgz#a88c02535791f02ed37c76a1b9ea9773c833f8c2" - integrity sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ== - -is-fullwidth-code-point@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz#f116f8064fe90b3f7844a38997c0b75051269f1d" - integrity sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg== - -is-generator-fn@^2.0.0: - version "2.1.0" - resolved "https://registry.yarnpkg.com/is-generator-fn/-/is-generator-fn-2.1.0.tgz#7d140adc389aaf3011a8f2a2a4cfa6faadffb118" - integrity sha512-cTIB4yPYL/Grw0EaSzASzg6bBy9gqCofvWN8okThAYIxKJZC+udlRAmGbM0XLeniEJSs8uEgHPGuHSe1XsOLSQ== - -is-glob@^4.0.0, is-glob@^4.0.1, is-glob@^4.0.3, is-glob@~4.0.1: - version "4.0.3" - resolved "https://registry.yarnpkg.com/is-glob/-/is-glob-4.0.3.tgz#64f61e42cbbb2eec2071a9dac0b28ba1e65d5084" - integrity sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg== - dependencies: - is-extglob "^2.1.1" - -is-hotkey@0.1.4: - version "0.1.4" - resolved "https://registry.yarnpkg.com/is-hotkey/-/is-hotkey-0.1.4.tgz#c34d2c85d6ec8d09a871dcf71931c8067a824c7d" - integrity sha512-Py+aW4r5mBBY18TGzGz286/gKS+fCQ0Hee3qkaiSmEPiD0PqFpe0wuA3l7rTOUKyeXl8Mxf3XzJxIoTlSv+kxA== - -is-hotkey@0.2.0: - version "0.2.0" - resolved "https://registry.yarnpkg.com/is-hotkey/-/is-hotkey-0.2.0.tgz#1835a68171a91e5c9460869d96336947c8340cef" - integrity sha512-UknnZK4RakDmTgz4PI1wIph5yxSs/mvChWs9ifnlXsKuXgWmOkY/hAE0H/k2MIqH0RlRye0i1oC07MCRSD28Mw== - -is-in-browser@^1.1.3: - version "1.1.3" - resolved "https://registry.yarnpkg.com/is-in-browser/-/is-in-browser-1.1.3.tgz#56ff4db683a078c6082eb95dad7dc62e1d04f835" - integrity sha512-FeXIBgG/CPGd/WUxuEyvgGTEfwiG9Z4EKGxjNMRqviiIIfsmgrpnHLffEDdwUHqNva1VEW91o3xBT/m8Elgl9g== - -is-installed-globally@~0.4.0: - version "0.4.0" - resolved "https://registry.yarnpkg.com/is-installed-globally/-/is-installed-globally-0.4.0.tgz#9a0fd407949c30f86eb6959ef1b7994ed0b7b520" - integrity sha512-iwGqO3J21aaSkC7jWnHP/difazwS7SFeIqxv6wEtLU8Y5KlzFTjyqcSIT0d8s4+dDhKytsk9PJZ2BkS5eZwQRQ== - dependencies: - global-dirs "^3.0.0" - is-path-inside "^3.0.2" - -is-map@^2.0.1, is-map@^2.0.2: - version "2.0.2" - resolved "https://registry.yarnpkg.com/is-map/-/is-map-2.0.2.tgz#00922db8c9bf73e81b7a335827bc2a43f2b91127" - integrity sha512-cOZFQQozTha1f4MxLFzlgKYPTyj26picdZTx82hbc/Xf4K/tZOOXSCkMvU4pKioRXGDLJRn0GM7Upe7kR721yg== - -is-negative-zero@^2.0.2: - version "2.0.2" - resolved "https://registry.yarnpkg.com/is-negative-zero/-/is-negative-zero-2.0.2.tgz#7bf6f03a28003b8b3965de3ac26f664d765f3150" - integrity sha512-dqJvarLawXsFbNDeJW7zAz8ItJ9cd28YufuuFzh0G8pNHjJMnY08Dv7sYX2uF5UpQOwieAeOExEYAWWfu7ZZUA== - -is-number-object@^1.0.4: - version "1.0.7" - resolved "https://registry.yarnpkg.com/is-number-object/-/is-number-object-1.0.7.tgz#59d50ada4c45251784e9904f5246c742f07a42fc" - integrity sha512-k1U0IRzLMo7ZlYIfzRu23Oh6MiIFasgpb9X76eqfFZAqwH44UI4KTBvBYIZ1dSL9ZzChTB9ShHfLkR4pdW5krQ== - dependencies: - has-tostringtag "^1.0.0" - -is-number@^7.0.0: - version "7.0.0" - resolved "https://registry.yarnpkg.com/is-number/-/is-number-7.0.0.tgz#7535345b896734d5f80c4d06c50955527a14f12b" - integrity sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng== - -is-path-inside@^3.0.2, is-path-inside@^3.0.3: - version "3.0.3" - resolved "https://registry.yarnpkg.com/is-path-inside/-/is-path-inside-3.0.3.tgz#d231362e53a07ff2b0e0ea7fed049161ffd16283" - integrity sha512-Fd4gABb+ycGAmKou8eMftCupSir5lRxqf4aD/vd0cD2qc4HL07OjCeuHMr8Ro4CoMaeCKDB0/ECBOVWjTwUvPQ== - -is-plain-obj@^2.1.0: - version "2.1.0" - resolved "https://registry.yarnpkg.com/is-plain-obj/-/is-plain-obj-2.1.0.tgz#45e42e37fccf1f40da8e5f76ee21515840c09287" - integrity sha512-YWnfyRwxL/+SsrWYfOpUtz5b3YD+nyfkHvjbcanzk8zgyO4ASD67uVMRt8k5bM4lLMDnXfriRhOpemw+NfT1eA== - -is-plain-object@^2.0.4: - version "2.0.4" - resolved "https://registry.yarnpkg.com/is-plain-object/-/is-plain-object-2.0.4.tgz#2c163b3fafb1b606d9d17928f05c2a1c38e07677" - integrity sha512-h5PpgXkWitc38BBMYawTYMWJHFZJVnBquFE57xFpjB8pJFiF6gZ+bU+WyI/yqXiFR5mdLsgYNaPe8uao6Uv9Og== - dependencies: - isobject "^3.0.1" - -is-potential-custom-element-name@^1.0.1: - version "1.0.1" - resolved "https://registry.yarnpkg.com/is-potential-custom-element-name/-/is-potential-custom-element-name-1.0.1.tgz#171ed6f19e3ac554394edf78caa05784a45bebb5" - integrity sha512-bCYeRA2rVibKZd+s2625gGnGF/t7DSqDs4dP7CrLA1m7jKWz6pps0LpYLJN8Q64HtmPKJ1hrN3nzPNKFEKOUiQ== - -is-regex@^1.1.4: - version "1.1.4" - resolved "https://registry.yarnpkg.com/is-regex/-/is-regex-1.1.4.tgz#eef5663cd59fa4c0ae339505323df6854bb15958" - integrity sha512-kvRdxDsxZjhzUX07ZnLydzS1TU/TJlTUHHY4YLL87e37oUA49DfkLqgy+VjFocowy29cKvcSiu+kIv728jTTVg== - dependencies: - call-bind "^1.0.2" - has-tostringtag "^1.0.0" - -is-set@^2.0.1, is-set@^2.0.2: - version "2.0.2" - resolved "https://registry.yarnpkg.com/is-set/-/is-set-2.0.2.tgz#90755fa4c2562dc1c5d4024760d6119b94ca18ec" - integrity sha512-+2cnTEZeY5z/iXGbLhPrOAaK/Mau5k5eXq9j14CpRTftq0pAJu2MwVRSZhyZWBzx3o6X795Lz6Bpb6R0GKf37g== - -is-shared-array-buffer@^1.0.2: - version "1.0.2" - resolved "https://registry.yarnpkg.com/is-shared-array-buffer/-/is-shared-array-buffer-1.0.2.tgz#8f259c573b60b6a32d4058a1a07430c0a7344c79" - integrity sha512-sqN2UDu1/0y6uvXyStCOzyhAjCSlHceFoMKJW8W9EU9cvic/QdsZ0kEU93HEy3IUEFZIiH/3w+AH/UQbPHNdhA== - dependencies: - call-bind "^1.0.2" - -is-stream@^2.0.0: - version "2.0.1" - resolved "https://registry.yarnpkg.com/is-stream/-/is-stream-2.0.1.tgz#fac1e3d53b97ad5a9d0ae9cef2389f5810a5c077" - integrity sha512-hFoiJiTl63nn+kstHGBtewWSKnQLpyb155KHheA1l39uvtO9nWIop1p3udqPcUd/xbF1VLMO4n7OI6p7RbngDg== - -is-string@^1.0.5, is-string@^1.0.7: - version "1.0.7" - resolved "https://registry.yarnpkg.com/is-string/-/is-string-1.0.7.tgz#0dd12bf2006f255bb58f695110eff7491eebc0fd" - integrity sha512-tE2UXzivje6ofPW7l23cjDOMa09gb7xlAqG6jG5ej6uPV32TlWP3NKPigtaGeHNu9fohccRYvIiZMfOOnOYUtg== - dependencies: - has-tostringtag "^1.0.0" - -is-symbol@^1.0.2, is-symbol@^1.0.3: - version "1.0.4" - resolved "https://registry.yarnpkg.com/is-symbol/-/is-symbol-1.0.4.tgz#a6dac93b635b063ca6872236de88910a57af139c" - integrity sha512-C/CPBqKWnvdcxqIARxyOh4v1UUEOCHpgDa0WYgpKDFMszcrPcffg5uhwSgPCLD2WWxmq6isisz87tzT01tuGhg== - dependencies: - has-symbols "^1.0.2" - -is-typed-array@^1.1.10, is-typed-array@^1.1.12, is-typed-array@^1.1.9: - version "1.1.12" - resolved "https://registry.yarnpkg.com/is-typed-array/-/is-typed-array-1.1.12.tgz#d0bab5686ef4a76f7a73097b95470ab199c57d4a" - integrity sha512-Z14TF2JNG8Lss5/HMqt0//T9JeHXttXy5pH/DBU4vi98ozO2btxzq9MwYDZYnKwU8nRsz/+GVFVRDq3DkVuSPg== - dependencies: - which-typed-array "^1.1.11" - -is-typedarray@~1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/is-typedarray/-/is-typedarray-1.0.0.tgz#e479c80858df0c1b11ddda6940f96011fcda4a9a" - integrity sha512-cyA56iCMHAh5CdzjJIa4aohJyeO1YbwLi3Jc35MmRU6poroFjIGZzUzupGiRPOjgHg9TLu43xbpwXk523fMxKA== - -is-unicode-supported@^0.1.0: - version "0.1.0" - resolved "https://registry.yarnpkg.com/is-unicode-supported/-/is-unicode-supported-0.1.0.tgz#3f26c76a809593b52bfa2ecb5710ed2779b522a7" - integrity sha512-knxG2q4UC3u8stRGyAVJCOdxFmv5DZiRcdlIaAQXAbSfJya+OhopNotLQrstBhququ4ZpuKbDc/8S6mgXgPFPw== - -is-weakmap@^2.0.1: - version "2.0.1" - resolved "https://registry.yarnpkg.com/is-weakmap/-/is-weakmap-2.0.1.tgz#5008b59bdc43b698201d18f62b37b2ca243e8cf2" - integrity sha512-NSBR4kH5oVj1Uwvv970ruUkCV7O1mzgVFO4/rev2cLRda9Tm9HrL70ZPut4rOHgY0FNrUu9BCbXA2sdQ+x0chA== - -is-weakref@^1.0.2: - version "1.0.2" - resolved "https://registry.yarnpkg.com/is-weakref/-/is-weakref-1.0.2.tgz#9529f383a9338205e89765e0392efc2f100f06f2" - integrity sha512-qctsuLZmIQ0+vSSMfoVvyFe2+GSEvnmZ2ezTup1SBse9+twCCeial6EEi3Nc2KFcf6+qz2FBPnjXsk8xhKSaPQ== - dependencies: - call-bind "^1.0.2" - -is-weakset@^2.0.1: - version "2.0.2" - resolved "https://registry.yarnpkg.com/is-weakset/-/is-weakset-2.0.2.tgz#4569d67a747a1ce5a994dfd4ef6dcea76e7c0a1d" - integrity sha512-t2yVvttHkQktwnNNmBQ98AhENLdPUTDTE21uPqAQ0ARwQfGeQKRVS0NNurH7bTf7RrvcVn1OOge45CnBeHCSmg== - dependencies: - call-bind "^1.0.2" - get-intrinsic "^1.1.1" - -is-window@^1.0.2: - version "1.0.2" - resolved "https://registry.yarnpkg.com/is-window/-/is-window-1.0.2.tgz#2c896ca53db97de45d3c33133a65d8c9f563480d" - integrity sha512-uj00kdXyZb9t9RcAUAwMZAnkBUwdYGhYlt7djMXhfyhUCzwNba50tIiBKR7q0l7tdoBtFVw/3JmLY6fI3rmZmg== - -isarray@0.0.1: - version "0.0.1" - resolved "https://registry.yarnpkg.com/isarray/-/isarray-0.0.1.tgz#8a18acfca9a8f4177e09abfc6038939b05d1eedf" - integrity sha512-D2S+3GLxWH+uhrNEcoh/fnmYeP8E8/zHl644d/jdA0g2uyXvy3sb0qxotE+ne0LtccHknQzWwZEzhak7oJ0COQ== - -isarray@^2.0.5: - version "2.0.5" - resolved "https://registry.yarnpkg.com/isarray/-/isarray-2.0.5.tgz#8af1e4c1221244cc62459faf38940d4e644a5723" - integrity sha512-xHjhDr3cNBK0BzdUJSPXZntQUx/mwMS5Rw4A7lPJ90XGAO6ISP/ePDNuo0vhqOZU+UD5JoodwCAAoZQd3FeAKw== - -isarray@~1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/isarray/-/isarray-1.0.0.tgz#bb935d48582cba168c06834957a54a3e07124f11" - integrity sha512-VLghIWNM6ELQzo7zwmcg0NmTVyWKYjvIeM83yjp0wRDTmUnrM678fQbcKBo6n2CJEF0szoG//ytg+TKla89ALQ== - -isexe@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/isexe/-/isexe-2.0.0.tgz#e8fbf374dc556ff8947a10dcb0572d633f2cfa10" - integrity sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw== - -isobject@^3.0.1: - version "3.0.1" - resolved "https://registry.yarnpkg.com/isobject/-/isobject-3.0.1.tgz#4e431e92b11a9731636aa1f9c8d1ccbcfdab78df" - integrity sha512-WhB9zCku7EGTj/HQQRz5aUQEUeoQZH2bWcltRErOpymJ4boYE6wL9Tbr23krRPSZ+C5zqNSrSw+Cc7sZZ4b7vg== - -isomorphic-base64@^1.0.2: - version "1.0.2" - resolved "https://registry.yarnpkg.com/isomorphic-base64/-/isomorphic-base64-1.0.2.tgz#f426aae82569ba8a4ec5ca73ad21a44ab1ee7803" - integrity sha512-pQFyLwShVPA1Qr0dE1ZPguJkbOsFGDfSq6Wzz6XaO33v74X6/iQjgYPozwkeKGQxOI1/H3Fz7+ROtnV1veyKEg== - -isstream@~0.1.2: - version "0.1.2" - resolved "https://registry.yarnpkg.com/isstream/-/isstream-0.1.2.tgz#47e63f7af55afa6f92e1500e690eb8b8529c099a" - integrity sha512-Yljz7ffyPbrLpLngrMtZ7NduUgVvi6wG9RJ9IUcyCd59YQ911PBJphODUcbOVbqYfxe1wuYf/LJ8PauMRwsM/g== - -istanbul-lib-coverage@^3.0.0, istanbul-lib-coverage@^3.2.0: - version "3.2.2" - resolved "https://registry.yarnpkg.com/istanbul-lib-coverage/-/istanbul-lib-coverage-3.2.2.tgz#2d166c4b0644d43a39f04bf6c2edd1e585f31756" - integrity sha512-O8dpsF+r0WV/8MNRKfnmrtCWhuKjxrq2w+jpzBL5UZKTi2LeVWnWOmWRxFlesJONmc+wLAGvKQZEOanko0LFTg== - -istanbul-lib-instrument@^5.0.4: - version "5.2.1" - resolved "https://registry.yarnpkg.com/istanbul-lib-instrument/-/istanbul-lib-instrument-5.2.1.tgz#d10c8885c2125574e1c231cacadf955675e1ce3d" - integrity sha512-pzqtp31nLv/XFOzXGuvhCb8qhjmTVo5vjVk19XE4CRlSWz0KoeJ3bw9XsA7nOp9YBf4qHjwBxkDzKcME/J29Yg== - dependencies: - "@babel/core" "^7.12.3" - "@babel/parser" "^7.14.7" - "@istanbuljs/schema" "^0.1.2" - istanbul-lib-coverage "^3.2.0" - semver "^6.3.0" - -istanbul-lib-instrument@^6.0.0: - version "6.0.1" - resolved "https://registry.yarnpkg.com/istanbul-lib-instrument/-/istanbul-lib-instrument-6.0.1.tgz#71e87707e8041428732518c6fb5211761753fbdf" - integrity sha512-EAMEJBsYuyyztxMxW3g7ugGPkrZsV57v0Hmv3mm1uQsmB+QnZuepg731CRaIgeUVSdmsTngOkSnauNF8p7FIhA== - dependencies: - "@babel/core" "^7.12.3" - "@babel/parser" "^7.14.7" - "@istanbuljs/schema" "^0.1.2" - istanbul-lib-coverage "^3.2.0" - semver "^7.5.4" - -istanbul-lib-report@^3.0.0: - version "3.0.1" - resolved "https://registry.yarnpkg.com/istanbul-lib-report/-/istanbul-lib-report-3.0.1.tgz#908305bac9a5bd175ac6a74489eafd0fc2445a7d" - integrity sha512-GCfE1mtsHGOELCU8e/Z7YWzpmybrx/+dSTfLrvY8qRmaY6zXTKWn6WQIjaAFw069icm6GVMNkgu0NzI4iPZUNw== - dependencies: - istanbul-lib-coverage "^3.0.0" - make-dir "^4.0.0" - supports-color "^7.1.0" - -istanbul-lib-source-maps@^4.0.0: - version "4.0.1" - resolved "https://registry.yarnpkg.com/istanbul-lib-source-maps/-/istanbul-lib-source-maps-4.0.1.tgz#895f3a709fcfba34c6de5a42939022f3e4358551" - integrity sha512-n3s8EwkdFIJCG3BPKBYvskgXGoy88ARzvegkitk60NxRdwltLOTaH7CUiMRXvwYorl0Q712iEjcWB+fK/MrWVw== - dependencies: - debug "^4.1.1" - istanbul-lib-coverage "^3.0.0" - source-map "^0.6.1" - -istanbul-reports@^3.1.3: - version "3.1.6" - resolved "https://registry.yarnpkg.com/istanbul-reports/-/istanbul-reports-3.1.6.tgz#2544bcab4768154281a2f0870471902704ccaa1a" - integrity sha512-TLgnMkKg3iTDsQ9PbPTdpfAK2DzjF9mqUG7RMgcQl8oFjad8ob4laGxv5XV5U9MAfx8D6tSJiUyuAwzLicaxlg== - dependencies: - html-escaper "^2.0.0" - istanbul-lib-report "^3.0.0" - -jackspeak@^2.3.5: - version "2.3.6" - resolved "https://registry.yarnpkg.com/jackspeak/-/jackspeak-2.3.6.tgz#647ecc472238aee4b06ac0e461acc21a8c505ca8" - integrity sha512-N3yCS/NegsOBokc8GAdM8UcmfsKiSS8cipheD/nivzr700H+nsMOxJjQnvwOcRYVuFkdH0wGUvW2WbXGmrZGbQ== - dependencies: - "@isaacs/cliui" "^8.0.2" - optionalDependencies: - "@pkgjs/parseargs" "^0.11.0" - -jest-changed-files@^29.7.0: - version "29.7.0" - resolved "https://registry.yarnpkg.com/jest-changed-files/-/jest-changed-files-29.7.0.tgz#1c06d07e77c78e1585d020424dedc10d6e17ac3a" - integrity sha512-fEArFiwf1BpQ+4bXSprcDc3/x4HSzL4al2tozwVpDFpsxALjLYdyiIK4e5Vz66GQJIbXJ82+35PtysofptNX2w== - dependencies: - execa "^5.0.0" - jest-util "^29.7.0" - p-limit "^3.1.0" - -jest-circus@^29.7.0: - version "29.7.0" - resolved "https://registry.yarnpkg.com/jest-circus/-/jest-circus-29.7.0.tgz#b6817a45fcc835d8b16d5962d0c026473ee3668a" - integrity sha512-3E1nCMgipcTkCocFwM90XXQab9bS+GMsjdpmPrlelaxwD93Ad8iVEjX/vvHPdLPnFf+L40u+5+iutRdA1N9myw== - dependencies: - "@jest/environment" "^29.7.0" - "@jest/expect" "^29.7.0" - "@jest/test-result" "^29.7.0" - "@jest/types" "^29.6.3" - "@types/node" "*" - chalk "^4.0.0" - co "^4.6.0" - dedent "^1.0.0" - is-generator-fn "^2.0.0" - jest-each "^29.7.0" - jest-matcher-utils "^29.7.0" - jest-message-util "^29.7.0" - jest-runtime "^29.7.0" - jest-snapshot "^29.7.0" - jest-util "^29.7.0" - p-limit "^3.1.0" - pretty-format "^29.7.0" - pure-rand "^6.0.0" - slash "^3.0.0" - stack-utils "^2.0.3" - -jest-cli@^29.7.0: - version "29.7.0" - resolved "https://registry.yarnpkg.com/jest-cli/-/jest-cli-29.7.0.tgz#5592c940798e0cae677eec169264f2d839a37995" - integrity sha512-OVVobw2IubN/GSYsxETi+gOe7Ka59EFMR/twOU3Jb2GnKKeMGJB5SGUUrEz3SFVmJASUdZUzy83sLNNQ2gZslg== - dependencies: - "@jest/core" "^29.7.0" - "@jest/test-result" "^29.7.0" - "@jest/types" "^29.6.3" - chalk "^4.0.0" - create-jest "^29.7.0" - exit "^0.1.2" - import-local "^3.0.2" - jest-config "^29.7.0" - jest-util "^29.7.0" - jest-validate "^29.7.0" - yargs "^17.3.1" - -jest-config@^29.7.0: - version "29.7.0" - resolved "https://registry.yarnpkg.com/jest-config/-/jest-config-29.7.0.tgz#bcbda8806dbcc01b1e316a46bb74085a84b0245f" - integrity sha512-uXbpfeQ7R6TZBqI3/TxCU4q4ttk3u0PJeC+E0zbfSoSjq6bJ7buBPxzQPL0ifrkY4DNu4JUdk0ImlBUYi840eQ== - dependencies: - "@babel/core" "^7.11.6" - "@jest/test-sequencer" "^29.7.0" - "@jest/types" "^29.6.3" - babel-jest "^29.7.0" - chalk "^4.0.0" - ci-info "^3.2.0" - deepmerge "^4.2.2" - glob "^7.1.3" - graceful-fs "^4.2.9" - jest-circus "^29.7.0" - jest-environment-node "^29.7.0" - jest-get-type "^29.6.3" - jest-regex-util "^29.6.3" - jest-resolve "^29.7.0" - jest-runner "^29.7.0" - jest-util "^29.7.0" - jest-validate "^29.7.0" - micromatch "^4.0.4" - parse-json "^5.2.0" - pretty-format "^29.7.0" - slash "^3.0.0" - strip-json-comments "^3.1.1" - -jest-diff@^29.7.0: - version "29.7.0" - resolved "https://registry.yarnpkg.com/jest-diff/-/jest-diff-29.7.0.tgz#017934a66ebb7ecf6f205e84699be10afd70458a" - integrity sha512-LMIgiIrhigmPrs03JHpxUh2yISK3vLFPkAodPeo0+BuF7wA2FoQbkEg1u8gBYBThncu7e1oEDUfIXVuTqLRUjw== - dependencies: - chalk "^4.0.0" - diff-sequences "^29.6.3" - jest-get-type "^29.6.3" - pretty-format "^29.7.0" - -jest-docblock@^29.7.0: - version "29.7.0" - resolved "https://registry.yarnpkg.com/jest-docblock/-/jest-docblock-29.7.0.tgz#8fddb6adc3cdc955c93e2a87f61cfd350d5d119a" - integrity sha512-q617Auw3A612guyaFgsbFeYpNP5t2aoUNLwBUbc/0kD1R4t9ixDbyFTHd1nok4epoVFpr7PmeWHrhvuV3XaJ4g== - dependencies: - detect-newline "^3.0.0" - -jest-each@^29.7.0: - version "29.7.0" - resolved "https://registry.yarnpkg.com/jest-each/-/jest-each-29.7.0.tgz#162a9b3f2328bdd991beaabffbb74745e56577d1" - integrity sha512-gns+Er14+ZrEoC5fhOfYCY1LOHHr0TI+rQUHZS8Ttw2l7gl+80eHc/gFf2Ktkw0+SIACDTeWvpFcv3B04VembQ== - dependencies: - "@jest/types" "^29.6.3" - chalk "^4.0.0" - jest-get-type "^29.6.3" - jest-util "^29.7.0" - pretty-format "^29.7.0" - -jest-environment-jsdom@^29.5.0: - version "29.7.0" - resolved "https://registry.yarnpkg.com/jest-environment-jsdom/-/jest-environment-jsdom-29.7.0.tgz#d206fa3551933c3fd519e5dfdb58a0f5139a837f" - integrity sha512-k9iQbsf9OyOfdzWH8HDmrRT0gSIcX+FLNW7IQq94tFX0gynPwqDTW0Ho6iMVNjGz/nb+l/vW3dWM2bbLLpkbXA== - dependencies: - "@jest/environment" "^29.7.0" - "@jest/fake-timers" "^29.7.0" - "@jest/types" "^29.6.3" - "@types/jsdom" "^20.0.0" - "@types/node" "*" - jest-mock "^29.7.0" - jest-util "^29.7.0" - jsdom "^20.0.0" - -jest-environment-node@^29.7.0: - version "29.7.0" - resolved "https://registry.yarnpkg.com/jest-environment-node/-/jest-environment-node-29.7.0.tgz#0b93e111dda8ec120bc8300e6d1fb9576e164376" - integrity sha512-DOSwCRqXirTOyheM+4d5YZOrWcdu0LNZ87ewUoywbcb2XR4wKgqiG8vNeYwhjFMbEkfju7wx2GYH0P2gevGvFw== - dependencies: - "@jest/environment" "^29.7.0" - "@jest/fake-timers" "^29.7.0" - "@jest/types" "^29.6.3" - "@types/node" "*" - jest-mock "^29.7.0" - jest-util "^29.7.0" - -jest-get-type@^29.6.3: - version "29.6.3" - resolved "https://registry.yarnpkg.com/jest-get-type/-/jest-get-type-29.6.3.tgz#36f499fdcea197c1045a127319c0481723908fd1" - integrity sha512-zrteXnqYxfQh7l5FHyL38jL39di8H8rHoecLH3JNxH3BwOrBsNeabdap5e0I23lD4HHI8W5VFBZqG4Eaq5LNcw== - -jest-haste-map@^29.7.0: - version "29.7.0" - resolved "https://registry.yarnpkg.com/jest-haste-map/-/jest-haste-map-29.7.0.tgz#3c2396524482f5a0506376e6c858c3bbcc17b104" - integrity sha512-fP8u2pyfqx0K1rGn1R9pyE0/KTn+G7PxktWidOBTqFPLYX0b9ksaMFkhK5vrS3DVun09pckLdlx90QthlW7AmA== - dependencies: - "@jest/types" "^29.6.3" - "@types/graceful-fs" "^4.1.3" - "@types/node" "*" - anymatch "^3.0.3" - fb-watchman "^2.0.0" - graceful-fs "^4.2.9" - jest-regex-util "^29.6.3" - jest-util "^29.7.0" - jest-worker "^29.7.0" - micromatch "^4.0.4" - walker "^1.0.8" - optionalDependencies: - fsevents "^2.3.2" - -jest-leak-detector@^29.7.0: - version "29.7.0" - resolved "https://registry.yarnpkg.com/jest-leak-detector/-/jest-leak-detector-29.7.0.tgz#5b7ec0dadfdfec0ca383dc9aa016d36b5ea4c728" - integrity sha512-kYA8IJcSYtST2BY9I+SMC32nDpBT3J2NvWJx8+JCuCdl/CR1I4EKUJROiP8XtCcxqgTTBGJNdbB1A8XRKbTetw== - dependencies: - jest-get-type "^29.6.3" - pretty-format "^29.7.0" - -jest-matcher-utils@^29.7.0: - version "29.7.0" - resolved "https://registry.yarnpkg.com/jest-matcher-utils/-/jest-matcher-utils-29.7.0.tgz#ae8fec79ff249fd592ce80e3ee474e83a6c44f12" - integrity sha512-sBkD+Xi9DtcChsI3L3u0+N0opgPYnCRPtGcQYrgXmR+hmt/fYfWAL0xRXYU8eWOdfuLgBe0YCW3AFtnRLagq/g== - dependencies: - chalk "^4.0.0" - jest-diff "^29.7.0" - jest-get-type "^29.6.3" - pretty-format "^29.7.0" - -jest-message-util@^29.7.0: - version "29.7.0" - resolved "https://registry.yarnpkg.com/jest-message-util/-/jest-message-util-29.7.0.tgz#8bc392e204e95dfe7564abbe72a404e28e51f7f3" - integrity sha512-GBEV4GRADeP+qtB2+6u61stea8mGcOT4mCtrYISZwfu9/ISHFJ/5zOMXYbpBE9RsS5+Gb63DW4FgmnKJ79Kf6w== - dependencies: - "@babel/code-frame" "^7.12.13" - "@jest/types" "^29.6.3" - "@types/stack-utils" "^2.0.0" - chalk "^4.0.0" - graceful-fs "^4.2.9" - micromatch "^4.0.4" - pretty-format "^29.7.0" - slash "^3.0.0" - stack-utils "^2.0.3" - -jest-mock@^29.7.0: - version "29.7.0" - resolved "https://registry.yarnpkg.com/jest-mock/-/jest-mock-29.7.0.tgz#4e836cf60e99c6fcfabe9f99d017f3fdd50a6347" - integrity sha512-ITOMZn+UkYS4ZFh83xYAOzWStloNzJFO2s8DWrE4lhtGD+AorgnbkiKERe4wQVBydIGPx059g6riW5Btp6Llnw== - dependencies: - "@jest/types" "^29.6.3" - "@types/node" "*" - jest-util "^29.7.0" - -jest-pnp-resolver@^1.2.2: - version "1.2.3" - resolved "https://registry.yarnpkg.com/jest-pnp-resolver/-/jest-pnp-resolver-1.2.3.tgz#930b1546164d4ad5937d5540e711d4d38d4cad2e" - integrity sha512-+3NpwQEnRoIBtx4fyhblQDPgJI0H1IEIkX7ShLUjPGA7TtUTvI1oiKi3SR4oBR0hQhQR80l4WAe5RrXBwWMA8w== - -jest-regex-util@^29.6.3: - version "29.6.3" - resolved "https://registry.yarnpkg.com/jest-regex-util/-/jest-regex-util-29.6.3.tgz#4a556d9c776af68e1c5f48194f4d0327d24e8a52" - integrity sha512-KJJBsRCyyLNWCNBOvZyRDnAIfUiRJ8v+hOBQYGn8gDyF3UegwiP4gwRR3/SDa42g1YbVycTidUF3rKjyLFDWbg== - -jest-resolve-dependencies@^29.7.0: - version "29.7.0" - resolved "https://registry.yarnpkg.com/jest-resolve-dependencies/-/jest-resolve-dependencies-29.7.0.tgz#1b04f2c095f37fc776ff40803dc92921b1e88428" - integrity sha512-un0zD/6qxJ+S0et7WxeI3H5XSe9lTBBR7bOHCHXkKR6luG5mwDDlIzVQ0V5cZCuoTgEdcdwzTghYkTWfubi+nA== - dependencies: - jest-regex-util "^29.6.3" - jest-snapshot "^29.7.0" - -jest-resolve@^29.7.0: - version "29.7.0" - resolved "https://registry.yarnpkg.com/jest-resolve/-/jest-resolve-29.7.0.tgz#64d6a8992dd26f635ab0c01e5eef4399c6bcbc30" - integrity sha512-IOVhZSrg+UvVAshDSDtHyFCCBUl/Q3AAJv8iZ6ZjnZ74xzvwuzLXid9IIIPgTnY62SJjfuupMKZsZQRsCvxEgA== - dependencies: - chalk "^4.0.0" - graceful-fs "^4.2.9" - jest-haste-map "^29.7.0" - jest-pnp-resolver "^1.2.2" - jest-util "^29.7.0" - jest-validate "^29.7.0" - resolve "^1.20.0" - resolve.exports "^2.0.0" - slash "^3.0.0" - -jest-runner@^29.7.0: - version "29.7.0" - resolved "https://registry.yarnpkg.com/jest-runner/-/jest-runner-29.7.0.tgz#809af072d408a53dcfd2e849a4c976d3132f718e" - integrity sha512-fsc4N6cPCAahybGBfTRcq5wFR6fpLznMg47sY5aDpsoejOcVYFb07AHuSnR0liMcPTgBsA3ZJL6kFOjPdoNipQ== - dependencies: - "@jest/console" "^29.7.0" - "@jest/environment" "^29.7.0" - "@jest/test-result" "^29.7.0" - "@jest/transform" "^29.7.0" - "@jest/types" "^29.6.3" - "@types/node" "*" - chalk "^4.0.0" - emittery "^0.13.1" - graceful-fs "^4.2.9" - jest-docblock "^29.7.0" - jest-environment-node "^29.7.0" - jest-haste-map "^29.7.0" - jest-leak-detector "^29.7.0" - jest-message-util "^29.7.0" - jest-resolve "^29.7.0" - jest-runtime "^29.7.0" - jest-util "^29.7.0" - jest-watcher "^29.7.0" - jest-worker "^29.7.0" - p-limit "^3.1.0" - source-map-support "0.5.13" - -jest-runtime@^29.7.0: - version "29.7.0" - resolved "https://registry.yarnpkg.com/jest-runtime/-/jest-runtime-29.7.0.tgz#efecb3141cf7d3767a3a0cc8f7c9990587d3d817" - integrity sha512-gUnLjgwdGqW7B4LvOIkbKs9WGbn+QLqRQQ9juC6HndeDiezIwhDP+mhMwHWCEcfQ5RUXa6OPnFF8BJh5xegwwQ== - dependencies: - "@jest/environment" "^29.7.0" - "@jest/fake-timers" "^29.7.0" - "@jest/globals" "^29.7.0" - "@jest/source-map" "^29.6.3" - "@jest/test-result" "^29.7.0" - "@jest/transform" "^29.7.0" - "@jest/types" "^29.6.3" - "@types/node" "*" - chalk "^4.0.0" - cjs-module-lexer "^1.0.0" - collect-v8-coverage "^1.0.0" - glob "^7.1.3" - graceful-fs "^4.2.9" - jest-haste-map "^29.7.0" - jest-message-util "^29.7.0" - jest-mock "^29.7.0" - jest-regex-util "^29.6.3" - jest-resolve "^29.7.0" - jest-snapshot "^29.7.0" - jest-util "^29.7.0" - slash "^3.0.0" - strip-bom "^4.0.0" - -jest-snapshot@^29.7.0: - version "29.7.0" - resolved "https://registry.yarnpkg.com/jest-snapshot/-/jest-snapshot-29.7.0.tgz#c2c574c3f51865da1bb329036778a69bf88a6be5" - integrity sha512-Rm0BMWtxBcioHr1/OX5YCP8Uov4riHvKPknOGs804Zg9JGZgmIBkbtlxJC/7Z4msKYVbIJtfU+tKb8xlYNfdkw== - dependencies: - "@babel/core" "^7.11.6" - "@babel/generator" "^7.7.2" - "@babel/plugin-syntax-jsx" "^7.7.2" - "@babel/plugin-syntax-typescript" "^7.7.2" - "@babel/types" "^7.3.3" - "@jest/expect-utils" "^29.7.0" - "@jest/transform" "^29.7.0" - "@jest/types" "^29.6.3" - babel-preset-current-node-syntax "^1.0.0" - chalk "^4.0.0" - expect "^29.7.0" - graceful-fs "^4.2.9" - jest-diff "^29.7.0" - jest-get-type "^29.6.3" - jest-matcher-utils "^29.7.0" - jest-message-util "^29.7.0" - jest-util "^29.7.0" - natural-compare "^1.4.0" - pretty-format "^29.7.0" - semver "^7.5.3" - -jest-util@^29.7.0: - version "29.7.0" - resolved "https://registry.yarnpkg.com/jest-util/-/jest-util-29.7.0.tgz#23c2b62bfb22be82b44de98055802ff3710fc0bc" - integrity sha512-z6EbKajIpqGKU56y5KBUgy1dt1ihhQJgWzUlZHArA/+X2ad7Cb5iF+AK1EWVL/Bo7Rz9uurpqw6SiBCefUbCGA== - dependencies: - "@jest/types" "^29.6.3" - "@types/node" "*" - chalk "^4.0.0" - ci-info "^3.2.0" - graceful-fs "^4.2.9" - picomatch "^2.2.3" - -jest-validate@^29.7.0: - version "29.7.0" - resolved "https://registry.yarnpkg.com/jest-validate/-/jest-validate-29.7.0.tgz#7bf705511c64da591d46b15fce41400d52147d9c" - integrity sha512-ZB7wHqaRGVw/9hST/OuFUReG7M8vKeq0/J2egIGLdvjHCmYqGARhzXmtgi+gVeZ5uXFF219aOc3Ls2yLg27tkw== - dependencies: - "@jest/types" "^29.6.3" - camelcase "^6.2.0" - chalk "^4.0.0" - jest-get-type "^29.6.3" - leven "^3.1.0" - pretty-format "^29.7.0" - -jest-watcher@^29.7.0: - version "29.7.0" - resolved "https://registry.yarnpkg.com/jest-watcher/-/jest-watcher-29.7.0.tgz#7810d30d619c3a62093223ce6bb359ca1b28a2f2" - integrity sha512-49Fg7WXkU3Vl2h6LbLtMQ/HyB6rXSIX7SqvBLQmssRBGN9I0PNvPmAmCWSOY6SOvrjhI/F7/bGAv9RtnsPA03g== - dependencies: - "@jest/test-result" "^29.7.0" - "@jest/types" "^29.6.3" - "@types/node" "*" - ansi-escapes "^4.2.1" - chalk "^4.0.0" - emittery "^0.13.1" - jest-util "^29.7.0" - string-length "^4.0.1" - -jest-worker@^27.4.5: - version "27.5.1" - resolved "https://registry.yarnpkg.com/jest-worker/-/jest-worker-27.5.1.tgz#8d146f0900e8973b106b6f73cc1e9a8cb86f8db0" - integrity sha512-7vuh85V5cdDofPyxn58nrPjBktZo0u9x1g8WtjQol+jZDaE+fhN+cIvTj11GndBnMnyfrUOG1sZQxCdjKh+DKg== - dependencies: - "@types/node" "*" - merge-stream "^2.0.0" - supports-color "^8.0.0" - -jest-worker@^29.5.0, jest-worker@^29.7.0: - version "29.7.0" - resolved "https://registry.yarnpkg.com/jest-worker/-/jest-worker-29.7.0.tgz#acad073acbbaeb7262bd5389e1bcf43e10058d4a" - integrity sha512-eIz2msL/EzL9UFTFFx7jBTkeZfku0yUAyZZZmJ93H2TYEiroIx2PQjEXcwYtYl8zXCxb+PAmA2hLIt/6ZEkPHw== - dependencies: - "@types/node" "*" - jest-util "^29.7.0" - merge-stream "^2.0.0" - supports-color "^8.0.0" - -jest@^29.5.0: - version "29.7.0" - resolved "https://registry.yarnpkg.com/jest/-/jest-29.7.0.tgz#994676fc24177f088f1c5e3737f5697204ff2613" - integrity sha512-NIy3oAFp9shda19hy4HK0HRTWKtPJmGdnvywu01nOqNC2vZg+Z+fvJDxpMQA88eb2I9EcafcdjYgsDthnYTvGw== - dependencies: - "@jest/core" "^29.7.0" - "@jest/types" "^29.6.3" - import-local "^3.0.2" - jest-cli "^29.7.0" - -jquery@3.6.3: - version "3.6.3" - resolved "https://registry.yarnpkg.com/jquery/-/jquery-3.6.3.tgz#23ed2ffed8a19e048814f13391a19afcdba160e6" - integrity sha512-bZ5Sy3YzKo9Fyc8wH2iIQK4JImJ6R0GWI9kL1/k7Z91ZBNgkRXE6U0JfHIizZbort8ZunhSI3jw9I6253ahKfg== - -js-cookie@^2.2.1: - version "2.2.1" - resolved "https://registry.yarnpkg.com/js-cookie/-/js-cookie-2.2.1.tgz#69e106dc5d5806894562902aa5baec3744e9b2b8" - integrity sha512-HvdH2LzI/EAZcUwA8+0nKNtWHqS+ZmijLA30RwZA0bo7ToCckjK5MkGhjED9KoRcXO6BaGI3I9UIzSA1FKFPOQ== - -"js-tokens@^3.0.0 || ^4.0.0", js-tokens@^4.0.0: - version "4.0.0" - resolved "https://registry.yarnpkg.com/js-tokens/-/js-tokens-4.0.0.tgz#19203fb59991df98e3a287050d4647cdeaf32499" - integrity sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ== - -js-yaml@4.1.0, js-yaml@^4.1.0: - version "4.1.0" - resolved "https://registry.yarnpkg.com/js-yaml/-/js-yaml-4.1.0.tgz#c1fb65f8f5017901cdd2c951864ba18458a10602" - integrity sha512-wpxZs9NoxZaJESJGIZTyDEaYpl0FKSA+FB9aJiyemKhMwkxQg63h4T1KJgUGHpTqPDNRcmmYLugrRjJlBtWvRA== - dependencies: - argparse "^2.0.1" - -js-yaml@^3.13.1: - version "3.14.1" - resolved "https://registry.yarnpkg.com/js-yaml/-/js-yaml-3.14.1.tgz#dae812fdb3825fa306609a8717383c50c36a0537" - integrity sha512-okMH7OXXJ7YrN9Ok3/SXrnu4iX9yOk+25nqX4imS2npuvTYDmo/QEZoqwZkYaIDk3jVvBOTOIEgEhaLOynBS9g== - dependencies: - argparse "^1.0.7" - esprima "^4.0.0" - -jsbn@~0.1.0: - version "0.1.1" - resolved "https://registry.yarnpkg.com/jsbn/-/jsbn-0.1.1.tgz#a5e654c2e5a2deb5f201d96cefbca80c0ef2f513" - integrity sha512-UVU9dibq2JcFWxQPA6KCqj5O42VOmAY3zQUfEKxU0KpTGXwNoCjkX1e13eHNvw/xPynt6pU0rZ1htjWTNTSXsg== - -jsdoc-type-pratt-parser@~4.0.0: - version "4.0.0" - resolved "https://registry.yarnpkg.com/jsdoc-type-pratt-parser/-/jsdoc-type-pratt-parser-4.0.0.tgz#136f0571a99c184d84ec84662c45c29ceff71114" - integrity sha512-YtOli5Cmzy3q4dP26GraSOeAhqecewG04hoO8DY56CH4KJ9Fvv5qKWUCCo3HZob7esJQHCv6/+bnTy72xZZaVQ== - -jsdom@^20.0.0: - version "20.0.3" - resolved "https://registry.yarnpkg.com/jsdom/-/jsdom-20.0.3.tgz#886a41ba1d4726f67a8858028c99489fed6ad4db" - integrity sha512-SYhBvTh89tTfCD/CRdSOm13mOBa42iTaTyfyEWBdKcGdPxPtLFBXuHR8XHb33YNYaP+lLbmSvBTsnoesCNJEsQ== - dependencies: - abab "^2.0.6" - acorn "^8.8.1" - acorn-globals "^7.0.0" - cssom "^0.5.0" - cssstyle "^2.3.0" - data-urls "^3.0.2" - decimal.js "^10.4.2" - domexception "^4.0.0" - escodegen "^2.0.0" - form-data "^4.0.0" - html-encoding-sniffer "^3.0.0" - http-proxy-agent "^5.0.0" - https-proxy-agent "^5.0.1" - is-potential-custom-element-name "^1.0.1" - nwsapi "^2.2.2" - parse5 "^7.1.1" - saxes "^6.0.0" - symbol-tree "^3.2.4" - tough-cookie "^4.1.2" - w3c-xmlserializer "^4.0.0" - webidl-conversions "^7.0.0" - whatwg-encoding "^2.0.0" - whatwg-mimetype "^3.0.0" - whatwg-url "^11.0.0" - ws "^8.11.0" - xml-name-validator "^4.0.0" - -jsesc@^2.5.1: - version "2.5.2" - resolved "https://registry.yarnpkg.com/jsesc/-/jsesc-2.5.2.tgz#80564d2e483dacf6e8ef209650a67df3f0c283a4" - integrity sha512-OYu7XEzjkCQ3C5Ps3QIZsQfNpqoJyZZA99wd9aWd05NCtC5pWOkShK2mkL6HXQR6/Cy2lbNdPlZBpuQHXE63gA== - -jsesc@~0.5.0: - version "0.5.0" - resolved "https://registry.yarnpkg.com/jsesc/-/jsesc-0.5.0.tgz#e7dee66e35d6fc16f710fe91d5cf69f70f08911d" - integrity sha512-uZz5UnB7u4T9LvwmFqXii7pZSouaRPorGs5who1Ip7VO0wxanFvBL7GkM6dTHlgX+jhBApRetaWpnDabOeTcnA== - -json-buffer@3.0.1: - version "3.0.1" - resolved "https://registry.yarnpkg.com/json-buffer/-/json-buffer-3.0.1.tgz#9338802a30d3b6605fbe0613e094008ca8c05a13" - integrity sha512-4bV5BfR2mqfQTJm+V5tPPdf+ZpuhiIvTuAB5g8kcrXOZpTT/QwwVRWBywX1ozr6lEuPdbHxwaJlm9G6mI2sfSQ== - -json-parse-even-better-errors@^2.3.0, json-parse-even-better-errors@^2.3.1: - version "2.3.1" - resolved "https://registry.yarnpkg.com/json-parse-even-better-errors/-/json-parse-even-better-errors-2.3.1.tgz#7c47805a94319928e05777405dc12e1f7a4ee02d" - integrity sha512-xyFwyhro/JEof6Ghe2iz2NcXoj2sloNsWr/XsERDK/oiPCfaNhl5ONfp+jQdAZRQQ0IJWNzH9zIZF7li91kh2w== - -json-schema-traverse@^0.4.1: - version "0.4.1" - resolved "https://registry.yarnpkg.com/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz#69f6a87d9513ab8bb8fe63bdb0979c448e684660" - integrity sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg== - -json-schema-traverse@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/json-schema-traverse/-/json-schema-traverse-1.0.0.tgz#ae7bcb3656ab77a73ba5c49bf654f38e6b6860e2" - integrity sha512-NM8/P9n3XjXhIZn1lLhkFaACTOURQXjWhV4BA/RnOv8xvgqtqpAX9IO4mRQxSx1Rlo4tqzeqb0sOlruaOy3dug== - -json-schema@0.4.0: - version "0.4.0" - resolved "https://registry.yarnpkg.com/json-schema/-/json-schema-0.4.0.tgz#f7de4cf6efab838ebaeb3236474cbba5a1930ab5" - integrity sha512-es94M3nTIfsEPisRafak+HDLfHXnKBhV3vU5eqPcS3flIWqcxJWgXHXiey3YrpaNsanY5ei1VoYEbOzijuq9BA== - -json-stable-stringify-without-jsonify@^1.0.1: - version "1.0.1" - resolved "https://registry.yarnpkg.com/json-stable-stringify-without-jsonify/-/json-stable-stringify-without-jsonify-1.0.1.tgz#9db7b59496ad3f3cfef30a75142d2d930ad72651" - integrity sha512-Bdboy+l7tA3OGW6FjyFHWkP5LuByj1Tk33Ljyq0axyzdk9//JSi2u3fP1QSmd1KNwq6VOKYGlAu87CisVir6Pw== - -json-stringify-pretty-compact@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/json-stringify-pretty-compact/-/json-stringify-pretty-compact-2.0.0.tgz#e77c419f52ff00c45a31f07f4c820c2433143885" - integrity sha512-WRitRfs6BGq4q8gTgOy4ek7iPFXjbra0H3PmDLKm2xnZ+Gh1HUhiKGgCZkSPNULlP7mvfu6FV/mOLhCarspADQ== - -json-stringify-safe@~5.0.1: - version "5.0.1" - resolved "https://registry.yarnpkg.com/json-stringify-safe/-/json-stringify-safe-5.0.1.tgz#1296a2d58fd45f19a0f6ce01d65701e2c735b6eb" - integrity sha512-ZClg6AaYvamvYEE82d3Iyd3vSSIjQ+odgjaTzRuO3s7toCdFKczob2i0zCh7JE8kWn17yvAWhUVxvqGwUalsRA== - -json5@^2.1.2, json5@^2.2.1, json5@^2.2.2, json5@^2.2.3: - version "2.2.3" - resolved "https://registry.yarnpkg.com/json5/-/json5-2.2.3.tgz#78cd6f1a19bdc12b73db5ad0c61efd66c1e29283" - integrity sha512-XmOWe7eyHYH14cLdVPoyg+GOH3rYX++KpzrylJwSW98t3Nk+U8XOl8FWKOgwtzdb8lXGf6zYwDUzeHMWfxasyg== - -jsonc-parser@^3.2.0: - version "3.2.0" - resolved "https://registry.yarnpkg.com/jsonc-parser/-/jsonc-parser-3.2.0.tgz#31ff3f4c2b9793f89c67212627c51c6394f88e76" - integrity sha512-gfFQZrcTc8CnKXp6Y4/CBT3fTc0OVuDofpre4aEeEpSBPV5X5v4+Vmx+8snU7RLPrNHPKSgLxGo9YuQzz20o+w== - -jsonfile@^6.0.1: - version "6.1.0" - resolved "https://registry.yarnpkg.com/jsonfile/-/jsonfile-6.1.0.tgz#bc55b2634793c679ec6403094eb13698a6ec0aae" - integrity sha512-5dgndWOriYSm5cnYaJNhalLNDKOqFwyDB/rr1E9ZsGciGvKPs8R2xYGCacuf3z6K1YKDz182fd+fY3cn3pMqXQ== - dependencies: - universalify "^2.0.0" - optionalDependencies: - graceful-fs "^4.1.6" - -jsprim@^1.2.2: - version "1.4.2" - resolved "https://registry.yarnpkg.com/jsprim/-/jsprim-1.4.2.tgz#712c65533a15c878ba59e9ed5f0e26d5b77c5feb" - integrity sha512-P2bSOMAc/ciLz6DzgjVlGJP9+BrJWu5UDGK70C2iweC5QBIeFf0ZXRvGjEj2uYgrY2MkAAhsSWHDWlFtEroZWw== - dependencies: - assert-plus "1.0.0" - extsprintf "1.3.0" - json-schema "0.4.0" - verror "1.10.0" - -jsprim@^2.0.2: - version "2.0.2" - resolved "https://registry.yarnpkg.com/jsprim/-/jsprim-2.0.2.tgz#77ca23dbcd4135cd364800d22ff82c2185803d4d" - integrity sha512-gqXddjPqQ6G40VdnI6T6yObEC+pDNvyP95wdQhkWkg7crHH3km5qP1FsOXEkzEQwnz6gz5qGTn1c2Y52wP3OyQ== - dependencies: - assert-plus "1.0.0" - extsprintf "1.3.0" - json-schema "0.4.0" - verror "1.10.0" - -"jsx-ast-utils@^2.4.1 || ^3.0.0": - version "3.3.5" - resolved "https://registry.yarnpkg.com/jsx-ast-utils/-/jsx-ast-utils-3.3.5.tgz#4766bd05a8e2a11af222becd19e15575e52a853a" - integrity sha512-ZZow9HBI5O6EPgSJLUb8n2NKgmVWTwCvHGwFuJlMjvLFqlGG6pjirPhtdsseaLZjSibD8eegzmYpUZwoIlj2cQ== - dependencies: - array-includes "^3.1.6" - array.prototype.flat "^1.3.1" - object.assign "^4.1.4" - object.values "^1.1.6" - -keyv@^4.5.3: - version "4.5.4" - resolved "https://registry.yarnpkg.com/keyv/-/keyv-4.5.4.tgz#a879a99e29452f942439f2a405e3af8b31d4de93" - integrity sha512-oxVHkHR/EJf2CNXnWxRLW6mg7JyCCUcG0DtEGmL2ctUo1PNTin1PUil+r/+4r5MpVgC/fn1kjsx7mjSujKqIpw== - dependencies: - json-buffer "3.0.1" - -kind-of@^6.0.2: - version "6.0.3" - resolved "https://registry.yarnpkg.com/kind-of/-/kind-of-6.0.3.tgz#07c05034a6c349fa06e24fa35aa76db4580ce4dd" - integrity sha512-dcS1ul+9tmeD95T+x28/ehLgd9mENa3LsvDTtzm3vyBEO7RPptvAD+t44WVXaUjTBRcrpFeFlC8WCruUR456hw== - -kleur@^3.0.3: - version "3.0.3" - resolved "https://registry.yarnpkg.com/kleur/-/kleur-3.0.3.tgz#a79c9ecc86ee1ce3fa6206d1216c501f147fc07e" - integrity sha512-eTIzlVOSUR+JxdDFepEYcBMtZ9Qqdef+rnzWdRZuMbOywu5tO2w2N7rqjoANZ5k9vywhL6Br1VRjUIgTQx4E8w== - -klona@^2.0.6: - version "2.0.6" - resolved "https://registry.yarnpkg.com/klona/-/klona-2.0.6.tgz#85bffbf819c03b2f53270412420a4555ef882e22" - integrity sha512-dhG34DXATL5hSxJbIexCft8FChFXtmskoZYnoPWjXQuebWYCNkVeV3KkGegCK9CP1oswI/vQibS2GY7Em/sJJA== - -lazy-ass@^1.6.0: - version "1.6.0" - resolved "https://registry.yarnpkg.com/lazy-ass/-/lazy-ass-1.6.0.tgz#7999655e8646c17f089fdd187d150d3324d54513" - integrity sha512-cc8oEVoctTvsFZ/Oje/kGnHbpWHYBe8IAJe4C0QNc3t8uM/0Y8+erSz/7Y1ALuXTEZTMvxXwO6YbX1ey3ujiZw== - -lerc@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/lerc/-/lerc-3.0.0.tgz#36f36fbd4ba46f0abf4833799fff2e7d6865f5cb" - integrity sha512-Rm4J/WaHhRa93nCN2mwWDZFoRVF18G1f47C+kvQWyHGEZxFpTUi73p7lMVSAndyxGt6lJ2/CFbOcf9ra5p8aww== - -leven@^3.1.0: - version "3.1.0" - resolved "https://registry.yarnpkg.com/leven/-/leven-3.1.0.tgz#77891de834064cccba82ae7842bb6b14a13ed7f2" - integrity sha512-qsda+H8jTaUaN/x5vzW2rzc+8Rw4TAQ/4KjB46IwK5VH+IlVeeeje/EoZRpiXvIqjFgK84QffqPztGI3VBLG1A== - -levn@^0.4.1: - version "0.4.1" - resolved "https://registry.yarnpkg.com/levn/-/levn-0.4.1.tgz#ae4562c007473b932a6200d403268dd2fffc6ade" - integrity sha512-+bT2uH4E5LGE7h/n3evcS/sQlJXCpIp6ym8OWJ5eV6+67Dsql/LaaT7qJBAt2rzfoa/5QBGBhxDix1dMt2kQKQ== - dependencies: - prelude-ls "^1.2.1" - type-check "~0.4.0" - -lines-and-columns@^1.1.6: - version "1.2.4" - resolved "https://registry.yarnpkg.com/lines-and-columns/-/lines-and-columns-1.2.4.tgz#eca284f75d2965079309dc0ad9255abb2ebc1632" - integrity sha512-7ylylesZQ/PV29jhEDl3Ufjo6ZX7gCqJr5F7PKrqc93v7fzSymt1BpwEU8nAUXs8qzzvqhbjhK5QZg6Mt/HkBg== - -listr2@^3.8.3: - version "3.14.0" - resolved "https://registry.yarnpkg.com/listr2/-/listr2-3.14.0.tgz#23101cc62e1375fd5836b248276d1d2b51fdbe9e" - integrity sha512-TyWI8G99GX9GjE54cJ+RrNMcIFBfwMPxc3XTFiAYGN4s10hWROGtOg7+O6u6LE3mNkyld7RSLE6nrKBvTfcs3g== - dependencies: - cli-truncate "^2.1.0" - colorette "^2.0.16" - log-update "^4.0.0" - p-map "^4.0.0" - rfdc "^1.3.0" - rxjs "^7.5.1" - through "^2.3.8" - wrap-ansi "^7.0.0" - -livereload-js@^2.3.0: - version "2.4.0" - resolved "https://registry.yarnpkg.com/livereload-js/-/livereload-js-2.4.0.tgz#447c31cf1ea9ab52fc20db615c5ddf678f78009c" - integrity sha512-XPQH8Z2GDP/Hwz2PCDrh2mth4yFejwA1OZ/81Ti3LgKyhDcEjsSsqFWZojHG0va/duGd+WyosY7eXLDoOyqcPw== - -loader-runner@^4.2.0: - version "4.3.0" - resolved "https://registry.yarnpkg.com/loader-runner/-/loader-runner-4.3.0.tgz#c1b4a163b99f614830353b16755e7149ac2314e1" - integrity sha512-3R/1M+yS3j5ou80Me59j7F9IMs4PXs3VqRrm0TU3AbKPxlmpoY1TNscJV/oGJXo8qCatFGTfDbY6W6ipGOYXfg== - -loader-utils@^2.0.0: - version "2.0.4" - resolved "https://registry.yarnpkg.com/loader-utils/-/loader-utils-2.0.4.tgz#8b5cb38b5c34a9a018ee1fc0e6a066d1dfcc528c" - integrity sha512-xXqpXoINfFhgua9xiqD8fPFHgkoq1mmmpE92WlDbm9rNRd/EbRb+Gqf908T2DMfuHjjJlksiK2RbHVOdD/MqSw== - dependencies: - big.js "^5.2.2" - emojis-list "^3.0.0" - json5 "^2.1.2" - -locate-path@^5.0.0: - version "5.0.0" - resolved "https://registry.yarnpkg.com/locate-path/-/locate-path-5.0.0.tgz#1afba396afd676a6d42504d0a67a3a7eb9f62aa0" - integrity sha512-t7hw9pI+WvuwNJXwk5zVHpyhIqzg2qTlklJOf0mVxGSbe3Fp2VieZcduNYjaLDoy6p9uGpQEGWG87WpMKlNq8g== - dependencies: - p-locate "^4.1.0" - -locate-path@^6.0.0: - version "6.0.0" - resolved "https://registry.yarnpkg.com/locate-path/-/locate-path-6.0.0.tgz#55321eb309febbc59c4801d931a72452a681d286" - integrity sha512-iPZK6eYjbxRu3uB4/WZ3EsEIMJFMqAoopl3R+zuq0UjcAm/MO6KCweDgPfP3elTztoKP3KtnVHxTn2NHBSDVUw== - dependencies: - p-locate "^5.0.0" - -lodash.debounce@^4.0.8: - version "4.0.8" - resolved "https://registry.yarnpkg.com/lodash.debounce/-/lodash.debounce-4.0.8.tgz#82d79bff30a67c4005ffd5e2515300ad9ca4d7af" - integrity sha512-FT1yDzDYEoYWhnSGnpE/4Kj1fLZkDFyqRb7fNt6FdYOSxlUWAtp42Eh6Wb0rGIv/m9Bgo7x4GhQbm5Ys4SG5ow== - -lodash.isequal@^4.0.0: - version "4.5.0" - resolved "https://registry.yarnpkg.com/lodash.isequal/-/lodash.isequal-4.5.0.tgz#415c4478f2bcc30120c22ce10ed3226f7d3e18e0" - integrity sha512-pDo3lu8Jhfjqls6GkMgpahsF9kCyayhgykjyLMNFTKWrpVdAQtYyB4muAMWozBB4ig/dtWAmsMxLEI8wuz+DYQ== - -lodash.memoize@^4.1.1: - version "4.1.2" - resolved "https://registry.yarnpkg.com/lodash.memoize/-/lodash.memoize-4.1.2.tgz#bcc6c49a42a2840ed997f323eada5ecd182e0bfe" - integrity sha512-t7j+NzmgnQzTAYXcsHYLgimltOV1MXHtlOWf6GjL9Kj8GK5FInw5JotxvbOs+IvV1/Dzo04/fCGfLVs7aXb4Ag== - -lodash.merge@^4.6.2: - version "4.6.2" - resolved "https://registry.yarnpkg.com/lodash.merge/-/lodash.merge-4.6.2.tgz#558aa53b43b661e1925a0afdfa36a9a1085fe57a" - integrity sha512-0KpjqXRVvrYyCsX1swR/XTK0va6VQkQM6MNo7PqW77ByjAhoARA8EfrP1N4+KlKj8YS0ZUCtRT/YUuhyYDujIQ== - -lodash.once@^4.1.1: - version "4.1.1" - resolved "https://registry.yarnpkg.com/lodash.once/-/lodash.once-4.1.1.tgz#0dd3971213c7c56df880977d504c88fb471a97ac" - integrity sha512-Sb487aTOCr9drQVL8pIxOzVhafOjZN9UU54hiN8PU3uAiSV7lx1yYNpbNmex2PK6dSJoNTSJUUswT651yww3Mg== - -lodash@4.17.21, lodash@^4.1.1, lodash@^4.17.14, lodash@^4.17.15, lodash@^4.17.20, lodash@^4.17.21, lodash@^4.17.4: - version "4.17.21" - resolved "https://registry.yarnpkg.com/lodash/-/lodash-4.17.21.tgz#679591c564c3bffaae8454cf0b3df370c3d6911c" - integrity sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg== - -log-symbols@4.1.0, log-symbols@^4.0.0: - version "4.1.0" - resolved "https://registry.yarnpkg.com/log-symbols/-/log-symbols-4.1.0.tgz#3fbdbb95b4683ac9fc785111e792e558d4abd503" - integrity sha512-8XPvpAA8uyhfteu8pIvQxpJZ7SYYdpUivZpGy6sFsBuKRY/7rQGavedeB8aK+Zkyq6upMFVL/9AW6vOYzfRyLg== - dependencies: - chalk "^4.1.0" - is-unicode-supported "^0.1.0" - -log-update@^4.0.0: - version "4.0.0" - resolved "https://registry.yarnpkg.com/log-update/-/log-update-4.0.0.tgz#589ecd352471f2a1c0c570287543a64dfd20e0a1" - integrity sha512-9fkkDevMefjg0mmzWFBW8YkFP91OrizzkW3diF7CpG+S2EYdy4+TVfGwz1zeF8x7hCx1ovSPTOE9Ngib74qqUg== - dependencies: - ansi-escapes "^4.3.0" - cli-cursor "^3.1.0" - slice-ansi "^4.0.0" - wrap-ansi "^6.2.0" - -log4js@1.1.1: - version "1.1.1" - resolved "https://registry.yarnpkg.com/log4js/-/log4js-1.1.1.tgz#c21d29c7604089e4f255833e7f94b3461de1ff43" - integrity sha512-lYb14ZSs1M/CUFuvy7Zk3VZLDtqrqOaVql9CE0tv8g6/qE1Gfq97XKdltBsjSxxvcJ+t8fAXOnvFxSsms7gGVg== - dependencies: - debug "^2.2.0" - semver "^5.3.0" - streamroller "^0.4.0" - -loose-envify@^1.0.0, loose-envify@^1.1.0, loose-envify@^1.2.0, loose-envify@^1.3.1, loose-envify@^1.4.0: - version "1.4.0" - resolved "https://registry.yarnpkg.com/loose-envify/-/loose-envify-1.4.0.tgz#71ee51fa7be4caec1a63839f7e682d8132d30caf" - integrity sha512-lyuxPGr/Wfhrlem2CL/UcnUc1zcqKAImBDzukY7Y5F/yQiNdko6+fRLevlw1HgMySw7f611UIY408EtxRSoK3Q== - dependencies: - js-tokens "^3.0.0 || ^4.0.0" - -lru-cache@^5.1.1: - version "5.1.1" - resolved "https://registry.yarnpkg.com/lru-cache/-/lru-cache-5.1.1.tgz#1da27e6710271947695daf6848e847f01d84b920" - integrity sha512-KpNARQA3Iwv+jTA0utUVVbrh+Jlrr1Fv0e56GGzAFOXN7dk/FviaDW8LHmK52DlcH4WP2n6gI8vN1aesBFgo9w== - dependencies: - yallist "^3.0.2" - -lru-cache@^6.0.0: - version "6.0.0" - resolved "https://registry.yarnpkg.com/lru-cache/-/lru-cache-6.0.0.tgz#6d6fe6570ebd96aaf90fcad1dafa3b2566db3a94" - integrity sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA== - dependencies: - yallist "^4.0.0" - -"lru-cache@^9.1.1 || ^10.0.0": - version "10.1.0" - resolved "https://registry.yarnpkg.com/lru-cache/-/lru-cache-10.1.0.tgz#2098d41c2dc56500e6c88584aa656c84de7d0484" - integrity sha512-/1clY/ui8CzjKFyjdvwPWJUYKiFVXG2I2cY0ssG7h4+hwk+XOIX7ZSG9Q7TW8TW3Kp3BUSqgFWBLgL4PJ+Blag== - -lz-string@^1.5.0: - version "1.5.0" - resolved "https://registry.yarnpkg.com/lz-string/-/lz-string-1.5.0.tgz#c1ab50f77887b712621201ba9fd4e3a6ed099941" - integrity sha512-h5bgJWpxJNswbU7qCrV0tIKQCaS3blPDrqKWx+QxzuzL1zGUzij9XCWLrSLsJPu5t+eWA/ycetzYAO5IOMcWAQ== - -make-dir@^3.0.2: - version "3.1.0" - resolved "https://registry.yarnpkg.com/make-dir/-/make-dir-3.1.0.tgz#415e967046b3a7f1d185277d84aa58203726a13f" - integrity sha512-g3FeP20LNwhALb/6Cz6Dd4F2ngze0jz7tbzrD2wAV+o9FeNHe4rL+yK2md0J/fiSf1sa1ADhXqi5+oVwOM/eGw== - dependencies: - semver "^6.0.0" - -make-dir@^4.0.0: - version "4.0.0" - resolved "https://registry.yarnpkg.com/make-dir/-/make-dir-4.0.0.tgz#c3c2307a771277cd9638305f915c29ae741b614e" - integrity sha512-hXdUTZYIVOt1Ex//jAQi+wTZZpUpwBj/0QsOzqegb3rGMMeJiSEu5xLHnYfBrRV4RH2+OCSOO95Is/7x1WJ4bw== - dependencies: - semver "^7.5.3" - -make-error@^1.1.1: - version "1.3.6" - resolved "https://registry.yarnpkg.com/make-error/-/make-error-1.3.6.tgz#2eb2e37ea9b67c4891f684a1394799af484cf7a2" - integrity sha512-s8UhlNe7vPKomQhC1qFelMokr/Sc3AgNbso3n74mVPA5LTZwkB9NlXf4XPamLxJE8h0gh73rM94xvwRT2CVInw== - -makeerror@1.0.12: - version "1.0.12" - resolved "https://registry.yarnpkg.com/makeerror/-/makeerror-1.0.12.tgz#3e5dd2079a82e812e983cc6610c4a2cb0eaa801a" - integrity sha512-JmqCvUhmt43madlpFzG4BQzG2Z3m6tvQDNKdClZnO3VbIudJYmxsT0FNJMeiB2+JTSlTQTSbU8QdesVmwJcmLg== - dependencies: - tmpl "1.0.5" - -mapbox-to-css-font@^2.4.1: - version "2.4.2" - resolved "https://registry.yarnpkg.com/mapbox-to-css-font/-/mapbox-to-css-font-2.4.2.tgz#a9e31b363ad8ca881cd339ca99f2d2a6b02ea5dd" - integrity sha512-f+NBjJJY4T3dHtlEz1wCG7YFlkODEjFIYlxDdLIDMNpkSksqTt+l/d4rjuwItxuzkuMFvPyrjzV2lxRM4ePcIA== - -marked@4.2.12: - version "4.2.12" - resolved "https://registry.yarnpkg.com/marked/-/marked-4.2.12.tgz#d69a64e21d71b06250da995dcd065c11083bebb5" - integrity sha512-yr8hSKa3Fv4D3jdZmtMMPghgVt6TWbk86WQaWhDloQjRSQhMMYCAro7jP7VDJrjjdV8pxVxMssXS8B8Y5DZ5aw== - -mdn-data@2.0.14: - version "2.0.14" - resolved "https://registry.yarnpkg.com/mdn-data/-/mdn-data-2.0.14.tgz#7113fc4281917d63ce29b43446f701e68c25ba50" - integrity sha512-dn6wd0uw5GsdswPFfsgMp5NSB0/aDe6fK94YJV/AJDYXL6HVLWBsxeq7js7Ad+mU2K9LAlwpk6kN2D5mwCPVow== - -memfs@^3.4.1: - version "3.6.0" - resolved "https://registry.yarnpkg.com/memfs/-/memfs-3.6.0.tgz#d7a2110f86f79dd950a8b6df6d57bc984aa185f6" - integrity sha512-EGowvkkgbMcIChjMTMkESFDbZeSh8xZ7kNSF0hAiAN4Jh6jgHCRS0Ga/+C8y6Au+oqpezRHCfPsmJ2+DwAgiwQ== - dependencies: - fs-monkey "^1.0.4" - -memoize-one@6.0.0, memoize-one@^6.0.0: - version "6.0.0" - resolved "https://registry.yarnpkg.com/memoize-one/-/memoize-one-6.0.0.tgz#b2591b871ed82948aee4727dc6abceeeac8c1045" - integrity sha512-rkpe71W0N0c0Xz6QD0eJETuWAJGnJ9afsl1srmwPrI+yBCkge5EycXXbYRyvL29zZVUWQCY7InPRCv3GDXuZNw== - -"memoize-one@>=3.1.1 <6", memoize-one@^5.1.1: - version "5.2.1" - resolved "https://registry.yarnpkg.com/memoize-one/-/memoize-one-5.2.1.tgz#8337aa3c4335581839ec01c3d594090cebe8f00e" - integrity sha512-zYiwtZUcYyXKo/np96AGZAckk+FWWsUdJ3cHGGmld7+AhvcWmQyGCYUh1hc4Q/pkOhb65dQR/pqCyK0cOaHz4Q== - -memoize-one@^4.0.0: - version "4.1.0" - resolved "https://registry.yarnpkg.com/memoize-one/-/memoize-one-4.1.0.tgz#a2387c58c03fff27ca390c31b764a79addf3f906" - integrity sha512-2GApq0yI/b22J2j9rhbrAlsHb0Qcz+7yWxeLG8h+95sl1XPUgeLimQSOdur4Vw7cUhrBHwaUZxWFZueojqNRzA== - -memory-fs@^0.5.0: - version "0.5.0" - resolved "https://registry.yarnpkg.com/memory-fs/-/memory-fs-0.5.0.tgz#324c01288b88652966d161db77838720845a8e3c" - integrity sha512-jA0rdU5KoQMC0e6ppoNRtpp6vjFq6+NY7r8hywnC7V+1Xj/MtHwGIbB1QaK/dunyjWteJzmkpd7ooeWg10T7GA== - dependencies: - errno "^0.1.3" - readable-stream "^2.0.1" - -merge-stream@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/merge-stream/-/merge-stream-2.0.0.tgz#52823629a14dd00c9770fb6ad47dc6310f2c1f60" - integrity sha512-abv/qOcuPfk3URPfDzmZU1LKmuw8kT+0nIHvKrKgFrwifol/doWcdA4ZqsWQ8ENrFKkd67Mfpo/LovbIUsbt3w== - -merge2@^1.3.0, merge2@^1.4.1: - version "1.4.1" - resolved "https://registry.yarnpkg.com/merge2/-/merge2-1.4.1.tgz#4368892f885e907455a6fd7dc55c0c9d404990ae" - integrity sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg== - -micromatch@^4.0.0, micromatch@^4.0.4, micromatch@^4.0.5: - version "4.0.5" - resolved "https://registry.yarnpkg.com/micromatch/-/micromatch-4.0.5.tgz#bc8999a7cbbf77cdc89f132f6e467051b49090c6" - integrity sha512-DMy+ERcEW2q8Z2Po+WNXuw3c5YaUSFjAO5GsJqfEl7UjvtIuFKO6ZrKvcItdy98dwFI2N1tg3zNIdKaQT+aNdA== - dependencies: - braces "^3.0.2" - picomatch "^2.3.1" - -mime-db@1.52.0: - version "1.52.0" - resolved "https://registry.yarnpkg.com/mime-db/-/mime-db-1.52.0.tgz#bbabcdc02859f4987301c856e3387ce5ec43bf70" - integrity sha512-sPU4uV7dYlvtWJxwwxHD0PuihVNiE7TyAbQ5SWxDCB9mUYvOgroQOwYQQOKPJ8CIbE+1ETVlOoK1UC2nU3gYvg== - -mime-types@^2.1.12, mime-types@^2.1.27, mime-types@~2.1.19: - version "2.1.35" - resolved "https://registry.yarnpkg.com/mime-types/-/mime-types-2.1.35.tgz#381a871b62a734450660ae3deee44813f70d959a" - integrity sha512-ZDY+bPm5zTTF+YpCrAU9nK0UgICYPT0QtT1NZWFv4s++TNkcgVaT0g6+4R2uI4MjQjzysHB1zxuWL50hzaeXiw== - dependencies: - mime-db "1.52.0" - -mimic-fn@^2.1.0: - version "2.1.0" - resolved "https://registry.yarnpkg.com/mimic-fn/-/mimic-fn-2.1.0.tgz#7ed2c2ccccaf84d3ffcb7a69b57711fc2083401b" - integrity sha512-OqbOk5oEQeAZ8WXWydlu9HJjz9WVdEIvamMCcXmuqUYjTknH/sqsWvhQ3vgwKFRR1HpjvNBKQ37nbJgYzGqGcg== - -min-indent@^1.0.0: - version "1.0.1" - resolved "https://registry.yarnpkg.com/min-indent/-/min-indent-1.0.1.tgz#a63f681673b30571fbe8bc25686ae746eefa9869" - integrity sha512-I9jwMn07Sy/IwOj3zVkVik2JTvgpaykDZEigL6Rx6N9LbMywwUSMtxET+7lVoDLLd3O3IXwJwvuuns8UB/HeAg== - -mini-create-react-context@^0.4.0: - version "0.4.1" - resolved "https://registry.yarnpkg.com/mini-create-react-context/-/mini-create-react-context-0.4.1.tgz#072171561bfdc922da08a60c2197a497cc2d1d5e" - integrity sha512-YWCYEmd5CQeHGSAKrYvXgmzzkrvssZcuuQDDeqkT+PziKGMgE+0MCCtcKbROzocGBG1meBLl2FotlRwf4gAzbQ== - dependencies: - "@babel/runtime" "^7.12.1" - tiny-warning "^1.0.3" - -minimatch@5.0.1: - version "5.0.1" - resolved "https://registry.yarnpkg.com/minimatch/-/minimatch-5.0.1.tgz#fb9022f7528125187c92bd9e9b6366be1cf3415b" - integrity sha512-nLDxIFRyhDblz3qMuq+SoRZED4+miJ/G+tdDrjkkkRnjAsBexeGpgjLEQ0blJy7rHhR2b93rhQY4SvyWu9v03g== - dependencies: - brace-expansion "^2.0.1" - -minimatch@9.0.3, minimatch@^9.0.1: - version "9.0.3" - resolved "https://registry.yarnpkg.com/minimatch/-/minimatch-9.0.3.tgz#a6e00c3de44c3a542bfaae70abfc22420a6da825" - integrity sha512-RHiac9mvaRw0x3AYRgDC1CxAP7HTcNrrECeA8YYJeWnpo+2Q5CegtZjaotWTWxDG3UeGA1coE05iH1mPjT/2mg== - dependencies: - brace-expansion "^2.0.1" - -minimatch@^3.0.4, minimatch@^3.0.5, minimatch@^3.1.1, minimatch@^3.1.2: - version "3.1.2" - resolved "https://registry.yarnpkg.com/minimatch/-/minimatch-3.1.2.tgz#19cd194bfd3e428f049a70817c038d89ab4be35b" - integrity sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw== - dependencies: - brace-expansion "^1.1.7" - -minimatch@^8.0.2: - version "8.0.4" - resolved "https://registry.yarnpkg.com/minimatch/-/minimatch-8.0.4.tgz#847c1b25c014d4e9a7f68aaf63dedd668a626229" - integrity sha512-W0Wvr9HyFXZRGIDgCicunpQ299OKXs9RgZfaukz4qAW/pJhcpUfupc9c+OObPOFueNy8VSrZgEmDtk6Kh4WzDA== - dependencies: - brace-expansion "^2.0.1" - -minimist@^1.2.5, minimist@^1.2.6: - version "1.2.8" - resolved "https://registry.yarnpkg.com/minimist/-/minimist-1.2.8.tgz#c1a464e7693302e082a075cee0c057741ac4772c" - integrity sha512-2yyAR8qBkN3YuheJanUpWC5U3bb5osDywNB8RzDVlDwDHbocAJveqqj1u8+SVD7jkWT4yvsHCpWqqWqAxb0zCA== - -minipass@^4.2.4: - version "4.2.8" - resolved "https://registry.yarnpkg.com/minipass/-/minipass-4.2.8.tgz#f0010f64393ecfc1d1ccb5f582bcaf45f48e1a3a" - integrity sha512-fNzuVyifolSLFL4NzpF+wEF4qrgqaaKX0haXPQEdQ7NKAN+WecoKMHV09YcuL/DHxrUsYQOK3MiuDf7Ip2OXfQ== - -"minipass@^5.0.0 || ^6.0.2 || ^7.0.0": - version "7.0.4" - resolved "https://registry.yarnpkg.com/minipass/-/minipass-7.0.4.tgz#dbce03740f50a4786ba994c1fb908844d27b038c" - integrity sha512-jYofLM5Dam9279rdkWzqHozUo4ybjdZmCsDHePy5V/PbBcVMiSZR97gmAy45aqi8CK1lG2ECd356FU86avfwUQ== - -mkdirp@^0.5.1, mkdirp@^0.5.6: - version "0.5.6" - resolved "https://registry.yarnpkg.com/mkdirp/-/mkdirp-0.5.6.tgz#7def03d2432dcae4ba1d611445c48396062255f6" - integrity sha512-FP+p8RB8OWpF3YZBCrP5gtADmtXApB5AMLn+vdyA+PyxCjrCs00mjyUozssO33cwDeT3wNGdLxJ5M//YqtHAJw== - dependencies: - minimist "^1.2.6" - -mocha@10.2.0: - version "10.2.0" - resolved "https://registry.yarnpkg.com/mocha/-/mocha-10.2.0.tgz#1fd4a7c32ba5ac372e03a17eef435bd00e5c68b8" - integrity sha512-IDY7fl/BecMwFHzoqF2sg/SHHANeBoMMXFlS9r0OXKDssYE1M5O43wUY/9BVPeIvfH2zmEbBfseqN9gBQZzXkg== - dependencies: - ansi-colors "4.1.1" - browser-stdout "1.3.1" - chokidar "3.5.3" - debug "4.3.4" - diff "5.0.0" - escape-string-regexp "4.0.0" - find-up "5.0.0" - glob "7.2.0" - he "1.2.0" - js-yaml "4.1.0" - log-symbols "4.1.0" - minimatch "5.0.1" - ms "2.1.3" - nanoid "3.3.3" - serialize-javascript "6.0.0" - strip-json-comments "3.1.1" - supports-color "8.1.1" - workerpool "6.2.1" - yargs "16.2.0" - yargs-parser "20.2.4" - yargs-unparser "2.0.0" - -moment-timezone@0.5.41: - version "0.5.41" - resolved "https://registry.yarnpkg.com/moment-timezone/-/moment-timezone-0.5.41.tgz#a7ad3285fd24aaf5f93b8119a9d749c8039c64c5" - integrity sha512-e0jGNZDOHfBXJGz8vR/sIMXvBIGJJcqFjmlg9lmE+5KX1U7/RZNMswfD8nKnNCnQdKTIj50IaRKwl1fvMLyyRg== - dependencies: - moment "^2.29.4" - -moment@2.29.4: - version "2.29.4" - resolved "https://registry.yarnpkg.com/moment/-/moment-2.29.4.tgz#3dbe052889fe7c1b2ed966fcb3a77328964ef108" - integrity sha512-5LC9SOxjSc2HF6vO2CyuTDNivEdoz2IvyJJGj6X8DJ0eFyfszE0QiEd+iXmBvUP3WHxSjFH/vIsA0EN00cgr8w== - -moment@2.x, moment@^2.29.4: - version "2.30.1" - resolved "https://registry.yarnpkg.com/moment/-/moment-2.30.1.tgz#f8c91c07b7a786e30c59926df530b4eac96974ae" - integrity sha512-uEmtNhbDOrWPFS+hdjFCBfy9f2YoyzRpwcl+DqpC6taX21FzsTLQVbMV/W7PzNSX6x/bhC1zA3c2UQ5NzH6how== - -monaco-editor@0.34.0: - version "0.34.0" - resolved "https://registry.yarnpkg.com/monaco-editor/-/monaco-editor-0.34.0.tgz#b1749870a1f795dbfc4dc03d8e9b646ddcbeefa7" - integrity sha512-VF+S5zG8wxfinLKLrWcl4WUizMx+LeJrG4PM/M78OhcwocpV0jiyhX/pG6Q9jIOhrb/ckYi6nHnaR5OojlOZCQ== - -ms@2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/ms/-/ms-2.0.0.tgz#5608aeadfc00be6c2901df5f9861788de0d597c8" - integrity sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A== - -ms@2.1.2: - version "2.1.2" - resolved "https://registry.yarnpkg.com/ms/-/ms-2.1.2.tgz#d09d1f357b443f493382a8eb3ccd183872ae6009" - integrity sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w== - -ms@2.1.3, ms@^2.1.1: - version "2.1.3" - resolved "https://registry.yarnpkg.com/ms/-/ms-2.1.3.tgz#574c8138ce1d2b5861f0b44579dbadd60c6615b2" - integrity sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA== - -murmurhash-js@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/murmurhash-js/-/murmurhash-js-1.0.0.tgz#b06278e21fc6c37fa5313732b0412bcb6ae15f51" - integrity sha512-TvmkNhkv8yct0SVBSy+o8wYzXjE4Zz3PCesbfs8HiCXXdcTuocApFv11UWlNFWKYsP2okqrhb7JNlSm9InBhIw== - -nano-css@^5.3.1: - version "5.6.1" - resolved "https://registry.yarnpkg.com/nano-css/-/nano-css-5.6.1.tgz#964120cb1af6cccaa6d0717a473ccd876b34c197" - integrity sha512-T2Mhc//CepkTa3X4pUhKgbEheJHYAxD0VptuqFhDbGMUWVV2m+lkNiW/Ieuj35wrfC8Zm0l7HvssQh7zcEttSw== - dependencies: - "@jridgewell/sourcemap-codec" "^1.4.15" - css-tree "^1.1.2" - csstype "^3.1.2" - fastest-stable-stringify "^2.0.2" - inline-style-prefixer "^7.0.0" - rtl-css-js "^1.16.1" - stacktrace-js "^2.0.2" - stylis "^4.3.0" - -nanoid@3.3.3: - version "3.3.3" - resolved "https://registry.yarnpkg.com/nanoid/-/nanoid-3.3.3.tgz#fd8e8b7aa761fe807dba2d1b98fb7241bb724a25" - integrity sha512-p1sjXuopFs0xg+fPASzQ28agW1oHD7xDsd9Xkf3T15H3c/cifrFHVwrh74PdoklAPi+i7MdRsE47vm2r6JoB+w== - -nanoid@^3.3.7: - version "3.3.7" - resolved "https://registry.yarnpkg.com/nanoid/-/nanoid-3.3.7.tgz#d0c301a691bc8d54efa0a2226ccf3fe2fd656bd8" - integrity sha512-eSRppjcPIatRIMC1U6UngP8XFcz8MQWGQdt1MTBQ7NaAmvXDfvNxbvWV3x2y6CdEUciCSsDHDQZbhYaB8QEo2g== - -natural-compare-lite@^1.4.0: - version "1.4.0" - resolved "https://registry.yarnpkg.com/natural-compare-lite/-/natural-compare-lite-1.4.0.tgz#17b09581988979fddafe0201e931ba933c96cbb4" - integrity sha512-Tj+HTDSJJKaZnfiuw+iaF9skdPpTo2GtEly5JHnWV/hfv2Qj/9RKsGISQtLh2ox3l5EAGw487hnBee0sIJ6v2g== - -natural-compare@^1.4.0: - version "1.4.0" - resolved "https://registry.yarnpkg.com/natural-compare/-/natural-compare-1.4.0.tgz#4abebfeed7541f2c27acfb29bdbbd15c8d5ba4f7" - integrity sha512-OWND8ei3VtNC9h7V60qff3SVobHr996CTwgxubgyQYEpg290h9J0buyECNNJexkFm5sOajh5G116RYA1c8ZMSw== - -neo-async@^2.6.2: - version "2.6.2" - resolved "https://registry.yarnpkg.com/neo-async/-/neo-async-2.6.2.tgz#b4aafb93e3aeb2d8174ca53cf163ab7d7308305f" - integrity sha512-Yd3UES5mWCSqR+qNT93S3UoYUkqAZ9lLg8a7g9rimsWmYGK8cVToA4/sF3RrshdyV3sAGMXVUmpMYOw+dLpOuw== - -node-abort-controller@^3.0.1: - version "3.1.1" - resolved "https://registry.yarnpkg.com/node-abort-controller/-/node-abort-controller-3.1.1.tgz#a94377e964a9a37ac3976d848cb5c765833b8548" - integrity sha512-AGK2yQKIjRuqnc6VkX2Xj5d+QW8xZ87pa1UK6yA6ouUyuxfHuMP6umE5QK7UmTeOAymo+Zx1Fxiuw9rVx8taHQ== - -node-int64@^0.4.0: - version "0.4.0" - resolved "https://registry.yarnpkg.com/node-int64/-/node-int64-0.4.0.tgz#87a9065cdb355d3182d8f94ce11188b825c68a3b" - integrity sha512-O5lz91xSOeoXP6DulyHfllpq+Eg00MWitZIbtPfoSEvqIHdl5gfcY6hYzDWnj0qD5tz52PI08u9qUvSVeUBeHw== - -node-releases@^2.0.14: - version "2.0.14" - resolved "https://registry.yarnpkg.com/node-releases/-/node-releases-2.0.14.tgz#2ffb053bceb8b2be8495ece1ab6ce600c4461b0b" - integrity sha512-y10wOWt8yZpqXmOgRo77WaHEmhYQYGNA6y421PKsKYWEK8aW+cqAphborZDhqfyKrbZEN92CN1X2KbafY2s7Yw== - -normalize-path@^3.0.0, normalize-path@~3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/normalize-path/-/normalize-path-3.0.0.tgz#0dcd69ff23a1c9b11fd0978316644a0388216a65" - integrity sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA== - -npm-run-path@^4.0.0, npm-run-path@^4.0.1: - version "4.0.1" - resolved "https://registry.yarnpkg.com/npm-run-path/-/npm-run-path-4.0.1.tgz#b7ecd1e5ed53da8e37a55e1c2269e0b97ed748ea" - integrity sha512-S48WzZW777zhNIrn7gxOlISNAqi9ZC/uQFnRdbeIHhZhCA6UqpkOT8T1G7BvfdgP4Er8gF4sUbaS0i7QvIfCWw== - dependencies: - path-key "^3.0.0" - -nwsapi@^2.2.2: - version "2.2.7" - resolved "https://registry.yarnpkg.com/nwsapi/-/nwsapi-2.2.7.tgz#738e0707d3128cb750dddcfe90e4610482df0f30" - integrity sha512-ub5E4+FBPKwAZx0UwIQOjYWGHTEq5sPqHQNRN8Z9e4A7u3Tj1weLJsL59yH9vmvqEtBHaOmT6cYQKIZOxp35FQ== - -oauth-sign@~0.9.0: - version "0.9.0" - resolved "https://registry.yarnpkg.com/oauth-sign/-/oauth-sign-0.9.0.tgz#47a7b016baa68b5fa0ecf3dee08a85c679ac6455" - integrity sha512-fexhUFFPTGV8ybAtSIGbV6gOkSv8UtRbDBnAyLQw4QPKkgNlsH2ByPGtMUqdWkos6YCRmAqViwgZrJc/mRDzZQ== - -object-assign@4.x, object-assign@^4.1.0, object-assign@^4.1.1: - version "4.1.1" - resolved "https://registry.yarnpkg.com/object-assign/-/object-assign-4.1.1.tgz#2109adc7965887cfc05cbbd442cac8bfbb360863" - integrity sha512-rJgTQnkUnH1sFw8yT6VSU3zD3sWmu6sZhIseY8VX+GRu3P6F7Fu+JNDoXfklElbLJSnc3FUQHVe4cU5hj+BcUg== - -object-inspect@^1.13.1, object-inspect@^1.9.0: - version "1.13.1" - resolved "https://registry.yarnpkg.com/object-inspect/-/object-inspect-1.13.1.tgz#b96c6109324ccfef6b12216a956ca4dc2ff94bc2" - integrity sha512-5qoj1RUiKOMsCCNLV1CBiPYE10sziTsnmNxkAI/rZhiD63CF7IqdFGC/XzjWjpSgLf0LxXX3bDFIh0E18f6UhQ== - -object-is@^1.1.5: - version "1.1.5" - resolved "https://registry.yarnpkg.com/object-is/-/object-is-1.1.5.tgz#b9deeaa5fc7f1846a0faecdceec138e5778f53ac" - integrity sha512-3cyDsyHgtmi7I7DfSSI2LDp6SK2lwvtbg0p0R1e0RvTqF5ceGx+K2dfSjm1bKDMVCFEDAQvy+o8c6a7VujOddw== - dependencies: - call-bind "^1.0.2" - define-properties "^1.1.3" - -object-keys@^1.1.1: - version "1.1.1" - resolved "https://registry.yarnpkg.com/object-keys/-/object-keys-1.1.1.tgz#1c47f272df277f3b1daf061677d9c82e2322c60e" - integrity sha512-NuAESUOUMrlIXOfHKzD6bpPu3tYt3xvjNdRIQ+FeT0lNb4K8WR70CaDxhuNguS2XG+GjkyMwOzsN5ZktImfhLA== - -object.assign@^4.1.4: - version "4.1.5" - resolved "https://registry.yarnpkg.com/object.assign/-/object.assign-4.1.5.tgz#3a833f9ab7fdb80fc9e8d2300c803d216d8fdbb0" - integrity sha512-byy+U7gp+FVwmyzKPYhW2h5l3crpmGsxl7X2s8y43IgxvG4g3QZ6CffDtsNQy1WsmZpQbO+ybo0AlW7TY6DcBQ== - dependencies: - call-bind "^1.0.5" - define-properties "^1.2.1" - has-symbols "^1.0.3" - object-keys "^1.1.1" - -object.entries@^1.1.6: - version "1.1.7" - resolved "https://registry.yarnpkg.com/object.entries/-/object.entries-1.1.7.tgz#2b47760e2a2e3a752f39dd874655c61a7f03c131" - integrity sha512-jCBs/0plmPsOnrKAfFQXRG2NFjlhZgjjcBLSmTnEhU8U6vVTsVe8ANeQJCHTl3gSsI4J+0emOoCgoKlmQPMgmA== - dependencies: - call-bind "^1.0.2" - define-properties "^1.2.0" - es-abstract "^1.22.1" - -object.fromentries@^2.0.6: - version "2.0.7" - resolved "https://registry.yarnpkg.com/object.fromentries/-/object.fromentries-2.0.7.tgz#71e95f441e9a0ea6baf682ecaaf37fa2a8d7e616" - integrity sha512-UPbPHML6sL8PI/mOqPwsH4G6iyXcCGzLin8KvEPenOZN5lpCNBZZQ+V62vdjB1mQHrmqGQt5/OJzemUA+KJmEA== - dependencies: - call-bind "^1.0.2" - define-properties "^1.2.0" - es-abstract "^1.22.1" - -object.hasown@^1.1.2: - version "1.1.3" - resolved "https://registry.yarnpkg.com/object.hasown/-/object.hasown-1.1.3.tgz#6a5f2897bb4d3668b8e79364f98ccf971bda55ae" - integrity sha512-fFI4VcYpRHvSLXxP7yiZOMAd331cPfd2p7PFDVbgUsYOfCT3tICVqXWngbjr4m49OvsBwUBQ6O2uQoJvy3RexA== - dependencies: - define-properties "^1.2.0" - es-abstract "^1.22.1" - -object.values@^1.1.6: - version "1.1.7" - resolved "https://registry.yarnpkg.com/object.values/-/object.values-1.1.7.tgz#617ed13272e7e1071b43973aa1655d9291b8442a" - integrity sha512-aU6xnDFYT3x17e/f0IiiwlGPTy2jzMySGfUB4fq6z7CV8l85CWHDk5ErhyhpfDHhrOMwGFhSQkhMGHaIotA6Ng== - dependencies: - call-bind "^1.0.2" - define-properties "^1.2.0" - es-abstract "^1.22.1" - -ol-mapbox-style@^9.2.0: - version "9.7.0" - resolved "https://registry.yarnpkg.com/ol-mapbox-style/-/ol-mapbox-style-9.7.0.tgz#38a4f7abc8f0a94f378dcdb7cefdcc69ca3f6287" - integrity sha512-YX3u8FBJHsRHaoGxmd724Mp5WPTuV7wLQW6zZhcihMuInsSdCX1EiZfU+8IAL7jG0pbgl5YgC0aWE/MXJcUXxg== - dependencies: - "@mapbox/mapbox-gl-style-spec" "^13.23.1" - mapbox-to-css-font "^2.4.1" - -ol@7.2.2: - version "7.2.2" - resolved "https://registry.yarnpkg.com/ol/-/ol-7.2.2.tgz#d675a1525fd995a29a70a9a9fa9c3a9bc827aa39" - integrity sha512-eqJ1hhVQQ3Ap4OhYq9DRu5pz9RMpLhmoTauDoIqpn7logVi1AJE+lXjEHrPrTSuZYjtFbMgqr07sxoLNR65nrw== - dependencies: - earcut "^2.2.3" - geotiff "^2.0.7" - ol-mapbox-style "^9.2.0" - pbf "3.2.1" - rbush "^3.0.1" - -once@^1.3.0, once@^1.3.1, once@^1.4.0: - version "1.4.0" - resolved "https://registry.yarnpkg.com/once/-/once-1.4.0.tgz#583b1aa775961d4b113ac17d9c50baef9dd76bd1" - integrity sha512-lNaJgI+2Q5URQBkccEKHTQOPaXdUxnZZElQTZY0MFUAuaEqe1E+Nyvgdz/aIyNi6Z9MzO5dv1H8n58/GELp3+w== - dependencies: - wrappy "1" - -onetime@^5.1.0, onetime@^5.1.2: - version "5.1.2" - resolved "https://registry.yarnpkg.com/onetime/-/onetime-5.1.2.tgz#d0e96ebb56b07476df1dd9c4806e5237985ca45e" - integrity sha512-kbpaSSGJTWdAY5KPVeMOKXSrPtr8C8C7wodJbcsd51jRnmD+GZu8Y0VoU6Dm5Z4vWr0Ig/1NKuWRKf7j5aaYSg== - dependencies: - mimic-fn "^2.1.0" - -optionator@^0.9.1: - version "0.9.3" - resolved "https://registry.yarnpkg.com/optionator/-/optionator-0.9.3.tgz#007397d44ed1872fdc6ed31360190f81814e2c64" - integrity sha512-JjCoypp+jKn1ttEFExxhetCKeJt9zhAgAve5FXHixTvFDW/5aEktX9bufBKLRRMdU7bNtpLfcGu94B3cdEJgjg== - dependencies: - "@aashutoshrathi/word-wrap" "^1.2.3" - deep-is "^0.1.3" - fast-levenshtein "^2.0.6" - levn "^0.4.1" - prelude-ls "^1.2.1" - type-check "^0.4.0" - -ospath@^1.2.2: - version "1.2.2" - resolved "https://registry.yarnpkg.com/ospath/-/ospath-1.2.2.tgz#1276639774a3f8ef2572f7fe4280e0ea4550c07b" - integrity sha512-o6E5qJV5zkAbIDNhGSIlyOhScKXgQrSRMilfph0clDfM0nEnBOlKlH4sWDmG95BW/CvwNz0vmm7dJVtU2KlMiA== - -p-limit@^2.2.0: - version "2.3.0" - resolved "https://registry.yarnpkg.com/p-limit/-/p-limit-2.3.0.tgz#3dd33c647a214fdfffd835933eb086da0dc21db1" - integrity sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w== - dependencies: - p-try "^2.0.0" - -p-limit@^3.0.2, p-limit@^3.1.0: - version "3.1.0" - resolved "https://registry.yarnpkg.com/p-limit/-/p-limit-3.1.0.tgz#e1daccbe78d0d1388ca18c64fea38e3e57e3706b" - integrity sha512-TYOanM3wGwNGsZN2cVTYPArw454xnXj5qmWF1bEoAc4+cU/ol7GVh7odevjp1FNHduHc3KZMcFduxU5Xc6uJRQ== - dependencies: - yocto-queue "^0.1.0" - -p-locate@^4.1.0: - version "4.1.0" - resolved "https://registry.yarnpkg.com/p-locate/-/p-locate-4.1.0.tgz#a3428bb7088b3a60292f66919278b7c297ad4f07" - integrity sha512-R79ZZ/0wAxKGu3oYMlz8jy/kbhsNrS7SKZ7PxEHBgJ5+F2mtFW2fK2cOtBh1cHYkQsbzFV7I+EoRKe6Yt0oK7A== - dependencies: - p-limit "^2.2.0" - -p-locate@^5.0.0: - version "5.0.0" - resolved "https://registry.yarnpkg.com/p-locate/-/p-locate-5.0.0.tgz#83c8315c6785005e3bd021839411c9e110e6d834" - integrity sha512-LaNjtRWUBY++zB5nE/NwcaoMylSPk+S+ZHNB1TzdbMJMny6dynpAGt7X/tl/QYq3TIeE6nxHppbo2LGymrG5Pw== - dependencies: - p-limit "^3.0.2" - -p-map@^4.0.0: - version "4.0.0" - resolved "https://registry.yarnpkg.com/p-map/-/p-map-4.0.0.tgz#bb2f95a5eda2ec168ec9274e06a747c3e2904d2b" - integrity sha512-/bjOqmgETBYB5BoEeGVea8dmvHb2m9GLy1E9W43yeyfP6QQCZGFNa+XRceJEuDB6zqr+gKpIAmlLebMpykw/MQ== - dependencies: - aggregate-error "^3.0.0" - -p-try@^2.0.0: - version "2.2.0" - resolved "https://registry.yarnpkg.com/p-try/-/p-try-2.2.0.tgz#cb2868540e313d61de58fafbe35ce9004d5540e6" - integrity sha512-R4nPAVTAU0B9D35/Gk3uJf/7XYbQcyohSKdvAxIRSNghFl4e71hVoGnBNQz9cWaXxO2I10KTC+3jMdvvoKw6dQ== - -pako@^0.2.6: - version "0.2.9" - resolved "https://registry.yarnpkg.com/pako/-/pako-0.2.9.tgz#f3f7522f4ef782348da8161bad9ecfd51bf83a75" - integrity sha512-NUcwaKxUxWrZLpDG+z/xZaCgQITkA/Dv4V/T6bw7VON6l1Xz/VnrBqrYjZQ12TamKHzITTfOEIYUj48y2KXImA== - -pako@^2.0.4: - version "2.1.0" - resolved "https://registry.yarnpkg.com/pako/-/pako-2.1.0.tgz#266cc37f98c7d883545d11335c00fbd4062c9a86" - integrity sha512-w+eufiZ1WuJYgPXbV/PO3NCMEc3xqylkKHzp8bxp1uW4qaSNQUkwmLLEc3kKsfz8lpV1F8Ht3U1Cm+9Srog2ug== - -papaparse@5.3.2: - version "5.3.2" - resolved "https://registry.yarnpkg.com/papaparse/-/papaparse-5.3.2.tgz#d1abed498a0ee299f103130a6109720404fbd467" - integrity sha512-6dNZu0Ki+gyV0eBsFKJhYr+MdQYAzFUGlBMNj3GNrmHxmz1lfRa24CjFObPXtjcetlOv5Ad299MhIK0znp3afw== - -parent-module@^1.0.0: - version "1.0.1" - resolved "https://registry.yarnpkg.com/parent-module/-/parent-module-1.0.1.tgz#691d2709e78c79fae3a156622452d00762caaaa2" - integrity sha512-GQ2EWRpQV8/o+Aw8YqtfZZPfNRWZYkbidE9k5rpl/hC3vtHHBfGm2Ifi6qWV+coDGkrUKZAxE3Lot5kcsRlh+g== - dependencies: - callsites "^3.0.0" - -parse-headers@^2.0.2: - version "2.0.5" - resolved "https://registry.yarnpkg.com/parse-headers/-/parse-headers-2.0.5.tgz#069793f9356a54008571eb7f9761153e6c770da9" - integrity sha512-ft3iAoLOB/MlwbNXgzy43SWGP6sQki2jQvAyBg/zDFAgr9bfNWZIUj42Kw2eJIl8kEi4PbgE6U1Zau/HwI75HA== - -parse-json@^5.0.0, parse-json@^5.2.0: - version "5.2.0" - resolved "https://registry.yarnpkg.com/parse-json/-/parse-json-5.2.0.tgz#c76fc66dee54231c962b22bcc8a72cf2f99753cd" - integrity sha512-ayCKvm/phCGxOkYRSCM82iDwct8/EonSEgCSxWxD7ve6jHggsFl4fZVQBPRNgQoKiuV/odhFrGzQXZwbifC8Rg== - dependencies: - "@babel/code-frame" "^7.0.0" - error-ex "^1.3.1" - json-parse-even-better-errors "^2.3.0" - lines-and-columns "^1.1.6" - -parse5@^7.0.0, parse5@^7.1.1: - version "7.1.2" - resolved "https://registry.yarnpkg.com/parse5/-/parse5-7.1.2.tgz#0736bebbfd77793823240a23b7fc5e010b7f8e32" - integrity sha512-Czj1WaSVpaoj0wbhMzLmWD69anp2WH7FXMB9n1Sy8/ZFF9jolSQVMu1Ij5WIyGmcBmhk7EOndpO4mIpihVqAXw== - dependencies: - entities "^4.4.0" - -path-exists@^4.0.0: - version "4.0.0" - resolved "https://registry.yarnpkg.com/path-exists/-/path-exists-4.0.0.tgz#513bdbe2d3b95d7762e8c1137efa195c6c61b5b3" - integrity sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w== - -path-is-absolute@^1.0.0: - version "1.0.1" - resolved "https://registry.yarnpkg.com/path-is-absolute/-/path-is-absolute-1.0.1.tgz#174b9268735534ffbc7ace6bf53a5a9e1b5c5f5f" - integrity sha512-AVbw3UJ2e9bq64vSaS9Am0fje1Pa8pbGqTTsmXfaIiMpnr5DlDhfJOuLj9Sf95ZPVDAUerDfEk88MPmPe7UCQg== - -path-key@^3.0.0, path-key@^3.1.0: - version "3.1.1" - resolved "https://registry.yarnpkg.com/path-key/-/path-key-3.1.1.tgz#581f6ade658cbba65a0d3380de7753295054f375" - integrity sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q== - -path-parse@^1.0.7: - version "1.0.7" - resolved "https://registry.yarnpkg.com/path-parse/-/path-parse-1.0.7.tgz#fbc114b60ca42b30d9daf5858e4bd68bbedb6735" - integrity sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw== - -path-scurry@^1.10.1, path-scurry@^1.6.1: - version "1.10.1" - resolved "https://registry.yarnpkg.com/path-scurry/-/path-scurry-1.10.1.tgz#9ba6bf5aa8500fe9fd67df4f0d9483b2b0bfc698" - integrity sha512-MkhCqzzBEpPvxxQ71Md0b1Kk51W01lrYvlMzSUaIzNsODdd7mqhiimSZlr+VegAz5Z6Vzt9Xg2ttE//XBhH3EQ== - dependencies: - lru-cache "^9.1.1 || ^10.0.0" - minipass "^5.0.0 || ^6.0.2 || ^7.0.0" - -path-to-regexp@^1.7.0: - version "1.8.0" - resolved "https://registry.yarnpkg.com/path-to-regexp/-/path-to-regexp-1.8.0.tgz#887b3ba9d84393e87a0a0b9f4cb756198b53548a" - integrity sha512-n43JRhlUKUAlibEJhPeir1ncUID16QnEjNpwzNdO3Lm4ywrBpBZ5oLD0I6br9evr1Y9JTqwRtAh7JLoOzAQdVA== - dependencies: - isarray "0.0.1" - -path-type@^4.0.0: - version "4.0.0" - resolved "https://registry.yarnpkg.com/path-type/-/path-type-4.0.0.tgz#84ed01c0a7ba380afe09d90a8c180dcd9d03043b" - integrity sha512-gDKb8aZMDeD/tZWs9P6+q0J9Mwkdl6xMV8TjnGP3qJVJ06bdMgkbBlLU8IdfOsIsFz2BW1rNVT3XuNEl8zPAvw== - -path-type@^5.0.0: - version "5.0.0" - resolved "https://registry.yarnpkg.com/path-type/-/path-type-5.0.0.tgz#14b01ed7aea7ddf9c7c3f46181d4d04f9c785bb8" - integrity sha512-5HviZNaZcfqP95rwpv+1HDgUamezbqdSYTyzjTvwtJSnIH+3vnbmWsItli8OFEndS984VT55M3jduxZbX351gg== - -pbf@3.2.1: - version "3.2.1" - resolved "https://registry.yarnpkg.com/pbf/-/pbf-3.2.1.tgz#b4c1b9e72af966cd82c6531691115cc0409ffe2a" - integrity sha512-ClrV7pNOn7rtmoQVF4TS1vyU0WhYRnP92fzbfF75jAIwpnzdJXf8iTd4CMEqO4yUenH6NDqLiwjqlh6QgZzgLQ== - dependencies: - ieee754 "^1.1.12" - resolve-protobuf-schema "^2.1.0" - -pend@~1.2.0: - version "1.2.0" - resolved "https://registry.yarnpkg.com/pend/-/pend-1.2.0.tgz#7a57eb550a6783f9115331fcf4663d5c8e007a50" - integrity sha512-F3asv42UuXchdzt+xXqfW1OGlVBe+mxa2mqI0pg5yAHZPvFmY3Y6drSf/GQ1A86WgWEN9Kzh/WrgKa6iGcHXLg== - -performance-now@^2.1.0: - version "2.1.0" - resolved "https://registry.yarnpkg.com/performance-now/-/performance-now-2.1.0.tgz#6309f4e0e5fa913ec1c69307ae364b4b377c9e7b" - integrity sha512-7EAHlyLHI56VEIdK57uwHdHKIaAGbnXPiw0yWbarQZOKaKpvUIgW0jWRVLiatnM+XXlSwsanIBH/hzGMJulMow== - -picocolors@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/picocolors/-/picocolors-1.0.0.tgz#cb5bdc74ff3f51892236eaf79d68bc44564ab81c" - integrity sha512-1fygroTLlHu66zi26VoTDv8yRgm0Fccecssto+MhsZ0D/DGW2sm8E8AjW7NU5VVTRt5GxbeZ5qBuJr+HyLYkjQ== - -picomatch@^2.0.4, picomatch@^2.2.1, picomatch@^2.2.3, picomatch@^2.3.1: - version "2.3.1" - resolved "https://registry.yarnpkg.com/picomatch/-/picomatch-2.3.1.tgz#3ba3833733646d9d3e4995946c1365a67fb07a42" - integrity sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA== - -pify@^2.2.0: - version "2.3.0" - resolved "https://registry.yarnpkg.com/pify/-/pify-2.3.0.tgz#ed141a6ac043a849ea588498e7dca8b15330e90c" - integrity sha512-udgsAY+fTnvv7kI7aaxbqwWNb0AHiB0qBO89PZKPkoTmGOgdbrHDKD+0B2X4uTfJ/FT1R09r9gTsjUjNJotuog== - -pirates@^4.0.4: - version "4.0.6" - resolved "https://registry.yarnpkg.com/pirates/-/pirates-4.0.6.tgz#3018ae32ecfcff6c29ba2267cbf21166ac1f36b9" - integrity sha512-saLsH7WeYYPiD25LDuLRRY/i+6HaPYr6G1OUlN39otzkSTxKnubR9RTxS3/Kk50s1g2JTgFwWQDQyplC5/SHZg== - -pkg-dir@^4.1.0, pkg-dir@^4.2.0: - version "4.2.0" - resolved "https://registry.yarnpkg.com/pkg-dir/-/pkg-dir-4.2.0.tgz#f099133df7ede422e81d1d8448270eeb3e4261f3" - integrity sha512-HRDzbaKjC+AOWVXxAU/x54COGeIv9eb+6CkDSQoNTt4XyWoIJvuPsXizxu/Fr23EiekbtZwmh1IcIG/l/a10GQ== - dependencies: - find-up "^4.0.0" - -pngjs-image@~0.11.5: - version "0.11.7" - resolved "https://registry.yarnpkg.com/pngjs-image/-/pngjs-image-0.11.7.tgz#631dd59924569fc82ffebae0d5d53f85f54dab62" - integrity sha512-JRyrmT+HXa1/gvdHpebus8TGqKa8WRgcsHz/DDalxRsMhvu6AOA99/enBFjZIPvmXVAzwKR051s80TuE1IiCpg== - dependencies: - iconv-lite "^0.4.8" - pako "^0.2.6" - pngjs "2.3.1" - request "^2.55.0" - stream-buffers "1.0.1" - underscore "1.7.0" - -pngjs@2.3.1: - version "2.3.1" - resolved "https://registry.yarnpkg.com/pngjs/-/pngjs-2.3.1.tgz#11d1e12b9cb64d63e30c143a330f4c1f567da85f" - integrity sha512-ITNPqvx+SSssNFOgHQzGG87HrqQ0g2nMSHc1jjU5Piq9xJEJ40fiFEPz0S5HSSXxBHrTnhaBHIayTO5aRfk2vw== - -portfinder@^1.0.17: - version "1.0.32" - resolved "https://registry.yarnpkg.com/portfinder/-/portfinder-1.0.32.tgz#2fe1b9e58389712429dc2bea5beb2146146c7f81" - integrity sha512-on2ZJVVDXRADWE6jnQaX0ioEylzgBpQk8r55NE4wjXW1ZxO+BgDlY6DXwj20i0V8eB4SenDQ00WEaxfiIQPcxg== - dependencies: - async "^2.6.4" - debug "^3.2.7" - mkdirp "^0.5.6" - -postcss-modules-extract-imports@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/postcss-modules-extract-imports/-/postcss-modules-extract-imports-3.0.0.tgz#cda1f047c0ae80c97dbe28c3e76a43b88025741d" - integrity sha512-bdHleFnP3kZ4NYDhuGlVK+CMrQ/pqUm8bx/oGL93K6gVwiclvX5x0n76fYMKuIGKzlABOy13zsvqjb0f92TEXw== - -postcss-modules-local-by-default@^4.0.4: - version "4.0.4" - resolved "https://registry.yarnpkg.com/postcss-modules-local-by-default/-/postcss-modules-local-by-default-4.0.4.tgz#7cbed92abd312b94aaea85b68226d3dec39a14e6" - integrity sha512-L4QzMnOdVwRm1Qb8m4x8jsZzKAaPAgrUF1r/hjDR2Xj7R+8Zsf97jAlSQzWtKx5YNiNGN8QxmPFIc/sh+RQl+Q== - dependencies: - icss-utils "^5.0.0" - postcss-selector-parser "^6.0.2" - postcss-value-parser "^4.1.0" - -postcss-modules-scope@^3.1.1: - version "3.1.1" - resolved "https://registry.yarnpkg.com/postcss-modules-scope/-/postcss-modules-scope-3.1.1.tgz#32cfab55e84887c079a19bbb215e721d683ef134" - integrity sha512-uZgqzdTleelWjzJY+Fhti6F3C9iF1JR/dODLs/JDefozYcKTBCdD8BIl6nNPbTbcLnGrk56hzwZC2DaGNvYjzA== - dependencies: - postcss-selector-parser "^6.0.4" - -postcss-modules-values@^4.0.0: - version "4.0.0" - resolved "https://registry.yarnpkg.com/postcss-modules-values/-/postcss-modules-values-4.0.0.tgz#d7c5e7e68c3bb3c9b27cbf48ca0bb3ffb4602c9c" - integrity sha512-RDxHkAiEGI78gS2ofyvCsu7iycRv7oqw5xMWn9iMoR0N/7mf9D50ecQqUo5BZ9Zh2vH4bCUR/ktCqbB9m8vJjQ== - dependencies: - icss-utils "^5.0.0" - -postcss-selector-parser@^6.0.2, postcss-selector-parser@^6.0.4: - version "6.0.15" - resolved "https://registry.yarnpkg.com/postcss-selector-parser/-/postcss-selector-parser-6.0.15.tgz#11cc2b21eebc0b99ea374ffb9887174855a01535" - integrity sha512-rEYkQOMUCEMhsKbK66tbEU9QVIxbhN18YiniAwA7XQYTVBqrBy+P2p5JcdqsHgKM2zWylp8d7J6eszocfds5Sw== - dependencies: - cssesc "^3.0.0" - util-deprecate "^1.0.2" - -postcss-value-parser@^4.1.0, postcss-value-parser@^4.2.0: - version "4.2.0" - resolved "https://registry.yarnpkg.com/postcss-value-parser/-/postcss-value-parser-4.2.0.tgz#723c09920836ba6d3e5af019f92bc0971c02e514" - integrity sha512-1NNCs6uurfkVbeXG4S8JFT9t19m45ICnif8zWLd5oPSZ50QnwMfK+H3jv408d4jw/7Bttv5axS5IiHoLaVNHeQ== - -postcss@^8.4.33: - version "8.4.33" - resolved "https://registry.yarnpkg.com/postcss/-/postcss-8.4.33.tgz#1378e859c9f69bf6f638b990a0212f43e2aaa742" - integrity sha512-Kkpbhhdjw2qQs2O2DGX+8m5OVqEcbB9HRBvuYM9pgrjEFUg30A9LmXNlTAUj4S9kgtGyrMbTzVjH7E+s5Re2yg== - dependencies: - nanoid "^3.3.7" - picocolors "^1.0.0" - source-map-js "^1.0.2" - -preceptor-core@~0.10.0: - version "0.10.1" - resolved "https://registry.yarnpkg.com/preceptor-core/-/preceptor-core-0.10.1.tgz#c31eb026fad91c24b44351308ac97e625ec69511" - integrity sha512-WLDk+UowEESixvlhiamGOj/iqWrp8IWeCCHvBZrLh0g4/A1Fa77fDQWqQUd5S5rScT+9u49aDfa45xYRkxqmiA== - dependencies: - log4js "1.1.1" - underscore "1.7.0" - -prefix-style@2.0.1: - version "2.0.1" - resolved "https://registry.yarnpkg.com/prefix-style/-/prefix-style-2.0.1.tgz#66bba9a870cfda308a5dc20e85e9120932c95a06" - integrity sha512-gdr1MBNVT0drzTq95CbSNdsrBDoHGlb2aDJP/FoY+1e+jSDPOb1Cv554gH2MGiSr2WTcXi/zu+NaFzfcHQkfBQ== - -prelude-ls@^1.2.1: - version "1.2.1" - resolved "https://registry.yarnpkg.com/prelude-ls/-/prelude-ls-1.2.1.tgz#debc6489d7a6e6b0e7611888cec880337d316396" - integrity sha512-vkcDPrRZo1QZLbn5RLGPpg/WmIQ65qoWWhcGKf/b5eplkkarX0m9z8ppCat4mlOqUsWpyNuYgO3VRyrYHSzX5g== - -prettier@^2.8.7: - version "2.8.8" - resolved "https://registry.yarnpkg.com/prettier/-/prettier-2.8.8.tgz#e8c5d7e98a4305ffe3de2e1fc4aca1a71c28b1da" - integrity sha512-tdN8qQGvNjw4CHbY+XXk0JgCXn9QiF21a55rBe5LJAU+kDyC4WQn4+awm2Xfk2lQMk5fKup9XgzTZtGkjBdP9Q== - -pretty-bytes@^5.6.0: - version "5.6.0" - resolved "https://registry.yarnpkg.com/pretty-bytes/-/pretty-bytes-5.6.0.tgz#356256f643804773c82f64723fe78c92c62beaeb" - integrity sha512-FFw039TmrBqFK8ma/7OL3sDz/VytdtJr044/QUJtH0wK9lb9jLq9tJyIxUwtQJHwar2BqtiA4iCWSwo9JLkzFg== - -pretty-format@^27.0.2: - version "27.5.1" - resolved "https://registry.yarnpkg.com/pretty-format/-/pretty-format-27.5.1.tgz#2181879fdea51a7a5851fb39d920faa63f01d88e" - integrity sha512-Qb1gy5OrP5+zDf2Bvnzdl3jsTf1qXVMazbvCoKhtKqVs4/YK4ozX4gKQJJVyNe+cajNPn0KoC0MC3FUmaHWEmQ== - dependencies: - ansi-regex "^5.0.1" - ansi-styles "^5.0.0" - react-is "^17.0.1" - -pretty-format@^29.0.0, pretty-format@^29.7.0: - version "29.7.0" - resolved "https://registry.yarnpkg.com/pretty-format/-/pretty-format-29.7.0.tgz#ca42c758310f365bfa71a0bda0a807160b776812" - integrity sha512-Pdlw/oPxN+aXdmM9R00JVC9WVFoCLTKJvDVLgmJ+qAffBMxsV85l/Lu7sNx4zSzPyoL2euImuEwHhOXdEgNFZQ== - dependencies: - "@jest/schemas" "^29.6.3" - ansi-styles "^5.0.0" - react-is "^18.0.0" - -prismjs@1.29.0: - version "1.29.0" - resolved "https://registry.yarnpkg.com/prismjs/-/prismjs-1.29.0.tgz#f113555a8fa9b57c35e637bba27509dcf802dd12" - integrity sha512-Kx/1w86q/epKcmte75LNrEoT+lX8pBpavuAbvJWRXar7Hz8jrtF+e3vY751p0R8H9HdArwaCTNDDzHg/ScJK1Q== - -process-nextick-args@~2.0.0: - version "2.0.1" - resolved "https://registry.yarnpkg.com/process-nextick-args/-/process-nextick-args-2.0.1.tgz#7820d9b16120cc55ca9ae7792680ae7dba6d7fe2" - integrity sha512-3ouUOpQhtgrbOa17J7+uxOTpITYWaGP7/AhoR3+A+/1e9skrzelGi/dXzEYyvbxubEF6Wn2ypscTKiKJFFn1ag== - -promise@6.0.0: - version "6.0.0" - resolved "https://registry.yarnpkg.com/promise/-/promise-6.0.0.tgz#456538dd4afdd25dc7d0f52a5201ed242b7c109d" - integrity sha512-PjIqIEWR8EWwP5ml3Wf5KWIP3sIdXAew9vQ6vLOLV+z4LMa/8ZQyLd7sTWe2r8OuA8A9jsIYptDfbEn/L36ogw== - dependencies: - asap "~1.0.0" - -prompts@^2.0.1: - version "2.4.2" - resolved "https://registry.yarnpkg.com/prompts/-/prompts-2.4.2.tgz#7b57e73b3a48029ad10ebd44f74b01722a4cb069" - integrity sha512-NxNv/kLguCA7p3jE8oL2aEBsrJWgAakBpgmgK6lpPWV+WuOmY6r2/zbAVnP+T8bQlA0nzHXSJSJW0Hq7ylaD2Q== - dependencies: - kleur "^3.0.3" - sisteransi "^1.0.5" - -prop-types@15.x, prop-types@^15.5.10, prop-types@^15.5.8, prop-types@^15.6.0, prop-types@^15.6.2, prop-types@^15.7.2, prop-types@^15.8.1: - version "15.8.1" - resolved "https://registry.yarnpkg.com/prop-types/-/prop-types-15.8.1.tgz#67d87bf1a694f48435cf332c24af10214a3140b5" - integrity sha512-oj87CgZICdulUohogVAR7AjlC0327U4el4L6eAvOqCeudMDVU0NThNaV+b9Df4dXgSP1gXMTnPdhfe/2qDH5cg== - dependencies: - loose-envify "^1.4.0" - object-assign "^4.1.1" - react-is "^16.13.1" - -protocol-buffers-schema@^3.3.1: - version "3.6.0" - resolved "https://registry.yarnpkg.com/protocol-buffers-schema/-/protocol-buffers-schema-3.6.0.tgz#77bc75a48b2ff142c1ad5b5b90c94cd0fa2efd03" - integrity sha512-TdDRD+/QNdrCGCE7v8340QyuXd4kIWIgapsE2+n/SaGiSSbomYl4TjHlvIoCWRpE7wFt02EpB35VVA2ImcBVqw== - -proxy-from-env@1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/proxy-from-env/-/proxy-from-env-1.0.0.tgz#33c50398f70ea7eb96d21f7b817630a55791c7ee" - integrity sha512-F2JHgJQ1iqwnHDcQjVBsq3n/uoaFL+iPW/eAeL7kVxy/2RrWaN4WroKjjvbsoRtv0ftelNyC01bjRhn/bhcf4A== - -prr@~1.0.1: - version "1.0.1" - resolved "https://registry.yarnpkg.com/prr/-/prr-1.0.1.tgz#d3fc114ba06995a45ec6893f484ceb1d78f5f476" - integrity sha512-yPw4Sng1gWghHQWj0B3ZggWUm4qVbPwPFcRG8KyxiU7J2OHFSoEHKS+EZ3fv5l1t9CyCiop6l/ZYeWbrgoQejw== - -psl@^1.1.28, psl@^1.1.33: - version "1.9.0" - resolved "https://registry.yarnpkg.com/psl/-/psl-1.9.0.tgz#d0df2a137f00794565fcaf3b2c00cd09f8d5a5a7" - integrity sha512-E/ZsdU4HLs/68gYzgGTkMicWTLPdAftJLfJFlLUAAKZGkStNU72sZjT66SnMDVOfOWY/YAoiD7Jxa9iHvngcag== - -pump@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/pump/-/pump-3.0.0.tgz#b4a2116815bde2f4e1ea602354e8c75565107a64" - integrity sha512-LwZy+p3SFs1Pytd/jYct4wpv49HiYCqd9Rlc5ZVdk0V+8Yzv6jR5Blk3TRmPL1ft69TxP0IMZGJ+WPFU2BFhww== - dependencies: - end-of-stream "^1.1.0" - once "^1.3.1" - -punycode@^2.1.0, punycode@^2.1.1: - version "2.3.1" - resolved "https://registry.yarnpkg.com/punycode/-/punycode-2.3.1.tgz#027422e2faec0b25e1549c3e1bd8309b9133b6e5" - integrity sha512-vYt7UD1U9Wg6138shLtLOvdAu+8DsC/ilFtEVHcH+wydcSpNE20AfSOduf6MkRFahL5FY7X1oU7nKVZFtfq8Fg== - -pure-rand@^6.0.0: - version "6.0.4" - resolved "https://registry.yarnpkg.com/pure-rand/-/pure-rand-6.0.4.tgz#50b737f6a925468679bff00ad20eade53f37d5c7" - integrity sha512-LA0Y9kxMYv47GIPJy6MI84fqTd2HmYZI83W/kM/SkKfDlajnZYfmXFTxkbY+xSBPkLJxltMa9hIkmdc29eguMA== - -qs@^6.4.0: - version "6.11.2" - resolved "https://registry.yarnpkg.com/qs/-/qs-6.11.2.tgz#64bea51f12c1f5da1bc01496f48ffcff7c69d7d9" - integrity sha512-tDNIz22aBzCDxLtVH++VnTfzxlfeK5CbqohpSqpJgj1Wg/cQbStNAz3NuqCs5vV+pjBsK4x4pN9HlVh7rcYRiA== - dependencies: - side-channel "^1.0.4" - -qs@~6.10.3: - version "6.10.5" - resolved "https://registry.yarnpkg.com/qs/-/qs-6.10.5.tgz#974715920a80ff6a262264acd2c7e6c2a53282b4" - integrity sha512-O5RlPh0VFtR78y79rgcgKK4wbAI0C5zGVLztOIdpWX6ep368q5Hv6XRxDvXuZ9q3C6v+e3n8UfZZJw7IIG27eQ== - dependencies: - side-channel "^1.0.4" - -qs@~6.5.2: - version "6.5.3" - resolved "https://registry.yarnpkg.com/qs/-/qs-6.5.3.tgz#3aeeffc91967ef6e35c0e488ef46fb296ab76aad" - integrity sha512-qxXIEh4pCGfHICj1mAJQ2/2XVZkjCDTcEgfoSQxc/fYivUZxTkk7L3bDBJSoNrEzXI17oUO5Dp07ktqE5KzczA== - -querystringify@^2.1.1: - version "2.2.0" - resolved "https://registry.yarnpkg.com/querystringify/-/querystringify-2.2.0.tgz#3345941b4153cb9d082d8eee4cda2016a9aef7f6" - integrity sha512-FIqgj2EUvTa7R50u0rGsyTftzjYmv/a3hO345bZNrqabNqjtgiDMgmo4mkUjd+nzU5oF3dClKqFIPUKybUyqoQ== - -queue-microtask@^1.2.2: - version "1.2.3" - resolved "https://registry.yarnpkg.com/queue-microtask/-/queue-microtask-1.2.3.tgz#4929228bbc724dfac43e0efb058caf7b6cfb6243" - integrity sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A== - -quick-lru@^6.1.1: - version "6.1.2" - resolved "https://registry.yarnpkg.com/quick-lru/-/quick-lru-6.1.2.tgz#e9a90524108629be35287d0b864e7ad6ceb3659e" - integrity sha512-AAFUA5O1d83pIHEhJwWCq/RQcRukCkn/NSm2QsTEMle5f2hP0ChI2+3Xb051PZCkLryI/Ir1MVKviT2FIloaTQ== - -quickselect@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/quickselect/-/quickselect-2.0.0.tgz#f19680a486a5eefb581303e023e98faaf25dd018" - integrity sha512-RKJ22hX8mHe3Y6wH/N3wCM6BWtjaxIyyUIkpHOvfFnxdI4yD4tBXEBKSbriGujF6jnSVkJrffuo6vxACiSSxIw== - -raf-schd@^4.0.2: - version "4.0.3" - resolved "https://registry.yarnpkg.com/raf-schd/-/raf-schd-4.0.3.tgz#5d6c34ef46f8b2a0e880a8fcdb743efc5bfdbc1a" - integrity sha512-tQkJl2GRWh83ui2DiPTJz9wEiMN20syf+5oKfB03yYP7ioZcJwsIK8FjrtLwH1m7C7e+Tt2yYBlrOpdT+dyeIQ== - -raf@^3.1.0, raf@^3.4.0, raf@^3.4.1: - version "3.4.1" - resolved "https://registry.yarnpkg.com/raf/-/raf-3.4.1.tgz#0742e99a4a6552f445d73e3ee0328af0ff1ede39" - integrity sha512-Sq4CW4QhwOHE8ucn6J34MqtZCeWFP2aQSmrlroYgqAV1PjStIhJXxYuTgUIfkEk7zTLjmIjLmU5q+fbD1NnOJA== - dependencies: - performance-now "^2.1.0" - -randombytes@^2.1.0: - version "2.1.0" - resolved "https://registry.yarnpkg.com/randombytes/-/randombytes-2.1.0.tgz#df6f84372f0270dc65cdf6291349ab7a473d4f2a" - integrity sha512-vYl3iOX+4CKUWuxGi9Ukhie6fsqXqS9FE2Zaic4tNFD2N2QQaXOMFbuKK4QmDHC0JO6B1Zp41J0LpT0oR68amQ== - dependencies: - safe-buffer "^5.1.0" - -raw-body@~1.1.0: - version "1.1.7" - resolved "https://registry.yarnpkg.com/raw-body/-/raw-body-1.1.7.tgz#1d027c2bfa116acc6623bca8f00016572a87d425" - integrity sha512-WmJJU2e9Y6M5UzTOkHaM7xJGAPQD8PNzx3bAd2+uhZAim6wDk6dAZxPVYLF67XhbR4hmKGh33Lpmh4XWrCH5Mg== - dependencies: - bytes "1" - string_decoder "0.10" - -rbush@^3.0.1: - version "3.0.1" - resolved "https://registry.yarnpkg.com/rbush/-/rbush-3.0.1.tgz#5fafa8a79b3b9afdfe5008403a720cc1de882ecf" - integrity sha512-XRaVO0YecOpEuIvbhbpTrZgoiI6xBlz6hnlr6EHhd+0x9ase6EmeN+hdwwUaJvLcsFFQ8iWVF1GAK1yB0BWi0w== - dependencies: - quickselect "^2.0.0" - -rc-align@^2.4.0: - version "2.4.5" - resolved "https://registry.yarnpkg.com/rc-align/-/rc-align-2.4.5.tgz#c941a586f59d1017f23a428f0b468663fb7102ab" - integrity sha512-nv9wYUYdfyfK+qskThf4BQUSIadeI/dCsfaMZfNEoxm9HwOIioQ+LyqmMK6jWHAZQgOzMLaqawhuBXlF63vgjw== - dependencies: - babel-runtime "^6.26.0" - dom-align "^1.7.0" - prop-types "^15.5.8" - rc-util "^4.0.4" - -rc-align@^4.0.0: - version "4.0.15" - resolved "https://registry.yarnpkg.com/rc-align/-/rc-align-4.0.15.tgz#2bbd665cf85dfd0b0244c5a752b07565e9098577" - integrity sha512-wqJtVH60pka/nOX7/IspElA8gjPNQKIx/ZqJ6heATCkXpe1Zg4cPVrMD2vC96wjsFFL8WsmhPbx9tdMo1qqlIA== - dependencies: - "@babel/runtime" "^7.10.1" - classnames "2.x" - dom-align "^1.7.0" - rc-util "^5.26.0" - resize-observer-polyfill "^1.5.1" - -rc-animate@2.x: - version "2.11.1" - resolved "https://registry.yarnpkg.com/rc-animate/-/rc-animate-2.11.1.tgz#2666eeb6f1f2a495a13b2af09e236712278fdb2c" - integrity sha512-1NyuCGFJG/0Y+9RKh5y/i/AalUCA51opyyS/jO2seELpgymZm2u9QV3xwODwEuzkmeQ1BDPxMLmYLcTJedPlkQ== - dependencies: - babel-runtime "6.x" - classnames "^2.2.6" - css-animation "^1.3.2" - prop-types "15.x" - raf "^3.4.0" - rc-util "^4.15.3" - react-lifecycles-compat "^3.0.4" - -rc-cascader@3.10.2: - version "3.10.2" - resolved "https://registry.yarnpkg.com/rc-cascader/-/rc-cascader-3.10.2.tgz#9e75e6b7bdd6e531d1f986cda2b68755e21e5b9e" - integrity sha512-llKIxAAJZW10BkvhqdNsOSy2AOubj0xGEJFcdo/FP09DrhVI764skhCeBH9WfIhv4X40t9/goDwTsXE8Gul9zA== - dependencies: - "@babel/runtime" "^7.12.5" - array-tree-filter "^2.1.0" - classnames "^2.3.1" - rc-select "~14.4.0" - rc-tree "~5.7.0" - rc-util "^5.6.1" - -rc-drawer@6.1.3: - version "6.1.3" - resolved "https://registry.yarnpkg.com/rc-drawer/-/rc-drawer-6.1.3.tgz#4b2277db09f059be7144dc82d5afede9c2ab2191" - integrity sha512-AvHisO90A+xMLMKBw2zs89HxjWxusM2BUABlgK60RhweIHF8W/wk0hSOrxBlUXoA9r1F+10na3g6GZ97y1qDZA== - dependencies: - "@babel/runtime" "^7.10.1" - "@rc-component/portal" "^1.0.0-6" - classnames "^2.2.6" - rc-motion "^2.6.1" - rc-util "^5.21.2" - -rc-motion@^2.0.0, rc-motion@^2.0.1, rc-motion@^2.6.1: - version "2.9.0" - resolved "https://registry.yarnpkg.com/rc-motion/-/rc-motion-2.9.0.tgz#9e18a1b8d61e528a97369cf9a7601e9b29205710" - integrity sha512-XIU2+xLkdIr1/h6ohPZXyPBMvOmuyFZQ/T0xnawz+Rh+gh4FINcnZmMT5UTIj6hgI0VLDjTaPeRd+smJeSPqiQ== - dependencies: - "@babel/runtime" "^7.11.1" - classnames "^2.2.1" - rc-util "^5.21.0" - -rc-overflow@^1.0.0: - version "1.3.2" - resolved "https://registry.yarnpkg.com/rc-overflow/-/rc-overflow-1.3.2.tgz#72ee49e85a1308d8d4e3bd53285dc1f3e0bcce2c" - integrity sha512-nsUm78jkYAoPygDAcGZeC2VwIg/IBGSodtOY3pMof4W3M9qRJgqaDYm03ZayHlde3I6ipliAxbN0RUcGf5KOzw== - dependencies: - "@babel/runtime" "^7.11.1" - classnames "^2.2.1" - rc-resize-observer "^1.0.0" - rc-util "^5.37.0" - -rc-resize-observer@^1.0.0, rc-resize-observer@^1.3.1: - version "1.4.0" - resolved "https://registry.yarnpkg.com/rc-resize-observer/-/rc-resize-observer-1.4.0.tgz#7bba61e6b3c604834980647cce6451914750d0cc" - integrity sha512-PnMVyRid9JLxFavTjeDXEXo65HCRqbmLBw9xX9gfC4BZiSzbLXKzW3jPz+J0P71pLbD5tBMTT+mkstV5gD0c9Q== - dependencies: - "@babel/runtime" "^7.20.7" - classnames "^2.2.1" - rc-util "^5.38.0" - resize-observer-polyfill "^1.5.1" - -rc-select@~14.4.0: - version "14.4.3" - resolved "https://registry.yarnpkg.com/rc-select/-/rc-select-14.4.3.tgz#68d7f1b6bcb41543f69901951facd5e097fb835d" - integrity sha512-qoz4gNqm3SN+4dYKSCRiRkxKSEEdbS3jC6gdFYoYwEjDZ9sdQFo5jHlfQbF+hhai01HOoj1Hf8Gq6tpUvU+Gmw== - dependencies: - "@babel/runtime" "^7.10.1" - "@rc-component/trigger" "^1.5.0" - classnames "2.x" - rc-motion "^2.0.1" - rc-overflow "^1.0.0" - rc-util "^5.16.1" - rc-virtual-list "^3.4.13" - -rc-slider@10.1.1: - version "10.1.1" - resolved "https://registry.yarnpkg.com/rc-slider/-/rc-slider-10.1.1.tgz#5e82036e60b61021aba3ea0e353744dd7c74e104" - integrity sha512-gn8oXazZISEhnmRinI89Z/JD/joAaM35jp+gDtIVSTD/JJMCCBqThqLk1SVJmvtfeiEF/kKaFY0+qt4SDHFUDw== - dependencies: - "@babel/runtime" "^7.10.1" - classnames "^2.2.5" - rc-util "^5.27.0" - -rc-time-picker@^3.7.3: - version "3.7.3" - resolved "https://registry.yarnpkg.com/rc-time-picker/-/rc-time-picker-3.7.3.tgz#65a8de904093250ae9c82b02a4905e0f995e23e2" - integrity sha512-Lv1Mvzp9fRXhXEnRLO4nW6GLNxUkfAZ3RsiIBsWjGjXXvMNjdr4BX/ayElHAFK0DoJqOhm7c5tjmIYpEOwcUXg== - dependencies: - classnames "2.x" - moment "2.x" - prop-types "^15.5.8" - raf "^3.4.1" - rc-trigger "^2.2.0" - react-lifecycles-compat "^3.0.4" - -rc-tooltip@5.3.1: - version "5.3.1" - resolved "https://registry.yarnpkg.com/rc-tooltip/-/rc-tooltip-5.3.1.tgz#3dde4e1865f79cd23f202bba4e585c2a1173024b" - integrity sha512-e6H0dMD38EPaSPD2XC8dRfct27VvT2TkPdoBSuNl3RRZ5tspiY/c5xYEmGC0IrABvMBgque4Mr2SMZuliCvoiQ== - dependencies: - "@babel/runtime" "^7.11.2" - classnames "^2.3.1" - rc-trigger "^5.3.1" - -rc-tree@~5.7.0: - version "5.7.12" - resolved "https://registry.yarnpkg.com/rc-tree/-/rc-tree-5.7.12.tgz#6910e551390963708936c2cbf925f9deff4a6d76" - integrity sha512-LXA5nY2hG5koIAlHW5sgXgLpOMz+bFRbnZZ+cCg0tQs4Wv1AmY7EDi1SK7iFXhslYockbqUerQan82jljoaItg== - dependencies: - "@babel/runtime" "^7.10.1" - classnames "2.x" - rc-motion "^2.0.1" - rc-util "^5.16.1" - rc-virtual-list "^3.5.1" - -rc-trigger@^2.2.0: - version "2.6.5" - resolved "https://registry.yarnpkg.com/rc-trigger/-/rc-trigger-2.6.5.tgz#140a857cf28bd0fa01b9aecb1e26a50a700e9885" - integrity sha512-m6Cts9hLeZWsTvWnuMm7oElhf+03GOjOLfTuU0QmdB9ZrW7jR2IpI5rpNM7i9MvAAlMAmTx5Zr7g3uu/aMvZAw== - dependencies: - babel-runtime "6.x" - classnames "^2.2.6" - prop-types "15.x" - rc-align "^2.4.0" - rc-animate "2.x" - rc-util "^4.4.0" - react-lifecycles-compat "^3.0.4" - -rc-trigger@^5.3.1: - version "5.3.4" - resolved "https://registry.yarnpkg.com/rc-trigger/-/rc-trigger-5.3.4.tgz#6b4b26e32825677c837d1eb4d7085035eecf9a61" - integrity sha512-mQv+vas0TwKcjAO2izNPkqR4j86OemLRmvL2nOzdP9OWNWA1ivoTt5hzFqYNW9zACwmTezRiN8bttrC7cZzYSw== - dependencies: - "@babel/runtime" "^7.18.3" - classnames "^2.2.6" - rc-align "^4.0.0" - rc-motion "^2.0.0" - rc-util "^5.19.2" - -rc-util@^4.0.4, rc-util@^4.15.3, rc-util@^4.4.0: - version "4.21.1" - resolved "https://registry.yarnpkg.com/rc-util/-/rc-util-4.21.1.tgz#88602d0c3185020aa1053d9a1e70eac161becb05" - integrity sha512-Z+vlkSQVc1l8O2UjR3WQ+XdWlhj5q9BMQNLk2iOBch75CqPfrJyGtcWMcnhRlNuDu0Ndtt4kLVO8JI8BrABobg== - dependencies: - add-dom-event-listener "^1.1.0" - prop-types "^15.5.10" - react-is "^16.12.0" - react-lifecycles-compat "^3.0.4" - shallowequal "^1.1.0" - -rc-util@^5.16.1, rc-util@^5.19.2, rc-util@^5.21.0, rc-util@^5.21.2, rc-util@^5.24.4, rc-util@^5.26.0, rc-util@^5.27.0, rc-util@^5.36.0, rc-util@^5.37.0, rc-util@^5.38.0, rc-util@^5.6.1: - version "5.38.1" - resolved "https://registry.yarnpkg.com/rc-util/-/rc-util-5.38.1.tgz#4915503b89855f5c5cd9afd4c72a7a17568777bb" - integrity sha512-e4ZMs7q9XqwTuhIK7zBIVFltUtMSjphuPPQXHoHlzRzNdOwUxDejo0Zls5HYaJfRKNURcsS/ceKVULlhjBrxng== - dependencies: - "@babel/runtime" "^7.18.3" - react-is "^18.2.0" - -rc-virtual-list@^3.4.13, rc-virtual-list@^3.5.1: - version "3.11.3" - resolved "https://registry.yarnpkg.com/rc-virtual-list/-/rc-virtual-list-3.11.3.tgz#77d4e12e20c1ba314b43c0e37e118296674c5401" - integrity sha512-tu5UtrMk/AXonHwHxUogdXAWynaXsrx1i6dsgg+lOo/KJSF8oBAcprh1z5J3xgnPJD5hXxTL58F8s8onokdt0Q== - dependencies: - "@babel/runtime" "^7.20.0" - classnames "^2.2.6" - rc-resize-observer "^1.0.0" - rc-util "^5.36.0" - -react-beautiful-dnd@13.1.1: - version "13.1.1" - resolved "https://registry.yarnpkg.com/react-beautiful-dnd/-/react-beautiful-dnd-13.1.1.tgz#b0f3087a5840920abf8bb2325f1ffa46d8c4d0a2" - integrity sha512-0Lvs4tq2VcrEjEgDXHjT98r+63drkKEgqyxdA7qD3mvKwga6a5SscbdLPO2IExotU1jW8L0Ksdl0Cj2AF67nPQ== - dependencies: - "@babel/runtime" "^7.9.2" - css-box-model "^1.2.0" - memoize-one "^5.1.1" - raf-schd "^4.0.2" - react-redux "^7.2.0" - redux "^4.0.4" - use-memo-one "^1.1.1" - -react-calendar@4.0.0: - version "4.0.0" - resolved "https://registry.yarnpkg.com/react-calendar/-/react-calendar-4.0.0.tgz#99ad73dd0c7c5b25aa535a5fdeee3d71bfe45faa" - integrity sha512-y9Q5Oo3Mq869KExbOCP3aJ3hEnRZKZ0TqUa9QU1wJGgDZFrW1qTaWp5v52oZpmxTTrpAMTUcUGaC0QJcO1f8Nw== - dependencies: - "@wojtekmaj/date-utils" "^1.0.2" - clsx "^1.2.1" - get-user-locale "^1.2.0" - prop-types "^15.6.0" - -react-colorful@5.6.1: - version "5.6.1" - resolved "https://registry.yarnpkg.com/react-colorful/-/react-colorful-5.6.1.tgz#7dc2aed2d7c72fac89694e834d179e32f3da563b" - integrity sha512-1exovf0uGTGyq5mXQT0zgQ80uvj2PCwvF8zY1RN9/vbJVSjSo3fsB/4L3ObbF7u70NduSiK4xu4Y6q1MHoUGEw== - -react-custom-scrollbars-2@4.5.0: - version "4.5.0" - resolved "https://registry.yarnpkg.com/react-custom-scrollbars-2/-/react-custom-scrollbars-2-4.5.0.tgz#cff18e7368bce9d570aea0be780045eda392c745" - integrity sha512-/z0nWAeXfMDr4+OXReTpYd1Atq9kkn4oI3qxq3iMXGQx1EEfwETSqB8HTAvg1X7dEqcCachbny1DRNGlqX5bDQ== - dependencies: - dom-css "^2.0.0" - prop-types "^15.5.10" - raf "^3.1.0" - -react-dom@18.2.0: - version "18.2.0" - resolved "https://registry.yarnpkg.com/react-dom/-/react-dom-18.2.0.tgz#22aaf38708db2674ed9ada224ca4aa708d821e3d" - integrity sha512-6IMTriUmvsjHUjNtEDudZfuDQUoWXVxKHhlEGSk81n4YFS+r/Kl99wXiwlVXtPBtJenozv2P+hxDsw9eA7Xo6g== - dependencies: - loose-envify "^1.1.0" - scheduler "^0.23.0" - -react-draggable@^4.0.0, react-draggable@^4.0.3: - version "4.4.6" - resolved "https://registry.yarnpkg.com/react-draggable/-/react-draggable-4.4.6.tgz#63343ee945770881ca1256a5b6fa5c9f5983fe1e" - integrity sha512-LtY5Xw1zTPqHkVmtM3X8MUOxNDOUhv/khTgBgrUvwaS064bwVvxT+q5El0uUFNx5IEPKXuRejr7UqLwBIg5pdw== - dependencies: - clsx "^1.1.1" - prop-types "^15.8.1" - -react-dropzone@14.2.3: - version "14.2.3" - resolved "https://registry.yarnpkg.com/react-dropzone/-/react-dropzone-14.2.3.tgz#0acab68308fda2d54d1273a1e626264e13d4e84b" - integrity sha512-O3om8I+PkFKbxCukfIR3QAGftYXDZfOE2N1mr/7qebQJHs7U+/RSL/9xomJNpRg9kM5h9soQSdf0Gc7OHF5Fug== - dependencies: - attr-accept "^2.2.2" - file-selector "^0.6.0" - prop-types "^15.8.1" - -react-fast-compare@^3.0.1: - version "3.2.2" - resolved "https://registry.yarnpkg.com/react-fast-compare/-/react-fast-compare-3.2.2.tgz#929a97a532304ce9fee4bcae44234f1ce2c21d49" - integrity sha512-nsO+KSNgo1SbJqJEYRE9ERzo7YtYbou/OqjSQKxV7jcKox7+usiUVZOAC+XnDOABXggQTno0Y1CpVnuWEc1boQ== - -react-from-dom@^0.6.2: - version "0.6.2" - resolved "https://registry.yarnpkg.com/react-from-dom/-/react-from-dom-0.6.2.tgz#9da903a508c91c013b55afcd59348b8b0a39bdb4" - integrity sha512-qvWWTL/4xw4k/Dywd41RBpLQUSq97csuv15qrxN+izNeLYlD9wn5W8LspbfYe5CWbaSdkZ72BsaYBPQf2x4VbQ== - -react-grid-layout@1.3.4: - version "1.3.4" - resolved "https://registry.yarnpkg.com/react-grid-layout/-/react-grid-layout-1.3.4.tgz#4fa819be24a1ba9268aa11b82d63afc4762a32ff" - integrity sha512-sB3rNhorW77HUdOjB4JkelZTdJGQKuXLl3gNg+BI8gJkTScspL1myfZzW/EM0dLEn+1eH+xW+wNqk0oIM9o7cw== - dependencies: - clsx "^1.1.1" - lodash.isequal "^4.0.0" - prop-types "^15.8.1" - react-draggable "^4.0.0" - react-resizable "^3.0.4" - -react-highlight-words@0.20.0: - version "0.20.0" - resolved "https://registry.yarnpkg.com/react-highlight-words/-/react-highlight-words-0.20.0.tgz#c60bfff5d14678c8f0e8fbe4bdcf083e6c70d507" - integrity sha512-asCxy+jCehDVhusNmCBoxDf2mm1AJ//D+EzDx1m5K7EqsMBIHdZ5G4LdwbSEXqZq1Ros0G0UySWmAtntSph7XA== - dependencies: - highlight-words-core "^1.2.0" - memoize-one "^4.0.0" - prop-types "^15.5.8" - -react-hook-form@7.5.3: - version "7.5.3" - resolved "https://registry.yarnpkg.com/react-hook-form/-/react-hook-form-7.5.3.tgz#9a624fa14ec153b154891c5ebddae02ec5c2e40f" - integrity sha512-5T0mfJ4kCPKljd7t3Rgp7lML4Y2+kaZIeMdN6Zo/J7gBQ+WkrDBHOftdOtz4X+7/eqHGak5yL5evNpYdA9abVA== - -react-i18next@^12.0.0: - version "12.3.1" - resolved "https://registry.yarnpkg.com/react-i18next/-/react-i18next-12.3.1.tgz#30134a41a2a71c61dc69c6383504929aed1c99e7" - integrity sha512-5v8E2XjZDFzK7K87eSwC7AJcAkcLt5xYZ4+yTPDAW1i7C93oOY1dnr4BaQM7un4Hm+GmghuiPvevWwlca5PwDA== - dependencies: - "@babel/runtime" "^7.20.6" - html-parse-stringify "^3.0.1" - -react-immutable-proptypes@^2.1.0: - version "2.2.0" - resolved "https://registry.yarnpkg.com/react-immutable-proptypes/-/react-immutable-proptypes-2.2.0.tgz#cce96d68cc3c18e89617cbf3092d08e35126af4a" - integrity sha512-Vf4gBsePlwdGvSZoLSBfd4HAP93HDauMY4fDjXhreg/vg6F3Fj/MXDNyTbltPC/xZKmZc+cjLu3598DdYK6sgQ== - dependencies: - invariant "^2.2.2" - -react-inlinesvg@3.0.2: - version "3.0.2" - resolved "https://registry.yarnpkg.com/react-inlinesvg/-/react-inlinesvg-3.0.2.tgz#5c59799966ae7926057091b2ac230ddcee01bea0" - integrity sha512-BEzkpMGQwEY68fgaouY7ZWvAUPb8jbj7dE9iDbWZxstDhMuz9qfpxNgvGSENKcDMdpq/XHduSk/LAmNKin4nKw== - dependencies: - exenv "^1.2.2" - react-from-dom "^0.6.2" - -react-is@^16.12.0, react-is@^16.13.1, react-is@^16.6.0, react-is@^16.7.0: - version "16.13.1" - resolved "https://registry.yarnpkg.com/react-is/-/react-is-16.13.1.tgz#789729a4dc36de2999dc156dd6c1d9c18cea56a4" - integrity sha512-24e6ynE2H+OKt4kqsOvNd8kBpV65zoxbA4BVsEOB3ARVWQki/DHzaUoC5KuON/BiccDaCCTZBuOcfZs70kR8bQ== - -react-is@^17.0.1, react-is@^17.0.2: - version "17.0.2" - resolved "https://registry.yarnpkg.com/react-is/-/react-is-17.0.2.tgz#e691d4a8e9c789365655539ab372762b0efb54f0" - integrity sha512-w2GsyukL62IJnlaff/nRegPQR94C/XXamvMWmSHRJ4y7Ts/4ocGRmTHvOs8PSE6pB3dWOrD/nueuU5sduBsQ4w== - -react-is@^18.0.0, react-is@^18.2.0: - version "18.2.0" - resolved "https://registry.yarnpkg.com/react-is/-/react-is-18.2.0.tgz#199431eeaaa2e09f86427efbb4f1473edb47609b" - integrity sha512-xWGDIW6x921xtzPkhiULtthJHoJvBbF3q26fzloPCK0hsvxtPVelvftw3zjbHWSkR2km9Z+4uxbDDK/6Zw9B8w== - -react-lifecycles-compat@^3.0.4: - version "3.0.4" - resolved "https://registry.yarnpkg.com/react-lifecycles-compat/-/react-lifecycles-compat-3.0.4.tgz#4f1a273afdfc8f3488a8c516bfda78f872352362" - integrity sha512-fBASbA6LnOU9dOU2eW7aQ8xmYBSXUIWr+UmF9b1efZBazGNO+rcXT/icdKnYm2pTwcRylVUYwW7H1PHfLekVzA== - -react-popper-tooltip@4.4.2: - version "4.4.2" - resolved "https://registry.yarnpkg.com/react-popper-tooltip/-/react-popper-tooltip-4.4.2.tgz#0dc4894b8e00ba731f89bd2d30584f6032ec6163" - integrity sha512-y48r0mpzysRTZAIh8m2kpZ8S1YPNqGtQPDrlXYSGvDS1c1GpG/NUXbsbIdfbhXfmSaRJuTcaT6N1q3CKuHRVbg== - dependencies: - "@babel/runtime" "^7.18.3" - "@popperjs/core" "^2.11.5" - react-popper "^2.3.0" - -react-popper@2.3.0, react-popper@^2.3.0: - version "2.3.0" - resolved "https://registry.yarnpkg.com/react-popper/-/react-popper-2.3.0.tgz#17891c620e1320dce318bad9fede46a5f71c70ba" - integrity sha512-e1hj8lL3uM+sgSR4Lxzn5h1GxBlpa4CQz0XLF8kx4MDrDRWY0Ena4c97PUeSX9i5W3UAfDP0z0FXCTQkoXUl3Q== - dependencies: - react-fast-compare "^3.0.1" - warning "^4.0.2" - -react-redux@^7.2.0: - version "7.2.9" - resolved "https://registry.yarnpkg.com/react-redux/-/react-redux-7.2.9.tgz#09488fbb9416a4efe3735b7235055442b042481d" - integrity sha512-Gx4L3uM182jEEayZfRbI/G11ZpYdNAnBs70lFVMNdHJI76XYtR+7m0MN+eAs7UHBPhWXcnFPaS+9owSCJQHNpQ== - dependencies: - "@babel/runtime" "^7.15.4" - "@types/react-redux" "^7.1.20" - hoist-non-react-statics "^3.3.2" - loose-envify "^1.4.0" - prop-types "^15.7.2" - react-is "^17.0.2" - -react-resizable@^3.0.4: - version "3.0.5" - resolved "https://registry.yarnpkg.com/react-resizable/-/react-resizable-3.0.5.tgz#362721f2efbd094976f1780ae13f1ad7739786c1" - integrity sha512-vKpeHhI5OZvYn82kXOs1bC8aOXktGU5AmKAgaZS4F5JPburCtbmDPqE7Pzp+1kN4+Wb81LlF33VpGwWwtXem+w== - dependencies: - prop-types "15.x" - react-draggable "^4.0.3" - -react-router-dom@5.3.3: - version "5.3.3" - resolved "https://registry.yarnpkg.com/react-router-dom/-/react-router-dom-5.3.3.tgz#8779fc28e6691d07afcaf98406d3812fe6f11199" - integrity sha512-Ov0tGPMBgqmbu5CDmN++tv2HQ9HlWDuWIIqn4b88gjlAN5IHI+4ZUZRcpz9Hl0azFIwihbLDYw1OiHGRo7ZIng== - dependencies: - "@babel/runtime" "^7.12.13" - history "^4.9.0" - loose-envify "^1.3.1" - prop-types "^15.6.2" - react-router "5.3.3" - tiny-invariant "^1.0.2" - tiny-warning "^1.0.0" - -react-router@5.3.3: - version "5.3.3" - resolved "https://registry.yarnpkg.com/react-router/-/react-router-5.3.3.tgz#8e3841f4089e728cf82a429d92cdcaa5e4a3a288" - integrity sha512-mzQGUvS3bM84TnbtMYR8ZjKnuPJ71IjSzR+DE6UkUqvN4czWIqEs17yLL8xkAycv4ev0AiN+IGrWu88vJs/p2w== - dependencies: - "@babel/runtime" "^7.12.13" - history "^4.9.0" - hoist-non-react-statics "^3.1.0" - loose-envify "^1.3.1" - mini-create-react-context "^0.4.0" - path-to-regexp "^1.7.0" - prop-types "^15.6.2" - react-is "^16.6.0" - tiny-invariant "^1.0.2" - tiny-warning "^1.0.0" - -react-select-event@^5.1.0: - version "5.5.1" - resolved "https://registry.yarnpkg.com/react-select-event/-/react-select-event-5.5.1.tgz#d67e04a6a51428b1534b15ecb1b82afbe5edddcb" - integrity sha512-goAx28y0+iYrbqZA2FeRTreHHs/ZtSuKxtA+J5jpKT5RHPCbVZJ4MqACfPnWyFXsEec+3dP5bCrNTxIX8oYe9A== - dependencies: - "@testing-library/dom" ">=7" - -react-select@5.7.0: - version "5.7.0" - resolved "https://registry.yarnpkg.com/react-select/-/react-select-5.7.0.tgz#82921b38f1fcf1471a0b62304da01f2896cd8ce6" - integrity sha512-lJGiMxCa3cqnUr2Jjtg9YHsaytiZqeNOKeibv6WF5zbK/fPegZ1hg3y/9P1RZVLhqBTs0PfqQLKuAACednYGhQ== - dependencies: - "@babel/runtime" "^7.12.0" - "@emotion/cache" "^11.4.0" - "@emotion/react" "^11.8.1" - "@floating-ui/dom" "^1.0.1" - "@types/react-transition-group" "^4.4.0" - memoize-one "^6.0.0" - prop-types "^15.6.0" - react-transition-group "^4.3.0" - use-isomorphic-layout-effect "^1.1.2" - -react-table@7.8.0: - version "7.8.0" - resolved "https://registry.yarnpkg.com/react-table/-/react-table-7.8.0.tgz#07858c01c1718c09f7f1aed7034fcfd7bda907d2" - integrity sha512-hNaz4ygkZO4bESeFfnfOft73iBUj8K5oKi1EcSHPAibEydfsX2MyU6Z8KCr3mv3C9Kqqh71U+DhZkFvibbnPbA== - -react-transition-group@4.4.5, react-transition-group@^4.3.0: - version "4.4.5" - resolved "https://registry.yarnpkg.com/react-transition-group/-/react-transition-group-4.4.5.tgz#e53d4e3f3344da8521489fbef8f2581d42becdd1" - integrity sha512-pZcd1MCJoiKiBR2NRxeCRg13uCXbydPnmB4EOeRrY7480qNWO8IIgQG6zlDkm6uRMsURXPuKq0GWtiM59a5Q6g== - dependencies: - "@babel/runtime" "^7.5.5" - dom-helpers "^5.0.1" - loose-envify "^1.4.0" - prop-types "^15.6.2" - -react-universal-interface@^0.6.2: - version "0.6.2" - resolved "https://registry.yarnpkg.com/react-universal-interface/-/react-universal-interface-0.6.2.tgz#5e8d438a01729a4dbbcbeeceb0b86be146fe2b3b" - integrity sha512-dg8yXdcQmvgR13RIlZbTRQOoUrDciFVoSBZILwjE2LFISxZZ8loVJKAkuzswl5js8BHda79bIb2b84ehU8IjXw== - -react-use@17.4.0: - version "17.4.0" - resolved "https://registry.yarnpkg.com/react-use/-/react-use-17.4.0.tgz#cefef258b0a6c534a5c8021c2528ac6e1a4cdc6d" - integrity sha512-TgbNTCA33Wl7xzIJegn1HndB4qTS9u03QUwyNycUnXaweZkE4Kq2SB+Yoxx8qbshkZGYBDvUXbXWRUmQDcZZ/Q== - dependencies: - "@types/js-cookie" "^2.2.6" - "@xobotyi/scrollbar-width" "^1.9.5" - copy-to-clipboard "^3.3.1" - fast-deep-equal "^3.1.3" - fast-shallow-equal "^1.0.0" - js-cookie "^2.2.1" - nano-css "^5.3.1" - react-universal-interface "^0.6.2" - resize-observer-polyfill "^1.5.1" - screenfull "^5.1.0" - set-harmonic-interval "^1.0.1" - throttle-debounce "^3.0.1" - ts-easing "^0.2.0" - tslib "^2.1.0" - -react-virtualized-auto-sizer@1.0.7: - version "1.0.7" - resolved "https://registry.yarnpkg.com/react-virtualized-auto-sizer/-/react-virtualized-auto-sizer-1.0.7.tgz#bfb8414698ad1597912473de3e2e5f82180c1195" - integrity sha512-Mxi6lwOmjwIjC1X4gABXMJcKHsOo0xWl3E3ugOgufB8GJU+MqrtY35aBuvCYv/razQ1Vbp7h1gWJjGjoNN5pmA== - -react-window@1.8.8: - version "1.8.8" - resolved "https://registry.yarnpkg.com/react-window/-/react-window-1.8.8.tgz#1b52919f009ddf91970cbdb2050a6c7be44df243" - integrity sha512-D4IiBeRtGXziZ1n0XklnFGu7h9gU684zepqyKzgPNzrsrk7xOCxni+TCckjg2Nr/DiaEEGVVmnhYSlT2rB47dQ== - dependencies: - "@babel/runtime" "^7.0.0" - memoize-one ">=3.1.1 <6" - -react@18.2.0: - version "18.2.0" - resolved "https://registry.yarnpkg.com/react/-/react-18.2.0.tgz#555bd98592883255fa00de14f1151a917b5d77d5" - integrity sha512-/3IjMdb2L9QbBdWiW5e3P2/npwMBaU9mHCSCUzNln0ZCYbcfTsGbTJrU/kGemdH2IWmB2ioZ+zkxtmq6g09fGQ== - dependencies: - loose-envify "^1.1.0" - -readable-stream@^1.1.7: - version "1.1.14" - resolved "https://registry.yarnpkg.com/readable-stream/-/readable-stream-1.1.14.tgz#7cf4c54ef648e3813084c636dd2079e166c081d9" - integrity sha512-+MeVjFf4L44XUkhM1eYbD8fyEsxcV81pqMSR5gblfcLCHfZvbrqy4/qYHE+/R5HoBUT11WV5O08Cr1n3YXkWVQ== - dependencies: - core-util-is "~1.0.0" - inherits "~2.0.1" - isarray "0.0.1" - string_decoder "~0.10.x" - -readable-stream@^2.0.1: - version "2.3.8" - resolved "https://registry.yarnpkg.com/readable-stream/-/readable-stream-2.3.8.tgz#91125e8042bba1b9887f49345f6277027ce8be9b" - integrity sha512-8p0AUk4XODgIewSi0l8Epjs+EVnWiK7NoDIEGU0HhE7+ZyY8D1IMY7odu5lRrFXGg71L15KG8QrPmum45RTtdA== - dependencies: - core-util-is "~1.0.0" - inherits "~2.0.3" - isarray "~1.0.0" - process-nextick-args "~2.0.0" - safe-buffer "~5.1.1" - string_decoder "~1.1.1" - util-deprecate "~1.0.1" - -readdirp@~3.6.0: - version "3.6.0" - resolved "https://registry.yarnpkg.com/readdirp/-/readdirp-3.6.0.tgz#74a370bd857116e245b29cc97340cd431a02a6c7" - integrity sha512-hOS089on8RduqdbhvQ5Z37A0ESjsqz6qnRcffsMU3495FuTdqSm+7bhJ29JvIOsBDEEnan5DPu9t3To9VRlMzA== - dependencies: - picomatch "^2.2.1" - -rechoir@^0.8.0: - version "0.8.0" - resolved "https://registry.yarnpkg.com/rechoir/-/rechoir-0.8.0.tgz#49f866e0d32146142da3ad8f0eff352b3215ff22" - integrity sha512-/vxpCXddiX8NGfGO/mTafwjq4aFa/71pvamip0++IQk3zG8cbCj0fifNPrjjF1XMXUne91jL9OoxmdykoEtifQ== - dependencies: - resolve "^1.20.0" - -redent@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/redent/-/redent-3.0.0.tgz#e557b7998316bb53c9f1f56fa626352c6963059f" - integrity sha512-6tDA8g98We0zd0GvVeMT9arEOnTw9qM03L9cJXaCjrip1OO764RDBLBfrB4cwzNGDj5OA5ioymC9GkizgWJDUg== - dependencies: - indent-string "^4.0.0" - strip-indent "^3.0.0" - -redux@^4.0.0, redux@^4.0.4: - version "4.2.1" - resolved "https://registry.yarnpkg.com/redux/-/redux-4.2.1.tgz#c08f4306826c49b5e9dc901dee0452ea8fce6197" - integrity sha512-LAUYz4lc+Do8/g7aeRa8JkyDErK6ekstQaqWQrNRW//MY1TvCEpMtpTWvlQ+FPbWCx+Xixu/6SHt5N0HR+SB4w== - dependencies: - "@babel/runtime" "^7.9.2" - -regenerate-unicode-properties@^10.1.0: - version "10.1.1" - resolved "https://registry.yarnpkg.com/regenerate-unicode-properties/-/regenerate-unicode-properties-10.1.1.tgz#6b0e05489d9076b04c436f318d9b067bba459480" - integrity sha512-X007RyZLsCJVVrjgEFVpLUTZwyOZk3oiL75ZcuYjlIWd6rNJtOjkBwQc5AsRrpbKVkxN6sklw/k/9m2jJYOf8Q== - dependencies: - regenerate "^1.4.2" - -regenerate@^1.4.2: - version "1.4.2" - resolved "https://registry.yarnpkg.com/regenerate/-/regenerate-1.4.2.tgz#b9346d8827e8f5a32f7ba29637d398b69014848a" - integrity sha512-zrceR/XhGYU/d/opr2EKO7aRHUeiBI8qjtfHqADTwZd6Szfy16la6kqD0MIUs5z5hx6AaKa+PixpPrR289+I0A== - -regenerator-runtime@0.13.11: - version "0.13.11" - resolved "https://registry.yarnpkg.com/regenerator-runtime/-/regenerator-runtime-0.13.11.tgz#f6dca3e7ceec20590d07ada785636a90cdca17f9" - integrity sha512-kY1AZVr2Ra+t+piVaJ4gxaFaReZVH40AKNo7UCX6W+dEwBo/2oZJzqfuN1qLq1oL45o56cPaTXELwrTh8Fpggg== - -regenerator-runtime@^0.11.0: - version "0.11.1" - resolved "https://registry.yarnpkg.com/regenerator-runtime/-/regenerator-runtime-0.11.1.tgz#be05ad7f9bf7d22e056f9726cee5017fbf19e2e9" - integrity sha512-MguG95oij0fC3QV3URf4V2SDYGJhJnJGqvIIgdECeODCT98wSWDAJ94SSuVpYQUoTcGUIL6L4yNB7j1DFFHSBg== - -regenerator-runtime@^0.14.0: - version "0.14.1" - resolved "https://registry.yarnpkg.com/regenerator-runtime/-/regenerator-runtime-0.14.1.tgz#356ade10263f685dda125100cd862c1db895327f" - integrity sha512-dYnhHh0nJoMfnkZs6GmmhFknAGRrLznOu5nc9ML+EJxGvrx6H7teuevqVqCuPcPK//3eDrrjQhehXVx9cnkGdw== - -regenerator-transform@^0.15.2: - version "0.15.2" - resolved "https://registry.yarnpkg.com/regenerator-transform/-/regenerator-transform-0.15.2.tgz#5bbae58b522098ebdf09bca2f83838929001c7a4" - integrity sha512-hfMp2BoF0qOk3uc5V20ALGDS2ddjQaLrdl7xrGXvAIow7qeWRM2VA2HuCHkUKk9slq3VwEwLNK3DFBqDfPGYtg== - dependencies: - "@babel/runtime" "^7.8.4" - -regexp.prototype.flags@^1.5.0, regexp.prototype.flags@^1.5.1: - version "1.5.1" - resolved "https://registry.yarnpkg.com/regexp.prototype.flags/-/regexp.prototype.flags-1.5.1.tgz#90ce989138db209f81492edd734183ce99f9677e" - integrity sha512-sy6TXMN+hnP/wMy+ISxg3krXx7BAtWVO4UouuCN/ziM9UEne0euamVNafDfvC83bRNr95y0V5iijeDQFUNpvrg== - dependencies: - call-bind "^1.0.2" - define-properties "^1.2.0" - set-function-name "^2.0.0" - -regexpu-core@^5.3.1: - version "5.3.2" - resolved "https://registry.yarnpkg.com/regexpu-core/-/regexpu-core-5.3.2.tgz#11a2b06884f3527aec3e93dbbf4a3b958a95546b" - integrity sha512-RAM5FlZz+Lhmo7db9L298p2vHP5ZywrVXmVXpmAD9GuL5MPH6t9ROw1iA/wfHkQ76Qe7AaPF0nGuim96/IrQMQ== - dependencies: - "@babel/regjsgen" "^0.8.0" - regenerate "^1.4.2" - regenerate-unicode-properties "^10.1.0" - regjsparser "^0.9.1" - unicode-match-property-ecmascript "^2.0.0" - unicode-match-property-value-ecmascript "^2.1.0" - -regjsparser@^0.9.1: - version "0.9.1" - resolved "https://registry.yarnpkg.com/regjsparser/-/regjsparser-0.9.1.tgz#272d05aa10c7c1f67095b1ff0addae8442fc5709" - integrity sha512-dQUtn90WanSNl+7mQKcXAgZxvUe7Z0SqXlgzv0za4LwiUhyzBC58yQO3liFoUgu8GiJVInAhJjkj1N0EtQ5nkQ== - dependencies: - jsesc "~0.5.0" - -replace-in-file-webpack-plugin@^1.0.6: - version "1.0.6" - resolved "https://registry.yarnpkg.com/replace-in-file-webpack-plugin/-/replace-in-file-webpack-plugin-1.0.6.tgz#eee7e139be967e8e48a0552f73037ed567b54dbd" - integrity sha512-+KRgNYL2nbc6nza6SeF+wTBNkovuHFTfJF8QIEqZg5MbwkYpU9no0kH2YU354wvY/BK8mAC2UKoJ7q+sJTvciw== - -request-progress@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/request-progress/-/request-progress-3.0.0.tgz#4ca754081c7fec63f505e4faa825aa06cd669dbe" - integrity sha512-MnWzEHHaxHO2iWiQuHrUPBi/1WeBf5PkxQqNyNvLl9VAYSdXkP8tQ3pBSeCPD+yw0v0Aq1zosWLz0BdeXpWwZg== - dependencies: - throttleit "^1.0.0" - -request@^2.55.0: - version "2.88.2" - resolved "https://registry.yarnpkg.com/request/-/request-2.88.2.tgz#d73c918731cb5a87da047e207234146f664d12b3" - integrity sha512-MsvtOrfG9ZcrOwAW+Qi+F6HbD0CWXEh9ou77uOb7FM2WPhwT7smM833PzanhJLsgXjN89Ir6V2PczXNnMpwKhw== - dependencies: - aws-sign2 "~0.7.0" - aws4 "^1.8.0" - caseless "~0.12.0" - combined-stream "~1.0.6" - extend "~3.0.2" - forever-agent "~0.6.1" - form-data "~2.3.2" - har-validator "~5.1.3" - http-signature "~1.2.0" - is-typedarray "~1.0.0" - isstream "~0.1.2" - json-stringify-safe "~5.0.1" - mime-types "~2.1.19" - oauth-sign "~0.9.0" - performance-now "^2.1.0" - qs "~6.5.2" - safe-buffer "^5.1.2" - tough-cookie "~2.5.0" - tunnel-agent "^0.6.0" - uuid "^3.3.2" - -require-directory@^2.1.1: - version "2.1.1" - resolved "https://registry.yarnpkg.com/require-directory/-/require-directory-2.1.1.tgz#8c64ad5fd30dab1c976e2344ffe7f792a6a6df42" - integrity sha512-fGxEI7+wsG9xrvdjsrlmL22OMTTiHRwAMroiEeMgq8gzoLC/PQr7RsRDSTLUg/bZAZtF+TVIkHc6/4RIKrui+Q== - -require-from-string@^2.0.2: - version "2.0.2" - resolved "https://registry.yarnpkg.com/require-from-string/-/require-from-string-2.0.2.tgz#89a7fdd938261267318eafe14f9c32e598c36909" - integrity sha512-Xf0nWe6RseziFMu+Ap9biiUbmplq6S9/p+7w7YXP/JBHhrUDDUhwa+vANyubuqfZWTveU//DYVGsDG7RKL/vEw== - -requires-port@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/requires-port/-/requires-port-1.0.0.tgz#925d2601d39ac485e091cf0da5c6e694dc3dcaff" - integrity sha512-KigOCHcocU3XODJxsu8i/j8T9tzT4adHiecwORRQ0ZZFcp7ahwXuRU1m+yuO90C5ZUyGeGfocHDI14M3L3yDAQ== - -resize-observer-polyfill@^1.5.1: - version "1.5.1" - resolved "https://registry.yarnpkg.com/resize-observer-polyfill/-/resize-observer-polyfill-1.5.1.tgz#0e9020dd3d21024458d4ebd27e23e40269810464" - integrity sha512-LwZrotdHOo12nQuZlHEmtuXdqGoOD0OhaxopaNFxWzInpEgaLWoVuAMbTzixuosCx2nEG58ngzW3vxdWoxIgdg== - -resolve-bin@1.0.1: - version "1.0.1" - resolved "https://registry.yarnpkg.com/resolve-bin/-/resolve-bin-1.0.1.tgz#795255591443e7007b21f2eadd8baa39b7378e50" - integrity sha512-4G9C3udcDB1c9qaopB+9dygm2bMyF2LeJ2JHBIc24N7ob+UuSSwX3ID1hQwpDEQep9ZRNdhT//rgEd6xbWA/SA== - dependencies: - find-parent-dir "~0.3.0" - -resolve-cwd@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/resolve-cwd/-/resolve-cwd-3.0.0.tgz#0f0075f1bb2544766cf73ba6a6e2adfebcb13f2d" - integrity sha512-OrZaX2Mb+rJCpH/6CpSqt9xFVpN++x01XnN2ie9g6P5/3xelLAkXWVADpdz1IHD/KFfEXyE6V0U01OQ3UO2rEg== - dependencies: - resolve-from "^5.0.0" - -resolve-from@^4.0.0: - version "4.0.0" - resolved "https://registry.yarnpkg.com/resolve-from/-/resolve-from-4.0.0.tgz#4abcd852ad32dd7baabfe9b40e00a36db5f392e6" - integrity sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g== - -resolve-from@^5.0.0: - version "5.0.0" - resolved "https://registry.yarnpkg.com/resolve-from/-/resolve-from-5.0.0.tgz#c35225843df8f776df21c57557bc087e9dfdfc69" - integrity sha512-qYg9KP24dD5qka9J47d0aVky0N+b4fTU89LN9iDnjB5waksiC49rvMB0PrUJQGoTmH50XPiqOvAjDfaijGxYZw== - -resolve-pathname@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/resolve-pathname/-/resolve-pathname-3.0.0.tgz#99d02224d3cf263689becbb393bc560313025dcd" - integrity sha512-C7rARubxI8bXFNB/hqcp/4iUeIXJhJZvFPFPiSPRnhU5UPxzMFIl+2E6yY6c4k9giDJAhtV+enfA+G89N6Csng== - -resolve-protobuf-schema@^2.1.0: - version "2.1.0" - resolved "https://registry.yarnpkg.com/resolve-protobuf-schema/-/resolve-protobuf-schema-2.1.0.tgz#9ca9a9e69cf192bbdaf1006ec1973948aa4a3758" - integrity sha512-kI5ffTiZWmJaS/huM8wZfEMer1eRd7oJQhDuxeCLe3t7N7mX3z94CN0xPxBQxFYQTSNz9T0i+v6inKqSdK8xrQ== - dependencies: - protocol-buffers-schema "^3.3.1" - -resolve.exports@^2.0.0: - version "2.0.2" - resolved "https://registry.yarnpkg.com/resolve.exports/-/resolve.exports-2.0.2.tgz#f8c934b8e6a13f539e38b7098e2e36134f01e800" - integrity sha512-X2UW6Nw3n/aMgDVy+0rSqgHlv39WZAlZrXCdnbyEiKm17DSqHX4MmQMaST3FbeWR5FTuRcUwYAziZajji0Y7mg== - -resolve@^1.14.2, resolve@^1.19.0, resolve@^1.20.0: - version "1.22.8" - resolved "https://registry.yarnpkg.com/resolve/-/resolve-1.22.8.tgz#b6c87a9f2aa06dfab52e3d70ac8cde321fa5a48d" - integrity sha512-oKWePCxqpd6FlLvGV1VU0x7bkPmmCNolxzjMf4NczoDnQcIWrAF+cPtZn5i6n+RfD2d9i0tzpKnG6Yk168yIyw== - dependencies: - is-core-module "^2.13.0" - path-parse "^1.0.7" - supports-preserve-symlinks-flag "^1.0.0" - -resolve@^2.0.0-next.4: - version "2.0.0-next.5" - resolved "https://registry.yarnpkg.com/resolve/-/resolve-2.0.0-next.5.tgz#6b0ec3107e671e52b68cd068ef327173b90dc03c" - integrity sha512-U7WjGVG9sH8tvjW5SmGbQuui75FiyjAX72HX15DwBBwF9dNiQZRQAg9nnPhYy+TUnE0+VcrttuvNI8oSxZcocA== - dependencies: - is-core-module "^2.13.0" - path-parse "^1.0.7" - supports-preserve-symlinks-flag "^1.0.0" - -restore-cursor@^3.1.0: - version "3.1.0" - resolved "https://registry.yarnpkg.com/restore-cursor/-/restore-cursor-3.1.0.tgz#39f67c54b3a7a58cea5236d95cf0034239631f7e" - integrity sha512-l+sSefzHpj5qimhFSE5a8nufZYAM3sBSVMAPtYkmC+4EH2anSGaEMXSD0izRQbu9nfyQ9y5JrVmp7E8oZrUjvA== - dependencies: - onetime "^5.1.0" - signal-exit "^3.0.2" - -reusify@^1.0.4: - version "1.0.4" - resolved "https://registry.yarnpkg.com/reusify/-/reusify-1.0.4.tgz#90da382b1e126efc02146e90845a88db12925d76" - integrity sha512-U9nH88a3fc/ekCF1l0/UP1IosiuIjyTh7hBvXVMHYgVcfGvt897Xguj2UOLDeI5BG2m7/uwyaLVT6fbtCwTyzw== - -rfdc@^1.3.0: - version "1.3.0" - resolved "https://registry.yarnpkg.com/rfdc/-/rfdc-1.3.0.tgz#d0b7c441ab2720d05dc4cf26e01c89631d9da08b" - integrity sha512-V2hovdzFbOi77/WajaSMXk2OLm+xNIeQdMMuB7icj7bk6zi2F8GGAxigcnDFpJHbNyNcgyJDiP+8nOrY5cZGrA== - -rimraf@4.4.0: - version "4.4.0" - resolved "https://registry.yarnpkg.com/rimraf/-/rimraf-4.4.0.tgz#c7a9f45bb2ec058d2e60ef9aca5167974313d605" - integrity sha512-X36S+qpCUR0HjXlkDe4NAOhS//aHH0Z+h8Ckf2auGJk3PTnx5rLmrHkwNdbVQuCSUhOyFrlRvFEllZOYE+yZGQ== - dependencies: - glob "^9.2.0" - -rimraf@^3.0.0, rimraf@^3.0.2: - version "3.0.2" - resolved "https://registry.yarnpkg.com/rimraf/-/rimraf-3.0.2.tgz#f1a5402ba6220ad52cc1282bac1ae3aa49fd061a" - integrity sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA== - dependencies: - glob "^7.1.3" - -robust-predicates@^3.0.0: - version "3.0.2" - resolved "https://registry.yarnpkg.com/robust-predicates/-/robust-predicates-3.0.2.tgz#d5b28528c4824d20fc48df1928d41d9efa1ad771" - integrity sha512-IXgzBWvWQwE6PrDI05OvmXUIruQTcoMDzRsOd5CDvHCVLcLHMTSYvOK5Cm46kWqlV3yAbuSpBZdJ5oP5OUoStg== - -rtl-css-js@^1.16.1: - version "1.16.1" - resolved "https://registry.yarnpkg.com/rtl-css-js/-/rtl-css-js-1.16.1.tgz#4b48b4354b0ff917a30488d95100fbf7219a3e80" - integrity sha512-lRQgou1mu19e+Ya0LsTvKrVJ5TYUbqCVPAiImX3UfLTenarvPUl1QFdvu5Z3PYmHT9RCcwIfbjRQBntExyj3Zg== - dependencies: - "@babel/runtime" "^7.1.2" - -run-parallel@^1.1.9: - version "1.2.0" - resolved "https://registry.yarnpkg.com/run-parallel/-/run-parallel-1.2.0.tgz#66d1368da7bdf921eb9d95bd1a9229e7f21a43ee" - integrity sha512-5l4VyZR86LZ/lDxZTR6jqL8AFE2S0IFLMP26AbjsLVADxHdhB/c0GUsH+y39UfCi3dzz8OlQuPmnaJOMoDHQBA== - dependencies: - queue-microtask "^1.2.2" - -rw@1, rw@^1.3.3: - version "1.3.3" - resolved "https://registry.yarnpkg.com/rw/-/rw-1.3.3.tgz#3f862dfa91ab766b14885ef4d01124bfda074fb4" - integrity sha512-PdhdWy89SiZogBLaw42zdeqtRJ//zFd2PgQavcICDUgJT5oW10QCRKbJ6bg4r0/UY2M6BWd5tkxuGFRvCkgfHQ== - -rxjs@7.8.0: - version "7.8.0" - resolved "https://registry.yarnpkg.com/rxjs/-/rxjs-7.8.0.tgz#90a938862a82888ff4c7359811a595e14e1e09a4" - integrity sha512-F2+gxDshqmIub1KdvZkaEfGDwLNpPvk9Fs6LD/MyQxNgMds/WH9OdDDXOmxUZpME+iSK3rQCctkL0DYyytUqMg== - dependencies: - tslib "^2.1.0" - -rxjs@^7.5.1: - version "7.8.1" - resolved "https://registry.yarnpkg.com/rxjs/-/rxjs-7.8.1.tgz#6f6f3d99ea8044291efd92e7c7fcf562c4057543" - integrity sha512-AA3TVj+0A2iuIoQkWEK/tqFjBq2j+6PO6Y0zJcvzLAFhEFIO3HL0vls9hWLncZbAAbK0mar7oZ4V079I/qPMxg== - dependencies: - tslib "^2.1.0" - -safe-array-concat@^1.0.1: - version "1.1.0" - resolved "https://registry.yarnpkg.com/safe-array-concat/-/safe-array-concat-1.1.0.tgz#8d0cae9cb806d6d1c06e08ab13d847293ebe0692" - integrity sha512-ZdQ0Jeb9Ofti4hbt5lX3T2JcAamT9hfzYU1MNB+z/jaEbB6wfFfPIR/zEORmZqobkCCJhSjodobH6WHNmJ97dg== - dependencies: - call-bind "^1.0.5" - get-intrinsic "^1.2.2" - has-symbols "^1.0.3" - isarray "^2.0.5" - -safe-buffer@>=5.1.0, safe-buffer@^5.0.1, safe-buffer@^5.1.0, safe-buffer@^5.1.2: - version "5.2.1" - resolved "https://registry.yarnpkg.com/safe-buffer/-/safe-buffer-5.2.1.tgz#1eaf9fa9bdb1fdd4ec75f58f9cdb4e6b7827eec6" - integrity sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ== - -safe-buffer@~5.1.0, safe-buffer@~5.1.1: - version "5.1.2" - resolved "https://registry.yarnpkg.com/safe-buffer/-/safe-buffer-5.1.2.tgz#991ec69d296e0313747d59bdfd2b745c35f8828d" - integrity sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g== - -safe-json-parse@~1.0.1: - version "1.0.1" - resolved "https://registry.yarnpkg.com/safe-json-parse/-/safe-json-parse-1.0.1.tgz#3e76723e38dfdda13c9b1d29a1e07ffee4b30b57" - integrity sha512-o0JmTu17WGUaUOHa1l0FPGXKBfijbxK6qoHzlkihsDXxzBHvJcA7zgviKR92Xs841rX9pK16unfphLq0/KqX7A== - -safe-regex-test@^1.0.0: - version "1.0.2" - resolved "https://registry.yarnpkg.com/safe-regex-test/-/safe-regex-test-1.0.2.tgz#3ba32bdb3ea35f940ee87e5087c60ee786c3f6c5" - integrity sha512-83S9w6eFq12BBIJYvjMux6/dkirb8+4zJRA9cxNBVb7Wq5fJBW+Xze48WqR8pxua7bDuAaaAxtVVd4Idjp1dBQ== - dependencies: - call-bind "^1.0.5" - get-intrinsic "^1.2.2" - is-regex "^1.1.4" - -"safer-buffer@>= 2.1.2 < 3", "safer-buffer@>= 2.1.2 < 3.0.0", safer-buffer@^2.0.2, safer-buffer@^2.1.0, safer-buffer@~2.1.0: - version "2.1.2" - resolved "https://registry.yarnpkg.com/safer-buffer/-/safer-buffer-2.1.2.tgz#44fa161b0187b9549dd84bb91802f9bd8385cd6a" - integrity sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg== - -sass-loader@13.3.1: - version "13.3.1" - resolved "https://registry.yarnpkg.com/sass-loader/-/sass-loader-13.3.1.tgz#32ee5791434b9b4dbd1adcce76fcb4cea49cc12c" - integrity sha512-cBTxmgyVA1nXPvIK4brjJMXOMJ2v2YrQEuHqLw3LylGb3gsR6jAvdjHMcy/+JGTmmIF9SauTrLLR7bsWDMWqgg== - dependencies: - klona "^2.0.6" - neo-async "^2.6.2" - -sass@1.63.2: - version "1.63.2" - resolved "https://registry.yarnpkg.com/sass/-/sass-1.63.2.tgz#75f7d9a8e67d1d5b98a989507f4d98b6067b1f75" - integrity sha512-u56TU0AIFqMtauKl/OJ1AeFsXqRHkgO7nCWmHaDwfxDo9GUMSqBA4NEh6GMuh1CYVM7zuROYtZrHzPc2ixK+ww== - dependencies: - chokidar ">=3.0.0 <4.0.0" - immutable "^4.0.0" - source-map-js ">=0.6.2 <2.0.0" - -saxes@^6.0.0: - version "6.0.0" - resolved "https://registry.yarnpkg.com/saxes/-/saxes-6.0.0.tgz#fe5b4a4768df4f14a201b1ba6a65c1f3d9988cc5" - integrity sha512-xAg7SOnEhrm5zI3puOOKyy1OMcMlIJZYNJY7xLBwSze0UjhPLnWfj2GF2EpT0jmzaJKIWKHLsaSSajf35bcYnA== - dependencies: - xmlchars "^2.2.0" - -scheduler@^0.23.0: - version "0.23.0" - resolved "https://registry.yarnpkg.com/scheduler/-/scheduler-0.23.0.tgz#ba8041afc3d30eb206a487b6b384002e4e61fdfe" - integrity sha512-CtuThmgHNg7zIZWAXi3AsyIzA3n4xx7aNyjwC2VJldO2LMVDhFK+63xGqq6CsJH4rTAt6/M+N4GhZiDYPx9eUw== - dependencies: - loose-envify "^1.1.0" - -schema-utils@>1.0.0, schema-utils@^4.0.0: - version "4.2.0" - resolved "https://registry.yarnpkg.com/schema-utils/-/schema-utils-4.2.0.tgz#70d7c93e153a273a805801882ebd3bff20d89c8b" - integrity sha512-L0jRsrPpjdckP3oPug3/VxNKt2trR8TcabrM6FOAAlvC/9Phcmm+cuAgTlxBqdBR1WJx7Naj9WHw+aOmheSVbw== - dependencies: - "@types/json-schema" "^7.0.9" - ajv "^8.9.0" - ajv-formats "^2.1.1" - ajv-keywords "^5.1.0" - -schema-utils@^3.1.1, schema-utils@^3.2.0: - version "3.3.0" - resolved "https://registry.yarnpkg.com/schema-utils/-/schema-utils-3.3.0.tgz#f50a88877c3c01652a15b622ae9e9795df7a60fe" - integrity sha512-pN/yOAvcC+5rQ5nERGuwrjLlYvLTbCibnZ1I7B1LaiAz9BRBlE9GMgE/eqV30P7aJQUf7Ddimy/RsbYO/GrVGg== - dependencies: - "@types/json-schema" "^7.0.8" - ajv "^6.12.5" - ajv-keywords "^3.5.2" - -screenfull@^5.1.0: - version "5.2.0" - resolved "https://registry.yarnpkg.com/screenfull/-/screenfull-5.2.0.tgz#6533d524d30621fc1283b9692146f3f13a93d1ba" - integrity sha512-9BakfsO2aUQN2K9Fdbj87RJIEZ82Q9IGim7FqM5OsebfoFC6ZHXgDq/KvniuLTPdeM8wY2o6Dj3WQ7KeQCj3cA== - -selection-is-backward@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/selection-is-backward/-/selection-is-backward-1.0.0.tgz#97a54633188a511aba6419fc5c1fa91b467e6be1" - integrity sha512-C+6PCOO55NLCfS8uQjUKV/6E5XMuUcfOVsix5m0QqCCCKi495NgeQVNfWtAaD71NKHsdmFCJoXUGfir3qWdr9A== - -semver@^5.3.0: - version "5.7.2" - resolved "https://registry.yarnpkg.com/semver/-/semver-5.7.2.tgz#48d55db737c3287cd4835e17fa13feace1c41ef8" - integrity sha512-cBznnQ9KjJqU67B52RMC65CMarK2600WFnbkcaiwWq3xy/5haFJlshgnpjovMVJ+Hff49d8GEn0b87C5pDQ10g== - -semver@^6.0.0, semver@^6.1.1, semver@^6.1.2, semver@^6.3.0, semver@^6.3.1: - version "6.3.1" - resolved "https://registry.yarnpkg.com/semver/-/semver-6.3.1.tgz#556d2ef8689146e46dcea4bfdd095f3434dffcb4" - integrity sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA== - -semver@^7.3.2, semver@^7.3.4, semver@^7.3.5, semver@^7.3.7, semver@^7.5.1, semver@^7.5.3, semver@^7.5.4: - version "7.5.4" - resolved "https://registry.yarnpkg.com/semver/-/semver-7.5.4.tgz#483986ec4ed38e1c6c48c34894a9182dbff68a6e" - integrity sha512-1bCSESV6Pv+i21Hvpxp3Dx+pSD8lIPt8uVjRrxAUt/nbswYc+tK6Y2btiULjd4+fnq15PX+nqQDC7Oft7WkwcA== - dependencies: - lru-cache "^6.0.0" - -serialize-javascript@6.0.0: - version "6.0.0" - resolved "https://registry.yarnpkg.com/serialize-javascript/-/serialize-javascript-6.0.0.tgz#efae5d88f45d7924141da8b5c3a7a7e663fefeb8" - integrity sha512-Qr3TosvguFt8ePWqsvRfrKyQXIiW+nGbYpy8XK24NQHE83caxWt+mIymTT19DGFbNWNLfEwsrkSmN64lVWB9ag== - dependencies: - randombytes "^2.1.0" - -serialize-javascript@^6.0.0, serialize-javascript@^6.0.1: - version "6.0.2" - resolved "https://registry.yarnpkg.com/serialize-javascript/-/serialize-javascript-6.0.2.tgz#defa1e055c83bf6d59ea805d8da862254eb6a6c2" - integrity sha512-Saa1xPByTTq2gdeFZYLLo+RFE35NHZkAbqZeWNd3BpzppeVisAqpDjcp8dyf6uIvEqJRd46jemmyA4iFIeVk8g== - dependencies: - randombytes "^2.1.0" - -set-function-length@^1.1.1: - version "1.2.0" - resolved "https://registry.yarnpkg.com/set-function-length/-/set-function-length-1.2.0.tgz#2f81dc6c16c7059bda5ab7c82c11f03a515ed8e1" - integrity sha512-4DBHDoyHlM1IRPGYcoxexgh67y4ueR53FKV1yyxwFMY7aCqcN/38M1+SwZ/qJQ8iLv7+ck385ot4CcisOAPT9w== - dependencies: - define-data-property "^1.1.1" - function-bind "^1.1.2" - get-intrinsic "^1.2.2" - gopd "^1.0.1" - has-property-descriptors "^1.0.1" - -set-function-name@^2.0.0: - version "2.0.1" - resolved "https://registry.yarnpkg.com/set-function-name/-/set-function-name-2.0.1.tgz#12ce38b7954310b9f61faa12701620a0c882793a" - integrity sha512-tMNCiqYVkXIZgc2Hnoy2IvC/f8ezc5koaRFkCjrpWzGpCd3qbZXPzVy9MAZzK1ch/X0jvSkojys3oqJN0qCmdA== - dependencies: - define-data-property "^1.0.1" - functions-have-names "^1.2.3" - has-property-descriptors "^1.0.0" - -set-harmonic-interval@^1.0.1: - version "1.0.1" - resolved "https://registry.yarnpkg.com/set-harmonic-interval/-/set-harmonic-interval-1.0.1.tgz#e1773705539cdfb80ce1c3d99e7f298bb3995249" - integrity sha512-AhICkFV84tBP1aWqPwLZqFvAwqEoVA9kxNMniGEUvzOlm4vLmOFLiTT3UZ6bziJTy4bOVpzWGTfSCbmaayGx8g== - -shallow-clone@^3.0.0: - version "3.0.1" - resolved "https://registry.yarnpkg.com/shallow-clone/-/shallow-clone-3.0.1.tgz#8f2981ad92531f55035b01fb230769a40e02efa3" - integrity sha512-/6KqX+GVUdqPuPPd2LxDDxzX6CAbjJehAAOKlNpqqUpAqPM6HeL8f+o3a+JsyGjn2lv0WY8UsTgUJjU9Ok55NA== - dependencies: - kind-of "^6.0.2" - -shallowequal@^1.1.0: - version "1.1.0" - resolved "https://registry.yarnpkg.com/shallowequal/-/shallowequal-1.1.0.tgz#188d521de95b9087404fd4dcb68b13df0ae4e7f8" - integrity sha512-y0m1JoUZSlPAjXVtPPW70aZWfIL/dSP7AFkRnniLCrK/8MDKog3TySTBmckD+RObVxH0v4Tox67+F14PdED2oQ== - -shebang-command@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/shebang-command/-/shebang-command-2.0.0.tgz#ccd0af4f8835fbdc265b82461aaf0c36663f34ea" - integrity sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA== - dependencies: - shebang-regex "^3.0.0" - -shebang-regex@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/shebang-regex/-/shebang-regex-3.0.0.tgz#ae16f1644d873ecad843b0307b143362d4c42172" - integrity sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A== - -side-channel@^1.0.4: - version "1.0.4" - resolved "https://registry.yarnpkg.com/side-channel/-/side-channel-1.0.4.tgz#efce5c8fdc104ee751b25c58d4290011fa5ea2cf" - integrity sha512-q5XPytqFEIKHkGdiMIrY10mvLRvnQh42/+GoBlFW3b2LXLE2xxJpZFdm94we0BaoV3RwJyGqg5wS7epxTv0Zvw== - dependencies: - call-bind "^1.0.0" - get-intrinsic "^1.0.2" - object-inspect "^1.9.0" - -signal-exit@^3.0.2, signal-exit@^3.0.3, signal-exit@^3.0.7: - version "3.0.7" - resolved "https://registry.yarnpkg.com/signal-exit/-/signal-exit-3.0.7.tgz#a9a1767f8af84155114eaabd73f99273c8f59ad9" - integrity sha512-wnD2ZE+l+SPC/uoS0vXeE9L1+0wuaMqKlfz9AMUo38JsyLSBWSFcHR1Rri62LZc12vLr1gb3jl7iwQhgwpAbGQ== - -signal-exit@^4.0.1: - version "4.1.0" - resolved "https://registry.yarnpkg.com/signal-exit/-/signal-exit-4.1.0.tgz#952188c1cbd546070e2dd20d0f41c0ae0530cb04" - integrity sha512-bzyZ1e88w9O1iNJbKnOlvYTrWPDl46O1bG0D3XInv+9tkPrxrN8jUUTiFlDkkmKWgn1M6CfIA13SuGqOa9Korw== - -sisteransi@^1.0.5: - version "1.0.5" - resolved "https://registry.yarnpkg.com/sisteransi/-/sisteransi-1.0.5.tgz#134d681297756437cc05ca01370d3a7a571075ed" - integrity sha512-bLGGlR1QxBcynn2d5YmDX4MGjlZvy2MRBDRNHLJ8VI6l6+9FUiyTFNJ0IveOSP0bcXgVDPRcfGqA0pjaqUpfVg== - -slash@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/slash/-/slash-3.0.0.tgz#6539be870c165adbd5240220dbe361f1bc4d4634" - integrity sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q== - -slash@^4.0.0: - version "4.0.0" - resolved "https://registry.yarnpkg.com/slash/-/slash-4.0.0.tgz#2422372176c4c6c5addb5e2ada885af984b396a7" - integrity sha512-3dOsAHXXUkQTpOYcoAxLIorMTp4gIQr5IW3iVb7A7lFIp0VHhnynm9izx6TssdrIcVIESAlVjtnO2K8bg+Coew== - -slash@^5.1.0: - version "5.1.0" - resolved "https://registry.yarnpkg.com/slash/-/slash-5.1.0.tgz#be3adddcdf09ac38eebe8dcdc7b1a57a75b095ce" - integrity sha512-ZA6oR3T/pEyuqwMgAKT0/hAv8oAXckzbkmR0UkUosQ+Mc4RxGoJkRmwHgHufaenlyAgE1Mxgpdcrf75y6XcnDg== - -slate-base64-serializer@^0.2.112: - version "0.2.115" - resolved "https://registry.yarnpkg.com/slate-base64-serializer/-/slate-base64-serializer-0.2.115.tgz#438e051959bde013b50507f3144257e74039ff7f" - integrity sha512-GnLV7bUW/UQ5j7rVIxCU5zdB6NOVsEU6YWsCp68dndIjSGTGLaQv2+WwV3NcnrGGZEYe5qgo33j2QWrPws2C1A== - dependencies: - isomorphic-base64 "^1.0.2" - -slate-dev-environment@^0.2.2: - version "0.2.5" - resolved "https://registry.yarnpkg.com/slate-dev-environment/-/slate-dev-environment-0.2.5.tgz#481b6906fde5becc390db7c14edf97a4bb0029f2" - integrity sha512-oLD8Fclv/RqrDv6RYfN2CRzNcRXsUB99Qgcw5L/njTjxAdDPguV6edQ3DgUG9Q2pLFLhI15DwsKClzVfFzfwGQ== - dependencies: - is-in-browser "^1.1.3" - -slate-hotkeys@^0.2.9: - version "0.2.11" - resolved "https://registry.yarnpkg.com/slate-hotkeys/-/slate-hotkeys-0.2.11.tgz#a94db117d9a98575671192329b05f23e6f485d6f" - integrity sha512-xhq/TlI74dRbO57O4ulGsvCcV4eaQ5nEEz9noZjeNLtNzFRd6lSgExRqAJqKGGIeJw+FnJ3OcqGvdb5CEc9/Ew== - dependencies: - is-hotkey "0.1.4" - slate-dev-environment "^0.2.2" - -slate-plain-serializer@0.7.13, slate-plain-serializer@^0.7.11: - version "0.7.13" - resolved "https://registry.yarnpkg.com/slate-plain-serializer/-/slate-plain-serializer-0.7.13.tgz#6de8f5c645dd749f1b2e4426c20de74bfd213adf" - integrity sha512-TtrlaslxQBEMV0LYdf3s7VAbTxRPe1xaW10WNNGAzGA855/0RhkaHjKkQiRjHv5rvbRleVf7Nxr9fH+4uErfxQ== - -slate-prop-types@^0.5.42: - version "0.5.44" - resolved "https://registry.yarnpkg.com/slate-prop-types/-/slate-prop-types-0.5.44.tgz#da60b69c3451c3bd6cdd60a45d308eeba7e83c76" - integrity sha512-JS0iW7uaciE/W3ADuzeN1HOnSjncQhHPXJ65nZNQzB0DF7mXVmbwQKI6cmCo/xKni7XRJT0JbWSpXFhEdPiBUA== - -slate-react-placeholder@^0.2.9: - version "0.2.9" - resolved "https://registry.yarnpkg.com/slate-react-placeholder/-/slate-react-placeholder-0.2.9.tgz#30f450a05d4871c7d1a27668ebe7907861e7ca74" - integrity sha512-YSJ9Gb4tGpbzPje3eNKtu26hWM8ApxTk9RzjK+6zfD5V/RMTkuWONk24y6c9lZk0OAYNZNUmrnb/QZfU3j9nag== - -slate-react@0.22.10: - version "0.22.10" - resolved "https://registry.yarnpkg.com/slate-react/-/slate-react-0.22.10.tgz#01296dadb707869ace6cb21d336c90bedfb567bf" - integrity sha512-B2Ms1u/REbdd8yKkOItKgrw/tX8klgz5l5x6PP86+oh/yqmB6EHe0QyrYlQ9fc3WBlJUVTOL+nyAP1KmlKj2/w== - dependencies: - debug "^3.1.0" - get-window "^1.1.1" - is-window "^1.0.2" - lodash "^4.1.1" - memoize-one "^4.0.0" - prop-types "^15.5.8" - react-immutable-proptypes "^2.1.0" - selection-is-backward "^1.0.0" - slate-base64-serializer "^0.2.112" - slate-dev-environment "^0.2.2" - slate-hotkeys "^0.2.9" - slate-plain-serializer "^0.7.11" - slate-prop-types "^0.5.42" - slate-react-placeholder "^0.2.9" - tiny-invariant "^1.0.1" - tiny-warning "^0.0.3" - -slate@0.47.9: - version "0.47.9" - resolved "https://registry.yarnpkg.com/slate/-/slate-0.47.9.tgz#090597dd790e79718f782994907d34a903739443" - integrity sha512-EK4O6b7lGt+g5H9PGw9O5KCM4RrOvOgE9mPi3rzQ0zDRlgAb2ga4TdpS6XNQbrsJWsc8I1fjaSsUeCqCUhhi9A== - dependencies: - debug "^3.1.0" - direction "^0.1.5" - esrever "^0.2.0" - is-plain-object "^2.0.4" - lodash "^4.17.4" - tiny-invariant "^1.0.1" - tiny-warning "^0.0.3" - type-of "^2.0.1" - -slice-ansi@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/slice-ansi/-/slice-ansi-3.0.0.tgz#31ddc10930a1b7e0b67b08c96c2f49b77a789787" - integrity sha512-pSyv7bSTC7ig9Dcgbw9AuRNUb5k5V6oDudjZoMBSr13qpLBG7tB+zgCkARjq7xIUgdz5P1Qe8u+rSGdouOOIyQ== - dependencies: - ansi-styles "^4.0.0" - astral-regex "^2.0.0" - is-fullwidth-code-point "^3.0.0" - -slice-ansi@^4.0.0: - version "4.0.0" - resolved "https://registry.yarnpkg.com/slice-ansi/-/slice-ansi-4.0.0.tgz#500e8dd0fd55b05815086255b3195adf2a45fe6b" - integrity sha512-qMCMfhY040cVHT43K9BFygqYbUPFZKHOg7K73mtTWJRb8pyP3fzf4Ixd5SzdEJQ6MRUg/WBnOLxghZtKKurENQ== - dependencies: - ansi-styles "^4.0.0" - astral-regex "^2.0.0" - is-fullwidth-code-point "^3.0.0" - -sort-asc@^0.1.0: - version "0.1.0" - resolved "https://registry.yarnpkg.com/sort-asc/-/sort-asc-0.1.0.tgz#ab799df61fc73ea0956c79c4b531ed1e9e7727e9" - integrity sha512-jBgdDd+rQ+HkZF2/OHCmace5dvpos/aWQpcxuyRs9QUbPRnkEJmYVo81PIGpjIdpOcsnJ4rGjStfDHsbn+UVyw== - -sort-desc@^0.1.1: - version "0.1.1" - resolved "https://registry.yarnpkg.com/sort-desc/-/sort-desc-0.1.1.tgz#198b8c0cdeb095c463341861e3925d4ee359a9ee" - integrity sha512-jfZacW5SKOP97BF5rX5kQfJmRVZP5/adDUTY8fCSPvNcXDVpUEe2pr/iKGlcyZzchRJZrswnp68fgk3qBXgkJw== - -sort-object@^0.3.2: - version "0.3.2" - resolved "https://registry.yarnpkg.com/sort-object/-/sort-object-0.3.2.tgz#98e0d199ede40e07c61a84403c61d6c3b290f9e2" - integrity sha512-aAQiEdqFTTdsvUFxXm3umdo04J7MRljoVGbBlkH7BgNsMvVNAJyGj7C/wV1A8wHWAJj/YikeZbfuCKqhggNWGA== - dependencies: - sort-asc "^0.1.0" - sort-desc "^0.1.1" - -"source-map-js@>=0.6.2 <2.0.0", source-map-js@^1.0.2: - version "1.0.2" - resolved "https://registry.yarnpkg.com/source-map-js/-/source-map-js-1.0.2.tgz#adbc361d9c62df380125e7f161f71c826f1e490c" - integrity sha512-R0XvVJ9WusLiqTCEiGCmICCMplcCkIwwR11mOSD9CR5u+IXYdiseeEuXCVAjS54zqwkLcPNnmU4OeJ6tUrWhDw== - -source-map-support@0.5.13: - version "0.5.13" - resolved "https://registry.yarnpkg.com/source-map-support/-/source-map-support-0.5.13.tgz#31b24a9c2e73c2de85066c0feb7d44767ed52932" - integrity sha512-SHSKFHadjVA5oR4PPqhtAVdcBWwRYVd6g6cAXnIbRiIwc2EhPrTuKUBdSLvlEKyIP3GCf89fltvcZiP9MMFA1w== - dependencies: - buffer-from "^1.0.0" - source-map "^0.6.0" - -source-map-support@~0.5.20: - version "0.5.21" - resolved "https://registry.yarnpkg.com/source-map-support/-/source-map-support-0.5.21.tgz#04fe7c7f9e1ed2d662233c28cb2b35b9f63f6e4f" - integrity sha512-uBHU3L3czsIyYXKX88fdrGovxdSCoTGDRZ6SYXtSRxLZUzHg5P/66Ht6uoUlHu9EZod+inXhKo3qQgwXUT/y1w== - dependencies: - buffer-from "^1.0.0" - source-map "^0.6.0" - -source-map@0.5.6: - version "0.5.6" - resolved "https://registry.yarnpkg.com/source-map/-/source-map-0.5.6.tgz#75ce38f52bf0733c5a7f0c118d81334a2bb5f412" - integrity sha512-MjZkVp0NHr5+TPihLcadqnlVoGIoWo4IBHptutGh9wI3ttUYvCG26HkSuDi+K6lsZ25syXJXcctwgyVCt//xqA== - -source-map@^0.5.7: - version "0.5.7" - resolved "https://registry.yarnpkg.com/source-map/-/source-map-0.5.7.tgz#8a039d2d1021d22d1ea14c80d8ea468ba2ef3fcc" - integrity sha512-LbrmJOMUSdEVxIKvdcJzQC+nQhe8FUZQTXQy6+I75skNgn3OoQ0DZA8YnFa7gp8tqtL3KPf1kmo0R5DoApeSGQ== - -source-map@^0.6.0, source-map@^0.6.1, source-map@~0.6.1: - version "0.6.1" - resolved "https://registry.yarnpkg.com/source-map/-/source-map-0.6.1.tgz#74722af32e9614e9c287a8d0bbde48b5e2f1a263" - integrity sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g== - -spdx-exceptions@^2.1.0: - version "2.3.0" - resolved "https://registry.yarnpkg.com/spdx-exceptions/-/spdx-exceptions-2.3.0.tgz#3f28ce1a77a00372683eade4a433183527a2163d" - integrity sha512-/tTrYOC7PPI1nUAgx34hUpqXuyJG+DTHJTnIULG4rDygi4xu/tfgmq1e1cIRwRzwZgo4NLySi+ricLkZkw4i5A== - -spdx-expression-parse@^3.0.1: - version "3.0.1" - resolved "https://registry.yarnpkg.com/spdx-expression-parse/-/spdx-expression-parse-3.0.1.tgz#cf70f50482eefdc98e3ce0a6833e4a53ceeba679" - integrity sha512-cbqHunsQWnJNE6KhVSMsMeH5H/L9EpymbzqTQ3uLwNCLZ1Q481oWaofqH7nO6V07xlXwY6PhQdQ2IedWx/ZK4Q== - dependencies: - spdx-exceptions "^2.1.0" - spdx-license-ids "^3.0.0" - -spdx-license-ids@^3.0.0: - version "3.0.16" - resolved "https://registry.yarnpkg.com/spdx-license-ids/-/spdx-license-ids-3.0.16.tgz#a14f64e0954f6e25cc6587bd4f392522db0d998f" - integrity sha512-eWN+LnM3GR6gPu35WxNgbGl8rmY1AEmoMDvL/QD6zYmPWgywxWqJWNdLGT+ke8dKNWrcYgYjPpG5gbTfghP8rw== - -sprintf-js@~1.0.2: - version "1.0.3" - resolved "https://registry.yarnpkg.com/sprintf-js/-/sprintf-js-1.0.3.tgz#04e6926f662895354f3dd015203633b857297e2c" - integrity sha512-D9cPgkvLlV3t3IzL0D0YLvGA9Ahk4PcvVwUbN0dSGr1aP0Nrt4AEnTUbuGvquEC0mA64Gqt1fzirlRs5ibXx8g== - -sshpk@^1.14.1, sshpk@^1.7.0: - version "1.18.0" - resolved "https://registry.yarnpkg.com/sshpk/-/sshpk-1.18.0.tgz#1663e55cddf4d688b86a46b77f0d5fe363aba028" - integrity sha512-2p2KJZTSqQ/I3+HX42EpYOa2l3f8Erv8MWKsy2I9uf4wA7yFIkXRffYdsx86y6z4vHtV8u7g+pPlr8/4ouAxsQ== - dependencies: - asn1 "~0.2.3" - assert-plus "^1.0.0" - bcrypt-pbkdf "^1.0.0" - dashdash "^1.12.0" - ecc-jsbn "~0.1.1" - getpass "^0.1.1" - jsbn "~0.1.0" - safer-buffer "^2.0.2" - tweetnacl "~0.14.0" - -stack-generator@^2.0.5: - version "2.0.10" - resolved "https://registry.yarnpkg.com/stack-generator/-/stack-generator-2.0.10.tgz#8ae171e985ed62287d4f1ed55a1633b3fb53bb4d" - integrity sha512-mwnua/hkqM6pF4k8SnmZ2zfETsRUpWXREfA/goT8SLCV4iOFa4bzOX2nDipWAZFPTjLvQB82f5yaodMVhK0yJQ== - dependencies: - stackframe "^1.3.4" - -stack-utils@^2.0.3: - version "2.0.6" - resolved "https://registry.yarnpkg.com/stack-utils/-/stack-utils-2.0.6.tgz#aaf0748169c02fc33c8232abccf933f54a1cc34f" - integrity sha512-XlkWvfIm6RmsWtNJx+uqtKLS8eqFbxUg0ZzLXqY0caEy9l7hruX8IpiDnjsLavoBgqCCR71TqWO8MaXYheJ3RQ== - dependencies: - escape-string-regexp "^2.0.0" - -stackframe@^1.3.4: - version "1.3.4" - resolved "https://registry.yarnpkg.com/stackframe/-/stackframe-1.3.4.tgz#b881a004c8c149a5e8efef37d51b16e412943310" - integrity sha512-oeVtt7eWQS+Na6F//S4kJ2K2VbRlS9D43mAlMyVpVWovy9o+jfgH8O9agzANzaiLjclA0oYzUXEM4PurhSUChw== - -stacktrace-gps@^3.0.4: - version "3.1.2" - resolved "https://registry.yarnpkg.com/stacktrace-gps/-/stacktrace-gps-3.1.2.tgz#0c40b24a9b119b20da4525c398795338966a2fb0" - integrity sha512-GcUgbO4Jsqqg6RxfyTHFiPxdPqF+3LFmQhm7MgCuYQOYuWyqxo5pwRPz5d/u6/WYJdEnWfK4r+jGbyD8TSggXQ== - dependencies: - source-map "0.5.6" - stackframe "^1.3.4" - -stacktrace-js@^2.0.2: - version "2.0.2" - resolved "https://registry.yarnpkg.com/stacktrace-js/-/stacktrace-js-2.0.2.tgz#4ca93ea9f494752d55709a081d400fdaebee897b" - integrity sha512-Je5vBeY4S1r/RnLydLl0TBTi3F2qdfWmYsGvtfZgEI+SCprPppaIhQf5nGcal4gI4cGpCV/duLcAzT1np6sQqg== - dependencies: - error-stack-parser "^2.0.6" - stack-generator "^2.0.5" - stacktrace-gps "^3.0.4" - -state-local@^1.0.6: - version "1.0.7" - resolved "https://registry.yarnpkg.com/state-local/-/state-local-1.0.7.tgz#da50211d07f05748d53009bee46307a37db386d5" - integrity sha512-HTEHMNieakEnoe33shBYcZ7NX83ACUjCu8c40iOGEZsngj9zRnkqS9j1pqQPXwobB0ZcVTk27REb7COQ0UR59w== - -stop-iteration-iterator@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/stop-iteration-iterator/-/stop-iteration-iterator-1.0.0.tgz#6a60be0b4ee757d1ed5254858ec66b10c49285e4" - integrity sha512-iCGQj+0l0HOdZ2AEeBADlsRC+vsnDsZsbdSiH1yNSjcfKM7fdpCMfqAL/dwF5BLiw/XhRft/Wax6zQbhq2BcjQ== - dependencies: - internal-slot "^1.0.4" - -stream-buffers@1.0.1: - version "1.0.1" - resolved "https://registry.yarnpkg.com/stream-buffers/-/stream-buffers-1.0.1.tgz#9a44a37555f96a5b78a5a765f0c48446cb160b8c" - integrity sha512-t+8bSU8qPq7NnWHWAvikjcZf+biErLZzD15RroYft1IKQwYbkRyiwppT7kNqwdtYLS59YPxc4sTSvwbLSMaodw== - -streamroller@^0.4.0: - version "0.4.1" - resolved "https://registry.yarnpkg.com/streamroller/-/streamroller-0.4.1.tgz#d435bd5974373abd9bd9068359513085106cc05f" - integrity sha512-w0GGkMlWOiIBIYTmOWHTWKy9Y5hKxGKpQ5WpiHqwhvoSoMHXNTITrk6ZsR3fdgz3Bi/c+CXVHwmfPUQFkEPL+A== - dependencies: - date-format "^0.0.0" - debug "^0.7.2" - mkdirp "^0.5.1" - readable-stream "^1.1.7" - -string-hash@^1.1.3: - version "1.1.3" - resolved "https://registry.yarnpkg.com/string-hash/-/string-hash-1.1.3.tgz#e8aafc0ac1855b4666929ed7dd1275df5d6c811b" - integrity sha512-kJUvRUFK49aub+a7T1nNE66EJbZBMnBgoC1UbCZ5n6bsZKBRga4KgBRTMn/pFkeCZSYtNeSyMxPDM0AXWELk2A== - -string-length@^4.0.1: - version "4.0.2" - resolved "https://registry.yarnpkg.com/string-length/-/string-length-4.0.2.tgz#a8a8dc7bd5c1a82b9b3c8b87e125f66871b6e57a" - integrity sha512-+l6rNN5fYHNhZZy41RXsYptCjA2Igmq4EG7kZAYFQI1E1VTXarr6ZPXBg6eq7Y6eK4FEhY6AJlyuFIb/v/S0VQ== - dependencies: - char-regex "^1.0.2" - strip-ansi "^6.0.0" - -string-template@~0.2.1: - version "0.2.1" - resolved "https://registry.yarnpkg.com/string-template/-/string-template-0.2.1.tgz#42932e598a352d01fc22ec3367d9d84eec6c9add" - integrity sha512-Yptehjogou2xm4UJbxJ4CxgZx12HBfeystp0y3x7s4Dj32ltVVG1Gg8YhKjHZkHicuKpZX/ffilA8505VbUbpw== - -"string-width-cjs@npm:string-width@^4.2.0", string-width@^4.1.0, string-width@^4.2.0, string-width@^4.2.3: - version "4.2.3" - resolved "https://registry.yarnpkg.com/string-width/-/string-width-4.2.3.tgz#269c7117d27b05ad2e536830a8ec895ef9c6d010" - integrity sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g== - dependencies: - emoji-regex "^8.0.0" - is-fullwidth-code-point "^3.0.0" - strip-ansi "^6.0.1" - -string-width@^5.0.1, string-width@^5.1.2: - version "5.1.2" - resolved "https://registry.yarnpkg.com/string-width/-/string-width-5.1.2.tgz#14f8daec6d81e7221d2a357e668cab73bdbca794" - integrity sha512-HnLOCR3vjcY8beoNLtcjZ5/nxn2afmME6lhrDrebokqMap+XbeW8n9TXpPDOqdGK5qcI3oT0GKTW6wC7EMiVqA== - dependencies: - eastasianwidth "^0.2.0" - emoji-regex "^9.2.2" - strip-ansi "^7.0.1" - -string.prototype.matchall@^4.0.8: - version "4.0.10" - resolved "https://registry.yarnpkg.com/string.prototype.matchall/-/string.prototype.matchall-4.0.10.tgz#a1553eb532221d4180c51581d6072cd65d1ee100" - integrity sha512-rGXbGmOEosIQi6Qva94HUjgPs9vKW+dkG7Y8Q5O2OYkWL6wFaTRZO8zM4mhP94uX55wgyrXzfS2aGtGzUL7EJQ== - dependencies: - call-bind "^1.0.2" - define-properties "^1.2.0" - es-abstract "^1.22.1" - get-intrinsic "^1.2.1" - has-symbols "^1.0.3" - internal-slot "^1.0.5" - regexp.prototype.flags "^1.5.0" - set-function-name "^2.0.0" - side-channel "^1.0.4" - -string.prototype.trim@^1.2.8: - version "1.2.8" - resolved "https://registry.yarnpkg.com/string.prototype.trim/-/string.prototype.trim-1.2.8.tgz#f9ac6f8af4bd55ddfa8895e6aea92a96395393bd" - integrity sha512-lfjY4HcixfQXOfaqCvcBuOIapyaroTXhbkfJN3gcB1OtyupngWK4sEET9Knd0cXd28kTUqu/kHoV4HKSJdnjiQ== - dependencies: - call-bind "^1.0.2" - define-properties "^1.2.0" - es-abstract "^1.22.1" - -string.prototype.trimend@^1.0.7: - version "1.0.7" - resolved "https://registry.yarnpkg.com/string.prototype.trimend/-/string.prototype.trimend-1.0.7.tgz#1bb3afc5008661d73e2dc015cd4853732d6c471e" - integrity sha512-Ni79DqeB72ZFq1uH/L6zJ+DKZTkOtPIHovb3YZHQViE+HDouuU4mBrLOLDn5Dde3RF8qw5qVETEjhu9locMLvA== - dependencies: - call-bind "^1.0.2" - define-properties "^1.2.0" - es-abstract "^1.22.1" - -string.prototype.trimstart@^1.0.7: - version "1.0.7" - resolved "https://registry.yarnpkg.com/string.prototype.trimstart/-/string.prototype.trimstart-1.0.7.tgz#d4cdb44b83a4737ffbac2d406e405d43d0184298" - integrity sha512-NGhtDFu3jCEm7B4Fy0DpLewdJQOZcQ0rGbwQ/+stjnrp2i+rlKeCvos9hOIeCmqwratM47OBxY7uFZzjxHXmrg== - dependencies: - call-bind "^1.0.2" - define-properties "^1.2.0" - es-abstract "^1.22.1" - -string_decoder@0.10, string_decoder@~0.10.x: - version "0.10.31" - resolved "https://registry.yarnpkg.com/string_decoder/-/string_decoder-0.10.31.tgz#62e203bc41766c6c28c9fc84301dab1c5310fa94" - integrity sha512-ev2QzSzWPYmy9GuqfIVildA4OdcGLeFZQrq5ys6RtiuF+RQQiZWr8TZNyAcuVXyQRYfEO+MsoB/1BuQVhOJuoQ== - -string_decoder@~1.1.1: - version "1.1.1" - resolved "https://registry.yarnpkg.com/string_decoder/-/string_decoder-1.1.1.tgz#9cf1611ba62685d7030ae9e4ba34149c3af03fc8" - integrity sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg== - dependencies: - safe-buffer "~5.1.0" - -"strip-ansi-cjs@npm:strip-ansi@^6.0.1", strip-ansi@^6.0.0, strip-ansi@^6.0.1: - version "6.0.1" - resolved "https://registry.yarnpkg.com/strip-ansi/-/strip-ansi-6.0.1.tgz#9e26c63d30f53443e9489495b2105d37b67a85d9" - integrity sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A== - dependencies: - ansi-regex "^5.0.1" - -strip-ansi@^7.0.1: - version "7.1.0" - resolved "https://registry.yarnpkg.com/strip-ansi/-/strip-ansi-7.1.0.tgz#d5b6568ca689d8561370b0707685d22434faff45" - integrity sha512-iq6eVVI64nQQTRYq2KtEg2d2uU7LElhTJwsH4YzIHZshxlgZms/wIc4VoDQTlG/IvVIrBKG06CrZnp0qv7hkcQ== - dependencies: - ansi-regex "^6.0.1" - -strip-bom@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/strip-bom/-/strip-bom-3.0.0.tgz#2334c18e9c759f7bdd56fdef7e9ae3d588e68ed3" - integrity sha512-vavAMRXOgBVNF6nyEEmL3DBK19iRpDcoIwW+swQ+CbGiu7lju6t+JklA1MHweoWtadgt4ISVUsXLyDq34ddcwA== - -strip-bom@^4.0.0: - version "4.0.0" - resolved "https://registry.yarnpkg.com/strip-bom/-/strip-bom-4.0.0.tgz#9c3505c1db45bcedca3d9cf7a16f5c5aa3901878" - integrity sha512-3xurFv5tEgii33Zi8Jtp55wEIILR9eh34FAW00PZf+JnSsTmV/ioewSgQl97JHvgjoRGwPShsWm+IdrxB35d0w== - -strip-final-newline@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/strip-final-newline/-/strip-final-newline-2.0.0.tgz#89b852fb2fcbe936f6f4b3187afb0a12c1ab58ad" - integrity sha512-BrpvfNAE3dcvq7ll3xVumzjKjZQ5tI1sEUIKr3Uoks0XUl45St3FlatVqef9prk4jRDzhW6WZg+3bk93y6pLjA== - -strip-indent@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/strip-indent/-/strip-indent-3.0.0.tgz#c32e1cee940b6b3432c771bc2c54bcce73cd3001" - integrity sha512-laJTa3Jb+VQpaC6DseHhF7dXVqHTfJPCRDaEbid/drOhgitgYku/letMUqOXFoWV0zIIUbjpdH2t+tYj4bQMRQ== - dependencies: - min-indent "^1.0.0" - -strip-json-comments@3.1.1, strip-json-comments@^3.1.0, strip-json-comments@^3.1.1: - version "3.1.1" - resolved "https://registry.yarnpkg.com/strip-json-comments/-/strip-json-comments-3.1.1.tgz#31f1281b3832630434831c310c01cccda8cbe006" - integrity sha512-6fPc+R4ihwqP6N/aIv2f1gMH8lOVtWQHoqC4yK6oSDVVocumAsfCqjkXnqiYMhmMwS/mEHLp7Vehlt3ql6lEig== - -style-loader@3.3.3: - version "3.3.3" - resolved "https://registry.yarnpkg.com/style-loader/-/style-loader-3.3.3.tgz#bba8daac19930169c0c9c96706749a597ae3acff" - integrity sha512-53BiGLXAcll9maCYtZi2RCQZKa8NQQai5C4horqKyRmHj9H7QmcUyucrH+4KW/gBQbXM2AsB0axoEcFZPlfPcw== - -stylis@4.2.0: - version "4.2.0" - resolved "https://registry.yarnpkg.com/stylis/-/stylis-4.2.0.tgz#79daee0208964c8fe695a42fcffcac633a211a51" - integrity sha512-Orov6g6BB1sDfYgzWfTHDOxamtX1bE/zo104Dh9e6fqJ3PooipYyfJ0pUmrZO2wAvO8YbEyeFrkV91XTsGMSrw== - -stylis@^4.3.0: - version "4.3.1" - resolved "https://registry.yarnpkg.com/stylis/-/stylis-4.3.1.tgz#ed8a9ebf9f76fe1e12d462f5cc3c4c980b23a7eb" - integrity sha512-EQepAV+wMsIaGVGX1RECzgrcqRRU/0sYOHkeLsZ3fzHaHXZy4DaOOX0vOlGQdlsjkh3mFHAIlVimpwAs4dslyQ== - -supports-color@8.1.1, supports-color@^8.0.0, supports-color@^8.1.1: - version "8.1.1" - resolved "https://registry.yarnpkg.com/supports-color/-/supports-color-8.1.1.tgz#cd6fc17e28500cff56c1b86c0a7fd4a54a73005c" - integrity sha512-MpUEN2OodtUzxvKQl72cUF7RQ5EiHsGvSsVG0ia9c5RbWGL2CI4C7EpPS8UTBIplnlzZiNuV56w+FuNxy3ty2Q== - dependencies: - has-flag "^4.0.0" - -supports-color@^5.3.0: - version "5.5.0" - resolved "https://registry.yarnpkg.com/supports-color/-/supports-color-5.5.0.tgz#e2e69a44ac8772f78a1ec0b35b689df6530efc8f" - integrity sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow== - dependencies: - has-flag "^3.0.0" - -supports-color@^7.1.0: - version "7.2.0" - resolved "https://registry.yarnpkg.com/supports-color/-/supports-color-7.2.0.tgz#1b7dcdcb32b8138801b3e478ba6a51caa89648da" - integrity sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw== - dependencies: - has-flag "^4.0.0" - -supports-preserve-symlinks-flag@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/supports-preserve-symlinks-flag/-/supports-preserve-symlinks-flag-1.0.0.tgz#6eda4bd344a3c94aea376d4cc31bc77311039e09" - integrity sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w== - -swc-loader@^0.2.3: - version "0.2.3" - resolved "https://registry.yarnpkg.com/swc-loader/-/swc-loader-0.2.3.tgz#6792f1c2e4c9ae9bf9b933b3e010210e270c186d" - integrity sha512-D1p6XXURfSPleZZA/Lipb3A8pZ17fP4NObZvFCDjK/OKljroqDpPmsBdTraWhVBqUNpcWBQY1imWdoPScRlQ7A== - -symbol-tree@^3.2.4: - version "3.2.4" - resolved "https://registry.yarnpkg.com/symbol-tree/-/symbol-tree-3.2.4.tgz#430637d248ba77e078883951fb9aa0eed7c63fa2" - integrity sha512-9QNk5KwDF+Bvz+PyObkmSYjI5ksVUYtjW7AU22r2NKcfLJcXp96hkDWU3+XndOsUb+AQ9QhfzfCT2O+CNWT5Tw== - -systemjs@0.20.19: - version "0.20.19" - resolved "https://registry.yarnpkg.com/systemjs/-/systemjs-0.20.19.tgz#c2b9e79c19f4bea53a19b1ed3f974ffb463be949" - integrity sha512-H/rKwNEEyej/+IhkmFNmKFyJul8tbH/muiPq5TyNoVTwsGhUjRsN3NlFnFQUvFXA3+GQmsXkCNXU6QKPl779aw== - -tapable@^1.0.0: - version "1.1.3" - resolved "https://registry.yarnpkg.com/tapable/-/tapable-1.1.3.tgz#a1fccc06b58db61fd7a45da2da44f5f3a3e67ba2" - integrity sha512-4WK/bYZmj8xLr+HUCODHGF1ZFzsYffasLUgEiMBY4fgtltdO6B4WJtlSbPaDTLpYTcGVwM2qLnFTICEcNxs3kA== - -tapable@^2.1.1, tapable@^2.2.0, tapable@^2.2.1: - version "2.2.1" - resolved "https://registry.yarnpkg.com/tapable/-/tapable-2.2.1.tgz#1967a73ef4060a82f12ab96af86d52fdb76eeca0" - integrity sha512-GNzQvQTOIP6RyTfE2Qxb8ZVlNmw0n88vp1szwWRimP02mnTsx3Wtn5qRdqY9w2XduFNUgvOwhNnQsjwCp+kqaQ== - -terser-webpack-plugin@^5.3.7: - version "5.3.10" - resolved "https://registry.yarnpkg.com/terser-webpack-plugin/-/terser-webpack-plugin-5.3.10.tgz#904f4c9193c6fd2a03f693a2150c62a92f40d199" - integrity sha512-BKFPWlPDndPs+NGGCr1U59t0XScL5317Y0UReNrHaw9/FwhPENlq6bfgs+4yPfyP51vqC1bQ4rp1EfXW5ZSH9w== - dependencies: - "@jridgewell/trace-mapping" "^0.3.20" - jest-worker "^27.4.5" - schema-utils "^3.1.1" - serialize-javascript "^6.0.1" - terser "^5.26.0" - -terser@^5.26.0: - version "5.27.0" - resolved "https://registry.yarnpkg.com/terser/-/terser-5.27.0.tgz#70108689d9ab25fef61c4e93e808e9fd092bf20c" - integrity sha512-bi1HRwVRskAjheeYl291n3JC4GgO/Ty4z1nVs5AAsmonJulGxpSektecnNedrwK9C7vpvVtcX3cw00VSLt7U2A== - dependencies: - "@jridgewell/source-map" "^0.3.3" - acorn "^8.8.2" - commander "^2.20.0" - source-map-support "~0.5.20" - -test-exclude@^6.0.0: - version "6.0.0" - resolved "https://registry.yarnpkg.com/test-exclude/-/test-exclude-6.0.0.tgz#04a8698661d805ea6fa293b6cb9e63ac044ef15e" - integrity sha512-cAGWPIyOHU6zlmg88jwm7VRyXnMN7iV68OGAbYDk/Mh/xC/pzVPlQtY6ngoIH/5/tciuhGfvESU8GrHrcxD56w== - dependencies: - "@istanbuljs/schema" "^0.1.2" - glob "^7.1.4" - minimatch "^3.0.4" - -text-table@^0.2.0: - version "0.2.0" - resolved "https://registry.yarnpkg.com/text-table/-/text-table-0.2.0.tgz#7f5ee823ae805207c00af2df4a84ec3fcfa570b4" - integrity sha512-N+8UisAXDGk8PFXP4HAzVR9nbfmVJ3zYLAWiTIoqC5v5isinhr+r5uaO8+7r3BMfuNIufIsA7RdpVgacC2cSpw== - -throttle-debounce@^3.0.1: - version "3.0.1" - resolved "https://registry.yarnpkg.com/throttle-debounce/-/throttle-debounce-3.0.1.tgz#32f94d84dfa894f786c9a1f290e7a645b6a19abb" - integrity sha512-dTEWWNu6JmeVXY0ZYoPuH5cRIwc0MeGbJwah9KUNYSJwommQpCzTySTpEe8Gs1J23aeWEuAobe4Ag7EHVt/LOg== - -throttleit@^1.0.0: - version "1.0.1" - resolved "https://registry.yarnpkg.com/throttleit/-/throttleit-1.0.1.tgz#304ec51631c3b770c65c6c6f76938b384000f4d5" - integrity sha512-vDZpf9Chs9mAdfY046mcPt8fg5QSZr37hEH4TXYBnDF+izxgrbRGUAAaBvIk/fJm9aOFCGFd1EsNg5AZCbnQCQ== - -through@^2.3.8: - version "2.3.8" - resolved "https://registry.yarnpkg.com/through/-/through-2.3.8.tgz#0dd4c9ffaabc357960b1b724115d7e0e86a2e1f5" - integrity sha512-w89qg7PI8wAdvX60bMDP+bFoD5Dvhm9oLheFp5O4a2QF0cSBGsBX4qZmadPMvVqlLJBBci+WqGGOAPvcDeNSVg== - -tiny-invariant@^1.0.1, tiny-invariant@^1.0.2, tiny-invariant@^1.0.6: - version "1.3.1" - resolved "https://registry.yarnpkg.com/tiny-invariant/-/tiny-invariant-1.3.1.tgz#8560808c916ef02ecfd55e66090df23a4b7aa642" - integrity sha512-AD5ih2NlSssTCwsMznbvwMZpJ1cbhkGd2uueNxzv2jDlEeZdU04JQfRnggJQ8DrcVBGjAsCKwFBbDlVNtEMlzw== - -tiny-lr@^1.1.1: - version "1.1.1" - resolved "https://registry.yarnpkg.com/tiny-lr/-/tiny-lr-1.1.1.tgz#9fa547412f238fedb068ee295af8b682c98b2aab" - integrity sha512-44yhA3tsaRoMOjQQ+5v5mVdqef+kH6Qze9jTpqtVufgYjYt08zyZAwNwwVBj3i1rJMnR52IxOW0LK0vBzgAkuA== - dependencies: - body "^5.1.0" - debug "^3.1.0" - faye-websocket "~0.10.0" - livereload-js "^2.3.0" - object-assign "^4.1.0" - qs "^6.4.0" - -tiny-warning@^0.0.3: - version "0.0.3" - resolved "https://registry.yarnpkg.com/tiny-warning/-/tiny-warning-0.0.3.tgz#1807eb4c5f81784a6354d58ea1d5024f18c6c81f" - integrity sha512-r0SSA5Y5IWERF9Xh++tFPx0jITBgGggOsRLDWWew6YRw/C2dr4uNO1fw1vanrBmHsICmPyMLNBZboTlxUmUuaA== - -tiny-warning@^1.0.0, tiny-warning@^1.0.3: - version "1.0.3" - resolved "https://registry.yarnpkg.com/tiny-warning/-/tiny-warning-1.0.3.tgz#94a30db453df4c643d0fd566060d60a875d84754" - integrity sha512-lBN9zLN/oAf68o3zNXYrdCt1kP8WsiGW8Oo2ka41b2IM5JL/S1CTyX1rW0mb/zSuJun0ZUrDxx4sqvYS2FWzPA== - -tinycolor2@1.6.0: - version "1.6.0" - resolved "https://registry.yarnpkg.com/tinycolor2/-/tinycolor2-1.6.0.tgz#f98007460169b0263b97072c5ae92484ce02d09e" - integrity sha512-XPaBkWQJdsf3pLKJV9p4qN/S+fm2Oj8AIPo1BTUhg5oxkvm9+SVEGFdhyOz7tTdUTfvxMiAs4sp6/eZO2Ew+pw== - -tmp@~0.2.1: - version "0.2.1" - resolved "https://registry.yarnpkg.com/tmp/-/tmp-0.2.1.tgz#8457fc3037dcf4719c251367a1af6500ee1ccf14" - integrity sha512-76SUhtfqR2Ijn+xllcI5P1oyannHNHByD80W1q447gU3mp9G9PSpGdWmjUOHRDPiHYacIk66W7ubDTuPF3BEtQ== - dependencies: - rimraf "^3.0.0" - -tmpl@1.0.5: - version "1.0.5" - resolved "https://registry.yarnpkg.com/tmpl/-/tmpl-1.0.5.tgz#8683e0b902bb9c20c4f726e3c0b69f36518c07cc" - integrity sha512-3f0uOEAQwIqGuWW2MVzYg8fV/QNnc/IpuJNG837rLuczAaLVHslWHZQj4IGiEl5Hs3kkbhwL9Ab7Hrsmuj+Smw== - -to-camel-case@1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/to-camel-case/-/to-camel-case-1.0.0.tgz#1a56054b2f9d696298ce66a60897322b6f423e46" - integrity sha512-nD8pQi5H34kyu1QDMFjzEIYqk0xa9Alt6ZfrdEMuHCFOfTLhDG5pgTu/aAM9Wt9lXILwlXmWP43b8sav0GNE8Q== - dependencies: - to-space-case "^1.0.0" - -to-fast-properties@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/to-fast-properties/-/to-fast-properties-2.0.0.tgz#dc5e698cbd079265bc73e0377681a4e4e83f616e" - integrity sha512-/OaKK0xYrs3DmxRYqL/yDc+FxFUVYhDlXMhRmv3z915w2HF1tnN1omB354j8VUGO/hbRzyD6Y3sA7v7GS/ceog== - -to-no-case@^1.0.0: - version "1.0.2" - resolved "https://registry.yarnpkg.com/to-no-case/-/to-no-case-1.0.2.tgz#c722907164ef6b178132c8e69930212d1b4aa16a" - integrity sha512-Z3g735FxuZY8rodxV4gH7LxClE4H0hTIyHNIHdk+vpQxjLm0cwnKXq/OFVZ76SOQmto7txVcwSCwkU5kqp+FKg== - -to-regex-range@^5.0.1: - version "5.0.1" - resolved "https://registry.yarnpkg.com/to-regex-range/-/to-regex-range-5.0.1.tgz#1648c44aae7c8d988a326018ed72f5b4dd0392e4" - integrity sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ== - dependencies: - is-number "^7.0.0" - -to-space-case@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/to-space-case/-/to-space-case-1.0.0.tgz#b052daafb1b2b29dc770cea0163e5ec0ebc9fc17" - integrity sha512-rLdvwXZ39VOn1IxGL3V6ZstoTbwLRckQmn/U8ZDLuWwIXNpuZDhQ3AiRUlhTbOXFVE9C+dR51wM0CBDhk31VcA== - dependencies: - to-no-case "^1.0.0" - -toggle-selection@^1.0.6: - version "1.0.6" - resolved "https://registry.yarnpkg.com/toggle-selection/-/toggle-selection-1.0.6.tgz#6e45b1263f2017fa0acc7d89d78b15b8bf77da32" - integrity sha512-BiZS+C1OS8g/q2RRbJmy59xpyghNBqrr6k5L/uKBGRsTfxmu3ffiRnd8mlGPUVayg8pvfi5urfnu8TU7DVOkLQ== - -tough-cookie@^4.1.2, tough-cookie@^4.1.3: - version "4.1.3" - resolved "https://registry.yarnpkg.com/tough-cookie/-/tough-cookie-4.1.3.tgz#97b9adb0728b42280aa3d814b6b999b2ff0318bf" - integrity sha512-aX/y5pVRkfRnfmuX+OdbSdXvPe6ieKX/G2s7e98f4poJHnqH3281gDPm/metm6E/WRamfx7WC4HUqkWHfQHprw== - dependencies: - psl "^1.1.33" - punycode "^2.1.1" - universalify "^0.2.0" - url-parse "^1.5.3" - -tough-cookie@~2.5.0: - version "2.5.0" - resolved "https://registry.yarnpkg.com/tough-cookie/-/tough-cookie-2.5.0.tgz#cd9fb2a0aa1d5a12b473bd9fb96fa3dcff65ade2" - integrity sha512-nlLsUzgm1kfLXSXfRZMc1KLAugd4hqJHDTvc2hDIwS3mZAfMEuMbc03SujMF+GEcpaX/qboeycw6iO8JwVv2+g== - dependencies: - psl "^1.1.28" - punycode "^2.1.1" - -tr46@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/tr46/-/tr46-3.0.0.tgz#555c4e297a950617e8eeddef633c87d4d9d6cbf9" - integrity sha512-l7FvfAHlcmulp8kr+flpQZmVwtu7nfRV7NZujtN0OqES8EL4O4e0qqzL0DC5gAvx/ZC/9lk6rhcUwYvkBnBnYA== - dependencies: - punycode "^2.1.1" - -tracelib@1.0.1: - version "1.0.1" - resolved "https://registry.yarnpkg.com/tracelib/-/tracelib-1.0.1.tgz#bb44ea96c19b8d7a6c85a6ee1cac9945c5b75c64" - integrity sha512-T2Vkpa/7Vdm3sV8nXRn8vZ0tnq6wlnO4Zx7Pux+JA1W6DMlg5EtbNcPZu/L7XRTPc9S0eAKhEFR4p/u0GcsDpQ== - -ts-api-utils@^1.0.1: - version "1.0.3" - resolved "https://registry.yarnpkg.com/ts-api-utils/-/ts-api-utils-1.0.3.tgz#f12c1c781d04427313dbac808f453f050e54a331" - integrity sha512-wNMeqtMz5NtwpT/UZGY5alT+VoKdSsOOP/kqHFcUW1P/VRhH2wJ48+DN2WwUliNbQ976ETwDL0Ifd2VVvgonvg== - -ts-easing@^0.2.0: - version "0.2.0" - resolved "https://registry.yarnpkg.com/ts-easing/-/ts-easing-0.2.0.tgz#c8a8a35025105566588d87dbda05dd7fbfa5a4ec" - integrity sha512-Z86EW+fFFh/IFB1fqQ3/+7Zpf9t2ebOAxNI/V6Wo7r5gqiqtxmgTlQ1qbqQcjLKYeSHPTsEmvlJUDg/EuL0uHQ== - -ts-loader@8.4.0: - version "8.4.0" - resolved "https://registry.yarnpkg.com/ts-loader/-/ts-loader-8.4.0.tgz#e845ea0f38d140bdc3d7d60293ca18d12ff2720f" - integrity sha512-6nFY3IZ2//mrPc+ImY3hNWx1vCHyEhl6V+wLmL4CZcm6g1CqX7UKrkc6y0i4FwcfOhxyMPCfaEvh20f4r9GNpw== - dependencies: - chalk "^4.1.0" - enhanced-resolve "^4.0.0" - loader-utils "^2.0.0" - micromatch "^4.0.0" - semver "^7.3.4" - -ts-node@^10.9.1: - version "10.9.2" - resolved "https://registry.yarnpkg.com/ts-node/-/ts-node-10.9.2.tgz#70f021c9e185bccdca820e26dc413805c101c71f" - integrity sha512-f0FFpIdcHgn8zcPSbf1dRevwt047YMnaiJM3u2w2RewrB+fob/zePZcrOyQoLMMO7aBIddLcQIEK5dYjkLnGrQ== - dependencies: - "@cspotcode/source-map-support" "^0.8.0" - "@tsconfig/node10" "^1.0.7" - "@tsconfig/node12" "^1.0.7" - "@tsconfig/node14" "^1.0.0" - "@tsconfig/node16" "^1.0.2" - acorn "^8.4.1" - acorn-walk "^8.1.1" - arg "^4.1.0" - create-require "^1.1.0" - diff "^4.0.1" - make-error "^1.1.1" - v8-compile-cache-lib "^3.0.1" - yn "3.1.1" - -tsconfig-paths@^4.2.0: - version "4.2.0" - resolved "https://registry.yarnpkg.com/tsconfig-paths/-/tsconfig-paths-4.2.0.tgz#ef78e19039133446d244beac0fd6a1632e2d107c" - integrity sha512-NoZ4roiN7LnbKn9QqE1amc9DJfzvZXxF4xDavcOWt1BPkdx+m+0gJuPM+S0vCe7zTJMYUP0R8pO2XMr+Y8oLIg== - dependencies: - json5 "^2.2.2" - minimist "^1.2.6" - strip-bom "^3.0.0" - -tslib@2.5.0: - version "2.5.0" - resolved "https://registry.yarnpkg.com/tslib/-/tslib-2.5.0.tgz#42bfed86f5787aeb41d031866c8f402429e0fddf" - integrity sha512-336iVw3rtn2BUK7ORdIAHTyxHGRIHVReokCR3XjbckJMK7ms8FysBfhLR8IXnAgy7T0PTPNBWKiH514FOW/WSg== - -tslib@2.5.3: - version "2.5.3" - resolved "https://registry.yarnpkg.com/tslib/-/tslib-2.5.3.tgz#24944ba2d990940e6e982c4bea147aba80209913" - integrity sha512-mSxlJJwl3BMEQCUNnxXBU9jP4JBktcEGhURcPR6VQVlnP0FdDEsIaz0C35dXNGLyRfrATNofF0F5p2KPxQgB+w== - -tslib@^1.8.1, tslib@^1.9.3: - version "1.14.1" - resolved "https://registry.yarnpkg.com/tslib/-/tslib-1.14.1.tgz#cf2d38bdc34a134bcaf1091c41f6619e2f672d00" - integrity sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg== - -tslib@^2.1.0, tslib@^2.3.1, tslib@^2.4.0: - version "2.6.2" - resolved "https://registry.yarnpkg.com/tslib/-/tslib-2.6.2.tgz#703ac29425e7b37cd6fd456e92404d46d1f3e4ae" - integrity sha512-AEYxH93jGFPn/a2iVAwW87VuUIkR1FVUKB77NwMF7nBTDkDrrT/Hpt/IrCJ0QXhW27jTBDcf5ZY7w6RiqTMw2Q== - -tsutils@^3.21.0: - version "3.21.0" - resolved "https://registry.yarnpkg.com/tsutils/-/tsutils-3.21.0.tgz#b48717d394cea6c1e096983eed58e9d61715b623" - integrity sha512-mHKK3iUXL+3UF6xL5k0PEhKRUBKPBCv/+RkEOpjRWxxx27KKRBmmA60A9pgOUvMi8GKhRMPEmjBRPzs2W7O1OA== - dependencies: - tslib "^1.8.1" - -tunnel-agent@^0.6.0: - version "0.6.0" - resolved "https://registry.yarnpkg.com/tunnel-agent/-/tunnel-agent-0.6.0.tgz#27a5dea06b36b04a0a9966774b290868f0fc40fd" - integrity sha512-McnNiV1l8RYeY8tBgEpuodCC1mLUdbSN+CYBL7kJsJNInOP8UjDDEwdk6Mw60vdLLrr5NHKZhMAOSrR2NZuQ+w== - dependencies: - safe-buffer "^5.0.1" - -tweetnacl@^0.14.3, tweetnacl@~0.14.0: - version "0.14.5" - resolved "https://registry.yarnpkg.com/tweetnacl/-/tweetnacl-0.14.5.tgz#5ae68177f192d4456269d108afa93ff8743f4f64" - integrity sha512-KXXFFdAbFXY4geFIwoyNK+f5Z1b7swfXABfL7HXCmoIWMKU3dmS26672A4EeQtDzLKy7SXmfBu51JolvEKwtGA== - -type-check@^0.4.0, type-check@~0.4.0: - version "0.4.0" - resolved "https://registry.yarnpkg.com/type-check/-/type-check-0.4.0.tgz#07b8203bfa7056c0657050e3ccd2c37730bab8f1" - integrity sha512-XleUoc9uwGXqjWwXaUTZAmzMcFZ5858QA2vvx1Ur5xIcixXIP+8LnFDgRplU30us6teqdlskFfu+ae4K79Ooew== - dependencies: - prelude-ls "^1.2.1" - -type-detect@4.0.8: - version "4.0.8" - resolved "https://registry.yarnpkg.com/type-detect/-/type-detect-4.0.8.tgz#7646fb5f18871cfbb7749e69bd39a6388eb7450c" - integrity sha512-0fr/mIH1dlO+x7TlcMy+bIDqKPsw/70tVyeHW787goQjhmqaZe10uwLujubK9q9Lg6Fiho1KUKDYz0Z7k7g5/g== - -type-fest@^0.20.2: - version "0.20.2" - resolved "https://registry.yarnpkg.com/type-fest/-/type-fest-0.20.2.tgz#1bf207f4b28f91583666cb5fbd327887301cd5f4" - integrity sha512-Ne+eE4r0/iWnpAxD852z3A+N0Bt5RN//NjJwRd2VFHEmrywxf5vsZlh4R6lixl6B+wz/8d+maTSAkN1FIkI3LQ== - -type-fest@^0.21.3: - version "0.21.3" - resolved "https://registry.yarnpkg.com/type-fest/-/type-fest-0.21.3.tgz#d260a24b0198436e133fa26a524a6d65fa3b2e37" - integrity sha512-t0rzBq87m3fVcduHDUFhKmyyX+9eo6WQjZvf51Ea/M0Q7+T374Jp1aUiyUl0GKxp8M/OETVHSDvmkyPgvX+X2w== - -type-of@^2.0.1: - version "2.0.1" - resolved "https://registry.yarnpkg.com/type-of/-/type-of-2.0.1.tgz#e72a1741896568e9f628378d816d6912f7f23972" - integrity sha512-39wxbwHdQ2sTiBB8wAzKfQ9GN+om8w+sjNWzr+vZJR5AMD5J+J7Yc8AtXnU9r/r2c8XiDZ/smxutDmZehX/qpQ== - -typed-array-buffer@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/typed-array-buffer/-/typed-array-buffer-1.0.0.tgz#18de3e7ed7974b0a729d3feecb94338d1472cd60" - integrity sha512-Y8KTSIglk9OZEr8zywiIHG/kmQ7KWyjseXs1CbSo8vC42w7hg2HgYTxSWwP0+is7bWDc1H+Fo026CpHFwm8tkw== - dependencies: - call-bind "^1.0.2" - get-intrinsic "^1.2.1" - is-typed-array "^1.1.10" - -typed-array-byte-length@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/typed-array-byte-length/-/typed-array-byte-length-1.0.0.tgz#d787a24a995711611fb2b87a4052799517b230d0" - integrity sha512-Or/+kvLxNpeQ9DtSydonMxCx+9ZXOswtwJn17SNLvhptaXYDJvkFFP5zbfU/uLmvnBJlI4yrnXRxpdWH/M5tNA== - dependencies: - call-bind "^1.0.2" - for-each "^0.3.3" - has-proto "^1.0.1" - is-typed-array "^1.1.10" - -typed-array-byte-offset@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/typed-array-byte-offset/-/typed-array-byte-offset-1.0.0.tgz#cbbe89b51fdef9cd6aaf07ad4707340abbc4ea0b" - integrity sha512-RD97prjEt9EL8YgAgpOkf3O4IF9lhJFr9g0htQkm0rchFp/Vx7LW5Q8fSXXub7BXAODyUQohRMyOc3faCPd0hg== - dependencies: - available-typed-arrays "^1.0.5" - call-bind "^1.0.2" - for-each "^0.3.3" - has-proto "^1.0.1" - is-typed-array "^1.1.10" - -typed-array-length@^1.0.4: - version "1.0.4" - resolved "https://registry.yarnpkg.com/typed-array-length/-/typed-array-length-1.0.4.tgz#89d83785e5c4098bec72e08b319651f0eac9c1bb" - integrity sha512-KjZypGq+I/H7HI5HlOoGHkWUUGq+Q0TPhQurLbyrVrvnKTBgzLhIJ7j6J/XTQOi0d1RjyZ0wdas8bKs2p0x3Ng== - dependencies: - call-bind "^1.0.2" - for-each "^0.3.3" - is-typed-array "^1.1.9" - -typescript@4.8.4: - version "4.8.4" - resolved "https://registry.yarnpkg.com/typescript/-/typescript-4.8.4.tgz#c464abca159669597be5f96b8943500b238e60e6" - integrity sha512-QCh+85mCy+h0IGff8r5XWzOVSbBO+KfeYrMQh7NJ58QujwcE22u+NUSmUxqF+un70P9GXKxa2HCNiTTMJknyjQ== - -ua-parser-js@^1.0.32: - version "1.0.37" - resolved "https://registry.yarnpkg.com/ua-parser-js/-/ua-parser-js-1.0.37.tgz#b5dc7b163a5c1f0c510b08446aed4da92c46373f" - integrity sha512-bhTyI94tZofjo+Dn8SN6Zv8nBDvyXTymAdM3LDI/0IboIUwTu1rEhW7v2TfiVsoYWgkQ4kOVqnI8APUFbIQIFQ== - -unbox-primitive@^1.0.2: - version "1.0.2" - resolved "https://registry.yarnpkg.com/unbox-primitive/-/unbox-primitive-1.0.2.tgz#29032021057d5e6cdbd08c5129c226dff8ed6f9e" - integrity sha512-61pPlCD9h51VoreyJ0BReideM3MDKMKnh6+V9L08331ipq6Q8OFXZYiqP6n/tbHx4s5I9uRhcye6BrbkizkBDw== - dependencies: - call-bind "^1.0.2" - has-bigints "^1.0.2" - has-symbols "^1.0.3" - which-boxed-primitive "^1.0.2" - -underscore@1.7.0: - version "1.7.0" - resolved "https://registry.yarnpkg.com/underscore/-/underscore-1.7.0.tgz#6bbaf0877500d36be34ecaa584e0db9fef035209" - integrity sha512-cp0oQQyZhUM1kpJDLdGO1jPZHgS/MpzoWYfe9+CM2h/QGDZlqwT2T3YGukuBdaNJ/CAPoeyAZRRHz8JFo176vA== - -undici-types@~5.26.4: - version "5.26.5" - resolved "https://registry.yarnpkg.com/undici-types/-/undici-types-5.26.5.tgz#bcd539893d00b56e964fd2657a4866b221a65617" - integrity sha512-JlCMO+ehdEIKqlFxk6IfVoAUVmgz7cU7zD/h9XZ0qzeosSHmUJVOzSQvvYSYWXkFXC+IfLKSIffhv0sVZup6pA== - -unicode-canonical-property-names-ecmascript@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/unicode-canonical-property-names-ecmascript/-/unicode-canonical-property-names-ecmascript-2.0.0.tgz#301acdc525631670d39f6146e0e77ff6bbdebddc" - integrity sha512-yY5PpDlfVIU5+y/BSCxAJRBIS1Zc2dDG3Ujq+sR0U+JjUevW2JhocOF+soROYDSaAezOzOKuyyixhD6mBknSmQ== - -unicode-match-property-ecmascript@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/unicode-match-property-ecmascript/-/unicode-match-property-ecmascript-2.0.0.tgz#54fd16e0ecb167cf04cf1f756bdcc92eba7976c3" - integrity sha512-5kaZCrbp5mmbz5ulBkDkbY0SsPOjKqVS35VpL9ulMPfSl0J0Xsm+9Evphv9CoIZFwre7aJoa94AY6seMKGVN5Q== - dependencies: - unicode-canonical-property-names-ecmascript "^2.0.0" - unicode-property-aliases-ecmascript "^2.0.0" - -unicode-match-property-value-ecmascript@^2.1.0: - version "2.1.0" - resolved "https://registry.yarnpkg.com/unicode-match-property-value-ecmascript/-/unicode-match-property-value-ecmascript-2.1.0.tgz#cb5fffdcd16a05124f5a4b0bf7c3770208acbbe0" - integrity sha512-qxkjQt6qjg/mYscYMC0XKRn3Rh0wFPlfxB0xkt9CfyTvpX1Ra0+rAmdX2QyAobptSEvuy4RtpPRui6XkV+8wjA== - -unicode-property-aliases-ecmascript@^2.0.0: - version "2.1.0" - resolved "https://registry.yarnpkg.com/unicode-property-aliases-ecmascript/-/unicode-property-aliases-ecmascript-2.1.0.tgz#43d41e3be698bd493ef911077c9b131f827e8ccd" - integrity sha512-6t3foTQI9qne+OZoVQB/8x8rk2k1eVy1gRXhV3oFQ5T6R1dqQ1xtin3XqSlx3+ATBkliTaR/hHyJBm+LVPNM8w== - -unicorn-magic@^0.1.0: - version "0.1.0" - resolved "https://registry.yarnpkg.com/unicorn-magic/-/unicorn-magic-0.1.0.tgz#1bb9a51c823aaf9d73a8bfcd3d1a23dde94b0ce4" - integrity sha512-lRfVq8fE8gz6QMBuDM6a+LO3IAzTi05H6gCVaUpir2E1Rwpo4ZUog45KpNXKC/Mn3Yb9UDuHumeFTo9iV/D9FQ== - -universalify@^0.2.0: - version "0.2.0" - resolved "https://registry.yarnpkg.com/universalify/-/universalify-0.2.0.tgz#6451760566fa857534745ab1dde952d1b1761be0" - integrity sha512-CJ1QgKmNg3CwvAv/kOFmtnEN05f0D/cn9QntgNOQlQF9dgvVTHj3t+8JPdjqawCHk7V/KA+fbUqzZ9XWhcqPUg== - -universalify@^2.0.0: - version "2.0.1" - resolved "https://registry.yarnpkg.com/universalify/-/universalify-2.0.1.tgz#168efc2180964e6386d061e094df61afe239b18d" - integrity sha512-gptHNQghINnc/vTGIk0SOFGFNXw7JVrlRUtConJRlvaw6DuX0wO5Jeko9sWrMBhh+PsYAZ7oXAiOnf/UKogyiw== - -untildify@^4.0.0: - version "4.0.0" - resolved "https://registry.yarnpkg.com/untildify/-/untildify-4.0.0.tgz#2bc947b953652487e4600949fb091e3ae8cd919b" - integrity sha512-KK8xQ1mkzZeg9inewmFVDNkg3l5LUhoq9kN6iWYB/CC9YMG8HA+c1Q8HwDe6dEX7kErrEVNVBO3fWsVq5iDgtw== - -update-browserslist-db@^1.0.13: - version "1.0.13" - resolved "https://registry.yarnpkg.com/update-browserslist-db/-/update-browserslist-db-1.0.13.tgz#3c5e4f5c083661bd38ef64b6328c26ed6c8248c4" - integrity sha512-xebP81SNcPuNpPP3uzeW1NYXxI3rxyJzF3pD6sH4jE7o/IX+WtSpwnVU+qIsDPyk0d3hmFQ7mjqc6AtV604hbg== - dependencies: - escalade "^3.1.1" - picocolors "^1.0.0" - -uplot@1.6.24: - version "1.6.24" - resolved "https://registry.yarnpkg.com/uplot/-/uplot-1.6.24.tgz#dfa213fa7da92763261920ea972ed1a5f9f6af12" - integrity sha512-WpH2BsrFrqxkMu+4XBvc0eCDsRBhzoq9crttYeSI0bfxpzR5YoSVzZXOKFVWcVC7sp/aDXrdDPbDZGCtck2PVg== - -uri-js@^4.2.2: - version "4.4.1" - resolved "https://registry.yarnpkg.com/uri-js/-/uri-js-4.4.1.tgz#9b1a52595225859e55f669d928f88c6c57f2a77e" - integrity sha512-7rKUyy33Q1yc98pQ1DAmLtwX109F7TIfWlW1Ydo8Wl1ii1SeHieeh0HHfPeL2fMXK6z0s8ecKs9frCuLJvndBg== - dependencies: - punycode "^2.1.0" - -url-parse@^1.5.3: - version "1.5.10" - resolved "https://registry.yarnpkg.com/url-parse/-/url-parse-1.5.10.tgz#9d3c2f736c1d75dd3bd2be507dcc111f1e2ea9c1" - integrity sha512-WypcfiRhfeUP9vvF0j6rw0J3hrWrw6iZv3+22h6iRMJ/8z1Tj6XfLP4DsUix5MhMPnXpiHDoKyoZ/bdCkwBCiQ== - dependencies: - querystringify "^2.1.1" - requires-port "^1.0.0" - -use-isomorphic-layout-effect@^1.1.2: - version "1.1.2" - resolved "https://registry.yarnpkg.com/use-isomorphic-layout-effect/-/use-isomorphic-layout-effect-1.1.2.tgz#497cefb13d863d687b08477d9e5a164ad8c1a6fb" - integrity sha512-49L8yCO3iGT/ZF9QttjwLF/ZD9Iwto5LnH5LmEdk/6cFmXddqi2ulF0edxTwjj+7mqvpVVGQWvbXZdn32wRSHA== - -use-memo-one@^1.1.1: - version "1.1.3" - resolved "https://registry.yarnpkg.com/use-memo-one/-/use-memo-one-1.1.3.tgz#2fd2e43a2169eabc7496960ace8c79efef975e99" - integrity sha512-g66/K7ZQGYrI6dy8GLpVcMsBp4s17xNkYJVSMvTEevGy3nDxHOfE6z8BVE22+5G5x7t3+bhzrlTDB7ObrEE0cQ== - -util-deprecate@^1.0.2, util-deprecate@~1.0.1: - version "1.0.2" - resolved "https://registry.yarnpkg.com/util-deprecate/-/util-deprecate-1.0.2.tgz#450d4dc9fa70de732762fbd2d4a28981419a0ccf" - integrity sha512-EPD5q1uXyFxJpCrLnCc1nHnq3gOa6DZBocAIiI2TaSCA7VCJ1UJDMagCzIkXNsUYfD1daK//LTEQ8xiIbrHtcw== - -uuid@9.0.0: - version "9.0.0" - resolved "https://registry.yarnpkg.com/uuid/-/uuid-9.0.0.tgz#592f550650024a38ceb0c562f2f6aa435761efb5" - integrity sha512-MXcSTerfPa4uqyzStbRoTgt5XIe3x5+42+q1sDuy3R5MDk66URdLMOZe5aPX/SQd+kuYAh0FdP/pO28IkQyTeg== - -uuid@^3.3.2: - version "3.4.0" - resolved "https://registry.yarnpkg.com/uuid/-/uuid-3.4.0.tgz#b23e4358afa8a202fe7a100af1f5f883f02007ee" - integrity sha512-HjSDRw6gZE5JMggctHBcjVak08+KEVhSIiDzFnT9S9aegmp85S/bReBVTb4QTFaRNptJ9kuYaNhnbNEOkbKb/A== - -uuid@^8.3.2: - version "8.3.2" - resolved "https://registry.yarnpkg.com/uuid/-/uuid-8.3.2.tgz#80d5b5ced271bb9af6c445f21a1a04c606cefbe2" - integrity sha512-+NYs2QeMWy+GWFOEm9xnn6HCDp0l7QBD7ml8zLUmJ+93Q5NF0NocErnwkTkXVFNiX3/fpC6afS8Dhb/gz7R7eg== - -uuid@^9.0.0: - version "9.0.1" - resolved "https://registry.yarnpkg.com/uuid/-/uuid-9.0.1.tgz#e188d4c8853cc722220392c424cd637f32293f30" - integrity sha512-b+1eJOlsR9K8HJpow9Ok3fiWOWSIcIzXodvv0rQjVoOVNpWMpxf1wZNpt4y9h10odCNrqnYp1OBzRktckBe3sA== - -v8-compile-cache-lib@^3.0.1: - version "3.0.1" - resolved "https://registry.yarnpkg.com/v8-compile-cache-lib/-/v8-compile-cache-lib-3.0.1.tgz#6336e8d71965cb3d35a1bbb7868445a7c05264bf" - integrity sha512-wa7YjyUGfNZngI/vtK0UHAN+lgDCxBPCylVXGp0zu59Fz5aiGtNXaq3DhIov063MorB+VfufLh3JlF2KdTK3xg== - -v8-to-istanbul@^9.0.1: - version "9.2.0" - resolved "https://registry.yarnpkg.com/v8-to-istanbul/-/v8-to-istanbul-9.2.0.tgz#2ed7644a245cddd83d4e087b9b33b3e62dfd10ad" - integrity sha512-/EH/sDgxU2eGxajKdwLCDmQ4FWq+kpi3uCmBGpw1xJtnAxEjlD8j8PEiGWpCIMIs3ciNAgH0d3TTJiUkYzyZjA== - dependencies: - "@jridgewell/trace-mapping" "^0.3.12" - "@types/istanbul-lib-coverage" "^2.0.1" - convert-source-map "^2.0.0" - -value-equal@^1.0.1: - version "1.0.1" - resolved "https://registry.yarnpkg.com/value-equal/-/value-equal-1.0.1.tgz#1e0b794c734c5c0cade179c437d356d931a34d6c" - integrity sha512-NOJ6JZCAWr0zlxZt+xqCHNTEKOsrks2HQd4MqhP1qy4z1SkbEP467eNx6TgDKXMvUOb+OENfJCZwM+16n7fRfw== - -verror@1.10.0: - version "1.10.0" - resolved "https://registry.yarnpkg.com/verror/-/verror-1.10.0.tgz#3a105ca17053af55d6e270c1f8288682e18da400" - integrity sha512-ZZKSmDAEFOijERBLkmYfJ+vmk3w+7hOLYDNkRCuRuMJGEmqYNCNLyBBFwWKVMhfwaEF3WOd0Zlw86U/WC/+nYw== - dependencies: - assert-plus "^1.0.0" - core-util-is "1.0.2" - extsprintf "^1.2.0" - -void-elements@3.1.0: - version "3.1.0" - resolved "https://registry.yarnpkg.com/void-elements/-/void-elements-3.1.0.tgz#614f7fbf8d801f0bb5f0661f5b2f5785750e4f09" - integrity sha512-Dhxzh5HZuiHQhbvTW9AMetFfBHDMYpo23Uo9btPXgdYP+3T5S+p+jgNy7spra+veYhBP2dCSgxR/i2Y02h5/6w== - -w3c-xmlserializer@^4.0.0: - version "4.0.0" - resolved "https://registry.yarnpkg.com/w3c-xmlserializer/-/w3c-xmlserializer-4.0.0.tgz#aebdc84920d806222936e3cdce408e32488a3073" - integrity sha512-d+BFHzbiCx6zGfz0HyQ6Rg69w9k19nviJspaj4yNscGjrHu94sVP+aRm75yEbCh+r2/yR+7q6hux9LVtbuTGBw== - dependencies: - xml-name-validator "^4.0.0" - -walker@^1.0.8: - version "1.0.8" - resolved "https://registry.yarnpkg.com/walker/-/walker-1.0.8.tgz#bd498db477afe573dc04185f011d3ab8a8d7653f" - integrity sha512-ts/8E8l5b7kY0vlWLewOkDXMmPdLcVV4GmOQLyxuSswIJsweeFZtAsMF7k1Nszz+TYBQrlYRmzOnr398y1JemQ== - dependencies: - makeerror "1.0.12" - -warning@^4.0.2: - version "4.0.3" - resolved "https://registry.yarnpkg.com/warning/-/warning-4.0.3.tgz#16e9e077eb8a86d6af7d64aa1e05fd85b4678ca3" - integrity sha512-rpJyN222KWIvHJ/F53XSZv0Zl/accqHR8et1kpaMTD/fLCRxtV8iX8czMzY7sVZupTI3zcUTg8eycS2kNF9l6w== - dependencies: - loose-envify "^1.0.0" - -watchpack@^2.4.0: - version "2.4.0" - resolved "https://registry.yarnpkg.com/watchpack/-/watchpack-2.4.0.tgz#fa33032374962c78113f93c7f2fb4c54c9862a5d" - integrity sha512-Lcvm7MGST/4fup+ifyKi2hjyIAwcdI4HRgtvTpIUxBRhB+RFtUh8XtDOxUfctVCnhVi+QQj49i91OyvzkJl6cg== - dependencies: - glob-to-regexp "^0.4.1" - graceful-fs "^4.1.2" - -web-vitals@^3.1.1: - version "3.5.1" - resolved "https://registry.yarnpkg.com/web-vitals/-/web-vitals-3.5.1.tgz#af7a9dc60708b81007922ab55a23d963676ba30a" - integrity sha512-xQ9lvIpfLxUj0eSmT79ZjRoU5wIRfIr7pNukL7ZE4EcWZSmfZQqOlhuAGfkVa3EFmzPHZhWhXfm2i5ys+THVPg== - -web-worker@^1.2.0: - version "1.3.0" - resolved "https://registry.yarnpkg.com/web-worker/-/web-worker-1.3.0.tgz#e5f2df5c7fe356755a5fb8f8410d4312627e6776" - integrity sha512-BSR9wyRsy/KOValMgd5kMyr3JzpdeoR9KVId8u5GVlTTAtNChlsE4yTxeY7zMdNSyOmoKBv8NH2qeRY9Tg+IaA== - -webidl-conversions@^7.0.0: - version "7.0.0" - resolved "https://registry.yarnpkg.com/webidl-conversions/-/webidl-conversions-7.0.0.tgz#256b4e1882be7debbf01d05f0aa2039778ea080a" - integrity sha512-VwddBukDzu71offAQR975unBIGqfKZpM+8ZX6ySk8nYhVoo5CYaZyzt3YBvYtRtO+aoGlqxPg/B87NGVZ/fu6g== - -webpack-cli@^5.1.4: - version "5.1.4" - resolved "https://registry.yarnpkg.com/webpack-cli/-/webpack-cli-5.1.4.tgz#c8e046ba7eaae4911d7e71e2b25b776fcc35759b" - integrity sha512-pIDJHIEI9LR0yxHXQ+Qh95k2EvXpWzZ5l+d+jIo+RdSm9MiHfzazIxwwni/p7+x4eJZuvG1AJwgC4TNQ7NRgsg== - dependencies: - "@discoveryjs/json-ext" "^0.5.0" - "@webpack-cli/configtest" "^2.1.1" - "@webpack-cli/info" "^2.0.2" - "@webpack-cli/serve" "^2.0.5" - colorette "^2.0.14" - commander "^10.0.1" - cross-spawn "^7.0.3" - envinfo "^7.7.3" - fastest-levenshtein "^1.0.12" - import-local "^3.0.2" - interpret "^3.1.1" - rechoir "^0.8.0" - webpack-merge "^5.7.3" - -webpack-livereload-plugin@^3.0.2: - version "3.0.2" - resolved "https://registry.yarnpkg.com/webpack-livereload-plugin/-/webpack-livereload-plugin-3.0.2.tgz#b12f4ab56c75f03715eb32883bc2f24621f06da1" - integrity sha512-5JeZ2dgsvSNG+clrkD/u2sEiPcNk4qwCVZZmW8KpqKcNlkGv7IJjdVrq13+etAmMZYaCF1EGXdHkVFuLgP4zfw== - dependencies: - anymatch "^3.1.1" - portfinder "^1.0.17" - schema-utils ">1.0.0" - tiny-lr "^1.1.1" - -webpack-merge@^5.7.3: - version "5.10.0" - resolved "https://registry.yarnpkg.com/webpack-merge/-/webpack-merge-5.10.0.tgz#a3ad5d773241e9c682803abf628d4cd62b8a4177" - integrity sha512-+4zXKdx7UnO+1jaN4l2lHVD+mFvnlZQP/6ljaJVb4SZiwIKeUnrT5l0gkT8z+n4hKpC+jpOv6O9R+gLtag7pSA== - dependencies: - clone-deep "^4.0.1" - flat "^5.0.2" - wildcard "^2.0.0" - -webpack-sources@^3.2.3: - version "3.2.3" - resolved "https://registry.yarnpkg.com/webpack-sources/-/webpack-sources-3.2.3.tgz#2d4daab8451fd4b240cc27055ff6a0c2ccea0cde" - integrity sha512-/DyMEOrDgLKKIG0fmvtz+4dUX/3Ghozwgm6iPp8KRhvn+eQf9+Q7GWxVNMk3+uCPWfdXYC4ExGBckIXdFEfH1w== - -webpack@^5.86.0: - version "5.89.0" - resolved "https://registry.yarnpkg.com/webpack/-/webpack-5.89.0.tgz#56b8bf9a34356e93a6625770006490bf3a7f32dc" - integrity sha512-qyfIC10pOr70V+jkmud8tMfajraGCZMBWJtrmuBymQKCrLTRejBI8STDp1MCyZu/QTdZSeacCQYpYNQVOzX5kw== - dependencies: - "@types/eslint-scope" "^3.7.3" - "@types/estree" "^1.0.0" - "@webassemblyjs/ast" "^1.11.5" - "@webassemblyjs/wasm-edit" "^1.11.5" - "@webassemblyjs/wasm-parser" "^1.11.5" - acorn "^8.7.1" - acorn-import-assertions "^1.9.0" - browserslist "^4.14.5" - chrome-trace-event "^1.0.2" - enhanced-resolve "^5.15.0" - es-module-lexer "^1.2.1" - eslint-scope "5.1.1" - events "^3.2.0" - glob-to-regexp "^0.4.1" - graceful-fs "^4.2.9" - json-parse-even-better-errors "^2.3.1" - loader-runner "^4.2.0" - mime-types "^2.1.27" - neo-async "^2.6.2" - schema-utils "^3.2.0" - tapable "^2.1.1" - terser-webpack-plugin "^5.3.7" - watchpack "^2.4.0" - webpack-sources "^3.2.3" - -websocket-driver@>=0.5.1: - version "0.7.4" - resolved "https://registry.yarnpkg.com/websocket-driver/-/websocket-driver-0.7.4.tgz#89ad5295bbf64b480abcba31e4953aca706f5760" - integrity sha512-b17KeDIQVjvb0ssuSDF2cYXSg2iztliJ4B9WdsuB6J952qCPKmnVq4DyW5motImXHDC1cBT/1UezrJVsKw5zjg== - dependencies: - http-parser-js ">=0.5.1" - safe-buffer ">=5.1.0" - websocket-extensions ">=0.1.1" - -websocket-extensions@>=0.1.1: - version "0.1.4" - resolved "https://registry.yarnpkg.com/websocket-extensions/-/websocket-extensions-0.1.4.tgz#7f8473bc839dfd87608adb95d7eb075211578a42" - integrity sha512-OqedPIGOfsDlo31UNwYbCFMSaO9m9G/0faIHj5/dZFDMFqPTcx6UwqyOy3COEaEOg/9VsGIpdqn62W5KhoKSpg== - -whatwg-encoding@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/whatwg-encoding/-/whatwg-encoding-2.0.0.tgz#e7635f597fd87020858626805a2729fa7698ac53" - integrity sha512-p41ogyeMUrw3jWclHWTQg1k05DSVXPLcVxRTYsXUk+ZooOCZLcoYgPZ/HL/D/N+uQPOtcp1me1WhBEaX02mhWg== - dependencies: - iconv-lite "0.6.3" - -whatwg-mimetype@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/whatwg-mimetype/-/whatwg-mimetype-3.0.0.tgz#5fa1a7623867ff1af6ca3dc72ad6b8a4208beba7" - integrity sha512-nt+N2dzIutVRxARx1nghPKGv1xHikU7HKdfafKkLNLindmPU/ch3U31NOCGGA/dmPcmb1VlofO0vnKAcsm0o/Q== - -whatwg-url@^11.0.0: - version "11.0.0" - resolved "https://registry.yarnpkg.com/whatwg-url/-/whatwg-url-11.0.0.tgz#0a849eebb5faf2119b901bb76fd795c2848d4018" - integrity sha512-RKT8HExMpoYx4igMiVMY83lN6UeITKJlBQ+vR/8ZJ8OCdSiN3RwCq+9gH0+Xzj0+5IrM6i4j/6LuvzbZIQgEcQ== - dependencies: - tr46 "^3.0.0" - webidl-conversions "^7.0.0" - -which-boxed-primitive@^1.0.2: - version "1.0.2" - resolved "https://registry.yarnpkg.com/which-boxed-primitive/-/which-boxed-primitive-1.0.2.tgz#13757bc89b209b049fe5d86430e21cf40a89a8e6" - integrity sha512-bwZdv0AKLpplFY2KZRX6TvyuN7ojjr7lwkg6ml0roIy9YeuSr7JS372qlNW18UQYzgYK9ziGcerWqZOmEn9VNg== - dependencies: - is-bigint "^1.0.1" - is-boolean-object "^1.1.0" - is-number-object "^1.0.4" - is-string "^1.0.5" - is-symbol "^1.0.3" - -which-collection@^1.0.1: - version "1.0.1" - resolved "https://registry.yarnpkg.com/which-collection/-/which-collection-1.0.1.tgz#70eab71ebbbd2aefaf32f917082fc62cdcb70906" - integrity sha512-W8xeTUwaln8i3K/cY1nGXzdnVZlidBcagyNFtBdD5kxnb4TvGKR7FfSIS3mYpwWS1QUCutfKz8IY8RjftB0+1A== - dependencies: - is-map "^2.0.1" - is-set "^2.0.1" - is-weakmap "^2.0.1" - is-weakset "^2.0.1" - -which-typed-array@^1.1.11, which-typed-array@^1.1.13: - version "1.1.13" - resolved "https://registry.yarnpkg.com/which-typed-array/-/which-typed-array-1.1.13.tgz#870cd5be06ddb616f504e7b039c4c24898184d36" - integrity sha512-P5Nra0qjSncduVPEAr7xhoF5guty49ArDTwzJ/yNuPIbZppyRxFQsRCWrocxIY+CnMVG+qfbU2FmDKyvSGClow== - dependencies: - available-typed-arrays "^1.0.5" - call-bind "^1.0.4" - for-each "^0.3.3" - gopd "^1.0.1" - has-tostringtag "^1.0.0" - -which@^2.0.1: - version "2.0.2" - resolved "https://registry.yarnpkg.com/which/-/which-2.0.2.tgz#7c6a8dd0a636a0327e10b59c9286eee93f3f51b1" - integrity sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA== - dependencies: - isexe "^2.0.0" - -wildcard@^2.0.0: - version "2.0.1" - resolved "https://registry.yarnpkg.com/wildcard/-/wildcard-2.0.1.tgz#5ab10d02487198954836b6349f74fff961e10f67" - integrity sha512-CC1bOL87PIWSBhDcTrdeLo6eGT7mCFtrg0uIJtqJUFyK+eJnzl8A1niH56uu7KMa5XFrtiV+AQuHO3n7DsHnLQ== - -workerpool@6.2.1: - version "6.2.1" - resolved "https://registry.yarnpkg.com/workerpool/-/workerpool-6.2.1.tgz#46fc150c17d826b86a008e5a4508656777e9c343" - integrity sha512-ILEIE97kDZvF9Wb9f6h5aXK4swSlKGUcOEGiIYb2OOu/IrDU9iwj0fD//SsA6E5ibwJxpEvhullJY4Sl4GcpAw== - -"wrap-ansi-cjs@npm:wrap-ansi@^7.0.0", wrap-ansi@^7.0.0: - version "7.0.0" - resolved "https://registry.yarnpkg.com/wrap-ansi/-/wrap-ansi-7.0.0.tgz#67e145cff510a6a6984bdf1152911d69d2eb9e43" - integrity sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q== - dependencies: - ansi-styles "^4.0.0" - string-width "^4.1.0" - strip-ansi "^6.0.0" - -wrap-ansi@^6.2.0: - version "6.2.0" - resolved "https://registry.yarnpkg.com/wrap-ansi/-/wrap-ansi-6.2.0.tgz#e9393ba07102e6c91a3b221478f0257cd2856e53" - integrity sha512-r6lPcBGxZXlIcymEu7InxDMhdW0KDxpLgoFLcguasxCaJ/SOIZwINatK9KY/tf+ZrlywOKU0UDj3ATXUBfxJXA== - dependencies: - ansi-styles "^4.0.0" - string-width "^4.1.0" - strip-ansi "^6.0.0" - -wrap-ansi@^8.1.0: - version "8.1.0" - resolved "https://registry.yarnpkg.com/wrap-ansi/-/wrap-ansi-8.1.0.tgz#56dc22368ee570face1b49819975d9b9a5ead214" - integrity sha512-si7QWI6zUMq56bESFvagtmzMdGOtoxfR+Sez11Mobfc7tm+VkUckk9bW2UeffTGVUbOksxmSw0AA2gs8g71NCQ== - dependencies: - ansi-styles "^6.1.0" - string-width "^5.0.1" - strip-ansi "^7.0.1" - -wrappy@1: - version "1.0.2" - resolved "https://registry.yarnpkg.com/wrappy/-/wrappy-1.0.2.tgz#b5243d8f3ec1aa35f1364605bc0d1036e30ab69f" - integrity sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ== - -write-file-atomic@^4.0.2: - version "4.0.2" - resolved "https://registry.yarnpkg.com/write-file-atomic/-/write-file-atomic-4.0.2.tgz#a9df01ae5b77858a027fd2e80768ee433555fcfd" - integrity sha512-7KxauUdBmSdWnmpaGFg+ppNjKF8uNLry8LyzjauQDOVONfFLNKrKvQOxZ/VuTIcS/gge/YNahf5RIIQWTSarlg== - dependencies: - imurmurhash "^0.1.4" - signal-exit "^3.0.7" - -ws@^7.2.0: - version "7.5.9" - resolved "https://registry.yarnpkg.com/ws/-/ws-7.5.9.tgz#54fa7db29f4c7cec68b1ddd3a89de099942bb591" - integrity sha512-F+P9Jil7UiSKSkppIiD94dN07AwvFixvLIj1Og1Rl9GGMuNipJnV9JzjD6XuqmAeiswGvUmNLjr5cFuXwNS77Q== - -ws@^8.11.0: - version "8.16.0" - resolved "https://registry.yarnpkg.com/ws/-/ws-8.16.0.tgz#d1cd774f36fbc07165066a60e40323eab6446fd4" - integrity sha512-HS0c//TP7Ina87TfiPUz1rQzMhHrl/SG2guqRcTOIUYD2q8uhUdNHZYJUaQ8aTGPzCh+c6oawMKW35nFl1dxyQ== - -xml-name-validator@^4.0.0: - version "4.0.0" - resolved "https://registry.yarnpkg.com/xml-name-validator/-/xml-name-validator-4.0.0.tgz#79a006e2e63149a8600f15430f0a4725d1524835" - integrity sha512-ICP2e+jsHvAj2E2lIHxa5tjXRlKDJo4IdvPvCXbXQGdzSfmSpNVyIKMvoZHjDY9DP0zV17iI85o90vRFXNccRw== - -xml-utils@^1.0.2: - version "1.7.0" - resolved "https://registry.yarnpkg.com/xml-utils/-/xml-utils-1.7.0.tgz#333ce391d8918f872aaf98d2cf90f9ef9b82bd0f" - integrity sha512-bWB489+RQQclC7A9OW8e5BzbT8Tu//jtAOvkYwewFr+Q9T9KDGvfzC1lp0pYPEQPEoPQLDkmxkepSC/2gIAZGw== - -xmlchars@^2.2.0: - version "2.2.0" - resolved "https://registry.yarnpkg.com/xmlchars/-/xmlchars-2.2.0.tgz#060fe1bcb7f9c76fe2a17db86a9bc3ab894210cb" - integrity sha512-JZnDKK8B0RCDw84FNdDAIpZK+JuJw+s7Lz8nksI7SIuU3UXJJslUthsi+uWBUYOwPFwW7W7PRLRfUKpxjtjFCw== - -xss@^1.0.14: - version "1.0.14" - resolved "https://registry.yarnpkg.com/xss/-/xss-1.0.14.tgz#4f3efbde75ad0d82e9921cc3c95e6590dd336694" - integrity sha512-og7TEJhXvn1a7kzZGQ7ETjdQVS2UfZyTlsEdDOqvQF7GoxNfY+0YLCzBy1kPdsDDx4QuNAonQPddpsn6Xl/7sw== - dependencies: - commander "^2.20.3" - cssfilter "0.0.10" - -y18n@^5.0.5: - version "5.0.8" - resolved "https://registry.yarnpkg.com/y18n/-/y18n-5.0.8.tgz#7f4934d0f7ca8c56f95314939ddcd2dd91ce1d55" - integrity sha512-0pfFzegeDWJHJIAmTLRP2DwHjdF5s7jo9tuztdQxAhINCdvS+3nGINqPd00AphqJR/0LhANUS6/+7SCb98YOfA== - -yallist@^3.0.2: - version "3.1.1" - resolved "https://registry.yarnpkg.com/yallist/-/yallist-3.1.1.tgz#dbb7daf9bfd8bac9ab45ebf602b8cbad0d5d08fd" - integrity sha512-a4UGQaWPH59mOXUYnAG2ewncQS4i4F43Tv3JoAM+s2VDAmS9NsK8GpDMLrCHPksFT7h3K6TOoUNn2pb7RoXx4g== - -yallist@^4.0.0: - version "4.0.0" - resolved "https://registry.yarnpkg.com/yallist/-/yallist-4.0.0.tgz#9bb92790d9c0effec63be73519e11a35019a3a72" - integrity sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A== - -yaml@^1.10.0: - version "1.10.2" - resolved "https://registry.yarnpkg.com/yaml/-/yaml-1.10.2.tgz#2301c5ffbf12b467de8da2333a459e29e7920e4b" - integrity sha512-r3vXyErRCYJ7wg28yvBY5VSoAF8ZvlcW9/BwUzEtUsjvX/DKs24dIkuwjtuprwJJHsbyUbLApepYTR1BN4uHrg== - -yaml@^2.0.0: - version "2.3.4" - resolved "https://registry.yarnpkg.com/yaml/-/yaml-2.3.4.tgz#53fc1d514be80aabf386dc6001eb29bf3b7523b2" - integrity sha512-8aAvwVUSHpfEqTQ4w/KMlf3HcRdt50E5ODIQJBw1fQ5RL34xabzxtUlzTXVqc4rkZsPbvrXKWnABCD7kWSmocA== - -yargs-parser@20.2.4: - version "20.2.4" - resolved "https://registry.yarnpkg.com/yargs-parser/-/yargs-parser-20.2.4.tgz#b42890f14566796f85ae8e3a25290d205f154a54" - integrity sha512-WOkpgNhPTlE73h4VFAFsOnomJVaovO8VqLDzy5saChRBFQFBoMYirowyW+Q9HB4HFF4Z7VZTiG3iSzJJA29yRA== - -yargs-parser@^20.2.2: - version "20.2.9" - resolved "https://registry.yarnpkg.com/yargs-parser/-/yargs-parser-20.2.9.tgz#2eb7dc3b0289718fc295f362753845c41a0c94ee" - integrity sha512-y11nGElTIV+CT3Zv9t7VKl+Q3hTQoT9a1Qzezhhl6Rp21gJ/IVTW7Z3y9EWXhuUBC2Shnf+DX0antecpAwSP8w== - -yargs-parser@^21.1.1: - version "21.1.1" - resolved "https://registry.yarnpkg.com/yargs-parser/-/yargs-parser-21.1.1.tgz#9096bceebf990d21bb31fa9516e0ede294a77d35" - integrity sha512-tVpsJW7DdjecAiFpbIB1e3qxIQsE6NoPc5/eTdrbbIC4h0LVsWhnoa3g+m2HclBIujHzsxZ4VJVA+GUuc2/LBw== - -yargs-unparser@2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/yargs-unparser/-/yargs-unparser-2.0.0.tgz#f131f9226911ae5d9ad38c432fe809366c2325eb" - integrity sha512-7pRTIA9Qc1caZ0bZ6RYRGbHJthJWuakf+WmHK0rVeLkNrrGhfoabBNdue6kdINI6r4if7ocq9aD/n7xwKOdzOA== - dependencies: - camelcase "^6.0.0" - decamelize "^4.0.0" - flat "^5.0.2" - is-plain-obj "^2.1.0" - -yargs@16.2.0: - version "16.2.0" - resolved "https://registry.yarnpkg.com/yargs/-/yargs-16.2.0.tgz#1c82bf0f6b6a66eafce7ef30e376f49a12477f66" - integrity sha512-D1mvvtDG0L5ft/jGWkLpG1+m0eQxOfaBvTNELraWj22wSVUMWxZUvYgJYcKh6jGGIkJFhH4IZPQhR4TKpc8mBw== - dependencies: - cliui "^7.0.2" - escalade "^3.1.1" - get-caller-file "^2.0.5" - require-directory "^2.1.1" - string-width "^4.2.0" - y18n "^5.0.5" - yargs-parser "^20.2.2" - -yargs@^17.3.1: - version "17.7.2" - resolved "https://registry.yarnpkg.com/yargs/-/yargs-17.7.2.tgz#991df39aca675a192b816e1e0363f9d75d2aa269" - integrity sha512-7dSzzRQ++CKnNI/krKnYRV7JKKPUXMEh61soaHKg9mrWEhzFWhFnxPxGl+69cD1Ou63C13NUPCnmIcrvqCuM6w== - dependencies: - cliui "^8.0.1" - escalade "^3.1.1" - get-caller-file "^2.0.5" - require-directory "^2.1.1" - string-width "^4.2.3" - y18n "^5.0.5" - yargs-parser "^21.1.1" - -yauzl@^2.10.0: - version "2.10.0" - resolved "https://registry.yarnpkg.com/yauzl/-/yauzl-2.10.0.tgz#c7eb17c93e112cb1086fa6d8e51fb0667b79a5f9" - integrity sha512-p4a9I6X6nu6IhoGmBqAcbJy1mlC4j27vEPZX9F4L4/vZT3Lyq1VkFHw/V/PUcB9Buo+DG3iHkT0x3Qya58zc3g== - dependencies: - buffer-crc32 "~0.2.3" - fd-slicer "~1.1.0" - -yn@3.1.1: - version "3.1.1" - resolved "https://registry.yarnpkg.com/yn/-/yn-3.1.1.tgz#1e87401a09d767c1d5eab26a6e4c185182d2eb50" - integrity sha512-Ux4ygGWsu2c7isFWe8Yu1YluJmqVhxqK2cLXNQA5AcC3QfbGNpM7fu0Y8b/z16pXLnFxZYvWhd3fhBY9DLmC6Q== - -yocto-queue@^0.1.0: - version "0.1.0" - resolved "https://registry.yarnpkg.com/yocto-queue/-/yocto-queue-0.1.0.tgz#0294eb3dee05028d31ee1a5fa2c556a6aaf10a1b" - integrity sha512-rVksvsnNCdJ/ohGc6xgPwyN8eheCxsiLM8mxuE/t/mOVqJewPuO1miLpTHQiRgTKCLexL4MeAFVagts7HmNZ2Q== - -zstddec@^0.1.0: - version "0.1.0" - resolved "https://registry.yarnpkg.com/zstddec/-/zstddec-0.1.0.tgz#7050f3f0e0c3978562d0c566b3e5a427d2bad7ec" - integrity sha512-w2NTI8+3l3eeltKAdK8QpiLo/flRAr2p8AGeakfMZOXBxOg9HIu4LVDxBi81sYgVhFhdJjv1OrB5ssI8uFPoLg== From 99c1d6df3dbe563ac75372fc3a71a71941c1dd95 Mon Sep 17 00:00:00 2001 From: The Anh Nguyen Date: Mon, 22 Jan 2024 10:57:09 +0700 Subject: [PATCH 04/23] fix tps panel --- .../optional/grafana/trafficcontrol-scenes/.gitignore | 3 ++- .../src/pages/DeliveryService/panels/tps.tsx | 4 ---- 2 files changed, 2 insertions(+), 5 deletions(-) diff --git a/infrastructure/cdn-in-a-box/optional/grafana/trafficcontrol-scenes/.gitignore b/infrastructure/cdn-in-a-box/optional/grafana/trafficcontrol-scenes/.gitignore index b512c09d47..76add878f8 100644 --- a/infrastructure/cdn-in-a-box/optional/grafana/trafficcontrol-scenes/.gitignore +++ b/infrastructure/cdn-in-a-box/optional/grafana/trafficcontrol-scenes/.gitignore @@ -1 +1,2 @@ -node_modules \ No newline at end of file +node_modules +dist \ No newline at end of file diff --git a/infrastructure/cdn-in-a-box/optional/grafana/trafficcontrol-scenes/src/pages/DeliveryService/panels/tps.tsx b/infrastructure/cdn-in-a-box/optional/grafana/trafficcontrol-scenes/src/pages/DeliveryService/panels/tps.tsx index 3147a01eb6..630ff01148 100644 --- a/infrastructure/cdn-in-a-box/optional/grafana/trafficcontrol-scenes/src/pages/DeliveryService/panels/tps.tsx +++ b/infrastructure/cdn-in-a-box/optional/grafana/trafficcontrol-scenes/src/pages/DeliveryService/panels/tps.tsx @@ -9,10 +9,6 @@ export const getTpsPanel = () => { rawQuery: true, resultFormat: 'time_series', measurement: 'tps_2xx', - hide: false, - tags: { - deliveryservice: `$deliveryservice`, - }, }, { refId: 'B', From 4123c25d0b3adb1e491aab71fbc92300ac2e0cae Mon Sep 17 00:00:00 2001 From: The Anh Nguyen Date: Mon, 22 Jan 2024 11:40:24 +0700 Subject: [PATCH 05/23] update datasource --- .../optional/grafana/datasources.yml.template | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) diff --git a/infrastructure/cdn-in-a-box/optional/grafana/datasources.yml.template b/infrastructure/cdn-in-a-box/optional/grafana/datasources.yml.template index 860f24379e..946415dc75 100644 --- a/infrastructure/cdn-in-a-box/optional/grafana/datasources.yml.template +++ b/infrastructure/cdn-in-a-box/optional/grafana/datasources.yml.template @@ -53,12 +53,12 @@ datasources: isDefault: false - name: telegraf - isDefault: false - url: http://$INFLUXDB_HOST:$INFLUXDB_PORT type: influxdb + access: proxy + orgId: 1 + url: http://$INFLUXDB_HOST:$INFLUXDB_PORT + password: $INFLUXDB_ADMIN_PASSWORD user: $INFLUXDB_ADMIN_USER - jsonData: - dbName: telegraf - httpMode: GET - secureJsonData: - password: $INFLUXDB_ADMIN_PASSWORD + database: telegraf + basicAuth: false + isDefault: false \ No newline at end of file From 0def87234c97143f2819c4ae22acf0ae89f47a0b Mon Sep 17 00:00:00 2001 From: The Anh Nguyen Date: Mon, 22 Jan 2024 14:16:44 +0700 Subject: [PATCH 06/23] add Apache license header --- .../optional/grafana/app.yaml.template | 20 +++++++++++ .../grafana/trafficcontrol-scenes/README.md | 0 .../cypress/integration/01-smoke.spec.ts | 14 ++++++++ .../trafficcontrol-scenes/src/README.md | 19 +++++++++++ .../src/components/App/App.tsx | 19 +++++++++++ .../src/components/App/index.tsx | 19 +++++++++++ .../src/components/Routes/Routes.tsx | 19 +++++++++++ .../src/components/Routes/index.tsx | 19 +++++++++++ .../src/components/testIds.ts | 22 ------------ .../trafficcontrol-scenes/src/constants.ts | 19 +++++++++++ .../trafficcontrol-scenes/src/module.ts | 19 +++++++++++ .../src/pages/CacheGroup/CacheGroup.tsx | 19 +++++++++++ .../CacheGroup/CacheGroupCustomObject.tsx | 34 ------------------- .../src/pages/CacheGroup/index.tsx | 19 +++++++++++ .../src/pages/CacheGroup/panels/bandwidth.tsx | 19 +++++++++++ .../pages/CacheGroup/panels/connections.tsx | 19 +++++++++++ .../src/pages/CacheGroup/scene.tsx | 19 +++++++++++ .../pages/DeliveryService/DSCustomObject.tsx | 34 ------------------- .../pages/DeliveryService/DeliveryService.tsx | 19 +++++++++++ .../src/pages/DeliveryService/index.tsx | 19 +++++++++++ .../DeliveryService/panels/bandwidth-cg.tsx | 19 +++++++++++ .../DeliveryService/panels/bandwidth.tsx | 19 +++++++++++ .../src/pages/DeliveryService/panels/tps.tsx | 19 +++++++++++ .../src/pages/DeliveryService/scene.tsx | 19 +++++++++++ .../src/pages/Server/Server.tsx | 19 +++++++++++ .../src/pages/Server/ServerCustomObject.tsx | 34 ------------------- .../src/pages/Server/index.tsx | 19 +++++++++++ .../src/pages/Server/panels/bandwidth.tsx | 19 +++++++++++ .../src/pages/Server/panels/connections.tsx | 19 +++++++++++ .../src/pages/Server/panels/cpu.tsx | 19 +++++++++++ .../src/pages/Server/panels/index.tsx | 19 +++++++++++ .../src/pages/Server/panels/load-average.tsx | 19 +++++++++++ .../src/pages/Server/panels/memory.tsx | 19 +++++++++++ .../src/pages/Server/panels/netstat.tsx | 19 +++++++++++ .../pages/Server/panels/read-write-time.tsx | 19 +++++++++++ .../src/pages/Server/panels/wrap-count.tsx | 19 +++++++++++ .../src/pages/Server/scene.tsx | 19 +++++++++++ .../src/utils/utils.plugin.ts | 19 +++++++++++ .../src/utils/utils.routing.ts | 19 +++++++++++ .../webpack/constants.ts | 14 ++++++++ .../trafficcontrol-scenes/webpack/utils.ts | 14 ++++++++ .../webpack/webpack.config.ts | 13 +++++++ 42 files changed, 683 insertions(+), 124 deletions(-) delete mode 100644 infrastructure/cdn-in-a-box/optional/grafana/trafficcontrol-scenes/README.md delete mode 100644 infrastructure/cdn-in-a-box/optional/grafana/trafficcontrol-scenes/src/components/testIds.ts delete mode 100644 infrastructure/cdn-in-a-box/optional/grafana/trafficcontrol-scenes/src/pages/CacheGroup/CacheGroupCustomObject.tsx delete mode 100644 infrastructure/cdn-in-a-box/optional/grafana/trafficcontrol-scenes/src/pages/DeliveryService/DSCustomObject.tsx delete mode 100644 infrastructure/cdn-in-a-box/optional/grafana/trafficcontrol-scenes/src/pages/Server/ServerCustomObject.tsx diff --git a/infrastructure/cdn-in-a-box/optional/grafana/app.yaml.template b/infrastructure/cdn-in-a-box/optional/grafana/app.yaml.template index 7c9a1b0be1..7fc21f1846 100644 --- a/infrastructure/cdn-in-a-box/optional/grafana/app.yaml.template +++ b/infrastructure/cdn-in-a-box/optional/grafana/app.yaml.template @@ -1,3 +1,23 @@ +# Licensed to the Apache Software Foundation (ASF) under one +# or more contributor license agreements. See the NOTICE file +# distributed with this work for additional information +# regarding copyright ownership. The ASF licenses this file +# to you under the Apache License, Version 2.0 (the +# "License"); you may not use this file except in compliance +# with the License. You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, +# software distributed under the License is distributed on an +# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY +# KIND, either express or implied. See the License for the +# specific language governing permissions and limitations +# under the License. +# +# Refer to "http://docs.grafana.org/administration/provisioning/#example-datasource-config-file" +# for the variables usages + apiVersion: 1 apps: diff --git a/infrastructure/cdn-in-a-box/optional/grafana/trafficcontrol-scenes/README.md b/infrastructure/cdn-in-a-box/optional/grafana/trafficcontrol-scenes/README.md deleted file mode 100644 index e69de29bb2..0000000000 diff --git a/infrastructure/cdn-in-a-box/optional/grafana/trafficcontrol-scenes/cypress/integration/01-smoke.spec.ts b/infrastructure/cdn-in-a-box/optional/grafana/trafficcontrol-scenes/cypress/integration/01-smoke.spec.ts index ed0867dadc..2c274a4cfc 100644 --- a/infrastructure/cdn-in-a-box/optional/grafana/trafficcontrol-scenes/cypress/integration/01-smoke.spec.ts +++ b/infrastructure/cdn-in-a-box/optional/grafana/trafficcontrol-scenes/cypress/integration/01-smoke.spec.ts @@ -1,3 +1,17 @@ +/* +* Licensed under the Apache License, Version 2.0 (the "License"); +* you may not use this file except in compliance with the License. +* You may obtain a copy of the License at +* +* http://www.apache.org/licenses/LICENSE-2.0 +* +* Unless required by applicable law or agreed to in writing, software +* distributed under the License is distributed on an "AS IS" BASIS, +* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +* See the License for the specific language governing permissions and +* limitations under the License. +*/ + import { e2e } from '@grafana/e2e'; e2e.scenario({ diff --git a/infrastructure/cdn-in-a-box/optional/grafana/trafficcontrol-scenes/src/README.md b/infrastructure/cdn-in-a-box/optional/grafana/trafficcontrol-scenes/src/README.md index c80f2aa08a..970fc6f8b0 100644 --- a/infrastructure/cdn-in-a-box/optional/grafana/trafficcontrol-scenes/src/README.md +++ b/infrastructure/cdn-in-a-box/optional/grafana/trafficcontrol-scenes/src/README.md @@ -1,3 +1,22 @@ + + diff --git a/infrastructure/cdn-in-a-box/optional/grafana/trafficcontrol-scenes/src/components/App/App.tsx b/infrastructure/cdn-in-a-box/optional/grafana/trafficcontrol-scenes/src/components/App/App.tsx index f79f7335ac..1b75f25317 100644 --- a/infrastructure/cdn-in-a-box/optional/grafana/trafficcontrol-scenes/src/components/App/App.tsx +++ b/infrastructure/cdn-in-a-box/optional/grafana/trafficcontrol-scenes/src/components/App/App.tsx @@ -1,3 +1,22 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. + */ + import React from 'react'; import { AppRootProps } from '@grafana/data'; import { PluginPropsContext } from '../../utils/utils.plugin'; diff --git a/infrastructure/cdn-in-a-box/optional/grafana/trafficcontrol-scenes/src/components/App/index.tsx b/infrastructure/cdn-in-a-box/optional/grafana/trafficcontrol-scenes/src/components/App/index.tsx index ac7ba3b3a2..cc86a6f871 100644 --- a/infrastructure/cdn-in-a-box/optional/grafana/trafficcontrol-scenes/src/components/App/index.tsx +++ b/infrastructure/cdn-in-a-box/optional/grafana/trafficcontrol-scenes/src/components/App/index.tsx @@ -1 +1,20 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. + */ + export * from './App'; diff --git a/infrastructure/cdn-in-a-box/optional/grafana/trafficcontrol-scenes/src/components/Routes/Routes.tsx b/infrastructure/cdn-in-a-box/optional/grafana/trafficcontrol-scenes/src/components/Routes/Routes.tsx index 1da49d6a23..2197672094 100644 --- a/infrastructure/cdn-in-a-box/optional/grafana/trafficcontrol-scenes/src/components/Routes/Routes.tsx +++ b/infrastructure/cdn-in-a-box/optional/grafana/trafficcontrol-scenes/src/components/Routes/Routes.tsx @@ -1,3 +1,22 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. + */ + import React from 'react'; import { Redirect, Route, Switch } from 'react-router-dom'; import { prefixRoute } from '../../utils/utils.routing'; diff --git a/infrastructure/cdn-in-a-box/optional/grafana/trafficcontrol-scenes/src/components/Routes/index.tsx b/infrastructure/cdn-in-a-box/optional/grafana/trafficcontrol-scenes/src/components/Routes/index.tsx index 2f80a5cca0..fc0a43b294 100644 --- a/infrastructure/cdn-in-a-box/optional/grafana/trafficcontrol-scenes/src/components/Routes/index.tsx +++ b/infrastructure/cdn-in-a-box/optional/grafana/trafficcontrol-scenes/src/components/Routes/index.tsx @@ -1 +1,20 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. + */ + export * from './Routes'; diff --git a/infrastructure/cdn-in-a-box/optional/grafana/trafficcontrol-scenes/src/components/testIds.ts b/infrastructure/cdn-in-a-box/optional/grafana/trafficcontrol-scenes/src/components/testIds.ts deleted file mode 100644 index c17eb22483..0000000000 --- a/infrastructure/cdn-in-a-box/optional/grafana/trafficcontrol-scenes/src/components/testIds.ts +++ /dev/null @@ -1,22 +0,0 @@ -export const testIds = { - appConfig: { - container: 'data-testid ac-container', - apiKey: 'data-testid ac-api-key', - apiUrl: 'data-testid ac-api-url', - submit: 'data-testid ac-submit-form', - }, - pageOne: { - container: 'data-testid pg-one-container', - navigateToFour: 'data-testid navigate-to-four', - }, - pageTwo: { - container: 'data-testid pg-two-container', - }, - pageThree: { - container: 'data-testid pg-three-container', - }, - pageFour: { - container: 'data-testid pg-four-container', - navigateBack: 'data-testid navigate-back', - }, -}; diff --git a/infrastructure/cdn-in-a-box/optional/grafana/trafficcontrol-scenes/src/constants.ts b/infrastructure/cdn-in-a-box/optional/grafana/trafficcontrol-scenes/src/constants.ts index 8c5d710d20..501bab6438 100644 --- a/infrastructure/cdn-in-a-box/optional/grafana/trafficcontrol-scenes/src/constants.ts +++ b/infrastructure/cdn-in-a-box/optional/grafana/trafficcontrol-scenes/src/constants.ts @@ -1,3 +1,22 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. + */ + import pluginJson from './plugin.json'; export const PLUGIN_BASE_URL = `/a/${pluginJson.id}`; diff --git a/infrastructure/cdn-in-a-box/optional/grafana/trafficcontrol-scenes/src/module.ts b/infrastructure/cdn-in-a-box/optional/grafana/trafficcontrol-scenes/src/module.ts index 4922957e3d..dde257fa5a 100644 --- a/infrastructure/cdn-in-a-box/optional/grafana/trafficcontrol-scenes/src/module.ts +++ b/infrastructure/cdn-in-a-box/optional/grafana/trafficcontrol-scenes/src/module.ts @@ -1,3 +1,22 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. + */ + import { AppPlugin } from '@grafana/data'; import { App } from './components/App'; diff --git a/infrastructure/cdn-in-a-box/optional/grafana/trafficcontrol-scenes/src/pages/CacheGroup/CacheGroup.tsx b/infrastructure/cdn-in-a-box/optional/grafana/trafficcontrol-scenes/src/pages/CacheGroup/CacheGroup.tsx index a8de269ba6..09e5f2ba5c 100644 --- a/infrastructure/cdn-in-a-box/optional/grafana/trafficcontrol-scenes/src/pages/CacheGroup/CacheGroup.tsx +++ b/infrastructure/cdn-in-a-box/optional/grafana/trafficcontrol-scenes/src/pages/CacheGroup/CacheGroup.tsx @@ -1,3 +1,22 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. + */ + import React, { useMemo } from 'react'; import { SceneApp, SceneAppPage } from '@grafana/scenes'; import { ROUTES } from '../../constants'; diff --git a/infrastructure/cdn-in-a-box/optional/grafana/trafficcontrol-scenes/src/pages/CacheGroup/CacheGroupCustomObject.tsx b/infrastructure/cdn-in-a-box/optional/grafana/trafficcontrol-scenes/src/pages/CacheGroup/CacheGroupCustomObject.tsx deleted file mode 100644 index 6a9ed19fef..0000000000 --- a/infrastructure/cdn-in-a-box/optional/grafana/trafficcontrol-scenes/src/pages/CacheGroup/CacheGroupCustomObject.tsx +++ /dev/null @@ -1,34 +0,0 @@ -import React from 'react'; - -import { SceneComponentProps, SceneObjectBase, SceneObjectState } from '@grafana/scenes'; -import { InlineField, Input } from '@grafana/ui'; - -interface CacheGroupState extends SceneObjectState { - name: string; -} - -function CacheGroupInputRenderer({ model }: SceneComponentProps) { - const { name } = model.useState(); - - return ( - - { - model.onValueChange(evt.currentTarget.value); - }} - /> - - ); -} - -export class CacheGroupCustomObject extends SceneObjectBase { - public static Component = CacheGroupInputRenderer; - - onValueChange = (value: string) => { - this.setState({ name: value }); - }; -} diff --git a/infrastructure/cdn-in-a-box/optional/grafana/trafficcontrol-scenes/src/pages/CacheGroup/index.tsx b/infrastructure/cdn-in-a-box/optional/grafana/trafficcontrol-scenes/src/pages/CacheGroup/index.tsx index 76fa1e4a52..62c9e5dadd 100644 --- a/infrastructure/cdn-in-a-box/optional/grafana/trafficcontrol-scenes/src/pages/CacheGroup/index.tsx +++ b/infrastructure/cdn-in-a-box/optional/grafana/trafficcontrol-scenes/src/pages/CacheGroup/index.tsx @@ -1 +1,20 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. + */ + export * from './CacheGroup'; diff --git a/infrastructure/cdn-in-a-box/optional/grafana/trafficcontrol-scenes/src/pages/CacheGroup/panels/bandwidth.tsx b/infrastructure/cdn-in-a-box/optional/grafana/trafficcontrol-scenes/src/pages/CacheGroup/panels/bandwidth.tsx index ad29fc9bce..516d409a0c 100644 --- a/infrastructure/cdn-in-a-box/optional/grafana/trafficcontrol-scenes/src/pages/CacheGroup/panels/bandwidth.tsx +++ b/infrastructure/cdn-in-a-box/optional/grafana/trafficcontrol-scenes/src/pages/CacheGroup/panels/bandwidth.tsx @@ -1,3 +1,22 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. + */ + import { SceneQueryRunner, PanelBuilders } from '@grafana/scenes'; import { INFLUXDB_DATASOURCES_REF } from '../../../constants'; diff --git a/infrastructure/cdn-in-a-box/optional/grafana/trafficcontrol-scenes/src/pages/CacheGroup/panels/connections.tsx b/infrastructure/cdn-in-a-box/optional/grafana/trafficcontrol-scenes/src/pages/CacheGroup/panels/connections.tsx index 45cc431bb3..ebe48de564 100644 --- a/infrastructure/cdn-in-a-box/optional/grafana/trafficcontrol-scenes/src/pages/CacheGroup/panels/connections.tsx +++ b/infrastructure/cdn-in-a-box/optional/grafana/trafficcontrol-scenes/src/pages/CacheGroup/panels/connections.tsx @@ -1,3 +1,22 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. + */ + import { SceneQueryRunner, PanelBuilders } from '@grafana/scenes'; import { INFLUXDB_DATASOURCES_REF } from '../../../constants'; diff --git a/infrastructure/cdn-in-a-box/optional/grafana/trafficcontrol-scenes/src/pages/CacheGroup/scene.tsx b/infrastructure/cdn-in-a-box/optional/grafana/trafficcontrol-scenes/src/pages/CacheGroup/scene.tsx index 09ebc6d428..9d93350e9e 100644 --- a/infrastructure/cdn-in-a-box/optional/grafana/trafficcontrol-scenes/src/pages/CacheGroup/scene.tsx +++ b/infrastructure/cdn-in-a-box/optional/grafana/trafficcontrol-scenes/src/pages/CacheGroup/scene.tsx @@ -1,3 +1,22 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. + */ + import { SceneTimeRange, EmbeddedScene, diff --git a/infrastructure/cdn-in-a-box/optional/grafana/trafficcontrol-scenes/src/pages/DeliveryService/DSCustomObject.tsx b/infrastructure/cdn-in-a-box/optional/grafana/trafficcontrol-scenes/src/pages/DeliveryService/DSCustomObject.tsx deleted file mode 100644 index 3f9bc0a9ed..0000000000 --- a/infrastructure/cdn-in-a-box/optional/grafana/trafficcontrol-scenes/src/pages/DeliveryService/DSCustomObject.tsx +++ /dev/null @@ -1,34 +0,0 @@ -import React from 'react'; - -import { SceneComponentProps, SceneObjectBase, SceneObjectState } from '@grafana/scenes'; -import { InlineField, Input } from '@grafana/ui'; - -interface DeliveryServiceState extends SceneObjectState { - name: string; -} - -function Renderer({ model }: SceneComponentProps) { - const { name } = model.useState(); - - return ( - - { - model.onValueChange(evt.currentTarget.value); - }} - /> - - ); -} - -export class DeliveryServiceCustomObject extends SceneObjectBase { - public static Component = Renderer; - - onValueChange = (value: string) => { - this.setState({ name: value }); - }; -} diff --git a/infrastructure/cdn-in-a-box/optional/grafana/trafficcontrol-scenes/src/pages/DeliveryService/DeliveryService.tsx b/infrastructure/cdn-in-a-box/optional/grafana/trafficcontrol-scenes/src/pages/DeliveryService/DeliveryService.tsx index 1ced715a3e..73624c4a55 100644 --- a/infrastructure/cdn-in-a-box/optional/grafana/trafficcontrol-scenes/src/pages/DeliveryService/DeliveryService.tsx +++ b/infrastructure/cdn-in-a-box/optional/grafana/trafficcontrol-scenes/src/pages/DeliveryService/DeliveryService.tsx @@ -1,3 +1,22 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. + */ + import React, { useMemo } from 'react'; import { SceneApp, SceneAppPage } from '@grafana/scenes'; import { ROUTES } from '../../constants'; diff --git a/infrastructure/cdn-in-a-box/optional/grafana/trafficcontrol-scenes/src/pages/DeliveryService/index.tsx b/infrastructure/cdn-in-a-box/optional/grafana/trafficcontrol-scenes/src/pages/DeliveryService/index.tsx index fb4fa6ff29..87fe1ff037 100644 --- a/infrastructure/cdn-in-a-box/optional/grafana/trafficcontrol-scenes/src/pages/DeliveryService/index.tsx +++ b/infrastructure/cdn-in-a-box/optional/grafana/trafficcontrol-scenes/src/pages/DeliveryService/index.tsx @@ -1 +1,20 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. + */ + export * from './DeliveryService'; diff --git a/infrastructure/cdn-in-a-box/optional/grafana/trafficcontrol-scenes/src/pages/DeliveryService/panels/bandwidth-cg.tsx b/infrastructure/cdn-in-a-box/optional/grafana/trafficcontrol-scenes/src/pages/DeliveryService/panels/bandwidth-cg.tsx index db9199a21b..f7b50e0d3d 100644 --- a/infrastructure/cdn-in-a-box/optional/grafana/trafficcontrol-scenes/src/pages/DeliveryService/panels/bandwidth-cg.tsx +++ b/infrastructure/cdn-in-a-box/optional/grafana/trafficcontrol-scenes/src/pages/DeliveryService/panels/bandwidth-cg.tsx @@ -1,3 +1,22 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. + */ + import { SceneQueryRunner, PanelBuilders } from '@grafana/scenes'; import { INFLUXDB_DATASOURCES_REF } from '../../../constants'; diff --git a/infrastructure/cdn-in-a-box/optional/grafana/trafficcontrol-scenes/src/pages/DeliveryService/panels/bandwidth.tsx b/infrastructure/cdn-in-a-box/optional/grafana/trafficcontrol-scenes/src/pages/DeliveryService/panels/bandwidth.tsx index 8462f0880c..c2fafbcfc4 100644 --- a/infrastructure/cdn-in-a-box/optional/grafana/trafficcontrol-scenes/src/pages/DeliveryService/panels/bandwidth.tsx +++ b/infrastructure/cdn-in-a-box/optional/grafana/trafficcontrol-scenes/src/pages/DeliveryService/panels/bandwidth.tsx @@ -1,3 +1,22 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. + */ + import { SceneQueryRunner, PanelBuilders } from '@grafana/scenes'; import { INFLUXDB_DATASOURCES_REF } from '../../../constants'; diff --git a/infrastructure/cdn-in-a-box/optional/grafana/trafficcontrol-scenes/src/pages/DeliveryService/panels/tps.tsx b/infrastructure/cdn-in-a-box/optional/grafana/trafficcontrol-scenes/src/pages/DeliveryService/panels/tps.tsx index 630ff01148..9283b8583a 100644 --- a/infrastructure/cdn-in-a-box/optional/grafana/trafficcontrol-scenes/src/pages/DeliveryService/panels/tps.tsx +++ b/infrastructure/cdn-in-a-box/optional/grafana/trafficcontrol-scenes/src/pages/DeliveryService/panels/tps.tsx @@ -1,3 +1,22 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. + */ + import { SceneQueryRunner, PanelBuilders } from '@grafana/scenes'; import { INFLUXDB_DATASOURCES_REF } from '../../../constants'; diff --git a/infrastructure/cdn-in-a-box/optional/grafana/trafficcontrol-scenes/src/pages/DeliveryService/scene.tsx b/infrastructure/cdn-in-a-box/optional/grafana/trafficcontrol-scenes/src/pages/DeliveryService/scene.tsx index e79c9dd2bd..388a84cdf1 100644 --- a/infrastructure/cdn-in-a-box/optional/grafana/trafficcontrol-scenes/src/pages/DeliveryService/scene.tsx +++ b/infrastructure/cdn-in-a-box/optional/grafana/trafficcontrol-scenes/src/pages/DeliveryService/scene.tsx @@ -1,3 +1,22 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. + */ + import { SceneTimeRange, EmbeddedScene, diff --git a/infrastructure/cdn-in-a-box/optional/grafana/trafficcontrol-scenes/src/pages/Server/Server.tsx b/infrastructure/cdn-in-a-box/optional/grafana/trafficcontrol-scenes/src/pages/Server/Server.tsx index bae807fd14..c1a6a5980b 100644 --- a/infrastructure/cdn-in-a-box/optional/grafana/trafficcontrol-scenes/src/pages/Server/Server.tsx +++ b/infrastructure/cdn-in-a-box/optional/grafana/trafficcontrol-scenes/src/pages/Server/Server.tsx @@ -1,3 +1,22 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. + */ + import React, { useMemo } from 'react'; import { SceneApp, SceneAppPage } from '@grafana/scenes'; import { ROUTES } from '../../constants'; diff --git a/infrastructure/cdn-in-a-box/optional/grafana/trafficcontrol-scenes/src/pages/Server/ServerCustomObject.tsx b/infrastructure/cdn-in-a-box/optional/grafana/trafficcontrol-scenes/src/pages/Server/ServerCustomObject.tsx deleted file mode 100644 index 34d69fcbab..0000000000 --- a/infrastructure/cdn-in-a-box/optional/grafana/trafficcontrol-scenes/src/pages/Server/ServerCustomObject.tsx +++ /dev/null @@ -1,34 +0,0 @@ -import React from 'react'; - -import { SceneComponentProps, SceneObjectBase, SceneObjectState } from '@grafana/scenes'; -import { InlineField, Input } from '@grafana/ui'; - -interface ServerState extends SceneObjectState { - name: string; -} - -function Renderer({ model }: SceneComponentProps) { - const { name } = model.useState(); - - return ( - - { - model.onValueChange(evt.currentTarget.value); - }} - /> - - ); -} - -export class ServerCustomObject extends SceneObjectBase { - public static Component = Renderer; - - onValueChange = (value: string) => { - this.setState({ name: value }); - }; -} diff --git a/infrastructure/cdn-in-a-box/optional/grafana/trafficcontrol-scenes/src/pages/Server/index.tsx b/infrastructure/cdn-in-a-box/optional/grafana/trafficcontrol-scenes/src/pages/Server/index.tsx index 80a7488dc2..565e8353c4 100644 --- a/infrastructure/cdn-in-a-box/optional/grafana/trafficcontrol-scenes/src/pages/Server/index.tsx +++ b/infrastructure/cdn-in-a-box/optional/grafana/trafficcontrol-scenes/src/pages/Server/index.tsx @@ -1 +1,20 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. + */ + export * from './Server'; diff --git a/infrastructure/cdn-in-a-box/optional/grafana/trafficcontrol-scenes/src/pages/Server/panels/bandwidth.tsx b/infrastructure/cdn-in-a-box/optional/grafana/trafficcontrol-scenes/src/pages/Server/panels/bandwidth.tsx index cc6d635c0d..13765543cb 100644 --- a/infrastructure/cdn-in-a-box/optional/grafana/trafficcontrol-scenes/src/pages/Server/panels/bandwidth.tsx +++ b/infrastructure/cdn-in-a-box/optional/grafana/trafficcontrol-scenes/src/pages/Server/panels/bandwidth.tsx @@ -1,3 +1,22 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. + */ + import { SceneQueryRunner, PanelBuilders } from '@grafana/scenes'; import { INFLUXDB_DATASOURCES_REF } from '../../../constants'; diff --git a/infrastructure/cdn-in-a-box/optional/grafana/trafficcontrol-scenes/src/pages/Server/panels/connections.tsx b/infrastructure/cdn-in-a-box/optional/grafana/trafficcontrol-scenes/src/pages/Server/panels/connections.tsx index e73f6895ae..00e85203c9 100644 --- a/infrastructure/cdn-in-a-box/optional/grafana/trafficcontrol-scenes/src/pages/Server/panels/connections.tsx +++ b/infrastructure/cdn-in-a-box/optional/grafana/trafficcontrol-scenes/src/pages/Server/panels/connections.tsx @@ -1,3 +1,22 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. + */ + import { SceneQueryRunner, PanelBuilders } from '@grafana/scenes'; import { INFLUXDB_DATASOURCES_REF } from '../../../constants'; diff --git a/infrastructure/cdn-in-a-box/optional/grafana/trafficcontrol-scenes/src/pages/Server/panels/cpu.tsx b/infrastructure/cdn-in-a-box/optional/grafana/trafficcontrol-scenes/src/pages/Server/panels/cpu.tsx index c527642268..63d9fb03a0 100644 --- a/infrastructure/cdn-in-a-box/optional/grafana/trafficcontrol-scenes/src/pages/Server/panels/cpu.tsx +++ b/infrastructure/cdn-in-a-box/optional/grafana/trafficcontrol-scenes/src/pages/Server/panels/cpu.tsx @@ -1,3 +1,22 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. + */ + import { PanelBuilders, SceneQueryRunner } from '@grafana/scenes'; import { INFLUXDB_DATASOURCES_REF } from '../../../constants'; diff --git a/infrastructure/cdn-in-a-box/optional/grafana/trafficcontrol-scenes/src/pages/Server/panels/index.tsx b/infrastructure/cdn-in-a-box/optional/grafana/trafficcontrol-scenes/src/pages/Server/panels/index.tsx index d26bd8b01b..b7dc702e06 100644 --- a/infrastructure/cdn-in-a-box/optional/grafana/trafficcontrol-scenes/src/pages/Server/panels/index.tsx +++ b/infrastructure/cdn-in-a-box/optional/grafana/trafficcontrol-scenes/src/pages/Server/panels/index.tsx @@ -1,3 +1,22 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. + */ + export * from './bandwidth'; export * from './connections'; export * from './cpu'; diff --git a/infrastructure/cdn-in-a-box/optional/grafana/trafficcontrol-scenes/src/pages/Server/panels/load-average.tsx b/infrastructure/cdn-in-a-box/optional/grafana/trafficcontrol-scenes/src/pages/Server/panels/load-average.tsx index 7c2518d566..8d6d28adc1 100644 --- a/infrastructure/cdn-in-a-box/optional/grafana/trafficcontrol-scenes/src/pages/Server/panels/load-average.tsx +++ b/infrastructure/cdn-in-a-box/optional/grafana/trafficcontrol-scenes/src/pages/Server/panels/load-average.tsx @@ -1,3 +1,22 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. + */ + import { PanelBuilders, SceneQueryRunner } from '@grafana/scenes'; import { INFLUXDB_DATASOURCES_REF } from '../../../constants'; diff --git a/infrastructure/cdn-in-a-box/optional/grafana/trafficcontrol-scenes/src/pages/Server/panels/memory.tsx b/infrastructure/cdn-in-a-box/optional/grafana/trafficcontrol-scenes/src/pages/Server/panels/memory.tsx index f6a67b4f00..5b7bc02054 100644 --- a/infrastructure/cdn-in-a-box/optional/grafana/trafficcontrol-scenes/src/pages/Server/panels/memory.tsx +++ b/infrastructure/cdn-in-a-box/optional/grafana/trafficcontrol-scenes/src/pages/Server/panels/memory.tsx @@ -1,3 +1,22 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. + */ + import { PanelBuilders, SceneQueryRunner } from '@grafana/scenes'; import { INFLUXDB_DATASOURCES_REF } from '../../../constants'; diff --git a/infrastructure/cdn-in-a-box/optional/grafana/trafficcontrol-scenes/src/pages/Server/panels/netstat.tsx b/infrastructure/cdn-in-a-box/optional/grafana/trafficcontrol-scenes/src/pages/Server/panels/netstat.tsx index e8c9ae5fd2..307dc02fca 100644 --- a/infrastructure/cdn-in-a-box/optional/grafana/trafficcontrol-scenes/src/pages/Server/panels/netstat.tsx +++ b/infrastructure/cdn-in-a-box/optional/grafana/trafficcontrol-scenes/src/pages/Server/panels/netstat.tsx @@ -1,3 +1,22 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. + */ + import { PanelBuilders, SceneQueryRunner } from '@grafana/scenes'; import { INFLUXDB_DATASOURCES_REF } from '../../../constants'; diff --git a/infrastructure/cdn-in-a-box/optional/grafana/trafficcontrol-scenes/src/pages/Server/panels/read-write-time.tsx b/infrastructure/cdn-in-a-box/optional/grafana/trafficcontrol-scenes/src/pages/Server/panels/read-write-time.tsx index 3ccba10b0a..05c097787b 100644 --- a/infrastructure/cdn-in-a-box/optional/grafana/trafficcontrol-scenes/src/pages/Server/panels/read-write-time.tsx +++ b/infrastructure/cdn-in-a-box/optional/grafana/trafficcontrol-scenes/src/pages/Server/panels/read-write-time.tsx @@ -1,3 +1,22 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. + */ + import { PanelBuilders, SceneQueryRunner } from '@grafana/scenes'; import { INFLUXDB_DATASOURCES_REF } from '../../../constants'; diff --git a/infrastructure/cdn-in-a-box/optional/grafana/trafficcontrol-scenes/src/pages/Server/panels/wrap-count.tsx b/infrastructure/cdn-in-a-box/optional/grafana/trafficcontrol-scenes/src/pages/Server/panels/wrap-count.tsx index 1b3b10b8e7..ebae90eaa4 100644 --- a/infrastructure/cdn-in-a-box/optional/grafana/trafficcontrol-scenes/src/pages/Server/panels/wrap-count.tsx +++ b/infrastructure/cdn-in-a-box/optional/grafana/trafficcontrol-scenes/src/pages/Server/panels/wrap-count.tsx @@ -1,3 +1,22 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. + */ + import { PanelBuilders, SceneQueryRunner } from '@grafana/scenes'; import { INFLUXDB_DATASOURCES_REF } from '../../../constants'; diff --git a/infrastructure/cdn-in-a-box/optional/grafana/trafficcontrol-scenes/src/pages/Server/scene.tsx b/infrastructure/cdn-in-a-box/optional/grafana/trafficcontrol-scenes/src/pages/Server/scene.tsx index 6dc652eba2..8674fbf59d 100644 --- a/infrastructure/cdn-in-a-box/optional/grafana/trafficcontrol-scenes/src/pages/Server/scene.tsx +++ b/infrastructure/cdn-in-a-box/optional/grafana/trafficcontrol-scenes/src/pages/Server/scene.tsx @@ -1,3 +1,22 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. + */ + import { SceneTimeRange, EmbeddedScene, diff --git a/infrastructure/cdn-in-a-box/optional/grafana/trafficcontrol-scenes/src/utils/utils.plugin.ts b/infrastructure/cdn-in-a-box/optional/grafana/trafficcontrol-scenes/src/utils/utils.plugin.ts index 2687f4b7f3..045fabc3be 100644 --- a/infrastructure/cdn-in-a-box/optional/grafana/trafficcontrol-scenes/src/utils/utils.plugin.ts +++ b/infrastructure/cdn-in-a-box/optional/grafana/trafficcontrol-scenes/src/utils/utils.plugin.ts @@ -1,3 +1,22 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. + */ + import React, { useContext } from 'react'; import { AppRootProps } from '@grafana/data'; diff --git a/infrastructure/cdn-in-a-box/optional/grafana/trafficcontrol-scenes/src/utils/utils.routing.ts b/infrastructure/cdn-in-a-box/optional/grafana/trafficcontrol-scenes/src/utils/utils.routing.ts index b9e4c9926b..8908bdd463 100644 --- a/infrastructure/cdn-in-a-box/optional/grafana/trafficcontrol-scenes/src/utils/utils.routing.ts +++ b/infrastructure/cdn-in-a-box/optional/grafana/trafficcontrol-scenes/src/utils/utils.routing.ts @@ -1,3 +1,22 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. + */ + import { PLUGIN_BASE_URL } from '../constants'; // Prefixes the route with the base URL of the plugin diff --git a/infrastructure/cdn-in-a-box/optional/grafana/trafficcontrol-scenes/webpack/constants.ts b/infrastructure/cdn-in-a-box/optional/grafana/trafficcontrol-scenes/webpack/constants.ts index 071e4fd343..6127381fda 100644 --- a/infrastructure/cdn-in-a-box/optional/grafana/trafficcontrol-scenes/webpack/constants.ts +++ b/infrastructure/cdn-in-a-box/optional/grafana/trafficcontrol-scenes/webpack/constants.ts @@ -1,2 +1,16 @@ +/* +* Licensed under the Apache License, Version 2.0 (the "License"); +* you may not use this file except in compliance with the License. +* You may obtain a copy of the License at +* +* http://www.apache.org/licenses/LICENSE-2.0 +* +* Unless required by applicable law or agreed to in writing, software +* distributed under the License is distributed on an "AS IS" BASIS, +* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +* See the License for the specific language governing permissions and +* limitations under the License. +*/ + export const SOURCE_DIR = 'src'; export const DIST_DIR = 'dist'; diff --git a/infrastructure/cdn-in-a-box/optional/grafana/trafficcontrol-scenes/webpack/utils.ts b/infrastructure/cdn-in-a-box/optional/grafana/trafficcontrol-scenes/webpack/utils.ts index 07eea6e451..2dd9c53870 100644 --- a/infrastructure/cdn-in-a-box/optional/grafana/trafficcontrol-scenes/webpack/utils.ts +++ b/infrastructure/cdn-in-a-box/optional/grafana/trafficcontrol-scenes/webpack/utils.ts @@ -1,3 +1,17 @@ +/* +* Licensed under the Apache License, Version 2.0 (the "License"); +* you may not use this file except in compliance with the License. +* You may obtain a copy of the License at +* +* http://www.apache.org/licenses/LICENSE-2.0 +* +* Unless required by applicable law or agreed to in writing, software +* distributed under the License is distributed on an "AS IS" BASIS, +* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +* See the License for the specific language governing permissions and +* limitations under the License. +*/ + import fs from 'fs'; import process from 'process'; import os from 'os'; diff --git a/infrastructure/cdn-in-a-box/optional/grafana/trafficcontrol-scenes/webpack/webpack.config.ts b/infrastructure/cdn-in-a-box/optional/grafana/trafficcontrol-scenes/webpack/webpack.config.ts index b11a73ec97..cc4a8ae0f9 100644 --- a/infrastructure/cdn-in-a-box/optional/grafana/trafficcontrol-scenes/webpack/webpack.config.ts +++ b/infrastructure/cdn-in-a-box/optional/grafana/trafficcontrol-scenes/webpack/webpack.config.ts @@ -1,3 +1,16 @@ +/* +* Licensed under the Apache License, Version 2.0 (the "License"); +* you may not use this file except in compliance with the License. +* You may obtain a copy of the License at +* +* http://www.apache.org/licenses/LICENSE-2.0 +* +* Unless required by applicable law or agreed to in writing, software +* distributed under the License is distributed on an "AS IS" BASIS, +* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +* See the License for the specific language governing permissions and +* limitations under the License. +*/ /* * ⚠️⚠️⚠️ THIS FILE WAS SCAFFOLDED BY `@grafana/create-plugin`. DO NOT EDIT THIS FILE DIRECTLY. ⚠️⚠️⚠️ * From b17077ec1c35f3766331c0ec62430ce9edb489f5 Mon Sep 17 00:00:00 2001 From: The Anh Nguyen Date: Mon, 22 Jan 2024 14:27:25 +0700 Subject: [PATCH 07/23] fix weasel check --- .../grafana/trafficcontrol-scenes/.eslintrc | 14 ++++++++++++++ .../grafana/trafficcontrol-scenes/.gitignore | 18 ++++++++++++++++++ .../trafficcontrol-scenes/.prettierrc.js | 14 ++++++++++++++ .../trafficcontrol-scenes/jest-setup.js | 14 ++++++++++++++ .../trafficcontrol-scenes/jest.config.js | 14 ++++++++++++++ 5 files changed, 74 insertions(+) diff --git a/infrastructure/cdn-in-a-box/optional/grafana/trafficcontrol-scenes/.eslintrc b/infrastructure/cdn-in-a-box/optional/grafana/trafficcontrol-scenes/.eslintrc index 1486ed2e0e..cc48016ec8 100644 --- a/infrastructure/cdn-in-a-box/optional/grafana/trafficcontrol-scenes/.eslintrc +++ b/infrastructure/cdn-in-a-box/optional/grafana/trafficcontrol-scenes/.eslintrc @@ -1,3 +1,17 @@ +/* +* Licensed under the Apache License, Version 2.0 (the "License"); +* you may not use this file except in compliance with the License. +* You may obtain a copy of the License at +* +* http://www.apache.org/licenses/LICENSE-2.0 +* +* Unless required by applicable law or agreed to in writing, software +* distributed under the License is distributed on an "AS IS" BASIS, +* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +* See the License for the specific language governing permissions and +* limitations under the License. +*/ + /* * ⚠️⚠️⚠️ THIS FILE WAS SCAFFOLDED BY `@grafana/create-plugin`. DO NOT EDIT THIS FILE DIRECTLY. ⚠️⚠️⚠️ * diff --git a/infrastructure/cdn-in-a-box/optional/grafana/trafficcontrol-scenes/.gitignore b/infrastructure/cdn-in-a-box/optional/grafana/trafficcontrol-scenes/.gitignore index 76add878f8..4ee59325a5 100644 --- a/infrastructure/cdn-in-a-box/optional/grafana/trafficcontrol-scenes/.gitignore +++ b/infrastructure/cdn-in-a-box/optional/grafana/trafficcontrol-scenes/.gitignore @@ -1,2 +1,20 @@ +# Licensed to the Apache Software Foundation (ASF) under one +# or more contributor license agreements. See the NOTICE file +# distributed with this work for additional information +# regarding copyright ownership. The ASF licenses this file +# to you under the Apache License, Version 2.0 (the +# "License"); you may not use this file except in compliance +# with the License. You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, +# software distributed under the License is distributed on an +# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY +# KIND, either express or implied. See the License for the +# specific language governing permissions and limitations +# under the License. +# + node_modules dist \ No newline at end of file diff --git a/infrastructure/cdn-in-a-box/optional/grafana/trafficcontrol-scenes/.prettierrc.js b/infrastructure/cdn-in-a-box/optional/grafana/trafficcontrol-scenes/.prettierrc.js index bf506f5ce7..20a8bb9783 100644 --- a/infrastructure/cdn-in-a-box/optional/grafana/trafficcontrol-scenes/.prettierrc.js +++ b/infrastructure/cdn-in-a-box/optional/grafana/trafficcontrol-scenes/.prettierrc.js @@ -1,3 +1,17 @@ +/* +* Licensed under the Apache License, Version 2.0 (the "License"); +* you may not use this file except in compliance with the License. +* You may obtain a copy of the License at +* +* http://www.apache.org/licenses/LICENSE-2.0 +* +* Unless required by applicable law or agreed to in writing, software +* distributed under the License is distributed on an "AS IS" BASIS, +* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +* See the License for the specific language governing permissions and +* limitations under the License. +*/ + /* * ⚠️⚠️⚠️ THIS FILE WAS SCAFFOLDED BY `@grafana/create-plugin`. DO NOT EDIT THIS FILE DIRECTLY. ⚠️⚠️⚠️ * diff --git a/infrastructure/cdn-in-a-box/optional/grafana/trafficcontrol-scenes/jest-setup.js b/infrastructure/cdn-in-a-box/optional/grafana/trafficcontrol-scenes/jest-setup.js index 35a700b732..67df3f46f2 100644 --- a/infrastructure/cdn-in-a-box/optional/grafana/trafficcontrol-scenes/jest-setup.js +++ b/infrastructure/cdn-in-a-box/optional/grafana/trafficcontrol-scenes/jest-setup.js @@ -1,2 +1,16 @@ +/* +* Licensed under the Apache License, Version 2.0 (the "License"); +* you may not use this file except in compliance with the License. +* You may obtain a copy of the License at +* +* http://www.apache.org/licenses/LICENSE-2.0 +* +* Unless required by applicable law or agreed to in writing, software +* distributed under the License is distributed on an "AS IS" BASIS, +* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +* See the License for the specific language governing permissions and +* limitations under the License. +*/ + // Jest setup provided by Grafana scaffolding import './.config/jest-setup'; diff --git a/infrastructure/cdn-in-a-box/optional/grafana/trafficcontrol-scenes/jest.config.js b/infrastructure/cdn-in-a-box/optional/grafana/trafficcontrol-scenes/jest.config.js index 79fd52a1b4..4d90504af5 100644 --- a/infrastructure/cdn-in-a-box/optional/grafana/trafficcontrol-scenes/jest.config.js +++ b/infrastructure/cdn-in-a-box/optional/grafana/trafficcontrol-scenes/jest.config.js @@ -1,3 +1,17 @@ +/* +* Licensed under the Apache License, Version 2.0 (the "License"); +* you may not use this file except in compliance with the License. +* You may obtain a copy of the License at +* +* http://www.apache.org/licenses/LICENSE-2.0 +* +* Unless required by applicable law or agreed to in writing, software +* distributed under the License is distributed on an "AS IS" BASIS, +* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +* See the License for the specific language governing permissions and +* limitations under the License. +*/ + // force timezone to UTC to allow tests to work regardless of local timezone // generally used by snapshots, but can affect specific tests process.env.TZ = 'UTC'; From 1a41cd0f50800d738cf1d13193cc636174782a1c Mon Sep 17 00:00:00 2001 From: The Anh Nguyen Date: Mon, 22 Jan 2024 14:52:24 +0700 Subject: [PATCH 08/23] update logo weasel --- .../trafficcontrol-scenes/src/img/logo.png | Bin 106800 -> 0 bytes .../trafficcontrol-scenes/src/img/logo.svg | 30 ++++++++++++++++++ .../trafficcontrol-scenes/src/plugin.json | 4 +-- 3 files changed, 32 insertions(+), 2 deletions(-) delete mode 100644 infrastructure/cdn-in-a-box/optional/grafana/trafficcontrol-scenes/src/img/logo.png create mode 100644 infrastructure/cdn-in-a-box/optional/grafana/trafficcontrol-scenes/src/img/logo.svg diff --git a/infrastructure/cdn-in-a-box/optional/grafana/trafficcontrol-scenes/src/img/logo.png b/infrastructure/cdn-in-a-box/optional/grafana/trafficcontrol-scenes/src/img/logo.png deleted file mode 100644 index 749fd7f8d4c41b63626872e2f87c8a2433973374..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 106800 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%0DO0AM#nH4S`7`S9w6Ee06H!zo%!a2ll#oLjwTk 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 + + + + Apache Traffic Control Logo + Logo with no text + + + + + + + + + \ No newline at end of file diff --git a/infrastructure/cdn-in-a-box/optional/grafana/trafficcontrol-scenes/src/plugin.json b/infrastructure/cdn-in-a-box/optional/grafana/trafficcontrol-scenes/src/plugin.json index 03c8567dec..8ce8c46b69 100644 --- a/infrastructure/cdn-in-a-box/optional/grafana/trafficcontrol-scenes/src/plugin.json +++ b/infrastructure/cdn-in-a-box/optional/grafana/trafficcontrol-scenes/src/plugin.json @@ -10,8 +10,8 @@ "name": "ntheanh201" }, "logos": { - "small": "img/logo.png", - "large": "img/logo.png" + "small": "img/logo.svg", + "large": "img/logo.svg" }, "screenshots": [], "version": "%VERSION%", From 1f3867f26abca324b7497f7239b68e0bd119899b Mon Sep 17 00:00:00 2001 From: The Anh Nguyen Date: Mon, 22 Jan 2024 15:47:22 +0700 Subject: [PATCH 09/23] update Grafana docs --- docs/source/admin/traffic_stats.rst | 32 +++-------------------------- 1 file changed, 3 insertions(+), 29 deletions(-) diff --git a/docs/source/admin/traffic_stats.rst b/docs/source/admin/traffic_stats.rst index 1593f94959..140dde7802 100644 --- a/docs/source/admin/traffic_stats.rst +++ b/docs/source/admin/traffic_stats.rst @@ -91,35 +91,9 @@ To easily create databases, retention policies, and continuous queries, run :pro Configuring Grafana ------------------- -In Traffic Portal the :menuselection:`Other --> Grafana` menu item can be configured to display Grafana graphs using InfluxDB data (when not configured, this menu item will not appear). In order for this to work correctly, you will need two things: - -#. A :term:`Parameter` with the graph URL (more information below) -#. The graphs created in Grafana. See below for how to create some simple graphs in Grafana. These instructions assume that InfluxDB has been configured and that data has been written to it. If this is not true, you will not see any graphs. - -To create a graph in Grafana, you can follow these basic steps: - -#. Login to Grafana as an administrative user -#. Click on :menuselection:`Data Sources --> Add New` -#. Enter the necessary information to configure your data source -#. Click on :menuselection:`Home --> New` at the bottom -#. Click on :menuselection:`"Collapsed Menu Icon" Button --> Add Panel --> Graph` -#. Where it says :guilabel:`No Title (click here)` click and choose edit -#. Choose your data source at the bottom -#. You can have Grafana help you create a query, or you can create your own. - - .. code-block:: postgresql - :caption: Sample Query - - SELECT sum(value)*1000 FROM "monthly"."bandwidth.cdn.1min" GROUP BY time(60s), cdn; - -#. Once you have the graph the way you want it, click the :guilabel:`Save Dashboard` button at the top -#. You should now have a new saved graph - -In order for Traffic Portal users to see Grafana graphs, Grafana will need to allow anonymous access. Information on how to configure anonymous access can be found on the configuration page of the `Grafana Website `_. - -Traffic Portal uses custom dashboards to display information about individual :term:`Delivery Services` or :term:`Cache Groups`. In order for the custom graphs to display correctly, the Javascript files in :atc-file:`traffic_stats/grafana/` need to be in the :file:`/usr/share/grafana/public/dashboards/` directory on the Grafana server. If your Grafana server is the same as your Traffic Stats server the RPM install process will take care of putting the files in place. If your Grafana server is different from your Traffic Stats server, you will need to manually copy the files to the correct directory. - -.. seealso:: More information on custom scripted graphs can be found in the `scripted dashboards `_ section of the Grafana documentation. +- Traffic Control using Scenes for building dynamic Grafana dashboards, the Scenes app is built under: :file:`/var/lib/grafana/plugins/trafficcontrol-scenes-app` +- To see Traffic Control dashboards, go to: :file:`https://grafanaHost/a/trafficcontrol-scenes-app` +.. seealso:: More information on Grafana Scenes can be found in `Grafana Scenes introduction `_ Configuring Traffic Portal for Traffic Stats -------------------------------------------- From 48cfb641a17809d7ac1c47922299298022009f5c Mon Sep 17 00:00:00 2001 From: The Anh Nguyen Date: Fri, 26 Jan 2024 18:00:48 +0700 Subject: [PATCH 10/23] [WIP] update eslint --- .../optional/grafana/app.yaml.template | 2 +- .../optional/grafana/datasources.yml.template | 2 +- .../trafficcontrol-scenes/.editorconfig | 34 + .../grafana/trafficcontrol-scenes/.eslintrc | 39 - .../trafficcontrol-scenes/.eslintrc.json | 465 + .../grafana/trafficcontrol-scenes/.gitignore | 39 +- .../trafficcontrol-scenes/.prettierrc.js | 30 - .../trafficcontrol-scenes/CHANGELOG.md | 5 - .../grafana/trafficcontrol-scenes/LICENSE | 201 - .../trafficcontrol-scenes/package.json | 2 + .../trafficcontrol-scenes/src/README.md | 70 - .../src/pages/CacheGroup/CacheGroup.tsx | 34 +- .../src/pages/Server/panels/netstat.tsx | 41 +- .../src/pages/Server/scene.tsx | 200 +- .../trafficcontrol-scenes/tsconfig.json | 2 +- .../webpack/webpack.config.ts | 431 +- .../grafana/trafficcontrol-scenes/yarn.lock | 10329 ++++++++++++++++ 17 files changed, 11228 insertions(+), 698 deletions(-) create mode 100644 infrastructure/cdn-in-a-box/optional/grafana/trafficcontrol-scenes/.editorconfig delete mode 100644 infrastructure/cdn-in-a-box/optional/grafana/trafficcontrol-scenes/.eslintrc create mode 100644 infrastructure/cdn-in-a-box/optional/grafana/trafficcontrol-scenes/.eslintrc.json delete mode 100644 infrastructure/cdn-in-a-box/optional/grafana/trafficcontrol-scenes/.prettierrc.js delete mode 100644 infrastructure/cdn-in-a-box/optional/grafana/trafficcontrol-scenes/CHANGELOG.md delete mode 100644 infrastructure/cdn-in-a-box/optional/grafana/trafficcontrol-scenes/LICENSE delete mode 100644 infrastructure/cdn-in-a-box/optional/grafana/trafficcontrol-scenes/src/README.md create mode 100644 infrastructure/cdn-in-a-box/optional/grafana/trafficcontrol-scenes/yarn.lock diff --git a/infrastructure/cdn-in-a-box/optional/grafana/app.yaml.template b/infrastructure/cdn-in-a-box/optional/grafana/app.yaml.template index 7fc21f1846..ef238523b1 100644 --- a/infrastructure/cdn-in-a-box/optional/grafana/app.yaml.template +++ b/infrastructure/cdn-in-a-box/optional/grafana/app.yaml.template @@ -27,4 +27,4 @@ apps: disabled: false jsonData: apiUrl: https://trafficcontrol.apache.org/ - isApiKeySet: true \ No newline at end of file + isApiKeySet: true diff --git a/infrastructure/cdn-in-a-box/optional/grafana/datasources.yml.template b/infrastructure/cdn-in-a-box/optional/grafana/datasources.yml.template index 946415dc75..d75448fe8a 100644 --- a/infrastructure/cdn-in-a-box/optional/grafana/datasources.yml.template +++ b/infrastructure/cdn-in-a-box/optional/grafana/datasources.yml.template @@ -61,4 +61,4 @@ datasources: user: $INFLUXDB_ADMIN_USER database: telegraf basicAuth: false - isDefault: false \ No newline at end of file + isDefault: false diff --git a/infrastructure/cdn-in-a-box/optional/grafana/trafficcontrol-scenes/.editorconfig b/infrastructure/cdn-in-a-box/optional/grafana/trafficcontrol-scenes/.editorconfig new file mode 100644 index 0000000000..947e3cf3ce --- /dev/null +++ b/infrastructure/cdn-in-a-box/optional/grafana/trafficcontrol-scenes/.editorconfig @@ -0,0 +1,34 @@ +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. + +# Editor configuration, see https://editorconfig.org +root = true + +[*] +charset = utf-8 +indent_style = tab +indent_size = 4 +insert_final_newline = true +trim_trailing_whitespace = true + +[*.ts] +quote_type = double + +[*.html] +indent_size = 2 + +[*.json] +indent_size = 2 + +[*.md] +max_line_length = off +trim_trailing_whitespace = false diff --git a/infrastructure/cdn-in-a-box/optional/grafana/trafficcontrol-scenes/.eslintrc b/infrastructure/cdn-in-a-box/optional/grafana/trafficcontrol-scenes/.eslintrc deleted file mode 100644 index cc48016ec8..0000000000 --- a/infrastructure/cdn-in-a-box/optional/grafana/trafficcontrol-scenes/.eslintrc +++ /dev/null @@ -1,39 +0,0 @@ -/* -* Licensed under the Apache License, Version 2.0 (the "License"); -* you may not use this file except in compliance with the License. -* You may obtain a copy of the License at -* -* http://www.apache.org/licenses/LICENSE-2.0 -* -* Unless required by applicable law or agreed to in writing, software -* distributed under the License is distributed on an "AS IS" BASIS, -* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -* See the License for the specific language governing permissions and -* limitations under the License. -*/ - -/* - * ⚠️⚠️⚠️ THIS FILE WAS SCAFFOLDED BY `@grafana/create-plugin`. DO NOT EDIT THIS FILE DIRECTLY. ⚠️⚠️⚠️ - * - * In order to extend the configuration follow the steps in - * https://grafana.com/developers/plugin-tools/create-a-plugin/extend-a-plugin/extend-configurations#extend-the-eslint-config - */ -{ - "extends": ["@grafana/eslint-config"], - "root": true, - "rules": { - "react/prop-types": "off" - }, - "overrides": [ - { - "plugins": ["deprecation"], - "files": ["src/**/*.{ts,tsx}"], - "rules": { - "deprecation/deprecation": "warn" - }, - "parserOptions": { - "project": "./tsconfig.json" - } - } - ] -} diff --git a/infrastructure/cdn-in-a-box/optional/grafana/trafficcontrol-scenes/.eslintrc.json b/infrastructure/cdn-in-a-box/optional/grafana/trafficcontrol-scenes/.eslintrc.json new file mode 100644 index 0000000000..f05e67b3ae --- /dev/null +++ b/infrastructure/cdn-in-a-box/optional/grafana/trafficcontrol-scenes/.eslintrc.json @@ -0,0 +1,465 @@ +/* +* Licensed under the Apache License, Version 2.0 (the "License"); +* you may not use this file except in compliance with the License. +* You may obtain a copy of the License at +* +* http://www.apache.org/licenses/LICENSE-2.0 +* +* Unless required by applicable law or agreed to in writing, software +* distributed under the License is distributed on an "AS IS" BASIS, +* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +* See the License for the specific language governing permissions and +* limitations under the License. +*/ +{ + "root": true, + "ignorePatterns": [ + "projects/**/*" + ], + "overrides": [ + { + "files": [ + "*.ts", + "*.tsx" + ], + "rules": { + "@typescript-eslint/explicit-function-return-type": "error" + } + }, + { + "files": [ + "*.ts", + "*.tsx", + "*.js" + ], + "parserOptions": { + "project": [ + "tsconfig.json" + ], + "createDefaultProgram": true + }, + "extends": [ + "@grafana/eslint-config" + ], + "plugins": [ + "react", + "@typescript-eslint", + "eslint-plugin-import", + "eslint-plugin-jsdoc", + "eslint-plugin-prefer-arrow" + ], + "rules": { + "@typescript-eslint/interface-name-prefix": "off", + "@typescript-eslint/adjacent-overload-signatures": "error", + "@typescript-eslint/no-namespace": "error", + "@typescript-eslint/no-parameter-properties": "off", + "@typescript-eslint/prefer-namespace-keyword": "error", + "@typescript-eslint/unified-signatures": "error", + "complexity": "off", + "constructor-super": "error", + "no-mixed-spaces-and-tabs": "error", + "eqeqeq": [ + "error", + "smart" + ], + "guard-for-in": "error", + "id-blacklist": [ + "error", + "any", + "Number", + "number", + "String", + "string", + "Boolean", + "boolean", + "Undefined", + "undefined" + ], + "id-match": "error", + "import/no-deprecated": "warn", +// "jsdoc/newline-after-description": "error", + "max-classes-per-file": "off", + "no-caller": "error", + "no-cond-assign": "error", + "no-console": [ + "error", + { + "allow": [ + "trace", + "dir", + "timeLog", + "assert", + "clear", + "count", + "countReset", + "group", + "groupEnd", + "table", + "groupCollapsed", + "Console", + "profile", + "profileEnd", + "timeStamp", + "context" + ] + } + ], + "no-debugger": "error", + "no-eval": "error", + "no-new-wrappers": "error", + "no-throw-literal": "error", + "no-undef-init": "error", + "no-underscore-dangle": "error", + "no-unsafe-finally": "error", + "no-unused-labels": "error", + "no-var": "error", + "object-shorthand": "error", + "one-var": [ + "error", + "never" + ], + "prefer-const": "error", + "radix": "error", + "use-isnan": "error", + "valid-typeof": "off", + "arrow-body-style": "error", + "comma-dangle": "off", + "curly": "error", + "eol-last": "error", + "jsdoc/check-alignment": "error", + "max-len": [ + "error", + { + "code": 140 + } + ], + "new-parens": "error", + "no-trailing-spaces": "error", + "quote-props": [ + "error", + "as-needed" + ], + "space-before-function-paren": [ + "error", + { + "anonymous": "never", + "asyncArrow": "always", + "named": "never" + } + ], + "quotes": "off", + "@typescript-eslint/type-annotation-spacing": "error", + "@typescript-eslint/array-type": "off", + "@typescript-eslint/await-thenable": "error", + "@typescript-eslint/ban-types": [ + "error", + { + "extendDefaults": false, + "types": { + "Object": { + "message": "Avoid using the `Object` type. Did you mean `object`?" + }, + "Function": { + "message": "Avoid using the `Function` type. Prefer a specific function type, like `() => void`." + }, + "Boolean": { + "message": "Avoid using the `Boolean` type. Did you mean `boolean`?" + }, + "Number": { + "message": "Avoid using the `Number` type. Did you mean `number`?" + }, + "String": { + "message": "Avoid using the `String` type. Did you mean `string`?" + }, + "Symbol": { + "message": "Avoid using the `Symbol` type. Did you mean `symbol`?" + } + } + } + ], + "@typescript-eslint/consistent-type-assertions": "error", + "@typescript-eslint/consistent-type-definitions": "error", + "@typescript-eslint/dot-notation": "error", + "@typescript-eslint/explicit-member-accessibility": [ + "error", + { + "accessibility": "explicit", + "overrides": { + "constructors": "off" + } + } + ], + "@typescript-eslint/explicit-module-boundary-types": "error", + "@typescript-eslint/indent": [ + "error", + "tab" + ], + "@typescript-eslint/member-delimiter-style": [ + "error", + { + "multiline": { + "delimiter": "semi", + "requireLast": true + }, + "singleline": { + "delimiter": "semi", + "requireLast": false + } + } + ], + "@typescript-eslint/member-ordering": "off", + "@typescript-eslint/naming-convention": [ + "error", + { + "selector": "enumMember", + "format": [ + "UPPER_CASE" + ] + }, + { + "selector": "property", + "modifiers": [ + "static", + "readonly" + ], + "format": [ + "UPPER_CASE" + ] + }, + { + "selector": "default", + "format": [ + "camelCase" + ], + "leadingUnderscore": "allow", + "trailingUnderscore": "allow" + }, + { + "selector": "variable", + "format": [ + "camelCase", + "UPPER_CASE" + ], + "leadingUnderscore": "allow", + "trailingUnderscore": "allow" + }, + { + "selector": "typeLike", + "format": [ + "PascalCase" + ] + } + ], + "@typescript-eslint/no-empty-function": "error", + "@typescript-eslint/no-empty-interface": "error", + "@typescript-eslint/no-explicit-any": "error", + "@typescript-eslint/no-extraneous-class": [ + "error", + { + "allowWithDecorator": true + } + ], + "@typescript-eslint/no-duplicate-imports": [ + "error" + ], + "@typescript-eslint/no-dynamic-delete": "error", + "@typescript-eslint/no-floating-promises": "off", + "@typescript-eslint/no-inferrable-types": [ + "warn", + { + "ignoreParameters": true + } + ], + "@typescript-eslint/no-invalid-this": [ + "error", + { + "capIsConstructor": false + } + ], + "@typescript-eslint/no-invalid-void-type": "error", + "@typescript-eslint/no-misused-new": "error", + "@typescript-eslint/no-misused-promises": "error", + "@typescript-eslint/no-non-null-assertion": "error", + "@typescript-eslint/no-redeclare": "error", + "@typescript-eslint/no-require-imports": "error", + "@typescript-eslint/no-shadow": "error", + "@typescript-eslint/no-this-alias": "error", + "@typescript-eslint/no-unnecessary-boolean-literal-compare": "error", + "@typescript-eslint/no-unnecessary-qualifier": "error", + "@typescript-eslint/no-unnecessary-type-arguments": "error", + "@typescript-eslint/no-unnecessary-type-assertion": "error", + "@typescript-eslint/no-unused-expressions": "error", + "@typescript-eslint/no-unused-vars": "error", + "@typescript-eslint/no-use-before-define": "error", + "@typescript-eslint/no-var-requires": "off", + "@typescript-eslint/prefer-for-of": "error", + "@typescript-eslint/prefer-function-type": "error", + "@typescript-eslint/prefer-readonly": "error", + "@typescript-eslint/promise-function-async": "error", + "@typescript-eslint/quotes": [ + "error", + "double", + { + "avoidEscape": true + } + ], + "@typescript-eslint/semi": [ + "error" + ], + "@typescript-eslint/typedef": "off", + "jsdoc/no-types": "error", + "jsdoc/require-description": "error", + "jsdoc/require-jsdoc": [ + "error", + { + "contexts": [ + "ClassProperty", + "TSInterfaceDeclaration", + "TSTypeAliasDeclaration", + "TSEnumDeclaration", + "TSEnumMember", + "TSAbstractClassProperty" + ], + "require": { + "ClassDeclaration": true, + "MethodDefinition": true + }, + "checkConstructors": false, + "checkGetters": true, + "checkSetters": false, + "enableFixer": false + } + ], + "@typescript-eslint/unbound-method": "error", + "@typescript-eslint/restrict-plus-operands": "error", + "@typescript-eslint/triple-slash-reference": "error", + "arrow-parens": [ + "off", + "always" + ], + "brace-style": [ + "error", + "1tbs" + ], + "class-methods-use-this": "off", + "import/export": "error", + "import/first": "error", + "import/newline-after-import": "error", + "import/no-cycle": [ + "error", + { + "ignoreExternal": true + } + ], + "import/no-self-import": "error", + "import/no-useless-path-segments": [ + "error", + { + "commonjs": true, + "noUselessIndex": true + } + ], + "import/order": [ + "error", + { + "alphabetize": { + "order": "asc" + }, + "groups": [ + "builtin", + "external", + "internal", + "parent", + "sibling" + ], + "pathGroups": [ + { + "group": "builtin", + "pattern": "zone.js/**/*", + "position": "before" + }, + { + "group": "external", + "pattern": "(@(angular|fortawesome)|chart.js|rxjs)*/**/*", + "position": "before" + }, + { + "group": "internal", + "pattern": "src/**/*" + } + ], + "pathGroupsExcludedImportTypes": [ + "zone.js/**/*", + "@fortawesome*/**/*", + "chart.js", + "rxjs" + ], + "newlines-between": "always", + "warnOnUnassignedImports": true + } + ], + "linebreak-style": [ + "error", + "unix" + ], + "no-bitwise": "off", + "no-duplicate-case": "error", + "no-duplicate-imports": "off", + "no-else-return": "error", + "no-empty": "error", + "no-extra-bind": "error", + "no-fallthrough": "off", + "no-invalid-this": "off", + "no-multiple-empty-lines": [ + "error", + { + "max": 1, + "maxBOF": 0, + "maxEOF": 0 + } + ], + "no-new-func": "error", + "no-redeclare": "off", + "no-restricted-imports": [ + "error", + { + "patterns": [ + { + "message": "Going up more than one directory for an import is overly complex; use an import path that starts with 'src/' instead", + "group": [ + "../../*" + ] + } + ] + } + ], + "no-return-await": "error", + "no-sparse-arrays": "error", + "no-template-curly-in-string": "error", + "no-shadow": "off", + "prefer-arrow/prefer-arrow-functions": "off", + "prefer-object-spread": "error", + "prefer-template": "error", + "sort-keys": [ + "error", + "asc", + { + "natural": true + } + ], + "valid-jsdoc": [ + "error", + { + "matchDescription": ".+", + "requireReturn": false, + "requireReturnType": false, + "requireParamType": false, + "prefer": { + "return": "returns" + } + } + ] + } + } + ] +} diff --git a/infrastructure/cdn-in-a-box/optional/grafana/trafficcontrol-scenes/.gitignore b/infrastructure/cdn-in-a-box/optional/grafana/trafficcontrol-scenes/.gitignore index 4ee59325a5..9ba7cba91b 100644 --- a/infrastructure/cdn-in-a-box/optional/grafana/trafficcontrol-scenes/.gitignore +++ b/infrastructure/cdn-in-a-box/optional/grafana/trafficcontrol-scenes/.gitignore @@ -16,5 +16,40 @@ # under the License. # -node_modules -dist \ No newline at end of file +# dependencies +/node_modules + +# compiled output +/dist + +# IDEs and editors +/.idea +.project +.classpath +.c9/ +*.launch +.settings/ +*.sublime-workspace + +# IDE - VSCode +.vscode/* +!.vscode/settings.json +!.vscode/tasks.json +!.vscode/launch.json +!.vscode/extensions.json +.history/* + +# misc +.sass-cache/ +/connect.lock +/coverage +/TESTS-*.xml +/libpeerconnection.log +npm-debug.log +yarn-error.log +testem.log +/typings + +# System Files +.DS_Store +Thumbs.db diff --git a/infrastructure/cdn-in-a-box/optional/grafana/trafficcontrol-scenes/.prettierrc.js b/infrastructure/cdn-in-a-box/optional/grafana/trafficcontrol-scenes/.prettierrc.js deleted file mode 100644 index 20a8bb9783..0000000000 --- a/infrastructure/cdn-in-a-box/optional/grafana/trafficcontrol-scenes/.prettierrc.js +++ /dev/null @@ -1,30 +0,0 @@ -/* -* Licensed under the Apache License, Version 2.0 (the "License"); -* you may not use this file except in compliance with the License. -* You may obtain a copy of the License at -* -* http://www.apache.org/licenses/LICENSE-2.0 -* -* Unless required by applicable law or agreed to in writing, software -* distributed under the License is distributed on an "AS IS" BASIS, -* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -* See the License for the specific language governing permissions and -* limitations under the License. -*/ - -/* - * ⚠️⚠️⚠️ THIS FILE WAS SCAFFOLDED BY `@grafana/create-plugin`. DO NOT EDIT THIS FILE DIRECTLY. ⚠️⚠️⚠️ - * - * In order to extend the configuration follow the steps in .config/README.md - */ - -module.exports = { - endOfLine: 'auto', - printWidth: 120, - trailingComma: 'es5', - semi: true, - jsxSingleQuote: false, - singleQuote: true, - useTabs: false, - tabWidth: 2, -}; diff --git a/infrastructure/cdn-in-a-box/optional/grafana/trafficcontrol-scenes/CHANGELOG.md b/infrastructure/cdn-in-a-box/optional/grafana/trafficcontrol-scenes/CHANGELOG.md deleted file mode 100644 index 9d63e78d60..0000000000 --- a/infrastructure/cdn-in-a-box/optional/grafana/trafficcontrol-scenes/CHANGELOG.md +++ /dev/null @@ -1,5 +0,0 @@ -# Changelog - -## 1.0.0 (Unreleased) - -Initial release. diff --git a/infrastructure/cdn-in-a-box/optional/grafana/trafficcontrol-scenes/LICENSE b/infrastructure/cdn-in-a-box/optional/grafana/trafficcontrol-scenes/LICENSE deleted file mode 100644 index 9c8f3ea087..0000000000 --- a/infrastructure/cdn-in-a-box/optional/grafana/trafficcontrol-scenes/LICENSE +++ /dev/null @@ -1,201 +0,0 @@ - Apache License - Version 2.0, January 2004 - http://www.apache.org/licenses/ - - TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION - - 1. Definitions. - - "License" shall mean the terms and conditions for use, reproduction, - and distribution as defined by Sections 1 through 9 of this document. - - "Licensor" shall mean the copyright owner or entity authorized by - the copyright owner that is granting the License. - - "Legal Entity" shall mean the union of the acting entity and all - other entities that control, are controlled by, or are under common - control with that entity. For the purposes of this definition, - "control" means (i) the power, direct or indirect, to cause the - direction or management of such entity, whether by contract or - otherwise, or (ii) ownership of fifty percent (50%) or more of the - outstanding shares, or (iii) beneficial ownership of such entity. - - "You" (or "Your") shall mean an individual or Legal Entity - exercising permissions granted by this License. - - "Source" form shall mean the preferred form for making modifications, - including but not limited to software source code, documentation - source, and configuration files. - - "Object" form shall mean any form resulting from mechanical - transformation or translation of a Source form, including but - not limited to compiled object code, generated documentation, - and conversions to other media types. - - "Work" shall mean the work of authorship, whether in Source or - Object form, made available under the License, as indicated by a - copyright notice that is included in or attached to the work - (an example is provided in the Appendix below). - - "Derivative Works" shall mean any work, whether in Source or Object - form, that is based on (or derived from) the Work and for which the - editorial revisions, annotations, elaborations, or other modifications - represent, as a whole, an original work of authorship. For the purposes - of this License, Derivative Works shall not include works that remain - separable from, or merely link (or bind by name) to the interfaces of, - the Work and Derivative Works thereof. - - "Contribution" shall mean any work of authorship, including - the original version of the Work and any modifications or additions - to that Work or Derivative Works thereof, that is intentionally - submitted to Licensor for inclusion in the Work by the copyright owner - or by an individual or Legal Entity authorized to submit on behalf of - the copyright owner. For the purposes of this definition, "submitted" - means any form of electronic, verbal, or written communication sent - to the Licensor or its representatives, including but not limited to - communication on electronic mailing lists, source code control systems, - and issue tracking systems that are managed by, or on behalf of, the - Licensor for the purpose of discussing and improving the Work, but - excluding communication that is conspicuously marked or otherwise - designated in writing by the copyright owner as "Not a Contribution." - - "Contributor" shall mean Licensor and any individual or Legal Entity - on behalf of whom a Contribution has been received by Licensor and - subsequently incorporated within the Work. - - 2. Grant of Copyright License. Subject to the terms and conditions of - this License, each Contributor hereby grants to You a perpetual, - worldwide, non-exclusive, no-charge, royalty-free, irrevocable - copyright license to reproduce, prepare Derivative Works of, - publicly display, publicly perform, sublicense, and distribute the - Work and such Derivative Works in Source or Object form. - - 3. Grant of Patent License. Subject to the terms and conditions of - this License, each Contributor hereby grants to You a perpetual, - worldwide, non-exclusive, no-charge, royalty-free, irrevocable - (except as stated in this section) patent license to make, have made, - use, offer to sell, sell, import, and otherwise transfer the Work, - where such license applies only to those patent claims licensable - by such Contributor that are necessarily infringed by their - Contribution(s) alone or by combination of their Contribution(s) - with the Work to which such Contribution(s) was submitted. If You - institute patent litigation against any entity (including a - cross-claim or counterclaim in a lawsuit) alleging that the Work - or a Contribution incorporated within the Work constitutes direct - or contributory patent infringement, then any patent licenses - granted to You under this License for that Work shall terminate - as of the date such litigation is filed. - - 4. Redistribution. You may reproduce and distribute copies of the - Work or Derivative Works thereof in any medium, with or without - modifications, and in Source or Object form, provided that You - meet the following conditions: - - (a) You must give any other recipients of the Work or - Derivative Works a copy of this License; and - - (b) You must cause any modified files to carry prominent notices - stating that You changed the files; and - - (c) You must retain, in the Source form of any Derivative Works - that You distribute, all copyright, patent, trademark, and - attribution notices from the Source form of the Work, - excluding those notices that do not pertain to any part of - the Derivative Works; and - - (d) If the Work includes a "NOTICE" text file as part of its - distribution, then any Derivative Works that You distribute must - include a readable copy of the attribution notices contained - within such NOTICE file, excluding those notices that do not - pertain to any part of the Derivative Works, in at least one - of the following places: within a NOTICE text file distributed - as part of the Derivative Works; within the Source form or - documentation, if provided along with the Derivative Works; or, - within a display generated by the Derivative Works, if and - wherever such third-party notices normally appear. The contents - of the NOTICE file are for informational purposes only and - do not modify the License. You may add Your own attribution - notices within Derivative Works that You distribute, alongside - or as an addendum to the NOTICE text from the Work, provided - that such additional attribution notices cannot be construed - as modifying the License. - - You may add Your own copyright statement to Your modifications and - may provide additional or different license terms and conditions - for use, reproduction, or distribution of Your modifications, or - for any such Derivative Works as a whole, provided Your use, - reproduction, and distribution of the Work otherwise complies with - the conditions stated in this License. - - 5. Submission of Contributions. Unless You explicitly state otherwise, - any Contribution intentionally submitted for inclusion in the Work - by You to the Licensor shall be under the terms and conditions of - this License, without any additional terms or conditions. - Notwithstanding the above, nothing herein shall supersede or modify - the terms of any separate license agreement you may have executed - with Licensor regarding such Contributions. - - 6. Trademarks. This License does not grant permission to use the trade - names, trademarks, service marks, or product names of the Licensor, - except as required for reasonable and customary use in describing the - origin of the Work and reproducing the content of the NOTICE file. - - 7. Disclaimer of Warranty. Unless required by applicable law or - agreed to in writing, Licensor provides the Work (and each - Contributor provides its Contributions) on an "AS IS" BASIS, - WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or - implied, including, without limitation, any warranties or conditions - of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A - PARTICULAR PURPOSE. You are solely responsible for determining the - appropriateness of using or redistributing the Work and assume any - risks associated with Your exercise of permissions under this License. - - 8. Limitation of Liability. In no event and under no legal theory, - whether in tort (including negligence), contract, or otherwise, - unless required by applicable law (such as deliberate and grossly - negligent acts) or agreed to in writing, shall any Contributor be - liable to You for damages, including any direct, indirect, special, - incidental, or consequential damages of any character arising as a - result of this License or out of the use or inability to use the - Work (including but not limited to damages for loss of goodwill, - work stoppage, computer failure or malfunction, or any and all - other commercial damages or losses), even if such Contributor - has been advised of the possibility of such damages. - - 9. Accepting Warranty or Additional Liability. While redistributing - the Work or Derivative Works thereof, You may choose to offer, - and charge a fee for, acceptance of support, warranty, indemnity, - or other liability obligations and/or rights consistent with this - License. However, in accepting such obligations, You may act only - on Your own behalf and on Your sole responsibility, not on behalf - of any other Contributor, and only if You agree to indemnify, - defend, and hold each Contributor harmless for any liability - incurred by, or claims asserted against, such Contributor by reason - of your accepting any such warranty or additional liability. - - END OF TERMS AND CONDITIONS - - APPENDIX: How to apply the Apache License to your work. - - To apply the Apache License to your work, attach the following - boilerplate notice, with the fields enclosed by brackets "{}" - replaced with your own identifying information. (Don't include - the brackets!) The text should be enclosed in the appropriate - comment syntax for the file format. We also recommend that a - file or class name and description of purpose be included on the - same "printed page" as the copyright notice for easier - identification within third-party archives. - - Copyright {yyyy} {name of copyright owner} - - Licensed under the Apache License, Version 2.0 (the "License"); - you may not use this file except in compliance with the License. - You may obtain a copy of the License at - - http://www.apache.org/licenses/LICENSE-2.0 - - Unless required by applicable law or agreed to in writing, software - distributed under the License is distributed on an "AS IS" BASIS, - WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - See the License for the specific language governing permissions and - limitations under the License. \ No newline at end of file diff --git a/infrastructure/cdn-in-a-box/optional/grafana/trafficcontrol-scenes/package.json b/infrastructure/cdn-in-a-box/optional/grafana/trafficcontrol-scenes/package.json index f873f1e50a..0918bdafe4 100644 --- a/infrastructure/cdn-in-a-box/optional/grafana/trafficcontrol-scenes/package.json +++ b/infrastructure/cdn-in-a-box/optional/grafana/trafficcontrol-scenes/package.json @@ -36,6 +36,8 @@ "copy-webpack-plugin": "^11.0.0", "css-loader": "^6.7.3", "eslint-plugin-deprecation": "^2.0.0", + "eslint-plugin-import": "^2.29.1", + "eslint-plugin-prefer-arrow": "^1.2.3", "eslint-webpack-plugin": "^4.0.1", "fork-ts-checker-webpack-plugin": "^8.0.0", "glob": "^10.2.7", diff --git a/infrastructure/cdn-in-a-box/optional/grafana/trafficcontrol-scenes/src/README.md b/infrastructure/cdn-in-a-box/optional/grafana/trafficcontrol-scenes/src/README.md deleted file mode 100644 index 970fc6f8b0..0000000000 --- a/infrastructure/cdn-in-a-box/optional/grafana/trafficcontrol-scenes/src/README.md +++ /dev/null @@ -1,70 +0,0 @@ - - - - -# Grafana Scenes Playground - -Playground - - diff --git a/infrastructure/cdn-in-a-box/optional/grafana/trafficcontrol-scenes/src/pages/CacheGroup/CacheGroup.tsx b/infrastructure/cdn-in-a-box/optional/grafana/trafficcontrol-scenes/src/pages/CacheGroup/CacheGroup.tsx index 09e5f2ba5c..916aca00cb 100644 --- a/infrastructure/cdn-in-a-box/optional/grafana/trafficcontrol-scenes/src/pages/CacheGroup/CacheGroup.tsx +++ b/infrastructure/cdn-in-a-box/optional/grafana/trafficcontrol-scenes/src/pages/CacheGroup/CacheGroup.tsx @@ -17,26 +17,26 @@ * under the License. */ -import React, { useMemo } from 'react'; -import { SceneApp, SceneAppPage } from '@grafana/scenes'; -import { ROUTES } from '../../constants'; -import { prefixRoute } from '../../utils/utils.routing'; -import { getCacheGroupScene } from './scene'; +import React, {useMemo} from 'react'; +import {SceneApp, SceneAppPage} from '@grafana/scenes'; +import {ROUTES} from '../../constants'; +import {prefixRoute} from '../../utils/utils.routing'; +import {getCacheGroupScene} from './scene'; const getScene = () => - new SceneApp({ - pages: [ - new SceneAppPage({ - title: 'Cache Groups', - url: prefixRoute(`${ROUTES.CacheGroup}`), - hideFromBreadcrumbs: true, - getScene: getCacheGroupScene, - }), - ], - }); + new SceneApp({ + pages: [ + new SceneAppPage({ + title: 'Cache Groups', + url: prefixRoute(`${ROUTES.CacheGroup}`), + hideFromBreadcrumbs: true, + getScene: getCacheGroupScene, + }), + ], + }); export const CacheGroupPage = () => { - const scene = useMemo(() => getScene(), []); + const scene = useMemo(() => getScene(), []); - return ; + return ; }; diff --git a/infrastructure/cdn-in-a-box/optional/grafana/trafficcontrol-scenes/src/pages/Server/panels/netstat.tsx b/infrastructure/cdn-in-a-box/optional/grafana/trafficcontrol-scenes/src/pages/Server/panels/netstat.tsx index 307dc02fca..86da39e49d 100644 --- a/infrastructure/cdn-in-a-box/optional/grafana/trafficcontrol-scenes/src/pages/Server/panels/netstat.tsx +++ b/infrastructure/cdn-in-a-box/optional/grafana/trafficcontrol-scenes/src/pages/Server/panels/netstat.tsx @@ -17,27 +17,28 @@ * under the License. */ -import { PanelBuilders, SceneQueryRunner } from '@grafana/scenes'; -import { INFLUXDB_DATASOURCES_REF } from '../../../constants'; +import { PanelBuilders, SceneObject, SceneQueryRunner } from "@grafana/scenes"; -export const getNetstatPanel = () => { - const defaultQuery = { - refId: 'A', - query: `SELECT mean("tcp_close") AS "tcp_close", mean("tcp_close_wait") AS "tcp_close_wait", mean("tcp_established") AS "tcp_established", mean("tcp_time_wait") AS "tcp_time_wait", mean("tcp_closing") AS "tcp_closing", mean("tcp_fin_wait1") AS "tcp_fin_wait1", mean("tcp_fin_wait2") AS "tcp_fin_wait2", mean("tcp_last_ack") AS "tcp_last_ack", mean("tcp_syn_recv") AS "tcp_syn_recv", mean("tcp_syn_sent") AS "tcp_syn_sent" FROM "netstat" WHERE host='$hostname' AND $timeFilter GROUP BY time($interval) fill(null)`, - rawQuery: true, - resultFormat: 'time_series', - alias: '$col', - }; +import { INFLUXDB_DATASOURCES_REF } from "../../../constants"; - const qr = new SceneQueryRunner({ - datasource: INFLUXDB_DATASOURCES_REF.TELEGRAF, - queries: [defaultQuery], - }); +export const getNetstatPanel = (): SceneObject => { + const defaultQuery = { + alias: "$col", + refId: "A", + query: `SELECT mean("tcp_close") AS "tcp_close", mean("tcp_close_wait") AS "tcp_close_wait", mean("tcp_established") AS "tcp_established", mean("tcp_time_wait") AS "tcp_time_wait", mean("tcp_closing") AS "tcp_closing", mean("tcp_fin_wait1") AS "tcp_fin_wait1", mean("tcp_fin_wait2") AS "tcp_fin_wait2", mean("tcp_last_ack") AS "tcp_last_ack", mean("tcp_syn_recv") AS "tcp_syn_recv", mean("tcp_syn_sent") AS "tcp_syn_sent" FROM "netstat" WHERE host='$hostname' AND $timeFilter GROUP BY time($interval) fill(null)`, + rawQuery: true, + resultFormat: "time_series", + }; - return PanelBuilders.timeseries() - .setTitle('Netstat') - .setData(qr) - .setCustomFieldConfig('spanNulls', true) - .setCustomFieldConfig('fillOpacity', 20) - .build(); + const qr = new SceneQueryRunner({ + datasource: INFLUXDB_DATASOURCES_REF.TELEGRAF, + queries: [defaultQuery], + }); + + return PanelBuilders.timeseries() + .setTitle("Netstat") + .setData(qr) + .setCustomFieldConfig("spanNulls", true) + .setCustomFieldConfig("fillOpacity", 20) + .build(); }; diff --git a/infrastructure/cdn-in-a-box/optional/grafana/trafficcontrol-scenes/src/pages/Server/scene.tsx b/infrastructure/cdn-in-a-box/optional/grafana/trafficcontrol-scenes/src/pages/Server/scene.tsx index 8674fbf59d..f7dd0bc2dc 100644 --- a/infrastructure/cdn-in-a-box/optional/grafana/trafficcontrol-scenes/src/pages/Server/scene.tsx +++ b/infrastructure/cdn-in-a-box/optional/grafana/trafficcontrol-scenes/src/pages/Server/scene.tsx @@ -18,109 +18,109 @@ */ import { - SceneTimeRange, - EmbeddedScene, - SceneFlexLayout, - SceneFlexItem, - SceneControlsSpacer, - SceneRefreshPicker, - SceneTimePicker, - QueryVariable, - SceneVariableSet, - VariableValueSelectors, -} from '@grafana/scenes'; + SceneTimeRange, + EmbeddedScene, + SceneFlexLayout, + SceneFlexItem, + SceneControlsSpacer, + SceneRefreshPicker, + SceneTimePicker, + QueryVariable, + SceneVariableSet, + VariableValueSelectors, +} from "@grafana/scenes"; import { - getBandwidthPanel, - getConnectionsPanel, - getCPUPanel, - getMemoryPanel, - getLoadAveragePanel, - getReadWriteTimePanel, - getWrapCountPanel, - getNetstatPanel, -} from './panels'; -import { INFLUXDB_DATASOURCES_REF } from '../../constants'; + getBandwidthPanel, + getConnectionsPanel, + getCPUPanel, + getMemoryPanel, + getLoadAveragePanel, + getReadWriteTimePanel, + getWrapCountPanel, + getNetstatPanel, +} from "./panels"; +import { INFLUXDB_DATASOURCES_REF } from "../../constants"; export function getServerScene() { - const timeRange = new SceneTimeRange({ - from: 'now-6h', - to: 'now', - }); + const timeRange = new SceneTimeRange({ + from: "now-6h", + to: "now", + }); - const hostname = new QueryVariable({ - name: 'hostname', - datasource: INFLUXDB_DATASOURCES_REF.CACHE_STATS, - query: 'SHOW TAG VALUES ON "cache_stats" FROM "monthly"."bandwidth" with key = "hostname"', - }); + const hostname = new QueryVariable({ + datasource: INFLUXDB_DATASOURCES_REF.CACHE_STATS, + name: "hostname", + query: 'SHOW TAG VALUES ON "cache_stats" FROM "monthly"."bandwidth" with key = "hostname"', + }); - return new EmbeddedScene({ - $timeRange: timeRange, - $variables: new SceneVariableSet({ - variables: [hostname], - }), - body: new SceneFlexLayout({ - direction: 'column', - children: [ - new SceneFlexItem({ - height: 250, - body: getBandwidthPanel(), - }), - new SceneFlexItem({ - height: 250, - body: getConnectionsPanel(), - }), - new SceneFlexLayout({ - direction: 'row', - height: 250, - children: [ - new SceneFlexItem({ - width: '50%', - body: getCPUPanel(), - }), - new SceneFlexItem({ - width: '50%', - body: getMemoryPanel(), - }), - ], - }), - new SceneFlexLayout({ - direction: 'row', - height: 250, - children: [ - new SceneFlexItem({ - width: '50%', - body: getLoadAveragePanel(), - }), - new SceneFlexItem({ - width: '50%', - body: getReadWriteTimePanel(), - }), - ], - }), - new SceneFlexLayout({ - direction: 'row', - height: 250, - children: [ - new SceneFlexItem({ - width: '50%', - body: getWrapCountPanel(), - }), - new SceneFlexItem({ - width: '50%', - body: getNetstatPanel(), - }), - ], - }), - ], - }), - controls: [ - new VariableValueSelectors({}), - new SceneControlsSpacer(), - new SceneTimePicker({ isOnCanvas: true }), - new SceneRefreshPicker({ - intervals: ['5s', '1m', '1h'], - isOnCanvas: true, - }), - ], - }); + return new EmbeddedScene({ + $timeRange: timeRange, + $variables: new SceneVariableSet({ + variables: [hostname], + }), + body: new SceneFlexLayout({ + direction: "column", + children: [ + new SceneFlexItem({ + height: 250, + body: getBandwidthPanel(), + }), + new SceneFlexItem({ + height: 250, + body: getConnectionsPanel(), + }), + new SceneFlexLayout({ + direction: "row", + height: 250, + children: [ + new SceneFlexItem({ + width: "50%", + body: getCPUPanel(), + }), + new SceneFlexItem({ + width: "50%", + body: getMemoryPanel(), + }), + ], + }), + new SceneFlexLayout({ + direction: "row", + height: 250, + children: [ + new SceneFlexItem({ + width: "50%", + body: getLoadAveragePanel(), + }), + new SceneFlexItem({ + width: "50%", + body: getReadWriteTimePanel(), + }), + ], + }), + new SceneFlexLayout({ + direction: "row", + height: 250, + children: [ + new SceneFlexItem({ + width: "50%", + body: getWrapCountPanel(), + }), + new SceneFlexItem({ + width: "50%", + body: getNetstatPanel(), + }), + ], + }), + ], + }), + controls: [ + new VariableValueSelectors({}), + new SceneControlsSpacer(), + new SceneTimePicker({ isOnCanvas: true }), + new SceneRefreshPicker({ + intervals: ["5s", "1m", "1h"], + isOnCanvas: true, + }), + ], + }); } diff --git a/infrastructure/cdn-in-a-box/optional/grafana/trafficcontrol-scenes/tsconfig.json b/infrastructure/cdn-in-a-box/optional/grafana/trafficcontrol-scenes/tsconfig.json index 900eb6698a..cb629da338 100644 --- a/infrastructure/cdn-in-a-box/optional/grafana/trafficcontrol-scenes/tsconfig.json +++ b/infrastructure/cdn-in-a-box/optional/grafana/trafficcontrol-scenes/tsconfig.json @@ -17,4 +17,4 @@ }, "include": ["./src", "./types"], "extends": "@grafana/tsconfig" -} \ No newline at end of file +} diff --git a/infrastructure/cdn-in-a-box/optional/grafana/trafficcontrol-scenes/webpack/webpack.config.ts b/infrastructure/cdn-in-a-box/optional/grafana/trafficcontrol-scenes/webpack/webpack.config.ts index cc4a8ae0f9..9f81b1aabc 100644 --- a/infrastructure/cdn-in-a-box/optional/grafana/trafficcontrol-scenes/webpack/webpack.config.ts +++ b/infrastructure/cdn-in-a-box/optional/grafana/trafficcontrol-scenes/webpack/webpack.config.ts @@ -1,16 +1,16 @@ /* -* Licensed under the Apache License, Version 2.0 (the "License"); -* you may not use this file except in compliance with the License. -* You may obtain a copy of the License at -* -* http://www.apache.org/licenses/LICENSE-2.0 -* -* Unless required by applicable law or agreed to in writing, software -* distributed under the License is distributed on an "AS IS" BASIS, -* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -* See the License for the specific language governing permissions and -* limitations under the License. -*/ + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ /* * ⚠️⚠️⚠️ THIS FILE WAS SCAFFOLDED BY `@grafana/create-plugin`. DO NOT EDIT THIS FILE DIRECTLY. ⚠️⚠️⚠️ * @@ -18,210 +18,219 @@ * https://grafana.com/developers/plugin-tools/create-a-plugin/extend-a-plugin/extend-configurations#extend-the-webpack-config */ -import CopyWebpackPlugin from 'copy-webpack-plugin'; -import ESLintPlugin from 'eslint-webpack-plugin'; -import ForkTsCheckerWebpackPlugin from 'fork-ts-checker-webpack-plugin'; -import LiveReloadPlugin from 'webpack-livereload-plugin'; -import path from 'path'; -import ReplaceInFileWebpackPlugin from 'replace-in-file-webpack-plugin'; -import { Configuration } from 'webpack'; +import CopyWebpackPlugin from "copy-webpack-plugin"; +import ESLintPlugin from "eslint-webpack-plugin"; +import ForkTsCheckerWebpackPlugin from "fork-ts-checker-webpack-plugin"; +import LiveReloadPlugin from "webpack-livereload-plugin"; +import path from "path"; +import ReplaceInFileWebpackPlugin from "replace-in-file-webpack-plugin"; +import { Configuration } from "webpack"; -import { getPackageJson, getPluginJson, hasReadme, getEntries, isWSL } from './utils'; -import { SOURCE_DIR, DIST_DIR } from './constants'; +import { getPackageJson, getPluginJson, getEntries, isWSL } from "./utils"; +import { SOURCE_DIR, DIST_DIR } from "./constants"; const pluginJson = getPluginJson(); const config = async (env): Promise => { - const baseConfig: Configuration = { - cache: { - type: 'filesystem', - buildDependencies: { - config: [__filename], - }, - }, - - context: path.join(process.cwd(), SOURCE_DIR), - - devtool: env.production ? 'source-map' : 'eval-source-map', - - entry: await getEntries(), - - externals: [ - 'lodash', - 'jquery', - 'moment', - 'slate', - 'emotion', - '@emotion/react', - '@emotion/css', - 'prismjs', - 'slate-plain-serializer', - '@grafana/slate-react', - 'react', - 'react-dom', - 'react-redux', - 'redux', - 'rxjs', - 'react-router', - 'react-router-dom', - 'd3', - 'angular', - '@grafana/ui', - '@grafana/runtime', - '@grafana/data', - - // Mark legacy SDK imports as external if their name starts with the "grafana/" prefix - ({ request }, callback) => { - const prefix = 'grafana/'; - const hasPrefix = (request) => request.indexOf(prefix) === 0; - const stripPrefix = (request) => request.substr(prefix.length); - - if (hasPrefix(request)) { - return callback(undefined, stripPrefix(request)); - } - - callback(); - }, - ], - - mode: env.production ? 'production' : 'development', - - module: { - rules: [ - { - exclude: /(node_modules)/, - test: /\.[tj]sx?$/, - use: { - loader: 'swc-loader', - options: { - jsc: { - baseUrl: path.resolve(__dirname, 'src'), - target: 'es2015', - loose: false, - parser: { - syntax: 'typescript', - tsx: true, - decorators: false, - dynamicImport: true, - }, - }, - }, - }, - }, - { - test: /\.css$/, - use: ['style-loader', 'css-loader'], - }, - { - test: /\.s[ac]ss$/, - use: ['style-loader', 'css-loader', 'sass-loader'], - }, - { - test: /\.(png|jpe?g|gif|svg)$/, - type: 'asset/resource', - generator: { - // Keep publicPath relative for host.com/grafana/ deployments - publicPath: `public/plugins/${pluginJson.id}/img/`, - outputPath: 'img/', - filename: Boolean(env.production) ? '[hash][ext]' : '[file]', - }, - }, - { - test: /\.(woff|woff2|eot|ttf|otf)(\?v=\d+\.\d+\.\d+)?$/, - type: 'asset/resource', - generator: { - // Keep publicPath relative for host.com/grafana/ deployments - publicPath: `public/plugins/${pluginJson.id}/fonts/`, - outputPath: 'fonts/', - filename: Boolean(env.production) ? '[hash][ext]' : '[name][ext]', - }, - }, - ], - }, - - output: { - clean: { - keep: new RegExp(`(.*?_(amd64|arm(64)?)(.exe)?|go_plugin_build_manifest)`), - }, - filename: '[name].js', - library: { - type: 'amd', - }, - path: path.resolve(process.cwd(), DIST_DIR), - publicPath: `public/plugins/${pluginJson.id}/`, - uniqueName: pluginJson.id, - }, - - plugins: [ - new CopyWebpackPlugin({ - patterns: [ - // If src/README.md exists use it; otherwise the root README - // To `compiler.options.output` - { from: hasReadme() ? 'README.md' : '../README.md', to: '.', force: true }, - { from: 'plugin.json', to: '.' }, - { from: '../LICENSE', to: '.' }, - { from: '../CHANGELOG.md', to: '.', force: true }, - { from: '**/*.json', to: '.' }, // TODO - { from: '**/*.svg', to: '.', noErrorOnMissing: true }, // Optional - { from: '**/*.png', to: '.', noErrorOnMissing: true }, // Optional - { from: '**/*.html', to: '.', noErrorOnMissing: true }, // Optional - { from: 'img/**/*', to: '.', noErrorOnMissing: true }, // Optional - { from: 'libs/**/*', to: '.', noErrorOnMissing: true }, // Optional - { from: 'static/**/*', to: '.', noErrorOnMissing: true }, // Optional - { from: '**/query_help.md', to: '.', noErrorOnMissing: true }, // Optional - ], - }), - // Replace certain template-variables in the README and plugin.json - new ReplaceInFileWebpackPlugin([ - { - dir: DIST_DIR, - files: ['plugin.json', 'README.md'], - rules: [ - { - search: /\%VERSION\%/g, - replace: getPackageJson().version, - }, - { - search: /\%TODAY\%/g, - replace: new Date().toISOString().substring(0, 10), - }, - { - search: /\%PLUGIN_ID\%/g, - replace: pluginJson.id, - }, - ], - }, - ]), - new ForkTsCheckerWebpackPlugin({ - async: Boolean(env.development), - issue: { - include: [{ file: '**/*.{ts,tsx}' }], - }, - typescript: { configFile: path.join(process.cwd(), 'tsconfig.json') }, - }), - new ESLintPlugin({ - extensions: ['.ts', '.tsx'], - lintDirtyModulesOnly: Boolean(env.development), // don't lint on start, only lint changed files - }), - ...(env.development ? [new LiveReloadPlugin()] : []), - ], - - resolve: { - extensions: ['.js', '.jsx', '.ts', '.tsx'], - // handle resolving "rootDir" paths - modules: [path.resolve(process.cwd(), 'src'), 'node_modules'], - unsafeCache: true, - }, - }; - - if (isWSL()) { - baseConfig.watchOptions = { - poll: 3000, - ignored: /node_modules/, - }; - } - - return baseConfig; + const baseConfig: Configuration = { + cache: { + type: "filesystem", + buildDependencies: { + config: [__filename], + }, + }, + + context: path.join(process.cwd(), SOURCE_DIR), + + devtool: env.production ? "source-map" : "eval-source-map", + + entry: await getEntries(), + + externals: [ + "lodash", + "jquery", + "moment", + "slate", + "emotion", + "@emotion/react", + "@emotion/css", + "prismjs", + "slate-plain-serializer", + "@grafana/slate-react", + "react", + "react-dom", + "react-redux", + "redux", + "rxjs", + "react-router", + "react-router-dom", + "d3", + "angular", + "@grafana/ui", + "@grafana/runtime", + "@grafana/data", + + // Mark legacy SDK imports as external if their name starts with the "grafana/" prefix + ({ request }, callback) => { + const prefix = "grafana/"; + const hasPrefix = (request) => request.indexOf(prefix) === 0; + const stripPrefix = (request) => request.substr(prefix.length); + + if (hasPrefix(request)) { + return callback(undefined, stripPrefix(request)); + } + + callback(); + }, + ], + + mode: env.production ? "production" : "development", + + module: { + rules: [ + { + exclude: /(node_modules)/, + test: /\.[tj]sx?$/, + use: { + loader: "swc-loader", + options: { + jsc: { + baseUrl: path.resolve(__dirname, "src"), + target: "es2015", + loose: false, + parser: { + syntax: "typescript", + tsx: true, + decorators: false, + dynamicImport: true, + }, + }, + }, + }, + }, + { + test: /\.css$/, + use: ["style-loader", "css-loader"], + }, + { + test: /\.s[ac]ss$/, + use: ["style-loader", "css-loader", "sass-loader"], + }, + { + test: /\.(png|jpe?g|gif|svg)$/, + type: "asset/resource", + generator: { + // Keep publicPath relative for host.com/grafana/ deployments + publicPath: `public/plugins/${pluginJson.id}/img/`, + outputPath: "img/", + filename: Boolean(env.production) + ? "[hash][ext]" + : "[file]", + }, + }, + { + test: /\.(woff|woff2|eot|ttf|otf)(\?v=\d+\.\d+\.\d+)?$/, + type: "asset/resource", + generator: { + // Keep publicPath relative for host.com/grafana/ deployments + publicPath: `public/plugins/${pluginJson.id}/fonts/`, + outputPath: "fonts/", + filename: Boolean(env.production) + ? "[hash][ext]" + : "[name][ext]", + }, + }, + ], + }, + + output: { + clean: { + keep: new RegExp( + `(.*?_(amd64|arm(64)?)(.exe)?|go_plugin_build_manifest)` + ), + }, + filename: "[name].js", + library: { + type: "amd", + }, + path: path.resolve(process.cwd(), DIST_DIR), + publicPath: `public/plugins/${pluginJson.id}/`, + uniqueName: pluginJson.id, + }, + + plugins: [ + new CopyWebpackPlugin({ + patterns: [ + // If src/README.md exists use it; otherwise the root README + // To `compiler.options.output` + { from: "plugin.json", to: "." }, + { from: "**/*.json", to: "." }, // TODO + { from: "**/*.svg", to: ".", noErrorOnMissing: true }, // Optional + { from: "**/*.png", to: ".", noErrorOnMissing: true }, // Optional + { from: "**/*.html", to: ".", noErrorOnMissing: true }, // Optional + { from: "img/**/*", to: ".", noErrorOnMissing: true }, // Optional + { from: "libs/**/*", to: ".", noErrorOnMissing: true }, // Optional + { from: "static/**/*", to: ".", noErrorOnMissing: true }, // Optional + { + from: "**/query_help.md", + to: ".", + noErrorOnMissing: true, + }, // Optional + ], + }), + // Replace certain template-variables in the README and plugin.json + new ReplaceInFileWebpackPlugin([ + { + dir: DIST_DIR, + files: ["plugin.json"], + rules: [ + { + search: /\%VERSION\%/g, + replace: getPackageJson().version, + }, + { + search: /\%TODAY\%/g, + replace: new Date().toISOString().substring(0, 10), + }, + { + search: /\%PLUGIN_ID\%/g, + replace: pluginJson.id, + }, + ], + }, + ]), + new ForkTsCheckerWebpackPlugin({ + async: Boolean(env.development), + issue: { + include: [{ file: "**/*.{ts,tsx}" }], + }, + typescript: { + configFile: path.join(process.cwd(), "tsconfig.json"), + }, + }), + new ESLintPlugin({ + extensions: [".ts", ".tsx"], + lintDirtyModulesOnly: Boolean(env.development), // don't lint on start, only lint changed files + }), + ...(env.development ? [new LiveReloadPlugin()] : []), + ], + + resolve: { + extensions: [".js", ".jsx", ".ts", ".tsx"], + // handle resolving "rootDir" paths + modules: [path.resolve(process.cwd(), "src"), "node_modules"], + unsafeCache: true, + }, + }; + + if (isWSL()) { + baseConfig.watchOptions = { + poll: 3000, + ignored: /node_modules/, + }; + } + + return baseConfig; }; export default config; diff --git a/infrastructure/cdn-in-a-box/optional/grafana/trafficcontrol-scenes/yarn.lock b/infrastructure/cdn-in-a-box/optional/grafana/trafficcontrol-scenes/yarn.lock new file mode 100644 index 0000000000..08a8666a2f --- /dev/null +++ b/infrastructure/cdn-in-a-box/optional/grafana/trafficcontrol-scenes/yarn.lock @@ -0,0 +1,10329 @@ +# THIS IS AN AUTOGENERATED FILE. DO NOT EDIT THIS FILE DIRECTLY. +# yarn lockfile v1 + + +"@aashutoshrathi/word-wrap@^1.2.3": + version "1.2.6" + resolved "https://registry.yarnpkg.com/@aashutoshrathi/word-wrap/-/word-wrap-1.2.6.tgz#bd9154aec9983f77b3a034ecaa015c2e4201f6cf" + integrity sha512-1Yjs2SvM8TflER/OD3cOjhWWOZb58A2t7wpE2S9XfBYTiIl+XFhQG2bjy4Pu1I+EAlCNUzRDYDdFwFYUKvXcIA== + +"@adobe/css-tools@^4.3.1": + version "4.3.3" + resolved "https://registry.yarnpkg.com/@adobe/css-tools/-/css-tools-4.3.3.tgz#90749bde8b89cd41764224f5aac29cd4138f75ff" + integrity sha512-rE0Pygv0sEZ4vBWHlAgJLGDU7Pm8xoO6p3wsEceb7GYAjScrOHpEo8KK/eVkAcnSM+slAEtXjA2JpdjLp4fJQQ== + +"@ampproject/remapping@^2.1.0", "@ampproject/remapping@^2.2.0": + version "2.2.1" + resolved "https://registry.yarnpkg.com/@ampproject/remapping/-/remapping-2.2.1.tgz#99e8e11851128b8702cd57c33684f1d0f260b630" + integrity sha512-lFMjJTrFL3j7L9yBxwYfCq2k6qqwHyzuUl/XBnif78PWTJYyL/dfowQHWE3sp6U6ZzqWiiIZnpTMO96zhkjwtg== + dependencies: + "@jridgewell/gen-mapping" "^0.3.0" + "@jridgewell/trace-mapping" "^0.3.9" + +"@babel/code-frame@^7.0.0", "@babel/code-frame@^7.10.4", "@babel/code-frame@^7.12.13", "@babel/code-frame@^7.16.7", "@babel/code-frame@^7.18.6", "@babel/code-frame@^7.23.5": + version "7.23.5" + resolved "https://registry.yarnpkg.com/@babel/code-frame/-/code-frame-7.23.5.tgz#9009b69a8c602293476ad598ff53e4562e15c244" + integrity sha512-CgH3s1a96LipHCmSUmYFPwY7MNx8C3avkq7i4Wl3cfa662ldtUe4VM1TPXX70pfmrlWTb6jLqTYrZyT2ZTJBgA== + dependencies: + "@babel/highlight" "^7.23.4" + chalk "^2.4.2" + +"@babel/compat-data@^7.17.7", "@babel/compat-data@^7.20.1", "@babel/compat-data@^7.20.5", "@babel/compat-data@^7.23.5": + version "7.23.5" + resolved "https://registry.yarnpkg.com/@babel/compat-data/-/compat-data-7.23.5.tgz#ffb878728bb6bdcb6f4510aa51b1be9afb8cfd98" + integrity sha512-uU27kfDRlhfKl+w1U6vp16IuvSLtjAxdArVXPa9BvLkrr7CYIsxH5adpHObeAGY/41+syctUWOZ140a2Rvkgjw== + +"@babel/core@7.20.5": + version "7.20.5" + resolved "https://registry.yarnpkg.com/@babel/core/-/core-7.20.5.tgz#45e2114dc6cd4ab167f81daf7820e8fa1250d113" + integrity sha512-UdOWmk4pNWTm/4DlPUl/Pt4Gz4rcEMb7CY0Y3eJl5Yz1vI8ZJGmHWaVE55LoxRjdpx0z259GE9U5STA9atUinQ== + dependencies: + "@ampproject/remapping" "^2.1.0" + "@babel/code-frame" "^7.18.6" + "@babel/generator" "^7.20.5" + "@babel/helper-compilation-targets" "^7.20.0" + "@babel/helper-module-transforms" "^7.20.2" + "@babel/helpers" "^7.20.5" + "@babel/parser" "^7.20.5" + "@babel/template" "^7.18.10" + "@babel/traverse" "^7.20.5" + "@babel/types" "^7.20.5" + convert-source-map "^1.7.0" + debug "^4.1.0" + gensync "^1.0.0-beta.2" + json5 "^2.2.1" + semver "^6.3.0" + +"@babel/core@^7.11.6", "@babel/core@^7.12.3", "@babel/core@^7.21.4": + version "7.23.9" + resolved "https://registry.yarnpkg.com/@babel/core/-/core-7.23.9.tgz#b028820718000f267870822fec434820e9b1e4d1" + integrity sha512-5q0175NOjddqpvvzU+kDiSOAk4PfdO6FvwCWoQ6RO7rTzEe8vlo+4HVfcnAREhD4npMs0e9uZypjTwzZPCf/cw== + dependencies: + "@ampproject/remapping" "^2.2.0" + "@babel/code-frame" "^7.23.5" + "@babel/generator" "^7.23.6" + "@babel/helper-compilation-targets" "^7.23.6" + "@babel/helper-module-transforms" "^7.23.3" + "@babel/helpers" "^7.23.9" + "@babel/parser" "^7.23.9" + "@babel/template" "^7.23.9" + "@babel/traverse" "^7.23.9" + "@babel/types" "^7.23.9" + convert-source-map "^2.0.0" + debug "^4.1.0" + gensync "^1.0.0-beta.2" + json5 "^2.2.3" + semver "^6.3.1" + +"@babel/generator@^7.20.5", "@babel/generator@^7.23.6", "@babel/generator@^7.7.2": + version "7.23.6" + resolved "https://registry.yarnpkg.com/@babel/generator/-/generator-7.23.6.tgz#9e1fca4811c77a10580d17d26b57b036133f3c2e" + integrity sha512-qrSfCYxYQB5owCmGLbl8XRpX1ytXlpueOb0N0UmQwA073KZxejgQTzAmJezxvpwQD9uGtK2shHdi55QT+MbjIw== + dependencies: + "@babel/types" "^7.23.6" + "@jridgewell/gen-mapping" "^0.3.2" + "@jridgewell/trace-mapping" "^0.3.17" + jsesc "^2.5.1" + +"@babel/helper-annotate-as-pure@^7.18.6", "@babel/helper-annotate-as-pure@^7.22.5": + version "7.22.5" + resolved "https://registry.yarnpkg.com/@babel/helper-annotate-as-pure/-/helper-annotate-as-pure-7.22.5.tgz#e7f06737b197d580a01edf75d97e2c8be99d3882" + integrity sha512-LvBTxu8bQSQkcyKOU+a1btnNFQ1dMAd0R6PyW3arXes06F6QLWLIrd681bxRPIXlrMGR3XYnW9JyML7dP3qgxg== + dependencies: + "@babel/types" "^7.22.5" + +"@babel/helper-builder-binary-assignment-operator-visitor@^7.22.15": + version "7.22.15" + resolved "https://registry.yarnpkg.com/@babel/helper-builder-binary-assignment-operator-visitor/-/helper-builder-binary-assignment-operator-visitor-7.22.15.tgz#5426b109cf3ad47b91120f8328d8ab1be8b0b956" + integrity sha512-QkBXwGgaoC2GtGZRoma6kv7Szfv06khvhFav67ZExau2RaXzy8MpHSMO2PNoP2XtmQphJQRHFfg77Bq731Yizw== + dependencies: + "@babel/types" "^7.22.15" + +"@babel/helper-compilation-targets@^7.17.7", "@babel/helper-compilation-targets@^7.20.0", "@babel/helper-compilation-targets@^7.20.7", "@babel/helper-compilation-targets@^7.22.15", "@babel/helper-compilation-targets@^7.23.6": + version "7.23.6" + resolved "https://registry.yarnpkg.com/@babel/helper-compilation-targets/-/helper-compilation-targets-7.23.6.tgz#4d79069b16cbcf1461289eccfbbd81501ae39991" + integrity sha512-9JB548GZoQVmzrFgp8o7KxdgkTGm6xs9DW0o/Pim72UDjzr5ObUQ6ZzYPqA+g9OTS2bBQoctLJrky0RDCAWRgQ== + dependencies: + "@babel/compat-data" "^7.23.5" + "@babel/helper-validator-option" "^7.23.5" + browserslist "^4.22.2" + lru-cache "^5.1.1" + semver "^6.3.1" + +"@babel/helper-create-class-features-plugin@^7.18.6", "@babel/helper-create-class-features-plugin@^7.21.0": + version "7.23.9" + resolved "https://registry.yarnpkg.com/@babel/helper-create-class-features-plugin/-/helper-create-class-features-plugin-7.23.9.tgz#fddfdf51fca28f23d16b9e3935a4732690acfad6" + integrity sha512-B2L9neXTIyPQoXDm+NtovPvG6VOLWnaXu3BIeVDWwdKFgG30oNa6CqVGiJPDWQwIAK49t9gnQI9c6K6RzabiKw== + dependencies: + "@babel/helper-annotate-as-pure" "^7.22.5" + "@babel/helper-environment-visitor" "^7.22.20" + "@babel/helper-function-name" "^7.23.0" + "@babel/helper-member-expression-to-functions" "^7.23.0" + "@babel/helper-optimise-call-expression" "^7.22.5" + "@babel/helper-replace-supers" "^7.22.20" + "@babel/helper-skip-transparent-expression-wrappers" "^7.22.5" + "@babel/helper-split-export-declaration" "^7.22.6" + semver "^6.3.1" + +"@babel/helper-create-regexp-features-plugin@^7.18.6", "@babel/helper-create-regexp-features-plugin@^7.22.15", "@babel/helper-create-regexp-features-plugin@^7.22.5": + version "7.22.15" + resolved "https://registry.yarnpkg.com/@babel/helper-create-regexp-features-plugin/-/helper-create-regexp-features-plugin-7.22.15.tgz#5ee90093914ea09639b01c711db0d6775e558be1" + integrity sha512-29FkPLFjn4TPEa3RE7GpW+qbE8tlsu3jntNYNfcGsc49LphF1PQIiD+vMZ1z1xVOKt+93khA9tc2JBs3kBjA7w== + dependencies: + "@babel/helper-annotate-as-pure" "^7.22.5" + regexpu-core "^5.3.1" + semver "^6.3.1" + +"@babel/helper-define-polyfill-provider@^0.3.3": + version "0.3.3" + resolved "https://registry.yarnpkg.com/@babel/helper-define-polyfill-provider/-/helper-define-polyfill-provider-0.3.3.tgz#8612e55be5d51f0cd1f36b4a5a83924e89884b7a" + integrity sha512-z5aQKU4IzbqCC1XH0nAqfsFLMVSo22SBKUc0BxGrLkolTdPTructy0ToNnlO2zA4j9Q/7pjMZf0DSY+DSTYzww== + dependencies: + "@babel/helper-compilation-targets" "^7.17.7" + "@babel/helper-plugin-utils" "^7.16.7" + debug "^4.1.1" + lodash.debounce "^4.0.8" + resolve "^1.14.2" + semver "^6.1.2" + +"@babel/helper-environment-visitor@^7.18.9", "@babel/helper-environment-visitor@^7.22.20": + version "7.22.20" + resolved "https://registry.yarnpkg.com/@babel/helper-environment-visitor/-/helper-environment-visitor-7.22.20.tgz#96159db61d34a29dba454c959f5ae4a649ba9167" + integrity sha512-zfedSIzFhat/gFhWfHtgWvlec0nqB9YEIVrpuwjruLlXfUSnA8cJB0miHKwqDnQ7d32aKo2xt88/xZptwxbfhA== + +"@babel/helper-function-name@^7.22.5", "@babel/helper-function-name@^7.23.0": + version "7.23.0" + resolved "https://registry.yarnpkg.com/@babel/helper-function-name/-/helper-function-name-7.23.0.tgz#1f9a3cdbd5b2698a670c30d2735f9af95ed52759" + integrity sha512-OErEqsrxjZTJciZ4Oo+eoZqeW9UIiOcuYKRJA4ZAgV9myA+pOXhhmpfNCKjEH/auVfEYVFJ6y1Tc4r0eIApqiw== + dependencies: + "@babel/template" "^7.22.15" + "@babel/types" "^7.23.0" + +"@babel/helper-hoist-variables@^7.22.5": + version "7.22.5" + resolved "https://registry.yarnpkg.com/@babel/helper-hoist-variables/-/helper-hoist-variables-7.22.5.tgz#c01a007dac05c085914e8fb652b339db50d823bb" + integrity sha512-wGjk9QZVzvknA6yKIUURb8zY3grXCcOZt+/7Wcy8O2uctxhplmUPkOdlgoNhmdVee2c92JXbf1xpMtVNbfoxRw== + dependencies: + "@babel/types" "^7.22.5" + +"@babel/helper-member-expression-to-functions@^7.22.15", "@babel/helper-member-expression-to-functions@^7.23.0": + version "7.23.0" + resolved "https://registry.yarnpkg.com/@babel/helper-member-expression-to-functions/-/helper-member-expression-to-functions-7.23.0.tgz#9263e88cc5e41d39ec18c9a3e0eced59a3e7d366" + integrity sha512-6gfrPwh7OuT6gZyJZvd6WbTfrqAo7vm4xCzAXOusKqq/vWdKXphTpj5klHKNmRUU6/QRGlBsyU9mAIPaWHlqJA== + dependencies: + "@babel/types" "^7.23.0" + +"@babel/helper-module-imports@^7.16.7", "@babel/helper-module-imports@^7.22.15": + version "7.22.15" + resolved "https://registry.yarnpkg.com/@babel/helper-module-imports/-/helper-module-imports-7.22.15.tgz#16146307acdc40cc00c3b2c647713076464bdbf0" + integrity sha512-0pYVBnDKZO2fnSPCrgM/6WMc7eS20Fbok+0r88fp+YtWVLZrp4CkafFGIp+W0VKw4a22sgebPT99y+FDNMdP4w== + dependencies: + "@babel/types" "^7.22.15" + +"@babel/helper-module-transforms@^7.20.2", "@babel/helper-module-transforms@^7.23.3": + version "7.23.3" + resolved "https://registry.yarnpkg.com/@babel/helper-module-transforms/-/helper-module-transforms-7.23.3.tgz#d7d12c3c5d30af5b3c0fcab2a6d5217773e2d0f1" + integrity sha512-7bBs4ED9OmswdfDzpz4MpWgSrV7FXlc3zIagvLFjS5H+Mk7Snr21vQ6QwrsoCGMfNC4e4LQPdoULEt4ykz0SRQ== + dependencies: + "@babel/helper-environment-visitor" "^7.22.20" + "@babel/helper-module-imports" "^7.22.15" + "@babel/helper-simple-access" "^7.22.5" + "@babel/helper-split-export-declaration" "^7.22.6" + "@babel/helper-validator-identifier" "^7.22.20" + +"@babel/helper-optimise-call-expression@^7.22.5": + version "7.22.5" + resolved "https://registry.yarnpkg.com/@babel/helper-optimise-call-expression/-/helper-optimise-call-expression-7.22.5.tgz#f21531a9ccbff644fdd156b4077c16ff0c3f609e" + integrity sha512-HBwaojN0xFRx4yIvpwGqxiV2tUfl7401jlok564NgB9EHS1y6QT17FmKWm4ztqjeVdXLuC4fSvHc5ePpQjoTbw== + dependencies: + "@babel/types" "^7.22.5" + +"@babel/helper-plugin-utils@^7.0.0", "@babel/helper-plugin-utils@^7.10.4", "@babel/helper-plugin-utils@^7.12.13", "@babel/helper-plugin-utils@^7.14.5", "@babel/helper-plugin-utils@^7.16.7", "@babel/helper-plugin-utils@^7.18.6", "@babel/helper-plugin-utils@^7.18.9", "@babel/helper-plugin-utils@^7.20.2", "@babel/helper-plugin-utils@^7.22.5", "@babel/helper-plugin-utils@^7.8.0", "@babel/helper-plugin-utils@^7.8.3": + version "7.22.5" + resolved "https://registry.yarnpkg.com/@babel/helper-plugin-utils/-/helper-plugin-utils-7.22.5.tgz#dd7ee3735e8a313b9f7b05a773d892e88e6d7295" + integrity sha512-uLls06UVKgFG9QD4OeFYLEGteMIAa5kpTPcFL28yuCIIzsf6ZyKZMllKVOCZFhiZ5ptnwX4mtKdWCBE/uT4amg== + +"@babel/helper-remap-async-to-generator@^7.18.9", "@babel/helper-remap-async-to-generator@^7.22.20": + version "7.22.20" + resolved "https://registry.yarnpkg.com/@babel/helper-remap-async-to-generator/-/helper-remap-async-to-generator-7.22.20.tgz#7b68e1cb4fa964d2996fd063723fb48eca8498e0" + integrity sha512-pBGyV4uBqOns+0UvhsTO8qgl8hO89PmiDYv+/COyp1aeMcmfrfruz+/nCMFiYyFF/Knn0yfrC85ZzNFjembFTw== + dependencies: + "@babel/helper-annotate-as-pure" "^7.22.5" + "@babel/helper-environment-visitor" "^7.22.20" + "@babel/helper-wrap-function" "^7.22.20" + +"@babel/helper-replace-supers@^7.22.20": + version "7.22.20" + resolved "https://registry.yarnpkg.com/@babel/helper-replace-supers/-/helper-replace-supers-7.22.20.tgz#e37d367123ca98fe455a9887734ed2e16eb7a793" + integrity sha512-qsW0In3dbwQUbK8kejJ4R7IHVGwHJlV6lpG6UA7a9hSa2YEiAib+N1T2kr6PEeUT+Fl7najmSOS6SmAwCHK6Tw== + dependencies: + "@babel/helper-environment-visitor" "^7.22.20" + "@babel/helper-member-expression-to-functions" "^7.22.15" + "@babel/helper-optimise-call-expression" "^7.22.5" + +"@babel/helper-simple-access@^7.22.5": + version "7.22.5" + resolved "https://registry.yarnpkg.com/@babel/helper-simple-access/-/helper-simple-access-7.22.5.tgz#4938357dc7d782b80ed6dbb03a0fba3d22b1d5de" + integrity sha512-n0H99E/K+Bika3++WNL17POvo4rKWZ7lZEp1Q+fStVbUi8nxPQEBOlTmCOxW/0JsS56SKKQ+ojAe2pHKJHN35w== + dependencies: + "@babel/types" "^7.22.5" + +"@babel/helper-skip-transparent-expression-wrappers@^7.20.0", "@babel/helper-skip-transparent-expression-wrappers@^7.22.5": + version "7.22.5" + resolved "https://registry.yarnpkg.com/@babel/helper-skip-transparent-expression-wrappers/-/helper-skip-transparent-expression-wrappers-7.22.5.tgz#007f15240b5751c537c40e77abb4e89eeaaa8847" + integrity sha512-tK14r66JZKiC43p8Ki33yLBVJKlQDFoA8GYN67lWCDCqoL6EMMSuM9b+Iff2jHaM/RRFYl7K+iiru7hbRqNx8Q== + dependencies: + "@babel/types" "^7.22.5" + +"@babel/helper-split-export-declaration@^7.22.6": + version "7.22.6" + resolved "https://registry.yarnpkg.com/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.22.6.tgz#322c61b7310c0997fe4c323955667f18fcefb91c" + integrity sha512-AsUnxuLhRYsisFiaJwvp1QF+I3KjD5FOxut14q/GzovUe6orHLesW2C7d754kRm53h5gqrz6sFl6sxc4BVtE/g== + dependencies: + "@babel/types" "^7.22.5" + +"@babel/helper-string-parser@^7.23.4": + version "7.23.4" + resolved "https://registry.yarnpkg.com/@babel/helper-string-parser/-/helper-string-parser-7.23.4.tgz#9478c707febcbbe1ddb38a3d91a2e054ae622d83" + integrity sha512-803gmbQdqwdf4olxrX4AJyFBV/RTr3rSmOj0rKwesmzlfhYNDEs+/iOcznzpNWlJlIlTJC2QfPFcHB6DlzdVLQ== + +"@babel/helper-validator-identifier@^7.22.20": + version "7.22.20" + resolved "https://registry.yarnpkg.com/@babel/helper-validator-identifier/-/helper-validator-identifier-7.22.20.tgz#c4ae002c61d2879e724581d96665583dbc1dc0e0" + integrity sha512-Y4OZ+ytlatR8AI+8KZfKuL5urKp7qey08ha31L8b3BwewJAoJamTzyvxPR/5D+KkdJCGPq/+8TukHBlY10FX9A== + +"@babel/helper-validator-option@^7.18.6", "@babel/helper-validator-option@^7.23.5": + version "7.23.5" + resolved "https://registry.yarnpkg.com/@babel/helper-validator-option/-/helper-validator-option-7.23.5.tgz#907a3fbd4523426285365d1206c423c4c5520307" + integrity sha512-85ttAOMLsr53VgXkTbkx8oA6YTfT4q7/HzXSLEYmjcSTJPMPQtvq1BD79Byep5xMUYbGRzEpDsjUf3dyp54IKw== + +"@babel/helper-wrap-function@^7.22.20": + version "7.22.20" + resolved "https://registry.yarnpkg.com/@babel/helper-wrap-function/-/helper-wrap-function-7.22.20.tgz#15352b0b9bfb10fc9c76f79f6342c00e3411a569" + integrity sha512-pms/UwkOpnQe/PDAEdV/d7dVCoBbB+R4FvYoHGZz+4VPcg7RtYy2KP7S2lbuWM6FCSgob5wshfGESbC/hzNXZw== + dependencies: + "@babel/helper-function-name" "^7.22.5" + "@babel/template" "^7.22.15" + "@babel/types" "^7.22.19" + +"@babel/helpers@^7.20.5", "@babel/helpers@^7.23.9": + version "7.23.9" + resolved "https://registry.yarnpkg.com/@babel/helpers/-/helpers-7.23.9.tgz#c3e20bbe7f7a7e10cb9b178384b4affdf5995c7d" + integrity sha512-87ICKgU5t5SzOT7sBMfCOZQ2rHjRU+Pcb9BoILMYz600W6DkVRLFBPwQ18gwUVvggqXivaUakpnxWQGbpywbBQ== + dependencies: + "@babel/template" "^7.23.9" + "@babel/traverse" "^7.23.9" + "@babel/types" "^7.23.9" + +"@babel/highlight@^7.23.4": + version "7.23.4" + resolved "https://registry.yarnpkg.com/@babel/highlight/-/highlight-7.23.4.tgz#edaadf4d8232e1a961432db785091207ead0621b" + integrity sha512-acGdbYSfp2WheJoJm/EBBBLh/ID8KDc64ISZ9DYtBmC8/Q204PZJLHyzeB5qMzJ5trcOkybd78M4x2KWsUq++A== + dependencies: + "@babel/helper-validator-identifier" "^7.22.20" + chalk "^2.4.2" + js-tokens "^4.0.0" + +"@babel/parser@^7.1.0", "@babel/parser@^7.14.7", "@babel/parser@^7.20.5", "@babel/parser@^7.20.7", "@babel/parser@^7.23.9": + version "7.23.9" + resolved "https://registry.yarnpkg.com/@babel/parser/-/parser-7.23.9.tgz#7b903b6149b0f8fa7ad564af646c4c38a77fc44b" + integrity sha512-9tcKgqKbs3xGJ+NtKF2ndOBBLVwPjl1SHxPQkd36r3Dlirw3xWUeGaTbqr7uGZcTaxkVNwc+03SVP7aCdWrTlA== + +"@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression@^7.18.6": + version "7.23.3" + resolved "https://registry.yarnpkg.com/@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression/-/plugin-bugfix-safari-id-destructuring-collision-in-function-expression-7.23.3.tgz#5cd1c87ba9380d0afb78469292c954fee5d2411a" + integrity sha512-iRkKcCqb7iGnq9+3G6rZ+Ciz5VywC4XNRHe57lKM+jOeYAoR0lVqdeeDRfh0tQcTfw/+vBhHn926FmQhLtlFLQ== + dependencies: + "@babel/helper-plugin-utils" "^7.22.5" + +"@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining@^7.18.9": + version "7.23.3" + resolved "https://registry.yarnpkg.com/@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining/-/plugin-bugfix-v8-spread-parameters-in-optional-chaining-7.23.3.tgz#f6652bb16b94f8f9c20c50941e16e9756898dc5d" + integrity sha512-WwlxbfMNdVEpQjZmK5mhm7oSwD3dS6eU+Iwsi4Knl9wAletWem7kaRsGOG+8UEbRyqxY4SS5zvtfXwX+jMxUwQ== + dependencies: + "@babel/helper-plugin-utils" "^7.22.5" + "@babel/helper-skip-transparent-expression-wrappers" "^7.22.5" + "@babel/plugin-transform-optional-chaining" "^7.23.3" + +"@babel/plugin-proposal-async-generator-functions@^7.20.1": + version "7.20.7" + resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-async-generator-functions/-/plugin-proposal-async-generator-functions-7.20.7.tgz#bfb7276d2d573cb67ba379984a2334e262ba5326" + integrity sha512-xMbiLsn/8RK7Wq7VeVytytS2L6qE69bXPB10YCmMdDZbKF4okCqY74pI/jJQ/8U0b/F6NrT2+14b8/P9/3AMGA== + dependencies: + "@babel/helper-environment-visitor" "^7.18.9" + "@babel/helper-plugin-utils" "^7.20.2" + "@babel/helper-remap-async-to-generator" "^7.18.9" + "@babel/plugin-syntax-async-generators" "^7.8.4" + +"@babel/plugin-proposal-class-properties@^7.18.6": + version "7.18.6" + resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-class-properties/-/plugin-proposal-class-properties-7.18.6.tgz#b110f59741895f7ec21a6fff696ec46265c446a3" + integrity sha512-cumfXOF0+nzZrrN8Rf0t7M+tF6sZc7vhQwYQck9q1/5w2OExlD+b4v4RpMJFaV1Z7WcDRgO6FqvxqxGlwo+RHQ== + dependencies: + "@babel/helper-create-class-features-plugin" "^7.18.6" + "@babel/helper-plugin-utils" "^7.18.6" + +"@babel/plugin-proposal-class-static-block@^7.18.6": + version "7.21.0" + resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-class-static-block/-/plugin-proposal-class-static-block-7.21.0.tgz#77bdd66fb7b605f3a61302d224bdfacf5547977d" + integrity sha512-XP5G9MWNUskFuP30IfFSEFB0Z6HzLIUcjYM4bYOPHXl7eiJ9HFv8tWj6TXTN5QODiEhDZAeI4hLok2iHFFV4hw== + dependencies: + "@babel/helper-create-class-features-plugin" "^7.21.0" + "@babel/helper-plugin-utils" "^7.20.2" + "@babel/plugin-syntax-class-static-block" "^7.14.5" + +"@babel/plugin-proposal-dynamic-import@^7.18.6": + version "7.18.6" + resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-dynamic-import/-/plugin-proposal-dynamic-import-7.18.6.tgz#72bcf8d408799f547d759298c3c27c7e7faa4d94" + integrity sha512-1auuwmK+Rz13SJj36R+jqFPMJWyKEDd7lLSdOj4oJK0UTgGueSAtkrCvz9ewmgyU/P941Rv2fQwZJN8s6QruXw== + dependencies: + "@babel/helper-plugin-utils" "^7.18.6" + "@babel/plugin-syntax-dynamic-import" "^7.8.3" + +"@babel/plugin-proposal-export-namespace-from@^7.18.9": + version "7.18.9" + resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-export-namespace-from/-/plugin-proposal-export-namespace-from-7.18.9.tgz#5f7313ab348cdb19d590145f9247540e94761203" + integrity sha512-k1NtHyOMvlDDFeb9G5PhUXuGj8m/wiwojgQVEhJ/fsVsMCpLyOP4h0uGEjYJKrRI+EVPlb5Jk+Gt9P97lOGwtA== + dependencies: + "@babel/helper-plugin-utils" "^7.18.9" + "@babel/plugin-syntax-export-namespace-from" "^7.8.3" + +"@babel/plugin-proposal-json-strings@^7.18.6": + version "7.18.6" + resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-json-strings/-/plugin-proposal-json-strings-7.18.6.tgz#7e8788c1811c393aff762817e7dbf1ebd0c05f0b" + integrity sha512-lr1peyn9kOdbYc0xr0OdHTZ5FMqS6Di+H0Fz2I/JwMzGmzJETNeOFq2pBySw6X/KFL5EWDjlJuMsUGRFb8fQgQ== + dependencies: + "@babel/helper-plugin-utils" "^7.18.6" + "@babel/plugin-syntax-json-strings" "^7.8.3" + +"@babel/plugin-proposal-logical-assignment-operators@^7.18.9": + version "7.20.7" + resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-logical-assignment-operators/-/plugin-proposal-logical-assignment-operators-7.20.7.tgz#dfbcaa8f7b4d37b51e8bfb46d94a5aea2bb89d83" + integrity sha512-y7C7cZgpMIjWlKE5T7eJwp+tnRYM89HmRvWM5EQuB5BoHEONjmQ8lSNmBUwOyy/GFRsohJED51YBF79hE1djug== + dependencies: + "@babel/helper-plugin-utils" "^7.20.2" + "@babel/plugin-syntax-logical-assignment-operators" "^7.10.4" + +"@babel/plugin-proposal-nullish-coalescing-operator@^7.18.6": + version "7.18.6" + resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-nullish-coalescing-operator/-/plugin-proposal-nullish-coalescing-operator-7.18.6.tgz#fdd940a99a740e577d6c753ab6fbb43fdb9467e1" + integrity sha512-wQxQzxYeJqHcfppzBDnm1yAY0jSRkUXR2z8RePZYrKwMKgMlE8+Z6LUno+bd6LvbGh8Gltvy74+9pIYkr+XkKA== + dependencies: + "@babel/helper-plugin-utils" "^7.18.6" + "@babel/plugin-syntax-nullish-coalescing-operator" "^7.8.3" + +"@babel/plugin-proposal-numeric-separator@^7.18.6": + version "7.18.6" + resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-numeric-separator/-/plugin-proposal-numeric-separator-7.18.6.tgz#899b14fbafe87f053d2c5ff05b36029c62e13c75" + integrity sha512-ozlZFogPqoLm8WBr5Z8UckIoE4YQ5KESVcNudyXOR8uqIkliTEgJ3RoketfG6pmzLdeZF0H/wjE9/cCEitBl7Q== + dependencies: + "@babel/helper-plugin-utils" "^7.18.6" + "@babel/plugin-syntax-numeric-separator" "^7.10.4" + +"@babel/plugin-proposal-object-rest-spread@^7.20.2": + version "7.20.7" + resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-object-rest-spread/-/plugin-proposal-object-rest-spread-7.20.7.tgz#aa662940ef425779c75534a5c41e9d936edc390a" + integrity sha512-d2S98yCiLxDVmBmE8UjGcfPvNEUbA1U5q5WxaWFUGRzJSVAZqm5W6MbPct0jxnegUZ0niLeNX+IOzEs7wYg9Dg== + dependencies: + "@babel/compat-data" "^7.20.5" + "@babel/helper-compilation-targets" "^7.20.7" + "@babel/helper-plugin-utils" "^7.20.2" + "@babel/plugin-syntax-object-rest-spread" "^7.8.3" + "@babel/plugin-transform-parameters" "^7.20.7" + +"@babel/plugin-proposal-optional-catch-binding@^7.18.6": + version "7.18.6" + resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-optional-catch-binding/-/plugin-proposal-optional-catch-binding-7.18.6.tgz#f9400d0e6a3ea93ba9ef70b09e72dd6da638a2cb" + integrity sha512-Q40HEhs9DJQyaZfUjjn6vE8Cv4GmMHCYuMGIWUnlxH6400VGxOuwWsPt4FxXxJkC/5eOzgn0z21M9gMT4MOhbw== + dependencies: + "@babel/helper-plugin-utils" "^7.18.6" + "@babel/plugin-syntax-optional-catch-binding" "^7.8.3" + +"@babel/plugin-proposal-optional-chaining@^7.18.9": + version "7.21.0" + resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-optional-chaining/-/plugin-proposal-optional-chaining-7.21.0.tgz#886f5c8978deb7d30f678b2e24346b287234d3ea" + integrity sha512-p4zeefM72gpmEe2fkUr/OnOXpWEf8nAgk7ZYVqqfFiyIG7oFfVZcCrU64hWn5xp4tQ9LkV4bTIa5rD0KANpKNA== + dependencies: + "@babel/helper-plugin-utils" "^7.20.2" + "@babel/helper-skip-transparent-expression-wrappers" "^7.20.0" + "@babel/plugin-syntax-optional-chaining" "^7.8.3" + +"@babel/plugin-proposal-private-methods@^7.18.6": + version "7.18.6" + resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-private-methods/-/plugin-proposal-private-methods-7.18.6.tgz#5209de7d213457548a98436fa2882f52f4be6bea" + integrity sha512-nutsvktDItsNn4rpGItSNV2sz1XwS+nfU0Rg8aCx3W3NOKVzdMjJRu0O5OkgDp3ZGICSTbgRpxZoWsxoKRvbeA== + dependencies: + "@babel/helper-create-class-features-plugin" "^7.18.6" + "@babel/helper-plugin-utils" "^7.18.6" + +"@babel/plugin-proposal-private-property-in-object@^7.18.6": + version "7.21.11" + resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-private-property-in-object/-/plugin-proposal-private-property-in-object-7.21.11.tgz#69d597086b6760c4126525cfa154f34631ff272c" + integrity sha512-0QZ8qP/3RLDVBwBFoWAwCtgcDZJVwA5LUJRZU8x2YFfKNuFq161wK3cuGrALu5yiPu+vzwTAg/sMWVNeWeNyaw== + dependencies: + "@babel/helper-annotate-as-pure" "^7.18.6" + "@babel/helper-create-class-features-plugin" "^7.21.0" + "@babel/helper-plugin-utils" "^7.20.2" + "@babel/plugin-syntax-private-property-in-object" "^7.14.5" + +"@babel/plugin-proposal-unicode-property-regex@^7.18.6", "@babel/plugin-proposal-unicode-property-regex@^7.4.4": + version "7.18.6" + resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-unicode-property-regex/-/plugin-proposal-unicode-property-regex-7.18.6.tgz#af613d2cd5e643643b65cded64207b15c85cb78e" + integrity sha512-2BShG/d5yoZyXZfVePH91urL5wTG6ASZU9M4o03lKK8u8UW1y08OMttBSOADTcJrnPMpvDXRG3G8fyLh4ovs8w== + dependencies: + "@babel/helper-create-regexp-features-plugin" "^7.18.6" + "@babel/helper-plugin-utils" "^7.18.6" + +"@babel/plugin-syntax-async-generators@^7.8.4": + version "7.8.4" + resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-async-generators/-/plugin-syntax-async-generators-7.8.4.tgz#a983fb1aeb2ec3f6ed042a210f640e90e786fe0d" + integrity sha512-tycmZxkGfZaxhMRbXlPXuVFpdWlXpir2W4AMhSJgRKzk/eDlIXOhb2LHWoLpDF7TEHylV5zNhykX6KAgHJmTNw== + dependencies: + "@babel/helper-plugin-utils" "^7.8.0" + +"@babel/plugin-syntax-bigint@^7.8.3": + version "7.8.3" + resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-bigint/-/plugin-syntax-bigint-7.8.3.tgz#4c9a6f669f5d0cdf1b90a1671e9a146be5300cea" + integrity sha512-wnTnFlG+YxQm3vDxpGE57Pj0srRU4sHE/mDkt1qv2YJJSeUAec2ma4WLUnUPeKjyrfntVwe/N6dCXpU+zL3Npg== + dependencies: + "@babel/helper-plugin-utils" "^7.8.0" + +"@babel/plugin-syntax-class-properties@^7.12.13", "@babel/plugin-syntax-class-properties@^7.8.3": + version "7.12.13" + resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-class-properties/-/plugin-syntax-class-properties-7.12.13.tgz#b5c987274c4a3a82b89714796931a6b53544ae10" + integrity sha512-fm4idjKla0YahUNgFNLCB0qySdsoPiZP3iQE3rky0mBUtMZ23yDJ9SJdg6dXTSDnulOVqiF3Hgr9nbXvXTQZYA== + dependencies: + "@babel/helper-plugin-utils" "^7.12.13" + +"@babel/plugin-syntax-class-static-block@^7.14.5": + version "7.14.5" + resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-class-static-block/-/plugin-syntax-class-static-block-7.14.5.tgz#195df89b146b4b78b3bf897fd7a257c84659d406" + integrity sha512-b+YyPmr6ldyNnM6sqYeMWE+bgJcJpO6yS4QD7ymxgH34GBPNDM/THBh8iunyvKIZztiwLH4CJZ0RxTk9emgpjw== + dependencies: + "@babel/helper-plugin-utils" "^7.14.5" + +"@babel/plugin-syntax-dynamic-import@^7.8.3": + version "7.8.3" + resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-dynamic-import/-/plugin-syntax-dynamic-import-7.8.3.tgz#62bf98b2da3cd21d626154fc96ee5b3cb68eacb3" + integrity sha512-5gdGbFon+PszYzqs83S3E5mpi7/y/8M9eC90MRTZfduQOYW76ig6SOSPNe41IG5LoP3FGBn2N0RjVDSQiS94kQ== + dependencies: + "@babel/helper-plugin-utils" "^7.8.0" + +"@babel/plugin-syntax-export-namespace-from@^7.8.3": + version "7.8.3" + resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-export-namespace-from/-/plugin-syntax-export-namespace-from-7.8.3.tgz#028964a9ba80dbc094c915c487ad7c4e7a66465a" + integrity sha512-MXf5laXo6c1IbEbegDmzGPwGNTsHZmEy6QGznu5Sh2UCWvueywb2ee+CCE4zQiZstxU9BMoQO9i6zUFSY0Kj0Q== + dependencies: + "@babel/helper-plugin-utils" "^7.8.3" + +"@babel/plugin-syntax-import-assertions@^7.20.0": + version "7.23.3" + resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-import-assertions/-/plugin-syntax-import-assertions-7.23.3.tgz#9c05a7f592982aff1a2768260ad84bcd3f0c77fc" + integrity sha512-lPgDSU+SJLK3xmFDTV2ZRQAiM7UuUjGidwBywFavObCiZc1BeAAcMtHJKUya92hPHO+at63JJPLygilZard8jw== + dependencies: + "@babel/helper-plugin-utils" "^7.22.5" + +"@babel/plugin-syntax-import-meta@^7.8.3": + version "7.10.4" + resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-import-meta/-/plugin-syntax-import-meta-7.10.4.tgz#ee601348c370fa334d2207be158777496521fd51" + integrity sha512-Yqfm+XDx0+Prh3VSeEQCPU81yC+JWZ2pDPFSS4ZdpfZhp4MkFMaDC1UqseovEKwSUpnIL7+vK+Clp7bfh0iD7g== + dependencies: + "@babel/helper-plugin-utils" "^7.10.4" + +"@babel/plugin-syntax-json-strings@^7.8.3": + version "7.8.3" + resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-json-strings/-/plugin-syntax-json-strings-7.8.3.tgz#01ca21b668cd8218c9e640cb6dd88c5412b2c96a" + integrity sha512-lY6kdGpWHvjoe2vk4WrAapEuBR69EMxZl+RoGRhrFGNYVK8mOPAW8VfbT/ZgrFbXlDNiiaxQnAtgVCZ6jv30EA== + dependencies: + "@babel/helper-plugin-utils" "^7.8.0" + +"@babel/plugin-syntax-jsx@^7.7.2": + version "7.23.3" + resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-jsx/-/plugin-syntax-jsx-7.23.3.tgz#8f2e4f8a9b5f9aa16067e142c1ac9cd9f810f473" + integrity sha512-EB2MELswq55OHUoRZLGg/zC7QWUKfNLpE57m/S2yr1uEneIgsTgrSzXP3NXEsMkVn76OlaVVnzN+ugObuYGwhg== + dependencies: + "@babel/helper-plugin-utils" "^7.22.5" + +"@babel/plugin-syntax-logical-assignment-operators@^7.10.4", "@babel/plugin-syntax-logical-assignment-operators@^7.8.3": + version "7.10.4" + resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-logical-assignment-operators/-/plugin-syntax-logical-assignment-operators-7.10.4.tgz#ca91ef46303530448b906652bac2e9fe9941f699" + integrity sha512-d8waShlpFDinQ5MtvGU9xDAOzKH47+FFoney2baFIoMr952hKOLp1HR7VszoZvOsV/4+RRszNY7D17ba0te0ig== + dependencies: + "@babel/helper-plugin-utils" "^7.10.4" + +"@babel/plugin-syntax-nullish-coalescing-operator@^7.8.3": + version "7.8.3" + resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-nullish-coalescing-operator/-/plugin-syntax-nullish-coalescing-operator-7.8.3.tgz#167ed70368886081f74b5c36c65a88c03b66d1a9" + integrity sha512-aSff4zPII1u2QD7y+F8oDsz19ew4IGEJg9SVW+bqwpwtfFleiQDMdzA/R+UlWDzfnHFCxxleFT0PMIrR36XLNQ== + dependencies: + "@babel/helper-plugin-utils" "^7.8.0" + +"@babel/plugin-syntax-numeric-separator@^7.10.4", "@babel/plugin-syntax-numeric-separator@^7.8.3": + version "7.10.4" + resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-numeric-separator/-/plugin-syntax-numeric-separator-7.10.4.tgz#b9b070b3e33570cd9fd07ba7fa91c0dd37b9af97" + integrity sha512-9H6YdfkcK/uOnY/K7/aA2xpzaAgkQn37yzWUMRK7OaPOqOpGS1+n0H5hxT9AUw9EsSjPW8SVyMJwYRtWs3X3ug== + dependencies: + "@babel/helper-plugin-utils" "^7.10.4" + +"@babel/plugin-syntax-object-rest-spread@^7.8.3": + version "7.8.3" + resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-object-rest-spread/-/plugin-syntax-object-rest-spread-7.8.3.tgz#60e225edcbd98a640332a2e72dd3e66f1af55871" + integrity sha512-XoqMijGZb9y3y2XskN+P1wUGiVwWZ5JmoDRwx5+3GmEplNyVM2s2Dg8ILFQm8rWM48orGy5YpI5Bl8U1y7ydlA== + dependencies: + "@babel/helper-plugin-utils" "^7.8.0" + +"@babel/plugin-syntax-optional-catch-binding@^7.8.3": + version "7.8.3" + resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-optional-catch-binding/-/plugin-syntax-optional-catch-binding-7.8.3.tgz#6111a265bcfb020eb9efd0fdfd7d26402b9ed6c1" + integrity sha512-6VPD0Pc1lpTqw0aKoeRTMiB+kWhAoT24PA+ksWSBrFtl5SIRVpZlwN3NNPQjehA2E/91FV3RjLWoVTglWcSV3Q== + dependencies: + "@babel/helper-plugin-utils" "^7.8.0" + +"@babel/plugin-syntax-optional-chaining@^7.8.3": + version "7.8.3" + resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-optional-chaining/-/plugin-syntax-optional-chaining-7.8.3.tgz#4f69c2ab95167e0180cd5336613f8c5788f7d48a" + integrity sha512-KoK9ErH1MBlCPxV0VANkXW2/dw4vlbGDrFgz8bmUsBGYkFRcbRwMh6cIJubdPrkxRwuGdtCk0v/wPTKbQgBjkg== + dependencies: + "@babel/helper-plugin-utils" "^7.8.0" + +"@babel/plugin-syntax-private-property-in-object@^7.14.5": + version "7.14.5" + resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-private-property-in-object/-/plugin-syntax-private-property-in-object-7.14.5.tgz#0dc6671ec0ea22b6e94a1114f857970cd39de1ad" + integrity sha512-0wVnp9dxJ72ZUJDV27ZfbSj6iHLoytYZmh3rFcxNnvsJF3ktkzLDZPy/mA17HGsaQT3/DQsWYX1f1QGWkCoVUg== + dependencies: + "@babel/helper-plugin-utils" "^7.14.5" + +"@babel/plugin-syntax-top-level-await@^7.14.5", "@babel/plugin-syntax-top-level-await@^7.8.3": + version "7.14.5" + resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-top-level-await/-/plugin-syntax-top-level-await-7.14.5.tgz#c1cfdadc35a646240001f06138247b741c34d94c" + integrity sha512-hx++upLv5U1rgYfwe1xBQUhRmU41NEvpUvrp8jkrSCdvGSnM5/qdRMtylJ6PG5OFkBaHkbTAKTnd3/YyESRHFw== + dependencies: + "@babel/helper-plugin-utils" "^7.14.5" + +"@babel/plugin-syntax-typescript@^7.7.2": + version "7.23.3" + resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-typescript/-/plugin-syntax-typescript-7.23.3.tgz#24f460c85dbbc983cd2b9c4994178bcc01df958f" + integrity sha512-9EiNjVJOMwCO+43TqoTrgQ8jMwcAd0sWyXi9RPfIsLTj4R2MADDDQXELhffaUx/uJv2AYcxBgPwH6j4TIA4ytQ== + dependencies: + "@babel/helper-plugin-utils" "^7.22.5" + +"@babel/plugin-transform-arrow-functions@^7.18.6": + version "7.23.3" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-arrow-functions/-/plugin-transform-arrow-functions-7.23.3.tgz#94c6dcfd731af90f27a79509f9ab7fb2120fc38b" + integrity sha512-NzQcQrzaQPkaEwoTm4Mhyl8jI1huEL/WWIEvudjTCMJ9aBZNpsJbMASx7EQECtQQPS/DcnFpo0FIh3LvEO9cxQ== + dependencies: + "@babel/helper-plugin-utils" "^7.22.5" + +"@babel/plugin-transform-async-to-generator@^7.18.6": + version "7.23.3" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-async-to-generator/-/plugin-transform-async-to-generator-7.23.3.tgz#d1f513c7a8a506d43f47df2bf25f9254b0b051fa" + integrity sha512-A7LFsKi4U4fomjqXJlZg/u0ft/n8/7n7lpffUP/ZULx/DtV9SGlNKZolHH6PE8Xl1ngCc0M11OaeZptXVkfKSw== + dependencies: + "@babel/helper-module-imports" "^7.22.15" + "@babel/helper-plugin-utils" "^7.22.5" + "@babel/helper-remap-async-to-generator" "^7.22.20" + +"@babel/plugin-transform-block-scoped-functions@^7.18.6": + version "7.23.3" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-block-scoped-functions/-/plugin-transform-block-scoped-functions-7.23.3.tgz#fe1177d715fb569663095e04f3598525d98e8c77" + integrity sha512-vI+0sIaPIO6CNuM9Kk5VmXcMVRiOpDh7w2zZt9GXzmE/9KD70CUEVhvPR/etAeNK/FAEkhxQtXOzVF3EuRL41A== + dependencies: + "@babel/helper-plugin-utils" "^7.22.5" + +"@babel/plugin-transform-block-scoping@^7.20.2": + version "7.23.4" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-block-scoping/-/plugin-transform-block-scoping-7.23.4.tgz#b2d38589531c6c80fbe25e6b58e763622d2d3cf5" + integrity sha512-0QqbP6B6HOh7/8iNR4CQU2Th/bbRtBp4KS9vcaZd1fZ0wSh5Fyssg0UCIHwxh+ka+pNDREbVLQnHCMHKZfPwfw== + dependencies: + "@babel/helper-plugin-utils" "^7.22.5" + +"@babel/plugin-transform-classes@^7.20.2": + version "7.23.8" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-classes/-/plugin-transform-classes-7.23.8.tgz#d08ae096c240347badd68cdf1b6d1624a6435d92" + integrity sha512-yAYslGsY1bX6Knmg46RjiCiNSwJKv2IUC8qOdYKqMMr0491SXFhcHqOdRDeCRohOOIzwN/90C6mQ9qAKgrP7dg== + dependencies: + "@babel/helper-annotate-as-pure" "^7.22.5" + "@babel/helper-compilation-targets" "^7.23.6" + "@babel/helper-environment-visitor" "^7.22.20" + "@babel/helper-function-name" "^7.23.0" + "@babel/helper-plugin-utils" "^7.22.5" + "@babel/helper-replace-supers" "^7.22.20" + "@babel/helper-split-export-declaration" "^7.22.6" + globals "^11.1.0" + +"@babel/plugin-transform-computed-properties@^7.18.9": + version "7.23.3" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-computed-properties/-/plugin-transform-computed-properties-7.23.3.tgz#652e69561fcc9d2b50ba4f7ac7f60dcf65e86474" + integrity sha512-dTj83UVTLw/+nbiHqQSFdwO9CbTtwq1DsDqm3CUEtDrZNET5rT5E6bIdTlOftDTDLMYxvxHNEYO4B9SLl8SLZw== + dependencies: + "@babel/helper-plugin-utils" "^7.22.5" + "@babel/template" "^7.22.15" + +"@babel/plugin-transform-destructuring@^7.20.2": + version "7.23.3" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-destructuring/-/plugin-transform-destructuring-7.23.3.tgz#8c9ee68228b12ae3dff986e56ed1ba4f3c446311" + integrity sha512-n225npDqjDIr967cMScVKHXJs7rout1q+tt50inyBCPkyZ8KxeI6d+GIbSBTT/w/9WdlWDOej3V9HE5Lgk57gw== + dependencies: + "@babel/helper-plugin-utils" "^7.22.5" + +"@babel/plugin-transform-dotall-regex@^7.18.6", "@babel/plugin-transform-dotall-regex@^7.4.4": + version "7.23.3" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-dotall-regex/-/plugin-transform-dotall-regex-7.23.3.tgz#3f7af6054882ede89c378d0cf889b854a993da50" + integrity sha512-vgnFYDHAKzFaTVp+mneDsIEbnJ2Np/9ng9iviHw3P/KVcgONxpNULEW/51Z/BaFojG2GI2GwwXck5uV1+1NOYQ== + dependencies: + "@babel/helper-create-regexp-features-plugin" "^7.22.15" + "@babel/helper-plugin-utils" "^7.22.5" + +"@babel/plugin-transform-duplicate-keys@^7.18.9": + version "7.23.3" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-duplicate-keys/-/plugin-transform-duplicate-keys-7.23.3.tgz#664706ca0a5dfe8d066537f99032fc1dc8b720ce" + integrity sha512-RrqQ+BQmU3Oyav3J+7/myfvRCq7Tbz+kKLLshUmMwNlDHExbGL7ARhajvoBJEvc+fCguPPu887N+3RRXBVKZUA== + dependencies: + "@babel/helper-plugin-utils" "^7.22.5" + +"@babel/plugin-transform-exponentiation-operator@^7.18.6": + version "7.23.3" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-exponentiation-operator/-/plugin-transform-exponentiation-operator-7.23.3.tgz#ea0d978f6b9232ba4722f3dbecdd18f450babd18" + integrity sha512-5fhCsl1odX96u7ILKHBj4/Y8vipoqwsJMh4csSA8qFfxrZDEA4Ssku2DyNvMJSmZNOEBT750LfFPbtrnTP90BQ== + dependencies: + "@babel/helper-builder-binary-assignment-operator-visitor" "^7.22.15" + "@babel/helper-plugin-utils" "^7.22.5" + +"@babel/plugin-transform-for-of@^7.18.8": + version "7.23.6" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-for-of/-/plugin-transform-for-of-7.23.6.tgz#81c37e24171b37b370ba6aaffa7ac86bcb46f94e" + integrity sha512-aYH4ytZ0qSuBbpfhuofbg/e96oQ7U2w1Aw/UQmKT+1l39uEhUPoFS3fHevDc1G0OvewyDudfMKY1OulczHzWIw== + dependencies: + "@babel/helper-plugin-utils" "^7.22.5" + "@babel/helper-skip-transparent-expression-wrappers" "^7.22.5" + +"@babel/plugin-transform-function-name@^7.18.9": + version "7.23.3" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-function-name/-/plugin-transform-function-name-7.23.3.tgz#8f424fcd862bf84cb9a1a6b42bc2f47ed630f8dc" + integrity sha512-I1QXp1LxIvt8yLaib49dRW5Okt7Q4oaxao6tFVKS/anCdEOMtYwWVKoiOA1p34GOWIZjUK0E+zCp7+l1pfQyiw== + dependencies: + "@babel/helper-compilation-targets" "^7.22.15" + "@babel/helper-function-name" "^7.23.0" + "@babel/helper-plugin-utils" "^7.22.5" + +"@babel/plugin-transform-literals@^7.18.9": + version "7.23.3" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-literals/-/plugin-transform-literals-7.23.3.tgz#8214665f00506ead73de157eba233e7381f3beb4" + integrity sha512-wZ0PIXRxnwZvl9AYpqNUxpZ5BiTGrYt7kueGQ+N5FiQ7RCOD4cm8iShd6S6ggfVIWaJf2EMk8eRzAh52RfP4rQ== + dependencies: + "@babel/helper-plugin-utils" "^7.22.5" + +"@babel/plugin-transform-member-expression-literals@^7.18.6": + version "7.23.3" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-member-expression-literals/-/plugin-transform-member-expression-literals-7.23.3.tgz#e37b3f0502289f477ac0e776b05a833d853cabcc" + integrity sha512-sC3LdDBDi5x96LA+Ytekz2ZPk8i/Ck+DEuDbRAll5rknJ5XRTSaPKEYwomLcs1AA8wg9b3KjIQRsnApj+q51Ag== + dependencies: + "@babel/helper-plugin-utils" "^7.22.5" + +"@babel/plugin-transform-modules-amd@^7.19.6": + version "7.23.3" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-modules-amd/-/plugin-transform-modules-amd-7.23.3.tgz#e19b55436a1416829df0a1afc495deedfae17f7d" + integrity sha512-vJYQGxeKM4t8hYCKVBlZX/gtIY2I7mRGFNcm85sgXGMTBcoV3QdVtdpbcWEbzbfUIUZKwvgFT82mRvaQIebZzw== + dependencies: + "@babel/helper-module-transforms" "^7.23.3" + "@babel/helper-plugin-utils" "^7.22.5" + +"@babel/plugin-transform-modules-commonjs@^7.19.6": + version "7.23.3" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-modules-commonjs/-/plugin-transform-modules-commonjs-7.23.3.tgz#661ae831b9577e52be57dd8356b734f9700b53b4" + integrity sha512-aVS0F65LKsdNOtcz6FRCpE4OgsP2OFnW46qNxNIX9h3wuzaNcSQsJysuMwqSibC98HPrf2vCgtxKNwS0DAlgcA== + dependencies: + "@babel/helper-module-transforms" "^7.23.3" + "@babel/helper-plugin-utils" "^7.22.5" + "@babel/helper-simple-access" "^7.22.5" + +"@babel/plugin-transform-modules-systemjs@^7.19.6": + version "7.23.9" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-modules-systemjs/-/plugin-transform-modules-systemjs-7.23.9.tgz#105d3ed46e4a21d257f83a2f9e2ee4203ceda6be" + integrity sha512-KDlPRM6sLo4o1FkiSlXoAa8edLXFsKKIda779fbLrvmeuc3itnjCtaO6RrtoaANsIJANj+Vk1zqbZIMhkCAHVw== + dependencies: + "@babel/helper-hoist-variables" "^7.22.5" + "@babel/helper-module-transforms" "^7.23.3" + "@babel/helper-plugin-utils" "^7.22.5" + "@babel/helper-validator-identifier" "^7.22.20" + +"@babel/plugin-transform-modules-umd@^7.18.6": + version "7.23.3" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-modules-umd/-/plugin-transform-modules-umd-7.23.3.tgz#5d4395fccd071dfefe6585a4411aa7d6b7d769e9" + integrity sha512-zHsy9iXX2nIsCBFPud3jKn1IRPWg3Ing1qOZgeKV39m1ZgIdpJqvlWVeiHBZC6ITRG0MfskhYe9cLgntfSFPIg== + dependencies: + "@babel/helper-module-transforms" "^7.23.3" + "@babel/helper-plugin-utils" "^7.22.5" + +"@babel/plugin-transform-named-capturing-groups-regex@^7.19.1": + version "7.22.5" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-named-capturing-groups-regex/-/plugin-transform-named-capturing-groups-regex-7.22.5.tgz#67fe18ee8ce02d57c855185e27e3dc959b2e991f" + integrity sha512-YgLLKmS3aUBhHaxp5hi1WJTgOUb/NCuDHzGT9z9WTt3YG+CPRhJs6nprbStx6DnWM4dh6gt7SU3sZodbZ08adQ== + dependencies: + "@babel/helper-create-regexp-features-plugin" "^7.22.5" + "@babel/helper-plugin-utils" "^7.22.5" + +"@babel/plugin-transform-new-target@^7.18.6": + version "7.23.3" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-new-target/-/plugin-transform-new-target-7.23.3.tgz#5491bb78ed6ac87e990957cea367eab781c4d980" + integrity sha512-YJ3xKqtJMAT5/TIZnpAR3I+K+WaDowYbN3xyxI8zxx/Gsypwf9B9h0VB+1Nh6ACAAPRS5NSRje0uVv5i79HYGQ== + dependencies: + "@babel/helper-plugin-utils" "^7.22.5" + +"@babel/plugin-transform-object-super@^7.18.6": + version "7.23.3" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-object-super/-/plugin-transform-object-super-7.23.3.tgz#81fdb636dcb306dd2e4e8fd80db5b2362ed2ebcd" + integrity sha512-BwQ8q0x2JG+3lxCVFohg+KbQM7plfpBwThdW9A6TMtWwLsbDA01Ek2Zb/AgDN39BiZsExm4qrXxjk+P1/fzGrA== + dependencies: + "@babel/helper-plugin-utils" "^7.22.5" + "@babel/helper-replace-supers" "^7.22.20" + +"@babel/plugin-transform-optional-chaining@^7.23.3": + version "7.23.4" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-optional-chaining/-/plugin-transform-optional-chaining-7.23.4.tgz#6acf61203bdfc4de9d4e52e64490aeb3e52bd017" + integrity sha512-ZU8y5zWOfjM5vZ+asjgAPwDaBjJzgufjES89Rs4Lpq63O300R/kOz30WCLo6BxxX6QVEilwSlpClnG5cZaikTA== + dependencies: + "@babel/helper-plugin-utils" "^7.22.5" + "@babel/helper-skip-transparent-expression-wrappers" "^7.22.5" + "@babel/plugin-syntax-optional-chaining" "^7.8.3" + +"@babel/plugin-transform-parameters@^7.20.1", "@babel/plugin-transform-parameters@^7.20.7": + version "7.23.3" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-parameters/-/plugin-transform-parameters-7.23.3.tgz#83ef5d1baf4b1072fa6e54b2b0999a7b2527e2af" + integrity sha512-09lMt6UsUb3/34BbECKVbVwrT9bO6lILWln237z7sLaWnMsTi7Yc9fhX5DLpkJzAGfaReXI22wP41SZmnAA3Vw== + dependencies: + "@babel/helper-plugin-utils" "^7.22.5" + +"@babel/plugin-transform-property-literals@^7.18.6": + version "7.23.3" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-property-literals/-/plugin-transform-property-literals-7.23.3.tgz#54518f14ac4755d22b92162e4a852d308a560875" + integrity sha512-jR3Jn3y7cZp4oEWPFAlRsSWjxKe4PZILGBSd4nis1TsC5qeSpb+nrtihJuDhNI7QHiVbUaiXa0X2RZY3/TI6Nw== + dependencies: + "@babel/helper-plugin-utils" "^7.22.5" + +"@babel/plugin-transform-regenerator@^7.18.6": + version "7.23.3" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-regenerator/-/plugin-transform-regenerator-7.23.3.tgz#141afd4a2057298602069fce7f2dc5173e6c561c" + integrity sha512-KP+75h0KghBMcVpuKisx3XTu9Ncut8Q8TuvGO4IhY+9D5DFEckQefOuIsB/gQ2tG71lCke4NMrtIPS8pOj18BQ== + dependencies: + "@babel/helper-plugin-utils" "^7.22.5" + regenerator-transform "^0.15.2" + +"@babel/plugin-transform-reserved-words@^7.18.6": + version "7.23.3" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-reserved-words/-/plugin-transform-reserved-words-7.23.3.tgz#4130dcee12bd3dd5705c587947eb715da12efac8" + integrity sha512-QnNTazY54YqgGxwIexMZva9gqbPa15t/x9VS+0fsEFWplwVpXYZivtgl43Z1vMpc1bdPP2PP8siFeVcnFvA3Cg== + dependencies: + "@babel/helper-plugin-utils" "^7.22.5" + +"@babel/plugin-transform-shorthand-properties@^7.18.6": + version "7.23.3" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-shorthand-properties/-/plugin-transform-shorthand-properties-7.23.3.tgz#97d82a39b0e0c24f8a981568a8ed851745f59210" + integrity sha512-ED2fgqZLmexWiN+YNFX26fx4gh5qHDhn1O2gvEhreLW2iI63Sqm4llRLCXALKrCnbN4Jy0VcMQZl/SAzqug/jg== + dependencies: + "@babel/helper-plugin-utils" "^7.22.5" + +"@babel/plugin-transform-spread@^7.19.0": + version "7.23.3" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-spread/-/plugin-transform-spread-7.23.3.tgz#41d17aacb12bde55168403c6f2d6bdca563d362c" + integrity sha512-VvfVYlrlBVu+77xVTOAoxQ6mZbnIq5FM0aGBSFEcIh03qHf+zNqA4DC/3XMUozTg7bZV3e3mZQ0i13VB6v5yUg== + dependencies: + "@babel/helper-plugin-utils" "^7.22.5" + "@babel/helper-skip-transparent-expression-wrappers" "^7.22.5" + +"@babel/plugin-transform-sticky-regex@^7.18.6": + version "7.23.3" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-sticky-regex/-/plugin-transform-sticky-regex-7.23.3.tgz#dec45588ab4a723cb579c609b294a3d1bd22ff04" + integrity sha512-HZOyN9g+rtvnOU3Yh7kSxXrKbzgrm5X4GncPY1QOquu7epga5MxKHVpYu2hvQnry/H+JjckSYRb93iNfsioAGg== + dependencies: + "@babel/helper-plugin-utils" "^7.22.5" + +"@babel/plugin-transform-template-literals@^7.18.9": + version "7.23.3" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-template-literals/-/plugin-transform-template-literals-7.23.3.tgz#5f0f028eb14e50b5d0f76be57f90045757539d07" + integrity sha512-Flok06AYNp7GV2oJPZZcP9vZdszev6vPBkHLwxwSpaIqx75wn6mUd3UFWsSsA0l8nXAKkyCmL/sR02m8RYGeHg== + dependencies: + "@babel/helper-plugin-utils" "^7.22.5" + +"@babel/plugin-transform-typeof-symbol@^7.18.9": + version "7.23.3" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-typeof-symbol/-/plugin-transform-typeof-symbol-7.23.3.tgz#9dfab97acc87495c0c449014eb9c547d8966bca4" + integrity sha512-4t15ViVnaFdrPC74be1gXBSMzXk3B4Us9lP7uLRQHTFpV5Dvt33pn+2MyyNxmN3VTTm3oTrZVMUmuw3oBnQ2oQ== + dependencies: + "@babel/helper-plugin-utils" "^7.22.5" + +"@babel/plugin-transform-unicode-escapes@^7.18.10": + version "7.23.3" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-unicode-escapes/-/plugin-transform-unicode-escapes-7.23.3.tgz#1f66d16cab01fab98d784867d24f70c1ca65b925" + integrity sha512-OMCUx/bU6ChE3r4+ZdylEqAjaQgHAgipgW8nsCfu5pGqDcFytVd91AwRvUJSBZDz0exPGgnjoqhgRYLRjFZc9Q== + dependencies: + "@babel/helper-plugin-utils" "^7.22.5" + +"@babel/plugin-transform-unicode-regex@^7.18.6": + version "7.23.3" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-unicode-regex/-/plugin-transform-unicode-regex-7.23.3.tgz#26897708d8f42654ca4ce1b73e96140fbad879dc" + integrity sha512-wMHpNA4x2cIA32b/ci3AfwNgheiva2W0WUKWTK7vBHBhDKfPsc5cFGNWm69WBqpwd86u1qwZ9PWevKqm1A3yAw== + dependencies: + "@babel/helper-create-regexp-features-plugin" "^7.22.15" + "@babel/helper-plugin-utils" "^7.22.5" + +"@babel/preset-env@7.20.2": + version "7.20.2" + resolved "https://registry.yarnpkg.com/@babel/preset-env/-/preset-env-7.20.2.tgz#9b1642aa47bb9f43a86f9630011780dab7f86506" + integrity sha512-1G0efQEWR1EHkKvKHqbG+IN/QdgwfByUpM5V5QroDzGV2t3S/WXNQd693cHiHTlCFMpr9B6FkPFXDA2lQcKoDg== + dependencies: + "@babel/compat-data" "^7.20.1" + "@babel/helper-compilation-targets" "^7.20.0" + "@babel/helper-plugin-utils" "^7.20.2" + "@babel/helper-validator-option" "^7.18.6" + "@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression" "^7.18.6" + "@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining" "^7.18.9" + "@babel/plugin-proposal-async-generator-functions" "^7.20.1" + "@babel/plugin-proposal-class-properties" "^7.18.6" + "@babel/plugin-proposal-class-static-block" "^7.18.6" + "@babel/plugin-proposal-dynamic-import" "^7.18.6" + "@babel/plugin-proposal-export-namespace-from" "^7.18.9" + "@babel/plugin-proposal-json-strings" "^7.18.6" + "@babel/plugin-proposal-logical-assignment-operators" "^7.18.9" + "@babel/plugin-proposal-nullish-coalescing-operator" "^7.18.6" + "@babel/plugin-proposal-numeric-separator" "^7.18.6" + "@babel/plugin-proposal-object-rest-spread" "^7.20.2" + "@babel/plugin-proposal-optional-catch-binding" "^7.18.6" + "@babel/plugin-proposal-optional-chaining" "^7.18.9" + "@babel/plugin-proposal-private-methods" "^7.18.6" + "@babel/plugin-proposal-private-property-in-object" "^7.18.6" + "@babel/plugin-proposal-unicode-property-regex" "^7.18.6" + "@babel/plugin-syntax-async-generators" "^7.8.4" + "@babel/plugin-syntax-class-properties" "^7.12.13" + "@babel/plugin-syntax-class-static-block" "^7.14.5" + "@babel/plugin-syntax-dynamic-import" "^7.8.3" + "@babel/plugin-syntax-export-namespace-from" "^7.8.3" + "@babel/plugin-syntax-import-assertions" "^7.20.0" + "@babel/plugin-syntax-json-strings" "^7.8.3" + "@babel/plugin-syntax-logical-assignment-operators" "^7.10.4" + "@babel/plugin-syntax-nullish-coalescing-operator" "^7.8.3" + "@babel/plugin-syntax-numeric-separator" "^7.10.4" + "@babel/plugin-syntax-object-rest-spread" "^7.8.3" + "@babel/plugin-syntax-optional-catch-binding" "^7.8.3" + "@babel/plugin-syntax-optional-chaining" "^7.8.3" + "@babel/plugin-syntax-private-property-in-object" "^7.14.5" + "@babel/plugin-syntax-top-level-await" "^7.14.5" + "@babel/plugin-transform-arrow-functions" "^7.18.6" + "@babel/plugin-transform-async-to-generator" "^7.18.6" + "@babel/plugin-transform-block-scoped-functions" "^7.18.6" + "@babel/plugin-transform-block-scoping" "^7.20.2" + "@babel/plugin-transform-classes" "^7.20.2" + "@babel/plugin-transform-computed-properties" "^7.18.9" + "@babel/plugin-transform-destructuring" "^7.20.2" + "@babel/plugin-transform-dotall-regex" "^7.18.6" + "@babel/plugin-transform-duplicate-keys" "^7.18.9" + "@babel/plugin-transform-exponentiation-operator" "^7.18.6" + "@babel/plugin-transform-for-of" "^7.18.8" + "@babel/plugin-transform-function-name" "^7.18.9" + "@babel/plugin-transform-literals" "^7.18.9" + "@babel/plugin-transform-member-expression-literals" "^7.18.6" + "@babel/plugin-transform-modules-amd" "^7.19.6" + "@babel/plugin-transform-modules-commonjs" "^7.19.6" + "@babel/plugin-transform-modules-systemjs" "^7.19.6" + "@babel/plugin-transform-modules-umd" "^7.18.6" + "@babel/plugin-transform-named-capturing-groups-regex" "^7.19.1" + "@babel/plugin-transform-new-target" "^7.18.6" + "@babel/plugin-transform-object-super" "^7.18.6" + "@babel/plugin-transform-parameters" "^7.20.1" + "@babel/plugin-transform-property-literals" "^7.18.6" + "@babel/plugin-transform-regenerator" "^7.18.6" + "@babel/plugin-transform-reserved-words" "^7.18.6" + "@babel/plugin-transform-shorthand-properties" "^7.18.6" + "@babel/plugin-transform-spread" "^7.19.0" + "@babel/plugin-transform-sticky-regex" "^7.18.6" + "@babel/plugin-transform-template-literals" "^7.18.9" + "@babel/plugin-transform-typeof-symbol" "^7.18.9" + "@babel/plugin-transform-unicode-escapes" "^7.18.10" + "@babel/plugin-transform-unicode-regex" "^7.18.6" + "@babel/preset-modules" "^0.1.5" + "@babel/types" "^7.20.2" + babel-plugin-polyfill-corejs2 "^0.3.3" + babel-plugin-polyfill-corejs3 "^0.6.0" + babel-plugin-polyfill-regenerator "^0.4.1" + core-js-compat "^3.25.1" + semver "^6.3.0" + +"@babel/preset-modules@^0.1.5": + version "0.1.6" + resolved "https://registry.yarnpkg.com/@babel/preset-modules/-/preset-modules-0.1.6.tgz#31bcdd8f19538437339d17af00d177d854d9d458" + integrity sha512-ID2yj6K/4lKfhuU3+EX4UvNbIt7eACFbHmNUjzA+ep+B5971CknnA/9DEWKbRokfbbtblxxxXFJJrH47UEAMVg== + dependencies: + "@babel/helper-plugin-utils" "^7.0.0" + "@babel/plugin-proposal-unicode-property-regex" "^7.4.4" + "@babel/plugin-transform-dotall-regex" "^7.4.4" + "@babel/types" "^7.4.4" + esutils "^2.0.2" + +"@babel/regjsgen@^0.8.0": + version "0.8.0" + resolved "https://registry.yarnpkg.com/@babel/regjsgen/-/regjsgen-0.8.0.tgz#f0ba69b075e1f05fb2825b7fad991e7adbb18310" + integrity sha512-x/rqGMdzj+fWZvCOYForTghzbtqPDZ5gPwaoNGHdgDfF2QA/XZbCBp4Moo5scrkAMPhB7z26XM/AaHuIJdgauA== + +"@babel/runtime@^7.0.0", "@babel/runtime@^7.1.2", "@babel/runtime@^7.10.1", "@babel/runtime@^7.11.1", "@babel/runtime@^7.11.2", "@babel/runtime@^7.12.0", "@babel/runtime@^7.12.1", "@babel/runtime@^7.12.13", "@babel/runtime@^7.12.5", "@babel/runtime@^7.15.4", "@babel/runtime@^7.18.0", "@babel/runtime@^7.18.3", "@babel/runtime@^7.20.0", "@babel/runtime@^7.20.6", "@babel/runtime@^7.20.7", "@babel/runtime@^7.23.2", "@babel/runtime@^7.5.5", "@babel/runtime@^7.6.2", "@babel/runtime@^7.8.4", "@babel/runtime@^7.8.7", "@babel/runtime@^7.9.2": + version "7.23.9" + resolved "https://registry.yarnpkg.com/@babel/runtime/-/runtime-7.23.9.tgz#47791a15e4603bb5f905bc0753801cf21d6345f7" + integrity sha512-0CX6F+BI2s9dkUqr08KFrAIZgNFj75rdBU/DjCyYLIaV/quFjkk6T+EJ2LkZHyZTbEV4L5p97mNkUsHl2wLFAw== + dependencies: + regenerator-runtime "^0.14.0" + +"@babel/template@^7.18.10", "@babel/template@^7.22.15", "@babel/template@^7.23.9", "@babel/template@^7.3.3": + version "7.23.9" + resolved "https://registry.yarnpkg.com/@babel/template/-/template-7.23.9.tgz#f881d0487cba2828d3259dcb9ef5005a9731011a" + integrity sha512-+xrD2BWLpvHKNmX2QbpdpsBaWnRxahMwJjO+KZk2JOElj5nSmKezyS1B4u+QbHMTX69t4ukm6hh9lsYQ7GHCKA== + dependencies: + "@babel/code-frame" "^7.23.5" + "@babel/parser" "^7.23.9" + "@babel/types" "^7.23.9" + +"@babel/traverse@^7.20.5", "@babel/traverse@^7.23.9": + version "7.23.9" + resolved "https://registry.yarnpkg.com/@babel/traverse/-/traverse-7.23.9.tgz#2f9d6aead6b564669394c5ce0f9302bb65b9d950" + integrity sha512-I/4UJ9vs90OkBtY6iiiTORVMyIhJ4kAVmsKo9KFc8UOxMeUfi2hvtIBsET5u9GizXE6/GFSuKCTNfgCswuEjRg== + dependencies: + "@babel/code-frame" "^7.23.5" + "@babel/generator" "^7.23.6" + "@babel/helper-environment-visitor" "^7.22.20" + "@babel/helper-function-name" "^7.23.0" + "@babel/helper-hoist-variables" "^7.22.5" + "@babel/helper-split-export-declaration" "^7.22.6" + "@babel/parser" "^7.23.9" + "@babel/types" "^7.23.9" + debug "^4.3.1" + globals "^11.1.0" + +"@babel/types@^7.0.0", "@babel/types@^7.20.2", "@babel/types@^7.20.5", "@babel/types@^7.20.7", "@babel/types@^7.22.15", "@babel/types@^7.22.19", "@babel/types@^7.22.5", "@babel/types@^7.23.0", "@babel/types@^7.23.6", "@babel/types@^7.23.9", "@babel/types@^7.3.3", "@babel/types@^7.4.4": + version "7.23.9" + resolved "https://registry.yarnpkg.com/@babel/types/-/types-7.23.9.tgz#1dd7b59a9a2b5c87f8b41e52770b5ecbf492e002" + integrity sha512-dQjSq/7HaSjRM43FFGnv5keM2HsxpmyV1PfaSVm0nzzjwwTmjOe6J4bC8e3+pTEIgHaHj+1ZlLThRJ2auc/w1Q== + dependencies: + "@babel/helper-string-parser" "^7.23.4" + "@babel/helper-validator-identifier" "^7.22.20" + to-fast-properties "^2.0.0" + +"@bcoe/v8-coverage@^0.2.3": + version "0.2.3" + resolved "https://registry.yarnpkg.com/@bcoe/v8-coverage/-/v8-coverage-0.2.3.tgz#75a2e8b51cb758a7553d6804a5932d7aace75c39" + integrity sha512-0hYQ8SB4Db5zvZB4axdMHGwEaQjkZzFjQiN9LVYvIFB2nSUHW9tYpxWriPrWDASIxiaXax83REcLxuSdnGPZtw== + +"@braintree/sanitize-url@6.0.2": + version "6.0.2" + resolved "https://registry.yarnpkg.com/@braintree/sanitize-url/-/sanitize-url-6.0.2.tgz#6110f918d273fe2af8ea1c4398a88774bb9fc12f" + integrity sha512-Tbsj02wXCbqGmzdnXNk0SOF19ChhRU70BsroIi4Pm6Ehp56in6vch94mfbdQ17DozxkL3BAVjbZ4Qc1a0HFRAg== + +"@colors/colors@1.5.0": + version "1.5.0" + resolved "https://registry.yarnpkg.com/@colors/colors/-/colors-1.5.0.tgz#bb504579c1cae923e6576a4f5da43d25f97bdbd9" + integrity sha512-ooWCrlZP11i8GImSjTHYHLkvFDP48nS4+204nGb1RiX/WXYHmJA2III9/e2DWVabCESdW7hBAEzHRqUn9OUVvQ== + +"@cspotcode/source-map-support@^0.8.0": + version "0.8.1" + resolved "https://registry.yarnpkg.com/@cspotcode/source-map-support/-/source-map-support-0.8.1.tgz#00629c35a688e05a88b1cda684fb9d5e73f000a1" + integrity sha512-IchNf6dN4tHoMFIn/7OE8LWZ19Y6q/67Bmf6vnGREv8RSbBVb9LPJxEcnwrcwX6ixSvaiGoomAUvu4YSxXrVgw== + dependencies: + "@jridgewell/trace-mapping" "0.3.9" + +"@cypress/request@^2.88.10": + version "2.88.12" + resolved "https://registry.yarnpkg.com/@cypress/request/-/request-2.88.12.tgz#ba4911431738494a85e93fb04498cb38bc55d590" + integrity sha512-tOn+0mDZxASFM+cuAP9szGUGPI1HwWVSvdzm7V4cCsPdFTx6qMj29CwaQmRAMIEhORIUBFBsYROYJcveK4uOjA== + dependencies: + aws-sign2 "~0.7.0" + aws4 "^1.8.0" + caseless "~0.12.0" + combined-stream "~1.0.6" + extend "~3.0.2" + forever-agent "~0.6.1" + form-data "~2.3.2" + http-signature "~1.3.6" + is-typedarray "~1.0.0" + isstream "~0.1.2" + json-stringify-safe "~5.0.1" + mime-types "~2.1.19" + performance-now "^2.1.0" + qs "~6.10.3" + safe-buffer "^5.1.2" + tough-cookie "^4.1.3" + tunnel-agent "^0.6.0" + uuid "^8.3.2" + +"@cypress/webpack-preprocessor@5.17.0": + version "5.17.0" + resolved "https://registry.yarnpkg.com/@cypress/webpack-preprocessor/-/webpack-preprocessor-5.17.0.tgz#3f58cf333c5931094780e3ca14c9302a1965025e" + integrity sha512-HyFqHkrOrIIYOt4G+r3VK0kVYTcev1tEcqBI/0DJ4AzEuEgW/TB+cX56txy4Cgn60XXdJoul2utclZwUqOsPZA== + dependencies: + bluebird "3.7.1" + debug "^4.3.4" + lodash "^4.17.20" + +"@cypress/xvfb@^1.2.4": + version "1.2.4" + resolved "https://registry.yarnpkg.com/@cypress/xvfb/-/xvfb-1.2.4.tgz#2daf42e8275b39f4aa53c14214e557bd14e7748a" + integrity sha512-skbBzPggOVYCbnGgV+0dmBdW/s77ZkAOXIC1knS8NagwDjBrNC1LuXtQJeiN6l+m7lzmHtaoUw/ctJKdqkG57Q== + dependencies: + debug "^3.1.0" + lodash.once "^4.1.1" + +"@discoveryjs/json-ext@^0.5.0": + version "0.5.7" + resolved "https://registry.yarnpkg.com/@discoveryjs/json-ext/-/json-ext-0.5.7.tgz#1d572bfbbe14b7704e0ba0f39b74815b84870d70" + integrity sha512-dBVuXR082gk3jsFp7Rd/JI4kytwGHecnCoTtXFb7DB6CNHp4rg5k1bhg0nWdLGLnOV71lmDzGQaLMy8iPLY0pw== + +"@emotion/babel-plugin@^11.10.6", "@emotion/babel-plugin@^11.11.0": + version "11.11.0" + resolved "https://registry.yarnpkg.com/@emotion/babel-plugin/-/babel-plugin-11.11.0.tgz#c2d872b6a7767a9d176d007f5b31f7d504bb5d6c" + integrity sha512-m4HEDZleaaCH+XgDDsPF15Ht6wTLsgDTeR3WYj9Q/k76JtWhrJjcP4+/XlG8LGT/Rol9qUfOIztXeA84ATpqPQ== + dependencies: + "@babel/helper-module-imports" "^7.16.7" + "@babel/runtime" "^7.18.3" + "@emotion/hash" "^0.9.1" + "@emotion/memoize" "^0.8.1" + "@emotion/serialize" "^1.1.2" + babel-plugin-macros "^3.1.0" + convert-source-map "^1.5.0" + escape-string-regexp "^4.0.0" + find-root "^1.1.0" + source-map "^0.5.7" + stylis "4.2.0" + +"@emotion/cache@^11.10.5", "@emotion/cache@^11.11.0", "@emotion/cache@^11.4.0": + version "11.11.0" + resolved "https://registry.yarnpkg.com/@emotion/cache/-/cache-11.11.0.tgz#809b33ee6b1cb1a625fef7a45bc568ccd9b8f3ff" + integrity sha512-P34z9ssTCBi3e9EI1ZsWpNHcfY1r09ZO0rZbRO2ob3ZQMnFI35jB536qoXbkdesr5EUhYi22anuEJuyxifaqAQ== + dependencies: + "@emotion/memoize" "^0.8.1" + "@emotion/sheet" "^1.2.2" + "@emotion/utils" "^1.2.1" + "@emotion/weak-memoize" "^0.3.1" + stylis "4.2.0" + +"@emotion/css@11.10.6": + version "11.10.6" + resolved "https://registry.yarnpkg.com/@emotion/css/-/css-11.10.6.tgz#5d226fdd8ef2a46d28e4eb09f66dc01a3bda5a04" + integrity sha512-88Sr+3heKAKpj9PCqq5A1hAmAkoSIvwEq1O2TwDij7fUtsJpdkV4jMTISSTouFeRvsGvXIpuSuDQ4C1YdfNGXw== + dependencies: + "@emotion/babel-plugin" "^11.10.6" + "@emotion/cache" "^11.10.5" + "@emotion/serialize" "^1.1.1" + "@emotion/sheet" "^1.2.1" + "@emotion/utils" "^1.2.0" + +"@emotion/hash@^0.9.1": + version "0.9.1" + resolved "https://registry.yarnpkg.com/@emotion/hash/-/hash-0.9.1.tgz#4ffb0055f7ef676ebc3a5a91fb621393294e2f43" + integrity sha512-gJB6HLm5rYwSLI6PQa+X1t5CFGrv1J1TWG+sOyMCeKz2ojaj6Fnl/rZEspogG+cvqbt4AE/2eIyD2QfLKTBNlQ== + +"@emotion/memoize@^0.8.1": + version "0.8.1" + resolved "https://registry.yarnpkg.com/@emotion/memoize/-/memoize-0.8.1.tgz#c1ddb040429c6d21d38cc945fe75c818cfb68e17" + integrity sha512-W2P2c/VRW1/1tLox0mVUalvnWXxavmv/Oum2aPsRcoDJuob75FC3Y8FbpfLwUegRcxINtGUMPq0tFCvYNTBXNA== + +"@emotion/react@11.10.6": + version "11.10.6" + resolved "https://registry.yarnpkg.com/@emotion/react/-/react-11.10.6.tgz#dbe5e650ab0f3b1d2e592e6ab1e006e75fd9ac11" + integrity sha512-6HT8jBmcSkfzO7mc+N1L9uwvOnlcGoix8Zn7srt+9ga0MjREo6lRpuVX0kzo6Jp6oTqDhREOFsygN6Ew4fEQbw== + dependencies: + "@babel/runtime" "^7.18.3" + "@emotion/babel-plugin" "^11.10.6" + "@emotion/cache" "^11.10.5" + "@emotion/serialize" "^1.1.1" + "@emotion/use-insertion-effect-with-fallbacks" "^1.0.0" + "@emotion/utils" "^1.2.0" + "@emotion/weak-memoize" "^0.3.0" + hoist-non-react-statics "^3.3.1" + +"@emotion/react@^11.8.1": + version "11.11.3" + resolved "https://registry.yarnpkg.com/@emotion/react/-/react-11.11.3.tgz#96b855dc40a2a55f52a72f518a41db4f69c31a25" + integrity sha512-Cnn0kuq4DoONOMcnoVsTOR8E+AdnKFf//6kUWc4LCdnxj31pZWn7rIULd6Y7/Js1PiPHzn7SKCM9vB/jBni8eA== + dependencies: + "@babel/runtime" "^7.18.3" + "@emotion/babel-plugin" "^11.11.0" + "@emotion/cache" "^11.11.0" + "@emotion/serialize" "^1.1.3" + "@emotion/use-insertion-effect-with-fallbacks" "^1.0.1" + "@emotion/utils" "^1.2.1" + "@emotion/weak-memoize" "^0.3.1" + hoist-non-react-statics "^3.3.1" + +"@emotion/serialize@^1.1.1", "@emotion/serialize@^1.1.2", "@emotion/serialize@^1.1.3": + version "1.1.3" + resolved "https://registry.yarnpkg.com/@emotion/serialize/-/serialize-1.1.3.tgz#84b77bfcfe3b7bb47d326602f640ccfcacd5ffb0" + integrity sha512-iD4D6QVZFDhcbH0RAG1uVu1CwVLMWUkCvAqqlewO/rxf8+87yIBAlt4+AxMiiKPLs5hFc0owNk/sLLAOROw3cA== + dependencies: + "@emotion/hash" "^0.9.1" + "@emotion/memoize" "^0.8.1" + "@emotion/unitless" "^0.8.1" + "@emotion/utils" "^1.2.1" + csstype "^3.0.2" + +"@emotion/sheet@^1.2.1", "@emotion/sheet@^1.2.2": + version "1.2.2" + resolved "https://registry.yarnpkg.com/@emotion/sheet/-/sheet-1.2.2.tgz#d58e788ee27267a14342303e1abb3d508b6d0fec" + integrity sha512-0QBtGvaqtWi+nx6doRwDdBIzhNdZrXUppvTM4dtZZWEGTXL/XE/yJxLMGlDT1Gt+UHH5IX1n+jkXyytE/av7OA== + +"@emotion/unitless@^0.8.1": + version "0.8.1" + resolved "https://registry.yarnpkg.com/@emotion/unitless/-/unitless-0.8.1.tgz#182b5a4704ef8ad91bde93f7a860a88fd92c79a3" + integrity sha512-KOEGMu6dmJZtpadb476IsZBclKvILjopjUii3V+7MnXIQCYh8W3NgNcgwo21n9LXZX6EDIKvqfjYxXebDwxKmQ== + +"@emotion/use-insertion-effect-with-fallbacks@^1.0.0", "@emotion/use-insertion-effect-with-fallbacks@^1.0.1": + version "1.0.1" + resolved "https://registry.yarnpkg.com/@emotion/use-insertion-effect-with-fallbacks/-/use-insertion-effect-with-fallbacks-1.0.1.tgz#08de79f54eb3406f9daaf77c76e35313da963963" + integrity sha512-jT/qyKZ9rzLErtrjGgdkMBn2OP8wl0G3sQlBb3YPryvKHsjvINUhVaPFfP+fpBcOkmrVOVEEHQFJ7nbj2TH2gw== + +"@emotion/utils@^1.2.0", "@emotion/utils@^1.2.1": + version "1.2.1" + resolved "https://registry.yarnpkg.com/@emotion/utils/-/utils-1.2.1.tgz#bbab58465738d31ae4cb3dbb6fc00a5991f755e4" + integrity sha512-Y2tGf3I+XVnajdItskUCn6LX+VUDmP6lTL4fcqsXAv43dnlbZiuW4MWQW38rW/BVWSE7Q/7+XQocmpnRYILUmg== + +"@emotion/weak-memoize@^0.3.0", "@emotion/weak-memoize@^0.3.1": + version "0.3.1" + resolved "https://registry.yarnpkg.com/@emotion/weak-memoize/-/weak-memoize-0.3.1.tgz#d0fce5d07b0620caa282b5131c297bb60f9d87e6" + integrity sha512-EsBwpc7hBUJWAsNPBmJy4hxWx12v6bshQsldrVmjxJoc3isbxhOrF2IcCpaXxfvq03NwkI7sbsOLXbYuqF/8Ww== + +"@es-joy/jsdoccomment@~0.39.4": + version "0.39.4" + resolved "https://registry.yarnpkg.com/@es-joy/jsdoccomment/-/jsdoccomment-0.39.4.tgz#6b8a62e9b3077027837728818d3c4389a898b392" + integrity sha512-Jvw915fjqQct445+yron7Dufix9A+m9j1fCJYlCo1FWlRvTxa3pjJelxdSTdaLWcTwRU6vbL+NYjO4YuNIS5Qg== + dependencies: + comment-parser "1.3.1" + esquery "^1.5.0" + jsdoc-type-pratt-parser "~4.0.0" + +"@eslint-community/eslint-utils@^4.2.0", "@eslint-community/eslint-utils@^4.4.0": + version "4.4.0" + resolved "https://registry.yarnpkg.com/@eslint-community/eslint-utils/-/eslint-utils-4.4.0.tgz#a23514e8fb9af1269d5f7788aa556798d61c6b59" + integrity sha512-1/sA4dwrzBAyeUoQ6oxahHKmrZvsnLCg4RfxW3ZFGGmQkSNQPFNLV9CUEFQP1x9EYXHTo5p6xdhZM1Ne9p/AfA== + dependencies: + eslint-visitor-keys "^3.3.0" + +"@eslint-community/regexpp@^4.4.0": + version "4.10.0" + resolved "https://registry.yarnpkg.com/@eslint-community/regexpp/-/regexpp-4.10.0.tgz#548f6de556857c8bb73bbee70c35dc82a2e74d63" + integrity sha512-Cu96Sd2By9mCNTx2iyKOmq10v22jUVQv0lQnlGNy16oE9589yE+QADPbrMGCkA51cKZSg3Pu/aTJVTGfL/qjUA== + +"@eslint/eslintrc@^2.0.3": + version "2.1.4" + resolved "https://registry.yarnpkg.com/@eslint/eslintrc/-/eslintrc-2.1.4.tgz#388a269f0f25c1b6adc317b5a2c55714894c70ad" + integrity sha512-269Z39MS6wVJtsoUl10L60WdkhJVdPG24Q4eZTH3nnF6lpvSShEK3wQjDX9JRWAUPvPh7COouPpU9IrqaZFvtQ== + dependencies: + ajv "^6.12.4" + debug "^4.3.2" + espree "^9.6.0" + globals "^13.19.0" + ignore "^5.2.0" + import-fresh "^3.2.1" + js-yaml "^4.1.0" + minimatch "^3.1.2" + strip-json-comments "^3.1.1" + +"@eslint/js@8.42.0": + version "8.42.0" + resolved "https://registry.yarnpkg.com/@eslint/js/-/js-8.42.0.tgz#484a1d638de2911e6f5a30c12f49c7e4a3270fb6" + integrity sha512-6SWlXpWU5AvId8Ac7zjzmIOqMOba/JWY8XZ4A7q7Gn1Vlfg/SFFIlrtHXt9nPn4op9ZPAkl91Jao+QQv3r/ukw== + +"@floating-ui/core@^1.6.0": + version "1.6.0" + resolved "https://registry.yarnpkg.com/@floating-ui/core/-/core-1.6.0.tgz#fa41b87812a16bf123122bf945946bae3fdf7fc1" + integrity sha512-PcF++MykgmTj3CIyOQbKA/hDzOAiqI3mhuoN44WRCopIs1sgoDoU4oty4Jtqaj/y3oDU6fnVSm4QG0a3t5i0+g== + dependencies: + "@floating-ui/utils" "^0.2.1" + +"@floating-ui/dom@^1.0.1": + version "1.6.0" + resolved "https://registry.yarnpkg.com/@floating-ui/dom/-/dom-1.6.0.tgz#282f31c5c7d2aaef3999e09f2c06280a020364d1" + integrity sha512-SZ0BEXzsaaS6THZfZJUcAobbZTD+MvfGM42bxgeg0Tnkp4/an/avqwAXiVLsFtIBZtfsx3Ymvwx0+KnnhdA/9g== + dependencies: + "@floating-ui/core" "^1.6.0" + "@floating-ui/utils" "^0.2.1" + +"@floating-ui/utils@^0.2.1": + version "0.2.1" + resolved "https://registry.yarnpkg.com/@floating-ui/utils/-/utils-0.2.1.tgz#16308cea045f0fc777b6ff20a9f25474dd8293d2" + integrity sha512-9TANp6GPoMtYzQdt54kfAyMmz1+osLlXdg2ENroU7zzrtflTLrrC/lgrIfaSe+Wu0b89GKccT7vxXA0MoAIO+Q== + +"@formatjs/ecma402-abstract@1.18.2": + version "1.18.2" + resolved "https://registry.yarnpkg.com/@formatjs/ecma402-abstract/-/ecma402-abstract-1.18.2.tgz#bf103712a406874eb1e387858d5be2371ab3aa14" + integrity sha512-+QoPW4csYALsQIl8GbN14igZzDbuwzcpWrku9nyMXlaqAlwRBgl5V+p0vWMGFqHOw37czNXaP/lEk4wbLgcmtA== + dependencies: + "@formatjs/intl-localematcher" "0.5.4" + tslib "^2.4.0" + +"@formatjs/fast-memoize@2.2.0": + version "2.2.0" + resolved "https://registry.yarnpkg.com/@formatjs/fast-memoize/-/fast-memoize-2.2.0.tgz#33bd616d2e486c3e8ef4e68c99648c196887802b" + integrity sha512-hnk/nY8FyrL5YxwP9e4r9dqeM6cAbo8PeU9UjyXojZMNvVad2Z06FAVHyR3Ecw6fza+0GH7vdJgiKIVXTMbSBA== + dependencies: + tslib "^2.4.0" + +"@formatjs/icu-messageformat-parser@2.7.5": + version "2.7.5" + resolved "https://registry.yarnpkg.com/@formatjs/icu-messageformat-parser/-/icu-messageformat-parser-2.7.5.tgz#6c12c08544eafef874df13b30729daf7b4dbd089" + integrity sha512-zCB53HdGDibh6/2ISEN3TGsFQruQ6gGKMFV94qHNyVrs0tNO6ncKhV0vq0n3Ydz8ipIQ2GaYAvfCoimNOVvKqA== + dependencies: + "@formatjs/ecma402-abstract" "1.18.2" + "@formatjs/icu-skeleton-parser" "1.7.2" + tslib "^2.4.0" + +"@formatjs/icu-skeleton-parser@1.7.2": + version "1.7.2" + resolved "https://registry.yarnpkg.com/@formatjs/icu-skeleton-parser/-/icu-skeleton-parser-1.7.2.tgz#ffbdd535c33249635ad0e54a34813194287a1567" + integrity sha512-nlIXVv280bjGW3ail5Np1+xgGKBnMhwQQIivgbk9xX0af8ESQO+y2VW9TOY7mCrs3WH786uVpZlLimXAlXH7SA== + dependencies: + "@formatjs/ecma402-abstract" "1.18.2" + tslib "^2.4.0" + +"@formatjs/intl-localematcher@0.5.4": + version "0.5.4" + resolved "https://registry.yarnpkg.com/@formatjs/intl-localematcher/-/intl-localematcher-0.5.4.tgz#caa71f2e40d93e37d58be35cfffe57865f2b366f" + integrity sha512-zTwEpWOzZ2CiKcB93BLngUX59hQkuZjT2+SAQEscSm52peDW/getsawMcWF1rGRpMCX6D7nSJA3CzJ8gn13N/g== + dependencies: + tslib "^2.4.0" + +"@grafana/data@10.0.3": + version "10.0.3" + resolved "https://registry.yarnpkg.com/@grafana/data/-/data-10.0.3.tgz#648f4560daf102fe44afad35ac2b95aab29c441e" + integrity sha512-JW2A5DK+D6cmijDP1S/+/yYXz+NN0nElzvYiv1nesrNdd/4tNKPVtokX/bg0jdWgGc6Kpt3wJNv6gkxDQg8+PQ== + dependencies: + "@braintree/sanitize-url" "6.0.2" + "@grafana/schema" "10.0.3" + "@types/d3-interpolate" "^3.0.0" + "@types/string-hash" "1.1.1" + d3-interpolate "3.0.1" + date-fns "2.29.3" + dompurify "^2.4.3" + eventemitter3 "5.0.0" + fast_array_intersect "1.1.0" + history "4.10.1" + lodash "4.17.21" + marked "4.2.12" + moment "2.29.4" + moment-timezone "0.5.41" + ol "7.2.2" + papaparse "5.3.2" + react-use "17.4.0" + regenerator-runtime "0.13.11" + rxjs "7.8.0" + string-hash "^1.1.3" + tinycolor2 "1.6.0" + tslib "2.5.0" + uplot "1.6.24" + xss "^1.0.14" + +"@grafana/e2e-selectors@10.0.2": + version "10.0.2" + resolved "https://registry.yarnpkg.com/@grafana/e2e-selectors/-/e2e-selectors-10.0.2.tgz#98cd7fa01ca21b416db8827980508195554fb5a4" + integrity sha512-3dc+2hL/AJLkOMXiN2UmWU3kOHO4Eqv10AJVOTkpDwecQvWoSS5vtflyPCEWshDqDSE/6k2gB9N2rlZk9O/R5g== + dependencies: + "@grafana/tsconfig" "^1.2.0-rc1" + tslib "2.5.0" + typescript "4.8.4" + +"@grafana/e2e-selectors@10.0.3": + version "10.0.3" + resolved "https://registry.yarnpkg.com/@grafana/e2e-selectors/-/e2e-selectors-10.0.3.tgz#e03521f0d46c4eea8daebf3eddc66e166dedb500" + integrity sha512-GknlCJ6XAjKlYH6mYAtJNSir5naTV2VUJVFeG5O7dRATtzG/bzw9PBaRljWZ0j5AC73lsxb5/A3+H0FpYP3Y1g== + dependencies: + "@grafana/tsconfig" "^1.2.0-rc1" + tslib "2.5.0" + typescript "4.8.4" + +"@grafana/e2e@10.0.3": + version "10.0.3" + resolved "https://registry.yarnpkg.com/@grafana/e2e/-/e2e-10.0.3.tgz#9150b48fcaf6f02336c0b7fd84fa824f12fa11df" + integrity sha512-JRSpHfNPmK2DTBWPabBn8KtmJ8KKnjysvR7Wy7yV2Msg3ryx8+R4CjHXtO3kpVDqxr8KZ7hWQYWxxKxHtV8yUQ== + dependencies: + "@babel/core" "7.20.5" + "@babel/preset-env" "7.20.2" + "@cypress/webpack-preprocessor" "5.17.0" + "@grafana/e2e-selectors" "10.0.3" + "@grafana/tsconfig" "^1.2.0-rc1" + "@mochajs/json-file-reporter" "^1.2.0" + babel-loader "9.1.2" + blink-diff "1.0.13" + chrome-remote-interface "0.32.1" + commander "8.3.0" + cypress "9.5.1" + cypress-file-upload "5.0.8" + devtools-protocol "0.0.1113774" + execa "5.1.1" + lodash "4.17.21" + mocha "10.2.0" + resolve-bin "1.0.1" + rimraf "4.4.0" + tracelib "1.0.1" + ts-loader "8.4.0" + tslib "2.5.0" + typescript "4.8.4" + uuid "9.0.0" + yaml "^2.0.0" + +"@grafana/eslint-config@^6.0.0": + version "6.0.1" + resolved "https://registry.yarnpkg.com/@grafana/eslint-config/-/eslint-config-6.0.1.tgz#70f3e1990ab83591b566dec7bce214a1eb4d09c4" + integrity sha512-Tv6BUyJu2kHjrghkQJGhVCwJfNeyNbf/UqqUDW5j04+R0Y4YgWshZ4FrJibkfJc26/3UvfYSnYd+On1psbQIlA== + dependencies: + "@typescript-eslint/eslint-plugin" "5.59.9" + "@typescript-eslint/parser" "5.59.9" + eslint "8.42.0" + eslint-config-prettier "8.8.0" + eslint-plugin-jsdoc "46.2.6" + eslint-plugin-react "7.32.2" + eslint-plugin-react-hooks "4.6.0" + typescript "4.8.4" + +"@grafana/faro-core@^1.0.2": + version "1.3.6" + resolved "https://registry.yarnpkg.com/@grafana/faro-core/-/faro-core-1.3.6.tgz#7e4f2754e35d683c259af2ee4851aceadbfca8ad" + integrity sha512-1N/VWOIuukvqJUbpGRmendbJSG8hEvMqUV79+jPrhSRjM2VlNsqtFC/0VdW9mpQPpZh2cOyI5bPjuAZsRe7+Xw== + dependencies: + "@opentelemetry/api" "^1.7.0" + "@opentelemetry/otlp-transformer" "^0.45.1" + murmurhash-js "^1.0.0" + +"@grafana/faro-web-sdk@1.0.2": + version "1.0.2" + resolved "https://registry.yarnpkg.com/@grafana/faro-web-sdk/-/faro-web-sdk-1.0.2.tgz#24e305a5d91fccc9c57577606f0adb12ad7f4a93" + integrity sha512-C5Cx1owlhdpa+CSu4s5cBN9jmFGfhdoUilWc9bP0gK5LW/MIPlysYNgE/1jCyYYQekOnQPNAxwBUOx1c0kbDqg== + dependencies: + "@grafana/faro-core" "^1.0.2" + ua-parser-js "^1.0.32" + web-vitals "^3.1.1" + +"@grafana/runtime@10.0.3": + version "10.0.3" + resolved "https://registry.yarnpkg.com/@grafana/runtime/-/runtime-10.0.3.tgz#b1f25634ce48054979f3dcffd5b9b6c8988e27d0" + integrity sha512-yqab2KW67+2S+kKUscniSC8t1HRqzArvbHaYV8t/DVe1u1M3gPvCq3+770p04KZ9C/ienBTV8SnLXsqFQZsqjw== + dependencies: + "@grafana/data" "10.0.3" + "@grafana/e2e-selectors" "10.0.3" + "@grafana/faro-web-sdk" "1.0.2" + "@grafana/ui" "10.0.3" + "@sentry/browser" "6.19.7" + history "4.10.1" + lodash "4.17.21" + rxjs "7.8.0" + systemjs "0.20.19" + tslib "2.5.0" + +"@grafana/scenes@^1.28.0": + version "1.30.0" + resolved "https://registry.yarnpkg.com/@grafana/scenes/-/scenes-1.30.0.tgz#2dbf76488a25fa8ac91abb49fdea6d04d5b6e8f0" + integrity sha512-vrSvziS7FkoGBqexEmMuN7Hp4VvLQZKoo1s58/3ghJ6VYRZCFY/R2XyJC2H+ktMPqZ1lrXcQHGdIEx9csGMQyA== + dependencies: + "@grafana/e2e-selectors" "10.0.2" + react-grid-layout "1.3.4" + react-use "17.4.0" + react-virtualized-auto-sizer "1.0.7" + uuid "^9.0.0" + +"@grafana/schema@10.0.3": + version "10.0.3" + resolved "https://registry.yarnpkg.com/@grafana/schema/-/schema-10.0.3.tgz#d8aaa9aa309d0639258af787bec06ed5b75f356f" + integrity sha512-0CBAB3HamQBuNaQXpN1B27Pq7yfFs5VBf7Y1vbuUcNnYEnZg4YtbBR8IiVeCLl3v4NjauskbRIu7iTafZOcBpQ== + dependencies: + tslib "2.5.0" + +"@grafana/tsconfig@^1.2.0-rc1": + version "1.2.0-rc1" + resolved "https://registry.yarnpkg.com/@grafana/tsconfig/-/tsconfig-1.2.0-rc1.tgz#10973c978ec95b0ea637511254b5f478bce04de7" + integrity sha512-+SgQeBQ1pT6D/E3/dEdADqTrlgdIGuexUZ8EU+8KxQFKUeFeU7/3z/ayI2q/wpJ/Kr6WxBBNlrST6aOKia19Ag== + +"@grafana/ui@10.0.3": + version "10.0.3" + resolved "https://registry.yarnpkg.com/@grafana/ui/-/ui-10.0.3.tgz#ef63fcce3e8357796cb2ef4f29b0213876c5e07f" + integrity sha512-X3Lzd4G1X5rJsqGcu9lSbF22BxxQQUjV9sVzoFTDU2losCDgZRyM3IWfeH/ASbpBv+3c9EU6OiEycscbjuWKqg== + dependencies: + "@emotion/css" "11.10.6" + "@emotion/react" "11.10.6" + "@grafana/data" "10.0.3" + "@grafana/e2e-selectors" "10.0.3" + "@grafana/faro-web-sdk" "1.0.2" + "@grafana/schema" "10.0.3" + "@leeoniya/ufuzzy" "1.0.6" + "@monaco-editor/react" "4.4.6" + "@popperjs/core" "2.11.6" + "@react-aria/button" "3.6.1" + "@react-aria/dialog" "3.3.1" + "@react-aria/focus" "3.8.0" + "@react-aria/menu" "3.6.1" + "@react-aria/overlays" "3.10.1" + "@react-aria/utils" "3.13.1" + "@react-stately/menu" "3.4.1" + "@sentry/browser" "6.19.7" + ansicolor "1.1.100" + calculate-size "1.1.1" + classnames "2.3.2" + core-js "3.28.0" + d3 "7.8.2" + date-fns "2.29.3" + hoist-non-react-statics "3.3.2" + i18next "^22.0.0" + immutable "4.2.4" + is-hotkey "0.2.0" + jquery "3.6.3" + lodash "4.17.21" + memoize-one "6.0.0" + moment "2.29.4" + monaco-editor "0.34.0" + ol "7.2.2" + prismjs "1.29.0" + rc-cascader "3.10.2" + rc-drawer "6.1.3" + rc-slider "10.1.1" + rc-time-picker "^3.7.3" + rc-tooltip "5.3.1" + react-beautiful-dnd "13.1.1" + react-calendar "4.0.0" + react-colorful "5.6.1" + react-custom-scrollbars-2 "4.5.0" + react-dropzone "14.2.3" + react-highlight-words "0.20.0" + react-hook-form "7.5.3" + react-i18next "^12.0.0" + react-inlinesvg "3.0.2" + react-popper "2.3.0" + react-popper-tooltip "4.4.2" + react-router-dom "5.3.3" + react-select "5.7.0" + react-select-event "^5.1.0" + react-table "7.8.0" + react-transition-group "4.4.5" + react-use "17.4.0" + react-window "1.8.8" + rxjs "7.8.0" + slate "0.47.9" + slate-plain-serializer "0.7.13" + slate-react "0.22.10" + tinycolor2 "1.6.0" + tslib "2.5.0" + uplot "1.6.24" + uuid "9.0.0" + +"@humanwhocodes/config-array@^0.11.10": + version "0.11.14" + resolved "https://registry.yarnpkg.com/@humanwhocodes/config-array/-/config-array-0.11.14.tgz#d78e481a039f7566ecc9660b4ea7fe6b1fec442b" + integrity sha512-3T8LkOmg45BV5FICb15QQMsyUSWrQ8AygVfC7ZG32zOalnqrilm018ZVCw0eapXux8FtA33q8PSRSstjee3jSg== + dependencies: + "@humanwhocodes/object-schema" "^2.0.2" + debug "^4.3.1" + minimatch "^3.0.5" + +"@humanwhocodes/module-importer@^1.0.1": + version "1.0.1" + resolved "https://registry.yarnpkg.com/@humanwhocodes/module-importer/-/module-importer-1.0.1.tgz#af5b2691a22b44be847b0ca81641c5fb6ad0172c" + integrity sha512-bxveV4V8v5Yb4ncFTT3rPSgZBOpCkjfK0y4oVVVJwIuDVBRMDXrPyXRL988i5ap9m9bnyEEjWfm5WkBmtffLfA== + +"@humanwhocodes/object-schema@^2.0.2": + version "2.0.2" + resolved "https://registry.yarnpkg.com/@humanwhocodes/object-schema/-/object-schema-2.0.2.tgz#d9fae00a2d5cb40f92cfe64b47ad749fbc38f917" + integrity sha512-6EwiSjwWYP7pTckG6I5eyFANjPhmPjUX9JRLUSfNPC7FX7zK9gyZAfUEaECL6ALTpGX5AjnBq3C9XmVWPitNpw== + +"@internationalized/date@^3.5.1": + version "3.5.1" + resolved "https://registry.yarnpkg.com/@internationalized/date/-/date-3.5.1.tgz#14401139f70c1ef14b845d3cac8912e82e82adcc" + integrity sha512-LUQIfwU9e+Fmutc/DpRTGXSdgYZLBegi4wygCWDSVmUdLTaMHsQyASDiJtREwanwKuQLq0hY76fCJ9J/9I2xOQ== + dependencies: + "@swc/helpers" "^0.5.0" + +"@internationalized/message@^3.1.1": + version "3.1.1" + resolved "https://registry.yarnpkg.com/@internationalized/message/-/message-3.1.1.tgz#0f29c5a239b5dcd457b55f21dcd38d1a44a1236a" + integrity sha512-ZgHxf5HAPIaR0th+w0RUD62yF6vxitjlprSxmLJ1tam7FOekqRSDELMg4Cr/DdszG5YLsp5BG3FgHgqquQZbqw== + dependencies: + "@swc/helpers" "^0.5.0" + intl-messageformat "^10.1.0" + +"@internationalized/number@^3.5.0": + version "3.5.0" + resolved "https://registry.yarnpkg.com/@internationalized/number/-/number-3.5.0.tgz#9de6018424b441a6545f209afa286ad7df4a2906" + integrity sha512-ZY1BW8HT9WKYvaubbuqXbbDdHhOUMfE2zHHFJeTppid0S+pc8HtdIxFxaYMsGjCb4UsF+MEJ4n2TfU7iHnUK8w== + dependencies: + "@swc/helpers" "^0.5.0" + +"@internationalized/string@^3.2.0": + version "3.2.0" + resolved "https://registry.yarnpkg.com/@internationalized/string/-/string-3.2.0.tgz#cb7d2229919ccbfb9f3312710477f28986d217d6" + integrity sha512-Xx3Sy3f2c9ctT+vh8c7euEaEHQZltp0euZ3Hy4UfT3E13r6lxpUS3kgKyumEjboJZSnaZv7JhqWz3D75v+IxQg== + dependencies: + "@swc/helpers" "^0.5.0" + +"@isaacs/cliui@^8.0.2": + version "8.0.2" + resolved "https://registry.yarnpkg.com/@isaacs/cliui/-/cliui-8.0.2.tgz#b37667b7bc181c168782259bab42474fbf52b550" + integrity sha512-O8jcjabXaleOG9DQ0+ARXWZBTfnP4WNAqzuiJK7ll44AmxGKv/J2M4TPjxjY3znBCfvBXFzucm1twdyFybFqEA== + dependencies: + string-width "^5.1.2" + string-width-cjs "npm:string-width@^4.2.0" + strip-ansi "^7.0.1" + strip-ansi-cjs "npm:strip-ansi@^6.0.1" + wrap-ansi "^8.1.0" + wrap-ansi-cjs "npm:wrap-ansi@^7.0.0" + +"@istanbuljs/load-nyc-config@^1.0.0": + version "1.1.0" + resolved "https://registry.yarnpkg.com/@istanbuljs/load-nyc-config/-/load-nyc-config-1.1.0.tgz#fd3db1d59ecf7cf121e80650bb86712f9b55eced" + integrity sha512-VjeHSlIzpv/NyD3N0YuHfXOPDIixcA1q2ZV98wsMqcYlPmv2n3Yb2lYP9XMElnaFVXg5A7YLTeLu6V84uQDjmQ== + dependencies: + camelcase "^5.3.1" + find-up "^4.1.0" + get-package-type "^0.1.0" + js-yaml "^3.13.1" + resolve-from "^5.0.0" + +"@istanbuljs/schema@^0.1.2": + version "0.1.3" + resolved "https://registry.yarnpkg.com/@istanbuljs/schema/-/schema-0.1.3.tgz#e45e384e4b8ec16bce2fd903af78450f6bf7ec98" + integrity sha512-ZXRY4jNvVgSVQ8DL3LTcakaAtXwTVUxE81hslsyD2AtoXW/wVob10HkOJ1X/pAlcI7D+2YoZKg5do8G/w6RYgA== + +"@jest/console@^29.7.0": + version "29.7.0" + resolved "https://registry.yarnpkg.com/@jest/console/-/console-29.7.0.tgz#cd4822dbdb84529265c5a2bdb529a3c9cc950ffc" + integrity sha512-5Ni4CU7XHQi32IJ398EEP4RrB8eV09sXP2ROqD4bksHrnTree52PsxvX8tpL8LvTZ3pFzXyPbNQReSN41CAhOg== + dependencies: + "@jest/types" "^29.6.3" + "@types/node" "*" + chalk "^4.0.0" + jest-message-util "^29.7.0" + jest-util "^29.7.0" + slash "^3.0.0" + +"@jest/core@^29.7.0": + version "29.7.0" + resolved "https://registry.yarnpkg.com/@jest/core/-/core-29.7.0.tgz#b6cccc239f30ff36609658c5a5e2291757ce448f" + integrity sha512-n7aeXWKMnGtDA48y8TLWJPJmLmmZ642Ceo78cYWEpiD7FzDgmNDV/GCVRorPABdXLJZ/9wzzgZAlHjXjxDHGsg== + dependencies: + "@jest/console" "^29.7.0" + "@jest/reporters" "^29.7.0" + "@jest/test-result" "^29.7.0" + "@jest/transform" "^29.7.0" + "@jest/types" "^29.6.3" + "@types/node" "*" + ansi-escapes "^4.2.1" + chalk "^4.0.0" + ci-info "^3.2.0" + exit "^0.1.2" + graceful-fs "^4.2.9" + jest-changed-files "^29.7.0" + jest-config "^29.7.0" + jest-haste-map "^29.7.0" + jest-message-util "^29.7.0" + jest-regex-util "^29.6.3" + jest-resolve "^29.7.0" + jest-resolve-dependencies "^29.7.0" + jest-runner "^29.7.0" + jest-runtime "^29.7.0" + jest-snapshot "^29.7.0" + jest-util "^29.7.0" + jest-validate "^29.7.0" + jest-watcher "^29.7.0" + micromatch "^4.0.4" + pretty-format "^29.7.0" + slash "^3.0.0" + strip-ansi "^6.0.0" + +"@jest/create-cache-key-function@^29.7.0": + version "29.7.0" + resolved "https://registry.yarnpkg.com/@jest/create-cache-key-function/-/create-cache-key-function-29.7.0.tgz#793be38148fab78e65f40ae30c36785f4ad859f0" + integrity sha512-4QqS3LY5PBmTRHj9sAg1HLoPzqAI0uOX6wI/TRqHIcOxlFidy6YEmCQJk6FSZjNLGCeubDMfmkWL+qaLKhSGQA== + dependencies: + "@jest/types" "^29.6.3" + +"@jest/environment@^29.7.0": + version "29.7.0" + resolved "https://registry.yarnpkg.com/@jest/environment/-/environment-29.7.0.tgz#24d61f54ff1f786f3cd4073b4b94416383baf2a7" + integrity sha512-aQIfHDq33ExsN4jP1NWGXhxgQ/wixs60gDiKO+XVMd8Mn0NWPWgc34ZQDTb2jKaUWQ7MuwoitXAsN2XVXNMpAw== + dependencies: + "@jest/fake-timers" "^29.7.0" + "@jest/types" "^29.6.3" + "@types/node" "*" + jest-mock "^29.7.0" + +"@jest/expect-utils@^29.7.0": + version "29.7.0" + resolved "https://registry.yarnpkg.com/@jest/expect-utils/-/expect-utils-29.7.0.tgz#023efe5d26a8a70f21677d0a1afc0f0a44e3a1c6" + integrity sha512-GlsNBWiFQFCVi9QVSx7f5AgMeLxe9YCCs5PuP2O2LdjDAA8Jh9eX7lA1Jq/xdXw3Wb3hyvlFNfZIfcRetSzYcA== + dependencies: + jest-get-type "^29.6.3" + +"@jest/expect@^29.7.0": + version "29.7.0" + resolved "https://registry.yarnpkg.com/@jest/expect/-/expect-29.7.0.tgz#76a3edb0cb753b70dfbfe23283510d3d45432bf2" + integrity sha512-8uMeAMycttpva3P1lBHB8VciS9V0XAr3GymPpipdyQXbBcuhkLQOSe8E/p92RyAdToS6ZD1tFkX+CkhoECE0dQ== + dependencies: + expect "^29.7.0" + jest-snapshot "^29.7.0" + +"@jest/fake-timers@^29.7.0": + version "29.7.0" + resolved "https://registry.yarnpkg.com/@jest/fake-timers/-/fake-timers-29.7.0.tgz#fd91bf1fffb16d7d0d24a426ab1a47a49881a565" + integrity sha512-q4DH1Ha4TTFPdxLsqDXK1d3+ioSL7yL5oCMJZgDYm6i+6CygW5E5xVr/D1HdsGxjt1ZWSfUAs9OxSB/BNelWrQ== + dependencies: + "@jest/types" "^29.6.3" + "@sinonjs/fake-timers" "^10.0.2" + "@types/node" "*" + jest-message-util "^29.7.0" + jest-mock "^29.7.0" + jest-util "^29.7.0" + +"@jest/globals@^29.7.0": + version "29.7.0" + resolved "https://registry.yarnpkg.com/@jest/globals/-/globals-29.7.0.tgz#8d9290f9ec47ff772607fa864ca1d5a2efae1d4d" + integrity sha512-mpiz3dutLbkW2MNFubUGUEVLkTGiqW6yLVTA+JbP6fI6J5iL9Y0Nlg8k95pcF8ctKwCS7WVxteBs29hhfAotzQ== + dependencies: + "@jest/environment" "^29.7.0" + "@jest/expect" "^29.7.0" + "@jest/types" "^29.6.3" + jest-mock "^29.7.0" + +"@jest/reporters@^29.7.0": + version "29.7.0" + resolved "https://registry.yarnpkg.com/@jest/reporters/-/reporters-29.7.0.tgz#04b262ecb3b8faa83b0b3d321623972393e8f4c7" + integrity sha512-DApq0KJbJOEzAFYjHADNNxAE3KbhxQB1y5Kplb5Waqw6zVbuWatSnMjE5gs8FUgEPmNsnZA3NCWl9NG0ia04Pg== + dependencies: + "@bcoe/v8-coverage" "^0.2.3" + "@jest/console" "^29.7.0" + "@jest/test-result" "^29.7.0" + "@jest/transform" "^29.7.0" + "@jest/types" "^29.6.3" + "@jridgewell/trace-mapping" "^0.3.18" + "@types/node" "*" + chalk "^4.0.0" + collect-v8-coverage "^1.0.0" + exit "^0.1.2" + glob "^7.1.3" + graceful-fs "^4.2.9" + istanbul-lib-coverage "^3.0.0" + istanbul-lib-instrument "^6.0.0" + istanbul-lib-report "^3.0.0" + istanbul-lib-source-maps "^4.0.0" + istanbul-reports "^3.1.3" + jest-message-util "^29.7.0" + jest-util "^29.7.0" + jest-worker "^29.7.0" + slash "^3.0.0" + string-length "^4.0.1" + strip-ansi "^6.0.0" + v8-to-istanbul "^9.0.1" + +"@jest/schemas@^29.6.3": + version "29.6.3" + resolved "https://registry.yarnpkg.com/@jest/schemas/-/schemas-29.6.3.tgz#430b5ce8a4e0044a7e3819663305a7b3091c8e03" + integrity sha512-mo5j5X+jIZmJQveBKeS/clAueipV7KgiX1vMgCxam1RNYiqE1w62n0/tJJnHtjW8ZHcQco5gY85jA3mi0L+nSA== + dependencies: + "@sinclair/typebox" "^0.27.8" + +"@jest/source-map@^29.6.3": + version "29.6.3" + resolved "https://registry.yarnpkg.com/@jest/source-map/-/source-map-29.6.3.tgz#d90ba772095cf37a34a5eb9413f1b562a08554c4" + integrity sha512-MHjT95QuipcPrpLM+8JMSzFx6eHp5Bm+4XeFDJlwsvVBjmKNiIAvasGK2fxz2WbGRlnvqehFbh07MMa7n3YJnw== + dependencies: + "@jridgewell/trace-mapping" "^0.3.18" + callsites "^3.0.0" + graceful-fs "^4.2.9" + +"@jest/test-result@^29.7.0": + version "29.7.0" + resolved "https://registry.yarnpkg.com/@jest/test-result/-/test-result-29.7.0.tgz#8db9a80aa1a097bb2262572686734baed9b1657c" + integrity sha512-Fdx+tv6x1zlkJPcWXmMDAG2HBnaR9XPSd5aDWQVsfrZmLVT3lU1cwyxLgRmXR9yrq4NBoEm9BMsfgFzTQAbJYA== + dependencies: + "@jest/console" "^29.7.0" + "@jest/types" "^29.6.3" + "@types/istanbul-lib-coverage" "^2.0.0" + collect-v8-coverage "^1.0.0" + +"@jest/test-sequencer@^29.7.0": + version "29.7.0" + resolved "https://registry.yarnpkg.com/@jest/test-sequencer/-/test-sequencer-29.7.0.tgz#6cef977ce1d39834a3aea887a1726628a6f072ce" + integrity sha512-GQwJ5WZVrKnOJuiYiAF52UNUJXgTZx1NHjFSEB0qEMmSZKAkdMoIzw/Cj6x6NF4AvV23AUqDpFzQkN/eYCYTxw== + dependencies: + "@jest/test-result" "^29.7.0" + graceful-fs "^4.2.9" + jest-haste-map "^29.7.0" + slash "^3.0.0" + +"@jest/transform@^29.7.0": + version "29.7.0" + resolved "https://registry.yarnpkg.com/@jest/transform/-/transform-29.7.0.tgz#df2dd9c346c7d7768b8a06639994640c642e284c" + integrity sha512-ok/BTPFzFKVMwO5eOHRrvnBVHdRy9IrsrW1GpMaQ9MCnilNLXQKmAX8s1YXDFaai9xJpac2ySzV0YeRRECr2Vw== + dependencies: + "@babel/core" "^7.11.6" + "@jest/types" "^29.6.3" + "@jridgewell/trace-mapping" "^0.3.18" + babel-plugin-istanbul "^6.1.1" + chalk "^4.0.0" + convert-source-map "^2.0.0" + fast-json-stable-stringify "^2.1.0" + graceful-fs "^4.2.9" + jest-haste-map "^29.7.0" + jest-regex-util "^29.6.3" + jest-util "^29.7.0" + micromatch "^4.0.4" + pirates "^4.0.4" + slash "^3.0.0" + write-file-atomic "^4.0.2" + +"@jest/types@^29.6.3": + version "29.6.3" + resolved "https://registry.yarnpkg.com/@jest/types/-/types-29.6.3.tgz#1131f8cf634e7e84c5e77bab12f052af585fba59" + integrity sha512-u3UPsIilWKOM3F9CXtrG8LEJmNxwoCQC/XVj4IKYXvvpx7QIi/Kg1LI5uDmDpKlac62NUtX7eLjRh+jVZcLOzw== + dependencies: + "@jest/schemas" "^29.6.3" + "@types/istanbul-lib-coverage" "^2.0.0" + "@types/istanbul-reports" "^3.0.0" + "@types/node" "*" + "@types/yargs" "^17.0.8" + chalk "^4.0.0" + +"@jridgewell/gen-mapping@^0.3.0", "@jridgewell/gen-mapping@^0.3.2": + version "0.3.3" + resolved "https://registry.yarnpkg.com/@jridgewell/gen-mapping/-/gen-mapping-0.3.3.tgz#7e02e6eb5df901aaedb08514203b096614024098" + integrity sha512-HLhSWOLRi875zjjMG/r+Nv0oCW8umGb0BgEhyX3dDX3egwZtB8PqLnjz3yedt8R5StBrzcg4aBpnh8UA9D1BoQ== + dependencies: + "@jridgewell/set-array" "^1.0.1" + "@jridgewell/sourcemap-codec" "^1.4.10" + "@jridgewell/trace-mapping" "^0.3.9" + +"@jridgewell/resolve-uri@^3.0.3", "@jridgewell/resolve-uri@^3.1.0": + version "3.1.1" + resolved "https://registry.yarnpkg.com/@jridgewell/resolve-uri/-/resolve-uri-3.1.1.tgz#c08679063f279615a3326583ba3a90d1d82cc721" + integrity sha512-dSYZh7HhCDtCKm4QakX0xFpsRDqjjtZf/kjI/v3T3Nwt5r8/qz/M19F9ySyOqU94SXBmeG9ttTul+YnR4LOxFA== + +"@jridgewell/set-array@^1.0.1": + version "1.1.2" + resolved "https://registry.yarnpkg.com/@jridgewell/set-array/-/set-array-1.1.2.tgz#7c6cf998d6d20b914c0a55a91ae928ff25965e72" + integrity sha512-xnkseuNADM0gt2bs+BvhO0p78Mk762YnZdsuzFV018NoG1Sj1SCQvpSqa7XUaTam5vAGasABV9qXASMKnFMwMw== + +"@jridgewell/source-map@^0.3.3": + version "0.3.5" + resolved "https://registry.yarnpkg.com/@jridgewell/source-map/-/source-map-0.3.5.tgz#a3bb4d5c6825aab0d281268f47f6ad5853431e91" + integrity sha512-UTYAUj/wviwdsMfzoSJspJxbkH5o1snzwX0//0ENX1u/55kkZZkcTZP6u9bwKGkv+dkk9at4m1Cpt0uY80kcpQ== + dependencies: + "@jridgewell/gen-mapping" "^0.3.0" + "@jridgewell/trace-mapping" "^0.3.9" + +"@jridgewell/sourcemap-codec@^1.4.10", "@jridgewell/sourcemap-codec@^1.4.14", "@jridgewell/sourcemap-codec@^1.4.15": + version "1.4.15" + resolved "https://registry.yarnpkg.com/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.4.15.tgz#d7c6e6755c78567a951e04ab52ef0fd26de59f32" + integrity sha512-eF2rxCRulEKXHTRiDrDy6erMYWqNw4LPdQ8UQA4huuxaQsVeRPFl2oM8oDGxMFhJUWZf9McpLtJasDDZb/Bpeg== + +"@jridgewell/trace-mapping@0.3.9": + version "0.3.9" + resolved "https://registry.yarnpkg.com/@jridgewell/trace-mapping/-/trace-mapping-0.3.9.tgz#6534fd5933a53ba7cbf3a17615e273a0d1273ff9" + integrity sha512-3Belt6tdc8bPgAtbcmdtNJlirVoTmEb5e2gC94PnkwEW9jI6CAHUeoG85tjWP5WquqfavoMtMwiG4P926ZKKuQ== + dependencies: + "@jridgewell/resolve-uri" "^3.0.3" + "@jridgewell/sourcemap-codec" "^1.4.10" + +"@jridgewell/trace-mapping@^0.3.12", "@jridgewell/trace-mapping@^0.3.17", "@jridgewell/trace-mapping@^0.3.18", "@jridgewell/trace-mapping@^0.3.20", "@jridgewell/trace-mapping@^0.3.9": + version "0.3.22" + resolved "https://registry.yarnpkg.com/@jridgewell/trace-mapping/-/trace-mapping-0.3.22.tgz#72a621e5de59f5f1ef792d0793a82ee20f645e4c" + integrity sha512-Wf963MzWtA2sjrNt+g18IAln9lKnlRp+K2eH4jjIoF1wYeq3aMREpG09xhlhdzS0EjwU7qmUJYangWa+151vZw== + dependencies: + "@jridgewell/resolve-uri" "^3.1.0" + "@jridgewell/sourcemap-codec" "^1.4.14" + +"@leeoniya/ufuzzy@1.0.6": + version "1.0.6" + resolved "https://registry.yarnpkg.com/@leeoniya/ufuzzy/-/ufuzzy-1.0.6.tgz#cbafcff1529d9592b92bd735f1e8b18f23eda983" + integrity sha512-7co2giTKNKESSEqW+nijF2cGG92WtlGkxFFq7dnwQTemS209JzTLODsnF1pS4KMr3S9xa7WheeCKfGVo5U7s6g== + +"@mapbox/jsonlint-lines-primitives@~2.0.2": + version "2.0.2" + resolved "https://registry.yarnpkg.com/@mapbox/jsonlint-lines-primitives/-/jsonlint-lines-primitives-2.0.2.tgz#ce56e539f83552b58d10d672ea4d6fc9adc7b234" + integrity sha512-rY0o9A5ECsTQRVhv7tL/OyDpGAoUB4tTvLiW1DSzQGq4bvTPhNw1VpSNjDJc5GFZ2XuyOtSWSVN05qOtcD71qQ== + +"@mapbox/mapbox-gl-style-spec@^13.23.1": + version "13.28.0" + resolved "https://registry.yarnpkg.com/@mapbox/mapbox-gl-style-spec/-/mapbox-gl-style-spec-13.28.0.tgz#2ec226320a0f77856046e000df9b419303a56458" + integrity sha512-B8xM7Fp1nh5kejfIl4SWeY0gtIeewbuRencqO3cJDrCHZpaPg7uY+V8abuR+esMeuOjRl5cLhVTP40v+1ywxbg== + dependencies: + "@mapbox/jsonlint-lines-primitives" "~2.0.2" + "@mapbox/point-geometry" "^0.1.0" + "@mapbox/unitbezier" "^0.0.0" + csscolorparser "~1.0.2" + json-stringify-pretty-compact "^2.0.0" + minimist "^1.2.6" + rw "^1.3.3" + sort-object "^0.3.2" + +"@mapbox/point-geometry@^0.1.0": + version "0.1.0" + resolved "https://registry.yarnpkg.com/@mapbox/point-geometry/-/point-geometry-0.1.0.tgz#8a83f9335c7860effa2eeeca254332aa0aeed8f2" + integrity sha512-6j56HdLTwWGO0fJPlrZtdU/B13q8Uwmo18Ck2GnGgN9PCFyKTZ3UbXeEdRFh18i9XQ92eH2VdtpJHpBD3aripQ== + +"@mapbox/unitbezier@^0.0.0": + version "0.0.0" + resolved "https://registry.yarnpkg.com/@mapbox/unitbezier/-/unitbezier-0.0.0.tgz#15651bd553a67b8581fb398810c98ad86a34524e" + integrity sha512-HPnRdYO0WjFjRTSwO3frz1wKaU649OBFPX3Zo/2WZvuRi6zMiRGui8SnPQiQABgqCf8YikDe5t3HViTVw1WUzA== + +"@mochajs/json-file-reporter@^1.2.0": + version "1.3.0" + resolved "https://registry.yarnpkg.com/@mochajs/json-file-reporter/-/json-file-reporter-1.3.0.tgz#63a53bcda93d75f5c5c74af60e45da063931370b" + integrity sha512-evIxpeP8EOixo/T2xh5xYEIzwbEHk8YNJfRUm1KeTs8F3bMjgNn2580Ogze9yisXNlTxu88JiJJYzXjjg5NdLA== + +"@monaco-editor/loader@^1.3.2": + version "1.4.0" + resolved "https://registry.yarnpkg.com/@monaco-editor/loader/-/loader-1.4.0.tgz#f08227057331ec890fa1e903912a5b711a2ad558" + integrity sha512-00ioBig0x642hytVspPl7DbQyaSWRaolYie/UFNjoTdvoKPzo6xrXLhTk9ixgIKcLH5b5vDOjVNiGyY+uDCUlg== + dependencies: + state-local "^1.0.6" + +"@monaco-editor/react@4.4.6": + version "4.4.6" + resolved "https://registry.yarnpkg.com/@monaco-editor/react/-/react-4.4.6.tgz#8ae500b0edf85276d860ed702e7056c316548218" + integrity sha512-Gr3uz3LYf33wlFE3eRnta4RxP5FSNxiIV9ENn2D2/rN8KgGAD8ecvcITRtsbbyuOuNkwbuHYxfeaz2Vr+CtyFA== + dependencies: + "@monaco-editor/loader" "^1.3.2" + prop-types "^15.7.2" + +"@nodelib/fs.scandir@2.1.5": + version "2.1.5" + resolved "https://registry.yarnpkg.com/@nodelib/fs.scandir/-/fs.scandir-2.1.5.tgz#7619c2eb21b25483f6d167548b4cfd5a7488c3d5" + integrity sha512-vq24Bq3ym5HEQm2NKCr3yXDwjc7vTsEThRDnkp2DK9p1uqLR+DHurm/NOTo0KG7HYHU7eppKZj3MyqYuMBf62g== + dependencies: + "@nodelib/fs.stat" "2.0.5" + run-parallel "^1.1.9" + +"@nodelib/fs.stat@2.0.5", "@nodelib/fs.stat@^2.0.2": + version "2.0.5" + resolved "https://registry.yarnpkg.com/@nodelib/fs.stat/-/fs.stat-2.0.5.tgz#5bd262af94e9d25bd1e71b05deed44876a222e8b" + integrity sha512-RkhPPp2zrqDAQA/2jNhnztcPAlv64XdhIp7a7454A5ovI7Bukxgt7MX7udwAu3zg1DcpPU0rz3VV1SeaqvY4+A== + +"@nodelib/fs.walk@^1.2.3", "@nodelib/fs.walk@^1.2.8": + version "1.2.8" + resolved "https://registry.yarnpkg.com/@nodelib/fs.walk/-/fs.walk-1.2.8.tgz#e95737e8bb6746ddedf69c556953494f196fe69a" + integrity sha512-oGB+UxlgWcgQkgwo8GcEGwemoTFt3FIO9ababBmaGwXIoBKZ+GTy0pP185beGg7Llih/NSHSV2XAs1lnznocSg== + dependencies: + "@nodelib/fs.scandir" "2.1.5" + fastq "^1.6.0" + +"@opentelemetry/api-logs@0.45.1": + version "0.45.1" + resolved "https://registry.yarnpkg.com/@opentelemetry/api-logs/-/api-logs-0.45.1.tgz#9e4f2c652dcce798c5627939b22304c2b5ce19c5" + integrity sha512-zVGq/k70l+kB/Wuv3O/zhptP2hvDhEbhDu9EtHde1iWZJf3FedeYS/nWVcMBkkyPAjS/JKNk86WN4CBQLGUuOw== + dependencies: + "@opentelemetry/api" "^1.0.0" + +"@opentelemetry/api@^1.0.0", "@opentelemetry/api@^1.7.0": + version "1.7.0" + resolved "https://registry.yarnpkg.com/@opentelemetry/api/-/api-1.7.0.tgz#b139c81999c23e3c8d3c0a7234480e945920fc40" + integrity sha512-AdY5wvN0P2vXBi3b29hxZgSFvdhdxPB9+f0B6s//P9Q8nibRWeA3cHm8UmLpio9ABigkVHJ5NMPk+Mz8VCCyrw== + +"@opentelemetry/core@1.18.1": + version "1.18.1" + resolved "https://registry.yarnpkg.com/@opentelemetry/core/-/core-1.18.1.tgz#d2e45f6bd6be4f00d20d18d4f1b230ec33805ae9" + integrity sha512-kvnUqezHMhsQvdsnhnqTNfAJs3ox/isB0SVrM1dhVFw7SsB7TstuVa6fgWnN2GdPyilIFLUvvbTZoVRmx6eiRg== + dependencies: + "@opentelemetry/semantic-conventions" "1.18.1" + +"@opentelemetry/otlp-transformer@^0.45.1": + version "0.45.1" + resolved "https://registry.yarnpkg.com/@opentelemetry/otlp-transformer/-/otlp-transformer-0.45.1.tgz#8f6590b93f177510983bea3055e5a3f3d30faad2" + integrity sha512-FhIHgfC0b0XtoBrS5ISfva939yWffNl47ypXR8I7Ru+dunlySpmf2TLocKHYLHGcWiuoeSNO5O4dZCmSKOtpXw== + dependencies: + "@opentelemetry/api-logs" "0.45.1" + "@opentelemetry/core" "1.18.1" + "@opentelemetry/resources" "1.18.1" + "@opentelemetry/sdk-logs" "0.45.1" + "@opentelemetry/sdk-metrics" "1.18.1" + "@opentelemetry/sdk-trace-base" "1.18.1" + +"@opentelemetry/resources@1.18.1": + version "1.18.1" + resolved "https://registry.yarnpkg.com/@opentelemetry/resources/-/resources-1.18.1.tgz#e27bdc4715bccc8cd4a72d4aca3995ad0a496fe7" + integrity sha512-JjbcQLYMttXcIabflLRuaw5oof5gToYV9fuXbcsoOeQ0BlbwUn6DAZi++PNsSz2jjPeASfDls10iaO/8BRIPRA== + dependencies: + "@opentelemetry/core" "1.18.1" + "@opentelemetry/semantic-conventions" "1.18.1" + +"@opentelemetry/sdk-logs@0.45.1": + version "0.45.1" + resolved "https://registry.yarnpkg.com/@opentelemetry/sdk-logs/-/sdk-logs-0.45.1.tgz#d59a99147ab15eb36757932517dfc9a10e1645e9" + integrity sha512-z0RRgW4LeKEKnhXS4F/HnqB6+7gsy63YK47F4XAJYHs4s1KKg8XnQ2RkbuL31i/a9nXkylttYtvsT50CGr487g== + dependencies: + "@opentelemetry/core" "1.18.1" + "@opentelemetry/resources" "1.18.1" + +"@opentelemetry/sdk-metrics@1.18.1": + version "1.18.1" + resolved "https://registry.yarnpkg.com/@opentelemetry/sdk-metrics/-/sdk-metrics-1.18.1.tgz#1dd334744a1e5d2eec27e9e9765c73cd2f43aef3" + integrity sha512-TEFgeNFhdULBYiCoHbz31Y4PDsfjjxRp8Wmdp6ybLQZPqMNEb+dRq+XN8Xw3ivIgTaf9gYsomgV5ensX99RuEQ== + dependencies: + "@opentelemetry/core" "1.18.1" + "@opentelemetry/resources" "1.18.1" + lodash.merge "^4.6.2" + +"@opentelemetry/sdk-trace-base@1.18.1": + version "1.18.1" + resolved "https://registry.yarnpkg.com/@opentelemetry/sdk-trace-base/-/sdk-trace-base-1.18.1.tgz#256605d90b202002d5672305c66dbcf377132379" + integrity sha512-tRHfDxN5dO+nop78EWJpzZwHsN1ewrZRVVwo03VJa3JQZxToRDH29/+MB24+yoa+IArerdr7INFJiX/iN4gjqg== + dependencies: + "@opentelemetry/core" "1.18.1" + "@opentelemetry/resources" "1.18.1" + "@opentelemetry/semantic-conventions" "1.18.1" + +"@opentelemetry/semantic-conventions@1.18.1": + version "1.18.1" + resolved "https://registry.yarnpkg.com/@opentelemetry/semantic-conventions/-/semantic-conventions-1.18.1.tgz#8e47caf57a84b1dcc1722b2025693348cdf443b4" + integrity sha512-+NLGHr6VZwcgE/2lw8zDIufOCGnzsA5CbQIMleXZTrgkBd0TanCX+MiDYJ1TOS4KL/Tqk0nFRxawnaYr6pkZkA== + +"@petamoriken/float16@^3.4.7": + version "3.8.4" + resolved "https://registry.yarnpkg.com/@petamoriken/float16/-/float16-3.8.4.tgz#cd3c02a7fe39f10ae3dd24ed33bd082053aadd66" + integrity sha512-kB+NJ5Br56ZhElKsf0pM7/PQfrDdDVMRz8f0JM6eVOGE+L89z9hwcst9QvWBBnazzuqGTGtPsJNZoQ1JdNiGSQ== + +"@pkgjs/parseargs@^0.11.0": + version "0.11.0" + resolved "https://registry.yarnpkg.com/@pkgjs/parseargs/-/parseargs-0.11.0.tgz#a77ea742fab25775145434eb1d2328cf5013ac33" + integrity sha512-+1VkjdD0QBLPodGrJUeqarH8VAIvQODIbwh9XpP5Syisf7YoQgsJKPNFoqqLQlu+VQ/tVSshMR6loPMn8U+dPg== + +"@popperjs/core@2.11.6": + version "2.11.6" + resolved "https://registry.yarnpkg.com/@popperjs/core/-/core-2.11.6.tgz#cee20bd55e68a1720bdab363ecf0c821ded4cd45" + integrity sha512-50/17A98tWUfQ176raKiOGXuYpLyyVMkxxG6oylzL3BPOlA6ADGdK7EYunSa4I064xerltq9TGXs8HmOk5E+vw== + +"@popperjs/core@^2.11.5": + version "2.11.8" + resolved "https://registry.yarnpkg.com/@popperjs/core/-/core-2.11.8.tgz#6b79032e760a0899cd4204710beede972a3a185f" + integrity sha512-P1st0aksCrn9sGZhp8GMYwBnQsbvAWsZAX44oXNNvLHGqAOcoVxmjZiohstwQ7SqKnbR47akdNi+uleWD8+g6A== + +"@rc-component/portal@^1.0.0-6", "@rc-component/portal@^1.1.0": + version "1.1.2" + resolved "https://registry.yarnpkg.com/@rc-component/portal/-/portal-1.1.2.tgz#55db1e51d784e034442e9700536faaa6ab63fc71" + integrity sha512-6f813C0IsasTZms08kfA8kPAGxbbkYToa8ALaiDIGGECU4i9hj8Plgbx0sNJDrey3EtHO30hmdaxtT0138xZcg== + dependencies: + "@babel/runtime" "^7.18.0" + classnames "^2.3.2" + rc-util "^5.24.4" + +"@rc-component/trigger@^1.5.0": + version "1.18.3" + resolved "https://registry.yarnpkg.com/@rc-component/trigger/-/trigger-1.18.3.tgz#b323b9e33f2700ca8d24a96f21401ab7b0eafdcd" + integrity sha512-Ksr25pXreYe1gX6ayZ1jLrOrl9OAUHUqnuhEx6MeHnNa1zVM5Y2Aj3Q35UrER0ns8D2cJYtmJtVli+i+4eKrvA== + dependencies: + "@babel/runtime" "^7.23.2" + "@rc-component/portal" "^1.1.0" + classnames "^2.3.2" + rc-motion "^2.0.0" + rc-resize-observer "^1.3.1" + rc-util "^5.38.0" + +"@react-aria/button@3.6.1": + version "3.6.1" + resolved "https://registry.yarnpkg.com/@react-aria/button/-/button-3.6.1.tgz#111e296df8e171e4eb227c306f087337490bc896" + integrity sha512-g10dk0eIQ71F1QefUymbff0yceQFHEKzOwK7J5QAFB5w/FUSmCTsMkBrrra4AogRxYHIAr5adPic5F2g7VzQFw== + dependencies: + "@babel/runtime" "^7.6.2" + "@react-aria/focus" "^3.8.0" + "@react-aria/interactions" "^3.11.0" + "@react-aria/utils" "^3.13.3" + "@react-stately/toggle" "^3.4.1" + "@react-types/button" "^3.6.1" + "@react-types/shared" "^3.14.1" + +"@react-aria/dialog@3.3.1": + version "3.3.1" + resolved "https://registry.yarnpkg.com/@react-aria/dialog/-/dialog-3.3.1.tgz#16e250ecc25ddd5da140a4b3dccb4af0d2bfacb8" + integrity sha512-Sz7XdzX3rRhmfIp1rYS5D90T1tqiDsAkONsbPBRqUJx7NrjKiHhx3wvG4shiK66cPhAZwBk7wuQmMugDeIDFSA== + dependencies: + "@babel/runtime" "^7.6.2" + "@react-aria/focus" "^3.8.0" + "@react-aria/utils" "^3.13.3" + "@react-stately/overlays" "^3.4.1" + "@react-types/dialog" "^3.4.3" + "@react-types/shared" "^3.14.1" + +"@react-aria/focus@3.8.0": + version "3.8.0" + resolved "https://registry.yarnpkg.com/@react-aria/focus/-/focus-3.8.0.tgz#b292df7e35ed1b57af43f98df8135b00c4667d17" + integrity sha512-XuaLFdqf/6OyILifkVJo++5k2O+wlpNvXgsJkRWn/wSmB77pZKURm2MMGiSg2u911NqY+829UrSlpmhCZrc8RA== + dependencies: + "@babel/runtime" "^7.6.2" + "@react-aria/interactions" "^3.11.0" + "@react-aria/utils" "^3.13.3" + "@react-types/shared" "^3.14.1" + clsx "^1.1.1" + +"@react-aria/focus@^3.16.0", "@react-aria/focus@^3.8.0": + version "3.16.0" + resolved "https://registry.yarnpkg.com/@react-aria/focus/-/focus-3.16.0.tgz#521677a452de254bd48d3a469d6411d69188593d" + integrity sha512-GP6EYI07E8NKQQcXHjpIocEU0vh0oi0Vcsd+/71fKS0NnTR0TUOEeil0JuuQ9ymkmPDTu51Aaaa4FxVsuN/23A== + dependencies: + "@react-aria/interactions" "^3.20.1" + "@react-aria/utils" "^3.23.0" + "@react-types/shared" "^3.22.0" + "@swc/helpers" "^0.5.0" + clsx "^2.0.0" + +"@react-aria/i18n@^3.10.0", "@react-aria/i18n@^3.6.0": + version "3.10.0" + resolved "https://registry.yarnpkg.com/@react-aria/i18n/-/i18n-3.10.0.tgz#bc61c8d05a0193a4c4322ddaefb4ee382190169a" + integrity sha512-sviD5Y1pLPG49HHRmVjR+5nONrp0HK219+nu9Y7cDfUhXu2EjyhMS9t/n9/VZ69hHChZ2PnHYLEE2visu9CuCg== + dependencies: + "@internationalized/date" "^3.5.1" + "@internationalized/message" "^3.1.1" + "@internationalized/number" "^3.5.0" + "@internationalized/string" "^3.2.0" + "@react-aria/ssr" "^3.9.1" + "@react-aria/utils" "^3.23.0" + "@react-types/shared" "^3.22.0" + "@swc/helpers" "^0.5.0" + +"@react-aria/interactions@^3.11.0", "@react-aria/interactions@^3.20.1": + version "3.20.1" + resolved "https://registry.yarnpkg.com/@react-aria/interactions/-/interactions-3.20.1.tgz#397f6724935024e7d3f4f38e8fae07ee37da868d" + integrity sha512-PLNBr87+SzRhe9PvvF9qvzYeP4ofTwfKSorwmO+hjr3qoczrSXf4LRQlb27wB6hF10C7ZE/XVbUI1lj4QQrZ/g== + dependencies: + "@react-aria/ssr" "^3.9.1" + "@react-aria/utils" "^3.23.0" + "@react-types/shared" "^3.22.0" + "@swc/helpers" "^0.5.0" + +"@react-aria/menu@3.6.1": + version "3.6.1" + resolved "https://registry.yarnpkg.com/@react-aria/menu/-/menu-3.6.1.tgz#91ad540795316623e539b32163a5d6a95f09052c" + integrity sha512-HUJVIOW9TwDS4RpAaw9/JqcOXFCn3leVUumWLfbwwzxON/Sbywr1j1jLuIkfIRAPmp0QVd42f6/9Y0cfH78BQQ== + dependencies: + "@babel/runtime" "^7.6.2" + "@react-aria/i18n" "^3.6.0" + "@react-aria/interactions" "^3.11.0" + "@react-aria/overlays" "^3.10.1" + "@react-aria/selection" "^3.10.1" + "@react-aria/utils" "^3.13.3" + "@react-stately/collections" "^3.4.3" + "@react-stately/menu" "^3.4.1" + "@react-stately/tree" "^3.3.3" + "@react-types/button" "^3.6.1" + "@react-types/menu" "^3.7.1" + "@react-types/shared" "^3.14.1" + +"@react-aria/overlays@3.10.1": + version "3.10.1" + resolved "https://registry.yarnpkg.com/@react-aria/overlays/-/overlays-3.10.1.tgz#ea7995d818030482987fbcd2f65344daf67175c2" + integrity sha512-6hY+3PQzFXQ2Gf656IiUy2VCwxzNohCHxHTZb7WTlOyNWDN77q8lzuHBlaoEzyh25M8CCO6NPa5DukyK3uCHSQ== + dependencies: + "@babel/runtime" "^7.6.2" + "@react-aria/i18n" "^3.6.0" + "@react-aria/interactions" "^3.11.0" + "@react-aria/ssr" "^3.3.0" + "@react-aria/utils" "^3.13.3" + "@react-aria/visually-hidden" "^3.4.1" + "@react-stately/overlays" "^3.4.1" + "@react-types/button" "^3.6.1" + "@react-types/overlays" "^3.6.3" + "@react-types/shared" "^3.14.1" + +"@react-aria/overlays@^3.10.1": + version "3.20.0" + resolved "https://registry.yarnpkg.com/@react-aria/overlays/-/overlays-3.20.0.tgz#9d7e0529aa9e28f8055ef5d8486ce5aa0ede41dd" + integrity sha512-2m7MpRJL5UucbEuu08lMHsiFJoDowkJV4JAIFBZYK1NzVH0vF/A+w9HRNM7jRwx2DUxE+iIsZnl8yKV/7KY8OQ== + dependencies: + "@react-aria/focus" "^3.16.0" + "@react-aria/i18n" "^3.10.0" + "@react-aria/interactions" "^3.20.1" + "@react-aria/ssr" "^3.9.1" + "@react-aria/utils" "^3.23.0" + "@react-aria/visually-hidden" "^3.8.8" + "@react-stately/overlays" "^3.6.4" + "@react-types/button" "^3.9.1" + "@react-types/overlays" "^3.8.4" + "@react-types/shared" "^3.22.0" + "@swc/helpers" "^0.5.0" + +"@react-aria/selection@^3.10.1": + version "3.17.3" + resolved "https://registry.yarnpkg.com/@react-aria/selection/-/selection-3.17.3.tgz#ed4b3c51cc9abc72ad19d6beb536b194db1cbd7d" + integrity sha512-xl2sgeGH61ngQeE05WOWWPVpGRTPMjQEFmsAWEprArFi4Z7ihSZgpGX22l1w7uSmtXM/eN/v0W8hUYUju5iXlQ== + dependencies: + "@react-aria/focus" "^3.16.0" + "@react-aria/i18n" "^3.10.0" + "@react-aria/interactions" "^3.20.1" + "@react-aria/utils" "^3.23.0" + "@react-stately/selection" "^3.14.2" + "@react-types/shared" "^3.22.0" + "@swc/helpers" "^0.5.0" + +"@react-aria/ssr@^3.2.0", "@react-aria/ssr@^3.3.0", "@react-aria/ssr@^3.9.1": + version "3.9.1" + resolved "https://registry.yarnpkg.com/@react-aria/ssr/-/ssr-3.9.1.tgz#a1252fd5ef87eada810dd9dd6751a5e21359d1d2" + integrity sha512-NqzkLFP8ZVI4GSorS0AYljC13QW2sc8bDqJOkBvkAt3M8gbcAXJWVRGtZBCRscki9RZF+rNlnPdg0G0jYkhJcg== + dependencies: + "@swc/helpers" "^0.5.0" + +"@react-aria/utils@3.13.1": + version "3.13.1" + resolved "https://registry.yarnpkg.com/@react-aria/utils/-/utils-3.13.1.tgz#45557fdc7ae9de057a83014013bf09e54d074c96" + integrity sha512-usW6RoLKil4ylgDbRcaQ5YblNGv5ZihI4I9NB8pdazhw53cSRyLaygLdmHO33xgpPnAhb6Nb/tv8d5p6cAde+A== + dependencies: + "@babel/runtime" "^7.6.2" + "@react-aria/ssr" "^3.2.0" + "@react-stately/utils" "^3.5.0" + "@react-types/shared" "^3.13.1" + clsx "^1.1.1" + +"@react-aria/utils@^3.13.3", "@react-aria/utils@^3.23.0": + version "3.23.0" + resolved "https://registry.yarnpkg.com/@react-aria/utils/-/utils-3.23.0.tgz#15548db55fcb7da1920e21735467157328f0223f" + integrity sha512-fJA63/VU4iQNT8WUvrmll3kvToqMurD69CcgVmbQ56V7ZbvlzFi44E7BpnoaofScYLLtFWRjVdaHsohT6O/big== + dependencies: + "@react-aria/ssr" "^3.9.1" + "@react-stately/utils" "^3.9.0" + "@react-types/shared" "^3.22.0" + "@swc/helpers" "^0.5.0" + clsx "^2.0.0" + +"@react-aria/visually-hidden@^3.4.1", "@react-aria/visually-hidden@^3.8.8": + version "3.8.8" + resolved "https://registry.yarnpkg.com/@react-aria/visually-hidden/-/visually-hidden-3.8.8.tgz#0f2a70ca21974154383080cf486caff5e7f2240f" + integrity sha512-Cn2PYKD4ijGDtF0+dvsh8qa4y7KTNAlkTG6h20r8Q+6UTyRNmtE2/26QEaApRF8CBiNy9/BZC/ZC4FK2OjvCoA== + dependencies: + "@react-aria/interactions" "^3.20.1" + "@react-aria/utils" "^3.23.0" + "@react-types/shared" "^3.22.0" + "@swc/helpers" "^0.5.0" + +"@react-stately/collections@^3.10.4", "@react-stately/collections@^3.4.3": + version "3.10.4" + resolved "https://registry.yarnpkg.com/@react-stately/collections/-/collections-3.10.4.tgz#aa81328a0996ba39ee39d469e65135812ebecef1" + integrity sha512-OHhCrItGt4zB2bSrgObRo0H2SC7QlkH8ReGxo+NVIWchXRLRoiWBP7S+IwleewEo5gOqDVPY3hqA9n4iiI8twg== + dependencies: + "@react-types/shared" "^3.22.0" + "@swc/helpers" "^0.5.0" + +"@react-stately/menu@3.4.1": + version "3.4.1" + resolved "https://registry.yarnpkg.com/@react-stately/menu/-/menu-3.4.1.tgz#47f23996927ffa605d725e68902e27ef848fe27a" + integrity sha512-DWo87hjKwtQsFiFJYZGcEvzfSYT/I4FoRl3Ose5lA/gPjdg97f42vumj+Kp4mqJwlla4A9Erz2vAh2uMLl4H0w== + dependencies: + "@babel/runtime" "^7.6.2" + "@react-stately/overlays" "^3.4.1" + "@react-stately/utils" "^3.5.1" + "@react-types/menu" "^3.7.1" + "@react-types/shared" "^3.14.1" + +"@react-stately/menu@^3.4.1": + version "3.6.0" + resolved "https://registry.yarnpkg.com/@react-stately/menu/-/menu-3.6.0.tgz#5366d6674d2c3d7b50efc51a8c0083d9588788f7" + integrity sha512-OB6CjNyfOkAuirqx1oTL8z8epS9WDzLyrXjmRnxdiCU9EgRXLGAQNECuO7VIpl58oDry8tgRJiJ8fn8FivWSQA== + dependencies: + "@react-stately/overlays" "^3.6.4" + "@react-types/menu" "^3.9.6" + "@react-types/shared" "^3.22.0" + "@swc/helpers" "^0.5.0" + +"@react-stately/overlays@^3.4.1", "@react-stately/overlays@^3.6.4": + version "3.6.4" + resolved "https://registry.yarnpkg.com/@react-stately/overlays/-/overlays-3.6.4.tgz#1d0d974413fa3f13d97eec2cac5b48c49978d1a0" + integrity sha512-tHEaoAGpE9dSnsskqLPVKum59yGteoSqsniTopodM+miQozbpPlSjdiQnzGLroy5Afx5OZYClE616muNHUILXA== + dependencies: + "@react-stately/utils" "^3.9.0" + "@react-types/overlays" "^3.8.4" + "@swc/helpers" "^0.5.0" + +"@react-stately/selection@^3.14.2": + version "3.14.2" + resolved "https://registry.yarnpkg.com/@react-stately/selection/-/selection-3.14.2.tgz#6a3d5b59db951c34d04494b28373f4fe8ce6f581" + integrity sha512-mL7OoiUgVWaaF7ks5XSxgbXeShijYmD4G3bkBHhqkpugU600QH6BM2hloCq8KOUupk1y8oTljPtF9EmCv375DA== + dependencies: + "@react-stately/collections" "^3.10.4" + "@react-stately/utils" "^3.9.0" + "@react-types/shared" "^3.22.0" + "@swc/helpers" "^0.5.0" + +"@react-stately/toggle@^3.4.1": + version "3.7.0" + resolved "https://registry.yarnpkg.com/@react-stately/toggle/-/toggle-3.7.0.tgz#abe2f08f37a0f41e6513d4fde3d46f49500bb5cc" + integrity sha512-TRksHkCJk/Xogq4181g3CYgJf+EfsJCqX5UZDSw1Z1Kgpvonjmdf6FAfQfCh9QR2OuXUL6hOLUDVLte5OPI+5g== + dependencies: + "@react-stately/utils" "^3.9.0" + "@react-types/checkbox" "^3.6.0" + "@swc/helpers" "^0.5.0" + +"@react-stately/tree@^3.3.3": + version "3.7.5" + resolved "https://registry.yarnpkg.com/@react-stately/tree/-/tree-3.7.5.tgz#6e084e1b7d3d0b31fe619a5d5c45dea9b0a63ff2" + integrity sha512-xTJVwvhAeY0N5rui4N/TxN7f8hjXdqApDuGDxMZeFAWoQz8Abf7LFKBVQ3OkT6qVr7P+23dgoisUDBhD5a45Hg== + dependencies: + "@react-stately/collections" "^3.10.4" + "@react-stately/selection" "^3.14.2" + "@react-stately/utils" "^3.9.0" + "@react-types/shared" "^3.22.0" + "@swc/helpers" "^0.5.0" + +"@react-stately/utils@^3.5.0", "@react-stately/utils@^3.5.1", "@react-stately/utils@^3.9.0": + version "3.9.0" + resolved "https://registry.yarnpkg.com/@react-stately/utils/-/utils-3.9.0.tgz#9cb2c8eea5dd1b58256ecb436b963c01526bae37" + integrity sha512-yPKFY1F88HxuZ15BG2qwAYxtpE4HnIU0Ofi4CuBE0xC6I8mwo4OQjDzi+DZjxQngM9D6AeTTD6F1V8gkozA0Gw== + dependencies: + "@swc/helpers" "^0.5.0" + +"@react-types/button@^3.6.1", "@react-types/button@^3.9.1": + version "3.9.1" + resolved "https://registry.yarnpkg.com/@react-types/button/-/button-3.9.1.tgz#eb54745133bdaad345d8d589021b67ef2882e1c5" + integrity sha512-bf9iTar3PtqnyV9rA+wyFyrskZKhwmOuOd/ifYIjPs56YNVXWH5Wfqj6Dx3xdFBgtKx8mEVQxVhoX+WkHX+rtw== + dependencies: + "@react-types/shared" "^3.22.0" + +"@react-types/checkbox@^3.6.0": + version "3.6.0" + resolved "https://registry.yarnpkg.com/@react-types/checkbox/-/checkbox-3.6.0.tgz#ba702be25555c1520f78be39c8260354638792b6" + integrity sha512-vgbuJzQpVCNT5AZWV0OozXCnihqrXxoZKfJFIw0xro47pT2sn3t5UC4RA9wfjDGMoK4frw1K/4HQLsQIOsPBkw== + dependencies: + "@react-types/shared" "^3.22.0" + +"@react-types/dialog@^3.4.3": + version "3.5.7" + resolved "https://registry.yarnpkg.com/@react-types/dialog/-/dialog-3.5.7.tgz#3fd93875ff317d6014e814b6e1a2abb87272a1ef" + integrity sha512-geYoqAyQaTLG43AaXdMUVqZXYgkSifrD9cF7lR2kPAT0uGFv0YREi6ieU+aui8XJ83EW0xcxP+EPWd2YkN4D4w== + dependencies: + "@react-types/overlays" "^3.8.4" + "@react-types/shared" "^3.22.0" + +"@react-types/menu@^3.7.1", "@react-types/menu@^3.9.6": + version "3.9.6" + resolved "https://registry.yarnpkg.com/@react-types/menu/-/menu-3.9.6.tgz#1b36842cbdb4590dfff78437316aec4a3f47b1f6" + integrity sha512-w/RbFInOf4nNayQDv5c2L8IMJbcFOkBhsT3xvvpTy+CHvJcQdjggwaV1sRiw7eF/PwB81k2CwigmidUzHJhKDg== + dependencies: + "@react-types/overlays" "^3.8.4" + "@react-types/shared" "^3.22.0" + +"@react-types/overlays@^3.6.3", "@react-types/overlays@^3.8.4": + version "3.8.4" + resolved "https://registry.yarnpkg.com/@react-types/overlays/-/overlays-3.8.4.tgz#a538f6f2fb9826f1da78d3b4f0f6326a709ce37d" + integrity sha512-pfgNlQnbF6RB/R2oSxyqAP3Uzz0xE/k5q4n5gUeCDNLjY5qxFHGE8xniZZ503nZYw6VBa9XMN1efDOKQyeiO0w== + dependencies: + "@react-types/shared" "^3.22.0" + +"@react-types/shared@^3.13.1", "@react-types/shared@^3.14.1", "@react-types/shared@^3.22.0": + version "3.22.0" + resolved "https://registry.yarnpkg.com/@react-types/shared/-/shared-3.22.0.tgz#70f85aad46cd225f7fcb29f1c2b5213163605074" + integrity sha512-yVOekZWbtSmmiThGEIARbBpnmUIuePFlLyctjvCbgJgGhz8JnEJOipLQ/a4anaWfzAgzSceQP8j/K+VOOePleA== + +"@sentry/browser@6.19.7": + version "6.19.7" + resolved "https://registry.yarnpkg.com/@sentry/browser/-/browser-6.19.7.tgz#a40b6b72d911b5f1ed70ed3b4e7d4d4e625c0b5f" + integrity sha512-oDbklp4O3MtAM4mtuwyZLrgO1qDVYIujzNJQzXmi9YzymJCuzMLSRDvhY83NNDCRxf0pds4DShgYeZdbSyKraA== + dependencies: + "@sentry/core" "6.19.7" + "@sentry/types" "6.19.7" + "@sentry/utils" "6.19.7" + tslib "^1.9.3" + +"@sentry/core@6.19.7": + version "6.19.7" + resolved "https://registry.yarnpkg.com/@sentry/core/-/core-6.19.7.tgz#156aaa56dd7fad8c89c145be6ad7a4f7209f9785" + integrity sha512-tOfZ/umqB2AcHPGbIrsFLcvApdTm9ggpi/kQZFkej7kMphjT+SGBiQfYtjyg9jcRW+ilAR4JXC9BGKsdEQ+8Vw== + dependencies: + "@sentry/hub" "6.19.7" + "@sentry/minimal" "6.19.7" + "@sentry/types" "6.19.7" + "@sentry/utils" "6.19.7" + tslib "^1.9.3" + +"@sentry/hub@6.19.7": + version "6.19.7" + resolved "https://registry.yarnpkg.com/@sentry/hub/-/hub-6.19.7.tgz#58ad7776bbd31e9596a8ec46365b45cd8b9cfd11" + integrity sha512-y3OtbYFAqKHCWezF0EGGr5lcyI2KbaXW2Ik7Xp8Mu9TxbSTuwTe4rTntwg8ngPjUQU3SUHzgjqVB8qjiGqFXCA== + dependencies: + "@sentry/types" "6.19.7" + "@sentry/utils" "6.19.7" + tslib "^1.9.3" + +"@sentry/minimal@6.19.7": + version "6.19.7" + resolved "https://registry.yarnpkg.com/@sentry/minimal/-/minimal-6.19.7.tgz#b3ee46d6abef9ef3dd4837ebcb6bdfd01b9aa7b4" + integrity sha512-wcYmSJOdvk6VAPx8IcmZgN08XTXRwRtB1aOLZm+MVHjIZIhHoBGZJYTVQS/BWjldsamj2cX3YGbGXNunaCfYJQ== + dependencies: + "@sentry/hub" "6.19.7" + "@sentry/types" "6.19.7" + tslib "^1.9.3" + +"@sentry/types@6.19.7": + version "6.19.7" + resolved "https://registry.yarnpkg.com/@sentry/types/-/types-6.19.7.tgz#c6b337912e588083fc2896eb012526cf7cfec7c7" + integrity sha512-jH84pDYE+hHIbVnab3Hr+ZXr1v8QABfhx39KknxqKWr2l0oEItzepV0URvbEhB446lk/S/59230dlUUIBGsXbg== + +"@sentry/utils@6.19.7": + version "6.19.7" + resolved "https://registry.yarnpkg.com/@sentry/utils/-/utils-6.19.7.tgz#6edd739f8185fd71afe49cbe351c1bbf5e7b7c79" + integrity sha512-z95ECmE3i9pbWoXQrD/7PgkBAzJYR+iXtPuTkpBjDKs86O3mT+PXOT3BAn79w2wkn7/i3vOGD2xVr1uiMl26dA== + dependencies: + "@sentry/types" "6.19.7" + tslib "^1.9.3" + +"@sinclair/typebox@^0.27.8": + version "0.27.8" + resolved "https://registry.yarnpkg.com/@sinclair/typebox/-/typebox-0.27.8.tgz#6667fac16c436b5434a387a34dedb013198f6e6e" + integrity sha512-+Fj43pSMwJs4KRrH/938Uf+uAELIgVBmQzg/q1YG10djyfA3TnrU8N8XzqCh/okZdszqBQTZf96idMfE5lnwTA== + +"@sindresorhus/merge-streams@^1.0.0": + version "1.0.0" + resolved "https://registry.yarnpkg.com/@sindresorhus/merge-streams/-/merge-streams-1.0.0.tgz#9cd84cc15bc865a5ca35fcaae198eb899f7b5c90" + integrity sha512-rUV5WyJrJLoloD4NDN1V1+LDMDWOa4OTsT4yYJwQNpTU6FWxkxHpL7eu4w+DmiH8x/EAM1otkPE1+LaspIbplw== + +"@sinonjs/commons@^3.0.0": + version "3.0.1" + resolved "https://registry.yarnpkg.com/@sinonjs/commons/-/commons-3.0.1.tgz#1029357e44ca901a615585f6d27738dbc89084cd" + integrity sha512-K3mCHKQ9sVh8o1C9cxkwxaOmXoAMlDxC1mYyHrjqOWEcBjYr76t96zL2zlj5dUGZ3HSw240X1qgH3Mjf1yJWpQ== + dependencies: + type-detect "4.0.8" + +"@sinonjs/fake-timers@^10.0.2": + version "10.3.0" + resolved "https://registry.yarnpkg.com/@sinonjs/fake-timers/-/fake-timers-10.3.0.tgz#55fdff1ecab9f354019129daf4df0dd4d923ea66" + integrity sha512-V4BG07kuYSUkTCSBHG8G8TNhM+F19jXFWnQtzj+we8DrkpSBCee9Z3Ms8yiGer/dlmhe35/Xdgyo3/0rQKg7YA== + dependencies: + "@sinonjs/commons" "^3.0.0" + +"@swc/core-darwin-arm64@1.3.106": + version "1.3.106" + resolved "https://registry.yarnpkg.com/@swc/core-darwin-arm64/-/core-darwin-arm64-1.3.106.tgz#05adb015d4f8abe7b8b435af10b6e24863cf3b6c" + integrity sha512-XYcbViNyHnnm7RWOAO1YipMmthM7m2aXF32b0y+JMLYFBEyFpjVX9btLkzeL7wRx/5B3I35yJNhE+xyx0Q1Gkw== + +"@swc/core-darwin-x64@1.3.106": + version "1.3.106" + resolved "https://registry.yarnpkg.com/@swc/core-darwin-x64/-/core-darwin-x64-1.3.106.tgz#da3aa19bcea1caf77b9267b48c40506b3fbc9e3e" + integrity sha512-YKDPhUdfuwhmOUS9+CaIwl/0Tp+f1b73BH2EIESuxSNsogZf18a8HQ8O0fQEwdiwmA5LEqw47cj+kfOWV/0+kw== + +"@swc/core-linux-arm-gnueabihf@1.3.106": + version "1.3.106" + resolved "https://registry.yarnpkg.com/@swc/core-linux-arm-gnueabihf/-/core-linux-arm-gnueabihf-1.3.106.tgz#08c4f0b56c4607e124868f9793d5d6e198abdb3e" + integrity sha512-bHxxJXogvFfocLL5inZxxtx/x/WgKozigp80Vbx0viac1fPDJrqKBw2X4MzpMiuTRAGVQ03jJI6pDwbSBf+yDw== + +"@swc/core-linux-arm64-gnu@1.3.106": + version "1.3.106" + resolved "https://registry.yarnpkg.com/@swc/core-linux-arm64-gnu/-/core-linux-arm64-gnu-1.3.106.tgz#cfa2ac91ca279bf09db8ef001a139a3840a2b05a" + integrity sha512-c7jue++CHLgtpeaakEukoCLT9eNrImizbleE9Y7Is8CHqLq/7DG4s+7ma9DFKXIzW2MpTg9byIEQfpqSphVW6A== + +"@swc/core-linux-arm64-musl@1.3.106": + version "1.3.106" + resolved "https://registry.yarnpkg.com/@swc/core-linux-arm64-musl/-/core-linux-arm64-musl-1.3.106.tgz#1eff9b3e51a84ea13e0be4de2784bbb28a0e097b" + integrity sha512-51EaC3Q8qAhLtWVnAVqoYX/gk3tK31cCBzUpwCcmhianhEBM2/WtKRAS4MqPhE8VVZuN3WjO2c2JaF2mX0yuoA== + +"@swc/core-linux-x64-gnu@1.3.106": + version "1.3.106" + resolved "https://registry.yarnpkg.com/@swc/core-linux-x64-gnu/-/core-linux-x64-gnu-1.3.106.tgz#c3c7681efaeb36c528eb0cd133e0e52a85554a5b" + integrity sha512-tOUi8BB6jAeCXgx7ESLNnX7nrbMVKQ/XajK77v7Ad4SXf9HYArnimBJpXUUyVFJTXLSv4e6c7s6XHHqXb5Lwcg== + +"@swc/core-linux-x64-musl@1.3.106": + version "1.3.106" + resolved "https://registry.yarnpkg.com/@swc/core-linux-x64-musl/-/core-linux-x64-musl-1.3.106.tgz#1e7287e379c503f8e565eab7fc5065739611690f" + integrity sha512-binLw4Lbd83NPy4/m/teH2nbaifxveSD+sKDvpxywRbvYW2I0w/iCBpUBcbnl16TQF4TPOGpq5YwG9lVxPVw5g== + +"@swc/core-win32-arm64-msvc@1.3.106": + version "1.3.106" + resolved "https://registry.yarnpkg.com/@swc/core-win32-arm64-msvc/-/core-win32-arm64-msvc-1.3.106.tgz#02d7418c202a33906949a5e6924baaaa0a3fce5f" + integrity sha512-n4ttBWr8tM7DPzwcEOIBTyTMHZTzCmbic/HTtxEsPyMAf/Daen+yrTKzjPP6k2usfSrjkxA780RSJJxI1N8r2w== + +"@swc/core-win32-ia32-msvc@1.3.106": + version "1.3.106" + resolved "https://registry.yarnpkg.com/@swc/core-win32-ia32-msvc/-/core-win32-ia32-msvc-1.3.106.tgz#22f07b4710e79e22c7828ad89e87636671680e2d" + integrity sha512-GhDNIwxE5FhkujESI6h/4ysT3wxwmrzTUlZYaR8rRui6a6SdX9feIPUHPEE5o5hpyp+xqlmvRxKkRxOnwsq8iA== + +"@swc/core-win32-x64-msvc@1.3.106": + version "1.3.106" + resolved "https://registry.yarnpkg.com/@swc/core-win32-x64-msvc/-/core-win32-x64-msvc-1.3.106.tgz#cc28822b1476345ef4ee2a1895ff7c51a42dd45f" + integrity sha512-2M6yWChuMS1+/MPo3Dor0SOMkvmiugonWlzsZBAu/oZboH2xKrHSRv7brsBujb2Oe47r+NsbV+vq9tnnP9Vl1Q== + +"@swc/core@^1.3.90": + version "1.3.106" + resolved "https://registry.yarnpkg.com/@swc/core/-/core-1.3.106.tgz#7e054f8a7db56de3f519c48db03f58e3f09fe8ee" + integrity sha512-++QPSPkFq2qELYVScxNHJC42hKQChjiTWS2P0QQ5JWT4NHb9lmNSfrc1ylFIyImwRnxsW2MTBALLYLf95EFAsg== + dependencies: + "@swc/counter" "^0.1.1" + "@swc/types" "^0.1.5" + optionalDependencies: + "@swc/core-darwin-arm64" "1.3.106" + "@swc/core-darwin-x64" "1.3.106" + "@swc/core-linux-arm-gnueabihf" "1.3.106" + "@swc/core-linux-arm64-gnu" "1.3.106" + "@swc/core-linux-arm64-musl" "1.3.106" + "@swc/core-linux-x64-gnu" "1.3.106" + "@swc/core-linux-x64-musl" "1.3.106" + "@swc/core-win32-arm64-msvc" "1.3.106" + "@swc/core-win32-ia32-msvc" "1.3.106" + "@swc/core-win32-x64-msvc" "1.3.106" + +"@swc/counter@^0.1.1": + version "0.1.2" + resolved "https://registry.yarnpkg.com/@swc/counter/-/counter-0.1.2.tgz#bf06d0770e47c6f1102270b744e17b934586985e" + integrity sha512-9F4ys4C74eSTEUNndnER3VJ15oru2NumfQxS8geE+f3eB5xvfxpWyqE5XlVnxb/R14uoXi6SLbBwwiDSkv+XEw== + +"@swc/helpers@^0.5.0": + version "0.5.3" + resolved "https://registry.yarnpkg.com/@swc/helpers/-/helpers-0.5.3.tgz#98c6da1e196f5f08f977658b80d6bd941b5f294f" + integrity sha512-FaruWX6KdudYloq1AHD/4nU+UsMTdNE8CKyrseXWEcgjDAbvkwJg2QGPAnfIJLIWsjZOSPLOAykK6fuYp4vp4A== + dependencies: + tslib "^2.4.0" + +"@swc/jest@^0.2.26": + version "0.2.31" + resolved "https://registry.yarnpkg.com/@swc/jest/-/jest-0.2.31.tgz#eb791d917326c24cad84c4d357d0b01de23c6dfd" + integrity sha512-Gh0Ste380O8KUY1IqsKr+aOvqqs2Loa+WcWWVNwl+lhXqOWK1iTFAP1K0IDfLqAuFP68+D/PxcpBJn21e6Quvw== + dependencies: + "@jest/create-cache-key-function" "^29.7.0" + jsonc-parser "^3.2.0" + +"@swc/types@^0.1.5": + version "0.1.5" + resolved "https://registry.yarnpkg.com/@swc/types/-/types-0.1.5.tgz#043b731d4f56a79b4897a3de1af35e75d56bc63a" + integrity sha512-myfUej5naTBWnqOCc/MdVOLVjXUXtIA+NpDrDBKJtLLg2shUjBu3cZmB/85RyitKc55+lUUyl7oRfLOvkr2hsw== + +"@testing-library/dom@>=7", "@testing-library/dom@^9.0.0": + version "9.3.4" + resolved "https://registry.yarnpkg.com/@testing-library/dom/-/dom-9.3.4.tgz#50696ec28376926fec0a1bf87d9dbac5e27f60ce" + integrity sha512-FlS4ZWlp97iiNWig0Muq8p+3rVDjRiYE+YKGbAqXOu9nwJFFOdL00kFpz42M+4huzYi86vAK1sOOfyOG45muIQ== + dependencies: + "@babel/code-frame" "^7.10.4" + "@babel/runtime" "^7.12.5" + "@types/aria-query" "^5.0.1" + aria-query "5.1.3" + chalk "^4.1.0" + dom-accessibility-api "^0.5.9" + lz-string "^1.5.0" + pretty-format "^27.0.2" + +"@testing-library/jest-dom@6.1.4": + version "6.1.4" + resolved "https://registry.yarnpkg.com/@testing-library/jest-dom/-/jest-dom-6.1.4.tgz#cf0835c33bc5ef00befb9e672b1e3e6a710e30e3" + integrity sha512-wpoYrCYwSZ5/AxcrjLxJmCU6I5QAJXslEeSiMQqaWmP2Kzpd1LvF/qxmAIW2qposULGWq2gw30GgVNFLSc2Jnw== + dependencies: + "@adobe/css-tools" "^4.3.1" + "@babel/runtime" "^7.9.2" + aria-query "^5.0.0" + chalk "^3.0.0" + css.escape "^1.5.1" + dom-accessibility-api "^0.5.6" + lodash "^4.17.15" + redent "^3.0.0" + +"@testing-library/react@14.0.0": + version "14.0.0" + resolved "https://registry.yarnpkg.com/@testing-library/react/-/react-14.0.0.tgz#59030392a6792450b9ab8e67aea5f3cc18d6347c" + integrity sha512-S04gSNJbYE30TlIMLTzv6QCTzt9AqIF5y6s6SzVFILNcNvbV/jU96GeiTPillGQo+Ny64M/5PV7klNYYgv5Dfg== + dependencies: + "@babel/runtime" "^7.12.5" + "@testing-library/dom" "^9.0.0" + "@types/react-dom" "^18.0.0" + +"@tootallnate/once@2": + version "2.0.0" + resolved "https://registry.yarnpkg.com/@tootallnate/once/-/once-2.0.0.tgz#f544a148d3ab35801c1f633a7441fd87c2e484bf" + integrity sha512-XCuKFP5PS55gnMVu3dty8KPatLqUoy/ZYzDzAGCQ8JNFCkLXzmI7vNHCR+XpbZaMWQK/vQubr7PkYq8g470J/A== + +"@tsconfig/node10@^1.0.7": + version "1.0.9" + resolved "https://registry.yarnpkg.com/@tsconfig/node10/-/node10-1.0.9.tgz#df4907fc07a886922637b15e02d4cebc4c0021b2" + integrity sha512-jNsYVVxU8v5g43Erja32laIDHXeoNvFEpX33OK4d6hljo3jDhCBDhx5dhCCTMWUojscpAagGiRkBKxpdl9fxqA== + +"@tsconfig/node12@^1.0.7": + version "1.0.11" + resolved "https://registry.yarnpkg.com/@tsconfig/node12/-/node12-1.0.11.tgz#ee3def1f27d9ed66dac6e46a295cffb0152e058d" + integrity sha512-cqefuRsh12pWyGsIoBKJA9luFu3mRxCA+ORZvA4ktLSzIuCUtWVxGIuXigEwO5/ywWFMZ2QEGKWvkZG1zDMTag== + +"@tsconfig/node14@^1.0.0": + version "1.0.3" + resolved "https://registry.yarnpkg.com/@tsconfig/node14/-/node14-1.0.3.tgz#e4386316284f00b98435bf40f72f75a09dabf6c1" + integrity sha512-ysT8mhdixWK6Hw3i1V2AeRqZ5WfXg1G43mqoYlM2nc6388Fq5jcXyr5mRsqViLx/GJYdoL0bfXD8nmF+Zn/Iow== + +"@tsconfig/node16@^1.0.2": + version "1.0.4" + resolved "https://registry.yarnpkg.com/@tsconfig/node16/-/node16-1.0.4.tgz#0b92dcc0cc1c81f6f306a381f28e31b1a56536e9" + integrity sha512-vxhUy4J8lyeyinH7Azl1pdd43GJhZH/tP2weN8TntQblOY+A0XbT8DJk1/oCPuOOyg/Ja757rG0CgHcWC8OfMA== + +"@types/aria-query@^5.0.1": + version "5.0.4" + resolved "https://registry.yarnpkg.com/@types/aria-query/-/aria-query-5.0.4.tgz#1a31c3d378850d2778dabb6374d036dcba4ba708" + integrity sha512-rfT93uj5s0PRL7EzccGMs3brplhcrghnDoV26NqKhCAS1hVo+WdNsPvE/yb6ilfr5hi2MEk6d5EWJTKdxg8jVw== + +"@types/babel__core@^7.1.14": + version "7.20.5" + resolved "https://registry.yarnpkg.com/@types/babel__core/-/babel__core-7.20.5.tgz#3df15f27ba85319caa07ba08d0721889bb39c017" + integrity sha512-qoQprZvz5wQFJwMDqeseRXWv3rqMvhgpbXFfVyWhbx9X47POIA6i/+dXefEmZKoAgOaTdaIgNSMqMIU61yRyzA== + dependencies: + "@babel/parser" "^7.20.7" + "@babel/types" "^7.20.7" + "@types/babel__generator" "*" + "@types/babel__template" "*" + "@types/babel__traverse" "*" + +"@types/babel__generator@*": + version "7.6.8" + resolved "https://registry.yarnpkg.com/@types/babel__generator/-/babel__generator-7.6.8.tgz#f836c61f48b1346e7d2b0d93c6dacc5b9535d3ab" + integrity sha512-ASsj+tpEDsEiFr1arWrlN6V3mdfjRMZt6LtK/Vp/kreFLnr5QH5+DhvD5nINYZXzwJvXeGq+05iUXcAzVrqWtw== + dependencies: + "@babel/types" "^7.0.0" + +"@types/babel__template@*": + version "7.4.4" + resolved "https://registry.yarnpkg.com/@types/babel__template/-/babel__template-7.4.4.tgz#5672513701c1b2199bc6dad636a9d7491586766f" + integrity sha512-h/NUaSyG5EyxBIp8YRxo4RMe2/qQgvyowRwVMzhYhBCONbW8PUsg4lkFMrhgZhUe5z3L3MiLDuvyJ/CaPa2A8A== + dependencies: + "@babel/parser" "^7.1.0" + "@babel/types" "^7.0.0" + +"@types/babel__traverse@*", "@types/babel__traverse@^7.0.6": + version "7.20.5" + resolved "https://registry.yarnpkg.com/@types/babel__traverse/-/babel__traverse-7.20.5.tgz#7b7502be0aa80cc4ef22978846b983edaafcd4dd" + integrity sha512-WXCyOcRtH37HAUkpXhUduaxdm82b4GSlyTqajXviN4EfiuPgNYR109xMCKvpl6zPIpua0DGlMEDCq+g8EdoheQ== + dependencies: + "@babel/types" "^7.20.7" + +"@types/d3-color@*": + version "3.1.3" + resolved "https://registry.yarnpkg.com/@types/d3-color/-/d3-color-3.1.3.tgz#368c961a18de721da8200e80bf3943fb53136af2" + integrity sha512-iO90scth9WAbmgv7ogoq57O9YpKmFBbmoEoCHDB2xMBY0+/KVrqAaCDyCE16dUspeOvIxFFRI+0sEtqDqy2b4A== + +"@types/d3-interpolate@^3.0.0": + version "3.0.4" + resolved "https://registry.yarnpkg.com/@types/d3-interpolate/-/d3-interpolate-3.0.4.tgz#412b90e84870285f2ff8a846c6eb60344f12a41c" + integrity sha512-mgLPETlrpVV1YRJIglr4Ez47g7Yxjl1lj7YKsiMCb27VJH9W8NVM6Bb9d8kkpG/uAQS5AmbA48q2IAolKKo1MA== + dependencies: + "@types/d3-color" "*" + +"@types/eslint-scope@^3.7.3": + version "3.7.7" + resolved "https://registry.yarnpkg.com/@types/eslint-scope/-/eslint-scope-3.7.7.tgz#3108bd5f18b0cdb277c867b3dd449c9ed7079ac5" + integrity sha512-MzMFlSLBqNF2gcHWO0G1vP/YQyfvrxZ0bF+u7mzUdZ1/xK4A4sru+nraZz5i3iEIk1l1uyicaDVTB4QbbEkAYg== + dependencies: + "@types/eslint" "*" + "@types/estree" "*" + +"@types/eslint@*", "@types/eslint@^8.37.0": + version "8.56.2" + resolved "https://registry.yarnpkg.com/@types/eslint/-/eslint-8.56.2.tgz#1c72a9b794aa26a8b94ad26d5b9aa51c8a6384bb" + integrity sha512-uQDwm1wFHmbBbCZCqAlq6Do9LYwByNZHWzXppSnay9SuwJ+VRbjkbLABer54kcPnMSlG6Fdiy2yaFXm/z9Z5gw== + dependencies: + "@types/estree" "*" + "@types/json-schema" "*" + +"@types/estree@*", "@types/estree@^1.0.5": + version "1.0.5" + resolved "https://registry.yarnpkg.com/@types/estree/-/estree-1.0.5.tgz#a6ce3e556e00fd9895dd872dd172ad0d4bd687f4" + integrity sha512-/kYRxGDLWzHOB7q+wtSUQlFrtcdUccpfy+X+9iMBpHK8QLLhx2wIPYuS5DYtR9Wa/YlZAbIovy7qVdB1Aq6Lyw== + +"@types/graceful-fs@^4.1.3": + version "4.1.9" + resolved "https://registry.yarnpkg.com/@types/graceful-fs/-/graceful-fs-4.1.9.tgz#2a06bc0f68a20ab37b3e36aa238be6abdf49e8b4" + integrity sha512-olP3sd1qOEe5dXTSaFvQG+02VdRXcdytWLAZsAq1PecU8uqQAhkrnbli7DagjtXKW/Bl7YJbUsa8MPcuc8LHEQ== + dependencies: + "@types/node" "*" + +"@types/history@^4.7.11": + version "4.7.11" + resolved "https://registry.yarnpkg.com/@types/history/-/history-4.7.11.tgz#56588b17ae8f50c53983a524fc3cc47437969d64" + integrity sha512-qjDJRrmvBMiTx+jyLxvLfJU7UznFuokDv4f3WRuriHKERccVpFU+8XMQUAbDzoiJCsmexxRExQeMwwCdamSKDA== + +"@types/hoist-non-react-statics@^3.3.0": + version "3.3.5" + resolved "https://registry.yarnpkg.com/@types/hoist-non-react-statics/-/hoist-non-react-statics-3.3.5.tgz#dab7867ef789d87e2b4b0003c9d65c49cc44a494" + integrity sha512-SbcrWzkKBw2cdwRTwQAswfpB9g9LJWfjtUeW/jvNwbhC8cpmmNYVePa+ncbUe0rGTQ7G3Ff6mYUN2VMfLVr+Sg== + dependencies: + "@types/react" "*" + hoist-non-react-statics "^3.3.0" + +"@types/istanbul-lib-coverage@*", "@types/istanbul-lib-coverage@^2.0.0", "@types/istanbul-lib-coverage@^2.0.1": + version "2.0.6" + resolved "https://registry.yarnpkg.com/@types/istanbul-lib-coverage/-/istanbul-lib-coverage-2.0.6.tgz#7739c232a1fee9b4d3ce8985f314c0c6d33549d7" + integrity sha512-2QF/t/auWm0lsy8XtKVPG19v3sSOQlJe/YHZgfjb/KBBHOGSV+J2q/S671rcq9uTBrLAXmZpqJiaQbMT+zNU1w== + +"@types/istanbul-lib-report@*": + version "3.0.3" + resolved "https://registry.yarnpkg.com/@types/istanbul-lib-report/-/istanbul-lib-report-3.0.3.tgz#53047614ae72e19fc0401d872de3ae2b4ce350bf" + integrity sha512-NQn7AHQnk/RSLOxrBbGyJM/aVQ+pjj5HCgasFxc0K/KhoATfQ/47AyUl15I2yBUpihjmas+a+VJBOqecrFH+uA== + dependencies: + "@types/istanbul-lib-coverage" "*" + +"@types/istanbul-reports@^3.0.0": + version "3.0.4" + resolved "https://registry.yarnpkg.com/@types/istanbul-reports/-/istanbul-reports-3.0.4.tgz#0f03e3d2f670fbdac586e34b433783070cc16f54" + integrity sha512-pk2B1NWalF9toCRu6gjBzR69syFjP4Od8WRAX+0mmf9lAjCRicLOWc+ZrxZHx/0XRjotgkF9t6iaMJ+aXcOdZQ== + dependencies: + "@types/istanbul-lib-report" "*" + +"@types/jest@*", "@types/jest@^29.5.0": + version "29.5.11" + resolved "https://registry.yarnpkg.com/@types/jest/-/jest-29.5.11.tgz#0c13aa0da7d0929f078ab080ae5d4ced80fa2f2c" + integrity sha512-S2mHmYIVe13vrm6q4kN6fLYYAka15ALQki/vgDC3mIukEOx8WJlv0kQPM+d4w8Gp6u0uSdKND04IlTXBv0rwnQ== + dependencies: + expect "^29.0.0" + pretty-format "^29.0.0" + +"@types/js-cookie@^2.2.6": + version "2.2.7" + resolved "https://registry.yarnpkg.com/@types/js-cookie/-/js-cookie-2.2.7.tgz#226a9e31680835a6188e887f3988e60c04d3f6a3" + integrity sha512-aLkWa0C0vO5b4Sr798E26QgOkss68Un0bLjs7u9qxzPT5CG+8DuNTffWES58YzJs3hrVAOs1wonycqEBqNJubA== + +"@types/jsdom@^20.0.0": + version "20.0.1" + resolved "https://registry.yarnpkg.com/@types/jsdom/-/jsdom-20.0.1.tgz#07c14bc19bd2f918c1929541cdaacae894744808" + integrity sha512-d0r18sZPmMQr1eG35u12FZfhIXNrnsPU/g5wvRKCUf/tOGilKKwYMYGqh33BNR6ba+2gkHw1EUiHoN3mn7E5IQ== + dependencies: + "@types/node" "*" + "@types/tough-cookie" "*" + parse5 "^7.0.0" + +"@types/json-schema@*", "@types/json-schema@^7.0.12", "@types/json-schema@^7.0.8", "@types/json-schema@^7.0.9": + version "7.0.15" + resolved "https://registry.yarnpkg.com/@types/json-schema/-/json-schema-7.0.15.tgz#596a1747233694d50f6ad8a7869fcb6f56cf5841" + integrity sha512-5+fP8P8MFNC+AyZCDxrB2pkZFPGzqQWUzpSeuuVLvm8VMcorNYavBqoFcxK8bQz4Qsbn4oUEEem4wDLfcysGHA== + +"@types/json5@^0.0.29": + version "0.0.29" + resolved "https://registry.yarnpkg.com/@types/json5/-/json5-0.0.29.tgz#ee28707ae94e11d2b827bcbe5270bcea7f3e71ee" + integrity sha512-dRLjCWHYg4oaA77cxO64oO+7JwCwnIzkZPdrrC71jQmQtlhM556pwKo5bUzqvZndkVbeFLIIi+9TC40JNF5hNQ== + +"@types/lodash@^4.14.194": + version "4.14.202" + resolved "https://registry.yarnpkg.com/@types/lodash/-/lodash-4.14.202.tgz#f09dbd2fb082d507178b2f2a5c7e74bd72ff98f8" + integrity sha512-OvlIYQK9tNneDlS0VN54LLd5uiPCBOp7gS5Z0f1mjoJYBrtStzgmJBxONW3U6OZqdtNzZPmn9BS/7WI7BFFcFQ== + +"@types/node@*", "@types/node@^20.8.7": + version "20.11.6" + resolved "https://registry.yarnpkg.com/@types/node/-/node-20.11.6.tgz#6adf4241460e28be53836529c033a41985f85b6e" + integrity sha512-+EOokTnksGVgip2PbYbr3xnR7kZigh4LbybAfBAw5BpnQ+FqBYUsvCEjYd70IXKlbohQ64mzEYmMtlWUY8q//Q== + dependencies: + undici-types "~5.26.4" + +"@types/node@^14.14.31": + version "14.18.63" + resolved "https://registry.yarnpkg.com/@types/node/-/node-14.18.63.tgz#1788fa8da838dbb5f9ea994b834278205db6ca2b" + integrity sha512-fAtCfv4jJg+ExtXhvCkCqUKZ+4ok/JQk01qDKhL5BDDoS3AxKXhV5/MAVUZyQnSEd2GT92fkgZl0pz0Q0AzcIQ== + +"@types/parse-json@^4.0.0": + version "4.0.2" + resolved "https://registry.yarnpkg.com/@types/parse-json/-/parse-json-4.0.2.tgz#5950e50960793055845e956c427fc2b0d70c5239" + integrity sha512-dISoDXWWQwUquiKsyZ4Ng+HX2KsPL7LyHKHQwgGFEA3IaKac4Obd+h2a/a6waisAoepJlBcx9paWqjA8/HVjCw== + +"@types/prop-types@*": + version "15.7.11" + resolved "https://registry.yarnpkg.com/@types/prop-types/-/prop-types-15.7.11.tgz#2596fb352ee96a1379c657734d4b913a613ad563" + integrity sha512-ga8y9v9uyeiLdpKddhxYQkxNDrfvuPrlFb0N1qnZZByvcElJaXthF1UhvCh9TLWJBEHeNtdnbysW7Y6Uq8CVng== + +"@types/react-dom@^18.0.0": + version "18.2.18" + resolved "https://registry.yarnpkg.com/@types/react-dom/-/react-dom-18.2.18.tgz#16946e6cd43971256d874bc3d0a72074bb8571dd" + integrity sha512-TJxDm6OfAX2KJWJdMEVTwWke5Sc/E/RlnPGvGfS0W7+6ocy2xhDVQVh/KvC2Uf7kACs+gDytdusDSdWfWkaNzw== + dependencies: + "@types/react" "*" + +"@types/react-redux@^7.1.20": + version "7.1.33" + resolved "https://registry.yarnpkg.com/@types/react-redux/-/react-redux-7.1.33.tgz#53c5564f03f1ded90904e3c90f77e4bd4dc20b15" + integrity sha512-NF8m5AjWCkert+fosDsN3hAlHzpjSiXlVy9EgQEmLoBhaNXbmyeGs/aj5dQzKuF+/q+S7JQagorGDW8pJ28Hmg== + dependencies: + "@types/hoist-non-react-statics" "^3.3.0" + "@types/react" "*" + hoist-non-react-statics "^3.3.0" + redux "^4.0.0" + +"@types/react-router-dom@^5.3.3": + version "5.3.3" + resolved "https://registry.yarnpkg.com/@types/react-router-dom/-/react-router-dom-5.3.3.tgz#e9d6b4a66fcdbd651a5f106c2656a30088cc1e83" + integrity sha512-kpqnYK4wcdm5UaWI3fLcELopqLrHgLqNsdpHauzlQktfkHL3npOSwtj1Uz9oKBAzs7lFtVkV8j83voAz2D8fhw== + dependencies: + "@types/history" "^4.7.11" + "@types/react" "*" + "@types/react-router" "*" + +"@types/react-router@*": + version "5.1.20" + resolved "https://registry.yarnpkg.com/@types/react-router/-/react-router-5.1.20.tgz#88eccaa122a82405ef3efbcaaa5dcdd9f021387c" + integrity sha512-jGjmu/ZqS7FjSH6owMcD5qpq19+1RS9DeVRqfl1FeBMxTDQAGwlMWOcs52NDoXaNKyG3d1cYQFMs9rCrb88o9Q== + dependencies: + "@types/history" "^4.7.11" + "@types/react" "*" + +"@types/react-transition-group@^4.4.0": + version "4.4.10" + resolved "https://registry.yarnpkg.com/@types/react-transition-group/-/react-transition-group-4.4.10.tgz#6ee71127bdab1f18f11ad8fb3322c6da27c327ac" + integrity sha512-hT/+s0VQs2ojCX823m60m5f0sL5idt9SO6Tj6Dg+rdphGPIeJbJ6CxvBYkgkGKrYeDjvIpKTR38UzmtHJOGW3Q== + dependencies: + "@types/react" "*" + +"@types/react@*": + version "18.2.48" + resolved "https://registry.yarnpkg.com/@types/react/-/react-18.2.48.tgz#11df5664642d0bd879c1f58bc1d37205b064e8f1" + integrity sha512-qboRCl6Ie70DQQG9hhNREz81jqC1cs9EVNcjQ1AU+jH6NFfSAhVVbrrY/+nSF+Bsk4AOwm9Qa61InvMCyV+H3w== + dependencies: + "@types/prop-types" "*" + "@types/scheduler" "*" + csstype "^3.0.2" + +"@types/scheduler@*": + version "0.16.8" + resolved "https://registry.yarnpkg.com/@types/scheduler/-/scheduler-0.16.8.tgz#ce5ace04cfeabe7ef87c0091e50752e36707deff" + integrity sha512-WZLiwShhwLRmeV6zH+GkbOFT6Z6VklCItrDioxUnv+u4Ll+8vKeFySoFyK/0ctcRpOmwAicELfmys1sDc/Rw+A== + +"@types/semver@^7.3.12", "@types/semver@^7.5.0": + version "7.5.6" + resolved "https://registry.yarnpkg.com/@types/semver/-/semver-7.5.6.tgz#c65b2bfce1bec346582c07724e3f8c1017a20339" + integrity sha512-dn1l8LaMea/IjDoHNd9J52uBbInB796CDffS6VdIxvqYCPSG0V0DzHp76GpaWnlhg88uYyPbXCDIowa86ybd5A== + +"@types/sinonjs__fake-timers@8.1.1": + version "8.1.1" + resolved "https://registry.yarnpkg.com/@types/sinonjs__fake-timers/-/sinonjs__fake-timers-8.1.1.tgz#b49c2c70150141a15e0fa7e79cf1f92a72934ce3" + integrity sha512-0kSuKjAS0TrGLJ0M/+8MaFkGsQhZpB6pxOmvS3K8FYI72K//YmdfoW9X2qPsAKh1mkwxGD5zib9s1FIFed6E8g== + +"@types/sizzle@^2.3.2": + version "2.3.8" + resolved "https://registry.yarnpkg.com/@types/sizzle/-/sizzle-2.3.8.tgz#518609aefb797da19bf222feb199e8f653ff7627" + integrity sha512-0vWLNK2D5MT9dg0iOo8GlKguPAU02QjmZitPEsXRuJXU/OGIOt9vT9Fc26wtYuavLxtO45v9PGleoL9Z0k1LHg== + +"@types/stack-utils@^2.0.0": + version "2.0.3" + resolved "https://registry.yarnpkg.com/@types/stack-utils/-/stack-utils-2.0.3.tgz#6209321eb2c1712a7e7466422b8cb1fc0d9dd5d8" + integrity sha512-9aEbYZ3TbYMznPdcdr3SmIrLXwC/AKZXQeCf9Pgao5CKb8CyHuEX5jzWPTkvregvhRJHcpRO6BFoGW9ycaOkYw== + +"@types/string-hash@1.1.1": + version "1.1.1" + resolved "https://registry.yarnpkg.com/@types/string-hash/-/string-hash-1.1.1.tgz#4c336e61d1e13ce2d3efaaa5910005fd080e106b" + integrity sha512-ijt3zdHi2DmZxQpQTmozXszzDo78V4R3EdvX0jFMfnMH2ZzQSmCbaWOMPGXFUYSzSIdStv78HDjg32m5dxc+tA== + +"@types/testing-library__jest-dom@5.14.8": + version "5.14.8" + resolved "https://registry.yarnpkg.com/@types/testing-library__jest-dom/-/testing-library__jest-dom-5.14.8.tgz#b32090a01c29040461fb7fa10a82400f216a4b93" + integrity sha512-NRfJE9Cgpmu4fx716q9SYmU4jxxhYRU1BQo239Txt/9N3EC745XZX1Yl7h/SBIDlo1ANVOCRB4YDXjaQdoKCHQ== + dependencies: + "@types/jest" "*" + +"@types/tough-cookie@*": + version "4.0.5" + resolved "https://registry.yarnpkg.com/@types/tough-cookie/-/tough-cookie-4.0.5.tgz#cb6e2a691b70cb177c6e3ae9c1d2e8b2ea8cd304" + integrity sha512-/Ad8+nIOV7Rl++6f1BdKxFSMgmoqEoYbHRpPcx3JEfv8VRsQe9Z4mCXeJBzxs7mbHY/XOZZuXlRNfhpVPbs6ZA== + +"@types/yargs-parser@*": + version "21.0.3" + resolved "https://registry.yarnpkg.com/@types/yargs-parser/-/yargs-parser-21.0.3.tgz#815e30b786d2e8f0dcd85fd5bcf5e1a04d008f15" + integrity sha512-I4q9QU9MQv4oEOz4tAHJtNz1cwuLxn2F3xcc2iV5WdqLPpUnj30aUuxt1mAxYTG+oe8CZMV/+6rU4S4gRDzqtQ== + +"@types/yargs@^17.0.8": + version "17.0.32" + resolved "https://registry.yarnpkg.com/@types/yargs/-/yargs-17.0.32.tgz#030774723a2f7faafebf645f4e5a48371dca6229" + integrity sha512-xQ67Yc/laOG5uMfX/093MRlGGCIBzZMarVa+gfNKJxWAIgykYpVGkBdbqEzGDDfCrVUj6Hiff4mTZ5BA6TmAog== + dependencies: + "@types/yargs-parser" "*" + +"@types/yauzl@^2.9.1": + version "2.10.3" + resolved "https://registry.yarnpkg.com/@types/yauzl/-/yauzl-2.10.3.tgz#e9b2808b4f109504a03cda958259876f61017999" + integrity sha512-oJoftv0LSuaDZE3Le4DbKX+KS9G36NzOeSap90UIK0yMA/NhKJhqlSGtNDORNRaIbQfzjXDrQa0ytJ6mNRGz/Q== + dependencies: + "@types/node" "*" + +"@typescript-eslint/eslint-plugin@5.59.9": + version "5.59.9" + resolved "https://registry.yarnpkg.com/@typescript-eslint/eslint-plugin/-/eslint-plugin-5.59.9.tgz#2604cfaf2b306e120044f901e20c8ed926debf15" + integrity sha512-4uQIBq1ffXd2YvF7MAvehWKW3zVv/w+mSfRAu+8cKbfj3nwzyqJLNcZJpQ/WZ1HLbJDiowwmQ6NO+63nCA+fqA== + dependencies: + "@eslint-community/regexpp" "^4.4.0" + "@typescript-eslint/scope-manager" "5.59.9" + "@typescript-eslint/type-utils" "5.59.9" + "@typescript-eslint/utils" "5.59.9" + debug "^4.3.4" + grapheme-splitter "^1.0.4" + ignore "^5.2.0" + natural-compare-lite "^1.4.0" + semver "^7.3.7" + tsutils "^3.21.0" + +"@typescript-eslint/parser@5.59.9": + version "5.59.9" + resolved "https://registry.yarnpkg.com/@typescript-eslint/parser/-/parser-5.59.9.tgz#a85c47ccdd7e285697463da15200f9a8561dd5fa" + integrity sha512-FsPkRvBtcLQ/eVK1ivDiNYBjn3TGJdXy2fhXX+rc7czWl4ARwnpArwbihSOHI2Peg9WbtGHrbThfBUkZZGTtvQ== + dependencies: + "@typescript-eslint/scope-manager" "5.59.9" + "@typescript-eslint/types" "5.59.9" + "@typescript-eslint/typescript-estree" "5.59.9" + debug "^4.3.4" + +"@typescript-eslint/scope-manager@5.59.9": + version "5.59.9" + resolved "https://registry.yarnpkg.com/@typescript-eslint/scope-manager/-/scope-manager-5.59.9.tgz#eadce1f2733389cdb58c49770192c0f95470d2f4" + integrity sha512-8RA+E+w78z1+2dzvK/tGZ2cpGigBZ58VMEHDZtpE1v+LLjzrYGc8mMaTONSxKyEkz3IuXFM0IqYiGHlCsmlZxQ== + dependencies: + "@typescript-eslint/types" "5.59.9" + "@typescript-eslint/visitor-keys" "5.59.9" + +"@typescript-eslint/scope-manager@6.19.1": + version "6.19.1" + resolved "https://registry.yarnpkg.com/@typescript-eslint/scope-manager/-/scope-manager-6.19.1.tgz#2f527ee30703a6169a52b31d42a1103d80acd51b" + integrity sha512-4CdXYjKf6/6aKNMSly/BP4iCSOpvMmqtDzRtqFyyAae3z5kkqEjKndR5vDHL8rSuMIIWP8u4Mw4VxLyxZW6D5w== + dependencies: + "@typescript-eslint/types" "6.19.1" + "@typescript-eslint/visitor-keys" "6.19.1" + +"@typescript-eslint/type-utils@5.59.9": + version "5.59.9" + resolved "https://registry.yarnpkg.com/@typescript-eslint/type-utils/-/type-utils-5.59.9.tgz#53bfaae2e901e6ac637ab0536d1754dfef4dafc2" + integrity sha512-ksEsT0/mEHg9e3qZu98AlSrONAQtrSTljL3ow9CGej8eRo7pe+yaC/mvTjptp23Xo/xIf2mLZKC6KPv4Sji26Q== + dependencies: + "@typescript-eslint/typescript-estree" "5.59.9" + "@typescript-eslint/utils" "5.59.9" + debug "^4.3.4" + tsutils "^3.21.0" + +"@typescript-eslint/types@5.59.9": + version "5.59.9" + resolved "https://registry.yarnpkg.com/@typescript-eslint/types/-/types-5.59.9.tgz#3b4e7ae63718ce1b966e0ae620adc4099a6dcc52" + integrity sha512-uW8H5NRgTVneSVTfiCVffBb8AbwWSKg7qcA4Ot3JI3MPCJGsB4Db4BhvAODIIYE5mNj7Q+VJkK7JxmRhk2Lyjw== + +"@typescript-eslint/types@6.19.1": + version "6.19.1" + resolved "https://registry.yarnpkg.com/@typescript-eslint/types/-/types-6.19.1.tgz#2d4c9d492a63ede15e7ba7d129bdf7714b77f771" + integrity sha512-6+bk6FEtBhvfYvpHsDgAL3uo4BfvnTnoge5LrrCj2eJN8g3IJdLTD4B/jK3Q6vo4Ql/Hoip9I8aB6fF+6RfDqg== + +"@typescript-eslint/typescript-estree@5.59.9": + version "5.59.9" + resolved "https://registry.yarnpkg.com/@typescript-eslint/typescript-estree/-/typescript-estree-5.59.9.tgz#6bfea844e468427b5e72034d33c9fffc9557392b" + integrity sha512-pmM0/VQ7kUhd1QyIxgS+aRvMgw+ZljB3eDb+jYyp6d2bC0mQWLzUDF+DLwCTkQ3tlNyVsvZRXjFyV0LkU/aXjA== + dependencies: + "@typescript-eslint/types" "5.59.9" + "@typescript-eslint/visitor-keys" "5.59.9" + debug "^4.3.4" + globby "^11.1.0" + is-glob "^4.0.3" + semver "^7.3.7" + tsutils "^3.21.0" + +"@typescript-eslint/typescript-estree@6.19.1": + version "6.19.1" + resolved "https://registry.yarnpkg.com/@typescript-eslint/typescript-estree/-/typescript-estree-6.19.1.tgz#796d88d88882f12e85bb33d6d82d39e1aea54ed1" + integrity sha512-aFdAxuhzBFRWhy+H20nYu19+Km+gFfwNO4TEqyszkMcgBDYQjmPJ61erHxuT2ESJXhlhrO7I5EFIlZ+qGR8oVA== + dependencies: + "@typescript-eslint/types" "6.19.1" + "@typescript-eslint/visitor-keys" "6.19.1" + debug "^4.3.4" + globby "^11.1.0" + is-glob "^4.0.3" + minimatch "9.0.3" + semver "^7.5.4" + ts-api-utils "^1.0.1" + +"@typescript-eslint/utils@5.59.9": + version "5.59.9" + resolved "https://registry.yarnpkg.com/@typescript-eslint/utils/-/utils-5.59.9.tgz#adee890107b5ffe02cd46fdaa6c2125fb3c6c7c4" + integrity sha512-1PuMYsju/38I5Ggblaeb98TOoUvjhRvLpLa1DoTOFaLWqaXl/1iQ1eGurTXgBY58NUdtfTXKP5xBq7q9NDaLKg== + dependencies: + "@eslint-community/eslint-utils" "^4.2.0" + "@types/json-schema" "^7.0.9" + "@types/semver" "^7.3.12" + "@typescript-eslint/scope-manager" "5.59.9" + "@typescript-eslint/types" "5.59.9" + "@typescript-eslint/typescript-estree" "5.59.9" + eslint-scope "^5.1.1" + semver "^7.3.7" + +"@typescript-eslint/utils@^6.0.0": + version "6.19.1" + resolved "https://registry.yarnpkg.com/@typescript-eslint/utils/-/utils-6.19.1.tgz#df93497f9cfddde2bcc2a591da80536e68acd151" + integrity sha512-JvjfEZuP5WoMqwh9SPAPDSHSg9FBHHGhjPugSRxu5jMfjvBpq5/sGTD+9M9aQ5sh6iJ8AY/Kk/oUYVEMAPwi7w== + dependencies: + "@eslint-community/eslint-utils" "^4.4.0" + "@types/json-schema" "^7.0.12" + "@types/semver" "^7.5.0" + "@typescript-eslint/scope-manager" "6.19.1" + "@typescript-eslint/types" "6.19.1" + "@typescript-eslint/typescript-estree" "6.19.1" + semver "^7.5.4" + +"@typescript-eslint/visitor-keys@5.59.9": + version "5.59.9" + resolved "https://registry.yarnpkg.com/@typescript-eslint/visitor-keys/-/visitor-keys-5.59.9.tgz#9f86ef8e95aca30fb5a705bb7430f95fc58b146d" + integrity sha512-bT7s0td97KMaLwpEBckbzj/YohnvXtqbe2XgqNvTl6RJVakY5mvENOTPvw5u66nljfZxthESpDozs86U+oLY8Q== + dependencies: + "@typescript-eslint/types" "5.59.9" + eslint-visitor-keys "^3.3.0" + +"@typescript-eslint/visitor-keys@6.19.1": + version "6.19.1" + resolved "https://registry.yarnpkg.com/@typescript-eslint/visitor-keys/-/visitor-keys-6.19.1.tgz#2164073ed4fc34a5ff3b5e25bb5a442100454c4c" + integrity sha512-gkdtIO+xSO/SmI0W68DBg4u1KElmIUo3vXzgHyGPs6cxgB0sa3TlptRAAE0hUY1hM6FcDKEv7aIwiTGm76cXfQ== + dependencies: + "@typescript-eslint/types" "6.19.1" + eslint-visitor-keys "^3.4.1" + +"@webassemblyjs/ast@1.11.6", "@webassemblyjs/ast@^1.11.5": + version "1.11.6" + resolved "https://registry.yarnpkg.com/@webassemblyjs/ast/-/ast-1.11.6.tgz#db046555d3c413f8966ca50a95176a0e2c642e24" + integrity sha512-IN1xI7PwOvLPgjcf180gC1bqn3q/QaOCwYUahIOhbYUu8KA/3tw2RT/T0Gidi1l7Hhj5D/INhJxiICObqpMu4Q== + dependencies: + "@webassemblyjs/helper-numbers" "1.11.6" + "@webassemblyjs/helper-wasm-bytecode" "1.11.6" + +"@webassemblyjs/floating-point-hex-parser@1.11.6": + version "1.11.6" + resolved "https://registry.yarnpkg.com/@webassemblyjs/floating-point-hex-parser/-/floating-point-hex-parser-1.11.6.tgz#dacbcb95aff135c8260f77fa3b4c5fea600a6431" + integrity sha512-ejAj9hfRJ2XMsNHk/v6Fu2dGS+i4UaXBXGemOfQ/JfQ6mdQg/WXtwleQRLLS4OvfDhv8rYnVwH27YJLMyYsxhw== + +"@webassemblyjs/helper-api-error@1.11.6": + version "1.11.6" + resolved "https://registry.yarnpkg.com/@webassemblyjs/helper-api-error/-/helper-api-error-1.11.6.tgz#6132f68c4acd59dcd141c44b18cbebbd9f2fa768" + integrity sha512-o0YkoP4pVu4rN8aTJgAyj9hC2Sv5UlkzCHhxqWj8butaLvnpdc2jOwh4ewE6CX0txSfLn/UYaV/pheS2Txg//Q== + +"@webassemblyjs/helper-buffer@1.11.6": + version "1.11.6" + resolved "https://registry.yarnpkg.com/@webassemblyjs/helper-buffer/-/helper-buffer-1.11.6.tgz#b66d73c43e296fd5e88006f18524feb0f2c7c093" + integrity sha512-z3nFzdcp1mb8nEOFFk8DrYLpHvhKC3grJD2ardfKOzmbmJvEf/tPIqCY+sNcwZIY8ZD7IkB2l7/pqhUhqm7hLA== + +"@webassemblyjs/helper-numbers@1.11.6": + version "1.11.6" + resolved "https://registry.yarnpkg.com/@webassemblyjs/helper-numbers/-/helper-numbers-1.11.6.tgz#cbce5e7e0c1bd32cf4905ae444ef64cea919f1b5" + integrity sha512-vUIhZ8LZoIWHBohiEObxVm6hwP034jwmc9kuq5GdHZH0wiLVLIPcMCdpJzG4C11cHoQ25TFIQj9kaVADVX7N3g== + dependencies: + "@webassemblyjs/floating-point-hex-parser" "1.11.6" + "@webassemblyjs/helper-api-error" "1.11.6" + "@xtuc/long" "4.2.2" + +"@webassemblyjs/helper-wasm-bytecode@1.11.6": + version "1.11.6" + resolved "https://registry.yarnpkg.com/@webassemblyjs/helper-wasm-bytecode/-/helper-wasm-bytecode-1.11.6.tgz#bb2ebdb3b83aa26d9baad4c46d4315283acd51e9" + integrity sha512-sFFHKwcmBprO9e7Icf0+gddyWYDViL8bpPjJJl0WHxCdETktXdmtWLGVzoHbqUcY4Be1LkNfwTmXOJUFZYSJdA== + +"@webassemblyjs/helper-wasm-section@1.11.6": + version "1.11.6" + resolved "https://registry.yarnpkg.com/@webassemblyjs/helper-wasm-section/-/helper-wasm-section-1.11.6.tgz#ff97f3863c55ee7f580fd5c41a381e9def4aa577" + integrity sha512-LPpZbSOwTpEC2cgn4hTydySy1Ke+XEu+ETXuoyvuyezHO3Kjdu90KK95Sh9xTbmjrCsUwvWwCOQQNta37VrS9g== + dependencies: + "@webassemblyjs/ast" "1.11.6" + "@webassemblyjs/helper-buffer" "1.11.6" + "@webassemblyjs/helper-wasm-bytecode" "1.11.6" + "@webassemblyjs/wasm-gen" "1.11.6" + +"@webassemblyjs/ieee754@1.11.6": + version "1.11.6" + resolved "https://registry.yarnpkg.com/@webassemblyjs/ieee754/-/ieee754-1.11.6.tgz#bb665c91d0b14fffceb0e38298c329af043c6e3a" + integrity sha512-LM4p2csPNvbij6U1f19v6WR56QZ8JcHg3QIJTlSwzFcmx6WSORicYj6I63f9yU1kEUtrpG+kjkiIAkevHpDXrg== + dependencies: + "@xtuc/ieee754" "^1.2.0" + +"@webassemblyjs/leb128@1.11.6": + version "1.11.6" + resolved "https://registry.yarnpkg.com/@webassemblyjs/leb128/-/leb128-1.11.6.tgz#70e60e5e82f9ac81118bc25381a0b283893240d7" + integrity sha512-m7a0FhE67DQXgouf1tbN5XQcdWoNgaAuoULHIfGFIEVKA6tu/edls6XnIlkmS6FrXAquJRPni3ZZKjw6FSPjPQ== + dependencies: + "@xtuc/long" "4.2.2" + +"@webassemblyjs/utf8@1.11.6": + version "1.11.6" + resolved "https://registry.yarnpkg.com/@webassemblyjs/utf8/-/utf8-1.11.6.tgz#90f8bc34c561595fe156603be7253cdbcd0fab5a" + integrity sha512-vtXf2wTQ3+up9Zsg8sa2yWiQpzSsMyXj0qViVP6xKGCUT8p8YJ6HqI7l5eCnWx1T/FYdsv07HQs2wTFbbof/RA== + +"@webassemblyjs/wasm-edit@^1.11.5": + version "1.11.6" + resolved "https://registry.yarnpkg.com/@webassemblyjs/wasm-edit/-/wasm-edit-1.11.6.tgz#c72fa8220524c9b416249f3d94c2958dfe70ceab" + integrity sha512-Ybn2I6fnfIGuCR+Faaz7YcvtBKxvoLV3Lebn1tM4o/IAJzmi9AWYIPWpyBfU8cC+JxAO57bk4+zdsTjJR+VTOw== + dependencies: + "@webassemblyjs/ast" "1.11.6" + "@webassemblyjs/helper-buffer" "1.11.6" + "@webassemblyjs/helper-wasm-bytecode" "1.11.6" + "@webassemblyjs/helper-wasm-section" "1.11.6" + "@webassemblyjs/wasm-gen" "1.11.6" + "@webassemblyjs/wasm-opt" "1.11.6" + "@webassemblyjs/wasm-parser" "1.11.6" + "@webassemblyjs/wast-printer" "1.11.6" + +"@webassemblyjs/wasm-gen@1.11.6": + version "1.11.6" + resolved "https://registry.yarnpkg.com/@webassemblyjs/wasm-gen/-/wasm-gen-1.11.6.tgz#fb5283e0e8b4551cc4e9c3c0d7184a65faf7c268" + integrity sha512-3XOqkZP/y6B4F0PBAXvI1/bky7GryoogUtfwExeP/v7Nzwo1QLcq5oQmpKlftZLbT+ERUOAZVQjuNVak6UXjPA== + dependencies: + "@webassemblyjs/ast" "1.11.6" + "@webassemblyjs/helper-wasm-bytecode" "1.11.6" + "@webassemblyjs/ieee754" "1.11.6" + "@webassemblyjs/leb128" "1.11.6" + "@webassemblyjs/utf8" "1.11.6" + +"@webassemblyjs/wasm-opt@1.11.6": + version "1.11.6" + resolved "https://registry.yarnpkg.com/@webassemblyjs/wasm-opt/-/wasm-opt-1.11.6.tgz#d9a22d651248422ca498b09aa3232a81041487c2" + integrity sha512-cOrKuLRE7PCe6AsOVl7WasYf3wbSo4CeOk6PkrjS7g57MFfVUF9u6ysQBBODX0LdgSvQqRiGz3CXvIDKcPNy4g== + dependencies: + "@webassemblyjs/ast" "1.11.6" + "@webassemblyjs/helper-buffer" "1.11.6" + "@webassemblyjs/wasm-gen" "1.11.6" + "@webassemblyjs/wasm-parser" "1.11.6" + +"@webassemblyjs/wasm-parser@1.11.6", "@webassemblyjs/wasm-parser@^1.11.5": + version "1.11.6" + resolved "https://registry.yarnpkg.com/@webassemblyjs/wasm-parser/-/wasm-parser-1.11.6.tgz#bb85378c527df824004812bbdb784eea539174a1" + integrity sha512-6ZwPeGzMJM3Dqp3hCsLgESxBGtT/OeCvCZ4TA1JUPYgmhAx38tTPR9JaKy0S5H3evQpO/h2uWs2j6Yc/fjkpTQ== + dependencies: + "@webassemblyjs/ast" "1.11.6" + "@webassemblyjs/helper-api-error" "1.11.6" + "@webassemblyjs/helper-wasm-bytecode" "1.11.6" + "@webassemblyjs/ieee754" "1.11.6" + "@webassemblyjs/leb128" "1.11.6" + "@webassemblyjs/utf8" "1.11.6" + +"@webassemblyjs/wast-printer@1.11.6": + version "1.11.6" + resolved "https://registry.yarnpkg.com/@webassemblyjs/wast-printer/-/wast-printer-1.11.6.tgz#a7bf8dd7e362aeb1668ff43f35cb849f188eff20" + integrity sha512-JM7AhRcE+yW2GWYaKeHL5vt4xqee5N2WcezptmgyhNS+ScggqcT1OtXykhAb13Sn5Yas0j2uv9tHgrjwvzAP4A== + dependencies: + "@webassemblyjs/ast" "1.11.6" + "@xtuc/long" "4.2.2" + +"@webpack-cli/configtest@^2.1.1": + version "2.1.1" + resolved "https://registry.yarnpkg.com/@webpack-cli/configtest/-/configtest-2.1.1.tgz#3b2f852e91dac6e3b85fb2a314fb8bef46d94646" + integrity sha512-wy0mglZpDSiSS0XHrVR+BAdId2+yxPSoJW8fsna3ZpYSlufjvxnP4YbKTCBZnNIcGN4r6ZPXV55X4mYExOfLmw== + +"@webpack-cli/info@^2.0.2": + version "2.0.2" + resolved "https://registry.yarnpkg.com/@webpack-cli/info/-/info-2.0.2.tgz#cc3fbf22efeb88ff62310cf885c5b09f44ae0fdd" + integrity sha512-zLHQdI/Qs1UyT5UBdWNqsARasIA+AaF8t+4u2aS2nEpBQh2mWIVb8qAklq0eUENnC5mOItrIB4LiS9xMtph18A== + +"@webpack-cli/serve@^2.0.5": + version "2.0.5" + resolved "https://registry.yarnpkg.com/@webpack-cli/serve/-/serve-2.0.5.tgz#325db42395cd49fe6c14057f9a900e427df8810e" + integrity sha512-lqaoKnRYBdo1UgDX8uF24AfGMifWK19TxPmM5FHc2vAGxrJ/qtyUyFBWoY1tISZdelsQ5fBcOusifo5o5wSJxQ== + +"@wojtekmaj/date-utils@^1.0.2": + version "1.5.1" + resolved "https://registry.yarnpkg.com/@wojtekmaj/date-utils/-/date-utils-1.5.1.tgz#c3cd67177ac781cfa5736219d702a55a2aea5f2b" + integrity sha512-+i7+JmNiE/3c9FKxzWFi2IjRJ+KzZl1QPu6QNrsgaa2MuBgXvUy4gA1TVzf/JMdIIloB76xSKikTWuyYAIVLww== + +"@xobotyi/scrollbar-width@^1.9.5": + version "1.9.5" + resolved "https://registry.yarnpkg.com/@xobotyi/scrollbar-width/-/scrollbar-width-1.9.5.tgz#80224a6919272f405b87913ca13b92929bdf3c4d" + integrity sha512-N8tkAACJx2ww8vFMneJmaAgmjAG1tnVBZJRLRcx061tmsLRZHSEZSLuGWnwPtunsSLvSqXQ2wfp7Mgqg1I+2dQ== + +"@xtuc/ieee754@^1.2.0": + version "1.2.0" + resolved "https://registry.yarnpkg.com/@xtuc/ieee754/-/ieee754-1.2.0.tgz#eef014a3145ae477a1cbc00cd1e552336dceb790" + integrity sha512-DX8nKgqcGwsc0eJSqYt5lwP4DH5FlHnmuWWBRy7X0NcaGR0ZtuyeESgMwTYVEtxmsNGY+qit4QYT/MIYTOTPeA== + +"@xtuc/long@4.2.2": + version "4.2.2" + resolved "https://registry.yarnpkg.com/@xtuc/long/-/long-4.2.2.tgz#d291c6a4e97989b5c61d9acf396ae4fe133a718d" + integrity sha512-NuHqBY1PB/D8xU6s/thBgOAiAP7HOYDQ32+BFZILJ8ivkUkAHQnWfn6WhL79Owj1qmUnoN/YPhktdIoucipkAQ== + +abab@^2.0.6: + version "2.0.6" + resolved "https://registry.yarnpkg.com/abab/-/abab-2.0.6.tgz#41b80f2c871d19686216b82309231cfd3cb3d291" + integrity sha512-j2afSsaIENvHZN2B8GOpF566vZ5WVk5opAiMTvWgaQT8DkbOqsTfvNAvHoRGU2zzP8cPoqys+xHTRDWW8L+/BA== + +acorn-globals@^7.0.0: + version "7.0.1" + resolved "https://registry.yarnpkg.com/acorn-globals/-/acorn-globals-7.0.1.tgz#0dbf05c44fa7c94332914c02066d5beff62c40c3" + integrity sha512-umOSDSDrfHbTNPuNpC2NSnnA3LUrqpevPb4T9jRx4MagXNS0rs+gwiTcAvqCRmsD6utzsrzNt+ebm00SNWiC3Q== + dependencies: + acorn "^8.1.0" + acorn-walk "^8.0.2" + +acorn-import-assertions@^1.9.0: + version "1.9.0" + resolved "https://registry.yarnpkg.com/acorn-import-assertions/-/acorn-import-assertions-1.9.0.tgz#507276249d684797c84e0734ef84860334cfb1ac" + integrity sha512-cmMwop9x+8KFhxvKrKfPYmN6/pKTYYHBqLa0DfvVZcKMJWNyWLnaqND7dx/qn66R7ewM1UX5XMaDVP5wlVTaVA== + +acorn-jsx@^5.3.2: + version "5.3.2" + resolved "https://registry.yarnpkg.com/acorn-jsx/-/acorn-jsx-5.3.2.tgz#7ed5bb55908b3b2f1bc55c6af1653bada7f07937" + integrity sha512-rq9s+JNhf0IChjtDXxllJ7g41oZk5SlXtp0LHwyA5cejwn7vKmKp4pPri6YEePv2PU65sAsegbXtIinmDFDXgQ== + +acorn-walk@^8.0.2, acorn-walk@^8.1.1: + version "8.3.2" + resolved "https://registry.yarnpkg.com/acorn-walk/-/acorn-walk-8.3.2.tgz#7703af9415f1b6db9315d6895503862e231d34aa" + integrity sha512-cjkyv4OtNCIeqhHrfS81QWXoCBPExR/J62oyEqepVw8WaQeSqpW2uhuLPh1m9eWhDuOo/jUXVTlifvesOWp/4A== + +acorn@^8.1.0, acorn@^8.4.1, acorn@^8.7.1, acorn@^8.8.1, acorn@^8.8.2, acorn@^8.9.0: + version "8.11.3" + resolved "https://registry.yarnpkg.com/acorn/-/acorn-8.11.3.tgz#71e0b14e13a4ec160724b38fb7b0f233b1b81d7a" + integrity sha512-Y9rRfJG5jcKOE0CLisYbojUjIrIEE7AGMzA/Sm4BslANhbS+cDMpgBdcPT91oJ7OuJ9hYJBx59RjbhxVnrF8Xg== + +add-dom-event-listener@^1.1.0: + version "1.1.0" + resolved "https://registry.yarnpkg.com/add-dom-event-listener/-/add-dom-event-listener-1.1.0.tgz#6a92db3a0dd0abc254e095c0f1dc14acbbaae310" + integrity sha512-WCxx1ixHT0GQU9hb0KI/mhgRQhnU+U3GvwY6ZvVjYq8rsihIGoaIOUbY0yMPBxLH5MDtr0kz3fisWGNcbWW7Jw== + dependencies: + object-assign "4.x" + +add-px-to-style@1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/add-px-to-style/-/add-px-to-style-1.0.0.tgz#d0c135441fa8014a8137904531096f67f28f263a" + integrity sha512-YMyxSlXpPjD8uWekCQGuN40lV4bnZagUwqa2m/uFv1z/tNImSk9fnXVMUI5qwME/zzI3MMQRvjZ+69zyfSSyew== + +agent-base@6: + version "6.0.2" + resolved "https://registry.yarnpkg.com/agent-base/-/agent-base-6.0.2.tgz#49fff58577cfee3f37176feab4c22e00f86d7f77" + integrity sha512-RZNwNclF7+MS/8bDg70amg32dyeZGZxiDuQmZxKLAlQjr3jGyLx+4Kkk58UO7D2QdgFIQCovuSuZESne6RG6XQ== + dependencies: + debug "4" + +aggregate-error@^3.0.0: + version "3.1.0" + resolved "https://registry.yarnpkg.com/aggregate-error/-/aggregate-error-3.1.0.tgz#92670ff50f5359bdb7a3e0d40d0ec30c5737687a" + integrity sha512-4I7Td01quW/RpocfNayFdFVk1qSuoh0E7JrbRJ16nH01HhKFQ88INq9Sd+nd72zqRySlr9BmDA8xlEJ6vJMrYA== + dependencies: + clean-stack "^2.0.0" + indent-string "^4.0.0" + +ajv-formats@^2.1.1: + version "2.1.1" + resolved "https://registry.yarnpkg.com/ajv-formats/-/ajv-formats-2.1.1.tgz#6e669400659eb74973bbf2e33327180a0996b520" + integrity sha512-Wx0Kx52hxE7C18hkMEggYlEifqWZtYaRgouJor+WMdPnQyEK13vgEWyVNup7SoeeoLMsr4kf5h6dOW11I15MUA== + dependencies: + ajv "^8.0.0" + +ajv-keywords@^3.5.2: + version "3.5.2" + resolved "https://registry.yarnpkg.com/ajv-keywords/-/ajv-keywords-3.5.2.tgz#31f29da5ab6e00d1c2d329acf7b5929614d5014d" + integrity sha512-5p6WTN0DdTGVQk6VjcEju19IgaHudalcfabD7yhDGeA6bcQnmL+CpveLJq/3hvfwd1aof6L386Ougkx6RfyMIQ== + +ajv-keywords@^5.1.0: + version "5.1.0" + resolved "https://registry.yarnpkg.com/ajv-keywords/-/ajv-keywords-5.1.0.tgz#69d4d385a4733cdbeab44964a1170a88f87f0e16" + integrity sha512-YCS/JNFAUyr5vAuhk1DWm1CBxRHW9LbJ2ozWeemrIqpbsqKjHVxYPyi5GC0rjZIT5JxJ3virVTS8wk4i/Z+krw== + dependencies: + fast-deep-equal "^3.1.3" + +ajv@^6.10.0, ajv@^6.12.3, ajv@^6.12.4, ajv@^6.12.5: + version "6.12.6" + resolved "https://registry.yarnpkg.com/ajv/-/ajv-6.12.6.tgz#baf5a62e802b07d977034586f8c3baf5adf26df4" + integrity sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g== + dependencies: + fast-deep-equal "^3.1.1" + fast-json-stable-stringify "^2.0.0" + json-schema-traverse "^0.4.1" + uri-js "^4.2.2" + +ajv@^8.0.0, ajv@^8.9.0: + version "8.12.0" + resolved "https://registry.yarnpkg.com/ajv/-/ajv-8.12.0.tgz#d1a0527323e22f53562c567c00991577dfbe19d1" + integrity sha512-sRu1kpcO9yLtYxBKvqfTeh9KzZEwO3STyX1HT+4CaDzC6HpTGYhIhPIzj9XuKU7KYDwnaeh5hcOwjy1QuJzBPA== + dependencies: + fast-deep-equal "^3.1.1" + json-schema-traverse "^1.0.0" + require-from-string "^2.0.2" + uri-js "^4.2.2" + +ansi-colors@4.1.1: + version "4.1.1" + resolved "https://registry.yarnpkg.com/ansi-colors/-/ansi-colors-4.1.1.tgz#cbb9ae256bf750af1eab344f229aa27fe94ba348" + integrity sha512-JoX0apGbHaUJBNl6yF+p6JAFYZ666/hhCGKN5t9QFjbJQKUU/g8MNbFDbvfrgKXvI1QpZplPOnwIo99lX/AAmA== + +ansi-colors@^4.1.1: + version "4.1.3" + resolved "https://registry.yarnpkg.com/ansi-colors/-/ansi-colors-4.1.3.tgz#37611340eb2243e70cc604cad35d63270d48781b" + integrity sha512-/6w/C21Pm1A7aZitlI5Ni/2J6FFQN8i1Cvz3kHABAAbw93v/NlvKdVOqz7CCWz/3iv/JplRSEEZ83XION15ovw== + +ansi-escapes@^4.2.1, ansi-escapes@^4.3.0: + version "4.3.2" + resolved "https://registry.yarnpkg.com/ansi-escapes/-/ansi-escapes-4.3.2.tgz#6b2291d1db7d98b6521d5f1efa42d0f3a9feb65e" + integrity sha512-gKXj5ALrKWQLsYG9jlTRmR/xKluxHV+Z9QEwNIgCfM1/uwPMCuzVVnh5mwTd+OuBZcwSIMbqssNWRm1lE51QaQ== + dependencies: + type-fest "^0.21.3" + +ansi-regex@^5.0.1: + version "5.0.1" + resolved "https://registry.yarnpkg.com/ansi-regex/-/ansi-regex-5.0.1.tgz#082cb2c89c9fe8659a311a53bd6a4dc5301db304" + integrity sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ== + +ansi-regex@^6.0.1: + version "6.0.1" + resolved "https://registry.yarnpkg.com/ansi-regex/-/ansi-regex-6.0.1.tgz#3183e38fae9a65d7cb5e53945cd5897d0260a06a" + integrity sha512-n5M855fKb2SsfMIiFFoVrABHJC8QtHwVx+mHWP3QcEqBHYienj5dHSgjbxtC0WEZXYt4wcD6zrQElDPhFuZgfA== + +ansi-styles@^3.2.1: + version "3.2.1" + resolved "https://registry.yarnpkg.com/ansi-styles/-/ansi-styles-3.2.1.tgz#41fbb20243e50b12be0f04b8dedbf07520ce841d" + integrity sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA== + dependencies: + color-convert "^1.9.0" + +ansi-styles@^4.0.0, ansi-styles@^4.1.0: + version "4.3.0" + resolved "https://registry.yarnpkg.com/ansi-styles/-/ansi-styles-4.3.0.tgz#edd803628ae71c04c85ae7a0906edad34b648937" + integrity sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg== + dependencies: + color-convert "^2.0.1" + +ansi-styles@^5.0.0: + version "5.2.0" + resolved "https://registry.yarnpkg.com/ansi-styles/-/ansi-styles-5.2.0.tgz#07449690ad45777d1924ac2abb2fc8895dba836b" + integrity sha512-Cxwpt2SfTzTtXcfOlzGEee8O+c+MmUgGrNiBcXnuWxuFJHe6a5Hz7qwhwe5OgaSYI0IJvkLqWX1ASG+cJOkEiA== + +ansi-styles@^6.1.0: + version "6.2.1" + resolved "https://registry.yarnpkg.com/ansi-styles/-/ansi-styles-6.2.1.tgz#0e62320cf99c21afff3b3012192546aacbfb05c5" + integrity sha512-bN798gFfQX+viw3R7yrGWRqnrN2oRkEkUjjl4JNn4E8GxxbjtG3FbrEIIY3l8/hrwUwIeCZvi4QuOTP4MErVug== + +ansicolor@1.1.100: + version "1.1.100" + resolved "https://registry.yarnpkg.com/ansicolor/-/ansicolor-1.1.100.tgz#811f1afbf726edca3aafb942a14df8351996304a" + integrity sha512-Jl0pxRfa9WaQVUX57AB8/V2my6FJxrOR1Pp2qqFbig20QB4HzUoQ48THTKAgHlUCJeQm/s2WoOPcoIDhyCL/kw== + +anymatch@^3.0.3, anymatch@^3.1.1, anymatch@~3.1.2: + version "3.1.3" + resolved "https://registry.yarnpkg.com/anymatch/-/anymatch-3.1.3.tgz#790c58b19ba1720a84205b57c618d5ad8524973e" + integrity sha512-KMReFUr0B4t+D+OBkjR3KYqvocp2XaSzO55UcB6mgQMd3KbcE+mWTyvVV7D/zsdEbNnV6acZUutkiHQXvTr1Rw== + dependencies: + normalize-path "^3.0.0" + picomatch "^2.0.4" + +arch@^2.2.0: + version "2.2.0" + resolved "https://registry.yarnpkg.com/arch/-/arch-2.2.0.tgz#1bc47818f305764f23ab3306b0bfc086c5a29d11" + integrity sha512-Of/R0wqp83cgHozfIYLbBMnej79U/SVGOOyuB3VVFv1NRM/PSFMK12x9KVtiYzJqmnU5WR2qp0Z5rHb7sWGnFQ== + +are-docs-informative@^0.0.2: + version "0.0.2" + resolved "https://registry.yarnpkg.com/are-docs-informative/-/are-docs-informative-0.0.2.tgz#387f0e93f5d45280373d387a59d34c96db321963" + integrity sha512-ixiS0nLNNG5jNQzgZJNoUpBKdo9yTYZMGJ+QgT2jmjR7G7+QHRCc4v6LQ3NgE7EBJq+o0ams3waJwkrlBom8Ig== + +arg@^4.1.0: + version "4.1.3" + resolved "https://registry.yarnpkg.com/arg/-/arg-4.1.3.tgz#269fc7ad5b8e42cb63c896d5666017261c144089" + integrity sha512-58S9QDqG0Xx27YwPSt9fJxivjYl432YCwfDMfZ+71RAqUrZef7LrKQZ3LHLOwCS4FLNBplP533Zx895SeOCHvA== + +argparse@^1.0.7: + version "1.0.10" + resolved "https://registry.yarnpkg.com/argparse/-/argparse-1.0.10.tgz#bcd6791ea5ae09725e17e5ad988134cd40b3d911" + integrity sha512-o5Roy6tNG4SL/FOkCAN6RzjiakZS25RLYFrcMttJqbdd8BWrnA+fGz57iN5Pb06pvBGvl5gQ0B48dJlslXvoTg== + dependencies: + sprintf-js "~1.0.2" + +argparse@^2.0.1: + version "2.0.1" + resolved "https://registry.yarnpkg.com/argparse/-/argparse-2.0.1.tgz#246f50f3ca78a3240f6c997e8a9bd1eac49e4b38" + integrity sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q== + +aria-query@5.1.3: + version "5.1.3" + resolved "https://registry.yarnpkg.com/aria-query/-/aria-query-5.1.3.tgz#19db27cd101152773631396f7a95a3b58c22c35e" + integrity sha512-R5iJ5lkuHybztUfuOAznmboyjWq8O6sqNqtK7CLOqdydi54VNbORp49mb14KbWgG1QD3JFO9hJdZ+y4KutfdOQ== + dependencies: + deep-equal "^2.0.5" + +aria-query@^5.0.0: + version "5.3.0" + resolved "https://registry.yarnpkg.com/aria-query/-/aria-query-5.3.0.tgz#650c569e41ad90b51b3d7df5e5eed1c7549c103e" + integrity sha512-b0P0sZPKtyu8HkeRAfCq0IfURZK+SuwMjY1UXGBU27wpAiTwQAIlq56IbIO+ytk/JjS1fMR14ee5WBBfKi5J6A== + dependencies: + dequal "^2.0.3" + +array-buffer-byte-length@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/array-buffer-byte-length/-/array-buffer-byte-length-1.0.0.tgz#fabe8bc193fea865f317fe7807085ee0dee5aead" + integrity sha512-LPuwb2P+NrQw3XhxGc36+XSvuBPopovXYTR9Ew++Du9Yb/bx5AzBfrIsBoj0EZUifjQU+sHL21sseZ3jerWO/A== + dependencies: + call-bind "^1.0.2" + is-array-buffer "^3.0.1" + +array-includes@^3.1.6, array-includes@^3.1.7: + version "3.1.7" + resolved "https://registry.yarnpkg.com/array-includes/-/array-includes-3.1.7.tgz#8cd2e01b26f7a3086cbc87271593fe921c62abda" + integrity sha512-dlcsNBIiWhPkHdOEEKnehA+RNUWDc4UqFtnIXU4uuYDPtA4LDkr7qip2p0VvFAEXNDr0yWZ9PJyIRiGjRLQzwQ== + dependencies: + call-bind "^1.0.2" + define-properties "^1.2.0" + es-abstract "^1.22.1" + get-intrinsic "^1.2.1" + is-string "^1.0.7" + +array-tree-filter@^2.1.0: + version "2.1.0" + resolved "https://registry.yarnpkg.com/array-tree-filter/-/array-tree-filter-2.1.0.tgz#873ac00fec83749f255ac8dd083814b4f6329190" + integrity sha512-4ROwICNlNw/Hqa9v+rk5h22KjmzB1JGTMVKP2AKJBOCgb0yL0ASf0+YvCcLNNwquOHNX48jkeZIJ3a+oOQqKcw== + +array-union@^2.1.0: + version "2.1.0" + resolved "https://registry.yarnpkg.com/array-union/-/array-union-2.1.0.tgz#b798420adbeb1de828d84acd8a2e23d3efe85e8d" + integrity sha512-HGyxoOTYUyCM6stUe6EJgnd4EoewAI7zMdfqO+kGjnlZmBDz/cR5pf8r/cR4Wq60sL/p0IkcjUEEPwS3GFrIyw== + +array.prototype.findlastindex@^1.2.3: + version "1.2.3" + resolved "https://registry.yarnpkg.com/array.prototype.findlastindex/-/array.prototype.findlastindex-1.2.3.tgz#b37598438f97b579166940814e2c0493a4f50207" + integrity sha512-LzLoiOMAxvy+Gd3BAq3B7VeIgPdo+Q8hthvKtXybMvRV0jrXfJM/t8mw7nNlpEcVlVUnCnM2KSX4XU5HmpodOA== + dependencies: + call-bind "^1.0.2" + define-properties "^1.2.0" + es-abstract "^1.22.1" + es-shim-unscopables "^1.0.0" + get-intrinsic "^1.2.1" + +array.prototype.flat@^1.3.1, array.prototype.flat@^1.3.2: + version "1.3.2" + resolved "https://registry.yarnpkg.com/array.prototype.flat/-/array.prototype.flat-1.3.2.tgz#1476217df8cff17d72ee8f3ba06738db5b387d18" + integrity sha512-djYB+Zx2vLewY8RWlNCUdHjDXs2XOgm602S9E7P/UpHgfeHL00cRiIF+IN/G/aUJ7kGPb6yO/ErDI5V2s8iycA== + dependencies: + call-bind "^1.0.2" + define-properties "^1.2.0" + es-abstract "^1.22.1" + es-shim-unscopables "^1.0.0" + +array.prototype.flatmap@^1.3.1, array.prototype.flatmap@^1.3.2: + version "1.3.2" + resolved "https://registry.yarnpkg.com/array.prototype.flatmap/-/array.prototype.flatmap-1.3.2.tgz#c9a7c6831db8e719d6ce639190146c24bbd3e527" + integrity sha512-Ewyx0c9PmpcsByhSW4r+9zDU7sGjFc86qf/kKtuSCRdhfbk0SNLLkaT5qvcHnRGgc5NP/ly/y+qkXkqONX54CQ== + dependencies: + call-bind "^1.0.2" + define-properties "^1.2.0" + es-abstract "^1.22.1" + es-shim-unscopables "^1.0.0" + +array.prototype.tosorted@^1.1.1: + version "1.1.2" + resolved "https://registry.yarnpkg.com/array.prototype.tosorted/-/array.prototype.tosorted-1.1.2.tgz#620eff7442503d66c799d95503f82b475745cefd" + integrity sha512-HuQCHOlk1Weat5jzStICBCd83NxiIMwqDg/dHEsoefabn/hJRj5pVdWcPUSpRrwhwxZOsQassMpgN/xRYFBMIg== + dependencies: + call-bind "^1.0.2" + define-properties "^1.2.0" + es-abstract "^1.22.1" + es-shim-unscopables "^1.0.0" + get-intrinsic "^1.2.1" + +arraybuffer.prototype.slice@^1.0.2: + version "1.0.2" + resolved "https://registry.yarnpkg.com/arraybuffer.prototype.slice/-/arraybuffer.prototype.slice-1.0.2.tgz#98bd561953e3e74bb34938e77647179dfe6e9f12" + integrity sha512-yMBKppFur/fbHu9/6USUe03bZ4knMYiwFBcyiaXB8Go0qNehwX6inYPzK9U0NeQvGxKthcmHcaR8P5MStSRBAw== + dependencies: + array-buffer-byte-length "^1.0.0" + call-bind "^1.0.2" + define-properties "^1.2.0" + es-abstract "^1.22.1" + get-intrinsic "^1.2.1" + is-array-buffer "^3.0.2" + is-shared-array-buffer "^1.0.2" + +asap@~1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/asap/-/asap-1.0.0.tgz#b2a45da5fdfa20b0496fc3768cc27c12fa916a7d" + integrity sha512-Ej9qjcXY+8Tuy1cNqiwNMwFRXOy9UwgTeMA8LxreodygIPV48lx8PU1ecFxb5ZeU1DpMKxiq6vGLTxcitWZPbA== + +asn1@~0.2.3: + version "0.2.6" + resolved "https://registry.yarnpkg.com/asn1/-/asn1-0.2.6.tgz#0d3a7bb6e64e02a90c0303b31f292868ea09a08d" + integrity sha512-ix/FxPn0MDjeyJ7i/yoHGFt/EX6LyNbxSEhPPXODPL+KB0VPk86UYfL0lMdy+KCnv+fmvIzySwaK5COwqVbWTQ== + dependencies: + safer-buffer "~2.1.0" + +assert-plus@1.0.0, assert-plus@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/assert-plus/-/assert-plus-1.0.0.tgz#f12e0f3c5d77b0b1cdd9146942e4e96c1e4dd525" + integrity sha512-NfJ4UzBCcQGLDlQq7nHxH+tv3kyZ0hHQqF5BO6J7tNJeP5do1llPr8dZ8zHonfhAu0PHAdMkSo+8o0wxg9lZWw== + +astral-regex@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/astral-regex/-/astral-regex-2.0.0.tgz#483143c567aeed4785759c0865786dc77d7d2e31" + integrity sha512-Z7tMw1ytTXt5jqMcOP+OQteU1VuNK9Y02uuJtKQ1Sv69jXQKKg5cibLwGJow8yzZP+eAc18EmLGPal0bp36rvQ== + +async@^2.6.4: + version "2.6.4" + resolved "https://registry.yarnpkg.com/async/-/async-2.6.4.tgz#706b7ff6084664cd7eae713f6f965433b5504221" + integrity sha512-mzo5dfJYwAn29PeiJ0zvwTo04zj8HDJj0Mn8TD7sno7q12prdbnasKJHhkm2c1LgrhlJ0teaea8860oxi51mGA== + dependencies: + lodash "^4.17.14" + +async@^3.2.0: + version "3.2.5" + resolved "https://registry.yarnpkg.com/async/-/async-3.2.5.tgz#ebd52a8fdaf7a2289a24df399f8d8485c8a46b66" + integrity sha512-baNZyqaaLhyLVKm/DlvdW051MSgO6b8eVfIezl9E5PqWxFgzLm/wQntEW4zOytVburDEr0JlALEpdOFwvErLsg== + +asynckit@^0.4.0: + version "0.4.0" + resolved "https://registry.yarnpkg.com/asynckit/-/asynckit-0.4.0.tgz#c79ed97f7f34cb8f2ba1bc9790bcc366474b4b79" + integrity sha512-Oei9OH4tRh0YqU3GxhX79dM/mwVgvbZJaSNaRk+bshkj0S5cfHcgYakreBjrHwatXKbz+IoIdYLxrKim2MjW0Q== + +at-least-node@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/at-least-node/-/at-least-node-1.0.0.tgz#602cd4b46e844ad4effc92a8011a3c46e0238dc2" + integrity sha512-+q/t7Ekv1EDY2l6Gda6LLiX14rU9TV20Wa3ofeQmwPFZbOMo9DXrLbOjFaaclkXKWidIaopwAObQDqwWtGUjqg== + +attr-accept@^2.2.2: + version "2.2.2" + resolved "https://registry.yarnpkg.com/attr-accept/-/attr-accept-2.2.2.tgz#646613809660110749e92f2c10833b70968d929b" + integrity sha512-7prDjvt9HmqiZ0cl5CRjtS84sEyhsHP2coDkaZKRKVfCDo9s7iw7ChVmar78Gu9pC4SoR/28wFu/G5JJhTnqEg== + +available-typed-arrays@^1.0.5: + version "1.0.5" + resolved "https://registry.yarnpkg.com/available-typed-arrays/-/available-typed-arrays-1.0.5.tgz#92f95616501069d07d10edb2fc37d3e1c65123b7" + integrity sha512-DMD0KiN46eipeziST1LPP/STfDU0sufISXmjSgvVsoU2tqxctQeASejWcfNtxYKqETM1UxQ8sp2OrSBWpHY6sw== + +aws-sign2@~0.7.0: + version "0.7.0" + resolved "https://registry.yarnpkg.com/aws-sign2/-/aws-sign2-0.7.0.tgz#b46e890934a9591f2d2f6f86d7e6a9f1b3fe76a8" + integrity sha512-08kcGqnYf/YmjoRhfxyu+CLxBjUtHLXLXX/vUfx9l2LYzG3c1m61nrpyFUZI6zeS+Li/wWMMidD9KgrqtGq3mA== + +aws4@^1.8.0: + version "1.12.0" + resolved "https://registry.yarnpkg.com/aws4/-/aws4-1.12.0.tgz#ce1c9d143389679e253b314241ea9aa5cec980d3" + integrity sha512-NmWvPnx0F1SfrQbYwOi7OeaNGokp9XhzNioJ/CSBs8Qa4vxug81mhJEAVZwxXuBmYB5KDRfMq/F3RR0BIU7sWg== + +babel-jest@^29.7.0: + version "29.7.0" + resolved "https://registry.yarnpkg.com/babel-jest/-/babel-jest-29.7.0.tgz#f4369919225b684c56085998ac63dbd05be020d5" + integrity sha512-BrvGY3xZSwEcCzKvKsCi2GgHqDqsYkOP4/by5xCgIwGXQxIEh+8ew3gmrE1y7XRR6LHZIj6yLYnUi/mm2KXKBg== + dependencies: + "@jest/transform" "^29.7.0" + "@types/babel__core" "^7.1.14" + babel-plugin-istanbul "^6.1.1" + babel-preset-jest "^29.6.3" + chalk "^4.0.0" + graceful-fs "^4.2.9" + slash "^3.0.0" + +babel-loader@9.1.2: + version "9.1.2" + resolved "https://registry.yarnpkg.com/babel-loader/-/babel-loader-9.1.2.tgz#a16a080de52d08854ee14570469905a5fc00d39c" + integrity sha512-mN14niXW43tddohGl8HPu5yfQq70iUThvFL/4QzESA7GcZoC0eVOhvWdQ8+3UlSjaDE9MVtsW9mxDY07W7VpVA== + dependencies: + find-cache-dir "^3.3.2" + schema-utils "^4.0.0" + +babel-plugin-istanbul@^6.1.1: + version "6.1.1" + resolved "https://registry.yarnpkg.com/babel-plugin-istanbul/-/babel-plugin-istanbul-6.1.1.tgz#fa88ec59232fd9b4e36dbbc540a8ec9a9b47da73" + integrity sha512-Y1IQok9821cC9onCx5otgFfRm7Lm+I+wwxOx738M/WLPZ9Q42m4IG5W0FNX8WLL2gYMZo3JkuXIH2DOpWM+qwA== + dependencies: + "@babel/helper-plugin-utils" "^7.0.0" + "@istanbuljs/load-nyc-config" "^1.0.0" + "@istanbuljs/schema" "^0.1.2" + istanbul-lib-instrument "^5.0.4" + test-exclude "^6.0.0" + +babel-plugin-jest-hoist@^29.6.3: + version "29.6.3" + resolved "https://registry.yarnpkg.com/babel-plugin-jest-hoist/-/babel-plugin-jest-hoist-29.6.3.tgz#aadbe943464182a8922c3c927c3067ff40d24626" + integrity sha512-ESAc/RJvGTFEzRwOTT4+lNDk/GNHMkKbNzsvT0qKRfDyyYTskxB5rnU2njIDYVxXCBHHEI1c0YwHob3WaYujOg== + dependencies: + "@babel/template" "^7.3.3" + "@babel/types" "^7.3.3" + "@types/babel__core" "^7.1.14" + "@types/babel__traverse" "^7.0.6" + +babel-plugin-macros@^3.1.0: + version "3.1.0" + resolved "https://registry.yarnpkg.com/babel-plugin-macros/-/babel-plugin-macros-3.1.0.tgz#9ef6dc74deb934b4db344dc973ee851d148c50c1" + integrity sha512-Cg7TFGpIr01vOQNODXOOaGz2NpCU5gl8x1qJFbb6hbZxR7XrcE2vtbAsTAbJ7/xwJtUuJEw8K8Zr/AE0LHlesg== + dependencies: + "@babel/runtime" "^7.12.5" + cosmiconfig "^7.0.0" + resolve "^1.19.0" + +babel-plugin-polyfill-corejs2@^0.3.3: + version "0.3.3" + resolved "https://registry.yarnpkg.com/babel-plugin-polyfill-corejs2/-/babel-plugin-polyfill-corejs2-0.3.3.tgz#5d1bd3836d0a19e1b84bbf2d9640ccb6f951c122" + integrity sha512-8hOdmFYFSZhqg2C/JgLUQ+t52o5nirNwaWM2B9LWteozwIvM14VSwdsCAUET10qT+kmySAlseadmfeeSWFCy+Q== + dependencies: + "@babel/compat-data" "^7.17.7" + "@babel/helper-define-polyfill-provider" "^0.3.3" + semver "^6.1.1" + +babel-plugin-polyfill-corejs3@^0.6.0: + version "0.6.0" + resolved "https://registry.yarnpkg.com/babel-plugin-polyfill-corejs3/-/babel-plugin-polyfill-corejs3-0.6.0.tgz#56ad88237137eade485a71b52f72dbed57c6230a" + integrity sha512-+eHqR6OPcBhJOGgsIar7xoAB1GcSwVUA3XjAd7HJNzOXT4wv6/H7KIdA/Nc60cvUlDbKApmqNvD1B1bzOt4nyA== + dependencies: + "@babel/helper-define-polyfill-provider" "^0.3.3" + core-js-compat "^3.25.1" + +babel-plugin-polyfill-regenerator@^0.4.1: + version "0.4.1" + resolved "https://registry.yarnpkg.com/babel-plugin-polyfill-regenerator/-/babel-plugin-polyfill-regenerator-0.4.1.tgz#390f91c38d90473592ed43351e801a9d3e0fd747" + integrity sha512-NtQGmyQDXjQqQ+IzRkBVwEOz9lQ4zxAQZgoAYEtU9dJjnl1Oc98qnN7jcp+bE7O7aYzVpavXE3/VKXNzUbh7aw== + dependencies: + "@babel/helper-define-polyfill-provider" "^0.3.3" + +babel-preset-current-node-syntax@^1.0.0: + version "1.0.1" + resolved "https://registry.yarnpkg.com/babel-preset-current-node-syntax/-/babel-preset-current-node-syntax-1.0.1.tgz#b4399239b89b2a011f9ddbe3e4f401fc40cff73b" + integrity sha512-M7LQ0bxarkxQoN+vz5aJPsLBn77n8QgTFmo8WK0/44auK2xlCXrYcUxHFxgU7qW5Yzw/CjmLRK2uJzaCd7LvqQ== + dependencies: + "@babel/plugin-syntax-async-generators" "^7.8.4" + "@babel/plugin-syntax-bigint" "^7.8.3" + "@babel/plugin-syntax-class-properties" "^7.8.3" + "@babel/plugin-syntax-import-meta" "^7.8.3" + "@babel/plugin-syntax-json-strings" "^7.8.3" + "@babel/plugin-syntax-logical-assignment-operators" "^7.8.3" + "@babel/plugin-syntax-nullish-coalescing-operator" "^7.8.3" + "@babel/plugin-syntax-numeric-separator" "^7.8.3" + "@babel/plugin-syntax-object-rest-spread" "^7.8.3" + "@babel/plugin-syntax-optional-catch-binding" "^7.8.3" + "@babel/plugin-syntax-optional-chaining" "^7.8.3" + "@babel/plugin-syntax-top-level-await" "^7.8.3" + +babel-preset-jest@^29.6.3: + version "29.6.3" + resolved "https://registry.yarnpkg.com/babel-preset-jest/-/babel-preset-jest-29.6.3.tgz#fa05fa510e7d493896d7b0dd2033601c840f171c" + integrity sha512-0B3bhxR6snWXJZtR/RliHTDPRgn1sNHOR0yVtq/IiQFyuOVjFS+wuio/R4gSNkyYmKmJB4wGZv2NZanmKmTnNA== + dependencies: + babel-plugin-jest-hoist "^29.6.3" + babel-preset-current-node-syntax "^1.0.0" + +babel-runtime@6.x, babel-runtime@^6.26.0: + version "6.26.0" + resolved "https://registry.yarnpkg.com/babel-runtime/-/babel-runtime-6.26.0.tgz#965c7058668e82b55d7bfe04ff2337bc8b5647fe" + integrity sha512-ITKNuq2wKlW1fJg9sSW52eepoYgZBggvOAHC0u/CYu/qxQ9EVzThCgR69BnSXLHjy2f7SY5zaQ4yt7H9ZVxY2g== + dependencies: + core-js "^2.4.0" + regenerator-runtime "^0.11.0" + +balanced-match@^1.0.0: + version "1.0.2" + resolved "https://registry.yarnpkg.com/balanced-match/-/balanced-match-1.0.2.tgz#e83e3a7e3f300b34cb9d87f615fa0cbf357690ee" + integrity sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw== + +base64-js@^1.3.1: + version "1.5.1" + resolved "https://registry.yarnpkg.com/base64-js/-/base64-js-1.5.1.tgz#1b1b440160a5bf7ad40b650f095963481903930a" + integrity sha512-AKpaYlHn8t4SVbOHCy+b5+KKgvR4vrsD8vbvrbiQJps7fKDTkjkDry6ji0rUJjC0kzbNePLwzxq8iypo41qeWA== + +bcrypt-pbkdf@^1.0.0: + version "1.0.2" + resolved "https://registry.yarnpkg.com/bcrypt-pbkdf/-/bcrypt-pbkdf-1.0.2.tgz#a4301d389b6a43f9b67ff3ca11a3f6637e360e9e" + integrity sha512-qeFIXtP4MSoi6NLqO12WfqARWWuCKi2Rn/9hJLEmtB5yTNr9DqFWkJRCf2qShWzPeAMRnOgCrq0sg/KLv5ES9w== + dependencies: + tweetnacl "^0.14.3" + +big.js@^5.2.2: + version "5.2.2" + resolved "https://registry.yarnpkg.com/big.js/-/big.js-5.2.2.tgz#65f0af382f578bcdc742bd9c281e9cb2d7768328" + integrity sha512-vyL2OymJxmarO8gxMr0mhChsO9QGwhynfuu4+MHTAW6czfq9humCB7rKpUjDd9YUiDPU4mzpyupFSvOClAwbmQ== + +binary-extensions@^2.0.0: + version "2.2.0" + resolved "https://registry.yarnpkg.com/binary-extensions/-/binary-extensions-2.2.0.tgz#75f502eeaf9ffde42fc98829645be4ea76bd9e2d" + integrity sha512-jDctJ/IVQbZoJykoeHbhXpOlNBqGNcwXJKJog42E5HDPUwQTSdjCHdihjj0DlnheQ7blbT6dHOafNAiS8ooQKA== + +blink-diff@1.0.13: + version "1.0.13" + resolved "https://registry.yarnpkg.com/blink-diff/-/blink-diff-1.0.13.tgz#80e3df69de804b30d40c70f041e983841ecda899" + integrity sha512-2hIEnGq8wruXfje9GvDV41VXo+4YdjrjL5ZMlVJT3Wi5k1jjz20fCTlVejSXoERirhEVsFYz9NmgdUYgQ41Giw== + dependencies: + pngjs-image "~0.11.5" + preceptor-core "~0.10.0" + promise "6.0.0" + +blob-util@^2.0.2: + version "2.0.2" + resolved "https://registry.yarnpkg.com/blob-util/-/blob-util-2.0.2.tgz#3b4e3c281111bb7f11128518006cdc60b403a1eb" + integrity sha512-T7JQa+zsXXEa6/8ZhHcQEW1UFfVM49Ts65uBkFL6fz2QmrElqmbajIDJvuA0tEhRe5eIjpV9ZF+0RfZR9voJFQ== + +bluebird@3.7.1: + version "3.7.1" + resolved "https://registry.yarnpkg.com/bluebird/-/bluebird-3.7.1.tgz#df70e302b471d7473489acf26a93d63b53f874de" + integrity sha512-DdmyoGCleJnkbp3nkbxTLJ18rjDsE4yCggEwKNXkeV123sPNfOCYeDoeuOY+F2FrSjO1YXcTU+dsy96KMy+gcg== + +bluebird@^3.7.2: + version "3.7.2" + resolved "https://registry.yarnpkg.com/bluebird/-/bluebird-3.7.2.tgz#9f229c15be272454ffa973ace0dbee79a1b0c36f" + integrity sha512-XpNj6GDQzdfW+r2Wnn7xiSAd7TM3jzkxGXBGTtWKuSXv1xUV+azxAm8jdWZN06QTQk+2N2XB9jRDkvbmQmcRtg== + +body@^5.1.0: + version "5.1.0" + resolved "https://registry.yarnpkg.com/body/-/body-5.1.0.tgz#e4ba0ce410a46936323367609ecb4e6553125069" + integrity sha512-chUsBxGRtuElD6fmw1gHLpvnKdVLK302peeFa9ZqAEk8TyzZ3fygLyUEDDPTJvL9+Bor0dIwn6ePOsRM2y0zQQ== + dependencies: + continuable-cache "^0.3.1" + error "^7.0.0" + raw-body "~1.1.0" + safe-json-parse "~1.0.1" + +brace-expansion@^1.1.7: + version "1.1.11" + resolved "https://registry.yarnpkg.com/brace-expansion/-/brace-expansion-1.1.11.tgz#3c7fcbf529d87226f3d2f52b966ff5271eb441dd" + integrity sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA== + dependencies: + balanced-match "^1.0.0" + concat-map "0.0.1" + +brace-expansion@^2.0.1: + version "2.0.1" + resolved "https://registry.yarnpkg.com/brace-expansion/-/brace-expansion-2.0.1.tgz#1edc459e0f0c548486ecf9fc99f2221364b9a0ae" + integrity sha512-XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA== + dependencies: + balanced-match "^1.0.0" + +braces@^3.0.2, braces@~3.0.2: + version "3.0.2" + resolved "https://registry.yarnpkg.com/braces/-/braces-3.0.2.tgz#3454e1a462ee8d599e236df336cd9ea4f8afe107" + integrity sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A== + dependencies: + fill-range "^7.0.1" + +browser-stdout@1.3.1: + version "1.3.1" + resolved "https://registry.yarnpkg.com/browser-stdout/-/browser-stdout-1.3.1.tgz#baa559ee14ced73452229bad7326467c61fabd60" + integrity sha512-qhAVI1+Av2X7qelOfAIYwXONood6XlZE/fXaBSmW/T5SzLAmCgzi+eiWE7fUvbHaeNBQH13UftjpXxsfLkMpgw== + +browserslist@^4.21.10, browserslist@^4.22.2: + version "4.22.2" + resolved "https://registry.yarnpkg.com/browserslist/-/browserslist-4.22.2.tgz#704c4943072bd81ea18997f3bd2180e89c77874b" + integrity sha512-0UgcrvQmBDvZHFGdYUehrCNIazki7/lUP3kkoi/r3YB2amZbFM9J43ZRkJTXBUZK4gmx56+Sqk9+Vs9mwZx9+A== + dependencies: + caniuse-lite "^1.0.30001565" + electron-to-chromium "^1.4.601" + node-releases "^2.0.14" + update-browserslist-db "^1.0.13" + +bser@2.1.1: + version "2.1.1" + resolved "https://registry.yarnpkg.com/bser/-/bser-2.1.1.tgz#e6787da20ece9d07998533cfd9de6f5c38f4bc05" + integrity sha512-gQxTNE/GAfIIrmHLUE3oJyp5FO6HRBfhjnw4/wMmA63ZGDJnWBmgY/lyQBpnDUkGmAhbSe39tx2d/iTOAfglwQ== + dependencies: + node-int64 "^0.4.0" + +buffer-crc32@~0.2.3: + version "0.2.13" + resolved "https://registry.yarnpkg.com/buffer-crc32/-/buffer-crc32-0.2.13.tgz#0d333e3f00eac50aa1454abd30ef8c2a5d9a7242" + integrity sha512-VO9Ht/+p3SN7SKWqcrgEzjGbRSJYTx+Q1pTQC0wrWqHx0vpJraQ6GtHx8tvcg1rlK1byhU5gccxgOgj7B0TDkQ== + +buffer-from@^1.0.0: + version "1.1.2" + resolved "https://registry.yarnpkg.com/buffer-from/-/buffer-from-1.1.2.tgz#2b146a6fd72e80b4f55d255f35ed59a3a9a41bd5" + integrity sha512-E+XQCRwSbaaiChtv6k6Dwgc+bx+Bs6vuKJHHl5kox/BaKbhiXzqQOwK4cO22yElGp2OCmjwVhT3HmxgyPGnJfQ== + +buffer@^5.6.0: + version "5.7.1" + resolved "https://registry.yarnpkg.com/buffer/-/buffer-5.7.1.tgz#ba62e7c13133053582197160851a8f648e99eed0" + integrity sha512-EHcyIPBQ4BSGlvjB16k5KgAJ27CIsHY/2JBmCRReo48y9rQ3MaUzWX3KVlBa4U7MyX02HdVj0K7C3WaB3ju7FQ== + dependencies: + base64-js "^1.3.1" + ieee754 "^1.1.13" + +builtin-modules@^3.3.0: + version "3.3.0" + resolved "https://registry.yarnpkg.com/builtin-modules/-/builtin-modules-3.3.0.tgz#cae62812b89801e9656336e46223e030386be7b6" + integrity sha512-zhaCDicdLuWN5UbN5IMnFqNMhNfo919sH85y2/ea+5Yg9TsTkeZxpL+JLbp6cgYFS4sRLp3YV4S6yDuqVWHYOw== + +bytes@1: + version "1.0.0" + resolved "https://registry.yarnpkg.com/bytes/-/bytes-1.0.0.tgz#3569ede8ba34315fab99c3e92cb04c7220de1fa8" + integrity sha512-/x68VkHLeTl3/Ll8IvxdwzhrT+IyKc52e/oyHhA2RwqPqswSnjVbSddfPRwAsJtbilMAPSRWwAlpxdYsSWOTKQ== + +cachedir@^2.3.0: + version "2.4.0" + resolved "https://registry.yarnpkg.com/cachedir/-/cachedir-2.4.0.tgz#7fef9cf7367233d7c88068fe6e34ed0d355a610d" + integrity sha512-9EtFOZR8g22CL7BWjJ9BUx1+A/djkofnyW3aOXZORNW2kxoUpx2h+uN2cOqwPmFhnpVmxg+KW2OjOSgChTEvsQ== + +calculate-size@1.1.1: + version "1.1.1" + resolved "https://registry.yarnpkg.com/calculate-size/-/calculate-size-1.1.1.tgz#ae7caa1c7795f82c4f035dc7be270e3581dae3ee" + integrity sha512-jJZ7pvbQVM/Ss3VO789qpsypN3xmnepg242cejOAslsmlZLYw2dnj7knnNowabQ0Kzabzx56KFTy2Pot/y6FmA== + +call-bind@^1.0.0, call-bind@^1.0.2, call-bind@^1.0.4, call-bind@^1.0.5: + version "1.0.5" + resolved "https://registry.yarnpkg.com/call-bind/-/call-bind-1.0.5.tgz#6fa2b7845ce0ea49bf4d8b9ef64727a2c2e2e513" + integrity sha512-C3nQxfFZxFRVoJoGKKI8y3MOEo129NQ+FgQ08iye+Mk4zNZZGdjfs06bVTr+DBSlA66Q2VEcMki/cUCP4SercQ== + dependencies: + function-bind "^1.1.2" + get-intrinsic "^1.2.1" + set-function-length "^1.1.1" + +callsites@^3.0.0: + version "3.1.0" + resolved "https://registry.yarnpkg.com/callsites/-/callsites-3.1.0.tgz#b3630abd8943432f54b3f0519238e33cd7df2f73" + integrity sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ== + +camelcase@^5.3.1: + version "5.3.1" + resolved "https://registry.yarnpkg.com/camelcase/-/camelcase-5.3.1.tgz#e3c9b31569e106811df242f715725a1f4c494320" + integrity sha512-L28STB170nwWS63UjtlEOE3dldQApaJXZkOI1uMFfzf3rRuPegHaHesyee+YxQ+W6SvRDQV6UrdOdRiR153wJg== + +camelcase@^6.0.0, camelcase@^6.2.0: + version "6.3.0" + resolved "https://registry.yarnpkg.com/camelcase/-/camelcase-6.3.0.tgz#5685b95eb209ac9c0c177467778c9c84df58ba9a" + integrity sha512-Gmy6FhYlCY7uOElZUSbxo2UCDH8owEk996gkbrpsgGtrJLM3J7jGxl9Ic7Qwwj4ivOE5AWZWRMecDdF7hqGjFA== + +caniuse-lite@^1.0.30001565: + version "1.0.30001580" + resolved "https://registry.yarnpkg.com/caniuse-lite/-/caniuse-lite-1.0.30001580.tgz#e3c76bc6fe020d9007647044278954ff8cd17d1e" + integrity sha512-mtj5ur2FFPZcCEpXFy8ADXbDACuNFXg6mxVDqp7tqooX6l3zwm+d8EPoeOSIFRDvHs8qu7/SLFOGniULkcH2iA== + +caseless@~0.12.0: + version "0.12.0" + resolved "https://registry.yarnpkg.com/caseless/-/caseless-0.12.0.tgz#1b681c21ff84033c826543090689420d187151dc" + integrity sha512-4tYFyifaFfGacoiObjJegolkwSU4xQNGbVgUiNYVUxbQ2x2lUsFvY4hVgVzGiIe6WLOPqycWXA40l+PWsxthUw== + +chalk@^2.4.2: + version "2.4.2" + resolved "https://registry.yarnpkg.com/chalk/-/chalk-2.4.2.tgz#cd42541677a54333cf541a49108c1432b44c9424" + integrity sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ== + dependencies: + ansi-styles "^3.2.1" + escape-string-regexp "^1.0.5" + supports-color "^5.3.0" + +chalk@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/chalk/-/chalk-3.0.0.tgz#3f73c2bf526591f574cc492c51e2456349f844e4" + integrity sha512-4D3B6Wf41KOYRFdszmDqMCGq5VV/uMAB273JILmO+3jAlh8X4qDtdtgCR3fxtbLEMzSx22QdhnDcJvu2u1fVwg== + dependencies: + ansi-styles "^4.1.0" + supports-color "^7.1.0" + +chalk@^4.0.0, chalk@^4.1.0, chalk@^4.1.2: + version "4.1.2" + resolved "https://registry.yarnpkg.com/chalk/-/chalk-4.1.2.tgz#aac4e2b7734a740867aeb16bf02aad556a1e7a01" + integrity sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA== + dependencies: + ansi-styles "^4.1.0" + supports-color "^7.1.0" + +char-regex@^1.0.2: + version "1.0.2" + resolved "https://registry.yarnpkg.com/char-regex/-/char-regex-1.0.2.tgz#d744358226217f981ed58f479b1d6bcc29545dcf" + integrity sha512-kWWXztvZ5SBQV+eRgKFeh8q5sLuZY2+8WUIzlxWVTg+oGwY14qylx1KbKzHd8P6ZYkAg0xyIDU9JMHhyJMZ1jw== + +check-more-types@^2.24.0: + version "2.24.0" + resolved "https://registry.yarnpkg.com/check-more-types/-/check-more-types-2.24.0.tgz#1420ffb10fd444dcfc79b43891bbfffd32a84600" + integrity sha512-Pj779qHxV2tuapviy1bSZNEL1maXr13bPYpsvSDB68HlYcYuhlDrmGd63i0JHMCLKzc7rUSNIrpdJlhVlNwrxA== + +chokidar@3.5.3, "chokidar@>=3.0.0 <4.0.0", chokidar@^3.5.3: + version "3.5.3" + resolved "https://registry.yarnpkg.com/chokidar/-/chokidar-3.5.3.tgz#1cf37c8707b932bd1af1ae22c0432e2acd1903bd" + integrity sha512-Dr3sfKRP6oTcjf2JmUmFJfeVMvXBdegxB0iVQ5eb2V10uFJUCAS8OByZdVAyVb8xXNz3GjjTgj9kLWsZTqE6kw== + dependencies: + anymatch "~3.1.2" + braces "~3.0.2" + glob-parent "~5.1.2" + is-binary-path "~2.1.0" + is-glob "~4.0.1" + normalize-path "~3.0.0" + readdirp "~3.6.0" + optionalDependencies: + fsevents "~2.3.2" + +chrome-remote-interface@0.32.1: + version "0.32.1" + resolved "https://registry.yarnpkg.com/chrome-remote-interface/-/chrome-remote-interface-0.32.1.tgz#e3478ca712223e51c4df7294cbc536f868ca0aa6" + integrity sha512-CU3/K/8YlU2H0DjsLRbxPsG4piiSGUcIy6GkGXF11SqOYoIeuUBivOsGXScaZnTyC1p4wFSR+GNmAM434/ALWw== + dependencies: + commander "2.11.x" + ws "^7.2.0" + +chrome-trace-event@^1.0.2: + version "1.0.3" + resolved "https://registry.yarnpkg.com/chrome-trace-event/-/chrome-trace-event-1.0.3.tgz#1015eced4741e15d06664a957dbbf50d041e26ac" + integrity sha512-p3KULyQg4S7NIHixdwbGX+nFHkoBiA4YQmyWtjb8XngSKV124nJmRysgAeujbUVb15vh+RvFUfCPqU7rXk+hZg== + +ci-info@^3.2.0: + version "3.9.0" + resolved "https://registry.yarnpkg.com/ci-info/-/ci-info-3.9.0.tgz#4279a62028a7b1f262f3473fc9605f5e218c59b4" + integrity sha512-NIxF55hv4nSqQswkAeiOi1r83xy8JldOFDTWiug55KBu9Jnblncd2U6ViHmYgHf01TPZS77NJBhBMKdWj9HQMQ== + +cjs-module-lexer@^1.0.0: + version "1.2.3" + resolved "https://registry.yarnpkg.com/cjs-module-lexer/-/cjs-module-lexer-1.2.3.tgz#6c370ab19f8a3394e318fe682686ec0ac684d107" + integrity sha512-0TNiGstbQmCFwt4akjjBg5pLRTSyj/PkWQ1ZoO2zntmg9yLqSRxwEa4iCfQLGjqhiqBfOJa7W/E8wfGrTDmlZQ== + +classnames@2.3.2: + version "2.3.2" + resolved "https://registry.yarnpkg.com/classnames/-/classnames-2.3.2.tgz#351d813bf0137fcc6a76a16b88208d2560a0d924" + integrity sha512-CSbhY4cFEJRe6/GQzIk5qXZ4Jeg5pcsP7b5peFSDpffpe1cqjASH/n9UTjBwOp6XpMSTwQ8Za2K5V02ueA7Tmw== + +classnames@2.x, classnames@^2.2.1, classnames@^2.2.5, classnames@^2.2.6, classnames@^2.3.1, classnames@^2.3.2: + version "2.5.1" + resolved "https://registry.yarnpkg.com/classnames/-/classnames-2.5.1.tgz#ba774c614be0f016da105c858e7159eae8e7687b" + integrity sha512-saHYOzhIQs6wy2sVxTM6bUDsQO4F50V9RQ22qBpEdCW+I+/Wmke2HOl6lS6dTpdxVhb88/I6+Hs+438c3lfUow== + +clean-stack@^2.0.0: + version "2.2.0" + resolved "https://registry.yarnpkg.com/clean-stack/-/clean-stack-2.2.0.tgz#ee8472dbb129e727b31e8a10a427dee9dfe4008b" + integrity sha512-4diC9HaTE+KRAMWhDhrGOECgWZxoevMc5TlkObMqNSsVU62PYzXZ/SMTjzyGAFF1YusgxGcSWTEXBhp0CPwQ1A== + +cli-cursor@^3.1.0: + version "3.1.0" + resolved "https://registry.yarnpkg.com/cli-cursor/-/cli-cursor-3.1.0.tgz#264305a7ae490d1d03bf0c9ba7c925d1753af307" + integrity sha512-I/zHAwsKf9FqGoXM4WWRACob9+SNukZTd94DWF57E4toouRulbCxcUh6RKUEOQlYTHJnzkPMySvPNaaSLNfLZw== + dependencies: + restore-cursor "^3.1.0" + +cli-table3@~0.6.1: + version "0.6.3" + resolved "https://registry.yarnpkg.com/cli-table3/-/cli-table3-0.6.3.tgz#61ab765aac156b52f222954ffc607a6f01dbeeb2" + integrity sha512-w5Jac5SykAeZJKntOxJCrm63Eg5/4dhMWIcuTbo9rpE+brgaSZo0RuNJZeOyMgsUdhDeojvgyQLmjI+K50ZGyg== + dependencies: + string-width "^4.2.0" + optionalDependencies: + "@colors/colors" "1.5.0" + +cli-truncate@^2.1.0: + version "2.1.0" + resolved "https://registry.yarnpkg.com/cli-truncate/-/cli-truncate-2.1.0.tgz#c39e28bf05edcde5be3b98992a22deed5a2b93c7" + integrity sha512-n8fOixwDD6b/ObinzTrp1ZKFzbgvKZvuz/TvejnLn1aQfC6r52XEx85FmuC+3HI+JM7coBRXUvNqEU2PHVrHpg== + dependencies: + slice-ansi "^3.0.0" + string-width "^4.2.0" + +cliui@^7.0.2: + version "7.0.4" + resolved "https://registry.yarnpkg.com/cliui/-/cliui-7.0.4.tgz#a0265ee655476fc807aea9df3df8df7783808b4f" + integrity sha512-OcRE68cOsVMXp1Yvonl/fzkQOyjLSu/8bhPDfQt0e0/Eb283TKP20Fs2MqoPsr9SwA595rRCA+QMzYc9nBP+JQ== + dependencies: + string-width "^4.2.0" + strip-ansi "^6.0.0" + wrap-ansi "^7.0.0" + +cliui@^8.0.1: + version "8.0.1" + resolved "https://registry.yarnpkg.com/cliui/-/cliui-8.0.1.tgz#0c04b075db02cbfe60dc8e6cf2f5486b1a3608aa" + integrity sha512-BSeNnyus75C4//NQ9gQt1/csTXyo/8Sb+afLAkzAptFuMsod9HFokGNudZpi/oQV73hnVK+sR+5PVRMd+Dr7YQ== + dependencies: + string-width "^4.2.0" + strip-ansi "^6.0.1" + wrap-ansi "^7.0.0" + +clone-deep@^4.0.1: + version "4.0.1" + resolved "https://registry.yarnpkg.com/clone-deep/-/clone-deep-4.0.1.tgz#c19fd9bdbbf85942b4fd979c84dcf7d5f07c2387" + integrity sha512-neHB9xuzh/wk0dIHweyAXv2aPGZIVk3pLMe+/RNzINf17fe0OG96QroktYAUm7SM1PBnzTabaLboqqxDyMU+SQ== + dependencies: + is-plain-object "^2.0.4" + kind-of "^6.0.2" + shallow-clone "^3.0.0" + +clsx@^1.1.1, clsx@^1.2.1: + version "1.2.1" + resolved "https://registry.yarnpkg.com/clsx/-/clsx-1.2.1.tgz#0ddc4a20a549b59c93a4116bb26f5294ca17dc12" + integrity sha512-EcR6r5a8bj6pu3ycsa/E/cKVGuTgZJZdsyUYHOksG/UHIiKfjxzRxYJpyVBwYaQeOvghal9fcc4PidlgzugAQg== + +clsx@^2.0.0: + version "2.1.0" + resolved "https://registry.yarnpkg.com/clsx/-/clsx-2.1.0.tgz#e851283bcb5c80ee7608db18487433f7b23f77cb" + integrity sha512-m3iNNWpd9rl3jvvcBnu70ylMdrXt8Vlq4HYadnU5fwcOtvkSQWPmj7amUcDT2qYI7risszBjI5AUIUox9D16pg== + +co@^4.6.0: + version "4.6.0" + resolved "https://registry.yarnpkg.com/co/-/co-4.6.0.tgz#6ea6bdf3d853ae54ccb8e47bfa0bf3f9031fb184" + integrity sha512-QVb0dM5HvG+uaxitm8wONl7jltx8dqhfU33DcqtOZcLSVIKSDDLDi7+0LbAKiyI8hD9u42m2YxXSkMGWThaecQ== + +collect-v8-coverage@^1.0.0: + version "1.0.2" + resolved "https://registry.yarnpkg.com/collect-v8-coverage/-/collect-v8-coverage-1.0.2.tgz#c0b29bcd33bcd0779a1344c2136051e6afd3d9e9" + integrity sha512-lHl4d5/ONEbLlJvaJNtsF/Lz+WvB07u2ycqTYbdrq7UypDXailES4valYb2eWiJFxZlVmpGekfqoxQhzyFdT4Q== + +color-convert@^1.9.0: + version "1.9.3" + resolved "https://registry.yarnpkg.com/color-convert/-/color-convert-1.9.3.tgz#bb71850690e1f136567de629d2d5471deda4c1e8" + integrity sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg== + dependencies: + color-name "1.1.3" + +color-convert@^2.0.1: + version "2.0.1" + resolved "https://registry.yarnpkg.com/color-convert/-/color-convert-2.0.1.tgz#72d3a68d598c9bdb3af2ad1e84f21d896abd4de3" + integrity sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ== + dependencies: + color-name "~1.1.4" + +color-name@1.1.3: + version "1.1.3" + resolved "https://registry.yarnpkg.com/color-name/-/color-name-1.1.3.tgz#a7d0558bd89c42f795dd42328f740831ca53bc25" + integrity sha512-72fSenhMw2HZMTVHeCA9KCmpEIbzWiQsjN+BHcBbS9vr1mtt+vJjPdksIBNUmKAW8TFUDPJK5SUU3QhE9NEXDw== + +color-name@~1.1.4: + version "1.1.4" + resolved "https://registry.yarnpkg.com/color-name/-/color-name-1.1.4.tgz#c2a09a87acbde69543de6f63fa3995c826c536a2" + integrity sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA== + +colorette@^2.0.14, colorette@^2.0.16: + version "2.0.20" + resolved "https://registry.yarnpkg.com/colorette/-/colorette-2.0.20.tgz#9eb793e6833067f7235902fcd3b09917a000a95a" + integrity sha512-IfEDxwoWIjkeXL1eXcDiow4UbKjhLdq6/EuSVR9GMN7KVH3r9gQ83e73hsz1Nd1T3ijd5xv1wcWRYO+D6kCI2w== + +combined-stream@^1.0.6, combined-stream@^1.0.8, combined-stream@~1.0.6: + version "1.0.8" + resolved "https://registry.yarnpkg.com/combined-stream/-/combined-stream-1.0.8.tgz#c3d45a8b34fd730631a110a8a2520682b31d5a7f" + integrity sha512-FQN4MRfuJeHf7cBbBMJFXhKSDq+2kAArBlmRBvcvFE5BB1HZKXtSFASDhdlz9zOYwxh8lDdnvmMOe/+5cdoEdg== + dependencies: + delayed-stream "~1.0.0" + +commander@2.11.x: + version "2.11.0" + resolved "https://registry.yarnpkg.com/commander/-/commander-2.11.0.tgz#157152fd1e7a6c8d98a5b715cf376df928004563" + integrity sha512-b0553uYA5YAEGgyYIGYROzKQ7X5RAqedkfjiZxwi0kL1g3bOaBNNZfYkzt/CL0umgD5wc9Jec2FbB98CjkMRvQ== + +commander@7: + version "7.2.0" + resolved "https://registry.yarnpkg.com/commander/-/commander-7.2.0.tgz#a36cb57d0b501ce108e4d20559a150a391d97ab7" + integrity sha512-QrWXB+ZQSVPmIWIhtEO9H+gwHaMGYiF5ChvoJ+K9ZGHG/sVsa6yiesAD1GC/x46sET00Xlwo1u49RVVVzvcSkw== + +commander@8.3.0: + version "8.3.0" + resolved "https://registry.yarnpkg.com/commander/-/commander-8.3.0.tgz#4837ea1b2da67b9c616a67afbb0fafee567bca66" + integrity sha512-OkTL9umf+He2DZkUq8f8J9of7yL6RJKI24dVITBmNfZBmri9zYZQrKkuXiKhyfPSu8tUhnVBB1iKXevvnlR4Ww== + +commander@^10.0.1: + version "10.0.1" + resolved "https://registry.yarnpkg.com/commander/-/commander-10.0.1.tgz#881ee46b4f77d1c1dccc5823433aa39b022cbe06" + integrity sha512-y4Mg2tXshplEbSGzx7amzPwKKOCGuoSRP/CjEdwwk0FOGlUbq6lKuoyDZTNZkmxHdJtp54hdfY/JUrdL7Xfdug== + +commander@^2.20.0, commander@^2.20.3: + version "2.20.3" + resolved "https://registry.yarnpkg.com/commander/-/commander-2.20.3.tgz#fd485e84c03eb4881c20722ba48035e8531aeb33" + integrity sha512-GpVkmM8vF2vQUkj2LvZmD35JxeJOLCwJ9cUkugyk2nuhbv3+mJvpLYYt+0+USMxE+oj+ey/lJEnhZw75x/OMcQ== + +commander@^5.1.0: + version "5.1.0" + resolved "https://registry.yarnpkg.com/commander/-/commander-5.1.0.tgz#46abbd1652f8e059bddaef99bbdcb2ad9cf179ae" + integrity sha512-P0CysNDQ7rtVw4QIQtm+MRxV66vKFSvlsQvGYXZWR3qFU0jlMKHZZZgw8e+8DSah4UDKMqnknRDQz+xuQXQ/Zg== + +comment-parser@1.3.1: + version "1.3.1" + resolved "https://registry.yarnpkg.com/comment-parser/-/comment-parser-1.3.1.tgz#3d7ea3adaf9345594aedee6563f422348f165c1b" + integrity sha512-B52sN2VNghyq5ofvUsqZjmk6YkihBX5vMSChmSK9v4ShjKf3Vk5Xcmgpw4o+iIgtrnM/u5FiMpz9VKb8lpBveA== + +common-tags@^1.8.0: + version "1.8.2" + resolved "https://registry.yarnpkg.com/common-tags/-/common-tags-1.8.2.tgz#94ebb3c076d26032745fd54face7f688ef5ac9c6" + integrity sha512-gk/Z852D2Wtb//0I+kRFNKKE9dIIVirjoqPoA1wJU+XePVXZfGeBpk45+A1rKO4Q43prqWBNY/MiIeRLbPWUaA== + +commondir@^1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/commondir/-/commondir-1.0.1.tgz#ddd800da0c66127393cca5950ea968a3aaf1253b" + integrity sha512-W9pAhw0ja1Edb5GVdIF1mjZw/ASI0AlShXM83UUGe2DVr5TdAPEA1OA8m/g8zWp9x6On7gqufY+FatDbC3MDQg== + +component-classes@^1.2.5: + version "1.2.6" + resolved "https://registry.yarnpkg.com/component-classes/-/component-classes-1.2.6.tgz#c642394c3618a4d8b0b8919efccbbd930e5cd691" + integrity sha512-hPFGULxdwugu1QWW3SvVOCUHLzO34+a2J6Wqy0c5ASQkfi9/8nZcBB0ZohaEbXOQlCflMAEMmEWk7u7BVs4koA== + dependencies: + component-indexof "0.0.3" + +component-indexof@0.0.3: + version "0.0.3" + resolved "https://registry.yarnpkg.com/component-indexof/-/component-indexof-0.0.3.tgz#11d091312239eb8f32c8f25ae9cb002ffe8d3c24" + integrity sha512-puDQKvx/64HZXb4hBwIcvQLaLgux8o1CbWl39s41hrIIZDl1lJiD5jc22gj3RBeGK0ovxALDYpIbyjqDUUl0rw== + +concat-map@0.0.1: + version "0.0.1" + resolved "https://registry.yarnpkg.com/concat-map/-/concat-map-0.0.1.tgz#d8a96bd77fd68df7793a73036a3ba0d5405d477b" + integrity sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg== + +continuable-cache@^0.3.1: + version "0.3.1" + resolved "https://registry.yarnpkg.com/continuable-cache/-/continuable-cache-0.3.1.tgz#bd727a7faed77e71ff3985ac93351a912733ad0f" + integrity sha512-TF30kpKhTH8AGCG3dut0rdd/19B7Z+qCnrMoBLpyQu/2drZdNrrpcjPEoJeSVsQM+8KmWG5O56oPDjSSUsuTyA== + +convert-source-map@^1.5.0, convert-source-map@^1.7.0: + version "1.9.0" + resolved "https://registry.yarnpkg.com/convert-source-map/-/convert-source-map-1.9.0.tgz#7faae62353fb4213366d0ca98358d22e8368b05f" + integrity sha512-ASFBup0Mz1uyiIjANan1jzLQami9z1PoYSZCiiYW2FczPbenXc45FZdBZLzOT+r6+iciuEModtmCti+hjaAk0A== + +convert-source-map@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/convert-source-map/-/convert-source-map-2.0.0.tgz#4b560f649fc4e918dd0ab75cf4961e8bc882d82a" + integrity sha512-Kvp459HrV2FEJ1CAsi1Ku+MY3kasH19TFykTz2xWmMeq6bk2NU3XXvfJ+Q61m0xktWwt+1HSYf3JZsTms3aRJg== + +copy-to-clipboard@^3.3.1: + version "3.3.3" + resolved "https://registry.yarnpkg.com/copy-to-clipboard/-/copy-to-clipboard-3.3.3.tgz#55ac43a1db8ae639a4bd99511c148cdd1b83a1b0" + integrity sha512-2KV8NhB5JqC3ky0r9PMCAZKbUHSwtEo4CwCs0KXgruG43gX5PMqDEBbVU4OUzw2MuAWUfsuFmWvEKG5QRfSnJA== + dependencies: + toggle-selection "^1.0.6" + +copy-webpack-plugin@^11.0.0: + version "11.0.0" + resolved "https://registry.yarnpkg.com/copy-webpack-plugin/-/copy-webpack-plugin-11.0.0.tgz#96d4dbdb5f73d02dd72d0528d1958721ab72e04a" + integrity sha512-fX2MWpamkW0hZxMEg0+mYnA40LTosOSa5TqZ9GYIBzyJa9C3QUaMPSE2xAi/buNr8u89SfD9wHSQVBzrRa/SOQ== + dependencies: + fast-glob "^3.2.11" + glob-parent "^6.0.1" + globby "^13.1.1" + normalize-path "^3.0.0" + schema-utils "^4.0.0" + serialize-javascript "^6.0.0" + +core-js-compat@^3.25.1: + version "3.35.1" + resolved "https://registry.yarnpkg.com/core-js-compat/-/core-js-compat-3.35.1.tgz#215247d7edb9e830efa4218ff719beb2803555e2" + integrity sha512-sftHa5qUJY3rs9Zht1WEnmkvXputCyDBczPnr7QDgL8n3qrF3CMXY4VPSYtOLLiOUJcah2WNXREd48iOl6mQIw== + dependencies: + browserslist "^4.22.2" + +core-js@3.28.0: + version "3.28.0" + resolved "https://registry.yarnpkg.com/core-js/-/core-js-3.28.0.tgz#ed8b9e99c273879fdfff0edfc77ee709a5800e4a" + integrity sha512-GiZn9D4Z/rSYvTeg1ljAIsEqFm0LaN9gVtwDCrKL80zHtS31p9BAjmTxVqTQDMpwlMolJZOFntUG2uwyj7DAqw== + +core-js@^2.4.0: + version "2.6.12" + resolved "https://registry.yarnpkg.com/core-js/-/core-js-2.6.12.tgz#d9333dfa7b065e347cc5682219d6f690859cc2ec" + integrity sha512-Kb2wC0fvsWfQrgk8HU5lW6U/Lcs8+9aaYcy4ZFc6DDlo4nZ7n70dEgE5rtR0oG6ufKDUnrwfWL1mXR5ljDatrQ== + +core-util-is@1.0.2: + version "1.0.2" + resolved "https://registry.yarnpkg.com/core-util-is/-/core-util-is-1.0.2.tgz#b5fd54220aa2bc5ab57aab7140c940754503c1a7" + integrity sha512-3lqz5YjWTYnW6dlDa5TLaTCcShfar1e40rmcJVwCBJC6mWlFuj0eCHIElmG1g5kyuJ/GD+8Wn4FFCcz4gJPfaQ== + +core-util-is@~1.0.0: + version "1.0.3" + resolved "https://registry.yarnpkg.com/core-util-is/-/core-util-is-1.0.3.tgz#a6042d3634c2b27e9328f837b965fac83808db85" + integrity sha512-ZQBvi1DcpJ4GDqanjucZ2Hj3wEO5pZDS89BWbkcrvdxksJorwUDDZamX9ldFkp9aw2lmBDLgkObEA4DWNJ9FYQ== + +cosmiconfig@^7.0.0, cosmiconfig@^7.0.1: + version "7.1.0" + resolved "https://registry.yarnpkg.com/cosmiconfig/-/cosmiconfig-7.1.0.tgz#1443b9afa596b670082ea46cbd8f6a62b84635f6" + integrity sha512-AdmX6xUzdNASswsFtmwSt7Vj8po9IuqXm0UXz7QKPuEUmPB4XyjGfaAr2PSuELMwkRMVH1EpIkX5bTZGRB3eCA== + dependencies: + "@types/parse-json" "^4.0.0" + import-fresh "^3.2.1" + parse-json "^5.0.0" + path-type "^4.0.0" + yaml "^1.10.0" + +create-jest@^29.7.0: + version "29.7.0" + resolved "https://registry.yarnpkg.com/create-jest/-/create-jest-29.7.0.tgz#a355c5b3cb1e1af02ba177fe7afd7feee49a5320" + integrity sha512-Adz2bdH0Vq3F53KEMJOoftQFutWCukm6J24wbPWRO4k1kMY7gS7ds/uoJkNuV8wDCtWWnuwGcJwpWcih+zEW1Q== + dependencies: + "@jest/types" "^29.6.3" + chalk "^4.0.0" + exit "^0.1.2" + graceful-fs "^4.2.9" + jest-config "^29.7.0" + jest-util "^29.7.0" + prompts "^2.0.1" + +create-require@^1.1.0: + version "1.1.1" + resolved "https://registry.yarnpkg.com/create-require/-/create-require-1.1.1.tgz#c1d7e8f1e5f6cfc9ff65f9cd352d37348756c333" + integrity sha512-dcKFX3jn0MpIaXjisoRvexIJVEKzaq7z2rZKxf+MSr9TkdmHmsU4m2lcLojrj/FHl8mk5VxMmYA+ftRkP/3oKQ== + +cross-spawn@^7.0.0, cross-spawn@^7.0.2, cross-spawn@^7.0.3: + version "7.0.3" + resolved "https://registry.yarnpkg.com/cross-spawn/-/cross-spawn-7.0.3.tgz#f73a85b9d5d41d045551c177e2882d4ac85728a6" + integrity sha512-iRDPJKUPVEND7dHPO8rkbOnPpyDygcDFtWjpeWNCgy8WP2rXcxXL8TskReQl6OrB2G7+UJrags1q15Fudc7G6w== + dependencies: + path-key "^3.1.0" + shebang-command "^2.0.0" + which "^2.0.1" + +css-animation@^1.3.2: + version "1.6.1" + resolved "https://registry.yarnpkg.com/css-animation/-/css-animation-1.6.1.tgz#162064a3b0d51f958b7ff37b3d6d4de18e17039e" + integrity sha512-/48+/BaEaHRY6kNQ2OIPzKf9A6g8WjZYjhiNDNuIVbsm5tXCGIAsHDjB4Xu1C4vXJtUWZo26O68OQkDpNBaPog== + dependencies: + babel-runtime "6.x" + component-classes "^1.2.5" + +css-box-model@^1.2.0: + version "1.2.1" + resolved "https://registry.yarnpkg.com/css-box-model/-/css-box-model-1.2.1.tgz#59951d3b81fd6b2074a62d49444415b0d2b4d7c1" + integrity sha512-a7Vr4Q/kd/aw96bnJG332W9V9LkJO69JRcaCYDUqjp6/z0w6VcZjgAcTbgFxEPfBgdnAwlh3iwu+hLopa+flJw== + dependencies: + tiny-invariant "^1.0.6" + +css-in-js-utils@^3.1.0: + version "3.1.0" + resolved "https://registry.yarnpkg.com/css-in-js-utils/-/css-in-js-utils-3.1.0.tgz#640ae6a33646d401fc720c54fc61c42cd76ae2bb" + integrity sha512-fJAcud6B3rRu+KHYk+Bwf+WFL2MDCJJ1XG9x137tJQ0xYxor7XziQtuGFbWNdqrvF4Tk26O3H73nfVqXt/fW1A== + dependencies: + hyphenate-style-name "^1.0.3" + +css-loader@^6.7.3: + version "6.9.1" + resolved "https://registry.yarnpkg.com/css-loader/-/css-loader-6.9.1.tgz#9ec9a434368f2bdfeffbf8f6901a1ce773586c6b" + integrity sha512-OzABOh0+26JKFdMzlK6PY1u5Zx8+Ck7CVRlcGNZoY9qwJjdfu2VWFuprTIpPW+Av5TZTVViYWcFQaEEQURLknQ== + dependencies: + icss-utils "^5.1.0" + postcss "^8.4.33" + postcss-modules-extract-imports "^3.0.0" + postcss-modules-local-by-default "^4.0.4" + postcss-modules-scope "^3.1.1" + postcss-modules-values "^4.0.0" + postcss-value-parser "^4.2.0" + semver "^7.5.4" + +css-tree@^1.1.2: + version "1.1.3" + resolved "https://registry.yarnpkg.com/css-tree/-/css-tree-1.1.3.tgz#eb4870fb6fd7707327ec95c2ff2ab09b5e8db91d" + integrity sha512-tRpdppF7TRazZrjJ6v3stzv93qxRcSsFmW6cX0Zm2NVKpxE1WV1HblnghVv9TreireHkqI/VDEsfolRF1p6y7Q== + dependencies: + mdn-data "2.0.14" + source-map "^0.6.1" + +css.escape@^1.5.1: + version "1.5.1" + resolved "https://registry.yarnpkg.com/css.escape/-/css.escape-1.5.1.tgz#42e27d4fa04ae32f931a4b4d4191fa9cddee97cb" + integrity sha512-YUifsXXuknHlUsmlgyY0PKzgPOr7/FjCePfHNt0jxm83wHZi44VDMQ7/fGNkjY3/jV1MC+1CmZbaHzugyeRtpg== + +csscolorparser@~1.0.2: + version "1.0.3" + resolved "https://registry.yarnpkg.com/csscolorparser/-/csscolorparser-1.0.3.tgz#b34f391eea4da8f3e98231e2ccd8df9c041f171b" + integrity sha512-umPSgYwZkdFoUrH5hIq5kf0wPSXiro51nPw0j2K/c83KflkPSTBGMz6NJvMB+07VlL0y7VPo6QJcDjcgKTTm3w== + +cssesc@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/cssesc/-/cssesc-3.0.0.tgz#37741919903b868565e1c09ea747445cd18983ee" + integrity sha512-/Tb/JcjK111nNScGob5MNtsntNM1aCNUDipB/TkwZFhyDrrE47SOx/18wF2bbjgc3ZzCSKW1T5nt5EbFoAz/Vg== + +cssfilter@0.0.10: + version "0.0.10" + resolved "https://registry.yarnpkg.com/cssfilter/-/cssfilter-0.0.10.tgz#c6d2672632a2e5c83e013e6864a42ce8defd20ae" + integrity sha512-FAaLDaplstoRsDR8XGYH51znUN0UY7nMc6Z9/fvE8EXGwvJE9hu7W2vHwx1+bd6gCYnln9nLbzxFTrcO9YQDZw== + +cssom@^0.5.0: + version "0.5.0" + resolved "https://registry.yarnpkg.com/cssom/-/cssom-0.5.0.tgz#d254fa92cd8b6fbd83811b9fbaed34663cc17c36" + integrity sha512-iKuQcq+NdHqlAcwUY0o/HL69XQrUaQdMjmStJ8JFmUaiiQErlhrmuigkg/CU4E2J0IyUKUrMAgl36TvN67MqTw== + +cssom@~0.3.6: + version "0.3.8" + resolved "https://registry.yarnpkg.com/cssom/-/cssom-0.3.8.tgz#9f1276f5b2b463f2114d3f2c75250af8c1a36f4a" + integrity sha512-b0tGHbfegbhPJpxpiBPU2sCkigAqtM9O121le6bbOlgyV+NyGyCmVfJ6QW9eRjz8CpNfWEOYBIMIGRYkLwsIYg== + +cssstyle@^2.3.0: + version "2.3.0" + resolved "https://registry.yarnpkg.com/cssstyle/-/cssstyle-2.3.0.tgz#ff665a0ddbdc31864b09647f34163443d90b0852" + integrity sha512-AZL67abkUzIuvcHqk7c09cezpGNcxUxU4Ioi/05xHk4DQeTkWmGYftIE6ctU6AEt+Gn4n1lDStOtj7FKycP71A== + dependencies: + cssom "~0.3.6" + +csstype@^3.0.2, csstype@^3.1.2: + version "3.1.3" + resolved "https://registry.yarnpkg.com/csstype/-/csstype-3.1.3.tgz#d80ff294d114fb0e6ac500fbf85b60137d7eff81" + integrity sha512-M1uQkMl8rQK/szD0LNhtqxIPLpimGm8sOBwU7lLnCpSbTyY3yeU1Vc7l4KT5zT4s/yOxHH5O7tIuuLOCnLADRw== + +cypress-file-upload@5.0.8: + version "5.0.8" + resolved "https://registry.yarnpkg.com/cypress-file-upload/-/cypress-file-upload-5.0.8.tgz#d8824cbeaab798e44be8009769f9a6c9daa1b4a1" + integrity sha512-+8VzNabRk3zG6x8f8BWArF/xA/W0VK4IZNx3MV0jFWrJS/qKn8eHfa5nU73P9fOQAgwHFJx7zjg4lwOnljMO8g== + +cypress@9.5.1: + version "9.5.1" + resolved "https://registry.yarnpkg.com/cypress/-/cypress-9.5.1.tgz#51162f3688cedf5ffce311b914ef49a7c1ece076" + integrity sha512-H7lUWB3Svr44gz1rNnj941xmdsCljXoJa2cDneAltjI9leKLMQLm30x6jLlpQ730tiVtIbW5HdUmBzPzwzfUQg== + dependencies: + "@cypress/request" "^2.88.10" + "@cypress/xvfb" "^1.2.4" + "@types/node" "^14.14.31" + "@types/sinonjs__fake-timers" "8.1.1" + "@types/sizzle" "^2.3.2" + arch "^2.2.0" + blob-util "^2.0.2" + bluebird "^3.7.2" + buffer "^5.6.0" + cachedir "^2.3.0" + chalk "^4.1.0" + check-more-types "^2.24.0" + cli-cursor "^3.1.0" + cli-table3 "~0.6.1" + commander "^5.1.0" + common-tags "^1.8.0" + dayjs "^1.10.4" + debug "^4.3.2" + enquirer "^2.3.6" + eventemitter2 "^6.4.3" + execa "4.1.0" + executable "^4.1.1" + extract-zip "2.0.1" + figures "^3.2.0" + fs-extra "^9.1.0" + getos "^3.2.1" + is-ci "^3.0.0" + is-installed-globally "~0.4.0" + lazy-ass "^1.6.0" + listr2 "^3.8.3" + lodash "^4.17.21" + log-symbols "^4.0.0" + minimist "^1.2.5" + ospath "^1.2.2" + pretty-bytes "^5.6.0" + proxy-from-env "1.0.0" + request-progress "^3.0.0" + semver "^7.3.2" + supports-color "^8.1.1" + tmp "~0.2.1" + untildify "^4.0.0" + yauzl "^2.10.0" + +"d3-array@2 - 3", "d3-array@2.10.0 - 3", "d3-array@2.5.0 - 3", d3-array@3, d3-array@^3.2.0: + version "3.2.4" + resolved "https://registry.yarnpkg.com/d3-array/-/d3-array-3.2.4.tgz#15fec33b237f97ac5d7c986dc77da273a8ed0bb5" + integrity sha512-tdQAmyA18i4J7wprpYq8ClcxZy3SC31QMeByyCFyRt7BVHdREQZ5lpzoe5mFEYZUWe+oq8HBvk9JjpibyEV4Jg== + dependencies: + internmap "1 - 2" + +d3-axis@3: + version "3.0.0" + resolved "https://registry.yarnpkg.com/d3-axis/-/d3-axis-3.0.0.tgz#c42a4a13e8131d637b745fc2973824cfeaf93322" + integrity sha512-IH5tgjV4jE/GhHkRV0HiVYPDtvfjHQlQfJHs0usq7M30XcSBvOotpmH1IgkcXsO/5gEQZD43B//fc7SRT5S+xw== + +d3-brush@3: + version "3.0.0" + resolved "https://registry.yarnpkg.com/d3-brush/-/d3-brush-3.0.0.tgz#6f767c4ed8dcb79de7ede3e1c0f89e63ef64d31c" + integrity sha512-ALnjWlVYkXsVIGlOsuWH1+3udkYFI48Ljihfnh8FZPF2QS9o+PzGLBslO0PjzVoHLZ2KCVgAM8NVkXPJB2aNnQ== + dependencies: + d3-dispatch "1 - 3" + d3-drag "2 - 3" + d3-interpolate "1 - 3" + d3-selection "3" + d3-transition "3" + +d3-chord@3: + version "3.0.1" + resolved "https://registry.yarnpkg.com/d3-chord/-/d3-chord-3.0.1.tgz#d156d61f485fce8327e6abf339cb41d8cbba6966" + integrity sha512-VE5S6TNa+j8msksl7HwjxMHDM2yNK3XCkusIlpX5kwauBfXuyLAtNg9jCp/iHH61tgI4sb6R/EIMWCqEIdjT/g== + dependencies: + d3-path "1 - 3" + +"d3-color@1 - 3", d3-color@3: + version "3.1.0" + resolved "https://registry.yarnpkg.com/d3-color/-/d3-color-3.1.0.tgz#395b2833dfac71507f12ac2f7af23bf819de24e2" + integrity sha512-zg/chbXyeBtMQ1LbD/WSoW2DpC3I0mpmPdW+ynRTj/x2DAWYrIY7qeZIHidozwV24m4iavr15lNwIwLxRmOxhA== + +d3-contour@4: + version "4.0.2" + resolved "https://registry.yarnpkg.com/d3-contour/-/d3-contour-4.0.2.tgz#bb92063bc8c5663acb2422f99c73cbb6c6ae3bcc" + integrity sha512-4EzFTRIikzs47RGmdxbeUvLWtGedDUNkTcmzoeyg4sP/dvCexO47AaQL7VKy/gul85TOxw+IBgA8US2xwbToNA== + dependencies: + d3-array "^3.2.0" + +d3-delaunay@6: + version "6.0.4" + resolved "https://registry.yarnpkg.com/d3-delaunay/-/d3-delaunay-6.0.4.tgz#98169038733a0a5babbeda55054f795bb9e4a58b" + integrity sha512-mdjtIZ1XLAM8bm/hx3WwjfHt6Sggek7qH043O8KEjDXN40xi3vx/6pYSVTwLjEgiXQTbvaouWKynLBiUZ6SK6A== + dependencies: + delaunator "5" + +"d3-dispatch@1 - 3", d3-dispatch@3: + version "3.0.1" + resolved "https://registry.yarnpkg.com/d3-dispatch/-/d3-dispatch-3.0.1.tgz#5fc75284e9c2375c36c839411a0cf550cbfc4d5e" + integrity sha512-rzUyPU/S7rwUflMyLc1ETDeBj0NRuHKKAcvukozwhshr6g6c5d8zh4c2gQjY2bZ0dXeGLWc1PF174P2tVvKhfg== + +"d3-drag@2 - 3", d3-drag@3: + version "3.0.0" + resolved "https://registry.yarnpkg.com/d3-drag/-/d3-drag-3.0.0.tgz#994aae9cd23c719f53b5e10e3a0a6108c69607ba" + integrity sha512-pWbUJLdETVA8lQNJecMxoXfH6x+mO2UQo8rSmZ+QqxcbyA3hfeprFgIT//HW2nlHChWeIIMwS2Fq+gEARkhTkg== + dependencies: + d3-dispatch "1 - 3" + d3-selection "3" + +"d3-dsv@1 - 3", d3-dsv@3: + version "3.0.1" + resolved "https://registry.yarnpkg.com/d3-dsv/-/d3-dsv-3.0.1.tgz#c63af978f4d6a0d084a52a673922be2160789b73" + integrity sha512-UG6OvdI5afDIFP9w4G0mNq50dSOsXHJaRE8arAS5o9ApWnIElp8GZw1Dun8vP8OyHOZ/QJUKUJwxiiCCnUwm+Q== + dependencies: + commander "7" + iconv-lite "0.6" + rw "1" + +"d3-ease@1 - 3", d3-ease@3: + version "3.0.1" + resolved "https://registry.yarnpkg.com/d3-ease/-/d3-ease-3.0.1.tgz#9658ac38a2140d59d346160f1f6c30fda0bd12f4" + integrity sha512-wR/XK3D3XcLIZwpbvQwQ5fK+8Ykds1ip7A2Txe0yxncXSdq1L9skcG7blcedkOX+ZcgxGAmLX1FrRGbADwzi0w== + +d3-fetch@3: + version "3.0.1" + resolved "https://registry.yarnpkg.com/d3-fetch/-/d3-fetch-3.0.1.tgz#83141bff9856a0edb5e38de89cdcfe63d0a60a22" + integrity sha512-kpkQIM20n3oLVBKGg6oHrUchHM3xODkTzjMoj7aWQFq5QEM+R6E4WkzT5+tojDY7yjez8KgCBRoj4aEr99Fdqw== + dependencies: + d3-dsv "1 - 3" + +d3-force@3: + version "3.0.0" + resolved "https://registry.yarnpkg.com/d3-force/-/d3-force-3.0.0.tgz#3e2ba1a61e70888fe3d9194e30d6d14eece155c4" + integrity sha512-zxV/SsA+U4yte8051P4ECydjD/S+qeYtnaIyAs9tgHCqfguma/aAQDjo85A9Z6EKhBirHRJHXIgJUlffT4wdLg== + dependencies: + d3-dispatch "1 - 3" + d3-quadtree "1 - 3" + d3-timer "1 - 3" + +"d3-format@1 - 3", d3-format@3: + version "3.1.0" + resolved "https://registry.yarnpkg.com/d3-format/-/d3-format-3.1.0.tgz#9260e23a28ea5cb109e93b21a06e24e2ebd55641" + integrity sha512-YyUI6AEuY/Wpt8KWLgZHsIU86atmikuoOmCfommt0LYHiQSPjvX2AcFc38PX0CBpr2RCyZhjex+NS/LPOv6YqA== + +d3-geo@3: + version "3.1.0" + resolved "https://registry.yarnpkg.com/d3-geo/-/d3-geo-3.1.0.tgz#74fd54e1f4cebd5185ac2039217a98d39b0a4c0e" + integrity sha512-JEo5HxXDdDYXCaWdwLRt79y7giK8SbhZJbFWXqbRTolCHFI5jRqteLzCsq51NKbUoX0PjBVSohxrx+NoOUujYA== + dependencies: + d3-array "2.5.0 - 3" + +d3-hierarchy@3: + version "3.1.2" + resolved "https://registry.yarnpkg.com/d3-hierarchy/-/d3-hierarchy-3.1.2.tgz#b01cd42c1eed3d46db77a5966cf726f8c09160c6" + integrity sha512-FX/9frcub54beBdugHjDCdikxThEqjnR93Qt7PvQTOHxyiNCAlvMrHhclk3cD5VeAaq9fxmfRp+CnWw9rEMBuA== + +"d3-interpolate@1 - 3", "d3-interpolate@1.2.0 - 3", d3-interpolate@3, d3-interpolate@3.0.1: + version "3.0.1" + resolved "https://registry.yarnpkg.com/d3-interpolate/-/d3-interpolate-3.0.1.tgz#3c47aa5b32c5b3dfb56ef3fd4342078a632b400d" + integrity sha512-3bYs1rOD33uo8aqJfKP3JWPAibgw8Zm2+L9vBKEHJ2Rg+viTR7o5Mmv5mZcieN+FRYaAOWX5SJATX6k1PWz72g== + dependencies: + d3-color "1 - 3" + +"d3-path@1 - 3", d3-path@3, d3-path@^3.1.0: + version "3.1.0" + resolved "https://registry.yarnpkg.com/d3-path/-/d3-path-3.1.0.tgz#22df939032fb5a71ae8b1800d61ddb7851c42526" + integrity sha512-p3KP5HCf/bvjBSSKuXid6Zqijx7wIfNW+J/maPs+iwR35at5JCbLUT0LzF1cnjbCHWhqzQTIN2Jpe8pRebIEFQ== + +d3-polygon@3: + version "3.0.1" + resolved "https://registry.yarnpkg.com/d3-polygon/-/d3-polygon-3.0.1.tgz#0b45d3dd1c48a29c8e057e6135693ec80bf16398" + integrity sha512-3vbA7vXYwfe1SYhED++fPUQlWSYTTGmFmQiany/gdbiWgU/iEyQzyymwL9SkJjFFuCS4902BSzewVGsHHmHtXg== + +"d3-quadtree@1 - 3", d3-quadtree@3: + version "3.0.1" + resolved "https://registry.yarnpkg.com/d3-quadtree/-/d3-quadtree-3.0.1.tgz#6dca3e8be2b393c9a9d514dabbd80a92deef1a4f" + integrity sha512-04xDrxQTDTCFwP5H6hRhsRcb9xxv2RzkcsygFzmkSIOJy3PeRJP7sNk3VRIbKXcog561P9oU0/rVH6vDROAgUw== + +d3-random@3: + version "3.0.1" + resolved "https://registry.yarnpkg.com/d3-random/-/d3-random-3.0.1.tgz#d4926378d333d9c0bfd1e6fa0194d30aebaa20f4" + integrity sha512-FXMe9GfxTxqd5D6jFsQ+DJ8BJS4E/fT5mqqdjovykEB2oFbTMDVdg1MGFxfQW+FBOGoB++k8swBrgwSHT1cUXQ== + +d3-scale-chromatic@3: + version "3.0.0" + resolved "https://registry.yarnpkg.com/d3-scale-chromatic/-/d3-scale-chromatic-3.0.0.tgz#15b4ceb8ca2bb0dcb6d1a641ee03d59c3b62376a" + integrity sha512-Lx9thtxAKrO2Pq6OO2Ua474opeziKr279P/TKZsMAhYyNDD3EnCffdbgeSYN5O7m2ByQsxtuP2CSDczNUIZ22g== + dependencies: + d3-color "1 - 3" + d3-interpolate "1 - 3" + +d3-scale@4: + version "4.0.2" + resolved "https://registry.yarnpkg.com/d3-scale/-/d3-scale-4.0.2.tgz#82b38e8e8ff7080764f8dcec77bd4be393689396" + integrity sha512-GZW464g1SH7ag3Y7hXjf8RoUuAFIqklOAq3MRl4OaWabTFJY9PN/E1YklhXLh+OQ3fM9yS2nOkCoS+WLZ6kvxQ== + dependencies: + d3-array "2.10.0 - 3" + d3-format "1 - 3" + d3-interpolate "1.2.0 - 3" + d3-time "2.1.1 - 3" + d3-time-format "2 - 4" + +"d3-selection@2 - 3", d3-selection@3: + version "3.0.0" + resolved "https://registry.yarnpkg.com/d3-selection/-/d3-selection-3.0.0.tgz#c25338207efa72cc5b9bd1458a1a41901f1e1b31" + integrity sha512-fmTRWbNMmsmWq6xJV8D19U/gw/bwrHfNXxrIN+HfZgnzqTHp9jOmKMhsTUjXOJnZOdZY9Q28y4yebKzqDKlxlQ== + +d3-shape@3: + version "3.2.0" + resolved "https://registry.yarnpkg.com/d3-shape/-/d3-shape-3.2.0.tgz#a1a839cbd9ba45f28674c69d7f855bcf91dfc6a5" + integrity sha512-SaLBuwGm3MOViRq2ABk3eLoxwZELpH6zhl3FbAoJ7Vm1gofKx6El1Ib5z23NUEhF9AsGl7y+dzLe5Cw2AArGTA== + dependencies: + d3-path "^3.1.0" + +"d3-time-format@2 - 4", d3-time-format@4: + version "4.1.0" + resolved "https://registry.yarnpkg.com/d3-time-format/-/d3-time-format-4.1.0.tgz#7ab5257a5041d11ecb4fe70a5c7d16a195bb408a" + integrity sha512-dJxPBlzC7NugB2PDLwo9Q8JiTR3M3e4/XANkreKSUxF8vvXKqm1Yfq4Q5dl8budlunRVlUUaDUgFt7eA8D6NLg== + dependencies: + d3-time "1 - 3" + +"d3-time@1 - 3", "d3-time@2.1.1 - 3", d3-time@3: + version "3.1.0" + resolved "https://registry.yarnpkg.com/d3-time/-/d3-time-3.1.0.tgz#9310db56e992e3c0175e1ef385e545e48a9bb5c7" + integrity sha512-VqKjzBLejbSMT4IgbmVgDjpkYrNWUYJnbCGo874u7MMKIWsILRX+OpX/gTk8MqjpT1A/c6HY2dCA77ZN0lkQ2Q== + dependencies: + d3-array "2 - 3" + +"d3-timer@1 - 3", d3-timer@3: + version "3.0.1" + resolved "https://registry.yarnpkg.com/d3-timer/-/d3-timer-3.0.1.tgz#6284d2a2708285b1abb7e201eda4380af35e63b0" + integrity sha512-ndfJ/JxxMd3nw31uyKoY2naivF+r29V+Lc0svZxe1JvvIRmi8hUsrMvdOwgS1o6uBHmiz91geQ0ylPP0aj1VUA== + +"d3-transition@2 - 3", d3-transition@3: + version "3.0.1" + resolved "https://registry.yarnpkg.com/d3-transition/-/d3-transition-3.0.1.tgz#6869fdde1448868077fdd5989200cb61b2a1645f" + integrity sha512-ApKvfjsSR6tg06xrL434C0WydLr7JewBB3V+/39RMHsaXTOG0zmt/OAXeng5M5LBm0ojmxJrpomQVZ1aPvBL4w== + dependencies: + d3-color "1 - 3" + d3-dispatch "1 - 3" + d3-ease "1 - 3" + d3-interpolate "1 - 3" + d3-timer "1 - 3" + +d3-zoom@3: + version "3.0.0" + resolved "https://registry.yarnpkg.com/d3-zoom/-/d3-zoom-3.0.0.tgz#d13f4165c73217ffeaa54295cd6969b3e7aee8f3" + integrity sha512-b8AmV3kfQaqWAuacbPuNbL6vahnOJflOhexLzMMNLga62+/nh0JzvJ0aO/5a5MVgUFGS7Hu1P9P03o3fJkDCyw== + dependencies: + d3-dispatch "1 - 3" + d3-drag "2 - 3" + d3-interpolate "1 - 3" + d3-selection "2 - 3" + d3-transition "2 - 3" + +d3@7.8.2: + version "7.8.2" + resolved "https://registry.yarnpkg.com/d3/-/d3-7.8.2.tgz#2bdb3c178d095ae03b107a18837ae049838e372d" + integrity sha512-WXty7qOGSHb7HR7CfOzwN1Gw04MUOzN8qh9ZUsvwycIMb4DYMpY9xczZ6jUorGtO6bR9BPMPaueIKwiDxu9uiQ== + dependencies: + d3-array "3" + d3-axis "3" + d3-brush "3" + d3-chord "3" + d3-color "3" + d3-contour "4" + d3-delaunay "6" + d3-dispatch "3" + d3-drag "3" + d3-dsv "3" + d3-ease "3" + d3-fetch "3" + d3-force "3" + d3-format "3" + d3-geo "3" + d3-hierarchy "3" + d3-interpolate "3" + d3-path "3" + d3-polygon "3" + d3-quadtree "3" + d3-random "3" + d3-scale "4" + d3-scale-chromatic "3" + d3-selection "3" + d3-shape "3" + d3-time "3" + d3-time-format "4" + d3-timer "3" + d3-transition "3" + d3-zoom "3" + +dashdash@^1.12.0: + version "1.14.1" + resolved "https://registry.yarnpkg.com/dashdash/-/dashdash-1.14.1.tgz#853cfa0f7cbe2fed5de20326b8dd581035f6e2f0" + integrity sha512-jRFi8UDGo6j+odZiEpjazZaWqEal3w/basFjQHQEwVtZJGDpxbH1MeYluwCS8Xq5wmLJooDlMgvVarmWfGM44g== + dependencies: + assert-plus "^1.0.0" + +data-urls@^3.0.2: + version "3.0.2" + resolved "https://registry.yarnpkg.com/data-urls/-/data-urls-3.0.2.tgz#9cf24a477ae22bcef5cd5f6f0bfbc1d2d3be9143" + integrity sha512-Jy/tj3ldjZJo63sVAvg6LHt2mHvl4V6AgRAmNDtLdm7faqtsx+aJG42rsyCo9JCoRVKwPFzKlIPx3DIibwSIaQ== + dependencies: + abab "^2.0.6" + whatwg-mimetype "^3.0.0" + whatwg-url "^11.0.0" + +date-fns@2.29.3: + version "2.29.3" + resolved "https://registry.yarnpkg.com/date-fns/-/date-fns-2.29.3.tgz#27402d2fc67eb442b511b70bbdf98e6411cd68a8" + integrity sha512-dDCnyH2WnnKusqvZZ6+jA1O51Ibt8ZMRNkDZdyAyK4YfbDwa/cEmuztzG5pk6hqlp9aSBPYcjOlktquahGwGeA== + +date-format@^0.0.0: + version "0.0.0" + resolved "https://registry.yarnpkg.com/date-format/-/date-format-0.0.0.tgz#09206863ab070eb459acea5542cbd856b11966b3" + integrity sha512-kAmAdtsjW5nQ02FERwI1bP4xe6HQBPwy5kpAF4CRSLOMUs/vgMIEEwpy6JqUs7NitTyhZiImxwAjgPpnteycHg== + +dayjs@^1.10.4: + version "1.11.10" + resolved "https://registry.yarnpkg.com/dayjs/-/dayjs-1.11.10.tgz#68acea85317a6e164457d6d6947564029a6a16a0" + integrity sha512-vjAczensTgRcqDERK0SR2XMwsF/tSvnvlv6VcF2GIhg6Sx4yOIt/irsr1RDJsKiIyBzJDpCoXiWWq28MqH2cnQ== + +debug@4, debug@4.3.4, debug@^4.1.0, debug@^4.1.1, debug@^4.3.1, debug@^4.3.2, debug@^4.3.4: + version "4.3.4" + resolved "https://registry.yarnpkg.com/debug/-/debug-4.3.4.tgz#1319f6579357f2338d3337d2cdd4914bb5dcc865" + integrity sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ== + dependencies: + ms "2.1.2" + +debug@^0.7.2: + version "0.7.4" + resolved "https://registry.yarnpkg.com/debug/-/debug-0.7.4.tgz#06e1ea8082c2cb14e39806e22e2f6f757f92af39" + integrity sha512-EohAb3+DSHSGx8carOSKJe8G0ayV5/i609OD0J2orCkuyae7SyZSz2aoLmQF2s0Pj5gITDebwPH7GFBlqOUQ1Q== + +debug@^2.2.0: + version "2.6.9" + resolved "https://registry.yarnpkg.com/debug/-/debug-2.6.9.tgz#5d128515df134ff327e90a4c93f4e077a536341f" + integrity sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA== + dependencies: + ms "2.0.0" + +debug@^3.1.0, debug@^3.2.7: + version "3.2.7" + resolved "https://registry.yarnpkg.com/debug/-/debug-3.2.7.tgz#72580b7e9145fb39b6676f9c5e5fb100b934179a" + integrity sha512-CFjzYYAi4ThfiQvizrFQevTTXHtnCqWfe7x1AhgEscTz6ZbLbfoLRLPugTQyBth6f8ZERVUSyWHFD/7Wu4t1XQ== + dependencies: + ms "^2.1.1" + +decamelize@^4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/decamelize/-/decamelize-4.0.0.tgz#aa472d7bf660eb15f3494efd531cab7f2a709837" + integrity sha512-9iE1PgSik9HeIIw2JO94IidnE3eBoQrFJ3w7sFuzSX4DpmZ3v5sZpUiV5Swcf6mQEF+Y0ru8Neo+p+nyh2J+hQ== + +decimal.js@^10.4.2: + version "10.4.3" + resolved "https://registry.yarnpkg.com/decimal.js/-/decimal.js-10.4.3.tgz#1044092884d245d1b7f65725fa4ad4c6f781cc23" + integrity sha512-VBBaLc1MgL5XpzgIP7ny5Z6Nx3UrRkIViUkPUdtl9aya5amy3De1gsUUSB1g3+3sExYNjCAsAznmukyxCb1GRA== + +dedent@^1.0.0: + version "1.5.1" + resolved "https://registry.yarnpkg.com/dedent/-/dedent-1.5.1.tgz#4f3fc94c8b711e9bb2800d185cd6ad20f2a90aff" + integrity sha512-+LxW+KLWxu3HW3M2w2ympwtqPrqYRzU8fqi6Fhd18fBALe15blJPI/I4+UHveMVG6lJqB4JNd4UG0S5cnVHwIg== + +deep-equal@^2.0.5: + version "2.2.3" + resolved "https://registry.yarnpkg.com/deep-equal/-/deep-equal-2.2.3.tgz#af89dafb23a396c7da3e862abc0be27cf51d56e1" + integrity sha512-ZIwpnevOurS8bpT4192sqAowWM76JDKSHYzMLty3BZGSswgq6pBaH3DhCSW5xVAZICZyKdOBPjwww5wfgT/6PA== + dependencies: + array-buffer-byte-length "^1.0.0" + call-bind "^1.0.5" + es-get-iterator "^1.1.3" + get-intrinsic "^1.2.2" + is-arguments "^1.1.1" + is-array-buffer "^3.0.2" + is-date-object "^1.0.5" + is-regex "^1.1.4" + is-shared-array-buffer "^1.0.2" + isarray "^2.0.5" + object-is "^1.1.5" + object-keys "^1.1.1" + object.assign "^4.1.4" + regexp.prototype.flags "^1.5.1" + side-channel "^1.0.4" + which-boxed-primitive "^1.0.2" + which-collection "^1.0.1" + which-typed-array "^1.1.13" + +deep-is@^0.1.3: + version "0.1.4" + resolved "https://registry.yarnpkg.com/deep-is/-/deep-is-0.1.4.tgz#a6f2dce612fadd2ef1f519b73551f17e85199831" + integrity sha512-oIPzksmTg4/MriiaYGO+okXDT7ztn/w3Eptv/+gSIdMdKsJo0u4CfYNFJPy+4SKMuCqGw2wxnA+URMg3t8a/bQ== + +deepmerge@^4.2.2: + version "4.3.1" + resolved "https://registry.yarnpkg.com/deepmerge/-/deepmerge-4.3.1.tgz#44b5f2147cd3b00d4b56137685966f26fd25dd4a" + integrity sha512-3sUqbMEc77XqpdNO7FRyRog+eW3ph+GYCbj+rK+uYyRMuwsVy0rMiVtPn+QJlKFvWP/1PYpapqYn0Me2knFn+A== + +define-data-property@^1.0.1, define-data-property@^1.1.1: + version "1.1.1" + resolved "https://registry.yarnpkg.com/define-data-property/-/define-data-property-1.1.1.tgz#c35f7cd0ab09883480d12ac5cb213715587800b3" + integrity sha512-E7uGkTzkk1d0ByLeSc6ZsFS79Axg+m1P/VsgYsxHgiuc3tFSj+MjMIwe90FC4lOAZzNBdY7kkO2P2wKdsQ1vgQ== + dependencies: + get-intrinsic "^1.2.1" + gopd "^1.0.1" + has-property-descriptors "^1.0.0" + +define-properties@^1.1.3, define-properties@^1.2.0, define-properties@^1.2.1: + version "1.2.1" + resolved "https://registry.yarnpkg.com/define-properties/-/define-properties-1.2.1.tgz#10781cc616eb951a80a034bafcaa7377f6af2b6c" + integrity sha512-8QmQKqEASLd5nx0U1B1okLElbUuuttJ/AnYmRXbbbGDWh6uS208EjD4Xqq/I9wK7u0v6O08XhTWnt5XtEbR6Dg== + dependencies: + define-data-property "^1.0.1" + has-property-descriptors "^1.0.0" + object-keys "^1.1.1" + +delaunator@5: + version "5.0.1" + resolved "https://registry.yarnpkg.com/delaunator/-/delaunator-5.0.1.tgz#39032b08053923e924d6094fe2cde1a99cc51278" + integrity sha512-8nvh+XBe96aCESrGOqMp/84b13H9cdKbG5P2ejQCh4d4sK9RL4371qou9drQjMhvnPmhWl5hnmqbEE0fXr9Xnw== + dependencies: + robust-predicates "^3.0.2" + +delayed-stream@~1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/delayed-stream/-/delayed-stream-1.0.0.tgz#df3ae199acadfb7d440aaae0b29e2272b24ec619" + integrity sha512-ZySD7Nf91aLB0RxL4KGrKHBXl7Eds1DAmEdcoVawXnLD7SDhpNgtuII2aAkg7a7QS41jxPSZ17p4VdGnMHk3MQ== + +dequal@^2.0.3: + version "2.0.3" + resolved "https://registry.yarnpkg.com/dequal/-/dequal-2.0.3.tgz#2644214f1997d39ed0ee0ece72335490a7ac67be" + integrity sha512-0je+qPKHEMohvfRTCEo3CrPG6cAzAYgmzKyxRiYSSDkS6eGJdyVJm7WaYA5ECaAD9wLB2T4EEeymA5aFVcYXCA== + +detect-newline@^3.0.0: + version "3.1.0" + resolved "https://registry.yarnpkg.com/detect-newline/-/detect-newline-3.1.0.tgz#576f5dfc63ae1a192ff192d8ad3af6308991b651" + integrity sha512-TLz+x/vEXm/Y7P7wn1EJFNLxYpUD4TgMosxY6fAVJUnJMbupHBOncxyWUG9OpTaH9EBD7uFI5LfEgmMOc54DsA== + +devtools-protocol@0.0.1113774: + version "0.0.1113774" + resolved "https://registry.yarnpkg.com/devtools-protocol/-/devtools-protocol-0.0.1113774.tgz#bc3a3e29828bf8338e06f3c251cd986559d55eba" + integrity sha512-e8RTiY/W9+exY6T2bK9mLyJG/CfwCixDVof7MqOS2maLANTdihMr2LCf6wcBUvgQzmrImqHITyJB90ICiuJGwA== + +diff-sequences@^29.6.3: + version "29.6.3" + resolved "https://registry.yarnpkg.com/diff-sequences/-/diff-sequences-29.6.3.tgz#4deaf894d11407c51efc8418012f9e70b84ea921" + integrity sha512-EjePK1srD3P08o2j4f0ExnylqRs5B9tJjcp9t1krH2qRi8CCdsYfwe9JgSLurFBWwq4uOlipzfk5fHNvwFKr8Q== + +diff@5.0.0: + version "5.0.0" + resolved "https://registry.yarnpkg.com/diff/-/diff-5.0.0.tgz#7ed6ad76d859d030787ec35855f5b1daf31d852b" + integrity sha512-/VTCrvm5Z0JGty/BWHljh+BAiw3IK+2j87NGMu8Nwc/f48WoDAC395uomO9ZD117ZOBaHmkX1oyLvkVM/aIT3w== + +diff@^4.0.1: + version "4.0.2" + resolved "https://registry.yarnpkg.com/diff/-/diff-4.0.2.tgz#60f3aecb89d5fae520c11aa19efc2bb982aade7d" + integrity sha512-58lmxKSA4BNyLz+HHMUzlOEpg09FV+ev6ZMe3vJihgdxzgcwZ8VoEEPmALCZG9LmqfVoNMMKpttIYTVG6uDY7A== + +dir-glob@^3.0.1: + version "3.0.1" + resolved "https://registry.yarnpkg.com/dir-glob/-/dir-glob-3.0.1.tgz#56dbf73d992a4a93ba1584f4534063fd2e41717f" + integrity sha512-WkrWp9GR4KXfKGYzOLmTuGVi1UWFfws377n9cc55/tb6DuqyF6pcQ5AbiHEshaDpY9v6oaSr2XCDidGmMwdzIA== + dependencies: + path-type "^4.0.0" + +direction@^0.1.5: + version "0.1.5" + resolved "https://registry.yarnpkg.com/direction/-/direction-0.1.5.tgz#ce5d797f97e26f8be7beff53f7dc40e1c1a9ec4c" + integrity sha512-HceXsAluGbXKCz2qCVbXFUH4Vn4eNMWxY5gzydMFMnS1zKSwvDASqLwcrYLIFDpwuZ63FUAqjDLEP1eicHt8DQ== + +doctrine@^2.1.0: + version "2.1.0" + resolved "https://registry.yarnpkg.com/doctrine/-/doctrine-2.1.0.tgz#5cd01fc101621b42c4cd7f5d1a66243716d3f39d" + integrity sha512-35mSku4ZXK0vfCuHEDAwt55dg2jNajHZ1odvF+8SSr82EsZY4QmXfuWso8oEd8zRhVObSN18aM0CjSdoBX7zIw== + dependencies: + esutils "^2.0.2" + +doctrine@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/doctrine/-/doctrine-3.0.0.tgz#addebead72a6574db783639dc87a121773973961" + integrity sha512-yS+Q5i3hBf7GBkd4KG8a7eBNNWNGLTaEwwYWUijIYM7zrlYDM0BFXHjjPWlWZ1Rg7UaddZeIDmi9jF3HmqiQ2w== + dependencies: + esutils "^2.0.2" + +dom-accessibility-api@^0.5.6, dom-accessibility-api@^0.5.9: + version "0.5.16" + resolved "https://registry.yarnpkg.com/dom-accessibility-api/-/dom-accessibility-api-0.5.16.tgz#5a7429e6066eb3664d911e33fb0e45de8eb08453" + integrity sha512-X7BJ2yElsnOJ30pZF4uIIDfBEVgF4XEBxL9Bxhy6dnrm5hkzqmsWHGTiHqRiITNhMyFLyAiWndIJP7Z1NTteDg== + +dom-align@^1.7.0: + version "1.12.4" + resolved "https://registry.yarnpkg.com/dom-align/-/dom-align-1.12.4.tgz#3503992eb2a7cfcb2ed3b2a6d21e0b9c00d54511" + integrity sha512-R8LUSEay/68zE5c8/3BDxiTEvgb4xZTF0RKmAHfiEVN3klfIpXfi2/QCoiWPccVQ0J/ZGdz9OjzL4uJEP/MRAw== + +dom-css@^2.0.0: + version "2.1.0" + resolved "https://registry.yarnpkg.com/dom-css/-/dom-css-2.1.0.tgz#fdbc2d5a015d0a3e1872e11472bbd0e7b9e6a202" + integrity sha512-w9kU7FAbaSh3QKijL6n59ofAhkkmMJ31GclJIz/vyQdjogfyxcB6Zf8CZyibOERI5o0Hxz30VmJS7+7r5fEj2Q== + dependencies: + add-px-to-style "1.0.0" + prefix-style "2.0.1" + to-camel-case "1.0.0" + +dom-helpers@^5.0.1: + version "5.2.1" + resolved "https://registry.yarnpkg.com/dom-helpers/-/dom-helpers-5.2.1.tgz#d9400536b2bf8225ad98fe052e029451ac40e902" + integrity sha512-nRCa7CK3VTrM2NmGkIy4cbK7IZlgBE/PYMn55rrXefr5xXDP0LdtfPnblFDoVdcAfslJ7or6iqAUnx0CCGIWQA== + dependencies: + "@babel/runtime" "^7.8.7" + csstype "^3.0.2" + +domexception@^4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/domexception/-/domexception-4.0.0.tgz#4ad1be56ccadc86fc76d033353999a8037d03673" + integrity sha512-A2is4PLG+eeSfoTMA95/s4pvAoSo2mKtiM5jlHkAVewmiO8ISFTFKZjH7UAM1Atli/OT/7JHOrJRJiMKUZKYBw== + dependencies: + webidl-conversions "^7.0.0" + +dompurify@^2.4.3: + version "2.4.7" + resolved "https://registry.yarnpkg.com/dompurify/-/dompurify-2.4.7.tgz#277adeb40a2c84be2d42a8bcd45f582bfa4d0cfc" + integrity sha512-kxxKlPEDa6Nc5WJi+qRgPbOAbgTpSULL+vI3NUXsZMlkJxTqYI9wg5ZTay2sFrdZRWHPWNi+EdAhcJf81WtoMQ== + +earcut@^2.2.3: + version "2.2.4" + resolved "https://registry.yarnpkg.com/earcut/-/earcut-2.2.4.tgz#6d02fd4d68160c114825d06890a92ecaae60343a" + integrity sha512-/pjZsA1b4RPHbeWZQn66SWS8nZZWLQQ23oE3Eam7aroEFGEvwKAsJfZ9ytiEMycfzXWpca4FA9QIOehf7PocBQ== + +eastasianwidth@^0.2.0: + version "0.2.0" + resolved "https://registry.yarnpkg.com/eastasianwidth/-/eastasianwidth-0.2.0.tgz#696ce2ec0aa0e6ea93a397ffcf24aa7840c827cb" + integrity sha512-I88TYZWc9XiYHRQ4/3c5rjjfgkjhLyW2luGIheGERbNQ6OY7yTybanSpDXZa8y7VUP9YmDcYa+eyq4ca7iLqWA== + +ecc-jsbn@~0.1.1: + version "0.1.2" + resolved "https://registry.yarnpkg.com/ecc-jsbn/-/ecc-jsbn-0.1.2.tgz#3a83a904e54353287874c564b7549386849a98c9" + integrity sha512-eh9O+hwRHNbG4BLTjEl3nw044CkGm5X6LoaCf7LPp7UU8Qrt47JYNi6nPX8xjW97TKGKm1ouctg0QSpZe9qrnw== + dependencies: + jsbn "~0.1.0" + safer-buffer "^2.1.0" + +electron-to-chromium@^1.4.601: + version "1.4.646" + resolved "https://registry.yarnpkg.com/electron-to-chromium/-/electron-to-chromium-1.4.646.tgz#2ed74709d854d5501b32936c9feaaee02c7a9ba5" + integrity sha512-vThkQ0JuF45qT/20KbRgM56lV7IuGt7SjhawQ719PDHzhP84KAO1WJoaxgCoAffKHK47FmVKP1Fqizx7CwK1SA== + +emittery@^0.13.1: + version "0.13.1" + resolved "https://registry.yarnpkg.com/emittery/-/emittery-0.13.1.tgz#c04b8c3457490e0847ae51fced3af52d338e3dad" + integrity sha512-DeWwawk6r5yR9jFgnDKYt4sLS0LmHJJi3ZOnb5/JdbYwj3nW+FxQnHIjhBKz8YLC7oRNPVM9NQ47I3CVx34eqQ== + +emoji-regex@^8.0.0: + version "8.0.0" + resolved "https://registry.yarnpkg.com/emoji-regex/-/emoji-regex-8.0.0.tgz#e818fd69ce5ccfcb404594f842963bf53164cc37" + integrity sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A== + +emoji-regex@^9.2.2: + version "9.2.2" + resolved "https://registry.yarnpkg.com/emoji-regex/-/emoji-regex-9.2.2.tgz#840c8803b0d8047f4ff0cf963176b32d4ef3ed72" + integrity sha512-L18DaJsXSUk2+42pv8mLs5jJT2hqFkFE4j21wOmgbUqsZ2hL72NsUU785g9RXgo3s0ZNgVl42TiHp3ZtOv/Vyg== + +emojis-list@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/emojis-list/-/emojis-list-3.0.0.tgz#5570662046ad29e2e916e71aae260abdff4f6a78" + integrity sha512-/kyM18EfinwXZbno9FyUGeFh87KC8HRQBQGildHZbEuRyWFOmv1U10o9BBp8XVZDVNNuQKyIGIu5ZYAAXJ0V2Q== + +end-of-stream@^1.1.0: + version "1.4.4" + resolved "https://registry.yarnpkg.com/end-of-stream/-/end-of-stream-1.4.4.tgz#5ae64a5f45057baf3626ec14da0ca5e4b2431eb0" + integrity sha512-+uw1inIHVPQoaVuHzRyXd21icM+cnt4CzD5rW+NC1wjOUSTOs+Te7FOv7AhN7vS9x/oIyhLP5PR1H+phQAHu5Q== + dependencies: + once "^1.4.0" + +enhanced-resolve@^4.0.0: + version "4.5.0" + resolved "https://registry.yarnpkg.com/enhanced-resolve/-/enhanced-resolve-4.5.0.tgz#2f3cfd84dbe3b487f18f2db2ef1e064a571ca5ec" + integrity sha512-Nv9m36S/vxpsI+Hc4/ZGRs0n9mXqSWGGq49zxb/cJfPAQMbUtttJAlNPS4AQzaBdw/pKskw5bMbekT/Y7W/Wlg== + dependencies: + graceful-fs "^4.1.2" + memory-fs "^0.5.0" + tapable "^1.0.0" + +enhanced-resolve@^5.15.0: + version "5.15.0" + resolved "https://registry.yarnpkg.com/enhanced-resolve/-/enhanced-resolve-5.15.0.tgz#1af946c7d93603eb88e9896cee4904dc012e9c35" + integrity sha512-LXYT42KJ7lpIKECr2mAXIaMldcNCh/7E0KBKOu4KSfkHmP+mZmSs+8V5gBAqisWBy0OO4W5Oyys0GO1Y8KtdKg== + dependencies: + graceful-fs "^4.2.4" + tapable "^2.2.0" + +enquirer@^2.3.6: + version "2.4.1" + resolved "https://registry.yarnpkg.com/enquirer/-/enquirer-2.4.1.tgz#93334b3fbd74fc7097b224ab4a8fb7e40bf4ae56" + integrity sha512-rRqJg/6gd538VHvR3PSrdRBb/1Vy2YfzHqzvbhGIQpDRKIa4FgV/54b5Q1xYSxOOwKvjXweS26E0Q+nAMwp2pQ== + dependencies: + ansi-colors "^4.1.1" + strip-ansi "^6.0.1" + +entities@^4.4.0: + version "4.5.0" + resolved "https://registry.yarnpkg.com/entities/-/entities-4.5.0.tgz#5d268ea5e7113ec74c4d033b79ea5a35a488fb48" + integrity sha512-V0hjH4dGPh9Ao5p0MoRY6BVqtwCjhz6vI5LT8AJ55H+4g9/4vbHx1I54fS0XuclLhDHArPQCiMjDxjaL8fPxhw== + +envinfo@^7.7.3: + version "7.11.0" + resolved "https://registry.yarnpkg.com/envinfo/-/envinfo-7.11.0.tgz#c3793f44284a55ff8c82faf1ffd91bc6478ea01f" + integrity sha512-G9/6xF1FPbIw0TtalAMaVPpiq2aDEuKLXM314jPVAO9r2fo2a4BLqMNkmRS7O/xPPZ+COAhGIz3ETvHEV3eUcg== + +errno@^0.1.3: + version "0.1.8" + resolved "https://registry.yarnpkg.com/errno/-/errno-0.1.8.tgz#8bb3e9c7d463be4976ff888f76b4809ebc2e811f" + integrity sha512-dJ6oBr5SQ1VSd9qkk7ByRgb/1SH4JZjCHSW/mr63/QcXO9zLVxvJ6Oy13nio03rxpSnVDDjFor75SjVeZWPW/A== + dependencies: + prr "~1.0.1" + +error-ex@^1.3.1: + version "1.3.2" + resolved "https://registry.yarnpkg.com/error-ex/-/error-ex-1.3.2.tgz#b4ac40648107fdcdcfae242f428bea8a14d4f1bf" + integrity sha512-7dFHNmqeFSEt2ZBsCriorKnn3Z2pj+fd9kmI6QoWw4//DL+icEBfc0U7qJCisqrTsKTjw4fNFy2pW9OqStD84g== + dependencies: + is-arrayish "^0.2.1" + +error-stack-parser@^2.0.6: + version "2.1.4" + resolved "https://registry.yarnpkg.com/error-stack-parser/-/error-stack-parser-2.1.4.tgz#229cb01cdbfa84440bfa91876285b94680188286" + integrity sha512-Sk5V6wVazPhq5MhpO+AUxJn5x7XSXGl1R93Vn7i+zS15KDVxQijejNCrz8340/2bgLBjR9GtEG8ZVKONDjcqGQ== + dependencies: + stackframe "^1.3.4" + +error@^7.0.0: + version "7.2.1" + resolved "https://registry.yarnpkg.com/error/-/error-7.2.1.tgz#eab21a4689b5f684fc83da84a0e390de82d94894" + integrity sha512-fo9HBvWnx3NGUKMvMwB/CBCMMrfEJgbDTVDEkPygA3Bdd3lM1OyCd+rbQ8BwnpF6GdVeOLDNmyL4N5Bg80ZvdA== + dependencies: + string-template "~0.2.1" + +es-abstract@^1.22.1: + version "1.22.3" + resolved "https://registry.yarnpkg.com/es-abstract/-/es-abstract-1.22.3.tgz#48e79f5573198de6dee3589195727f4f74bc4f32" + integrity sha512-eiiY8HQeYfYH2Con2berK+To6GrK2RxbPawDkGq4UiCQQfZHb6wX9qQqkbpPqaxQFcl8d9QzZqo0tGE0VcrdwA== + dependencies: + array-buffer-byte-length "^1.0.0" + arraybuffer.prototype.slice "^1.0.2" + available-typed-arrays "^1.0.5" + call-bind "^1.0.5" + es-set-tostringtag "^2.0.1" + es-to-primitive "^1.2.1" + function.prototype.name "^1.1.6" + get-intrinsic "^1.2.2" + get-symbol-description "^1.0.0" + globalthis "^1.0.3" + gopd "^1.0.1" + has-property-descriptors "^1.0.0" + has-proto "^1.0.1" + has-symbols "^1.0.3" + hasown "^2.0.0" + internal-slot "^1.0.5" + is-array-buffer "^3.0.2" + is-callable "^1.2.7" + is-negative-zero "^2.0.2" + is-regex "^1.1.4" + is-shared-array-buffer "^1.0.2" + is-string "^1.0.7" + is-typed-array "^1.1.12" + is-weakref "^1.0.2" + object-inspect "^1.13.1" + object-keys "^1.1.1" + object.assign "^4.1.4" + regexp.prototype.flags "^1.5.1" + safe-array-concat "^1.0.1" + safe-regex-test "^1.0.0" + string.prototype.trim "^1.2.8" + string.prototype.trimend "^1.0.7" + string.prototype.trimstart "^1.0.7" + typed-array-buffer "^1.0.0" + typed-array-byte-length "^1.0.0" + typed-array-byte-offset "^1.0.0" + typed-array-length "^1.0.4" + unbox-primitive "^1.0.2" + which-typed-array "^1.1.13" + +es-get-iterator@^1.1.3: + version "1.1.3" + resolved "https://registry.yarnpkg.com/es-get-iterator/-/es-get-iterator-1.1.3.tgz#3ef87523c5d464d41084b2c3c9c214f1199763d6" + integrity sha512-sPZmqHBe6JIiTfN5q2pEi//TwxmAFHwj/XEuYjTuse78i8KxaqMTTzxPoFKuzRpDpTJ+0NAbpfenkmH2rePtuw== + dependencies: + call-bind "^1.0.2" + get-intrinsic "^1.1.3" + has-symbols "^1.0.3" + is-arguments "^1.1.1" + is-map "^2.0.2" + is-set "^2.0.2" + is-string "^1.0.7" + isarray "^2.0.5" + stop-iteration-iterator "^1.0.0" + +es-module-lexer@^1.2.1: + version "1.4.1" + resolved "https://registry.yarnpkg.com/es-module-lexer/-/es-module-lexer-1.4.1.tgz#41ea21b43908fe6a287ffcbe4300f790555331f5" + integrity sha512-cXLGjP0c4T3flZJKQSuziYoq7MlT+rnvfZjfp7h+I7K9BNX54kP9nyWvdbwjQ4u1iWbOL4u96fgeZLToQlZC7w== + +es-set-tostringtag@^2.0.1: + version "2.0.2" + resolved "https://registry.yarnpkg.com/es-set-tostringtag/-/es-set-tostringtag-2.0.2.tgz#11f7cc9f63376930a5f20be4915834f4bc74f9c9" + integrity sha512-BuDyupZt65P9D2D2vA/zqcI3G5xRsklm5N3xCwuiy+/vKy8i0ifdsQP1sLgO4tZDSCaQUSnmC48khknGMV3D2Q== + dependencies: + get-intrinsic "^1.2.2" + has-tostringtag "^1.0.0" + hasown "^2.0.0" + +es-shim-unscopables@^1.0.0: + version "1.0.2" + resolved "https://registry.yarnpkg.com/es-shim-unscopables/-/es-shim-unscopables-1.0.2.tgz#1f6942e71ecc7835ed1c8a83006d8771a63a3763" + integrity sha512-J3yBRXCzDu4ULnQwxyToo/OjdMx6akgVC7K6few0a7F/0wLtmKKN7I73AH5T2836UuXRqN7Qg+IIUw/+YJksRw== + dependencies: + hasown "^2.0.0" + +es-to-primitive@^1.2.1: + version "1.2.1" + resolved "https://registry.yarnpkg.com/es-to-primitive/-/es-to-primitive-1.2.1.tgz#e55cd4c9cdc188bcefb03b366c736323fc5c898a" + integrity sha512-QCOllgZJtaUo9miYBcLChTUaHNjJF3PYs1VidD7AwiEj1kYxKeQTctLAezAOH5ZKRH0g2IgPn6KwB4IT8iRpvA== + dependencies: + is-callable "^1.1.4" + is-date-object "^1.0.1" + is-symbol "^1.0.2" + +escalade@^3.1.1: + version "3.1.1" + resolved "https://registry.yarnpkg.com/escalade/-/escalade-3.1.1.tgz#d8cfdc7000965c5a0174b4a82eaa5c0552742e40" + integrity sha512-k0er2gUkLf8O0zKJiAhmkTnJlTvINGv7ygDNPbeIsX/TJjGJZHuh9B2UxbsaEkmlEo9MfhrSzmhIlhRlI2GXnw== + +escape-string-regexp@4.0.0, escape-string-regexp@^4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/escape-string-regexp/-/escape-string-regexp-4.0.0.tgz#14ba83a5d373e3d311e5afca29cf5bfad965bf34" + integrity sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA== + +escape-string-regexp@^1.0.5: + version "1.0.5" + resolved "https://registry.yarnpkg.com/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz#1b61c0562190a8dff6ae3bb2cf0200ca130b86d4" + integrity sha512-vbRorB5FUQWvla16U8R/qgaFIya2qGzwDrNmCZuYKrbdSUMG6I1ZCGQRefkRVhuOkIGVne7BQ35DSfo1qvJqFg== + +escape-string-regexp@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/escape-string-regexp/-/escape-string-regexp-2.0.0.tgz#a30304e99daa32e23b2fd20f51babd07cffca344" + integrity sha512-UpzcLCXolUWcNu5HtVMHYdXJjArjsF9C0aNnquZYY4uW/Vu0miy5YoWvbV345HauVvcAUnpRuhMMcqTcGOY2+w== + +escodegen@^2.0.0: + version "2.1.0" + resolved "https://registry.yarnpkg.com/escodegen/-/escodegen-2.1.0.tgz#ba93bbb7a43986d29d6041f99f5262da773e2e17" + integrity sha512-2NlIDTwUWJN0mRPQOdtQBzbUHvdGY2P1VXSyU83Q3xKxM7WHX2Ql8dKq782Q9TgQUNOLEzEYu9bzLNj1q88I5w== + dependencies: + esprima "^4.0.1" + estraverse "^5.2.0" + esutils "^2.0.2" + optionalDependencies: + source-map "~0.6.1" + +eslint-config-prettier@8.8.0: + version "8.8.0" + resolved "https://registry.yarnpkg.com/eslint-config-prettier/-/eslint-config-prettier-8.8.0.tgz#bfda738d412adc917fd7b038857110efe98c9348" + integrity sha512-wLbQiFre3tdGgpDv67NQKnJuTlcUVYHas3k+DZCc2U2BadthoEY4B7hLPvAxaqdyOGCzuLfii2fqGph10va7oA== + +eslint-import-resolver-node@^0.3.9: + version "0.3.9" + resolved "https://registry.yarnpkg.com/eslint-import-resolver-node/-/eslint-import-resolver-node-0.3.9.tgz#d4eaac52b8a2e7c3cd1903eb00f7e053356118ac" + integrity sha512-WFj2isz22JahUv+B788TlO3N6zL3nNJGU8CcZbPZvVEkBPaJdCV4vy5wyghty5ROFbCRnm132v8BScu5/1BQ8g== + dependencies: + debug "^3.2.7" + is-core-module "^2.13.0" + resolve "^1.22.4" + +eslint-module-utils@^2.8.0: + version "2.8.0" + resolved "https://registry.yarnpkg.com/eslint-module-utils/-/eslint-module-utils-2.8.0.tgz#e439fee65fc33f6bba630ff621efc38ec0375c49" + integrity sha512-aWajIYfsqCKRDgUfjEXNN/JlrzauMuSEy5sbd7WXbtW3EH6A6MpwEh42c7qD+MqQo9QMJ6fWLAeIJynx0g6OAw== + dependencies: + debug "^3.2.7" + +eslint-plugin-deprecation@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/eslint-plugin-deprecation/-/eslint-plugin-deprecation-2.0.0.tgz#9804707a4c19f3a53615c6babc0ced3d429d69cf" + integrity sha512-OAm9Ohzbj11/ZFyICyR5N6LbOIvQMp7ZU2zI7Ej0jIc8kiGUERXPNMfw2QqqHD1ZHtjMub3yPZILovYEYucgoQ== + dependencies: + "@typescript-eslint/utils" "^6.0.0" + tslib "^2.3.1" + tsutils "^3.21.0" + +eslint-plugin-import@^2.29.1: + version "2.29.1" + resolved "https://registry.yarnpkg.com/eslint-plugin-import/-/eslint-plugin-import-2.29.1.tgz#d45b37b5ef5901d639c15270d74d46d161150643" + integrity sha512-BbPC0cuExzhiMo4Ff1BTVwHpjjv28C5R+btTOGaCRC7UEz801up0JadwkeSk5Ued6TG34uaczuVuH6qyy5YUxw== + dependencies: + array-includes "^3.1.7" + array.prototype.findlastindex "^1.2.3" + array.prototype.flat "^1.3.2" + array.prototype.flatmap "^1.3.2" + debug "^3.2.7" + doctrine "^2.1.0" + eslint-import-resolver-node "^0.3.9" + eslint-module-utils "^2.8.0" + hasown "^2.0.0" + is-core-module "^2.13.1" + is-glob "^4.0.3" + minimatch "^3.1.2" + object.fromentries "^2.0.7" + object.groupby "^1.0.1" + object.values "^1.1.7" + semver "^6.3.1" + tsconfig-paths "^3.15.0" + +eslint-plugin-jsdoc@46.2.6: + version "46.2.6" + resolved "https://registry.yarnpkg.com/eslint-plugin-jsdoc/-/eslint-plugin-jsdoc-46.2.6.tgz#f25590d371859f20691d65b5dcd4cbe370d65564" + integrity sha512-zIaK3zbSrKuH12bP+SPybPgcHSM6MFzh3HFeaODzmsF1N8C1l8dzJ22cW1aq4g0+nayU1VMjmNf7hg0dpShLrA== + dependencies: + "@es-joy/jsdoccomment" "~0.39.4" + are-docs-informative "^0.0.2" + comment-parser "1.3.1" + debug "^4.3.4" + escape-string-regexp "^4.0.0" + esquery "^1.5.0" + is-builtin-module "^3.2.1" + semver "^7.5.1" + spdx-expression-parse "^3.0.1" + +eslint-plugin-prefer-arrow@^1.2.3: + version "1.2.3" + resolved "https://registry.yarnpkg.com/eslint-plugin-prefer-arrow/-/eslint-plugin-prefer-arrow-1.2.3.tgz#e7fbb3fa4cd84ff1015b9c51ad86550e55041041" + integrity sha512-J9I5PKCOJretVuiZRGvPQxCbllxGAV/viI20JO3LYblAodofBxyMnZAJ+WGeClHgANnSJberTNoFWWjrWKBuXQ== + +eslint-plugin-react-hooks@4.6.0: + version "4.6.0" + resolved "https://registry.yarnpkg.com/eslint-plugin-react-hooks/-/eslint-plugin-react-hooks-4.6.0.tgz#4c3e697ad95b77e93f8646aaa1630c1ba607edd3" + integrity sha512-oFc7Itz9Qxh2x4gNHStv3BqJq54ExXmfC+a1NjAta66IAN87Wu0R/QArgIS9qKzX3dXKPI9H5crl9QchNMY9+g== + +eslint-plugin-react@7.32.2: + version "7.32.2" + resolved "https://registry.yarnpkg.com/eslint-plugin-react/-/eslint-plugin-react-7.32.2.tgz#e71f21c7c265ebce01bcbc9d0955170c55571f10" + integrity sha512-t2fBMa+XzonrrNkyVirzKlvn5RXzzPwRHtMvLAtVZrt8oxgnTQaYbU6SXTOO1mwQgp1y5+toMSKInnzGr0Knqg== + dependencies: + array-includes "^3.1.6" + array.prototype.flatmap "^1.3.1" + array.prototype.tosorted "^1.1.1" + doctrine "^2.1.0" + estraverse "^5.3.0" + jsx-ast-utils "^2.4.1 || ^3.0.0" + minimatch "^3.1.2" + object.entries "^1.1.6" + object.fromentries "^2.0.6" + object.hasown "^1.1.2" + object.values "^1.1.6" + prop-types "^15.8.1" + resolve "^2.0.0-next.4" + semver "^6.3.0" + string.prototype.matchall "^4.0.8" + +eslint-scope@5.1.1, eslint-scope@^5.1.1: + version "5.1.1" + resolved "https://registry.yarnpkg.com/eslint-scope/-/eslint-scope-5.1.1.tgz#e786e59a66cb92b3f6c1fb0d508aab174848f48c" + integrity sha512-2NxwbF/hZ0KpepYN0cNbo+FN6XoK7GaHlQhgx/hIZl6Va0bF45RQOOwhLIy8lQDbuCiadSLCBnH2CFYquit5bw== + dependencies: + esrecurse "^4.3.0" + estraverse "^4.1.1" + +eslint-scope@^7.2.0: + version "7.2.2" + resolved "https://registry.yarnpkg.com/eslint-scope/-/eslint-scope-7.2.2.tgz#deb4f92563390f32006894af62a22dba1c46423f" + integrity sha512-dOt21O7lTMhDM+X9mB4GX+DZrZtCUJPL/wlcTqxyrx5IvO0IYtILdtrQGQp+8n5S0gwSVmOf9NQrjMOgfQZlIg== + dependencies: + esrecurse "^4.3.0" + estraverse "^5.2.0" + +eslint-visitor-keys@^3.3.0, eslint-visitor-keys@^3.4.1: + version "3.4.3" + resolved "https://registry.yarnpkg.com/eslint-visitor-keys/-/eslint-visitor-keys-3.4.3.tgz#0cd72fe8550e3c2eae156a96a4dddcd1c8ac5800" + integrity sha512-wpc+LXeiyiisxPlEkUzU6svyS1frIO3Mgxj1fdy7Pm8Ygzguax2N3Fa/D/ag1WqbOprdI+uY6wMUl8/a2G+iag== + +eslint-webpack-plugin@^4.0.1: + version "4.0.1" + resolved "https://registry.yarnpkg.com/eslint-webpack-plugin/-/eslint-webpack-plugin-4.0.1.tgz#f0f0e9afff2801d8bd41eac88e5409821ecbaccb" + integrity sha512-fUFcXpui/FftGx3NzvWgLZXlLbu+m74sUxGEgxgoxYcUtkIQbS6SdNNZkS99m5ycb23TfoNYrDpp1k/CK5j6Hw== + dependencies: + "@types/eslint" "^8.37.0" + jest-worker "^29.5.0" + micromatch "^4.0.5" + normalize-path "^3.0.0" + schema-utils "^4.0.0" + +eslint@8.42.0: + version "8.42.0" + resolved "https://registry.yarnpkg.com/eslint/-/eslint-8.42.0.tgz#7bebdc3a55f9ed7167251fe7259f75219cade291" + integrity sha512-ulg9Ms6E1WPf67PHaEY4/6E2tEn5/f7FXGzr3t9cBMugOmf1INYvuUwwh1aXQN4MfJ6a5K2iNwP3w4AColvI9A== + dependencies: + "@eslint-community/eslint-utils" "^4.2.0" + "@eslint-community/regexpp" "^4.4.0" + "@eslint/eslintrc" "^2.0.3" + "@eslint/js" "8.42.0" + "@humanwhocodes/config-array" "^0.11.10" + "@humanwhocodes/module-importer" "^1.0.1" + "@nodelib/fs.walk" "^1.2.8" + ajv "^6.10.0" + chalk "^4.0.0" + cross-spawn "^7.0.2" + debug "^4.3.2" + doctrine "^3.0.0" + escape-string-regexp "^4.0.0" + eslint-scope "^7.2.0" + eslint-visitor-keys "^3.4.1" + espree "^9.5.2" + esquery "^1.4.2" + esutils "^2.0.2" + fast-deep-equal "^3.1.3" + file-entry-cache "^6.0.1" + find-up "^5.0.0" + glob-parent "^6.0.2" + globals "^13.19.0" + graphemer "^1.4.0" + ignore "^5.2.0" + import-fresh "^3.0.0" + imurmurhash "^0.1.4" + is-glob "^4.0.0" + is-path-inside "^3.0.3" + js-yaml "^4.1.0" + json-stable-stringify-without-jsonify "^1.0.1" + levn "^0.4.1" + lodash.merge "^4.6.2" + minimatch "^3.1.2" + natural-compare "^1.4.0" + optionator "^0.9.1" + strip-ansi "^6.0.1" + strip-json-comments "^3.1.0" + text-table "^0.2.0" + +espree@^9.5.2, espree@^9.6.0: + version "9.6.1" + resolved "https://registry.yarnpkg.com/espree/-/espree-9.6.1.tgz#a2a17b8e434690a5432f2f8018ce71d331a48c6f" + integrity sha512-oruZaFkjorTpF32kDSI5/75ViwGeZginGGy2NoOSg3Q9bnwlnmDm4HLnkl0RE3n+njDXR037aY1+x58Z/zFdwQ== + dependencies: + acorn "^8.9.0" + acorn-jsx "^5.3.2" + eslint-visitor-keys "^3.4.1" + +esprima@^4.0.0, esprima@^4.0.1: + version "4.0.1" + resolved "https://registry.yarnpkg.com/esprima/-/esprima-4.0.1.tgz#13b04cdb3e6c5d19df91ab6987a8695619b0aa71" + integrity sha512-eGuFFw7Upda+g4p+QHvnW0RyTX/SVeJBDM/gCtMARO0cLuT2HcEKnTPvhjV6aGeqrCB/sbNop0Kszm0jsaWU4A== + +esquery@^1.4.2, esquery@^1.5.0: + version "1.5.0" + resolved "https://registry.yarnpkg.com/esquery/-/esquery-1.5.0.tgz#6ce17738de8577694edd7361c57182ac8cb0db0b" + integrity sha512-YQLXUplAwJgCydQ78IMJywZCceoqk1oH01OERdSAJc/7U2AylwjhSCLDEtqwg811idIS/9fIU5GjG73IgjKMVg== + dependencies: + estraverse "^5.1.0" + +esrecurse@^4.3.0: + version "4.3.0" + resolved "https://registry.yarnpkg.com/esrecurse/-/esrecurse-4.3.0.tgz#7ad7964d679abb28bee72cec63758b1c5d2c9921" + integrity sha512-KmfKL3b6G+RXvP8N1vr3Tq1kL/oCFgn2NYXEtqP8/L3pKapUA4G8cFVaoF3SU323CD4XypR/ffioHmkti6/Tag== + dependencies: + estraverse "^5.2.0" + +esrever@^0.2.0: + version "0.2.0" + resolved "https://registry.yarnpkg.com/esrever/-/esrever-0.2.0.tgz#96e9d28f4f1b1a76784cd5d490eaae010e7407b8" + integrity sha512-1e9YJt6yQkyekt2BUjTky7LZWWVyC2cIpgdnsTAvMcnzXIZvlW/fTMPkxBcZoYhgih4d+EC+iw+yv9GIkz7vrw== + +estraverse@^4.1.1: + version "4.3.0" + resolved "https://registry.yarnpkg.com/estraverse/-/estraverse-4.3.0.tgz#398ad3f3c5a24948be7725e83d11a7de28cdbd1d" + integrity sha512-39nnKffWz8xN1BU/2c79n9nB9HDzo0niYUqx6xyqUnyoAnQyyWpOTdZEeiCch8BBu515t4wp9ZmgVfVhn9EBpw== + +estraverse@^5.1.0, estraverse@^5.2.0, estraverse@^5.3.0: + version "5.3.0" + resolved "https://registry.yarnpkg.com/estraverse/-/estraverse-5.3.0.tgz#2eea5290702f26ab8fe5370370ff86c965d21123" + integrity sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA== + +esutils@^2.0.2: + version "2.0.3" + resolved "https://registry.yarnpkg.com/esutils/-/esutils-2.0.3.tgz#74d2eb4de0b8da1293711910d50775b9b710ef64" + integrity sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g== + +eventemitter2@^6.4.3: + version "6.4.9" + resolved "https://registry.yarnpkg.com/eventemitter2/-/eventemitter2-6.4.9.tgz#41f2750781b4230ed58827bc119d293471ecb125" + integrity sha512-JEPTiaOt9f04oa6NOkc4aH+nVp5I3wEjpHbIPqfgCdD5v5bUzy7xQqwcVO2aDQgOWhI28da57HksMrzK9HlRxg== + +eventemitter3@5.0.0: + version "5.0.0" + resolved "https://registry.yarnpkg.com/eventemitter3/-/eventemitter3-5.0.0.tgz#084eb7f5b5388df1451e63f4c2aafd71b217ccb3" + integrity sha512-riuVbElZZNXLeLEoprfNYoDSwTBRR44X3mnhdI1YcnENpWTCsTTVZ2zFuqQcpoyqPQIUXdiPEU0ECAq0KQRaHg== + +events@^3.2.0: + version "3.3.0" + resolved "https://registry.yarnpkg.com/events/-/events-3.3.0.tgz#31a95ad0a924e2d2c419a813aeb2c4e878ea7400" + integrity sha512-mQw+2fkQbALzQ7V0MY0IqdnXNOeTtP4r0lN9z7AAawCXgqea7bDii20AYrIBrFd/Hx0M2Ocz6S111CaFkUcb0Q== + +execa@4.1.0: + version "4.1.0" + resolved "https://registry.yarnpkg.com/execa/-/execa-4.1.0.tgz#4e5491ad1572f2f17a77d388c6c857135b22847a" + integrity sha512-j5W0//W7f8UxAn8hXVnwG8tLwdiUy4FJLcSupCg6maBYZDpyBvTApK7KyuI4bKj8KOh1r2YH+6ucuYtJv1bTZA== + dependencies: + cross-spawn "^7.0.0" + get-stream "^5.0.0" + human-signals "^1.1.1" + is-stream "^2.0.0" + merge-stream "^2.0.0" + npm-run-path "^4.0.0" + onetime "^5.1.0" + signal-exit "^3.0.2" + strip-final-newline "^2.0.0" + +execa@5.1.1, execa@^5.0.0: + version "5.1.1" + resolved "https://registry.yarnpkg.com/execa/-/execa-5.1.1.tgz#f80ad9cbf4298f7bd1d4c9555c21e93741c411dd" + integrity sha512-8uSpZZocAZRBAPIEINJj3Lo9HyGitllczc27Eh5YYojjMFMn8yHMDMaUHE2Jqfq05D/wucwI4JGURyXt1vchyg== + dependencies: + cross-spawn "^7.0.3" + get-stream "^6.0.0" + human-signals "^2.1.0" + is-stream "^2.0.0" + merge-stream "^2.0.0" + npm-run-path "^4.0.1" + onetime "^5.1.2" + signal-exit "^3.0.3" + strip-final-newline "^2.0.0" + +executable@^4.1.1: + version "4.1.1" + resolved "https://registry.yarnpkg.com/executable/-/executable-4.1.1.tgz#41532bff361d3e57af4d763b70582db18f5d133c" + integrity sha512-8iA79xD3uAch729dUG8xaaBBFGaEa0wdD2VkYLFHwlqosEj/jT66AzcreRDSgV7ehnNLBW2WR5jIXwGKjVdTLg== + dependencies: + pify "^2.2.0" + +exenv@^1.2.2: + version "1.2.2" + resolved "https://registry.yarnpkg.com/exenv/-/exenv-1.2.2.tgz#2ae78e85d9894158670b03d47bec1f03bd91bb9d" + integrity sha512-Z+ktTxTwv9ILfgKCk32OX3n/doe+OcLTRtqK9pcL+JsP3J1/VW8Uvl4ZjLlKqeW4rzK4oesDOGMEMRIZqtP4Iw== + +exit@^0.1.2: + version "0.1.2" + resolved "https://registry.yarnpkg.com/exit/-/exit-0.1.2.tgz#0632638f8d877cc82107d30a0fff1a17cba1cd0c" + integrity sha512-Zk/eNKV2zbjpKzrsQ+n1G6poVbErQxJ0LBOJXaKZ1EViLzH+hrLu9cdXI4zw9dBQJslwBEpbQ2P1oS7nDxs6jQ== + +expect@^29.0.0, expect@^29.7.0: + version "29.7.0" + resolved "https://registry.yarnpkg.com/expect/-/expect-29.7.0.tgz#578874590dcb3214514084c08115d8aee61e11bc" + integrity sha512-2Zks0hf1VLFYI1kbh0I5jP3KHHyCHpkfyHBzsSXRFgl/Bg9mWYfMW8oD+PdMPlEwy5HNsR9JutYy6pMeOh61nw== + dependencies: + "@jest/expect-utils" "^29.7.0" + jest-get-type "^29.6.3" + jest-matcher-utils "^29.7.0" + jest-message-util "^29.7.0" + jest-util "^29.7.0" + +extend@~3.0.2: + version "3.0.2" + resolved "https://registry.yarnpkg.com/extend/-/extend-3.0.2.tgz#f8b1136b4071fbd8eb140aff858b1019ec2915fa" + integrity sha512-fjquC59cD7CyW6urNXK0FBufkZcoiGG80wTuPujX590cB5Ttln20E2UB4S/WARVqhXffZl2LNgS+gQdPIIim/g== + +extract-zip@2.0.1: + version "2.0.1" + resolved "https://registry.yarnpkg.com/extract-zip/-/extract-zip-2.0.1.tgz#663dca56fe46df890d5f131ef4a06d22bb8ba13a" + integrity sha512-GDhU9ntwuKyGXdZBUgTIe+vXnWj0fppUEtMDL0+idd5Sta8TGpHssn/eusA9mrPr9qNDym6SxAYZjNvCn/9RBg== + dependencies: + debug "^4.1.1" + get-stream "^5.1.0" + yauzl "^2.10.0" + optionalDependencies: + "@types/yauzl" "^2.9.1" + +extsprintf@1.3.0: + version "1.3.0" + resolved "https://registry.yarnpkg.com/extsprintf/-/extsprintf-1.3.0.tgz#96918440e3041a7a414f8c52e3c574eb3c3e1e05" + integrity sha512-11Ndz7Nv+mvAC1j0ktTa7fAb0vLyGGX+rMHNBYQviQDGU0Hw7lhctJANqbPhu9nV9/izT/IntTgZ7Im/9LJs9g== + +extsprintf@^1.2.0: + version "1.4.1" + resolved "https://registry.yarnpkg.com/extsprintf/-/extsprintf-1.4.1.tgz#8d172c064867f235c0c84a596806d279bf4bcc07" + integrity sha512-Wrk35e8ydCKDj/ArClo1VrPVmN8zph5V4AtHwIuHhvMXsKf73UT3BOD+azBIW+3wOJ4FhEH7zyaJCFvChjYvMA== + +fast-deep-equal@^3.1.1, fast-deep-equal@^3.1.3: + version "3.1.3" + resolved "https://registry.yarnpkg.com/fast-deep-equal/-/fast-deep-equal-3.1.3.tgz#3a7d56b559d6cbc3eb512325244e619a65c6c525" + integrity sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q== + +fast-glob@^3.2.11, fast-glob@^3.2.9, fast-glob@^3.3.0, fast-glob@^3.3.2: + version "3.3.2" + resolved "https://registry.yarnpkg.com/fast-glob/-/fast-glob-3.3.2.tgz#a904501e57cfdd2ffcded45e99a54fef55e46129" + integrity sha512-oX2ruAFQwf/Orj8m737Y5adxDQO0LAB7/S5MnxCdTNDd4p6BsyIVsv9JQsATbTSq8KHRpLwIHbVlUNatxd+1Ow== + dependencies: + "@nodelib/fs.stat" "^2.0.2" + "@nodelib/fs.walk" "^1.2.3" + glob-parent "^5.1.2" + merge2 "^1.3.0" + micromatch "^4.0.4" + +fast-json-stable-stringify@^2.0.0, fast-json-stable-stringify@^2.1.0: + version "2.1.0" + resolved "https://registry.yarnpkg.com/fast-json-stable-stringify/-/fast-json-stable-stringify-2.1.0.tgz#874bf69c6f404c2b5d99c481341399fd55892633" + integrity sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw== + +fast-levenshtein@^2.0.6: + version "2.0.6" + resolved "https://registry.yarnpkg.com/fast-levenshtein/-/fast-levenshtein-2.0.6.tgz#3d8a5c66883a16a30ca8643e851f19baa7797917" + integrity sha512-DCXu6Ifhqcks7TZKY3Hxp3y6qphY5SJZmrWMDrKcERSOXWQdMhU9Ig/PYrzyw/ul9jOIyh0N4M0tbC5hodg8dw== + +fast-loops@^1.1.3: + version "1.1.3" + resolved "https://registry.yarnpkg.com/fast-loops/-/fast-loops-1.1.3.tgz#ce96adb86d07e7bf9b4822ab9c6fac9964981f75" + integrity sha512-8EZzEP0eKkEEVX+drtd9mtuQ+/QrlfW/5MlwcwK5Nds6EkZ/tRzEexkzUY2mIssnAyVLT+TKHuRXmFNNXYUd6g== + +fast-shallow-equal@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/fast-shallow-equal/-/fast-shallow-equal-1.0.0.tgz#d4dcaf6472440dcefa6f88b98e3251e27f25628b" + integrity sha512-HPtaa38cPgWvaCFmRNhlc6NG7pv6NUHqjPgVAkWGoB9mQMwYB27/K0CvOM5Czy+qpT3e8XJ6Q4aPAnzpNpzNaw== + +fast_array_intersect@1.1.0: + version "1.1.0" + resolved "https://registry.yarnpkg.com/fast_array_intersect/-/fast_array_intersect-1.1.0.tgz#8e8a83d95c515fd55bfb2b02da94da3d7f1c2b8b" + integrity sha512-/DCilZlUdz2XyNDF+ASs0PwY+RKG9Y4Silp/gbS72Cvbg4oibc778xcecg+pnNyiNHYgh/TApsiDTjpdniyShw== + +fastest-levenshtein@^1.0.12: + version "1.0.16" + resolved "https://registry.yarnpkg.com/fastest-levenshtein/-/fastest-levenshtein-1.0.16.tgz#210e61b6ff181de91ea9b3d1b84fdedd47e034e5" + integrity sha512-eRnCtTTtGZFpQCwhJiUOuxPQWRXVKYDn0b2PeHfXL6/Zi53SLAzAHfVhVWK2AryC/WH05kGfxhFIPvTF0SXQzg== + +fastest-stable-stringify@^2.0.2: + version "2.0.2" + resolved "https://registry.yarnpkg.com/fastest-stable-stringify/-/fastest-stable-stringify-2.0.2.tgz#3757a6774f6ec8de40c4e86ec28ea02417214c76" + integrity sha512-bijHueCGd0LqqNK9b5oCMHc0MluJAx0cwqASgbWMvkO01lCYgIhacVRLcaDz3QnyYIRNJRDwMb41VuT6pHJ91Q== + +fastq@^1.6.0: + version "1.16.0" + resolved "https://registry.yarnpkg.com/fastq/-/fastq-1.16.0.tgz#83b9a9375692db77a822df081edb6a9cf6839320" + integrity sha512-ifCoaXsDrsdkWTtiNJX5uzHDsrck5TzfKKDcuFFTIrrc/BS076qgEIfoIy1VeZqViznfKiysPYTh/QeHtnIsYA== + dependencies: + reusify "^1.0.4" + +faye-websocket@~0.10.0: + version "0.10.0" + resolved "https://registry.yarnpkg.com/faye-websocket/-/faye-websocket-0.10.0.tgz#4e492f8d04dfb6f89003507f6edbf2d501e7c6f4" + integrity sha512-Xhj93RXbMSq8urNCUq4p9l0P6hnySJ/7YNRhYNug0bLOuii7pKO7xQFb5mx9xZXWCar88pLPb805PvUkwrLZpQ== + dependencies: + websocket-driver ">=0.5.1" + +fb-watchman@^2.0.0: + version "2.0.2" + resolved "https://registry.yarnpkg.com/fb-watchman/-/fb-watchman-2.0.2.tgz#e9524ee6b5c77e9e5001af0f85f3adbb8623255c" + integrity sha512-p5161BqbuCaSnB8jIbzQHOlpgsPmK5rJVDfDKO91Axs5NC1uu3HRQm6wt9cd9/+GtQQIO53JdGXXoyDpTAsgYA== + dependencies: + bser "2.1.1" + +fd-slicer@~1.1.0: + version "1.1.0" + resolved "https://registry.yarnpkg.com/fd-slicer/-/fd-slicer-1.1.0.tgz#25c7c89cb1f9077f8891bbe61d8f390eae256f1e" + integrity sha512-cE1qsB/VwyQozZ+q1dGxR8LBYNZeofhEdUNGSMbQD3Gw2lAzX9Zb3uIU6Ebc/Fmyjo9AWWfnn0AUCHqtevs/8g== + dependencies: + pend "~1.2.0" + +figures@^3.2.0: + version "3.2.0" + resolved "https://registry.yarnpkg.com/figures/-/figures-3.2.0.tgz#625c18bd293c604dc4a8ddb2febf0c88341746af" + integrity sha512-yaduQFRKLXYOGgEn6AZau90j3ggSOyiqXU0F9JZfeXYhNa+Jk4X+s45A2zg5jns87GAFa34BBm2kXw4XpNcbdg== + dependencies: + escape-string-regexp "^1.0.5" + +file-entry-cache@^6.0.1: + version "6.0.1" + resolved "https://registry.yarnpkg.com/file-entry-cache/-/file-entry-cache-6.0.1.tgz#211b2dd9659cb0394b073e7323ac3c933d522027" + integrity sha512-7Gps/XWymbLk2QLYK4NzpMOrYjMhdIxXuIvy2QBsLE6ljuodKvdkWs/cpyJJ3CVIVpH0Oi1Hvg1ovbMzLdFBBg== + dependencies: + flat-cache "^3.0.4" + +file-selector@^0.6.0: + version "0.6.0" + resolved "https://registry.yarnpkg.com/file-selector/-/file-selector-0.6.0.tgz#fa0a8d9007b829504db4d07dd4de0310b65287dc" + integrity sha512-QlZ5yJC0VxHxQQsQhXvBaC7VRJ2uaxTf+Tfpu4Z/OcVQJVpZO+DGU0rkoVW5ce2SccxugvpBJoMvUs59iILYdw== + dependencies: + tslib "^2.4.0" + +fill-range@^7.0.1: + version "7.0.1" + resolved "https://registry.yarnpkg.com/fill-range/-/fill-range-7.0.1.tgz#1919a6a7c75fe38b2c7c77e5198535da9acdda40" + integrity sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ== + dependencies: + to-regex-range "^5.0.1" + +find-cache-dir@^3.3.2: + version "3.3.2" + resolved "https://registry.yarnpkg.com/find-cache-dir/-/find-cache-dir-3.3.2.tgz#b30c5b6eff0730731aea9bbd9dbecbd80256d64b" + integrity sha512-wXZV5emFEjrridIgED11OoUKLxiYjAcqot/NJdAkOhlJ+vGzwhOAfcG5OX1jP+S0PcjEn8bdMJv+g2jwQ3Onig== + dependencies: + commondir "^1.0.1" + make-dir "^3.0.2" + pkg-dir "^4.1.0" + +find-parent-dir@~0.3.0: + version "0.3.1" + resolved "https://registry.yarnpkg.com/find-parent-dir/-/find-parent-dir-0.3.1.tgz#c5c385b96858c3351f95d446cab866cbf9f11125" + integrity sha512-o4UcykWV/XN9wm+jMEtWLPlV8RXCZnMhQI6F6OdHeSez7iiJWePw8ijOlskJZMsaQoGR/b7dH6lO02HhaTN7+A== + +find-root@^1.1.0: + version "1.1.0" + resolved "https://registry.yarnpkg.com/find-root/-/find-root-1.1.0.tgz#abcfc8ba76f708c42a97b3d685b7e9450bfb9ce4" + integrity sha512-NKfW6bec6GfKc0SGx1e07QZY9PE99u0Bft/0rzSD5k3sO/vwkVUpDUKVm5Gpp5Ue3YfShPFTX2070tDs5kB9Ng== + +find-up@5.0.0, find-up@^5.0.0: + version "5.0.0" + resolved "https://registry.yarnpkg.com/find-up/-/find-up-5.0.0.tgz#4c92819ecb7083561e4f4a240a86be5198f536fc" + integrity sha512-78/PXT1wlLLDgTzDs7sjq9hzz0vXD+zn+7wypEe4fXQxCmdmqfGsEPQxmiCSQI3ajFV91bVSsvNtrJRiW6nGng== + dependencies: + locate-path "^6.0.0" + path-exists "^4.0.0" + +find-up@^4.0.0, find-up@^4.1.0: + version "4.1.0" + resolved "https://registry.yarnpkg.com/find-up/-/find-up-4.1.0.tgz#97afe7d6cdc0bc5928584b7c8d7b16e8a9aa5d19" + integrity sha512-PpOwAdQ/YlXQ2vj8a3h8IipDuYRi3wceVQQGYWxNINccq40Anw7BlsEXCMbt1Zt+OLA6Fq9suIpIWD0OsnISlw== + dependencies: + locate-path "^5.0.0" + path-exists "^4.0.0" + +flat-cache@^3.0.4: + version "3.2.0" + resolved "https://registry.yarnpkg.com/flat-cache/-/flat-cache-3.2.0.tgz#2c0c2d5040c99b1632771a9d105725c0115363ee" + integrity sha512-CYcENa+FtcUKLmhhqyctpclsq7QF38pKjZHsGNiSQF5r4FtoKDWabFDl3hzaEQMvT1LHEysw5twgLvpYYb4vbw== + dependencies: + flatted "^3.2.9" + keyv "^4.5.3" + rimraf "^3.0.2" + +flat@^5.0.2: + version "5.0.2" + resolved "https://registry.yarnpkg.com/flat/-/flat-5.0.2.tgz#8ca6fe332069ffa9d324c327198c598259ceb241" + integrity sha512-b6suED+5/3rTpUBdG1gupIl8MPFCAMA0QXwmljLhvCUKcUvdE4gWky9zpuGCcXHOsz4J9wPGNWq6OKpmIzz3hQ== + +flatted@^3.2.9: + version "3.2.9" + resolved "https://registry.yarnpkg.com/flatted/-/flatted-3.2.9.tgz#7eb4c67ca1ba34232ca9d2d93e9886e611ad7daf" + integrity sha512-36yxDn5H7OFZQla0/jFJmbIKTdZAQHngCedGxiMmpNfEZM0sdEeT+WczLQrjK6D7o2aiyLYDnkw0R3JK0Qv1RQ== + +for-each@^0.3.3: + version "0.3.3" + resolved "https://registry.yarnpkg.com/for-each/-/for-each-0.3.3.tgz#69b447e88a0a5d32c3e7084f3f1710034b21376e" + integrity sha512-jqYfLp7mo9vIyQf8ykW2v7A+2N4QjeCeI5+Dz9XraiO1ign81wjiH7Fb9vSOWvQfNtmSa4H2RoQTrrXivdUZmw== + dependencies: + is-callable "^1.1.3" + +foreground-child@^3.1.0: + version "3.1.1" + resolved "https://registry.yarnpkg.com/foreground-child/-/foreground-child-3.1.1.tgz#1d173e776d75d2772fed08efe4a0de1ea1b12d0d" + integrity sha512-TMKDUnIte6bfb5nWv7V/caI169OHgvwjb7V4WkeUvbQQdjr5rWKqHFiKWb/fcOwB+CzBT+qbWjvj+DVwRskpIg== + dependencies: + cross-spawn "^7.0.0" + signal-exit "^4.0.1" + +forever-agent@~0.6.1: + version "0.6.1" + resolved "https://registry.yarnpkg.com/forever-agent/-/forever-agent-0.6.1.tgz#fbc71f0c41adeb37f96c577ad1ed42d8fdacca91" + integrity sha512-j0KLYPhm6zeac4lz3oJ3o65qvgQCcPubiyotZrXqEaG4hNagNYO8qdlUrX5vwqv9ohqeT/Z3j6+yW067yWWdUw== + +fork-ts-checker-webpack-plugin@^8.0.0: + version "8.0.0" + resolved "https://registry.yarnpkg.com/fork-ts-checker-webpack-plugin/-/fork-ts-checker-webpack-plugin-8.0.0.tgz#dae45dfe7298aa5d553e2580096ced79b6179504" + integrity sha512-mX3qW3idpueT2klaQXBzrIM/pHw+T0B/V9KHEvNrqijTq9NFnMZU6oreVxDYcf33P8a5cW+67PjodNHthGnNVg== + dependencies: + "@babel/code-frame" "^7.16.7" + chalk "^4.1.2" + chokidar "^3.5.3" + cosmiconfig "^7.0.1" + deepmerge "^4.2.2" + fs-extra "^10.0.0" + memfs "^3.4.1" + minimatch "^3.0.4" + node-abort-controller "^3.0.1" + schema-utils "^3.1.1" + semver "^7.3.5" + tapable "^2.2.1" + +form-data@^4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/form-data/-/form-data-4.0.0.tgz#93919daeaf361ee529584b9b31664dc12c9fa452" + integrity sha512-ETEklSGi5t0QMZuiXoA/Q6vcnxcLQP5vdugSpuAyi6SVGi2clPPp+xgEhuMaHC+zGgn31Kd235W35f7Hykkaww== + dependencies: + asynckit "^0.4.0" + combined-stream "^1.0.8" + mime-types "^2.1.12" + +form-data@~2.3.2: + version "2.3.3" + resolved "https://registry.yarnpkg.com/form-data/-/form-data-2.3.3.tgz#dcce52c05f644f298c6a7ab936bd724ceffbf3a6" + integrity sha512-1lLKB2Mu3aGP1Q/2eCOx0fNbRMe7XdwktwOruhfqqd0rIJWwN4Dh+E3hrPSlDCXnSR7UtZ1N38rVXm+6+MEhJQ== + dependencies: + asynckit "^0.4.0" + combined-stream "^1.0.6" + mime-types "^2.1.12" + +fs-extra@^10.0.0: + version "10.1.0" + resolved "https://registry.yarnpkg.com/fs-extra/-/fs-extra-10.1.0.tgz#02873cfbc4084dde127eaa5f9905eef2325d1abf" + integrity sha512-oRXApq54ETRj4eMiFzGnHWGy+zo5raudjuxN0b8H7s/RU2oW0Wvsx9O0ACRN/kRq9E8Vu/ReskGB5o3ji+FzHQ== + dependencies: + graceful-fs "^4.2.0" + jsonfile "^6.0.1" + universalify "^2.0.0" + +fs-extra@^9.1.0: + version "9.1.0" + resolved "https://registry.yarnpkg.com/fs-extra/-/fs-extra-9.1.0.tgz#5954460c764a8da2094ba3554bf839e6b9a7c86d" + integrity sha512-hcg3ZmepS30/7BSFqRvoo3DOMQu7IjqxO5nCDt+zM9XWjb33Wg7ziNT+Qvqbuc3+gWpzO02JubVyk2G4Zvo1OQ== + dependencies: + at-least-node "^1.0.0" + graceful-fs "^4.2.0" + jsonfile "^6.0.1" + universalify "^2.0.0" + +fs-monkey@^1.0.4: + version "1.0.5" + resolved "https://registry.yarnpkg.com/fs-monkey/-/fs-monkey-1.0.5.tgz#fe450175f0db0d7ea758102e1d84096acb925788" + integrity sha512-8uMbBjrhzW76TYgEV27Y5E//W2f/lTFmx78P2w19FZSxarhI/798APGQyuGCwmkNxgwGRhrLfvWyLBvNtuOmew== + +fs.realpath@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/fs.realpath/-/fs.realpath-1.0.0.tgz#1504ad2523158caa40db4a2787cb01411994ea4f" + integrity sha512-OO0pH2lK6a0hZnAdau5ItzHPI6pUlvI7jMVnxUQRtw4owF2wk8lOSabtGDCTP4Ggrg2MbGnWO9X8K1t4+fGMDw== + +fsevents@^2.3.2, fsevents@~2.3.2: + version "2.3.3" + resolved "https://registry.yarnpkg.com/fsevents/-/fsevents-2.3.3.tgz#cac6407785d03675a2a5e1a5305c697b347d90d6" + integrity sha512-5xoDfX+fL7faATnagmWPpbFtwh/R77WmMMqqHGS65C3vvB0YHrgF+B1YmZ3441tMj5n63k0212XNoJwzlhffQw== + +function-bind@^1.1.2: + version "1.1.2" + resolved "https://registry.yarnpkg.com/function-bind/-/function-bind-1.1.2.tgz#2c02d864d97f3ea6c8830c464cbd11ab6eab7a1c" + integrity sha512-7XHNxH7qX9xG5mIwxkhumTox/MIRNcOgDrxWsMt2pAr23WHp6MrRlN7FBSFpCpr+oVO0F744iUgR82nJMfG2SA== + +function.prototype.name@^1.1.6: + version "1.1.6" + resolved "https://registry.yarnpkg.com/function.prototype.name/-/function.prototype.name-1.1.6.tgz#cdf315b7d90ee77a4c6ee216c3c3362da07533fd" + integrity sha512-Z5kx79swU5P27WEayXM1tBi5Ze/lbIyiNgU3qyXUOf9b2rgXYyF9Dy9Cx+IQv/Lc8WCG6L82zwUPpSS9hGehIg== + dependencies: + call-bind "^1.0.2" + define-properties "^1.2.0" + es-abstract "^1.22.1" + functions-have-names "^1.2.3" + +functions-have-names@^1.2.3: + version "1.2.3" + resolved "https://registry.yarnpkg.com/functions-have-names/-/functions-have-names-1.2.3.tgz#0404fe4ee2ba2f607f0e0ec3c80bae994133b834" + integrity sha512-xckBUXyTIqT97tq2x2AMb+g163b5JFysYk0x4qxNFwbfQkmNZoiRHb6sPzI9/QV33WeuvVYBUIiD4NzNIyqaRQ== + +gensync@^1.0.0-beta.2: + version "1.0.0-beta.2" + resolved "https://registry.yarnpkg.com/gensync/-/gensync-1.0.0-beta.2.tgz#32a6ee76c3d7f52d46b2b1ae5d93fea8580a25e0" + integrity sha512-3hN7NaskYvMDLQY55gnW3NQ+mesEAepTqlg+VEbj7zzqEMBVNhzcGYYeqFo/TlYz6eQiFcp1HcsCZO+nGgS8zg== + +geotiff@^2.0.7: + version "2.1.2" + resolved "https://registry.yarnpkg.com/geotiff/-/geotiff-2.1.2.tgz#5d58555512a7950ae9a8496562c67c285e301318" + integrity sha512-xw7Cd6HXukUdfFSe5QCSjdhebTCGkk87x7fKURqQPFKT+TijCCwKvoksL7T3+B6mJWZSB7muTJlwVIQsLtbkMA== + dependencies: + "@petamoriken/float16" "^3.4.7" + lerc "^3.0.0" + pako "^2.0.4" + parse-headers "^2.0.2" + quick-lru "^6.1.1" + web-worker "^1.2.0" + xml-utils "^1.0.2" + zstddec "^0.1.0" + +get-caller-file@^2.0.5: + version "2.0.5" + resolved "https://registry.yarnpkg.com/get-caller-file/-/get-caller-file-2.0.5.tgz#4f94412a82db32f36e3b0b9741f8a97feb031f7e" + integrity sha512-DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg== + +get-document@1: + version "1.0.0" + resolved "https://registry.yarnpkg.com/get-document/-/get-document-1.0.0.tgz#4821bce66f1c24cb0331602be6cb6b12c4f01c4b" + integrity sha512-8E7H2Xxibav+/rQTTtm6gFlSQwDoAQg667yheA+vWQr/amxEuswChzGo4MIbOJJoR0SMpDyhbUqWp3FpIfwD9A== + +get-intrinsic@^1.0.2, get-intrinsic@^1.1.1, get-intrinsic@^1.1.3, get-intrinsic@^1.2.0, get-intrinsic@^1.2.1, get-intrinsic@^1.2.2: + version "1.2.2" + resolved "https://registry.yarnpkg.com/get-intrinsic/-/get-intrinsic-1.2.2.tgz#281b7622971123e1ef4b3c90fd7539306da93f3b" + integrity sha512-0gSo4ml/0j98Y3lngkFEot/zhiCeWsbYIlZ+uZOVgzLyLaUw7wxUL+nCTP0XJvJg1AXulJRI3UJi8GsbDuxdGA== + dependencies: + function-bind "^1.1.2" + has-proto "^1.0.1" + has-symbols "^1.0.3" + hasown "^2.0.0" + +get-package-type@^0.1.0: + version "0.1.0" + resolved "https://registry.yarnpkg.com/get-package-type/-/get-package-type-0.1.0.tgz#8de2d803cff44df3bc6c456e6668b36c3926e11a" + integrity sha512-pjzuKtY64GYfWizNAJ0fr9VqttZkNiK2iS430LtIHzjBEr6bX8Am2zm4sW4Ro5wjWW5cAlRL1qAMTcXbjNAO2Q== + +get-stream@^5.0.0, get-stream@^5.1.0: + version "5.2.0" + resolved "https://registry.yarnpkg.com/get-stream/-/get-stream-5.2.0.tgz#4966a1795ee5ace65e706c4b7beb71257d6e22d3" + integrity sha512-nBF+F1rAZVCu/p7rjzgA+Yb4lfYXrpl7a6VmJrU8wF9I1CKvP/QwPNZHnOlwbTkY6dvtFIzFMSyQXbLoTQPRpA== + dependencies: + pump "^3.0.0" + +get-stream@^6.0.0: + version "6.0.1" + resolved "https://registry.yarnpkg.com/get-stream/-/get-stream-6.0.1.tgz#a262d8eef67aced57c2852ad6167526a43cbf7b7" + integrity sha512-ts6Wi+2j3jQjqi70w5AlN8DFnkSwC+MqmxEzdEALB2qXZYV3X/b1CTfgPLGJNMeAWxdPfU8FO1ms3NUfaHCPYg== + +get-symbol-description@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/get-symbol-description/-/get-symbol-description-1.0.0.tgz#7fdb81c900101fbd564dd5f1a30af5aadc1e58d6" + integrity sha512-2EmdH1YvIQiZpltCNgkuiUnyukzxM/R6NDJX31Ke3BG1Nq5b0S2PhX59UKi9vZpPDQVdqn+1IcaAwnzTT5vCjw== + dependencies: + call-bind "^1.0.2" + get-intrinsic "^1.1.1" + +get-user-locale@^1.2.0: + version "1.5.1" + resolved "https://registry.yarnpkg.com/get-user-locale/-/get-user-locale-1.5.1.tgz#18a9ba2cfeed0e713ea00968efa75d620523a5ea" + integrity sha512-WiNpoFRcHn1qxP9VabQljzGwkAQDrcpqUtaP0rNBEkFxJdh4f3tik6MfZsMYZc+UgQJdGCxWEjL9wnCUlRQXag== + dependencies: + lodash.memoize "^4.1.1" + +get-window@^1.1.1: + version "1.1.2" + resolved "https://registry.yarnpkg.com/get-window/-/get-window-1.1.2.tgz#65fbaa999fb87f86ea5d30770f4097707044f47f" + integrity sha512-yjWpFcy9fjhLQHW1dPtg9ga4pmizLY8y4ZSHdGrAQ1NU277MRhnGnnLPxe19X8W5lWVsCZz++5xEuNozWMVmTw== + dependencies: + get-document "1" + +getos@^3.2.1: + version "3.2.1" + resolved "https://registry.yarnpkg.com/getos/-/getos-3.2.1.tgz#0134d1f4e00eb46144c5a9c0ac4dc087cbb27dc5" + integrity sha512-U56CfOK17OKgTVqozZjUKNdkfEv6jk5WISBJ8SHoagjE6L69zOwl3Z+O8myjY9MEW3i2HPWQBt/LTbCgcC973Q== + dependencies: + async "^3.2.0" + +getpass@^0.1.1: + version "0.1.7" + resolved "https://registry.yarnpkg.com/getpass/-/getpass-0.1.7.tgz#5eff8e3e684d569ae4cb2b1282604e8ba62149fa" + integrity sha512-0fzj9JxOLfJ+XGLhR8ze3unN0KZCgZwiSSDz168VERjK8Wl8kVSdcu2kspd4s4wtAa1y/qrVRiAA0WclVsu0ng== + dependencies: + assert-plus "^1.0.0" + +glob-parent@^5.1.2, glob-parent@~5.1.2: + version "5.1.2" + resolved "https://registry.yarnpkg.com/glob-parent/-/glob-parent-5.1.2.tgz#869832c58034fe68a4093c17dc15e8340d8401c4" + integrity sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow== + dependencies: + is-glob "^4.0.1" + +glob-parent@^6.0.1, glob-parent@^6.0.2: + version "6.0.2" + resolved "https://registry.yarnpkg.com/glob-parent/-/glob-parent-6.0.2.tgz#6d237d99083950c79290f24c7642a3de9a28f9e3" + integrity sha512-XxwI8EOhVQgWp6iDL+3b0r86f4d6AX6zSU55HfB4ydCEuXLXc5FcYeOu+nnGftS4TEju/11rt4KJPTMgbfmv4A== + dependencies: + is-glob "^4.0.3" + +glob-to-regexp@^0.4.1: + version "0.4.1" + resolved "https://registry.yarnpkg.com/glob-to-regexp/-/glob-to-regexp-0.4.1.tgz#c75297087c851b9a578bd217dd59a92f59fe546e" + integrity sha512-lkX1HJXwyMcprw/5YUZc2s7DrpAiHB21/V+E1rHUrVNokkvB6bqMzT0VfV6/86ZNabt1k14YOIaT7nDvOX3Iiw== + +glob@7.2.0: + version "7.2.0" + resolved "https://registry.yarnpkg.com/glob/-/glob-7.2.0.tgz#d15535af7732e02e948f4c41628bd910293f6023" + integrity sha512-lmLf6gtyrPq8tTjSmrO94wBeQbFR3HbLHbuyD69wuyQkImp2hWqMGB47OX65FBkPffO641IP9jWa1z4ivqG26Q== + dependencies: + fs.realpath "^1.0.0" + inflight "^1.0.4" + inherits "2" + minimatch "^3.0.4" + once "^1.3.0" + path-is-absolute "^1.0.0" + +glob@^10.2.7: + version "10.3.10" + resolved "https://registry.yarnpkg.com/glob/-/glob-10.3.10.tgz#0351ebb809fd187fe421ab96af83d3a70715df4b" + integrity sha512-fa46+tv1Ak0UPK1TOy/pZrIybNNt4HCv7SDzwyfiOZkvZLEbjsZkJBPtDHVshZjbecAoAGSC20MjLDG/qr679g== + dependencies: + foreground-child "^3.1.0" + jackspeak "^2.3.5" + minimatch "^9.0.1" + minipass "^5.0.0 || ^6.0.2 || ^7.0.0" + path-scurry "^1.10.1" + +glob@^7.1.3, glob@^7.1.4: + version "7.2.3" + resolved "https://registry.yarnpkg.com/glob/-/glob-7.2.3.tgz#b8df0fb802bbfa8e89bd1d938b4e16578ed44f2b" + integrity sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q== + dependencies: + fs.realpath "^1.0.0" + inflight "^1.0.4" + inherits "2" + minimatch "^3.1.1" + once "^1.3.0" + path-is-absolute "^1.0.0" + +glob@^9.2.0: + version "9.3.5" + resolved "https://registry.yarnpkg.com/glob/-/glob-9.3.5.tgz#ca2ed8ca452781a3009685607fdf025a899dfe21" + integrity sha512-e1LleDykUz2Iu+MTYdkSsuWX8lvAjAcs0Xef0lNIu0S2wOAzuTxCJtcd9S3cijlwYF18EsU3rzb8jPVobxDh9Q== + dependencies: + fs.realpath "^1.0.0" + minimatch "^8.0.2" + minipass "^4.2.4" + path-scurry "^1.6.1" + +global-dirs@^3.0.0: + version "3.0.1" + resolved "https://registry.yarnpkg.com/global-dirs/-/global-dirs-3.0.1.tgz#0c488971f066baceda21447aecb1a8b911d22485" + integrity sha512-NBcGGFbBA9s1VzD41QXDG+3++t9Mn5t1FpLdhESY6oKY4gYTFpX4wO3sqGUa0Srjtbfj3szX0RnemmrVRUdULA== + dependencies: + ini "2.0.0" + +globals@^11.1.0: + version "11.12.0" + resolved "https://registry.yarnpkg.com/globals/-/globals-11.12.0.tgz#ab8795338868a0babd8525758018c2a7eb95c42e" + integrity sha512-WOBp/EEGUiIsJSp7wcv/y6MO+lV9UoncWqxuFfm8eBwzWNgyfBd6Gz+IeKQ9jCmyhoH99g15M3T+QaVHFjizVA== + +globals@^13.19.0: + version "13.24.0" + resolved "https://registry.yarnpkg.com/globals/-/globals-13.24.0.tgz#8432a19d78ce0c1e833949c36adb345400bb1171" + integrity sha512-AhO5QUcj8llrbG09iWhPU2B204J1xnPeL8kQmVorSsy+Sjj1sk8gIyh6cUocGmH4L0UuhAJy+hJMRA4mgA4mFQ== + dependencies: + type-fest "^0.20.2" + +globalthis@^1.0.3: + version "1.0.3" + resolved "https://registry.yarnpkg.com/globalthis/-/globalthis-1.0.3.tgz#5852882a52b80dc301b0660273e1ed082f0b6ccf" + integrity sha512-sFdI5LyBiNTHjRd7cGPWapiHWMOXKyuBNX/cWJ3NfzrZQVa8GI/8cofCl74AOVqq9W5kNmguTIzJ/1s2gyI9wA== + dependencies: + define-properties "^1.1.3" + +globby@^11.1.0: + version "11.1.0" + resolved "https://registry.yarnpkg.com/globby/-/globby-11.1.0.tgz#bd4be98bb042f83d796f7e3811991fbe82a0d34b" + integrity sha512-jhIXaOzy1sb8IyocaruWSn1TjmnBVs8Ayhcy83rmxNJ8q2uWKCAj3CnJY+KpGSXCueAPc0i05kVvVKtP1t9S3g== + dependencies: + array-union "^2.1.0" + dir-glob "^3.0.1" + fast-glob "^3.2.9" + ignore "^5.2.0" + merge2 "^1.4.1" + slash "^3.0.0" + +globby@^13.1.1: + version "13.2.2" + resolved "https://registry.yarnpkg.com/globby/-/globby-13.2.2.tgz#63b90b1bf68619c2135475cbd4e71e66aa090592" + integrity sha512-Y1zNGV+pzQdh7H39l9zgB4PJqjRNqydvdYCDG4HFXM4XuvSaQQlEc91IU1yALL8gUTDomgBAfz3XJdmUS+oo0w== + dependencies: + dir-glob "^3.0.1" + fast-glob "^3.3.0" + ignore "^5.2.4" + merge2 "^1.4.1" + slash "^4.0.0" + +globby@^14.0.0: + version "14.0.0" + resolved "https://registry.yarnpkg.com/globby/-/globby-14.0.0.tgz#ea9c062a3614e33f516804e778590fcf055256b9" + integrity sha512-/1WM/LNHRAOH9lZta77uGbq0dAEQM+XjNesWwhlERDVenqothRbnzTrL3/LrIoEPPjeUHC3vrS6TwoyxeHs7MQ== + dependencies: + "@sindresorhus/merge-streams" "^1.0.0" + fast-glob "^3.3.2" + ignore "^5.2.4" + path-type "^5.0.0" + slash "^5.1.0" + unicorn-magic "^0.1.0" + +gopd@^1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/gopd/-/gopd-1.0.1.tgz#29ff76de69dac7489b7c0918a5788e56477c332c" + integrity sha512-d65bNlIadxvpb/A2abVdlqKqV563juRnZ1Wtk6s1sIR8uNsXR70xqIzVqxVf1eTqDunwT2MkczEeaezCKTZhwA== + dependencies: + get-intrinsic "^1.1.3" + +graceful-fs@^4.1.2, graceful-fs@^4.1.6, graceful-fs@^4.2.0, graceful-fs@^4.2.4, graceful-fs@^4.2.9: + version "4.2.11" + resolved "https://registry.yarnpkg.com/graceful-fs/-/graceful-fs-4.2.11.tgz#4183e4e8bf08bb6e05bbb2f7d2e0c8f712ca40e3" + integrity sha512-RbJ5/jmFcNNCcDV5o9eTnBLJ/HszWV0P73bc+Ff4nS/rJj+YaS6IGyiOL0VoBYX+l1Wrl3k63h/KrH+nhJ0XvQ== + +grapheme-splitter@^1.0.4: + version "1.0.4" + resolved "https://registry.yarnpkg.com/grapheme-splitter/-/grapheme-splitter-1.0.4.tgz#9cf3a665c6247479896834af35cf1dbb4400767e" + integrity sha512-bzh50DW9kTPM00T8y4o8vQg89Di9oLJVLW/KaOGIXJWP/iqCN6WKYkbNOF04vFLJhwcpYUh9ydh/+5vpOqV4YQ== + +graphemer@^1.4.0: + version "1.4.0" + resolved "https://registry.yarnpkg.com/graphemer/-/graphemer-1.4.0.tgz#fb2f1d55e0e3a1849aeffc90c4fa0dd53a0e66c6" + integrity sha512-EtKwoO6kxCL9WO5xipiHTZlSzBm7WLT627TqC/uVRd0HKmq8NXyebnNYxDoBi7wt8eTWrUrKXCOVaFq9x1kgag== + +har-schema@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/har-schema/-/har-schema-2.0.0.tgz#a94c2224ebcac04782a0d9035521f24735b7ec92" + integrity sha512-Oqluz6zhGX8cyRaTQlFMPw80bSJVG2x/cFb8ZPhUILGgHka9SsokCCOQgpveePerqidZOrT14ipqfJb7ILcW5Q== + +har-validator@~5.1.3: + version "5.1.5" + resolved "https://registry.yarnpkg.com/har-validator/-/har-validator-5.1.5.tgz#1f0803b9f8cb20c0fa13822df1ecddb36bde1efd" + integrity sha512-nmT2T0lljbxdQZfspsno9hgrG3Uir6Ks5afism62poxqBM6sDnMEuPmzTq8XN0OEwqKLLdh1jQI3qyE66Nzb3w== + dependencies: + ajv "^6.12.3" + har-schema "^2.0.0" + +harmony-reflect@^1.4.6: + version "1.6.2" + resolved "https://registry.yarnpkg.com/harmony-reflect/-/harmony-reflect-1.6.2.tgz#31ecbd32e648a34d030d86adb67d4d47547fe710" + integrity sha512-HIp/n38R9kQjDEziXyDTuW3vvoxxyxjxFzXLrBr18uB47GnSt+G9D29fqrpM5ZkspMcPICud3XsBJQ4Y2URg8g== + +has-bigints@^1.0.1, has-bigints@^1.0.2: + version "1.0.2" + resolved "https://registry.yarnpkg.com/has-bigints/-/has-bigints-1.0.2.tgz#0871bd3e3d51626f6ca0966668ba35d5602d6eaa" + integrity sha512-tSvCKtBr9lkF0Ex0aQiP9N+OpV4zi2r/Nee5VkRDbaqv35RLYMzbwQfFSZZH0kR+Rd6302UJZ2p/bJCEoR3VoQ== + +has-flag@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/has-flag/-/has-flag-3.0.0.tgz#b5d454dc2199ae225699f3467e5a07f3b955bafd" + integrity sha512-sKJf1+ceQBr4SMkvQnBDNDtf4TXpVhVGateu0t918bl30FnbE2m4vNLX+VWe/dpjlb+HugGYzW7uQXH98HPEYw== + +has-flag@^4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/has-flag/-/has-flag-4.0.0.tgz#944771fd9c81c81265c4d6941860da06bb59479b" + integrity sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ== + +has-property-descriptors@^1.0.0, has-property-descriptors@^1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/has-property-descriptors/-/has-property-descriptors-1.0.1.tgz#52ba30b6c5ec87fd89fa574bc1c39125c6f65340" + integrity sha512-VsX8eaIewvas0xnvinAe9bw4WfIeODpGYikiWYLH+dma0Jw6KHYqWiWfhQlgOVK8D6PvjubK5Uc4P0iIhIcNVg== + dependencies: + get-intrinsic "^1.2.2" + +has-proto@^1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/has-proto/-/has-proto-1.0.1.tgz#1885c1305538958aff469fef37937c22795408e0" + integrity sha512-7qE+iP+O+bgF9clE5+UoBFzE65mlBiVj3tKCrlNQ0Ogwm0BjpT/gK4SlLYDMybDh5I3TCTKnPPa0oMG7JDYrhg== + +has-symbols@^1.0.2, has-symbols@^1.0.3: + version "1.0.3" + resolved "https://registry.yarnpkg.com/has-symbols/-/has-symbols-1.0.3.tgz#bb7b2c4349251dce87b125f7bdf874aa7c8b39f8" + integrity sha512-l3LCuF6MgDNwTDKkdYGEihYjt5pRPbEg46rtlmnSPlUbgmB8LOIrKJbYYFBSbnPaJexMKtiPO8hmeRjRz2Td+A== + +has-tostringtag@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/has-tostringtag/-/has-tostringtag-1.0.0.tgz#7e133818a7d394734f941e73c3d3f9291e658b25" + integrity sha512-kFjcSNhnlGV1kyoGk7OXKSawH5JOb/LzUc5w9B02hOTO0dfFRjbHQKvg1d6cf3HbeUmtU9VbbV3qzZ2Teh97WQ== + dependencies: + has-symbols "^1.0.2" + +hasown@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/hasown/-/hasown-2.0.0.tgz#f4c513d454a57b7c7e1650778de226b11700546c" + integrity sha512-vUptKVTpIJhcczKBbgnS+RtcuYMB8+oNzPK2/Hp3hanz8JmpATdmmgLgSaadVREkDm+e2giHwY3ZRkyjSIDDFA== + dependencies: + function-bind "^1.1.2" + +he@1.2.0: + version "1.2.0" + resolved "https://registry.yarnpkg.com/he/-/he-1.2.0.tgz#84ae65fa7eafb165fddb61566ae14baf05664f0f" + integrity sha512-F/1DnUGPopORZi0ni+CvrCgHQ5FyEAHRLSApuYWMmrbSwoN2Mn/7k+Gl38gJnR7yyDZk6WLXwiGod1JOWNDKGw== + +highlight-words-core@^1.2.0: + version "1.2.2" + resolved "https://registry.yarnpkg.com/highlight-words-core/-/highlight-words-core-1.2.2.tgz#1eff6d7d9f0a22f155042a00791237791b1eeaaa" + integrity sha512-BXUKIkUuh6cmmxzi5OIbUJxrG8OAk2MqoL1DtO3Wo9D2faJg2ph5ntyuQeLqaHJmzER6H5tllCDA9ZnNe9BVGg== + +history@4.10.1, history@^4.9.0: + version "4.10.1" + resolved "https://registry.yarnpkg.com/history/-/history-4.10.1.tgz#33371a65e3a83b267434e2b3f3b1b4c58aad4cf3" + integrity sha512-36nwAD620w12kuzPAsyINPWJqlNbij+hpK1k9XRloDtym8mxzGYl2c17LnV6IAGB2Dmg4tEa7G7DlawS0+qjew== + dependencies: + "@babel/runtime" "^7.1.2" + loose-envify "^1.2.0" + resolve-pathname "^3.0.0" + tiny-invariant "^1.0.2" + tiny-warning "^1.0.0" + value-equal "^1.0.1" + +hoist-non-react-statics@3.3.2, hoist-non-react-statics@^3.1.0, hoist-non-react-statics@^3.3.0, hoist-non-react-statics@^3.3.1, hoist-non-react-statics@^3.3.2: + version "3.3.2" + resolved "https://registry.yarnpkg.com/hoist-non-react-statics/-/hoist-non-react-statics-3.3.2.tgz#ece0acaf71d62c2969c2ec59feff42a4b1a85b45" + integrity sha512-/gGivxi8JPKWNm/W0jSmzcMPpfpPLc3dY/6GxhX2hQ9iGj3aDfklV4ET7NjKpSinLpJ5vafa9iiGIEZg10SfBw== + dependencies: + react-is "^16.7.0" + +html-encoding-sniffer@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/html-encoding-sniffer/-/html-encoding-sniffer-3.0.0.tgz#2cb1a8cf0db52414776e5b2a7a04d5dd98158de9" + integrity sha512-oWv4T4yJ52iKrufjnyZPkrN0CH3QnrUqdB6In1g5Fe1mia8GmF36gnfNySxoZtxD5+NmYw1EElVXiBk93UeskA== + dependencies: + whatwg-encoding "^2.0.0" + +html-escaper@^2.0.0: + version "2.0.2" + resolved "https://registry.yarnpkg.com/html-escaper/-/html-escaper-2.0.2.tgz#dfd60027da36a36dfcbe236262c00a5822681453" + integrity sha512-H2iMtd0I4Mt5eYiapRdIDjp+XzelXQ0tFE4JS7YFwFevXXMmOp9myNrUvCg0D6ws8iqkRPBfKHgbwig1SmlLfg== + +html-parse-stringify@^3.0.1: + version "3.0.1" + resolved "https://registry.yarnpkg.com/html-parse-stringify/-/html-parse-stringify-3.0.1.tgz#dfc1017347ce9f77c8141a507f233040c59c55d2" + integrity sha512-KknJ50kTInJ7qIScF3jeaFRpMpE8/lfiTdzf/twXyPBLAGrLRTmkz3AdTnKeh40X8k9L2fdYwEp/42WGXIRGcg== + dependencies: + void-elements "3.1.0" + +http-parser-js@>=0.5.1: + version "0.5.8" + resolved "https://registry.yarnpkg.com/http-parser-js/-/http-parser-js-0.5.8.tgz#af23090d9ac4e24573de6f6aecc9d84a48bf20e3" + integrity sha512-SGeBX54F94Wgu5RH3X5jsDtf4eHyRogWX1XGT3b4HuW3tQPM4AaBzoUji/4AAJNXCEOWZ5O0DgZmJw1947gD5Q== + +http-proxy-agent@^5.0.0: + version "5.0.0" + resolved "https://registry.yarnpkg.com/http-proxy-agent/-/http-proxy-agent-5.0.0.tgz#5129800203520d434f142bc78ff3c170800f2b43" + integrity sha512-n2hY8YdoRE1i7r6M0w9DIw5GgZN0G25P8zLCRQ8rjXtTU3vsNFBI/vWK/UIeE6g5MUUz6avwAPXmL6Fy9D/90w== + dependencies: + "@tootallnate/once" "2" + agent-base "6" + debug "4" + +http-signature@~1.2.0: + version "1.2.0" + resolved "https://registry.yarnpkg.com/http-signature/-/http-signature-1.2.0.tgz#9aecd925114772f3d95b65a60abb8f7c18fbace1" + integrity sha512-CAbnr6Rz4CYQkLYUtSNXxQPUH2gK8f3iWexVlsnMeD+GjlsQ0Xsy1cOX+mN3dtxYomRy21CiOzU8Uhw6OwncEQ== + dependencies: + assert-plus "^1.0.0" + jsprim "^1.2.2" + sshpk "^1.7.0" + +http-signature@~1.3.6: + version "1.3.6" + resolved "https://registry.yarnpkg.com/http-signature/-/http-signature-1.3.6.tgz#cb6fbfdf86d1c974f343be94e87f7fc128662cf9" + integrity sha512-3adrsD6zqo4GsTqtO7FyrejHNv+NgiIfAfv68+jVlFmSr9OGy7zrxONceFRLKvnnZA5jbxQBX1u9PpB6Wi32Gw== + dependencies: + assert-plus "^1.0.0" + jsprim "^2.0.2" + sshpk "^1.14.1" + +https-proxy-agent@^5.0.1: + version "5.0.1" + resolved "https://registry.yarnpkg.com/https-proxy-agent/-/https-proxy-agent-5.0.1.tgz#c59ef224a04fe8b754f3db0063a25ea30d0005d6" + integrity sha512-dFcAjpTQFgoLMzC2VwU+C/CbS7uRL0lWmxDITmqm7C+7F0Odmj6s9l6alZc6AELXhrnggM2CeWSXHGOdX2YtwA== + dependencies: + agent-base "6" + debug "4" + +human-signals@^1.1.1: + version "1.1.1" + resolved "https://registry.yarnpkg.com/human-signals/-/human-signals-1.1.1.tgz#c5b1cd14f50aeae09ab6c59fe63ba3395fe4dfa3" + integrity sha512-SEQu7vl8KjNL2eoGBLF3+wAjpsNfA9XMlXAYj/3EdaNfAlxKthD1xjEQfGOUhllCGGJVNY34bRr6lPINhNjyZw== + +human-signals@^2.1.0: + version "2.1.0" + resolved "https://registry.yarnpkg.com/human-signals/-/human-signals-2.1.0.tgz#dc91fcba42e4d06e4abaed33b3e7a3c02f514ea0" + integrity sha512-B4FFZ6q/T2jhhksgkbEW3HBvWIfDW85snkQgawt07S7J5QXTk6BkNV+0yAeZrM5QpMAdYlocGoljn0sJ/WQkFw== + +hyphenate-style-name@^1.0.3: + version "1.0.4" + resolved "https://registry.yarnpkg.com/hyphenate-style-name/-/hyphenate-style-name-1.0.4.tgz#691879af8e220aea5750e8827db4ef62a54e361d" + integrity sha512-ygGZLjmXfPHj+ZWh6LwbC37l43MhfztxetbFCoYTM2VjkIUpeHgSNn7QIyVFj7YQ1Wl9Cbw5sholVJPzWvC2MQ== + +i18next@^22.0.0: + version "22.5.1" + resolved "https://registry.yarnpkg.com/i18next/-/i18next-22.5.1.tgz#99df0b318741a506000c243429a7352e5f44d424" + integrity sha512-8TGPgM3pAD+VRsMtUMNknRz3kzqwp/gPALrWMsDnmC1mKqJwpWyooQRLMcbTwq8z8YwSmuj+ZYvc+xCuEpkssA== + dependencies: + "@babel/runtime" "^7.20.6" + +iconv-lite@0.6, iconv-lite@0.6.3: + version "0.6.3" + resolved "https://registry.yarnpkg.com/iconv-lite/-/iconv-lite-0.6.3.tgz#a52f80bf38da1952eb5c681790719871a1a72501" + integrity sha512-4fCk79wshMdzMp2rH06qWrJE4iolqLhCUH+OiuIgU++RB0+94NlDL81atO7GX55uUKueo0txHNtvEyI6D7WdMw== + dependencies: + safer-buffer ">= 2.1.2 < 3.0.0" + +iconv-lite@^0.4.8: + version "0.4.24" + resolved "https://registry.yarnpkg.com/iconv-lite/-/iconv-lite-0.4.24.tgz#2022b4b25fbddc21d2f524974a474aafe733908b" + integrity sha512-v3MXnZAcvnywkTUEZomIActle7RXXeedOR31wwl7VlyoXO4Qi9arvSenNQWne1TcRwhCL1HwLI21bEqdpj8/rA== + dependencies: + safer-buffer ">= 2.1.2 < 3" + +icss-utils@^5.0.0, icss-utils@^5.1.0: + version "5.1.0" + resolved "https://registry.yarnpkg.com/icss-utils/-/icss-utils-5.1.0.tgz#c6be6858abd013d768e98366ae47e25d5887b1ae" + integrity sha512-soFhflCVWLfRNOPU3iv5Z9VUdT44xFRbzjLsEzSr5AQmgqPMTHdU3PMT1Cf1ssx8fLNJDA1juftYl+PUcv3MqA== + +identity-obj-proxy@3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/identity-obj-proxy/-/identity-obj-proxy-3.0.0.tgz#94d2bda96084453ef36fbc5aaec37e0f79f1fc14" + integrity sha512-00n6YnVHKrinT9t0d9+5yZC6UBNJANpYEQvL2LlX6Ab9lnmxzIRcEmTPuyGScvl1+jKuCICX1Z0Ab1pPKKdikA== + dependencies: + harmony-reflect "^1.4.6" + +ieee754@^1.1.12, ieee754@^1.1.13: + version "1.2.1" + resolved "https://registry.yarnpkg.com/ieee754/-/ieee754-1.2.1.tgz#8eb7a10a63fff25d15a57b001586d177d1b0d352" + integrity sha512-dcyqhDvX1C46lXZcVqCpK+FtMRQVdIMN6/Df5js2zouUsqG7I6sFxitIC+7KYK29KdXOLHdu9zL4sFnoVQnqaA== + +ignore@^5.2.0, ignore@^5.2.4: + version "5.3.0" + resolved "https://registry.yarnpkg.com/ignore/-/ignore-5.3.0.tgz#67418ae40d34d6999c95ff56016759c718c82f78" + integrity sha512-g7dmpshy+gD7mh88OC9NwSGTKoc3kyLAZQRU1mt53Aw/vnvfXnbC+F/7F7QoYVKbV+KNvJx8wArewKy1vXMtlg== + +immutable@4.2.4: + version "4.2.4" + resolved "https://registry.yarnpkg.com/immutable/-/immutable-4.2.4.tgz#83260d50889526b4b531a5e293709a77f7c55a2a" + integrity sha512-WDxL3Hheb1JkRN3sQkyujNlL/xRjAo3rJtaU5xeufUauG66JdMr32bLj4gF+vWl84DIA3Zxw7tiAjneYzRRw+w== + +immutable@^4.0.0: + version "4.3.4" + resolved "https://registry.yarnpkg.com/immutable/-/immutable-4.3.4.tgz#2e07b33837b4bb7662f288c244d1ced1ef65a78f" + integrity sha512-fsXeu4J4i6WNWSikpI88v/PcVflZz+6kMhUfIwc5SY+poQRPnaf5V7qds6SUyUN3cVxEzuCab7QIoLOQ+DQ1wA== + +import-fresh@^3.0.0, import-fresh@^3.2.1: + version "3.3.0" + resolved "https://registry.yarnpkg.com/import-fresh/-/import-fresh-3.3.0.tgz#37162c25fcb9ebaa2e6e53d5b4d88ce17d9e0c2b" + integrity sha512-veYYhQa+D1QBKznvhUHxb8faxlrwUnxseDAbAp457E0wLNio2bOSKnjYDhMj+YiAq61xrMGhQk9iXVk5FzgQMw== + dependencies: + parent-module "^1.0.0" + resolve-from "^4.0.0" + +import-local@^3.0.2: + version "3.1.0" + resolved "https://registry.yarnpkg.com/import-local/-/import-local-3.1.0.tgz#b4479df8a5fd44f6cdce24070675676063c95cb4" + integrity sha512-ASB07uLtnDs1o6EHjKpX34BKYDSqnFerfTOJL2HvMqF70LnxpjkzDB8J44oT9pu4AMPkQwf8jl6szgvNd2tRIg== + dependencies: + pkg-dir "^4.2.0" + resolve-cwd "^3.0.0" + +imurmurhash@^0.1.4: + version "0.1.4" + resolved "https://registry.yarnpkg.com/imurmurhash/-/imurmurhash-0.1.4.tgz#9218b9b2b928a238b13dc4fb6b6d576f231453ea" + integrity sha512-JmXMZ6wuvDmLiHEml9ykzqO6lwFbof0GG4IkcGaENdCRDDmMVnny7s5HsIgHCbaq0w2MyPhDqkhTUgS2LU2PHA== + +indent-string@^4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/indent-string/-/indent-string-4.0.0.tgz#624f8f4497d619b2d9768531d58f4122854d7251" + integrity sha512-EdDDZu4A2OyIK7Lr/2zG+w5jmbuk1DVBnEwREQvBzspBJkCEbRa8GxU1lghYcaGJCnRWibjDXlq779X1/y5xwg== + +inflight@^1.0.4: + version "1.0.6" + resolved "https://registry.yarnpkg.com/inflight/-/inflight-1.0.6.tgz#49bd6331d7d02d0c09bc910a1075ba8165b56df9" + integrity sha512-k92I/b08q4wvFscXCLvqfsHCrjrF7yiXsQuIVvVE7N82W3+aqpzuUdBbfhWcy/FZR3/4IgflMgKLOsvPDrGCJA== + dependencies: + once "^1.3.0" + wrappy "1" + +inherits@2, inherits@~2.0.1, inherits@~2.0.3: + version "2.0.4" + resolved "https://registry.yarnpkg.com/inherits/-/inherits-2.0.4.tgz#0fa2c64f932917c3433a0ded55363aae37416b7c" + integrity sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ== + +ini@2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/ini/-/ini-2.0.0.tgz#e5fd556ecdd5726be978fa1001862eacb0a94bc5" + integrity sha512-7PnF4oN3CvZF23ADhA5wRaYEQpJ8qygSkbtTXWBeXWXmEVRXK+1ITciHWwHhsjv1TmW0MgacIv6hEi5pX5NQdA== + +inline-style-prefixer@^7.0.0: + version "7.0.0" + resolved "https://registry.yarnpkg.com/inline-style-prefixer/-/inline-style-prefixer-7.0.0.tgz#991d550735d42069f528ac1bcdacd378d1305442" + integrity sha512-I7GEdScunP1dQ6IM2mQWh6v0mOYdYmH3Bp31UecKdrcUgcURTcctSe1IECdUznSHKSmsHtjrT3CwCPI1pyxfUQ== + dependencies: + css-in-js-utils "^3.1.0" + fast-loops "^1.1.3" + +internal-slot@^1.0.4, internal-slot@^1.0.5: + version "1.0.6" + resolved "https://registry.yarnpkg.com/internal-slot/-/internal-slot-1.0.6.tgz#37e756098c4911c5e912b8edbf71ed3aa116f930" + integrity sha512-Xj6dv+PsbtwyPpEflsejS+oIZxmMlV44zAhG479uYu89MsjcYOhCFnNyKrkJrihbsiasQyY0afoCl/9BLR65bg== + dependencies: + get-intrinsic "^1.2.2" + hasown "^2.0.0" + side-channel "^1.0.4" + +"internmap@1 - 2": + version "2.0.3" + resolved "https://registry.yarnpkg.com/internmap/-/internmap-2.0.3.tgz#6685f23755e43c524e251d29cbc97248e3061009" + integrity sha512-5Hh7Y1wQbvY5ooGgPbDaL5iYLAPzMTUrjMulskHLH6wnv/A+1q5rgEaiuqEjB+oxGXIVZs1FF+R/KPN3ZSQYYg== + +interpret@^3.1.1: + version "3.1.1" + resolved "https://registry.yarnpkg.com/interpret/-/interpret-3.1.1.tgz#5be0ceed67ca79c6c4bc5cf0d7ee843dcea110c4" + integrity sha512-6xwYfHbajpoF0xLW+iwLkhwgvLoZDfjYfoFNu8ftMoXINzwuymNLd9u/KmwtdT2GbR+/Cz66otEGEVVUHX9QLQ== + +intl-messageformat@^10.1.0: + version "10.5.10" + resolved "https://registry.yarnpkg.com/intl-messageformat/-/intl-messageformat-10.5.10.tgz#638b7a9a4926a04f784dfe6e77104a0c537deb36" + integrity sha512-3yzwX6t/my9WRtNiqP05r+/UkpWxwstQiwaHAiuHmDRt7ykzWJ+nceOVjNLZYYWGiSltY+C+Likd8OIVkASepw== + dependencies: + "@formatjs/ecma402-abstract" "1.18.2" + "@formatjs/fast-memoize" "2.2.0" + "@formatjs/icu-messageformat-parser" "2.7.5" + tslib "^2.4.0" + +invariant@^2.2.2: + version "2.2.4" + resolved "https://registry.yarnpkg.com/invariant/-/invariant-2.2.4.tgz#610f3c92c9359ce1db616e538008d23ff35158e6" + integrity sha512-phJfQVBuaJM5raOpJjSfkiD6BpbCE4Ns//LaXl6wGYtUBY83nWS6Rf9tXm2e8VaK60JEjYldbPif/A2B1C2gNA== + dependencies: + loose-envify "^1.0.0" + +is-arguments@^1.1.1: + version "1.1.1" + resolved "https://registry.yarnpkg.com/is-arguments/-/is-arguments-1.1.1.tgz#15b3f88fda01f2a97fec84ca761a560f123efa9b" + integrity sha512-8Q7EARjzEnKpt/PCD7e1cgUS0a6X8u5tdSiMqXhojOdoV9TsMsiO+9VLC5vAmO8N7/GmXn7yjR8qnA6bVAEzfA== + dependencies: + call-bind "^1.0.2" + has-tostringtag "^1.0.0" + +is-array-buffer@^3.0.1, is-array-buffer@^3.0.2: + version "3.0.2" + resolved "https://registry.yarnpkg.com/is-array-buffer/-/is-array-buffer-3.0.2.tgz#f2653ced8412081638ecb0ebbd0c41c6e0aecbbe" + integrity sha512-y+FyyR/w8vfIRq4eQcM1EYgSTnmHXPqaF+IgzgraytCFq5Xh8lllDVmAZolPJiZttZLeFSINPYMaEJ7/vWUa1w== + dependencies: + call-bind "^1.0.2" + get-intrinsic "^1.2.0" + is-typed-array "^1.1.10" + +is-arrayish@^0.2.1: + version "0.2.1" + resolved "https://registry.yarnpkg.com/is-arrayish/-/is-arrayish-0.2.1.tgz#77c99840527aa8ecb1a8ba697b80645a7a926a9d" + integrity sha512-zz06S8t0ozoDXMG+ube26zeCTNXcKIPJZJi8hBrF4idCLms4CG9QtK7qBl1boi5ODzFpjswb5JPmHCbMpjaYzg== + +is-bigint@^1.0.1: + version "1.0.4" + resolved "https://registry.yarnpkg.com/is-bigint/-/is-bigint-1.0.4.tgz#08147a1875bc2b32005d41ccd8291dffc6691df3" + integrity sha512-zB9CruMamjym81i2JZ3UMn54PKGsQzsJeo6xvN3HJJ4CAsQNB6iRutp2To77OfCNuoxspsIhzaPoO1zyCEhFOg== + dependencies: + has-bigints "^1.0.1" + +is-binary-path@~2.1.0: + version "2.1.0" + resolved "https://registry.yarnpkg.com/is-binary-path/-/is-binary-path-2.1.0.tgz#ea1f7f3b80f064236e83470f86c09c254fb45b09" + integrity sha512-ZMERYes6pDydyuGidse7OsHxtbI7WVeUEozgR/g7rd0xUimYNlvZRE/K2MgZTjWy725IfelLeVcEM97mmtRGXw== + dependencies: + binary-extensions "^2.0.0" + +is-boolean-object@^1.1.0: + version "1.1.2" + resolved "https://registry.yarnpkg.com/is-boolean-object/-/is-boolean-object-1.1.2.tgz#5c6dc200246dd9321ae4b885a114bb1f75f63719" + integrity sha512-gDYaKHJmnj4aWxyj6YHyXVpdQawtVLHU5cb+eztPGczf6cjuTdwve5ZIEfgXqH4e57An1D1AKf8CZ3kYrQRqYA== + dependencies: + call-bind "^1.0.2" + has-tostringtag "^1.0.0" + +is-builtin-module@^3.2.1: + version "3.2.1" + resolved "https://registry.yarnpkg.com/is-builtin-module/-/is-builtin-module-3.2.1.tgz#f03271717d8654cfcaf07ab0463faa3571581169" + integrity sha512-BSLE3HnV2syZ0FK0iMA/yUGplUeMmNz4AW5fnTunbCIqZi4vG3WjJT9FHMy5D69xmAYBHXQhJdALdpwVxV501A== + dependencies: + builtin-modules "^3.3.0" + +is-callable@^1.1.3, is-callable@^1.1.4, is-callable@^1.2.7: + version "1.2.7" + resolved "https://registry.yarnpkg.com/is-callable/-/is-callable-1.2.7.tgz#3bc2a85ea742d9e36205dcacdd72ca1fdc51b055" + integrity sha512-1BC0BVFhS/p0qtw6enp8e+8OD0UrK0oFLztSjNzhcKA3WDuJxxAPXzPuPtKkjEY9UUoEWlX/8fgKeu2S8i9JTA== + +is-ci@^3.0.0: + version "3.0.1" + resolved "https://registry.yarnpkg.com/is-ci/-/is-ci-3.0.1.tgz#db6ecbed1bd659c43dac0f45661e7674103d1867" + integrity sha512-ZYvCgrefwqoQ6yTyYUbQu64HsITZ3NfKX1lzaEYdkTDcfKzzCI/wthRRYKkdjHKFVgNiXKAKm65Zo1pk2as/QQ== + dependencies: + ci-info "^3.2.0" + +is-core-module@^2.13.0, is-core-module@^2.13.1: + version "2.13.1" + resolved "https://registry.yarnpkg.com/is-core-module/-/is-core-module-2.13.1.tgz#ad0d7532c6fea9da1ebdc82742d74525c6273384" + integrity sha512-hHrIjvZsftOsvKSn2TRYl63zvxsgE0K+0mYMoH6gD4omR5IWB2KynivBQczo3+wF1cCkjzvptnI9Q0sPU66ilw== + dependencies: + hasown "^2.0.0" + +is-date-object@^1.0.1, is-date-object@^1.0.5: + version "1.0.5" + resolved "https://registry.yarnpkg.com/is-date-object/-/is-date-object-1.0.5.tgz#0841d5536e724c25597bf6ea62e1bd38298df31f" + integrity sha512-9YQaSxsAiSwcvS33MBk3wTCVnWK+HhF8VZR2jRxehM16QcVOdHqPn4VPHmRK4lSr38n9JriurInLcP90xsYNfQ== + dependencies: + has-tostringtag "^1.0.0" + +is-extglob@^2.1.1: + version "2.1.1" + resolved "https://registry.yarnpkg.com/is-extglob/-/is-extglob-2.1.1.tgz#a88c02535791f02ed37c76a1b9ea9773c833f8c2" + integrity sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ== + +is-fullwidth-code-point@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz#f116f8064fe90b3f7844a38997c0b75051269f1d" + integrity sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg== + +is-generator-fn@^2.0.0: + version "2.1.0" + resolved "https://registry.yarnpkg.com/is-generator-fn/-/is-generator-fn-2.1.0.tgz#7d140adc389aaf3011a8f2a2a4cfa6faadffb118" + integrity sha512-cTIB4yPYL/Grw0EaSzASzg6bBy9gqCofvWN8okThAYIxKJZC+udlRAmGbM0XLeniEJSs8uEgHPGuHSe1XsOLSQ== + +is-glob@^4.0.0, is-glob@^4.0.1, is-glob@^4.0.3, is-glob@~4.0.1: + version "4.0.3" + resolved "https://registry.yarnpkg.com/is-glob/-/is-glob-4.0.3.tgz#64f61e42cbbb2eec2071a9dac0b28ba1e65d5084" + integrity sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg== + dependencies: + is-extglob "^2.1.1" + +is-hotkey@0.1.4: + version "0.1.4" + resolved "https://registry.yarnpkg.com/is-hotkey/-/is-hotkey-0.1.4.tgz#c34d2c85d6ec8d09a871dcf71931c8067a824c7d" + integrity sha512-Py+aW4r5mBBY18TGzGz286/gKS+fCQ0Hee3qkaiSmEPiD0PqFpe0wuA3l7rTOUKyeXl8Mxf3XzJxIoTlSv+kxA== + +is-hotkey@0.2.0: + version "0.2.0" + resolved "https://registry.yarnpkg.com/is-hotkey/-/is-hotkey-0.2.0.tgz#1835a68171a91e5c9460869d96336947c8340cef" + integrity sha512-UknnZK4RakDmTgz4PI1wIph5yxSs/mvChWs9ifnlXsKuXgWmOkY/hAE0H/k2MIqH0RlRye0i1oC07MCRSD28Mw== + +is-in-browser@^1.1.3: + version "1.1.3" + resolved "https://registry.yarnpkg.com/is-in-browser/-/is-in-browser-1.1.3.tgz#56ff4db683a078c6082eb95dad7dc62e1d04f835" + integrity sha512-FeXIBgG/CPGd/WUxuEyvgGTEfwiG9Z4EKGxjNMRqviiIIfsmgrpnHLffEDdwUHqNva1VEW91o3xBT/m8Elgl9g== + +is-installed-globally@~0.4.0: + version "0.4.0" + resolved "https://registry.yarnpkg.com/is-installed-globally/-/is-installed-globally-0.4.0.tgz#9a0fd407949c30f86eb6959ef1b7994ed0b7b520" + integrity sha512-iwGqO3J21aaSkC7jWnHP/difazwS7SFeIqxv6wEtLU8Y5KlzFTjyqcSIT0d8s4+dDhKytsk9PJZ2BkS5eZwQRQ== + dependencies: + global-dirs "^3.0.0" + is-path-inside "^3.0.2" + +is-map@^2.0.1, is-map@^2.0.2: + version "2.0.2" + resolved "https://registry.yarnpkg.com/is-map/-/is-map-2.0.2.tgz#00922db8c9bf73e81b7a335827bc2a43f2b91127" + integrity sha512-cOZFQQozTha1f4MxLFzlgKYPTyj26picdZTx82hbc/Xf4K/tZOOXSCkMvU4pKioRXGDLJRn0GM7Upe7kR721yg== + +is-negative-zero@^2.0.2: + version "2.0.2" + resolved "https://registry.yarnpkg.com/is-negative-zero/-/is-negative-zero-2.0.2.tgz#7bf6f03a28003b8b3965de3ac26f664d765f3150" + integrity sha512-dqJvarLawXsFbNDeJW7zAz8ItJ9cd28YufuuFzh0G8pNHjJMnY08Dv7sYX2uF5UpQOwieAeOExEYAWWfu7ZZUA== + +is-number-object@^1.0.4: + version "1.0.7" + resolved "https://registry.yarnpkg.com/is-number-object/-/is-number-object-1.0.7.tgz#59d50ada4c45251784e9904f5246c742f07a42fc" + integrity sha512-k1U0IRzLMo7ZlYIfzRu23Oh6MiIFasgpb9X76eqfFZAqwH44UI4KTBvBYIZ1dSL9ZzChTB9ShHfLkR4pdW5krQ== + dependencies: + has-tostringtag "^1.0.0" + +is-number@^7.0.0: + version "7.0.0" + resolved "https://registry.yarnpkg.com/is-number/-/is-number-7.0.0.tgz#7535345b896734d5f80c4d06c50955527a14f12b" + integrity sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng== + +is-path-inside@^3.0.2, is-path-inside@^3.0.3: + version "3.0.3" + resolved "https://registry.yarnpkg.com/is-path-inside/-/is-path-inside-3.0.3.tgz#d231362e53a07ff2b0e0ea7fed049161ffd16283" + integrity sha512-Fd4gABb+ycGAmKou8eMftCupSir5lRxqf4aD/vd0cD2qc4HL07OjCeuHMr8Ro4CoMaeCKDB0/ECBOVWjTwUvPQ== + +is-plain-obj@^2.1.0: + version "2.1.0" + resolved "https://registry.yarnpkg.com/is-plain-obj/-/is-plain-obj-2.1.0.tgz#45e42e37fccf1f40da8e5f76ee21515840c09287" + integrity sha512-YWnfyRwxL/+SsrWYfOpUtz5b3YD+nyfkHvjbcanzk8zgyO4ASD67uVMRt8k5bM4lLMDnXfriRhOpemw+NfT1eA== + +is-plain-object@^2.0.4: + version "2.0.4" + resolved "https://registry.yarnpkg.com/is-plain-object/-/is-plain-object-2.0.4.tgz#2c163b3fafb1b606d9d17928f05c2a1c38e07677" + integrity sha512-h5PpgXkWitc38BBMYawTYMWJHFZJVnBquFE57xFpjB8pJFiF6gZ+bU+WyI/yqXiFR5mdLsgYNaPe8uao6Uv9Og== + dependencies: + isobject "^3.0.1" + +is-potential-custom-element-name@^1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/is-potential-custom-element-name/-/is-potential-custom-element-name-1.0.1.tgz#171ed6f19e3ac554394edf78caa05784a45bebb5" + integrity sha512-bCYeRA2rVibKZd+s2625gGnGF/t7DSqDs4dP7CrLA1m7jKWz6pps0LpYLJN8Q64HtmPKJ1hrN3nzPNKFEKOUiQ== + +is-regex@^1.1.4: + version "1.1.4" + resolved "https://registry.yarnpkg.com/is-regex/-/is-regex-1.1.4.tgz#eef5663cd59fa4c0ae339505323df6854bb15958" + integrity sha512-kvRdxDsxZjhzUX07ZnLydzS1TU/TJlTUHHY4YLL87e37oUA49DfkLqgy+VjFocowy29cKvcSiu+kIv728jTTVg== + dependencies: + call-bind "^1.0.2" + has-tostringtag "^1.0.0" + +is-set@^2.0.1, is-set@^2.0.2: + version "2.0.2" + resolved "https://registry.yarnpkg.com/is-set/-/is-set-2.0.2.tgz#90755fa4c2562dc1c5d4024760d6119b94ca18ec" + integrity sha512-+2cnTEZeY5z/iXGbLhPrOAaK/Mau5k5eXq9j14CpRTftq0pAJu2MwVRSZhyZWBzx3o6X795Lz6Bpb6R0GKf37g== + +is-shared-array-buffer@^1.0.2: + version "1.0.2" + resolved "https://registry.yarnpkg.com/is-shared-array-buffer/-/is-shared-array-buffer-1.0.2.tgz#8f259c573b60b6a32d4058a1a07430c0a7344c79" + integrity sha512-sqN2UDu1/0y6uvXyStCOzyhAjCSlHceFoMKJW8W9EU9cvic/QdsZ0kEU93HEy3IUEFZIiH/3w+AH/UQbPHNdhA== + dependencies: + call-bind "^1.0.2" + +is-stream@^2.0.0: + version "2.0.1" + resolved "https://registry.yarnpkg.com/is-stream/-/is-stream-2.0.1.tgz#fac1e3d53b97ad5a9d0ae9cef2389f5810a5c077" + integrity sha512-hFoiJiTl63nn+kstHGBtewWSKnQLpyb155KHheA1l39uvtO9nWIop1p3udqPcUd/xbF1VLMO4n7OI6p7RbngDg== + +is-string@^1.0.5, is-string@^1.0.7: + version "1.0.7" + resolved "https://registry.yarnpkg.com/is-string/-/is-string-1.0.7.tgz#0dd12bf2006f255bb58f695110eff7491eebc0fd" + integrity sha512-tE2UXzivje6ofPW7l23cjDOMa09gb7xlAqG6jG5ej6uPV32TlWP3NKPigtaGeHNu9fohccRYvIiZMfOOnOYUtg== + dependencies: + has-tostringtag "^1.0.0" + +is-symbol@^1.0.2, is-symbol@^1.0.3: + version "1.0.4" + resolved "https://registry.yarnpkg.com/is-symbol/-/is-symbol-1.0.4.tgz#a6dac93b635b063ca6872236de88910a57af139c" + integrity sha512-C/CPBqKWnvdcxqIARxyOh4v1UUEOCHpgDa0WYgpKDFMszcrPcffg5uhwSgPCLD2WWxmq6isisz87tzT01tuGhg== + dependencies: + has-symbols "^1.0.2" + +is-typed-array@^1.1.10, is-typed-array@^1.1.12, is-typed-array@^1.1.9: + version "1.1.12" + resolved "https://registry.yarnpkg.com/is-typed-array/-/is-typed-array-1.1.12.tgz#d0bab5686ef4a76f7a73097b95470ab199c57d4a" + integrity sha512-Z14TF2JNG8Lss5/HMqt0//T9JeHXttXy5pH/DBU4vi98ozO2btxzq9MwYDZYnKwU8nRsz/+GVFVRDq3DkVuSPg== + dependencies: + which-typed-array "^1.1.11" + +is-typedarray@~1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/is-typedarray/-/is-typedarray-1.0.0.tgz#e479c80858df0c1b11ddda6940f96011fcda4a9a" + integrity sha512-cyA56iCMHAh5CdzjJIa4aohJyeO1YbwLi3Jc35MmRU6poroFjIGZzUzupGiRPOjgHg9TLu43xbpwXk523fMxKA== + +is-unicode-supported@^0.1.0: + version "0.1.0" + resolved "https://registry.yarnpkg.com/is-unicode-supported/-/is-unicode-supported-0.1.0.tgz#3f26c76a809593b52bfa2ecb5710ed2779b522a7" + integrity sha512-knxG2q4UC3u8stRGyAVJCOdxFmv5DZiRcdlIaAQXAbSfJya+OhopNotLQrstBhququ4ZpuKbDc/8S6mgXgPFPw== + +is-weakmap@^2.0.1: + version "2.0.1" + resolved "https://registry.yarnpkg.com/is-weakmap/-/is-weakmap-2.0.1.tgz#5008b59bdc43b698201d18f62b37b2ca243e8cf2" + integrity sha512-NSBR4kH5oVj1Uwvv970ruUkCV7O1mzgVFO4/rev2cLRda9Tm9HrL70ZPut4rOHgY0FNrUu9BCbXA2sdQ+x0chA== + +is-weakref@^1.0.2: + version "1.0.2" + resolved "https://registry.yarnpkg.com/is-weakref/-/is-weakref-1.0.2.tgz#9529f383a9338205e89765e0392efc2f100f06f2" + integrity sha512-qctsuLZmIQ0+vSSMfoVvyFe2+GSEvnmZ2ezTup1SBse9+twCCeial6EEi3Nc2KFcf6+qz2FBPnjXsk8xhKSaPQ== + dependencies: + call-bind "^1.0.2" + +is-weakset@^2.0.1: + version "2.0.2" + resolved "https://registry.yarnpkg.com/is-weakset/-/is-weakset-2.0.2.tgz#4569d67a747a1ce5a994dfd4ef6dcea76e7c0a1d" + integrity sha512-t2yVvttHkQktwnNNmBQ98AhENLdPUTDTE21uPqAQ0ARwQfGeQKRVS0NNurH7bTf7RrvcVn1OOge45CnBeHCSmg== + dependencies: + call-bind "^1.0.2" + get-intrinsic "^1.1.1" + +is-window@^1.0.2: + version "1.0.2" + resolved "https://registry.yarnpkg.com/is-window/-/is-window-1.0.2.tgz#2c896ca53db97de45d3c33133a65d8c9f563480d" + integrity sha512-uj00kdXyZb9t9RcAUAwMZAnkBUwdYGhYlt7djMXhfyhUCzwNba50tIiBKR7q0l7tdoBtFVw/3JmLY6fI3rmZmg== + +isarray@0.0.1: + version "0.0.1" + resolved "https://registry.yarnpkg.com/isarray/-/isarray-0.0.1.tgz#8a18acfca9a8f4177e09abfc6038939b05d1eedf" + integrity sha512-D2S+3GLxWH+uhrNEcoh/fnmYeP8E8/zHl644d/jdA0g2uyXvy3sb0qxotE+ne0LtccHknQzWwZEzhak7oJ0COQ== + +isarray@^2.0.5: + version "2.0.5" + resolved "https://registry.yarnpkg.com/isarray/-/isarray-2.0.5.tgz#8af1e4c1221244cc62459faf38940d4e644a5723" + integrity sha512-xHjhDr3cNBK0BzdUJSPXZntQUx/mwMS5Rw4A7lPJ90XGAO6ISP/ePDNuo0vhqOZU+UD5JoodwCAAoZQd3FeAKw== + +isarray@~1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/isarray/-/isarray-1.0.0.tgz#bb935d48582cba168c06834957a54a3e07124f11" + integrity sha512-VLghIWNM6ELQzo7zwmcg0NmTVyWKYjvIeM83yjp0wRDTmUnrM678fQbcKBo6n2CJEF0szoG//ytg+TKla89ALQ== + +isexe@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/isexe/-/isexe-2.0.0.tgz#e8fbf374dc556ff8947a10dcb0572d633f2cfa10" + integrity sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw== + +isobject@^3.0.1: + version "3.0.1" + resolved "https://registry.yarnpkg.com/isobject/-/isobject-3.0.1.tgz#4e431e92b11a9731636aa1f9c8d1ccbcfdab78df" + integrity sha512-WhB9zCku7EGTj/HQQRz5aUQEUeoQZH2bWcltRErOpymJ4boYE6wL9Tbr23krRPSZ+C5zqNSrSw+Cc7sZZ4b7vg== + +isomorphic-base64@^1.0.2: + version "1.0.2" + resolved "https://registry.yarnpkg.com/isomorphic-base64/-/isomorphic-base64-1.0.2.tgz#f426aae82569ba8a4ec5ca73ad21a44ab1ee7803" + integrity sha512-pQFyLwShVPA1Qr0dE1ZPguJkbOsFGDfSq6Wzz6XaO33v74X6/iQjgYPozwkeKGQxOI1/H3Fz7+ROtnV1veyKEg== + +isstream@~0.1.2: + version "0.1.2" + resolved "https://registry.yarnpkg.com/isstream/-/isstream-0.1.2.tgz#47e63f7af55afa6f92e1500e690eb8b8529c099a" + integrity sha512-Yljz7ffyPbrLpLngrMtZ7NduUgVvi6wG9RJ9IUcyCd59YQ911PBJphODUcbOVbqYfxe1wuYf/LJ8PauMRwsM/g== + +istanbul-lib-coverage@^3.0.0, istanbul-lib-coverage@^3.2.0: + version "3.2.2" + resolved "https://registry.yarnpkg.com/istanbul-lib-coverage/-/istanbul-lib-coverage-3.2.2.tgz#2d166c4b0644d43a39f04bf6c2edd1e585f31756" + integrity sha512-O8dpsF+r0WV/8MNRKfnmrtCWhuKjxrq2w+jpzBL5UZKTi2LeVWnWOmWRxFlesJONmc+wLAGvKQZEOanko0LFTg== + +istanbul-lib-instrument@^5.0.4: + version "5.2.1" + resolved "https://registry.yarnpkg.com/istanbul-lib-instrument/-/istanbul-lib-instrument-5.2.1.tgz#d10c8885c2125574e1c231cacadf955675e1ce3d" + integrity sha512-pzqtp31nLv/XFOzXGuvhCb8qhjmTVo5vjVk19XE4CRlSWz0KoeJ3bw9XsA7nOp9YBf4qHjwBxkDzKcME/J29Yg== + dependencies: + "@babel/core" "^7.12.3" + "@babel/parser" "^7.14.7" + "@istanbuljs/schema" "^0.1.2" + istanbul-lib-coverage "^3.2.0" + semver "^6.3.0" + +istanbul-lib-instrument@^6.0.0: + version "6.0.1" + resolved "https://registry.yarnpkg.com/istanbul-lib-instrument/-/istanbul-lib-instrument-6.0.1.tgz#71e87707e8041428732518c6fb5211761753fbdf" + integrity sha512-EAMEJBsYuyyztxMxW3g7ugGPkrZsV57v0Hmv3mm1uQsmB+QnZuepg731CRaIgeUVSdmsTngOkSnauNF8p7FIhA== + dependencies: + "@babel/core" "^7.12.3" + "@babel/parser" "^7.14.7" + "@istanbuljs/schema" "^0.1.2" + istanbul-lib-coverage "^3.2.0" + semver "^7.5.4" + +istanbul-lib-report@^3.0.0: + version "3.0.1" + resolved "https://registry.yarnpkg.com/istanbul-lib-report/-/istanbul-lib-report-3.0.1.tgz#908305bac9a5bd175ac6a74489eafd0fc2445a7d" + integrity sha512-GCfE1mtsHGOELCU8e/Z7YWzpmybrx/+dSTfLrvY8qRmaY6zXTKWn6WQIjaAFw069icm6GVMNkgu0NzI4iPZUNw== + dependencies: + istanbul-lib-coverage "^3.0.0" + make-dir "^4.0.0" + supports-color "^7.1.0" + +istanbul-lib-source-maps@^4.0.0: + version "4.0.1" + resolved "https://registry.yarnpkg.com/istanbul-lib-source-maps/-/istanbul-lib-source-maps-4.0.1.tgz#895f3a709fcfba34c6de5a42939022f3e4358551" + integrity sha512-n3s8EwkdFIJCG3BPKBYvskgXGoy88ARzvegkitk60NxRdwltLOTaH7CUiMRXvwYorl0Q712iEjcWB+fK/MrWVw== + dependencies: + debug "^4.1.1" + istanbul-lib-coverage "^3.0.0" + source-map "^0.6.1" + +istanbul-reports@^3.1.3: + version "3.1.6" + resolved "https://registry.yarnpkg.com/istanbul-reports/-/istanbul-reports-3.1.6.tgz#2544bcab4768154281a2f0870471902704ccaa1a" + integrity sha512-TLgnMkKg3iTDsQ9PbPTdpfAK2DzjF9mqUG7RMgcQl8oFjad8ob4laGxv5XV5U9MAfx8D6tSJiUyuAwzLicaxlg== + dependencies: + html-escaper "^2.0.0" + istanbul-lib-report "^3.0.0" + +jackspeak@^2.3.5: + version "2.3.6" + resolved "https://registry.yarnpkg.com/jackspeak/-/jackspeak-2.3.6.tgz#647ecc472238aee4b06ac0e461acc21a8c505ca8" + integrity sha512-N3yCS/NegsOBokc8GAdM8UcmfsKiSS8cipheD/nivzr700H+nsMOxJjQnvwOcRYVuFkdH0wGUvW2WbXGmrZGbQ== + dependencies: + "@isaacs/cliui" "^8.0.2" + optionalDependencies: + "@pkgjs/parseargs" "^0.11.0" + +jest-changed-files@^29.7.0: + version "29.7.0" + resolved "https://registry.yarnpkg.com/jest-changed-files/-/jest-changed-files-29.7.0.tgz#1c06d07e77c78e1585d020424dedc10d6e17ac3a" + integrity sha512-fEArFiwf1BpQ+4bXSprcDc3/x4HSzL4al2tozwVpDFpsxALjLYdyiIK4e5Vz66GQJIbXJ82+35PtysofptNX2w== + dependencies: + execa "^5.0.0" + jest-util "^29.7.0" + p-limit "^3.1.0" + +jest-circus@^29.7.0: + version "29.7.0" + resolved "https://registry.yarnpkg.com/jest-circus/-/jest-circus-29.7.0.tgz#b6817a45fcc835d8b16d5962d0c026473ee3668a" + integrity sha512-3E1nCMgipcTkCocFwM90XXQab9bS+GMsjdpmPrlelaxwD93Ad8iVEjX/vvHPdLPnFf+L40u+5+iutRdA1N9myw== + dependencies: + "@jest/environment" "^29.7.0" + "@jest/expect" "^29.7.0" + "@jest/test-result" "^29.7.0" + "@jest/types" "^29.6.3" + "@types/node" "*" + chalk "^4.0.0" + co "^4.6.0" + dedent "^1.0.0" + is-generator-fn "^2.0.0" + jest-each "^29.7.0" + jest-matcher-utils "^29.7.0" + jest-message-util "^29.7.0" + jest-runtime "^29.7.0" + jest-snapshot "^29.7.0" + jest-util "^29.7.0" + p-limit "^3.1.0" + pretty-format "^29.7.0" + pure-rand "^6.0.0" + slash "^3.0.0" + stack-utils "^2.0.3" + +jest-cli@^29.7.0: + version "29.7.0" + resolved "https://registry.yarnpkg.com/jest-cli/-/jest-cli-29.7.0.tgz#5592c940798e0cae677eec169264f2d839a37995" + integrity sha512-OVVobw2IubN/GSYsxETi+gOe7Ka59EFMR/twOU3Jb2GnKKeMGJB5SGUUrEz3SFVmJASUdZUzy83sLNNQ2gZslg== + dependencies: + "@jest/core" "^29.7.0" + "@jest/test-result" "^29.7.0" + "@jest/types" "^29.6.3" + chalk "^4.0.0" + create-jest "^29.7.0" + exit "^0.1.2" + import-local "^3.0.2" + jest-config "^29.7.0" + jest-util "^29.7.0" + jest-validate "^29.7.0" + yargs "^17.3.1" + +jest-config@^29.7.0: + version "29.7.0" + resolved "https://registry.yarnpkg.com/jest-config/-/jest-config-29.7.0.tgz#bcbda8806dbcc01b1e316a46bb74085a84b0245f" + integrity sha512-uXbpfeQ7R6TZBqI3/TxCU4q4ttk3u0PJeC+E0zbfSoSjq6bJ7buBPxzQPL0ifrkY4DNu4JUdk0ImlBUYi840eQ== + dependencies: + "@babel/core" "^7.11.6" + "@jest/test-sequencer" "^29.7.0" + "@jest/types" "^29.6.3" + babel-jest "^29.7.0" + chalk "^4.0.0" + ci-info "^3.2.0" + deepmerge "^4.2.2" + glob "^7.1.3" + graceful-fs "^4.2.9" + jest-circus "^29.7.0" + jest-environment-node "^29.7.0" + jest-get-type "^29.6.3" + jest-regex-util "^29.6.3" + jest-resolve "^29.7.0" + jest-runner "^29.7.0" + jest-util "^29.7.0" + jest-validate "^29.7.0" + micromatch "^4.0.4" + parse-json "^5.2.0" + pretty-format "^29.7.0" + slash "^3.0.0" + strip-json-comments "^3.1.1" + +jest-diff@^29.7.0: + version "29.7.0" + resolved "https://registry.yarnpkg.com/jest-diff/-/jest-diff-29.7.0.tgz#017934a66ebb7ecf6f205e84699be10afd70458a" + integrity sha512-LMIgiIrhigmPrs03JHpxUh2yISK3vLFPkAodPeo0+BuF7wA2FoQbkEg1u8gBYBThncu7e1oEDUfIXVuTqLRUjw== + dependencies: + chalk "^4.0.0" + diff-sequences "^29.6.3" + jest-get-type "^29.6.3" + pretty-format "^29.7.0" + +jest-docblock@^29.7.0: + version "29.7.0" + resolved "https://registry.yarnpkg.com/jest-docblock/-/jest-docblock-29.7.0.tgz#8fddb6adc3cdc955c93e2a87f61cfd350d5d119a" + integrity sha512-q617Auw3A612guyaFgsbFeYpNP5t2aoUNLwBUbc/0kD1R4t9ixDbyFTHd1nok4epoVFpr7PmeWHrhvuV3XaJ4g== + dependencies: + detect-newline "^3.0.0" + +jest-each@^29.7.0: + version "29.7.0" + resolved "https://registry.yarnpkg.com/jest-each/-/jest-each-29.7.0.tgz#162a9b3f2328bdd991beaabffbb74745e56577d1" + integrity sha512-gns+Er14+ZrEoC5fhOfYCY1LOHHr0TI+rQUHZS8Ttw2l7gl+80eHc/gFf2Ktkw0+SIACDTeWvpFcv3B04VembQ== + dependencies: + "@jest/types" "^29.6.3" + chalk "^4.0.0" + jest-get-type "^29.6.3" + jest-util "^29.7.0" + pretty-format "^29.7.0" + +jest-environment-jsdom@^29.5.0: + version "29.7.0" + resolved "https://registry.yarnpkg.com/jest-environment-jsdom/-/jest-environment-jsdom-29.7.0.tgz#d206fa3551933c3fd519e5dfdb58a0f5139a837f" + integrity sha512-k9iQbsf9OyOfdzWH8HDmrRT0gSIcX+FLNW7IQq94tFX0gynPwqDTW0Ho6iMVNjGz/nb+l/vW3dWM2bbLLpkbXA== + dependencies: + "@jest/environment" "^29.7.0" + "@jest/fake-timers" "^29.7.0" + "@jest/types" "^29.6.3" + "@types/jsdom" "^20.0.0" + "@types/node" "*" + jest-mock "^29.7.0" + jest-util "^29.7.0" + jsdom "^20.0.0" + +jest-environment-node@^29.7.0: + version "29.7.0" + resolved "https://registry.yarnpkg.com/jest-environment-node/-/jest-environment-node-29.7.0.tgz#0b93e111dda8ec120bc8300e6d1fb9576e164376" + integrity sha512-DOSwCRqXirTOyheM+4d5YZOrWcdu0LNZ87ewUoywbcb2XR4wKgqiG8vNeYwhjFMbEkfju7wx2GYH0P2gevGvFw== + dependencies: + "@jest/environment" "^29.7.0" + "@jest/fake-timers" "^29.7.0" + "@jest/types" "^29.6.3" + "@types/node" "*" + jest-mock "^29.7.0" + jest-util "^29.7.0" + +jest-get-type@^29.6.3: + version "29.6.3" + resolved "https://registry.yarnpkg.com/jest-get-type/-/jest-get-type-29.6.3.tgz#36f499fdcea197c1045a127319c0481723908fd1" + integrity sha512-zrteXnqYxfQh7l5FHyL38jL39di8H8rHoecLH3JNxH3BwOrBsNeabdap5e0I23lD4HHI8W5VFBZqG4Eaq5LNcw== + +jest-haste-map@^29.7.0: + version "29.7.0" + resolved "https://registry.yarnpkg.com/jest-haste-map/-/jest-haste-map-29.7.0.tgz#3c2396524482f5a0506376e6c858c3bbcc17b104" + integrity sha512-fP8u2pyfqx0K1rGn1R9pyE0/KTn+G7PxktWidOBTqFPLYX0b9ksaMFkhK5vrS3DVun09pckLdlx90QthlW7AmA== + dependencies: + "@jest/types" "^29.6.3" + "@types/graceful-fs" "^4.1.3" + "@types/node" "*" + anymatch "^3.0.3" + fb-watchman "^2.0.0" + graceful-fs "^4.2.9" + jest-regex-util "^29.6.3" + jest-util "^29.7.0" + jest-worker "^29.7.0" + micromatch "^4.0.4" + walker "^1.0.8" + optionalDependencies: + fsevents "^2.3.2" + +jest-leak-detector@^29.7.0: + version "29.7.0" + resolved "https://registry.yarnpkg.com/jest-leak-detector/-/jest-leak-detector-29.7.0.tgz#5b7ec0dadfdfec0ca383dc9aa016d36b5ea4c728" + integrity sha512-kYA8IJcSYtST2BY9I+SMC32nDpBT3J2NvWJx8+JCuCdl/CR1I4EKUJROiP8XtCcxqgTTBGJNdbB1A8XRKbTetw== + dependencies: + jest-get-type "^29.6.3" + pretty-format "^29.7.0" + +jest-matcher-utils@^29.7.0: + version "29.7.0" + resolved "https://registry.yarnpkg.com/jest-matcher-utils/-/jest-matcher-utils-29.7.0.tgz#ae8fec79ff249fd592ce80e3ee474e83a6c44f12" + integrity sha512-sBkD+Xi9DtcChsI3L3u0+N0opgPYnCRPtGcQYrgXmR+hmt/fYfWAL0xRXYU8eWOdfuLgBe0YCW3AFtnRLagq/g== + dependencies: + chalk "^4.0.0" + jest-diff "^29.7.0" + jest-get-type "^29.6.3" + pretty-format "^29.7.0" + +jest-message-util@^29.7.0: + version "29.7.0" + resolved "https://registry.yarnpkg.com/jest-message-util/-/jest-message-util-29.7.0.tgz#8bc392e204e95dfe7564abbe72a404e28e51f7f3" + integrity sha512-GBEV4GRADeP+qtB2+6u61stea8mGcOT4mCtrYISZwfu9/ISHFJ/5zOMXYbpBE9RsS5+Gb63DW4FgmnKJ79Kf6w== + dependencies: + "@babel/code-frame" "^7.12.13" + "@jest/types" "^29.6.3" + "@types/stack-utils" "^2.0.0" + chalk "^4.0.0" + graceful-fs "^4.2.9" + micromatch "^4.0.4" + pretty-format "^29.7.0" + slash "^3.0.0" + stack-utils "^2.0.3" + +jest-mock@^29.7.0: + version "29.7.0" + resolved "https://registry.yarnpkg.com/jest-mock/-/jest-mock-29.7.0.tgz#4e836cf60e99c6fcfabe9f99d017f3fdd50a6347" + integrity sha512-ITOMZn+UkYS4ZFh83xYAOzWStloNzJFO2s8DWrE4lhtGD+AorgnbkiKERe4wQVBydIGPx059g6riW5Btp6Llnw== + dependencies: + "@jest/types" "^29.6.3" + "@types/node" "*" + jest-util "^29.7.0" + +jest-pnp-resolver@^1.2.2: + version "1.2.3" + resolved "https://registry.yarnpkg.com/jest-pnp-resolver/-/jest-pnp-resolver-1.2.3.tgz#930b1546164d4ad5937d5540e711d4d38d4cad2e" + integrity sha512-+3NpwQEnRoIBtx4fyhblQDPgJI0H1IEIkX7ShLUjPGA7TtUTvI1oiKi3SR4oBR0hQhQR80l4WAe5RrXBwWMA8w== + +jest-regex-util@^29.6.3: + version "29.6.3" + resolved "https://registry.yarnpkg.com/jest-regex-util/-/jest-regex-util-29.6.3.tgz#4a556d9c776af68e1c5f48194f4d0327d24e8a52" + integrity sha512-KJJBsRCyyLNWCNBOvZyRDnAIfUiRJ8v+hOBQYGn8gDyF3UegwiP4gwRR3/SDa42g1YbVycTidUF3rKjyLFDWbg== + +jest-resolve-dependencies@^29.7.0: + version "29.7.0" + resolved "https://registry.yarnpkg.com/jest-resolve-dependencies/-/jest-resolve-dependencies-29.7.0.tgz#1b04f2c095f37fc776ff40803dc92921b1e88428" + integrity sha512-un0zD/6qxJ+S0et7WxeI3H5XSe9lTBBR7bOHCHXkKR6luG5mwDDlIzVQ0V5cZCuoTgEdcdwzTghYkTWfubi+nA== + dependencies: + jest-regex-util "^29.6.3" + jest-snapshot "^29.7.0" + +jest-resolve@^29.7.0: + version "29.7.0" + resolved "https://registry.yarnpkg.com/jest-resolve/-/jest-resolve-29.7.0.tgz#64d6a8992dd26f635ab0c01e5eef4399c6bcbc30" + integrity sha512-IOVhZSrg+UvVAshDSDtHyFCCBUl/Q3AAJv8iZ6ZjnZ74xzvwuzLXid9IIIPgTnY62SJjfuupMKZsZQRsCvxEgA== + dependencies: + chalk "^4.0.0" + graceful-fs "^4.2.9" + jest-haste-map "^29.7.0" + jest-pnp-resolver "^1.2.2" + jest-util "^29.7.0" + jest-validate "^29.7.0" + resolve "^1.20.0" + resolve.exports "^2.0.0" + slash "^3.0.0" + +jest-runner@^29.7.0: + version "29.7.0" + resolved "https://registry.yarnpkg.com/jest-runner/-/jest-runner-29.7.0.tgz#809af072d408a53dcfd2e849a4c976d3132f718e" + integrity sha512-fsc4N6cPCAahybGBfTRcq5wFR6fpLznMg47sY5aDpsoejOcVYFb07AHuSnR0liMcPTgBsA3ZJL6kFOjPdoNipQ== + dependencies: + "@jest/console" "^29.7.0" + "@jest/environment" "^29.7.0" + "@jest/test-result" "^29.7.0" + "@jest/transform" "^29.7.0" + "@jest/types" "^29.6.3" + "@types/node" "*" + chalk "^4.0.0" + emittery "^0.13.1" + graceful-fs "^4.2.9" + jest-docblock "^29.7.0" + jest-environment-node "^29.7.0" + jest-haste-map "^29.7.0" + jest-leak-detector "^29.7.0" + jest-message-util "^29.7.0" + jest-resolve "^29.7.0" + jest-runtime "^29.7.0" + jest-util "^29.7.0" + jest-watcher "^29.7.0" + jest-worker "^29.7.0" + p-limit "^3.1.0" + source-map-support "0.5.13" + +jest-runtime@^29.7.0: + version "29.7.0" + resolved "https://registry.yarnpkg.com/jest-runtime/-/jest-runtime-29.7.0.tgz#efecb3141cf7d3767a3a0cc8f7c9990587d3d817" + integrity sha512-gUnLjgwdGqW7B4LvOIkbKs9WGbn+QLqRQQ9juC6HndeDiezIwhDP+mhMwHWCEcfQ5RUXa6OPnFF8BJh5xegwwQ== + dependencies: + "@jest/environment" "^29.7.0" + "@jest/fake-timers" "^29.7.0" + "@jest/globals" "^29.7.0" + "@jest/source-map" "^29.6.3" + "@jest/test-result" "^29.7.0" + "@jest/transform" "^29.7.0" + "@jest/types" "^29.6.3" + "@types/node" "*" + chalk "^4.0.0" + cjs-module-lexer "^1.0.0" + collect-v8-coverage "^1.0.0" + glob "^7.1.3" + graceful-fs "^4.2.9" + jest-haste-map "^29.7.0" + jest-message-util "^29.7.0" + jest-mock "^29.7.0" + jest-regex-util "^29.6.3" + jest-resolve "^29.7.0" + jest-snapshot "^29.7.0" + jest-util "^29.7.0" + slash "^3.0.0" + strip-bom "^4.0.0" + +jest-snapshot@^29.7.0: + version "29.7.0" + resolved "https://registry.yarnpkg.com/jest-snapshot/-/jest-snapshot-29.7.0.tgz#c2c574c3f51865da1bb329036778a69bf88a6be5" + integrity sha512-Rm0BMWtxBcioHr1/OX5YCP8Uov4riHvKPknOGs804Zg9JGZgmIBkbtlxJC/7Z4msKYVbIJtfU+tKb8xlYNfdkw== + dependencies: + "@babel/core" "^7.11.6" + "@babel/generator" "^7.7.2" + "@babel/plugin-syntax-jsx" "^7.7.2" + "@babel/plugin-syntax-typescript" "^7.7.2" + "@babel/types" "^7.3.3" + "@jest/expect-utils" "^29.7.0" + "@jest/transform" "^29.7.0" + "@jest/types" "^29.6.3" + babel-preset-current-node-syntax "^1.0.0" + chalk "^4.0.0" + expect "^29.7.0" + graceful-fs "^4.2.9" + jest-diff "^29.7.0" + jest-get-type "^29.6.3" + jest-matcher-utils "^29.7.0" + jest-message-util "^29.7.0" + jest-util "^29.7.0" + natural-compare "^1.4.0" + pretty-format "^29.7.0" + semver "^7.5.3" + +jest-util@^29.7.0: + version "29.7.0" + resolved "https://registry.yarnpkg.com/jest-util/-/jest-util-29.7.0.tgz#23c2b62bfb22be82b44de98055802ff3710fc0bc" + integrity sha512-z6EbKajIpqGKU56y5KBUgy1dt1ihhQJgWzUlZHArA/+X2ad7Cb5iF+AK1EWVL/Bo7Rz9uurpqw6SiBCefUbCGA== + dependencies: + "@jest/types" "^29.6.3" + "@types/node" "*" + chalk "^4.0.0" + ci-info "^3.2.0" + graceful-fs "^4.2.9" + picomatch "^2.2.3" + +jest-validate@^29.7.0: + version "29.7.0" + resolved "https://registry.yarnpkg.com/jest-validate/-/jest-validate-29.7.0.tgz#7bf705511c64da591d46b15fce41400d52147d9c" + integrity sha512-ZB7wHqaRGVw/9hST/OuFUReG7M8vKeq0/J2egIGLdvjHCmYqGARhzXmtgi+gVeZ5uXFF219aOc3Ls2yLg27tkw== + dependencies: + "@jest/types" "^29.6.3" + camelcase "^6.2.0" + chalk "^4.0.0" + jest-get-type "^29.6.3" + leven "^3.1.0" + pretty-format "^29.7.0" + +jest-watcher@^29.7.0: + version "29.7.0" + resolved "https://registry.yarnpkg.com/jest-watcher/-/jest-watcher-29.7.0.tgz#7810d30d619c3a62093223ce6bb359ca1b28a2f2" + integrity sha512-49Fg7WXkU3Vl2h6LbLtMQ/HyB6rXSIX7SqvBLQmssRBGN9I0PNvPmAmCWSOY6SOvrjhI/F7/bGAv9RtnsPA03g== + dependencies: + "@jest/test-result" "^29.7.0" + "@jest/types" "^29.6.3" + "@types/node" "*" + ansi-escapes "^4.2.1" + chalk "^4.0.0" + emittery "^0.13.1" + jest-util "^29.7.0" + string-length "^4.0.1" + +jest-worker@^27.4.5: + version "27.5.1" + resolved "https://registry.yarnpkg.com/jest-worker/-/jest-worker-27.5.1.tgz#8d146f0900e8973b106b6f73cc1e9a8cb86f8db0" + integrity sha512-7vuh85V5cdDofPyxn58nrPjBktZo0u9x1g8WtjQol+jZDaE+fhN+cIvTj11GndBnMnyfrUOG1sZQxCdjKh+DKg== + dependencies: + "@types/node" "*" + merge-stream "^2.0.0" + supports-color "^8.0.0" + +jest-worker@^29.5.0, jest-worker@^29.7.0: + version "29.7.0" + resolved "https://registry.yarnpkg.com/jest-worker/-/jest-worker-29.7.0.tgz#acad073acbbaeb7262bd5389e1bcf43e10058d4a" + integrity sha512-eIz2msL/EzL9UFTFFx7jBTkeZfku0yUAyZZZmJ93H2TYEiroIx2PQjEXcwYtYl8zXCxb+PAmA2hLIt/6ZEkPHw== + dependencies: + "@types/node" "*" + jest-util "^29.7.0" + merge-stream "^2.0.0" + supports-color "^8.0.0" + +jest@^29.5.0: + version "29.7.0" + resolved "https://registry.yarnpkg.com/jest/-/jest-29.7.0.tgz#994676fc24177f088f1c5e3737f5697204ff2613" + integrity sha512-NIy3oAFp9shda19hy4HK0HRTWKtPJmGdnvywu01nOqNC2vZg+Z+fvJDxpMQA88eb2I9EcafcdjYgsDthnYTvGw== + dependencies: + "@jest/core" "^29.7.0" + "@jest/types" "^29.6.3" + import-local "^3.0.2" + jest-cli "^29.7.0" + +jquery@3.6.3: + version "3.6.3" + resolved "https://registry.yarnpkg.com/jquery/-/jquery-3.6.3.tgz#23ed2ffed8a19e048814f13391a19afcdba160e6" + integrity sha512-bZ5Sy3YzKo9Fyc8wH2iIQK4JImJ6R0GWI9kL1/k7Z91ZBNgkRXE6U0JfHIizZbort8ZunhSI3jw9I6253ahKfg== + +js-cookie@^2.2.1: + version "2.2.1" + resolved "https://registry.yarnpkg.com/js-cookie/-/js-cookie-2.2.1.tgz#69e106dc5d5806894562902aa5baec3744e9b2b8" + integrity sha512-HvdH2LzI/EAZcUwA8+0nKNtWHqS+ZmijLA30RwZA0bo7ToCckjK5MkGhjED9KoRcXO6BaGI3I9UIzSA1FKFPOQ== + +"js-tokens@^3.0.0 || ^4.0.0", js-tokens@^4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/js-tokens/-/js-tokens-4.0.0.tgz#19203fb59991df98e3a287050d4647cdeaf32499" + integrity sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ== + +js-yaml@4.1.0, js-yaml@^4.1.0: + version "4.1.0" + resolved "https://registry.yarnpkg.com/js-yaml/-/js-yaml-4.1.0.tgz#c1fb65f8f5017901cdd2c951864ba18458a10602" + integrity sha512-wpxZs9NoxZaJESJGIZTyDEaYpl0FKSA+FB9aJiyemKhMwkxQg63h4T1KJgUGHpTqPDNRcmmYLugrRjJlBtWvRA== + dependencies: + argparse "^2.0.1" + +js-yaml@^3.13.1: + version "3.14.1" + resolved "https://registry.yarnpkg.com/js-yaml/-/js-yaml-3.14.1.tgz#dae812fdb3825fa306609a8717383c50c36a0537" + integrity sha512-okMH7OXXJ7YrN9Ok3/SXrnu4iX9yOk+25nqX4imS2npuvTYDmo/QEZoqwZkYaIDk3jVvBOTOIEgEhaLOynBS9g== + dependencies: + argparse "^1.0.7" + esprima "^4.0.0" + +jsbn@~0.1.0: + version "0.1.1" + resolved "https://registry.yarnpkg.com/jsbn/-/jsbn-0.1.1.tgz#a5e654c2e5a2deb5f201d96cefbca80c0ef2f513" + integrity sha512-UVU9dibq2JcFWxQPA6KCqj5O42VOmAY3zQUfEKxU0KpTGXwNoCjkX1e13eHNvw/xPynt6pU0rZ1htjWTNTSXsg== + +jsdoc-type-pratt-parser@~4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/jsdoc-type-pratt-parser/-/jsdoc-type-pratt-parser-4.0.0.tgz#136f0571a99c184d84ec84662c45c29ceff71114" + integrity sha512-YtOli5Cmzy3q4dP26GraSOeAhqecewG04hoO8DY56CH4KJ9Fvv5qKWUCCo3HZob7esJQHCv6/+bnTy72xZZaVQ== + +jsdom@^20.0.0: + version "20.0.3" + resolved "https://registry.yarnpkg.com/jsdom/-/jsdom-20.0.3.tgz#886a41ba1d4726f67a8858028c99489fed6ad4db" + integrity sha512-SYhBvTh89tTfCD/CRdSOm13mOBa42iTaTyfyEWBdKcGdPxPtLFBXuHR8XHb33YNYaP+lLbmSvBTsnoesCNJEsQ== + dependencies: + abab "^2.0.6" + acorn "^8.8.1" + acorn-globals "^7.0.0" + cssom "^0.5.0" + cssstyle "^2.3.0" + data-urls "^3.0.2" + decimal.js "^10.4.2" + domexception "^4.0.0" + escodegen "^2.0.0" + form-data "^4.0.0" + html-encoding-sniffer "^3.0.0" + http-proxy-agent "^5.0.0" + https-proxy-agent "^5.0.1" + is-potential-custom-element-name "^1.0.1" + nwsapi "^2.2.2" + parse5 "^7.1.1" + saxes "^6.0.0" + symbol-tree "^3.2.4" + tough-cookie "^4.1.2" + w3c-xmlserializer "^4.0.0" + webidl-conversions "^7.0.0" + whatwg-encoding "^2.0.0" + whatwg-mimetype "^3.0.0" + whatwg-url "^11.0.0" + ws "^8.11.0" + xml-name-validator "^4.0.0" + +jsesc@^2.5.1: + version "2.5.2" + resolved "https://registry.yarnpkg.com/jsesc/-/jsesc-2.5.2.tgz#80564d2e483dacf6e8ef209650a67df3f0c283a4" + integrity sha512-OYu7XEzjkCQ3C5Ps3QIZsQfNpqoJyZZA99wd9aWd05NCtC5pWOkShK2mkL6HXQR6/Cy2lbNdPlZBpuQHXE63gA== + +jsesc@~0.5.0: + version "0.5.0" + resolved "https://registry.yarnpkg.com/jsesc/-/jsesc-0.5.0.tgz#e7dee66e35d6fc16f710fe91d5cf69f70f08911d" + integrity sha512-uZz5UnB7u4T9LvwmFqXii7pZSouaRPorGs5who1Ip7VO0wxanFvBL7GkM6dTHlgX+jhBApRetaWpnDabOeTcnA== + +json-buffer@3.0.1: + version "3.0.1" + resolved "https://registry.yarnpkg.com/json-buffer/-/json-buffer-3.0.1.tgz#9338802a30d3b6605fbe0613e094008ca8c05a13" + integrity sha512-4bV5BfR2mqfQTJm+V5tPPdf+ZpuhiIvTuAB5g8kcrXOZpTT/QwwVRWBywX1ozr6lEuPdbHxwaJlm9G6mI2sfSQ== + +json-parse-even-better-errors@^2.3.0, json-parse-even-better-errors@^2.3.1: + version "2.3.1" + resolved "https://registry.yarnpkg.com/json-parse-even-better-errors/-/json-parse-even-better-errors-2.3.1.tgz#7c47805a94319928e05777405dc12e1f7a4ee02d" + integrity sha512-xyFwyhro/JEof6Ghe2iz2NcXoj2sloNsWr/XsERDK/oiPCfaNhl5ONfp+jQdAZRQQ0IJWNzH9zIZF7li91kh2w== + +json-schema-traverse@^0.4.1: + version "0.4.1" + resolved "https://registry.yarnpkg.com/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz#69f6a87d9513ab8bb8fe63bdb0979c448e684660" + integrity sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg== + +json-schema-traverse@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/json-schema-traverse/-/json-schema-traverse-1.0.0.tgz#ae7bcb3656ab77a73ba5c49bf654f38e6b6860e2" + integrity sha512-NM8/P9n3XjXhIZn1lLhkFaACTOURQXjWhV4BA/RnOv8xvgqtqpAX9IO4mRQxSx1Rlo4tqzeqb0sOlruaOy3dug== + +json-schema@0.4.0: + version "0.4.0" + resolved "https://registry.yarnpkg.com/json-schema/-/json-schema-0.4.0.tgz#f7de4cf6efab838ebaeb3236474cbba5a1930ab5" + integrity sha512-es94M3nTIfsEPisRafak+HDLfHXnKBhV3vU5eqPcS3flIWqcxJWgXHXiey3YrpaNsanY5ei1VoYEbOzijuq9BA== + +json-stable-stringify-without-jsonify@^1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/json-stable-stringify-without-jsonify/-/json-stable-stringify-without-jsonify-1.0.1.tgz#9db7b59496ad3f3cfef30a75142d2d930ad72651" + integrity sha512-Bdboy+l7tA3OGW6FjyFHWkP5LuByj1Tk33Ljyq0axyzdk9//JSi2u3fP1QSmd1KNwq6VOKYGlAu87CisVir6Pw== + +json-stringify-pretty-compact@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/json-stringify-pretty-compact/-/json-stringify-pretty-compact-2.0.0.tgz#e77c419f52ff00c45a31f07f4c820c2433143885" + integrity sha512-WRitRfs6BGq4q8gTgOy4ek7iPFXjbra0H3PmDLKm2xnZ+Gh1HUhiKGgCZkSPNULlP7mvfu6FV/mOLhCarspADQ== + +json-stringify-safe@~5.0.1: + version "5.0.1" + resolved "https://registry.yarnpkg.com/json-stringify-safe/-/json-stringify-safe-5.0.1.tgz#1296a2d58fd45f19a0f6ce01d65701e2c735b6eb" + integrity sha512-ZClg6AaYvamvYEE82d3Iyd3vSSIjQ+odgjaTzRuO3s7toCdFKczob2i0zCh7JE8kWn17yvAWhUVxvqGwUalsRA== + +json5@^1.0.2: + version "1.0.2" + resolved "https://registry.yarnpkg.com/json5/-/json5-1.0.2.tgz#63d98d60f21b313b77c4d6da18bfa69d80e1d593" + integrity sha512-g1MWMLBiz8FKi1e4w0UyVL3w+iJceWAFBAaBnnGKOpNa5f8TLktkbre1+s6oICydWAm+HRUGTmI+//xv2hvXYA== + dependencies: + minimist "^1.2.0" + +json5@^2.1.2, json5@^2.2.1, json5@^2.2.2, json5@^2.2.3: + version "2.2.3" + resolved "https://registry.yarnpkg.com/json5/-/json5-2.2.3.tgz#78cd6f1a19bdc12b73db5ad0c61efd66c1e29283" + integrity sha512-XmOWe7eyHYH14cLdVPoyg+GOH3rYX++KpzrylJwSW98t3Nk+U8XOl8FWKOgwtzdb8lXGf6zYwDUzeHMWfxasyg== + +jsonc-parser@^3.2.0: + version "3.2.1" + resolved "https://registry.yarnpkg.com/jsonc-parser/-/jsonc-parser-3.2.1.tgz#031904571ccf929d7670ee8c547545081cb37f1a" + integrity sha512-AilxAyFOAcK5wA1+LeaySVBrHsGQvUFCDWXKpZjzaL0PqW+xfBOttn8GNtWKFWqneyMZj41MWF9Kl6iPWLwgOA== + +jsonfile@^6.0.1: + version "6.1.0" + resolved "https://registry.yarnpkg.com/jsonfile/-/jsonfile-6.1.0.tgz#bc55b2634793c679ec6403094eb13698a6ec0aae" + integrity sha512-5dgndWOriYSm5cnYaJNhalLNDKOqFwyDB/rr1E9ZsGciGvKPs8R2xYGCacuf3z6K1YKDz182fd+fY3cn3pMqXQ== + dependencies: + universalify "^2.0.0" + optionalDependencies: + graceful-fs "^4.1.6" + +jsprim@^1.2.2: + version "1.4.2" + resolved "https://registry.yarnpkg.com/jsprim/-/jsprim-1.4.2.tgz#712c65533a15c878ba59e9ed5f0e26d5b77c5feb" + integrity sha512-P2bSOMAc/ciLz6DzgjVlGJP9+BrJWu5UDGK70C2iweC5QBIeFf0ZXRvGjEj2uYgrY2MkAAhsSWHDWlFtEroZWw== + dependencies: + assert-plus "1.0.0" + extsprintf "1.3.0" + json-schema "0.4.0" + verror "1.10.0" + +jsprim@^2.0.2: + version "2.0.2" + resolved "https://registry.yarnpkg.com/jsprim/-/jsprim-2.0.2.tgz#77ca23dbcd4135cd364800d22ff82c2185803d4d" + integrity sha512-gqXddjPqQ6G40VdnI6T6yObEC+pDNvyP95wdQhkWkg7crHH3km5qP1FsOXEkzEQwnz6gz5qGTn1c2Y52wP3OyQ== + dependencies: + assert-plus "1.0.0" + extsprintf "1.3.0" + json-schema "0.4.0" + verror "1.10.0" + +"jsx-ast-utils@^2.4.1 || ^3.0.0": + version "3.3.5" + resolved "https://registry.yarnpkg.com/jsx-ast-utils/-/jsx-ast-utils-3.3.5.tgz#4766bd05a8e2a11af222becd19e15575e52a853a" + integrity sha512-ZZow9HBI5O6EPgSJLUb8n2NKgmVWTwCvHGwFuJlMjvLFqlGG6pjirPhtdsseaLZjSibD8eegzmYpUZwoIlj2cQ== + dependencies: + array-includes "^3.1.6" + array.prototype.flat "^1.3.1" + object.assign "^4.1.4" + object.values "^1.1.6" + +keyv@^4.5.3: + version "4.5.4" + resolved "https://registry.yarnpkg.com/keyv/-/keyv-4.5.4.tgz#a879a99e29452f942439f2a405e3af8b31d4de93" + integrity sha512-oxVHkHR/EJf2CNXnWxRLW6mg7JyCCUcG0DtEGmL2ctUo1PNTin1PUil+r/+4r5MpVgC/fn1kjsx7mjSujKqIpw== + dependencies: + json-buffer "3.0.1" + +kind-of@^6.0.2: + version "6.0.3" + resolved "https://registry.yarnpkg.com/kind-of/-/kind-of-6.0.3.tgz#07c05034a6c349fa06e24fa35aa76db4580ce4dd" + integrity sha512-dcS1ul+9tmeD95T+x28/ehLgd9mENa3LsvDTtzm3vyBEO7RPptvAD+t44WVXaUjTBRcrpFeFlC8WCruUR456hw== + +kleur@^3.0.3: + version "3.0.3" + resolved "https://registry.yarnpkg.com/kleur/-/kleur-3.0.3.tgz#a79c9ecc86ee1ce3fa6206d1216c501f147fc07e" + integrity sha512-eTIzlVOSUR+JxdDFepEYcBMtZ9Qqdef+rnzWdRZuMbOywu5tO2w2N7rqjoANZ5k9vywhL6Br1VRjUIgTQx4E8w== + +klona@^2.0.6: + version "2.0.6" + resolved "https://registry.yarnpkg.com/klona/-/klona-2.0.6.tgz#85bffbf819c03b2f53270412420a4555ef882e22" + integrity sha512-dhG34DXATL5hSxJbIexCft8FChFXtmskoZYnoPWjXQuebWYCNkVeV3KkGegCK9CP1oswI/vQibS2GY7Em/sJJA== + +lazy-ass@^1.6.0: + version "1.6.0" + resolved "https://registry.yarnpkg.com/lazy-ass/-/lazy-ass-1.6.0.tgz#7999655e8646c17f089fdd187d150d3324d54513" + integrity sha512-cc8oEVoctTvsFZ/Oje/kGnHbpWHYBe8IAJe4C0QNc3t8uM/0Y8+erSz/7Y1ALuXTEZTMvxXwO6YbX1ey3ujiZw== + +lerc@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/lerc/-/lerc-3.0.0.tgz#36f36fbd4ba46f0abf4833799fff2e7d6865f5cb" + integrity sha512-Rm4J/WaHhRa93nCN2mwWDZFoRVF18G1f47C+kvQWyHGEZxFpTUi73p7lMVSAndyxGt6lJ2/CFbOcf9ra5p8aww== + +leven@^3.1.0: + version "3.1.0" + resolved "https://registry.yarnpkg.com/leven/-/leven-3.1.0.tgz#77891de834064cccba82ae7842bb6b14a13ed7f2" + integrity sha512-qsda+H8jTaUaN/x5vzW2rzc+8Rw4TAQ/4KjB46IwK5VH+IlVeeeje/EoZRpiXvIqjFgK84QffqPztGI3VBLG1A== + +levn@^0.4.1: + version "0.4.1" + resolved "https://registry.yarnpkg.com/levn/-/levn-0.4.1.tgz#ae4562c007473b932a6200d403268dd2fffc6ade" + integrity sha512-+bT2uH4E5LGE7h/n3evcS/sQlJXCpIp6ym8OWJ5eV6+67Dsql/LaaT7qJBAt2rzfoa/5QBGBhxDix1dMt2kQKQ== + dependencies: + prelude-ls "^1.2.1" + type-check "~0.4.0" + +lines-and-columns@^1.1.6: + version "1.2.4" + resolved "https://registry.yarnpkg.com/lines-and-columns/-/lines-and-columns-1.2.4.tgz#eca284f75d2965079309dc0ad9255abb2ebc1632" + integrity sha512-7ylylesZQ/PV29jhEDl3Ufjo6ZX7gCqJr5F7PKrqc93v7fzSymt1BpwEU8nAUXs8qzzvqhbjhK5QZg6Mt/HkBg== + +listr2@^3.8.3: + version "3.14.0" + resolved "https://registry.yarnpkg.com/listr2/-/listr2-3.14.0.tgz#23101cc62e1375fd5836b248276d1d2b51fdbe9e" + integrity sha512-TyWI8G99GX9GjE54cJ+RrNMcIFBfwMPxc3XTFiAYGN4s10hWROGtOg7+O6u6LE3mNkyld7RSLE6nrKBvTfcs3g== + dependencies: + cli-truncate "^2.1.0" + colorette "^2.0.16" + log-update "^4.0.0" + p-map "^4.0.0" + rfdc "^1.3.0" + rxjs "^7.5.1" + through "^2.3.8" + wrap-ansi "^7.0.0" + +livereload-js@^2.3.0: + version "2.4.0" + resolved "https://registry.yarnpkg.com/livereload-js/-/livereload-js-2.4.0.tgz#447c31cf1ea9ab52fc20db615c5ddf678f78009c" + integrity sha512-XPQH8Z2GDP/Hwz2PCDrh2mth4yFejwA1OZ/81Ti3LgKyhDcEjsSsqFWZojHG0va/duGd+WyosY7eXLDoOyqcPw== + +loader-runner@^4.2.0: + version "4.3.0" + resolved "https://registry.yarnpkg.com/loader-runner/-/loader-runner-4.3.0.tgz#c1b4a163b99f614830353b16755e7149ac2314e1" + integrity sha512-3R/1M+yS3j5ou80Me59j7F9IMs4PXs3VqRrm0TU3AbKPxlmpoY1TNscJV/oGJXo8qCatFGTfDbY6W6ipGOYXfg== + +loader-utils@^2.0.0: + version "2.0.4" + resolved "https://registry.yarnpkg.com/loader-utils/-/loader-utils-2.0.4.tgz#8b5cb38b5c34a9a018ee1fc0e6a066d1dfcc528c" + integrity sha512-xXqpXoINfFhgua9xiqD8fPFHgkoq1mmmpE92WlDbm9rNRd/EbRb+Gqf908T2DMfuHjjJlksiK2RbHVOdD/MqSw== + dependencies: + big.js "^5.2.2" + emojis-list "^3.0.0" + json5 "^2.1.2" + +locate-path@^5.0.0: + version "5.0.0" + resolved "https://registry.yarnpkg.com/locate-path/-/locate-path-5.0.0.tgz#1afba396afd676a6d42504d0a67a3a7eb9f62aa0" + integrity sha512-t7hw9pI+WvuwNJXwk5zVHpyhIqzg2qTlklJOf0mVxGSbe3Fp2VieZcduNYjaLDoy6p9uGpQEGWG87WpMKlNq8g== + dependencies: + p-locate "^4.1.0" + +locate-path@^6.0.0: + version "6.0.0" + resolved "https://registry.yarnpkg.com/locate-path/-/locate-path-6.0.0.tgz#55321eb309febbc59c4801d931a72452a681d286" + integrity sha512-iPZK6eYjbxRu3uB4/WZ3EsEIMJFMqAoopl3R+zuq0UjcAm/MO6KCweDgPfP3elTztoKP3KtnVHxTn2NHBSDVUw== + dependencies: + p-locate "^5.0.0" + +lodash.debounce@^4.0.8: + version "4.0.8" + resolved "https://registry.yarnpkg.com/lodash.debounce/-/lodash.debounce-4.0.8.tgz#82d79bff30a67c4005ffd5e2515300ad9ca4d7af" + integrity sha512-FT1yDzDYEoYWhnSGnpE/4Kj1fLZkDFyqRb7fNt6FdYOSxlUWAtp42Eh6Wb0rGIv/m9Bgo7x4GhQbm5Ys4SG5ow== + +lodash.isequal@^4.0.0: + version "4.5.0" + resolved "https://registry.yarnpkg.com/lodash.isequal/-/lodash.isequal-4.5.0.tgz#415c4478f2bcc30120c22ce10ed3226f7d3e18e0" + integrity sha512-pDo3lu8Jhfjqls6GkMgpahsF9kCyayhgykjyLMNFTKWrpVdAQtYyB4muAMWozBB4ig/dtWAmsMxLEI8wuz+DYQ== + +lodash.memoize@^4.1.1: + version "4.1.2" + resolved "https://registry.yarnpkg.com/lodash.memoize/-/lodash.memoize-4.1.2.tgz#bcc6c49a42a2840ed997f323eada5ecd182e0bfe" + integrity sha512-t7j+NzmgnQzTAYXcsHYLgimltOV1MXHtlOWf6GjL9Kj8GK5FInw5JotxvbOs+IvV1/Dzo04/fCGfLVs7aXb4Ag== + +lodash.merge@^4.6.2: + version "4.6.2" + resolved "https://registry.yarnpkg.com/lodash.merge/-/lodash.merge-4.6.2.tgz#558aa53b43b661e1925a0afdfa36a9a1085fe57a" + integrity sha512-0KpjqXRVvrYyCsX1swR/XTK0va6VQkQM6MNo7PqW77ByjAhoARA8EfrP1N4+KlKj8YS0ZUCtRT/YUuhyYDujIQ== + +lodash.once@^4.1.1: + version "4.1.1" + resolved "https://registry.yarnpkg.com/lodash.once/-/lodash.once-4.1.1.tgz#0dd3971213c7c56df880977d504c88fb471a97ac" + integrity sha512-Sb487aTOCr9drQVL8pIxOzVhafOjZN9UU54hiN8PU3uAiSV7lx1yYNpbNmex2PK6dSJoNTSJUUswT651yww3Mg== + +lodash@4.17.21, lodash@^4.1.1, lodash@^4.17.14, lodash@^4.17.15, lodash@^4.17.20, lodash@^4.17.21, lodash@^4.17.4: + version "4.17.21" + resolved "https://registry.yarnpkg.com/lodash/-/lodash-4.17.21.tgz#679591c564c3bffaae8454cf0b3df370c3d6911c" + integrity sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg== + +log-symbols@4.1.0, log-symbols@^4.0.0: + version "4.1.0" + resolved "https://registry.yarnpkg.com/log-symbols/-/log-symbols-4.1.0.tgz#3fbdbb95b4683ac9fc785111e792e558d4abd503" + integrity sha512-8XPvpAA8uyhfteu8pIvQxpJZ7SYYdpUivZpGy6sFsBuKRY/7rQGavedeB8aK+Zkyq6upMFVL/9AW6vOYzfRyLg== + dependencies: + chalk "^4.1.0" + is-unicode-supported "^0.1.0" + +log-update@^4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/log-update/-/log-update-4.0.0.tgz#589ecd352471f2a1c0c570287543a64dfd20e0a1" + integrity sha512-9fkkDevMefjg0mmzWFBW8YkFP91OrizzkW3diF7CpG+S2EYdy4+TVfGwz1zeF8x7hCx1ovSPTOE9Ngib74qqUg== + dependencies: + ansi-escapes "^4.3.0" + cli-cursor "^3.1.0" + slice-ansi "^4.0.0" + wrap-ansi "^6.2.0" + +log4js@1.1.1: + version "1.1.1" + resolved "https://registry.yarnpkg.com/log4js/-/log4js-1.1.1.tgz#c21d29c7604089e4f255833e7f94b3461de1ff43" + integrity sha512-lYb14ZSs1M/CUFuvy7Zk3VZLDtqrqOaVql9CE0tv8g6/qE1Gfq97XKdltBsjSxxvcJ+t8fAXOnvFxSsms7gGVg== + dependencies: + debug "^2.2.0" + semver "^5.3.0" + streamroller "^0.4.0" + +loose-envify@^1.0.0, loose-envify@^1.1.0, loose-envify@^1.2.0, loose-envify@^1.3.1, loose-envify@^1.4.0: + version "1.4.0" + resolved "https://registry.yarnpkg.com/loose-envify/-/loose-envify-1.4.0.tgz#71ee51fa7be4caec1a63839f7e682d8132d30caf" + integrity sha512-lyuxPGr/Wfhrlem2CL/UcnUc1zcqKAImBDzukY7Y5F/yQiNdko6+fRLevlw1HgMySw7f611UIY408EtxRSoK3Q== + dependencies: + js-tokens "^3.0.0 || ^4.0.0" + +lru-cache@^5.1.1: + version "5.1.1" + resolved "https://registry.yarnpkg.com/lru-cache/-/lru-cache-5.1.1.tgz#1da27e6710271947695daf6848e847f01d84b920" + integrity sha512-KpNARQA3Iwv+jTA0utUVVbrh+Jlrr1Fv0e56GGzAFOXN7dk/FviaDW8LHmK52DlcH4WP2n6gI8vN1aesBFgo9w== + dependencies: + yallist "^3.0.2" + +lru-cache@^6.0.0: + version "6.0.0" + resolved "https://registry.yarnpkg.com/lru-cache/-/lru-cache-6.0.0.tgz#6d6fe6570ebd96aaf90fcad1dafa3b2566db3a94" + integrity sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA== + dependencies: + yallist "^4.0.0" + +"lru-cache@^9.1.1 || ^10.0.0": + version "10.2.0" + resolved "https://registry.yarnpkg.com/lru-cache/-/lru-cache-10.2.0.tgz#0bd445ca57363465900f4d1f9bd8db343a4d95c3" + integrity sha512-2bIM8x+VAf6JT4bKAljS1qUWgMsqZRPGJS6FSahIMPVvctcNhyVp7AJu7quxOW9jwkryBReKZY5tY5JYv2n/7Q== + +lz-string@^1.5.0: + version "1.5.0" + resolved "https://registry.yarnpkg.com/lz-string/-/lz-string-1.5.0.tgz#c1ab50f77887b712621201ba9fd4e3a6ed099941" + integrity sha512-h5bgJWpxJNswbU7qCrV0tIKQCaS3blPDrqKWx+QxzuzL1zGUzij9XCWLrSLsJPu5t+eWA/ycetzYAO5IOMcWAQ== + +make-dir@^3.0.2: + version "3.1.0" + resolved "https://registry.yarnpkg.com/make-dir/-/make-dir-3.1.0.tgz#415e967046b3a7f1d185277d84aa58203726a13f" + integrity sha512-g3FeP20LNwhALb/6Cz6Dd4F2ngze0jz7tbzrD2wAV+o9FeNHe4rL+yK2md0J/fiSf1sa1ADhXqi5+oVwOM/eGw== + dependencies: + semver "^6.0.0" + +make-dir@^4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/make-dir/-/make-dir-4.0.0.tgz#c3c2307a771277cd9638305f915c29ae741b614e" + integrity sha512-hXdUTZYIVOt1Ex//jAQi+wTZZpUpwBj/0QsOzqegb3rGMMeJiSEu5xLHnYfBrRV4RH2+OCSOO95Is/7x1WJ4bw== + dependencies: + semver "^7.5.3" + +make-error@^1.1.1: + version "1.3.6" + resolved "https://registry.yarnpkg.com/make-error/-/make-error-1.3.6.tgz#2eb2e37ea9b67c4891f684a1394799af484cf7a2" + integrity sha512-s8UhlNe7vPKomQhC1qFelMokr/Sc3AgNbso3n74mVPA5LTZwkB9NlXf4XPamLxJE8h0gh73rM94xvwRT2CVInw== + +makeerror@1.0.12: + version "1.0.12" + resolved "https://registry.yarnpkg.com/makeerror/-/makeerror-1.0.12.tgz#3e5dd2079a82e812e983cc6610c4a2cb0eaa801a" + integrity sha512-JmqCvUhmt43madlpFzG4BQzG2Z3m6tvQDNKdClZnO3VbIudJYmxsT0FNJMeiB2+JTSlTQTSbU8QdesVmwJcmLg== + dependencies: + tmpl "1.0.5" + +mapbox-to-css-font@^2.4.1: + version "2.4.2" + resolved "https://registry.yarnpkg.com/mapbox-to-css-font/-/mapbox-to-css-font-2.4.2.tgz#a9e31b363ad8ca881cd339ca99f2d2a6b02ea5dd" + integrity sha512-f+NBjJJY4T3dHtlEz1wCG7YFlkODEjFIYlxDdLIDMNpkSksqTt+l/d4rjuwItxuzkuMFvPyrjzV2lxRM4ePcIA== + +marked@4.2.12: + version "4.2.12" + resolved "https://registry.yarnpkg.com/marked/-/marked-4.2.12.tgz#d69a64e21d71b06250da995dcd065c11083bebb5" + integrity sha512-yr8hSKa3Fv4D3jdZmtMMPghgVt6TWbk86WQaWhDloQjRSQhMMYCAro7jP7VDJrjjdV8pxVxMssXS8B8Y5DZ5aw== + +mdn-data@2.0.14: + version "2.0.14" + resolved "https://registry.yarnpkg.com/mdn-data/-/mdn-data-2.0.14.tgz#7113fc4281917d63ce29b43446f701e68c25ba50" + integrity sha512-dn6wd0uw5GsdswPFfsgMp5NSB0/aDe6fK94YJV/AJDYXL6HVLWBsxeq7js7Ad+mU2K9LAlwpk6kN2D5mwCPVow== + +memfs@^3.4.1: + version "3.6.0" + resolved "https://registry.yarnpkg.com/memfs/-/memfs-3.6.0.tgz#d7a2110f86f79dd950a8b6df6d57bc984aa185f6" + integrity sha512-EGowvkkgbMcIChjMTMkESFDbZeSh8xZ7kNSF0hAiAN4Jh6jgHCRS0Ga/+C8y6Au+oqpezRHCfPsmJ2+DwAgiwQ== + dependencies: + fs-monkey "^1.0.4" + +memoize-one@6.0.0, memoize-one@^6.0.0: + version "6.0.0" + resolved "https://registry.yarnpkg.com/memoize-one/-/memoize-one-6.0.0.tgz#b2591b871ed82948aee4727dc6abceeeac8c1045" + integrity sha512-rkpe71W0N0c0Xz6QD0eJETuWAJGnJ9afsl1srmwPrI+yBCkge5EycXXbYRyvL29zZVUWQCY7InPRCv3GDXuZNw== + +"memoize-one@>=3.1.1 <6", memoize-one@^5.1.1: + version "5.2.1" + resolved "https://registry.yarnpkg.com/memoize-one/-/memoize-one-5.2.1.tgz#8337aa3c4335581839ec01c3d594090cebe8f00e" + integrity sha512-zYiwtZUcYyXKo/np96AGZAckk+FWWsUdJ3cHGGmld7+AhvcWmQyGCYUh1hc4Q/pkOhb65dQR/pqCyK0cOaHz4Q== + +memoize-one@^4.0.0: + version "4.1.0" + resolved "https://registry.yarnpkg.com/memoize-one/-/memoize-one-4.1.0.tgz#a2387c58c03fff27ca390c31b764a79addf3f906" + integrity sha512-2GApq0yI/b22J2j9rhbrAlsHb0Qcz+7yWxeLG8h+95sl1XPUgeLimQSOdur4Vw7cUhrBHwaUZxWFZueojqNRzA== + +memory-fs@^0.5.0: + version "0.5.0" + resolved "https://registry.yarnpkg.com/memory-fs/-/memory-fs-0.5.0.tgz#324c01288b88652966d161db77838720845a8e3c" + integrity sha512-jA0rdU5KoQMC0e6ppoNRtpp6vjFq6+NY7r8hywnC7V+1Xj/MtHwGIbB1QaK/dunyjWteJzmkpd7ooeWg10T7GA== + dependencies: + errno "^0.1.3" + readable-stream "^2.0.1" + +merge-stream@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/merge-stream/-/merge-stream-2.0.0.tgz#52823629a14dd00c9770fb6ad47dc6310f2c1f60" + integrity sha512-abv/qOcuPfk3URPfDzmZU1LKmuw8kT+0nIHvKrKgFrwifol/doWcdA4ZqsWQ8ENrFKkd67Mfpo/LovbIUsbt3w== + +merge2@^1.3.0, merge2@^1.4.1: + version "1.4.1" + resolved "https://registry.yarnpkg.com/merge2/-/merge2-1.4.1.tgz#4368892f885e907455a6fd7dc55c0c9d404990ae" + integrity sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg== + +micromatch@^4.0.0, micromatch@^4.0.4, micromatch@^4.0.5: + version "4.0.5" + resolved "https://registry.yarnpkg.com/micromatch/-/micromatch-4.0.5.tgz#bc8999a7cbbf77cdc89f132f6e467051b49090c6" + integrity sha512-DMy+ERcEW2q8Z2Po+WNXuw3c5YaUSFjAO5GsJqfEl7UjvtIuFKO6ZrKvcItdy98dwFI2N1tg3zNIdKaQT+aNdA== + dependencies: + braces "^3.0.2" + picomatch "^2.3.1" + +mime-db@1.52.0: + version "1.52.0" + resolved "https://registry.yarnpkg.com/mime-db/-/mime-db-1.52.0.tgz#bbabcdc02859f4987301c856e3387ce5ec43bf70" + integrity sha512-sPU4uV7dYlvtWJxwwxHD0PuihVNiE7TyAbQ5SWxDCB9mUYvOgroQOwYQQOKPJ8CIbE+1ETVlOoK1UC2nU3gYvg== + +mime-types@^2.1.12, mime-types@^2.1.27, mime-types@~2.1.19: + version "2.1.35" + resolved "https://registry.yarnpkg.com/mime-types/-/mime-types-2.1.35.tgz#381a871b62a734450660ae3deee44813f70d959a" + integrity sha512-ZDY+bPm5zTTF+YpCrAU9nK0UgICYPT0QtT1NZWFv4s++TNkcgVaT0g6+4R2uI4MjQjzysHB1zxuWL50hzaeXiw== + dependencies: + mime-db "1.52.0" + +mimic-fn@^2.1.0: + version "2.1.0" + resolved "https://registry.yarnpkg.com/mimic-fn/-/mimic-fn-2.1.0.tgz#7ed2c2ccccaf84d3ffcb7a69b57711fc2083401b" + integrity sha512-OqbOk5oEQeAZ8WXWydlu9HJjz9WVdEIvamMCcXmuqUYjTknH/sqsWvhQ3vgwKFRR1HpjvNBKQ37nbJgYzGqGcg== + +min-indent@^1.0.0: + version "1.0.1" + resolved "https://registry.yarnpkg.com/min-indent/-/min-indent-1.0.1.tgz#a63f681673b30571fbe8bc25686ae746eefa9869" + integrity sha512-I9jwMn07Sy/IwOj3zVkVik2JTvgpaykDZEigL6Rx6N9LbMywwUSMtxET+7lVoDLLd3O3IXwJwvuuns8UB/HeAg== + +mini-create-react-context@^0.4.0: + version "0.4.1" + resolved "https://registry.yarnpkg.com/mini-create-react-context/-/mini-create-react-context-0.4.1.tgz#072171561bfdc922da08a60c2197a497cc2d1d5e" + integrity sha512-YWCYEmd5CQeHGSAKrYvXgmzzkrvssZcuuQDDeqkT+PziKGMgE+0MCCtcKbROzocGBG1meBLl2FotlRwf4gAzbQ== + dependencies: + "@babel/runtime" "^7.12.1" + tiny-warning "^1.0.3" + +minimatch@5.0.1: + version "5.0.1" + resolved "https://registry.yarnpkg.com/minimatch/-/minimatch-5.0.1.tgz#fb9022f7528125187c92bd9e9b6366be1cf3415b" + integrity sha512-nLDxIFRyhDblz3qMuq+SoRZED4+miJ/G+tdDrjkkkRnjAsBexeGpgjLEQ0blJy7rHhR2b93rhQY4SvyWu9v03g== + dependencies: + brace-expansion "^2.0.1" + +minimatch@9.0.3, minimatch@^9.0.1: + version "9.0.3" + resolved "https://registry.yarnpkg.com/minimatch/-/minimatch-9.0.3.tgz#a6e00c3de44c3a542bfaae70abfc22420a6da825" + integrity sha512-RHiac9mvaRw0x3AYRgDC1CxAP7HTcNrrECeA8YYJeWnpo+2Q5CegtZjaotWTWxDG3UeGA1coE05iH1mPjT/2mg== + dependencies: + brace-expansion "^2.0.1" + +minimatch@^3.0.4, minimatch@^3.0.5, minimatch@^3.1.1, minimatch@^3.1.2: + version "3.1.2" + resolved "https://registry.yarnpkg.com/minimatch/-/minimatch-3.1.2.tgz#19cd194bfd3e428f049a70817c038d89ab4be35b" + integrity sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw== + dependencies: + brace-expansion "^1.1.7" + +minimatch@^8.0.2: + version "8.0.4" + resolved "https://registry.yarnpkg.com/minimatch/-/minimatch-8.0.4.tgz#847c1b25c014d4e9a7f68aaf63dedd668a626229" + integrity sha512-W0Wvr9HyFXZRGIDgCicunpQ299OKXs9RgZfaukz4qAW/pJhcpUfupc9c+OObPOFueNy8VSrZgEmDtk6Kh4WzDA== + dependencies: + brace-expansion "^2.0.1" + +minimist@^1.2.0, minimist@^1.2.5, minimist@^1.2.6: + version "1.2.8" + resolved "https://registry.yarnpkg.com/minimist/-/minimist-1.2.8.tgz#c1a464e7693302e082a075cee0c057741ac4772c" + integrity sha512-2yyAR8qBkN3YuheJanUpWC5U3bb5osDywNB8RzDVlDwDHbocAJveqqj1u8+SVD7jkWT4yvsHCpWqqWqAxb0zCA== + +minipass@^4.2.4: + version "4.2.8" + resolved "https://registry.yarnpkg.com/minipass/-/minipass-4.2.8.tgz#f0010f64393ecfc1d1ccb5f582bcaf45f48e1a3a" + integrity sha512-fNzuVyifolSLFL4NzpF+wEF4qrgqaaKX0haXPQEdQ7NKAN+WecoKMHV09YcuL/DHxrUsYQOK3MiuDf7Ip2OXfQ== + +"minipass@^5.0.0 || ^6.0.2 || ^7.0.0": + version "7.0.4" + resolved "https://registry.yarnpkg.com/minipass/-/minipass-7.0.4.tgz#dbce03740f50a4786ba994c1fb908844d27b038c" + integrity sha512-jYofLM5Dam9279rdkWzqHozUo4ybjdZmCsDHePy5V/PbBcVMiSZR97gmAy45aqi8CK1lG2ECd356FU86avfwUQ== + +mkdirp@^0.5.1, mkdirp@^0.5.6: + version "0.5.6" + resolved "https://registry.yarnpkg.com/mkdirp/-/mkdirp-0.5.6.tgz#7def03d2432dcae4ba1d611445c48396062255f6" + integrity sha512-FP+p8RB8OWpF3YZBCrP5gtADmtXApB5AMLn+vdyA+PyxCjrCs00mjyUozssO33cwDeT3wNGdLxJ5M//YqtHAJw== + dependencies: + minimist "^1.2.6" + +mocha@10.2.0: + version "10.2.0" + resolved "https://registry.yarnpkg.com/mocha/-/mocha-10.2.0.tgz#1fd4a7c32ba5ac372e03a17eef435bd00e5c68b8" + integrity sha512-IDY7fl/BecMwFHzoqF2sg/SHHANeBoMMXFlS9r0OXKDssYE1M5O43wUY/9BVPeIvfH2zmEbBfseqN9gBQZzXkg== + dependencies: + ansi-colors "4.1.1" + browser-stdout "1.3.1" + chokidar "3.5.3" + debug "4.3.4" + diff "5.0.0" + escape-string-regexp "4.0.0" + find-up "5.0.0" + glob "7.2.0" + he "1.2.0" + js-yaml "4.1.0" + log-symbols "4.1.0" + minimatch "5.0.1" + ms "2.1.3" + nanoid "3.3.3" + serialize-javascript "6.0.0" + strip-json-comments "3.1.1" + supports-color "8.1.1" + workerpool "6.2.1" + yargs "16.2.0" + yargs-parser "20.2.4" + yargs-unparser "2.0.0" + +moment-timezone@0.5.41: + version "0.5.41" + resolved "https://registry.yarnpkg.com/moment-timezone/-/moment-timezone-0.5.41.tgz#a7ad3285fd24aaf5f93b8119a9d749c8039c64c5" + integrity sha512-e0jGNZDOHfBXJGz8vR/sIMXvBIGJJcqFjmlg9lmE+5KX1U7/RZNMswfD8nKnNCnQdKTIj50IaRKwl1fvMLyyRg== + dependencies: + moment "^2.29.4" + +moment@2.29.4: + version "2.29.4" + resolved "https://registry.yarnpkg.com/moment/-/moment-2.29.4.tgz#3dbe052889fe7c1b2ed966fcb3a77328964ef108" + integrity sha512-5LC9SOxjSc2HF6vO2CyuTDNivEdoz2IvyJJGj6X8DJ0eFyfszE0QiEd+iXmBvUP3WHxSjFH/vIsA0EN00cgr8w== + +moment@2.x, moment@^2.29.4: + version "2.30.1" + resolved "https://registry.yarnpkg.com/moment/-/moment-2.30.1.tgz#f8c91c07b7a786e30c59926df530b4eac96974ae" + integrity sha512-uEmtNhbDOrWPFS+hdjFCBfy9f2YoyzRpwcl+DqpC6taX21FzsTLQVbMV/W7PzNSX6x/bhC1zA3c2UQ5NzH6how== + +monaco-editor@0.34.0: + version "0.34.0" + resolved "https://registry.yarnpkg.com/monaco-editor/-/monaco-editor-0.34.0.tgz#b1749870a1f795dbfc4dc03d8e9b646ddcbeefa7" + integrity sha512-VF+S5zG8wxfinLKLrWcl4WUizMx+LeJrG4PM/M78OhcwocpV0jiyhX/pG6Q9jIOhrb/ckYi6nHnaR5OojlOZCQ== + +ms@2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/ms/-/ms-2.0.0.tgz#5608aeadfc00be6c2901df5f9861788de0d597c8" + integrity sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A== + +ms@2.1.2: + version "2.1.2" + resolved "https://registry.yarnpkg.com/ms/-/ms-2.1.2.tgz#d09d1f357b443f493382a8eb3ccd183872ae6009" + integrity sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w== + +ms@2.1.3, ms@^2.1.1: + version "2.1.3" + resolved "https://registry.yarnpkg.com/ms/-/ms-2.1.3.tgz#574c8138ce1d2b5861f0b44579dbadd60c6615b2" + integrity sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA== + +murmurhash-js@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/murmurhash-js/-/murmurhash-js-1.0.0.tgz#b06278e21fc6c37fa5313732b0412bcb6ae15f51" + integrity sha512-TvmkNhkv8yct0SVBSy+o8wYzXjE4Zz3PCesbfs8HiCXXdcTuocApFv11UWlNFWKYsP2okqrhb7JNlSm9InBhIw== + +nano-css@^5.3.1: + version "5.6.1" + resolved "https://registry.yarnpkg.com/nano-css/-/nano-css-5.6.1.tgz#964120cb1af6cccaa6d0717a473ccd876b34c197" + integrity sha512-T2Mhc//CepkTa3X4pUhKgbEheJHYAxD0VptuqFhDbGMUWVV2m+lkNiW/Ieuj35wrfC8Zm0l7HvssQh7zcEttSw== + dependencies: + "@jridgewell/sourcemap-codec" "^1.4.15" + css-tree "^1.1.2" + csstype "^3.1.2" + fastest-stable-stringify "^2.0.2" + inline-style-prefixer "^7.0.0" + rtl-css-js "^1.16.1" + stacktrace-js "^2.0.2" + stylis "^4.3.0" + +nanoid@3.3.3: + version "3.3.3" + resolved "https://registry.yarnpkg.com/nanoid/-/nanoid-3.3.3.tgz#fd8e8b7aa761fe807dba2d1b98fb7241bb724a25" + integrity sha512-p1sjXuopFs0xg+fPASzQ28agW1oHD7xDsd9Xkf3T15H3c/cifrFHVwrh74PdoklAPi+i7MdRsE47vm2r6JoB+w== + +nanoid@^3.3.7: + version "3.3.7" + resolved "https://registry.yarnpkg.com/nanoid/-/nanoid-3.3.7.tgz#d0c301a691bc8d54efa0a2226ccf3fe2fd656bd8" + integrity sha512-eSRppjcPIatRIMC1U6UngP8XFcz8MQWGQdt1MTBQ7NaAmvXDfvNxbvWV3x2y6CdEUciCSsDHDQZbhYaB8QEo2g== + +natural-compare-lite@^1.4.0: + version "1.4.0" + resolved "https://registry.yarnpkg.com/natural-compare-lite/-/natural-compare-lite-1.4.0.tgz#17b09581988979fddafe0201e931ba933c96cbb4" + integrity sha512-Tj+HTDSJJKaZnfiuw+iaF9skdPpTo2GtEly5JHnWV/hfv2Qj/9RKsGISQtLh2ox3l5EAGw487hnBee0sIJ6v2g== + +natural-compare@^1.4.0: + version "1.4.0" + resolved "https://registry.yarnpkg.com/natural-compare/-/natural-compare-1.4.0.tgz#4abebfeed7541f2c27acfb29bdbbd15c8d5ba4f7" + integrity sha512-OWND8ei3VtNC9h7V60qff3SVobHr996CTwgxubgyQYEpg290h9J0buyECNNJexkFm5sOajh5G116RYA1c8ZMSw== + +neo-async@^2.6.2: + version "2.6.2" + resolved "https://registry.yarnpkg.com/neo-async/-/neo-async-2.6.2.tgz#b4aafb93e3aeb2d8174ca53cf163ab7d7308305f" + integrity sha512-Yd3UES5mWCSqR+qNT93S3UoYUkqAZ9lLg8a7g9rimsWmYGK8cVToA4/sF3RrshdyV3sAGMXVUmpMYOw+dLpOuw== + +node-abort-controller@^3.0.1: + version "3.1.1" + resolved "https://registry.yarnpkg.com/node-abort-controller/-/node-abort-controller-3.1.1.tgz#a94377e964a9a37ac3976d848cb5c765833b8548" + integrity sha512-AGK2yQKIjRuqnc6VkX2Xj5d+QW8xZ87pa1UK6yA6ouUyuxfHuMP6umE5QK7UmTeOAymo+Zx1Fxiuw9rVx8taHQ== + +node-int64@^0.4.0: + version "0.4.0" + resolved "https://registry.yarnpkg.com/node-int64/-/node-int64-0.4.0.tgz#87a9065cdb355d3182d8f94ce11188b825c68a3b" + integrity sha512-O5lz91xSOeoXP6DulyHfllpq+Eg00MWitZIbtPfoSEvqIHdl5gfcY6hYzDWnj0qD5tz52PI08u9qUvSVeUBeHw== + +node-releases@^2.0.14: + version "2.0.14" + resolved "https://registry.yarnpkg.com/node-releases/-/node-releases-2.0.14.tgz#2ffb053bceb8b2be8495ece1ab6ce600c4461b0b" + integrity sha512-y10wOWt8yZpqXmOgRo77WaHEmhYQYGNA6y421PKsKYWEK8aW+cqAphborZDhqfyKrbZEN92CN1X2KbafY2s7Yw== + +normalize-path@^3.0.0, normalize-path@~3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/normalize-path/-/normalize-path-3.0.0.tgz#0dcd69ff23a1c9b11fd0978316644a0388216a65" + integrity sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA== + +npm-run-path@^4.0.0, npm-run-path@^4.0.1: + version "4.0.1" + resolved "https://registry.yarnpkg.com/npm-run-path/-/npm-run-path-4.0.1.tgz#b7ecd1e5ed53da8e37a55e1c2269e0b97ed748ea" + integrity sha512-S48WzZW777zhNIrn7gxOlISNAqi9ZC/uQFnRdbeIHhZhCA6UqpkOT8T1G7BvfdgP4Er8gF4sUbaS0i7QvIfCWw== + dependencies: + path-key "^3.0.0" + +nwsapi@^2.2.2: + version "2.2.7" + resolved "https://registry.yarnpkg.com/nwsapi/-/nwsapi-2.2.7.tgz#738e0707d3128cb750dddcfe90e4610482df0f30" + integrity sha512-ub5E4+FBPKwAZx0UwIQOjYWGHTEq5sPqHQNRN8Z9e4A7u3Tj1weLJsL59yH9vmvqEtBHaOmT6cYQKIZOxp35FQ== + +oauth-sign@~0.9.0: + version "0.9.0" + resolved "https://registry.yarnpkg.com/oauth-sign/-/oauth-sign-0.9.0.tgz#47a7b016baa68b5fa0ecf3dee08a85c679ac6455" + integrity sha512-fexhUFFPTGV8ybAtSIGbV6gOkSv8UtRbDBnAyLQw4QPKkgNlsH2ByPGtMUqdWkos6YCRmAqViwgZrJc/mRDzZQ== + +object-assign@4.x, object-assign@^4.1.0, object-assign@^4.1.1: + version "4.1.1" + resolved "https://registry.yarnpkg.com/object-assign/-/object-assign-4.1.1.tgz#2109adc7965887cfc05cbbd442cac8bfbb360863" + integrity sha512-rJgTQnkUnH1sFw8yT6VSU3zD3sWmu6sZhIseY8VX+GRu3P6F7Fu+JNDoXfklElbLJSnc3FUQHVe4cU5hj+BcUg== + +object-inspect@^1.13.1, object-inspect@^1.9.0: + version "1.13.1" + resolved "https://registry.yarnpkg.com/object-inspect/-/object-inspect-1.13.1.tgz#b96c6109324ccfef6b12216a956ca4dc2ff94bc2" + integrity sha512-5qoj1RUiKOMsCCNLV1CBiPYE10sziTsnmNxkAI/rZhiD63CF7IqdFGC/XzjWjpSgLf0LxXX3bDFIh0E18f6UhQ== + +object-is@^1.1.5: + version "1.1.5" + resolved "https://registry.yarnpkg.com/object-is/-/object-is-1.1.5.tgz#b9deeaa5fc7f1846a0faecdceec138e5778f53ac" + integrity sha512-3cyDsyHgtmi7I7DfSSI2LDp6SK2lwvtbg0p0R1e0RvTqF5ceGx+K2dfSjm1bKDMVCFEDAQvy+o8c6a7VujOddw== + dependencies: + call-bind "^1.0.2" + define-properties "^1.1.3" + +object-keys@^1.1.1: + version "1.1.1" + resolved "https://registry.yarnpkg.com/object-keys/-/object-keys-1.1.1.tgz#1c47f272df277f3b1daf061677d9c82e2322c60e" + integrity sha512-NuAESUOUMrlIXOfHKzD6bpPu3tYt3xvjNdRIQ+FeT0lNb4K8WR70CaDxhuNguS2XG+GjkyMwOzsN5ZktImfhLA== + +object.assign@^4.1.4: + version "4.1.5" + resolved "https://registry.yarnpkg.com/object.assign/-/object.assign-4.1.5.tgz#3a833f9ab7fdb80fc9e8d2300c803d216d8fdbb0" + integrity sha512-byy+U7gp+FVwmyzKPYhW2h5l3crpmGsxl7X2s8y43IgxvG4g3QZ6CffDtsNQy1WsmZpQbO+ybo0AlW7TY6DcBQ== + dependencies: + call-bind "^1.0.5" + define-properties "^1.2.1" + has-symbols "^1.0.3" + object-keys "^1.1.1" + +object.entries@^1.1.6: + version "1.1.7" + resolved "https://registry.yarnpkg.com/object.entries/-/object.entries-1.1.7.tgz#2b47760e2a2e3a752f39dd874655c61a7f03c131" + integrity sha512-jCBs/0plmPsOnrKAfFQXRG2NFjlhZgjjcBLSmTnEhU8U6vVTsVe8ANeQJCHTl3gSsI4J+0emOoCgoKlmQPMgmA== + dependencies: + call-bind "^1.0.2" + define-properties "^1.2.0" + es-abstract "^1.22.1" + +object.fromentries@^2.0.6, object.fromentries@^2.0.7: + version "2.0.7" + resolved "https://registry.yarnpkg.com/object.fromentries/-/object.fromentries-2.0.7.tgz#71e95f441e9a0ea6baf682ecaaf37fa2a8d7e616" + integrity sha512-UPbPHML6sL8PI/mOqPwsH4G6iyXcCGzLin8KvEPenOZN5lpCNBZZQ+V62vdjB1mQHrmqGQt5/OJzemUA+KJmEA== + dependencies: + call-bind "^1.0.2" + define-properties "^1.2.0" + es-abstract "^1.22.1" + +object.groupby@^1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/object.groupby/-/object.groupby-1.0.1.tgz#d41d9f3c8d6c778d9cbac86b4ee9f5af103152ee" + integrity sha512-HqaQtqLnp/8Bn4GL16cj+CUYbnpe1bh0TtEaWvybszDG4tgxCJuRpV8VGuvNaI1fAnI4lUJzDG55MXcOH4JZcQ== + dependencies: + call-bind "^1.0.2" + define-properties "^1.2.0" + es-abstract "^1.22.1" + get-intrinsic "^1.2.1" + +object.hasown@^1.1.2: + version "1.1.3" + resolved "https://registry.yarnpkg.com/object.hasown/-/object.hasown-1.1.3.tgz#6a5f2897bb4d3668b8e79364f98ccf971bda55ae" + integrity sha512-fFI4VcYpRHvSLXxP7yiZOMAd331cPfd2p7PFDVbgUsYOfCT3tICVqXWngbjr4m49OvsBwUBQ6O2uQoJvy3RexA== + dependencies: + define-properties "^1.2.0" + es-abstract "^1.22.1" + +object.values@^1.1.6, object.values@^1.1.7: + version "1.1.7" + resolved "https://registry.yarnpkg.com/object.values/-/object.values-1.1.7.tgz#617ed13272e7e1071b43973aa1655d9291b8442a" + integrity sha512-aU6xnDFYT3x17e/f0IiiwlGPTy2jzMySGfUB4fq6z7CV8l85CWHDk5ErhyhpfDHhrOMwGFhSQkhMGHaIotA6Ng== + dependencies: + call-bind "^1.0.2" + define-properties "^1.2.0" + es-abstract "^1.22.1" + +ol-mapbox-style@^9.2.0: + version "9.7.0" + resolved "https://registry.yarnpkg.com/ol-mapbox-style/-/ol-mapbox-style-9.7.0.tgz#38a4f7abc8f0a94f378dcdb7cefdcc69ca3f6287" + integrity sha512-YX3u8FBJHsRHaoGxmd724Mp5WPTuV7wLQW6zZhcihMuInsSdCX1EiZfU+8IAL7jG0pbgl5YgC0aWE/MXJcUXxg== + dependencies: + "@mapbox/mapbox-gl-style-spec" "^13.23.1" + mapbox-to-css-font "^2.4.1" + +ol@7.2.2: + version "7.2.2" + resolved "https://registry.yarnpkg.com/ol/-/ol-7.2.2.tgz#d675a1525fd995a29a70a9a9fa9c3a9bc827aa39" + integrity sha512-eqJ1hhVQQ3Ap4OhYq9DRu5pz9RMpLhmoTauDoIqpn7logVi1AJE+lXjEHrPrTSuZYjtFbMgqr07sxoLNR65nrw== + dependencies: + earcut "^2.2.3" + geotiff "^2.0.7" + ol-mapbox-style "^9.2.0" + pbf "3.2.1" + rbush "^3.0.1" + +once@^1.3.0, once@^1.3.1, once@^1.4.0: + version "1.4.0" + resolved "https://registry.yarnpkg.com/once/-/once-1.4.0.tgz#583b1aa775961d4b113ac17d9c50baef9dd76bd1" + integrity sha512-lNaJgI+2Q5URQBkccEKHTQOPaXdUxnZZElQTZY0MFUAuaEqe1E+Nyvgdz/aIyNi6Z9MzO5dv1H8n58/GELp3+w== + dependencies: + wrappy "1" + +onetime@^5.1.0, onetime@^5.1.2: + version "5.1.2" + resolved "https://registry.yarnpkg.com/onetime/-/onetime-5.1.2.tgz#d0e96ebb56b07476df1dd9c4806e5237985ca45e" + integrity sha512-kbpaSSGJTWdAY5KPVeMOKXSrPtr8C8C7wodJbcsd51jRnmD+GZu8Y0VoU6Dm5Z4vWr0Ig/1NKuWRKf7j5aaYSg== + dependencies: + mimic-fn "^2.1.0" + +optionator@^0.9.1: + version "0.9.3" + resolved "https://registry.yarnpkg.com/optionator/-/optionator-0.9.3.tgz#007397d44ed1872fdc6ed31360190f81814e2c64" + integrity sha512-JjCoypp+jKn1ttEFExxhetCKeJt9zhAgAve5FXHixTvFDW/5aEktX9bufBKLRRMdU7bNtpLfcGu94B3cdEJgjg== + dependencies: + "@aashutoshrathi/word-wrap" "^1.2.3" + deep-is "^0.1.3" + fast-levenshtein "^2.0.6" + levn "^0.4.1" + prelude-ls "^1.2.1" + type-check "^0.4.0" + +ospath@^1.2.2: + version "1.2.2" + resolved "https://registry.yarnpkg.com/ospath/-/ospath-1.2.2.tgz#1276639774a3f8ef2572f7fe4280e0ea4550c07b" + integrity sha512-o6E5qJV5zkAbIDNhGSIlyOhScKXgQrSRMilfph0clDfM0nEnBOlKlH4sWDmG95BW/CvwNz0vmm7dJVtU2KlMiA== + +p-limit@^2.2.0: + version "2.3.0" + resolved "https://registry.yarnpkg.com/p-limit/-/p-limit-2.3.0.tgz#3dd33c647a214fdfffd835933eb086da0dc21db1" + integrity sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w== + dependencies: + p-try "^2.0.0" + +p-limit@^3.0.2, p-limit@^3.1.0: + version "3.1.0" + resolved "https://registry.yarnpkg.com/p-limit/-/p-limit-3.1.0.tgz#e1daccbe78d0d1388ca18c64fea38e3e57e3706b" + integrity sha512-TYOanM3wGwNGsZN2cVTYPArw454xnXj5qmWF1bEoAc4+cU/ol7GVh7odevjp1FNHduHc3KZMcFduxU5Xc6uJRQ== + dependencies: + yocto-queue "^0.1.0" + +p-locate@^4.1.0: + version "4.1.0" + resolved "https://registry.yarnpkg.com/p-locate/-/p-locate-4.1.0.tgz#a3428bb7088b3a60292f66919278b7c297ad4f07" + integrity sha512-R79ZZ/0wAxKGu3oYMlz8jy/kbhsNrS7SKZ7PxEHBgJ5+F2mtFW2fK2cOtBh1cHYkQsbzFV7I+EoRKe6Yt0oK7A== + dependencies: + p-limit "^2.2.0" + +p-locate@^5.0.0: + version "5.0.0" + resolved "https://registry.yarnpkg.com/p-locate/-/p-locate-5.0.0.tgz#83c8315c6785005e3bd021839411c9e110e6d834" + integrity sha512-LaNjtRWUBY++zB5nE/NwcaoMylSPk+S+ZHNB1TzdbMJMny6dynpAGt7X/tl/QYq3TIeE6nxHppbo2LGymrG5Pw== + dependencies: + p-limit "^3.0.2" + +p-map@^4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/p-map/-/p-map-4.0.0.tgz#bb2f95a5eda2ec168ec9274e06a747c3e2904d2b" + integrity sha512-/bjOqmgETBYB5BoEeGVea8dmvHb2m9GLy1E9W43yeyfP6QQCZGFNa+XRceJEuDB6zqr+gKpIAmlLebMpykw/MQ== + dependencies: + aggregate-error "^3.0.0" + +p-try@^2.0.0: + version "2.2.0" + resolved "https://registry.yarnpkg.com/p-try/-/p-try-2.2.0.tgz#cb2868540e313d61de58fafbe35ce9004d5540e6" + integrity sha512-R4nPAVTAU0B9D35/Gk3uJf/7XYbQcyohSKdvAxIRSNghFl4e71hVoGnBNQz9cWaXxO2I10KTC+3jMdvvoKw6dQ== + +pako@^0.2.6: + version "0.2.9" + resolved "https://registry.yarnpkg.com/pako/-/pako-0.2.9.tgz#f3f7522f4ef782348da8161bad9ecfd51bf83a75" + integrity sha512-NUcwaKxUxWrZLpDG+z/xZaCgQITkA/Dv4V/T6bw7VON6l1Xz/VnrBqrYjZQ12TamKHzITTfOEIYUj48y2KXImA== + +pako@^2.0.4: + version "2.1.0" + resolved "https://registry.yarnpkg.com/pako/-/pako-2.1.0.tgz#266cc37f98c7d883545d11335c00fbd4062c9a86" + integrity sha512-w+eufiZ1WuJYgPXbV/PO3NCMEc3xqylkKHzp8bxp1uW4qaSNQUkwmLLEc3kKsfz8lpV1F8Ht3U1Cm+9Srog2ug== + +papaparse@5.3.2: + version "5.3.2" + resolved "https://registry.yarnpkg.com/papaparse/-/papaparse-5.3.2.tgz#d1abed498a0ee299f103130a6109720404fbd467" + integrity sha512-6dNZu0Ki+gyV0eBsFKJhYr+MdQYAzFUGlBMNj3GNrmHxmz1lfRa24CjFObPXtjcetlOv5Ad299MhIK0znp3afw== + +parent-module@^1.0.0: + version "1.0.1" + resolved "https://registry.yarnpkg.com/parent-module/-/parent-module-1.0.1.tgz#691d2709e78c79fae3a156622452d00762caaaa2" + integrity sha512-GQ2EWRpQV8/o+Aw8YqtfZZPfNRWZYkbidE9k5rpl/hC3vtHHBfGm2Ifi6qWV+coDGkrUKZAxE3Lot5kcsRlh+g== + dependencies: + callsites "^3.0.0" + +parse-headers@^2.0.2: + version "2.0.5" + resolved "https://registry.yarnpkg.com/parse-headers/-/parse-headers-2.0.5.tgz#069793f9356a54008571eb7f9761153e6c770da9" + integrity sha512-ft3iAoLOB/MlwbNXgzy43SWGP6sQki2jQvAyBg/zDFAgr9bfNWZIUj42Kw2eJIl8kEi4PbgE6U1Zau/HwI75HA== + +parse-json@^5.0.0, parse-json@^5.2.0: + version "5.2.0" + resolved "https://registry.yarnpkg.com/parse-json/-/parse-json-5.2.0.tgz#c76fc66dee54231c962b22bcc8a72cf2f99753cd" + integrity sha512-ayCKvm/phCGxOkYRSCM82iDwct8/EonSEgCSxWxD7ve6jHggsFl4fZVQBPRNgQoKiuV/odhFrGzQXZwbifC8Rg== + dependencies: + "@babel/code-frame" "^7.0.0" + error-ex "^1.3.1" + json-parse-even-better-errors "^2.3.0" + lines-and-columns "^1.1.6" + +parse5@^7.0.0, parse5@^7.1.1: + version "7.1.2" + resolved "https://registry.yarnpkg.com/parse5/-/parse5-7.1.2.tgz#0736bebbfd77793823240a23b7fc5e010b7f8e32" + integrity sha512-Czj1WaSVpaoj0wbhMzLmWD69anp2WH7FXMB9n1Sy8/ZFF9jolSQVMu1Ij5WIyGmcBmhk7EOndpO4mIpihVqAXw== + dependencies: + entities "^4.4.0" + +path-exists@^4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/path-exists/-/path-exists-4.0.0.tgz#513bdbe2d3b95d7762e8c1137efa195c6c61b5b3" + integrity sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w== + +path-is-absolute@^1.0.0: + version "1.0.1" + resolved "https://registry.yarnpkg.com/path-is-absolute/-/path-is-absolute-1.0.1.tgz#174b9268735534ffbc7ace6bf53a5a9e1b5c5f5f" + integrity sha512-AVbw3UJ2e9bq64vSaS9Am0fje1Pa8pbGqTTsmXfaIiMpnr5DlDhfJOuLj9Sf95ZPVDAUerDfEk88MPmPe7UCQg== + +path-key@^3.0.0, path-key@^3.1.0: + version "3.1.1" + resolved "https://registry.yarnpkg.com/path-key/-/path-key-3.1.1.tgz#581f6ade658cbba65a0d3380de7753295054f375" + integrity sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q== + +path-parse@^1.0.7: + version "1.0.7" + resolved "https://registry.yarnpkg.com/path-parse/-/path-parse-1.0.7.tgz#fbc114b60ca42b30d9daf5858e4bd68bbedb6735" + integrity sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw== + +path-scurry@^1.10.1, path-scurry@^1.6.1: + version "1.10.1" + resolved "https://registry.yarnpkg.com/path-scurry/-/path-scurry-1.10.1.tgz#9ba6bf5aa8500fe9fd67df4f0d9483b2b0bfc698" + integrity sha512-MkhCqzzBEpPvxxQ71Md0b1Kk51W01lrYvlMzSUaIzNsODdd7mqhiimSZlr+VegAz5Z6Vzt9Xg2ttE//XBhH3EQ== + dependencies: + lru-cache "^9.1.1 || ^10.0.0" + minipass "^5.0.0 || ^6.0.2 || ^7.0.0" + +path-to-regexp@^1.7.0: + version "1.8.0" + resolved "https://registry.yarnpkg.com/path-to-regexp/-/path-to-regexp-1.8.0.tgz#887b3ba9d84393e87a0a0b9f4cb756198b53548a" + integrity sha512-n43JRhlUKUAlibEJhPeir1ncUID16QnEjNpwzNdO3Lm4ywrBpBZ5oLD0I6br9evr1Y9JTqwRtAh7JLoOzAQdVA== + dependencies: + isarray "0.0.1" + +path-type@^4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/path-type/-/path-type-4.0.0.tgz#84ed01c0a7ba380afe09d90a8c180dcd9d03043b" + integrity sha512-gDKb8aZMDeD/tZWs9P6+q0J9Mwkdl6xMV8TjnGP3qJVJ06bdMgkbBlLU8IdfOsIsFz2BW1rNVT3XuNEl8zPAvw== + +path-type@^5.0.0: + version "5.0.0" + resolved "https://registry.yarnpkg.com/path-type/-/path-type-5.0.0.tgz#14b01ed7aea7ddf9c7c3f46181d4d04f9c785bb8" + integrity sha512-5HviZNaZcfqP95rwpv+1HDgUamezbqdSYTyzjTvwtJSnIH+3vnbmWsItli8OFEndS984VT55M3jduxZbX351gg== + +pbf@3.2.1: + version "3.2.1" + resolved "https://registry.yarnpkg.com/pbf/-/pbf-3.2.1.tgz#b4c1b9e72af966cd82c6531691115cc0409ffe2a" + integrity sha512-ClrV7pNOn7rtmoQVF4TS1vyU0WhYRnP92fzbfF75jAIwpnzdJXf8iTd4CMEqO4yUenH6NDqLiwjqlh6QgZzgLQ== + dependencies: + ieee754 "^1.1.12" + resolve-protobuf-schema "^2.1.0" + +pend@~1.2.0: + version "1.2.0" + resolved "https://registry.yarnpkg.com/pend/-/pend-1.2.0.tgz#7a57eb550a6783f9115331fcf4663d5c8e007a50" + integrity sha512-F3asv42UuXchdzt+xXqfW1OGlVBe+mxa2mqI0pg5yAHZPvFmY3Y6drSf/GQ1A86WgWEN9Kzh/WrgKa6iGcHXLg== + +performance-now@^2.1.0: + version "2.1.0" + resolved "https://registry.yarnpkg.com/performance-now/-/performance-now-2.1.0.tgz#6309f4e0e5fa913ec1c69307ae364b4b377c9e7b" + integrity sha512-7EAHlyLHI56VEIdK57uwHdHKIaAGbnXPiw0yWbarQZOKaKpvUIgW0jWRVLiatnM+XXlSwsanIBH/hzGMJulMow== + +picocolors@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/picocolors/-/picocolors-1.0.0.tgz#cb5bdc74ff3f51892236eaf79d68bc44564ab81c" + integrity sha512-1fygroTLlHu66zi26VoTDv8yRgm0Fccecssto+MhsZ0D/DGW2sm8E8AjW7NU5VVTRt5GxbeZ5qBuJr+HyLYkjQ== + +picomatch@^2.0.4, picomatch@^2.2.1, picomatch@^2.2.3, picomatch@^2.3.1: + version "2.3.1" + resolved "https://registry.yarnpkg.com/picomatch/-/picomatch-2.3.1.tgz#3ba3833733646d9d3e4995946c1365a67fb07a42" + integrity sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA== + +pify@^2.2.0: + version "2.3.0" + resolved "https://registry.yarnpkg.com/pify/-/pify-2.3.0.tgz#ed141a6ac043a849ea588498e7dca8b15330e90c" + integrity sha512-udgsAY+fTnvv7kI7aaxbqwWNb0AHiB0qBO89PZKPkoTmGOgdbrHDKD+0B2X4uTfJ/FT1R09r9gTsjUjNJotuog== + +pirates@^4.0.4: + version "4.0.6" + resolved "https://registry.yarnpkg.com/pirates/-/pirates-4.0.6.tgz#3018ae32ecfcff6c29ba2267cbf21166ac1f36b9" + integrity sha512-saLsH7WeYYPiD25LDuLRRY/i+6HaPYr6G1OUlN39otzkSTxKnubR9RTxS3/Kk50s1g2JTgFwWQDQyplC5/SHZg== + +pkg-dir@^4.1.0, pkg-dir@^4.2.0: + version "4.2.0" + resolved "https://registry.yarnpkg.com/pkg-dir/-/pkg-dir-4.2.0.tgz#f099133df7ede422e81d1d8448270eeb3e4261f3" + integrity sha512-HRDzbaKjC+AOWVXxAU/x54COGeIv9eb+6CkDSQoNTt4XyWoIJvuPsXizxu/Fr23EiekbtZwmh1IcIG/l/a10GQ== + dependencies: + find-up "^4.0.0" + +pngjs-image@~0.11.5: + version "0.11.7" + resolved "https://registry.yarnpkg.com/pngjs-image/-/pngjs-image-0.11.7.tgz#631dd59924569fc82ffebae0d5d53f85f54dab62" + integrity sha512-JRyrmT+HXa1/gvdHpebus8TGqKa8WRgcsHz/DDalxRsMhvu6AOA99/enBFjZIPvmXVAzwKR051s80TuE1IiCpg== + dependencies: + iconv-lite "^0.4.8" + pako "^0.2.6" + pngjs "2.3.1" + request "^2.55.0" + stream-buffers "1.0.1" + underscore "1.7.0" + +pngjs@2.3.1: + version "2.3.1" + resolved "https://registry.yarnpkg.com/pngjs/-/pngjs-2.3.1.tgz#11d1e12b9cb64d63e30c143a330f4c1f567da85f" + integrity sha512-ITNPqvx+SSssNFOgHQzGG87HrqQ0g2nMSHc1jjU5Piq9xJEJ40fiFEPz0S5HSSXxBHrTnhaBHIayTO5aRfk2vw== + +portfinder@^1.0.17: + version "1.0.32" + resolved "https://registry.yarnpkg.com/portfinder/-/portfinder-1.0.32.tgz#2fe1b9e58389712429dc2bea5beb2146146c7f81" + integrity sha512-on2ZJVVDXRADWE6jnQaX0ioEylzgBpQk8r55NE4wjXW1ZxO+BgDlY6DXwj20i0V8eB4SenDQ00WEaxfiIQPcxg== + dependencies: + async "^2.6.4" + debug "^3.2.7" + mkdirp "^0.5.6" + +postcss-modules-extract-imports@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/postcss-modules-extract-imports/-/postcss-modules-extract-imports-3.0.0.tgz#cda1f047c0ae80c97dbe28c3e76a43b88025741d" + integrity sha512-bdHleFnP3kZ4NYDhuGlVK+CMrQ/pqUm8bx/oGL93K6gVwiclvX5x0n76fYMKuIGKzlABOy13zsvqjb0f92TEXw== + +postcss-modules-local-by-default@^4.0.4: + version "4.0.4" + resolved "https://registry.yarnpkg.com/postcss-modules-local-by-default/-/postcss-modules-local-by-default-4.0.4.tgz#7cbed92abd312b94aaea85b68226d3dec39a14e6" + integrity sha512-L4QzMnOdVwRm1Qb8m4x8jsZzKAaPAgrUF1r/hjDR2Xj7R+8Zsf97jAlSQzWtKx5YNiNGN8QxmPFIc/sh+RQl+Q== + dependencies: + icss-utils "^5.0.0" + postcss-selector-parser "^6.0.2" + postcss-value-parser "^4.1.0" + +postcss-modules-scope@^3.1.1: + version "3.1.1" + resolved "https://registry.yarnpkg.com/postcss-modules-scope/-/postcss-modules-scope-3.1.1.tgz#32cfab55e84887c079a19bbb215e721d683ef134" + integrity sha512-uZgqzdTleelWjzJY+Fhti6F3C9iF1JR/dODLs/JDefozYcKTBCdD8BIl6nNPbTbcLnGrk56hzwZC2DaGNvYjzA== + dependencies: + postcss-selector-parser "^6.0.4" + +postcss-modules-values@^4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/postcss-modules-values/-/postcss-modules-values-4.0.0.tgz#d7c5e7e68c3bb3c9b27cbf48ca0bb3ffb4602c9c" + integrity sha512-RDxHkAiEGI78gS2ofyvCsu7iycRv7oqw5xMWn9iMoR0N/7mf9D50ecQqUo5BZ9Zh2vH4bCUR/ktCqbB9m8vJjQ== + dependencies: + icss-utils "^5.0.0" + +postcss-selector-parser@^6.0.2, postcss-selector-parser@^6.0.4: + version "6.0.15" + resolved "https://registry.yarnpkg.com/postcss-selector-parser/-/postcss-selector-parser-6.0.15.tgz#11cc2b21eebc0b99ea374ffb9887174855a01535" + integrity sha512-rEYkQOMUCEMhsKbK66tbEU9QVIxbhN18YiniAwA7XQYTVBqrBy+P2p5JcdqsHgKM2zWylp8d7J6eszocfds5Sw== + dependencies: + cssesc "^3.0.0" + util-deprecate "^1.0.2" + +postcss-value-parser@^4.1.0, postcss-value-parser@^4.2.0: + version "4.2.0" + resolved "https://registry.yarnpkg.com/postcss-value-parser/-/postcss-value-parser-4.2.0.tgz#723c09920836ba6d3e5af019f92bc0971c02e514" + integrity sha512-1NNCs6uurfkVbeXG4S8JFT9t19m45ICnif8zWLd5oPSZ50QnwMfK+H3jv408d4jw/7Bttv5axS5IiHoLaVNHeQ== + +postcss@^8.4.33: + version "8.4.33" + resolved "https://registry.yarnpkg.com/postcss/-/postcss-8.4.33.tgz#1378e859c9f69bf6f638b990a0212f43e2aaa742" + integrity sha512-Kkpbhhdjw2qQs2O2DGX+8m5OVqEcbB9HRBvuYM9pgrjEFUg30A9LmXNlTAUj4S9kgtGyrMbTzVjH7E+s5Re2yg== + dependencies: + nanoid "^3.3.7" + picocolors "^1.0.0" + source-map-js "^1.0.2" + +preceptor-core@~0.10.0: + version "0.10.1" + resolved "https://registry.yarnpkg.com/preceptor-core/-/preceptor-core-0.10.1.tgz#c31eb026fad91c24b44351308ac97e625ec69511" + integrity sha512-WLDk+UowEESixvlhiamGOj/iqWrp8IWeCCHvBZrLh0g4/A1Fa77fDQWqQUd5S5rScT+9u49aDfa45xYRkxqmiA== + dependencies: + log4js "1.1.1" + underscore "1.7.0" + +prefix-style@2.0.1: + version "2.0.1" + resolved "https://registry.yarnpkg.com/prefix-style/-/prefix-style-2.0.1.tgz#66bba9a870cfda308a5dc20e85e9120932c95a06" + integrity sha512-gdr1MBNVT0drzTq95CbSNdsrBDoHGlb2aDJP/FoY+1e+jSDPOb1Cv554gH2MGiSr2WTcXi/zu+NaFzfcHQkfBQ== + +prelude-ls@^1.2.1: + version "1.2.1" + resolved "https://registry.yarnpkg.com/prelude-ls/-/prelude-ls-1.2.1.tgz#debc6489d7a6e6b0e7611888cec880337d316396" + integrity sha512-vkcDPrRZo1QZLbn5RLGPpg/WmIQ65qoWWhcGKf/b5eplkkarX0m9z8ppCat4mlOqUsWpyNuYgO3VRyrYHSzX5g== + +prettier@^2.8.7: + version "2.8.8" + resolved "https://registry.yarnpkg.com/prettier/-/prettier-2.8.8.tgz#e8c5d7e98a4305ffe3de2e1fc4aca1a71c28b1da" + integrity sha512-tdN8qQGvNjw4CHbY+XXk0JgCXn9QiF21a55rBe5LJAU+kDyC4WQn4+awm2Xfk2lQMk5fKup9XgzTZtGkjBdP9Q== + +pretty-bytes@^5.6.0: + version "5.6.0" + resolved "https://registry.yarnpkg.com/pretty-bytes/-/pretty-bytes-5.6.0.tgz#356256f643804773c82f64723fe78c92c62beaeb" + integrity sha512-FFw039TmrBqFK8ma/7OL3sDz/VytdtJr044/QUJtH0wK9lb9jLq9tJyIxUwtQJHwar2BqtiA4iCWSwo9JLkzFg== + +pretty-format@^27.0.2: + version "27.5.1" + resolved "https://registry.yarnpkg.com/pretty-format/-/pretty-format-27.5.1.tgz#2181879fdea51a7a5851fb39d920faa63f01d88e" + integrity sha512-Qb1gy5OrP5+zDf2Bvnzdl3jsTf1qXVMazbvCoKhtKqVs4/YK4ozX4gKQJJVyNe+cajNPn0KoC0MC3FUmaHWEmQ== + dependencies: + ansi-regex "^5.0.1" + ansi-styles "^5.0.0" + react-is "^17.0.1" + +pretty-format@^29.0.0, pretty-format@^29.7.0: + version "29.7.0" + resolved "https://registry.yarnpkg.com/pretty-format/-/pretty-format-29.7.0.tgz#ca42c758310f365bfa71a0bda0a807160b776812" + integrity sha512-Pdlw/oPxN+aXdmM9R00JVC9WVFoCLTKJvDVLgmJ+qAffBMxsV85l/Lu7sNx4zSzPyoL2euImuEwHhOXdEgNFZQ== + dependencies: + "@jest/schemas" "^29.6.3" + ansi-styles "^5.0.0" + react-is "^18.0.0" + +prismjs@1.29.0: + version "1.29.0" + resolved "https://registry.yarnpkg.com/prismjs/-/prismjs-1.29.0.tgz#f113555a8fa9b57c35e637bba27509dcf802dd12" + integrity sha512-Kx/1w86q/epKcmte75LNrEoT+lX8pBpavuAbvJWRXar7Hz8jrtF+e3vY751p0R8H9HdArwaCTNDDzHg/ScJK1Q== + +process-nextick-args@~2.0.0: + version "2.0.1" + resolved "https://registry.yarnpkg.com/process-nextick-args/-/process-nextick-args-2.0.1.tgz#7820d9b16120cc55ca9ae7792680ae7dba6d7fe2" + integrity sha512-3ouUOpQhtgrbOa17J7+uxOTpITYWaGP7/AhoR3+A+/1e9skrzelGi/dXzEYyvbxubEF6Wn2ypscTKiKJFFn1ag== + +promise@6.0.0: + version "6.0.0" + resolved "https://registry.yarnpkg.com/promise/-/promise-6.0.0.tgz#456538dd4afdd25dc7d0f52a5201ed242b7c109d" + integrity sha512-PjIqIEWR8EWwP5ml3Wf5KWIP3sIdXAew9vQ6vLOLV+z4LMa/8ZQyLd7sTWe2r8OuA8A9jsIYptDfbEn/L36ogw== + dependencies: + asap "~1.0.0" + +prompts@^2.0.1: + version "2.4.2" + resolved "https://registry.yarnpkg.com/prompts/-/prompts-2.4.2.tgz#7b57e73b3a48029ad10ebd44f74b01722a4cb069" + integrity sha512-NxNv/kLguCA7p3jE8oL2aEBsrJWgAakBpgmgK6lpPWV+WuOmY6r2/zbAVnP+T8bQlA0nzHXSJSJW0Hq7ylaD2Q== + dependencies: + kleur "^3.0.3" + sisteransi "^1.0.5" + +prop-types@15.x, prop-types@^15.5.10, prop-types@^15.5.8, prop-types@^15.6.0, prop-types@^15.6.2, prop-types@^15.7.2, prop-types@^15.8.1: + version "15.8.1" + resolved "https://registry.yarnpkg.com/prop-types/-/prop-types-15.8.1.tgz#67d87bf1a694f48435cf332c24af10214a3140b5" + integrity sha512-oj87CgZICdulUohogVAR7AjlC0327U4el4L6eAvOqCeudMDVU0NThNaV+b9Df4dXgSP1gXMTnPdhfe/2qDH5cg== + dependencies: + loose-envify "^1.4.0" + object-assign "^4.1.1" + react-is "^16.13.1" + +protocol-buffers-schema@^3.3.1: + version "3.6.0" + resolved "https://registry.yarnpkg.com/protocol-buffers-schema/-/protocol-buffers-schema-3.6.0.tgz#77bc75a48b2ff142c1ad5b5b90c94cd0fa2efd03" + integrity sha512-TdDRD+/QNdrCGCE7v8340QyuXd4kIWIgapsE2+n/SaGiSSbomYl4TjHlvIoCWRpE7wFt02EpB35VVA2ImcBVqw== + +proxy-from-env@1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/proxy-from-env/-/proxy-from-env-1.0.0.tgz#33c50398f70ea7eb96d21f7b817630a55791c7ee" + integrity sha512-F2JHgJQ1iqwnHDcQjVBsq3n/uoaFL+iPW/eAeL7kVxy/2RrWaN4WroKjjvbsoRtv0ftelNyC01bjRhn/bhcf4A== + +prr@~1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/prr/-/prr-1.0.1.tgz#d3fc114ba06995a45ec6893f484ceb1d78f5f476" + integrity sha512-yPw4Sng1gWghHQWj0B3ZggWUm4qVbPwPFcRG8KyxiU7J2OHFSoEHKS+EZ3fv5l1t9CyCiop6l/ZYeWbrgoQejw== + +psl@^1.1.28, psl@^1.1.33: + version "1.9.0" + resolved "https://registry.yarnpkg.com/psl/-/psl-1.9.0.tgz#d0df2a137f00794565fcaf3b2c00cd09f8d5a5a7" + integrity sha512-E/ZsdU4HLs/68gYzgGTkMicWTLPdAftJLfJFlLUAAKZGkStNU72sZjT66SnMDVOfOWY/YAoiD7Jxa9iHvngcag== + +pump@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/pump/-/pump-3.0.0.tgz#b4a2116815bde2f4e1ea602354e8c75565107a64" + integrity sha512-LwZy+p3SFs1Pytd/jYct4wpv49HiYCqd9Rlc5ZVdk0V+8Yzv6jR5Blk3TRmPL1ft69TxP0IMZGJ+WPFU2BFhww== + dependencies: + end-of-stream "^1.1.0" + once "^1.3.1" + +punycode@^2.1.0, punycode@^2.1.1: + version "2.3.1" + resolved "https://registry.yarnpkg.com/punycode/-/punycode-2.3.1.tgz#027422e2faec0b25e1549c3e1bd8309b9133b6e5" + integrity sha512-vYt7UD1U9Wg6138shLtLOvdAu+8DsC/ilFtEVHcH+wydcSpNE20AfSOduf6MkRFahL5FY7X1oU7nKVZFtfq8Fg== + +pure-rand@^6.0.0: + version "6.0.4" + resolved "https://registry.yarnpkg.com/pure-rand/-/pure-rand-6.0.4.tgz#50b737f6a925468679bff00ad20eade53f37d5c7" + integrity sha512-LA0Y9kxMYv47GIPJy6MI84fqTd2HmYZI83W/kM/SkKfDlajnZYfmXFTxkbY+xSBPkLJxltMa9hIkmdc29eguMA== + +qs@^6.4.0: + version "6.11.2" + resolved "https://registry.yarnpkg.com/qs/-/qs-6.11.2.tgz#64bea51f12c1f5da1bc01496f48ffcff7c69d7d9" + integrity sha512-tDNIz22aBzCDxLtVH++VnTfzxlfeK5CbqohpSqpJgj1Wg/cQbStNAz3NuqCs5vV+pjBsK4x4pN9HlVh7rcYRiA== + dependencies: + side-channel "^1.0.4" + +qs@~6.10.3: + version "6.10.5" + resolved "https://registry.yarnpkg.com/qs/-/qs-6.10.5.tgz#974715920a80ff6a262264acd2c7e6c2a53282b4" + integrity sha512-O5RlPh0VFtR78y79rgcgKK4wbAI0C5zGVLztOIdpWX6ep368q5Hv6XRxDvXuZ9q3C6v+e3n8UfZZJw7IIG27eQ== + dependencies: + side-channel "^1.0.4" + +qs@~6.5.2: + version "6.5.3" + resolved "https://registry.yarnpkg.com/qs/-/qs-6.5.3.tgz#3aeeffc91967ef6e35c0e488ef46fb296ab76aad" + integrity sha512-qxXIEh4pCGfHICj1mAJQ2/2XVZkjCDTcEgfoSQxc/fYivUZxTkk7L3bDBJSoNrEzXI17oUO5Dp07ktqE5KzczA== + +querystringify@^2.1.1: + version "2.2.0" + resolved "https://registry.yarnpkg.com/querystringify/-/querystringify-2.2.0.tgz#3345941b4153cb9d082d8eee4cda2016a9aef7f6" + integrity sha512-FIqgj2EUvTa7R50u0rGsyTftzjYmv/a3hO345bZNrqabNqjtgiDMgmo4mkUjd+nzU5oF3dClKqFIPUKybUyqoQ== + +queue-microtask@^1.2.2: + version "1.2.3" + resolved "https://registry.yarnpkg.com/queue-microtask/-/queue-microtask-1.2.3.tgz#4929228bbc724dfac43e0efb058caf7b6cfb6243" + integrity sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A== + +quick-lru@^6.1.1: + version "6.1.2" + resolved "https://registry.yarnpkg.com/quick-lru/-/quick-lru-6.1.2.tgz#e9a90524108629be35287d0b864e7ad6ceb3659e" + integrity sha512-AAFUA5O1d83pIHEhJwWCq/RQcRukCkn/NSm2QsTEMle5f2hP0ChI2+3Xb051PZCkLryI/Ir1MVKviT2FIloaTQ== + +quickselect@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/quickselect/-/quickselect-2.0.0.tgz#f19680a486a5eefb581303e023e98faaf25dd018" + integrity sha512-RKJ22hX8mHe3Y6wH/N3wCM6BWtjaxIyyUIkpHOvfFnxdI4yD4tBXEBKSbriGujF6jnSVkJrffuo6vxACiSSxIw== + +raf-schd@^4.0.2: + version "4.0.3" + resolved "https://registry.yarnpkg.com/raf-schd/-/raf-schd-4.0.3.tgz#5d6c34ef46f8b2a0e880a8fcdb743efc5bfdbc1a" + integrity sha512-tQkJl2GRWh83ui2DiPTJz9wEiMN20syf+5oKfB03yYP7ioZcJwsIK8FjrtLwH1m7C7e+Tt2yYBlrOpdT+dyeIQ== + +raf@^3.1.0, raf@^3.4.0, raf@^3.4.1: + version "3.4.1" + resolved "https://registry.yarnpkg.com/raf/-/raf-3.4.1.tgz#0742e99a4a6552f445d73e3ee0328af0ff1ede39" + integrity sha512-Sq4CW4QhwOHE8ucn6J34MqtZCeWFP2aQSmrlroYgqAV1PjStIhJXxYuTgUIfkEk7zTLjmIjLmU5q+fbD1NnOJA== + dependencies: + performance-now "^2.1.0" + +randombytes@^2.1.0: + version "2.1.0" + resolved "https://registry.yarnpkg.com/randombytes/-/randombytes-2.1.0.tgz#df6f84372f0270dc65cdf6291349ab7a473d4f2a" + integrity sha512-vYl3iOX+4CKUWuxGi9Ukhie6fsqXqS9FE2Zaic4tNFD2N2QQaXOMFbuKK4QmDHC0JO6B1Zp41J0LpT0oR68amQ== + dependencies: + safe-buffer "^5.1.0" + +raw-body@~1.1.0: + version "1.1.7" + resolved "https://registry.yarnpkg.com/raw-body/-/raw-body-1.1.7.tgz#1d027c2bfa116acc6623bca8f00016572a87d425" + integrity sha512-WmJJU2e9Y6M5UzTOkHaM7xJGAPQD8PNzx3bAd2+uhZAim6wDk6dAZxPVYLF67XhbR4hmKGh33Lpmh4XWrCH5Mg== + dependencies: + bytes "1" + string_decoder "0.10" + +rbush@^3.0.1: + version "3.0.1" + resolved "https://registry.yarnpkg.com/rbush/-/rbush-3.0.1.tgz#5fafa8a79b3b9afdfe5008403a720cc1de882ecf" + integrity sha512-XRaVO0YecOpEuIvbhbpTrZgoiI6xBlz6hnlr6EHhd+0x9ase6EmeN+hdwwUaJvLcsFFQ8iWVF1GAK1yB0BWi0w== + dependencies: + quickselect "^2.0.0" + +rc-align@^2.4.0: + version "2.4.5" + resolved "https://registry.yarnpkg.com/rc-align/-/rc-align-2.4.5.tgz#c941a586f59d1017f23a428f0b468663fb7102ab" + integrity sha512-nv9wYUYdfyfK+qskThf4BQUSIadeI/dCsfaMZfNEoxm9HwOIioQ+LyqmMK6jWHAZQgOzMLaqawhuBXlF63vgjw== + dependencies: + babel-runtime "^6.26.0" + dom-align "^1.7.0" + prop-types "^15.5.8" + rc-util "^4.0.4" + +rc-align@^4.0.0: + version "4.0.15" + resolved "https://registry.yarnpkg.com/rc-align/-/rc-align-4.0.15.tgz#2bbd665cf85dfd0b0244c5a752b07565e9098577" + integrity sha512-wqJtVH60pka/nOX7/IspElA8gjPNQKIx/ZqJ6heATCkXpe1Zg4cPVrMD2vC96wjsFFL8WsmhPbx9tdMo1qqlIA== + dependencies: + "@babel/runtime" "^7.10.1" + classnames "2.x" + dom-align "^1.7.0" + rc-util "^5.26.0" + resize-observer-polyfill "^1.5.1" + +rc-animate@2.x: + version "2.11.1" + resolved "https://registry.yarnpkg.com/rc-animate/-/rc-animate-2.11.1.tgz#2666eeb6f1f2a495a13b2af09e236712278fdb2c" + integrity sha512-1NyuCGFJG/0Y+9RKh5y/i/AalUCA51opyyS/jO2seELpgymZm2u9QV3xwODwEuzkmeQ1BDPxMLmYLcTJedPlkQ== + dependencies: + babel-runtime "6.x" + classnames "^2.2.6" + css-animation "^1.3.2" + prop-types "15.x" + raf "^3.4.0" + rc-util "^4.15.3" + react-lifecycles-compat "^3.0.4" + +rc-cascader@3.10.2: + version "3.10.2" + resolved "https://registry.yarnpkg.com/rc-cascader/-/rc-cascader-3.10.2.tgz#9e75e6b7bdd6e531d1f986cda2b68755e21e5b9e" + integrity sha512-llKIxAAJZW10BkvhqdNsOSy2AOubj0xGEJFcdo/FP09DrhVI764skhCeBH9WfIhv4X40t9/goDwTsXE8Gul9zA== + dependencies: + "@babel/runtime" "^7.12.5" + array-tree-filter "^2.1.0" + classnames "^2.3.1" + rc-select "~14.4.0" + rc-tree "~5.7.0" + rc-util "^5.6.1" + +rc-drawer@6.1.3: + version "6.1.3" + resolved "https://registry.yarnpkg.com/rc-drawer/-/rc-drawer-6.1.3.tgz#4b2277db09f059be7144dc82d5afede9c2ab2191" + integrity sha512-AvHisO90A+xMLMKBw2zs89HxjWxusM2BUABlgK60RhweIHF8W/wk0hSOrxBlUXoA9r1F+10na3g6GZ97y1qDZA== + dependencies: + "@babel/runtime" "^7.10.1" + "@rc-component/portal" "^1.0.0-6" + classnames "^2.2.6" + rc-motion "^2.6.1" + rc-util "^5.21.2" + +rc-motion@^2.0.0, rc-motion@^2.0.1, rc-motion@^2.6.1: + version "2.9.0" + resolved "https://registry.yarnpkg.com/rc-motion/-/rc-motion-2.9.0.tgz#9e18a1b8d61e528a97369cf9a7601e9b29205710" + integrity sha512-XIU2+xLkdIr1/h6ohPZXyPBMvOmuyFZQ/T0xnawz+Rh+gh4FINcnZmMT5UTIj6hgI0VLDjTaPeRd+smJeSPqiQ== + dependencies: + "@babel/runtime" "^7.11.1" + classnames "^2.2.1" + rc-util "^5.21.0" + +rc-overflow@^1.0.0: + version "1.3.2" + resolved "https://registry.yarnpkg.com/rc-overflow/-/rc-overflow-1.3.2.tgz#72ee49e85a1308d8d4e3bd53285dc1f3e0bcce2c" + integrity sha512-nsUm78jkYAoPygDAcGZeC2VwIg/IBGSodtOY3pMof4W3M9qRJgqaDYm03ZayHlde3I6ipliAxbN0RUcGf5KOzw== + dependencies: + "@babel/runtime" "^7.11.1" + classnames "^2.2.1" + rc-resize-observer "^1.0.0" + rc-util "^5.37.0" + +rc-resize-observer@^1.0.0, rc-resize-observer@^1.3.1: + version "1.4.0" + resolved "https://registry.yarnpkg.com/rc-resize-observer/-/rc-resize-observer-1.4.0.tgz#7bba61e6b3c604834980647cce6451914750d0cc" + integrity sha512-PnMVyRid9JLxFavTjeDXEXo65HCRqbmLBw9xX9gfC4BZiSzbLXKzW3jPz+J0P71pLbD5tBMTT+mkstV5gD0c9Q== + dependencies: + "@babel/runtime" "^7.20.7" + classnames "^2.2.1" + rc-util "^5.38.0" + resize-observer-polyfill "^1.5.1" + +rc-select@~14.4.0: + version "14.4.3" + resolved "https://registry.yarnpkg.com/rc-select/-/rc-select-14.4.3.tgz#68d7f1b6bcb41543f69901951facd5e097fb835d" + integrity sha512-qoz4gNqm3SN+4dYKSCRiRkxKSEEdbS3jC6gdFYoYwEjDZ9sdQFo5jHlfQbF+hhai01HOoj1Hf8Gq6tpUvU+Gmw== + dependencies: + "@babel/runtime" "^7.10.1" + "@rc-component/trigger" "^1.5.0" + classnames "2.x" + rc-motion "^2.0.1" + rc-overflow "^1.0.0" + rc-util "^5.16.1" + rc-virtual-list "^3.4.13" + +rc-slider@10.1.1: + version "10.1.1" + resolved "https://registry.yarnpkg.com/rc-slider/-/rc-slider-10.1.1.tgz#5e82036e60b61021aba3ea0e353744dd7c74e104" + integrity sha512-gn8oXazZISEhnmRinI89Z/JD/joAaM35jp+gDtIVSTD/JJMCCBqThqLk1SVJmvtfeiEF/kKaFY0+qt4SDHFUDw== + dependencies: + "@babel/runtime" "^7.10.1" + classnames "^2.2.5" + rc-util "^5.27.0" + +rc-time-picker@^3.7.3: + version "3.7.3" + resolved "https://registry.yarnpkg.com/rc-time-picker/-/rc-time-picker-3.7.3.tgz#65a8de904093250ae9c82b02a4905e0f995e23e2" + integrity sha512-Lv1Mvzp9fRXhXEnRLO4nW6GLNxUkfAZ3RsiIBsWjGjXXvMNjdr4BX/ayElHAFK0DoJqOhm7c5tjmIYpEOwcUXg== + dependencies: + classnames "2.x" + moment "2.x" + prop-types "^15.5.8" + raf "^3.4.1" + rc-trigger "^2.2.0" + react-lifecycles-compat "^3.0.4" + +rc-tooltip@5.3.1: + version "5.3.1" + resolved "https://registry.yarnpkg.com/rc-tooltip/-/rc-tooltip-5.3.1.tgz#3dde4e1865f79cd23f202bba4e585c2a1173024b" + integrity sha512-e6H0dMD38EPaSPD2XC8dRfct27VvT2TkPdoBSuNl3RRZ5tspiY/c5xYEmGC0IrABvMBgque4Mr2SMZuliCvoiQ== + dependencies: + "@babel/runtime" "^7.11.2" + classnames "^2.3.1" + rc-trigger "^5.3.1" + +rc-tree@~5.7.0: + version "5.7.12" + resolved "https://registry.yarnpkg.com/rc-tree/-/rc-tree-5.7.12.tgz#6910e551390963708936c2cbf925f9deff4a6d76" + integrity sha512-LXA5nY2hG5koIAlHW5sgXgLpOMz+bFRbnZZ+cCg0tQs4Wv1AmY7EDi1SK7iFXhslYockbqUerQan82jljoaItg== + dependencies: + "@babel/runtime" "^7.10.1" + classnames "2.x" + rc-motion "^2.0.1" + rc-util "^5.16.1" + rc-virtual-list "^3.5.1" + +rc-trigger@^2.2.0: + version "2.6.5" + resolved "https://registry.yarnpkg.com/rc-trigger/-/rc-trigger-2.6.5.tgz#140a857cf28bd0fa01b9aecb1e26a50a700e9885" + integrity sha512-m6Cts9hLeZWsTvWnuMm7oElhf+03GOjOLfTuU0QmdB9ZrW7jR2IpI5rpNM7i9MvAAlMAmTx5Zr7g3uu/aMvZAw== + dependencies: + babel-runtime "6.x" + classnames "^2.2.6" + prop-types "15.x" + rc-align "^2.4.0" + rc-animate "2.x" + rc-util "^4.4.0" + react-lifecycles-compat "^3.0.4" + +rc-trigger@^5.3.1: + version "5.3.4" + resolved "https://registry.yarnpkg.com/rc-trigger/-/rc-trigger-5.3.4.tgz#6b4b26e32825677c837d1eb4d7085035eecf9a61" + integrity sha512-mQv+vas0TwKcjAO2izNPkqR4j86OemLRmvL2nOzdP9OWNWA1ivoTt5hzFqYNW9zACwmTezRiN8bttrC7cZzYSw== + dependencies: + "@babel/runtime" "^7.18.3" + classnames "^2.2.6" + rc-align "^4.0.0" + rc-motion "^2.0.0" + rc-util "^5.19.2" + +rc-util@^4.0.4, rc-util@^4.15.3, rc-util@^4.4.0: + version "4.21.1" + resolved "https://registry.yarnpkg.com/rc-util/-/rc-util-4.21.1.tgz#88602d0c3185020aa1053d9a1e70eac161becb05" + integrity sha512-Z+vlkSQVc1l8O2UjR3WQ+XdWlhj5q9BMQNLk2iOBch75CqPfrJyGtcWMcnhRlNuDu0Ndtt4kLVO8JI8BrABobg== + dependencies: + add-dom-event-listener "^1.1.0" + prop-types "^15.5.10" + react-is "^16.12.0" + react-lifecycles-compat "^3.0.4" + shallowequal "^1.1.0" + +rc-util@^5.16.1, rc-util@^5.19.2, rc-util@^5.21.0, rc-util@^5.21.2, rc-util@^5.24.4, rc-util@^5.26.0, rc-util@^5.27.0, rc-util@^5.36.0, rc-util@^5.37.0, rc-util@^5.38.0, rc-util@^5.6.1: + version "5.38.1" + resolved "https://registry.yarnpkg.com/rc-util/-/rc-util-5.38.1.tgz#4915503b89855f5c5cd9afd4c72a7a17568777bb" + integrity sha512-e4ZMs7q9XqwTuhIK7zBIVFltUtMSjphuPPQXHoHlzRzNdOwUxDejo0Zls5HYaJfRKNURcsS/ceKVULlhjBrxng== + dependencies: + "@babel/runtime" "^7.18.3" + react-is "^18.2.0" + +rc-virtual-list@^3.4.13, rc-virtual-list@^3.5.1: + version "3.11.3" + resolved "https://registry.yarnpkg.com/rc-virtual-list/-/rc-virtual-list-3.11.3.tgz#77d4e12e20c1ba314b43c0e37e118296674c5401" + integrity sha512-tu5UtrMk/AXonHwHxUogdXAWynaXsrx1i6dsgg+lOo/KJSF8oBAcprh1z5J3xgnPJD5hXxTL58F8s8onokdt0Q== + dependencies: + "@babel/runtime" "^7.20.0" + classnames "^2.2.6" + rc-resize-observer "^1.0.0" + rc-util "^5.36.0" + +react-beautiful-dnd@13.1.1: + version "13.1.1" + resolved "https://registry.yarnpkg.com/react-beautiful-dnd/-/react-beautiful-dnd-13.1.1.tgz#b0f3087a5840920abf8bb2325f1ffa46d8c4d0a2" + integrity sha512-0Lvs4tq2VcrEjEgDXHjT98r+63drkKEgqyxdA7qD3mvKwga6a5SscbdLPO2IExotU1jW8L0Ksdl0Cj2AF67nPQ== + dependencies: + "@babel/runtime" "^7.9.2" + css-box-model "^1.2.0" + memoize-one "^5.1.1" + raf-schd "^4.0.2" + react-redux "^7.2.0" + redux "^4.0.4" + use-memo-one "^1.1.1" + +react-calendar@4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/react-calendar/-/react-calendar-4.0.0.tgz#99ad73dd0c7c5b25aa535a5fdeee3d71bfe45faa" + integrity sha512-y9Q5Oo3Mq869KExbOCP3aJ3hEnRZKZ0TqUa9QU1wJGgDZFrW1qTaWp5v52oZpmxTTrpAMTUcUGaC0QJcO1f8Nw== + dependencies: + "@wojtekmaj/date-utils" "^1.0.2" + clsx "^1.2.1" + get-user-locale "^1.2.0" + prop-types "^15.6.0" + +react-colorful@5.6.1: + version "5.6.1" + resolved "https://registry.yarnpkg.com/react-colorful/-/react-colorful-5.6.1.tgz#7dc2aed2d7c72fac89694e834d179e32f3da563b" + integrity sha512-1exovf0uGTGyq5mXQT0zgQ80uvj2PCwvF8zY1RN9/vbJVSjSo3fsB/4L3ObbF7u70NduSiK4xu4Y6q1MHoUGEw== + +react-custom-scrollbars-2@4.5.0: + version "4.5.0" + resolved "https://registry.yarnpkg.com/react-custom-scrollbars-2/-/react-custom-scrollbars-2-4.5.0.tgz#cff18e7368bce9d570aea0be780045eda392c745" + integrity sha512-/z0nWAeXfMDr4+OXReTpYd1Atq9kkn4oI3qxq3iMXGQx1EEfwETSqB8HTAvg1X7dEqcCachbny1DRNGlqX5bDQ== + dependencies: + dom-css "^2.0.0" + prop-types "^15.5.10" + raf "^3.1.0" + +react-dom@18.2.0: + version "18.2.0" + resolved "https://registry.yarnpkg.com/react-dom/-/react-dom-18.2.0.tgz#22aaf38708db2674ed9ada224ca4aa708d821e3d" + integrity sha512-6IMTriUmvsjHUjNtEDudZfuDQUoWXVxKHhlEGSk81n4YFS+r/Kl99wXiwlVXtPBtJenozv2P+hxDsw9eA7Xo6g== + dependencies: + loose-envify "^1.1.0" + scheduler "^0.23.0" + +react-draggable@^4.0.0, react-draggable@^4.0.3: + version "4.4.6" + resolved "https://registry.yarnpkg.com/react-draggable/-/react-draggable-4.4.6.tgz#63343ee945770881ca1256a5b6fa5c9f5983fe1e" + integrity sha512-LtY5Xw1zTPqHkVmtM3X8MUOxNDOUhv/khTgBgrUvwaS064bwVvxT+q5El0uUFNx5IEPKXuRejr7UqLwBIg5pdw== + dependencies: + clsx "^1.1.1" + prop-types "^15.8.1" + +react-dropzone@14.2.3: + version "14.2.3" + resolved "https://registry.yarnpkg.com/react-dropzone/-/react-dropzone-14.2.3.tgz#0acab68308fda2d54d1273a1e626264e13d4e84b" + integrity sha512-O3om8I+PkFKbxCukfIR3QAGftYXDZfOE2N1mr/7qebQJHs7U+/RSL/9xomJNpRg9kM5h9soQSdf0Gc7OHF5Fug== + dependencies: + attr-accept "^2.2.2" + file-selector "^0.6.0" + prop-types "^15.8.1" + +react-fast-compare@^3.0.1: + version "3.2.2" + resolved "https://registry.yarnpkg.com/react-fast-compare/-/react-fast-compare-3.2.2.tgz#929a97a532304ce9fee4bcae44234f1ce2c21d49" + integrity sha512-nsO+KSNgo1SbJqJEYRE9ERzo7YtYbou/OqjSQKxV7jcKox7+usiUVZOAC+XnDOABXggQTno0Y1CpVnuWEc1boQ== + +react-from-dom@^0.6.2: + version "0.6.2" + resolved "https://registry.yarnpkg.com/react-from-dom/-/react-from-dom-0.6.2.tgz#9da903a508c91c013b55afcd59348b8b0a39bdb4" + integrity sha512-qvWWTL/4xw4k/Dywd41RBpLQUSq97csuv15qrxN+izNeLYlD9wn5W8LspbfYe5CWbaSdkZ72BsaYBPQf2x4VbQ== + +react-grid-layout@1.3.4: + version "1.3.4" + resolved "https://registry.yarnpkg.com/react-grid-layout/-/react-grid-layout-1.3.4.tgz#4fa819be24a1ba9268aa11b82d63afc4762a32ff" + integrity sha512-sB3rNhorW77HUdOjB4JkelZTdJGQKuXLl3gNg+BI8gJkTScspL1myfZzW/EM0dLEn+1eH+xW+wNqk0oIM9o7cw== + dependencies: + clsx "^1.1.1" + lodash.isequal "^4.0.0" + prop-types "^15.8.1" + react-draggable "^4.0.0" + react-resizable "^3.0.4" + +react-highlight-words@0.20.0: + version "0.20.0" + resolved "https://registry.yarnpkg.com/react-highlight-words/-/react-highlight-words-0.20.0.tgz#c60bfff5d14678c8f0e8fbe4bdcf083e6c70d507" + integrity sha512-asCxy+jCehDVhusNmCBoxDf2mm1AJ//D+EzDx1m5K7EqsMBIHdZ5G4LdwbSEXqZq1Ros0G0UySWmAtntSph7XA== + dependencies: + highlight-words-core "^1.2.0" + memoize-one "^4.0.0" + prop-types "^15.5.8" + +react-hook-form@7.5.3: + version "7.5.3" + resolved "https://registry.yarnpkg.com/react-hook-form/-/react-hook-form-7.5.3.tgz#9a624fa14ec153b154891c5ebddae02ec5c2e40f" + integrity sha512-5T0mfJ4kCPKljd7t3Rgp7lML4Y2+kaZIeMdN6Zo/J7gBQ+WkrDBHOftdOtz4X+7/eqHGak5yL5evNpYdA9abVA== + +react-i18next@^12.0.0: + version "12.3.1" + resolved "https://registry.yarnpkg.com/react-i18next/-/react-i18next-12.3.1.tgz#30134a41a2a71c61dc69c6383504929aed1c99e7" + integrity sha512-5v8E2XjZDFzK7K87eSwC7AJcAkcLt5xYZ4+yTPDAW1i7C93oOY1dnr4BaQM7un4Hm+GmghuiPvevWwlca5PwDA== + dependencies: + "@babel/runtime" "^7.20.6" + html-parse-stringify "^3.0.1" + +react-immutable-proptypes@^2.1.0: + version "2.2.0" + resolved "https://registry.yarnpkg.com/react-immutable-proptypes/-/react-immutable-proptypes-2.2.0.tgz#cce96d68cc3c18e89617cbf3092d08e35126af4a" + integrity sha512-Vf4gBsePlwdGvSZoLSBfd4HAP93HDauMY4fDjXhreg/vg6F3Fj/MXDNyTbltPC/xZKmZc+cjLu3598DdYK6sgQ== + dependencies: + invariant "^2.2.2" + +react-inlinesvg@3.0.2: + version "3.0.2" + resolved "https://registry.yarnpkg.com/react-inlinesvg/-/react-inlinesvg-3.0.2.tgz#5c59799966ae7926057091b2ac230ddcee01bea0" + integrity sha512-BEzkpMGQwEY68fgaouY7ZWvAUPb8jbj7dE9iDbWZxstDhMuz9qfpxNgvGSENKcDMdpq/XHduSk/LAmNKin4nKw== + dependencies: + exenv "^1.2.2" + react-from-dom "^0.6.2" + +react-is@^16.12.0, react-is@^16.13.1, react-is@^16.6.0, react-is@^16.7.0: + version "16.13.1" + resolved "https://registry.yarnpkg.com/react-is/-/react-is-16.13.1.tgz#789729a4dc36de2999dc156dd6c1d9c18cea56a4" + integrity sha512-24e6ynE2H+OKt4kqsOvNd8kBpV65zoxbA4BVsEOB3ARVWQki/DHzaUoC5KuON/BiccDaCCTZBuOcfZs70kR8bQ== + +react-is@^17.0.1, react-is@^17.0.2: + version "17.0.2" + resolved "https://registry.yarnpkg.com/react-is/-/react-is-17.0.2.tgz#e691d4a8e9c789365655539ab372762b0efb54f0" + integrity sha512-w2GsyukL62IJnlaff/nRegPQR94C/XXamvMWmSHRJ4y7Ts/4ocGRmTHvOs8PSE6pB3dWOrD/nueuU5sduBsQ4w== + +react-is@^18.0.0, react-is@^18.2.0: + version "18.2.0" + resolved "https://registry.yarnpkg.com/react-is/-/react-is-18.2.0.tgz#199431eeaaa2e09f86427efbb4f1473edb47609b" + integrity sha512-xWGDIW6x921xtzPkhiULtthJHoJvBbF3q26fzloPCK0hsvxtPVelvftw3zjbHWSkR2km9Z+4uxbDDK/6Zw9B8w== + +react-lifecycles-compat@^3.0.4: + version "3.0.4" + resolved "https://registry.yarnpkg.com/react-lifecycles-compat/-/react-lifecycles-compat-3.0.4.tgz#4f1a273afdfc8f3488a8c516bfda78f872352362" + integrity sha512-fBASbA6LnOU9dOU2eW7aQ8xmYBSXUIWr+UmF9b1efZBazGNO+rcXT/icdKnYm2pTwcRylVUYwW7H1PHfLekVzA== + +react-popper-tooltip@4.4.2: + version "4.4.2" + resolved "https://registry.yarnpkg.com/react-popper-tooltip/-/react-popper-tooltip-4.4.2.tgz#0dc4894b8e00ba731f89bd2d30584f6032ec6163" + integrity sha512-y48r0mpzysRTZAIh8m2kpZ8S1YPNqGtQPDrlXYSGvDS1c1GpG/NUXbsbIdfbhXfmSaRJuTcaT6N1q3CKuHRVbg== + dependencies: + "@babel/runtime" "^7.18.3" + "@popperjs/core" "^2.11.5" + react-popper "^2.3.0" + +react-popper@2.3.0, react-popper@^2.3.0: + version "2.3.0" + resolved "https://registry.yarnpkg.com/react-popper/-/react-popper-2.3.0.tgz#17891c620e1320dce318bad9fede46a5f71c70ba" + integrity sha512-e1hj8lL3uM+sgSR4Lxzn5h1GxBlpa4CQz0XLF8kx4MDrDRWY0Ena4c97PUeSX9i5W3UAfDP0z0FXCTQkoXUl3Q== + dependencies: + react-fast-compare "^3.0.1" + warning "^4.0.2" + +react-redux@^7.2.0: + version "7.2.9" + resolved "https://registry.yarnpkg.com/react-redux/-/react-redux-7.2.9.tgz#09488fbb9416a4efe3735b7235055442b042481d" + integrity sha512-Gx4L3uM182jEEayZfRbI/G11ZpYdNAnBs70lFVMNdHJI76XYtR+7m0MN+eAs7UHBPhWXcnFPaS+9owSCJQHNpQ== + dependencies: + "@babel/runtime" "^7.15.4" + "@types/react-redux" "^7.1.20" + hoist-non-react-statics "^3.3.2" + loose-envify "^1.4.0" + prop-types "^15.7.2" + react-is "^17.0.2" + +react-resizable@^3.0.4: + version "3.0.5" + resolved "https://registry.yarnpkg.com/react-resizable/-/react-resizable-3.0.5.tgz#362721f2efbd094976f1780ae13f1ad7739786c1" + integrity sha512-vKpeHhI5OZvYn82kXOs1bC8aOXktGU5AmKAgaZS4F5JPburCtbmDPqE7Pzp+1kN4+Wb81LlF33VpGwWwtXem+w== + dependencies: + prop-types "15.x" + react-draggable "^4.0.3" + +react-router-dom@5.3.3: + version "5.3.3" + resolved "https://registry.yarnpkg.com/react-router-dom/-/react-router-dom-5.3.3.tgz#8779fc28e6691d07afcaf98406d3812fe6f11199" + integrity sha512-Ov0tGPMBgqmbu5CDmN++tv2HQ9HlWDuWIIqn4b88gjlAN5IHI+4ZUZRcpz9Hl0azFIwihbLDYw1OiHGRo7ZIng== + dependencies: + "@babel/runtime" "^7.12.13" + history "^4.9.0" + loose-envify "^1.3.1" + prop-types "^15.6.2" + react-router "5.3.3" + tiny-invariant "^1.0.2" + tiny-warning "^1.0.0" + +react-router@5.3.3: + version "5.3.3" + resolved "https://registry.yarnpkg.com/react-router/-/react-router-5.3.3.tgz#8e3841f4089e728cf82a429d92cdcaa5e4a3a288" + integrity sha512-mzQGUvS3bM84TnbtMYR8ZjKnuPJ71IjSzR+DE6UkUqvN4czWIqEs17yLL8xkAycv4ev0AiN+IGrWu88vJs/p2w== + dependencies: + "@babel/runtime" "^7.12.13" + history "^4.9.0" + hoist-non-react-statics "^3.1.0" + loose-envify "^1.3.1" + mini-create-react-context "^0.4.0" + path-to-regexp "^1.7.0" + prop-types "^15.6.2" + react-is "^16.6.0" + tiny-invariant "^1.0.2" + tiny-warning "^1.0.0" + +react-select-event@^5.1.0: + version "5.5.1" + resolved "https://registry.yarnpkg.com/react-select-event/-/react-select-event-5.5.1.tgz#d67e04a6a51428b1534b15ecb1b82afbe5edddcb" + integrity sha512-goAx28y0+iYrbqZA2FeRTreHHs/ZtSuKxtA+J5jpKT5RHPCbVZJ4MqACfPnWyFXsEec+3dP5bCrNTxIX8oYe9A== + dependencies: + "@testing-library/dom" ">=7" + +react-select@5.7.0: + version "5.7.0" + resolved "https://registry.yarnpkg.com/react-select/-/react-select-5.7.0.tgz#82921b38f1fcf1471a0b62304da01f2896cd8ce6" + integrity sha512-lJGiMxCa3cqnUr2Jjtg9YHsaytiZqeNOKeibv6WF5zbK/fPegZ1hg3y/9P1RZVLhqBTs0PfqQLKuAACednYGhQ== + dependencies: + "@babel/runtime" "^7.12.0" + "@emotion/cache" "^11.4.0" + "@emotion/react" "^11.8.1" + "@floating-ui/dom" "^1.0.1" + "@types/react-transition-group" "^4.4.0" + memoize-one "^6.0.0" + prop-types "^15.6.0" + react-transition-group "^4.3.0" + use-isomorphic-layout-effect "^1.1.2" + +react-table@7.8.0: + version "7.8.0" + resolved "https://registry.yarnpkg.com/react-table/-/react-table-7.8.0.tgz#07858c01c1718c09f7f1aed7034fcfd7bda907d2" + integrity sha512-hNaz4ygkZO4bESeFfnfOft73iBUj8K5oKi1EcSHPAibEydfsX2MyU6Z8KCr3mv3C9Kqqh71U+DhZkFvibbnPbA== + +react-transition-group@4.4.5, react-transition-group@^4.3.0: + version "4.4.5" + resolved "https://registry.yarnpkg.com/react-transition-group/-/react-transition-group-4.4.5.tgz#e53d4e3f3344da8521489fbef8f2581d42becdd1" + integrity sha512-pZcd1MCJoiKiBR2NRxeCRg13uCXbydPnmB4EOeRrY7480qNWO8IIgQG6zlDkm6uRMsURXPuKq0GWtiM59a5Q6g== + dependencies: + "@babel/runtime" "^7.5.5" + dom-helpers "^5.0.1" + loose-envify "^1.4.0" + prop-types "^15.6.2" + +react-universal-interface@^0.6.2: + version "0.6.2" + resolved "https://registry.yarnpkg.com/react-universal-interface/-/react-universal-interface-0.6.2.tgz#5e8d438a01729a4dbbcbeeceb0b86be146fe2b3b" + integrity sha512-dg8yXdcQmvgR13RIlZbTRQOoUrDciFVoSBZILwjE2LFISxZZ8loVJKAkuzswl5js8BHda79bIb2b84ehU8IjXw== + +react-use@17.4.0: + version "17.4.0" + resolved "https://registry.yarnpkg.com/react-use/-/react-use-17.4.0.tgz#cefef258b0a6c534a5c8021c2528ac6e1a4cdc6d" + integrity sha512-TgbNTCA33Wl7xzIJegn1HndB4qTS9u03QUwyNycUnXaweZkE4Kq2SB+Yoxx8qbshkZGYBDvUXbXWRUmQDcZZ/Q== + dependencies: + "@types/js-cookie" "^2.2.6" + "@xobotyi/scrollbar-width" "^1.9.5" + copy-to-clipboard "^3.3.1" + fast-deep-equal "^3.1.3" + fast-shallow-equal "^1.0.0" + js-cookie "^2.2.1" + nano-css "^5.3.1" + react-universal-interface "^0.6.2" + resize-observer-polyfill "^1.5.1" + screenfull "^5.1.0" + set-harmonic-interval "^1.0.1" + throttle-debounce "^3.0.1" + ts-easing "^0.2.0" + tslib "^2.1.0" + +react-virtualized-auto-sizer@1.0.7: + version "1.0.7" + resolved "https://registry.yarnpkg.com/react-virtualized-auto-sizer/-/react-virtualized-auto-sizer-1.0.7.tgz#bfb8414698ad1597912473de3e2e5f82180c1195" + integrity sha512-Mxi6lwOmjwIjC1X4gABXMJcKHsOo0xWl3E3ugOgufB8GJU+MqrtY35aBuvCYv/razQ1Vbp7h1gWJjGjoNN5pmA== + +react-window@1.8.8: + version "1.8.8" + resolved "https://registry.yarnpkg.com/react-window/-/react-window-1.8.8.tgz#1b52919f009ddf91970cbdb2050a6c7be44df243" + integrity sha512-D4IiBeRtGXziZ1n0XklnFGu7h9gU684zepqyKzgPNzrsrk7xOCxni+TCckjg2Nr/DiaEEGVVmnhYSlT2rB47dQ== + dependencies: + "@babel/runtime" "^7.0.0" + memoize-one ">=3.1.1 <6" + +react@18.2.0: + version "18.2.0" + resolved "https://registry.yarnpkg.com/react/-/react-18.2.0.tgz#555bd98592883255fa00de14f1151a917b5d77d5" + integrity sha512-/3IjMdb2L9QbBdWiW5e3P2/npwMBaU9mHCSCUzNln0ZCYbcfTsGbTJrU/kGemdH2IWmB2ioZ+zkxtmq6g09fGQ== + dependencies: + loose-envify "^1.1.0" + +readable-stream@^1.1.7: + version "1.1.14" + resolved "https://registry.yarnpkg.com/readable-stream/-/readable-stream-1.1.14.tgz#7cf4c54ef648e3813084c636dd2079e166c081d9" + integrity sha512-+MeVjFf4L44XUkhM1eYbD8fyEsxcV81pqMSR5gblfcLCHfZvbrqy4/qYHE+/R5HoBUT11WV5O08Cr1n3YXkWVQ== + dependencies: + core-util-is "~1.0.0" + inherits "~2.0.1" + isarray "0.0.1" + string_decoder "~0.10.x" + +readable-stream@^2.0.1: + version "2.3.8" + resolved "https://registry.yarnpkg.com/readable-stream/-/readable-stream-2.3.8.tgz#91125e8042bba1b9887f49345f6277027ce8be9b" + integrity sha512-8p0AUk4XODgIewSi0l8Epjs+EVnWiK7NoDIEGU0HhE7+ZyY8D1IMY7odu5lRrFXGg71L15KG8QrPmum45RTtdA== + dependencies: + core-util-is "~1.0.0" + inherits "~2.0.3" + isarray "~1.0.0" + process-nextick-args "~2.0.0" + safe-buffer "~5.1.1" + string_decoder "~1.1.1" + util-deprecate "~1.0.1" + +readdirp@~3.6.0: + version "3.6.0" + resolved "https://registry.yarnpkg.com/readdirp/-/readdirp-3.6.0.tgz#74a370bd857116e245b29cc97340cd431a02a6c7" + integrity sha512-hOS089on8RduqdbhvQ5Z37A0ESjsqz6qnRcffsMU3495FuTdqSm+7bhJ29JvIOsBDEEnan5DPu9t3To9VRlMzA== + dependencies: + picomatch "^2.2.1" + +rechoir@^0.8.0: + version "0.8.0" + resolved "https://registry.yarnpkg.com/rechoir/-/rechoir-0.8.0.tgz#49f866e0d32146142da3ad8f0eff352b3215ff22" + integrity sha512-/vxpCXddiX8NGfGO/mTafwjq4aFa/71pvamip0++IQk3zG8cbCj0fifNPrjjF1XMXUne91jL9OoxmdykoEtifQ== + dependencies: + resolve "^1.20.0" + +redent@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/redent/-/redent-3.0.0.tgz#e557b7998316bb53c9f1f56fa626352c6963059f" + integrity sha512-6tDA8g98We0zd0GvVeMT9arEOnTw9qM03L9cJXaCjrip1OO764RDBLBfrB4cwzNGDj5OA5ioymC9GkizgWJDUg== + dependencies: + indent-string "^4.0.0" + strip-indent "^3.0.0" + +redux@^4.0.0, redux@^4.0.4: + version "4.2.1" + resolved "https://registry.yarnpkg.com/redux/-/redux-4.2.1.tgz#c08f4306826c49b5e9dc901dee0452ea8fce6197" + integrity sha512-LAUYz4lc+Do8/g7aeRa8JkyDErK6ekstQaqWQrNRW//MY1TvCEpMtpTWvlQ+FPbWCx+Xixu/6SHt5N0HR+SB4w== + dependencies: + "@babel/runtime" "^7.9.2" + +regenerate-unicode-properties@^10.1.0: + version "10.1.1" + resolved "https://registry.yarnpkg.com/regenerate-unicode-properties/-/regenerate-unicode-properties-10.1.1.tgz#6b0e05489d9076b04c436f318d9b067bba459480" + integrity sha512-X007RyZLsCJVVrjgEFVpLUTZwyOZk3oiL75ZcuYjlIWd6rNJtOjkBwQc5AsRrpbKVkxN6sklw/k/9m2jJYOf8Q== + dependencies: + regenerate "^1.4.2" + +regenerate@^1.4.2: + version "1.4.2" + resolved "https://registry.yarnpkg.com/regenerate/-/regenerate-1.4.2.tgz#b9346d8827e8f5a32f7ba29637d398b69014848a" + integrity sha512-zrceR/XhGYU/d/opr2EKO7aRHUeiBI8qjtfHqADTwZd6Szfy16la6kqD0MIUs5z5hx6AaKa+PixpPrR289+I0A== + +regenerator-runtime@0.13.11: + version "0.13.11" + resolved "https://registry.yarnpkg.com/regenerator-runtime/-/regenerator-runtime-0.13.11.tgz#f6dca3e7ceec20590d07ada785636a90cdca17f9" + integrity sha512-kY1AZVr2Ra+t+piVaJ4gxaFaReZVH40AKNo7UCX6W+dEwBo/2oZJzqfuN1qLq1oL45o56cPaTXELwrTh8Fpggg== + +regenerator-runtime@^0.11.0: + version "0.11.1" + resolved "https://registry.yarnpkg.com/regenerator-runtime/-/regenerator-runtime-0.11.1.tgz#be05ad7f9bf7d22e056f9726cee5017fbf19e2e9" + integrity sha512-MguG95oij0fC3QV3URf4V2SDYGJhJnJGqvIIgdECeODCT98wSWDAJ94SSuVpYQUoTcGUIL6L4yNB7j1DFFHSBg== + +regenerator-runtime@^0.14.0: + version "0.14.1" + resolved "https://registry.yarnpkg.com/regenerator-runtime/-/regenerator-runtime-0.14.1.tgz#356ade10263f685dda125100cd862c1db895327f" + integrity sha512-dYnhHh0nJoMfnkZs6GmmhFknAGRrLznOu5nc9ML+EJxGvrx6H7teuevqVqCuPcPK//3eDrrjQhehXVx9cnkGdw== + +regenerator-transform@^0.15.2: + version "0.15.2" + resolved "https://registry.yarnpkg.com/regenerator-transform/-/regenerator-transform-0.15.2.tgz#5bbae58b522098ebdf09bca2f83838929001c7a4" + integrity sha512-hfMp2BoF0qOk3uc5V20ALGDS2ddjQaLrdl7xrGXvAIow7qeWRM2VA2HuCHkUKk9slq3VwEwLNK3DFBqDfPGYtg== + dependencies: + "@babel/runtime" "^7.8.4" + +regexp.prototype.flags@^1.5.0, regexp.prototype.flags@^1.5.1: + version "1.5.1" + resolved "https://registry.yarnpkg.com/regexp.prototype.flags/-/regexp.prototype.flags-1.5.1.tgz#90ce989138db209f81492edd734183ce99f9677e" + integrity sha512-sy6TXMN+hnP/wMy+ISxg3krXx7BAtWVO4UouuCN/ziM9UEne0euamVNafDfvC83bRNr95y0V5iijeDQFUNpvrg== + dependencies: + call-bind "^1.0.2" + define-properties "^1.2.0" + set-function-name "^2.0.0" + +regexpu-core@^5.3.1: + version "5.3.2" + resolved "https://registry.yarnpkg.com/regexpu-core/-/regexpu-core-5.3.2.tgz#11a2b06884f3527aec3e93dbbf4a3b958a95546b" + integrity sha512-RAM5FlZz+Lhmo7db9L298p2vHP5ZywrVXmVXpmAD9GuL5MPH6t9ROw1iA/wfHkQ76Qe7AaPF0nGuim96/IrQMQ== + dependencies: + "@babel/regjsgen" "^0.8.0" + regenerate "^1.4.2" + regenerate-unicode-properties "^10.1.0" + regjsparser "^0.9.1" + unicode-match-property-ecmascript "^2.0.0" + unicode-match-property-value-ecmascript "^2.1.0" + +regjsparser@^0.9.1: + version "0.9.1" + resolved "https://registry.yarnpkg.com/regjsparser/-/regjsparser-0.9.1.tgz#272d05aa10c7c1f67095b1ff0addae8442fc5709" + integrity sha512-dQUtn90WanSNl+7mQKcXAgZxvUe7Z0SqXlgzv0za4LwiUhyzBC58yQO3liFoUgu8GiJVInAhJjkj1N0EtQ5nkQ== + dependencies: + jsesc "~0.5.0" + +replace-in-file-webpack-plugin@^1.0.6: + version "1.0.6" + resolved "https://registry.yarnpkg.com/replace-in-file-webpack-plugin/-/replace-in-file-webpack-plugin-1.0.6.tgz#eee7e139be967e8e48a0552f73037ed567b54dbd" + integrity sha512-+KRgNYL2nbc6nza6SeF+wTBNkovuHFTfJF8QIEqZg5MbwkYpU9no0kH2YU354wvY/BK8mAC2UKoJ7q+sJTvciw== + +request-progress@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/request-progress/-/request-progress-3.0.0.tgz#4ca754081c7fec63f505e4faa825aa06cd669dbe" + integrity sha512-MnWzEHHaxHO2iWiQuHrUPBi/1WeBf5PkxQqNyNvLl9VAYSdXkP8tQ3pBSeCPD+yw0v0Aq1zosWLz0BdeXpWwZg== + dependencies: + throttleit "^1.0.0" + +request@^2.55.0: + version "2.88.2" + resolved "https://registry.yarnpkg.com/request/-/request-2.88.2.tgz#d73c918731cb5a87da047e207234146f664d12b3" + integrity sha512-MsvtOrfG9ZcrOwAW+Qi+F6HbD0CWXEh9ou77uOb7FM2WPhwT7smM833PzanhJLsgXjN89Ir6V2PczXNnMpwKhw== + dependencies: + aws-sign2 "~0.7.0" + aws4 "^1.8.0" + caseless "~0.12.0" + combined-stream "~1.0.6" + extend "~3.0.2" + forever-agent "~0.6.1" + form-data "~2.3.2" + har-validator "~5.1.3" + http-signature "~1.2.0" + is-typedarray "~1.0.0" + isstream "~0.1.2" + json-stringify-safe "~5.0.1" + mime-types "~2.1.19" + oauth-sign "~0.9.0" + performance-now "^2.1.0" + qs "~6.5.2" + safe-buffer "^5.1.2" + tough-cookie "~2.5.0" + tunnel-agent "^0.6.0" + uuid "^3.3.2" + +require-directory@^2.1.1: + version "2.1.1" + resolved "https://registry.yarnpkg.com/require-directory/-/require-directory-2.1.1.tgz#8c64ad5fd30dab1c976e2344ffe7f792a6a6df42" + integrity sha512-fGxEI7+wsG9xrvdjsrlmL22OMTTiHRwAMroiEeMgq8gzoLC/PQr7RsRDSTLUg/bZAZtF+TVIkHc6/4RIKrui+Q== + +require-from-string@^2.0.2: + version "2.0.2" + resolved "https://registry.yarnpkg.com/require-from-string/-/require-from-string-2.0.2.tgz#89a7fdd938261267318eafe14f9c32e598c36909" + integrity sha512-Xf0nWe6RseziFMu+Ap9biiUbmplq6S9/p+7w7YXP/JBHhrUDDUhwa+vANyubuqfZWTveU//DYVGsDG7RKL/vEw== + +requires-port@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/requires-port/-/requires-port-1.0.0.tgz#925d2601d39ac485e091cf0da5c6e694dc3dcaff" + integrity sha512-KigOCHcocU3XODJxsu8i/j8T9tzT4adHiecwORRQ0ZZFcp7ahwXuRU1m+yuO90C5ZUyGeGfocHDI14M3L3yDAQ== + +resize-observer-polyfill@^1.5.1: + version "1.5.1" + resolved "https://registry.yarnpkg.com/resize-observer-polyfill/-/resize-observer-polyfill-1.5.1.tgz#0e9020dd3d21024458d4ebd27e23e40269810464" + integrity sha512-LwZrotdHOo12nQuZlHEmtuXdqGoOD0OhaxopaNFxWzInpEgaLWoVuAMbTzixuosCx2nEG58ngzW3vxdWoxIgdg== + +resolve-bin@1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/resolve-bin/-/resolve-bin-1.0.1.tgz#795255591443e7007b21f2eadd8baa39b7378e50" + integrity sha512-4G9C3udcDB1c9qaopB+9dygm2bMyF2LeJ2JHBIc24N7ob+UuSSwX3ID1hQwpDEQep9ZRNdhT//rgEd6xbWA/SA== + dependencies: + find-parent-dir "~0.3.0" + +resolve-cwd@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/resolve-cwd/-/resolve-cwd-3.0.0.tgz#0f0075f1bb2544766cf73ba6a6e2adfebcb13f2d" + integrity sha512-OrZaX2Mb+rJCpH/6CpSqt9xFVpN++x01XnN2ie9g6P5/3xelLAkXWVADpdz1IHD/KFfEXyE6V0U01OQ3UO2rEg== + dependencies: + resolve-from "^5.0.0" + +resolve-from@^4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/resolve-from/-/resolve-from-4.0.0.tgz#4abcd852ad32dd7baabfe9b40e00a36db5f392e6" + integrity sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g== + +resolve-from@^5.0.0: + version "5.0.0" + resolved "https://registry.yarnpkg.com/resolve-from/-/resolve-from-5.0.0.tgz#c35225843df8f776df21c57557bc087e9dfdfc69" + integrity sha512-qYg9KP24dD5qka9J47d0aVky0N+b4fTU89LN9iDnjB5waksiC49rvMB0PrUJQGoTmH50XPiqOvAjDfaijGxYZw== + +resolve-pathname@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/resolve-pathname/-/resolve-pathname-3.0.0.tgz#99d02224d3cf263689becbb393bc560313025dcd" + integrity sha512-C7rARubxI8bXFNB/hqcp/4iUeIXJhJZvFPFPiSPRnhU5UPxzMFIl+2E6yY6c4k9giDJAhtV+enfA+G89N6Csng== + +resolve-protobuf-schema@^2.1.0: + version "2.1.0" + resolved "https://registry.yarnpkg.com/resolve-protobuf-schema/-/resolve-protobuf-schema-2.1.0.tgz#9ca9a9e69cf192bbdaf1006ec1973948aa4a3758" + integrity sha512-kI5ffTiZWmJaS/huM8wZfEMer1eRd7oJQhDuxeCLe3t7N7mX3z94CN0xPxBQxFYQTSNz9T0i+v6inKqSdK8xrQ== + dependencies: + protocol-buffers-schema "^3.3.1" + +resolve.exports@^2.0.0: + version "2.0.2" + resolved "https://registry.yarnpkg.com/resolve.exports/-/resolve.exports-2.0.2.tgz#f8c934b8e6a13f539e38b7098e2e36134f01e800" + integrity sha512-X2UW6Nw3n/aMgDVy+0rSqgHlv39WZAlZrXCdnbyEiKm17DSqHX4MmQMaST3FbeWR5FTuRcUwYAziZajji0Y7mg== + +resolve@^1.14.2, resolve@^1.19.0, resolve@^1.20.0, resolve@^1.22.4: + version "1.22.8" + resolved "https://registry.yarnpkg.com/resolve/-/resolve-1.22.8.tgz#b6c87a9f2aa06dfab52e3d70ac8cde321fa5a48d" + integrity sha512-oKWePCxqpd6FlLvGV1VU0x7bkPmmCNolxzjMf4NczoDnQcIWrAF+cPtZn5i6n+RfD2d9i0tzpKnG6Yk168yIyw== + dependencies: + is-core-module "^2.13.0" + path-parse "^1.0.7" + supports-preserve-symlinks-flag "^1.0.0" + +resolve@^2.0.0-next.4: + version "2.0.0-next.5" + resolved "https://registry.yarnpkg.com/resolve/-/resolve-2.0.0-next.5.tgz#6b0ec3107e671e52b68cd068ef327173b90dc03c" + integrity sha512-U7WjGVG9sH8tvjW5SmGbQuui75FiyjAX72HX15DwBBwF9dNiQZRQAg9nnPhYy+TUnE0+VcrttuvNI8oSxZcocA== + dependencies: + is-core-module "^2.13.0" + path-parse "^1.0.7" + supports-preserve-symlinks-flag "^1.0.0" + +restore-cursor@^3.1.0: + version "3.1.0" + resolved "https://registry.yarnpkg.com/restore-cursor/-/restore-cursor-3.1.0.tgz#39f67c54b3a7a58cea5236d95cf0034239631f7e" + integrity sha512-l+sSefzHpj5qimhFSE5a8nufZYAM3sBSVMAPtYkmC+4EH2anSGaEMXSD0izRQbu9nfyQ9y5JrVmp7E8oZrUjvA== + dependencies: + onetime "^5.1.0" + signal-exit "^3.0.2" + +reusify@^1.0.4: + version "1.0.4" + resolved "https://registry.yarnpkg.com/reusify/-/reusify-1.0.4.tgz#90da382b1e126efc02146e90845a88db12925d76" + integrity sha512-U9nH88a3fc/ekCF1l0/UP1IosiuIjyTh7hBvXVMHYgVcfGvt897Xguj2UOLDeI5BG2m7/uwyaLVT6fbtCwTyzw== + +rfdc@^1.3.0: + version "1.3.1" + resolved "https://registry.yarnpkg.com/rfdc/-/rfdc-1.3.1.tgz#2b6d4df52dffe8bb346992a10ea9451f24373a8f" + integrity sha512-r5a3l5HzYlIC68TpmYKlxWjmOP6wiPJ1vWv2HeLhNsRZMrCkxeqxiHlQ21oXmQ4F3SiryXBHhAD7JZqvOJjFmg== + +rimraf@4.4.0: + version "4.4.0" + resolved "https://registry.yarnpkg.com/rimraf/-/rimraf-4.4.0.tgz#c7a9f45bb2ec058d2e60ef9aca5167974313d605" + integrity sha512-X36S+qpCUR0HjXlkDe4NAOhS//aHH0Z+h8Ckf2auGJk3PTnx5rLmrHkwNdbVQuCSUhOyFrlRvFEllZOYE+yZGQ== + dependencies: + glob "^9.2.0" + +rimraf@^3.0.0, rimraf@^3.0.2: + version "3.0.2" + resolved "https://registry.yarnpkg.com/rimraf/-/rimraf-3.0.2.tgz#f1a5402ba6220ad52cc1282bac1ae3aa49fd061a" + integrity sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA== + dependencies: + glob "^7.1.3" + +robust-predicates@^3.0.2: + version "3.0.2" + resolved "https://registry.yarnpkg.com/robust-predicates/-/robust-predicates-3.0.2.tgz#d5b28528c4824d20fc48df1928d41d9efa1ad771" + integrity sha512-IXgzBWvWQwE6PrDI05OvmXUIruQTcoMDzRsOd5CDvHCVLcLHMTSYvOK5Cm46kWqlV3yAbuSpBZdJ5oP5OUoStg== + +rtl-css-js@^1.16.1: + version "1.16.1" + resolved "https://registry.yarnpkg.com/rtl-css-js/-/rtl-css-js-1.16.1.tgz#4b48b4354b0ff917a30488d95100fbf7219a3e80" + integrity sha512-lRQgou1mu19e+Ya0LsTvKrVJ5TYUbqCVPAiImX3UfLTenarvPUl1QFdvu5Z3PYmHT9RCcwIfbjRQBntExyj3Zg== + dependencies: + "@babel/runtime" "^7.1.2" + +run-parallel@^1.1.9: + version "1.2.0" + resolved "https://registry.yarnpkg.com/run-parallel/-/run-parallel-1.2.0.tgz#66d1368da7bdf921eb9d95bd1a9229e7f21a43ee" + integrity sha512-5l4VyZR86LZ/lDxZTR6jqL8AFE2S0IFLMP26AbjsLVADxHdhB/c0GUsH+y39UfCi3dzz8OlQuPmnaJOMoDHQBA== + dependencies: + queue-microtask "^1.2.2" + +rw@1, rw@^1.3.3: + version "1.3.3" + resolved "https://registry.yarnpkg.com/rw/-/rw-1.3.3.tgz#3f862dfa91ab766b14885ef4d01124bfda074fb4" + integrity sha512-PdhdWy89SiZogBLaw42zdeqtRJ//zFd2PgQavcICDUgJT5oW10QCRKbJ6bg4r0/UY2M6BWd5tkxuGFRvCkgfHQ== + +rxjs@7.8.0: + version "7.8.0" + resolved "https://registry.yarnpkg.com/rxjs/-/rxjs-7.8.0.tgz#90a938862a82888ff4c7359811a595e14e1e09a4" + integrity sha512-F2+gxDshqmIub1KdvZkaEfGDwLNpPvk9Fs6LD/MyQxNgMds/WH9OdDDXOmxUZpME+iSK3rQCctkL0DYyytUqMg== + dependencies: + tslib "^2.1.0" + +rxjs@^7.5.1: + version "7.8.1" + resolved "https://registry.yarnpkg.com/rxjs/-/rxjs-7.8.1.tgz#6f6f3d99ea8044291efd92e7c7fcf562c4057543" + integrity sha512-AA3TVj+0A2iuIoQkWEK/tqFjBq2j+6PO6Y0zJcvzLAFhEFIO3HL0vls9hWLncZbAAbK0mar7oZ4V079I/qPMxg== + dependencies: + tslib "^2.1.0" + +safe-array-concat@^1.0.1: + version "1.1.0" + resolved "https://registry.yarnpkg.com/safe-array-concat/-/safe-array-concat-1.1.0.tgz#8d0cae9cb806d6d1c06e08ab13d847293ebe0692" + integrity sha512-ZdQ0Jeb9Ofti4hbt5lX3T2JcAamT9hfzYU1MNB+z/jaEbB6wfFfPIR/zEORmZqobkCCJhSjodobH6WHNmJ97dg== + dependencies: + call-bind "^1.0.5" + get-intrinsic "^1.2.2" + has-symbols "^1.0.3" + isarray "^2.0.5" + +safe-buffer@>=5.1.0, safe-buffer@^5.0.1, safe-buffer@^5.1.0, safe-buffer@^5.1.2: + version "5.2.1" + resolved "https://registry.yarnpkg.com/safe-buffer/-/safe-buffer-5.2.1.tgz#1eaf9fa9bdb1fdd4ec75f58f9cdb4e6b7827eec6" + integrity sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ== + +safe-buffer@~5.1.0, safe-buffer@~5.1.1: + version "5.1.2" + resolved "https://registry.yarnpkg.com/safe-buffer/-/safe-buffer-5.1.2.tgz#991ec69d296e0313747d59bdfd2b745c35f8828d" + integrity sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g== + +safe-json-parse@~1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/safe-json-parse/-/safe-json-parse-1.0.1.tgz#3e76723e38dfdda13c9b1d29a1e07ffee4b30b57" + integrity sha512-o0JmTu17WGUaUOHa1l0FPGXKBfijbxK6qoHzlkihsDXxzBHvJcA7zgviKR92Xs841rX9pK16unfphLq0/KqX7A== + +safe-regex-test@^1.0.0: + version "1.0.2" + resolved "https://registry.yarnpkg.com/safe-regex-test/-/safe-regex-test-1.0.2.tgz#3ba32bdb3ea35f940ee87e5087c60ee786c3f6c5" + integrity sha512-83S9w6eFq12BBIJYvjMux6/dkirb8+4zJRA9cxNBVb7Wq5fJBW+Xze48WqR8pxua7bDuAaaAxtVVd4Idjp1dBQ== + dependencies: + call-bind "^1.0.5" + get-intrinsic "^1.2.2" + is-regex "^1.1.4" + +"safer-buffer@>= 2.1.2 < 3", "safer-buffer@>= 2.1.2 < 3.0.0", safer-buffer@^2.0.2, safer-buffer@^2.1.0, safer-buffer@~2.1.0: + version "2.1.2" + resolved "https://registry.yarnpkg.com/safer-buffer/-/safer-buffer-2.1.2.tgz#44fa161b0187b9549dd84bb91802f9bd8385cd6a" + integrity sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg== + +sass-loader@13.3.1: + version "13.3.1" + resolved "https://registry.yarnpkg.com/sass-loader/-/sass-loader-13.3.1.tgz#32ee5791434b9b4dbd1adcce76fcb4cea49cc12c" + integrity sha512-cBTxmgyVA1nXPvIK4brjJMXOMJ2v2YrQEuHqLw3LylGb3gsR6jAvdjHMcy/+JGTmmIF9SauTrLLR7bsWDMWqgg== + dependencies: + klona "^2.0.6" + neo-async "^2.6.2" + +sass@1.63.2: + version "1.63.2" + resolved "https://registry.yarnpkg.com/sass/-/sass-1.63.2.tgz#75f7d9a8e67d1d5b98a989507f4d98b6067b1f75" + integrity sha512-u56TU0AIFqMtauKl/OJ1AeFsXqRHkgO7nCWmHaDwfxDo9GUMSqBA4NEh6GMuh1CYVM7zuROYtZrHzPc2ixK+ww== + dependencies: + chokidar ">=3.0.0 <4.0.0" + immutable "^4.0.0" + source-map-js ">=0.6.2 <2.0.0" + +saxes@^6.0.0: + version "6.0.0" + resolved "https://registry.yarnpkg.com/saxes/-/saxes-6.0.0.tgz#fe5b4a4768df4f14a201b1ba6a65c1f3d9988cc5" + integrity sha512-xAg7SOnEhrm5zI3puOOKyy1OMcMlIJZYNJY7xLBwSze0UjhPLnWfj2GF2EpT0jmzaJKIWKHLsaSSajf35bcYnA== + dependencies: + xmlchars "^2.2.0" + +scheduler@^0.23.0: + version "0.23.0" + resolved "https://registry.yarnpkg.com/scheduler/-/scheduler-0.23.0.tgz#ba8041afc3d30eb206a487b6b384002e4e61fdfe" + integrity sha512-CtuThmgHNg7zIZWAXi3AsyIzA3n4xx7aNyjwC2VJldO2LMVDhFK+63xGqq6CsJH4rTAt6/M+N4GhZiDYPx9eUw== + dependencies: + loose-envify "^1.1.0" + +schema-utils@>1.0.0, schema-utils@^4.0.0: + version "4.2.0" + resolved "https://registry.yarnpkg.com/schema-utils/-/schema-utils-4.2.0.tgz#70d7c93e153a273a805801882ebd3bff20d89c8b" + integrity sha512-L0jRsrPpjdckP3oPug3/VxNKt2trR8TcabrM6FOAAlvC/9Phcmm+cuAgTlxBqdBR1WJx7Naj9WHw+aOmheSVbw== + dependencies: + "@types/json-schema" "^7.0.9" + ajv "^8.9.0" + ajv-formats "^2.1.1" + ajv-keywords "^5.1.0" + +schema-utils@^3.1.1, schema-utils@^3.2.0: + version "3.3.0" + resolved "https://registry.yarnpkg.com/schema-utils/-/schema-utils-3.3.0.tgz#f50a88877c3c01652a15b622ae9e9795df7a60fe" + integrity sha512-pN/yOAvcC+5rQ5nERGuwrjLlYvLTbCibnZ1I7B1LaiAz9BRBlE9GMgE/eqV30P7aJQUf7Ddimy/RsbYO/GrVGg== + dependencies: + "@types/json-schema" "^7.0.8" + ajv "^6.12.5" + ajv-keywords "^3.5.2" + +screenfull@^5.1.0: + version "5.2.0" + resolved "https://registry.yarnpkg.com/screenfull/-/screenfull-5.2.0.tgz#6533d524d30621fc1283b9692146f3f13a93d1ba" + integrity sha512-9BakfsO2aUQN2K9Fdbj87RJIEZ82Q9IGim7FqM5OsebfoFC6ZHXgDq/KvniuLTPdeM8wY2o6Dj3WQ7KeQCj3cA== + +selection-is-backward@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/selection-is-backward/-/selection-is-backward-1.0.0.tgz#97a54633188a511aba6419fc5c1fa91b467e6be1" + integrity sha512-C+6PCOO55NLCfS8uQjUKV/6E5XMuUcfOVsix5m0QqCCCKi495NgeQVNfWtAaD71NKHsdmFCJoXUGfir3qWdr9A== + +semver@^5.3.0: + version "5.7.2" + resolved "https://registry.yarnpkg.com/semver/-/semver-5.7.2.tgz#48d55db737c3287cd4835e17fa13feace1c41ef8" + integrity sha512-cBznnQ9KjJqU67B52RMC65CMarK2600WFnbkcaiwWq3xy/5haFJlshgnpjovMVJ+Hff49d8GEn0b87C5pDQ10g== + +semver@^6.0.0, semver@^6.1.1, semver@^6.1.2, semver@^6.3.0, semver@^6.3.1: + version "6.3.1" + resolved "https://registry.yarnpkg.com/semver/-/semver-6.3.1.tgz#556d2ef8689146e46dcea4bfdd095f3434dffcb4" + integrity sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA== + +semver@^7.3.2, semver@^7.3.4, semver@^7.3.5, semver@^7.3.7, semver@^7.5.1, semver@^7.5.3, semver@^7.5.4: + version "7.5.4" + resolved "https://registry.yarnpkg.com/semver/-/semver-7.5.4.tgz#483986ec4ed38e1c6c48c34894a9182dbff68a6e" + integrity sha512-1bCSESV6Pv+i21Hvpxp3Dx+pSD8lIPt8uVjRrxAUt/nbswYc+tK6Y2btiULjd4+fnq15PX+nqQDC7Oft7WkwcA== + dependencies: + lru-cache "^6.0.0" + +serialize-javascript@6.0.0: + version "6.0.0" + resolved "https://registry.yarnpkg.com/serialize-javascript/-/serialize-javascript-6.0.0.tgz#efae5d88f45d7924141da8b5c3a7a7e663fefeb8" + integrity sha512-Qr3TosvguFt8ePWqsvRfrKyQXIiW+nGbYpy8XK24NQHE83caxWt+mIymTT19DGFbNWNLfEwsrkSmN64lVWB9ag== + dependencies: + randombytes "^2.1.0" + +serialize-javascript@^6.0.0, serialize-javascript@^6.0.1: + version "6.0.2" + resolved "https://registry.yarnpkg.com/serialize-javascript/-/serialize-javascript-6.0.2.tgz#defa1e055c83bf6d59ea805d8da862254eb6a6c2" + integrity sha512-Saa1xPByTTq2gdeFZYLLo+RFE35NHZkAbqZeWNd3BpzppeVisAqpDjcp8dyf6uIvEqJRd46jemmyA4iFIeVk8g== + dependencies: + randombytes "^2.1.0" + +set-function-length@^1.1.1: + version "1.2.0" + resolved "https://registry.yarnpkg.com/set-function-length/-/set-function-length-1.2.0.tgz#2f81dc6c16c7059bda5ab7c82c11f03a515ed8e1" + integrity sha512-4DBHDoyHlM1IRPGYcoxexgh67y4ueR53FKV1yyxwFMY7aCqcN/38M1+SwZ/qJQ8iLv7+ck385ot4CcisOAPT9w== + dependencies: + define-data-property "^1.1.1" + function-bind "^1.1.2" + get-intrinsic "^1.2.2" + gopd "^1.0.1" + has-property-descriptors "^1.0.1" + +set-function-name@^2.0.0: + version "2.0.1" + resolved "https://registry.yarnpkg.com/set-function-name/-/set-function-name-2.0.1.tgz#12ce38b7954310b9f61faa12701620a0c882793a" + integrity sha512-tMNCiqYVkXIZgc2Hnoy2IvC/f8ezc5koaRFkCjrpWzGpCd3qbZXPzVy9MAZzK1ch/X0jvSkojys3oqJN0qCmdA== + dependencies: + define-data-property "^1.0.1" + functions-have-names "^1.2.3" + has-property-descriptors "^1.0.0" + +set-harmonic-interval@^1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/set-harmonic-interval/-/set-harmonic-interval-1.0.1.tgz#e1773705539cdfb80ce1c3d99e7f298bb3995249" + integrity sha512-AhICkFV84tBP1aWqPwLZqFvAwqEoVA9kxNMniGEUvzOlm4vLmOFLiTT3UZ6bziJTy4bOVpzWGTfSCbmaayGx8g== + +shallow-clone@^3.0.0: + version "3.0.1" + resolved "https://registry.yarnpkg.com/shallow-clone/-/shallow-clone-3.0.1.tgz#8f2981ad92531f55035b01fb230769a40e02efa3" + integrity sha512-/6KqX+GVUdqPuPPd2LxDDxzX6CAbjJehAAOKlNpqqUpAqPM6HeL8f+o3a+JsyGjn2lv0WY8UsTgUJjU9Ok55NA== + dependencies: + kind-of "^6.0.2" + +shallowequal@^1.1.0: + version "1.1.0" + resolved "https://registry.yarnpkg.com/shallowequal/-/shallowequal-1.1.0.tgz#188d521de95b9087404fd4dcb68b13df0ae4e7f8" + integrity sha512-y0m1JoUZSlPAjXVtPPW70aZWfIL/dSP7AFkRnniLCrK/8MDKog3TySTBmckD+RObVxH0v4Tox67+F14PdED2oQ== + +shebang-command@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/shebang-command/-/shebang-command-2.0.0.tgz#ccd0af4f8835fbdc265b82461aaf0c36663f34ea" + integrity sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA== + dependencies: + shebang-regex "^3.0.0" + +shebang-regex@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/shebang-regex/-/shebang-regex-3.0.0.tgz#ae16f1644d873ecad843b0307b143362d4c42172" + integrity sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A== + +side-channel@^1.0.4: + version "1.0.4" + resolved "https://registry.yarnpkg.com/side-channel/-/side-channel-1.0.4.tgz#efce5c8fdc104ee751b25c58d4290011fa5ea2cf" + integrity sha512-q5XPytqFEIKHkGdiMIrY10mvLRvnQh42/+GoBlFW3b2LXLE2xxJpZFdm94we0BaoV3RwJyGqg5wS7epxTv0Zvw== + dependencies: + call-bind "^1.0.0" + get-intrinsic "^1.0.2" + object-inspect "^1.9.0" + +signal-exit@^3.0.2, signal-exit@^3.0.3, signal-exit@^3.0.7: + version "3.0.7" + resolved "https://registry.yarnpkg.com/signal-exit/-/signal-exit-3.0.7.tgz#a9a1767f8af84155114eaabd73f99273c8f59ad9" + integrity sha512-wnD2ZE+l+SPC/uoS0vXeE9L1+0wuaMqKlfz9AMUo38JsyLSBWSFcHR1Rri62LZc12vLr1gb3jl7iwQhgwpAbGQ== + +signal-exit@^4.0.1: + version "4.1.0" + resolved "https://registry.yarnpkg.com/signal-exit/-/signal-exit-4.1.0.tgz#952188c1cbd546070e2dd20d0f41c0ae0530cb04" + integrity sha512-bzyZ1e88w9O1iNJbKnOlvYTrWPDl46O1bG0D3XInv+9tkPrxrN8jUUTiFlDkkmKWgn1M6CfIA13SuGqOa9Korw== + +sisteransi@^1.0.5: + version "1.0.5" + resolved "https://registry.yarnpkg.com/sisteransi/-/sisteransi-1.0.5.tgz#134d681297756437cc05ca01370d3a7a571075ed" + integrity sha512-bLGGlR1QxBcynn2d5YmDX4MGjlZvy2MRBDRNHLJ8VI6l6+9FUiyTFNJ0IveOSP0bcXgVDPRcfGqA0pjaqUpfVg== + +slash@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/slash/-/slash-3.0.0.tgz#6539be870c165adbd5240220dbe361f1bc4d4634" + integrity sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q== + +slash@^4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/slash/-/slash-4.0.0.tgz#2422372176c4c6c5addb5e2ada885af984b396a7" + integrity sha512-3dOsAHXXUkQTpOYcoAxLIorMTp4gIQr5IW3iVb7A7lFIp0VHhnynm9izx6TssdrIcVIESAlVjtnO2K8bg+Coew== + +slash@^5.1.0: + version "5.1.0" + resolved "https://registry.yarnpkg.com/slash/-/slash-5.1.0.tgz#be3adddcdf09ac38eebe8dcdc7b1a57a75b095ce" + integrity sha512-ZA6oR3T/pEyuqwMgAKT0/hAv8oAXckzbkmR0UkUosQ+Mc4RxGoJkRmwHgHufaenlyAgE1Mxgpdcrf75y6XcnDg== + +slate-base64-serializer@^0.2.112: + version "0.2.115" + resolved "https://registry.yarnpkg.com/slate-base64-serializer/-/slate-base64-serializer-0.2.115.tgz#438e051959bde013b50507f3144257e74039ff7f" + integrity sha512-GnLV7bUW/UQ5j7rVIxCU5zdB6NOVsEU6YWsCp68dndIjSGTGLaQv2+WwV3NcnrGGZEYe5qgo33j2QWrPws2C1A== + dependencies: + isomorphic-base64 "^1.0.2" + +slate-dev-environment@^0.2.2: + version "0.2.5" + resolved "https://registry.yarnpkg.com/slate-dev-environment/-/slate-dev-environment-0.2.5.tgz#481b6906fde5becc390db7c14edf97a4bb0029f2" + integrity sha512-oLD8Fclv/RqrDv6RYfN2CRzNcRXsUB99Qgcw5L/njTjxAdDPguV6edQ3DgUG9Q2pLFLhI15DwsKClzVfFzfwGQ== + dependencies: + is-in-browser "^1.1.3" + +slate-hotkeys@^0.2.9: + version "0.2.11" + resolved "https://registry.yarnpkg.com/slate-hotkeys/-/slate-hotkeys-0.2.11.tgz#a94db117d9a98575671192329b05f23e6f485d6f" + integrity sha512-xhq/TlI74dRbO57O4ulGsvCcV4eaQ5nEEz9noZjeNLtNzFRd6lSgExRqAJqKGGIeJw+FnJ3OcqGvdb5CEc9/Ew== + dependencies: + is-hotkey "0.1.4" + slate-dev-environment "^0.2.2" + +slate-plain-serializer@0.7.13, slate-plain-serializer@^0.7.11: + version "0.7.13" + resolved "https://registry.yarnpkg.com/slate-plain-serializer/-/slate-plain-serializer-0.7.13.tgz#6de8f5c645dd749f1b2e4426c20de74bfd213adf" + integrity sha512-TtrlaslxQBEMV0LYdf3s7VAbTxRPe1xaW10WNNGAzGA855/0RhkaHjKkQiRjHv5rvbRleVf7Nxr9fH+4uErfxQ== + +slate-prop-types@^0.5.42: + version "0.5.44" + resolved "https://registry.yarnpkg.com/slate-prop-types/-/slate-prop-types-0.5.44.tgz#da60b69c3451c3bd6cdd60a45d308eeba7e83c76" + integrity sha512-JS0iW7uaciE/W3ADuzeN1HOnSjncQhHPXJ65nZNQzB0DF7mXVmbwQKI6cmCo/xKni7XRJT0JbWSpXFhEdPiBUA== + +slate-react-placeholder@^0.2.9: + version "0.2.9" + resolved "https://registry.yarnpkg.com/slate-react-placeholder/-/slate-react-placeholder-0.2.9.tgz#30f450a05d4871c7d1a27668ebe7907861e7ca74" + integrity sha512-YSJ9Gb4tGpbzPje3eNKtu26hWM8ApxTk9RzjK+6zfD5V/RMTkuWONk24y6c9lZk0OAYNZNUmrnb/QZfU3j9nag== + +slate-react@0.22.10: + version "0.22.10" + resolved "https://registry.yarnpkg.com/slate-react/-/slate-react-0.22.10.tgz#01296dadb707869ace6cb21d336c90bedfb567bf" + integrity sha512-B2Ms1u/REbdd8yKkOItKgrw/tX8klgz5l5x6PP86+oh/yqmB6EHe0QyrYlQ9fc3WBlJUVTOL+nyAP1KmlKj2/w== + dependencies: + debug "^3.1.0" + get-window "^1.1.1" + is-window "^1.0.2" + lodash "^4.1.1" + memoize-one "^4.0.0" + prop-types "^15.5.8" + react-immutable-proptypes "^2.1.0" + selection-is-backward "^1.0.0" + slate-base64-serializer "^0.2.112" + slate-dev-environment "^0.2.2" + slate-hotkeys "^0.2.9" + slate-plain-serializer "^0.7.11" + slate-prop-types "^0.5.42" + slate-react-placeholder "^0.2.9" + tiny-invariant "^1.0.1" + tiny-warning "^0.0.3" + +slate@0.47.9: + version "0.47.9" + resolved "https://registry.yarnpkg.com/slate/-/slate-0.47.9.tgz#090597dd790e79718f782994907d34a903739443" + integrity sha512-EK4O6b7lGt+g5H9PGw9O5KCM4RrOvOgE9mPi3rzQ0zDRlgAb2ga4TdpS6XNQbrsJWsc8I1fjaSsUeCqCUhhi9A== + dependencies: + debug "^3.1.0" + direction "^0.1.5" + esrever "^0.2.0" + is-plain-object "^2.0.4" + lodash "^4.17.4" + tiny-invariant "^1.0.1" + tiny-warning "^0.0.3" + type-of "^2.0.1" + +slice-ansi@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/slice-ansi/-/slice-ansi-3.0.0.tgz#31ddc10930a1b7e0b67b08c96c2f49b77a789787" + integrity sha512-pSyv7bSTC7ig9Dcgbw9AuRNUb5k5V6oDudjZoMBSr13qpLBG7tB+zgCkARjq7xIUgdz5P1Qe8u+rSGdouOOIyQ== + dependencies: + ansi-styles "^4.0.0" + astral-regex "^2.0.0" + is-fullwidth-code-point "^3.0.0" + +slice-ansi@^4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/slice-ansi/-/slice-ansi-4.0.0.tgz#500e8dd0fd55b05815086255b3195adf2a45fe6b" + integrity sha512-qMCMfhY040cVHT43K9BFygqYbUPFZKHOg7K73mtTWJRb8pyP3fzf4Ixd5SzdEJQ6MRUg/WBnOLxghZtKKurENQ== + dependencies: + ansi-styles "^4.0.0" + astral-regex "^2.0.0" + is-fullwidth-code-point "^3.0.0" + +sort-asc@^0.1.0: + version "0.1.0" + resolved "https://registry.yarnpkg.com/sort-asc/-/sort-asc-0.1.0.tgz#ab799df61fc73ea0956c79c4b531ed1e9e7727e9" + integrity sha512-jBgdDd+rQ+HkZF2/OHCmace5dvpos/aWQpcxuyRs9QUbPRnkEJmYVo81PIGpjIdpOcsnJ4rGjStfDHsbn+UVyw== + +sort-desc@^0.1.1: + version "0.1.1" + resolved "https://registry.yarnpkg.com/sort-desc/-/sort-desc-0.1.1.tgz#198b8c0cdeb095c463341861e3925d4ee359a9ee" + integrity sha512-jfZacW5SKOP97BF5rX5kQfJmRVZP5/adDUTY8fCSPvNcXDVpUEe2pr/iKGlcyZzchRJZrswnp68fgk3qBXgkJw== + +sort-object@^0.3.2: + version "0.3.2" + resolved "https://registry.yarnpkg.com/sort-object/-/sort-object-0.3.2.tgz#98e0d199ede40e07c61a84403c61d6c3b290f9e2" + integrity sha512-aAQiEdqFTTdsvUFxXm3umdo04J7MRljoVGbBlkH7BgNsMvVNAJyGj7C/wV1A8wHWAJj/YikeZbfuCKqhggNWGA== + dependencies: + sort-asc "^0.1.0" + sort-desc "^0.1.1" + +"source-map-js@>=0.6.2 <2.0.0", source-map-js@^1.0.2: + version "1.0.2" + resolved "https://registry.yarnpkg.com/source-map-js/-/source-map-js-1.0.2.tgz#adbc361d9c62df380125e7f161f71c826f1e490c" + integrity sha512-R0XvVJ9WusLiqTCEiGCmICCMplcCkIwwR11mOSD9CR5u+IXYdiseeEuXCVAjS54zqwkLcPNnmU4OeJ6tUrWhDw== + +source-map-support@0.5.13: + version "0.5.13" + resolved "https://registry.yarnpkg.com/source-map-support/-/source-map-support-0.5.13.tgz#31b24a9c2e73c2de85066c0feb7d44767ed52932" + integrity sha512-SHSKFHadjVA5oR4PPqhtAVdcBWwRYVd6g6cAXnIbRiIwc2EhPrTuKUBdSLvlEKyIP3GCf89fltvcZiP9MMFA1w== + dependencies: + buffer-from "^1.0.0" + source-map "^0.6.0" + +source-map-support@~0.5.20: + version "0.5.21" + resolved "https://registry.yarnpkg.com/source-map-support/-/source-map-support-0.5.21.tgz#04fe7c7f9e1ed2d662233c28cb2b35b9f63f6e4f" + integrity sha512-uBHU3L3czsIyYXKX88fdrGovxdSCoTGDRZ6SYXtSRxLZUzHg5P/66Ht6uoUlHu9EZod+inXhKo3qQgwXUT/y1w== + dependencies: + buffer-from "^1.0.0" + source-map "^0.6.0" + +source-map@0.5.6: + version "0.5.6" + resolved "https://registry.yarnpkg.com/source-map/-/source-map-0.5.6.tgz#75ce38f52bf0733c5a7f0c118d81334a2bb5f412" + integrity sha512-MjZkVp0NHr5+TPihLcadqnlVoGIoWo4IBHptutGh9wI3ttUYvCG26HkSuDi+K6lsZ25syXJXcctwgyVCt//xqA== + +source-map@^0.5.7: + version "0.5.7" + resolved "https://registry.yarnpkg.com/source-map/-/source-map-0.5.7.tgz#8a039d2d1021d22d1ea14c80d8ea468ba2ef3fcc" + integrity sha512-LbrmJOMUSdEVxIKvdcJzQC+nQhe8FUZQTXQy6+I75skNgn3OoQ0DZA8YnFa7gp8tqtL3KPf1kmo0R5DoApeSGQ== + +source-map@^0.6.0, source-map@^0.6.1, source-map@~0.6.1: + version "0.6.1" + resolved "https://registry.yarnpkg.com/source-map/-/source-map-0.6.1.tgz#74722af32e9614e9c287a8d0bbde48b5e2f1a263" + integrity sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g== + +spdx-exceptions@^2.1.0: + version "2.4.0" + resolved "https://registry.yarnpkg.com/spdx-exceptions/-/spdx-exceptions-2.4.0.tgz#c07a4ede25b16e4f78e6707bbd84b15a45c19c1b" + integrity sha512-hcjppoJ68fhxA/cjbN4T8N6uCUejN8yFw69ttpqtBeCbF3u13n7mb31NB9jKwGTTWWnt9IbRA/mf1FprYS8wfw== + +spdx-expression-parse@^3.0.1: + version "3.0.1" + resolved "https://registry.yarnpkg.com/spdx-expression-parse/-/spdx-expression-parse-3.0.1.tgz#cf70f50482eefdc98e3ce0a6833e4a53ceeba679" + integrity sha512-cbqHunsQWnJNE6KhVSMsMeH5H/L9EpymbzqTQ3uLwNCLZ1Q481oWaofqH7nO6V07xlXwY6PhQdQ2IedWx/ZK4Q== + dependencies: + spdx-exceptions "^2.1.0" + spdx-license-ids "^3.0.0" + +spdx-license-ids@^3.0.0: + version "3.0.16" + resolved "https://registry.yarnpkg.com/spdx-license-ids/-/spdx-license-ids-3.0.16.tgz#a14f64e0954f6e25cc6587bd4f392522db0d998f" + integrity sha512-eWN+LnM3GR6gPu35WxNgbGl8rmY1AEmoMDvL/QD6zYmPWgywxWqJWNdLGT+ke8dKNWrcYgYjPpG5gbTfghP8rw== + +sprintf-js@~1.0.2: + version "1.0.3" + resolved "https://registry.yarnpkg.com/sprintf-js/-/sprintf-js-1.0.3.tgz#04e6926f662895354f3dd015203633b857297e2c" + integrity sha512-D9cPgkvLlV3t3IzL0D0YLvGA9Ahk4PcvVwUbN0dSGr1aP0Nrt4AEnTUbuGvquEC0mA64Gqt1fzirlRs5ibXx8g== + +sshpk@^1.14.1, sshpk@^1.7.0: + version "1.18.0" + resolved "https://registry.yarnpkg.com/sshpk/-/sshpk-1.18.0.tgz#1663e55cddf4d688b86a46b77f0d5fe363aba028" + integrity sha512-2p2KJZTSqQ/I3+HX42EpYOa2l3f8Erv8MWKsy2I9uf4wA7yFIkXRffYdsx86y6z4vHtV8u7g+pPlr8/4ouAxsQ== + dependencies: + asn1 "~0.2.3" + assert-plus "^1.0.0" + bcrypt-pbkdf "^1.0.0" + dashdash "^1.12.0" + ecc-jsbn "~0.1.1" + getpass "^0.1.1" + jsbn "~0.1.0" + safer-buffer "^2.0.2" + tweetnacl "~0.14.0" + +stack-generator@^2.0.5: + version "2.0.10" + resolved "https://registry.yarnpkg.com/stack-generator/-/stack-generator-2.0.10.tgz#8ae171e985ed62287d4f1ed55a1633b3fb53bb4d" + integrity sha512-mwnua/hkqM6pF4k8SnmZ2zfETsRUpWXREfA/goT8SLCV4iOFa4bzOX2nDipWAZFPTjLvQB82f5yaodMVhK0yJQ== + dependencies: + stackframe "^1.3.4" + +stack-utils@^2.0.3: + version "2.0.6" + resolved "https://registry.yarnpkg.com/stack-utils/-/stack-utils-2.0.6.tgz#aaf0748169c02fc33c8232abccf933f54a1cc34f" + integrity sha512-XlkWvfIm6RmsWtNJx+uqtKLS8eqFbxUg0ZzLXqY0caEy9l7hruX8IpiDnjsLavoBgqCCR71TqWO8MaXYheJ3RQ== + dependencies: + escape-string-regexp "^2.0.0" + +stackframe@^1.3.4: + version "1.3.4" + resolved "https://registry.yarnpkg.com/stackframe/-/stackframe-1.3.4.tgz#b881a004c8c149a5e8efef37d51b16e412943310" + integrity sha512-oeVtt7eWQS+Na6F//S4kJ2K2VbRlS9D43mAlMyVpVWovy9o+jfgH8O9agzANzaiLjclA0oYzUXEM4PurhSUChw== + +stacktrace-gps@^3.0.4: + version "3.1.2" + resolved "https://registry.yarnpkg.com/stacktrace-gps/-/stacktrace-gps-3.1.2.tgz#0c40b24a9b119b20da4525c398795338966a2fb0" + integrity sha512-GcUgbO4Jsqqg6RxfyTHFiPxdPqF+3LFmQhm7MgCuYQOYuWyqxo5pwRPz5d/u6/WYJdEnWfK4r+jGbyD8TSggXQ== + dependencies: + source-map "0.5.6" + stackframe "^1.3.4" + +stacktrace-js@^2.0.2: + version "2.0.2" + resolved "https://registry.yarnpkg.com/stacktrace-js/-/stacktrace-js-2.0.2.tgz#4ca93ea9f494752d55709a081d400fdaebee897b" + integrity sha512-Je5vBeY4S1r/RnLydLl0TBTi3F2qdfWmYsGvtfZgEI+SCprPppaIhQf5nGcal4gI4cGpCV/duLcAzT1np6sQqg== + dependencies: + error-stack-parser "^2.0.6" + stack-generator "^2.0.5" + stacktrace-gps "^3.0.4" + +state-local@^1.0.6: + version "1.0.7" + resolved "https://registry.yarnpkg.com/state-local/-/state-local-1.0.7.tgz#da50211d07f05748d53009bee46307a37db386d5" + integrity sha512-HTEHMNieakEnoe33shBYcZ7NX83ACUjCu8c40iOGEZsngj9zRnkqS9j1pqQPXwobB0ZcVTk27REb7COQ0UR59w== + +stop-iteration-iterator@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/stop-iteration-iterator/-/stop-iteration-iterator-1.0.0.tgz#6a60be0b4ee757d1ed5254858ec66b10c49285e4" + integrity sha512-iCGQj+0l0HOdZ2AEeBADlsRC+vsnDsZsbdSiH1yNSjcfKM7fdpCMfqAL/dwF5BLiw/XhRft/Wax6zQbhq2BcjQ== + dependencies: + internal-slot "^1.0.4" + +stream-buffers@1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/stream-buffers/-/stream-buffers-1.0.1.tgz#9a44a37555f96a5b78a5a765f0c48446cb160b8c" + integrity sha512-t+8bSU8qPq7NnWHWAvikjcZf+biErLZzD15RroYft1IKQwYbkRyiwppT7kNqwdtYLS59YPxc4sTSvwbLSMaodw== + +streamroller@^0.4.0: + version "0.4.1" + resolved "https://registry.yarnpkg.com/streamroller/-/streamroller-0.4.1.tgz#d435bd5974373abd9bd9068359513085106cc05f" + integrity sha512-w0GGkMlWOiIBIYTmOWHTWKy9Y5hKxGKpQ5WpiHqwhvoSoMHXNTITrk6ZsR3fdgz3Bi/c+CXVHwmfPUQFkEPL+A== + dependencies: + date-format "^0.0.0" + debug "^0.7.2" + mkdirp "^0.5.1" + readable-stream "^1.1.7" + +string-hash@^1.1.3: + version "1.1.3" + resolved "https://registry.yarnpkg.com/string-hash/-/string-hash-1.1.3.tgz#e8aafc0ac1855b4666929ed7dd1275df5d6c811b" + integrity sha512-kJUvRUFK49aub+a7T1nNE66EJbZBMnBgoC1UbCZ5n6bsZKBRga4KgBRTMn/pFkeCZSYtNeSyMxPDM0AXWELk2A== + +string-length@^4.0.1: + version "4.0.2" + resolved "https://registry.yarnpkg.com/string-length/-/string-length-4.0.2.tgz#a8a8dc7bd5c1a82b9b3c8b87e125f66871b6e57a" + integrity sha512-+l6rNN5fYHNhZZy41RXsYptCjA2Igmq4EG7kZAYFQI1E1VTXarr6ZPXBg6eq7Y6eK4FEhY6AJlyuFIb/v/S0VQ== + dependencies: + char-regex "^1.0.2" + strip-ansi "^6.0.0" + +string-template@~0.2.1: + version "0.2.1" + resolved "https://registry.yarnpkg.com/string-template/-/string-template-0.2.1.tgz#42932e598a352d01fc22ec3367d9d84eec6c9add" + integrity sha512-Yptehjogou2xm4UJbxJ4CxgZx12HBfeystp0y3x7s4Dj32ltVVG1Gg8YhKjHZkHicuKpZX/ffilA8505VbUbpw== + +"string-width-cjs@npm:string-width@^4.2.0", string-width@^4.1.0, string-width@^4.2.0, string-width@^4.2.3: + version "4.2.3" + resolved "https://registry.yarnpkg.com/string-width/-/string-width-4.2.3.tgz#269c7117d27b05ad2e536830a8ec895ef9c6d010" + integrity sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g== + dependencies: + emoji-regex "^8.0.0" + is-fullwidth-code-point "^3.0.0" + strip-ansi "^6.0.1" + +string-width@^5.0.1, string-width@^5.1.2: + version "5.1.2" + resolved "https://registry.yarnpkg.com/string-width/-/string-width-5.1.2.tgz#14f8daec6d81e7221d2a357e668cab73bdbca794" + integrity sha512-HnLOCR3vjcY8beoNLtcjZ5/nxn2afmME6lhrDrebokqMap+XbeW8n9TXpPDOqdGK5qcI3oT0GKTW6wC7EMiVqA== + dependencies: + eastasianwidth "^0.2.0" + emoji-regex "^9.2.2" + strip-ansi "^7.0.1" + +string.prototype.matchall@^4.0.8: + version "4.0.10" + resolved "https://registry.yarnpkg.com/string.prototype.matchall/-/string.prototype.matchall-4.0.10.tgz#a1553eb532221d4180c51581d6072cd65d1ee100" + integrity sha512-rGXbGmOEosIQi6Qva94HUjgPs9vKW+dkG7Y8Q5O2OYkWL6wFaTRZO8zM4mhP94uX55wgyrXzfS2aGtGzUL7EJQ== + dependencies: + call-bind "^1.0.2" + define-properties "^1.2.0" + es-abstract "^1.22.1" + get-intrinsic "^1.2.1" + has-symbols "^1.0.3" + internal-slot "^1.0.5" + regexp.prototype.flags "^1.5.0" + set-function-name "^2.0.0" + side-channel "^1.0.4" + +string.prototype.trim@^1.2.8: + version "1.2.8" + resolved "https://registry.yarnpkg.com/string.prototype.trim/-/string.prototype.trim-1.2.8.tgz#f9ac6f8af4bd55ddfa8895e6aea92a96395393bd" + integrity sha512-lfjY4HcixfQXOfaqCvcBuOIapyaroTXhbkfJN3gcB1OtyupngWK4sEET9Knd0cXd28kTUqu/kHoV4HKSJdnjiQ== + dependencies: + call-bind "^1.0.2" + define-properties "^1.2.0" + es-abstract "^1.22.1" + +string.prototype.trimend@^1.0.7: + version "1.0.7" + resolved "https://registry.yarnpkg.com/string.prototype.trimend/-/string.prototype.trimend-1.0.7.tgz#1bb3afc5008661d73e2dc015cd4853732d6c471e" + integrity sha512-Ni79DqeB72ZFq1uH/L6zJ+DKZTkOtPIHovb3YZHQViE+HDouuU4mBrLOLDn5Dde3RF8qw5qVETEjhu9locMLvA== + dependencies: + call-bind "^1.0.2" + define-properties "^1.2.0" + es-abstract "^1.22.1" + +string.prototype.trimstart@^1.0.7: + version "1.0.7" + resolved "https://registry.yarnpkg.com/string.prototype.trimstart/-/string.prototype.trimstart-1.0.7.tgz#d4cdb44b83a4737ffbac2d406e405d43d0184298" + integrity sha512-NGhtDFu3jCEm7B4Fy0DpLewdJQOZcQ0rGbwQ/+stjnrp2i+rlKeCvos9hOIeCmqwratM47OBxY7uFZzjxHXmrg== + dependencies: + call-bind "^1.0.2" + define-properties "^1.2.0" + es-abstract "^1.22.1" + +string_decoder@0.10, string_decoder@~0.10.x: + version "0.10.31" + resolved "https://registry.yarnpkg.com/string_decoder/-/string_decoder-0.10.31.tgz#62e203bc41766c6c28c9fc84301dab1c5310fa94" + integrity sha512-ev2QzSzWPYmy9GuqfIVildA4OdcGLeFZQrq5ys6RtiuF+RQQiZWr8TZNyAcuVXyQRYfEO+MsoB/1BuQVhOJuoQ== + +string_decoder@~1.1.1: + version "1.1.1" + resolved "https://registry.yarnpkg.com/string_decoder/-/string_decoder-1.1.1.tgz#9cf1611ba62685d7030ae9e4ba34149c3af03fc8" + integrity sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg== + dependencies: + safe-buffer "~5.1.0" + +"strip-ansi-cjs@npm:strip-ansi@^6.0.1", strip-ansi@^6.0.0, strip-ansi@^6.0.1: + version "6.0.1" + resolved "https://registry.yarnpkg.com/strip-ansi/-/strip-ansi-6.0.1.tgz#9e26c63d30f53443e9489495b2105d37b67a85d9" + integrity sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A== + dependencies: + ansi-regex "^5.0.1" + +strip-ansi@^7.0.1: + version "7.1.0" + resolved "https://registry.yarnpkg.com/strip-ansi/-/strip-ansi-7.1.0.tgz#d5b6568ca689d8561370b0707685d22434faff45" + integrity sha512-iq6eVVI64nQQTRYq2KtEg2d2uU7LElhTJwsH4YzIHZshxlgZms/wIc4VoDQTlG/IvVIrBKG06CrZnp0qv7hkcQ== + dependencies: + ansi-regex "^6.0.1" + +strip-bom@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/strip-bom/-/strip-bom-3.0.0.tgz#2334c18e9c759f7bdd56fdef7e9ae3d588e68ed3" + integrity sha512-vavAMRXOgBVNF6nyEEmL3DBK19iRpDcoIwW+swQ+CbGiu7lju6t+JklA1MHweoWtadgt4ISVUsXLyDq34ddcwA== + +strip-bom@^4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/strip-bom/-/strip-bom-4.0.0.tgz#9c3505c1db45bcedca3d9cf7a16f5c5aa3901878" + integrity sha512-3xurFv5tEgii33Zi8Jtp55wEIILR9eh34FAW00PZf+JnSsTmV/ioewSgQl97JHvgjoRGwPShsWm+IdrxB35d0w== + +strip-final-newline@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/strip-final-newline/-/strip-final-newline-2.0.0.tgz#89b852fb2fcbe936f6f4b3187afb0a12c1ab58ad" + integrity sha512-BrpvfNAE3dcvq7ll3xVumzjKjZQ5tI1sEUIKr3Uoks0XUl45St3FlatVqef9prk4jRDzhW6WZg+3bk93y6pLjA== + +strip-indent@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/strip-indent/-/strip-indent-3.0.0.tgz#c32e1cee940b6b3432c771bc2c54bcce73cd3001" + integrity sha512-laJTa3Jb+VQpaC6DseHhF7dXVqHTfJPCRDaEbid/drOhgitgYku/letMUqOXFoWV0zIIUbjpdH2t+tYj4bQMRQ== + dependencies: + min-indent "^1.0.0" + +strip-json-comments@3.1.1, strip-json-comments@^3.1.0, strip-json-comments@^3.1.1: + version "3.1.1" + resolved "https://registry.yarnpkg.com/strip-json-comments/-/strip-json-comments-3.1.1.tgz#31f1281b3832630434831c310c01cccda8cbe006" + integrity sha512-6fPc+R4ihwqP6N/aIv2f1gMH8lOVtWQHoqC4yK6oSDVVocumAsfCqjkXnqiYMhmMwS/mEHLp7Vehlt3ql6lEig== + +style-loader@3.3.3: + version "3.3.3" + resolved "https://registry.yarnpkg.com/style-loader/-/style-loader-3.3.3.tgz#bba8daac19930169c0c9c96706749a597ae3acff" + integrity sha512-53BiGLXAcll9maCYtZi2RCQZKa8NQQai5C4horqKyRmHj9H7QmcUyucrH+4KW/gBQbXM2AsB0axoEcFZPlfPcw== + +stylis@4.2.0: + version "4.2.0" + resolved "https://registry.yarnpkg.com/stylis/-/stylis-4.2.0.tgz#79daee0208964c8fe695a42fcffcac633a211a51" + integrity sha512-Orov6g6BB1sDfYgzWfTHDOxamtX1bE/zo104Dh9e6fqJ3PooipYyfJ0pUmrZO2wAvO8YbEyeFrkV91XTsGMSrw== + +stylis@^4.3.0: + version "4.3.1" + resolved "https://registry.yarnpkg.com/stylis/-/stylis-4.3.1.tgz#ed8a9ebf9f76fe1e12d462f5cc3c4c980b23a7eb" + integrity sha512-EQepAV+wMsIaGVGX1RECzgrcqRRU/0sYOHkeLsZ3fzHaHXZy4DaOOX0vOlGQdlsjkh3mFHAIlVimpwAs4dslyQ== + +supports-color@8.1.1, supports-color@^8.0.0, supports-color@^8.1.1: + version "8.1.1" + resolved "https://registry.yarnpkg.com/supports-color/-/supports-color-8.1.1.tgz#cd6fc17e28500cff56c1b86c0a7fd4a54a73005c" + integrity sha512-MpUEN2OodtUzxvKQl72cUF7RQ5EiHsGvSsVG0ia9c5RbWGL2CI4C7EpPS8UTBIplnlzZiNuV56w+FuNxy3ty2Q== + dependencies: + has-flag "^4.0.0" + +supports-color@^5.3.0: + version "5.5.0" + resolved "https://registry.yarnpkg.com/supports-color/-/supports-color-5.5.0.tgz#e2e69a44ac8772f78a1ec0b35b689df6530efc8f" + integrity sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow== + dependencies: + has-flag "^3.0.0" + +supports-color@^7.1.0: + version "7.2.0" + resolved "https://registry.yarnpkg.com/supports-color/-/supports-color-7.2.0.tgz#1b7dcdcb32b8138801b3e478ba6a51caa89648da" + integrity sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw== + dependencies: + has-flag "^4.0.0" + +supports-preserve-symlinks-flag@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/supports-preserve-symlinks-flag/-/supports-preserve-symlinks-flag-1.0.0.tgz#6eda4bd344a3c94aea376d4cc31bc77311039e09" + integrity sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w== + +swc-loader@^0.2.3: + version "0.2.3" + resolved "https://registry.yarnpkg.com/swc-loader/-/swc-loader-0.2.3.tgz#6792f1c2e4c9ae9bf9b933b3e010210e270c186d" + integrity sha512-D1p6XXURfSPleZZA/Lipb3A8pZ17fP4NObZvFCDjK/OKljroqDpPmsBdTraWhVBqUNpcWBQY1imWdoPScRlQ7A== + +symbol-tree@^3.2.4: + version "3.2.4" + resolved "https://registry.yarnpkg.com/symbol-tree/-/symbol-tree-3.2.4.tgz#430637d248ba77e078883951fb9aa0eed7c63fa2" + integrity sha512-9QNk5KwDF+Bvz+PyObkmSYjI5ksVUYtjW7AU22r2NKcfLJcXp96hkDWU3+XndOsUb+AQ9QhfzfCT2O+CNWT5Tw== + +systemjs@0.20.19: + version "0.20.19" + resolved "https://registry.yarnpkg.com/systemjs/-/systemjs-0.20.19.tgz#c2b9e79c19f4bea53a19b1ed3f974ffb463be949" + integrity sha512-H/rKwNEEyej/+IhkmFNmKFyJul8tbH/muiPq5TyNoVTwsGhUjRsN3NlFnFQUvFXA3+GQmsXkCNXU6QKPl779aw== + +tapable@^1.0.0: + version "1.1.3" + resolved "https://registry.yarnpkg.com/tapable/-/tapable-1.1.3.tgz#a1fccc06b58db61fd7a45da2da44f5f3a3e67ba2" + integrity sha512-4WK/bYZmj8xLr+HUCODHGF1ZFzsYffasLUgEiMBY4fgtltdO6B4WJtlSbPaDTLpYTcGVwM2qLnFTICEcNxs3kA== + +tapable@^2.1.1, tapable@^2.2.0, tapable@^2.2.1: + version "2.2.1" + resolved "https://registry.yarnpkg.com/tapable/-/tapable-2.2.1.tgz#1967a73ef4060a82f12ab96af86d52fdb76eeca0" + integrity sha512-GNzQvQTOIP6RyTfE2Qxb8ZVlNmw0n88vp1szwWRimP02mnTsx3Wtn5qRdqY9w2XduFNUgvOwhNnQsjwCp+kqaQ== + +terser-webpack-plugin@^5.3.10: + version "5.3.10" + resolved "https://registry.yarnpkg.com/terser-webpack-plugin/-/terser-webpack-plugin-5.3.10.tgz#904f4c9193c6fd2a03f693a2150c62a92f40d199" + integrity sha512-BKFPWlPDndPs+NGGCr1U59t0XScL5317Y0UReNrHaw9/FwhPENlq6bfgs+4yPfyP51vqC1bQ4rp1EfXW5ZSH9w== + dependencies: + "@jridgewell/trace-mapping" "^0.3.20" + jest-worker "^27.4.5" + schema-utils "^3.1.1" + serialize-javascript "^6.0.1" + terser "^5.26.0" + +terser@^5.26.0: + version "5.27.0" + resolved "https://registry.yarnpkg.com/terser/-/terser-5.27.0.tgz#70108689d9ab25fef61c4e93e808e9fd092bf20c" + integrity sha512-bi1HRwVRskAjheeYl291n3JC4GgO/Ty4z1nVs5AAsmonJulGxpSektecnNedrwK9C7vpvVtcX3cw00VSLt7U2A== + dependencies: + "@jridgewell/source-map" "^0.3.3" + acorn "^8.8.2" + commander "^2.20.0" + source-map-support "~0.5.20" + +test-exclude@^6.0.0: + version "6.0.0" + resolved "https://registry.yarnpkg.com/test-exclude/-/test-exclude-6.0.0.tgz#04a8698661d805ea6fa293b6cb9e63ac044ef15e" + integrity sha512-cAGWPIyOHU6zlmg88jwm7VRyXnMN7iV68OGAbYDk/Mh/xC/pzVPlQtY6ngoIH/5/tciuhGfvESU8GrHrcxD56w== + dependencies: + "@istanbuljs/schema" "^0.1.2" + glob "^7.1.4" + minimatch "^3.0.4" + +text-table@^0.2.0: + version "0.2.0" + resolved "https://registry.yarnpkg.com/text-table/-/text-table-0.2.0.tgz#7f5ee823ae805207c00af2df4a84ec3fcfa570b4" + integrity sha512-N+8UisAXDGk8PFXP4HAzVR9nbfmVJ3zYLAWiTIoqC5v5isinhr+r5uaO8+7r3BMfuNIufIsA7RdpVgacC2cSpw== + +throttle-debounce@^3.0.1: + version "3.0.1" + resolved "https://registry.yarnpkg.com/throttle-debounce/-/throttle-debounce-3.0.1.tgz#32f94d84dfa894f786c9a1f290e7a645b6a19abb" + integrity sha512-dTEWWNu6JmeVXY0ZYoPuH5cRIwc0MeGbJwah9KUNYSJwommQpCzTySTpEe8Gs1J23aeWEuAobe4Ag7EHVt/LOg== + +throttleit@^1.0.0: + version "1.0.1" + resolved "https://registry.yarnpkg.com/throttleit/-/throttleit-1.0.1.tgz#304ec51631c3b770c65c6c6f76938b384000f4d5" + integrity sha512-vDZpf9Chs9mAdfY046mcPt8fg5QSZr37hEH4TXYBnDF+izxgrbRGUAAaBvIk/fJm9aOFCGFd1EsNg5AZCbnQCQ== + +through@^2.3.8: + version "2.3.8" + resolved "https://registry.yarnpkg.com/through/-/through-2.3.8.tgz#0dd4c9ffaabc357960b1b724115d7e0e86a2e1f5" + integrity sha512-w89qg7PI8wAdvX60bMDP+bFoD5Dvhm9oLheFp5O4a2QF0cSBGsBX4qZmadPMvVqlLJBBci+WqGGOAPvcDeNSVg== + +tiny-invariant@^1.0.1, tiny-invariant@^1.0.2, tiny-invariant@^1.0.6: + version "1.3.1" + resolved "https://registry.yarnpkg.com/tiny-invariant/-/tiny-invariant-1.3.1.tgz#8560808c916ef02ecfd55e66090df23a4b7aa642" + integrity sha512-AD5ih2NlSssTCwsMznbvwMZpJ1cbhkGd2uueNxzv2jDlEeZdU04JQfRnggJQ8DrcVBGjAsCKwFBbDlVNtEMlzw== + +tiny-lr@^1.1.1: + version "1.1.1" + resolved "https://registry.yarnpkg.com/tiny-lr/-/tiny-lr-1.1.1.tgz#9fa547412f238fedb068ee295af8b682c98b2aab" + integrity sha512-44yhA3tsaRoMOjQQ+5v5mVdqef+kH6Qze9jTpqtVufgYjYt08zyZAwNwwVBj3i1rJMnR52IxOW0LK0vBzgAkuA== + dependencies: + body "^5.1.0" + debug "^3.1.0" + faye-websocket "~0.10.0" + livereload-js "^2.3.0" + object-assign "^4.1.0" + qs "^6.4.0" + +tiny-warning@^0.0.3: + version "0.0.3" + resolved "https://registry.yarnpkg.com/tiny-warning/-/tiny-warning-0.0.3.tgz#1807eb4c5f81784a6354d58ea1d5024f18c6c81f" + integrity sha512-r0SSA5Y5IWERF9Xh++tFPx0jITBgGggOsRLDWWew6YRw/C2dr4uNO1fw1vanrBmHsICmPyMLNBZboTlxUmUuaA== + +tiny-warning@^1.0.0, tiny-warning@^1.0.3: + version "1.0.3" + resolved "https://registry.yarnpkg.com/tiny-warning/-/tiny-warning-1.0.3.tgz#94a30db453df4c643d0fd566060d60a875d84754" + integrity sha512-lBN9zLN/oAf68o3zNXYrdCt1kP8WsiGW8Oo2ka41b2IM5JL/S1CTyX1rW0mb/zSuJun0ZUrDxx4sqvYS2FWzPA== + +tinycolor2@1.6.0: + version "1.6.0" + resolved "https://registry.yarnpkg.com/tinycolor2/-/tinycolor2-1.6.0.tgz#f98007460169b0263b97072c5ae92484ce02d09e" + integrity sha512-XPaBkWQJdsf3pLKJV9p4qN/S+fm2Oj8AIPo1BTUhg5oxkvm9+SVEGFdhyOz7tTdUTfvxMiAs4sp6/eZO2Ew+pw== + +tmp@~0.2.1: + version "0.2.1" + resolved "https://registry.yarnpkg.com/tmp/-/tmp-0.2.1.tgz#8457fc3037dcf4719c251367a1af6500ee1ccf14" + integrity sha512-76SUhtfqR2Ijn+xllcI5P1oyannHNHByD80W1q447gU3mp9G9PSpGdWmjUOHRDPiHYacIk66W7ubDTuPF3BEtQ== + dependencies: + rimraf "^3.0.0" + +tmpl@1.0.5: + version "1.0.5" + resolved "https://registry.yarnpkg.com/tmpl/-/tmpl-1.0.5.tgz#8683e0b902bb9c20c4f726e3c0b69f36518c07cc" + integrity sha512-3f0uOEAQwIqGuWW2MVzYg8fV/QNnc/IpuJNG837rLuczAaLVHslWHZQj4IGiEl5Hs3kkbhwL9Ab7Hrsmuj+Smw== + +to-camel-case@1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/to-camel-case/-/to-camel-case-1.0.0.tgz#1a56054b2f9d696298ce66a60897322b6f423e46" + integrity sha512-nD8pQi5H34kyu1QDMFjzEIYqk0xa9Alt6ZfrdEMuHCFOfTLhDG5pgTu/aAM9Wt9lXILwlXmWP43b8sav0GNE8Q== + dependencies: + to-space-case "^1.0.0" + +to-fast-properties@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/to-fast-properties/-/to-fast-properties-2.0.0.tgz#dc5e698cbd079265bc73e0377681a4e4e83f616e" + integrity sha512-/OaKK0xYrs3DmxRYqL/yDc+FxFUVYhDlXMhRmv3z915w2HF1tnN1omB354j8VUGO/hbRzyD6Y3sA7v7GS/ceog== + +to-no-case@^1.0.0: + version "1.0.2" + resolved "https://registry.yarnpkg.com/to-no-case/-/to-no-case-1.0.2.tgz#c722907164ef6b178132c8e69930212d1b4aa16a" + integrity sha512-Z3g735FxuZY8rodxV4gH7LxClE4H0hTIyHNIHdk+vpQxjLm0cwnKXq/OFVZ76SOQmto7txVcwSCwkU5kqp+FKg== + +to-regex-range@^5.0.1: + version "5.0.1" + resolved "https://registry.yarnpkg.com/to-regex-range/-/to-regex-range-5.0.1.tgz#1648c44aae7c8d988a326018ed72f5b4dd0392e4" + integrity sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ== + dependencies: + is-number "^7.0.0" + +to-space-case@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/to-space-case/-/to-space-case-1.0.0.tgz#b052daafb1b2b29dc770cea0163e5ec0ebc9fc17" + integrity sha512-rLdvwXZ39VOn1IxGL3V6ZstoTbwLRckQmn/U8ZDLuWwIXNpuZDhQ3AiRUlhTbOXFVE9C+dR51wM0CBDhk31VcA== + dependencies: + to-no-case "^1.0.0" + +toggle-selection@^1.0.6: + version "1.0.6" + resolved "https://registry.yarnpkg.com/toggle-selection/-/toggle-selection-1.0.6.tgz#6e45b1263f2017fa0acc7d89d78b15b8bf77da32" + integrity sha512-BiZS+C1OS8g/q2RRbJmy59xpyghNBqrr6k5L/uKBGRsTfxmu3ffiRnd8mlGPUVayg8pvfi5urfnu8TU7DVOkLQ== + +tough-cookie@^4.1.2, tough-cookie@^4.1.3: + version "4.1.3" + resolved "https://registry.yarnpkg.com/tough-cookie/-/tough-cookie-4.1.3.tgz#97b9adb0728b42280aa3d814b6b999b2ff0318bf" + integrity sha512-aX/y5pVRkfRnfmuX+OdbSdXvPe6ieKX/G2s7e98f4poJHnqH3281gDPm/metm6E/WRamfx7WC4HUqkWHfQHprw== + dependencies: + psl "^1.1.33" + punycode "^2.1.1" + universalify "^0.2.0" + url-parse "^1.5.3" + +tough-cookie@~2.5.0: + version "2.5.0" + resolved "https://registry.yarnpkg.com/tough-cookie/-/tough-cookie-2.5.0.tgz#cd9fb2a0aa1d5a12b473bd9fb96fa3dcff65ade2" + integrity sha512-nlLsUzgm1kfLXSXfRZMc1KLAugd4hqJHDTvc2hDIwS3mZAfMEuMbc03SujMF+GEcpaX/qboeycw6iO8JwVv2+g== + dependencies: + psl "^1.1.28" + punycode "^2.1.1" + +tr46@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/tr46/-/tr46-3.0.0.tgz#555c4e297a950617e8eeddef633c87d4d9d6cbf9" + integrity sha512-l7FvfAHlcmulp8kr+flpQZmVwtu7nfRV7NZujtN0OqES8EL4O4e0qqzL0DC5gAvx/ZC/9lk6rhcUwYvkBnBnYA== + dependencies: + punycode "^2.1.1" + +tracelib@1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/tracelib/-/tracelib-1.0.1.tgz#bb44ea96c19b8d7a6c85a6ee1cac9945c5b75c64" + integrity sha512-T2Vkpa/7Vdm3sV8nXRn8vZ0tnq6wlnO4Zx7Pux+JA1W6DMlg5EtbNcPZu/L7XRTPc9S0eAKhEFR4p/u0GcsDpQ== + +ts-api-utils@^1.0.1: + version "1.0.3" + resolved "https://registry.yarnpkg.com/ts-api-utils/-/ts-api-utils-1.0.3.tgz#f12c1c781d04427313dbac808f453f050e54a331" + integrity sha512-wNMeqtMz5NtwpT/UZGY5alT+VoKdSsOOP/kqHFcUW1P/VRhH2wJ48+DN2WwUliNbQ976ETwDL0Ifd2VVvgonvg== + +ts-easing@^0.2.0: + version "0.2.0" + resolved "https://registry.yarnpkg.com/ts-easing/-/ts-easing-0.2.0.tgz#c8a8a35025105566588d87dbda05dd7fbfa5a4ec" + integrity sha512-Z86EW+fFFh/IFB1fqQ3/+7Zpf9t2ebOAxNI/V6Wo7r5gqiqtxmgTlQ1qbqQcjLKYeSHPTsEmvlJUDg/EuL0uHQ== + +ts-loader@8.4.0: + version "8.4.0" + resolved "https://registry.yarnpkg.com/ts-loader/-/ts-loader-8.4.0.tgz#e845ea0f38d140bdc3d7d60293ca18d12ff2720f" + integrity sha512-6nFY3IZ2//mrPc+ImY3hNWx1vCHyEhl6V+wLmL4CZcm6g1CqX7UKrkc6y0i4FwcfOhxyMPCfaEvh20f4r9GNpw== + dependencies: + chalk "^4.1.0" + enhanced-resolve "^4.0.0" + loader-utils "^2.0.0" + micromatch "^4.0.0" + semver "^7.3.4" + +ts-node@^10.9.1: + version "10.9.2" + resolved "https://registry.yarnpkg.com/ts-node/-/ts-node-10.9.2.tgz#70f021c9e185bccdca820e26dc413805c101c71f" + integrity sha512-f0FFpIdcHgn8zcPSbf1dRevwt047YMnaiJM3u2w2RewrB+fob/zePZcrOyQoLMMO7aBIddLcQIEK5dYjkLnGrQ== + dependencies: + "@cspotcode/source-map-support" "^0.8.0" + "@tsconfig/node10" "^1.0.7" + "@tsconfig/node12" "^1.0.7" + "@tsconfig/node14" "^1.0.0" + "@tsconfig/node16" "^1.0.2" + acorn "^8.4.1" + acorn-walk "^8.1.1" + arg "^4.1.0" + create-require "^1.1.0" + diff "^4.0.1" + make-error "^1.1.1" + v8-compile-cache-lib "^3.0.1" + yn "3.1.1" + +tsconfig-paths@^3.15.0: + version "3.15.0" + resolved "https://registry.yarnpkg.com/tsconfig-paths/-/tsconfig-paths-3.15.0.tgz#5299ec605e55b1abb23ec939ef15edaf483070d4" + integrity sha512-2Ac2RgzDe/cn48GvOe3M+o82pEFewD3UPbyoUHHdKasHwJKjds4fLXWf/Ux5kATBKN20oaFGu+jbElp1pos0mg== + dependencies: + "@types/json5" "^0.0.29" + json5 "^1.0.2" + minimist "^1.2.6" + strip-bom "^3.0.0" + +tsconfig-paths@^4.2.0: + version "4.2.0" + resolved "https://registry.yarnpkg.com/tsconfig-paths/-/tsconfig-paths-4.2.0.tgz#ef78e19039133446d244beac0fd6a1632e2d107c" + integrity sha512-NoZ4roiN7LnbKn9QqE1amc9DJfzvZXxF4xDavcOWt1BPkdx+m+0gJuPM+S0vCe7zTJMYUP0R8pO2XMr+Y8oLIg== + dependencies: + json5 "^2.2.2" + minimist "^1.2.6" + strip-bom "^3.0.0" + +tslib@2.5.0: + version "2.5.0" + resolved "https://registry.yarnpkg.com/tslib/-/tslib-2.5.0.tgz#42bfed86f5787aeb41d031866c8f402429e0fddf" + integrity sha512-336iVw3rtn2BUK7ORdIAHTyxHGRIHVReokCR3XjbckJMK7ms8FysBfhLR8IXnAgy7T0PTPNBWKiH514FOW/WSg== + +tslib@2.5.3: + version "2.5.3" + resolved "https://registry.yarnpkg.com/tslib/-/tslib-2.5.3.tgz#24944ba2d990940e6e982c4bea147aba80209913" + integrity sha512-mSxlJJwl3BMEQCUNnxXBU9jP4JBktcEGhURcPR6VQVlnP0FdDEsIaz0C35dXNGLyRfrATNofF0F5p2KPxQgB+w== + +tslib@^1.8.1, tslib@^1.9.3: + version "1.14.1" + resolved "https://registry.yarnpkg.com/tslib/-/tslib-1.14.1.tgz#cf2d38bdc34a134bcaf1091c41f6619e2f672d00" + integrity sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg== + +tslib@^2.1.0, tslib@^2.3.1, tslib@^2.4.0: + version "2.6.2" + resolved "https://registry.yarnpkg.com/tslib/-/tslib-2.6.2.tgz#703ac29425e7b37cd6fd456e92404d46d1f3e4ae" + integrity sha512-AEYxH93jGFPn/a2iVAwW87VuUIkR1FVUKB77NwMF7nBTDkDrrT/Hpt/IrCJ0QXhW27jTBDcf5ZY7w6RiqTMw2Q== + +tsutils@^3.21.0: + version "3.21.0" + resolved "https://registry.yarnpkg.com/tsutils/-/tsutils-3.21.0.tgz#b48717d394cea6c1e096983eed58e9d61715b623" + integrity sha512-mHKK3iUXL+3UF6xL5k0PEhKRUBKPBCv/+RkEOpjRWxxx27KKRBmmA60A9pgOUvMi8GKhRMPEmjBRPzs2W7O1OA== + dependencies: + tslib "^1.8.1" + +tunnel-agent@^0.6.0: + version "0.6.0" + resolved "https://registry.yarnpkg.com/tunnel-agent/-/tunnel-agent-0.6.0.tgz#27a5dea06b36b04a0a9966774b290868f0fc40fd" + integrity sha512-McnNiV1l8RYeY8tBgEpuodCC1mLUdbSN+CYBL7kJsJNInOP8UjDDEwdk6Mw60vdLLrr5NHKZhMAOSrR2NZuQ+w== + dependencies: + safe-buffer "^5.0.1" + +tweetnacl@^0.14.3, tweetnacl@~0.14.0: + version "0.14.5" + resolved "https://registry.yarnpkg.com/tweetnacl/-/tweetnacl-0.14.5.tgz#5ae68177f192d4456269d108afa93ff8743f4f64" + integrity sha512-KXXFFdAbFXY4geFIwoyNK+f5Z1b7swfXABfL7HXCmoIWMKU3dmS26672A4EeQtDzLKy7SXmfBu51JolvEKwtGA== + +type-check@^0.4.0, type-check@~0.4.0: + version "0.4.0" + resolved "https://registry.yarnpkg.com/type-check/-/type-check-0.4.0.tgz#07b8203bfa7056c0657050e3ccd2c37730bab8f1" + integrity sha512-XleUoc9uwGXqjWwXaUTZAmzMcFZ5858QA2vvx1Ur5xIcixXIP+8LnFDgRplU30us6teqdlskFfu+ae4K79Ooew== + dependencies: + prelude-ls "^1.2.1" + +type-detect@4.0.8: + version "4.0.8" + resolved "https://registry.yarnpkg.com/type-detect/-/type-detect-4.0.8.tgz#7646fb5f18871cfbb7749e69bd39a6388eb7450c" + integrity sha512-0fr/mIH1dlO+x7TlcMy+bIDqKPsw/70tVyeHW787goQjhmqaZe10uwLujubK9q9Lg6Fiho1KUKDYz0Z7k7g5/g== + +type-fest@^0.20.2: + version "0.20.2" + resolved "https://registry.yarnpkg.com/type-fest/-/type-fest-0.20.2.tgz#1bf207f4b28f91583666cb5fbd327887301cd5f4" + integrity sha512-Ne+eE4r0/iWnpAxD852z3A+N0Bt5RN//NjJwRd2VFHEmrywxf5vsZlh4R6lixl6B+wz/8d+maTSAkN1FIkI3LQ== + +type-fest@^0.21.3: + version "0.21.3" + resolved "https://registry.yarnpkg.com/type-fest/-/type-fest-0.21.3.tgz#d260a24b0198436e133fa26a524a6d65fa3b2e37" + integrity sha512-t0rzBq87m3fVcduHDUFhKmyyX+9eo6WQjZvf51Ea/M0Q7+T374Jp1aUiyUl0GKxp8M/OETVHSDvmkyPgvX+X2w== + +type-of@^2.0.1: + version "2.0.1" + resolved "https://registry.yarnpkg.com/type-of/-/type-of-2.0.1.tgz#e72a1741896568e9f628378d816d6912f7f23972" + integrity sha512-39wxbwHdQ2sTiBB8wAzKfQ9GN+om8w+sjNWzr+vZJR5AMD5J+J7Yc8AtXnU9r/r2c8XiDZ/smxutDmZehX/qpQ== + +typed-array-buffer@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/typed-array-buffer/-/typed-array-buffer-1.0.0.tgz#18de3e7ed7974b0a729d3feecb94338d1472cd60" + integrity sha512-Y8KTSIglk9OZEr8zywiIHG/kmQ7KWyjseXs1CbSo8vC42w7hg2HgYTxSWwP0+is7bWDc1H+Fo026CpHFwm8tkw== + dependencies: + call-bind "^1.0.2" + get-intrinsic "^1.2.1" + is-typed-array "^1.1.10" + +typed-array-byte-length@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/typed-array-byte-length/-/typed-array-byte-length-1.0.0.tgz#d787a24a995711611fb2b87a4052799517b230d0" + integrity sha512-Or/+kvLxNpeQ9DtSydonMxCx+9ZXOswtwJn17SNLvhptaXYDJvkFFP5zbfU/uLmvnBJlI4yrnXRxpdWH/M5tNA== + dependencies: + call-bind "^1.0.2" + for-each "^0.3.3" + has-proto "^1.0.1" + is-typed-array "^1.1.10" + +typed-array-byte-offset@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/typed-array-byte-offset/-/typed-array-byte-offset-1.0.0.tgz#cbbe89b51fdef9cd6aaf07ad4707340abbc4ea0b" + integrity sha512-RD97prjEt9EL8YgAgpOkf3O4IF9lhJFr9g0htQkm0rchFp/Vx7LW5Q8fSXXub7BXAODyUQohRMyOc3faCPd0hg== + dependencies: + available-typed-arrays "^1.0.5" + call-bind "^1.0.2" + for-each "^0.3.3" + has-proto "^1.0.1" + is-typed-array "^1.1.10" + +typed-array-length@^1.0.4: + version "1.0.4" + resolved "https://registry.yarnpkg.com/typed-array-length/-/typed-array-length-1.0.4.tgz#89d83785e5c4098bec72e08b319651f0eac9c1bb" + integrity sha512-KjZypGq+I/H7HI5HlOoGHkWUUGq+Q0TPhQurLbyrVrvnKTBgzLhIJ7j6J/XTQOi0d1RjyZ0wdas8bKs2p0x3Ng== + dependencies: + call-bind "^1.0.2" + for-each "^0.3.3" + is-typed-array "^1.1.9" + +typescript@4.8.4: + version "4.8.4" + resolved "https://registry.yarnpkg.com/typescript/-/typescript-4.8.4.tgz#c464abca159669597be5f96b8943500b238e60e6" + integrity sha512-QCh+85mCy+h0IGff8r5XWzOVSbBO+KfeYrMQh7NJ58QujwcE22u+NUSmUxqF+un70P9GXKxa2HCNiTTMJknyjQ== + +ua-parser-js@^1.0.32: + version "1.0.37" + resolved "https://registry.yarnpkg.com/ua-parser-js/-/ua-parser-js-1.0.37.tgz#b5dc7b163a5c1f0c510b08446aed4da92c46373f" + integrity sha512-bhTyI94tZofjo+Dn8SN6Zv8nBDvyXTymAdM3LDI/0IboIUwTu1rEhW7v2TfiVsoYWgkQ4kOVqnI8APUFbIQIFQ== + +unbox-primitive@^1.0.2: + version "1.0.2" + resolved "https://registry.yarnpkg.com/unbox-primitive/-/unbox-primitive-1.0.2.tgz#29032021057d5e6cdbd08c5129c226dff8ed6f9e" + integrity sha512-61pPlCD9h51VoreyJ0BReideM3MDKMKnh6+V9L08331ipq6Q8OFXZYiqP6n/tbHx4s5I9uRhcye6BrbkizkBDw== + dependencies: + call-bind "^1.0.2" + has-bigints "^1.0.2" + has-symbols "^1.0.3" + which-boxed-primitive "^1.0.2" + +underscore@1.7.0: + version "1.7.0" + resolved "https://registry.yarnpkg.com/underscore/-/underscore-1.7.0.tgz#6bbaf0877500d36be34ecaa584e0db9fef035209" + integrity sha512-cp0oQQyZhUM1kpJDLdGO1jPZHgS/MpzoWYfe9+CM2h/QGDZlqwT2T3YGukuBdaNJ/CAPoeyAZRRHz8JFo176vA== + +undici-types@~5.26.4: + version "5.26.5" + resolved "https://registry.yarnpkg.com/undici-types/-/undici-types-5.26.5.tgz#bcd539893d00b56e964fd2657a4866b221a65617" + integrity sha512-JlCMO+ehdEIKqlFxk6IfVoAUVmgz7cU7zD/h9XZ0qzeosSHmUJVOzSQvvYSYWXkFXC+IfLKSIffhv0sVZup6pA== + +unicode-canonical-property-names-ecmascript@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/unicode-canonical-property-names-ecmascript/-/unicode-canonical-property-names-ecmascript-2.0.0.tgz#301acdc525631670d39f6146e0e77ff6bbdebddc" + integrity sha512-yY5PpDlfVIU5+y/BSCxAJRBIS1Zc2dDG3Ujq+sR0U+JjUevW2JhocOF+soROYDSaAezOzOKuyyixhD6mBknSmQ== + +unicode-match-property-ecmascript@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/unicode-match-property-ecmascript/-/unicode-match-property-ecmascript-2.0.0.tgz#54fd16e0ecb167cf04cf1f756bdcc92eba7976c3" + integrity sha512-5kaZCrbp5mmbz5ulBkDkbY0SsPOjKqVS35VpL9ulMPfSl0J0Xsm+9Evphv9CoIZFwre7aJoa94AY6seMKGVN5Q== + dependencies: + unicode-canonical-property-names-ecmascript "^2.0.0" + unicode-property-aliases-ecmascript "^2.0.0" + +unicode-match-property-value-ecmascript@^2.1.0: + version "2.1.0" + resolved "https://registry.yarnpkg.com/unicode-match-property-value-ecmascript/-/unicode-match-property-value-ecmascript-2.1.0.tgz#cb5fffdcd16a05124f5a4b0bf7c3770208acbbe0" + integrity sha512-qxkjQt6qjg/mYscYMC0XKRn3Rh0wFPlfxB0xkt9CfyTvpX1Ra0+rAmdX2QyAobptSEvuy4RtpPRui6XkV+8wjA== + +unicode-property-aliases-ecmascript@^2.0.0: + version "2.1.0" + resolved "https://registry.yarnpkg.com/unicode-property-aliases-ecmascript/-/unicode-property-aliases-ecmascript-2.1.0.tgz#43d41e3be698bd493ef911077c9b131f827e8ccd" + integrity sha512-6t3foTQI9qne+OZoVQB/8x8rk2k1eVy1gRXhV3oFQ5T6R1dqQ1xtin3XqSlx3+ATBkliTaR/hHyJBm+LVPNM8w== + +unicorn-magic@^0.1.0: + version "0.1.0" + resolved "https://registry.yarnpkg.com/unicorn-magic/-/unicorn-magic-0.1.0.tgz#1bb9a51c823aaf9d73a8bfcd3d1a23dde94b0ce4" + integrity sha512-lRfVq8fE8gz6QMBuDM6a+LO3IAzTi05H6gCVaUpir2E1Rwpo4ZUog45KpNXKC/Mn3Yb9UDuHumeFTo9iV/D9FQ== + +universalify@^0.2.0: + version "0.2.0" + resolved "https://registry.yarnpkg.com/universalify/-/universalify-0.2.0.tgz#6451760566fa857534745ab1dde952d1b1761be0" + integrity sha512-CJ1QgKmNg3CwvAv/kOFmtnEN05f0D/cn9QntgNOQlQF9dgvVTHj3t+8JPdjqawCHk7V/KA+fbUqzZ9XWhcqPUg== + +universalify@^2.0.0: + version "2.0.1" + resolved "https://registry.yarnpkg.com/universalify/-/universalify-2.0.1.tgz#168efc2180964e6386d061e094df61afe239b18d" + integrity sha512-gptHNQghINnc/vTGIk0SOFGFNXw7JVrlRUtConJRlvaw6DuX0wO5Jeko9sWrMBhh+PsYAZ7oXAiOnf/UKogyiw== + +untildify@^4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/untildify/-/untildify-4.0.0.tgz#2bc947b953652487e4600949fb091e3ae8cd919b" + integrity sha512-KK8xQ1mkzZeg9inewmFVDNkg3l5LUhoq9kN6iWYB/CC9YMG8HA+c1Q8HwDe6dEX7kErrEVNVBO3fWsVq5iDgtw== + +update-browserslist-db@^1.0.13: + version "1.0.13" + resolved "https://registry.yarnpkg.com/update-browserslist-db/-/update-browserslist-db-1.0.13.tgz#3c5e4f5c083661bd38ef64b6328c26ed6c8248c4" + integrity sha512-xebP81SNcPuNpPP3uzeW1NYXxI3rxyJzF3pD6sH4jE7o/IX+WtSpwnVU+qIsDPyk0d3hmFQ7mjqc6AtV604hbg== + dependencies: + escalade "^3.1.1" + picocolors "^1.0.0" + +uplot@1.6.24: + version "1.6.24" + resolved "https://registry.yarnpkg.com/uplot/-/uplot-1.6.24.tgz#dfa213fa7da92763261920ea972ed1a5f9f6af12" + integrity sha512-WpH2BsrFrqxkMu+4XBvc0eCDsRBhzoq9crttYeSI0bfxpzR5YoSVzZXOKFVWcVC7sp/aDXrdDPbDZGCtck2PVg== + +uri-js@^4.2.2: + version "4.4.1" + resolved "https://registry.yarnpkg.com/uri-js/-/uri-js-4.4.1.tgz#9b1a52595225859e55f669d928f88c6c57f2a77e" + integrity sha512-7rKUyy33Q1yc98pQ1DAmLtwX109F7TIfWlW1Ydo8Wl1ii1SeHieeh0HHfPeL2fMXK6z0s8ecKs9frCuLJvndBg== + dependencies: + punycode "^2.1.0" + +url-parse@^1.5.3: + version "1.5.10" + resolved "https://registry.yarnpkg.com/url-parse/-/url-parse-1.5.10.tgz#9d3c2f736c1d75dd3bd2be507dcc111f1e2ea9c1" + integrity sha512-WypcfiRhfeUP9vvF0j6rw0J3hrWrw6iZv3+22h6iRMJ/8z1Tj6XfLP4DsUix5MhMPnXpiHDoKyoZ/bdCkwBCiQ== + dependencies: + querystringify "^2.1.1" + requires-port "^1.0.0" + +use-isomorphic-layout-effect@^1.1.2: + version "1.1.2" + resolved "https://registry.yarnpkg.com/use-isomorphic-layout-effect/-/use-isomorphic-layout-effect-1.1.2.tgz#497cefb13d863d687b08477d9e5a164ad8c1a6fb" + integrity sha512-49L8yCO3iGT/ZF9QttjwLF/ZD9Iwto5LnH5LmEdk/6cFmXddqi2ulF0edxTwjj+7mqvpVVGQWvbXZdn32wRSHA== + +use-memo-one@^1.1.1: + version "1.1.3" + resolved "https://registry.yarnpkg.com/use-memo-one/-/use-memo-one-1.1.3.tgz#2fd2e43a2169eabc7496960ace8c79efef975e99" + integrity sha512-g66/K7ZQGYrI6dy8GLpVcMsBp4s17xNkYJVSMvTEevGy3nDxHOfE6z8BVE22+5G5x7t3+bhzrlTDB7ObrEE0cQ== + +util-deprecate@^1.0.2, util-deprecate@~1.0.1: + version "1.0.2" + resolved "https://registry.yarnpkg.com/util-deprecate/-/util-deprecate-1.0.2.tgz#450d4dc9fa70de732762fbd2d4a28981419a0ccf" + integrity sha512-EPD5q1uXyFxJpCrLnCc1nHnq3gOa6DZBocAIiI2TaSCA7VCJ1UJDMagCzIkXNsUYfD1daK//LTEQ8xiIbrHtcw== + +uuid@9.0.0: + version "9.0.0" + resolved "https://registry.yarnpkg.com/uuid/-/uuid-9.0.0.tgz#592f550650024a38ceb0c562f2f6aa435761efb5" + integrity sha512-MXcSTerfPa4uqyzStbRoTgt5XIe3x5+42+q1sDuy3R5MDk66URdLMOZe5aPX/SQd+kuYAh0FdP/pO28IkQyTeg== + +uuid@^3.3.2: + version "3.4.0" + resolved "https://registry.yarnpkg.com/uuid/-/uuid-3.4.0.tgz#b23e4358afa8a202fe7a100af1f5f883f02007ee" + integrity sha512-HjSDRw6gZE5JMggctHBcjVak08+KEVhSIiDzFnT9S9aegmp85S/bReBVTb4QTFaRNptJ9kuYaNhnbNEOkbKb/A== + +uuid@^8.3.2: + version "8.3.2" + resolved "https://registry.yarnpkg.com/uuid/-/uuid-8.3.2.tgz#80d5b5ced271bb9af6c445f21a1a04c606cefbe2" + integrity sha512-+NYs2QeMWy+GWFOEm9xnn6HCDp0l7QBD7ml8zLUmJ+93Q5NF0NocErnwkTkXVFNiX3/fpC6afS8Dhb/gz7R7eg== + +uuid@^9.0.0: + version "9.0.1" + resolved "https://registry.yarnpkg.com/uuid/-/uuid-9.0.1.tgz#e188d4c8853cc722220392c424cd637f32293f30" + integrity sha512-b+1eJOlsR9K8HJpow9Ok3fiWOWSIcIzXodvv0rQjVoOVNpWMpxf1wZNpt4y9h10odCNrqnYp1OBzRktckBe3sA== + +v8-compile-cache-lib@^3.0.1: + version "3.0.1" + resolved "https://registry.yarnpkg.com/v8-compile-cache-lib/-/v8-compile-cache-lib-3.0.1.tgz#6336e8d71965cb3d35a1bbb7868445a7c05264bf" + integrity sha512-wa7YjyUGfNZngI/vtK0UHAN+lgDCxBPCylVXGp0zu59Fz5aiGtNXaq3DhIov063MorB+VfufLh3JlF2KdTK3xg== + +v8-to-istanbul@^9.0.1: + version "9.2.0" + resolved "https://registry.yarnpkg.com/v8-to-istanbul/-/v8-to-istanbul-9.2.0.tgz#2ed7644a245cddd83d4e087b9b33b3e62dfd10ad" + integrity sha512-/EH/sDgxU2eGxajKdwLCDmQ4FWq+kpi3uCmBGpw1xJtnAxEjlD8j8PEiGWpCIMIs3ciNAgH0d3TTJiUkYzyZjA== + dependencies: + "@jridgewell/trace-mapping" "^0.3.12" + "@types/istanbul-lib-coverage" "^2.0.1" + convert-source-map "^2.0.0" + +value-equal@^1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/value-equal/-/value-equal-1.0.1.tgz#1e0b794c734c5c0cade179c437d356d931a34d6c" + integrity sha512-NOJ6JZCAWr0zlxZt+xqCHNTEKOsrks2HQd4MqhP1qy4z1SkbEP467eNx6TgDKXMvUOb+OENfJCZwM+16n7fRfw== + +verror@1.10.0: + version "1.10.0" + resolved "https://registry.yarnpkg.com/verror/-/verror-1.10.0.tgz#3a105ca17053af55d6e270c1f8288682e18da400" + integrity sha512-ZZKSmDAEFOijERBLkmYfJ+vmk3w+7hOLYDNkRCuRuMJGEmqYNCNLyBBFwWKVMhfwaEF3WOd0Zlw86U/WC/+nYw== + dependencies: + assert-plus "^1.0.0" + core-util-is "1.0.2" + extsprintf "^1.2.0" + +void-elements@3.1.0: + version "3.1.0" + resolved "https://registry.yarnpkg.com/void-elements/-/void-elements-3.1.0.tgz#614f7fbf8d801f0bb5f0661f5b2f5785750e4f09" + integrity sha512-Dhxzh5HZuiHQhbvTW9AMetFfBHDMYpo23Uo9btPXgdYP+3T5S+p+jgNy7spra+veYhBP2dCSgxR/i2Y02h5/6w== + +w3c-xmlserializer@^4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/w3c-xmlserializer/-/w3c-xmlserializer-4.0.0.tgz#aebdc84920d806222936e3cdce408e32488a3073" + integrity sha512-d+BFHzbiCx6zGfz0HyQ6Rg69w9k19nviJspaj4yNscGjrHu94sVP+aRm75yEbCh+r2/yR+7q6hux9LVtbuTGBw== + dependencies: + xml-name-validator "^4.0.0" + +walker@^1.0.8: + version "1.0.8" + resolved "https://registry.yarnpkg.com/walker/-/walker-1.0.8.tgz#bd498db477afe573dc04185f011d3ab8a8d7653f" + integrity sha512-ts/8E8l5b7kY0vlWLewOkDXMmPdLcVV4GmOQLyxuSswIJsweeFZtAsMF7k1Nszz+TYBQrlYRmzOnr398y1JemQ== + dependencies: + makeerror "1.0.12" + +warning@^4.0.2: + version "4.0.3" + resolved "https://registry.yarnpkg.com/warning/-/warning-4.0.3.tgz#16e9e077eb8a86d6af7d64aa1e05fd85b4678ca3" + integrity sha512-rpJyN222KWIvHJ/F53XSZv0Zl/accqHR8et1kpaMTD/fLCRxtV8iX8czMzY7sVZupTI3zcUTg8eycS2kNF9l6w== + dependencies: + loose-envify "^1.0.0" + +watchpack@^2.4.0: + version "2.4.0" + resolved "https://registry.yarnpkg.com/watchpack/-/watchpack-2.4.0.tgz#fa33032374962c78113f93c7f2fb4c54c9862a5d" + integrity sha512-Lcvm7MGST/4fup+ifyKi2hjyIAwcdI4HRgtvTpIUxBRhB+RFtUh8XtDOxUfctVCnhVi+QQj49i91OyvzkJl6cg== + dependencies: + glob-to-regexp "^0.4.1" + graceful-fs "^4.1.2" + +web-vitals@^3.1.1: + version "3.5.2" + resolved "https://registry.yarnpkg.com/web-vitals/-/web-vitals-3.5.2.tgz#5bb58461bbc173c3f00c2ddff8bfe6e680999ca9" + integrity sha512-c0rhqNcHXRkY/ogGDJQxZ9Im9D19hDihbzSQJrsioex+KnFgmMzBiy57Z1EjkhX/+OjyBpclDCzz2ITtjokFmg== + +web-worker@^1.2.0: + version "1.3.0" + resolved "https://registry.yarnpkg.com/web-worker/-/web-worker-1.3.0.tgz#e5f2df5c7fe356755a5fb8f8410d4312627e6776" + integrity sha512-BSR9wyRsy/KOValMgd5kMyr3JzpdeoR9KVId8u5GVlTTAtNChlsE4yTxeY7zMdNSyOmoKBv8NH2qeRY9Tg+IaA== + +webidl-conversions@^7.0.0: + version "7.0.0" + resolved "https://registry.yarnpkg.com/webidl-conversions/-/webidl-conversions-7.0.0.tgz#256b4e1882be7debbf01d05f0aa2039778ea080a" + integrity sha512-VwddBukDzu71offAQR975unBIGqfKZpM+8ZX6ySk8nYhVoo5CYaZyzt3YBvYtRtO+aoGlqxPg/B87NGVZ/fu6g== + +webpack-cli@^5.1.4: + version "5.1.4" + resolved "https://registry.yarnpkg.com/webpack-cli/-/webpack-cli-5.1.4.tgz#c8e046ba7eaae4911d7e71e2b25b776fcc35759b" + integrity sha512-pIDJHIEI9LR0yxHXQ+Qh95k2EvXpWzZ5l+d+jIo+RdSm9MiHfzazIxwwni/p7+x4eJZuvG1AJwgC4TNQ7NRgsg== + dependencies: + "@discoveryjs/json-ext" "^0.5.0" + "@webpack-cli/configtest" "^2.1.1" + "@webpack-cli/info" "^2.0.2" + "@webpack-cli/serve" "^2.0.5" + colorette "^2.0.14" + commander "^10.0.1" + cross-spawn "^7.0.3" + envinfo "^7.7.3" + fastest-levenshtein "^1.0.12" + import-local "^3.0.2" + interpret "^3.1.1" + rechoir "^0.8.0" + webpack-merge "^5.7.3" + +webpack-livereload-plugin@^3.0.2: + version "3.0.2" + resolved "https://registry.yarnpkg.com/webpack-livereload-plugin/-/webpack-livereload-plugin-3.0.2.tgz#b12f4ab56c75f03715eb32883bc2f24621f06da1" + integrity sha512-5JeZ2dgsvSNG+clrkD/u2sEiPcNk4qwCVZZmW8KpqKcNlkGv7IJjdVrq13+etAmMZYaCF1EGXdHkVFuLgP4zfw== + dependencies: + anymatch "^3.1.1" + portfinder "^1.0.17" + schema-utils ">1.0.0" + tiny-lr "^1.1.1" + +webpack-merge@^5.7.3: + version "5.10.0" + resolved "https://registry.yarnpkg.com/webpack-merge/-/webpack-merge-5.10.0.tgz#a3ad5d773241e9c682803abf628d4cd62b8a4177" + integrity sha512-+4zXKdx7UnO+1jaN4l2lHVD+mFvnlZQP/6ljaJVb4SZiwIKeUnrT5l0gkT8z+n4hKpC+jpOv6O9R+gLtag7pSA== + dependencies: + clone-deep "^4.0.1" + flat "^5.0.2" + wildcard "^2.0.0" + +webpack-sources@^3.2.3: + version "3.2.3" + resolved "https://registry.yarnpkg.com/webpack-sources/-/webpack-sources-3.2.3.tgz#2d4daab8451fd4b240cc27055ff6a0c2ccea0cde" + integrity sha512-/DyMEOrDgLKKIG0fmvtz+4dUX/3Ghozwgm6iPp8KRhvn+eQf9+Q7GWxVNMk3+uCPWfdXYC4ExGBckIXdFEfH1w== + +webpack@^5.86.0: + version "5.90.0" + resolved "https://registry.yarnpkg.com/webpack/-/webpack-5.90.0.tgz#313bfe16080d8b2fee6e29b6c986c0714ad4290e" + integrity sha512-bdmyXRCXeeNIePv6R6tGPyy20aUobw4Zy8r0LUS2EWO+U+Ke/gYDgsCh7bl5rB6jPpr4r0SZa6dPxBxLooDT3w== + dependencies: + "@types/eslint-scope" "^3.7.3" + "@types/estree" "^1.0.5" + "@webassemblyjs/ast" "^1.11.5" + "@webassemblyjs/wasm-edit" "^1.11.5" + "@webassemblyjs/wasm-parser" "^1.11.5" + acorn "^8.7.1" + acorn-import-assertions "^1.9.0" + browserslist "^4.21.10" + chrome-trace-event "^1.0.2" + enhanced-resolve "^5.15.0" + es-module-lexer "^1.2.1" + eslint-scope "5.1.1" + events "^3.2.0" + glob-to-regexp "^0.4.1" + graceful-fs "^4.2.9" + json-parse-even-better-errors "^2.3.1" + loader-runner "^4.2.0" + mime-types "^2.1.27" + neo-async "^2.6.2" + schema-utils "^3.2.0" + tapable "^2.1.1" + terser-webpack-plugin "^5.3.10" + watchpack "^2.4.0" + webpack-sources "^3.2.3" + +websocket-driver@>=0.5.1: + version "0.7.4" + resolved "https://registry.yarnpkg.com/websocket-driver/-/websocket-driver-0.7.4.tgz#89ad5295bbf64b480abcba31e4953aca706f5760" + integrity sha512-b17KeDIQVjvb0ssuSDF2cYXSg2iztliJ4B9WdsuB6J952qCPKmnVq4DyW5motImXHDC1cBT/1UezrJVsKw5zjg== + dependencies: + http-parser-js ">=0.5.1" + safe-buffer ">=5.1.0" + websocket-extensions ">=0.1.1" + +websocket-extensions@>=0.1.1: + version "0.1.4" + resolved "https://registry.yarnpkg.com/websocket-extensions/-/websocket-extensions-0.1.4.tgz#7f8473bc839dfd87608adb95d7eb075211578a42" + integrity sha512-OqedPIGOfsDlo31UNwYbCFMSaO9m9G/0faIHj5/dZFDMFqPTcx6UwqyOy3COEaEOg/9VsGIpdqn62W5KhoKSpg== + +whatwg-encoding@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/whatwg-encoding/-/whatwg-encoding-2.0.0.tgz#e7635f597fd87020858626805a2729fa7698ac53" + integrity sha512-p41ogyeMUrw3jWclHWTQg1k05DSVXPLcVxRTYsXUk+ZooOCZLcoYgPZ/HL/D/N+uQPOtcp1me1WhBEaX02mhWg== + dependencies: + iconv-lite "0.6.3" + +whatwg-mimetype@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/whatwg-mimetype/-/whatwg-mimetype-3.0.0.tgz#5fa1a7623867ff1af6ca3dc72ad6b8a4208beba7" + integrity sha512-nt+N2dzIutVRxARx1nghPKGv1xHikU7HKdfafKkLNLindmPU/ch3U31NOCGGA/dmPcmb1VlofO0vnKAcsm0o/Q== + +whatwg-url@^11.0.0: + version "11.0.0" + resolved "https://registry.yarnpkg.com/whatwg-url/-/whatwg-url-11.0.0.tgz#0a849eebb5faf2119b901bb76fd795c2848d4018" + integrity sha512-RKT8HExMpoYx4igMiVMY83lN6UeITKJlBQ+vR/8ZJ8OCdSiN3RwCq+9gH0+Xzj0+5IrM6i4j/6LuvzbZIQgEcQ== + dependencies: + tr46 "^3.0.0" + webidl-conversions "^7.0.0" + +which-boxed-primitive@^1.0.2: + version "1.0.2" + resolved "https://registry.yarnpkg.com/which-boxed-primitive/-/which-boxed-primitive-1.0.2.tgz#13757bc89b209b049fe5d86430e21cf40a89a8e6" + integrity sha512-bwZdv0AKLpplFY2KZRX6TvyuN7ojjr7lwkg6ml0roIy9YeuSr7JS372qlNW18UQYzgYK9ziGcerWqZOmEn9VNg== + dependencies: + is-bigint "^1.0.1" + is-boolean-object "^1.1.0" + is-number-object "^1.0.4" + is-string "^1.0.5" + is-symbol "^1.0.3" + +which-collection@^1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/which-collection/-/which-collection-1.0.1.tgz#70eab71ebbbd2aefaf32f917082fc62cdcb70906" + integrity sha512-W8xeTUwaln8i3K/cY1nGXzdnVZlidBcagyNFtBdD5kxnb4TvGKR7FfSIS3mYpwWS1QUCutfKz8IY8RjftB0+1A== + dependencies: + is-map "^2.0.1" + is-set "^2.0.1" + is-weakmap "^2.0.1" + is-weakset "^2.0.1" + +which-typed-array@^1.1.11, which-typed-array@^1.1.13: + version "1.1.13" + resolved "https://registry.yarnpkg.com/which-typed-array/-/which-typed-array-1.1.13.tgz#870cd5be06ddb616f504e7b039c4c24898184d36" + integrity sha512-P5Nra0qjSncduVPEAr7xhoF5guty49ArDTwzJ/yNuPIbZppyRxFQsRCWrocxIY+CnMVG+qfbU2FmDKyvSGClow== + dependencies: + available-typed-arrays "^1.0.5" + call-bind "^1.0.4" + for-each "^0.3.3" + gopd "^1.0.1" + has-tostringtag "^1.0.0" + +which@^2.0.1: + version "2.0.2" + resolved "https://registry.yarnpkg.com/which/-/which-2.0.2.tgz#7c6a8dd0a636a0327e10b59c9286eee93f3f51b1" + integrity sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA== + dependencies: + isexe "^2.0.0" + +wildcard@^2.0.0: + version "2.0.1" + resolved "https://registry.yarnpkg.com/wildcard/-/wildcard-2.0.1.tgz#5ab10d02487198954836b6349f74fff961e10f67" + integrity sha512-CC1bOL87PIWSBhDcTrdeLo6eGT7mCFtrg0uIJtqJUFyK+eJnzl8A1niH56uu7KMa5XFrtiV+AQuHO3n7DsHnLQ== + +workerpool@6.2.1: + version "6.2.1" + resolved "https://registry.yarnpkg.com/workerpool/-/workerpool-6.2.1.tgz#46fc150c17d826b86a008e5a4508656777e9c343" + integrity sha512-ILEIE97kDZvF9Wb9f6h5aXK4swSlKGUcOEGiIYb2OOu/IrDU9iwj0fD//SsA6E5ibwJxpEvhullJY4Sl4GcpAw== + +"wrap-ansi-cjs@npm:wrap-ansi@^7.0.0", wrap-ansi@^7.0.0: + version "7.0.0" + resolved "https://registry.yarnpkg.com/wrap-ansi/-/wrap-ansi-7.0.0.tgz#67e145cff510a6a6984bdf1152911d69d2eb9e43" + integrity sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q== + dependencies: + ansi-styles "^4.0.0" + string-width "^4.1.0" + strip-ansi "^6.0.0" + +wrap-ansi@^6.2.0: + version "6.2.0" + resolved "https://registry.yarnpkg.com/wrap-ansi/-/wrap-ansi-6.2.0.tgz#e9393ba07102e6c91a3b221478f0257cd2856e53" + integrity sha512-r6lPcBGxZXlIcymEu7InxDMhdW0KDxpLgoFLcguasxCaJ/SOIZwINatK9KY/tf+ZrlywOKU0UDj3ATXUBfxJXA== + dependencies: + ansi-styles "^4.0.0" + string-width "^4.1.0" + strip-ansi "^6.0.0" + +wrap-ansi@^8.1.0: + version "8.1.0" + resolved "https://registry.yarnpkg.com/wrap-ansi/-/wrap-ansi-8.1.0.tgz#56dc22368ee570face1b49819975d9b9a5ead214" + integrity sha512-si7QWI6zUMq56bESFvagtmzMdGOtoxfR+Sez11Mobfc7tm+VkUckk9bW2UeffTGVUbOksxmSw0AA2gs8g71NCQ== + dependencies: + ansi-styles "^6.1.0" + string-width "^5.0.1" + strip-ansi "^7.0.1" + +wrappy@1: + version "1.0.2" + resolved "https://registry.yarnpkg.com/wrappy/-/wrappy-1.0.2.tgz#b5243d8f3ec1aa35f1364605bc0d1036e30ab69f" + integrity sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ== + +write-file-atomic@^4.0.2: + version "4.0.2" + resolved "https://registry.yarnpkg.com/write-file-atomic/-/write-file-atomic-4.0.2.tgz#a9df01ae5b77858a027fd2e80768ee433555fcfd" + integrity sha512-7KxauUdBmSdWnmpaGFg+ppNjKF8uNLry8LyzjauQDOVONfFLNKrKvQOxZ/VuTIcS/gge/YNahf5RIIQWTSarlg== + dependencies: + imurmurhash "^0.1.4" + signal-exit "^3.0.7" + +ws@^7.2.0: + version "7.5.9" + resolved "https://registry.yarnpkg.com/ws/-/ws-7.5.9.tgz#54fa7db29f4c7cec68b1ddd3a89de099942bb591" + integrity sha512-F+P9Jil7UiSKSkppIiD94dN07AwvFixvLIj1Og1Rl9GGMuNipJnV9JzjD6XuqmAeiswGvUmNLjr5cFuXwNS77Q== + +ws@^8.11.0: + version "8.16.0" + resolved "https://registry.yarnpkg.com/ws/-/ws-8.16.0.tgz#d1cd774f36fbc07165066a60e40323eab6446fd4" + integrity sha512-HS0c//TP7Ina87TfiPUz1rQzMhHrl/SG2guqRcTOIUYD2q8uhUdNHZYJUaQ8aTGPzCh+c6oawMKW35nFl1dxyQ== + +xml-name-validator@^4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/xml-name-validator/-/xml-name-validator-4.0.0.tgz#79a006e2e63149a8600f15430f0a4725d1524835" + integrity sha512-ICP2e+jsHvAj2E2lIHxa5tjXRlKDJo4IdvPvCXbXQGdzSfmSpNVyIKMvoZHjDY9DP0zV17iI85o90vRFXNccRw== + +xml-utils@^1.0.2: + version "1.7.0" + resolved "https://registry.yarnpkg.com/xml-utils/-/xml-utils-1.7.0.tgz#333ce391d8918f872aaf98d2cf90f9ef9b82bd0f" + integrity sha512-bWB489+RQQclC7A9OW8e5BzbT8Tu//jtAOvkYwewFr+Q9T9KDGvfzC1lp0pYPEQPEoPQLDkmxkepSC/2gIAZGw== + +xmlchars@^2.2.0: + version "2.2.0" + resolved "https://registry.yarnpkg.com/xmlchars/-/xmlchars-2.2.0.tgz#060fe1bcb7f9c76fe2a17db86a9bc3ab894210cb" + integrity sha512-JZnDKK8B0RCDw84FNdDAIpZK+JuJw+s7Lz8nksI7SIuU3UXJJslUthsi+uWBUYOwPFwW7W7PRLRfUKpxjtjFCw== + +xss@^1.0.14: + version "1.0.14" + resolved "https://registry.yarnpkg.com/xss/-/xss-1.0.14.tgz#4f3efbde75ad0d82e9921cc3c95e6590dd336694" + integrity sha512-og7TEJhXvn1a7kzZGQ7ETjdQVS2UfZyTlsEdDOqvQF7GoxNfY+0YLCzBy1kPdsDDx4QuNAonQPddpsn6Xl/7sw== + dependencies: + commander "^2.20.3" + cssfilter "0.0.10" + +y18n@^5.0.5: + version "5.0.8" + resolved "https://registry.yarnpkg.com/y18n/-/y18n-5.0.8.tgz#7f4934d0f7ca8c56f95314939ddcd2dd91ce1d55" + integrity sha512-0pfFzegeDWJHJIAmTLRP2DwHjdF5s7jo9tuztdQxAhINCdvS+3nGINqPd00AphqJR/0LhANUS6/+7SCb98YOfA== + +yallist@^3.0.2: + version "3.1.1" + resolved "https://registry.yarnpkg.com/yallist/-/yallist-3.1.1.tgz#dbb7daf9bfd8bac9ab45ebf602b8cbad0d5d08fd" + integrity sha512-a4UGQaWPH59mOXUYnAG2ewncQS4i4F43Tv3JoAM+s2VDAmS9NsK8GpDMLrCHPksFT7h3K6TOoUNn2pb7RoXx4g== + +yallist@^4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/yallist/-/yallist-4.0.0.tgz#9bb92790d9c0effec63be73519e11a35019a3a72" + integrity sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A== + +yaml@^1.10.0: + version "1.10.2" + resolved "https://registry.yarnpkg.com/yaml/-/yaml-1.10.2.tgz#2301c5ffbf12b467de8da2333a459e29e7920e4b" + integrity sha512-r3vXyErRCYJ7wg28yvBY5VSoAF8ZvlcW9/BwUzEtUsjvX/DKs24dIkuwjtuprwJJHsbyUbLApepYTR1BN4uHrg== + +yaml@^2.0.0: + version "2.3.4" + resolved "https://registry.yarnpkg.com/yaml/-/yaml-2.3.4.tgz#53fc1d514be80aabf386dc6001eb29bf3b7523b2" + integrity sha512-8aAvwVUSHpfEqTQ4w/KMlf3HcRdt50E5ODIQJBw1fQ5RL34xabzxtUlzTXVqc4rkZsPbvrXKWnABCD7kWSmocA== + +yargs-parser@20.2.4: + version "20.2.4" + resolved "https://registry.yarnpkg.com/yargs-parser/-/yargs-parser-20.2.4.tgz#b42890f14566796f85ae8e3a25290d205f154a54" + integrity sha512-WOkpgNhPTlE73h4VFAFsOnomJVaovO8VqLDzy5saChRBFQFBoMYirowyW+Q9HB4HFF4Z7VZTiG3iSzJJA29yRA== + +yargs-parser@^20.2.2: + version "20.2.9" + resolved "https://registry.yarnpkg.com/yargs-parser/-/yargs-parser-20.2.9.tgz#2eb7dc3b0289718fc295f362753845c41a0c94ee" + integrity sha512-y11nGElTIV+CT3Zv9t7VKl+Q3hTQoT9a1Qzezhhl6Rp21gJ/IVTW7Z3y9EWXhuUBC2Shnf+DX0antecpAwSP8w== + +yargs-parser@^21.1.1: + version "21.1.1" + resolved "https://registry.yarnpkg.com/yargs-parser/-/yargs-parser-21.1.1.tgz#9096bceebf990d21bb31fa9516e0ede294a77d35" + integrity sha512-tVpsJW7DdjecAiFpbIB1e3qxIQsE6NoPc5/eTdrbbIC4h0LVsWhnoa3g+m2HclBIujHzsxZ4VJVA+GUuc2/LBw== + +yargs-unparser@2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/yargs-unparser/-/yargs-unparser-2.0.0.tgz#f131f9226911ae5d9ad38c432fe809366c2325eb" + integrity sha512-7pRTIA9Qc1caZ0bZ6RYRGbHJthJWuakf+WmHK0rVeLkNrrGhfoabBNdue6kdINI6r4if7ocq9aD/n7xwKOdzOA== + dependencies: + camelcase "^6.0.0" + decamelize "^4.0.0" + flat "^5.0.2" + is-plain-obj "^2.1.0" + +yargs@16.2.0: + version "16.2.0" + resolved "https://registry.yarnpkg.com/yargs/-/yargs-16.2.0.tgz#1c82bf0f6b6a66eafce7ef30e376f49a12477f66" + integrity sha512-D1mvvtDG0L5ft/jGWkLpG1+m0eQxOfaBvTNELraWj22wSVUMWxZUvYgJYcKh6jGGIkJFhH4IZPQhR4TKpc8mBw== + dependencies: + cliui "^7.0.2" + escalade "^3.1.1" + get-caller-file "^2.0.5" + require-directory "^2.1.1" + string-width "^4.2.0" + y18n "^5.0.5" + yargs-parser "^20.2.2" + +yargs@^17.3.1: + version "17.7.2" + resolved "https://registry.yarnpkg.com/yargs/-/yargs-17.7.2.tgz#991df39aca675a192b816e1e0363f9d75d2aa269" + integrity sha512-7dSzzRQ++CKnNI/krKnYRV7JKKPUXMEh61soaHKg9mrWEhzFWhFnxPxGl+69cD1Ou63C13NUPCnmIcrvqCuM6w== + dependencies: + cliui "^8.0.1" + escalade "^3.1.1" + get-caller-file "^2.0.5" + require-directory "^2.1.1" + string-width "^4.2.3" + y18n "^5.0.5" + yargs-parser "^21.1.1" + +yauzl@^2.10.0: + version "2.10.0" + resolved "https://registry.yarnpkg.com/yauzl/-/yauzl-2.10.0.tgz#c7eb17c93e112cb1086fa6d8e51fb0667b79a5f9" + integrity sha512-p4a9I6X6nu6IhoGmBqAcbJy1mlC4j27vEPZX9F4L4/vZT3Lyq1VkFHw/V/PUcB9Buo+DG3iHkT0x3Qya58zc3g== + dependencies: + buffer-crc32 "~0.2.3" + fd-slicer "~1.1.0" + +yn@3.1.1: + version "3.1.1" + resolved "https://registry.yarnpkg.com/yn/-/yn-3.1.1.tgz#1e87401a09d767c1d5eab26a6e4c185182d2eb50" + integrity sha512-Ux4ygGWsu2c7isFWe8Yu1YluJmqVhxqK2cLXNQA5AcC3QfbGNpM7fu0Y8b/z16pXLnFxZYvWhd3fhBY9DLmC6Q== + +yocto-queue@^0.1.0: + version "0.1.0" + resolved "https://registry.yarnpkg.com/yocto-queue/-/yocto-queue-0.1.0.tgz#0294eb3dee05028d31ee1a5fa2c556a6aaf10a1b" + integrity sha512-rVksvsnNCdJ/ohGc6xgPwyN8eheCxsiLM8mxuE/t/mOVqJewPuO1miLpTHQiRgTKCLexL4MeAFVagts7HmNZ2Q== + +zstddec@^0.1.0: + version "0.1.0" + resolved "https://registry.yarnpkg.com/zstddec/-/zstddec-0.1.0.tgz#7050f3f0e0c3978562d0c566b3e5a427d2bad7ec" + integrity sha512-w2NTI8+3l3eeltKAdK8QpiLo/flRAr2p8AGeakfMZOXBxOg9HIu4LVDxBi81sYgVhFhdJjv1OrB5ssI8uFPoLg== From 8de801137ed31d9df707549483c8be27a9e107d5 Mon Sep 17 00:00:00 2001 From: The Anh Nguyen Date: Mon, 29 Jan 2024 10:30:36 +0700 Subject: [PATCH 11/23] update eslint rules + fix code style --- .../trafficcontrol-scenes/.eslintrc.json | 3 +- .../src/components/App/App.tsx | 33 +++-- .../src/components/App/index.tsx | 2 +- .../src/components/Routes/Routes.tsx | 33 +++-- .../src/components/Routes/index.tsx | 2 +- .../trafficcontrol-scenes/src/constants.ts | 48 +++---- .../trafficcontrol-scenes/src/img/logo.svg | 33 +++-- .../trafficcontrol-scenes/src/module.ts | 5 +- .../src/pages/CacheGroup/CacheGroup.tsx | 22 ++-- .../src/pages/CacheGroup/index.tsx | 2 +- .../src/pages/CacheGroup/panels/bandwidth.tsx | 46 +++---- .../pages/CacheGroup/panels/connections.tsx | 44 ++++--- .../src/pages/CacheGroup/scene.tsx | 111 ++++++++-------- .../pages/DeliveryService/DeliveryService.tsx | 39 +++--- .../src/pages/DeliveryService/index.tsx | 2 +- .../DeliveryService/panels/bandwidth-cg.tsx | 46 +++---- .../DeliveryService/panels/bandwidth.tsx | 46 +++---- .../src/pages/DeliveryService/panels/tps.tsx | 87 +++++++------ .../src/pages/DeliveryService/scene.tsx | 121 +++++++++--------- .../src/pages/Server/Server.tsx | 39 +++--- .../src/pages/Server/index.tsx | 2 +- .../src/pages/Server/panels/bandwidth.tsx | 43 ++++--- .../src/pages/Server/panels/connections.tsx | 47 +++---- .../src/pages/Server/panels/cpu.tsx | 46 ++++--- .../src/pages/Server/panels/index.tsx | 16 +-- .../src/pages/Server/panels/load-average.tsx | 42 +++--- .../src/pages/Server/panels/memory.tsx | 44 ++++--- .../src/pages/Server/panels/netstat.tsx | 13 +- .../pages/Server/panels/read-write-time.tsx | 63 ++++----- .../src/pages/Server/panels/wrap-count.tsx | 42 +++--- .../src/pages/Server/scene.tsx | 58 +++++---- .../trafficcontrol-scenes/src/plugin.json | 99 +++++++------- .../src/utils/utils.plugin.ts | 20 +-- .../src/utils/utils.routing.ts | 10 +- .../trafficcontrol-scenes/tsconfig.json | 55 +++++--- .../webpack/constants.ts | 4 +- .../trafficcontrol-scenes/webpack/utils.ts | 74 +++++------ .../webpack/webpack.config.ts | 37 +++--- 38 files changed, 787 insertions(+), 692 deletions(-) diff --git a/infrastructure/cdn-in-a-box/optional/grafana/trafficcontrol-scenes/.eslintrc.json b/infrastructure/cdn-in-a-box/optional/grafana/trafficcontrol-scenes/.eslintrc.json index f05e67b3ae..0f7ea8ef8e 100644 --- a/infrastructure/cdn-in-a-box/optional/grafana/trafficcontrol-scenes/.eslintrc.json +++ b/infrastructure/cdn-in-a-box/optional/grafana/trafficcontrol-scenes/.eslintrc.json @@ -238,7 +238,8 @@ "selector": "variable", "format": [ "camelCase", - "UPPER_CASE" + "UPPER_CASE", + "PascalCase" ], "leadingUnderscore": "allow", "trailingUnderscore": "allow" diff --git a/infrastructure/cdn-in-a-box/optional/grafana/trafficcontrol-scenes/src/components/App/App.tsx b/infrastructure/cdn-in-a-box/optional/grafana/trafficcontrol-scenes/src/components/App/App.tsx index 1b75f25317..de765aa818 100644 --- a/infrastructure/cdn-in-a-box/optional/grafana/trafficcontrol-scenes/src/components/App/App.tsx +++ b/infrastructure/cdn-in-a-box/optional/grafana/trafficcontrol-scenes/src/components/App/App.tsx @@ -17,17 +17,28 @@ * under the License. */ -import React from 'react'; -import { AppRootProps } from '@grafana/data'; -import { PluginPropsContext } from '../../utils/utils.plugin'; -import { Routes } from '../Routes'; +import { AppRootProps } from "@grafana/data"; +import React, { ReactElement } from "react"; +import { Routes } from "src/components/Routes"; +import { PluginPropsContext } from "src/utils/utils.plugin"; + +/** + * Renders the component by providing the PluginPropsContext to its children. + * + * @returns {ReactElement} The rendered component. + */ export class App extends React.PureComponent { - render() { - return ( - - - - ); - } + /** + * Renders the component and returns the JSX element. + * + * @returns The JSX element representing the rendered component. + */ + public render(): ReactElement { + return ( + + + + ); + } } diff --git a/infrastructure/cdn-in-a-box/optional/grafana/trafficcontrol-scenes/src/components/App/index.tsx b/infrastructure/cdn-in-a-box/optional/grafana/trafficcontrol-scenes/src/components/App/index.tsx index cc86a6f871..fa90d8097a 100644 --- a/infrastructure/cdn-in-a-box/optional/grafana/trafficcontrol-scenes/src/components/App/index.tsx +++ b/infrastructure/cdn-in-a-box/optional/grafana/trafficcontrol-scenes/src/components/App/index.tsx @@ -17,4 +17,4 @@ * under the License. */ -export * from './App'; +export * from "./App"; diff --git a/infrastructure/cdn-in-a-box/optional/grafana/trafficcontrol-scenes/src/components/Routes/Routes.tsx b/infrastructure/cdn-in-a-box/optional/grafana/trafficcontrol-scenes/src/components/Routes/Routes.tsx index 2197672094..0d5621ea61 100644 --- a/infrastructure/cdn-in-a-box/optional/grafana/trafficcontrol-scenes/src/components/Routes/Routes.tsx +++ b/infrastructure/cdn-in-a-box/optional/grafana/trafficcontrol-scenes/src/components/Routes/Routes.tsx @@ -17,21 +17,20 @@ * under the License. */ -import React from 'react'; -import { Redirect, Route, Switch } from 'react-router-dom'; -import { prefixRoute } from '../../utils/utils.routing'; -import { ROUTES } from '../../constants'; -import { ServerPage } from '../../pages/Server'; -import { DeliveryServicePage } from '../../pages/DeliveryService'; -import { CacheGroupPage } from '../../pages/CacheGroup'; +import React, { ReactElement } from "react"; +import { Redirect, Route, Switch } from "react-router-dom"; -export const Routes = () => { - return ( - - - - - - - ); -}; +import { ROUTES } from "src/constants"; +import { CacheGroupPage } from "src/pages/CacheGroup"; +import { DeliveryServicePage } from "src/pages/DeliveryService"; +import { ServerPage } from "src/pages/Server"; +import { prefixRoute } from "src/utils/utils.routing"; + +export const Routes = (): ReactElement => ( + + + + + + +); diff --git a/infrastructure/cdn-in-a-box/optional/grafana/trafficcontrol-scenes/src/components/Routes/index.tsx b/infrastructure/cdn-in-a-box/optional/grafana/trafficcontrol-scenes/src/components/Routes/index.tsx index fc0a43b294..53af424267 100644 --- a/infrastructure/cdn-in-a-box/optional/grafana/trafficcontrol-scenes/src/components/Routes/index.tsx +++ b/infrastructure/cdn-in-a-box/optional/grafana/trafficcontrol-scenes/src/components/Routes/index.tsx @@ -17,4 +17,4 @@ * under the License. */ -export * from './Routes'; +export * from "./Routes"; diff --git a/infrastructure/cdn-in-a-box/optional/grafana/trafficcontrol-scenes/src/constants.ts b/infrastructure/cdn-in-a-box/optional/grafana/trafficcontrol-scenes/src/constants.ts index 501bab6438..c4700295fc 100644 --- a/infrastructure/cdn-in-a-box/optional/grafana/trafficcontrol-scenes/src/constants.ts +++ b/infrastructure/cdn-in-a-box/optional/grafana/trafficcontrol-scenes/src/constants.ts @@ -17,36 +17,36 @@ * under the License. */ -import pluginJson from './plugin.json'; +import pluginJson from "./plugin.json"; export const PLUGIN_BASE_URL = `/a/${pluginJson.id}`; -export enum ROUTES { - CacheGroup = 'cache-group', - DeliveryService = 'delivery-service', - Server = 'server', -} +export const ROUTES = { + cacheGroup: "cache-group", + deliveryService: "delivery-service", + server: "server", +}; export const PROMETHEUS_DATASOURCE_REF = { - uid: 'prometheus', - type: 'prometheus', + type: "prometheus", + uid: "prometheus", }; export const INFLUXDB_DATASOURCES_REF = { - CACHE_STATS: { - uid: 'cache_stats', - type: 'influxdb', - }, - DELIVERYSERVICE_STATS: { - uid: 'deliveryservice_stats', - type: 'influxdb', - }, - DAILY_STATS: { - uid: 'daily_stats', - type: 'influxdb', - }, - TELEGRAF: { - uid: 'telegraf', - type: 'influxdb', - }, + cacheStats: { + type: "influxdb", + uid: "cache_stats", + }, + dailyStats: { + type: "influxdb", + uid: "daily_stats", + }, + deliveryServiceStats: { + type: "influxdb", + uid: "deliveryservice_stats", + }, + telegraf: { + type: "influxdb", + uid: "telegraf", + }, }; diff --git a/infrastructure/cdn-in-a-box/optional/grafana/trafficcontrol-scenes/src/img/logo.svg b/infrastructure/cdn-in-a-box/optional/grafana/trafficcontrol-scenes/src/img/logo.svg index df9c8e9589..9945f05024 100644 --- a/infrastructure/cdn-in-a-box/optional/grafana/trafficcontrol-scenes/src/img/logo.svg +++ b/infrastructure/cdn-in-a-box/optional/grafana/trafficcontrol-scenes/src/img/logo.svg @@ -15,16 +15,23 @@ software distributed under the License is distributed on an KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License. --> - - - Apache Traffic Control Logo - Logo with no text - - - - - - - - - \ No newline at end of file + + + Apache Traffic Control Logo + Logo with no text + + + + + + + + + diff --git a/infrastructure/cdn-in-a-box/optional/grafana/trafficcontrol-scenes/src/module.ts b/infrastructure/cdn-in-a-box/optional/grafana/trafficcontrol-scenes/src/module.ts index dde257fa5a..24a18f1865 100644 --- a/infrastructure/cdn-in-a-box/optional/grafana/trafficcontrol-scenes/src/module.ts +++ b/infrastructure/cdn-in-a-box/optional/grafana/trafficcontrol-scenes/src/module.ts @@ -17,7 +17,8 @@ * under the License. */ -import { AppPlugin } from '@grafana/data'; -import { App } from './components/App'; +import { AppPlugin } from "@grafana/data"; + +import { App } from "src/components/App"; export const plugin = new AppPlugin<{}>().setRootPage(App); diff --git a/infrastructure/cdn-in-a-box/optional/grafana/trafficcontrol-scenes/src/pages/CacheGroup/CacheGroup.tsx b/infrastructure/cdn-in-a-box/optional/grafana/trafficcontrol-scenes/src/pages/CacheGroup/CacheGroup.tsx index 916aca00cb..eb4c25d384 100644 --- a/infrastructure/cdn-in-a-box/optional/grafana/trafficcontrol-scenes/src/pages/CacheGroup/CacheGroup.tsx +++ b/infrastructure/cdn-in-a-box/optional/grafana/trafficcontrol-scenes/src/pages/CacheGroup/CacheGroup.tsx @@ -17,25 +17,27 @@ * under the License. */ -import React, {useMemo} from 'react'; -import {SceneApp, SceneAppPage} from '@grafana/scenes'; -import {ROUTES} from '../../constants'; -import {prefixRoute} from '../../utils/utils.routing'; -import {getCacheGroupScene} from './scene'; +import { SceneApp, SceneAppPage } from "@grafana/scenes"; +import React, { ReactElement, useMemo } from "react"; -const getScene = () => +import { ROUTES } from "src/constants"; +import { prefixRoute } from "src/utils/utils.routing"; + +import { getCacheGroupScene } from "./scene"; + +const getScene = (): SceneApp => new SceneApp({ pages: [ new SceneAppPage({ - title: 'Cache Groups', - url: prefixRoute(`${ROUTES.CacheGroup}`), - hideFromBreadcrumbs: true, getScene: getCacheGroupScene, + hideFromBreadcrumbs: true, + title: "Cache Groups", + url: prefixRoute(`${ROUTES.cacheGroup}`), }), ], }); -export const CacheGroupPage = () => { +export const CacheGroupPage = (): ReactElement => { const scene = useMemo(() => getScene(), []); return ; diff --git a/infrastructure/cdn-in-a-box/optional/grafana/trafficcontrol-scenes/src/pages/CacheGroup/index.tsx b/infrastructure/cdn-in-a-box/optional/grafana/trafficcontrol-scenes/src/pages/CacheGroup/index.tsx index 62c9e5dadd..08234240e1 100644 --- a/infrastructure/cdn-in-a-box/optional/grafana/trafficcontrol-scenes/src/pages/CacheGroup/index.tsx +++ b/infrastructure/cdn-in-a-box/optional/grafana/trafficcontrol-scenes/src/pages/CacheGroup/index.tsx @@ -17,4 +17,4 @@ * under the License. */ -export * from './CacheGroup'; +export * from "./CacheGroup"; diff --git a/infrastructure/cdn-in-a-box/optional/grafana/trafficcontrol-scenes/src/pages/CacheGroup/panels/bandwidth.tsx b/infrastructure/cdn-in-a-box/optional/grafana/trafficcontrol-scenes/src/pages/CacheGroup/panels/bandwidth.tsx index 516d409a0c..33e4663e85 100644 --- a/infrastructure/cdn-in-a-box/optional/grafana/trafficcontrol-scenes/src/pages/CacheGroup/panels/bandwidth.tsx +++ b/infrastructure/cdn-in-a-box/optional/grafana/trafficcontrol-scenes/src/pages/CacheGroup/panels/bandwidth.tsx @@ -17,29 +17,31 @@ * under the License. */ -import { SceneQueryRunner, PanelBuilders } from '@grafana/scenes'; -import { INFLUXDB_DATASOURCES_REF } from '../../../constants'; +import { PanelBuilders, SceneQueryRunner, VizPanel } from "@grafana/scenes"; -export const getBandwidthPanel = () => { - const cacheGroupBandwidthQuery = { - refId: 'A', - query: - 'SELECT sum(value) FROM "monthly"."bandwidth.1min" WHERE "cachegroup" = \'$cachegroup\' AND $timeFilter GROUP BY time(60s), cachegroup', - rawQuery: true, - resultFormat: 'time_series', - alias: '$tag_cachegroup', - }; +import { INFLUXDB_DATASOURCES_REF } from "src/constants"; - const qr = new SceneQueryRunner({ - datasource: INFLUXDB_DATASOURCES_REF.CACHE_STATS, - queries: [cacheGroupBandwidthQuery], - }); +export const getBandwidthPanel = (): VizPanel => { + const cacheGroupBandwidthQuery = { + alias: "$tag_cachegroup", + query: + "SELECT sum(value) FROM \"monthly\".\"bandwidth.1min\" WHERE \"cachegroup\" = '$cachegroup'" + + "AND $timeFilter GROUP BY time(60s), cachegroup", + rawQuery: true, + refId: "A", + resultFormat: "time_series", + }; - return PanelBuilders.timeseries() - .setTitle('Total bandwidth (stacked)') - .setData(qr) - .setCustomFieldConfig('fillOpacity', 20) - .setOption('legend', { showLegend: true, calcs: ['max'] }) - .setUnit('Kbits') - .build(); + const qr = new SceneQueryRunner({ + datasource: INFLUXDB_DATASOURCES_REF.cacheStats, + queries: [cacheGroupBandwidthQuery], + }); + + return PanelBuilders.timeseries() + .setTitle("Total bandwidth (stacked)") + .setData(qr) + .setCustomFieldConfig("fillOpacity", 20) + .setOption("legend", {calcs: ["max"], showLegend: true}) + .setUnit("Kbits") + .build(); }; diff --git a/infrastructure/cdn-in-a-box/optional/grafana/trafficcontrol-scenes/src/pages/CacheGroup/panels/connections.tsx b/infrastructure/cdn-in-a-box/optional/grafana/trafficcontrol-scenes/src/pages/CacheGroup/panels/connections.tsx index ebe48de564..95ad826277 100644 --- a/infrastructure/cdn-in-a-box/optional/grafana/trafficcontrol-scenes/src/pages/CacheGroup/panels/connections.tsx +++ b/infrastructure/cdn-in-a-box/optional/grafana/trafficcontrol-scenes/src/pages/CacheGroup/panels/connections.tsx @@ -17,28 +17,30 @@ * under the License. */ -import { SceneQueryRunner, PanelBuilders } from '@grafana/scenes'; -import { INFLUXDB_DATASOURCES_REF } from '../../../constants'; +import { PanelBuilders, SceneQueryRunner, VizPanel } from "@grafana/scenes"; -export const getConnectionsPanel = () => { - const connectionQuery = { - refId: 'A', - query: - 'SELECT mean("value") FROM "monthly"."connections.1min" WHERE ("cachegroup" = \'$cachegroup\') AND $timeFilter GROUP BY time($interval), "hostname" fill(null)', - rawQuery: true, - resultFormat: 'time_series', - }; +import { INFLUXDB_DATASOURCES_REF } from "src/constants"; - const qr = new SceneQueryRunner({ - datasource: INFLUXDB_DATASOURCES_REF.CACHE_STATS, - queries: [connectionQuery], - }); +export const getConnectionsPanel = (): VizPanel => { + const connectionQuery = { + query: + "SELECT mean(\"value\") FROM \"monthly\".\"connections.1min\" WHERE (\"cachegroup\" = '$cachegroup')" + + "AND $timeFilter GROUP BY time($interval), \"hostname\" fill(null)", + rawQuery: true, + refId: "A", + resultFormat: "time_series", + }; - return PanelBuilders.timeseries() - .setTitle('Connections (stacked)') - .setCustomFieldConfig('fillOpacity', 20) - .setData(qr) - .setOption('legend', { showLegend: true, calcs: ['max'] }) - .setCustomFieldConfig('spanNulls', true) - .build(); + const qr = new SceneQueryRunner({ + datasource: INFLUXDB_DATASOURCES_REF.cacheStats, + queries: [connectionQuery], + }); + + return PanelBuilders.timeseries() + .setTitle("Connections (stacked)") + .setCustomFieldConfig("fillOpacity", 20) + .setData(qr) + .setOption("legend", {calcs: ["max"], showLegend: true}) + .setCustomFieldConfig("spanNulls", true) + .build(); }; diff --git a/infrastructure/cdn-in-a-box/optional/grafana/trafficcontrol-scenes/src/pages/CacheGroup/scene.tsx b/infrastructure/cdn-in-a-box/optional/grafana/trafficcontrol-scenes/src/pages/CacheGroup/scene.tsx index 9d93350e9e..8dcb9783e4 100644 --- a/infrastructure/cdn-in-a-box/optional/grafana/trafficcontrol-scenes/src/pages/CacheGroup/scene.tsx +++ b/infrastructure/cdn-in-a-box/optional/grafana/trafficcontrol-scenes/src/pages/CacheGroup/scene.tsx @@ -18,59 +18,66 @@ */ import { - SceneTimeRange, - EmbeddedScene, - SceneFlexLayout, - SceneFlexItem, - SceneControlsSpacer, - SceneRefreshPicker, - SceneTimePicker, - QueryVariable, - SceneVariableSet, - VariableValueSelectors, -} from '@grafana/scenes'; -import { getBandwidthPanel } from './panels/bandwidth'; -import { getConnectionsPanel } from './panels/connections'; -import { INFLUXDB_DATASOURCES_REF } from '../../constants'; + EmbeddedScene, + QueryVariable, + SceneControlsSpacer, + SceneFlexItem, + SceneFlexLayout, + SceneRefreshPicker, + SceneTimePicker, + SceneTimeRange, + SceneVariableSet, + VariableValueSelectors, +} from "@grafana/scenes"; -export function getCacheGroupScene() { - const timeRange = new SceneTimeRange({ - from: 'now-6h', - to: 'now', - }); +import { INFLUXDB_DATASOURCES_REF } from "src/constants"; - const cachegroup = new QueryVariable({ - name: 'cachegroup', - datasource: INFLUXDB_DATASOURCES_REF.CACHE_STATS, - query: 'SHOW TAG VALUES ON "cache_stats" FROM "monthly"."bandwidth" with key = "cachegroup"', - }); +import { getBandwidthPanel } from "./panels/bandwidth"; +import { getConnectionsPanel } from "./panels/connections"; - return new EmbeddedScene({ - $timeRange: timeRange, - $variables: new SceneVariableSet({ - variables: [cachegroup], - }), - body: new SceneFlexLayout({ - direction: 'column', - children: [ - new SceneFlexItem({ - minHeight: 300, - body: getBandwidthPanel(), - }), - new SceneFlexItem({ - minHeight: 300, - body: getConnectionsPanel(), - }), - ], - }), - controls: [ - new VariableValueSelectors({}), - new SceneControlsSpacer(), - new SceneTimePicker({ isOnCanvas: true }), - new SceneRefreshPicker({ - intervals: ['5s', '1m', '1h'], - isOnCanvas: true, - }), - ], - }); +/** + * Function to get the cache group scene. + * + * @returns The embedded scene representing the cache group. + */ +export function getCacheGroupScene(): EmbeddedScene { + const timeRange = new SceneTimeRange({ + from: "now-6h", + to: "now", + }); + + const cachegroup = new QueryVariable({ + datasource: INFLUXDB_DATASOURCES_REF.cacheStats, + name: "cachegroup", + query: 'SHOW TAG VALUES ON "cache_stats" FROM "monthly"."bandwidth" with key = "cachegroup"', + }); + + return new EmbeddedScene({ + $timeRange: timeRange, + $variables: new SceneVariableSet({ + variables: [cachegroup], + }), + body: new SceneFlexLayout({ + children: [ + new SceneFlexItem({ + body: getBandwidthPanel(), + minHeight: 300, + }), + new SceneFlexItem({ + body: getConnectionsPanel(), + minHeight: 300, + }), + ], + direction: "column", + }), + controls: [ + new VariableValueSelectors({}), + new SceneControlsSpacer(), + new SceneTimePicker({isOnCanvas: true}), + new SceneRefreshPicker({ + intervals: ["5s", "1m", "1h"], + isOnCanvas: true, + }), + ], + }); } diff --git a/infrastructure/cdn-in-a-box/optional/grafana/trafficcontrol-scenes/src/pages/DeliveryService/DeliveryService.tsx b/infrastructure/cdn-in-a-box/optional/grafana/trafficcontrol-scenes/src/pages/DeliveryService/DeliveryService.tsx index 73624c4a55..e9ee00fe13 100644 --- a/infrastructure/cdn-in-a-box/optional/grafana/trafficcontrol-scenes/src/pages/DeliveryService/DeliveryService.tsx +++ b/infrastructure/cdn-in-a-box/optional/grafana/trafficcontrol-scenes/src/pages/DeliveryService/DeliveryService.tsx @@ -17,26 +17,27 @@ * under the License. */ -import React, { useMemo } from 'react'; -import { SceneApp, SceneAppPage } from '@grafana/scenes'; -import { ROUTES } from '../../constants'; -import { prefixRoute } from '../../utils/utils.routing'; -import { getDeliveryServiceScene } from './scene'; +import { SceneApp, SceneAppPage } from "@grafana/scenes"; +import React, { ReactElement, useMemo } from "react"; -const getScene = () => - new SceneApp({ - pages: [ - new SceneAppPage({ - title: 'Delivery Services', - url: prefixRoute(`${ROUTES.DeliveryService}`), - hideFromBreadcrumbs: true, - getScene: getDeliveryServiceScene, - }), - ], - }); +import { ROUTES } from "src/constants"; +import { getDeliveryServiceScene } from "src/pages/DeliveryService/scene"; +import { prefixRoute } from "src/utils/utils.routing"; -export const DeliveryServicePage = () => { - const scene = useMemo(() => getScene(), []); +const getScene = (): SceneApp => + new SceneApp({ + pages: [ + new SceneAppPage({ + getScene: getDeliveryServiceScene, + hideFromBreadcrumbs: true, + title: "Delivery Services", + url: prefixRoute(`${ROUTES.deliveryService}`), + }), + ], + }); - return ; +export const DeliveryServicePage = (): ReactElement => { + const scene = useMemo(() => getScene(), []); + + return ; }; diff --git a/infrastructure/cdn-in-a-box/optional/grafana/trafficcontrol-scenes/src/pages/DeliveryService/index.tsx b/infrastructure/cdn-in-a-box/optional/grafana/trafficcontrol-scenes/src/pages/DeliveryService/index.tsx index 87fe1ff037..1edffd4314 100644 --- a/infrastructure/cdn-in-a-box/optional/grafana/trafficcontrol-scenes/src/pages/DeliveryService/index.tsx +++ b/infrastructure/cdn-in-a-box/optional/grafana/trafficcontrol-scenes/src/pages/DeliveryService/index.tsx @@ -17,4 +17,4 @@ * under the License. */ -export * from './DeliveryService'; +export * from "./DeliveryService"; diff --git a/infrastructure/cdn-in-a-box/optional/grafana/trafficcontrol-scenes/src/pages/DeliveryService/panels/bandwidth-cg.tsx b/infrastructure/cdn-in-a-box/optional/grafana/trafficcontrol-scenes/src/pages/DeliveryService/panels/bandwidth-cg.tsx index f7b50e0d3d..ef76641e83 100644 --- a/infrastructure/cdn-in-a-box/optional/grafana/trafficcontrol-scenes/src/pages/DeliveryService/panels/bandwidth-cg.tsx +++ b/infrastructure/cdn-in-a-box/optional/grafana/trafficcontrol-scenes/src/pages/DeliveryService/panels/bandwidth-cg.tsx @@ -17,29 +17,31 @@ * under the License. */ -import { SceneQueryRunner, PanelBuilders } from '@grafana/scenes'; -import { INFLUXDB_DATASOURCES_REF } from '../../../constants'; +import { PanelBuilders, SceneQueryRunner, VizPanel } from "@grafana/scenes"; -export const getBandwidthByCGPanel = () => { - const bandwidthByCacheGroupQuery = { - refId: 'A', - query: `SELECT mean(value) FROM "monthly"."kbps.cg.1min" WHERE deliveryservice='$deliveryservice' AND cachegroup != 'all' and $timeFilter GROUP BY time(60s), cachegroup`, - rawQuery: true, - resultFormat: 'time_series', - alias: '$tag_cachegroup', - }; +import { INFLUXDB_DATASOURCES_REF } from "src/constants"; - const qr = new SceneQueryRunner({ - datasource: INFLUXDB_DATASOURCES_REF.DELIVERYSERVICE_STATS, - queries: [bandwidthByCacheGroupQuery], - }); +export const getBandwidthByCGPanel = (): VizPanel => { + const bandwidthByCacheGroupQuery = { + alias: "$tag_cachegroup", + query: "SELECT mean(value) FROM \"monthly\".\"kbps.cg.1min\" WHERE deliveryservice='$deliveryservice'" + + "AND cachegroup != 'all' and $timeFilter GROUP BY time(60s), cachegroup", + rawQuery: true, + refId: "A", + resultFormat: "time_series", + }; - return PanelBuilders.timeseries() - .setTitle('Bandwidth by CacheGroup') - .setData(qr) - .setOption('legend', { showLegend: true, calcs: ['max'] }) - .setCustomFieldConfig('axisCenteredZero', true) - .setCustomFieldConfig('spanNulls', true) - .setUnit('bps') - .build(); + const qr = new SceneQueryRunner({ + datasource: INFLUXDB_DATASOURCES_REF.deliveryServiceStats, + queries: [bandwidthByCacheGroupQuery], + }); + + return PanelBuilders.timeseries() + .setTitle("Bandwidth by CacheGroup") + .setData(qr) + .setOption("legend", {calcs: ["max"], showLegend: true}) + .setCustomFieldConfig("axisCenteredZero", true) + .setCustomFieldConfig("spanNulls", true) + .setUnit("bps") + .build(); }; diff --git a/infrastructure/cdn-in-a-box/optional/grafana/trafficcontrol-scenes/src/pages/DeliveryService/panels/bandwidth.tsx b/infrastructure/cdn-in-a-box/optional/grafana/trafficcontrol-scenes/src/pages/DeliveryService/panels/bandwidth.tsx index c2fafbcfc4..90706b80b6 100644 --- a/infrastructure/cdn-in-a-box/optional/grafana/trafficcontrol-scenes/src/pages/DeliveryService/panels/bandwidth.tsx +++ b/infrastructure/cdn-in-a-box/optional/grafana/trafficcontrol-scenes/src/pages/DeliveryService/panels/bandwidth.tsx @@ -17,29 +17,31 @@ * under the License. */ -import { SceneQueryRunner, PanelBuilders } from '@grafana/scenes'; -import { INFLUXDB_DATASOURCES_REF } from '../../../constants'; +import { PanelBuilders, SceneQueryRunner, VizPanel } from "@grafana/scenes"; -export const getBandwidthPanel = () => { - const defaultBandwidthQuery = { - refId: 'A', - query: `SELECT mean(value) FROM "monthly"."kbps.ds.1min" WHERE deliveryservice='$deliveryservice' AND cachegroup = 'total' and $timeFilter GROUP BY time(60s), deliveryservice ORDER BY asc`, - rawQuery: true, - resultFormat: 'time_series', - alias: '$tag_deliveryservice', - measurement: 'bw', - }; +import { INFLUXDB_DATASOURCES_REF } from "src/constants"; - const qr = new SceneQueryRunner({ - datasource: INFLUXDB_DATASOURCES_REF.DELIVERYSERVICE_STATS, - queries: [defaultBandwidthQuery], - }); +export const getBandwidthPanel = (): VizPanel => { + const defaultBandwidthQuery = { + alias: "$tag_deliveryservice", + measurement: "bw", + query: "SELECT mean(value) FROM \"monthly\".\"kbps.ds.1min\" WHERE deliveryservice='$deliveryservice'" + + "AND cachegroup = 'total' and $timeFilter GROUP BY time(60s), deliveryservice ORDER BY asc", + rawQuery: true, + refId: "A", + resultFormat: "time_series", + }; - return PanelBuilders.timeseries() - .setTitle('Bandwidth') - .setData(qr) - .setOption('legend', { showLegend: true, calcs: ['max'] }) - .setCustomFieldConfig('axisCenteredZero', true) - .setUnit('bps') - .build(); + const qr = new SceneQueryRunner({ + datasource: INFLUXDB_DATASOURCES_REF.deliveryServiceStats, + queries: [defaultBandwidthQuery], + }); + + return PanelBuilders.timeseries() + .setTitle("Bandwidth") + .setData(qr) + .setOption("legend", {calcs: ["max"], showLegend: true}) + .setCustomFieldConfig("axisCenteredZero", true) + .setUnit("bps") + .build(); }; diff --git a/infrastructure/cdn-in-a-box/optional/grafana/trafficcontrol-scenes/src/pages/DeliveryService/panels/tps.tsx b/infrastructure/cdn-in-a-box/optional/grafana/trafficcontrol-scenes/src/pages/DeliveryService/panels/tps.tsx index 9283b8583a..4c28003446 100644 --- a/infrastructure/cdn-in-a-box/optional/grafana/trafficcontrol-scenes/src/pages/DeliveryService/panels/tps.tsx +++ b/infrastructure/cdn-in-a-box/optional/grafana/trafficcontrol-scenes/src/pages/DeliveryService/panels/tps.tsx @@ -17,48 +17,53 @@ * under the License. */ -import { SceneQueryRunner, PanelBuilders } from '@grafana/scenes'; -import { INFLUXDB_DATASOURCES_REF } from '../../../constants'; +import { PanelBuilders, SceneQueryRunner, VizPanel } from "@grafana/scenes"; -export const getTpsPanel = () => { - const tpsQueries = [ - { - refId: 'A', - query: `SELECT mean(value) FROM "monthly"."tps_2xx.ds.1min" WHERE $timeFilter AND deliveryservice='$deliveryservice' GROUP BY time(60s) ORDER BY asc`, - rawQuery: true, - resultFormat: 'time_series', - measurement: 'tps_2xx', - }, - { - refId: 'B', - query: `SELECT mean(value) FROM \"monthly\".\"tps_3xx.ds.1min\" WHERE $timeFilter AND deliveryservice='$deliveryservice' GROUP BY time(60s) ORDER BY asc`, - rawQuery: true, - resultFormat: 'time_series', - }, - { - refId: 'C', - query: `SELECT mean(value) FROM \"monthly\".\"tps_4xx.ds.1min\" WHERE $timeFilter AND deliveryservice='$deliveryservice' GROUP BY time(60s) ORDER BY asc`, - rawQuery: true, - resultFormat: 'time_series', - }, - { - refId: 'D', - query: `SELECT mean(value) FROM \"monthly\".\"tps_5xx.ds.1min\" WHERE $timeFilter AND deliveryservice='$deliveryservice' GROUP BY time(60s) ORDER BY asc`, - rawQuery: true, - resultFormat: 'time_series', - }, - ]; +import { INFLUXDB_DATASOURCES_REF } from "src/constants"; - const qr = new SceneQueryRunner({ - datasource: INFLUXDB_DATASOURCES_REF.DELIVERYSERVICE_STATS, - queries: [...tpsQueries], - }); +export const getTpsPanel = (): VizPanel => { + const tpsQueries = [ + { + measurement: "tps_2xx", + query: "SELECT mean(value) FROM \"monthly\".\"tps_2xx.ds.1min\" WHERE $timeFilter AND deliveryservice='$deliveryservice'" + + " GROUP BY time(60s) ORDER BY asc", + rawQuery: true, + refId: "A", + resultFormat: "time_series", + }, + { + query: "SELECT mean(value) FROM \"monthly\".\"tps_3xx.ds.1min\" WHERE $timeFilter AND deliveryservice='$deliveryservice'" + + " GROUP BY time(60s) ORDER BY asc", + rawQuery: true, + refId: "B", + resultFormat: "time_series", + }, + { + query: "SELECT mean(value) FROM \"monthly\".\"tps_4xx.ds.1min\" WHERE $timeFilter AND deliveryservice='$deliveryservice'" + + " GROUP BY time(60s) ORDER BY asc", + rawQuery: true, + refId: "C", + resultFormat: "time_series", + }, + { + query: "SELECT mean(value) FROM \"monthly\".\"tps_5xx.ds.1min\" WHERE $timeFilter AND deliveryservice='$deliveryservice' " + + "GROUP BY time(60s) ORDER BY asc", + rawQuery: true, + refId: "D", + resultFormat: "time_series", + }, + ]; - return PanelBuilders.timeseries() - .setTitle('TPS') - .setData(qr) - .setOption('legend', { showLegend: true, calcs: ['max'] }) - .setCustomFieldConfig('axisCenteredZero', true) - .setCustomFieldConfig('spanNulls', true) - .build(); + const qr = new SceneQueryRunner({ + datasource: INFLUXDB_DATASOURCES_REF.deliveryServiceStats, + queries: [...tpsQueries], + }); + + return PanelBuilders.timeseries() + .setTitle("TPS") + .setData(qr) + .setOption("legend", {calcs: ["max"], showLegend: true}) + .setCustomFieldConfig("axisCenteredZero", true) + .setCustomFieldConfig("spanNulls", true) + .build(); }; diff --git a/infrastructure/cdn-in-a-box/optional/grafana/trafficcontrol-scenes/src/pages/DeliveryService/scene.tsx b/infrastructure/cdn-in-a-box/optional/grafana/trafficcontrol-scenes/src/pages/DeliveryService/scene.tsx index 388a84cdf1..e7f404cd76 100644 --- a/infrastructure/cdn-in-a-box/optional/grafana/trafficcontrol-scenes/src/pages/DeliveryService/scene.tsx +++ b/infrastructure/cdn-in-a-box/optional/grafana/trafficcontrol-scenes/src/pages/DeliveryService/scene.tsx @@ -18,64 +18,71 @@ */ import { - SceneTimeRange, - EmbeddedScene, - SceneFlexLayout, - SceneFlexItem, - SceneControlsSpacer, - SceneRefreshPicker, - SceneTimePicker, - QueryVariable, - SceneVariableSet, - VariableValueSelectors, -} from '@grafana/scenes'; -import { getBandwidthPanel } from './panels/bandwidth'; -import { getTpsPanel } from './panels/tps'; -import { getBandwidthByCGPanel } from './panels/bandwidth-cg'; -import { INFLUXDB_DATASOURCES_REF } from '../../constants'; + EmbeddedScene, + QueryVariable, + SceneControlsSpacer, + SceneFlexItem, + SceneFlexLayout, + SceneRefreshPicker, + SceneTimePicker, + SceneTimeRange, + SceneVariableSet, + VariableValueSelectors, +} from "@grafana/scenes"; -export function getDeliveryServiceScene() { - const timeRange = new SceneTimeRange({ - from: 'now-6h', - to: 'now', - }); +import { INFLUXDB_DATASOURCES_REF } from "src/constants"; - const deliveryService = new QueryVariable({ - name: 'deliveryservice', - datasource: INFLUXDB_DATASOURCES_REF.DELIVERYSERVICE_STATS, - query: 'SHOW TAG VALUES ON "deliveryservice_stats" FROM "monthly"."kbps" with key = "deliveryservice"', - }); +import { getBandwidthPanel } from "./panels/bandwidth"; +import { getBandwidthByCGPanel } from "./panels/bandwidth-cg"; +import { getTpsPanel } from "./panels/tps"; - return new EmbeddedScene({ - $timeRange: timeRange, - $variables: new SceneVariableSet({ - variables: [deliveryService], - }), - body: new SceneFlexLayout({ - direction: 'column', - children: [ - new SceneFlexItem({ - minHeight: 300, - body: getBandwidthPanel(), - }), - new SceneFlexItem({ - minHeight: 300, - body: getTpsPanel(), - }), - new SceneFlexItem({ - minHeight: 300, - body: getBandwidthByCGPanel(), - }), - ], - }), - controls: [ - new VariableValueSelectors({}), - new SceneControlsSpacer(), - new SceneTimePicker({ isOnCanvas: true }), - new SceneRefreshPicker({ - intervals: ['5s', '1m', '1h'], - isOnCanvas: true, - }), - ], - }); +/** + * Returns an EmbeddedScene representing the delivery service scene. + * + * @returns EmbeddedScene representing the delivery service scene + */ +export function getDeliveryServiceScene(): EmbeddedScene { + const timeRange = new SceneTimeRange({ + from: "now-6h", + to: "now", + }); + + const deliveryService = new QueryVariable({ + datasource: INFLUXDB_DATASOURCES_REF.deliveryServiceStats, + name: "deliveryservice", + query: 'SHOW TAG VALUES ON "deliveryservice_stats" FROM "monthly"."kbps" with key = "deliveryservice"', + }); + + return new EmbeddedScene({ + $timeRange: timeRange, + $variables: new SceneVariableSet({ + variables: [deliveryService], + }), + body: new SceneFlexLayout({ + children: [ + new SceneFlexItem({ + body: getBandwidthPanel(), + minHeight: 300, + }), + new SceneFlexItem({ + body: getTpsPanel(), + minHeight: 300, + }), + new SceneFlexItem({ + body: getBandwidthByCGPanel(), + minHeight: 300, + }), + ], + direction: "column", + }), + controls: [ + new VariableValueSelectors({}), + new SceneControlsSpacer(), + new SceneTimePicker({isOnCanvas: true}), + new SceneRefreshPicker({ + intervals: ["5s", "1m", "1h"], + isOnCanvas: true, + }), + ], + }); } diff --git a/infrastructure/cdn-in-a-box/optional/grafana/trafficcontrol-scenes/src/pages/Server/Server.tsx b/infrastructure/cdn-in-a-box/optional/grafana/trafficcontrol-scenes/src/pages/Server/Server.tsx index c1a6a5980b..edc3a1b7dc 100644 --- a/infrastructure/cdn-in-a-box/optional/grafana/trafficcontrol-scenes/src/pages/Server/Server.tsx +++ b/infrastructure/cdn-in-a-box/optional/grafana/trafficcontrol-scenes/src/pages/Server/Server.tsx @@ -17,26 +17,27 @@ * under the License. */ -import React, { useMemo } from 'react'; -import { SceneApp, SceneAppPage } from '@grafana/scenes'; -import { ROUTES } from '../../constants'; -import { prefixRoute } from '../../utils/utils.routing'; -import { getServerScene } from './scene'; +import { SceneApp, SceneAppPage } from "@grafana/scenes"; +import React, { ReactElement, useMemo } from "react"; -const getScene = () => - new SceneApp({ - pages: [ - new SceneAppPage({ - title: 'Server', - url: prefixRoute(`${ROUTES.Server}`), - hideFromBreadcrumbs: true, - getScene: getServerScene, - }), - ], - }); +import { ROUTES } from "src/constants"; +import { getServerScene } from "src/pages/Server/scene"; +import { prefixRoute } from "src/utils/utils.routing"; -export const ServerPage = () => { - const scene = useMemo(() => getScene(), []); +const getScene = (): SceneApp => + new SceneApp({ + pages: [ + new SceneAppPage({ + getScene: getServerScene, + hideFromBreadcrumbs: true, + title: "Server", + url: prefixRoute(`${ROUTES.server}`), + }), + ], + }); - return ; +export const ServerPage = (): ReactElement => { + const scene = useMemo(() => getScene(), []); + + return ; }; diff --git a/infrastructure/cdn-in-a-box/optional/grafana/trafficcontrol-scenes/src/pages/Server/index.tsx b/infrastructure/cdn-in-a-box/optional/grafana/trafficcontrol-scenes/src/pages/Server/index.tsx index 565e8353c4..c219d65245 100644 --- a/infrastructure/cdn-in-a-box/optional/grafana/trafficcontrol-scenes/src/pages/Server/index.tsx +++ b/infrastructure/cdn-in-a-box/optional/grafana/trafficcontrol-scenes/src/pages/Server/index.tsx @@ -17,4 +17,4 @@ * under the License. */ -export * from './Server'; +export * from "./Server"; diff --git a/infrastructure/cdn-in-a-box/optional/grafana/trafficcontrol-scenes/src/pages/Server/panels/bandwidth.tsx b/infrastructure/cdn-in-a-box/optional/grafana/trafficcontrol-scenes/src/pages/Server/panels/bandwidth.tsx index 13765543cb..88fc3fcc6b 100644 --- a/infrastructure/cdn-in-a-box/optional/grafana/trafficcontrol-scenes/src/pages/Server/panels/bandwidth.tsx +++ b/infrastructure/cdn-in-a-box/optional/grafana/trafficcontrol-scenes/src/pages/Server/panels/bandwidth.tsx @@ -17,28 +17,29 @@ * under the License. */ -import { SceneQueryRunner, PanelBuilders } from '@grafana/scenes'; -import { INFLUXDB_DATASOURCES_REF } from '../../../constants'; +import { PanelBuilders, SceneQueryRunner, VizPanel } from "@grafana/scenes"; -export const getBandwidthPanel = () => { - const defaultBandwidthQuery = { - refId: 'A', - query: `SELECT mean(value) FROM "monthly"."bandwidth.1min" WHERE hostname='$hostname' AND $timeFilter GROUP BY time(60s)`, - rawQuery: true, - resultFormat: 'time_series', - alias: 'bandwidth', - }; +import { INFLUXDB_DATASOURCES_REF } from "src/constants"; - const qr = new SceneQueryRunner({ - datasource: INFLUXDB_DATASOURCES_REF.CACHE_STATS, - queries: [defaultBandwidthQuery], - }); +export const getBandwidthPanel = (): VizPanel => { + const defaultBandwidthQuery = { + alias: "bandwidth", + query: "SELECT mean(value) FROM \"monthly\".\"bandwidth.1min\" WHERE hostname='$hostname' AND $timeFilter GROUP BY time(60s)", + rawQuery: true, + refId: "A", + resultFormat: "time_series", + }; - return PanelBuilders.timeseries() - .setTitle('Bandwidth') - .setData(qr) - .setCustomFieldConfig('fillOpacity', 20) - .setOption('legend', { showLegend: true, calcs: ['max'] }) - .setUnit('kbps') - .build(); + const qr = new SceneQueryRunner({ + datasource: INFLUXDB_DATASOURCES_REF.cacheStats, + queries: [defaultBandwidthQuery], + }); + + return PanelBuilders.timeseries() + .setTitle("Bandwidth") + .setData(qr) + .setCustomFieldConfig("fillOpacity", 20) + .setOption("legend", {calcs: ["max"], showLegend: true}) + .setUnit("kbps") + .build(); }; diff --git a/infrastructure/cdn-in-a-box/optional/grafana/trafficcontrol-scenes/src/pages/Server/panels/connections.tsx b/infrastructure/cdn-in-a-box/optional/grafana/trafficcontrol-scenes/src/pages/Server/panels/connections.tsx index 00e85203c9..83f3e30284 100644 --- a/infrastructure/cdn-in-a-box/optional/grafana/trafficcontrol-scenes/src/pages/Server/panels/connections.tsx +++ b/infrastructure/cdn-in-a-box/optional/grafana/trafficcontrol-scenes/src/pages/Server/panels/connections.tsx @@ -17,30 +17,31 @@ * under the License. */ -import { SceneQueryRunner, PanelBuilders } from '@grafana/scenes'; -import { INFLUXDB_DATASOURCES_REF } from '../../../constants'; +import { PanelBuilders, SceneQueryRunner, VizPanel } from "@grafana/scenes"; -export const getConnectionsPanel = () => { - const defaultConnectionsQuery = [ - { - refId: 'A', - query: `SELECT mean(value) FROM "monthly"."connections.1min" WHERE hostname='$hostname' AND $timeFilter GROUP BY time(60s)`, - rawQuery: true, - resultFormat: 'time_series', - alias: 'connections', - }, - ]; +import { INFLUXDB_DATASOURCES_REF } from "src/constants"; - const qr = new SceneQueryRunner({ - datasource: INFLUXDB_DATASOURCES_REF.CACHE_STATS, - queries: [...defaultConnectionsQuery], - }); +export const getConnectionsPanel = (): VizPanel => { + const defaultConnectionsQuery = [ + { + alias: "connections", + query: "SELECT mean(value) FROM \"monthly\".\"connections.1min\" WHERE hostname='$hostname' AND $timeFilter GROUP BY time(60s)", + rawQuery: true, + refId: "A", + resultFormat: "time_series", + }, + ]; - return PanelBuilders.timeseries() - .setTitle('Connections') - .setData(qr) - .setCustomFieldConfig('fillOpacity', 20) - .setOption('legend', { showLegend: true, calcs: ['max'] }) - .setCustomFieldConfig('spanNulls', true) - .build(); + const qr = new SceneQueryRunner({ + datasource: INFLUXDB_DATASOURCES_REF.cacheStats, + queries: [...defaultConnectionsQuery], + }); + + return PanelBuilders.timeseries() + .setTitle("Connections") + .setData(qr) + .setCustomFieldConfig("fillOpacity", 20) + .setOption("legend", {calcs: ["max"], showLegend: true}) + .setCustomFieldConfig("spanNulls", true) + .build(); }; diff --git a/infrastructure/cdn-in-a-box/optional/grafana/trafficcontrol-scenes/src/pages/Server/panels/cpu.tsx b/infrastructure/cdn-in-a-box/optional/grafana/trafficcontrol-scenes/src/pages/Server/panels/cpu.tsx index 63d9fb03a0..25e41d0c93 100644 --- a/infrastructure/cdn-in-a-box/optional/grafana/trafficcontrol-scenes/src/pages/Server/panels/cpu.tsx +++ b/infrastructure/cdn-in-a-box/optional/grafana/trafficcontrol-scenes/src/pages/Server/panels/cpu.tsx @@ -17,28 +17,32 @@ * under the License. */ -import { PanelBuilders, SceneQueryRunner } from '@grafana/scenes'; -import { INFLUXDB_DATASOURCES_REF } from '../../../constants'; +import { PanelBuilders, SceneQueryRunner, VizPanel } from "@grafana/scenes"; -export const getCPUPanel = () => { - const defaultQuery = { - refId: 'A', - query: `SELECT mean("usage_system") AS "cpu_system", mean("usage_iowait") AS "cpu_iowait", mean("usage_user") AS "cpu_user", mean("usage_guest") AS "cpu_guest", mean("usage_steal") AS "cpu_steal" FROM "cpu" WHERE host='$hostname' AND $timeFilter GROUP BY time($interval) fill(null)`, - rawQuery: true, - resultFormat: 'time_series', - alias: '$col', - }; +import { INFLUXDB_DATASOURCES_REF } from "src/constants"; - const qr = new SceneQueryRunner({ - datasource: INFLUXDB_DATASOURCES_REF.TELEGRAF, - queries: [defaultQuery], - }); +export const getCPUPanel = (): VizPanel => { + const defaultQuery = { + alias: "$col", + query: "SELECT mean(\"usage_system\") AS \"cpu_system\", mean(\"usage_iowait\") AS \"cpu_iowait\"," + + " mean(\"usage_user\") AS \"cpu_user\", mean(\"usage_guest\") AS \"cpu_guest\"," + + " mean(\"usage_steal\") AS \"cpu_steal\" FROM \"cpu\"" + + " WHERE host='$hostname' AND $timeFilter GROUP BY time($interval) fill(null)", + rawQuery: true, + refId: "A", + resultFormat: "time_series", + }; - return PanelBuilders.timeseries() - .setTitle('CPU Usage') - .setData(qr) - .setUnit('%') - .setCustomFieldConfig('spanNulls', true) - .setCustomFieldConfig('fillOpacity', 20) - .build(); + const qr = new SceneQueryRunner({ + datasource: INFLUXDB_DATASOURCES_REF.telegraf, + queries: [defaultQuery], + }); + + return PanelBuilders.timeseries() + .setTitle("CPU Usage") + .setData(qr) + .setUnit("%") + .setCustomFieldConfig("spanNulls", true) + .setCustomFieldConfig("fillOpacity", 20) + .build(); }; diff --git a/infrastructure/cdn-in-a-box/optional/grafana/trafficcontrol-scenes/src/pages/Server/panels/index.tsx b/infrastructure/cdn-in-a-box/optional/grafana/trafficcontrol-scenes/src/pages/Server/panels/index.tsx index b7dc702e06..18eb1e4f2f 100644 --- a/infrastructure/cdn-in-a-box/optional/grafana/trafficcontrol-scenes/src/pages/Server/panels/index.tsx +++ b/infrastructure/cdn-in-a-box/optional/grafana/trafficcontrol-scenes/src/pages/Server/panels/index.tsx @@ -17,11 +17,11 @@ * under the License. */ -export * from './bandwidth'; -export * from './connections'; -export * from './cpu'; -export * from './load-average'; -export * from './memory'; -export * from './netstat'; -export * from './read-write-time'; -export * from './wrap-count'; +export * from "./bandwidth"; +export * from "./connections"; +export * from "./cpu"; +export * from "./load-average"; +export * from "./memory"; +export * from "./netstat"; +export * from "./read-write-time"; +export * from "./wrap-count"; diff --git a/infrastructure/cdn-in-a-box/optional/grafana/trafficcontrol-scenes/src/pages/Server/panels/load-average.tsx b/infrastructure/cdn-in-a-box/optional/grafana/trafficcontrol-scenes/src/pages/Server/panels/load-average.tsx index 8d6d28adc1..b55a38ba52 100644 --- a/infrastructure/cdn-in-a-box/optional/grafana/trafficcontrol-scenes/src/pages/Server/panels/load-average.tsx +++ b/infrastructure/cdn-in-a-box/optional/grafana/trafficcontrol-scenes/src/pages/Server/panels/load-average.tsx @@ -17,27 +17,29 @@ * under the License. */ -import { PanelBuilders, SceneQueryRunner } from '@grafana/scenes'; -import { INFLUXDB_DATASOURCES_REF } from '../../../constants'; +import { PanelBuilders, SceneQueryRunner, VizPanel } from "@grafana/scenes"; -export const getLoadAveragePanel = () => { - const defaultQuery = { - refId: 'A', - query: `SELECT mean("load1") AS "load1", mean("load5") AS "load5", mean("load15") AS "load15" FROM "system" WHERE host='$hostname' AND $timeFilter GROUP BY time($interval) fill(null)`, - rawQuery: true, - resultFormat: 'time_series', - alias: '$col', - }; +import { INFLUXDB_DATASOURCES_REF } from "src/constants"; - const qr = new SceneQueryRunner({ - datasource: INFLUXDB_DATASOURCES_REF.TELEGRAF, - queries: [defaultQuery], - }); +export const getLoadAveragePanel = (): VizPanel => { + const defaultQuery = { + alias: "$col", + query: "SELECT mean(\"load1\") AS \"load1\", mean(\"load5\") AS \"load5\", mean(\"load15\") AS \"load15\" FROM \"system\"" + + " WHERE host='$hostname' AND $timeFilter GROUP BY time($interval) fill(null)", + rawQuery: true, + refId: "A", + resultFormat: "time_series", + }; - return PanelBuilders.timeseries() - .setTitle('Load Average') - .setData(qr) - .setCustomFieldConfig('fillOpacity', 20) - .setCustomFieldConfig('spanNulls', true) - .build(); + const qr = new SceneQueryRunner({ + datasource: INFLUXDB_DATASOURCES_REF.telegraf, + queries: [defaultQuery], + }); + + return PanelBuilders.timeseries() + .setTitle("Load Average") + .setData(qr) + .setCustomFieldConfig("fillOpacity", 20) + .setCustomFieldConfig("spanNulls", true) + .build(); }; diff --git a/infrastructure/cdn-in-a-box/optional/grafana/trafficcontrol-scenes/src/pages/Server/panels/memory.tsx b/infrastructure/cdn-in-a-box/optional/grafana/trafficcontrol-scenes/src/pages/Server/panels/memory.tsx index 5b7bc02054..e95218e55a 100644 --- a/infrastructure/cdn-in-a-box/optional/grafana/trafficcontrol-scenes/src/pages/Server/panels/memory.tsx +++ b/infrastructure/cdn-in-a-box/optional/grafana/trafficcontrol-scenes/src/pages/Server/panels/memory.tsx @@ -17,28 +17,30 @@ * under the License. */ -import { PanelBuilders, SceneQueryRunner } from '@grafana/scenes'; -import { INFLUXDB_DATASOURCES_REF } from '../../../constants'; +import { PanelBuilders, SceneQueryRunner, VizPanel } from "@grafana/scenes"; -export const getMemoryPanel = () => { - const defaultQuery = { - refId: 'A', - query: `SELECT mean("used_percent") AS "mem_used" FROM "mem" WHERE host='$hostname' AND $timeFilter GROUP BY time($interval) fill(null)`, - rawQuery: true, - resultFormat: 'time_series', - alias: '$col', - }; +import { INFLUXDB_DATASOURCES_REF } from "src/constants"; - const qr = new SceneQueryRunner({ - datasource: INFLUXDB_DATASOURCES_REF.TELEGRAF, - queries: [defaultQuery], - }); +export const getMemoryPanel = (): VizPanel => { + const defaultQuery = { + alias: "$col", + query: "SELECT mean(\"used_percent\") AS \"mem_used\" FROM \"mem\" WHERE host='$hostname' AND $timeFilter" + + " GROUP BY time($interval) fill(null)", + rawQuery: true, + refId: "A", + resultFormat: "time_series", + }; - return PanelBuilders.timeseries() - .setTitle('Memory Usage') - .setData(qr) - .setCustomFieldConfig('spanNulls', true) - .setCustomFieldConfig('fillOpacity', 20) - .setUnit('%') - .build(); + const qr = new SceneQueryRunner({ + datasource: INFLUXDB_DATASOURCES_REF.telegraf, + queries: [defaultQuery], + }); + + return PanelBuilders.timeseries() + .setTitle("Memory Usage") + .setData(qr) + .setCustomFieldConfig("spanNulls", true) + .setCustomFieldConfig("fillOpacity", 20) + .setUnit("%") + .build(); }; diff --git a/infrastructure/cdn-in-a-box/optional/grafana/trafficcontrol-scenes/src/pages/Server/panels/netstat.tsx b/infrastructure/cdn-in-a-box/optional/grafana/trafficcontrol-scenes/src/pages/Server/panels/netstat.tsx index 86da39e49d..5a21ea3dd5 100644 --- a/infrastructure/cdn-in-a-box/optional/grafana/trafficcontrol-scenes/src/pages/Server/panels/netstat.tsx +++ b/infrastructure/cdn-in-a-box/optional/grafana/trafficcontrol-scenes/src/pages/Server/panels/netstat.tsx @@ -19,19 +19,24 @@ import { PanelBuilders, SceneObject, SceneQueryRunner } from "@grafana/scenes"; -import { INFLUXDB_DATASOURCES_REF } from "../../../constants"; +import { INFLUXDB_DATASOURCES_REF } from "src/constants"; export const getNetstatPanel = (): SceneObject => { const defaultQuery = { alias: "$col", - refId: "A", - query: `SELECT mean("tcp_close") AS "tcp_close", mean("tcp_close_wait") AS "tcp_close_wait", mean("tcp_established") AS "tcp_established", mean("tcp_time_wait") AS "tcp_time_wait", mean("tcp_closing") AS "tcp_closing", mean("tcp_fin_wait1") AS "tcp_fin_wait1", mean("tcp_fin_wait2") AS "tcp_fin_wait2", mean("tcp_last_ack") AS "tcp_last_ack", mean("tcp_syn_recv") AS "tcp_syn_recv", mean("tcp_syn_sent") AS "tcp_syn_sent" FROM "netstat" WHERE host='$hostname' AND $timeFilter GROUP BY time($interval) fill(null)`, + query: "SELECT mean(\"tcp_close\") AS \"tcp_close\", mean(\"tcp_close_wait\") AS \"tcp_close_wait\"," + + " mean(\"tcp_established\") AS \"tcp_established\", mean(\"tcp_time_wait\") AS \"tcp_time_wait\"," + + " mean(\"tcp_closing\") AS \"tcp_closing\", mean(\"tcp_fin_wait1\") AS \"tcp_fin_wait1\"," + + " mean(\"tcp_fin_wait2\") AS \"tcp_fin_wait2\", mean(\"tcp_last_ack\") AS \"tcp_last_ack\"," + + " mean(\"tcp_syn_recv\") AS \"tcp_syn_recv\", mean(\"tcp_syn_sent\") AS \"tcp_syn_sent\" " + + " FROM \"netstat\" WHERE host='$hostname' AND $timeFilter GROUP BY time($interval) fill(null)", rawQuery: true, + refId: "A", resultFormat: "time_series", }; const qr = new SceneQueryRunner({ - datasource: INFLUXDB_DATASOURCES_REF.TELEGRAF, + datasource: INFLUXDB_DATASOURCES_REF.telegraf, queries: [defaultQuery], }); diff --git a/infrastructure/cdn-in-a-box/optional/grafana/trafficcontrol-scenes/src/pages/Server/panels/read-write-time.tsx b/infrastructure/cdn-in-a-box/optional/grafana/trafficcontrol-scenes/src/pages/Server/panels/read-write-time.tsx index 05c097787b..d4c6c4f186 100644 --- a/infrastructure/cdn-in-a-box/optional/grafana/trafficcontrol-scenes/src/pages/Server/panels/read-write-time.tsx +++ b/infrastructure/cdn-in-a-box/optional/grafana/trafficcontrol-scenes/src/pages/Server/panels/read-write-time.tsx @@ -17,37 +17,40 @@ * under the License. */ -import { PanelBuilders, SceneQueryRunner } from '@grafana/scenes'; -import { INFLUXDB_DATASOURCES_REF } from '../../../constants'; +import { PanelBuilders, SceneQueryRunner, VizPanel } from "@grafana/scenes"; -export const getReadWriteTimePanel = () => { - const defaultQueries = [ - { - refId: 'A', - query: `SELECT non_negative_derivative(sum("read_time"), 10s) AS "read_time" FROM "diskio" WHERE host='$hostname' AND $timeFilter GROUP BY time($interval) fill(null)`, - rawQuery: true, - resultFormat: 'time_series', - alias: '$col', - }, - { - refId: 'B', - query: `SELECT non_negative_derivative(sum("write_time"), 10s) AS "write_time" FROM "diskio" WHERE host='$hostname' AND $timeFilter GROUP BY time($interval) fill(null)`, - rawQuery: true, - resultFormat: 'time_series', - alias: '$col', - }, - ]; +import { INFLUXDB_DATASOURCES_REF } from "src/constants"; - const qr = new SceneQueryRunner({ - datasource: INFLUXDB_DATASOURCES_REF.TELEGRAF, - queries: [...defaultQueries], - }); +export const getReadWriteTimePanel = (): VizPanel => { + const defaultQueries = [ + { + alias: "$col", + query: "SELECT non_negative_derivative(sum(\"read_time\"), 10s) AS \"read_time\" FROM \"diskio\" " + + " WHERE host='$hostname' AND $timeFilter GROUP BY time($interval) fill(null)", + rawQuery: true, + refId: "A", + resultFormat: "time_series", + }, + { + alias: "$col", + query: "SELECT non_negative_derivative(sum(\"write_time\"), 10s) AS \"write_time\" FROM \"diskio\" " + + " WHERE host='$hostname' AND $timeFilter GROUP BY time($interval) fill(null)", + rawQuery: true, + refId: "B", + resultFormat: "time_series", + }, + ]; - return PanelBuilders.timeseries() - .setTitle('Read/Write Time') - .setData(qr) - .setCustomFieldConfig('spanNulls', true) - .setCustomFieldConfig('fillOpacity', 20) - .setUnit('ns') - .build(); + const qr = new SceneQueryRunner({ + datasource: INFLUXDB_DATASOURCES_REF.telegraf, + queries: [...defaultQueries], + }); + + return PanelBuilders.timeseries() + .setTitle("Read/Write Time") + .setData(qr) + .setCustomFieldConfig("spanNulls", true) + .setCustomFieldConfig("fillOpacity", 20) + .setUnit("ns") + .build(); }; diff --git a/infrastructure/cdn-in-a-box/optional/grafana/trafficcontrol-scenes/src/pages/Server/panels/wrap-count.tsx b/infrastructure/cdn-in-a-box/optional/grafana/trafficcontrol-scenes/src/pages/Server/panels/wrap-count.tsx index ebae90eaa4..b340b83742 100644 --- a/infrastructure/cdn-in-a-box/optional/grafana/trafficcontrol-scenes/src/pages/Server/panels/wrap-count.tsx +++ b/infrastructure/cdn-in-a-box/optional/grafana/trafficcontrol-scenes/src/pages/Server/panels/wrap-count.tsx @@ -17,27 +17,29 @@ * under the License. */ -import { PanelBuilders, SceneQueryRunner } from '@grafana/scenes'; -import { INFLUXDB_DATASOURCES_REF } from '../../../constants'; +import { PanelBuilders, SceneQueryRunner, VizPanel } from "@grafana/scenes"; -export const getWrapCountPanel = () => { - const defaultQuery = { - refId: 'A', - query: `SELECT mean("vol1_wrap_count") AS "vol1", mean("vol2_wrap_count") AS "vol2" FROM "monthly"."wrap_count.1min" WHERE hostname='$hostname' AND $timeFilter GROUP BY time($interval) fill(null)`, - rawQuery: true, - resultFormat: 'time_series', - alias: '$col', - }; +import { INFLUXDB_DATASOURCES_REF } from "src/constants"; - const qr = new SceneQueryRunner({ - datasource: INFLUXDB_DATASOURCES_REF.CACHE_STATS, - queries: [defaultQuery], - }); +export const getWrapCountPanel = (): VizPanel => { + const defaultQuery = { + alias: "$col", + query: "SELECT mean(\"vol1_wrap_count\") AS \"vol1\", mean(\"vol2_wrap_count\") AS \"vol2\" " + + "FROM \"monthly\".\"wrap_count.1min\" WHERE hostname='$hostname' AND $timeFilter GROUP BY time($interval) fill(null)", + rawQuery: true, + refId: "A", + resultFormat: "time_series", + }; - return PanelBuilders.timeseries() - .setTitle('Wrap Count') - .setData(qr) - .setCustomFieldConfig('spanNulls', true) - .setCustomFieldConfig('fillOpacity', 20) - .build(); + const qr = new SceneQueryRunner({ + datasource: INFLUXDB_DATASOURCES_REF.cacheStats, + queries: [defaultQuery], + }); + + return PanelBuilders.timeseries() + .setTitle("Wrap Count") + .setData(qr) + .setCustomFieldConfig("spanNulls", true) + .setCustomFieldConfig("fillOpacity", 20) + .build(); }; diff --git a/infrastructure/cdn-in-a-box/optional/grafana/trafficcontrol-scenes/src/pages/Server/scene.tsx b/infrastructure/cdn-in-a-box/optional/grafana/trafficcontrol-scenes/src/pages/Server/scene.tsx index f7dd0bc2dc..3244cc4c4d 100644 --- a/infrastructure/cdn-in-a-box/optional/grafana/trafficcontrol-scenes/src/pages/Server/scene.tsx +++ b/infrastructure/cdn-in-a-box/optional/grafana/trafficcontrol-scenes/src/pages/Server/scene.tsx @@ -18,37 +18,45 @@ */ import { - SceneTimeRange, EmbeddedScene, - SceneFlexLayout, - SceneFlexItem, + QueryVariable, SceneControlsSpacer, + SceneFlexItem, + SceneFlexLayout, SceneRefreshPicker, SceneTimePicker, - QueryVariable, + SceneTimeRange, SceneVariableSet, VariableValueSelectors, } from "@grafana/scenes"; + +import { INFLUXDB_DATASOURCES_REF } from "src/constants"; + import { getBandwidthPanel, getConnectionsPanel, getCPUPanel, - getMemoryPanel, getLoadAveragePanel, + getMemoryPanel, + getNetstatPanel, getReadWriteTimePanel, getWrapCountPanel, - getNetstatPanel, } from "./panels"; -import { INFLUXDB_DATASOURCES_REF } from "../../constants"; -export function getServerScene() { +/** + * Returns an EmbeddedScene with a specific time range and variables, consisting of multiple + * SceneFlexLayout and SceneFlexItem components for displaying various panels and controls. + * + * @returns The EmbeddedScene with the specified time range, variables, body, and controls. + */ +export function getServerScene(): EmbeddedScene { const timeRange = new SceneTimeRange({ from: "now-6h", to: "now", }); const hostname = new QueryVariable({ - datasource: INFLUXDB_DATASOURCES_REF.CACHE_STATS, + datasource: INFLUXDB_DATASOURCES_REF.cacheStats, name: "hostname", query: 'SHOW TAG VALUES ON "cache_stats" FROM "monthly"."bandwidth" with key = "hostname"', }); @@ -59,64 +67,64 @@ export function getServerScene() { variables: [hostname], }), body: new SceneFlexLayout({ - direction: "column", children: [ new SceneFlexItem({ - height: 250, body: getBandwidthPanel(), + height: 250, }), new SceneFlexItem({ - height: 250, body: getConnectionsPanel(), + height: 250, }), new SceneFlexLayout({ - direction: "row", - height: 250, children: [ new SceneFlexItem({ - width: "50%", body: getCPUPanel(), + width: "50%", }), new SceneFlexItem({ - width: "50%", body: getMemoryPanel(), + width: "50%", }), ], - }), - new SceneFlexLayout({ direction: "row", height: 250, + }), + new SceneFlexLayout({ children: [ new SceneFlexItem({ - width: "50%", body: getLoadAveragePanel(), + width: "50%", }), new SceneFlexItem({ - width: "50%", body: getReadWriteTimePanel(), + width: "50%", }), ], - }), - new SceneFlexLayout({ direction: "row", height: 250, + }), + new SceneFlexLayout({ children: [ new SceneFlexItem({ - width: "50%", body: getWrapCountPanel(), + width: "50%", }), new SceneFlexItem({ - width: "50%", body: getNetstatPanel(), + width: "50%", }), ], + direction: "row", + height: 250, }), ], + direction: "column", }), controls: [ new VariableValueSelectors({}), new SceneControlsSpacer(), - new SceneTimePicker({ isOnCanvas: true }), + new SceneTimePicker({isOnCanvas: true}), new SceneRefreshPicker({ intervals: ["5s", "1m", "1h"], isOnCanvas: true, diff --git a/infrastructure/cdn-in-a-box/optional/grafana/trafficcontrol-scenes/src/plugin.json b/infrastructure/cdn-in-a-box/optional/grafana/trafficcontrol-scenes/src/plugin.json index 8ce8c46b69..1a1f5b92f7 100644 --- a/infrastructure/cdn-in-a-box/optional/grafana/trafficcontrol-scenes/src/plugin.json +++ b/infrastructure/cdn-in-a-box/optional/grafana/trafficcontrol-scenes/src/plugin.json @@ -1,50 +1,53 @@ { - "$schema": "https://raw.githubusercontent.com/grafana/grafana/main/docs/sources/developers/plugins/plugin.schema.json", - "type": "app", - "name": "TrafficControl Grafana Scenes", - "id": "trafficcontrol-scenes-app", - "info": { - "keywords": ["trafficcontrol", "app"], - "description": "Visualize Traffic Stats", - "author": { - "name": "ntheanh201" - }, - "logos": { - "small": "img/logo.svg", - "large": "img/logo.svg" - }, - "screenshots": [], - "version": "%VERSION%", - "updated": "%TODAY%" - }, - "includes": [ - { - "type": "page", - "name": "Cache Group", - "path": "/a/%PLUGIN_ID%/cache-group", - "role": "Admin", - "addToNav": true, - "defaultNav": false - }, - { - "type": "page", - "name": "Delivery Service", - "path": "/a/%PLUGIN_ID%/delivery-service", - "role": "Admin", - "addToNav": true, - "defaultNav": false - }, - { - "type": "page", - "name": "Server", - "path": "/a/%PLUGIN_ID%/server", - "role": "Admin", - "addToNav": true, - "defaultNav": false - } - ], - "dependencies": { - "grafanaDependency": ">=10.0.3", - "plugins": [] - } + "$schema": "https://raw.githubusercontent.com/grafana/grafana/main/docs/sources/developers/plugins/plugin.schema.json", + "type": "app", + "name": "TrafficControl Grafana Scenes", + "id": "trafficcontrol-scenes-app", + "info": { + "keywords": [ + "trafficcontrol", + "app" + ], + "description": "Visualize Traffic Stats", + "author": { + "name": "ntheanh201" + }, + "logos": { + "small": "img/logo.svg", + "large": "img/logo.svg" + }, + "screenshots": [], + "version": "%VERSION%", + "updated": "%TODAY%" + }, + "includes": [ + { + "type": "page", + "name": "Cache Group", + "path": "/a/%PLUGIN_ID%/cache-group", + "role": "Admin", + "addToNav": true, + "defaultNav": false + }, + { + "type": "page", + "name": "Delivery Service", + "path": "/a/%PLUGIN_ID%/delivery-service", + "role": "Admin", + "addToNav": true, + "defaultNav": false + }, + { + "type": "page", + "name": "Server", + "path": "/a/%PLUGIN_ID%/server", + "role": "Admin", + "addToNav": true, + "defaultNav": false + } + ], + "dependencies": { + "grafanaDependency": ">=10.0.3", + "plugins": [] + } } diff --git a/infrastructure/cdn-in-a-box/optional/grafana/trafficcontrol-scenes/src/utils/utils.plugin.ts b/infrastructure/cdn-in-a-box/optional/grafana/trafficcontrol-scenes/src/utils/utils.plugin.ts index 045fabc3be..2d385fe600 100644 --- a/infrastructure/cdn-in-a-box/optional/grafana/trafficcontrol-scenes/src/utils/utils.plugin.ts +++ b/infrastructure/cdn-in-a-box/optional/grafana/trafficcontrol-scenes/src/utils/utils.plugin.ts @@ -17,20 +17,14 @@ * under the License. */ -import React, { useContext } from 'react'; -import { AppRootProps } from '@grafana/data'; +import { AppRootProps } from "@grafana/data"; +import React from "react"; // This is used to be able to retrieve the root plugin props anywhere inside the app. export const PluginPropsContext = React.createContext(null); -export const usePluginProps = () => { - const pluginProps = useContext(PluginPropsContext); - - return pluginProps; -}; - -export const usePluginMeta = () => { - const pluginProps = usePluginProps(); - - return pluginProps?.meta; -}; +// export const usePluginProps = () => { +// const pluginProps = useContext(PluginPropsContext); +// +// return pluginProps; +// }; diff --git a/infrastructure/cdn-in-a-box/optional/grafana/trafficcontrol-scenes/src/utils/utils.routing.ts b/infrastructure/cdn-in-a-box/optional/grafana/trafficcontrol-scenes/src/utils/utils.routing.ts index 8908bdd463..31d40cd013 100644 --- a/infrastructure/cdn-in-a-box/optional/grafana/trafficcontrol-scenes/src/utils/utils.routing.ts +++ b/infrastructure/cdn-in-a-box/optional/grafana/trafficcontrol-scenes/src/utils/utils.routing.ts @@ -17,9 +17,13 @@ * under the License. */ -import { PLUGIN_BASE_URL } from '../constants'; +import { PLUGIN_BASE_URL } from "../constants"; -// Prefixes the route with the base URL of the plugin +/** + * Prefixes the route with the base URL of the plugin + * @param route - The route to be prefixed + * @returns The prefixed route + */ export function prefixRoute(route: string): string { - return `${PLUGIN_BASE_URL}/${route}`; + return `${PLUGIN_BASE_URL}/${route}`; } diff --git a/infrastructure/cdn-in-a-box/optional/grafana/trafficcontrol-scenes/tsconfig.json b/infrastructure/cdn-in-a-box/optional/grafana/trafficcontrol-scenes/tsconfig.json index cb629da338..d2de419d92 100644 --- a/infrastructure/cdn-in-a-box/optional/grafana/trafficcontrol-scenes/tsconfig.json +++ b/infrastructure/cdn-in-a-box/optional/grafana/trafficcontrol-scenes/tsconfig.json @@ -1,20 +1,39 @@ { - "compilerOptions": { - "alwaysStrict": true, - "declaration": false, - "rootDir": "./src", - "baseUrl": "./src", - "typeRoots": ["./node_modules/@types"], - "resolveJsonModule": true - }, - "ts-node": { - "compilerOptions": { - "module": "commonjs", - "target": "es5", - "esModuleInterop": true - }, - "transpileOnly": true - }, - "include": ["./src", "./types"], - "extends": "@grafana/tsconfig" + "compilerOptions": { + "allowUnreachableCode": false, + "allowUnusedLabels": false, + "baseUrl": "./", + "declaration": false, + "downlevelIteration": true, + "experimentalDecorators": true, + "importHelpers": true, + "module": "es2020", + "moduleResolution": "node", + "noImplicitReturns": true, + "noImplicitOverride": false, + "noUnusedLocals": true, + "noUnusedParameters": true, + "outDir": "./dist", + "strict": true, + "target": "ES2022", + "lib": [ + "es2020", + "dom" + ], + "useDefineForClassFields": false, + "resolveJsonModule": true, + }, + "ts-node": { + "compilerOptions": { + "module": "commonjs", + "target": "es5", + "esModuleInterop": true + }, + "transpileOnly": true + }, + "include": [ + "./src", + "./types" + ], + "extends": "@grafana/tsconfig" } diff --git a/infrastructure/cdn-in-a-box/optional/grafana/trafficcontrol-scenes/webpack/constants.ts b/infrastructure/cdn-in-a-box/optional/grafana/trafficcontrol-scenes/webpack/constants.ts index 6127381fda..acc65bb14d 100644 --- a/infrastructure/cdn-in-a-box/optional/grafana/trafficcontrol-scenes/webpack/constants.ts +++ b/infrastructure/cdn-in-a-box/optional/grafana/trafficcontrol-scenes/webpack/constants.ts @@ -12,5 +12,5 @@ * limitations under the License. */ -export const SOURCE_DIR = 'src'; -export const DIST_DIR = 'dist'; +export const SOURCE_DIR = "src"; +export const DIST_DIR = "dist"; diff --git a/infrastructure/cdn-in-a-box/optional/grafana/trafficcontrol-scenes/webpack/utils.ts b/infrastructure/cdn-in-a-box/optional/grafana/trafficcontrol-scenes/webpack/utils.ts index 2dd9c53870..dec2081e2c 100644 --- a/infrastructure/cdn-in-a-box/optional/grafana/trafficcontrol-scenes/webpack/utils.ts +++ b/infrastructure/cdn-in-a-box/optional/grafana/trafficcontrol-scenes/webpack/utils.ts @@ -12,61 +12,63 @@ * limitations under the License. */ -import fs from 'fs'; -import process from 'process'; -import os from 'os'; -import path from 'path'; -import { glob } from 'glob'; -import { SOURCE_DIR } from './constants'; +/* eslint-disable */ + +import fs from "fs"; +import os from "os"; +import path from "path"; +import process from "process"; + +import { glob } from "glob"; + +import { SOURCE_DIR } from "./constants"; export function isWSL() { - if (process.platform !== 'linux') { - return false; - } + if (process.platform !== "linux") { + return false; + } - if (os.release().toLowerCase().includes('microsoft')) { - return true; - } + if (os.release().toLowerCase().includes("microsoft")) { + return true; + } - try { - return fs.readFileSync('/proc/version', 'utf8').toLowerCase().includes('microsoft'); - } catch { - return false; - } + try { + return fs.readFileSync("/proc/version", "utf8").toLowerCase().includes("microsoft"); + } catch { + return false; + } } export function getPackageJson() { - return require(path.resolve(process.cwd(), 'package.json')); + return require(path.resolve(process.cwd(), "package.json")); } export function getPluginJson() { - return require(path.resolve(process.cwd(), `${SOURCE_DIR}/plugin.json`)); + return require(path.resolve(process.cwd(), `${SOURCE_DIR}/plugin.json`)); } export function hasReadme() { - return fs.existsSync(path.resolve(process.cwd(), SOURCE_DIR, 'README.md')); + return fs.existsSync(path.resolve(process.cwd(), SOURCE_DIR, "README.md")); } // Support bundling nested plugins by finding all plugin.json files in src directory // then checking for a sibling module.[jt]sx? file. export async function getEntries(): Promise> { - const pluginsJson = await glob('**/src/**/plugin.json', { absolute: true }); + const pluginsJson = await glob("**/src/**/plugin.json", { absolute: true }); - const plugins = await Promise.all( - pluginsJson.map((pluginJson) => { - const folder = path.dirname(pluginJson); - return glob(`${folder}/module.{ts,tsx,js,jsx}`, { absolute: true }); - }) - ); + const plugins = await Promise.all( + pluginsJson.map(async (pluginJson) => { + const folder = path.dirname(pluginJson); + return glob(`${folder}/module.{ts,tsx,js,jsx}`, { absolute: true }); + }) + ); - return plugins.reduce((result, modules) => { - return modules.reduce((result, module) => { - const pluginPath = path.dirname(module); - const pluginName = path.relative(process.cwd(), pluginPath).replace(/src\/?/i, ''); - const entryName = pluginName === '' ? 'module' : `${pluginName}/module`; + return plugins.reduce((result, modules) => modules.reduce((result, module) => { + const pluginPath = path.dirname(module); + const pluginName = path.relative(process.cwd(), pluginPath).replace(/src\/?/i, ""); + const entryName = pluginName === "" ? "module" : `${pluginName}/module`; - result[entryName] = module; - return result; - }, result); - }, {}); + result[entryName] = module; + return result; + }, result), {}); } diff --git a/infrastructure/cdn-in-a-box/optional/grafana/trafficcontrol-scenes/webpack/webpack.config.ts b/infrastructure/cdn-in-a-box/optional/grafana/trafficcontrol-scenes/webpack/webpack.config.ts index 9f81b1aabc..9a4d786637 100644 --- a/infrastructure/cdn-in-a-box/optional/grafana/trafficcontrol-scenes/webpack/webpack.config.ts +++ b/infrastructure/cdn-in-a-box/optional/grafana/trafficcontrol-scenes/webpack/webpack.config.ts @@ -11,23 +11,18 @@ * See the License for the specific language governing permissions and * limitations under the License. */ -/* - * ⚠️⚠️⚠️ THIS FILE WAS SCAFFOLDED BY `@grafana/create-plugin`. DO NOT EDIT THIS FILE DIRECTLY. ⚠️⚠️⚠️ - * - * In order to extend the configuration follow the steps in - * https://grafana.com/developers/plugin-tools/create-a-plugin/extend-a-plugin/extend-configurations#extend-the-webpack-config - */ +/* eslint-disable */ +import path from "path"; import CopyWebpackPlugin from "copy-webpack-plugin"; import ESLintPlugin from "eslint-webpack-plugin"; import ForkTsCheckerWebpackPlugin from "fork-ts-checker-webpack-plugin"; -import LiveReloadPlugin from "webpack-livereload-plugin"; -import path from "path"; import ReplaceInFileWebpackPlugin from "replace-in-file-webpack-plugin"; import { Configuration } from "webpack"; +import LiveReloadPlugin from "webpack-livereload-plugin"; -import { getPackageJson, getPluginJson, getEntries, isWSL } from "./utils"; -import { SOURCE_DIR, DIST_DIR } from "./constants"; +import { DIST_DIR, SOURCE_DIR } from "./constants"; +import { getEntries, getPackageJson, getPluginJson, isWSL } from "./utils"; const pluginJson = getPluginJson(); @@ -71,7 +66,7 @@ const config = async (env): Promise => { "@grafana/data", // Mark legacy SDK imports as external if their name starts with the "grafana/" prefix - ({ request }, callback) => { + ({request}, callback) => { const prefix = "grafana/"; const hasPrefix = (request) => request.indexOf(prefix) === 0; const stripPrefix = (request) => request.substr(prefix.length); @@ -146,7 +141,7 @@ const config = async (env): Promise => { output: { clean: { keep: new RegExp( - `(.*?_(amd64|arm(64)?)(.exe)?|go_plugin_build_manifest)` + "(.*?_(amd64|arm(64)?)(.exe)?|go_plugin_build_manifest)" ), }, filename: "[name].js", @@ -163,14 +158,14 @@ const config = async (env): Promise => { patterns: [ // If src/README.md exists use it; otherwise the root README // To `compiler.options.output` - { from: "plugin.json", to: "." }, - { from: "**/*.json", to: "." }, // TODO - { from: "**/*.svg", to: ".", noErrorOnMissing: true }, // Optional - { from: "**/*.png", to: ".", noErrorOnMissing: true }, // Optional - { from: "**/*.html", to: ".", noErrorOnMissing: true }, // Optional - { from: "img/**/*", to: ".", noErrorOnMissing: true }, // Optional - { from: "libs/**/*", to: ".", noErrorOnMissing: true }, // Optional - { from: "static/**/*", to: ".", noErrorOnMissing: true }, // Optional + {from: "plugin.json", to: "."}, + {from: "**/*.json", to: "."}, // TODO + {from: "**/*.svg", to: ".", noErrorOnMissing: true}, // Optional + {from: "**/*.png", to: ".", noErrorOnMissing: true}, // Optional + {from: "**/*.html", to: ".", noErrorOnMissing: true}, // Optional + {from: "img/**/*", to: ".", noErrorOnMissing: true}, // Optional + {from: "libs/**/*", to: ".", noErrorOnMissing: true}, // Optional + {from: "static/**/*", to: ".", noErrorOnMissing: true}, // Optional { from: "**/query_help.md", to: ".", @@ -202,7 +197,7 @@ const config = async (env): Promise => { new ForkTsCheckerWebpackPlugin({ async: Boolean(env.development), issue: { - include: [{ file: "**/*.{ts,tsx}" }], + include: [{file: "**/*.{ts,tsx}"}], }, typescript: { configFile: path.join(process.cwd(), "tsconfig.json"), From fcd03f00545310e1a0bfbfad63272af3320d5c6b Mon Sep 17 00:00:00 2001 From: The Anh Nguyen Date: Mon, 29 Jan 2024 15:40:55 +0700 Subject: [PATCH 12/23] update import paths, fix build --- .../cdn-in-a-box/optional/grafana/Dockerfile | 2 + .../grafana/trafficcontrol-scenes/.gitignore | 1 + .../src/components/App/App.tsx | 5 +- .../src/components/Routes/Routes.tsx | 11 +- .../src/{constants.ts => const.ts} | 0 .../trafficcontrol-scenes/src/module.ts | 3 +- .../src/pages/CacheGroup/CacheGroup.tsx | 5 +- .../src/pages/CacheGroup/panels/bandwidth.tsx | 3 +- .../pages/CacheGroup/panels/connections.tsx | 3 +- .../src/pages/CacheGroup/scene.tsx | 3 +- .../pages/DeliveryService/DeliveryService.tsx | 7 +- .../DeliveryService/panels/bandwidth-cg.tsx | 3 +- .../DeliveryService/panels/bandwidth.tsx | 3 +- .../src/pages/DeliveryService/panels/tps.tsx | 3 +- .../src/pages/DeliveryService/scene.tsx | 3 +- .../src/pages/Server/Server.tsx | 7 +- .../src/pages/Server/panels/bandwidth.tsx | 3 +- .../src/pages/Server/panels/connections.tsx | 3 +- .../src/pages/Server/panels/cpu.tsx | 3 +- .../src/pages/Server/panels/load-average.tsx | 3 +- .../src/pages/Server/panels/memory.tsx | 3 +- .../src/pages/Server/panels/netstat.tsx | 3 +- .../pages/Server/panels/read-write-time.tsx | 3 +- .../src/pages/Server/panels/wrap-count.tsx | 3 +- .../src/pages/Server/scene.tsx | 3 +- .../src/utils/utils.routing.ts | 2 +- .../trafficcontrol-scenes/tsconfig.json | 3 +- .../trafficcontrol-scenes/webpack/utils.ts | 1 - .../webpack/webpack.config.ts | 1 + .../grafana/trafficcontrol-scenes/yarn.lock | 10329 ---------------- 30 files changed, 39 insertions(+), 10386 deletions(-) rename infrastructure/cdn-in-a-box/optional/grafana/trafficcontrol-scenes/src/{constants.ts => const.ts} (100%) delete mode 100644 infrastructure/cdn-in-a-box/optional/grafana/trafficcontrol-scenes/yarn.lock diff --git a/infrastructure/cdn-in-a-box/optional/grafana/Dockerfile b/infrastructure/cdn-in-a-box/optional/grafana/Dockerfile index 1f2677508c..80aad8c5aa 100644 --- a/infrastructure/cdn-in-a-box/optional/grafana/Dockerfile +++ b/infrastructure/cdn-in-a-box/optional/grafana/Dockerfile @@ -25,6 +25,8 @@ RUN npm install COPY optional/grafana/trafficcontrol-scenes/ ./ +# COPY ../../misc/logos/ATC-PNG.png ./img/logo-atc.svg + RUN npm run build FROM grafana/grafana:10.2.3-ubuntu diff --git a/infrastructure/cdn-in-a-box/optional/grafana/trafficcontrol-scenes/.gitignore b/infrastructure/cdn-in-a-box/optional/grafana/trafficcontrol-scenes/.gitignore index 9ba7cba91b..ce360f4528 100644 --- a/infrastructure/cdn-in-a-box/optional/grafana/trafficcontrol-scenes/.gitignore +++ b/infrastructure/cdn-in-a-box/optional/grafana/trafficcontrol-scenes/.gitignore @@ -49,6 +49,7 @@ npm-debug.log yarn-error.log testem.log /typings +yarn.lock # System Files .DS_Store diff --git a/infrastructure/cdn-in-a-box/optional/grafana/trafficcontrol-scenes/src/components/App/App.tsx b/infrastructure/cdn-in-a-box/optional/grafana/trafficcontrol-scenes/src/components/App/App.tsx index de765aa818..9122e4d1c1 100644 --- a/infrastructure/cdn-in-a-box/optional/grafana/trafficcontrol-scenes/src/components/App/App.tsx +++ b/infrastructure/cdn-in-a-box/optional/grafana/trafficcontrol-scenes/src/components/App/App.tsx @@ -18,10 +18,9 @@ */ import { AppRootProps } from "@grafana/data"; +import { Routes } from "components/Routes"; import React, { ReactElement } from "react"; - -import { Routes } from "src/components/Routes"; -import { PluginPropsContext } from "src/utils/utils.plugin"; +import { PluginPropsContext } from "utils/utils.plugin"; /** * Renders the component by providing the PluginPropsContext to its children. diff --git a/infrastructure/cdn-in-a-box/optional/grafana/trafficcontrol-scenes/src/components/Routes/Routes.tsx b/infrastructure/cdn-in-a-box/optional/grafana/trafficcontrol-scenes/src/components/Routes/Routes.tsx index 0d5621ea61..2978fa3b96 100644 --- a/infrastructure/cdn-in-a-box/optional/grafana/trafficcontrol-scenes/src/components/Routes/Routes.tsx +++ b/infrastructure/cdn-in-a-box/optional/grafana/trafficcontrol-scenes/src/components/Routes/Routes.tsx @@ -17,14 +17,13 @@ * under the License. */ +import { ROUTES } from "const"; +import { CacheGroupPage } from "pages/CacheGroup"; +import { DeliveryServicePage } from "pages/DeliveryService"; +import { ServerPage } from "pages/Server"; import React, { ReactElement } from "react"; import { Redirect, Route, Switch } from "react-router-dom"; - -import { ROUTES } from "src/constants"; -import { CacheGroupPage } from "src/pages/CacheGroup"; -import { DeliveryServicePage } from "src/pages/DeliveryService"; -import { ServerPage } from "src/pages/Server"; -import { prefixRoute } from "src/utils/utils.routing"; +import { prefixRoute } from "utils/utils.routing"; export const Routes = (): ReactElement => ( diff --git a/infrastructure/cdn-in-a-box/optional/grafana/trafficcontrol-scenes/src/constants.ts b/infrastructure/cdn-in-a-box/optional/grafana/trafficcontrol-scenes/src/const.ts similarity index 100% rename from infrastructure/cdn-in-a-box/optional/grafana/trafficcontrol-scenes/src/constants.ts rename to infrastructure/cdn-in-a-box/optional/grafana/trafficcontrol-scenes/src/const.ts diff --git a/infrastructure/cdn-in-a-box/optional/grafana/trafficcontrol-scenes/src/module.ts b/infrastructure/cdn-in-a-box/optional/grafana/trafficcontrol-scenes/src/module.ts index 24a18f1865..d8906244c9 100644 --- a/infrastructure/cdn-in-a-box/optional/grafana/trafficcontrol-scenes/src/module.ts +++ b/infrastructure/cdn-in-a-box/optional/grafana/trafficcontrol-scenes/src/module.ts @@ -18,7 +18,6 @@ */ import { AppPlugin } from "@grafana/data"; - -import { App } from "src/components/App"; +import { App } from "components/App"; export const plugin = new AppPlugin<{}>().setRootPage(App); diff --git a/infrastructure/cdn-in-a-box/optional/grafana/trafficcontrol-scenes/src/pages/CacheGroup/CacheGroup.tsx b/infrastructure/cdn-in-a-box/optional/grafana/trafficcontrol-scenes/src/pages/CacheGroup/CacheGroup.tsx index eb4c25d384..d332b59da9 100644 --- a/infrastructure/cdn-in-a-box/optional/grafana/trafficcontrol-scenes/src/pages/CacheGroup/CacheGroup.tsx +++ b/infrastructure/cdn-in-a-box/optional/grafana/trafficcontrol-scenes/src/pages/CacheGroup/CacheGroup.tsx @@ -18,10 +18,9 @@ */ import { SceneApp, SceneAppPage } from "@grafana/scenes"; +import { ROUTES } from "const"; import React, { ReactElement, useMemo } from "react"; - -import { ROUTES } from "src/constants"; -import { prefixRoute } from "src/utils/utils.routing"; +import { prefixRoute } from "utils/utils.routing"; import { getCacheGroupScene } from "./scene"; diff --git a/infrastructure/cdn-in-a-box/optional/grafana/trafficcontrol-scenes/src/pages/CacheGroup/panels/bandwidth.tsx b/infrastructure/cdn-in-a-box/optional/grafana/trafficcontrol-scenes/src/pages/CacheGroup/panels/bandwidth.tsx index 33e4663e85..fc533c3688 100644 --- a/infrastructure/cdn-in-a-box/optional/grafana/trafficcontrol-scenes/src/pages/CacheGroup/panels/bandwidth.tsx +++ b/infrastructure/cdn-in-a-box/optional/grafana/trafficcontrol-scenes/src/pages/CacheGroup/panels/bandwidth.tsx @@ -18,8 +18,7 @@ */ import { PanelBuilders, SceneQueryRunner, VizPanel } from "@grafana/scenes"; - -import { INFLUXDB_DATASOURCES_REF } from "src/constants"; +import { INFLUXDB_DATASOURCES_REF } from "const"; export const getBandwidthPanel = (): VizPanel => { const cacheGroupBandwidthQuery = { diff --git a/infrastructure/cdn-in-a-box/optional/grafana/trafficcontrol-scenes/src/pages/CacheGroup/panels/connections.tsx b/infrastructure/cdn-in-a-box/optional/grafana/trafficcontrol-scenes/src/pages/CacheGroup/panels/connections.tsx index 95ad826277..77fffdf2de 100644 --- a/infrastructure/cdn-in-a-box/optional/grafana/trafficcontrol-scenes/src/pages/CacheGroup/panels/connections.tsx +++ b/infrastructure/cdn-in-a-box/optional/grafana/trafficcontrol-scenes/src/pages/CacheGroup/panels/connections.tsx @@ -18,8 +18,7 @@ */ import { PanelBuilders, SceneQueryRunner, VizPanel } from "@grafana/scenes"; - -import { INFLUXDB_DATASOURCES_REF } from "src/constants"; +import { INFLUXDB_DATASOURCES_REF } from "const"; export const getConnectionsPanel = (): VizPanel => { const connectionQuery = { diff --git a/infrastructure/cdn-in-a-box/optional/grafana/trafficcontrol-scenes/src/pages/CacheGroup/scene.tsx b/infrastructure/cdn-in-a-box/optional/grafana/trafficcontrol-scenes/src/pages/CacheGroup/scene.tsx index 8dcb9783e4..8e9ad03e1b 100644 --- a/infrastructure/cdn-in-a-box/optional/grafana/trafficcontrol-scenes/src/pages/CacheGroup/scene.tsx +++ b/infrastructure/cdn-in-a-box/optional/grafana/trafficcontrol-scenes/src/pages/CacheGroup/scene.tsx @@ -29,8 +29,7 @@ import { SceneVariableSet, VariableValueSelectors, } from "@grafana/scenes"; - -import { INFLUXDB_DATASOURCES_REF } from "src/constants"; +import { INFLUXDB_DATASOURCES_REF } from "const"; import { getBandwidthPanel } from "./panels/bandwidth"; import { getConnectionsPanel } from "./panels/connections"; diff --git a/infrastructure/cdn-in-a-box/optional/grafana/trafficcontrol-scenes/src/pages/DeliveryService/DeliveryService.tsx b/infrastructure/cdn-in-a-box/optional/grafana/trafficcontrol-scenes/src/pages/DeliveryService/DeliveryService.tsx index e9ee00fe13..97a06007e1 100644 --- a/infrastructure/cdn-in-a-box/optional/grafana/trafficcontrol-scenes/src/pages/DeliveryService/DeliveryService.tsx +++ b/infrastructure/cdn-in-a-box/optional/grafana/trafficcontrol-scenes/src/pages/DeliveryService/DeliveryService.tsx @@ -18,11 +18,10 @@ */ import { SceneApp, SceneAppPage } from "@grafana/scenes"; +import { ROUTES } from "const"; +import { getDeliveryServiceScene } from "pages/DeliveryService/scene"; import React, { ReactElement, useMemo } from "react"; - -import { ROUTES } from "src/constants"; -import { getDeliveryServiceScene } from "src/pages/DeliveryService/scene"; -import { prefixRoute } from "src/utils/utils.routing"; +import { prefixRoute } from "utils/utils.routing"; const getScene = (): SceneApp => new SceneApp({ diff --git a/infrastructure/cdn-in-a-box/optional/grafana/trafficcontrol-scenes/src/pages/DeliveryService/panels/bandwidth-cg.tsx b/infrastructure/cdn-in-a-box/optional/grafana/trafficcontrol-scenes/src/pages/DeliveryService/panels/bandwidth-cg.tsx index ef76641e83..6c6708fb63 100644 --- a/infrastructure/cdn-in-a-box/optional/grafana/trafficcontrol-scenes/src/pages/DeliveryService/panels/bandwidth-cg.tsx +++ b/infrastructure/cdn-in-a-box/optional/grafana/trafficcontrol-scenes/src/pages/DeliveryService/panels/bandwidth-cg.tsx @@ -18,8 +18,7 @@ */ import { PanelBuilders, SceneQueryRunner, VizPanel } from "@grafana/scenes"; - -import { INFLUXDB_DATASOURCES_REF } from "src/constants"; +import { INFLUXDB_DATASOURCES_REF } from "const"; export const getBandwidthByCGPanel = (): VizPanel => { const bandwidthByCacheGroupQuery = { diff --git a/infrastructure/cdn-in-a-box/optional/grafana/trafficcontrol-scenes/src/pages/DeliveryService/panels/bandwidth.tsx b/infrastructure/cdn-in-a-box/optional/grafana/trafficcontrol-scenes/src/pages/DeliveryService/panels/bandwidth.tsx index 90706b80b6..dfd5c89215 100644 --- a/infrastructure/cdn-in-a-box/optional/grafana/trafficcontrol-scenes/src/pages/DeliveryService/panels/bandwidth.tsx +++ b/infrastructure/cdn-in-a-box/optional/grafana/trafficcontrol-scenes/src/pages/DeliveryService/panels/bandwidth.tsx @@ -18,8 +18,7 @@ */ import { PanelBuilders, SceneQueryRunner, VizPanel } from "@grafana/scenes"; - -import { INFLUXDB_DATASOURCES_REF } from "src/constants"; +import { INFLUXDB_DATASOURCES_REF } from "const"; export const getBandwidthPanel = (): VizPanel => { const defaultBandwidthQuery = { diff --git a/infrastructure/cdn-in-a-box/optional/grafana/trafficcontrol-scenes/src/pages/DeliveryService/panels/tps.tsx b/infrastructure/cdn-in-a-box/optional/grafana/trafficcontrol-scenes/src/pages/DeliveryService/panels/tps.tsx index 4c28003446..341c9e268f 100644 --- a/infrastructure/cdn-in-a-box/optional/grafana/trafficcontrol-scenes/src/pages/DeliveryService/panels/tps.tsx +++ b/infrastructure/cdn-in-a-box/optional/grafana/trafficcontrol-scenes/src/pages/DeliveryService/panels/tps.tsx @@ -18,8 +18,7 @@ */ import { PanelBuilders, SceneQueryRunner, VizPanel } from "@grafana/scenes"; - -import { INFLUXDB_DATASOURCES_REF } from "src/constants"; +import { INFLUXDB_DATASOURCES_REF } from "const"; export const getTpsPanel = (): VizPanel => { const tpsQueries = [ diff --git a/infrastructure/cdn-in-a-box/optional/grafana/trafficcontrol-scenes/src/pages/DeliveryService/scene.tsx b/infrastructure/cdn-in-a-box/optional/grafana/trafficcontrol-scenes/src/pages/DeliveryService/scene.tsx index e7f404cd76..771f3bd83b 100644 --- a/infrastructure/cdn-in-a-box/optional/grafana/trafficcontrol-scenes/src/pages/DeliveryService/scene.tsx +++ b/infrastructure/cdn-in-a-box/optional/grafana/trafficcontrol-scenes/src/pages/DeliveryService/scene.tsx @@ -29,8 +29,7 @@ import { SceneVariableSet, VariableValueSelectors, } from "@grafana/scenes"; - -import { INFLUXDB_DATASOURCES_REF } from "src/constants"; +import { INFLUXDB_DATASOURCES_REF } from "const"; import { getBandwidthPanel } from "./panels/bandwidth"; import { getBandwidthByCGPanel } from "./panels/bandwidth-cg"; diff --git a/infrastructure/cdn-in-a-box/optional/grafana/trafficcontrol-scenes/src/pages/Server/Server.tsx b/infrastructure/cdn-in-a-box/optional/grafana/trafficcontrol-scenes/src/pages/Server/Server.tsx index edc3a1b7dc..27552fe4ae 100644 --- a/infrastructure/cdn-in-a-box/optional/grafana/trafficcontrol-scenes/src/pages/Server/Server.tsx +++ b/infrastructure/cdn-in-a-box/optional/grafana/trafficcontrol-scenes/src/pages/Server/Server.tsx @@ -18,11 +18,10 @@ */ import { SceneApp, SceneAppPage } from "@grafana/scenes"; +import { ROUTES } from "const"; +import { getServerScene } from "pages/Server/scene"; import React, { ReactElement, useMemo } from "react"; - -import { ROUTES } from "src/constants"; -import { getServerScene } from "src/pages/Server/scene"; -import { prefixRoute } from "src/utils/utils.routing"; +import { prefixRoute } from "utils/utils.routing"; const getScene = (): SceneApp => new SceneApp({ diff --git a/infrastructure/cdn-in-a-box/optional/grafana/trafficcontrol-scenes/src/pages/Server/panels/bandwidth.tsx b/infrastructure/cdn-in-a-box/optional/grafana/trafficcontrol-scenes/src/pages/Server/panels/bandwidth.tsx index 88fc3fcc6b..236c6b1ce0 100644 --- a/infrastructure/cdn-in-a-box/optional/grafana/trafficcontrol-scenes/src/pages/Server/panels/bandwidth.tsx +++ b/infrastructure/cdn-in-a-box/optional/grafana/trafficcontrol-scenes/src/pages/Server/panels/bandwidth.tsx @@ -18,8 +18,7 @@ */ import { PanelBuilders, SceneQueryRunner, VizPanel } from "@grafana/scenes"; - -import { INFLUXDB_DATASOURCES_REF } from "src/constants"; +import { INFLUXDB_DATASOURCES_REF } from "const"; export const getBandwidthPanel = (): VizPanel => { const defaultBandwidthQuery = { diff --git a/infrastructure/cdn-in-a-box/optional/grafana/trafficcontrol-scenes/src/pages/Server/panels/connections.tsx b/infrastructure/cdn-in-a-box/optional/grafana/trafficcontrol-scenes/src/pages/Server/panels/connections.tsx index 83f3e30284..49c31a3633 100644 --- a/infrastructure/cdn-in-a-box/optional/grafana/trafficcontrol-scenes/src/pages/Server/panels/connections.tsx +++ b/infrastructure/cdn-in-a-box/optional/grafana/trafficcontrol-scenes/src/pages/Server/panels/connections.tsx @@ -18,8 +18,7 @@ */ import { PanelBuilders, SceneQueryRunner, VizPanel } from "@grafana/scenes"; - -import { INFLUXDB_DATASOURCES_REF } from "src/constants"; +import { INFLUXDB_DATASOURCES_REF } from "const"; export const getConnectionsPanel = (): VizPanel => { const defaultConnectionsQuery = [ diff --git a/infrastructure/cdn-in-a-box/optional/grafana/trafficcontrol-scenes/src/pages/Server/panels/cpu.tsx b/infrastructure/cdn-in-a-box/optional/grafana/trafficcontrol-scenes/src/pages/Server/panels/cpu.tsx index 25e41d0c93..df7e670b4e 100644 --- a/infrastructure/cdn-in-a-box/optional/grafana/trafficcontrol-scenes/src/pages/Server/panels/cpu.tsx +++ b/infrastructure/cdn-in-a-box/optional/grafana/trafficcontrol-scenes/src/pages/Server/panels/cpu.tsx @@ -18,8 +18,7 @@ */ import { PanelBuilders, SceneQueryRunner, VizPanel } from "@grafana/scenes"; - -import { INFLUXDB_DATASOURCES_REF } from "src/constants"; +import { INFLUXDB_DATASOURCES_REF } from "const"; export const getCPUPanel = (): VizPanel => { const defaultQuery = { diff --git a/infrastructure/cdn-in-a-box/optional/grafana/trafficcontrol-scenes/src/pages/Server/panels/load-average.tsx b/infrastructure/cdn-in-a-box/optional/grafana/trafficcontrol-scenes/src/pages/Server/panels/load-average.tsx index b55a38ba52..259dd2c038 100644 --- a/infrastructure/cdn-in-a-box/optional/grafana/trafficcontrol-scenes/src/pages/Server/panels/load-average.tsx +++ b/infrastructure/cdn-in-a-box/optional/grafana/trafficcontrol-scenes/src/pages/Server/panels/load-average.tsx @@ -18,8 +18,7 @@ */ import { PanelBuilders, SceneQueryRunner, VizPanel } from "@grafana/scenes"; - -import { INFLUXDB_DATASOURCES_REF } from "src/constants"; +import { INFLUXDB_DATASOURCES_REF } from "const"; export const getLoadAveragePanel = (): VizPanel => { const defaultQuery = { diff --git a/infrastructure/cdn-in-a-box/optional/grafana/trafficcontrol-scenes/src/pages/Server/panels/memory.tsx b/infrastructure/cdn-in-a-box/optional/grafana/trafficcontrol-scenes/src/pages/Server/panels/memory.tsx index e95218e55a..009fa43e6e 100644 --- a/infrastructure/cdn-in-a-box/optional/grafana/trafficcontrol-scenes/src/pages/Server/panels/memory.tsx +++ b/infrastructure/cdn-in-a-box/optional/grafana/trafficcontrol-scenes/src/pages/Server/panels/memory.tsx @@ -18,8 +18,7 @@ */ import { PanelBuilders, SceneQueryRunner, VizPanel } from "@grafana/scenes"; - -import { INFLUXDB_DATASOURCES_REF } from "src/constants"; +import { INFLUXDB_DATASOURCES_REF } from "const"; export const getMemoryPanel = (): VizPanel => { const defaultQuery = { diff --git a/infrastructure/cdn-in-a-box/optional/grafana/trafficcontrol-scenes/src/pages/Server/panels/netstat.tsx b/infrastructure/cdn-in-a-box/optional/grafana/trafficcontrol-scenes/src/pages/Server/panels/netstat.tsx index 5a21ea3dd5..3e92e4aa72 100644 --- a/infrastructure/cdn-in-a-box/optional/grafana/trafficcontrol-scenes/src/pages/Server/panels/netstat.tsx +++ b/infrastructure/cdn-in-a-box/optional/grafana/trafficcontrol-scenes/src/pages/Server/panels/netstat.tsx @@ -18,8 +18,7 @@ */ import { PanelBuilders, SceneObject, SceneQueryRunner } from "@grafana/scenes"; - -import { INFLUXDB_DATASOURCES_REF } from "src/constants"; +import { INFLUXDB_DATASOURCES_REF } from "const"; export const getNetstatPanel = (): SceneObject => { const defaultQuery = { diff --git a/infrastructure/cdn-in-a-box/optional/grafana/trafficcontrol-scenes/src/pages/Server/panels/read-write-time.tsx b/infrastructure/cdn-in-a-box/optional/grafana/trafficcontrol-scenes/src/pages/Server/panels/read-write-time.tsx index d4c6c4f186..e4d45a485e 100644 --- a/infrastructure/cdn-in-a-box/optional/grafana/trafficcontrol-scenes/src/pages/Server/panels/read-write-time.tsx +++ b/infrastructure/cdn-in-a-box/optional/grafana/trafficcontrol-scenes/src/pages/Server/panels/read-write-time.tsx @@ -18,8 +18,7 @@ */ import { PanelBuilders, SceneQueryRunner, VizPanel } from "@grafana/scenes"; - -import { INFLUXDB_DATASOURCES_REF } from "src/constants"; +import { INFLUXDB_DATASOURCES_REF } from "const"; export const getReadWriteTimePanel = (): VizPanel => { const defaultQueries = [ diff --git a/infrastructure/cdn-in-a-box/optional/grafana/trafficcontrol-scenes/src/pages/Server/panels/wrap-count.tsx b/infrastructure/cdn-in-a-box/optional/grafana/trafficcontrol-scenes/src/pages/Server/panels/wrap-count.tsx index b340b83742..cce17f64d0 100644 --- a/infrastructure/cdn-in-a-box/optional/grafana/trafficcontrol-scenes/src/pages/Server/panels/wrap-count.tsx +++ b/infrastructure/cdn-in-a-box/optional/grafana/trafficcontrol-scenes/src/pages/Server/panels/wrap-count.tsx @@ -18,8 +18,7 @@ */ import { PanelBuilders, SceneQueryRunner, VizPanel } from "@grafana/scenes"; - -import { INFLUXDB_DATASOURCES_REF } from "src/constants"; +import { INFLUXDB_DATASOURCES_REF } from "const"; export const getWrapCountPanel = (): VizPanel => { const defaultQuery = { diff --git a/infrastructure/cdn-in-a-box/optional/grafana/trafficcontrol-scenes/src/pages/Server/scene.tsx b/infrastructure/cdn-in-a-box/optional/grafana/trafficcontrol-scenes/src/pages/Server/scene.tsx index 3244cc4c4d..a4716ede75 100644 --- a/infrastructure/cdn-in-a-box/optional/grafana/trafficcontrol-scenes/src/pages/Server/scene.tsx +++ b/infrastructure/cdn-in-a-box/optional/grafana/trafficcontrol-scenes/src/pages/Server/scene.tsx @@ -29,8 +29,7 @@ import { SceneVariableSet, VariableValueSelectors, } from "@grafana/scenes"; - -import { INFLUXDB_DATASOURCES_REF } from "src/constants"; +import { INFLUXDB_DATASOURCES_REF } from "const"; import { getBandwidthPanel, diff --git a/infrastructure/cdn-in-a-box/optional/grafana/trafficcontrol-scenes/src/utils/utils.routing.ts b/infrastructure/cdn-in-a-box/optional/grafana/trafficcontrol-scenes/src/utils/utils.routing.ts index 31d40cd013..fa740d0646 100644 --- a/infrastructure/cdn-in-a-box/optional/grafana/trafficcontrol-scenes/src/utils/utils.routing.ts +++ b/infrastructure/cdn-in-a-box/optional/grafana/trafficcontrol-scenes/src/utils/utils.routing.ts @@ -17,7 +17,7 @@ * under the License. */ -import { PLUGIN_BASE_URL } from "../constants"; +import { PLUGIN_BASE_URL } from "const"; /** * Prefixes the route with the base URL of the plugin diff --git a/infrastructure/cdn-in-a-box/optional/grafana/trafficcontrol-scenes/tsconfig.json b/infrastructure/cdn-in-a-box/optional/grafana/trafficcontrol-scenes/tsconfig.json index d2de419d92..128a1dbe13 100644 --- a/infrastructure/cdn-in-a-box/optional/grafana/trafficcontrol-scenes/tsconfig.json +++ b/infrastructure/cdn-in-a-box/optional/grafana/trafficcontrol-scenes/tsconfig.json @@ -2,7 +2,7 @@ "compilerOptions": { "allowUnreachableCode": false, "allowUnusedLabels": false, - "baseUrl": "./", + "baseUrl": "./src", "declaration": false, "downlevelIteration": true, "experimentalDecorators": true, @@ -11,6 +11,7 @@ "moduleResolution": "node", "noImplicitReturns": true, "noImplicitOverride": false, + "esModuleInterop": true, "noUnusedLocals": true, "noUnusedParameters": true, "outDir": "./dist", diff --git a/infrastructure/cdn-in-a-box/optional/grafana/trafficcontrol-scenes/webpack/utils.ts b/infrastructure/cdn-in-a-box/optional/grafana/trafficcontrol-scenes/webpack/utils.ts index dec2081e2c..fc67492725 100644 --- a/infrastructure/cdn-in-a-box/optional/grafana/trafficcontrol-scenes/webpack/utils.ts +++ b/infrastructure/cdn-in-a-box/optional/grafana/trafficcontrol-scenes/webpack/utils.ts @@ -11,7 +11,6 @@ * See the License for the specific language governing permissions and * limitations under the License. */ - /* eslint-disable */ import fs from "fs"; diff --git a/infrastructure/cdn-in-a-box/optional/grafana/trafficcontrol-scenes/webpack/webpack.config.ts b/infrastructure/cdn-in-a-box/optional/grafana/trafficcontrol-scenes/webpack/webpack.config.ts index 9a4d786637..1a3ca7d898 100644 --- a/infrastructure/cdn-in-a-box/optional/grafana/trafficcontrol-scenes/webpack/webpack.config.ts +++ b/infrastructure/cdn-in-a-box/optional/grafana/trafficcontrol-scenes/webpack/webpack.config.ts @@ -12,6 +12,7 @@ * limitations under the License. */ /* eslint-disable */ + import path from "path"; import CopyWebpackPlugin from "copy-webpack-plugin"; diff --git a/infrastructure/cdn-in-a-box/optional/grafana/trafficcontrol-scenes/yarn.lock b/infrastructure/cdn-in-a-box/optional/grafana/trafficcontrol-scenes/yarn.lock deleted file mode 100644 index 08a8666a2f..0000000000 --- a/infrastructure/cdn-in-a-box/optional/grafana/trafficcontrol-scenes/yarn.lock +++ /dev/null @@ -1,10329 +0,0 @@ -# THIS IS AN AUTOGENERATED FILE. DO NOT EDIT THIS FILE DIRECTLY. -# yarn lockfile v1 - - -"@aashutoshrathi/word-wrap@^1.2.3": - version "1.2.6" - resolved "https://registry.yarnpkg.com/@aashutoshrathi/word-wrap/-/word-wrap-1.2.6.tgz#bd9154aec9983f77b3a034ecaa015c2e4201f6cf" - integrity sha512-1Yjs2SvM8TflER/OD3cOjhWWOZb58A2t7wpE2S9XfBYTiIl+XFhQG2bjy4Pu1I+EAlCNUzRDYDdFwFYUKvXcIA== - -"@adobe/css-tools@^4.3.1": - version "4.3.3" - resolved "https://registry.yarnpkg.com/@adobe/css-tools/-/css-tools-4.3.3.tgz#90749bde8b89cd41764224f5aac29cd4138f75ff" - integrity sha512-rE0Pygv0sEZ4vBWHlAgJLGDU7Pm8xoO6p3wsEceb7GYAjScrOHpEo8KK/eVkAcnSM+slAEtXjA2JpdjLp4fJQQ== - -"@ampproject/remapping@^2.1.0", "@ampproject/remapping@^2.2.0": - version "2.2.1" - resolved "https://registry.yarnpkg.com/@ampproject/remapping/-/remapping-2.2.1.tgz#99e8e11851128b8702cd57c33684f1d0f260b630" - integrity sha512-lFMjJTrFL3j7L9yBxwYfCq2k6qqwHyzuUl/XBnif78PWTJYyL/dfowQHWE3sp6U6ZzqWiiIZnpTMO96zhkjwtg== - dependencies: - "@jridgewell/gen-mapping" "^0.3.0" - "@jridgewell/trace-mapping" "^0.3.9" - -"@babel/code-frame@^7.0.0", "@babel/code-frame@^7.10.4", "@babel/code-frame@^7.12.13", "@babel/code-frame@^7.16.7", "@babel/code-frame@^7.18.6", "@babel/code-frame@^7.23.5": - version "7.23.5" - resolved "https://registry.yarnpkg.com/@babel/code-frame/-/code-frame-7.23.5.tgz#9009b69a8c602293476ad598ff53e4562e15c244" - integrity sha512-CgH3s1a96LipHCmSUmYFPwY7MNx8C3avkq7i4Wl3cfa662ldtUe4VM1TPXX70pfmrlWTb6jLqTYrZyT2ZTJBgA== - dependencies: - "@babel/highlight" "^7.23.4" - chalk "^2.4.2" - -"@babel/compat-data@^7.17.7", "@babel/compat-data@^7.20.1", "@babel/compat-data@^7.20.5", "@babel/compat-data@^7.23.5": - version "7.23.5" - resolved "https://registry.yarnpkg.com/@babel/compat-data/-/compat-data-7.23.5.tgz#ffb878728bb6bdcb6f4510aa51b1be9afb8cfd98" - integrity sha512-uU27kfDRlhfKl+w1U6vp16IuvSLtjAxdArVXPa9BvLkrr7CYIsxH5adpHObeAGY/41+syctUWOZ140a2Rvkgjw== - -"@babel/core@7.20.5": - version "7.20.5" - resolved "https://registry.yarnpkg.com/@babel/core/-/core-7.20.5.tgz#45e2114dc6cd4ab167f81daf7820e8fa1250d113" - integrity sha512-UdOWmk4pNWTm/4DlPUl/Pt4Gz4rcEMb7CY0Y3eJl5Yz1vI8ZJGmHWaVE55LoxRjdpx0z259GE9U5STA9atUinQ== - dependencies: - "@ampproject/remapping" "^2.1.0" - "@babel/code-frame" "^7.18.6" - "@babel/generator" "^7.20.5" - "@babel/helper-compilation-targets" "^7.20.0" - "@babel/helper-module-transforms" "^7.20.2" - "@babel/helpers" "^7.20.5" - "@babel/parser" "^7.20.5" - "@babel/template" "^7.18.10" - "@babel/traverse" "^7.20.5" - "@babel/types" "^7.20.5" - convert-source-map "^1.7.0" - debug "^4.1.0" - gensync "^1.0.0-beta.2" - json5 "^2.2.1" - semver "^6.3.0" - -"@babel/core@^7.11.6", "@babel/core@^7.12.3", "@babel/core@^7.21.4": - version "7.23.9" - resolved "https://registry.yarnpkg.com/@babel/core/-/core-7.23.9.tgz#b028820718000f267870822fec434820e9b1e4d1" - integrity sha512-5q0175NOjddqpvvzU+kDiSOAk4PfdO6FvwCWoQ6RO7rTzEe8vlo+4HVfcnAREhD4npMs0e9uZypjTwzZPCf/cw== - dependencies: - "@ampproject/remapping" "^2.2.0" - "@babel/code-frame" "^7.23.5" - "@babel/generator" "^7.23.6" - "@babel/helper-compilation-targets" "^7.23.6" - "@babel/helper-module-transforms" "^7.23.3" - "@babel/helpers" "^7.23.9" - "@babel/parser" "^7.23.9" - "@babel/template" "^7.23.9" - "@babel/traverse" "^7.23.9" - "@babel/types" "^7.23.9" - convert-source-map "^2.0.0" - debug "^4.1.0" - gensync "^1.0.0-beta.2" - json5 "^2.2.3" - semver "^6.3.1" - -"@babel/generator@^7.20.5", "@babel/generator@^7.23.6", "@babel/generator@^7.7.2": - version "7.23.6" - resolved "https://registry.yarnpkg.com/@babel/generator/-/generator-7.23.6.tgz#9e1fca4811c77a10580d17d26b57b036133f3c2e" - integrity sha512-qrSfCYxYQB5owCmGLbl8XRpX1ytXlpueOb0N0UmQwA073KZxejgQTzAmJezxvpwQD9uGtK2shHdi55QT+MbjIw== - dependencies: - "@babel/types" "^7.23.6" - "@jridgewell/gen-mapping" "^0.3.2" - "@jridgewell/trace-mapping" "^0.3.17" - jsesc "^2.5.1" - -"@babel/helper-annotate-as-pure@^7.18.6", "@babel/helper-annotate-as-pure@^7.22.5": - version "7.22.5" - resolved "https://registry.yarnpkg.com/@babel/helper-annotate-as-pure/-/helper-annotate-as-pure-7.22.5.tgz#e7f06737b197d580a01edf75d97e2c8be99d3882" - integrity sha512-LvBTxu8bQSQkcyKOU+a1btnNFQ1dMAd0R6PyW3arXes06F6QLWLIrd681bxRPIXlrMGR3XYnW9JyML7dP3qgxg== - dependencies: - "@babel/types" "^7.22.5" - -"@babel/helper-builder-binary-assignment-operator-visitor@^7.22.15": - version "7.22.15" - resolved "https://registry.yarnpkg.com/@babel/helper-builder-binary-assignment-operator-visitor/-/helper-builder-binary-assignment-operator-visitor-7.22.15.tgz#5426b109cf3ad47b91120f8328d8ab1be8b0b956" - integrity sha512-QkBXwGgaoC2GtGZRoma6kv7Szfv06khvhFav67ZExau2RaXzy8MpHSMO2PNoP2XtmQphJQRHFfg77Bq731Yizw== - dependencies: - "@babel/types" "^7.22.15" - -"@babel/helper-compilation-targets@^7.17.7", "@babel/helper-compilation-targets@^7.20.0", "@babel/helper-compilation-targets@^7.20.7", "@babel/helper-compilation-targets@^7.22.15", "@babel/helper-compilation-targets@^7.23.6": - version "7.23.6" - resolved "https://registry.yarnpkg.com/@babel/helper-compilation-targets/-/helper-compilation-targets-7.23.6.tgz#4d79069b16cbcf1461289eccfbbd81501ae39991" - integrity sha512-9JB548GZoQVmzrFgp8o7KxdgkTGm6xs9DW0o/Pim72UDjzr5ObUQ6ZzYPqA+g9OTS2bBQoctLJrky0RDCAWRgQ== - dependencies: - "@babel/compat-data" "^7.23.5" - "@babel/helper-validator-option" "^7.23.5" - browserslist "^4.22.2" - lru-cache "^5.1.1" - semver "^6.3.1" - -"@babel/helper-create-class-features-plugin@^7.18.6", "@babel/helper-create-class-features-plugin@^7.21.0": - version "7.23.9" - resolved "https://registry.yarnpkg.com/@babel/helper-create-class-features-plugin/-/helper-create-class-features-plugin-7.23.9.tgz#fddfdf51fca28f23d16b9e3935a4732690acfad6" - integrity sha512-B2L9neXTIyPQoXDm+NtovPvG6VOLWnaXu3BIeVDWwdKFgG30oNa6CqVGiJPDWQwIAK49t9gnQI9c6K6RzabiKw== - dependencies: - "@babel/helper-annotate-as-pure" "^7.22.5" - "@babel/helper-environment-visitor" "^7.22.20" - "@babel/helper-function-name" "^7.23.0" - "@babel/helper-member-expression-to-functions" "^7.23.0" - "@babel/helper-optimise-call-expression" "^7.22.5" - "@babel/helper-replace-supers" "^7.22.20" - "@babel/helper-skip-transparent-expression-wrappers" "^7.22.5" - "@babel/helper-split-export-declaration" "^7.22.6" - semver "^6.3.1" - -"@babel/helper-create-regexp-features-plugin@^7.18.6", "@babel/helper-create-regexp-features-plugin@^7.22.15", "@babel/helper-create-regexp-features-plugin@^7.22.5": - version "7.22.15" - resolved "https://registry.yarnpkg.com/@babel/helper-create-regexp-features-plugin/-/helper-create-regexp-features-plugin-7.22.15.tgz#5ee90093914ea09639b01c711db0d6775e558be1" - integrity sha512-29FkPLFjn4TPEa3RE7GpW+qbE8tlsu3jntNYNfcGsc49LphF1PQIiD+vMZ1z1xVOKt+93khA9tc2JBs3kBjA7w== - dependencies: - "@babel/helper-annotate-as-pure" "^7.22.5" - regexpu-core "^5.3.1" - semver "^6.3.1" - -"@babel/helper-define-polyfill-provider@^0.3.3": - version "0.3.3" - resolved "https://registry.yarnpkg.com/@babel/helper-define-polyfill-provider/-/helper-define-polyfill-provider-0.3.3.tgz#8612e55be5d51f0cd1f36b4a5a83924e89884b7a" - integrity sha512-z5aQKU4IzbqCC1XH0nAqfsFLMVSo22SBKUc0BxGrLkolTdPTructy0ToNnlO2zA4j9Q/7pjMZf0DSY+DSTYzww== - dependencies: - "@babel/helper-compilation-targets" "^7.17.7" - "@babel/helper-plugin-utils" "^7.16.7" - debug "^4.1.1" - lodash.debounce "^4.0.8" - resolve "^1.14.2" - semver "^6.1.2" - -"@babel/helper-environment-visitor@^7.18.9", "@babel/helper-environment-visitor@^7.22.20": - version "7.22.20" - resolved "https://registry.yarnpkg.com/@babel/helper-environment-visitor/-/helper-environment-visitor-7.22.20.tgz#96159db61d34a29dba454c959f5ae4a649ba9167" - integrity sha512-zfedSIzFhat/gFhWfHtgWvlec0nqB9YEIVrpuwjruLlXfUSnA8cJB0miHKwqDnQ7d32aKo2xt88/xZptwxbfhA== - -"@babel/helper-function-name@^7.22.5", "@babel/helper-function-name@^7.23.0": - version "7.23.0" - resolved "https://registry.yarnpkg.com/@babel/helper-function-name/-/helper-function-name-7.23.0.tgz#1f9a3cdbd5b2698a670c30d2735f9af95ed52759" - integrity sha512-OErEqsrxjZTJciZ4Oo+eoZqeW9UIiOcuYKRJA4ZAgV9myA+pOXhhmpfNCKjEH/auVfEYVFJ6y1Tc4r0eIApqiw== - dependencies: - "@babel/template" "^7.22.15" - "@babel/types" "^7.23.0" - -"@babel/helper-hoist-variables@^7.22.5": - version "7.22.5" - resolved "https://registry.yarnpkg.com/@babel/helper-hoist-variables/-/helper-hoist-variables-7.22.5.tgz#c01a007dac05c085914e8fb652b339db50d823bb" - integrity sha512-wGjk9QZVzvknA6yKIUURb8zY3grXCcOZt+/7Wcy8O2uctxhplmUPkOdlgoNhmdVee2c92JXbf1xpMtVNbfoxRw== - dependencies: - "@babel/types" "^7.22.5" - -"@babel/helper-member-expression-to-functions@^7.22.15", "@babel/helper-member-expression-to-functions@^7.23.0": - version "7.23.0" - resolved "https://registry.yarnpkg.com/@babel/helper-member-expression-to-functions/-/helper-member-expression-to-functions-7.23.0.tgz#9263e88cc5e41d39ec18c9a3e0eced59a3e7d366" - integrity sha512-6gfrPwh7OuT6gZyJZvd6WbTfrqAo7vm4xCzAXOusKqq/vWdKXphTpj5klHKNmRUU6/QRGlBsyU9mAIPaWHlqJA== - dependencies: - "@babel/types" "^7.23.0" - -"@babel/helper-module-imports@^7.16.7", "@babel/helper-module-imports@^7.22.15": - version "7.22.15" - resolved "https://registry.yarnpkg.com/@babel/helper-module-imports/-/helper-module-imports-7.22.15.tgz#16146307acdc40cc00c3b2c647713076464bdbf0" - integrity sha512-0pYVBnDKZO2fnSPCrgM/6WMc7eS20Fbok+0r88fp+YtWVLZrp4CkafFGIp+W0VKw4a22sgebPT99y+FDNMdP4w== - dependencies: - "@babel/types" "^7.22.15" - -"@babel/helper-module-transforms@^7.20.2", "@babel/helper-module-transforms@^7.23.3": - version "7.23.3" - resolved "https://registry.yarnpkg.com/@babel/helper-module-transforms/-/helper-module-transforms-7.23.3.tgz#d7d12c3c5d30af5b3c0fcab2a6d5217773e2d0f1" - integrity sha512-7bBs4ED9OmswdfDzpz4MpWgSrV7FXlc3zIagvLFjS5H+Mk7Snr21vQ6QwrsoCGMfNC4e4LQPdoULEt4ykz0SRQ== - dependencies: - "@babel/helper-environment-visitor" "^7.22.20" - "@babel/helper-module-imports" "^7.22.15" - "@babel/helper-simple-access" "^7.22.5" - "@babel/helper-split-export-declaration" "^7.22.6" - "@babel/helper-validator-identifier" "^7.22.20" - -"@babel/helper-optimise-call-expression@^7.22.5": - version "7.22.5" - resolved "https://registry.yarnpkg.com/@babel/helper-optimise-call-expression/-/helper-optimise-call-expression-7.22.5.tgz#f21531a9ccbff644fdd156b4077c16ff0c3f609e" - integrity sha512-HBwaojN0xFRx4yIvpwGqxiV2tUfl7401jlok564NgB9EHS1y6QT17FmKWm4ztqjeVdXLuC4fSvHc5ePpQjoTbw== - dependencies: - "@babel/types" "^7.22.5" - -"@babel/helper-plugin-utils@^7.0.0", "@babel/helper-plugin-utils@^7.10.4", "@babel/helper-plugin-utils@^7.12.13", "@babel/helper-plugin-utils@^7.14.5", "@babel/helper-plugin-utils@^7.16.7", "@babel/helper-plugin-utils@^7.18.6", "@babel/helper-plugin-utils@^7.18.9", "@babel/helper-plugin-utils@^7.20.2", "@babel/helper-plugin-utils@^7.22.5", "@babel/helper-plugin-utils@^7.8.0", "@babel/helper-plugin-utils@^7.8.3": - version "7.22.5" - resolved "https://registry.yarnpkg.com/@babel/helper-plugin-utils/-/helper-plugin-utils-7.22.5.tgz#dd7ee3735e8a313b9f7b05a773d892e88e6d7295" - integrity sha512-uLls06UVKgFG9QD4OeFYLEGteMIAa5kpTPcFL28yuCIIzsf6ZyKZMllKVOCZFhiZ5ptnwX4mtKdWCBE/uT4amg== - -"@babel/helper-remap-async-to-generator@^7.18.9", "@babel/helper-remap-async-to-generator@^7.22.20": - version "7.22.20" - resolved "https://registry.yarnpkg.com/@babel/helper-remap-async-to-generator/-/helper-remap-async-to-generator-7.22.20.tgz#7b68e1cb4fa964d2996fd063723fb48eca8498e0" - integrity sha512-pBGyV4uBqOns+0UvhsTO8qgl8hO89PmiDYv+/COyp1aeMcmfrfruz+/nCMFiYyFF/Knn0yfrC85ZzNFjembFTw== - dependencies: - "@babel/helper-annotate-as-pure" "^7.22.5" - "@babel/helper-environment-visitor" "^7.22.20" - "@babel/helper-wrap-function" "^7.22.20" - -"@babel/helper-replace-supers@^7.22.20": - version "7.22.20" - resolved "https://registry.yarnpkg.com/@babel/helper-replace-supers/-/helper-replace-supers-7.22.20.tgz#e37d367123ca98fe455a9887734ed2e16eb7a793" - integrity sha512-qsW0In3dbwQUbK8kejJ4R7IHVGwHJlV6lpG6UA7a9hSa2YEiAib+N1T2kr6PEeUT+Fl7najmSOS6SmAwCHK6Tw== - dependencies: - "@babel/helper-environment-visitor" "^7.22.20" - "@babel/helper-member-expression-to-functions" "^7.22.15" - "@babel/helper-optimise-call-expression" "^7.22.5" - -"@babel/helper-simple-access@^7.22.5": - version "7.22.5" - resolved "https://registry.yarnpkg.com/@babel/helper-simple-access/-/helper-simple-access-7.22.5.tgz#4938357dc7d782b80ed6dbb03a0fba3d22b1d5de" - integrity sha512-n0H99E/K+Bika3++WNL17POvo4rKWZ7lZEp1Q+fStVbUi8nxPQEBOlTmCOxW/0JsS56SKKQ+ojAe2pHKJHN35w== - dependencies: - "@babel/types" "^7.22.5" - -"@babel/helper-skip-transparent-expression-wrappers@^7.20.0", "@babel/helper-skip-transparent-expression-wrappers@^7.22.5": - version "7.22.5" - resolved "https://registry.yarnpkg.com/@babel/helper-skip-transparent-expression-wrappers/-/helper-skip-transparent-expression-wrappers-7.22.5.tgz#007f15240b5751c537c40e77abb4e89eeaaa8847" - integrity sha512-tK14r66JZKiC43p8Ki33yLBVJKlQDFoA8GYN67lWCDCqoL6EMMSuM9b+Iff2jHaM/RRFYl7K+iiru7hbRqNx8Q== - dependencies: - "@babel/types" "^7.22.5" - -"@babel/helper-split-export-declaration@^7.22.6": - version "7.22.6" - resolved "https://registry.yarnpkg.com/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.22.6.tgz#322c61b7310c0997fe4c323955667f18fcefb91c" - integrity sha512-AsUnxuLhRYsisFiaJwvp1QF+I3KjD5FOxut14q/GzovUe6orHLesW2C7d754kRm53h5gqrz6sFl6sxc4BVtE/g== - dependencies: - "@babel/types" "^7.22.5" - -"@babel/helper-string-parser@^7.23.4": - version "7.23.4" - resolved "https://registry.yarnpkg.com/@babel/helper-string-parser/-/helper-string-parser-7.23.4.tgz#9478c707febcbbe1ddb38a3d91a2e054ae622d83" - integrity sha512-803gmbQdqwdf4olxrX4AJyFBV/RTr3rSmOj0rKwesmzlfhYNDEs+/iOcznzpNWlJlIlTJC2QfPFcHB6DlzdVLQ== - -"@babel/helper-validator-identifier@^7.22.20": - version "7.22.20" - resolved "https://registry.yarnpkg.com/@babel/helper-validator-identifier/-/helper-validator-identifier-7.22.20.tgz#c4ae002c61d2879e724581d96665583dbc1dc0e0" - integrity sha512-Y4OZ+ytlatR8AI+8KZfKuL5urKp7qey08ha31L8b3BwewJAoJamTzyvxPR/5D+KkdJCGPq/+8TukHBlY10FX9A== - -"@babel/helper-validator-option@^7.18.6", "@babel/helper-validator-option@^7.23.5": - version "7.23.5" - resolved "https://registry.yarnpkg.com/@babel/helper-validator-option/-/helper-validator-option-7.23.5.tgz#907a3fbd4523426285365d1206c423c4c5520307" - integrity sha512-85ttAOMLsr53VgXkTbkx8oA6YTfT4q7/HzXSLEYmjcSTJPMPQtvq1BD79Byep5xMUYbGRzEpDsjUf3dyp54IKw== - -"@babel/helper-wrap-function@^7.22.20": - version "7.22.20" - resolved "https://registry.yarnpkg.com/@babel/helper-wrap-function/-/helper-wrap-function-7.22.20.tgz#15352b0b9bfb10fc9c76f79f6342c00e3411a569" - integrity sha512-pms/UwkOpnQe/PDAEdV/d7dVCoBbB+R4FvYoHGZz+4VPcg7RtYy2KP7S2lbuWM6FCSgob5wshfGESbC/hzNXZw== - dependencies: - "@babel/helper-function-name" "^7.22.5" - "@babel/template" "^7.22.15" - "@babel/types" "^7.22.19" - -"@babel/helpers@^7.20.5", "@babel/helpers@^7.23.9": - version "7.23.9" - resolved "https://registry.yarnpkg.com/@babel/helpers/-/helpers-7.23.9.tgz#c3e20bbe7f7a7e10cb9b178384b4affdf5995c7d" - integrity sha512-87ICKgU5t5SzOT7sBMfCOZQ2rHjRU+Pcb9BoILMYz600W6DkVRLFBPwQ18gwUVvggqXivaUakpnxWQGbpywbBQ== - dependencies: - "@babel/template" "^7.23.9" - "@babel/traverse" "^7.23.9" - "@babel/types" "^7.23.9" - -"@babel/highlight@^7.23.4": - version "7.23.4" - resolved "https://registry.yarnpkg.com/@babel/highlight/-/highlight-7.23.4.tgz#edaadf4d8232e1a961432db785091207ead0621b" - integrity sha512-acGdbYSfp2WheJoJm/EBBBLh/ID8KDc64ISZ9DYtBmC8/Q204PZJLHyzeB5qMzJ5trcOkybd78M4x2KWsUq++A== - dependencies: - "@babel/helper-validator-identifier" "^7.22.20" - chalk "^2.4.2" - js-tokens "^4.0.0" - -"@babel/parser@^7.1.0", "@babel/parser@^7.14.7", "@babel/parser@^7.20.5", "@babel/parser@^7.20.7", "@babel/parser@^7.23.9": - version "7.23.9" - resolved "https://registry.yarnpkg.com/@babel/parser/-/parser-7.23.9.tgz#7b903b6149b0f8fa7ad564af646c4c38a77fc44b" - integrity sha512-9tcKgqKbs3xGJ+NtKF2ndOBBLVwPjl1SHxPQkd36r3Dlirw3xWUeGaTbqr7uGZcTaxkVNwc+03SVP7aCdWrTlA== - -"@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression@^7.18.6": - version "7.23.3" - resolved "https://registry.yarnpkg.com/@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression/-/plugin-bugfix-safari-id-destructuring-collision-in-function-expression-7.23.3.tgz#5cd1c87ba9380d0afb78469292c954fee5d2411a" - integrity sha512-iRkKcCqb7iGnq9+3G6rZ+Ciz5VywC4XNRHe57lKM+jOeYAoR0lVqdeeDRfh0tQcTfw/+vBhHn926FmQhLtlFLQ== - dependencies: - "@babel/helper-plugin-utils" "^7.22.5" - -"@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining@^7.18.9": - version "7.23.3" - resolved "https://registry.yarnpkg.com/@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining/-/plugin-bugfix-v8-spread-parameters-in-optional-chaining-7.23.3.tgz#f6652bb16b94f8f9c20c50941e16e9756898dc5d" - integrity sha512-WwlxbfMNdVEpQjZmK5mhm7oSwD3dS6eU+Iwsi4Knl9wAletWem7kaRsGOG+8UEbRyqxY4SS5zvtfXwX+jMxUwQ== - dependencies: - "@babel/helper-plugin-utils" "^7.22.5" - "@babel/helper-skip-transparent-expression-wrappers" "^7.22.5" - "@babel/plugin-transform-optional-chaining" "^7.23.3" - -"@babel/plugin-proposal-async-generator-functions@^7.20.1": - version "7.20.7" - resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-async-generator-functions/-/plugin-proposal-async-generator-functions-7.20.7.tgz#bfb7276d2d573cb67ba379984a2334e262ba5326" - integrity sha512-xMbiLsn/8RK7Wq7VeVytytS2L6qE69bXPB10YCmMdDZbKF4okCqY74pI/jJQ/8U0b/F6NrT2+14b8/P9/3AMGA== - dependencies: - "@babel/helper-environment-visitor" "^7.18.9" - "@babel/helper-plugin-utils" "^7.20.2" - "@babel/helper-remap-async-to-generator" "^7.18.9" - "@babel/plugin-syntax-async-generators" "^7.8.4" - -"@babel/plugin-proposal-class-properties@^7.18.6": - version "7.18.6" - resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-class-properties/-/plugin-proposal-class-properties-7.18.6.tgz#b110f59741895f7ec21a6fff696ec46265c446a3" - integrity sha512-cumfXOF0+nzZrrN8Rf0t7M+tF6sZc7vhQwYQck9q1/5w2OExlD+b4v4RpMJFaV1Z7WcDRgO6FqvxqxGlwo+RHQ== - dependencies: - "@babel/helper-create-class-features-plugin" "^7.18.6" - "@babel/helper-plugin-utils" "^7.18.6" - -"@babel/plugin-proposal-class-static-block@^7.18.6": - version "7.21.0" - resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-class-static-block/-/plugin-proposal-class-static-block-7.21.0.tgz#77bdd66fb7b605f3a61302d224bdfacf5547977d" - integrity sha512-XP5G9MWNUskFuP30IfFSEFB0Z6HzLIUcjYM4bYOPHXl7eiJ9HFv8tWj6TXTN5QODiEhDZAeI4hLok2iHFFV4hw== - dependencies: - "@babel/helper-create-class-features-plugin" "^7.21.0" - "@babel/helper-plugin-utils" "^7.20.2" - "@babel/plugin-syntax-class-static-block" "^7.14.5" - -"@babel/plugin-proposal-dynamic-import@^7.18.6": - version "7.18.6" - resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-dynamic-import/-/plugin-proposal-dynamic-import-7.18.6.tgz#72bcf8d408799f547d759298c3c27c7e7faa4d94" - integrity sha512-1auuwmK+Rz13SJj36R+jqFPMJWyKEDd7lLSdOj4oJK0UTgGueSAtkrCvz9ewmgyU/P941Rv2fQwZJN8s6QruXw== - dependencies: - "@babel/helper-plugin-utils" "^7.18.6" - "@babel/plugin-syntax-dynamic-import" "^7.8.3" - -"@babel/plugin-proposal-export-namespace-from@^7.18.9": - version "7.18.9" - resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-export-namespace-from/-/plugin-proposal-export-namespace-from-7.18.9.tgz#5f7313ab348cdb19d590145f9247540e94761203" - integrity sha512-k1NtHyOMvlDDFeb9G5PhUXuGj8m/wiwojgQVEhJ/fsVsMCpLyOP4h0uGEjYJKrRI+EVPlb5Jk+Gt9P97lOGwtA== - dependencies: - "@babel/helper-plugin-utils" "^7.18.9" - "@babel/plugin-syntax-export-namespace-from" "^7.8.3" - -"@babel/plugin-proposal-json-strings@^7.18.6": - version "7.18.6" - resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-json-strings/-/plugin-proposal-json-strings-7.18.6.tgz#7e8788c1811c393aff762817e7dbf1ebd0c05f0b" - integrity sha512-lr1peyn9kOdbYc0xr0OdHTZ5FMqS6Di+H0Fz2I/JwMzGmzJETNeOFq2pBySw6X/KFL5EWDjlJuMsUGRFb8fQgQ== - dependencies: - "@babel/helper-plugin-utils" "^7.18.6" - "@babel/plugin-syntax-json-strings" "^7.8.3" - -"@babel/plugin-proposal-logical-assignment-operators@^7.18.9": - version "7.20.7" - resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-logical-assignment-operators/-/plugin-proposal-logical-assignment-operators-7.20.7.tgz#dfbcaa8f7b4d37b51e8bfb46d94a5aea2bb89d83" - integrity sha512-y7C7cZgpMIjWlKE5T7eJwp+tnRYM89HmRvWM5EQuB5BoHEONjmQ8lSNmBUwOyy/GFRsohJED51YBF79hE1djug== - dependencies: - "@babel/helper-plugin-utils" "^7.20.2" - "@babel/plugin-syntax-logical-assignment-operators" "^7.10.4" - -"@babel/plugin-proposal-nullish-coalescing-operator@^7.18.6": - version "7.18.6" - resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-nullish-coalescing-operator/-/plugin-proposal-nullish-coalescing-operator-7.18.6.tgz#fdd940a99a740e577d6c753ab6fbb43fdb9467e1" - integrity sha512-wQxQzxYeJqHcfppzBDnm1yAY0jSRkUXR2z8RePZYrKwMKgMlE8+Z6LUno+bd6LvbGh8Gltvy74+9pIYkr+XkKA== - dependencies: - "@babel/helper-plugin-utils" "^7.18.6" - "@babel/plugin-syntax-nullish-coalescing-operator" "^7.8.3" - -"@babel/plugin-proposal-numeric-separator@^7.18.6": - version "7.18.6" - resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-numeric-separator/-/plugin-proposal-numeric-separator-7.18.6.tgz#899b14fbafe87f053d2c5ff05b36029c62e13c75" - integrity sha512-ozlZFogPqoLm8WBr5Z8UckIoE4YQ5KESVcNudyXOR8uqIkliTEgJ3RoketfG6pmzLdeZF0H/wjE9/cCEitBl7Q== - dependencies: - "@babel/helper-plugin-utils" "^7.18.6" - "@babel/plugin-syntax-numeric-separator" "^7.10.4" - -"@babel/plugin-proposal-object-rest-spread@^7.20.2": - version "7.20.7" - resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-object-rest-spread/-/plugin-proposal-object-rest-spread-7.20.7.tgz#aa662940ef425779c75534a5c41e9d936edc390a" - integrity sha512-d2S98yCiLxDVmBmE8UjGcfPvNEUbA1U5q5WxaWFUGRzJSVAZqm5W6MbPct0jxnegUZ0niLeNX+IOzEs7wYg9Dg== - dependencies: - "@babel/compat-data" "^7.20.5" - "@babel/helper-compilation-targets" "^7.20.7" - "@babel/helper-plugin-utils" "^7.20.2" - "@babel/plugin-syntax-object-rest-spread" "^7.8.3" - "@babel/plugin-transform-parameters" "^7.20.7" - -"@babel/plugin-proposal-optional-catch-binding@^7.18.6": - version "7.18.6" - resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-optional-catch-binding/-/plugin-proposal-optional-catch-binding-7.18.6.tgz#f9400d0e6a3ea93ba9ef70b09e72dd6da638a2cb" - integrity sha512-Q40HEhs9DJQyaZfUjjn6vE8Cv4GmMHCYuMGIWUnlxH6400VGxOuwWsPt4FxXxJkC/5eOzgn0z21M9gMT4MOhbw== - dependencies: - "@babel/helper-plugin-utils" "^7.18.6" - "@babel/plugin-syntax-optional-catch-binding" "^7.8.3" - -"@babel/plugin-proposal-optional-chaining@^7.18.9": - version "7.21.0" - resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-optional-chaining/-/plugin-proposal-optional-chaining-7.21.0.tgz#886f5c8978deb7d30f678b2e24346b287234d3ea" - integrity sha512-p4zeefM72gpmEe2fkUr/OnOXpWEf8nAgk7ZYVqqfFiyIG7oFfVZcCrU64hWn5xp4tQ9LkV4bTIa5rD0KANpKNA== - dependencies: - "@babel/helper-plugin-utils" "^7.20.2" - "@babel/helper-skip-transparent-expression-wrappers" "^7.20.0" - "@babel/plugin-syntax-optional-chaining" "^7.8.3" - -"@babel/plugin-proposal-private-methods@^7.18.6": - version "7.18.6" - resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-private-methods/-/plugin-proposal-private-methods-7.18.6.tgz#5209de7d213457548a98436fa2882f52f4be6bea" - integrity sha512-nutsvktDItsNn4rpGItSNV2sz1XwS+nfU0Rg8aCx3W3NOKVzdMjJRu0O5OkgDp3ZGICSTbgRpxZoWsxoKRvbeA== - dependencies: - "@babel/helper-create-class-features-plugin" "^7.18.6" - "@babel/helper-plugin-utils" "^7.18.6" - -"@babel/plugin-proposal-private-property-in-object@^7.18.6": - version "7.21.11" - resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-private-property-in-object/-/plugin-proposal-private-property-in-object-7.21.11.tgz#69d597086b6760c4126525cfa154f34631ff272c" - integrity sha512-0QZ8qP/3RLDVBwBFoWAwCtgcDZJVwA5LUJRZU8x2YFfKNuFq161wK3cuGrALu5yiPu+vzwTAg/sMWVNeWeNyaw== - dependencies: - "@babel/helper-annotate-as-pure" "^7.18.6" - "@babel/helper-create-class-features-plugin" "^7.21.0" - "@babel/helper-plugin-utils" "^7.20.2" - "@babel/plugin-syntax-private-property-in-object" "^7.14.5" - -"@babel/plugin-proposal-unicode-property-regex@^7.18.6", "@babel/plugin-proposal-unicode-property-regex@^7.4.4": - version "7.18.6" - resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-unicode-property-regex/-/plugin-proposal-unicode-property-regex-7.18.6.tgz#af613d2cd5e643643b65cded64207b15c85cb78e" - integrity sha512-2BShG/d5yoZyXZfVePH91urL5wTG6ASZU9M4o03lKK8u8UW1y08OMttBSOADTcJrnPMpvDXRG3G8fyLh4ovs8w== - dependencies: - "@babel/helper-create-regexp-features-plugin" "^7.18.6" - "@babel/helper-plugin-utils" "^7.18.6" - -"@babel/plugin-syntax-async-generators@^7.8.4": - version "7.8.4" - resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-async-generators/-/plugin-syntax-async-generators-7.8.4.tgz#a983fb1aeb2ec3f6ed042a210f640e90e786fe0d" - integrity sha512-tycmZxkGfZaxhMRbXlPXuVFpdWlXpir2W4AMhSJgRKzk/eDlIXOhb2LHWoLpDF7TEHylV5zNhykX6KAgHJmTNw== - dependencies: - "@babel/helper-plugin-utils" "^7.8.0" - -"@babel/plugin-syntax-bigint@^7.8.3": - version "7.8.3" - resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-bigint/-/plugin-syntax-bigint-7.8.3.tgz#4c9a6f669f5d0cdf1b90a1671e9a146be5300cea" - integrity sha512-wnTnFlG+YxQm3vDxpGE57Pj0srRU4sHE/mDkt1qv2YJJSeUAec2ma4WLUnUPeKjyrfntVwe/N6dCXpU+zL3Npg== - dependencies: - "@babel/helper-plugin-utils" "^7.8.0" - -"@babel/plugin-syntax-class-properties@^7.12.13", "@babel/plugin-syntax-class-properties@^7.8.3": - version "7.12.13" - resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-class-properties/-/plugin-syntax-class-properties-7.12.13.tgz#b5c987274c4a3a82b89714796931a6b53544ae10" - integrity sha512-fm4idjKla0YahUNgFNLCB0qySdsoPiZP3iQE3rky0mBUtMZ23yDJ9SJdg6dXTSDnulOVqiF3Hgr9nbXvXTQZYA== - dependencies: - "@babel/helper-plugin-utils" "^7.12.13" - -"@babel/plugin-syntax-class-static-block@^7.14.5": - version "7.14.5" - resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-class-static-block/-/plugin-syntax-class-static-block-7.14.5.tgz#195df89b146b4b78b3bf897fd7a257c84659d406" - integrity sha512-b+YyPmr6ldyNnM6sqYeMWE+bgJcJpO6yS4QD7ymxgH34GBPNDM/THBh8iunyvKIZztiwLH4CJZ0RxTk9emgpjw== - dependencies: - "@babel/helper-plugin-utils" "^7.14.5" - -"@babel/plugin-syntax-dynamic-import@^7.8.3": - version "7.8.3" - resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-dynamic-import/-/plugin-syntax-dynamic-import-7.8.3.tgz#62bf98b2da3cd21d626154fc96ee5b3cb68eacb3" - integrity sha512-5gdGbFon+PszYzqs83S3E5mpi7/y/8M9eC90MRTZfduQOYW76ig6SOSPNe41IG5LoP3FGBn2N0RjVDSQiS94kQ== - dependencies: - "@babel/helper-plugin-utils" "^7.8.0" - -"@babel/plugin-syntax-export-namespace-from@^7.8.3": - version "7.8.3" - resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-export-namespace-from/-/plugin-syntax-export-namespace-from-7.8.3.tgz#028964a9ba80dbc094c915c487ad7c4e7a66465a" - integrity sha512-MXf5laXo6c1IbEbegDmzGPwGNTsHZmEy6QGznu5Sh2UCWvueywb2ee+CCE4zQiZstxU9BMoQO9i6zUFSY0Kj0Q== - dependencies: - "@babel/helper-plugin-utils" "^7.8.3" - -"@babel/plugin-syntax-import-assertions@^7.20.0": - version "7.23.3" - resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-import-assertions/-/plugin-syntax-import-assertions-7.23.3.tgz#9c05a7f592982aff1a2768260ad84bcd3f0c77fc" - integrity sha512-lPgDSU+SJLK3xmFDTV2ZRQAiM7UuUjGidwBywFavObCiZc1BeAAcMtHJKUya92hPHO+at63JJPLygilZard8jw== - dependencies: - "@babel/helper-plugin-utils" "^7.22.5" - -"@babel/plugin-syntax-import-meta@^7.8.3": - version "7.10.4" - resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-import-meta/-/plugin-syntax-import-meta-7.10.4.tgz#ee601348c370fa334d2207be158777496521fd51" - integrity sha512-Yqfm+XDx0+Prh3VSeEQCPU81yC+JWZ2pDPFSS4ZdpfZhp4MkFMaDC1UqseovEKwSUpnIL7+vK+Clp7bfh0iD7g== - dependencies: - "@babel/helper-plugin-utils" "^7.10.4" - -"@babel/plugin-syntax-json-strings@^7.8.3": - version "7.8.3" - resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-json-strings/-/plugin-syntax-json-strings-7.8.3.tgz#01ca21b668cd8218c9e640cb6dd88c5412b2c96a" - integrity sha512-lY6kdGpWHvjoe2vk4WrAapEuBR69EMxZl+RoGRhrFGNYVK8mOPAW8VfbT/ZgrFbXlDNiiaxQnAtgVCZ6jv30EA== - dependencies: - "@babel/helper-plugin-utils" "^7.8.0" - -"@babel/plugin-syntax-jsx@^7.7.2": - version "7.23.3" - resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-jsx/-/plugin-syntax-jsx-7.23.3.tgz#8f2e4f8a9b5f9aa16067e142c1ac9cd9f810f473" - integrity sha512-EB2MELswq55OHUoRZLGg/zC7QWUKfNLpE57m/S2yr1uEneIgsTgrSzXP3NXEsMkVn76OlaVVnzN+ugObuYGwhg== - dependencies: - "@babel/helper-plugin-utils" "^7.22.5" - -"@babel/plugin-syntax-logical-assignment-operators@^7.10.4", "@babel/plugin-syntax-logical-assignment-operators@^7.8.3": - version "7.10.4" - resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-logical-assignment-operators/-/plugin-syntax-logical-assignment-operators-7.10.4.tgz#ca91ef46303530448b906652bac2e9fe9941f699" - integrity sha512-d8waShlpFDinQ5MtvGU9xDAOzKH47+FFoney2baFIoMr952hKOLp1HR7VszoZvOsV/4+RRszNY7D17ba0te0ig== - dependencies: - "@babel/helper-plugin-utils" "^7.10.4" - -"@babel/plugin-syntax-nullish-coalescing-operator@^7.8.3": - version "7.8.3" - resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-nullish-coalescing-operator/-/plugin-syntax-nullish-coalescing-operator-7.8.3.tgz#167ed70368886081f74b5c36c65a88c03b66d1a9" - integrity sha512-aSff4zPII1u2QD7y+F8oDsz19ew4IGEJg9SVW+bqwpwtfFleiQDMdzA/R+UlWDzfnHFCxxleFT0PMIrR36XLNQ== - dependencies: - "@babel/helper-plugin-utils" "^7.8.0" - -"@babel/plugin-syntax-numeric-separator@^7.10.4", "@babel/plugin-syntax-numeric-separator@^7.8.3": - version "7.10.4" - resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-numeric-separator/-/plugin-syntax-numeric-separator-7.10.4.tgz#b9b070b3e33570cd9fd07ba7fa91c0dd37b9af97" - integrity sha512-9H6YdfkcK/uOnY/K7/aA2xpzaAgkQn37yzWUMRK7OaPOqOpGS1+n0H5hxT9AUw9EsSjPW8SVyMJwYRtWs3X3ug== - dependencies: - "@babel/helper-plugin-utils" "^7.10.4" - -"@babel/plugin-syntax-object-rest-spread@^7.8.3": - version "7.8.3" - resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-object-rest-spread/-/plugin-syntax-object-rest-spread-7.8.3.tgz#60e225edcbd98a640332a2e72dd3e66f1af55871" - integrity sha512-XoqMijGZb9y3y2XskN+P1wUGiVwWZ5JmoDRwx5+3GmEplNyVM2s2Dg8ILFQm8rWM48orGy5YpI5Bl8U1y7ydlA== - dependencies: - "@babel/helper-plugin-utils" "^7.8.0" - -"@babel/plugin-syntax-optional-catch-binding@^7.8.3": - version "7.8.3" - resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-optional-catch-binding/-/plugin-syntax-optional-catch-binding-7.8.3.tgz#6111a265bcfb020eb9efd0fdfd7d26402b9ed6c1" - integrity sha512-6VPD0Pc1lpTqw0aKoeRTMiB+kWhAoT24PA+ksWSBrFtl5SIRVpZlwN3NNPQjehA2E/91FV3RjLWoVTglWcSV3Q== - dependencies: - "@babel/helper-plugin-utils" "^7.8.0" - -"@babel/plugin-syntax-optional-chaining@^7.8.3": - version "7.8.3" - resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-optional-chaining/-/plugin-syntax-optional-chaining-7.8.3.tgz#4f69c2ab95167e0180cd5336613f8c5788f7d48a" - integrity sha512-KoK9ErH1MBlCPxV0VANkXW2/dw4vlbGDrFgz8bmUsBGYkFRcbRwMh6cIJubdPrkxRwuGdtCk0v/wPTKbQgBjkg== - dependencies: - "@babel/helper-plugin-utils" "^7.8.0" - -"@babel/plugin-syntax-private-property-in-object@^7.14.5": - version "7.14.5" - resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-private-property-in-object/-/plugin-syntax-private-property-in-object-7.14.5.tgz#0dc6671ec0ea22b6e94a1114f857970cd39de1ad" - integrity sha512-0wVnp9dxJ72ZUJDV27ZfbSj6iHLoytYZmh3rFcxNnvsJF3ktkzLDZPy/mA17HGsaQT3/DQsWYX1f1QGWkCoVUg== - dependencies: - "@babel/helper-plugin-utils" "^7.14.5" - -"@babel/plugin-syntax-top-level-await@^7.14.5", "@babel/plugin-syntax-top-level-await@^7.8.3": - version "7.14.5" - resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-top-level-await/-/plugin-syntax-top-level-await-7.14.5.tgz#c1cfdadc35a646240001f06138247b741c34d94c" - integrity sha512-hx++upLv5U1rgYfwe1xBQUhRmU41NEvpUvrp8jkrSCdvGSnM5/qdRMtylJ6PG5OFkBaHkbTAKTnd3/YyESRHFw== - dependencies: - "@babel/helper-plugin-utils" "^7.14.5" - -"@babel/plugin-syntax-typescript@^7.7.2": - version "7.23.3" - resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-typescript/-/plugin-syntax-typescript-7.23.3.tgz#24f460c85dbbc983cd2b9c4994178bcc01df958f" - integrity sha512-9EiNjVJOMwCO+43TqoTrgQ8jMwcAd0sWyXi9RPfIsLTj4R2MADDDQXELhffaUx/uJv2AYcxBgPwH6j4TIA4ytQ== - dependencies: - "@babel/helper-plugin-utils" "^7.22.5" - -"@babel/plugin-transform-arrow-functions@^7.18.6": - version "7.23.3" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-arrow-functions/-/plugin-transform-arrow-functions-7.23.3.tgz#94c6dcfd731af90f27a79509f9ab7fb2120fc38b" - integrity sha512-NzQcQrzaQPkaEwoTm4Mhyl8jI1huEL/WWIEvudjTCMJ9aBZNpsJbMASx7EQECtQQPS/DcnFpo0FIh3LvEO9cxQ== - dependencies: - "@babel/helper-plugin-utils" "^7.22.5" - -"@babel/plugin-transform-async-to-generator@^7.18.6": - version "7.23.3" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-async-to-generator/-/plugin-transform-async-to-generator-7.23.3.tgz#d1f513c7a8a506d43f47df2bf25f9254b0b051fa" - integrity sha512-A7LFsKi4U4fomjqXJlZg/u0ft/n8/7n7lpffUP/ZULx/DtV9SGlNKZolHH6PE8Xl1ngCc0M11OaeZptXVkfKSw== - dependencies: - "@babel/helper-module-imports" "^7.22.15" - "@babel/helper-plugin-utils" "^7.22.5" - "@babel/helper-remap-async-to-generator" "^7.22.20" - -"@babel/plugin-transform-block-scoped-functions@^7.18.6": - version "7.23.3" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-block-scoped-functions/-/plugin-transform-block-scoped-functions-7.23.3.tgz#fe1177d715fb569663095e04f3598525d98e8c77" - integrity sha512-vI+0sIaPIO6CNuM9Kk5VmXcMVRiOpDh7w2zZt9GXzmE/9KD70CUEVhvPR/etAeNK/FAEkhxQtXOzVF3EuRL41A== - dependencies: - "@babel/helper-plugin-utils" "^7.22.5" - -"@babel/plugin-transform-block-scoping@^7.20.2": - version "7.23.4" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-block-scoping/-/plugin-transform-block-scoping-7.23.4.tgz#b2d38589531c6c80fbe25e6b58e763622d2d3cf5" - integrity sha512-0QqbP6B6HOh7/8iNR4CQU2Th/bbRtBp4KS9vcaZd1fZ0wSh5Fyssg0UCIHwxh+ka+pNDREbVLQnHCMHKZfPwfw== - dependencies: - "@babel/helper-plugin-utils" "^7.22.5" - -"@babel/plugin-transform-classes@^7.20.2": - version "7.23.8" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-classes/-/plugin-transform-classes-7.23.8.tgz#d08ae096c240347badd68cdf1b6d1624a6435d92" - integrity sha512-yAYslGsY1bX6Knmg46RjiCiNSwJKv2IUC8qOdYKqMMr0491SXFhcHqOdRDeCRohOOIzwN/90C6mQ9qAKgrP7dg== - dependencies: - "@babel/helper-annotate-as-pure" "^7.22.5" - "@babel/helper-compilation-targets" "^7.23.6" - "@babel/helper-environment-visitor" "^7.22.20" - "@babel/helper-function-name" "^7.23.0" - "@babel/helper-plugin-utils" "^7.22.5" - "@babel/helper-replace-supers" "^7.22.20" - "@babel/helper-split-export-declaration" "^7.22.6" - globals "^11.1.0" - -"@babel/plugin-transform-computed-properties@^7.18.9": - version "7.23.3" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-computed-properties/-/plugin-transform-computed-properties-7.23.3.tgz#652e69561fcc9d2b50ba4f7ac7f60dcf65e86474" - integrity sha512-dTj83UVTLw/+nbiHqQSFdwO9CbTtwq1DsDqm3CUEtDrZNET5rT5E6bIdTlOftDTDLMYxvxHNEYO4B9SLl8SLZw== - dependencies: - "@babel/helper-plugin-utils" "^7.22.5" - "@babel/template" "^7.22.15" - -"@babel/plugin-transform-destructuring@^7.20.2": - version "7.23.3" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-destructuring/-/plugin-transform-destructuring-7.23.3.tgz#8c9ee68228b12ae3dff986e56ed1ba4f3c446311" - integrity sha512-n225npDqjDIr967cMScVKHXJs7rout1q+tt50inyBCPkyZ8KxeI6d+GIbSBTT/w/9WdlWDOej3V9HE5Lgk57gw== - dependencies: - "@babel/helper-plugin-utils" "^7.22.5" - -"@babel/plugin-transform-dotall-regex@^7.18.6", "@babel/plugin-transform-dotall-regex@^7.4.4": - version "7.23.3" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-dotall-regex/-/plugin-transform-dotall-regex-7.23.3.tgz#3f7af6054882ede89c378d0cf889b854a993da50" - integrity sha512-vgnFYDHAKzFaTVp+mneDsIEbnJ2Np/9ng9iviHw3P/KVcgONxpNULEW/51Z/BaFojG2GI2GwwXck5uV1+1NOYQ== - dependencies: - "@babel/helper-create-regexp-features-plugin" "^7.22.15" - "@babel/helper-plugin-utils" "^7.22.5" - -"@babel/plugin-transform-duplicate-keys@^7.18.9": - version "7.23.3" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-duplicate-keys/-/plugin-transform-duplicate-keys-7.23.3.tgz#664706ca0a5dfe8d066537f99032fc1dc8b720ce" - integrity sha512-RrqQ+BQmU3Oyav3J+7/myfvRCq7Tbz+kKLLshUmMwNlDHExbGL7ARhajvoBJEvc+fCguPPu887N+3RRXBVKZUA== - dependencies: - "@babel/helper-plugin-utils" "^7.22.5" - -"@babel/plugin-transform-exponentiation-operator@^7.18.6": - version "7.23.3" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-exponentiation-operator/-/plugin-transform-exponentiation-operator-7.23.3.tgz#ea0d978f6b9232ba4722f3dbecdd18f450babd18" - integrity sha512-5fhCsl1odX96u7ILKHBj4/Y8vipoqwsJMh4csSA8qFfxrZDEA4Ssku2DyNvMJSmZNOEBT750LfFPbtrnTP90BQ== - dependencies: - "@babel/helper-builder-binary-assignment-operator-visitor" "^7.22.15" - "@babel/helper-plugin-utils" "^7.22.5" - -"@babel/plugin-transform-for-of@^7.18.8": - version "7.23.6" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-for-of/-/plugin-transform-for-of-7.23.6.tgz#81c37e24171b37b370ba6aaffa7ac86bcb46f94e" - integrity sha512-aYH4ytZ0qSuBbpfhuofbg/e96oQ7U2w1Aw/UQmKT+1l39uEhUPoFS3fHevDc1G0OvewyDudfMKY1OulczHzWIw== - dependencies: - "@babel/helper-plugin-utils" "^7.22.5" - "@babel/helper-skip-transparent-expression-wrappers" "^7.22.5" - -"@babel/plugin-transform-function-name@^7.18.9": - version "7.23.3" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-function-name/-/plugin-transform-function-name-7.23.3.tgz#8f424fcd862bf84cb9a1a6b42bc2f47ed630f8dc" - integrity sha512-I1QXp1LxIvt8yLaib49dRW5Okt7Q4oaxao6tFVKS/anCdEOMtYwWVKoiOA1p34GOWIZjUK0E+zCp7+l1pfQyiw== - dependencies: - "@babel/helper-compilation-targets" "^7.22.15" - "@babel/helper-function-name" "^7.23.0" - "@babel/helper-plugin-utils" "^7.22.5" - -"@babel/plugin-transform-literals@^7.18.9": - version "7.23.3" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-literals/-/plugin-transform-literals-7.23.3.tgz#8214665f00506ead73de157eba233e7381f3beb4" - integrity sha512-wZ0PIXRxnwZvl9AYpqNUxpZ5BiTGrYt7kueGQ+N5FiQ7RCOD4cm8iShd6S6ggfVIWaJf2EMk8eRzAh52RfP4rQ== - dependencies: - "@babel/helper-plugin-utils" "^7.22.5" - -"@babel/plugin-transform-member-expression-literals@^7.18.6": - version "7.23.3" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-member-expression-literals/-/plugin-transform-member-expression-literals-7.23.3.tgz#e37b3f0502289f477ac0e776b05a833d853cabcc" - integrity sha512-sC3LdDBDi5x96LA+Ytekz2ZPk8i/Ck+DEuDbRAll5rknJ5XRTSaPKEYwomLcs1AA8wg9b3KjIQRsnApj+q51Ag== - dependencies: - "@babel/helper-plugin-utils" "^7.22.5" - -"@babel/plugin-transform-modules-amd@^7.19.6": - version "7.23.3" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-modules-amd/-/plugin-transform-modules-amd-7.23.3.tgz#e19b55436a1416829df0a1afc495deedfae17f7d" - integrity sha512-vJYQGxeKM4t8hYCKVBlZX/gtIY2I7mRGFNcm85sgXGMTBcoV3QdVtdpbcWEbzbfUIUZKwvgFT82mRvaQIebZzw== - dependencies: - "@babel/helper-module-transforms" "^7.23.3" - "@babel/helper-plugin-utils" "^7.22.5" - -"@babel/plugin-transform-modules-commonjs@^7.19.6": - version "7.23.3" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-modules-commonjs/-/plugin-transform-modules-commonjs-7.23.3.tgz#661ae831b9577e52be57dd8356b734f9700b53b4" - integrity sha512-aVS0F65LKsdNOtcz6FRCpE4OgsP2OFnW46qNxNIX9h3wuzaNcSQsJysuMwqSibC98HPrf2vCgtxKNwS0DAlgcA== - dependencies: - "@babel/helper-module-transforms" "^7.23.3" - "@babel/helper-plugin-utils" "^7.22.5" - "@babel/helper-simple-access" "^7.22.5" - -"@babel/plugin-transform-modules-systemjs@^7.19.6": - version "7.23.9" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-modules-systemjs/-/plugin-transform-modules-systemjs-7.23.9.tgz#105d3ed46e4a21d257f83a2f9e2ee4203ceda6be" - integrity sha512-KDlPRM6sLo4o1FkiSlXoAa8edLXFsKKIda779fbLrvmeuc3itnjCtaO6RrtoaANsIJANj+Vk1zqbZIMhkCAHVw== - dependencies: - "@babel/helper-hoist-variables" "^7.22.5" - "@babel/helper-module-transforms" "^7.23.3" - "@babel/helper-plugin-utils" "^7.22.5" - "@babel/helper-validator-identifier" "^7.22.20" - -"@babel/plugin-transform-modules-umd@^7.18.6": - version "7.23.3" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-modules-umd/-/plugin-transform-modules-umd-7.23.3.tgz#5d4395fccd071dfefe6585a4411aa7d6b7d769e9" - integrity sha512-zHsy9iXX2nIsCBFPud3jKn1IRPWg3Ing1qOZgeKV39m1ZgIdpJqvlWVeiHBZC6ITRG0MfskhYe9cLgntfSFPIg== - dependencies: - "@babel/helper-module-transforms" "^7.23.3" - "@babel/helper-plugin-utils" "^7.22.5" - -"@babel/plugin-transform-named-capturing-groups-regex@^7.19.1": - version "7.22.5" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-named-capturing-groups-regex/-/plugin-transform-named-capturing-groups-regex-7.22.5.tgz#67fe18ee8ce02d57c855185e27e3dc959b2e991f" - integrity sha512-YgLLKmS3aUBhHaxp5hi1WJTgOUb/NCuDHzGT9z9WTt3YG+CPRhJs6nprbStx6DnWM4dh6gt7SU3sZodbZ08adQ== - dependencies: - "@babel/helper-create-regexp-features-plugin" "^7.22.5" - "@babel/helper-plugin-utils" "^7.22.5" - -"@babel/plugin-transform-new-target@^7.18.6": - version "7.23.3" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-new-target/-/plugin-transform-new-target-7.23.3.tgz#5491bb78ed6ac87e990957cea367eab781c4d980" - integrity sha512-YJ3xKqtJMAT5/TIZnpAR3I+K+WaDowYbN3xyxI8zxx/Gsypwf9B9h0VB+1Nh6ACAAPRS5NSRje0uVv5i79HYGQ== - dependencies: - "@babel/helper-plugin-utils" "^7.22.5" - -"@babel/plugin-transform-object-super@^7.18.6": - version "7.23.3" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-object-super/-/plugin-transform-object-super-7.23.3.tgz#81fdb636dcb306dd2e4e8fd80db5b2362ed2ebcd" - integrity sha512-BwQ8q0x2JG+3lxCVFohg+KbQM7plfpBwThdW9A6TMtWwLsbDA01Ek2Zb/AgDN39BiZsExm4qrXxjk+P1/fzGrA== - dependencies: - "@babel/helper-plugin-utils" "^7.22.5" - "@babel/helper-replace-supers" "^7.22.20" - -"@babel/plugin-transform-optional-chaining@^7.23.3": - version "7.23.4" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-optional-chaining/-/plugin-transform-optional-chaining-7.23.4.tgz#6acf61203bdfc4de9d4e52e64490aeb3e52bd017" - integrity sha512-ZU8y5zWOfjM5vZ+asjgAPwDaBjJzgufjES89Rs4Lpq63O300R/kOz30WCLo6BxxX6QVEilwSlpClnG5cZaikTA== - dependencies: - "@babel/helper-plugin-utils" "^7.22.5" - "@babel/helper-skip-transparent-expression-wrappers" "^7.22.5" - "@babel/plugin-syntax-optional-chaining" "^7.8.3" - -"@babel/plugin-transform-parameters@^7.20.1", "@babel/plugin-transform-parameters@^7.20.7": - version "7.23.3" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-parameters/-/plugin-transform-parameters-7.23.3.tgz#83ef5d1baf4b1072fa6e54b2b0999a7b2527e2af" - integrity sha512-09lMt6UsUb3/34BbECKVbVwrT9bO6lILWln237z7sLaWnMsTi7Yc9fhX5DLpkJzAGfaReXI22wP41SZmnAA3Vw== - dependencies: - "@babel/helper-plugin-utils" "^7.22.5" - -"@babel/plugin-transform-property-literals@^7.18.6": - version "7.23.3" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-property-literals/-/plugin-transform-property-literals-7.23.3.tgz#54518f14ac4755d22b92162e4a852d308a560875" - integrity sha512-jR3Jn3y7cZp4oEWPFAlRsSWjxKe4PZILGBSd4nis1TsC5qeSpb+nrtihJuDhNI7QHiVbUaiXa0X2RZY3/TI6Nw== - dependencies: - "@babel/helper-plugin-utils" "^7.22.5" - -"@babel/plugin-transform-regenerator@^7.18.6": - version "7.23.3" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-regenerator/-/plugin-transform-regenerator-7.23.3.tgz#141afd4a2057298602069fce7f2dc5173e6c561c" - integrity sha512-KP+75h0KghBMcVpuKisx3XTu9Ncut8Q8TuvGO4IhY+9D5DFEckQefOuIsB/gQ2tG71lCke4NMrtIPS8pOj18BQ== - dependencies: - "@babel/helper-plugin-utils" "^7.22.5" - regenerator-transform "^0.15.2" - -"@babel/plugin-transform-reserved-words@^7.18.6": - version "7.23.3" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-reserved-words/-/plugin-transform-reserved-words-7.23.3.tgz#4130dcee12bd3dd5705c587947eb715da12efac8" - integrity sha512-QnNTazY54YqgGxwIexMZva9gqbPa15t/x9VS+0fsEFWplwVpXYZivtgl43Z1vMpc1bdPP2PP8siFeVcnFvA3Cg== - dependencies: - "@babel/helper-plugin-utils" "^7.22.5" - -"@babel/plugin-transform-shorthand-properties@^7.18.6": - version "7.23.3" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-shorthand-properties/-/plugin-transform-shorthand-properties-7.23.3.tgz#97d82a39b0e0c24f8a981568a8ed851745f59210" - integrity sha512-ED2fgqZLmexWiN+YNFX26fx4gh5qHDhn1O2gvEhreLW2iI63Sqm4llRLCXALKrCnbN4Jy0VcMQZl/SAzqug/jg== - dependencies: - "@babel/helper-plugin-utils" "^7.22.5" - -"@babel/plugin-transform-spread@^7.19.0": - version "7.23.3" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-spread/-/plugin-transform-spread-7.23.3.tgz#41d17aacb12bde55168403c6f2d6bdca563d362c" - integrity sha512-VvfVYlrlBVu+77xVTOAoxQ6mZbnIq5FM0aGBSFEcIh03qHf+zNqA4DC/3XMUozTg7bZV3e3mZQ0i13VB6v5yUg== - dependencies: - "@babel/helper-plugin-utils" "^7.22.5" - "@babel/helper-skip-transparent-expression-wrappers" "^7.22.5" - -"@babel/plugin-transform-sticky-regex@^7.18.6": - version "7.23.3" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-sticky-regex/-/plugin-transform-sticky-regex-7.23.3.tgz#dec45588ab4a723cb579c609b294a3d1bd22ff04" - integrity sha512-HZOyN9g+rtvnOU3Yh7kSxXrKbzgrm5X4GncPY1QOquu7epga5MxKHVpYu2hvQnry/H+JjckSYRb93iNfsioAGg== - dependencies: - "@babel/helper-plugin-utils" "^7.22.5" - -"@babel/plugin-transform-template-literals@^7.18.9": - version "7.23.3" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-template-literals/-/plugin-transform-template-literals-7.23.3.tgz#5f0f028eb14e50b5d0f76be57f90045757539d07" - integrity sha512-Flok06AYNp7GV2oJPZZcP9vZdszev6vPBkHLwxwSpaIqx75wn6mUd3UFWsSsA0l8nXAKkyCmL/sR02m8RYGeHg== - dependencies: - "@babel/helper-plugin-utils" "^7.22.5" - -"@babel/plugin-transform-typeof-symbol@^7.18.9": - version "7.23.3" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-typeof-symbol/-/plugin-transform-typeof-symbol-7.23.3.tgz#9dfab97acc87495c0c449014eb9c547d8966bca4" - integrity sha512-4t15ViVnaFdrPC74be1gXBSMzXk3B4Us9lP7uLRQHTFpV5Dvt33pn+2MyyNxmN3VTTm3oTrZVMUmuw3oBnQ2oQ== - dependencies: - "@babel/helper-plugin-utils" "^7.22.5" - -"@babel/plugin-transform-unicode-escapes@^7.18.10": - version "7.23.3" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-unicode-escapes/-/plugin-transform-unicode-escapes-7.23.3.tgz#1f66d16cab01fab98d784867d24f70c1ca65b925" - integrity sha512-OMCUx/bU6ChE3r4+ZdylEqAjaQgHAgipgW8nsCfu5pGqDcFytVd91AwRvUJSBZDz0exPGgnjoqhgRYLRjFZc9Q== - dependencies: - "@babel/helper-plugin-utils" "^7.22.5" - -"@babel/plugin-transform-unicode-regex@^7.18.6": - version "7.23.3" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-unicode-regex/-/plugin-transform-unicode-regex-7.23.3.tgz#26897708d8f42654ca4ce1b73e96140fbad879dc" - integrity sha512-wMHpNA4x2cIA32b/ci3AfwNgheiva2W0WUKWTK7vBHBhDKfPsc5cFGNWm69WBqpwd86u1qwZ9PWevKqm1A3yAw== - dependencies: - "@babel/helper-create-regexp-features-plugin" "^7.22.15" - "@babel/helper-plugin-utils" "^7.22.5" - -"@babel/preset-env@7.20.2": - version "7.20.2" - resolved "https://registry.yarnpkg.com/@babel/preset-env/-/preset-env-7.20.2.tgz#9b1642aa47bb9f43a86f9630011780dab7f86506" - integrity sha512-1G0efQEWR1EHkKvKHqbG+IN/QdgwfByUpM5V5QroDzGV2t3S/WXNQd693cHiHTlCFMpr9B6FkPFXDA2lQcKoDg== - dependencies: - "@babel/compat-data" "^7.20.1" - "@babel/helper-compilation-targets" "^7.20.0" - "@babel/helper-plugin-utils" "^7.20.2" - "@babel/helper-validator-option" "^7.18.6" - "@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression" "^7.18.6" - "@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining" "^7.18.9" - "@babel/plugin-proposal-async-generator-functions" "^7.20.1" - "@babel/plugin-proposal-class-properties" "^7.18.6" - "@babel/plugin-proposal-class-static-block" "^7.18.6" - "@babel/plugin-proposal-dynamic-import" "^7.18.6" - "@babel/plugin-proposal-export-namespace-from" "^7.18.9" - "@babel/plugin-proposal-json-strings" "^7.18.6" - "@babel/plugin-proposal-logical-assignment-operators" "^7.18.9" - "@babel/plugin-proposal-nullish-coalescing-operator" "^7.18.6" - "@babel/plugin-proposal-numeric-separator" "^7.18.6" - "@babel/plugin-proposal-object-rest-spread" "^7.20.2" - "@babel/plugin-proposal-optional-catch-binding" "^7.18.6" - "@babel/plugin-proposal-optional-chaining" "^7.18.9" - "@babel/plugin-proposal-private-methods" "^7.18.6" - "@babel/plugin-proposal-private-property-in-object" "^7.18.6" - "@babel/plugin-proposal-unicode-property-regex" "^7.18.6" - "@babel/plugin-syntax-async-generators" "^7.8.4" - "@babel/plugin-syntax-class-properties" "^7.12.13" - "@babel/plugin-syntax-class-static-block" "^7.14.5" - "@babel/plugin-syntax-dynamic-import" "^7.8.3" - "@babel/plugin-syntax-export-namespace-from" "^7.8.3" - "@babel/plugin-syntax-import-assertions" "^7.20.0" - "@babel/plugin-syntax-json-strings" "^7.8.3" - "@babel/plugin-syntax-logical-assignment-operators" "^7.10.4" - "@babel/plugin-syntax-nullish-coalescing-operator" "^7.8.3" - "@babel/plugin-syntax-numeric-separator" "^7.10.4" - "@babel/plugin-syntax-object-rest-spread" "^7.8.3" - "@babel/plugin-syntax-optional-catch-binding" "^7.8.3" - "@babel/plugin-syntax-optional-chaining" "^7.8.3" - "@babel/plugin-syntax-private-property-in-object" "^7.14.5" - "@babel/plugin-syntax-top-level-await" "^7.14.5" - "@babel/plugin-transform-arrow-functions" "^7.18.6" - "@babel/plugin-transform-async-to-generator" "^7.18.6" - "@babel/plugin-transform-block-scoped-functions" "^7.18.6" - "@babel/plugin-transform-block-scoping" "^7.20.2" - "@babel/plugin-transform-classes" "^7.20.2" - "@babel/plugin-transform-computed-properties" "^7.18.9" - "@babel/plugin-transform-destructuring" "^7.20.2" - "@babel/plugin-transform-dotall-regex" "^7.18.6" - "@babel/plugin-transform-duplicate-keys" "^7.18.9" - "@babel/plugin-transform-exponentiation-operator" "^7.18.6" - "@babel/plugin-transform-for-of" "^7.18.8" - "@babel/plugin-transform-function-name" "^7.18.9" - "@babel/plugin-transform-literals" "^7.18.9" - "@babel/plugin-transform-member-expression-literals" "^7.18.6" - "@babel/plugin-transform-modules-amd" "^7.19.6" - "@babel/plugin-transform-modules-commonjs" "^7.19.6" - "@babel/plugin-transform-modules-systemjs" "^7.19.6" - "@babel/plugin-transform-modules-umd" "^7.18.6" - "@babel/plugin-transform-named-capturing-groups-regex" "^7.19.1" - "@babel/plugin-transform-new-target" "^7.18.6" - "@babel/plugin-transform-object-super" "^7.18.6" - "@babel/plugin-transform-parameters" "^7.20.1" - "@babel/plugin-transform-property-literals" "^7.18.6" - "@babel/plugin-transform-regenerator" "^7.18.6" - "@babel/plugin-transform-reserved-words" "^7.18.6" - "@babel/plugin-transform-shorthand-properties" "^7.18.6" - "@babel/plugin-transform-spread" "^7.19.0" - "@babel/plugin-transform-sticky-regex" "^7.18.6" - "@babel/plugin-transform-template-literals" "^7.18.9" - "@babel/plugin-transform-typeof-symbol" "^7.18.9" - "@babel/plugin-transform-unicode-escapes" "^7.18.10" - "@babel/plugin-transform-unicode-regex" "^7.18.6" - "@babel/preset-modules" "^0.1.5" - "@babel/types" "^7.20.2" - babel-plugin-polyfill-corejs2 "^0.3.3" - babel-plugin-polyfill-corejs3 "^0.6.0" - babel-plugin-polyfill-regenerator "^0.4.1" - core-js-compat "^3.25.1" - semver "^6.3.0" - -"@babel/preset-modules@^0.1.5": - version "0.1.6" - resolved "https://registry.yarnpkg.com/@babel/preset-modules/-/preset-modules-0.1.6.tgz#31bcdd8f19538437339d17af00d177d854d9d458" - integrity sha512-ID2yj6K/4lKfhuU3+EX4UvNbIt7eACFbHmNUjzA+ep+B5971CknnA/9DEWKbRokfbbtblxxxXFJJrH47UEAMVg== - dependencies: - "@babel/helper-plugin-utils" "^7.0.0" - "@babel/plugin-proposal-unicode-property-regex" "^7.4.4" - "@babel/plugin-transform-dotall-regex" "^7.4.4" - "@babel/types" "^7.4.4" - esutils "^2.0.2" - -"@babel/regjsgen@^0.8.0": - version "0.8.0" - resolved "https://registry.yarnpkg.com/@babel/regjsgen/-/regjsgen-0.8.0.tgz#f0ba69b075e1f05fb2825b7fad991e7adbb18310" - integrity sha512-x/rqGMdzj+fWZvCOYForTghzbtqPDZ5gPwaoNGHdgDfF2QA/XZbCBp4Moo5scrkAMPhB7z26XM/AaHuIJdgauA== - -"@babel/runtime@^7.0.0", "@babel/runtime@^7.1.2", "@babel/runtime@^7.10.1", "@babel/runtime@^7.11.1", "@babel/runtime@^7.11.2", "@babel/runtime@^7.12.0", "@babel/runtime@^7.12.1", "@babel/runtime@^7.12.13", "@babel/runtime@^7.12.5", "@babel/runtime@^7.15.4", "@babel/runtime@^7.18.0", "@babel/runtime@^7.18.3", "@babel/runtime@^7.20.0", "@babel/runtime@^7.20.6", "@babel/runtime@^7.20.7", "@babel/runtime@^7.23.2", "@babel/runtime@^7.5.5", "@babel/runtime@^7.6.2", "@babel/runtime@^7.8.4", "@babel/runtime@^7.8.7", "@babel/runtime@^7.9.2": - version "7.23.9" - resolved "https://registry.yarnpkg.com/@babel/runtime/-/runtime-7.23.9.tgz#47791a15e4603bb5f905bc0753801cf21d6345f7" - integrity sha512-0CX6F+BI2s9dkUqr08KFrAIZgNFj75rdBU/DjCyYLIaV/quFjkk6T+EJ2LkZHyZTbEV4L5p97mNkUsHl2wLFAw== - dependencies: - regenerator-runtime "^0.14.0" - -"@babel/template@^7.18.10", "@babel/template@^7.22.15", "@babel/template@^7.23.9", "@babel/template@^7.3.3": - version "7.23.9" - resolved "https://registry.yarnpkg.com/@babel/template/-/template-7.23.9.tgz#f881d0487cba2828d3259dcb9ef5005a9731011a" - integrity sha512-+xrD2BWLpvHKNmX2QbpdpsBaWnRxahMwJjO+KZk2JOElj5nSmKezyS1B4u+QbHMTX69t4ukm6hh9lsYQ7GHCKA== - dependencies: - "@babel/code-frame" "^7.23.5" - "@babel/parser" "^7.23.9" - "@babel/types" "^7.23.9" - -"@babel/traverse@^7.20.5", "@babel/traverse@^7.23.9": - version "7.23.9" - resolved "https://registry.yarnpkg.com/@babel/traverse/-/traverse-7.23.9.tgz#2f9d6aead6b564669394c5ce0f9302bb65b9d950" - integrity sha512-I/4UJ9vs90OkBtY6iiiTORVMyIhJ4kAVmsKo9KFc8UOxMeUfi2hvtIBsET5u9GizXE6/GFSuKCTNfgCswuEjRg== - dependencies: - "@babel/code-frame" "^7.23.5" - "@babel/generator" "^7.23.6" - "@babel/helper-environment-visitor" "^7.22.20" - "@babel/helper-function-name" "^7.23.0" - "@babel/helper-hoist-variables" "^7.22.5" - "@babel/helper-split-export-declaration" "^7.22.6" - "@babel/parser" "^7.23.9" - "@babel/types" "^7.23.9" - debug "^4.3.1" - globals "^11.1.0" - -"@babel/types@^7.0.0", "@babel/types@^7.20.2", "@babel/types@^7.20.5", "@babel/types@^7.20.7", "@babel/types@^7.22.15", "@babel/types@^7.22.19", "@babel/types@^7.22.5", "@babel/types@^7.23.0", "@babel/types@^7.23.6", "@babel/types@^7.23.9", "@babel/types@^7.3.3", "@babel/types@^7.4.4": - version "7.23.9" - resolved "https://registry.yarnpkg.com/@babel/types/-/types-7.23.9.tgz#1dd7b59a9a2b5c87f8b41e52770b5ecbf492e002" - integrity sha512-dQjSq/7HaSjRM43FFGnv5keM2HsxpmyV1PfaSVm0nzzjwwTmjOe6J4bC8e3+pTEIgHaHj+1ZlLThRJ2auc/w1Q== - dependencies: - "@babel/helper-string-parser" "^7.23.4" - "@babel/helper-validator-identifier" "^7.22.20" - to-fast-properties "^2.0.0" - -"@bcoe/v8-coverage@^0.2.3": - version "0.2.3" - resolved "https://registry.yarnpkg.com/@bcoe/v8-coverage/-/v8-coverage-0.2.3.tgz#75a2e8b51cb758a7553d6804a5932d7aace75c39" - integrity sha512-0hYQ8SB4Db5zvZB4axdMHGwEaQjkZzFjQiN9LVYvIFB2nSUHW9tYpxWriPrWDASIxiaXax83REcLxuSdnGPZtw== - -"@braintree/sanitize-url@6.0.2": - version "6.0.2" - resolved "https://registry.yarnpkg.com/@braintree/sanitize-url/-/sanitize-url-6.0.2.tgz#6110f918d273fe2af8ea1c4398a88774bb9fc12f" - integrity sha512-Tbsj02wXCbqGmzdnXNk0SOF19ChhRU70BsroIi4Pm6Ehp56in6vch94mfbdQ17DozxkL3BAVjbZ4Qc1a0HFRAg== - -"@colors/colors@1.5.0": - version "1.5.0" - resolved "https://registry.yarnpkg.com/@colors/colors/-/colors-1.5.0.tgz#bb504579c1cae923e6576a4f5da43d25f97bdbd9" - integrity sha512-ooWCrlZP11i8GImSjTHYHLkvFDP48nS4+204nGb1RiX/WXYHmJA2III9/e2DWVabCESdW7hBAEzHRqUn9OUVvQ== - -"@cspotcode/source-map-support@^0.8.0": - version "0.8.1" - resolved "https://registry.yarnpkg.com/@cspotcode/source-map-support/-/source-map-support-0.8.1.tgz#00629c35a688e05a88b1cda684fb9d5e73f000a1" - integrity sha512-IchNf6dN4tHoMFIn/7OE8LWZ19Y6q/67Bmf6vnGREv8RSbBVb9LPJxEcnwrcwX6ixSvaiGoomAUvu4YSxXrVgw== - dependencies: - "@jridgewell/trace-mapping" "0.3.9" - -"@cypress/request@^2.88.10": - version "2.88.12" - resolved "https://registry.yarnpkg.com/@cypress/request/-/request-2.88.12.tgz#ba4911431738494a85e93fb04498cb38bc55d590" - integrity sha512-tOn+0mDZxASFM+cuAP9szGUGPI1HwWVSvdzm7V4cCsPdFTx6qMj29CwaQmRAMIEhORIUBFBsYROYJcveK4uOjA== - dependencies: - aws-sign2 "~0.7.0" - aws4 "^1.8.0" - caseless "~0.12.0" - combined-stream "~1.0.6" - extend "~3.0.2" - forever-agent "~0.6.1" - form-data "~2.3.2" - http-signature "~1.3.6" - is-typedarray "~1.0.0" - isstream "~0.1.2" - json-stringify-safe "~5.0.1" - mime-types "~2.1.19" - performance-now "^2.1.0" - qs "~6.10.3" - safe-buffer "^5.1.2" - tough-cookie "^4.1.3" - tunnel-agent "^0.6.0" - uuid "^8.3.2" - -"@cypress/webpack-preprocessor@5.17.0": - version "5.17.0" - resolved "https://registry.yarnpkg.com/@cypress/webpack-preprocessor/-/webpack-preprocessor-5.17.0.tgz#3f58cf333c5931094780e3ca14c9302a1965025e" - integrity sha512-HyFqHkrOrIIYOt4G+r3VK0kVYTcev1tEcqBI/0DJ4AzEuEgW/TB+cX56txy4Cgn60XXdJoul2utclZwUqOsPZA== - dependencies: - bluebird "3.7.1" - debug "^4.3.4" - lodash "^4.17.20" - -"@cypress/xvfb@^1.2.4": - version "1.2.4" - resolved "https://registry.yarnpkg.com/@cypress/xvfb/-/xvfb-1.2.4.tgz#2daf42e8275b39f4aa53c14214e557bd14e7748a" - integrity sha512-skbBzPggOVYCbnGgV+0dmBdW/s77ZkAOXIC1knS8NagwDjBrNC1LuXtQJeiN6l+m7lzmHtaoUw/ctJKdqkG57Q== - dependencies: - debug "^3.1.0" - lodash.once "^4.1.1" - -"@discoveryjs/json-ext@^0.5.0": - version "0.5.7" - resolved "https://registry.yarnpkg.com/@discoveryjs/json-ext/-/json-ext-0.5.7.tgz#1d572bfbbe14b7704e0ba0f39b74815b84870d70" - integrity sha512-dBVuXR082gk3jsFp7Rd/JI4kytwGHecnCoTtXFb7DB6CNHp4rg5k1bhg0nWdLGLnOV71lmDzGQaLMy8iPLY0pw== - -"@emotion/babel-plugin@^11.10.6", "@emotion/babel-plugin@^11.11.0": - version "11.11.0" - resolved "https://registry.yarnpkg.com/@emotion/babel-plugin/-/babel-plugin-11.11.0.tgz#c2d872b6a7767a9d176d007f5b31f7d504bb5d6c" - integrity sha512-m4HEDZleaaCH+XgDDsPF15Ht6wTLsgDTeR3WYj9Q/k76JtWhrJjcP4+/XlG8LGT/Rol9qUfOIztXeA84ATpqPQ== - dependencies: - "@babel/helper-module-imports" "^7.16.7" - "@babel/runtime" "^7.18.3" - "@emotion/hash" "^0.9.1" - "@emotion/memoize" "^0.8.1" - "@emotion/serialize" "^1.1.2" - babel-plugin-macros "^3.1.0" - convert-source-map "^1.5.0" - escape-string-regexp "^4.0.0" - find-root "^1.1.0" - source-map "^0.5.7" - stylis "4.2.0" - -"@emotion/cache@^11.10.5", "@emotion/cache@^11.11.0", "@emotion/cache@^11.4.0": - version "11.11.0" - resolved "https://registry.yarnpkg.com/@emotion/cache/-/cache-11.11.0.tgz#809b33ee6b1cb1a625fef7a45bc568ccd9b8f3ff" - integrity sha512-P34z9ssTCBi3e9EI1ZsWpNHcfY1r09ZO0rZbRO2ob3ZQMnFI35jB536qoXbkdesr5EUhYi22anuEJuyxifaqAQ== - dependencies: - "@emotion/memoize" "^0.8.1" - "@emotion/sheet" "^1.2.2" - "@emotion/utils" "^1.2.1" - "@emotion/weak-memoize" "^0.3.1" - stylis "4.2.0" - -"@emotion/css@11.10.6": - version "11.10.6" - resolved "https://registry.yarnpkg.com/@emotion/css/-/css-11.10.6.tgz#5d226fdd8ef2a46d28e4eb09f66dc01a3bda5a04" - integrity sha512-88Sr+3heKAKpj9PCqq5A1hAmAkoSIvwEq1O2TwDij7fUtsJpdkV4jMTISSTouFeRvsGvXIpuSuDQ4C1YdfNGXw== - dependencies: - "@emotion/babel-plugin" "^11.10.6" - "@emotion/cache" "^11.10.5" - "@emotion/serialize" "^1.1.1" - "@emotion/sheet" "^1.2.1" - "@emotion/utils" "^1.2.0" - -"@emotion/hash@^0.9.1": - version "0.9.1" - resolved "https://registry.yarnpkg.com/@emotion/hash/-/hash-0.9.1.tgz#4ffb0055f7ef676ebc3a5a91fb621393294e2f43" - integrity sha512-gJB6HLm5rYwSLI6PQa+X1t5CFGrv1J1TWG+sOyMCeKz2ojaj6Fnl/rZEspogG+cvqbt4AE/2eIyD2QfLKTBNlQ== - -"@emotion/memoize@^0.8.1": - version "0.8.1" - resolved "https://registry.yarnpkg.com/@emotion/memoize/-/memoize-0.8.1.tgz#c1ddb040429c6d21d38cc945fe75c818cfb68e17" - integrity sha512-W2P2c/VRW1/1tLox0mVUalvnWXxavmv/Oum2aPsRcoDJuob75FC3Y8FbpfLwUegRcxINtGUMPq0tFCvYNTBXNA== - -"@emotion/react@11.10.6": - version "11.10.6" - resolved "https://registry.yarnpkg.com/@emotion/react/-/react-11.10.6.tgz#dbe5e650ab0f3b1d2e592e6ab1e006e75fd9ac11" - integrity sha512-6HT8jBmcSkfzO7mc+N1L9uwvOnlcGoix8Zn7srt+9ga0MjREo6lRpuVX0kzo6Jp6oTqDhREOFsygN6Ew4fEQbw== - dependencies: - "@babel/runtime" "^7.18.3" - "@emotion/babel-plugin" "^11.10.6" - "@emotion/cache" "^11.10.5" - "@emotion/serialize" "^1.1.1" - "@emotion/use-insertion-effect-with-fallbacks" "^1.0.0" - "@emotion/utils" "^1.2.0" - "@emotion/weak-memoize" "^0.3.0" - hoist-non-react-statics "^3.3.1" - -"@emotion/react@^11.8.1": - version "11.11.3" - resolved "https://registry.yarnpkg.com/@emotion/react/-/react-11.11.3.tgz#96b855dc40a2a55f52a72f518a41db4f69c31a25" - integrity sha512-Cnn0kuq4DoONOMcnoVsTOR8E+AdnKFf//6kUWc4LCdnxj31pZWn7rIULd6Y7/Js1PiPHzn7SKCM9vB/jBni8eA== - dependencies: - "@babel/runtime" "^7.18.3" - "@emotion/babel-plugin" "^11.11.0" - "@emotion/cache" "^11.11.0" - "@emotion/serialize" "^1.1.3" - "@emotion/use-insertion-effect-with-fallbacks" "^1.0.1" - "@emotion/utils" "^1.2.1" - "@emotion/weak-memoize" "^0.3.1" - hoist-non-react-statics "^3.3.1" - -"@emotion/serialize@^1.1.1", "@emotion/serialize@^1.1.2", "@emotion/serialize@^1.1.3": - version "1.1.3" - resolved "https://registry.yarnpkg.com/@emotion/serialize/-/serialize-1.1.3.tgz#84b77bfcfe3b7bb47d326602f640ccfcacd5ffb0" - integrity sha512-iD4D6QVZFDhcbH0RAG1uVu1CwVLMWUkCvAqqlewO/rxf8+87yIBAlt4+AxMiiKPLs5hFc0owNk/sLLAOROw3cA== - dependencies: - "@emotion/hash" "^0.9.1" - "@emotion/memoize" "^0.8.1" - "@emotion/unitless" "^0.8.1" - "@emotion/utils" "^1.2.1" - csstype "^3.0.2" - -"@emotion/sheet@^1.2.1", "@emotion/sheet@^1.2.2": - version "1.2.2" - resolved "https://registry.yarnpkg.com/@emotion/sheet/-/sheet-1.2.2.tgz#d58e788ee27267a14342303e1abb3d508b6d0fec" - integrity sha512-0QBtGvaqtWi+nx6doRwDdBIzhNdZrXUppvTM4dtZZWEGTXL/XE/yJxLMGlDT1Gt+UHH5IX1n+jkXyytE/av7OA== - -"@emotion/unitless@^0.8.1": - version "0.8.1" - resolved "https://registry.yarnpkg.com/@emotion/unitless/-/unitless-0.8.1.tgz#182b5a4704ef8ad91bde93f7a860a88fd92c79a3" - integrity sha512-KOEGMu6dmJZtpadb476IsZBclKvILjopjUii3V+7MnXIQCYh8W3NgNcgwo21n9LXZX6EDIKvqfjYxXebDwxKmQ== - -"@emotion/use-insertion-effect-with-fallbacks@^1.0.0", "@emotion/use-insertion-effect-with-fallbacks@^1.0.1": - version "1.0.1" - resolved "https://registry.yarnpkg.com/@emotion/use-insertion-effect-with-fallbacks/-/use-insertion-effect-with-fallbacks-1.0.1.tgz#08de79f54eb3406f9daaf77c76e35313da963963" - integrity sha512-jT/qyKZ9rzLErtrjGgdkMBn2OP8wl0G3sQlBb3YPryvKHsjvINUhVaPFfP+fpBcOkmrVOVEEHQFJ7nbj2TH2gw== - -"@emotion/utils@^1.2.0", "@emotion/utils@^1.2.1": - version "1.2.1" - resolved "https://registry.yarnpkg.com/@emotion/utils/-/utils-1.2.1.tgz#bbab58465738d31ae4cb3dbb6fc00a5991f755e4" - integrity sha512-Y2tGf3I+XVnajdItskUCn6LX+VUDmP6lTL4fcqsXAv43dnlbZiuW4MWQW38rW/BVWSE7Q/7+XQocmpnRYILUmg== - -"@emotion/weak-memoize@^0.3.0", "@emotion/weak-memoize@^0.3.1": - version "0.3.1" - resolved "https://registry.yarnpkg.com/@emotion/weak-memoize/-/weak-memoize-0.3.1.tgz#d0fce5d07b0620caa282b5131c297bb60f9d87e6" - integrity sha512-EsBwpc7hBUJWAsNPBmJy4hxWx12v6bshQsldrVmjxJoc3isbxhOrF2IcCpaXxfvq03NwkI7sbsOLXbYuqF/8Ww== - -"@es-joy/jsdoccomment@~0.39.4": - version "0.39.4" - resolved "https://registry.yarnpkg.com/@es-joy/jsdoccomment/-/jsdoccomment-0.39.4.tgz#6b8a62e9b3077027837728818d3c4389a898b392" - integrity sha512-Jvw915fjqQct445+yron7Dufix9A+m9j1fCJYlCo1FWlRvTxa3pjJelxdSTdaLWcTwRU6vbL+NYjO4YuNIS5Qg== - dependencies: - comment-parser "1.3.1" - esquery "^1.5.0" - jsdoc-type-pratt-parser "~4.0.0" - -"@eslint-community/eslint-utils@^4.2.0", "@eslint-community/eslint-utils@^4.4.0": - version "4.4.0" - resolved "https://registry.yarnpkg.com/@eslint-community/eslint-utils/-/eslint-utils-4.4.0.tgz#a23514e8fb9af1269d5f7788aa556798d61c6b59" - integrity sha512-1/sA4dwrzBAyeUoQ6oxahHKmrZvsnLCg4RfxW3ZFGGmQkSNQPFNLV9CUEFQP1x9EYXHTo5p6xdhZM1Ne9p/AfA== - dependencies: - eslint-visitor-keys "^3.3.0" - -"@eslint-community/regexpp@^4.4.0": - version "4.10.0" - resolved "https://registry.yarnpkg.com/@eslint-community/regexpp/-/regexpp-4.10.0.tgz#548f6de556857c8bb73bbee70c35dc82a2e74d63" - integrity sha512-Cu96Sd2By9mCNTx2iyKOmq10v22jUVQv0lQnlGNy16oE9589yE+QADPbrMGCkA51cKZSg3Pu/aTJVTGfL/qjUA== - -"@eslint/eslintrc@^2.0.3": - version "2.1.4" - resolved "https://registry.yarnpkg.com/@eslint/eslintrc/-/eslintrc-2.1.4.tgz#388a269f0f25c1b6adc317b5a2c55714894c70ad" - integrity sha512-269Z39MS6wVJtsoUl10L60WdkhJVdPG24Q4eZTH3nnF6lpvSShEK3wQjDX9JRWAUPvPh7COouPpU9IrqaZFvtQ== - dependencies: - ajv "^6.12.4" - debug "^4.3.2" - espree "^9.6.0" - globals "^13.19.0" - ignore "^5.2.0" - import-fresh "^3.2.1" - js-yaml "^4.1.0" - minimatch "^3.1.2" - strip-json-comments "^3.1.1" - -"@eslint/js@8.42.0": - version "8.42.0" - resolved "https://registry.yarnpkg.com/@eslint/js/-/js-8.42.0.tgz#484a1d638de2911e6f5a30c12f49c7e4a3270fb6" - integrity sha512-6SWlXpWU5AvId8Ac7zjzmIOqMOba/JWY8XZ4A7q7Gn1Vlfg/SFFIlrtHXt9nPn4op9ZPAkl91Jao+QQv3r/ukw== - -"@floating-ui/core@^1.6.0": - version "1.6.0" - resolved "https://registry.yarnpkg.com/@floating-ui/core/-/core-1.6.0.tgz#fa41b87812a16bf123122bf945946bae3fdf7fc1" - integrity sha512-PcF++MykgmTj3CIyOQbKA/hDzOAiqI3mhuoN44WRCopIs1sgoDoU4oty4Jtqaj/y3oDU6fnVSm4QG0a3t5i0+g== - dependencies: - "@floating-ui/utils" "^0.2.1" - -"@floating-ui/dom@^1.0.1": - version "1.6.0" - resolved "https://registry.yarnpkg.com/@floating-ui/dom/-/dom-1.6.0.tgz#282f31c5c7d2aaef3999e09f2c06280a020364d1" - integrity sha512-SZ0BEXzsaaS6THZfZJUcAobbZTD+MvfGM42bxgeg0Tnkp4/an/avqwAXiVLsFtIBZtfsx3Ymvwx0+KnnhdA/9g== - dependencies: - "@floating-ui/core" "^1.6.0" - "@floating-ui/utils" "^0.2.1" - -"@floating-ui/utils@^0.2.1": - version "0.2.1" - resolved "https://registry.yarnpkg.com/@floating-ui/utils/-/utils-0.2.1.tgz#16308cea045f0fc777b6ff20a9f25474dd8293d2" - integrity sha512-9TANp6GPoMtYzQdt54kfAyMmz1+osLlXdg2ENroU7zzrtflTLrrC/lgrIfaSe+Wu0b89GKccT7vxXA0MoAIO+Q== - -"@formatjs/ecma402-abstract@1.18.2": - version "1.18.2" - resolved "https://registry.yarnpkg.com/@formatjs/ecma402-abstract/-/ecma402-abstract-1.18.2.tgz#bf103712a406874eb1e387858d5be2371ab3aa14" - integrity sha512-+QoPW4csYALsQIl8GbN14igZzDbuwzcpWrku9nyMXlaqAlwRBgl5V+p0vWMGFqHOw37czNXaP/lEk4wbLgcmtA== - dependencies: - "@formatjs/intl-localematcher" "0.5.4" - tslib "^2.4.0" - -"@formatjs/fast-memoize@2.2.0": - version "2.2.0" - resolved "https://registry.yarnpkg.com/@formatjs/fast-memoize/-/fast-memoize-2.2.0.tgz#33bd616d2e486c3e8ef4e68c99648c196887802b" - integrity sha512-hnk/nY8FyrL5YxwP9e4r9dqeM6cAbo8PeU9UjyXojZMNvVad2Z06FAVHyR3Ecw6fza+0GH7vdJgiKIVXTMbSBA== - dependencies: - tslib "^2.4.0" - -"@formatjs/icu-messageformat-parser@2.7.5": - version "2.7.5" - resolved "https://registry.yarnpkg.com/@formatjs/icu-messageformat-parser/-/icu-messageformat-parser-2.7.5.tgz#6c12c08544eafef874df13b30729daf7b4dbd089" - integrity sha512-zCB53HdGDibh6/2ISEN3TGsFQruQ6gGKMFV94qHNyVrs0tNO6ncKhV0vq0n3Ydz8ipIQ2GaYAvfCoimNOVvKqA== - dependencies: - "@formatjs/ecma402-abstract" "1.18.2" - "@formatjs/icu-skeleton-parser" "1.7.2" - tslib "^2.4.0" - -"@formatjs/icu-skeleton-parser@1.7.2": - version "1.7.2" - resolved "https://registry.yarnpkg.com/@formatjs/icu-skeleton-parser/-/icu-skeleton-parser-1.7.2.tgz#ffbdd535c33249635ad0e54a34813194287a1567" - integrity sha512-nlIXVv280bjGW3ail5Np1+xgGKBnMhwQQIivgbk9xX0af8ESQO+y2VW9TOY7mCrs3WH786uVpZlLimXAlXH7SA== - dependencies: - "@formatjs/ecma402-abstract" "1.18.2" - tslib "^2.4.0" - -"@formatjs/intl-localematcher@0.5.4": - version "0.5.4" - resolved "https://registry.yarnpkg.com/@formatjs/intl-localematcher/-/intl-localematcher-0.5.4.tgz#caa71f2e40d93e37d58be35cfffe57865f2b366f" - integrity sha512-zTwEpWOzZ2CiKcB93BLngUX59hQkuZjT2+SAQEscSm52peDW/getsawMcWF1rGRpMCX6D7nSJA3CzJ8gn13N/g== - dependencies: - tslib "^2.4.0" - -"@grafana/data@10.0.3": - version "10.0.3" - resolved "https://registry.yarnpkg.com/@grafana/data/-/data-10.0.3.tgz#648f4560daf102fe44afad35ac2b95aab29c441e" - integrity sha512-JW2A5DK+D6cmijDP1S/+/yYXz+NN0nElzvYiv1nesrNdd/4tNKPVtokX/bg0jdWgGc6Kpt3wJNv6gkxDQg8+PQ== - dependencies: - "@braintree/sanitize-url" "6.0.2" - "@grafana/schema" "10.0.3" - "@types/d3-interpolate" "^3.0.0" - "@types/string-hash" "1.1.1" - d3-interpolate "3.0.1" - date-fns "2.29.3" - dompurify "^2.4.3" - eventemitter3 "5.0.0" - fast_array_intersect "1.1.0" - history "4.10.1" - lodash "4.17.21" - marked "4.2.12" - moment "2.29.4" - moment-timezone "0.5.41" - ol "7.2.2" - papaparse "5.3.2" - react-use "17.4.0" - regenerator-runtime "0.13.11" - rxjs "7.8.0" - string-hash "^1.1.3" - tinycolor2 "1.6.0" - tslib "2.5.0" - uplot "1.6.24" - xss "^1.0.14" - -"@grafana/e2e-selectors@10.0.2": - version "10.0.2" - resolved "https://registry.yarnpkg.com/@grafana/e2e-selectors/-/e2e-selectors-10.0.2.tgz#98cd7fa01ca21b416db8827980508195554fb5a4" - integrity sha512-3dc+2hL/AJLkOMXiN2UmWU3kOHO4Eqv10AJVOTkpDwecQvWoSS5vtflyPCEWshDqDSE/6k2gB9N2rlZk9O/R5g== - dependencies: - "@grafana/tsconfig" "^1.2.0-rc1" - tslib "2.5.0" - typescript "4.8.4" - -"@grafana/e2e-selectors@10.0.3": - version "10.0.3" - resolved "https://registry.yarnpkg.com/@grafana/e2e-selectors/-/e2e-selectors-10.0.3.tgz#e03521f0d46c4eea8daebf3eddc66e166dedb500" - integrity sha512-GknlCJ6XAjKlYH6mYAtJNSir5naTV2VUJVFeG5O7dRATtzG/bzw9PBaRljWZ0j5AC73lsxb5/A3+H0FpYP3Y1g== - dependencies: - "@grafana/tsconfig" "^1.2.0-rc1" - tslib "2.5.0" - typescript "4.8.4" - -"@grafana/e2e@10.0.3": - version "10.0.3" - resolved "https://registry.yarnpkg.com/@grafana/e2e/-/e2e-10.0.3.tgz#9150b48fcaf6f02336c0b7fd84fa824f12fa11df" - integrity sha512-JRSpHfNPmK2DTBWPabBn8KtmJ8KKnjysvR7Wy7yV2Msg3ryx8+R4CjHXtO3kpVDqxr8KZ7hWQYWxxKxHtV8yUQ== - dependencies: - "@babel/core" "7.20.5" - "@babel/preset-env" "7.20.2" - "@cypress/webpack-preprocessor" "5.17.0" - "@grafana/e2e-selectors" "10.0.3" - "@grafana/tsconfig" "^1.2.0-rc1" - "@mochajs/json-file-reporter" "^1.2.0" - babel-loader "9.1.2" - blink-diff "1.0.13" - chrome-remote-interface "0.32.1" - commander "8.3.0" - cypress "9.5.1" - cypress-file-upload "5.0.8" - devtools-protocol "0.0.1113774" - execa "5.1.1" - lodash "4.17.21" - mocha "10.2.0" - resolve-bin "1.0.1" - rimraf "4.4.0" - tracelib "1.0.1" - ts-loader "8.4.0" - tslib "2.5.0" - typescript "4.8.4" - uuid "9.0.0" - yaml "^2.0.0" - -"@grafana/eslint-config@^6.0.0": - version "6.0.1" - resolved "https://registry.yarnpkg.com/@grafana/eslint-config/-/eslint-config-6.0.1.tgz#70f3e1990ab83591b566dec7bce214a1eb4d09c4" - integrity sha512-Tv6BUyJu2kHjrghkQJGhVCwJfNeyNbf/UqqUDW5j04+R0Y4YgWshZ4FrJibkfJc26/3UvfYSnYd+On1psbQIlA== - dependencies: - "@typescript-eslint/eslint-plugin" "5.59.9" - "@typescript-eslint/parser" "5.59.9" - eslint "8.42.0" - eslint-config-prettier "8.8.0" - eslint-plugin-jsdoc "46.2.6" - eslint-plugin-react "7.32.2" - eslint-plugin-react-hooks "4.6.0" - typescript "4.8.4" - -"@grafana/faro-core@^1.0.2": - version "1.3.6" - resolved "https://registry.yarnpkg.com/@grafana/faro-core/-/faro-core-1.3.6.tgz#7e4f2754e35d683c259af2ee4851aceadbfca8ad" - integrity sha512-1N/VWOIuukvqJUbpGRmendbJSG8hEvMqUV79+jPrhSRjM2VlNsqtFC/0VdW9mpQPpZh2cOyI5bPjuAZsRe7+Xw== - dependencies: - "@opentelemetry/api" "^1.7.0" - "@opentelemetry/otlp-transformer" "^0.45.1" - murmurhash-js "^1.0.0" - -"@grafana/faro-web-sdk@1.0.2": - version "1.0.2" - resolved "https://registry.yarnpkg.com/@grafana/faro-web-sdk/-/faro-web-sdk-1.0.2.tgz#24e305a5d91fccc9c57577606f0adb12ad7f4a93" - integrity sha512-C5Cx1owlhdpa+CSu4s5cBN9jmFGfhdoUilWc9bP0gK5LW/MIPlysYNgE/1jCyYYQekOnQPNAxwBUOx1c0kbDqg== - dependencies: - "@grafana/faro-core" "^1.0.2" - ua-parser-js "^1.0.32" - web-vitals "^3.1.1" - -"@grafana/runtime@10.0.3": - version "10.0.3" - resolved "https://registry.yarnpkg.com/@grafana/runtime/-/runtime-10.0.3.tgz#b1f25634ce48054979f3dcffd5b9b6c8988e27d0" - integrity sha512-yqab2KW67+2S+kKUscniSC8t1HRqzArvbHaYV8t/DVe1u1M3gPvCq3+770p04KZ9C/ienBTV8SnLXsqFQZsqjw== - dependencies: - "@grafana/data" "10.0.3" - "@grafana/e2e-selectors" "10.0.3" - "@grafana/faro-web-sdk" "1.0.2" - "@grafana/ui" "10.0.3" - "@sentry/browser" "6.19.7" - history "4.10.1" - lodash "4.17.21" - rxjs "7.8.0" - systemjs "0.20.19" - tslib "2.5.0" - -"@grafana/scenes@^1.28.0": - version "1.30.0" - resolved "https://registry.yarnpkg.com/@grafana/scenes/-/scenes-1.30.0.tgz#2dbf76488a25fa8ac91abb49fdea6d04d5b6e8f0" - integrity sha512-vrSvziS7FkoGBqexEmMuN7Hp4VvLQZKoo1s58/3ghJ6VYRZCFY/R2XyJC2H+ktMPqZ1lrXcQHGdIEx9csGMQyA== - dependencies: - "@grafana/e2e-selectors" "10.0.2" - react-grid-layout "1.3.4" - react-use "17.4.0" - react-virtualized-auto-sizer "1.0.7" - uuid "^9.0.0" - -"@grafana/schema@10.0.3": - version "10.0.3" - resolved "https://registry.yarnpkg.com/@grafana/schema/-/schema-10.0.3.tgz#d8aaa9aa309d0639258af787bec06ed5b75f356f" - integrity sha512-0CBAB3HamQBuNaQXpN1B27Pq7yfFs5VBf7Y1vbuUcNnYEnZg4YtbBR8IiVeCLl3v4NjauskbRIu7iTafZOcBpQ== - dependencies: - tslib "2.5.0" - -"@grafana/tsconfig@^1.2.0-rc1": - version "1.2.0-rc1" - resolved "https://registry.yarnpkg.com/@grafana/tsconfig/-/tsconfig-1.2.0-rc1.tgz#10973c978ec95b0ea637511254b5f478bce04de7" - integrity sha512-+SgQeBQ1pT6D/E3/dEdADqTrlgdIGuexUZ8EU+8KxQFKUeFeU7/3z/ayI2q/wpJ/Kr6WxBBNlrST6aOKia19Ag== - -"@grafana/ui@10.0.3": - version "10.0.3" - resolved "https://registry.yarnpkg.com/@grafana/ui/-/ui-10.0.3.tgz#ef63fcce3e8357796cb2ef4f29b0213876c5e07f" - integrity sha512-X3Lzd4G1X5rJsqGcu9lSbF22BxxQQUjV9sVzoFTDU2losCDgZRyM3IWfeH/ASbpBv+3c9EU6OiEycscbjuWKqg== - dependencies: - "@emotion/css" "11.10.6" - "@emotion/react" "11.10.6" - "@grafana/data" "10.0.3" - "@grafana/e2e-selectors" "10.0.3" - "@grafana/faro-web-sdk" "1.0.2" - "@grafana/schema" "10.0.3" - "@leeoniya/ufuzzy" "1.0.6" - "@monaco-editor/react" "4.4.6" - "@popperjs/core" "2.11.6" - "@react-aria/button" "3.6.1" - "@react-aria/dialog" "3.3.1" - "@react-aria/focus" "3.8.0" - "@react-aria/menu" "3.6.1" - "@react-aria/overlays" "3.10.1" - "@react-aria/utils" "3.13.1" - "@react-stately/menu" "3.4.1" - "@sentry/browser" "6.19.7" - ansicolor "1.1.100" - calculate-size "1.1.1" - classnames "2.3.2" - core-js "3.28.0" - d3 "7.8.2" - date-fns "2.29.3" - hoist-non-react-statics "3.3.2" - i18next "^22.0.0" - immutable "4.2.4" - is-hotkey "0.2.0" - jquery "3.6.3" - lodash "4.17.21" - memoize-one "6.0.0" - moment "2.29.4" - monaco-editor "0.34.0" - ol "7.2.2" - prismjs "1.29.0" - rc-cascader "3.10.2" - rc-drawer "6.1.3" - rc-slider "10.1.1" - rc-time-picker "^3.7.3" - rc-tooltip "5.3.1" - react-beautiful-dnd "13.1.1" - react-calendar "4.0.0" - react-colorful "5.6.1" - react-custom-scrollbars-2 "4.5.0" - react-dropzone "14.2.3" - react-highlight-words "0.20.0" - react-hook-form "7.5.3" - react-i18next "^12.0.0" - react-inlinesvg "3.0.2" - react-popper "2.3.0" - react-popper-tooltip "4.4.2" - react-router-dom "5.3.3" - react-select "5.7.0" - react-select-event "^5.1.0" - react-table "7.8.0" - react-transition-group "4.4.5" - react-use "17.4.0" - react-window "1.8.8" - rxjs "7.8.0" - slate "0.47.9" - slate-plain-serializer "0.7.13" - slate-react "0.22.10" - tinycolor2 "1.6.0" - tslib "2.5.0" - uplot "1.6.24" - uuid "9.0.0" - -"@humanwhocodes/config-array@^0.11.10": - version "0.11.14" - resolved "https://registry.yarnpkg.com/@humanwhocodes/config-array/-/config-array-0.11.14.tgz#d78e481a039f7566ecc9660b4ea7fe6b1fec442b" - integrity sha512-3T8LkOmg45BV5FICb15QQMsyUSWrQ8AygVfC7ZG32zOalnqrilm018ZVCw0eapXux8FtA33q8PSRSstjee3jSg== - dependencies: - "@humanwhocodes/object-schema" "^2.0.2" - debug "^4.3.1" - minimatch "^3.0.5" - -"@humanwhocodes/module-importer@^1.0.1": - version "1.0.1" - resolved "https://registry.yarnpkg.com/@humanwhocodes/module-importer/-/module-importer-1.0.1.tgz#af5b2691a22b44be847b0ca81641c5fb6ad0172c" - integrity sha512-bxveV4V8v5Yb4ncFTT3rPSgZBOpCkjfK0y4oVVVJwIuDVBRMDXrPyXRL988i5ap9m9bnyEEjWfm5WkBmtffLfA== - -"@humanwhocodes/object-schema@^2.0.2": - version "2.0.2" - resolved "https://registry.yarnpkg.com/@humanwhocodes/object-schema/-/object-schema-2.0.2.tgz#d9fae00a2d5cb40f92cfe64b47ad749fbc38f917" - integrity sha512-6EwiSjwWYP7pTckG6I5eyFANjPhmPjUX9JRLUSfNPC7FX7zK9gyZAfUEaECL6ALTpGX5AjnBq3C9XmVWPitNpw== - -"@internationalized/date@^3.5.1": - version "3.5.1" - resolved "https://registry.yarnpkg.com/@internationalized/date/-/date-3.5.1.tgz#14401139f70c1ef14b845d3cac8912e82e82adcc" - integrity sha512-LUQIfwU9e+Fmutc/DpRTGXSdgYZLBegi4wygCWDSVmUdLTaMHsQyASDiJtREwanwKuQLq0hY76fCJ9J/9I2xOQ== - dependencies: - "@swc/helpers" "^0.5.0" - -"@internationalized/message@^3.1.1": - version "3.1.1" - resolved "https://registry.yarnpkg.com/@internationalized/message/-/message-3.1.1.tgz#0f29c5a239b5dcd457b55f21dcd38d1a44a1236a" - integrity sha512-ZgHxf5HAPIaR0th+w0RUD62yF6vxitjlprSxmLJ1tam7FOekqRSDELMg4Cr/DdszG5YLsp5BG3FgHgqquQZbqw== - dependencies: - "@swc/helpers" "^0.5.0" - intl-messageformat "^10.1.0" - -"@internationalized/number@^3.5.0": - version "3.5.0" - resolved "https://registry.yarnpkg.com/@internationalized/number/-/number-3.5.0.tgz#9de6018424b441a6545f209afa286ad7df4a2906" - integrity sha512-ZY1BW8HT9WKYvaubbuqXbbDdHhOUMfE2zHHFJeTppid0S+pc8HtdIxFxaYMsGjCb4UsF+MEJ4n2TfU7iHnUK8w== - dependencies: - "@swc/helpers" "^0.5.0" - -"@internationalized/string@^3.2.0": - version "3.2.0" - resolved "https://registry.yarnpkg.com/@internationalized/string/-/string-3.2.0.tgz#cb7d2229919ccbfb9f3312710477f28986d217d6" - integrity sha512-Xx3Sy3f2c9ctT+vh8c7euEaEHQZltp0euZ3Hy4UfT3E13r6lxpUS3kgKyumEjboJZSnaZv7JhqWz3D75v+IxQg== - dependencies: - "@swc/helpers" "^0.5.0" - -"@isaacs/cliui@^8.0.2": - version "8.0.2" - resolved "https://registry.yarnpkg.com/@isaacs/cliui/-/cliui-8.0.2.tgz#b37667b7bc181c168782259bab42474fbf52b550" - integrity sha512-O8jcjabXaleOG9DQ0+ARXWZBTfnP4WNAqzuiJK7ll44AmxGKv/J2M4TPjxjY3znBCfvBXFzucm1twdyFybFqEA== - dependencies: - string-width "^5.1.2" - string-width-cjs "npm:string-width@^4.2.0" - strip-ansi "^7.0.1" - strip-ansi-cjs "npm:strip-ansi@^6.0.1" - wrap-ansi "^8.1.0" - wrap-ansi-cjs "npm:wrap-ansi@^7.0.0" - -"@istanbuljs/load-nyc-config@^1.0.0": - version "1.1.0" - resolved "https://registry.yarnpkg.com/@istanbuljs/load-nyc-config/-/load-nyc-config-1.1.0.tgz#fd3db1d59ecf7cf121e80650bb86712f9b55eced" - integrity sha512-VjeHSlIzpv/NyD3N0YuHfXOPDIixcA1q2ZV98wsMqcYlPmv2n3Yb2lYP9XMElnaFVXg5A7YLTeLu6V84uQDjmQ== - dependencies: - camelcase "^5.3.1" - find-up "^4.1.0" - get-package-type "^0.1.0" - js-yaml "^3.13.1" - resolve-from "^5.0.0" - -"@istanbuljs/schema@^0.1.2": - version "0.1.3" - resolved "https://registry.yarnpkg.com/@istanbuljs/schema/-/schema-0.1.3.tgz#e45e384e4b8ec16bce2fd903af78450f6bf7ec98" - integrity sha512-ZXRY4jNvVgSVQ8DL3LTcakaAtXwTVUxE81hslsyD2AtoXW/wVob10HkOJ1X/pAlcI7D+2YoZKg5do8G/w6RYgA== - -"@jest/console@^29.7.0": - version "29.7.0" - resolved "https://registry.yarnpkg.com/@jest/console/-/console-29.7.0.tgz#cd4822dbdb84529265c5a2bdb529a3c9cc950ffc" - integrity sha512-5Ni4CU7XHQi32IJ398EEP4RrB8eV09sXP2ROqD4bksHrnTree52PsxvX8tpL8LvTZ3pFzXyPbNQReSN41CAhOg== - dependencies: - "@jest/types" "^29.6.3" - "@types/node" "*" - chalk "^4.0.0" - jest-message-util "^29.7.0" - jest-util "^29.7.0" - slash "^3.0.0" - -"@jest/core@^29.7.0": - version "29.7.0" - resolved "https://registry.yarnpkg.com/@jest/core/-/core-29.7.0.tgz#b6cccc239f30ff36609658c5a5e2291757ce448f" - integrity sha512-n7aeXWKMnGtDA48y8TLWJPJmLmmZ642Ceo78cYWEpiD7FzDgmNDV/GCVRorPABdXLJZ/9wzzgZAlHjXjxDHGsg== - dependencies: - "@jest/console" "^29.7.0" - "@jest/reporters" "^29.7.0" - "@jest/test-result" "^29.7.0" - "@jest/transform" "^29.7.0" - "@jest/types" "^29.6.3" - "@types/node" "*" - ansi-escapes "^4.2.1" - chalk "^4.0.0" - ci-info "^3.2.0" - exit "^0.1.2" - graceful-fs "^4.2.9" - jest-changed-files "^29.7.0" - jest-config "^29.7.0" - jest-haste-map "^29.7.0" - jest-message-util "^29.7.0" - jest-regex-util "^29.6.3" - jest-resolve "^29.7.0" - jest-resolve-dependencies "^29.7.0" - jest-runner "^29.7.0" - jest-runtime "^29.7.0" - jest-snapshot "^29.7.0" - jest-util "^29.7.0" - jest-validate "^29.7.0" - jest-watcher "^29.7.0" - micromatch "^4.0.4" - pretty-format "^29.7.0" - slash "^3.0.0" - strip-ansi "^6.0.0" - -"@jest/create-cache-key-function@^29.7.0": - version "29.7.0" - resolved "https://registry.yarnpkg.com/@jest/create-cache-key-function/-/create-cache-key-function-29.7.0.tgz#793be38148fab78e65f40ae30c36785f4ad859f0" - integrity sha512-4QqS3LY5PBmTRHj9sAg1HLoPzqAI0uOX6wI/TRqHIcOxlFidy6YEmCQJk6FSZjNLGCeubDMfmkWL+qaLKhSGQA== - dependencies: - "@jest/types" "^29.6.3" - -"@jest/environment@^29.7.0": - version "29.7.0" - resolved "https://registry.yarnpkg.com/@jest/environment/-/environment-29.7.0.tgz#24d61f54ff1f786f3cd4073b4b94416383baf2a7" - integrity sha512-aQIfHDq33ExsN4jP1NWGXhxgQ/wixs60gDiKO+XVMd8Mn0NWPWgc34ZQDTb2jKaUWQ7MuwoitXAsN2XVXNMpAw== - dependencies: - "@jest/fake-timers" "^29.7.0" - "@jest/types" "^29.6.3" - "@types/node" "*" - jest-mock "^29.7.0" - -"@jest/expect-utils@^29.7.0": - version "29.7.0" - resolved "https://registry.yarnpkg.com/@jest/expect-utils/-/expect-utils-29.7.0.tgz#023efe5d26a8a70f21677d0a1afc0f0a44e3a1c6" - integrity sha512-GlsNBWiFQFCVi9QVSx7f5AgMeLxe9YCCs5PuP2O2LdjDAA8Jh9eX7lA1Jq/xdXw3Wb3hyvlFNfZIfcRetSzYcA== - dependencies: - jest-get-type "^29.6.3" - -"@jest/expect@^29.7.0": - version "29.7.0" - resolved "https://registry.yarnpkg.com/@jest/expect/-/expect-29.7.0.tgz#76a3edb0cb753b70dfbfe23283510d3d45432bf2" - integrity sha512-8uMeAMycttpva3P1lBHB8VciS9V0XAr3GymPpipdyQXbBcuhkLQOSe8E/p92RyAdToS6ZD1tFkX+CkhoECE0dQ== - dependencies: - expect "^29.7.0" - jest-snapshot "^29.7.0" - -"@jest/fake-timers@^29.7.0": - version "29.7.0" - resolved "https://registry.yarnpkg.com/@jest/fake-timers/-/fake-timers-29.7.0.tgz#fd91bf1fffb16d7d0d24a426ab1a47a49881a565" - integrity sha512-q4DH1Ha4TTFPdxLsqDXK1d3+ioSL7yL5oCMJZgDYm6i+6CygW5E5xVr/D1HdsGxjt1ZWSfUAs9OxSB/BNelWrQ== - dependencies: - "@jest/types" "^29.6.3" - "@sinonjs/fake-timers" "^10.0.2" - "@types/node" "*" - jest-message-util "^29.7.0" - jest-mock "^29.7.0" - jest-util "^29.7.0" - -"@jest/globals@^29.7.0": - version "29.7.0" - resolved "https://registry.yarnpkg.com/@jest/globals/-/globals-29.7.0.tgz#8d9290f9ec47ff772607fa864ca1d5a2efae1d4d" - integrity sha512-mpiz3dutLbkW2MNFubUGUEVLkTGiqW6yLVTA+JbP6fI6J5iL9Y0Nlg8k95pcF8ctKwCS7WVxteBs29hhfAotzQ== - dependencies: - "@jest/environment" "^29.7.0" - "@jest/expect" "^29.7.0" - "@jest/types" "^29.6.3" - jest-mock "^29.7.0" - -"@jest/reporters@^29.7.0": - version "29.7.0" - resolved "https://registry.yarnpkg.com/@jest/reporters/-/reporters-29.7.0.tgz#04b262ecb3b8faa83b0b3d321623972393e8f4c7" - integrity sha512-DApq0KJbJOEzAFYjHADNNxAE3KbhxQB1y5Kplb5Waqw6zVbuWatSnMjE5gs8FUgEPmNsnZA3NCWl9NG0ia04Pg== - dependencies: - "@bcoe/v8-coverage" "^0.2.3" - "@jest/console" "^29.7.0" - "@jest/test-result" "^29.7.0" - "@jest/transform" "^29.7.0" - "@jest/types" "^29.6.3" - "@jridgewell/trace-mapping" "^0.3.18" - "@types/node" "*" - chalk "^4.0.0" - collect-v8-coverage "^1.0.0" - exit "^0.1.2" - glob "^7.1.3" - graceful-fs "^4.2.9" - istanbul-lib-coverage "^3.0.0" - istanbul-lib-instrument "^6.0.0" - istanbul-lib-report "^3.0.0" - istanbul-lib-source-maps "^4.0.0" - istanbul-reports "^3.1.3" - jest-message-util "^29.7.0" - jest-util "^29.7.0" - jest-worker "^29.7.0" - slash "^3.0.0" - string-length "^4.0.1" - strip-ansi "^6.0.0" - v8-to-istanbul "^9.0.1" - -"@jest/schemas@^29.6.3": - version "29.6.3" - resolved "https://registry.yarnpkg.com/@jest/schemas/-/schemas-29.6.3.tgz#430b5ce8a4e0044a7e3819663305a7b3091c8e03" - integrity sha512-mo5j5X+jIZmJQveBKeS/clAueipV7KgiX1vMgCxam1RNYiqE1w62n0/tJJnHtjW8ZHcQco5gY85jA3mi0L+nSA== - dependencies: - "@sinclair/typebox" "^0.27.8" - -"@jest/source-map@^29.6.3": - version "29.6.3" - resolved "https://registry.yarnpkg.com/@jest/source-map/-/source-map-29.6.3.tgz#d90ba772095cf37a34a5eb9413f1b562a08554c4" - integrity sha512-MHjT95QuipcPrpLM+8JMSzFx6eHp5Bm+4XeFDJlwsvVBjmKNiIAvasGK2fxz2WbGRlnvqehFbh07MMa7n3YJnw== - dependencies: - "@jridgewell/trace-mapping" "^0.3.18" - callsites "^3.0.0" - graceful-fs "^4.2.9" - -"@jest/test-result@^29.7.0": - version "29.7.0" - resolved "https://registry.yarnpkg.com/@jest/test-result/-/test-result-29.7.0.tgz#8db9a80aa1a097bb2262572686734baed9b1657c" - integrity sha512-Fdx+tv6x1zlkJPcWXmMDAG2HBnaR9XPSd5aDWQVsfrZmLVT3lU1cwyxLgRmXR9yrq4NBoEm9BMsfgFzTQAbJYA== - dependencies: - "@jest/console" "^29.7.0" - "@jest/types" "^29.6.3" - "@types/istanbul-lib-coverage" "^2.0.0" - collect-v8-coverage "^1.0.0" - -"@jest/test-sequencer@^29.7.0": - version "29.7.0" - resolved "https://registry.yarnpkg.com/@jest/test-sequencer/-/test-sequencer-29.7.0.tgz#6cef977ce1d39834a3aea887a1726628a6f072ce" - integrity sha512-GQwJ5WZVrKnOJuiYiAF52UNUJXgTZx1NHjFSEB0qEMmSZKAkdMoIzw/Cj6x6NF4AvV23AUqDpFzQkN/eYCYTxw== - dependencies: - "@jest/test-result" "^29.7.0" - graceful-fs "^4.2.9" - jest-haste-map "^29.7.0" - slash "^3.0.0" - -"@jest/transform@^29.7.0": - version "29.7.0" - resolved "https://registry.yarnpkg.com/@jest/transform/-/transform-29.7.0.tgz#df2dd9c346c7d7768b8a06639994640c642e284c" - integrity sha512-ok/BTPFzFKVMwO5eOHRrvnBVHdRy9IrsrW1GpMaQ9MCnilNLXQKmAX8s1YXDFaai9xJpac2ySzV0YeRRECr2Vw== - dependencies: - "@babel/core" "^7.11.6" - "@jest/types" "^29.6.3" - "@jridgewell/trace-mapping" "^0.3.18" - babel-plugin-istanbul "^6.1.1" - chalk "^4.0.0" - convert-source-map "^2.0.0" - fast-json-stable-stringify "^2.1.0" - graceful-fs "^4.2.9" - jest-haste-map "^29.7.0" - jest-regex-util "^29.6.3" - jest-util "^29.7.0" - micromatch "^4.0.4" - pirates "^4.0.4" - slash "^3.0.0" - write-file-atomic "^4.0.2" - -"@jest/types@^29.6.3": - version "29.6.3" - resolved "https://registry.yarnpkg.com/@jest/types/-/types-29.6.3.tgz#1131f8cf634e7e84c5e77bab12f052af585fba59" - integrity sha512-u3UPsIilWKOM3F9CXtrG8LEJmNxwoCQC/XVj4IKYXvvpx7QIi/Kg1LI5uDmDpKlac62NUtX7eLjRh+jVZcLOzw== - dependencies: - "@jest/schemas" "^29.6.3" - "@types/istanbul-lib-coverage" "^2.0.0" - "@types/istanbul-reports" "^3.0.0" - "@types/node" "*" - "@types/yargs" "^17.0.8" - chalk "^4.0.0" - -"@jridgewell/gen-mapping@^0.3.0", "@jridgewell/gen-mapping@^0.3.2": - version "0.3.3" - resolved "https://registry.yarnpkg.com/@jridgewell/gen-mapping/-/gen-mapping-0.3.3.tgz#7e02e6eb5df901aaedb08514203b096614024098" - integrity sha512-HLhSWOLRi875zjjMG/r+Nv0oCW8umGb0BgEhyX3dDX3egwZtB8PqLnjz3yedt8R5StBrzcg4aBpnh8UA9D1BoQ== - dependencies: - "@jridgewell/set-array" "^1.0.1" - "@jridgewell/sourcemap-codec" "^1.4.10" - "@jridgewell/trace-mapping" "^0.3.9" - -"@jridgewell/resolve-uri@^3.0.3", "@jridgewell/resolve-uri@^3.1.0": - version "3.1.1" - resolved "https://registry.yarnpkg.com/@jridgewell/resolve-uri/-/resolve-uri-3.1.1.tgz#c08679063f279615a3326583ba3a90d1d82cc721" - integrity sha512-dSYZh7HhCDtCKm4QakX0xFpsRDqjjtZf/kjI/v3T3Nwt5r8/qz/M19F9ySyOqU94SXBmeG9ttTul+YnR4LOxFA== - -"@jridgewell/set-array@^1.0.1": - version "1.1.2" - resolved "https://registry.yarnpkg.com/@jridgewell/set-array/-/set-array-1.1.2.tgz#7c6cf998d6d20b914c0a55a91ae928ff25965e72" - integrity sha512-xnkseuNADM0gt2bs+BvhO0p78Mk762YnZdsuzFV018NoG1Sj1SCQvpSqa7XUaTam5vAGasABV9qXASMKnFMwMw== - -"@jridgewell/source-map@^0.3.3": - version "0.3.5" - resolved "https://registry.yarnpkg.com/@jridgewell/source-map/-/source-map-0.3.5.tgz#a3bb4d5c6825aab0d281268f47f6ad5853431e91" - integrity sha512-UTYAUj/wviwdsMfzoSJspJxbkH5o1snzwX0//0ENX1u/55kkZZkcTZP6u9bwKGkv+dkk9at4m1Cpt0uY80kcpQ== - dependencies: - "@jridgewell/gen-mapping" "^0.3.0" - "@jridgewell/trace-mapping" "^0.3.9" - -"@jridgewell/sourcemap-codec@^1.4.10", "@jridgewell/sourcemap-codec@^1.4.14", "@jridgewell/sourcemap-codec@^1.4.15": - version "1.4.15" - resolved "https://registry.yarnpkg.com/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.4.15.tgz#d7c6e6755c78567a951e04ab52ef0fd26de59f32" - integrity sha512-eF2rxCRulEKXHTRiDrDy6erMYWqNw4LPdQ8UQA4huuxaQsVeRPFl2oM8oDGxMFhJUWZf9McpLtJasDDZb/Bpeg== - -"@jridgewell/trace-mapping@0.3.9": - version "0.3.9" - resolved "https://registry.yarnpkg.com/@jridgewell/trace-mapping/-/trace-mapping-0.3.9.tgz#6534fd5933a53ba7cbf3a17615e273a0d1273ff9" - integrity sha512-3Belt6tdc8bPgAtbcmdtNJlirVoTmEb5e2gC94PnkwEW9jI6CAHUeoG85tjWP5WquqfavoMtMwiG4P926ZKKuQ== - dependencies: - "@jridgewell/resolve-uri" "^3.0.3" - "@jridgewell/sourcemap-codec" "^1.4.10" - -"@jridgewell/trace-mapping@^0.3.12", "@jridgewell/trace-mapping@^0.3.17", "@jridgewell/trace-mapping@^0.3.18", "@jridgewell/trace-mapping@^0.3.20", "@jridgewell/trace-mapping@^0.3.9": - version "0.3.22" - resolved "https://registry.yarnpkg.com/@jridgewell/trace-mapping/-/trace-mapping-0.3.22.tgz#72a621e5de59f5f1ef792d0793a82ee20f645e4c" - integrity sha512-Wf963MzWtA2sjrNt+g18IAln9lKnlRp+K2eH4jjIoF1wYeq3aMREpG09xhlhdzS0EjwU7qmUJYangWa+151vZw== - dependencies: - "@jridgewell/resolve-uri" "^3.1.0" - "@jridgewell/sourcemap-codec" "^1.4.14" - -"@leeoniya/ufuzzy@1.0.6": - version "1.0.6" - resolved "https://registry.yarnpkg.com/@leeoniya/ufuzzy/-/ufuzzy-1.0.6.tgz#cbafcff1529d9592b92bd735f1e8b18f23eda983" - integrity sha512-7co2giTKNKESSEqW+nijF2cGG92WtlGkxFFq7dnwQTemS209JzTLODsnF1pS4KMr3S9xa7WheeCKfGVo5U7s6g== - -"@mapbox/jsonlint-lines-primitives@~2.0.2": - version "2.0.2" - resolved "https://registry.yarnpkg.com/@mapbox/jsonlint-lines-primitives/-/jsonlint-lines-primitives-2.0.2.tgz#ce56e539f83552b58d10d672ea4d6fc9adc7b234" - integrity sha512-rY0o9A5ECsTQRVhv7tL/OyDpGAoUB4tTvLiW1DSzQGq4bvTPhNw1VpSNjDJc5GFZ2XuyOtSWSVN05qOtcD71qQ== - -"@mapbox/mapbox-gl-style-spec@^13.23.1": - version "13.28.0" - resolved "https://registry.yarnpkg.com/@mapbox/mapbox-gl-style-spec/-/mapbox-gl-style-spec-13.28.0.tgz#2ec226320a0f77856046e000df9b419303a56458" - integrity sha512-B8xM7Fp1nh5kejfIl4SWeY0gtIeewbuRencqO3cJDrCHZpaPg7uY+V8abuR+esMeuOjRl5cLhVTP40v+1ywxbg== - dependencies: - "@mapbox/jsonlint-lines-primitives" "~2.0.2" - "@mapbox/point-geometry" "^0.1.0" - "@mapbox/unitbezier" "^0.0.0" - csscolorparser "~1.0.2" - json-stringify-pretty-compact "^2.0.0" - minimist "^1.2.6" - rw "^1.3.3" - sort-object "^0.3.2" - -"@mapbox/point-geometry@^0.1.0": - version "0.1.0" - resolved "https://registry.yarnpkg.com/@mapbox/point-geometry/-/point-geometry-0.1.0.tgz#8a83f9335c7860effa2eeeca254332aa0aeed8f2" - integrity sha512-6j56HdLTwWGO0fJPlrZtdU/B13q8Uwmo18Ck2GnGgN9PCFyKTZ3UbXeEdRFh18i9XQ92eH2VdtpJHpBD3aripQ== - -"@mapbox/unitbezier@^0.0.0": - version "0.0.0" - resolved "https://registry.yarnpkg.com/@mapbox/unitbezier/-/unitbezier-0.0.0.tgz#15651bd553a67b8581fb398810c98ad86a34524e" - integrity sha512-HPnRdYO0WjFjRTSwO3frz1wKaU649OBFPX3Zo/2WZvuRi6zMiRGui8SnPQiQABgqCf8YikDe5t3HViTVw1WUzA== - -"@mochajs/json-file-reporter@^1.2.0": - version "1.3.0" - resolved "https://registry.yarnpkg.com/@mochajs/json-file-reporter/-/json-file-reporter-1.3.0.tgz#63a53bcda93d75f5c5c74af60e45da063931370b" - integrity sha512-evIxpeP8EOixo/T2xh5xYEIzwbEHk8YNJfRUm1KeTs8F3bMjgNn2580Ogze9yisXNlTxu88JiJJYzXjjg5NdLA== - -"@monaco-editor/loader@^1.3.2": - version "1.4.0" - resolved "https://registry.yarnpkg.com/@monaco-editor/loader/-/loader-1.4.0.tgz#f08227057331ec890fa1e903912a5b711a2ad558" - integrity sha512-00ioBig0x642hytVspPl7DbQyaSWRaolYie/UFNjoTdvoKPzo6xrXLhTk9ixgIKcLH5b5vDOjVNiGyY+uDCUlg== - dependencies: - state-local "^1.0.6" - -"@monaco-editor/react@4.4.6": - version "4.4.6" - resolved "https://registry.yarnpkg.com/@monaco-editor/react/-/react-4.4.6.tgz#8ae500b0edf85276d860ed702e7056c316548218" - integrity sha512-Gr3uz3LYf33wlFE3eRnta4RxP5FSNxiIV9ENn2D2/rN8KgGAD8ecvcITRtsbbyuOuNkwbuHYxfeaz2Vr+CtyFA== - dependencies: - "@monaco-editor/loader" "^1.3.2" - prop-types "^15.7.2" - -"@nodelib/fs.scandir@2.1.5": - version "2.1.5" - resolved "https://registry.yarnpkg.com/@nodelib/fs.scandir/-/fs.scandir-2.1.5.tgz#7619c2eb21b25483f6d167548b4cfd5a7488c3d5" - integrity sha512-vq24Bq3ym5HEQm2NKCr3yXDwjc7vTsEThRDnkp2DK9p1uqLR+DHurm/NOTo0KG7HYHU7eppKZj3MyqYuMBf62g== - dependencies: - "@nodelib/fs.stat" "2.0.5" - run-parallel "^1.1.9" - -"@nodelib/fs.stat@2.0.5", "@nodelib/fs.stat@^2.0.2": - version "2.0.5" - resolved "https://registry.yarnpkg.com/@nodelib/fs.stat/-/fs.stat-2.0.5.tgz#5bd262af94e9d25bd1e71b05deed44876a222e8b" - integrity sha512-RkhPPp2zrqDAQA/2jNhnztcPAlv64XdhIp7a7454A5ovI7Bukxgt7MX7udwAu3zg1DcpPU0rz3VV1SeaqvY4+A== - -"@nodelib/fs.walk@^1.2.3", "@nodelib/fs.walk@^1.2.8": - version "1.2.8" - resolved "https://registry.yarnpkg.com/@nodelib/fs.walk/-/fs.walk-1.2.8.tgz#e95737e8bb6746ddedf69c556953494f196fe69a" - integrity sha512-oGB+UxlgWcgQkgwo8GcEGwemoTFt3FIO9ababBmaGwXIoBKZ+GTy0pP185beGg7Llih/NSHSV2XAs1lnznocSg== - dependencies: - "@nodelib/fs.scandir" "2.1.5" - fastq "^1.6.0" - -"@opentelemetry/api-logs@0.45.1": - version "0.45.1" - resolved "https://registry.yarnpkg.com/@opentelemetry/api-logs/-/api-logs-0.45.1.tgz#9e4f2c652dcce798c5627939b22304c2b5ce19c5" - integrity sha512-zVGq/k70l+kB/Wuv3O/zhptP2hvDhEbhDu9EtHde1iWZJf3FedeYS/nWVcMBkkyPAjS/JKNk86WN4CBQLGUuOw== - dependencies: - "@opentelemetry/api" "^1.0.0" - -"@opentelemetry/api@^1.0.0", "@opentelemetry/api@^1.7.0": - version "1.7.0" - resolved "https://registry.yarnpkg.com/@opentelemetry/api/-/api-1.7.0.tgz#b139c81999c23e3c8d3c0a7234480e945920fc40" - integrity sha512-AdY5wvN0P2vXBi3b29hxZgSFvdhdxPB9+f0B6s//P9Q8nibRWeA3cHm8UmLpio9ABigkVHJ5NMPk+Mz8VCCyrw== - -"@opentelemetry/core@1.18.1": - version "1.18.1" - resolved "https://registry.yarnpkg.com/@opentelemetry/core/-/core-1.18.1.tgz#d2e45f6bd6be4f00d20d18d4f1b230ec33805ae9" - integrity sha512-kvnUqezHMhsQvdsnhnqTNfAJs3ox/isB0SVrM1dhVFw7SsB7TstuVa6fgWnN2GdPyilIFLUvvbTZoVRmx6eiRg== - dependencies: - "@opentelemetry/semantic-conventions" "1.18.1" - -"@opentelemetry/otlp-transformer@^0.45.1": - version "0.45.1" - resolved "https://registry.yarnpkg.com/@opentelemetry/otlp-transformer/-/otlp-transformer-0.45.1.tgz#8f6590b93f177510983bea3055e5a3f3d30faad2" - integrity sha512-FhIHgfC0b0XtoBrS5ISfva939yWffNl47ypXR8I7Ru+dunlySpmf2TLocKHYLHGcWiuoeSNO5O4dZCmSKOtpXw== - dependencies: - "@opentelemetry/api-logs" "0.45.1" - "@opentelemetry/core" "1.18.1" - "@opentelemetry/resources" "1.18.1" - "@opentelemetry/sdk-logs" "0.45.1" - "@opentelemetry/sdk-metrics" "1.18.1" - "@opentelemetry/sdk-trace-base" "1.18.1" - -"@opentelemetry/resources@1.18.1": - version "1.18.1" - resolved "https://registry.yarnpkg.com/@opentelemetry/resources/-/resources-1.18.1.tgz#e27bdc4715bccc8cd4a72d4aca3995ad0a496fe7" - integrity sha512-JjbcQLYMttXcIabflLRuaw5oof5gToYV9fuXbcsoOeQ0BlbwUn6DAZi++PNsSz2jjPeASfDls10iaO/8BRIPRA== - dependencies: - "@opentelemetry/core" "1.18.1" - "@opentelemetry/semantic-conventions" "1.18.1" - -"@opentelemetry/sdk-logs@0.45.1": - version "0.45.1" - resolved "https://registry.yarnpkg.com/@opentelemetry/sdk-logs/-/sdk-logs-0.45.1.tgz#d59a99147ab15eb36757932517dfc9a10e1645e9" - integrity sha512-z0RRgW4LeKEKnhXS4F/HnqB6+7gsy63YK47F4XAJYHs4s1KKg8XnQ2RkbuL31i/a9nXkylttYtvsT50CGr487g== - dependencies: - "@opentelemetry/core" "1.18.1" - "@opentelemetry/resources" "1.18.1" - -"@opentelemetry/sdk-metrics@1.18.1": - version "1.18.1" - resolved "https://registry.yarnpkg.com/@opentelemetry/sdk-metrics/-/sdk-metrics-1.18.1.tgz#1dd334744a1e5d2eec27e9e9765c73cd2f43aef3" - integrity sha512-TEFgeNFhdULBYiCoHbz31Y4PDsfjjxRp8Wmdp6ybLQZPqMNEb+dRq+XN8Xw3ivIgTaf9gYsomgV5ensX99RuEQ== - dependencies: - "@opentelemetry/core" "1.18.1" - "@opentelemetry/resources" "1.18.1" - lodash.merge "^4.6.2" - -"@opentelemetry/sdk-trace-base@1.18.1": - version "1.18.1" - resolved "https://registry.yarnpkg.com/@opentelemetry/sdk-trace-base/-/sdk-trace-base-1.18.1.tgz#256605d90b202002d5672305c66dbcf377132379" - integrity sha512-tRHfDxN5dO+nop78EWJpzZwHsN1ewrZRVVwo03VJa3JQZxToRDH29/+MB24+yoa+IArerdr7INFJiX/iN4gjqg== - dependencies: - "@opentelemetry/core" "1.18.1" - "@opentelemetry/resources" "1.18.1" - "@opentelemetry/semantic-conventions" "1.18.1" - -"@opentelemetry/semantic-conventions@1.18.1": - version "1.18.1" - resolved "https://registry.yarnpkg.com/@opentelemetry/semantic-conventions/-/semantic-conventions-1.18.1.tgz#8e47caf57a84b1dcc1722b2025693348cdf443b4" - integrity sha512-+NLGHr6VZwcgE/2lw8zDIufOCGnzsA5CbQIMleXZTrgkBd0TanCX+MiDYJ1TOS4KL/Tqk0nFRxawnaYr6pkZkA== - -"@petamoriken/float16@^3.4.7": - version "3.8.4" - resolved "https://registry.yarnpkg.com/@petamoriken/float16/-/float16-3.8.4.tgz#cd3c02a7fe39f10ae3dd24ed33bd082053aadd66" - integrity sha512-kB+NJ5Br56ZhElKsf0pM7/PQfrDdDVMRz8f0JM6eVOGE+L89z9hwcst9QvWBBnazzuqGTGtPsJNZoQ1JdNiGSQ== - -"@pkgjs/parseargs@^0.11.0": - version "0.11.0" - resolved "https://registry.yarnpkg.com/@pkgjs/parseargs/-/parseargs-0.11.0.tgz#a77ea742fab25775145434eb1d2328cf5013ac33" - integrity sha512-+1VkjdD0QBLPodGrJUeqarH8VAIvQODIbwh9XpP5Syisf7YoQgsJKPNFoqqLQlu+VQ/tVSshMR6loPMn8U+dPg== - -"@popperjs/core@2.11.6": - version "2.11.6" - resolved "https://registry.yarnpkg.com/@popperjs/core/-/core-2.11.6.tgz#cee20bd55e68a1720bdab363ecf0c821ded4cd45" - integrity sha512-50/17A98tWUfQ176raKiOGXuYpLyyVMkxxG6oylzL3BPOlA6ADGdK7EYunSa4I064xerltq9TGXs8HmOk5E+vw== - -"@popperjs/core@^2.11.5": - version "2.11.8" - resolved "https://registry.yarnpkg.com/@popperjs/core/-/core-2.11.8.tgz#6b79032e760a0899cd4204710beede972a3a185f" - integrity sha512-P1st0aksCrn9sGZhp8GMYwBnQsbvAWsZAX44oXNNvLHGqAOcoVxmjZiohstwQ7SqKnbR47akdNi+uleWD8+g6A== - -"@rc-component/portal@^1.0.0-6", "@rc-component/portal@^1.1.0": - version "1.1.2" - resolved "https://registry.yarnpkg.com/@rc-component/portal/-/portal-1.1.2.tgz#55db1e51d784e034442e9700536faaa6ab63fc71" - integrity sha512-6f813C0IsasTZms08kfA8kPAGxbbkYToa8ALaiDIGGECU4i9hj8Plgbx0sNJDrey3EtHO30hmdaxtT0138xZcg== - dependencies: - "@babel/runtime" "^7.18.0" - classnames "^2.3.2" - rc-util "^5.24.4" - -"@rc-component/trigger@^1.5.0": - version "1.18.3" - resolved "https://registry.yarnpkg.com/@rc-component/trigger/-/trigger-1.18.3.tgz#b323b9e33f2700ca8d24a96f21401ab7b0eafdcd" - integrity sha512-Ksr25pXreYe1gX6ayZ1jLrOrl9OAUHUqnuhEx6MeHnNa1zVM5Y2Aj3Q35UrER0ns8D2cJYtmJtVli+i+4eKrvA== - dependencies: - "@babel/runtime" "^7.23.2" - "@rc-component/portal" "^1.1.0" - classnames "^2.3.2" - rc-motion "^2.0.0" - rc-resize-observer "^1.3.1" - rc-util "^5.38.0" - -"@react-aria/button@3.6.1": - version "3.6.1" - resolved "https://registry.yarnpkg.com/@react-aria/button/-/button-3.6.1.tgz#111e296df8e171e4eb227c306f087337490bc896" - integrity sha512-g10dk0eIQ71F1QefUymbff0yceQFHEKzOwK7J5QAFB5w/FUSmCTsMkBrrra4AogRxYHIAr5adPic5F2g7VzQFw== - dependencies: - "@babel/runtime" "^7.6.2" - "@react-aria/focus" "^3.8.0" - "@react-aria/interactions" "^3.11.0" - "@react-aria/utils" "^3.13.3" - "@react-stately/toggle" "^3.4.1" - "@react-types/button" "^3.6.1" - "@react-types/shared" "^3.14.1" - -"@react-aria/dialog@3.3.1": - version "3.3.1" - resolved "https://registry.yarnpkg.com/@react-aria/dialog/-/dialog-3.3.1.tgz#16e250ecc25ddd5da140a4b3dccb4af0d2bfacb8" - integrity sha512-Sz7XdzX3rRhmfIp1rYS5D90T1tqiDsAkONsbPBRqUJx7NrjKiHhx3wvG4shiK66cPhAZwBk7wuQmMugDeIDFSA== - dependencies: - "@babel/runtime" "^7.6.2" - "@react-aria/focus" "^3.8.0" - "@react-aria/utils" "^3.13.3" - "@react-stately/overlays" "^3.4.1" - "@react-types/dialog" "^3.4.3" - "@react-types/shared" "^3.14.1" - -"@react-aria/focus@3.8.0": - version "3.8.0" - resolved "https://registry.yarnpkg.com/@react-aria/focus/-/focus-3.8.0.tgz#b292df7e35ed1b57af43f98df8135b00c4667d17" - integrity sha512-XuaLFdqf/6OyILifkVJo++5k2O+wlpNvXgsJkRWn/wSmB77pZKURm2MMGiSg2u911NqY+829UrSlpmhCZrc8RA== - dependencies: - "@babel/runtime" "^7.6.2" - "@react-aria/interactions" "^3.11.0" - "@react-aria/utils" "^3.13.3" - "@react-types/shared" "^3.14.1" - clsx "^1.1.1" - -"@react-aria/focus@^3.16.0", "@react-aria/focus@^3.8.0": - version "3.16.0" - resolved "https://registry.yarnpkg.com/@react-aria/focus/-/focus-3.16.0.tgz#521677a452de254bd48d3a469d6411d69188593d" - integrity sha512-GP6EYI07E8NKQQcXHjpIocEU0vh0oi0Vcsd+/71fKS0NnTR0TUOEeil0JuuQ9ymkmPDTu51Aaaa4FxVsuN/23A== - dependencies: - "@react-aria/interactions" "^3.20.1" - "@react-aria/utils" "^3.23.0" - "@react-types/shared" "^3.22.0" - "@swc/helpers" "^0.5.0" - clsx "^2.0.0" - -"@react-aria/i18n@^3.10.0", "@react-aria/i18n@^3.6.0": - version "3.10.0" - resolved "https://registry.yarnpkg.com/@react-aria/i18n/-/i18n-3.10.0.tgz#bc61c8d05a0193a4c4322ddaefb4ee382190169a" - integrity sha512-sviD5Y1pLPG49HHRmVjR+5nONrp0HK219+nu9Y7cDfUhXu2EjyhMS9t/n9/VZ69hHChZ2PnHYLEE2visu9CuCg== - dependencies: - "@internationalized/date" "^3.5.1" - "@internationalized/message" "^3.1.1" - "@internationalized/number" "^3.5.0" - "@internationalized/string" "^3.2.0" - "@react-aria/ssr" "^3.9.1" - "@react-aria/utils" "^3.23.0" - "@react-types/shared" "^3.22.0" - "@swc/helpers" "^0.5.0" - -"@react-aria/interactions@^3.11.0", "@react-aria/interactions@^3.20.1": - version "3.20.1" - resolved "https://registry.yarnpkg.com/@react-aria/interactions/-/interactions-3.20.1.tgz#397f6724935024e7d3f4f38e8fae07ee37da868d" - integrity sha512-PLNBr87+SzRhe9PvvF9qvzYeP4ofTwfKSorwmO+hjr3qoczrSXf4LRQlb27wB6hF10C7ZE/XVbUI1lj4QQrZ/g== - dependencies: - "@react-aria/ssr" "^3.9.1" - "@react-aria/utils" "^3.23.0" - "@react-types/shared" "^3.22.0" - "@swc/helpers" "^0.5.0" - -"@react-aria/menu@3.6.1": - version "3.6.1" - resolved "https://registry.yarnpkg.com/@react-aria/menu/-/menu-3.6.1.tgz#91ad540795316623e539b32163a5d6a95f09052c" - integrity sha512-HUJVIOW9TwDS4RpAaw9/JqcOXFCn3leVUumWLfbwwzxON/Sbywr1j1jLuIkfIRAPmp0QVd42f6/9Y0cfH78BQQ== - dependencies: - "@babel/runtime" "^7.6.2" - "@react-aria/i18n" "^3.6.0" - "@react-aria/interactions" "^3.11.0" - "@react-aria/overlays" "^3.10.1" - "@react-aria/selection" "^3.10.1" - "@react-aria/utils" "^3.13.3" - "@react-stately/collections" "^3.4.3" - "@react-stately/menu" "^3.4.1" - "@react-stately/tree" "^3.3.3" - "@react-types/button" "^3.6.1" - "@react-types/menu" "^3.7.1" - "@react-types/shared" "^3.14.1" - -"@react-aria/overlays@3.10.1": - version "3.10.1" - resolved "https://registry.yarnpkg.com/@react-aria/overlays/-/overlays-3.10.1.tgz#ea7995d818030482987fbcd2f65344daf67175c2" - integrity sha512-6hY+3PQzFXQ2Gf656IiUy2VCwxzNohCHxHTZb7WTlOyNWDN77q8lzuHBlaoEzyh25M8CCO6NPa5DukyK3uCHSQ== - dependencies: - "@babel/runtime" "^7.6.2" - "@react-aria/i18n" "^3.6.0" - "@react-aria/interactions" "^3.11.0" - "@react-aria/ssr" "^3.3.0" - "@react-aria/utils" "^3.13.3" - "@react-aria/visually-hidden" "^3.4.1" - "@react-stately/overlays" "^3.4.1" - "@react-types/button" "^3.6.1" - "@react-types/overlays" "^3.6.3" - "@react-types/shared" "^3.14.1" - -"@react-aria/overlays@^3.10.1": - version "3.20.0" - resolved "https://registry.yarnpkg.com/@react-aria/overlays/-/overlays-3.20.0.tgz#9d7e0529aa9e28f8055ef5d8486ce5aa0ede41dd" - integrity sha512-2m7MpRJL5UucbEuu08lMHsiFJoDowkJV4JAIFBZYK1NzVH0vF/A+w9HRNM7jRwx2DUxE+iIsZnl8yKV/7KY8OQ== - dependencies: - "@react-aria/focus" "^3.16.0" - "@react-aria/i18n" "^3.10.0" - "@react-aria/interactions" "^3.20.1" - "@react-aria/ssr" "^3.9.1" - "@react-aria/utils" "^3.23.0" - "@react-aria/visually-hidden" "^3.8.8" - "@react-stately/overlays" "^3.6.4" - "@react-types/button" "^3.9.1" - "@react-types/overlays" "^3.8.4" - "@react-types/shared" "^3.22.0" - "@swc/helpers" "^0.5.0" - -"@react-aria/selection@^3.10.1": - version "3.17.3" - resolved "https://registry.yarnpkg.com/@react-aria/selection/-/selection-3.17.3.tgz#ed4b3c51cc9abc72ad19d6beb536b194db1cbd7d" - integrity sha512-xl2sgeGH61ngQeE05WOWWPVpGRTPMjQEFmsAWEprArFi4Z7ihSZgpGX22l1w7uSmtXM/eN/v0W8hUYUju5iXlQ== - dependencies: - "@react-aria/focus" "^3.16.0" - "@react-aria/i18n" "^3.10.0" - "@react-aria/interactions" "^3.20.1" - "@react-aria/utils" "^3.23.0" - "@react-stately/selection" "^3.14.2" - "@react-types/shared" "^3.22.0" - "@swc/helpers" "^0.5.0" - -"@react-aria/ssr@^3.2.0", "@react-aria/ssr@^3.3.0", "@react-aria/ssr@^3.9.1": - version "3.9.1" - resolved "https://registry.yarnpkg.com/@react-aria/ssr/-/ssr-3.9.1.tgz#a1252fd5ef87eada810dd9dd6751a5e21359d1d2" - integrity sha512-NqzkLFP8ZVI4GSorS0AYljC13QW2sc8bDqJOkBvkAt3M8gbcAXJWVRGtZBCRscki9RZF+rNlnPdg0G0jYkhJcg== - dependencies: - "@swc/helpers" "^0.5.0" - -"@react-aria/utils@3.13.1": - version "3.13.1" - resolved "https://registry.yarnpkg.com/@react-aria/utils/-/utils-3.13.1.tgz#45557fdc7ae9de057a83014013bf09e54d074c96" - integrity sha512-usW6RoLKil4ylgDbRcaQ5YblNGv5ZihI4I9NB8pdazhw53cSRyLaygLdmHO33xgpPnAhb6Nb/tv8d5p6cAde+A== - dependencies: - "@babel/runtime" "^7.6.2" - "@react-aria/ssr" "^3.2.0" - "@react-stately/utils" "^3.5.0" - "@react-types/shared" "^3.13.1" - clsx "^1.1.1" - -"@react-aria/utils@^3.13.3", "@react-aria/utils@^3.23.0": - version "3.23.0" - resolved "https://registry.yarnpkg.com/@react-aria/utils/-/utils-3.23.0.tgz#15548db55fcb7da1920e21735467157328f0223f" - integrity sha512-fJA63/VU4iQNT8WUvrmll3kvToqMurD69CcgVmbQ56V7ZbvlzFi44E7BpnoaofScYLLtFWRjVdaHsohT6O/big== - dependencies: - "@react-aria/ssr" "^3.9.1" - "@react-stately/utils" "^3.9.0" - "@react-types/shared" "^3.22.0" - "@swc/helpers" "^0.5.0" - clsx "^2.0.0" - -"@react-aria/visually-hidden@^3.4.1", "@react-aria/visually-hidden@^3.8.8": - version "3.8.8" - resolved "https://registry.yarnpkg.com/@react-aria/visually-hidden/-/visually-hidden-3.8.8.tgz#0f2a70ca21974154383080cf486caff5e7f2240f" - integrity sha512-Cn2PYKD4ijGDtF0+dvsh8qa4y7KTNAlkTG6h20r8Q+6UTyRNmtE2/26QEaApRF8CBiNy9/BZC/ZC4FK2OjvCoA== - dependencies: - "@react-aria/interactions" "^3.20.1" - "@react-aria/utils" "^3.23.0" - "@react-types/shared" "^3.22.0" - "@swc/helpers" "^0.5.0" - -"@react-stately/collections@^3.10.4", "@react-stately/collections@^3.4.3": - version "3.10.4" - resolved "https://registry.yarnpkg.com/@react-stately/collections/-/collections-3.10.4.tgz#aa81328a0996ba39ee39d469e65135812ebecef1" - integrity sha512-OHhCrItGt4zB2bSrgObRo0H2SC7QlkH8ReGxo+NVIWchXRLRoiWBP7S+IwleewEo5gOqDVPY3hqA9n4iiI8twg== - dependencies: - "@react-types/shared" "^3.22.0" - "@swc/helpers" "^0.5.0" - -"@react-stately/menu@3.4.1": - version "3.4.1" - resolved "https://registry.yarnpkg.com/@react-stately/menu/-/menu-3.4.1.tgz#47f23996927ffa605d725e68902e27ef848fe27a" - integrity sha512-DWo87hjKwtQsFiFJYZGcEvzfSYT/I4FoRl3Ose5lA/gPjdg97f42vumj+Kp4mqJwlla4A9Erz2vAh2uMLl4H0w== - dependencies: - "@babel/runtime" "^7.6.2" - "@react-stately/overlays" "^3.4.1" - "@react-stately/utils" "^3.5.1" - "@react-types/menu" "^3.7.1" - "@react-types/shared" "^3.14.1" - -"@react-stately/menu@^3.4.1": - version "3.6.0" - resolved "https://registry.yarnpkg.com/@react-stately/menu/-/menu-3.6.0.tgz#5366d6674d2c3d7b50efc51a8c0083d9588788f7" - integrity sha512-OB6CjNyfOkAuirqx1oTL8z8epS9WDzLyrXjmRnxdiCU9EgRXLGAQNECuO7VIpl58oDry8tgRJiJ8fn8FivWSQA== - dependencies: - "@react-stately/overlays" "^3.6.4" - "@react-types/menu" "^3.9.6" - "@react-types/shared" "^3.22.0" - "@swc/helpers" "^0.5.0" - -"@react-stately/overlays@^3.4.1", "@react-stately/overlays@^3.6.4": - version "3.6.4" - resolved "https://registry.yarnpkg.com/@react-stately/overlays/-/overlays-3.6.4.tgz#1d0d974413fa3f13d97eec2cac5b48c49978d1a0" - integrity sha512-tHEaoAGpE9dSnsskqLPVKum59yGteoSqsniTopodM+miQozbpPlSjdiQnzGLroy5Afx5OZYClE616muNHUILXA== - dependencies: - "@react-stately/utils" "^3.9.0" - "@react-types/overlays" "^3.8.4" - "@swc/helpers" "^0.5.0" - -"@react-stately/selection@^3.14.2": - version "3.14.2" - resolved "https://registry.yarnpkg.com/@react-stately/selection/-/selection-3.14.2.tgz#6a3d5b59db951c34d04494b28373f4fe8ce6f581" - integrity sha512-mL7OoiUgVWaaF7ks5XSxgbXeShijYmD4G3bkBHhqkpugU600QH6BM2hloCq8KOUupk1y8oTljPtF9EmCv375DA== - dependencies: - "@react-stately/collections" "^3.10.4" - "@react-stately/utils" "^3.9.0" - "@react-types/shared" "^3.22.0" - "@swc/helpers" "^0.5.0" - -"@react-stately/toggle@^3.4.1": - version "3.7.0" - resolved "https://registry.yarnpkg.com/@react-stately/toggle/-/toggle-3.7.0.tgz#abe2f08f37a0f41e6513d4fde3d46f49500bb5cc" - integrity sha512-TRksHkCJk/Xogq4181g3CYgJf+EfsJCqX5UZDSw1Z1Kgpvonjmdf6FAfQfCh9QR2OuXUL6hOLUDVLte5OPI+5g== - dependencies: - "@react-stately/utils" "^3.9.0" - "@react-types/checkbox" "^3.6.0" - "@swc/helpers" "^0.5.0" - -"@react-stately/tree@^3.3.3": - version "3.7.5" - resolved "https://registry.yarnpkg.com/@react-stately/tree/-/tree-3.7.5.tgz#6e084e1b7d3d0b31fe619a5d5c45dea9b0a63ff2" - integrity sha512-xTJVwvhAeY0N5rui4N/TxN7f8hjXdqApDuGDxMZeFAWoQz8Abf7LFKBVQ3OkT6qVr7P+23dgoisUDBhD5a45Hg== - dependencies: - "@react-stately/collections" "^3.10.4" - "@react-stately/selection" "^3.14.2" - "@react-stately/utils" "^3.9.0" - "@react-types/shared" "^3.22.0" - "@swc/helpers" "^0.5.0" - -"@react-stately/utils@^3.5.0", "@react-stately/utils@^3.5.1", "@react-stately/utils@^3.9.0": - version "3.9.0" - resolved "https://registry.yarnpkg.com/@react-stately/utils/-/utils-3.9.0.tgz#9cb2c8eea5dd1b58256ecb436b963c01526bae37" - integrity sha512-yPKFY1F88HxuZ15BG2qwAYxtpE4HnIU0Ofi4CuBE0xC6I8mwo4OQjDzi+DZjxQngM9D6AeTTD6F1V8gkozA0Gw== - dependencies: - "@swc/helpers" "^0.5.0" - -"@react-types/button@^3.6.1", "@react-types/button@^3.9.1": - version "3.9.1" - resolved "https://registry.yarnpkg.com/@react-types/button/-/button-3.9.1.tgz#eb54745133bdaad345d8d589021b67ef2882e1c5" - integrity sha512-bf9iTar3PtqnyV9rA+wyFyrskZKhwmOuOd/ifYIjPs56YNVXWH5Wfqj6Dx3xdFBgtKx8mEVQxVhoX+WkHX+rtw== - dependencies: - "@react-types/shared" "^3.22.0" - -"@react-types/checkbox@^3.6.0": - version "3.6.0" - resolved "https://registry.yarnpkg.com/@react-types/checkbox/-/checkbox-3.6.0.tgz#ba702be25555c1520f78be39c8260354638792b6" - integrity sha512-vgbuJzQpVCNT5AZWV0OozXCnihqrXxoZKfJFIw0xro47pT2sn3t5UC4RA9wfjDGMoK4frw1K/4HQLsQIOsPBkw== - dependencies: - "@react-types/shared" "^3.22.0" - -"@react-types/dialog@^3.4.3": - version "3.5.7" - resolved "https://registry.yarnpkg.com/@react-types/dialog/-/dialog-3.5.7.tgz#3fd93875ff317d6014e814b6e1a2abb87272a1ef" - integrity sha512-geYoqAyQaTLG43AaXdMUVqZXYgkSifrD9cF7lR2kPAT0uGFv0YREi6ieU+aui8XJ83EW0xcxP+EPWd2YkN4D4w== - dependencies: - "@react-types/overlays" "^3.8.4" - "@react-types/shared" "^3.22.0" - -"@react-types/menu@^3.7.1", "@react-types/menu@^3.9.6": - version "3.9.6" - resolved "https://registry.yarnpkg.com/@react-types/menu/-/menu-3.9.6.tgz#1b36842cbdb4590dfff78437316aec4a3f47b1f6" - integrity sha512-w/RbFInOf4nNayQDv5c2L8IMJbcFOkBhsT3xvvpTy+CHvJcQdjggwaV1sRiw7eF/PwB81k2CwigmidUzHJhKDg== - dependencies: - "@react-types/overlays" "^3.8.4" - "@react-types/shared" "^3.22.0" - -"@react-types/overlays@^3.6.3", "@react-types/overlays@^3.8.4": - version "3.8.4" - resolved "https://registry.yarnpkg.com/@react-types/overlays/-/overlays-3.8.4.tgz#a538f6f2fb9826f1da78d3b4f0f6326a709ce37d" - integrity sha512-pfgNlQnbF6RB/R2oSxyqAP3Uzz0xE/k5q4n5gUeCDNLjY5qxFHGE8xniZZ503nZYw6VBa9XMN1efDOKQyeiO0w== - dependencies: - "@react-types/shared" "^3.22.0" - -"@react-types/shared@^3.13.1", "@react-types/shared@^3.14.1", "@react-types/shared@^3.22.0": - version "3.22.0" - resolved "https://registry.yarnpkg.com/@react-types/shared/-/shared-3.22.0.tgz#70f85aad46cd225f7fcb29f1c2b5213163605074" - integrity sha512-yVOekZWbtSmmiThGEIARbBpnmUIuePFlLyctjvCbgJgGhz8JnEJOipLQ/a4anaWfzAgzSceQP8j/K+VOOePleA== - -"@sentry/browser@6.19.7": - version "6.19.7" - resolved "https://registry.yarnpkg.com/@sentry/browser/-/browser-6.19.7.tgz#a40b6b72d911b5f1ed70ed3b4e7d4d4e625c0b5f" - integrity sha512-oDbklp4O3MtAM4mtuwyZLrgO1qDVYIujzNJQzXmi9YzymJCuzMLSRDvhY83NNDCRxf0pds4DShgYeZdbSyKraA== - dependencies: - "@sentry/core" "6.19.7" - "@sentry/types" "6.19.7" - "@sentry/utils" "6.19.7" - tslib "^1.9.3" - -"@sentry/core@6.19.7": - version "6.19.7" - resolved "https://registry.yarnpkg.com/@sentry/core/-/core-6.19.7.tgz#156aaa56dd7fad8c89c145be6ad7a4f7209f9785" - integrity sha512-tOfZ/umqB2AcHPGbIrsFLcvApdTm9ggpi/kQZFkej7kMphjT+SGBiQfYtjyg9jcRW+ilAR4JXC9BGKsdEQ+8Vw== - dependencies: - "@sentry/hub" "6.19.7" - "@sentry/minimal" "6.19.7" - "@sentry/types" "6.19.7" - "@sentry/utils" "6.19.7" - tslib "^1.9.3" - -"@sentry/hub@6.19.7": - version "6.19.7" - resolved "https://registry.yarnpkg.com/@sentry/hub/-/hub-6.19.7.tgz#58ad7776bbd31e9596a8ec46365b45cd8b9cfd11" - integrity sha512-y3OtbYFAqKHCWezF0EGGr5lcyI2KbaXW2Ik7Xp8Mu9TxbSTuwTe4rTntwg8ngPjUQU3SUHzgjqVB8qjiGqFXCA== - dependencies: - "@sentry/types" "6.19.7" - "@sentry/utils" "6.19.7" - tslib "^1.9.3" - -"@sentry/minimal@6.19.7": - version "6.19.7" - resolved "https://registry.yarnpkg.com/@sentry/minimal/-/minimal-6.19.7.tgz#b3ee46d6abef9ef3dd4837ebcb6bdfd01b9aa7b4" - integrity sha512-wcYmSJOdvk6VAPx8IcmZgN08XTXRwRtB1aOLZm+MVHjIZIhHoBGZJYTVQS/BWjldsamj2cX3YGbGXNunaCfYJQ== - dependencies: - "@sentry/hub" "6.19.7" - "@sentry/types" "6.19.7" - tslib "^1.9.3" - -"@sentry/types@6.19.7": - version "6.19.7" - resolved "https://registry.yarnpkg.com/@sentry/types/-/types-6.19.7.tgz#c6b337912e588083fc2896eb012526cf7cfec7c7" - integrity sha512-jH84pDYE+hHIbVnab3Hr+ZXr1v8QABfhx39KknxqKWr2l0oEItzepV0URvbEhB446lk/S/59230dlUUIBGsXbg== - -"@sentry/utils@6.19.7": - version "6.19.7" - resolved "https://registry.yarnpkg.com/@sentry/utils/-/utils-6.19.7.tgz#6edd739f8185fd71afe49cbe351c1bbf5e7b7c79" - integrity sha512-z95ECmE3i9pbWoXQrD/7PgkBAzJYR+iXtPuTkpBjDKs86O3mT+PXOT3BAn79w2wkn7/i3vOGD2xVr1uiMl26dA== - dependencies: - "@sentry/types" "6.19.7" - tslib "^1.9.3" - -"@sinclair/typebox@^0.27.8": - version "0.27.8" - resolved "https://registry.yarnpkg.com/@sinclair/typebox/-/typebox-0.27.8.tgz#6667fac16c436b5434a387a34dedb013198f6e6e" - integrity sha512-+Fj43pSMwJs4KRrH/938Uf+uAELIgVBmQzg/q1YG10djyfA3TnrU8N8XzqCh/okZdszqBQTZf96idMfE5lnwTA== - -"@sindresorhus/merge-streams@^1.0.0": - version "1.0.0" - resolved "https://registry.yarnpkg.com/@sindresorhus/merge-streams/-/merge-streams-1.0.0.tgz#9cd84cc15bc865a5ca35fcaae198eb899f7b5c90" - integrity sha512-rUV5WyJrJLoloD4NDN1V1+LDMDWOa4OTsT4yYJwQNpTU6FWxkxHpL7eu4w+DmiH8x/EAM1otkPE1+LaspIbplw== - -"@sinonjs/commons@^3.0.0": - version "3.0.1" - resolved "https://registry.yarnpkg.com/@sinonjs/commons/-/commons-3.0.1.tgz#1029357e44ca901a615585f6d27738dbc89084cd" - integrity sha512-K3mCHKQ9sVh8o1C9cxkwxaOmXoAMlDxC1mYyHrjqOWEcBjYr76t96zL2zlj5dUGZ3HSw240X1qgH3Mjf1yJWpQ== - dependencies: - type-detect "4.0.8" - -"@sinonjs/fake-timers@^10.0.2": - version "10.3.0" - resolved "https://registry.yarnpkg.com/@sinonjs/fake-timers/-/fake-timers-10.3.0.tgz#55fdff1ecab9f354019129daf4df0dd4d923ea66" - integrity sha512-V4BG07kuYSUkTCSBHG8G8TNhM+F19jXFWnQtzj+we8DrkpSBCee9Z3Ms8yiGer/dlmhe35/Xdgyo3/0rQKg7YA== - dependencies: - "@sinonjs/commons" "^3.0.0" - -"@swc/core-darwin-arm64@1.3.106": - version "1.3.106" - resolved "https://registry.yarnpkg.com/@swc/core-darwin-arm64/-/core-darwin-arm64-1.3.106.tgz#05adb015d4f8abe7b8b435af10b6e24863cf3b6c" - integrity sha512-XYcbViNyHnnm7RWOAO1YipMmthM7m2aXF32b0y+JMLYFBEyFpjVX9btLkzeL7wRx/5B3I35yJNhE+xyx0Q1Gkw== - -"@swc/core-darwin-x64@1.3.106": - version "1.3.106" - resolved "https://registry.yarnpkg.com/@swc/core-darwin-x64/-/core-darwin-x64-1.3.106.tgz#da3aa19bcea1caf77b9267b48c40506b3fbc9e3e" - integrity sha512-YKDPhUdfuwhmOUS9+CaIwl/0Tp+f1b73BH2EIESuxSNsogZf18a8HQ8O0fQEwdiwmA5LEqw47cj+kfOWV/0+kw== - -"@swc/core-linux-arm-gnueabihf@1.3.106": - version "1.3.106" - resolved "https://registry.yarnpkg.com/@swc/core-linux-arm-gnueabihf/-/core-linux-arm-gnueabihf-1.3.106.tgz#08c4f0b56c4607e124868f9793d5d6e198abdb3e" - integrity sha512-bHxxJXogvFfocLL5inZxxtx/x/WgKozigp80Vbx0viac1fPDJrqKBw2X4MzpMiuTRAGVQ03jJI6pDwbSBf+yDw== - -"@swc/core-linux-arm64-gnu@1.3.106": - version "1.3.106" - resolved "https://registry.yarnpkg.com/@swc/core-linux-arm64-gnu/-/core-linux-arm64-gnu-1.3.106.tgz#cfa2ac91ca279bf09db8ef001a139a3840a2b05a" - integrity sha512-c7jue++CHLgtpeaakEukoCLT9eNrImizbleE9Y7Is8CHqLq/7DG4s+7ma9DFKXIzW2MpTg9byIEQfpqSphVW6A== - -"@swc/core-linux-arm64-musl@1.3.106": - version "1.3.106" - resolved "https://registry.yarnpkg.com/@swc/core-linux-arm64-musl/-/core-linux-arm64-musl-1.3.106.tgz#1eff9b3e51a84ea13e0be4de2784bbb28a0e097b" - integrity sha512-51EaC3Q8qAhLtWVnAVqoYX/gk3tK31cCBzUpwCcmhianhEBM2/WtKRAS4MqPhE8VVZuN3WjO2c2JaF2mX0yuoA== - -"@swc/core-linux-x64-gnu@1.3.106": - version "1.3.106" - resolved "https://registry.yarnpkg.com/@swc/core-linux-x64-gnu/-/core-linux-x64-gnu-1.3.106.tgz#c3c7681efaeb36c528eb0cd133e0e52a85554a5b" - integrity sha512-tOUi8BB6jAeCXgx7ESLNnX7nrbMVKQ/XajK77v7Ad4SXf9HYArnimBJpXUUyVFJTXLSv4e6c7s6XHHqXb5Lwcg== - -"@swc/core-linux-x64-musl@1.3.106": - version "1.3.106" - resolved "https://registry.yarnpkg.com/@swc/core-linux-x64-musl/-/core-linux-x64-musl-1.3.106.tgz#1e7287e379c503f8e565eab7fc5065739611690f" - integrity sha512-binLw4Lbd83NPy4/m/teH2nbaifxveSD+sKDvpxywRbvYW2I0w/iCBpUBcbnl16TQF4TPOGpq5YwG9lVxPVw5g== - -"@swc/core-win32-arm64-msvc@1.3.106": - version "1.3.106" - resolved "https://registry.yarnpkg.com/@swc/core-win32-arm64-msvc/-/core-win32-arm64-msvc-1.3.106.tgz#02d7418c202a33906949a5e6924baaaa0a3fce5f" - integrity sha512-n4ttBWr8tM7DPzwcEOIBTyTMHZTzCmbic/HTtxEsPyMAf/Daen+yrTKzjPP6k2usfSrjkxA780RSJJxI1N8r2w== - -"@swc/core-win32-ia32-msvc@1.3.106": - version "1.3.106" - resolved "https://registry.yarnpkg.com/@swc/core-win32-ia32-msvc/-/core-win32-ia32-msvc-1.3.106.tgz#22f07b4710e79e22c7828ad89e87636671680e2d" - integrity sha512-GhDNIwxE5FhkujESI6h/4ysT3wxwmrzTUlZYaR8rRui6a6SdX9feIPUHPEE5o5hpyp+xqlmvRxKkRxOnwsq8iA== - -"@swc/core-win32-x64-msvc@1.3.106": - version "1.3.106" - resolved "https://registry.yarnpkg.com/@swc/core-win32-x64-msvc/-/core-win32-x64-msvc-1.3.106.tgz#cc28822b1476345ef4ee2a1895ff7c51a42dd45f" - integrity sha512-2M6yWChuMS1+/MPo3Dor0SOMkvmiugonWlzsZBAu/oZboH2xKrHSRv7brsBujb2Oe47r+NsbV+vq9tnnP9Vl1Q== - -"@swc/core@^1.3.90": - version "1.3.106" - resolved "https://registry.yarnpkg.com/@swc/core/-/core-1.3.106.tgz#7e054f8a7db56de3f519c48db03f58e3f09fe8ee" - integrity sha512-++QPSPkFq2qELYVScxNHJC42hKQChjiTWS2P0QQ5JWT4NHb9lmNSfrc1ylFIyImwRnxsW2MTBALLYLf95EFAsg== - dependencies: - "@swc/counter" "^0.1.1" - "@swc/types" "^0.1.5" - optionalDependencies: - "@swc/core-darwin-arm64" "1.3.106" - "@swc/core-darwin-x64" "1.3.106" - "@swc/core-linux-arm-gnueabihf" "1.3.106" - "@swc/core-linux-arm64-gnu" "1.3.106" - "@swc/core-linux-arm64-musl" "1.3.106" - "@swc/core-linux-x64-gnu" "1.3.106" - "@swc/core-linux-x64-musl" "1.3.106" - "@swc/core-win32-arm64-msvc" "1.3.106" - "@swc/core-win32-ia32-msvc" "1.3.106" - "@swc/core-win32-x64-msvc" "1.3.106" - -"@swc/counter@^0.1.1": - version "0.1.2" - resolved "https://registry.yarnpkg.com/@swc/counter/-/counter-0.1.2.tgz#bf06d0770e47c6f1102270b744e17b934586985e" - integrity sha512-9F4ys4C74eSTEUNndnER3VJ15oru2NumfQxS8geE+f3eB5xvfxpWyqE5XlVnxb/R14uoXi6SLbBwwiDSkv+XEw== - -"@swc/helpers@^0.5.0": - version "0.5.3" - resolved "https://registry.yarnpkg.com/@swc/helpers/-/helpers-0.5.3.tgz#98c6da1e196f5f08f977658b80d6bd941b5f294f" - integrity sha512-FaruWX6KdudYloq1AHD/4nU+UsMTdNE8CKyrseXWEcgjDAbvkwJg2QGPAnfIJLIWsjZOSPLOAykK6fuYp4vp4A== - dependencies: - tslib "^2.4.0" - -"@swc/jest@^0.2.26": - version "0.2.31" - resolved "https://registry.yarnpkg.com/@swc/jest/-/jest-0.2.31.tgz#eb791d917326c24cad84c4d357d0b01de23c6dfd" - integrity sha512-Gh0Ste380O8KUY1IqsKr+aOvqqs2Loa+WcWWVNwl+lhXqOWK1iTFAP1K0IDfLqAuFP68+D/PxcpBJn21e6Quvw== - dependencies: - "@jest/create-cache-key-function" "^29.7.0" - jsonc-parser "^3.2.0" - -"@swc/types@^0.1.5": - version "0.1.5" - resolved "https://registry.yarnpkg.com/@swc/types/-/types-0.1.5.tgz#043b731d4f56a79b4897a3de1af35e75d56bc63a" - integrity sha512-myfUej5naTBWnqOCc/MdVOLVjXUXtIA+NpDrDBKJtLLg2shUjBu3cZmB/85RyitKc55+lUUyl7oRfLOvkr2hsw== - -"@testing-library/dom@>=7", "@testing-library/dom@^9.0.0": - version "9.3.4" - resolved "https://registry.yarnpkg.com/@testing-library/dom/-/dom-9.3.4.tgz#50696ec28376926fec0a1bf87d9dbac5e27f60ce" - integrity sha512-FlS4ZWlp97iiNWig0Muq8p+3rVDjRiYE+YKGbAqXOu9nwJFFOdL00kFpz42M+4huzYi86vAK1sOOfyOG45muIQ== - dependencies: - "@babel/code-frame" "^7.10.4" - "@babel/runtime" "^7.12.5" - "@types/aria-query" "^5.0.1" - aria-query "5.1.3" - chalk "^4.1.0" - dom-accessibility-api "^0.5.9" - lz-string "^1.5.0" - pretty-format "^27.0.2" - -"@testing-library/jest-dom@6.1.4": - version "6.1.4" - resolved "https://registry.yarnpkg.com/@testing-library/jest-dom/-/jest-dom-6.1.4.tgz#cf0835c33bc5ef00befb9e672b1e3e6a710e30e3" - integrity sha512-wpoYrCYwSZ5/AxcrjLxJmCU6I5QAJXslEeSiMQqaWmP2Kzpd1LvF/qxmAIW2qposULGWq2gw30GgVNFLSc2Jnw== - dependencies: - "@adobe/css-tools" "^4.3.1" - "@babel/runtime" "^7.9.2" - aria-query "^5.0.0" - chalk "^3.0.0" - css.escape "^1.5.1" - dom-accessibility-api "^0.5.6" - lodash "^4.17.15" - redent "^3.0.0" - -"@testing-library/react@14.0.0": - version "14.0.0" - resolved "https://registry.yarnpkg.com/@testing-library/react/-/react-14.0.0.tgz#59030392a6792450b9ab8e67aea5f3cc18d6347c" - integrity sha512-S04gSNJbYE30TlIMLTzv6QCTzt9AqIF5y6s6SzVFILNcNvbV/jU96GeiTPillGQo+Ny64M/5PV7klNYYgv5Dfg== - dependencies: - "@babel/runtime" "^7.12.5" - "@testing-library/dom" "^9.0.0" - "@types/react-dom" "^18.0.0" - -"@tootallnate/once@2": - version "2.0.0" - resolved "https://registry.yarnpkg.com/@tootallnate/once/-/once-2.0.0.tgz#f544a148d3ab35801c1f633a7441fd87c2e484bf" - integrity sha512-XCuKFP5PS55gnMVu3dty8KPatLqUoy/ZYzDzAGCQ8JNFCkLXzmI7vNHCR+XpbZaMWQK/vQubr7PkYq8g470J/A== - -"@tsconfig/node10@^1.0.7": - version "1.0.9" - resolved "https://registry.yarnpkg.com/@tsconfig/node10/-/node10-1.0.9.tgz#df4907fc07a886922637b15e02d4cebc4c0021b2" - integrity sha512-jNsYVVxU8v5g43Erja32laIDHXeoNvFEpX33OK4d6hljo3jDhCBDhx5dhCCTMWUojscpAagGiRkBKxpdl9fxqA== - -"@tsconfig/node12@^1.0.7": - version "1.0.11" - resolved "https://registry.yarnpkg.com/@tsconfig/node12/-/node12-1.0.11.tgz#ee3def1f27d9ed66dac6e46a295cffb0152e058d" - integrity sha512-cqefuRsh12pWyGsIoBKJA9luFu3mRxCA+ORZvA4ktLSzIuCUtWVxGIuXigEwO5/ywWFMZ2QEGKWvkZG1zDMTag== - -"@tsconfig/node14@^1.0.0": - version "1.0.3" - resolved "https://registry.yarnpkg.com/@tsconfig/node14/-/node14-1.0.3.tgz#e4386316284f00b98435bf40f72f75a09dabf6c1" - integrity sha512-ysT8mhdixWK6Hw3i1V2AeRqZ5WfXg1G43mqoYlM2nc6388Fq5jcXyr5mRsqViLx/GJYdoL0bfXD8nmF+Zn/Iow== - -"@tsconfig/node16@^1.0.2": - version "1.0.4" - resolved "https://registry.yarnpkg.com/@tsconfig/node16/-/node16-1.0.4.tgz#0b92dcc0cc1c81f6f306a381f28e31b1a56536e9" - integrity sha512-vxhUy4J8lyeyinH7Azl1pdd43GJhZH/tP2weN8TntQblOY+A0XbT8DJk1/oCPuOOyg/Ja757rG0CgHcWC8OfMA== - -"@types/aria-query@^5.0.1": - version "5.0.4" - resolved "https://registry.yarnpkg.com/@types/aria-query/-/aria-query-5.0.4.tgz#1a31c3d378850d2778dabb6374d036dcba4ba708" - integrity sha512-rfT93uj5s0PRL7EzccGMs3brplhcrghnDoV26NqKhCAS1hVo+WdNsPvE/yb6ilfr5hi2MEk6d5EWJTKdxg8jVw== - -"@types/babel__core@^7.1.14": - version "7.20.5" - resolved "https://registry.yarnpkg.com/@types/babel__core/-/babel__core-7.20.5.tgz#3df15f27ba85319caa07ba08d0721889bb39c017" - integrity sha512-qoQprZvz5wQFJwMDqeseRXWv3rqMvhgpbXFfVyWhbx9X47POIA6i/+dXefEmZKoAgOaTdaIgNSMqMIU61yRyzA== - dependencies: - "@babel/parser" "^7.20.7" - "@babel/types" "^7.20.7" - "@types/babel__generator" "*" - "@types/babel__template" "*" - "@types/babel__traverse" "*" - -"@types/babel__generator@*": - version "7.6.8" - resolved "https://registry.yarnpkg.com/@types/babel__generator/-/babel__generator-7.6.8.tgz#f836c61f48b1346e7d2b0d93c6dacc5b9535d3ab" - integrity sha512-ASsj+tpEDsEiFr1arWrlN6V3mdfjRMZt6LtK/Vp/kreFLnr5QH5+DhvD5nINYZXzwJvXeGq+05iUXcAzVrqWtw== - dependencies: - "@babel/types" "^7.0.0" - -"@types/babel__template@*": - version "7.4.4" - resolved "https://registry.yarnpkg.com/@types/babel__template/-/babel__template-7.4.4.tgz#5672513701c1b2199bc6dad636a9d7491586766f" - integrity sha512-h/NUaSyG5EyxBIp8YRxo4RMe2/qQgvyowRwVMzhYhBCONbW8PUsg4lkFMrhgZhUe5z3L3MiLDuvyJ/CaPa2A8A== - dependencies: - "@babel/parser" "^7.1.0" - "@babel/types" "^7.0.0" - -"@types/babel__traverse@*", "@types/babel__traverse@^7.0.6": - version "7.20.5" - resolved "https://registry.yarnpkg.com/@types/babel__traverse/-/babel__traverse-7.20.5.tgz#7b7502be0aa80cc4ef22978846b983edaafcd4dd" - integrity sha512-WXCyOcRtH37HAUkpXhUduaxdm82b4GSlyTqajXviN4EfiuPgNYR109xMCKvpl6zPIpua0DGlMEDCq+g8EdoheQ== - dependencies: - "@babel/types" "^7.20.7" - -"@types/d3-color@*": - version "3.1.3" - resolved "https://registry.yarnpkg.com/@types/d3-color/-/d3-color-3.1.3.tgz#368c961a18de721da8200e80bf3943fb53136af2" - integrity sha512-iO90scth9WAbmgv7ogoq57O9YpKmFBbmoEoCHDB2xMBY0+/KVrqAaCDyCE16dUspeOvIxFFRI+0sEtqDqy2b4A== - -"@types/d3-interpolate@^3.0.0": - version "3.0.4" - resolved "https://registry.yarnpkg.com/@types/d3-interpolate/-/d3-interpolate-3.0.4.tgz#412b90e84870285f2ff8a846c6eb60344f12a41c" - integrity sha512-mgLPETlrpVV1YRJIglr4Ez47g7Yxjl1lj7YKsiMCb27VJH9W8NVM6Bb9d8kkpG/uAQS5AmbA48q2IAolKKo1MA== - dependencies: - "@types/d3-color" "*" - -"@types/eslint-scope@^3.7.3": - version "3.7.7" - resolved "https://registry.yarnpkg.com/@types/eslint-scope/-/eslint-scope-3.7.7.tgz#3108bd5f18b0cdb277c867b3dd449c9ed7079ac5" - integrity sha512-MzMFlSLBqNF2gcHWO0G1vP/YQyfvrxZ0bF+u7mzUdZ1/xK4A4sru+nraZz5i3iEIk1l1uyicaDVTB4QbbEkAYg== - dependencies: - "@types/eslint" "*" - "@types/estree" "*" - -"@types/eslint@*", "@types/eslint@^8.37.0": - version "8.56.2" - resolved "https://registry.yarnpkg.com/@types/eslint/-/eslint-8.56.2.tgz#1c72a9b794aa26a8b94ad26d5b9aa51c8a6384bb" - integrity sha512-uQDwm1wFHmbBbCZCqAlq6Do9LYwByNZHWzXppSnay9SuwJ+VRbjkbLABer54kcPnMSlG6Fdiy2yaFXm/z9Z5gw== - dependencies: - "@types/estree" "*" - "@types/json-schema" "*" - -"@types/estree@*", "@types/estree@^1.0.5": - version "1.0.5" - resolved "https://registry.yarnpkg.com/@types/estree/-/estree-1.0.5.tgz#a6ce3e556e00fd9895dd872dd172ad0d4bd687f4" - integrity sha512-/kYRxGDLWzHOB7q+wtSUQlFrtcdUccpfy+X+9iMBpHK8QLLhx2wIPYuS5DYtR9Wa/YlZAbIovy7qVdB1Aq6Lyw== - -"@types/graceful-fs@^4.1.3": - version "4.1.9" - resolved "https://registry.yarnpkg.com/@types/graceful-fs/-/graceful-fs-4.1.9.tgz#2a06bc0f68a20ab37b3e36aa238be6abdf49e8b4" - integrity sha512-olP3sd1qOEe5dXTSaFvQG+02VdRXcdytWLAZsAq1PecU8uqQAhkrnbli7DagjtXKW/Bl7YJbUsa8MPcuc8LHEQ== - dependencies: - "@types/node" "*" - -"@types/history@^4.7.11": - version "4.7.11" - resolved "https://registry.yarnpkg.com/@types/history/-/history-4.7.11.tgz#56588b17ae8f50c53983a524fc3cc47437969d64" - integrity sha512-qjDJRrmvBMiTx+jyLxvLfJU7UznFuokDv4f3WRuriHKERccVpFU+8XMQUAbDzoiJCsmexxRExQeMwwCdamSKDA== - -"@types/hoist-non-react-statics@^3.3.0": - version "3.3.5" - resolved "https://registry.yarnpkg.com/@types/hoist-non-react-statics/-/hoist-non-react-statics-3.3.5.tgz#dab7867ef789d87e2b4b0003c9d65c49cc44a494" - integrity sha512-SbcrWzkKBw2cdwRTwQAswfpB9g9LJWfjtUeW/jvNwbhC8cpmmNYVePa+ncbUe0rGTQ7G3Ff6mYUN2VMfLVr+Sg== - dependencies: - "@types/react" "*" - hoist-non-react-statics "^3.3.0" - -"@types/istanbul-lib-coverage@*", "@types/istanbul-lib-coverage@^2.0.0", "@types/istanbul-lib-coverage@^2.0.1": - version "2.0.6" - resolved "https://registry.yarnpkg.com/@types/istanbul-lib-coverage/-/istanbul-lib-coverage-2.0.6.tgz#7739c232a1fee9b4d3ce8985f314c0c6d33549d7" - integrity sha512-2QF/t/auWm0lsy8XtKVPG19v3sSOQlJe/YHZgfjb/KBBHOGSV+J2q/S671rcq9uTBrLAXmZpqJiaQbMT+zNU1w== - -"@types/istanbul-lib-report@*": - version "3.0.3" - resolved "https://registry.yarnpkg.com/@types/istanbul-lib-report/-/istanbul-lib-report-3.0.3.tgz#53047614ae72e19fc0401d872de3ae2b4ce350bf" - integrity sha512-NQn7AHQnk/RSLOxrBbGyJM/aVQ+pjj5HCgasFxc0K/KhoATfQ/47AyUl15I2yBUpihjmas+a+VJBOqecrFH+uA== - dependencies: - "@types/istanbul-lib-coverage" "*" - -"@types/istanbul-reports@^3.0.0": - version "3.0.4" - resolved "https://registry.yarnpkg.com/@types/istanbul-reports/-/istanbul-reports-3.0.4.tgz#0f03e3d2f670fbdac586e34b433783070cc16f54" - integrity sha512-pk2B1NWalF9toCRu6gjBzR69syFjP4Od8WRAX+0mmf9lAjCRicLOWc+ZrxZHx/0XRjotgkF9t6iaMJ+aXcOdZQ== - dependencies: - "@types/istanbul-lib-report" "*" - -"@types/jest@*", "@types/jest@^29.5.0": - version "29.5.11" - resolved "https://registry.yarnpkg.com/@types/jest/-/jest-29.5.11.tgz#0c13aa0da7d0929f078ab080ae5d4ced80fa2f2c" - integrity sha512-S2mHmYIVe13vrm6q4kN6fLYYAka15ALQki/vgDC3mIukEOx8WJlv0kQPM+d4w8Gp6u0uSdKND04IlTXBv0rwnQ== - dependencies: - expect "^29.0.0" - pretty-format "^29.0.0" - -"@types/js-cookie@^2.2.6": - version "2.2.7" - resolved "https://registry.yarnpkg.com/@types/js-cookie/-/js-cookie-2.2.7.tgz#226a9e31680835a6188e887f3988e60c04d3f6a3" - integrity sha512-aLkWa0C0vO5b4Sr798E26QgOkss68Un0bLjs7u9qxzPT5CG+8DuNTffWES58YzJs3hrVAOs1wonycqEBqNJubA== - -"@types/jsdom@^20.0.0": - version "20.0.1" - resolved "https://registry.yarnpkg.com/@types/jsdom/-/jsdom-20.0.1.tgz#07c14bc19bd2f918c1929541cdaacae894744808" - integrity sha512-d0r18sZPmMQr1eG35u12FZfhIXNrnsPU/g5wvRKCUf/tOGilKKwYMYGqh33BNR6ba+2gkHw1EUiHoN3mn7E5IQ== - dependencies: - "@types/node" "*" - "@types/tough-cookie" "*" - parse5 "^7.0.0" - -"@types/json-schema@*", "@types/json-schema@^7.0.12", "@types/json-schema@^7.0.8", "@types/json-schema@^7.0.9": - version "7.0.15" - resolved "https://registry.yarnpkg.com/@types/json-schema/-/json-schema-7.0.15.tgz#596a1747233694d50f6ad8a7869fcb6f56cf5841" - integrity sha512-5+fP8P8MFNC+AyZCDxrB2pkZFPGzqQWUzpSeuuVLvm8VMcorNYavBqoFcxK8bQz4Qsbn4oUEEem4wDLfcysGHA== - -"@types/json5@^0.0.29": - version "0.0.29" - resolved "https://registry.yarnpkg.com/@types/json5/-/json5-0.0.29.tgz#ee28707ae94e11d2b827bcbe5270bcea7f3e71ee" - integrity sha512-dRLjCWHYg4oaA77cxO64oO+7JwCwnIzkZPdrrC71jQmQtlhM556pwKo5bUzqvZndkVbeFLIIi+9TC40JNF5hNQ== - -"@types/lodash@^4.14.194": - version "4.14.202" - resolved "https://registry.yarnpkg.com/@types/lodash/-/lodash-4.14.202.tgz#f09dbd2fb082d507178b2f2a5c7e74bd72ff98f8" - integrity sha512-OvlIYQK9tNneDlS0VN54LLd5uiPCBOp7gS5Z0f1mjoJYBrtStzgmJBxONW3U6OZqdtNzZPmn9BS/7WI7BFFcFQ== - -"@types/node@*", "@types/node@^20.8.7": - version "20.11.6" - resolved "https://registry.yarnpkg.com/@types/node/-/node-20.11.6.tgz#6adf4241460e28be53836529c033a41985f85b6e" - integrity sha512-+EOokTnksGVgip2PbYbr3xnR7kZigh4LbybAfBAw5BpnQ+FqBYUsvCEjYd70IXKlbohQ64mzEYmMtlWUY8q//Q== - dependencies: - undici-types "~5.26.4" - -"@types/node@^14.14.31": - version "14.18.63" - resolved "https://registry.yarnpkg.com/@types/node/-/node-14.18.63.tgz#1788fa8da838dbb5f9ea994b834278205db6ca2b" - integrity sha512-fAtCfv4jJg+ExtXhvCkCqUKZ+4ok/JQk01qDKhL5BDDoS3AxKXhV5/MAVUZyQnSEd2GT92fkgZl0pz0Q0AzcIQ== - -"@types/parse-json@^4.0.0": - version "4.0.2" - resolved "https://registry.yarnpkg.com/@types/parse-json/-/parse-json-4.0.2.tgz#5950e50960793055845e956c427fc2b0d70c5239" - integrity sha512-dISoDXWWQwUquiKsyZ4Ng+HX2KsPL7LyHKHQwgGFEA3IaKac4Obd+h2a/a6waisAoepJlBcx9paWqjA8/HVjCw== - -"@types/prop-types@*": - version "15.7.11" - resolved "https://registry.yarnpkg.com/@types/prop-types/-/prop-types-15.7.11.tgz#2596fb352ee96a1379c657734d4b913a613ad563" - integrity sha512-ga8y9v9uyeiLdpKddhxYQkxNDrfvuPrlFb0N1qnZZByvcElJaXthF1UhvCh9TLWJBEHeNtdnbysW7Y6Uq8CVng== - -"@types/react-dom@^18.0.0": - version "18.2.18" - resolved "https://registry.yarnpkg.com/@types/react-dom/-/react-dom-18.2.18.tgz#16946e6cd43971256d874bc3d0a72074bb8571dd" - integrity sha512-TJxDm6OfAX2KJWJdMEVTwWke5Sc/E/RlnPGvGfS0W7+6ocy2xhDVQVh/KvC2Uf7kACs+gDytdusDSdWfWkaNzw== - dependencies: - "@types/react" "*" - -"@types/react-redux@^7.1.20": - version "7.1.33" - resolved "https://registry.yarnpkg.com/@types/react-redux/-/react-redux-7.1.33.tgz#53c5564f03f1ded90904e3c90f77e4bd4dc20b15" - integrity sha512-NF8m5AjWCkert+fosDsN3hAlHzpjSiXlVy9EgQEmLoBhaNXbmyeGs/aj5dQzKuF+/q+S7JQagorGDW8pJ28Hmg== - dependencies: - "@types/hoist-non-react-statics" "^3.3.0" - "@types/react" "*" - hoist-non-react-statics "^3.3.0" - redux "^4.0.0" - -"@types/react-router-dom@^5.3.3": - version "5.3.3" - resolved "https://registry.yarnpkg.com/@types/react-router-dom/-/react-router-dom-5.3.3.tgz#e9d6b4a66fcdbd651a5f106c2656a30088cc1e83" - integrity sha512-kpqnYK4wcdm5UaWI3fLcELopqLrHgLqNsdpHauzlQktfkHL3npOSwtj1Uz9oKBAzs7lFtVkV8j83voAz2D8fhw== - dependencies: - "@types/history" "^4.7.11" - "@types/react" "*" - "@types/react-router" "*" - -"@types/react-router@*": - version "5.1.20" - resolved "https://registry.yarnpkg.com/@types/react-router/-/react-router-5.1.20.tgz#88eccaa122a82405ef3efbcaaa5dcdd9f021387c" - integrity sha512-jGjmu/ZqS7FjSH6owMcD5qpq19+1RS9DeVRqfl1FeBMxTDQAGwlMWOcs52NDoXaNKyG3d1cYQFMs9rCrb88o9Q== - dependencies: - "@types/history" "^4.7.11" - "@types/react" "*" - -"@types/react-transition-group@^4.4.0": - version "4.4.10" - resolved "https://registry.yarnpkg.com/@types/react-transition-group/-/react-transition-group-4.4.10.tgz#6ee71127bdab1f18f11ad8fb3322c6da27c327ac" - integrity sha512-hT/+s0VQs2ojCX823m60m5f0sL5idt9SO6Tj6Dg+rdphGPIeJbJ6CxvBYkgkGKrYeDjvIpKTR38UzmtHJOGW3Q== - dependencies: - "@types/react" "*" - -"@types/react@*": - version "18.2.48" - resolved "https://registry.yarnpkg.com/@types/react/-/react-18.2.48.tgz#11df5664642d0bd879c1f58bc1d37205b064e8f1" - integrity sha512-qboRCl6Ie70DQQG9hhNREz81jqC1cs9EVNcjQ1AU+jH6NFfSAhVVbrrY/+nSF+Bsk4AOwm9Qa61InvMCyV+H3w== - dependencies: - "@types/prop-types" "*" - "@types/scheduler" "*" - csstype "^3.0.2" - -"@types/scheduler@*": - version "0.16.8" - resolved "https://registry.yarnpkg.com/@types/scheduler/-/scheduler-0.16.8.tgz#ce5ace04cfeabe7ef87c0091e50752e36707deff" - integrity sha512-WZLiwShhwLRmeV6zH+GkbOFT6Z6VklCItrDioxUnv+u4Ll+8vKeFySoFyK/0ctcRpOmwAicELfmys1sDc/Rw+A== - -"@types/semver@^7.3.12", "@types/semver@^7.5.0": - version "7.5.6" - resolved "https://registry.yarnpkg.com/@types/semver/-/semver-7.5.6.tgz#c65b2bfce1bec346582c07724e3f8c1017a20339" - integrity sha512-dn1l8LaMea/IjDoHNd9J52uBbInB796CDffS6VdIxvqYCPSG0V0DzHp76GpaWnlhg88uYyPbXCDIowa86ybd5A== - -"@types/sinonjs__fake-timers@8.1.1": - version "8.1.1" - resolved "https://registry.yarnpkg.com/@types/sinonjs__fake-timers/-/sinonjs__fake-timers-8.1.1.tgz#b49c2c70150141a15e0fa7e79cf1f92a72934ce3" - integrity sha512-0kSuKjAS0TrGLJ0M/+8MaFkGsQhZpB6pxOmvS3K8FYI72K//YmdfoW9X2qPsAKh1mkwxGD5zib9s1FIFed6E8g== - -"@types/sizzle@^2.3.2": - version "2.3.8" - resolved "https://registry.yarnpkg.com/@types/sizzle/-/sizzle-2.3.8.tgz#518609aefb797da19bf222feb199e8f653ff7627" - integrity sha512-0vWLNK2D5MT9dg0iOo8GlKguPAU02QjmZitPEsXRuJXU/OGIOt9vT9Fc26wtYuavLxtO45v9PGleoL9Z0k1LHg== - -"@types/stack-utils@^2.0.0": - version "2.0.3" - resolved "https://registry.yarnpkg.com/@types/stack-utils/-/stack-utils-2.0.3.tgz#6209321eb2c1712a7e7466422b8cb1fc0d9dd5d8" - integrity sha512-9aEbYZ3TbYMznPdcdr3SmIrLXwC/AKZXQeCf9Pgao5CKb8CyHuEX5jzWPTkvregvhRJHcpRO6BFoGW9ycaOkYw== - -"@types/string-hash@1.1.1": - version "1.1.1" - resolved "https://registry.yarnpkg.com/@types/string-hash/-/string-hash-1.1.1.tgz#4c336e61d1e13ce2d3efaaa5910005fd080e106b" - integrity sha512-ijt3zdHi2DmZxQpQTmozXszzDo78V4R3EdvX0jFMfnMH2ZzQSmCbaWOMPGXFUYSzSIdStv78HDjg32m5dxc+tA== - -"@types/testing-library__jest-dom@5.14.8": - version "5.14.8" - resolved "https://registry.yarnpkg.com/@types/testing-library__jest-dom/-/testing-library__jest-dom-5.14.8.tgz#b32090a01c29040461fb7fa10a82400f216a4b93" - integrity sha512-NRfJE9Cgpmu4fx716q9SYmU4jxxhYRU1BQo239Txt/9N3EC745XZX1Yl7h/SBIDlo1ANVOCRB4YDXjaQdoKCHQ== - dependencies: - "@types/jest" "*" - -"@types/tough-cookie@*": - version "4.0.5" - resolved "https://registry.yarnpkg.com/@types/tough-cookie/-/tough-cookie-4.0.5.tgz#cb6e2a691b70cb177c6e3ae9c1d2e8b2ea8cd304" - integrity sha512-/Ad8+nIOV7Rl++6f1BdKxFSMgmoqEoYbHRpPcx3JEfv8VRsQe9Z4mCXeJBzxs7mbHY/XOZZuXlRNfhpVPbs6ZA== - -"@types/yargs-parser@*": - version "21.0.3" - resolved "https://registry.yarnpkg.com/@types/yargs-parser/-/yargs-parser-21.0.3.tgz#815e30b786d2e8f0dcd85fd5bcf5e1a04d008f15" - integrity sha512-I4q9QU9MQv4oEOz4tAHJtNz1cwuLxn2F3xcc2iV5WdqLPpUnj30aUuxt1mAxYTG+oe8CZMV/+6rU4S4gRDzqtQ== - -"@types/yargs@^17.0.8": - version "17.0.32" - resolved "https://registry.yarnpkg.com/@types/yargs/-/yargs-17.0.32.tgz#030774723a2f7faafebf645f4e5a48371dca6229" - integrity sha512-xQ67Yc/laOG5uMfX/093MRlGGCIBzZMarVa+gfNKJxWAIgykYpVGkBdbqEzGDDfCrVUj6Hiff4mTZ5BA6TmAog== - dependencies: - "@types/yargs-parser" "*" - -"@types/yauzl@^2.9.1": - version "2.10.3" - resolved "https://registry.yarnpkg.com/@types/yauzl/-/yauzl-2.10.3.tgz#e9b2808b4f109504a03cda958259876f61017999" - integrity sha512-oJoftv0LSuaDZE3Le4DbKX+KS9G36NzOeSap90UIK0yMA/NhKJhqlSGtNDORNRaIbQfzjXDrQa0ytJ6mNRGz/Q== - dependencies: - "@types/node" "*" - -"@typescript-eslint/eslint-plugin@5.59.9": - version "5.59.9" - resolved "https://registry.yarnpkg.com/@typescript-eslint/eslint-plugin/-/eslint-plugin-5.59.9.tgz#2604cfaf2b306e120044f901e20c8ed926debf15" - integrity sha512-4uQIBq1ffXd2YvF7MAvehWKW3zVv/w+mSfRAu+8cKbfj3nwzyqJLNcZJpQ/WZ1HLbJDiowwmQ6NO+63nCA+fqA== - dependencies: - "@eslint-community/regexpp" "^4.4.0" - "@typescript-eslint/scope-manager" "5.59.9" - "@typescript-eslint/type-utils" "5.59.9" - "@typescript-eslint/utils" "5.59.9" - debug "^4.3.4" - grapheme-splitter "^1.0.4" - ignore "^5.2.0" - natural-compare-lite "^1.4.0" - semver "^7.3.7" - tsutils "^3.21.0" - -"@typescript-eslint/parser@5.59.9": - version "5.59.9" - resolved "https://registry.yarnpkg.com/@typescript-eslint/parser/-/parser-5.59.9.tgz#a85c47ccdd7e285697463da15200f9a8561dd5fa" - integrity sha512-FsPkRvBtcLQ/eVK1ivDiNYBjn3TGJdXy2fhXX+rc7czWl4ARwnpArwbihSOHI2Peg9WbtGHrbThfBUkZZGTtvQ== - dependencies: - "@typescript-eslint/scope-manager" "5.59.9" - "@typescript-eslint/types" "5.59.9" - "@typescript-eslint/typescript-estree" "5.59.9" - debug "^4.3.4" - -"@typescript-eslint/scope-manager@5.59.9": - version "5.59.9" - resolved "https://registry.yarnpkg.com/@typescript-eslint/scope-manager/-/scope-manager-5.59.9.tgz#eadce1f2733389cdb58c49770192c0f95470d2f4" - integrity sha512-8RA+E+w78z1+2dzvK/tGZ2cpGigBZ58VMEHDZtpE1v+LLjzrYGc8mMaTONSxKyEkz3IuXFM0IqYiGHlCsmlZxQ== - dependencies: - "@typescript-eslint/types" "5.59.9" - "@typescript-eslint/visitor-keys" "5.59.9" - -"@typescript-eslint/scope-manager@6.19.1": - version "6.19.1" - resolved "https://registry.yarnpkg.com/@typescript-eslint/scope-manager/-/scope-manager-6.19.1.tgz#2f527ee30703a6169a52b31d42a1103d80acd51b" - integrity sha512-4CdXYjKf6/6aKNMSly/BP4iCSOpvMmqtDzRtqFyyAae3z5kkqEjKndR5vDHL8rSuMIIWP8u4Mw4VxLyxZW6D5w== - dependencies: - "@typescript-eslint/types" "6.19.1" - "@typescript-eslint/visitor-keys" "6.19.1" - -"@typescript-eslint/type-utils@5.59.9": - version "5.59.9" - resolved "https://registry.yarnpkg.com/@typescript-eslint/type-utils/-/type-utils-5.59.9.tgz#53bfaae2e901e6ac637ab0536d1754dfef4dafc2" - integrity sha512-ksEsT0/mEHg9e3qZu98AlSrONAQtrSTljL3ow9CGej8eRo7pe+yaC/mvTjptp23Xo/xIf2mLZKC6KPv4Sji26Q== - dependencies: - "@typescript-eslint/typescript-estree" "5.59.9" - "@typescript-eslint/utils" "5.59.9" - debug "^4.3.4" - tsutils "^3.21.0" - -"@typescript-eslint/types@5.59.9": - version "5.59.9" - resolved "https://registry.yarnpkg.com/@typescript-eslint/types/-/types-5.59.9.tgz#3b4e7ae63718ce1b966e0ae620adc4099a6dcc52" - integrity sha512-uW8H5NRgTVneSVTfiCVffBb8AbwWSKg7qcA4Ot3JI3MPCJGsB4Db4BhvAODIIYE5mNj7Q+VJkK7JxmRhk2Lyjw== - -"@typescript-eslint/types@6.19.1": - version "6.19.1" - resolved "https://registry.yarnpkg.com/@typescript-eslint/types/-/types-6.19.1.tgz#2d4c9d492a63ede15e7ba7d129bdf7714b77f771" - integrity sha512-6+bk6FEtBhvfYvpHsDgAL3uo4BfvnTnoge5LrrCj2eJN8g3IJdLTD4B/jK3Q6vo4Ql/Hoip9I8aB6fF+6RfDqg== - -"@typescript-eslint/typescript-estree@5.59.9": - version "5.59.9" - resolved "https://registry.yarnpkg.com/@typescript-eslint/typescript-estree/-/typescript-estree-5.59.9.tgz#6bfea844e468427b5e72034d33c9fffc9557392b" - integrity sha512-pmM0/VQ7kUhd1QyIxgS+aRvMgw+ZljB3eDb+jYyp6d2bC0mQWLzUDF+DLwCTkQ3tlNyVsvZRXjFyV0LkU/aXjA== - dependencies: - "@typescript-eslint/types" "5.59.9" - "@typescript-eslint/visitor-keys" "5.59.9" - debug "^4.3.4" - globby "^11.1.0" - is-glob "^4.0.3" - semver "^7.3.7" - tsutils "^3.21.0" - -"@typescript-eslint/typescript-estree@6.19.1": - version "6.19.1" - resolved "https://registry.yarnpkg.com/@typescript-eslint/typescript-estree/-/typescript-estree-6.19.1.tgz#796d88d88882f12e85bb33d6d82d39e1aea54ed1" - integrity sha512-aFdAxuhzBFRWhy+H20nYu19+Km+gFfwNO4TEqyszkMcgBDYQjmPJ61erHxuT2ESJXhlhrO7I5EFIlZ+qGR8oVA== - dependencies: - "@typescript-eslint/types" "6.19.1" - "@typescript-eslint/visitor-keys" "6.19.1" - debug "^4.3.4" - globby "^11.1.0" - is-glob "^4.0.3" - minimatch "9.0.3" - semver "^7.5.4" - ts-api-utils "^1.0.1" - -"@typescript-eslint/utils@5.59.9": - version "5.59.9" - resolved "https://registry.yarnpkg.com/@typescript-eslint/utils/-/utils-5.59.9.tgz#adee890107b5ffe02cd46fdaa6c2125fb3c6c7c4" - integrity sha512-1PuMYsju/38I5Ggblaeb98TOoUvjhRvLpLa1DoTOFaLWqaXl/1iQ1eGurTXgBY58NUdtfTXKP5xBq7q9NDaLKg== - dependencies: - "@eslint-community/eslint-utils" "^4.2.0" - "@types/json-schema" "^7.0.9" - "@types/semver" "^7.3.12" - "@typescript-eslint/scope-manager" "5.59.9" - "@typescript-eslint/types" "5.59.9" - "@typescript-eslint/typescript-estree" "5.59.9" - eslint-scope "^5.1.1" - semver "^7.3.7" - -"@typescript-eslint/utils@^6.0.0": - version "6.19.1" - resolved "https://registry.yarnpkg.com/@typescript-eslint/utils/-/utils-6.19.1.tgz#df93497f9cfddde2bcc2a591da80536e68acd151" - integrity sha512-JvjfEZuP5WoMqwh9SPAPDSHSg9FBHHGhjPugSRxu5jMfjvBpq5/sGTD+9M9aQ5sh6iJ8AY/Kk/oUYVEMAPwi7w== - dependencies: - "@eslint-community/eslint-utils" "^4.4.0" - "@types/json-schema" "^7.0.12" - "@types/semver" "^7.5.0" - "@typescript-eslint/scope-manager" "6.19.1" - "@typescript-eslint/types" "6.19.1" - "@typescript-eslint/typescript-estree" "6.19.1" - semver "^7.5.4" - -"@typescript-eslint/visitor-keys@5.59.9": - version "5.59.9" - resolved "https://registry.yarnpkg.com/@typescript-eslint/visitor-keys/-/visitor-keys-5.59.9.tgz#9f86ef8e95aca30fb5a705bb7430f95fc58b146d" - integrity sha512-bT7s0td97KMaLwpEBckbzj/YohnvXtqbe2XgqNvTl6RJVakY5mvENOTPvw5u66nljfZxthESpDozs86U+oLY8Q== - dependencies: - "@typescript-eslint/types" "5.59.9" - eslint-visitor-keys "^3.3.0" - -"@typescript-eslint/visitor-keys@6.19.1": - version "6.19.1" - resolved "https://registry.yarnpkg.com/@typescript-eslint/visitor-keys/-/visitor-keys-6.19.1.tgz#2164073ed4fc34a5ff3b5e25bb5a442100454c4c" - integrity sha512-gkdtIO+xSO/SmI0W68DBg4u1KElmIUo3vXzgHyGPs6cxgB0sa3TlptRAAE0hUY1hM6FcDKEv7aIwiTGm76cXfQ== - dependencies: - "@typescript-eslint/types" "6.19.1" - eslint-visitor-keys "^3.4.1" - -"@webassemblyjs/ast@1.11.6", "@webassemblyjs/ast@^1.11.5": - version "1.11.6" - resolved "https://registry.yarnpkg.com/@webassemblyjs/ast/-/ast-1.11.6.tgz#db046555d3c413f8966ca50a95176a0e2c642e24" - integrity sha512-IN1xI7PwOvLPgjcf180gC1bqn3q/QaOCwYUahIOhbYUu8KA/3tw2RT/T0Gidi1l7Hhj5D/INhJxiICObqpMu4Q== - dependencies: - "@webassemblyjs/helper-numbers" "1.11.6" - "@webassemblyjs/helper-wasm-bytecode" "1.11.6" - -"@webassemblyjs/floating-point-hex-parser@1.11.6": - version "1.11.6" - resolved "https://registry.yarnpkg.com/@webassemblyjs/floating-point-hex-parser/-/floating-point-hex-parser-1.11.6.tgz#dacbcb95aff135c8260f77fa3b4c5fea600a6431" - integrity sha512-ejAj9hfRJ2XMsNHk/v6Fu2dGS+i4UaXBXGemOfQ/JfQ6mdQg/WXtwleQRLLS4OvfDhv8rYnVwH27YJLMyYsxhw== - -"@webassemblyjs/helper-api-error@1.11.6": - version "1.11.6" - resolved "https://registry.yarnpkg.com/@webassemblyjs/helper-api-error/-/helper-api-error-1.11.6.tgz#6132f68c4acd59dcd141c44b18cbebbd9f2fa768" - integrity sha512-o0YkoP4pVu4rN8aTJgAyj9hC2Sv5UlkzCHhxqWj8butaLvnpdc2jOwh4ewE6CX0txSfLn/UYaV/pheS2Txg//Q== - -"@webassemblyjs/helper-buffer@1.11.6": - version "1.11.6" - resolved "https://registry.yarnpkg.com/@webassemblyjs/helper-buffer/-/helper-buffer-1.11.6.tgz#b66d73c43e296fd5e88006f18524feb0f2c7c093" - integrity sha512-z3nFzdcp1mb8nEOFFk8DrYLpHvhKC3grJD2ardfKOzmbmJvEf/tPIqCY+sNcwZIY8ZD7IkB2l7/pqhUhqm7hLA== - -"@webassemblyjs/helper-numbers@1.11.6": - version "1.11.6" - resolved "https://registry.yarnpkg.com/@webassemblyjs/helper-numbers/-/helper-numbers-1.11.6.tgz#cbce5e7e0c1bd32cf4905ae444ef64cea919f1b5" - integrity sha512-vUIhZ8LZoIWHBohiEObxVm6hwP034jwmc9kuq5GdHZH0wiLVLIPcMCdpJzG4C11cHoQ25TFIQj9kaVADVX7N3g== - dependencies: - "@webassemblyjs/floating-point-hex-parser" "1.11.6" - "@webassemblyjs/helper-api-error" "1.11.6" - "@xtuc/long" "4.2.2" - -"@webassemblyjs/helper-wasm-bytecode@1.11.6": - version "1.11.6" - resolved "https://registry.yarnpkg.com/@webassemblyjs/helper-wasm-bytecode/-/helper-wasm-bytecode-1.11.6.tgz#bb2ebdb3b83aa26d9baad4c46d4315283acd51e9" - integrity sha512-sFFHKwcmBprO9e7Icf0+gddyWYDViL8bpPjJJl0WHxCdETktXdmtWLGVzoHbqUcY4Be1LkNfwTmXOJUFZYSJdA== - -"@webassemblyjs/helper-wasm-section@1.11.6": - version "1.11.6" - resolved "https://registry.yarnpkg.com/@webassemblyjs/helper-wasm-section/-/helper-wasm-section-1.11.6.tgz#ff97f3863c55ee7f580fd5c41a381e9def4aa577" - integrity sha512-LPpZbSOwTpEC2cgn4hTydySy1Ke+XEu+ETXuoyvuyezHO3Kjdu90KK95Sh9xTbmjrCsUwvWwCOQQNta37VrS9g== - dependencies: - "@webassemblyjs/ast" "1.11.6" - "@webassemblyjs/helper-buffer" "1.11.6" - "@webassemblyjs/helper-wasm-bytecode" "1.11.6" - "@webassemblyjs/wasm-gen" "1.11.6" - -"@webassemblyjs/ieee754@1.11.6": - version "1.11.6" - resolved "https://registry.yarnpkg.com/@webassemblyjs/ieee754/-/ieee754-1.11.6.tgz#bb665c91d0b14fffceb0e38298c329af043c6e3a" - integrity sha512-LM4p2csPNvbij6U1f19v6WR56QZ8JcHg3QIJTlSwzFcmx6WSORicYj6I63f9yU1kEUtrpG+kjkiIAkevHpDXrg== - dependencies: - "@xtuc/ieee754" "^1.2.0" - -"@webassemblyjs/leb128@1.11.6": - version "1.11.6" - resolved "https://registry.yarnpkg.com/@webassemblyjs/leb128/-/leb128-1.11.6.tgz#70e60e5e82f9ac81118bc25381a0b283893240d7" - integrity sha512-m7a0FhE67DQXgouf1tbN5XQcdWoNgaAuoULHIfGFIEVKA6tu/edls6XnIlkmS6FrXAquJRPni3ZZKjw6FSPjPQ== - dependencies: - "@xtuc/long" "4.2.2" - -"@webassemblyjs/utf8@1.11.6": - version "1.11.6" - resolved "https://registry.yarnpkg.com/@webassemblyjs/utf8/-/utf8-1.11.6.tgz#90f8bc34c561595fe156603be7253cdbcd0fab5a" - integrity sha512-vtXf2wTQ3+up9Zsg8sa2yWiQpzSsMyXj0qViVP6xKGCUT8p8YJ6HqI7l5eCnWx1T/FYdsv07HQs2wTFbbof/RA== - -"@webassemblyjs/wasm-edit@^1.11.5": - version "1.11.6" - resolved "https://registry.yarnpkg.com/@webassemblyjs/wasm-edit/-/wasm-edit-1.11.6.tgz#c72fa8220524c9b416249f3d94c2958dfe70ceab" - integrity sha512-Ybn2I6fnfIGuCR+Faaz7YcvtBKxvoLV3Lebn1tM4o/IAJzmi9AWYIPWpyBfU8cC+JxAO57bk4+zdsTjJR+VTOw== - dependencies: - "@webassemblyjs/ast" "1.11.6" - "@webassemblyjs/helper-buffer" "1.11.6" - "@webassemblyjs/helper-wasm-bytecode" "1.11.6" - "@webassemblyjs/helper-wasm-section" "1.11.6" - "@webassemblyjs/wasm-gen" "1.11.6" - "@webassemblyjs/wasm-opt" "1.11.6" - "@webassemblyjs/wasm-parser" "1.11.6" - "@webassemblyjs/wast-printer" "1.11.6" - -"@webassemblyjs/wasm-gen@1.11.6": - version "1.11.6" - resolved "https://registry.yarnpkg.com/@webassemblyjs/wasm-gen/-/wasm-gen-1.11.6.tgz#fb5283e0e8b4551cc4e9c3c0d7184a65faf7c268" - integrity sha512-3XOqkZP/y6B4F0PBAXvI1/bky7GryoogUtfwExeP/v7Nzwo1QLcq5oQmpKlftZLbT+ERUOAZVQjuNVak6UXjPA== - dependencies: - "@webassemblyjs/ast" "1.11.6" - "@webassemblyjs/helper-wasm-bytecode" "1.11.6" - "@webassemblyjs/ieee754" "1.11.6" - "@webassemblyjs/leb128" "1.11.6" - "@webassemblyjs/utf8" "1.11.6" - -"@webassemblyjs/wasm-opt@1.11.6": - version "1.11.6" - resolved "https://registry.yarnpkg.com/@webassemblyjs/wasm-opt/-/wasm-opt-1.11.6.tgz#d9a22d651248422ca498b09aa3232a81041487c2" - integrity sha512-cOrKuLRE7PCe6AsOVl7WasYf3wbSo4CeOk6PkrjS7g57MFfVUF9u6ysQBBODX0LdgSvQqRiGz3CXvIDKcPNy4g== - dependencies: - "@webassemblyjs/ast" "1.11.6" - "@webassemblyjs/helper-buffer" "1.11.6" - "@webassemblyjs/wasm-gen" "1.11.6" - "@webassemblyjs/wasm-parser" "1.11.6" - -"@webassemblyjs/wasm-parser@1.11.6", "@webassemblyjs/wasm-parser@^1.11.5": - version "1.11.6" - resolved "https://registry.yarnpkg.com/@webassemblyjs/wasm-parser/-/wasm-parser-1.11.6.tgz#bb85378c527df824004812bbdb784eea539174a1" - integrity sha512-6ZwPeGzMJM3Dqp3hCsLgESxBGtT/OeCvCZ4TA1JUPYgmhAx38tTPR9JaKy0S5H3evQpO/h2uWs2j6Yc/fjkpTQ== - dependencies: - "@webassemblyjs/ast" "1.11.6" - "@webassemblyjs/helper-api-error" "1.11.6" - "@webassemblyjs/helper-wasm-bytecode" "1.11.6" - "@webassemblyjs/ieee754" "1.11.6" - "@webassemblyjs/leb128" "1.11.6" - "@webassemblyjs/utf8" "1.11.6" - -"@webassemblyjs/wast-printer@1.11.6": - version "1.11.6" - resolved "https://registry.yarnpkg.com/@webassemblyjs/wast-printer/-/wast-printer-1.11.6.tgz#a7bf8dd7e362aeb1668ff43f35cb849f188eff20" - integrity sha512-JM7AhRcE+yW2GWYaKeHL5vt4xqee5N2WcezptmgyhNS+ScggqcT1OtXykhAb13Sn5Yas0j2uv9tHgrjwvzAP4A== - dependencies: - "@webassemblyjs/ast" "1.11.6" - "@xtuc/long" "4.2.2" - -"@webpack-cli/configtest@^2.1.1": - version "2.1.1" - resolved "https://registry.yarnpkg.com/@webpack-cli/configtest/-/configtest-2.1.1.tgz#3b2f852e91dac6e3b85fb2a314fb8bef46d94646" - integrity sha512-wy0mglZpDSiSS0XHrVR+BAdId2+yxPSoJW8fsna3ZpYSlufjvxnP4YbKTCBZnNIcGN4r6ZPXV55X4mYExOfLmw== - -"@webpack-cli/info@^2.0.2": - version "2.0.2" - resolved "https://registry.yarnpkg.com/@webpack-cli/info/-/info-2.0.2.tgz#cc3fbf22efeb88ff62310cf885c5b09f44ae0fdd" - integrity sha512-zLHQdI/Qs1UyT5UBdWNqsARasIA+AaF8t+4u2aS2nEpBQh2mWIVb8qAklq0eUENnC5mOItrIB4LiS9xMtph18A== - -"@webpack-cli/serve@^2.0.5": - version "2.0.5" - resolved "https://registry.yarnpkg.com/@webpack-cli/serve/-/serve-2.0.5.tgz#325db42395cd49fe6c14057f9a900e427df8810e" - integrity sha512-lqaoKnRYBdo1UgDX8uF24AfGMifWK19TxPmM5FHc2vAGxrJ/qtyUyFBWoY1tISZdelsQ5fBcOusifo5o5wSJxQ== - -"@wojtekmaj/date-utils@^1.0.2": - version "1.5.1" - resolved "https://registry.yarnpkg.com/@wojtekmaj/date-utils/-/date-utils-1.5.1.tgz#c3cd67177ac781cfa5736219d702a55a2aea5f2b" - integrity sha512-+i7+JmNiE/3c9FKxzWFi2IjRJ+KzZl1QPu6QNrsgaa2MuBgXvUy4gA1TVzf/JMdIIloB76xSKikTWuyYAIVLww== - -"@xobotyi/scrollbar-width@^1.9.5": - version "1.9.5" - resolved "https://registry.yarnpkg.com/@xobotyi/scrollbar-width/-/scrollbar-width-1.9.5.tgz#80224a6919272f405b87913ca13b92929bdf3c4d" - integrity sha512-N8tkAACJx2ww8vFMneJmaAgmjAG1tnVBZJRLRcx061tmsLRZHSEZSLuGWnwPtunsSLvSqXQ2wfp7Mgqg1I+2dQ== - -"@xtuc/ieee754@^1.2.0": - version "1.2.0" - resolved "https://registry.yarnpkg.com/@xtuc/ieee754/-/ieee754-1.2.0.tgz#eef014a3145ae477a1cbc00cd1e552336dceb790" - integrity sha512-DX8nKgqcGwsc0eJSqYt5lwP4DH5FlHnmuWWBRy7X0NcaGR0ZtuyeESgMwTYVEtxmsNGY+qit4QYT/MIYTOTPeA== - -"@xtuc/long@4.2.2": - version "4.2.2" - resolved "https://registry.yarnpkg.com/@xtuc/long/-/long-4.2.2.tgz#d291c6a4e97989b5c61d9acf396ae4fe133a718d" - integrity sha512-NuHqBY1PB/D8xU6s/thBgOAiAP7HOYDQ32+BFZILJ8ivkUkAHQnWfn6WhL79Owj1qmUnoN/YPhktdIoucipkAQ== - -abab@^2.0.6: - version "2.0.6" - resolved "https://registry.yarnpkg.com/abab/-/abab-2.0.6.tgz#41b80f2c871d19686216b82309231cfd3cb3d291" - integrity sha512-j2afSsaIENvHZN2B8GOpF566vZ5WVk5opAiMTvWgaQT8DkbOqsTfvNAvHoRGU2zzP8cPoqys+xHTRDWW8L+/BA== - -acorn-globals@^7.0.0: - version "7.0.1" - resolved "https://registry.yarnpkg.com/acorn-globals/-/acorn-globals-7.0.1.tgz#0dbf05c44fa7c94332914c02066d5beff62c40c3" - integrity sha512-umOSDSDrfHbTNPuNpC2NSnnA3LUrqpevPb4T9jRx4MagXNS0rs+gwiTcAvqCRmsD6utzsrzNt+ebm00SNWiC3Q== - dependencies: - acorn "^8.1.0" - acorn-walk "^8.0.2" - -acorn-import-assertions@^1.9.0: - version "1.9.0" - resolved "https://registry.yarnpkg.com/acorn-import-assertions/-/acorn-import-assertions-1.9.0.tgz#507276249d684797c84e0734ef84860334cfb1ac" - integrity sha512-cmMwop9x+8KFhxvKrKfPYmN6/pKTYYHBqLa0DfvVZcKMJWNyWLnaqND7dx/qn66R7ewM1UX5XMaDVP5wlVTaVA== - -acorn-jsx@^5.3.2: - version "5.3.2" - resolved "https://registry.yarnpkg.com/acorn-jsx/-/acorn-jsx-5.3.2.tgz#7ed5bb55908b3b2f1bc55c6af1653bada7f07937" - integrity sha512-rq9s+JNhf0IChjtDXxllJ7g41oZk5SlXtp0LHwyA5cejwn7vKmKp4pPri6YEePv2PU65sAsegbXtIinmDFDXgQ== - -acorn-walk@^8.0.2, acorn-walk@^8.1.1: - version "8.3.2" - resolved "https://registry.yarnpkg.com/acorn-walk/-/acorn-walk-8.3.2.tgz#7703af9415f1b6db9315d6895503862e231d34aa" - integrity sha512-cjkyv4OtNCIeqhHrfS81QWXoCBPExR/J62oyEqepVw8WaQeSqpW2uhuLPh1m9eWhDuOo/jUXVTlifvesOWp/4A== - -acorn@^8.1.0, acorn@^8.4.1, acorn@^8.7.1, acorn@^8.8.1, acorn@^8.8.2, acorn@^8.9.0: - version "8.11.3" - resolved "https://registry.yarnpkg.com/acorn/-/acorn-8.11.3.tgz#71e0b14e13a4ec160724b38fb7b0f233b1b81d7a" - integrity sha512-Y9rRfJG5jcKOE0CLisYbojUjIrIEE7AGMzA/Sm4BslANhbS+cDMpgBdcPT91oJ7OuJ9hYJBx59RjbhxVnrF8Xg== - -add-dom-event-listener@^1.1.0: - version "1.1.0" - resolved "https://registry.yarnpkg.com/add-dom-event-listener/-/add-dom-event-listener-1.1.0.tgz#6a92db3a0dd0abc254e095c0f1dc14acbbaae310" - integrity sha512-WCxx1ixHT0GQU9hb0KI/mhgRQhnU+U3GvwY6ZvVjYq8rsihIGoaIOUbY0yMPBxLH5MDtr0kz3fisWGNcbWW7Jw== - dependencies: - object-assign "4.x" - -add-px-to-style@1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/add-px-to-style/-/add-px-to-style-1.0.0.tgz#d0c135441fa8014a8137904531096f67f28f263a" - integrity sha512-YMyxSlXpPjD8uWekCQGuN40lV4bnZagUwqa2m/uFv1z/tNImSk9fnXVMUI5qwME/zzI3MMQRvjZ+69zyfSSyew== - -agent-base@6: - version "6.0.2" - resolved "https://registry.yarnpkg.com/agent-base/-/agent-base-6.0.2.tgz#49fff58577cfee3f37176feab4c22e00f86d7f77" - integrity sha512-RZNwNclF7+MS/8bDg70amg32dyeZGZxiDuQmZxKLAlQjr3jGyLx+4Kkk58UO7D2QdgFIQCovuSuZESne6RG6XQ== - dependencies: - debug "4" - -aggregate-error@^3.0.0: - version "3.1.0" - resolved "https://registry.yarnpkg.com/aggregate-error/-/aggregate-error-3.1.0.tgz#92670ff50f5359bdb7a3e0d40d0ec30c5737687a" - integrity sha512-4I7Td01quW/RpocfNayFdFVk1qSuoh0E7JrbRJ16nH01HhKFQ88INq9Sd+nd72zqRySlr9BmDA8xlEJ6vJMrYA== - dependencies: - clean-stack "^2.0.0" - indent-string "^4.0.0" - -ajv-formats@^2.1.1: - version "2.1.1" - resolved "https://registry.yarnpkg.com/ajv-formats/-/ajv-formats-2.1.1.tgz#6e669400659eb74973bbf2e33327180a0996b520" - integrity sha512-Wx0Kx52hxE7C18hkMEggYlEifqWZtYaRgouJor+WMdPnQyEK13vgEWyVNup7SoeeoLMsr4kf5h6dOW11I15MUA== - dependencies: - ajv "^8.0.0" - -ajv-keywords@^3.5.2: - version "3.5.2" - resolved "https://registry.yarnpkg.com/ajv-keywords/-/ajv-keywords-3.5.2.tgz#31f29da5ab6e00d1c2d329acf7b5929614d5014d" - integrity sha512-5p6WTN0DdTGVQk6VjcEju19IgaHudalcfabD7yhDGeA6bcQnmL+CpveLJq/3hvfwd1aof6L386Ougkx6RfyMIQ== - -ajv-keywords@^5.1.0: - version "5.1.0" - resolved "https://registry.yarnpkg.com/ajv-keywords/-/ajv-keywords-5.1.0.tgz#69d4d385a4733cdbeab44964a1170a88f87f0e16" - integrity sha512-YCS/JNFAUyr5vAuhk1DWm1CBxRHW9LbJ2ozWeemrIqpbsqKjHVxYPyi5GC0rjZIT5JxJ3virVTS8wk4i/Z+krw== - dependencies: - fast-deep-equal "^3.1.3" - -ajv@^6.10.0, ajv@^6.12.3, ajv@^6.12.4, ajv@^6.12.5: - version "6.12.6" - resolved "https://registry.yarnpkg.com/ajv/-/ajv-6.12.6.tgz#baf5a62e802b07d977034586f8c3baf5adf26df4" - integrity sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g== - dependencies: - fast-deep-equal "^3.1.1" - fast-json-stable-stringify "^2.0.0" - json-schema-traverse "^0.4.1" - uri-js "^4.2.2" - -ajv@^8.0.0, ajv@^8.9.0: - version "8.12.0" - resolved "https://registry.yarnpkg.com/ajv/-/ajv-8.12.0.tgz#d1a0527323e22f53562c567c00991577dfbe19d1" - integrity sha512-sRu1kpcO9yLtYxBKvqfTeh9KzZEwO3STyX1HT+4CaDzC6HpTGYhIhPIzj9XuKU7KYDwnaeh5hcOwjy1QuJzBPA== - dependencies: - fast-deep-equal "^3.1.1" - json-schema-traverse "^1.0.0" - require-from-string "^2.0.2" - uri-js "^4.2.2" - -ansi-colors@4.1.1: - version "4.1.1" - resolved "https://registry.yarnpkg.com/ansi-colors/-/ansi-colors-4.1.1.tgz#cbb9ae256bf750af1eab344f229aa27fe94ba348" - integrity sha512-JoX0apGbHaUJBNl6yF+p6JAFYZ666/hhCGKN5t9QFjbJQKUU/g8MNbFDbvfrgKXvI1QpZplPOnwIo99lX/AAmA== - -ansi-colors@^4.1.1: - version "4.1.3" - resolved "https://registry.yarnpkg.com/ansi-colors/-/ansi-colors-4.1.3.tgz#37611340eb2243e70cc604cad35d63270d48781b" - integrity sha512-/6w/C21Pm1A7aZitlI5Ni/2J6FFQN8i1Cvz3kHABAAbw93v/NlvKdVOqz7CCWz/3iv/JplRSEEZ83XION15ovw== - -ansi-escapes@^4.2.1, ansi-escapes@^4.3.0: - version "4.3.2" - resolved "https://registry.yarnpkg.com/ansi-escapes/-/ansi-escapes-4.3.2.tgz#6b2291d1db7d98b6521d5f1efa42d0f3a9feb65e" - integrity sha512-gKXj5ALrKWQLsYG9jlTRmR/xKluxHV+Z9QEwNIgCfM1/uwPMCuzVVnh5mwTd+OuBZcwSIMbqssNWRm1lE51QaQ== - dependencies: - type-fest "^0.21.3" - -ansi-regex@^5.0.1: - version "5.0.1" - resolved "https://registry.yarnpkg.com/ansi-regex/-/ansi-regex-5.0.1.tgz#082cb2c89c9fe8659a311a53bd6a4dc5301db304" - integrity sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ== - -ansi-regex@^6.0.1: - version "6.0.1" - resolved "https://registry.yarnpkg.com/ansi-regex/-/ansi-regex-6.0.1.tgz#3183e38fae9a65d7cb5e53945cd5897d0260a06a" - integrity sha512-n5M855fKb2SsfMIiFFoVrABHJC8QtHwVx+mHWP3QcEqBHYienj5dHSgjbxtC0WEZXYt4wcD6zrQElDPhFuZgfA== - -ansi-styles@^3.2.1: - version "3.2.1" - resolved "https://registry.yarnpkg.com/ansi-styles/-/ansi-styles-3.2.1.tgz#41fbb20243e50b12be0f04b8dedbf07520ce841d" - integrity sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA== - dependencies: - color-convert "^1.9.0" - -ansi-styles@^4.0.0, ansi-styles@^4.1.0: - version "4.3.0" - resolved "https://registry.yarnpkg.com/ansi-styles/-/ansi-styles-4.3.0.tgz#edd803628ae71c04c85ae7a0906edad34b648937" - integrity sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg== - dependencies: - color-convert "^2.0.1" - -ansi-styles@^5.0.0: - version "5.2.0" - resolved "https://registry.yarnpkg.com/ansi-styles/-/ansi-styles-5.2.0.tgz#07449690ad45777d1924ac2abb2fc8895dba836b" - integrity sha512-Cxwpt2SfTzTtXcfOlzGEee8O+c+MmUgGrNiBcXnuWxuFJHe6a5Hz7qwhwe5OgaSYI0IJvkLqWX1ASG+cJOkEiA== - -ansi-styles@^6.1.0: - version "6.2.1" - resolved "https://registry.yarnpkg.com/ansi-styles/-/ansi-styles-6.2.1.tgz#0e62320cf99c21afff3b3012192546aacbfb05c5" - integrity sha512-bN798gFfQX+viw3R7yrGWRqnrN2oRkEkUjjl4JNn4E8GxxbjtG3FbrEIIY3l8/hrwUwIeCZvi4QuOTP4MErVug== - -ansicolor@1.1.100: - version "1.1.100" - resolved "https://registry.yarnpkg.com/ansicolor/-/ansicolor-1.1.100.tgz#811f1afbf726edca3aafb942a14df8351996304a" - integrity sha512-Jl0pxRfa9WaQVUX57AB8/V2my6FJxrOR1Pp2qqFbig20QB4HzUoQ48THTKAgHlUCJeQm/s2WoOPcoIDhyCL/kw== - -anymatch@^3.0.3, anymatch@^3.1.1, anymatch@~3.1.2: - version "3.1.3" - resolved "https://registry.yarnpkg.com/anymatch/-/anymatch-3.1.3.tgz#790c58b19ba1720a84205b57c618d5ad8524973e" - integrity sha512-KMReFUr0B4t+D+OBkjR3KYqvocp2XaSzO55UcB6mgQMd3KbcE+mWTyvVV7D/zsdEbNnV6acZUutkiHQXvTr1Rw== - dependencies: - normalize-path "^3.0.0" - picomatch "^2.0.4" - -arch@^2.2.0: - version "2.2.0" - resolved "https://registry.yarnpkg.com/arch/-/arch-2.2.0.tgz#1bc47818f305764f23ab3306b0bfc086c5a29d11" - integrity sha512-Of/R0wqp83cgHozfIYLbBMnej79U/SVGOOyuB3VVFv1NRM/PSFMK12x9KVtiYzJqmnU5WR2qp0Z5rHb7sWGnFQ== - -are-docs-informative@^0.0.2: - version "0.0.2" - resolved "https://registry.yarnpkg.com/are-docs-informative/-/are-docs-informative-0.0.2.tgz#387f0e93f5d45280373d387a59d34c96db321963" - integrity sha512-ixiS0nLNNG5jNQzgZJNoUpBKdo9yTYZMGJ+QgT2jmjR7G7+QHRCc4v6LQ3NgE7EBJq+o0ams3waJwkrlBom8Ig== - -arg@^4.1.0: - version "4.1.3" - resolved "https://registry.yarnpkg.com/arg/-/arg-4.1.3.tgz#269fc7ad5b8e42cb63c896d5666017261c144089" - integrity sha512-58S9QDqG0Xx27YwPSt9fJxivjYl432YCwfDMfZ+71RAqUrZef7LrKQZ3LHLOwCS4FLNBplP533Zx895SeOCHvA== - -argparse@^1.0.7: - version "1.0.10" - resolved "https://registry.yarnpkg.com/argparse/-/argparse-1.0.10.tgz#bcd6791ea5ae09725e17e5ad988134cd40b3d911" - integrity sha512-o5Roy6tNG4SL/FOkCAN6RzjiakZS25RLYFrcMttJqbdd8BWrnA+fGz57iN5Pb06pvBGvl5gQ0B48dJlslXvoTg== - dependencies: - sprintf-js "~1.0.2" - -argparse@^2.0.1: - version "2.0.1" - resolved "https://registry.yarnpkg.com/argparse/-/argparse-2.0.1.tgz#246f50f3ca78a3240f6c997e8a9bd1eac49e4b38" - integrity sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q== - -aria-query@5.1.3: - version "5.1.3" - resolved "https://registry.yarnpkg.com/aria-query/-/aria-query-5.1.3.tgz#19db27cd101152773631396f7a95a3b58c22c35e" - integrity sha512-R5iJ5lkuHybztUfuOAznmboyjWq8O6sqNqtK7CLOqdydi54VNbORp49mb14KbWgG1QD3JFO9hJdZ+y4KutfdOQ== - dependencies: - deep-equal "^2.0.5" - -aria-query@^5.0.0: - version "5.3.0" - resolved "https://registry.yarnpkg.com/aria-query/-/aria-query-5.3.0.tgz#650c569e41ad90b51b3d7df5e5eed1c7549c103e" - integrity sha512-b0P0sZPKtyu8HkeRAfCq0IfURZK+SuwMjY1UXGBU27wpAiTwQAIlq56IbIO+ytk/JjS1fMR14ee5WBBfKi5J6A== - dependencies: - dequal "^2.0.3" - -array-buffer-byte-length@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/array-buffer-byte-length/-/array-buffer-byte-length-1.0.0.tgz#fabe8bc193fea865f317fe7807085ee0dee5aead" - integrity sha512-LPuwb2P+NrQw3XhxGc36+XSvuBPopovXYTR9Ew++Du9Yb/bx5AzBfrIsBoj0EZUifjQU+sHL21sseZ3jerWO/A== - dependencies: - call-bind "^1.0.2" - is-array-buffer "^3.0.1" - -array-includes@^3.1.6, array-includes@^3.1.7: - version "3.1.7" - resolved "https://registry.yarnpkg.com/array-includes/-/array-includes-3.1.7.tgz#8cd2e01b26f7a3086cbc87271593fe921c62abda" - integrity sha512-dlcsNBIiWhPkHdOEEKnehA+RNUWDc4UqFtnIXU4uuYDPtA4LDkr7qip2p0VvFAEXNDr0yWZ9PJyIRiGjRLQzwQ== - dependencies: - call-bind "^1.0.2" - define-properties "^1.2.0" - es-abstract "^1.22.1" - get-intrinsic "^1.2.1" - is-string "^1.0.7" - -array-tree-filter@^2.1.0: - version "2.1.0" - resolved "https://registry.yarnpkg.com/array-tree-filter/-/array-tree-filter-2.1.0.tgz#873ac00fec83749f255ac8dd083814b4f6329190" - integrity sha512-4ROwICNlNw/Hqa9v+rk5h22KjmzB1JGTMVKP2AKJBOCgb0yL0ASf0+YvCcLNNwquOHNX48jkeZIJ3a+oOQqKcw== - -array-union@^2.1.0: - version "2.1.0" - resolved "https://registry.yarnpkg.com/array-union/-/array-union-2.1.0.tgz#b798420adbeb1de828d84acd8a2e23d3efe85e8d" - integrity sha512-HGyxoOTYUyCM6stUe6EJgnd4EoewAI7zMdfqO+kGjnlZmBDz/cR5pf8r/cR4Wq60sL/p0IkcjUEEPwS3GFrIyw== - -array.prototype.findlastindex@^1.2.3: - version "1.2.3" - resolved "https://registry.yarnpkg.com/array.prototype.findlastindex/-/array.prototype.findlastindex-1.2.3.tgz#b37598438f97b579166940814e2c0493a4f50207" - integrity sha512-LzLoiOMAxvy+Gd3BAq3B7VeIgPdo+Q8hthvKtXybMvRV0jrXfJM/t8mw7nNlpEcVlVUnCnM2KSX4XU5HmpodOA== - dependencies: - call-bind "^1.0.2" - define-properties "^1.2.0" - es-abstract "^1.22.1" - es-shim-unscopables "^1.0.0" - get-intrinsic "^1.2.1" - -array.prototype.flat@^1.3.1, array.prototype.flat@^1.3.2: - version "1.3.2" - resolved "https://registry.yarnpkg.com/array.prototype.flat/-/array.prototype.flat-1.3.2.tgz#1476217df8cff17d72ee8f3ba06738db5b387d18" - integrity sha512-djYB+Zx2vLewY8RWlNCUdHjDXs2XOgm602S9E7P/UpHgfeHL00cRiIF+IN/G/aUJ7kGPb6yO/ErDI5V2s8iycA== - dependencies: - call-bind "^1.0.2" - define-properties "^1.2.0" - es-abstract "^1.22.1" - es-shim-unscopables "^1.0.0" - -array.prototype.flatmap@^1.3.1, array.prototype.flatmap@^1.3.2: - version "1.3.2" - resolved "https://registry.yarnpkg.com/array.prototype.flatmap/-/array.prototype.flatmap-1.3.2.tgz#c9a7c6831db8e719d6ce639190146c24bbd3e527" - integrity sha512-Ewyx0c9PmpcsByhSW4r+9zDU7sGjFc86qf/kKtuSCRdhfbk0SNLLkaT5qvcHnRGgc5NP/ly/y+qkXkqONX54CQ== - dependencies: - call-bind "^1.0.2" - define-properties "^1.2.0" - es-abstract "^1.22.1" - es-shim-unscopables "^1.0.0" - -array.prototype.tosorted@^1.1.1: - version "1.1.2" - resolved "https://registry.yarnpkg.com/array.prototype.tosorted/-/array.prototype.tosorted-1.1.2.tgz#620eff7442503d66c799d95503f82b475745cefd" - integrity sha512-HuQCHOlk1Weat5jzStICBCd83NxiIMwqDg/dHEsoefabn/hJRj5pVdWcPUSpRrwhwxZOsQassMpgN/xRYFBMIg== - dependencies: - call-bind "^1.0.2" - define-properties "^1.2.0" - es-abstract "^1.22.1" - es-shim-unscopables "^1.0.0" - get-intrinsic "^1.2.1" - -arraybuffer.prototype.slice@^1.0.2: - version "1.0.2" - resolved "https://registry.yarnpkg.com/arraybuffer.prototype.slice/-/arraybuffer.prototype.slice-1.0.2.tgz#98bd561953e3e74bb34938e77647179dfe6e9f12" - integrity sha512-yMBKppFur/fbHu9/6USUe03bZ4knMYiwFBcyiaXB8Go0qNehwX6inYPzK9U0NeQvGxKthcmHcaR8P5MStSRBAw== - dependencies: - array-buffer-byte-length "^1.0.0" - call-bind "^1.0.2" - define-properties "^1.2.0" - es-abstract "^1.22.1" - get-intrinsic "^1.2.1" - is-array-buffer "^3.0.2" - is-shared-array-buffer "^1.0.2" - -asap@~1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/asap/-/asap-1.0.0.tgz#b2a45da5fdfa20b0496fc3768cc27c12fa916a7d" - integrity sha512-Ej9qjcXY+8Tuy1cNqiwNMwFRXOy9UwgTeMA8LxreodygIPV48lx8PU1ecFxb5ZeU1DpMKxiq6vGLTxcitWZPbA== - -asn1@~0.2.3: - version "0.2.6" - resolved "https://registry.yarnpkg.com/asn1/-/asn1-0.2.6.tgz#0d3a7bb6e64e02a90c0303b31f292868ea09a08d" - integrity sha512-ix/FxPn0MDjeyJ7i/yoHGFt/EX6LyNbxSEhPPXODPL+KB0VPk86UYfL0lMdy+KCnv+fmvIzySwaK5COwqVbWTQ== - dependencies: - safer-buffer "~2.1.0" - -assert-plus@1.0.0, assert-plus@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/assert-plus/-/assert-plus-1.0.0.tgz#f12e0f3c5d77b0b1cdd9146942e4e96c1e4dd525" - integrity sha512-NfJ4UzBCcQGLDlQq7nHxH+tv3kyZ0hHQqF5BO6J7tNJeP5do1llPr8dZ8zHonfhAu0PHAdMkSo+8o0wxg9lZWw== - -astral-regex@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/astral-regex/-/astral-regex-2.0.0.tgz#483143c567aeed4785759c0865786dc77d7d2e31" - integrity sha512-Z7tMw1ytTXt5jqMcOP+OQteU1VuNK9Y02uuJtKQ1Sv69jXQKKg5cibLwGJow8yzZP+eAc18EmLGPal0bp36rvQ== - -async@^2.6.4: - version "2.6.4" - resolved "https://registry.yarnpkg.com/async/-/async-2.6.4.tgz#706b7ff6084664cd7eae713f6f965433b5504221" - integrity sha512-mzo5dfJYwAn29PeiJ0zvwTo04zj8HDJj0Mn8TD7sno7q12prdbnasKJHhkm2c1LgrhlJ0teaea8860oxi51mGA== - dependencies: - lodash "^4.17.14" - -async@^3.2.0: - version "3.2.5" - resolved "https://registry.yarnpkg.com/async/-/async-3.2.5.tgz#ebd52a8fdaf7a2289a24df399f8d8485c8a46b66" - integrity sha512-baNZyqaaLhyLVKm/DlvdW051MSgO6b8eVfIezl9E5PqWxFgzLm/wQntEW4zOytVburDEr0JlALEpdOFwvErLsg== - -asynckit@^0.4.0: - version "0.4.0" - resolved "https://registry.yarnpkg.com/asynckit/-/asynckit-0.4.0.tgz#c79ed97f7f34cb8f2ba1bc9790bcc366474b4b79" - integrity sha512-Oei9OH4tRh0YqU3GxhX79dM/mwVgvbZJaSNaRk+bshkj0S5cfHcgYakreBjrHwatXKbz+IoIdYLxrKim2MjW0Q== - -at-least-node@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/at-least-node/-/at-least-node-1.0.0.tgz#602cd4b46e844ad4effc92a8011a3c46e0238dc2" - integrity sha512-+q/t7Ekv1EDY2l6Gda6LLiX14rU9TV20Wa3ofeQmwPFZbOMo9DXrLbOjFaaclkXKWidIaopwAObQDqwWtGUjqg== - -attr-accept@^2.2.2: - version "2.2.2" - resolved "https://registry.yarnpkg.com/attr-accept/-/attr-accept-2.2.2.tgz#646613809660110749e92f2c10833b70968d929b" - integrity sha512-7prDjvt9HmqiZ0cl5CRjtS84sEyhsHP2coDkaZKRKVfCDo9s7iw7ChVmar78Gu9pC4SoR/28wFu/G5JJhTnqEg== - -available-typed-arrays@^1.0.5: - version "1.0.5" - resolved "https://registry.yarnpkg.com/available-typed-arrays/-/available-typed-arrays-1.0.5.tgz#92f95616501069d07d10edb2fc37d3e1c65123b7" - integrity sha512-DMD0KiN46eipeziST1LPP/STfDU0sufISXmjSgvVsoU2tqxctQeASejWcfNtxYKqETM1UxQ8sp2OrSBWpHY6sw== - -aws-sign2@~0.7.0: - version "0.7.0" - resolved "https://registry.yarnpkg.com/aws-sign2/-/aws-sign2-0.7.0.tgz#b46e890934a9591f2d2f6f86d7e6a9f1b3fe76a8" - integrity sha512-08kcGqnYf/YmjoRhfxyu+CLxBjUtHLXLXX/vUfx9l2LYzG3c1m61nrpyFUZI6zeS+Li/wWMMidD9KgrqtGq3mA== - -aws4@^1.8.0: - version "1.12.0" - resolved "https://registry.yarnpkg.com/aws4/-/aws4-1.12.0.tgz#ce1c9d143389679e253b314241ea9aa5cec980d3" - integrity sha512-NmWvPnx0F1SfrQbYwOi7OeaNGokp9XhzNioJ/CSBs8Qa4vxug81mhJEAVZwxXuBmYB5KDRfMq/F3RR0BIU7sWg== - -babel-jest@^29.7.0: - version "29.7.0" - resolved "https://registry.yarnpkg.com/babel-jest/-/babel-jest-29.7.0.tgz#f4369919225b684c56085998ac63dbd05be020d5" - integrity sha512-BrvGY3xZSwEcCzKvKsCi2GgHqDqsYkOP4/by5xCgIwGXQxIEh+8ew3gmrE1y7XRR6LHZIj6yLYnUi/mm2KXKBg== - dependencies: - "@jest/transform" "^29.7.0" - "@types/babel__core" "^7.1.14" - babel-plugin-istanbul "^6.1.1" - babel-preset-jest "^29.6.3" - chalk "^4.0.0" - graceful-fs "^4.2.9" - slash "^3.0.0" - -babel-loader@9.1.2: - version "9.1.2" - resolved "https://registry.yarnpkg.com/babel-loader/-/babel-loader-9.1.2.tgz#a16a080de52d08854ee14570469905a5fc00d39c" - integrity sha512-mN14niXW43tddohGl8HPu5yfQq70iUThvFL/4QzESA7GcZoC0eVOhvWdQ8+3UlSjaDE9MVtsW9mxDY07W7VpVA== - dependencies: - find-cache-dir "^3.3.2" - schema-utils "^4.0.0" - -babel-plugin-istanbul@^6.1.1: - version "6.1.1" - resolved "https://registry.yarnpkg.com/babel-plugin-istanbul/-/babel-plugin-istanbul-6.1.1.tgz#fa88ec59232fd9b4e36dbbc540a8ec9a9b47da73" - integrity sha512-Y1IQok9821cC9onCx5otgFfRm7Lm+I+wwxOx738M/WLPZ9Q42m4IG5W0FNX8WLL2gYMZo3JkuXIH2DOpWM+qwA== - dependencies: - "@babel/helper-plugin-utils" "^7.0.0" - "@istanbuljs/load-nyc-config" "^1.0.0" - "@istanbuljs/schema" "^0.1.2" - istanbul-lib-instrument "^5.0.4" - test-exclude "^6.0.0" - -babel-plugin-jest-hoist@^29.6.3: - version "29.6.3" - resolved "https://registry.yarnpkg.com/babel-plugin-jest-hoist/-/babel-plugin-jest-hoist-29.6.3.tgz#aadbe943464182a8922c3c927c3067ff40d24626" - integrity sha512-ESAc/RJvGTFEzRwOTT4+lNDk/GNHMkKbNzsvT0qKRfDyyYTskxB5rnU2njIDYVxXCBHHEI1c0YwHob3WaYujOg== - dependencies: - "@babel/template" "^7.3.3" - "@babel/types" "^7.3.3" - "@types/babel__core" "^7.1.14" - "@types/babel__traverse" "^7.0.6" - -babel-plugin-macros@^3.1.0: - version "3.1.0" - resolved "https://registry.yarnpkg.com/babel-plugin-macros/-/babel-plugin-macros-3.1.0.tgz#9ef6dc74deb934b4db344dc973ee851d148c50c1" - integrity sha512-Cg7TFGpIr01vOQNODXOOaGz2NpCU5gl8x1qJFbb6hbZxR7XrcE2vtbAsTAbJ7/xwJtUuJEw8K8Zr/AE0LHlesg== - dependencies: - "@babel/runtime" "^7.12.5" - cosmiconfig "^7.0.0" - resolve "^1.19.0" - -babel-plugin-polyfill-corejs2@^0.3.3: - version "0.3.3" - resolved "https://registry.yarnpkg.com/babel-plugin-polyfill-corejs2/-/babel-plugin-polyfill-corejs2-0.3.3.tgz#5d1bd3836d0a19e1b84bbf2d9640ccb6f951c122" - integrity sha512-8hOdmFYFSZhqg2C/JgLUQ+t52o5nirNwaWM2B9LWteozwIvM14VSwdsCAUET10qT+kmySAlseadmfeeSWFCy+Q== - dependencies: - "@babel/compat-data" "^7.17.7" - "@babel/helper-define-polyfill-provider" "^0.3.3" - semver "^6.1.1" - -babel-plugin-polyfill-corejs3@^0.6.0: - version "0.6.0" - resolved "https://registry.yarnpkg.com/babel-plugin-polyfill-corejs3/-/babel-plugin-polyfill-corejs3-0.6.0.tgz#56ad88237137eade485a71b52f72dbed57c6230a" - integrity sha512-+eHqR6OPcBhJOGgsIar7xoAB1GcSwVUA3XjAd7HJNzOXT4wv6/H7KIdA/Nc60cvUlDbKApmqNvD1B1bzOt4nyA== - dependencies: - "@babel/helper-define-polyfill-provider" "^0.3.3" - core-js-compat "^3.25.1" - -babel-plugin-polyfill-regenerator@^0.4.1: - version "0.4.1" - resolved "https://registry.yarnpkg.com/babel-plugin-polyfill-regenerator/-/babel-plugin-polyfill-regenerator-0.4.1.tgz#390f91c38d90473592ed43351e801a9d3e0fd747" - integrity sha512-NtQGmyQDXjQqQ+IzRkBVwEOz9lQ4zxAQZgoAYEtU9dJjnl1Oc98qnN7jcp+bE7O7aYzVpavXE3/VKXNzUbh7aw== - dependencies: - "@babel/helper-define-polyfill-provider" "^0.3.3" - -babel-preset-current-node-syntax@^1.0.0: - version "1.0.1" - resolved "https://registry.yarnpkg.com/babel-preset-current-node-syntax/-/babel-preset-current-node-syntax-1.0.1.tgz#b4399239b89b2a011f9ddbe3e4f401fc40cff73b" - integrity sha512-M7LQ0bxarkxQoN+vz5aJPsLBn77n8QgTFmo8WK0/44auK2xlCXrYcUxHFxgU7qW5Yzw/CjmLRK2uJzaCd7LvqQ== - dependencies: - "@babel/plugin-syntax-async-generators" "^7.8.4" - "@babel/plugin-syntax-bigint" "^7.8.3" - "@babel/plugin-syntax-class-properties" "^7.8.3" - "@babel/plugin-syntax-import-meta" "^7.8.3" - "@babel/plugin-syntax-json-strings" "^7.8.3" - "@babel/plugin-syntax-logical-assignment-operators" "^7.8.3" - "@babel/plugin-syntax-nullish-coalescing-operator" "^7.8.3" - "@babel/plugin-syntax-numeric-separator" "^7.8.3" - "@babel/plugin-syntax-object-rest-spread" "^7.8.3" - "@babel/plugin-syntax-optional-catch-binding" "^7.8.3" - "@babel/plugin-syntax-optional-chaining" "^7.8.3" - "@babel/plugin-syntax-top-level-await" "^7.8.3" - -babel-preset-jest@^29.6.3: - version "29.6.3" - resolved "https://registry.yarnpkg.com/babel-preset-jest/-/babel-preset-jest-29.6.3.tgz#fa05fa510e7d493896d7b0dd2033601c840f171c" - integrity sha512-0B3bhxR6snWXJZtR/RliHTDPRgn1sNHOR0yVtq/IiQFyuOVjFS+wuio/R4gSNkyYmKmJB4wGZv2NZanmKmTnNA== - dependencies: - babel-plugin-jest-hoist "^29.6.3" - babel-preset-current-node-syntax "^1.0.0" - -babel-runtime@6.x, babel-runtime@^6.26.0: - version "6.26.0" - resolved "https://registry.yarnpkg.com/babel-runtime/-/babel-runtime-6.26.0.tgz#965c7058668e82b55d7bfe04ff2337bc8b5647fe" - integrity sha512-ITKNuq2wKlW1fJg9sSW52eepoYgZBggvOAHC0u/CYu/qxQ9EVzThCgR69BnSXLHjy2f7SY5zaQ4yt7H9ZVxY2g== - dependencies: - core-js "^2.4.0" - regenerator-runtime "^0.11.0" - -balanced-match@^1.0.0: - version "1.0.2" - resolved "https://registry.yarnpkg.com/balanced-match/-/balanced-match-1.0.2.tgz#e83e3a7e3f300b34cb9d87f615fa0cbf357690ee" - integrity sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw== - -base64-js@^1.3.1: - version "1.5.1" - resolved "https://registry.yarnpkg.com/base64-js/-/base64-js-1.5.1.tgz#1b1b440160a5bf7ad40b650f095963481903930a" - integrity sha512-AKpaYlHn8t4SVbOHCy+b5+KKgvR4vrsD8vbvrbiQJps7fKDTkjkDry6ji0rUJjC0kzbNePLwzxq8iypo41qeWA== - -bcrypt-pbkdf@^1.0.0: - version "1.0.2" - resolved "https://registry.yarnpkg.com/bcrypt-pbkdf/-/bcrypt-pbkdf-1.0.2.tgz#a4301d389b6a43f9b67ff3ca11a3f6637e360e9e" - integrity sha512-qeFIXtP4MSoi6NLqO12WfqARWWuCKi2Rn/9hJLEmtB5yTNr9DqFWkJRCf2qShWzPeAMRnOgCrq0sg/KLv5ES9w== - dependencies: - tweetnacl "^0.14.3" - -big.js@^5.2.2: - version "5.2.2" - resolved "https://registry.yarnpkg.com/big.js/-/big.js-5.2.2.tgz#65f0af382f578bcdc742bd9c281e9cb2d7768328" - integrity sha512-vyL2OymJxmarO8gxMr0mhChsO9QGwhynfuu4+MHTAW6czfq9humCB7rKpUjDd9YUiDPU4mzpyupFSvOClAwbmQ== - -binary-extensions@^2.0.0: - version "2.2.0" - resolved "https://registry.yarnpkg.com/binary-extensions/-/binary-extensions-2.2.0.tgz#75f502eeaf9ffde42fc98829645be4ea76bd9e2d" - integrity sha512-jDctJ/IVQbZoJykoeHbhXpOlNBqGNcwXJKJog42E5HDPUwQTSdjCHdihjj0DlnheQ7blbT6dHOafNAiS8ooQKA== - -blink-diff@1.0.13: - version "1.0.13" - resolved "https://registry.yarnpkg.com/blink-diff/-/blink-diff-1.0.13.tgz#80e3df69de804b30d40c70f041e983841ecda899" - integrity sha512-2hIEnGq8wruXfje9GvDV41VXo+4YdjrjL5ZMlVJT3Wi5k1jjz20fCTlVejSXoERirhEVsFYz9NmgdUYgQ41Giw== - dependencies: - pngjs-image "~0.11.5" - preceptor-core "~0.10.0" - promise "6.0.0" - -blob-util@^2.0.2: - version "2.0.2" - resolved "https://registry.yarnpkg.com/blob-util/-/blob-util-2.0.2.tgz#3b4e3c281111bb7f11128518006cdc60b403a1eb" - integrity sha512-T7JQa+zsXXEa6/8ZhHcQEW1UFfVM49Ts65uBkFL6fz2QmrElqmbajIDJvuA0tEhRe5eIjpV9ZF+0RfZR9voJFQ== - -bluebird@3.7.1: - version "3.7.1" - resolved "https://registry.yarnpkg.com/bluebird/-/bluebird-3.7.1.tgz#df70e302b471d7473489acf26a93d63b53f874de" - integrity sha512-DdmyoGCleJnkbp3nkbxTLJ18rjDsE4yCggEwKNXkeV123sPNfOCYeDoeuOY+F2FrSjO1YXcTU+dsy96KMy+gcg== - -bluebird@^3.7.2: - version "3.7.2" - resolved "https://registry.yarnpkg.com/bluebird/-/bluebird-3.7.2.tgz#9f229c15be272454ffa973ace0dbee79a1b0c36f" - integrity sha512-XpNj6GDQzdfW+r2Wnn7xiSAd7TM3jzkxGXBGTtWKuSXv1xUV+azxAm8jdWZN06QTQk+2N2XB9jRDkvbmQmcRtg== - -body@^5.1.0: - version "5.1.0" - resolved "https://registry.yarnpkg.com/body/-/body-5.1.0.tgz#e4ba0ce410a46936323367609ecb4e6553125069" - integrity sha512-chUsBxGRtuElD6fmw1gHLpvnKdVLK302peeFa9ZqAEk8TyzZ3fygLyUEDDPTJvL9+Bor0dIwn6ePOsRM2y0zQQ== - dependencies: - continuable-cache "^0.3.1" - error "^7.0.0" - raw-body "~1.1.0" - safe-json-parse "~1.0.1" - -brace-expansion@^1.1.7: - version "1.1.11" - resolved "https://registry.yarnpkg.com/brace-expansion/-/brace-expansion-1.1.11.tgz#3c7fcbf529d87226f3d2f52b966ff5271eb441dd" - integrity sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA== - dependencies: - balanced-match "^1.0.0" - concat-map "0.0.1" - -brace-expansion@^2.0.1: - version "2.0.1" - resolved "https://registry.yarnpkg.com/brace-expansion/-/brace-expansion-2.0.1.tgz#1edc459e0f0c548486ecf9fc99f2221364b9a0ae" - integrity sha512-XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA== - dependencies: - balanced-match "^1.0.0" - -braces@^3.0.2, braces@~3.0.2: - version "3.0.2" - resolved "https://registry.yarnpkg.com/braces/-/braces-3.0.2.tgz#3454e1a462ee8d599e236df336cd9ea4f8afe107" - integrity sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A== - dependencies: - fill-range "^7.0.1" - -browser-stdout@1.3.1: - version "1.3.1" - resolved "https://registry.yarnpkg.com/browser-stdout/-/browser-stdout-1.3.1.tgz#baa559ee14ced73452229bad7326467c61fabd60" - integrity sha512-qhAVI1+Av2X7qelOfAIYwXONood6XlZE/fXaBSmW/T5SzLAmCgzi+eiWE7fUvbHaeNBQH13UftjpXxsfLkMpgw== - -browserslist@^4.21.10, browserslist@^4.22.2: - version "4.22.2" - resolved "https://registry.yarnpkg.com/browserslist/-/browserslist-4.22.2.tgz#704c4943072bd81ea18997f3bd2180e89c77874b" - integrity sha512-0UgcrvQmBDvZHFGdYUehrCNIazki7/lUP3kkoi/r3YB2amZbFM9J43ZRkJTXBUZK4gmx56+Sqk9+Vs9mwZx9+A== - dependencies: - caniuse-lite "^1.0.30001565" - electron-to-chromium "^1.4.601" - node-releases "^2.0.14" - update-browserslist-db "^1.0.13" - -bser@2.1.1: - version "2.1.1" - resolved "https://registry.yarnpkg.com/bser/-/bser-2.1.1.tgz#e6787da20ece9d07998533cfd9de6f5c38f4bc05" - integrity sha512-gQxTNE/GAfIIrmHLUE3oJyp5FO6HRBfhjnw4/wMmA63ZGDJnWBmgY/lyQBpnDUkGmAhbSe39tx2d/iTOAfglwQ== - dependencies: - node-int64 "^0.4.0" - -buffer-crc32@~0.2.3: - version "0.2.13" - resolved "https://registry.yarnpkg.com/buffer-crc32/-/buffer-crc32-0.2.13.tgz#0d333e3f00eac50aa1454abd30ef8c2a5d9a7242" - integrity sha512-VO9Ht/+p3SN7SKWqcrgEzjGbRSJYTx+Q1pTQC0wrWqHx0vpJraQ6GtHx8tvcg1rlK1byhU5gccxgOgj7B0TDkQ== - -buffer-from@^1.0.0: - version "1.1.2" - resolved "https://registry.yarnpkg.com/buffer-from/-/buffer-from-1.1.2.tgz#2b146a6fd72e80b4f55d255f35ed59a3a9a41bd5" - integrity sha512-E+XQCRwSbaaiChtv6k6Dwgc+bx+Bs6vuKJHHl5kox/BaKbhiXzqQOwK4cO22yElGp2OCmjwVhT3HmxgyPGnJfQ== - -buffer@^5.6.0: - version "5.7.1" - resolved "https://registry.yarnpkg.com/buffer/-/buffer-5.7.1.tgz#ba62e7c13133053582197160851a8f648e99eed0" - integrity sha512-EHcyIPBQ4BSGlvjB16k5KgAJ27CIsHY/2JBmCRReo48y9rQ3MaUzWX3KVlBa4U7MyX02HdVj0K7C3WaB3ju7FQ== - dependencies: - base64-js "^1.3.1" - ieee754 "^1.1.13" - -builtin-modules@^3.3.0: - version "3.3.0" - resolved "https://registry.yarnpkg.com/builtin-modules/-/builtin-modules-3.3.0.tgz#cae62812b89801e9656336e46223e030386be7b6" - integrity sha512-zhaCDicdLuWN5UbN5IMnFqNMhNfo919sH85y2/ea+5Yg9TsTkeZxpL+JLbp6cgYFS4sRLp3YV4S6yDuqVWHYOw== - -bytes@1: - version "1.0.0" - resolved "https://registry.yarnpkg.com/bytes/-/bytes-1.0.0.tgz#3569ede8ba34315fab99c3e92cb04c7220de1fa8" - integrity sha512-/x68VkHLeTl3/Ll8IvxdwzhrT+IyKc52e/oyHhA2RwqPqswSnjVbSddfPRwAsJtbilMAPSRWwAlpxdYsSWOTKQ== - -cachedir@^2.3.0: - version "2.4.0" - resolved "https://registry.yarnpkg.com/cachedir/-/cachedir-2.4.0.tgz#7fef9cf7367233d7c88068fe6e34ed0d355a610d" - integrity sha512-9EtFOZR8g22CL7BWjJ9BUx1+A/djkofnyW3aOXZORNW2kxoUpx2h+uN2cOqwPmFhnpVmxg+KW2OjOSgChTEvsQ== - -calculate-size@1.1.1: - version "1.1.1" - resolved "https://registry.yarnpkg.com/calculate-size/-/calculate-size-1.1.1.tgz#ae7caa1c7795f82c4f035dc7be270e3581dae3ee" - integrity sha512-jJZ7pvbQVM/Ss3VO789qpsypN3xmnepg242cejOAslsmlZLYw2dnj7knnNowabQ0Kzabzx56KFTy2Pot/y6FmA== - -call-bind@^1.0.0, call-bind@^1.0.2, call-bind@^1.0.4, call-bind@^1.0.5: - version "1.0.5" - resolved "https://registry.yarnpkg.com/call-bind/-/call-bind-1.0.5.tgz#6fa2b7845ce0ea49bf4d8b9ef64727a2c2e2e513" - integrity sha512-C3nQxfFZxFRVoJoGKKI8y3MOEo129NQ+FgQ08iye+Mk4zNZZGdjfs06bVTr+DBSlA66Q2VEcMki/cUCP4SercQ== - dependencies: - function-bind "^1.1.2" - get-intrinsic "^1.2.1" - set-function-length "^1.1.1" - -callsites@^3.0.0: - version "3.1.0" - resolved "https://registry.yarnpkg.com/callsites/-/callsites-3.1.0.tgz#b3630abd8943432f54b3f0519238e33cd7df2f73" - integrity sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ== - -camelcase@^5.3.1: - version "5.3.1" - resolved "https://registry.yarnpkg.com/camelcase/-/camelcase-5.3.1.tgz#e3c9b31569e106811df242f715725a1f4c494320" - integrity sha512-L28STB170nwWS63UjtlEOE3dldQApaJXZkOI1uMFfzf3rRuPegHaHesyee+YxQ+W6SvRDQV6UrdOdRiR153wJg== - -camelcase@^6.0.0, camelcase@^6.2.0: - version "6.3.0" - resolved "https://registry.yarnpkg.com/camelcase/-/camelcase-6.3.0.tgz#5685b95eb209ac9c0c177467778c9c84df58ba9a" - integrity sha512-Gmy6FhYlCY7uOElZUSbxo2UCDH8owEk996gkbrpsgGtrJLM3J7jGxl9Ic7Qwwj4ivOE5AWZWRMecDdF7hqGjFA== - -caniuse-lite@^1.0.30001565: - version "1.0.30001580" - resolved "https://registry.yarnpkg.com/caniuse-lite/-/caniuse-lite-1.0.30001580.tgz#e3c76bc6fe020d9007647044278954ff8cd17d1e" - integrity sha512-mtj5ur2FFPZcCEpXFy8ADXbDACuNFXg6mxVDqp7tqooX6l3zwm+d8EPoeOSIFRDvHs8qu7/SLFOGniULkcH2iA== - -caseless@~0.12.0: - version "0.12.0" - resolved "https://registry.yarnpkg.com/caseless/-/caseless-0.12.0.tgz#1b681c21ff84033c826543090689420d187151dc" - integrity sha512-4tYFyifaFfGacoiObjJegolkwSU4xQNGbVgUiNYVUxbQ2x2lUsFvY4hVgVzGiIe6WLOPqycWXA40l+PWsxthUw== - -chalk@^2.4.2: - version "2.4.2" - resolved "https://registry.yarnpkg.com/chalk/-/chalk-2.4.2.tgz#cd42541677a54333cf541a49108c1432b44c9424" - integrity sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ== - dependencies: - ansi-styles "^3.2.1" - escape-string-regexp "^1.0.5" - supports-color "^5.3.0" - -chalk@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/chalk/-/chalk-3.0.0.tgz#3f73c2bf526591f574cc492c51e2456349f844e4" - integrity sha512-4D3B6Wf41KOYRFdszmDqMCGq5VV/uMAB273JILmO+3jAlh8X4qDtdtgCR3fxtbLEMzSx22QdhnDcJvu2u1fVwg== - dependencies: - ansi-styles "^4.1.0" - supports-color "^7.1.0" - -chalk@^4.0.0, chalk@^4.1.0, chalk@^4.1.2: - version "4.1.2" - resolved "https://registry.yarnpkg.com/chalk/-/chalk-4.1.2.tgz#aac4e2b7734a740867aeb16bf02aad556a1e7a01" - integrity sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA== - dependencies: - ansi-styles "^4.1.0" - supports-color "^7.1.0" - -char-regex@^1.0.2: - version "1.0.2" - resolved "https://registry.yarnpkg.com/char-regex/-/char-regex-1.0.2.tgz#d744358226217f981ed58f479b1d6bcc29545dcf" - integrity sha512-kWWXztvZ5SBQV+eRgKFeh8q5sLuZY2+8WUIzlxWVTg+oGwY14qylx1KbKzHd8P6ZYkAg0xyIDU9JMHhyJMZ1jw== - -check-more-types@^2.24.0: - version "2.24.0" - resolved "https://registry.yarnpkg.com/check-more-types/-/check-more-types-2.24.0.tgz#1420ffb10fd444dcfc79b43891bbfffd32a84600" - integrity sha512-Pj779qHxV2tuapviy1bSZNEL1maXr13bPYpsvSDB68HlYcYuhlDrmGd63i0JHMCLKzc7rUSNIrpdJlhVlNwrxA== - -chokidar@3.5.3, "chokidar@>=3.0.0 <4.0.0", chokidar@^3.5.3: - version "3.5.3" - resolved "https://registry.yarnpkg.com/chokidar/-/chokidar-3.5.3.tgz#1cf37c8707b932bd1af1ae22c0432e2acd1903bd" - integrity sha512-Dr3sfKRP6oTcjf2JmUmFJfeVMvXBdegxB0iVQ5eb2V10uFJUCAS8OByZdVAyVb8xXNz3GjjTgj9kLWsZTqE6kw== - dependencies: - anymatch "~3.1.2" - braces "~3.0.2" - glob-parent "~5.1.2" - is-binary-path "~2.1.0" - is-glob "~4.0.1" - normalize-path "~3.0.0" - readdirp "~3.6.0" - optionalDependencies: - fsevents "~2.3.2" - -chrome-remote-interface@0.32.1: - version "0.32.1" - resolved "https://registry.yarnpkg.com/chrome-remote-interface/-/chrome-remote-interface-0.32.1.tgz#e3478ca712223e51c4df7294cbc536f868ca0aa6" - integrity sha512-CU3/K/8YlU2H0DjsLRbxPsG4piiSGUcIy6GkGXF11SqOYoIeuUBivOsGXScaZnTyC1p4wFSR+GNmAM434/ALWw== - dependencies: - commander "2.11.x" - ws "^7.2.0" - -chrome-trace-event@^1.0.2: - version "1.0.3" - resolved "https://registry.yarnpkg.com/chrome-trace-event/-/chrome-trace-event-1.0.3.tgz#1015eced4741e15d06664a957dbbf50d041e26ac" - integrity sha512-p3KULyQg4S7NIHixdwbGX+nFHkoBiA4YQmyWtjb8XngSKV124nJmRysgAeujbUVb15vh+RvFUfCPqU7rXk+hZg== - -ci-info@^3.2.0: - version "3.9.0" - resolved "https://registry.yarnpkg.com/ci-info/-/ci-info-3.9.0.tgz#4279a62028a7b1f262f3473fc9605f5e218c59b4" - integrity sha512-NIxF55hv4nSqQswkAeiOi1r83xy8JldOFDTWiug55KBu9Jnblncd2U6ViHmYgHf01TPZS77NJBhBMKdWj9HQMQ== - -cjs-module-lexer@^1.0.0: - version "1.2.3" - resolved "https://registry.yarnpkg.com/cjs-module-lexer/-/cjs-module-lexer-1.2.3.tgz#6c370ab19f8a3394e318fe682686ec0ac684d107" - integrity sha512-0TNiGstbQmCFwt4akjjBg5pLRTSyj/PkWQ1ZoO2zntmg9yLqSRxwEa4iCfQLGjqhiqBfOJa7W/E8wfGrTDmlZQ== - -classnames@2.3.2: - version "2.3.2" - resolved "https://registry.yarnpkg.com/classnames/-/classnames-2.3.2.tgz#351d813bf0137fcc6a76a16b88208d2560a0d924" - integrity sha512-CSbhY4cFEJRe6/GQzIk5qXZ4Jeg5pcsP7b5peFSDpffpe1cqjASH/n9UTjBwOp6XpMSTwQ8Za2K5V02ueA7Tmw== - -classnames@2.x, classnames@^2.2.1, classnames@^2.2.5, classnames@^2.2.6, classnames@^2.3.1, classnames@^2.3.2: - version "2.5.1" - resolved "https://registry.yarnpkg.com/classnames/-/classnames-2.5.1.tgz#ba774c614be0f016da105c858e7159eae8e7687b" - integrity sha512-saHYOzhIQs6wy2sVxTM6bUDsQO4F50V9RQ22qBpEdCW+I+/Wmke2HOl6lS6dTpdxVhb88/I6+Hs+438c3lfUow== - -clean-stack@^2.0.0: - version "2.2.0" - resolved "https://registry.yarnpkg.com/clean-stack/-/clean-stack-2.2.0.tgz#ee8472dbb129e727b31e8a10a427dee9dfe4008b" - integrity sha512-4diC9HaTE+KRAMWhDhrGOECgWZxoevMc5TlkObMqNSsVU62PYzXZ/SMTjzyGAFF1YusgxGcSWTEXBhp0CPwQ1A== - -cli-cursor@^3.1.0: - version "3.1.0" - resolved "https://registry.yarnpkg.com/cli-cursor/-/cli-cursor-3.1.0.tgz#264305a7ae490d1d03bf0c9ba7c925d1753af307" - integrity sha512-I/zHAwsKf9FqGoXM4WWRACob9+SNukZTd94DWF57E4toouRulbCxcUh6RKUEOQlYTHJnzkPMySvPNaaSLNfLZw== - dependencies: - restore-cursor "^3.1.0" - -cli-table3@~0.6.1: - version "0.6.3" - resolved "https://registry.yarnpkg.com/cli-table3/-/cli-table3-0.6.3.tgz#61ab765aac156b52f222954ffc607a6f01dbeeb2" - integrity sha512-w5Jac5SykAeZJKntOxJCrm63Eg5/4dhMWIcuTbo9rpE+brgaSZo0RuNJZeOyMgsUdhDeojvgyQLmjI+K50ZGyg== - dependencies: - string-width "^4.2.0" - optionalDependencies: - "@colors/colors" "1.5.0" - -cli-truncate@^2.1.0: - version "2.1.0" - resolved "https://registry.yarnpkg.com/cli-truncate/-/cli-truncate-2.1.0.tgz#c39e28bf05edcde5be3b98992a22deed5a2b93c7" - integrity sha512-n8fOixwDD6b/ObinzTrp1ZKFzbgvKZvuz/TvejnLn1aQfC6r52XEx85FmuC+3HI+JM7coBRXUvNqEU2PHVrHpg== - dependencies: - slice-ansi "^3.0.0" - string-width "^4.2.0" - -cliui@^7.0.2: - version "7.0.4" - resolved "https://registry.yarnpkg.com/cliui/-/cliui-7.0.4.tgz#a0265ee655476fc807aea9df3df8df7783808b4f" - integrity sha512-OcRE68cOsVMXp1Yvonl/fzkQOyjLSu/8bhPDfQt0e0/Eb283TKP20Fs2MqoPsr9SwA595rRCA+QMzYc9nBP+JQ== - dependencies: - string-width "^4.2.0" - strip-ansi "^6.0.0" - wrap-ansi "^7.0.0" - -cliui@^8.0.1: - version "8.0.1" - resolved "https://registry.yarnpkg.com/cliui/-/cliui-8.0.1.tgz#0c04b075db02cbfe60dc8e6cf2f5486b1a3608aa" - integrity sha512-BSeNnyus75C4//NQ9gQt1/csTXyo/8Sb+afLAkzAptFuMsod9HFokGNudZpi/oQV73hnVK+sR+5PVRMd+Dr7YQ== - dependencies: - string-width "^4.2.0" - strip-ansi "^6.0.1" - wrap-ansi "^7.0.0" - -clone-deep@^4.0.1: - version "4.0.1" - resolved "https://registry.yarnpkg.com/clone-deep/-/clone-deep-4.0.1.tgz#c19fd9bdbbf85942b4fd979c84dcf7d5f07c2387" - integrity sha512-neHB9xuzh/wk0dIHweyAXv2aPGZIVk3pLMe+/RNzINf17fe0OG96QroktYAUm7SM1PBnzTabaLboqqxDyMU+SQ== - dependencies: - is-plain-object "^2.0.4" - kind-of "^6.0.2" - shallow-clone "^3.0.0" - -clsx@^1.1.1, clsx@^1.2.1: - version "1.2.1" - resolved "https://registry.yarnpkg.com/clsx/-/clsx-1.2.1.tgz#0ddc4a20a549b59c93a4116bb26f5294ca17dc12" - integrity sha512-EcR6r5a8bj6pu3ycsa/E/cKVGuTgZJZdsyUYHOksG/UHIiKfjxzRxYJpyVBwYaQeOvghal9fcc4PidlgzugAQg== - -clsx@^2.0.0: - version "2.1.0" - resolved "https://registry.yarnpkg.com/clsx/-/clsx-2.1.0.tgz#e851283bcb5c80ee7608db18487433f7b23f77cb" - integrity sha512-m3iNNWpd9rl3jvvcBnu70ylMdrXt8Vlq4HYadnU5fwcOtvkSQWPmj7amUcDT2qYI7risszBjI5AUIUox9D16pg== - -co@^4.6.0: - version "4.6.0" - resolved "https://registry.yarnpkg.com/co/-/co-4.6.0.tgz#6ea6bdf3d853ae54ccb8e47bfa0bf3f9031fb184" - integrity sha512-QVb0dM5HvG+uaxitm8wONl7jltx8dqhfU33DcqtOZcLSVIKSDDLDi7+0LbAKiyI8hD9u42m2YxXSkMGWThaecQ== - -collect-v8-coverage@^1.0.0: - version "1.0.2" - resolved "https://registry.yarnpkg.com/collect-v8-coverage/-/collect-v8-coverage-1.0.2.tgz#c0b29bcd33bcd0779a1344c2136051e6afd3d9e9" - integrity sha512-lHl4d5/ONEbLlJvaJNtsF/Lz+WvB07u2ycqTYbdrq7UypDXailES4valYb2eWiJFxZlVmpGekfqoxQhzyFdT4Q== - -color-convert@^1.9.0: - version "1.9.3" - resolved "https://registry.yarnpkg.com/color-convert/-/color-convert-1.9.3.tgz#bb71850690e1f136567de629d2d5471deda4c1e8" - integrity sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg== - dependencies: - color-name "1.1.3" - -color-convert@^2.0.1: - version "2.0.1" - resolved "https://registry.yarnpkg.com/color-convert/-/color-convert-2.0.1.tgz#72d3a68d598c9bdb3af2ad1e84f21d896abd4de3" - integrity sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ== - dependencies: - color-name "~1.1.4" - -color-name@1.1.3: - version "1.1.3" - resolved "https://registry.yarnpkg.com/color-name/-/color-name-1.1.3.tgz#a7d0558bd89c42f795dd42328f740831ca53bc25" - integrity sha512-72fSenhMw2HZMTVHeCA9KCmpEIbzWiQsjN+BHcBbS9vr1mtt+vJjPdksIBNUmKAW8TFUDPJK5SUU3QhE9NEXDw== - -color-name@~1.1.4: - version "1.1.4" - resolved "https://registry.yarnpkg.com/color-name/-/color-name-1.1.4.tgz#c2a09a87acbde69543de6f63fa3995c826c536a2" - integrity sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA== - -colorette@^2.0.14, colorette@^2.0.16: - version "2.0.20" - resolved "https://registry.yarnpkg.com/colorette/-/colorette-2.0.20.tgz#9eb793e6833067f7235902fcd3b09917a000a95a" - integrity sha512-IfEDxwoWIjkeXL1eXcDiow4UbKjhLdq6/EuSVR9GMN7KVH3r9gQ83e73hsz1Nd1T3ijd5xv1wcWRYO+D6kCI2w== - -combined-stream@^1.0.6, combined-stream@^1.0.8, combined-stream@~1.0.6: - version "1.0.8" - resolved "https://registry.yarnpkg.com/combined-stream/-/combined-stream-1.0.8.tgz#c3d45a8b34fd730631a110a8a2520682b31d5a7f" - integrity sha512-FQN4MRfuJeHf7cBbBMJFXhKSDq+2kAArBlmRBvcvFE5BB1HZKXtSFASDhdlz9zOYwxh8lDdnvmMOe/+5cdoEdg== - dependencies: - delayed-stream "~1.0.0" - -commander@2.11.x: - version "2.11.0" - resolved "https://registry.yarnpkg.com/commander/-/commander-2.11.0.tgz#157152fd1e7a6c8d98a5b715cf376df928004563" - integrity sha512-b0553uYA5YAEGgyYIGYROzKQ7X5RAqedkfjiZxwi0kL1g3bOaBNNZfYkzt/CL0umgD5wc9Jec2FbB98CjkMRvQ== - -commander@7: - version "7.2.0" - resolved "https://registry.yarnpkg.com/commander/-/commander-7.2.0.tgz#a36cb57d0b501ce108e4d20559a150a391d97ab7" - integrity sha512-QrWXB+ZQSVPmIWIhtEO9H+gwHaMGYiF5ChvoJ+K9ZGHG/sVsa6yiesAD1GC/x46sET00Xlwo1u49RVVVzvcSkw== - -commander@8.3.0: - version "8.3.0" - resolved "https://registry.yarnpkg.com/commander/-/commander-8.3.0.tgz#4837ea1b2da67b9c616a67afbb0fafee567bca66" - integrity sha512-OkTL9umf+He2DZkUq8f8J9of7yL6RJKI24dVITBmNfZBmri9zYZQrKkuXiKhyfPSu8tUhnVBB1iKXevvnlR4Ww== - -commander@^10.0.1: - version "10.0.1" - resolved "https://registry.yarnpkg.com/commander/-/commander-10.0.1.tgz#881ee46b4f77d1c1dccc5823433aa39b022cbe06" - integrity sha512-y4Mg2tXshplEbSGzx7amzPwKKOCGuoSRP/CjEdwwk0FOGlUbq6lKuoyDZTNZkmxHdJtp54hdfY/JUrdL7Xfdug== - -commander@^2.20.0, commander@^2.20.3: - version "2.20.3" - resolved "https://registry.yarnpkg.com/commander/-/commander-2.20.3.tgz#fd485e84c03eb4881c20722ba48035e8531aeb33" - integrity sha512-GpVkmM8vF2vQUkj2LvZmD35JxeJOLCwJ9cUkugyk2nuhbv3+mJvpLYYt+0+USMxE+oj+ey/lJEnhZw75x/OMcQ== - -commander@^5.1.0: - version "5.1.0" - resolved "https://registry.yarnpkg.com/commander/-/commander-5.1.0.tgz#46abbd1652f8e059bddaef99bbdcb2ad9cf179ae" - integrity sha512-P0CysNDQ7rtVw4QIQtm+MRxV66vKFSvlsQvGYXZWR3qFU0jlMKHZZZgw8e+8DSah4UDKMqnknRDQz+xuQXQ/Zg== - -comment-parser@1.3.1: - version "1.3.1" - resolved "https://registry.yarnpkg.com/comment-parser/-/comment-parser-1.3.1.tgz#3d7ea3adaf9345594aedee6563f422348f165c1b" - integrity sha512-B52sN2VNghyq5ofvUsqZjmk6YkihBX5vMSChmSK9v4ShjKf3Vk5Xcmgpw4o+iIgtrnM/u5FiMpz9VKb8lpBveA== - -common-tags@^1.8.0: - version "1.8.2" - resolved "https://registry.yarnpkg.com/common-tags/-/common-tags-1.8.2.tgz#94ebb3c076d26032745fd54face7f688ef5ac9c6" - integrity sha512-gk/Z852D2Wtb//0I+kRFNKKE9dIIVirjoqPoA1wJU+XePVXZfGeBpk45+A1rKO4Q43prqWBNY/MiIeRLbPWUaA== - -commondir@^1.0.1: - version "1.0.1" - resolved "https://registry.yarnpkg.com/commondir/-/commondir-1.0.1.tgz#ddd800da0c66127393cca5950ea968a3aaf1253b" - integrity sha512-W9pAhw0ja1Edb5GVdIF1mjZw/ASI0AlShXM83UUGe2DVr5TdAPEA1OA8m/g8zWp9x6On7gqufY+FatDbC3MDQg== - -component-classes@^1.2.5: - version "1.2.6" - resolved "https://registry.yarnpkg.com/component-classes/-/component-classes-1.2.6.tgz#c642394c3618a4d8b0b8919efccbbd930e5cd691" - integrity sha512-hPFGULxdwugu1QWW3SvVOCUHLzO34+a2J6Wqy0c5ASQkfi9/8nZcBB0ZohaEbXOQlCflMAEMmEWk7u7BVs4koA== - dependencies: - component-indexof "0.0.3" - -component-indexof@0.0.3: - version "0.0.3" - resolved "https://registry.yarnpkg.com/component-indexof/-/component-indexof-0.0.3.tgz#11d091312239eb8f32c8f25ae9cb002ffe8d3c24" - integrity sha512-puDQKvx/64HZXb4hBwIcvQLaLgux8o1CbWl39s41hrIIZDl1lJiD5jc22gj3RBeGK0ovxALDYpIbyjqDUUl0rw== - -concat-map@0.0.1: - version "0.0.1" - resolved "https://registry.yarnpkg.com/concat-map/-/concat-map-0.0.1.tgz#d8a96bd77fd68df7793a73036a3ba0d5405d477b" - integrity sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg== - -continuable-cache@^0.3.1: - version "0.3.1" - resolved "https://registry.yarnpkg.com/continuable-cache/-/continuable-cache-0.3.1.tgz#bd727a7faed77e71ff3985ac93351a912733ad0f" - integrity sha512-TF30kpKhTH8AGCG3dut0rdd/19B7Z+qCnrMoBLpyQu/2drZdNrrpcjPEoJeSVsQM+8KmWG5O56oPDjSSUsuTyA== - -convert-source-map@^1.5.0, convert-source-map@^1.7.0: - version "1.9.0" - resolved "https://registry.yarnpkg.com/convert-source-map/-/convert-source-map-1.9.0.tgz#7faae62353fb4213366d0ca98358d22e8368b05f" - integrity sha512-ASFBup0Mz1uyiIjANan1jzLQami9z1PoYSZCiiYW2FczPbenXc45FZdBZLzOT+r6+iciuEModtmCti+hjaAk0A== - -convert-source-map@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/convert-source-map/-/convert-source-map-2.0.0.tgz#4b560f649fc4e918dd0ab75cf4961e8bc882d82a" - integrity sha512-Kvp459HrV2FEJ1CAsi1Ku+MY3kasH19TFykTz2xWmMeq6bk2NU3XXvfJ+Q61m0xktWwt+1HSYf3JZsTms3aRJg== - -copy-to-clipboard@^3.3.1: - version "3.3.3" - resolved "https://registry.yarnpkg.com/copy-to-clipboard/-/copy-to-clipboard-3.3.3.tgz#55ac43a1db8ae639a4bd99511c148cdd1b83a1b0" - integrity sha512-2KV8NhB5JqC3ky0r9PMCAZKbUHSwtEo4CwCs0KXgruG43gX5PMqDEBbVU4OUzw2MuAWUfsuFmWvEKG5QRfSnJA== - dependencies: - toggle-selection "^1.0.6" - -copy-webpack-plugin@^11.0.0: - version "11.0.0" - resolved "https://registry.yarnpkg.com/copy-webpack-plugin/-/copy-webpack-plugin-11.0.0.tgz#96d4dbdb5f73d02dd72d0528d1958721ab72e04a" - integrity sha512-fX2MWpamkW0hZxMEg0+mYnA40LTosOSa5TqZ9GYIBzyJa9C3QUaMPSE2xAi/buNr8u89SfD9wHSQVBzrRa/SOQ== - dependencies: - fast-glob "^3.2.11" - glob-parent "^6.0.1" - globby "^13.1.1" - normalize-path "^3.0.0" - schema-utils "^4.0.0" - serialize-javascript "^6.0.0" - -core-js-compat@^3.25.1: - version "3.35.1" - resolved "https://registry.yarnpkg.com/core-js-compat/-/core-js-compat-3.35.1.tgz#215247d7edb9e830efa4218ff719beb2803555e2" - integrity sha512-sftHa5qUJY3rs9Zht1WEnmkvXputCyDBczPnr7QDgL8n3qrF3CMXY4VPSYtOLLiOUJcah2WNXREd48iOl6mQIw== - dependencies: - browserslist "^4.22.2" - -core-js@3.28.0: - version "3.28.0" - resolved "https://registry.yarnpkg.com/core-js/-/core-js-3.28.0.tgz#ed8b9e99c273879fdfff0edfc77ee709a5800e4a" - integrity sha512-GiZn9D4Z/rSYvTeg1ljAIsEqFm0LaN9gVtwDCrKL80zHtS31p9BAjmTxVqTQDMpwlMolJZOFntUG2uwyj7DAqw== - -core-js@^2.4.0: - version "2.6.12" - resolved "https://registry.yarnpkg.com/core-js/-/core-js-2.6.12.tgz#d9333dfa7b065e347cc5682219d6f690859cc2ec" - integrity sha512-Kb2wC0fvsWfQrgk8HU5lW6U/Lcs8+9aaYcy4ZFc6DDlo4nZ7n70dEgE5rtR0oG6ufKDUnrwfWL1mXR5ljDatrQ== - -core-util-is@1.0.2: - version "1.0.2" - resolved "https://registry.yarnpkg.com/core-util-is/-/core-util-is-1.0.2.tgz#b5fd54220aa2bc5ab57aab7140c940754503c1a7" - integrity sha512-3lqz5YjWTYnW6dlDa5TLaTCcShfar1e40rmcJVwCBJC6mWlFuj0eCHIElmG1g5kyuJ/GD+8Wn4FFCcz4gJPfaQ== - -core-util-is@~1.0.0: - version "1.0.3" - resolved "https://registry.yarnpkg.com/core-util-is/-/core-util-is-1.0.3.tgz#a6042d3634c2b27e9328f837b965fac83808db85" - integrity sha512-ZQBvi1DcpJ4GDqanjucZ2Hj3wEO5pZDS89BWbkcrvdxksJorwUDDZamX9ldFkp9aw2lmBDLgkObEA4DWNJ9FYQ== - -cosmiconfig@^7.0.0, cosmiconfig@^7.0.1: - version "7.1.0" - resolved "https://registry.yarnpkg.com/cosmiconfig/-/cosmiconfig-7.1.0.tgz#1443b9afa596b670082ea46cbd8f6a62b84635f6" - integrity sha512-AdmX6xUzdNASswsFtmwSt7Vj8po9IuqXm0UXz7QKPuEUmPB4XyjGfaAr2PSuELMwkRMVH1EpIkX5bTZGRB3eCA== - dependencies: - "@types/parse-json" "^4.0.0" - import-fresh "^3.2.1" - parse-json "^5.0.0" - path-type "^4.0.0" - yaml "^1.10.0" - -create-jest@^29.7.0: - version "29.7.0" - resolved "https://registry.yarnpkg.com/create-jest/-/create-jest-29.7.0.tgz#a355c5b3cb1e1af02ba177fe7afd7feee49a5320" - integrity sha512-Adz2bdH0Vq3F53KEMJOoftQFutWCukm6J24wbPWRO4k1kMY7gS7ds/uoJkNuV8wDCtWWnuwGcJwpWcih+zEW1Q== - dependencies: - "@jest/types" "^29.6.3" - chalk "^4.0.0" - exit "^0.1.2" - graceful-fs "^4.2.9" - jest-config "^29.7.0" - jest-util "^29.7.0" - prompts "^2.0.1" - -create-require@^1.1.0: - version "1.1.1" - resolved "https://registry.yarnpkg.com/create-require/-/create-require-1.1.1.tgz#c1d7e8f1e5f6cfc9ff65f9cd352d37348756c333" - integrity sha512-dcKFX3jn0MpIaXjisoRvexIJVEKzaq7z2rZKxf+MSr9TkdmHmsU4m2lcLojrj/FHl8mk5VxMmYA+ftRkP/3oKQ== - -cross-spawn@^7.0.0, cross-spawn@^7.0.2, cross-spawn@^7.0.3: - version "7.0.3" - resolved "https://registry.yarnpkg.com/cross-spawn/-/cross-spawn-7.0.3.tgz#f73a85b9d5d41d045551c177e2882d4ac85728a6" - integrity sha512-iRDPJKUPVEND7dHPO8rkbOnPpyDygcDFtWjpeWNCgy8WP2rXcxXL8TskReQl6OrB2G7+UJrags1q15Fudc7G6w== - dependencies: - path-key "^3.1.0" - shebang-command "^2.0.0" - which "^2.0.1" - -css-animation@^1.3.2: - version "1.6.1" - resolved "https://registry.yarnpkg.com/css-animation/-/css-animation-1.6.1.tgz#162064a3b0d51f958b7ff37b3d6d4de18e17039e" - integrity sha512-/48+/BaEaHRY6kNQ2OIPzKf9A6g8WjZYjhiNDNuIVbsm5tXCGIAsHDjB4Xu1C4vXJtUWZo26O68OQkDpNBaPog== - dependencies: - babel-runtime "6.x" - component-classes "^1.2.5" - -css-box-model@^1.2.0: - version "1.2.1" - resolved "https://registry.yarnpkg.com/css-box-model/-/css-box-model-1.2.1.tgz#59951d3b81fd6b2074a62d49444415b0d2b4d7c1" - integrity sha512-a7Vr4Q/kd/aw96bnJG332W9V9LkJO69JRcaCYDUqjp6/z0w6VcZjgAcTbgFxEPfBgdnAwlh3iwu+hLopa+flJw== - dependencies: - tiny-invariant "^1.0.6" - -css-in-js-utils@^3.1.0: - version "3.1.0" - resolved "https://registry.yarnpkg.com/css-in-js-utils/-/css-in-js-utils-3.1.0.tgz#640ae6a33646d401fc720c54fc61c42cd76ae2bb" - integrity sha512-fJAcud6B3rRu+KHYk+Bwf+WFL2MDCJJ1XG9x137tJQ0xYxor7XziQtuGFbWNdqrvF4Tk26O3H73nfVqXt/fW1A== - dependencies: - hyphenate-style-name "^1.0.3" - -css-loader@^6.7.3: - version "6.9.1" - resolved "https://registry.yarnpkg.com/css-loader/-/css-loader-6.9.1.tgz#9ec9a434368f2bdfeffbf8f6901a1ce773586c6b" - integrity sha512-OzABOh0+26JKFdMzlK6PY1u5Zx8+Ck7CVRlcGNZoY9qwJjdfu2VWFuprTIpPW+Av5TZTVViYWcFQaEEQURLknQ== - dependencies: - icss-utils "^5.1.0" - postcss "^8.4.33" - postcss-modules-extract-imports "^3.0.0" - postcss-modules-local-by-default "^4.0.4" - postcss-modules-scope "^3.1.1" - postcss-modules-values "^4.0.0" - postcss-value-parser "^4.2.0" - semver "^7.5.4" - -css-tree@^1.1.2: - version "1.1.3" - resolved "https://registry.yarnpkg.com/css-tree/-/css-tree-1.1.3.tgz#eb4870fb6fd7707327ec95c2ff2ab09b5e8db91d" - integrity sha512-tRpdppF7TRazZrjJ6v3stzv93qxRcSsFmW6cX0Zm2NVKpxE1WV1HblnghVv9TreireHkqI/VDEsfolRF1p6y7Q== - dependencies: - mdn-data "2.0.14" - source-map "^0.6.1" - -css.escape@^1.5.1: - version "1.5.1" - resolved "https://registry.yarnpkg.com/css.escape/-/css.escape-1.5.1.tgz#42e27d4fa04ae32f931a4b4d4191fa9cddee97cb" - integrity sha512-YUifsXXuknHlUsmlgyY0PKzgPOr7/FjCePfHNt0jxm83wHZi44VDMQ7/fGNkjY3/jV1MC+1CmZbaHzugyeRtpg== - -csscolorparser@~1.0.2: - version "1.0.3" - resolved "https://registry.yarnpkg.com/csscolorparser/-/csscolorparser-1.0.3.tgz#b34f391eea4da8f3e98231e2ccd8df9c041f171b" - integrity sha512-umPSgYwZkdFoUrH5hIq5kf0wPSXiro51nPw0j2K/c83KflkPSTBGMz6NJvMB+07VlL0y7VPo6QJcDjcgKTTm3w== - -cssesc@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/cssesc/-/cssesc-3.0.0.tgz#37741919903b868565e1c09ea747445cd18983ee" - integrity sha512-/Tb/JcjK111nNScGob5MNtsntNM1aCNUDipB/TkwZFhyDrrE47SOx/18wF2bbjgc3ZzCSKW1T5nt5EbFoAz/Vg== - -cssfilter@0.0.10: - version "0.0.10" - resolved "https://registry.yarnpkg.com/cssfilter/-/cssfilter-0.0.10.tgz#c6d2672632a2e5c83e013e6864a42ce8defd20ae" - integrity sha512-FAaLDaplstoRsDR8XGYH51znUN0UY7nMc6Z9/fvE8EXGwvJE9hu7W2vHwx1+bd6gCYnln9nLbzxFTrcO9YQDZw== - -cssom@^0.5.0: - version "0.5.0" - resolved "https://registry.yarnpkg.com/cssom/-/cssom-0.5.0.tgz#d254fa92cd8b6fbd83811b9fbaed34663cc17c36" - integrity sha512-iKuQcq+NdHqlAcwUY0o/HL69XQrUaQdMjmStJ8JFmUaiiQErlhrmuigkg/CU4E2J0IyUKUrMAgl36TvN67MqTw== - -cssom@~0.3.6: - version "0.3.8" - resolved "https://registry.yarnpkg.com/cssom/-/cssom-0.3.8.tgz#9f1276f5b2b463f2114d3f2c75250af8c1a36f4a" - integrity sha512-b0tGHbfegbhPJpxpiBPU2sCkigAqtM9O121le6bbOlgyV+NyGyCmVfJ6QW9eRjz8CpNfWEOYBIMIGRYkLwsIYg== - -cssstyle@^2.3.0: - version "2.3.0" - resolved "https://registry.yarnpkg.com/cssstyle/-/cssstyle-2.3.0.tgz#ff665a0ddbdc31864b09647f34163443d90b0852" - integrity sha512-AZL67abkUzIuvcHqk7c09cezpGNcxUxU4Ioi/05xHk4DQeTkWmGYftIE6ctU6AEt+Gn4n1lDStOtj7FKycP71A== - dependencies: - cssom "~0.3.6" - -csstype@^3.0.2, csstype@^3.1.2: - version "3.1.3" - resolved "https://registry.yarnpkg.com/csstype/-/csstype-3.1.3.tgz#d80ff294d114fb0e6ac500fbf85b60137d7eff81" - integrity sha512-M1uQkMl8rQK/szD0LNhtqxIPLpimGm8sOBwU7lLnCpSbTyY3yeU1Vc7l4KT5zT4s/yOxHH5O7tIuuLOCnLADRw== - -cypress-file-upload@5.0.8: - version "5.0.8" - resolved "https://registry.yarnpkg.com/cypress-file-upload/-/cypress-file-upload-5.0.8.tgz#d8824cbeaab798e44be8009769f9a6c9daa1b4a1" - integrity sha512-+8VzNabRk3zG6x8f8BWArF/xA/W0VK4IZNx3MV0jFWrJS/qKn8eHfa5nU73P9fOQAgwHFJx7zjg4lwOnljMO8g== - -cypress@9.5.1: - version "9.5.1" - resolved "https://registry.yarnpkg.com/cypress/-/cypress-9.5.1.tgz#51162f3688cedf5ffce311b914ef49a7c1ece076" - integrity sha512-H7lUWB3Svr44gz1rNnj941xmdsCljXoJa2cDneAltjI9leKLMQLm30x6jLlpQ730tiVtIbW5HdUmBzPzwzfUQg== - dependencies: - "@cypress/request" "^2.88.10" - "@cypress/xvfb" "^1.2.4" - "@types/node" "^14.14.31" - "@types/sinonjs__fake-timers" "8.1.1" - "@types/sizzle" "^2.3.2" - arch "^2.2.0" - blob-util "^2.0.2" - bluebird "^3.7.2" - buffer "^5.6.0" - cachedir "^2.3.0" - chalk "^4.1.0" - check-more-types "^2.24.0" - cli-cursor "^3.1.0" - cli-table3 "~0.6.1" - commander "^5.1.0" - common-tags "^1.8.0" - dayjs "^1.10.4" - debug "^4.3.2" - enquirer "^2.3.6" - eventemitter2 "^6.4.3" - execa "4.1.0" - executable "^4.1.1" - extract-zip "2.0.1" - figures "^3.2.0" - fs-extra "^9.1.0" - getos "^3.2.1" - is-ci "^3.0.0" - is-installed-globally "~0.4.0" - lazy-ass "^1.6.0" - listr2 "^3.8.3" - lodash "^4.17.21" - log-symbols "^4.0.0" - minimist "^1.2.5" - ospath "^1.2.2" - pretty-bytes "^5.6.0" - proxy-from-env "1.0.0" - request-progress "^3.0.0" - semver "^7.3.2" - supports-color "^8.1.1" - tmp "~0.2.1" - untildify "^4.0.0" - yauzl "^2.10.0" - -"d3-array@2 - 3", "d3-array@2.10.0 - 3", "d3-array@2.5.0 - 3", d3-array@3, d3-array@^3.2.0: - version "3.2.4" - resolved "https://registry.yarnpkg.com/d3-array/-/d3-array-3.2.4.tgz#15fec33b237f97ac5d7c986dc77da273a8ed0bb5" - integrity sha512-tdQAmyA18i4J7wprpYq8ClcxZy3SC31QMeByyCFyRt7BVHdREQZ5lpzoe5mFEYZUWe+oq8HBvk9JjpibyEV4Jg== - dependencies: - internmap "1 - 2" - -d3-axis@3: - version "3.0.0" - resolved "https://registry.yarnpkg.com/d3-axis/-/d3-axis-3.0.0.tgz#c42a4a13e8131d637b745fc2973824cfeaf93322" - integrity sha512-IH5tgjV4jE/GhHkRV0HiVYPDtvfjHQlQfJHs0usq7M30XcSBvOotpmH1IgkcXsO/5gEQZD43B//fc7SRT5S+xw== - -d3-brush@3: - version "3.0.0" - resolved "https://registry.yarnpkg.com/d3-brush/-/d3-brush-3.0.0.tgz#6f767c4ed8dcb79de7ede3e1c0f89e63ef64d31c" - integrity sha512-ALnjWlVYkXsVIGlOsuWH1+3udkYFI48Ljihfnh8FZPF2QS9o+PzGLBslO0PjzVoHLZ2KCVgAM8NVkXPJB2aNnQ== - dependencies: - d3-dispatch "1 - 3" - d3-drag "2 - 3" - d3-interpolate "1 - 3" - d3-selection "3" - d3-transition "3" - -d3-chord@3: - version "3.0.1" - resolved "https://registry.yarnpkg.com/d3-chord/-/d3-chord-3.0.1.tgz#d156d61f485fce8327e6abf339cb41d8cbba6966" - integrity sha512-VE5S6TNa+j8msksl7HwjxMHDM2yNK3XCkusIlpX5kwauBfXuyLAtNg9jCp/iHH61tgI4sb6R/EIMWCqEIdjT/g== - dependencies: - d3-path "1 - 3" - -"d3-color@1 - 3", d3-color@3: - version "3.1.0" - resolved "https://registry.yarnpkg.com/d3-color/-/d3-color-3.1.0.tgz#395b2833dfac71507f12ac2f7af23bf819de24e2" - integrity sha512-zg/chbXyeBtMQ1LbD/WSoW2DpC3I0mpmPdW+ynRTj/x2DAWYrIY7qeZIHidozwV24m4iavr15lNwIwLxRmOxhA== - -d3-contour@4: - version "4.0.2" - resolved "https://registry.yarnpkg.com/d3-contour/-/d3-contour-4.0.2.tgz#bb92063bc8c5663acb2422f99c73cbb6c6ae3bcc" - integrity sha512-4EzFTRIikzs47RGmdxbeUvLWtGedDUNkTcmzoeyg4sP/dvCexO47AaQL7VKy/gul85TOxw+IBgA8US2xwbToNA== - dependencies: - d3-array "^3.2.0" - -d3-delaunay@6: - version "6.0.4" - resolved "https://registry.yarnpkg.com/d3-delaunay/-/d3-delaunay-6.0.4.tgz#98169038733a0a5babbeda55054f795bb9e4a58b" - integrity sha512-mdjtIZ1XLAM8bm/hx3WwjfHt6Sggek7qH043O8KEjDXN40xi3vx/6pYSVTwLjEgiXQTbvaouWKynLBiUZ6SK6A== - dependencies: - delaunator "5" - -"d3-dispatch@1 - 3", d3-dispatch@3: - version "3.0.1" - resolved "https://registry.yarnpkg.com/d3-dispatch/-/d3-dispatch-3.0.1.tgz#5fc75284e9c2375c36c839411a0cf550cbfc4d5e" - integrity sha512-rzUyPU/S7rwUflMyLc1ETDeBj0NRuHKKAcvukozwhshr6g6c5d8zh4c2gQjY2bZ0dXeGLWc1PF174P2tVvKhfg== - -"d3-drag@2 - 3", d3-drag@3: - version "3.0.0" - resolved "https://registry.yarnpkg.com/d3-drag/-/d3-drag-3.0.0.tgz#994aae9cd23c719f53b5e10e3a0a6108c69607ba" - integrity sha512-pWbUJLdETVA8lQNJecMxoXfH6x+mO2UQo8rSmZ+QqxcbyA3hfeprFgIT//HW2nlHChWeIIMwS2Fq+gEARkhTkg== - dependencies: - d3-dispatch "1 - 3" - d3-selection "3" - -"d3-dsv@1 - 3", d3-dsv@3: - version "3.0.1" - resolved "https://registry.yarnpkg.com/d3-dsv/-/d3-dsv-3.0.1.tgz#c63af978f4d6a0d084a52a673922be2160789b73" - integrity sha512-UG6OvdI5afDIFP9w4G0mNq50dSOsXHJaRE8arAS5o9ApWnIElp8GZw1Dun8vP8OyHOZ/QJUKUJwxiiCCnUwm+Q== - dependencies: - commander "7" - iconv-lite "0.6" - rw "1" - -"d3-ease@1 - 3", d3-ease@3: - version "3.0.1" - resolved "https://registry.yarnpkg.com/d3-ease/-/d3-ease-3.0.1.tgz#9658ac38a2140d59d346160f1f6c30fda0bd12f4" - integrity sha512-wR/XK3D3XcLIZwpbvQwQ5fK+8Ykds1ip7A2Txe0yxncXSdq1L9skcG7blcedkOX+ZcgxGAmLX1FrRGbADwzi0w== - -d3-fetch@3: - version "3.0.1" - resolved "https://registry.yarnpkg.com/d3-fetch/-/d3-fetch-3.0.1.tgz#83141bff9856a0edb5e38de89cdcfe63d0a60a22" - integrity sha512-kpkQIM20n3oLVBKGg6oHrUchHM3xODkTzjMoj7aWQFq5QEM+R6E4WkzT5+tojDY7yjez8KgCBRoj4aEr99Fdqw== - dependencies: - d3-dsv "1 - 3" - -d3-force@3: - version "3.0.0" - resolved "https://registry.yarnpkg.com/d3-force/-/d3-force-3.0.0.tgz#3e2ba1a61e70888fe3d9194e30d6d14eece155c4" - integrity sha512-zxV/SsA+U4yte8051P4ECydjD/S+qeYtnaIyAs9tgHCqfguma/aAQDjo85A9Z6EKhBirHRJHXIgJUlffT4wdLg== - dependencies: - d3-dispatch "1 - 3" - d3-quadtree "1 - 3" - d3-timer "1 - 3" - -"d3-format@1 - 3", d3-format@3: - version "3.1.0" - resolved "https://registry.yarnpkg.com/d3-format/-/d3-format-3.1.0.tgz#9260e23a28ea5cb109e93b21a06e24e2ebd55641" - integrity sha512-YyUI6AEuY/Wpt8KWLgZHsIU86atmikuoOmCfommt0LYHiQSPjvX2AcFc38PX0CBpr2RCyZhjex+NS/LPOv6YqA== - -d3-geo@3: - version "3.1.0" - resolved "https://registry.yarnpkg.com/d3-geo/-/d3-geo-3.1.0.tgz#74fd54e1f4cebd5185ac2039217a98d39b0a4c0e" - integrity sha512-JEo5HxXDdDYXCaWdwLRt79y7giK8SbhZJbFWXqbRTolCHFI5jRqteLzCsq51NKbUoX0PjBVSohxrx+NoOUujYA== - dependencies: - d3-array "2.5.0 - 3" - -d3-hierarchy@3: - version "3.1.2" - resolved "https://registry.yarnpkg.com/d3-hierarchy/-/d3-hierarchy-3.1.2.tgz#b01cd42c1eed3d46db77a5966cf726f8c09160c6" - integrity sha512-FX/9frcub54beBdugHjDCdikxThEqjnR93Qt7PvQTOHxyiNCAlvMrHhclk3cD5VeAaq9fxmfRp+CnWw9rEMBuA== - -"d3-interpolate@1 - 3", "d3-interpolate@1.2.0 - 3", d3-interpolate@3, d3-interpolate@3.0.1: - version "3.0.1" - resolved "https://registry.yarnpkg.com/d3-interpolate/-/d3-interpolate-3.0.1.tgz#3c47aa5b32c5b3dfb56ef3fd4342078a632b400d" - integrity sha512-3bYs1rOD33uo8aqJfKP3JWPAibgw8Zm2+L9vBKEHJ2Rg+viTR7o5Mmv5mZcieN+FRYaAOWX5SJATX6k1PWz72g== - dependencies: - d3-color "1 - 3" - -"d3-path@1 - 3", d3-path@3, d3-path@^3.1.0: - version "3.1.0" - resolved "https://registry.yarnpkg.com/d3-path/-/d3-path-3.1.0.tgz#22df939032fb5a71ae8b1800d61ddb7851c42526" - integrity sha512-p3KP5HCf/bvjBSSKuXid6Zqijx7wIfNW+J/maPs+iwR35at5JCbLUT0LzF1cnjbCHWhqzQTIN2Jpe8pRebIEFQ== - -d3-polygon@3: - version "3.0.1" - resolved "https://registry.yarnpkg.com/d3-polygon/-/d3-polygon-3.0.1.tgz#0b45d3dd1c48a29c8e057e6135693ec80bf16398" - integrity sha512-3vbA7vXYwfe1SYhED++fPUQlWSYTTGmFmQiany/gdbiWgU/iEyQzyymwL9SkJjFFuCS4902BSzewVGsHHmHtXg== - -"d3-quadtree@1 - 3", d3-quadtree@3: - version "3.0.1" - resolved "https://registry.yarnpkg.com/d3-quadtree/-/d3-quadtree-3.0.1.tgz#6dca3e8be2b393c9a9d514dabbd80a92deef1a4f" - integrity sha512-04xDrxQTDTCFwP5H6hRhsRcb9xxv2RzkcsygFzmkSIOJy3PeRJP7sNk3VRIbKXcog561P9oU0/rVH6vDROAgUw== - -d3-random@3: - version "3.0.1" - resolved "https://registry.yarnpkg.com/d3-random/-/d3-random-3.0.1.tgz#d4926378d333d9c0bfd1e6fa0194d30aebaa20f4" - integrity sha512-FXMe9GfxTxqd5D6jFsQ+DJ8BJS4E/fT5mqqdjovykEB2oFbTMDVdg1MGFxfQW+FBOGoB++k8swBrgwSHT1cUXQ== - -d3-scale-chromatic@3: - version "3.0.0" - resolved "https://registry.yarnpkg.com/d3-scale-chromatic/-/d3-scale-chromatic-3.0.0.tgz#15b4ceb8ca2bb0dcb6d1a641ee03d59c3b62376a" - integrity sha512-Lx9thtxAKrO2Pq6OO2Ua474opeziKr279P/TKZsMAhYyNDD3EnCffdbgeSYN5O7m2ByQsxtuP2CSDczNUIZ22g== - dependencies: - d3-color "1 - 3" - d3-interpolate "1 - 3" - -d3-scale@4: - version "4.0.2" - resolved "https://registry.yarnpkg.com/d3-scale/-/d3-scale-4.0.2.tgz#82b38e8e8ff7080764f8dcec77bd4be393689396" - integrity sha512-GZW464g1SH7ag3Y7hXjf8RoUuAFIqklOAq3MRl4OaWabTFJY9PN/E1YklhXLh+OQ3fM9yS2nOkCoS+WLZ6kvxQ== - dependencies: - d3-array "2.10.0 - 3" - d3-format "1 - 3" - d3-interpolate "1.2.0 - 3" - d3-time "2.1.1 - 3" - d3-time-format "2 - 4" - -"d3-selection@2 - 3", d3-selection@3: - version "3.0.0" - resolved "https://registry.yarnpkg.com/d3-selection/-/d3-selection-3.0.0.tgz#c25338207efa72cc5b9bd1458a1a41901f1e1b31" - integrity sha512-fmTRWbNMmsmWq6xJV8D19U/gw/bwrHfNXxrIN+HfZgnzqTHp9jOmKMhsTUjXOJnZOdZY9Q28y4yebKzqDKlxlQ== - -d3-shape@3: - version "3.2.0" - resolved "https://registry.yarnpkg.com/d3-shape/-/d3-shape-3.2.0.tgz#a1a839cbd9ba45f28674c69d7f855bcf91dfc6a5" - integrity sha512-SaLBuwGm3MOViRq2ABk3eLoxwZELpH6zhl3FbAoJ7Vm1gofKx6El1Ib5z23NUEhF9AsGl7y+dzLe5Cw2AArGTA== - dependencies: - d3-path "^3.1.0" - -"d3-time-format@2 - 4", d3-time-format@4: - version "4.1.0" - resolved "https://registry.yarnpkg.com/d3-time-format/-/d3-time-format-4.1.0.tgz#7ab5257a5041d11ecb4fe70a5c7d16a195bb408a" - integrity sha512-dJxPBlzC7NugB2PDLwo9Q8JiTR3M3e4/XANkreKSUxF8vvXKqm1Yfq4Q5dl8budlunRVlUUaDUgFt7eA8D6NLg== - dependencies: - d3-time "1 - 3" - -"d3-time@1 - 3", "d3-time@2.1.1 - 3", d3-time@3: - version "3.1.0" - resolved "https://registry.yarnpkg.com/d3-time/-/d3-time-3.1.0.tgz#9310db56e992e3c0175e1ef385e545e48a9bb5c7" - integrity sha512-VqKjzBLejbSMT4IgbmVgDjpkYrNWUYJnbCGo874u7MMKIWsILRX+OpX/gTk8MqjpT1A/c6HY2dCA77ZN0lkQ2Q== - dependencies: - d3-array "2 - 3" - -"d3-timer@1 - 3", d3-timer@3: - version "3.0.1" - resolved "https://registry.yarnpkg.com/d3-timer/-/d3-timer-3.0.1.tgz#6284d2a2708285b1abb7e201eda4380af35e63b0" - integrity sha512-ndfJ/JxxMd3nw31uyKoY2naivF+r29V+Lc0svZxe1JvvIRmi8hUsrMvdOwgS1o6uBHmiz91geQ0ylPP0aj1VUA== - -"d3-transition@2 - 3", d3-transition@3: - version "3.0.1" - resolved "https://registry.yarnpkg.com/d3-transition/-/d3-transition-3.0.1.tgz#6869fdde1448868077fdd5989200cb61b2a1645f" - integrity sha512-ApKvfjsSR6tg06xrL434C0WydLr7JewBB3V+/39RMHsaXTOG0zmt/OAXeng5M5LBm0ojmxJrpomQVZ1aPvBL4w== - dependencies: - d3-color "1 - 3" - d3-dispatch "1 - 3" - d3-ease "1 - 3" - d3-interpolate "1 - 3" - d3-timer "1 - 3" - -d3-zoom@3: - version "3.0.0" - resolved "https://registry.yarnpkg.com/d3-zoom/-/d3-zoom-3.0.0.tgz#d13f4165c73217ffeaa54295cd6969b3e7aee8f3" - integrity sha512-b8AmV3kfQaqWAuacbPuNbL6vahnOJflOhexLzMMNLga62+/nh0JzvJ0aO/5a5MVgUFGS7Hu1P9P03o3fJkDCyw== - dependencies: - d3-dispatch "1 - 3" - d3-drag "2 - 3" - d3-interpolate "1 - 3" - d3-selection "2 - 3" - d3-transition "2 - 3" - -d3@7.8.2: - version "7.8.2" - resolved "https://registry.yarnpkg.com/d3/-/d3-7.8.2.tgz#2bdb3c178d095ae03b107a18837ae049838e372d" - integrity sha512-WXty7qOGSHb7HR7CfOzwN1Gw04MUOzN8qh9ZUsvwycIMb4DYMpY9xczZ6jUorGtO6bR9BPMPaueIKwiDxu9uiQ== - dependencies: - d3-array "3" - d3-axis "3" - d3-brush "3" - d3-chord "3" - d3-color "3" - d3-contour "4" - d3-delaunay "6" - d3-dispatch "3" - d3-drag "3" - d3-dsv "3" - d3-ease "3" - d3-fetch "3" - d3-force "3" - d3-format "3" - d3-geo "3" - d3-hierarchy "3" - d3-interpolate "3" - d3-path "3" - d3-polygon "3" - d3-quadtree "3" - d3-random "3" - d3-scale "4" - d3-scale-chromatic "3" - d3-selection "3" - d3-shape "3" - d3-time "3" - d3-time-format "4" - d3-timer "3" - d3-transition "3" - d3-zoom "3" - -dashdash@^1.12.0: - version "1.14.1" - resolved "https://registry.yarnpkg.com/dashdash/-/dashdash-1.14.1.tgz#853cfa0f7cbe2fed5de20326b8dd581035f6e2f0" - integrity sha512-jRFi8UDGo6j+odZiEpjazZaWqEal3w/basFjQHQEwVtZJGDpxbH1MeYluwCS8Xq5wmLJooDlMgvVarmWfGM44g== - dependencies: - assert-plus "^1.0.0" - -data-urls@^3.0.2: - version "3.0.2" - resolved "https://registry.yarnpkg.com/data-urls/-/data-urls-3.0.2.tgz#9cf24a477ae22bcef5cd5f6f0bfbc1d2d3be9143" - integrity sha512-Jy/tj3ldjZJo63sVAvg6LHt2mHvl4V6AgRAmNDtLdm7faqtsx+aJG42rsyCo9JCoRVKwPFzKlIPx3DIibwSIaQ== - dependencies: - abab "^2.0.6" - whatwg-mimetype "^3.0.0" - whatwg-url "^11.0.0" - -date-fns@2.29.3: - version "2.29.3" - resolved "https://registry.yarnpkg.com/date-fns/-/date-fns-2.29.3.tgz#27402d2fc67eb442b511b70bbdf98e6411cd68a8" - integrity sha512-dDCnyH2WnnKusqvZZ6+jA1O51Ibt8ZMRNkDZdyAyK4YfbDwa/cEmuztzG5pk6hqlp9aSBPYcjOlktquahGwGeA== - -date-format@^0.0.0: - version "0.0.0" - resolved "https://registry.yarnpkg.com/date-format/-/date-format-0.0.0.tgz#09206863ab070eb459acea5542cbd856b11966b3" - integrity sha512-kAmAdtsjW5nQ02FERwI1bP4xe6HQBPwy5kpAF4CRSLOMUs/vgMIEEwpy6JqUs7NitTyhZiImxwAjgPpnteycHg== - -dayjs@^1.10.4: - version "1.11.10" - resolved "https://registry.yarnpkg.com/dayjs/-/dayjs-1.11.10.tgz#68acea85317a6e164457d6d6947564029a6a16a0" - integrity sha512-vjAczensTgRcqDERK0SR2XMwsF/tSvnvlv6VcF2GIhg6Sx4yOIt/irsr1RDJsKiIyBzJDpCoXiWWq28MqH2cnQ== - -debug@4, debug@4.3.4, debug@^4.1.0, debug@^4.1.1, debug@^4.3.1, debug@^4.3.2, debug@^4.3.4: - version "4.3.4" - resolved "https://registry.yarnpkg.com/debug/-/debug-4.3.4.tgz#1319f6579357f2338d3337d2cdd4914bb5dcc865" - integrity sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ== - dependencies: - ms "2.1.2" - -debug@^0.7.2: - version "0.7.4" - resolved "https://registry.yarnpkg.com/debug/-/debug-0.7.4.tgz#06e1ea8082c2cb14e39806e22e2f6f757f92af39" - integrity sha512-EohAb3+DSHSGx8carOSKJe8G0ayV5/i609OD0J2orCkuyae7SyZSz2aoLmQF2s0Pj5gITDebwPH7GFBlqOUQ1Q== - -debug@^2.2.0: - version "2.6.9" - resolved "https://registry.yarnpkg.com/debug/-/debug-2.6.9.tgz#5d128515df134ff327e90a4c93f4e077a536341f" - integrity sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA== - dependencies: - ms "2.0.0" - -debug@^3.1.0, debug@^3.2.7: - version "3.2.7" - resolved "https://registry.yarnpkg.com/debug/-/debug-3.2.7.tgz#72580b7e9145fb39b6676f9c5e5fb100b934179a" - integrity sha512-CFjzYYAi4ThfiQvizrFQevTTXHtnCqWfe7x1AhgEscTz6ZbLbfoLRLPugTQyBth6f8ZERVUSyWHFD/7Wu4t1XQ== - dependencies: - ms "^2.1.1" - -decamelize@^4.0.0: - version "4.0.0" - resolved "https://registry.yarnpkg.com/decamelize/-/decamelize-4.0.0.tgz#aa472d7bf660eb15f3494efd531cab7f2a709837" - integrity sha512-9iE1PgSik9HeIIw2JO94IidnE3eBoQrFJ3w7sFuzSX4DpmZ3v5sZpUiV5Swcf6mQEF+Y0ru8Neo+p+nyh2J+hQ== - -decimal.js@^10.4.2: - version "10.4.3" - resolved "https://registry.yarnpkg.com/decimal.js/-/decimal.js-10.4.3.tgz#1044092884d245d1b7f65725fa4ad4c6f781cc23" - integrity sha512-VBBaLc1MgL5XpzgIP7ny5Z6Nx3UrRkIViUkPUdtl9aya5amy3De1gsUUSB1g3+3sExYNjCAsAznmukyxCb1GRA== - -dedent@^1.0.0: - version "1.5.1" - resolved "https://registry.yarnpkg.com/dedent/-/dedent-1.5.1.tgz#4f3fc94c8b711e9bb2800d185cd6ad20f2a90aff" - integrity sha512-+LxW+KLWxu3HW3M2w2ympwtqPrqYRzU8fqi6Fhd18fBALe15blJPI/I4+UHveMVG6lJqB4JNd4UG0S5cnVHwIg== - -deep-equal@^2.0.5: - version "2.2.3" - resolved "https://registry.yarnpkg.com/deep-equal/-/deep-equal-2.2.3.tgz#af89dafb23a396c7da3e862abc0be27cf51d56e1" - integrity sha512-ZIwpnevOurS8bpT4192sqAowWM76JDKSHYzMLty3BZGSswgq6pBaH3DhCSW5xVAZICZyKdOBPjwww5wfgT/6PA== - dependencies: - array-buffer-byte-length "^1.0.0" - call-bind "^1.0.5" - es-get-iterator "^1.1.3" - get-intrinsic "^1.2.2" - is-arguments "^1.1.1" - is-array-buffer "^3.0.2" - is-date-object "^1.0.5" - is-regex "^1.1.4" - is-shared-array-buffer "^1.0.2" - isarray "^2.0.5" - object-is "^1.1.5" - object-keys "^1.1.1" - object.assign "^4.1.4" - regexp.prototype.flags "^1.5.1" - side-channel "^1.0.4" - which-boxed-primitive "^1.0.2" - which-collection "^1.0.1" - which-typed-array "^1.1.13" - -deep-is@^0.1.3: - version "0.1.4" - resolved "https://registry.yarnpkg.com/deep-is/-/deep-is-0.1.4.tgz#a6f2dce612fadd2ef1f519b73551f17e85199831" - integrity sha512-oIPzksmTg4/MriiaYGO+okXDT7ztn/w3Eptv/+gSIdMdKsJo0u4CfYNFJPy+4SKMuCqGw2wxnA+URMg3t8a/bQ== - -deepmerge@^4.2.2: - version "4.3.1" - resolved "https://registry.yarnpkg.com/deepmerge/-/deepmerge-4.3.1.tgz#44b5f2147cd3b00d4b56137685966f26fd25dd4a" - integrity sha512-3sUqbMEc77XqpdNO7FRyRog+eW3ph+GYCbj+rK+uYyRMuwsVy0rMiVtPn+QJlKFvWP/1PYpapqYn0Me2knFn+A== - -define-data-property@^1.0.1, define-data-property@^1.1.1: - version "1.1.1" - resolved "https://registry.yarnpkg.com/define-data-property/-/define-data-property-1.1.1.tgz#c35f7cd0ab09883480d12ac5cb213715587800b3" - integrity sha512-E7uGkTzkk1d0ByLeSc6ZsFS79Axg+m1P/VsgYsxHgiuc3tFSj+MjMIwe90FC4lOAZzNBdY7kkO2P2wKdsQ1vgQ== - dependencies: - get-intrinsic "^1.2.1" - gopd "^1.0.1" - has-property-descriptors "^1.0.0" - -define-properties@^1.1.3, define-properties@^1.2.0, define-properties@^1.2.1: - version "1.2.1" - resolved "https://registry.yarnpkg.com/define-properties/-/define-properties-1.2.1.tgz#10781cc616eb951a80a034bafcaa7377f6af2b6c" - integrity sha512-8QmQKqEASLd5nx0U1B1okLElbUuuttJ/AnYmRXbbbGDWh6uS208EjD4Xqq/I9wK7u0v6O08XhTWnt5XtEbR6Dg== - dependencies: - define-data-property "^1.0.1" - has-property-descriptors "^1.0.0" - object-keys "^1.1.1" - -delaunator@5: - version "5.0.1" - resolved "https://registry.yarnpkg.com/delaunator/-/delaunator-5.0.1.tgz#39032b08053923e924d6094fe2cde1a99cc51278" - integrity sha512-8nvh+XBe96aCESrGOqMp/84b13H9cdKbG5P2ejQCh4d4sK9RL4371qou9drQjMhvnPmhWl5hnmqbEE0fXr9Xnw== - dependencies: - robust-predicates "^3.0.2" - -delayed-stream@~1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/delayed-stream/-/delayed-stream-1.0.0.tgz#df3ae199acadfb7d440aaae0b29e2272b24ec619" - integrity sha512-ZySD7Nf91aLB0RxL4KGrKHBXl7Eds1DAmEdcoVawXnLD7SDhpNgtuII2aAkg7a7QS41jxPSZ17p4VdGnMHk3MQ== - -dequal@^2.0.3: - version "2.0.3" - resolved "https://registry.yarnpkg.com/dequal/-/dequal-2.0.3.tgz#2644214f1997d39ed0ee0ece72335490a7ac67be" - integrity sha512-0je+qPKHEMohvfRTCEo3CrPG6cAzAYgmzKyxRiYSSDkS6eGJdyVJm7WaYA5ECaAD9wLB2T4EEeymA5aFVcYXCA== - -detect-newline@^3.0.0: - version "3.1.0" - resolved "https://registry.yarnpkg.com/detect-newline/-/detect-newline-3.1.0.tgz#576f5dfc63ae1a192ff192d8ad3af6308991b651" - integrity sha512-TLz+x/vEXm/Y7P7wn1EJFNLxYpUD4TgMosxY6fAVJUnJMbupHBOncxyWUG9OpTaH9EBD7uFI5LfEgmMOc54DsA== - -devtools-protocol@0.0.1113774: - version "0.0.1113774" - resolved "https://registry.yarnpkg.com/devtools-protocol/-/devtools-protocol-0.0.1113774.tgz#bc3a3e29828bf8338e06f3c251cd986559d55eba" - integrity sha512-e8RTiY/W9+exY6T2bK9mLyJG/CfwCixDVof7MqOS2maLANTdihMr2LCf6wcBUvgQzmrImqHITyJB90ICiuJGwA== - -diff-sequences@^29.6.3: - version "29.6.3" - resolved "https://registry.yarnpkg.com/diff-sequences/-/diff-sequences-29.6.3.tgz#4deaf894d11407c51efc8418012f9e70b84ea921" - integrity sha512-EjePK1srD3P08o2j4f0ExnylqRs5B9tJjcp9t1krH2qRi8CCdsYfwe9JgSLurFBWwq4uOlipzfk5fHNvwFKr8Q== - -diff@5.0.0: - version "5.0.0" - resolved "https://registry.yarnpkg.com/diff/-/diff-5.0.0.tgz#7ed6ad76d859d030787ec35855f5b1daf31d852b" - integrity sha512-/VTCrvm5Z0JGty/BWHljh+BAiw3IK+2j87NGMu8Nwc/f48WoDAC395uomO9ZD117ZOBaHmkX1oyLvkVM/aIT3w== - -diff@^4.0.1: - version "4.0.2" - resolved "https://registry.yarnpkg.com/diff/-/diff-4.0.2.tgz#60f3aecb89d5fae520c11aa19efc2bb982aade7d" - integrity sha512-58lmxKSA4BNyLz+HHMUzlOEpg09FV+ev6ZMe3vJihgdxzgcwZ8VoEEPmALCZG9LmqfVoNMMKpttIYTVG6uDY7A== - -dir-glob@^3.0.1: - version "3.0.1" - resolved "https://registry.yarnpkg.com/dir-glob/-/dir-glob-3.0.1.tgz#56dbf73d992a4a93ba1584f4534063fd2e41717f" - integrity sha512-WkrWp9GR4KXfKGYzOLmTuGVi1UWFfws377n9cc55/tb6DuqyF6pcQ5AbiHEshaDpY9v6oaSr2XCDidGmMwdzIA== - dependencies: - path-type "^4.0.0" - -direction@^0.1.5: - version "0.1.5" - resolved "https://registry.yarnpkg.com/direction/-/direction-0.1.5.tgz#ce5d797f97e26f8be7beff53f7dc40e1c1a9ec4c" - integrity sha512-HceXsAluGbXKCz2qCVbXFUH4Vn4eNMWxY5gzydMFMnS1zKSwvDASqLwcrYLIFDpwuZ63FUAqjDLEP1eicHt8DQ== - -doctrine@^2.1.0: - version "2.1.0" - resolved "https://registry.yarnpkg.com/doctrine/-/doctrine-2.1.0.tgz#5cd01fc101621b42c4cd7f5d1a66243716d3f39d" - integrity sha512-35mSku4ZXK0vfCuHEDAwt55dg2jNajHZ1odvF+8SSr82EsZY4QmXfuWso8oEd8zRhVObSN18aM0CjSdoBX7zIw== - dependencies: - esutils "^2.0.2" - -doctrine@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/doctrine/-/doctrine-3.0.0.tgz#addebead72a6574db783639dc87a121773973961" - integrity sha512-yS+Q5i3hBf7GBkd4KG8a7eBNNWNGLTaEwwYWUijIYM7zrlYDM0BFXHjjPWlWZ1Rg7UaddZeIDmi9jF3HmqiQ2w== - dependencies: - esutils "^2.0.2" - -dom-accessibility-api@^0.5.6, dom-accessibility-api@^0.5.9: - version "0.5.16" - resolved "https://registry.yarnpkg.com/dom-accessibility-api/-/dom-accessibility-api-0.5.16.tgz#5a7429e6066eb3664d911e33fb0e45de8eb08453" - integrity sha512-X7BJ2yElsnOJ30pZF4uIIDfBEVgF4XEBxL9Bxhy6dnrm5hkzqmsWHGTiHqRiITNhMyFLyAiWndIJP7Z1NTteDg== - -dom-align@^1.7.0: - version "1.12.4" - resolved "https://registry.yarnpkg.com/dom-align/-/dom-align-1.12.4.tgz#3503992eb2a7cfcb2ed3b2a6d21e0b9c00d54511" - integrity sha512-R8LUSEay/68zE5c8/3BDxiTEvgb4xZTF0RKmAHfiEVN3klfIpXfi2/QCoiWPccVQ0J/ZGdz9OjzL4uJEP/MRAw== - -dom-css@^2.0.0: - version "2.1.0" - resolved "https://registry.yarnpkg.com/dom-css/-/dom-css-2.1.0.tgz#fdbc2d5a015d0a3e1872e11472bbd0e7b9e6a202" - integrity sha512-w9kU7FAbaSh3QKijL6n59ofAhkkmMJ31GclJIz/vyQdjogfyxcB6Zf8CZyibOERI5o0Hxz30VmJS7+7r5fEj2Q== - dependencies: - add-px-to-style "1.0.0" - prefix-style "2.0.1" - to-camel-case "1.0.0" - -dom-helpers@^5.0.1: - version "5.2.1" - resolved "https://registry.yarnpkg.com/dom-helpers/-/dom-helpers-5.2.1.tgz#d9400536b2bf8225ad98fe052e029451ac40e902" - integrity sha512-nRCa7CK3VTrM2NmGkIy4cbK7IZlgBE/PYMn55rrXefr5xXDP0LdtfPnblFDoVdcAfslJ7or6iqAUnx0CCGIWQA== - dependencies: - "@babel/runtime" "^7.8.7" - csstype "^3.0.2" - -domexception@^4.0.0: - version "4.0.0" - resolved "https://registry.yarnpkg.com/domexception/-/domexception-4.0.0.tgz#4ad1be56ccadc86fc76d033353999a8037d03673" - integrity sha512-A2is4PLG+eeSfoTMA95/s4pvAoSo2mKtiM5jlHkAVewmiO8ISFTFKZjH7UAM1Atli/OT/7JHOrJRJiMKUZKYBw== - dependencies: - webidl-conversions "^7.0.0" - -dompurify@^2.4.3: - version "2.4.7" - resolved "https://registry.yarnpkg.com/dompurify/-/dompurify-2.4.7.tgz#277adeb40a2c84be2d42a8bcd45f582bfa4d0cfc" - integrity sha512-kxxKlPEDa6Nc5WJi+qRgPbOAbgTpSULL+vI3NUXsZMlkJxTqYI9wg5ZTay2sFrdZRWHPWNi+EdAhcJf81WtoMQ== - -earcut@^2.2.3: - version "2.2.4" - resolved "https://registry.yarnpkg.com/earcut/-/earcut-2.2.4.tgz#6d02fd4d68160c114825d06890a92ecaae60343a" - integrity sha512-/pjZsA1b4RPHbeWZQn66SWS8nZZWLQQ23oE3Eam7aroEFGEvwKAsJfZ9ytiEMycfzXWpca4FA9QIOehf7PocBQ== - -eastasianwidth@^0.2.0: - version "0.2.0" - resolved "https://registry.yarnpkg.com/eastasianwidth/-/eastasianwidth-0.2.0.tgz#696ce2ec0aa0e6ea93a397ffcf24aa7840c827cb" - integrity sha512-I88TYZWc9XiYHRQ4/3c5rjjfgkjhLyW2luGIheGERbNQ6OY7yTybanSpDXZa8y7VUP9YmDcYa+eyq4ca7iLqWA== - -ecc-jsbn@~0.1.1: - version "0.1.2" - resolved "https://registry.yarnpkg.com/ecc-jsbn/-/ecc-jsbn-0.1.2.tgz#3a83a904e54353287874c564b7549386849a98c9" - integrity sha512-eh9O+hwRHNbG4BLTjEl3nw044CkGm5X6LoaCf7LPp7UU8Qrt47JYNi6nPX8xjW97TKGKm1ouctg0QSpZe9qrnw== - dependencies: - jsbn "~0.1.0" - safer-buffer "^2.1.0" - -electron-to-chromium@^1.4.601: - version "1.4.646" - resolved "https://registry.yarnpkg.com/electron-to-chromium/-/electron-to-chromium-1.4.646.tgz#2ed74709d854d5501b32936c9feaaee02c7a9ba5" - integrity sha512-vThkQ0JuF45qT/20KbRgM56lV7IuGt7SjhawQ719PDHzhP84KAO1WJoaxgCoAffKHK47FmVKP1Fqizx7CwK1SA== - -emittery@^0.13.1: - version "0.13.1" - resolved "https://registry.yarnpkg.com/emittery/-/emittery-0.13.1.tgz#c04b8c3457490e0847ae51fced3af52d338e3dad" - integrity sha512-DeWwawk6r5yR9jFgnDKYt4sLS0LmHJJi3ZOnb5/JdbYwj3nW+FxQnHIjhBKz8YLC7oRNPVM9NQ47I3CVx34eqQ== - -emoji-regex@^8.0.0: - version "8.0.0" - resolved "https://registry.yarnpkg.com/emoji-regex/-/emoji-regex-8.0.0.tgz#e818fd69ce5ccfcb404594f842963bf53164cc37" - integrity sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A== - -emoji-regex@^9.2.2: - version "9.2.2" - resolved "https://registry.yarnpkg.com/emoji-regex/-/emoji-regex-9.2.2.tgz#840c8803b0d8047f4ff0cf963176b32d4ef3ed72" - integrity sha512-L18DaJsXSUk2+42pv8mLs5jJT2hqFkFE4j21wOmgbUqsZ2hL72NsUU785g9RXgo3s0ZNgVl42TiHp3ZtOv/Vyg== - -emojis-list@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/emojis-list/-/emojis-list-3.0.0.tgz#5570662046ad29e2e916e71aae260abdff4f6a78" - integrity sha512-/kyM18EfinwXZbno9FyUGeFh87KC8HRQBQGildHZbEuRyWFOmv1U10o9BBp8XVZDVNNuQKyIGIu5ZYAAXJ0V2Q== - -end-of-stream@^1.1.0: - version "1.4.4" - resolved "https://registry.yarnpkg.com/end-of-stream/-/end-of-stream-1.4.4.tgz#5ae64a5f45057baf3626ec14da0ca5e4b2431eb0" - integrity sha512-+uw1inIHVPQoaVuHzRyXd21icM+cnt4CzD5rW+NC1wjOUSTOs+Te7FOv7AhN7vS9x/oIyhLP5PR1H+phQAHu5Q== - dependencies: - once "^1.4.0" - -enhanced-resolve@^4.0.0: - version "4.5.0" - resolved "https://registry.yarnpkg.com/enhanced-resolve/-/enhanced-resolve-4.5.0.tgz#2f3cfd84dbe3b487f18f2db2ef1e064a571ca5ec" - integrity sha512-Nv9m36S/vxpsI+Hc4/ZGRs0n9mXqSWGGq49zxb/cJfPAQMbUtttJAlNPS4AQzaBdw/pKskw5bMbekT/Y7W/Wlg== - dependencies: - graceful-fs "^4.1.2" - memory-fs "^0.5.0" - tapable "^1.0.0" - -enhanced-resolve@^5.15.0: - version "5.15.0" - resolved "https://registry.yarnpkg.com/enhanced-resolve/-/enhanced-resolve-5.15.0.tgz#1af946c7d93603eb88e9896cee4904dc012e9c35" - integrity sha512-LXYT42KJ7lpIKECr2mAXIaMldcNCh/7E0KBKOu4KSfkHmP+mZmSs+8V5gBAqisWBy0OO4W5Oyys0GO1Y8KtdKg== - dependencies: - graceful-fs "^4.2.4" - tapable "^2.2.0" - -enquirer@^2.3.6: - version "2.4.1" - resolved "https://registry.yarnpkg.com/enquirer/-/enquirer-2.4.1.tgz#93334b3fbd74fc7097b224ab4a8fb7e40bf4ae56" - integrity sha512-rRqJg/6gd538VHvR3PSrdRBb/1Vy2YfzHqzvbhGIQpDRKIa4FgV/54b5Q1xYSxOOwKvjXweS26E0Q+nAMwp2pQ== - dependencies: - ansi-colors "^4.1.1" - strip-ansi "^6.0.1" - -entities@^4.4.0: - version "4.5.0" - resolved "https://registry.yarnpkg.com/entities/-/entities-4.5.0.tgz#5d268ea5e7113ec74c4d033b79ea5a35a488fb48" - integrity sha512-V0hjH4dGPh9Ao5p0MoRY6BVqtwCjhz6vI5LT8AJ55H+4g9/4vbHx1I54fS0XuclLhDHArPQCiMjDxjaL8fPxhw== - -envinfo@^7.7.3: - version "7.11.0" - resolved "https://registry.yarnpkg.com/envinfo/-/envinfo-7.11.0.tgz#c3793f44284a55ff8c82faf1ffd91bc6478ea01f" - integrity sha512-G9/6xF1FPbIw0TtalAMaVPpiq2aDEuKLXM314jPVAO9r2fo2a4BLqMNkmRS7O/xPPZ+COAhGIz3ETvHEV3eUcg== - -errno@^0.1.3: - version "0.1.8" - resolved "https://registry.yarnpkg.com/errno/-/errno-0.1.8.tgz#8bb3e9c7d463be4976ff888f76b4809ebc2e811f" - integrity sha512-dJ6oBr5SQ1VSd9qkk7ByRgb/1SH4JZjCHSW/mr63/QcXO9zLVxvJ6Oy13nio03rxpSnVDDjFor75SjVeZWPW/A== - dependencies: - prr "~1.0.1" - -error-ex@^1.3.1: - version "1.3.2" - resolved "https://registry.yarnpkg.com/error-ex/-/error-ex-1.3.2.tgz#b4ac40648107fdcdcfae242f428bea8a14d4f1bf" - integrity sha512-7dFHNmqeFSEt2ZBsCriorKnn3Z2pj+fd9kmI6QoWw4//DL+icEBfc0U7qJCisqrTsKTjw4fNFy2pW9OqStD84g== - dependencies: - is-arrayish "^0.2.1" - -error-stack-parser@^2.0.6: - version "2.1.4" - resolved "https://registry.yarnpkg.com/error-stack-parser/-/error-stack-parser-2.1.4.tgz#229cb01cdbfa84440bfa91876285b94680188286" - integrity sha512-Sk5V6wVazPhq5MhpO+AUxJn5x7XSXGl1R93Vn7i+zS15KDVxQijejNCrz8340/2bgLBjR9GtEG8ZVKONDjcqGQ== - dependencies: - stackframe "^1.3.4" - -error@^7.0.0: - version "7.2.1" - resolved "https://registry.yarnpkg.com/error/-/error-7.2.1.tgz#eab21a4689b5f684fc83da84a0e390de82d94894" - integrity sha512-fo9HBvWnx3NGUKMvMwB/CBCMMrfEJgbDTVDEkPygA3Bdd3lM1OyCd+rbQ8BwnpF6GdVeOLDNmyL4N5Bg80ZvdA== - dependencies: - string-template "~0.2.1" - -es-abstract@^1.22.1: - version "1.22.3" - resolved "https://registry.yarnpkg.com/es-abstract/-/es-abstract-1.22.3.tgz#48e79f5573198de6dee3589195727f4f74bc4f32" - integrity sha512-eiiY8HQeYfYH2Con2berK+To6GrK2RxbPawDkGq4UiCQQfZHb6wX9qQqkbpPqaxQFcl8d9QzZqo0tGE0VcrdwA== - dependencies: - array-buffer-byte-length "^1.0.0" - arraybuffer.prototype.slice "^1.0.2" - available-typed-arrays "^1.0.5" - call-bind "^1.0.5" - es-set-tostringtag "^2.0.1" - es-to-primitive "^1.2.1" - function.prototype.name "^1.1.6" - get-intrinsic "^1.2.2" - get-symbol-description "^1.0.0" - globalthis "^1.0.3" - gopd "^1.0.1" - has-property-descriptors "^1.0.0" - has-proto "^1.0.1" - has-symbols "^1.0.3" - hasown "^2.0.0" - internal-slot "^1.0.5" - is-array-buffer "^3.0.2" - is-callable "^1.2.7" - is-negative-zero "^2.0.2" - is-regex "^1.1.4" - is-shared-array-buffer "^1.0.2" - is-string "^1.0.7" - is-typed-array "^1.1.12" - is-weakref "^1.0.2" - object-inspect "^1.13.1" - object-keys "^1.1.1" - object.assign "^4.1.4" - regexp.prototype.flags "^1.5.1" - safe-array-concat "^1.0.1" - safe-regex-test "^1.0.0" - string.prototype.trim "^1.2.8" - string.prototype.trimend "^1.0.7" - string.prototype.trimstart "^1.0.7" - typed-array-buffer "^1.0.0" - typed-array-byte-length "^1.0.0" - typed-array-byte-offset "^1.0.0" - typed-array-length "^1.0.4" - unbox-primitive "^1.0.2" - which-typed-array "^1.1.13" - -es-get-iterator@^1.1.3: - version "1.1.3" - resolved "https://registry.yarnpkg.com/es-get-iterator/-/es-get-iterator-1.1.3.tgz#3ef87523c5d464d41084b2c3c9c214f1199763d6" - integrity sha512-sPZmqHBe6JIiTfN5q2pEi//TwxmAFHwj/XEuYjTuse78i8KxaqMTTzxPoFKuzRpDpTJ+0NAbpfenkmH2rePtuw== - dependencies: - call-bind "^1.0.2" - get-intrinsic "^1.1.3" - has-symbols "^1.0.3" - is-arguments "^1.1.1" - is-map "^2.0.2" - is-set "^2.0.2" - is-string "^1.0.7" - isarray "^2.0.5" - stop-iteration-iterator "^1.0.0" - -es-module-lexer@^1.2.1: - version "1.4.1" - resolved "https://registry.yarnpkg.com/es-module-lexer/-/es-module-lexer-1.4.1.tgz#41ea21b43908fe6a287ffcbe4300f790555331f5" - integrity sha512-cXLGjP0c4T3flZJKQSuziYoq7MlT+rnvfZjfp7h+I7K9BNX54kP9nyWvdbwjQ4u1iWbOL4u96fgeZLToQlZC7w== - -es-set-tostringtag@^2.0.1: - version "2.0.2" - resolved "https://registry.yarnpkg.com/es-set-tostringtag/-/es-set-tostringtag-2.0.2.tgz#11f7cc9f63376930a5f20be4915834f4bc74f9c9" - integrity sha512-BuDyupZt65P9D2D2vA/zqcI3G5xRsklm5N3xCwuiy+/vKy8i0ifdsQP1sLgO4tZDSCaQUSnmC48khknGMV3D2Q== - dependencies: - get-intrinsic "^1.2.2" - has-tostringtag "^1.0.0" - hasown "^2.0.0" - -es-shim-unscopables@^1.0.0: - version "1.0.2" - resolved "https://registry.yarnpkg.com/es-shim-unscopables/-/es-shim-unscopables-1.0.2.tgz#1f6942e71ecc7835ed1c8a83006d8771a63a3763" - integrity sha512-J3yBRXCzDu4ULnQwxyToo/OjdMx6akgVC7K6few0a7F/0wLtmKKN7I73AH5T2836UuXRqN7Qg+IIUw/+YJksRw== - dependencies: - hasown "^2.0.0" - -es-to-primitive@^1.2.1: - version "1.2.1" - resolved "https://registry.yarnpkg.com/es-to-primitive/-/es-to-primitive-1.2.1.tgz#e55cd4c9cdc188bcefb03b366c736323fc5c898a" - integrity sha512-QCOllgZJtaUo9miYBcLChTUaHNjJF3PYs1VidD7AwiEj1kYxKeQTctLAezAOH5ZKRH0g2IgPn6KwB4IT8iRpvA== - dependencies: - is-callable "^1.1.4" - is-date-object "^1.0.1" - is-symbol "^1.0.2" - -escalade@^3.1.1: - version "3.1.1" - resolved "https://registry.yarnpkg.com/escalade/-/escalade-3.1.1.tgz#d8cfdc7000965c5a0174b4a82eaa5c0552742e40" - integrity sha512-k0er2gUkLf8O0zKJiAhmkTnJlTvINGv7ygDNPbeIsX/TJjGJZHuh9B2UxbsaEkmlEo9MfhrSzmhIlhRlI2GXnw== - -escape-string-regexp@4.0.0, escape-string-regexp@^4.0.0: - version "4.0.0" - resolved "https://registry.yarnpkg.com/escape-string-regexp/-/escape-string-regexp-4.0.0.tgz#14ba83a5d373e3d311e5afca29cf5bfad965bf34" - integrity sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA== - -escape-string-regexp@^1.0.5: - version "1.0.5" - resolved "https://registry.yarnpkg.com/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz#1b61c0562190a8dff6ae3bb2cf0200ca130b86d4" - integrity sha512-vbRorB5FUQWvla16U8R/qgaFIya2qGzwDrNmCZuYKrbdSUMG6I1ZCGQRefkRVhuOkIGVne7BQ35DSfo1qvJqFg== - -escape-string-regexp@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/escape-string-regexp/-/escape-string-regexp-2.0.0.tgz#a30304e99daa32e23b2fd20f51babd07cffca344" - integrity sha512-UpzcLCXolUWcNu5HtVMHYdXJjArjsF9C0aNnquZYY4uW/Vu0miy5YoWvbV345HauVvcAUnpRuhMMcqTcGOY2+w== - -escodegen@^2.0.0: - version "2.1.0" - resolved "https://registry.yarnpkg.com/escodegen/-/escodegen-2.1.0.tgz#ba93bbb7a43986d29d6041f99f5262da773e2e17" - integrity sha512-2NlIDTwUWJN0mRPQOdtQBzbUHvdGY2P1VXSyU83Q3xKxM7WHX2Ql8dKq782Q9TgQUNOLEzEYu9bzLNj1q88I5w== - dependencies: - esprima "^4.0.1" - estraverse "^5.2.0" - esutils "^2.0.2" - optionalDependencies: - source-map "~0.6.1" - -eslint-config-prettier@8.8.0: - version "8.8.0" - resolved "https://registry.yarnpkg.com/eslint-config-prettier/-/eslint-config-prettier-8.8.0.tgz#bfda738d412adc917fd7b038857110efe98c9348" - integrity sha512-wLbQiFre3tdGgpDv67NQKnJuTlcUVYHas3k+DZCc2U2BadthoEY4B7hLPvAxaqdyOGCzuLfii2fqGph10va7oA== - -eslint-import-resolver-node@^0.3.9: - version "0.3.9" - resolved "https://registry.yarnpkg.com/eslint-import-resolver-node/-/eslint-import-resolver-node-0.3.9.tgz#d4eaac52b8a2e7c3cd1903eb00f7e053356118ac" - integrity sha512-WFj2isz22JahUv+B788TlO3N6zL3nNJGU8CcZbPZvVEkBPaJdCV4vy5wyghty5ROFbCRnm132v8BScu5/1BQ8g== - dependencies: - debug "^3.2.7" - is-core-module "^2.13.0" - resolve "^1.22.4" - -eslint-module-utils@^2.8.0: - version "2.8.0" - resolved "https://registry.yarnpkg.com/eslint-module-utils/-/eslint-module-utils-2.8.0.tgz#e439fee65fc33f6bba630ff621efc38ec0375c49" - integrity sha512-aWajIYfsqCKRDgUfjEXNN/JlrzauMuSEy5sbd7WXbtW3EH6A6MpwEh42c7qD+MqQo9QMJ6fWLAeIJynx0g6OAw== - dependencies: - debug "^3.2.7" - -eslint-plugin-deprecation@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/eslint-plugin-deprecation/-/eslint-plugin-deprecation-2.0.0.tgz#9804707a4c19f3a53615c6babc0ced3d429d69cf" - integrity sha512-OAm9Ohzbj11/ZFyICyR5N6LbOIvQMp7ZU2zI7Ej0jIc8kiGUERXPNMfw2QqqHD1ZHtjMub3yPZILovYEYucgoQ== - dependencies: - "@typescript-eslint/utils" "^6.0.0" - tslib "^2.3.1" - tsutils "^3.21.0" - -eslint-plugin-import@^2.29.1: - version "2.29.1" - resolved "https://registry.yarnpkg.com/eslint-plugin-import/-/eslint-plugin-import-2.29.1.tgz#d45b37b5ef5901d639c15270d74d46d161150643" - integrity sha512-BbPC0cuExzhiMo4Ff1BTVwHpjjv28C5R+btTOGaCRC7UEz801up0JadwkeSk5Ued6TG34uaczuVuH6qyy5YUxw== - dependencies: - array-includes "^3.1.7" - array.prototype.findlastindex "^1.2.3" - array.prototype.flat "^1.3.2" - array.prototype.flatmap "^1.3.2" - debug "^3.2.7" - doctrine "^2.1.0" - eslint-import-resolver-node "^0.3.9" - eslint-module-utils "^2.8.0" - hasown "^2.0.0" - is-core-module "^2.13.1" - is-glob "^4.0.3" - minimatch "^3.1.2" - object.fromentries "^2.0.7" - object.groupby "^1.0.1" - object.values "^1.1.7" - semver "^6.3.1" - tsconfig-paths "^3.15.0" - -eslint-plugin-jsdoc@46.2.6: - version "46.2.6" - resolved "https://registry.yarnpkg.com/eslint-plugin-jsdoc/-/eslint-plugin-jsdoc-46.2.6.tgz#f25590d371859f20691d65b5dcd4cbe370d65564" - integrity sha512-zIaK3zbSrKuH12bP+SPybPgcHSM6MFzh3HFeaODzmsF1N8C1l8dzJ22cW1aq4g0+nayU1VMjmNf7hg0dpShLrA== - dependencies: - "@es-joy/jsdoccomment" "~0.39.4" - are-docs-informative "^0.0.2" - comment-parser "1.3.1" - debug "^4.3.4" - escape-string-regexp "^4.0.0" - esquery "^1.5.0" - is-builtin-module "^3.2.1" - semver "^7.5.1" - spdx-expression-parse "^3.0.1" - -eslint-plugin-prefer-arrow@^1.2.3: - version "1.2.3" - resolved "https://registry.yarnpkg.com/eslint-plugin-prefer-arrow/-/eslint-plugin-prefer-arrow-1.2.3.tgz#e7fbb3fa4cd84ff1015b9c51ad86550e55041041" - integrity sha512-J9I5PKCOJretVuiZRGvPQxCbllxGAV/viI20JO3LYblAodofBxyMnZAJ+WGeClHgANnSJberTNoFWWjrWKBuXQ== - -eslint-plugin-react-hooks@4.6.0: - version "4.6.0" - resolved "https://registry.yarnpkg.com/eslint-plugin-react-hooks/-/eslint-plugin-react-hooks-4.6.0.tgz#4c3e697ad95b77e93f8646aaa1630c1ba607edd3" - integrity sha512-oFc7Itz9Qxh2x4gNHStv3BqJq54ExXmfC+a1NjAta66IAN87Wu0R/QArgIS9qKzX3dXKPI9H5crl9QchNMY9+g== - -eslint-plugin-react@7.32.2: - version "7.32.2" - resolved "https://registry.yarnpkg.com/eslint-plugin-react/-/eslint-plugin-react-7.32.2.tgz#e71f21c7c265ebce01bcbc9d0955170c55571f10" - integrity sha512-t2fBMa+XzonrrNkyVirzKlvn5RXzzPwRHtMvLAtVZrt8oxgnTQaYbU6SXTOO1mwQgp1y5+toMSKInnzGr0Knqg== - dependencies: - array-includes "^3.1.6" - array.prototype.flatmap "^1.3.1" - array.prototype.tosorted "^1.1.1" - doctrine "^2.1.0" - estraverse "^5.3.0" - jsx-ast-utils "^2.4.1 || ^3.0.0" - minimatch "^3.1.2" - object.entries "^1.1.6" - object.fromentries "^2.0.6" - object.hasown "^1.1.2" - object.values "^1.1.6" - prop-types "^15.8.1" - resolve "^2.0.0-next.4" - semver "^6.3.0" - string.prototype.matchall "^4.0.8" - -eslint-scope@5.1.1, eslint-scope@^5.1.1: - version "5.1.1" - resolved "https://registry.yarnpkg.com/eslint-scope/-/eslint-scope-5.1.1.tgz#e786e59a66cb92b3f6c1fb0d508aab174848f48c" - integrity sha512-2NxwbF/hZ0KpepYN0cNbo+FN6XoK7GaHlQhgx/hIZl6Va0bF45RQOOwhLIy8lQDbuCiadSLCBnH2CFYquit5bw== - dependencies: - esrecurse "^4.3.0" - estraverse "^4.1.1" - -eslint-scope@^7.2.0: - version "7.2.2" - resolved "https://registry.yarnpkg.com/eslint-scope/-/eslint-scope-7.2.2.tgz#deb4f92563390f32006894af62a22dba1c46423f" - integrity sha512-dOt21O7lTMhDM+X9mB4GX+DZrZtCUJPL/wlcTqxyrx5IvO0IYtILdtrQGQp+8n5S0gwSVmOf9NQrjMOgfQZlIg== - dependencies: - esrecurse "^4.3.0" - estraverse "^5.2.0" - -eslint-visitor-keys@^3.3.0, eslint-visitor-keys@^3.4.1: - version "3.4.3" - resolved "https://registry.yarnpkg.com/eslint-visitor-keys/-/eslint-visitor-keys-3.4.3.tgz#0cd72fe8550e3c2eae156a96a4dddcd1c8ac5800" - integrity sha512-wpc+LXeiyiisxPlEkUzU6svyS1frIO3Mgxj1fdy7Pm8Ygzguax2N3Fa/D/ag1WqbOprdI+uY6wMUl8/a2G+iag== - -eslint-webpack-plugin@^4.0.1: - version "4.0.1" - resolved "https://registry.yarnpkg.com/eslint-webpack-plugin/-/eslint-webpack-plugin-4.0.1.tgz#f0f0e9afff2801d8bd41eac88e5409821ecbaccb" - integrity sha512-fUFcXpui/FftGx3NzvWgLZXlLbu+m74sUxGEgxgoxYcUtkIQbS6SdNNZkS99m5ycb23TfoNYrDpp1k/CK5j6Hw== - dependencies: - "@types/eslint" "^8.37.0" - jest-worker "^29.5.0" - micromatch "^4.0.5" - normalize-path "^3.0.0" - schema-utils "^4.0.0" - -eslint@8.42.0: - version "8.42.0" - resolved "https://registry.yarnpkg.com/eslint/-/eslint-8.42.0.tgz#7bebdc3a55f9ed7167251fe7259f75219cade291" - integrity sha512-ulg9Ms6E1WPf67PHaEY4/6E2tEn5/f7FXGzr3t9cBMugOmf1INYvuUwwh1aXQN4MfJ6a5K2iNwP3w4AColvI9A== - dependencies: - "@eslint-community/eslint-utils" "^4.2.0" - "@eslint-community/regexpp" "^4.4.0" - "@eslint/eslintrc" "^2.0.3" - "@eslint/js" "8.42.0" - "@humanwhocodes/config-array" "^0.11.10" - "@humanwhocodes/module-importer" "^1.0.1" - "@nodelib/fs.walk" "^1.2.8" - ajv "^6.10.0" - chalk "^4.0.0" - cross-spawn "^7.0.2" - debug "^4.3.2" - doctrine "^3.0.0" - escape-string-regexp "^4.0.0" - eslint-scope "^7.2.0" - eslint-visitor-keys "^3.4.1" - espree "^9.5.2" - esquery "^1.4.2" - esutils "^2.0.2" - fast-deep-equal "^3.1.3" - file-entry-cache "^6.0.1" - find-up "^5.0.0" - glob-parent "^6.0.2" - globals "^13.19.0" - graphemer "^1.4.0" - ignore "^5.2.0" - import-fresh "^3.0.0" - imurmurhash "^0.1.4" - is-glob "^4.0.0" - is-path-inside "^3.0.3" - js-yaml "^4.1.0" - json-stable-stringify-without-jsonify "^1.0.1" - levn "^0.4.1" - lodash.merge "^4.6.2" - minimatch "^3.1.2" - natural-compare "^1.4.0" - optionator "^0.9.1" - strip-ansi "^6.0.1" - strip-json-comments "^3.1.0" - text-table "^0.2.0" - -espree@^9.5.2, espree@^9.6.0: - version "9.6.1" - resolved "https://registry.yarnpkg.com/espree/-/espree-9.6.1.tgz#a2a17b8e434690a5432f2f8018ce71d331a48c6f" - integrity sha512-oruZaFkjorTpF32kDSI5/75ViwGeZginGGy2NoOSg3Q9bnwlnmDm4HLnkl0RE3n+njDXR037aY1+x58Z/zFdwQ== - dependencies: - acorn "^8.9.0" - acorn-jsx "^5.3.2" - eslint-visitor-keys "^3.4.1" - -esprima@^4.0.0, esprima@^4.0.1: - version "4.0.1" - resolved "https://registry.yarnpkg.com/esprima/-/esprima-4.0.1.tgz#13b04cdb3e6c5d19df91ab6987a8695619b0aa71" - integrity sha512-eGuFFw7Upda+g4p+QHvnW0RyTX/SVeJBDM/gCtMARO0cLuT2HcEKnTPvhjV6aGeqrCB/sbNop0Kszm0jsaWU4A== - -esquery@^1.4.2, esquery@^1.5.0: - version "1.5.0" - resolved "https://registry.yarnpkg.com/esquery/-/esquery-1.5.0.tgz#6ce17738de8577694edd7361c57182ac8cb0db0b" - integrity sha512-YQLXUplAwJgCydQ78IMJywZCceoqk1oH01OERdSAJc/7U2AylwjhSCLDEtqwg811idIS/9fIU5GjG73IgjKMVg== - dependencies: - estraverse "^5.1.0" - -esrecurse@^4.3.0: - version "4.3.0" - resolved "https://registry.yarnpkg.com/esrecurse/-/esrecurse-4.3.0.tgz#7ad7964d679abb28bee72cec63758b1c5d2c9921" - integrity sha512-KmfKL3b6G+RXvP8N1vr3Tq1kL/oCFgn2NYXEtqP8/L3pKapUA4G8cFVaoF3SU323CD4XypR/ffioHmkti6/Tag== - dependencies: - estraverse "^5.2.0" - -esrever@^0.2.0: - version "0.2.0" - resolved "https://registry.yarnpkg.com/esrever/-/esrever-0.2.0.tgz#96e9d28f4f1b1a76784cd5d490eaae010e7407b8" - integrity sha512-1e9YJt6yQkyekt2BUjTky7LZWWVyC2cIpgdnsTAvMcnzXIZvlW/fTMPkxBcZoYhgih4d+EC+iw+yv9GIkz7vrw== - -estraverse@^4.1.1: - version "4.3.0" - resolved "https://registry.yarnpkg.com/estraverse/-/estraverse-4.3.0.tgz#398ad3f3c5a24948be7725e83d11a7de28cdbd1d" - integrity sha512-39nnKffWz8xN1BU/2c79n9nB9HDzo0niYUqx6xyqUnyoAnQyyWpOTdZEeiCch8BBu515t4wp9ZmgVfVhn9EBpw== - -estraverse@^5.1.0, estraverse@^5.2.0, estraverse@^5.3.0: - version "5.3.0" - resolved "https://registry.yarnpkg.com/estraverse/-/estraverse-5.3.0.tgz#2eea5290702f26ab8fe5370370ff86c965d21123" - integrity sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA== - -esutils@^2.0.2: - version "2.0.3" - resolved "https://registry.yarnpkg.com/esutils/-/esutils-2.0.3.tgz#74d2eb4de0b8da1293711910d50775b9b710ef64" - integrity sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g== - -eventemitter2@^6.4.3: - version "6.4.9" - resolved "https://registry.yarnpkg.com/eventemitter2/-/eventemitter2-6.4.9.tgz#41f2750781b4230ed58827bc119d293471ecb125" - integrity sha512-JEPTiaOt9f04oa6NOkc4aH+nVp5I3wEjpHbIPqfgCdD5v5bUzy7xQqwcVO2aDQgOWhI28da57HksMrzK9HlRxg== - -eventemitter3@5.0.0: - version "5.0.0" - resolved "https://registry.yarnpkg.com/eventemitter3/-/eventemitter3-5.0.0.tgz#084eb7f5b5388df1451e63f4c2aafd71b217ccb3" - integrity sha512-riuVbElZZNXLeLEoprfNYoDSwTBRR44X3mnhdI1YcnENpWTCsTTVZ2zFuqQcpoyqPQIUXdiPEU0ECAq0KQRaHg== - -events@^3.2.0: - version "3.3.0" - resolved "https://registry.yarnpkg.com/events/-/events-3.3.0.tgz#31a95ad0a924e2d2c419a813aeb2c4e878ea7400" - integrity sha512-mQw+2fkQbALzQ7V0MY0IqdnXNOeTtP4r0lN9z7AAawCXgqea7bDii20AYrIBrFd/Hx0M2Ocz6S111CaFkUcb0Q== - -execa@4.1.0: - version "4.1.0" - resolved "https://registry.yarnpkg.com/execa/-/execa-4.1.0.tgz#4e5491ad1572f2f17a77d388c6c857135b22847a" - integrity sha512-j5W0//W7f8UxAn8hXVnwG8tLwdiUy4FJLcSupCg6maBYZDpyBvTApK7KyuI4bKj8KOh1r2YH+6ucuYtJv1bTZA== - dependencies: - cross-spawn "^7.0.0" - get-stream "^5.0.0" - human-signals "^1.1.1" - is-stream "^2.0.0" - merge-stream "^2.0.0" - npm-run-path "^4.0.0" - onetime "^5.1.0" - signal-exit "^3.0.2" - strip-final-newline "^2.0.0" - -execa@5.1.1, execa@^5.0.0: - version "5.1.1" - resolved "https://registry.yarnpkg.com/execa/-/execa-5.1.1.tgz#f80ad9cbf4298f7bd1d4c9555c21e93741c411dd" - integrity sha512-8uSpZZocAZRBAPIEINJj3Lo9HyGitllczc27Eh5YYojjMFMn8yHMDMaUHE2Jqfq05D/wucwI4JGURyXt1vchyg== - dependencies: - cross-spawn "^7.0.3" - get-stream "^6.0.0" - human-signals "^2.1.0" - is-stream "^2.0.0" - merge-stream "^2.0.0" - npm-run-path "^4.0.1" - onetime "^5.1.2" - signal-exit "^3.0.3" - strip-final-newline "^2.0.0" - -executable@^4.1.1: - version "4.1.1" - resolved "https://registry.yarnpkg.com/executable/-/executable-4.1.1.tgz#41532bff361d3e57af4d763b70582db18f5d133c" - integrity sha512-8iA79xD3uAch729dUG8xaaBBFGaEa0wdD2VkYLFHwlqosEj/jT66AzcreRDSgV7ehnNLBW2WR5jIXwGKjVdTLg== - dependencies: - pify "^2.2.0" - -exenv@^1.2.2: - version "1.2.2" - resolved "https://registry.yarnpkg.com/exenv/-/exenv-1.2.2.tgz#2ae78e85d9894158670b03d47bec1f03bd91bb9d" - integrity sha512-Z+ktTxTwv9ILfgKCk32OX3n/doe+OcLTRtqK9pcL+JsP3J1/VW8Uvl4ZjLlKqeW4rzK4oesDOGMEMRIZqtP4Iw== - -exit@^0.1.2: - version "0.1.2" - resolved "https://registry.yarnpkg.com/exit/-/exit-0.1.2.tgz#0632638f8d877cc82107d30a0fff1a17cba1cd0c" - integrity sha512-Zk/eNKV2zbjpKzrsQ+n1G6poVbErQxJ0LBOJXaKZ1EViLzH+hrLu9cdXI4zw9dBQJslwBEpbQ2P1oS7nDxs6jQ== - -expect@^29.0.0, expect@^29.7.0: - version "29.7.0" - resolved "https://registry.yarnpkg.com/expect/-/expect-29.7.0.tgz#578874590dcb3214514084c08115d8aee61e11bc" - integrity sha512-2Zks0hf1VLFYI1kbh0I5jP3KHHyCHpkfyHBzsSXRFgl/Bg9mWYfMW8oD+PdMPlEwy5HNsR9JutYy6pMeOh61nw== - dependencies: - "@jest/expect-utils" "^29.7.0" - jest-get-type "^29.6.3" - jest-matcher-utils "^29.7.0" - jest-message-util "^29.7.0" - jest-util "^29.7.0" - -extend@~3.0.2: - version "3.0.2" - resolved "https://registry.yarnpkg.com/extend/-/extend-3.0.2.tgz#f8b1136b4071fbd8eb140aff858b1019ec2915fa" - integrity sha512-fjquC59cD7CyW6urNXK0FBufkZcoiGG80wTuPujX590cB5Ttln20E2UB4S/WARVqhXffZl2LNgS+gQdPIIim/g== - -extract-zip@2.0.1: - version "2.0.1" - resolved "https://registry.yarnpkg.com/extract-zip/-/extract-zip-2.0.1.tgz#663dca56fe46df890d5f131ef4a06d22bb8ba13a" - integrity sha512-GDhU9ntwuKyGXdZBUgTIe+vXnWj0fppUEtMDL0+idd5Sta8TGpHssn/eusA9mrPr9qNDym6SxAYZjNvCn/9RBg== - dependencies: - debug "^4.1.1" - get-stream "^5.1.0" - yauzl "^2.10.0" - optionalDependencies: - "@types/yauzl" "^2.9.1" - -extsprintf@1.3.0: - version "1.3.0" - resolved "https://registry.yarnpkg.com/extsprintf/-/extsprintf-1.3.0.tgz#96918440e3041a7a414f8c52e3c574eb3c3e1e05" - integrity sha512-11Ndz7Nv+mvAC1j0ktTa7fAb0vLyGGX+rMHNBYQviQDGU0Hw7lhctJANqbPhu9nV9/izT/IntTgZ7Im/9LJs9g== - -extsprintf@^1.2.0: - version "1.4.1" - resolved "https://registry.yarnpkg.com/extsprintf/-/extsprintf-1.4.1.tgz#8d172c064867f235c0c84a596806d279bf4bcc07" - integrity sha512-Wrk35e8ydCKDj/ArClo1VrPVmN8zph5V4AtHwIuHhvMXsKf73UT3BOD+azBIW+3wOJ4FhEH7zyaJCFvChjYvMA== - -fast-deep-equal@^3.1.1, fast-deep-equal@^3.1.3: - version "3.1.3" - resolved "https://registry.yarnpkg.com/fast-deep-equal/-/fast-deep-equal-3.1.3.tgz#3a7d56b559d6cbc3eb512325244e619a65c6c525" - integrity sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q== - -fast-glob@^3.2.11, fast-glob@^3.2.9, fast-glob@^3.3.0, fast-glob@^3.3.2: - version "3.3.2" - resolved "https://registry.yarnpkg.com/fast-glob/-/fast-glob-3.3.2.tgz#a904501e57cfdd2ffcded45e99a54fef55e46129" - integrity sha512-oX2ruAFQwf/Orj8m737Y5adxDQO0LAB7/S5MnxCdTNDd4p6BsyIVsv9JQsATbTSq8KHRpLwIHbVlUNatxd+1Ow== - dependencies: - "@nodelib/fs.stat" "^2.0.2" - "@nodelib/fs.walk" "^1.2.3" - glob-parent "^5.1.2" - merge2 "^1.3.0" - micromatch "^4.0.4" - -fast-json-stable-stringify@^2.0.0, fast-json-stable-stringify@^2.1.0: - version "2.1.0" - resolved "https://registry.yarnpkg.com/fast-json-stable-stringify/-/fast-json-stable-stringify-2.1.0.tgz#874bf69c6f404c2b5d99c481341399fd55892633" - integrity sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw== - -fast-levenshtein@^2.0.6: - version "2.0.6" - resolved "https://registry.yarnpkg.com/fast-levenshtein/-/fast-levenshtein-2.0.6.tgz#3d8a5c66883a16a30ca8643e851f19baa7797917" - integrity sha512-DCXu6Ifhqcks7TZKY3Hxp3y6qphY5SJZmrWMDrKcERSOXWQdMhU9Ig/PYrzyw/ul9jOIyh0N4M0tbC5hodg8dw== - -fast-loops@^1.1.3: - version "1.1.3" - resolved "https://registry.yarnpkg.com/fast-loops/-/fast-loops-1.1.3.tgz#ce96adb86d07e7bf9b4822ab9c6fac9964981f75" - integrity sha512-8EZzEP0eKkEEVX+drtd9mtuQ+/QrlfW/5MlwcwK5Nds6EkZ/tRzEexkzUY2mIssnAyVLT+TKHuRXmFNNXYUd6g== - -fast-shallow-equal@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/fast-shallow-equal/-/fast-shallow-equal-1.0.0.tgz#d4dcaf6472440dcefa6f88b98e3251e27f25628b" - integrity sha512-HPtaa38cPgWvaCFmRNhlc6NG7pv6NUHqjPgVAkWGoB9mQMwYB27/K0CvOM5Czy+qpT3e8XJ6Q4aPAnzpNpzNaw== - -fast_array_intersect@1.1.0: - version "1.1.0" - resolved "https://registry.yarnpkg.com/fast_array_intersect/-/fast_array_intersect-1.1.0.tgz#8e8a83d95c515fd55bfb2b02da94da3d7f1c2b8b" - integrity sha512-/DCilZlUdz2XyNDF+ASs0PwY+RKG9Y4Silp/gbS72Cvbg4oibc778xcecg+pnNyiNHYgh/TApsiDTjpdniyShw== - -fastest-levenshtein@^1.0.12: - version "1.0.16" - resolved "https://registry.yarnpkg.com/fastest-levenshtein/-/fastest-levenshtein-1.0.16.tgz#210e61b6ff181de91ea9b3d1b84fdedd47e034e5" - integrity sha512-eRnCtTTtGZFpQCwhJiUOuxPQWRXVKYDn0b2PeHfXL6/Zi53SLAzAHfVhVWK2AryC/WH05kGfxhFIPvTF0SXQzg== - -fastest-stable-stringify@^2.0.2: - version "2.0.2" - resolved "https://registry.yarnpkg.com/fastest-stable-stringify/-/fastest-stable-stringify-2.0.2.tgz#3757a6774f6ec8de40c4e86ec28ea02417214c76" - integrity sha512-bijHueCGd0LqqNK9b5oCMHc0MluJAx0cwqASgbWMvkO01lCYgIhacVRLcaDz3QnyYIRNJRDwMb41VuT6pHJ91Q== - -fastq@^1.6.0: - version "1.16.0" - resolved "https://registry.yarnpkg.com/fastq/-/fastq-1.16.0.tgz#83b9a9375692db77a822df081edb6a9cf6839320" - integrity sha512-ifCoaXsDrsdkWTtiNJX5uzHDsrck5TzfKKDcuFFTIrrc/BS076qgEIfoIy1VeZqViznfKiysPYTh/QeHtnIsYA== - dependencies: - reusify "^1.0.4" - -faye-websocket@~0.10.0: - version "0.10.0" - resolved "https://registry.yarnpkg.com/faye-websocket/-/faye-websocket-0.10.0.tgz#4e492f8d04dfb6f89003507f6edbf2d501e7c6f4" - integrity sha512-Xhj93RXbMSq8urNCUq4p9l0P6hnySJ/7YNRhYNug0bLOuii7pKO7xQFb5mx9xZXWCar88pLPb805PvUkwrLZpQ== - dependencies: - websocket-driver ">=0.5.1" - -fb-watchman@^2.0.0: - version "2.0.2" - resolved "https://registry.yarnpkg.com/fb-watchman/-/fb-watchman-2.0.2.tgz#e9524ee6b5c77e9e5001af0f85f3adbb8623255c" - integrity sha512-p5161BqbuCaSnB8jIbzQHOlpgsPmK5rJVDfDKO91Axs5NC1uu3HRQm6wt9cd9/+GtQQIO53JdGXXoyDpTAsgYA== - dependencies: - bser "2.1.1" - -fd-slicer@~1.1.0: - version "1.1.0" - resolved "https://registry.yarnpkg.com/fd-slicer/-/fd-slicer-1.1.0.tgz#25c7c89cb1f9077f8891bbe61d8f390eae256f1e" - integrity sha512-cE1qsB/VwyQozZ+q1dGxR8LBYNZeofhEdUNGSMbQD3Gw2lAzX9Zb3uIU6Ebc/Fmyjo9AWWfnn0AUCHqtevs/8g== - dependencies: - pend "~1.2.0" - -figures@^3.2.0: - version "3.2.0" - resolved "https://registry.yarnpkg.com/figures/-/figures-3.2.0.tgz#625c18bd293c604dc4a8ddb2febf0c88341746af" - integrity sha512-yaduQFRKLXYOGgEn6AZau90j3ggSOyiqXU0F9JZfeXYhNa+Jk4X+s45A2zg5jns87GAFa34BBm2kXw4XpNcbdg== - dependencies: - escape-string-regexp "^1.0.5" - -file-entry-cache@^6.0.1: - version "6.0.1" - resolved "https://registry.yarnpkg.com/file-entry-cache/-/file-entry-cache-6.0.1.tgz#211b2dd9659cb0394b073e7323ac3c933d522027" - integrity sha512-7Gps/XWymbLk2QLYK4NzpMOrYjMhdIxXuIvy2QBsLE6ljuodKvdkWs/cpyJJ3CVIVpH0Oi1Hvg1ovbMzLdFBBg== - dependencies: - flat-cache "^3.0.4" - -file-selector@^0.6.0: - version "0.6.0" - resolved "https://registry.yarnpkg.com/file-selector/-/file-selector-0.6.0.tgz#fa0a8d9007b829504db4d07dd4de0310b65287dc" - integrity sha512-QlZ5yJC0VxHxQQsQhXvBaC7VRJ2uaxTf+Tfpu4Z/OcVQJVpZO+DGU0rkoVW5ce2SccxugvpBJoMvUs59iILYdw== - dependencies: - tslib "^2.4.0" - -fill-range@^7.0.1: - version "7.0.1" - resolved "https://registry.yarnpkg.com/fill-range/-/fill-range-7.0.1.tgz#1919a6a7c75fe38b2c7c77e5198535da9acdda40" - integrity sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ== - dependencies: - to-regex-range "^5.0.1" - -find-cache-dir@^3.3.2: - version "3.3.2" - resolved "https://registry.yarnpkg.com/find-cache-dir/-/find-cache-dir-3.3.2.tgz#b30c5b6eff0730731aea9bbd9dbecbd80256d64b" - integrity sha512-wXZV5emFEjrridIgED11OoUKLxiYjAcqot/NJdAkOhlJ+vGzwhOAfcG5OX1jP+S0PcjEn8bdMJv+g2jwQ3Onig== - dependencies: - commondir "^1.0.1" - make-dir "^3.0.2" - pkg-dir "^4.1.0" - -find-parent-dir@~0.3.0: - version "0.3.1" - resolved "https://registry.yarnpkg.com/find-parent-dir/-/find-parent-dir-0.3.1.tgz#c5c385b96858c3351f95d446cab866cbf9f11125" - integrity sha512-o4UcykWV/XN9wm+jMEtWLPlV8RXCZnMhQI6F6OdHeSez7iiJWePw8ijOlskJZMsaQoGR/b7dH6lO02HhaTN7+A== - -find-root@^1.1.0: - version "1.1.0" - resolved "https://registry.yarnpkg.com/find-root/-/find-root-1.1.0.tgz#abcfc8ba76f708c42a97b3d685b7e9450bfb9ce4" - integrity sha512-NKfW6bec6GfKc0SGx1e07QZY9PE99u0Bft/0rzSD5k3sO/vwkVUpDUKVm5Gpp5Ue3YfShPFTX2070tDs5kB9Ng== - -find-up@5.0.0, find-up@^5.0.0: - version "5.0.0" - resolved "https://registry.yarnpkg.com/find-up/-/find-up-5.0.0.tgz#4c92819ecb7083561e4f4a240a86be5198f536fc" - integrity sha512-78/PXT1wlLLDgTzDs7sjq9hzz0vXD+zn+7wypEe4fXQxCmdmqfGsEPQxmiCSQI3ajFV91bVSsvNtrJRiW6nGng== - dependencies: - locate-path "^6.0.0" - path-exists "^4.0.0" - -find-up@^4.0.0, find-up@^4.1.0: - version "4.1.0" - resolved "https://registry.yarnpkg.com/find-up/-/find-up-4.1.0.tgz#97afe7d6cdc0bc5928584b7c8d7b16e8a9aa5d19" - integrity sha512-PpOwAdQ/YlXQ2vj8a3h8IipDuYRi3wceVQQGYWxNINccq40Anw7BlsEXCMbt1Zt+OLA6Fq9suIpIWD0OsnISlw== - dependencies: - locate-path "^5.0.0" - path-exists "^4.0.0" - -flat-cache@^3.0.4: - version "3.2.0" - resolved "https://registry.yarnpkg.com/flat-cache/-/flat-cache-3.2.0.tgz#2c0c2d5040c99b1632771a9d105725c0115363ee" - integrity sha512-CYcENa+FtcUKLmhhqyctpclsq7QF38pKjZHsGNiSQF5r4FtoKDWabFDl3hzaEQMvT1LHEysw5twgLvpYYb4vbw== - dependencies: - flatted "^3.2.9" - keyv "^4.5.3" - rimraf "^3.0.2" - -flat@^5.0.2: - version "5.0.2" - resolved "https://registry.yarnpkg.com/flat/-/flat-5.0.2.tgz#8ca6fe332069ffa9d324c327198c598259ceb241" - integrity sha512-b6suED+5/3rTpUBdG1gupIl8MPFCAMA0QXwmljLhvCUKcUvdE4gWky9zpuGCcXHOsz4J9wPGNWq6OKpmIzz3hQ== - -flatted@^3.2.9: - version "3.2.9" - resolved "https://registry.yarnpkg.com/flatted/-/flatted-3.2.9.tgz#7eb4c67ca1ba34232ca9d2d93e9886e611ad7daf" - integrity sha512-36yxDn5H7OFZQla0/jFJmbIKTdZAQHngCedGxiMmpNfEZM0sdEeT+WczLQrjK6D7o2aiyLYDnkw0R3JK0Qv1RQ== - -for-each@^0.3.3: - version "0.3.3" - resolved "https://registry.yarnpkg.com/for-each/-/for-each-0.3.3.tgz#69b447e88a0a5d32c3e7084f3f1710034b21376e" - integrity sha512-jqYfLp7mo9vIyQf8ykW2v7A+2N4QjeCeI5+Dz9XraiO1ign81wjiH7Fb9vSOWvQfNtmSa4H2RoQTrrXivdUZmw== - dependencies: - is-callable "^1.1.3" - -foreground-child@^3.1.0: - version "3.1.1" - resolved "https://registry.yarnpkg.com/foreground-child/-/foreground-child-3.1.1.tgz#1d173e776d75d2772fed08efe4a0de1ea1b12d0d" - integrity sha512-TMKDUnIte6bfb5nWv7V/caI169OHgvwjb7V4WkeUvbQQdjr5rWKqHFiKWb/fcOwB+CzBT+qbWjvj+DVwRskpIg== - dependencies: - cross-spawn "^7.0.0" - signal-exit "^4.0.1" - -forever-agent@~0.6.1: - version "0.6.1" - resolved "https://registry.yarnpkg.com/forever-agent/-/forever-agent-0.6.1.tgz#fbc71f0c41adeb37f96c577ad1ed42d8fdacca91" - integrity sha512-j0KLYPhm6zeac4lz3oJ3o65qvgQCcPubiyotZrXqEaG4hNagNYO8qdlUrX5vwqv9ohqeT/Z3j6+yW067yWWdUw== - -fork-ts-checker-webpack-plugin@^8.0.0: - version "8.0.0" - resolved "https://registry.yarnpkg.com/fork-ts-checker-webpack-plugin/-/fork-ts-checker-webpack-plugin-8.0.0.tgz#dae45dfe7298aa5d553e2580096ced79b6179504" - integrity sha512-mX3qW3idpueT2klaQXBzrIM/pHw+T0B/V9KHEvNrqijTq9NFnMZU6oreVxDYcf33P8a5cW+67PjodNHthGnNVg== - dependencies: - "@babel/code-frame" "^7.16.7" - chalk "^4.1.2" - chokidar "^3.5.3" - cosmiconfig "^7.0.1" - deepmerge "^4.2.2" - fs-extra "^10.0.0" - memfs "^3.4.1" - minimatch "^3.0.4" - node-abort-controller "^3.0.1" - schema-utils "^3.1.1" - semver "^7.3.5" - tapable "^2.2.1" - -form-data@^4.0.0: - version "4.0.0" - resolved "https://registry.yarnpkg.com/form-data/-/form-data-4.0.0.tgz#93919daeaf361ee529584b9b31664dc12c9fa452" - integrity sha512-ETEklSGi5t0QMZuiXoA/Q6vcnxcLQP5vdugSpuAyi6SVGi2clPPp+xgEhuMaHC+zGgn31Kd235W35f7Hykkaww== - dependencies: - asynckit "^0.4.0" - combined-stream "^1.0.8" - mime-types "^2.1.12" - -form-data@~2.3.2: - version "2.3.3" - resolved "https://registry.yarnpkg.com/form-data/-/form-data-2.3.3.tgz#dcce52c05f644f298c6a7ab936bd724ceffbf3a6" - integrity sha512-1lLKB2Mu3aGP1Q/2eCOx0fNbRMe7XdwktwOruhfqqd0rIJWwN4Dh+E3hrPSlDCXnSR7UtZ1N38rVXm+6+MEhJQ== - dependencies: - asynckit "^0.4.0" - combined-stream "^1.0.6" - mime-types "^2.1.12" - -fs-extra@^10.0.0: - version "10.1.0" - resolved "https://registry.yarnpkg.com/fs-extra/-/fs-extra-10.1.0.tgz#02873cfbc4084dde127eaa5f9905eef2325d1abf" - integrity sha512-oRXApq54ETRj4eMiFzGnHWGy+zo5raudjuxN0b8H7s/RU2oW0Wvsx9O0ACRN/kRq9E8Vu/ReskGB5o3ji+FzHQ== - dependencies: - graceful-fs "^4.2.0" - jsonfile "^6.0.1" - universalify "^2.0.0" - -fs-extra@^9.1.0: - version "9.1.0" - resolved "https://registry.yarnpkg.com/fs-extra/-/fs-extra-9.1.0.tgz#5954460c764a8da2094ba3554bf839e6b9a7c86d" - integrity sha512-hcg3ZmepS30/7BSFqRvoo3DOMQu7IjqxO5nCDt+zM9XWjb33Wg7ziNT+Qvqbuc3+gWpzO02JubVyk2G4Zvo1OQ== - dependencies: - at-least-node "^1.0.0" - graceful-fs "^4.2.0" - jsonfile "^6.0.1" - universalify "^2.0.0" - -fs-monkey@^1.0.4: - version "1.0.5" - resolved "https://registry.yarnpkg.com/fs-monkey/-/fs-monkey-1.0.5.tgz#fe450175f0db0d7ea758102e1d84096acb925788" - integrity sha512-8uMbBjrhzW76TYgEV27Y5E//W2f/lTFmx78P2w19FZSxarhI/798APGQyuGCwmkNxgwGRhrLfvWyLBvNtuOmew== - -fs.realpath@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/fs.realpath/-/fs.realpath-1.0.0.tgz#1504ad2523158caa40db4a2787cb01411994ea4f" - integrity sha512-OO0pH2lK6a0hZnAdau5ItzHPI6pUlvI7jMVnxUQRtw4owF2wk8lOSabtGDCTP4Ggrg2MbGnWO9X8K1t4+fGMDw== - -fsevents@^2.3.2, fsevents@~2.3.2: - version "2.3.3" - resolved "https://registry.yarnpkg.com/fsevents/-/fsevents-2.3.3.tgz#cac6407785d03675a2a5e1a5305c697b347d90d6" - integrity sha512-5xoDfX+fL7faATnagmWPpbFtwh/R77WmMMqqHGS65C3vvB0YHrgF+B1YmZ3441tMj5n63k0212XNoJwzlhffQw== - -function-bind@^1.1.2: - version "1.1.2" - resolved "https://registry.yarnpkg.com/function-bind/-/function-bind-1.1.2.tgz#2c02d864d97f3ea6c8830c464cbd11ab6eab7a1c" - integrity sha512-7XHNxH7qX9xG5mIwxkhumTox/MIRNcOgDrxWsMt2pAr23WHp6MrRlN7FBSFpCpr+oVO0F744iUgR82nJMfG2SA== - -function.prototype.name@^1.1.6: - version "1.1.6" - resolved "https://registry.yarnpkg.com/function.prototype.name/-/function.prototype.name-1.1.6.tgz#cdf315b7d90ee77a4c6ee216c3c3362da07533fd" - integrity sha512-Z5kx79swU5P27WEayXM1tBi5Ze/lbIyiNgU3qyXUOf9b2rgXYyF9Dy9Cx+IQv/Lc8WCG6L82zwUPpSS9hGehIg== - dependencies: - call-bind "^1.0.2" - define-properties "^1.2.0" - es-abstract "^1.22.1" - functions-have-names "^1.2.3" - -functions-have-names@^1.2.3: - version "1.2.3" - resolved "https://registry.yarnpkg.com/functions-have-names/-/functions-have-names-1.2.3.tgz#0404fe4ee2ba2f607f0e0ec3c80bae994133b834" - integrity sha512-xckBUXyTIqT97tq2x2AMb+g163b5JFysYk0x4qxNFwbfQkmNZoiRHb6sPzI9/QV33WeuvVYBUIiD4NzNIyqaRQ== - -gensync@^1.0.0-beta.2: - version "1.0.0-beta.2" - resolved "https://registry.yarnpkg.com/gensync/-/gensync-1.0.0-beta.2.tgz#32a6ee76c3d7f52d46b2b1ae5d93fea8580a25e0" - integrity sha512-3hN7NaskYvMDLQY55gnW3NQ+mesEAepTqlg+VEbj7zzqEMBVNhzcGYYeqFo/TlYz6eQiFcp1HcsCZO+nGgS8zg== - -geotiff@^2.0.7: - version "2.1.2" - resolved "https://registry.yarnpkg.com/geotiff/-/geotiff-2.1.2.tgz#5d58555512a7950ae9a8496562c67c285e301318" - integrity sha512-xw7Cd6HXukUdfFSe5QCSjdhebTCGkk87x7fKURqQPFKT+TijCCwKvoksL7T3+B6mJWZSB7muTJlwVIQsLtbkMA== - dependencies: - "@petamoriken/float16" "^3.4.7" - lerc "^3.0.0" - pako "^2.0.4" - parse-headers "^2.0.2" - quick-lru "^6.1.1" - web-worker "^1.2.0" - xml-utils "^1.0.2" - zstddec "^0.1.0" - -get-caller-file@^2.0.5: - version "2.0.5" - resolved "https://registry.yarnpkg.com/get-caller-file/-/get-caller-file-2.0.5.tgz#4f94412a82db32f36e3b0b9741f8a97feb031f7e" - integrity sha512-DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg== - -get-document@1: - version "1.0.0" - resolved "https://registry.yarnpkg.com/get-document/-/get-document-1.0.0.tgz#4821bce66f1c24cb0331602be6cb6b12c4f01c4b" - integrity sha512-8E7H2Xxibav+/rQTTtm6gFlSQwDoAQg667yheA+vWQr/amxEuswChzGo4MIbOJJoR0SMpDyhbUqWp3FpIfwD9A== - -get-intrinsic@^1.0.2, get-intrinsic@^1.1.1, get-intrinsic@^1.1.3, get-intrinsic@^1.2.0, get-intrinsic@^1.2.1, get-intrinsic@^1.2.2: - version "1.2.2" - resolved "https://registry.yarnpkg.com/get-intrinsic/-/get-intrinsic-1.2.2.tgz#281b7622971123e1ef4b3c90fd7539306da93f3b" - integrity sha512-0gSo4ml/0j98Y3lngkFEot/zhiCeWsbYIlZ+uZOVgzLyLaUw7wxUL+nCTP0XJvJg1AXulJRI3UJi8GsbDuxdGA== - dependencies: - function-bind "^1.1.2" - has-proto "^1.0.1" - has-symbols "^1.0.3" - hasown "^2.0.0" - -get-package-type@^0.1.0: - version "0.1.0" - resolved "https://registry.yarnpkg.com/get-package-type/-/get-package-type-0.1.0.tgz#8de2d803cff44df3bc6c456e6668b36c3926e11a" - integrity sha512-pjzuKtY64GYfWizNAJ0fr9VqttZkNiK2iS430LtIHzjBEr6bX8Am2zm4sW4Ro5wjWW5cAlRL1qAMTcXbjNAO2Q== - -get-stream@^5.0.0, get-stream@^5.1.0: - version "5.2.0" - resolved "https://registry.yarnpkg.com/get-stream/-/get-stream-5.2.0.tgz#4966a1795ee5ace65e706c4b7beb71257d6e22d3" - integrity sha512-nBF+F1rAZVCu/p7rjzgA+Yb4lfYXrpl7a6VmJrU8wF9I1CKvP/QwPNZHnOlwbTkY6dvtFIzFMSyQXbLoTQPRpA== - dependencies: - pump "^3.0.0" - -get-stream@^6.0.0: - version "6.0.1" - resolved "https://registry.yarnpkg.com/get-stream/-/get-stream-6.0.1.tgz#a262d8eef67aced57c2852ad6167526a43cbf7b7" - integrity sha512-ts6Wi+2j3jQjqi70w5AlN8DFnkSwC+MqmxEzdEALB2qXZYV3X/b1CTfgPLGJNMeAWxdPfU8FO1ms3NUfaHCPYg== - -get-symbol-description@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/get-symbol-description/-/get-symbol-description-1.0.0.tgz#7fdb81c900101fbd564dd5f1a30af5aadc1e58d6" - integrity sha512-2EmdH1YvIQiZpltCNgkuiUnyukzxM/R6NDJX31Ke3BG1Nq5b0S2PhX59UKi9vZpPDQVdqn+1IcaAwnzTT5vCjw== - dependencies: - call-bind "^1.0.2" - get-intrinsic "^1.1.1" - -get-user-locale@^1.2.0: - version "1.5.1" - resolved "https://registry.yarnpkg.com/get-user-locale/-/get-user-locale-1.5.1.tgz#18a9ba2cfeed0e713ea00968efa75d620523a5ea" - integrity sha512-WiNpoFRcHn1qxP9VabQljzGwkAQDrcpqUtaP0rNBEkFxJdh4f3tik6MfZsMYZc+UgQJdGCxWEjL9wnCUlRQXag== - dependencies: - lodash.memoize "^4.1.1" - -get-window@^1.1.1: - version "1.1.2" - resolved "https://registry.yarnpkg.com/get-window/-/get-window-1.1.2.tgz#65fbaa999fb87f86ea5d30770f4097707044f47f" - integrity sha512-yjWpFcy9fjhLQHW1dPtg9ga4pmizLY8y4ZSHdGrAQ1NU277MRhnGnnLPxe19X8W5lWVsCZz++5xEuNozWMVmTw== - dependencies: - get-document "1" - -getos@^3.2.1: - version "3.2.1" - resolved "https://registry.yarnpkg.com/getos/-/getos-3.2.1.tgz#0134d1f4e00eb46144c5a9c0ac4dc087cbb27dc5" - integrity sha512-U56CfOK17OKgTVqozZjUKNdkfEv6jk5WISBJ8SHoagjE6L69zOwl3Z+O8myjY9MEW3i2HPWQBt/LTbCgcC973Q== - dependencies: - async "^3.2.0" - -getpass@^0.1.1: - version "0.1.7" - resolved "https://registry.yarnpkg.com/getpass/-/getpass-0.1.7.tgz#5eff8e3e684d569ae4cb2b1282604e8ba62149fa" - integrity sha512-0fzj9JxOLfJ+XGLhR8ze3unN0KZCgZwiSSDz168VERjK8Wl8kVSdcu2kspd4s4wtAa1y/qrVRiAA0WclVsu0ng== - dependencies: - assert-plus "^1.0.0" - -glob-parent@^5.1.2, glob-parent@~5.1.2: - version "5.1.2" - resolved "https://registry.yarnpkg.com/glob-parent/-/glob-parent-5.1.2.tgz#869832c58034fe68a4093c17dc15e8340d8401c4" - integrity sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow== - dependencies: - is-glob "^4.0.1" - -glob-parent@^6.0.1, glob-parent@^6.0.2: - version "6.0.2" - resolved "https://registry.yarnpkg.com/glob-parent/-/glob-parent-6.0.2.tgz#6d237d99083950c79290f24c7642a3de9a28f9e3" - integrity sha512-XxwI8EOhVQgWp6iDL+3b0r86f4d6AX6zSU55HfB4ydCEuXLXc5FcYeOu+nnGftS4TEju/11rt4KJPTMgbfmv4A== - dependencies: - is-glob "^4.0.3" - -glob-to-regexp@^0.4.1: - version "0.4.1" - resolved "https://registry.yarnpkg.com/glob-to-regexp/-/glob-to-regexp-0.4.1.tgz#c75297087c851b9a578bd217dd59a92f59fe546e" - integrity sha512-lkX1HJXwyMcprw/5YUZc2s7DrpAiHB21/V+E1rHUrVNokkvB6bqMzT0VfV6/86ZNabt1k14YOIaT7nDvOX3Iiw== - -glob@7.2.0: - version "7.2.0" - resolved "https://registry.yarnpkg.com/glob/-/glob-7.2.0.tgz#d15535af7732e02e948f4c41628bd910293f6023" - integrity sha512-lmLf6gtyrPq8tTjSmrO94wBeQbFR3HbLHbuyD69wuyQkImp2hWqMGB47OX65FBkPffO641IP9jWa1z4ivqG26Q== - dependencies: - fs.realpath "^1.0.0" - inflight "^1.0.4" - inherits "2" - minimatch "^3.0.4" - once "^1.3.0" - path-is-absolute "^1.0.0" - -glob@^10.2.7: - version "10.3.10" - resolved "https://registry.yarnpkg.com/glob/-/glob-10.3.10.tgz#0351ebb809fd187fe421ab96af83d3a70715df4b" - integrity sha512-fa46+tv1Ak0UPK1TOy/pZrIybNNt4HCv7SDzwyfiOZkvZLEbjsZkJBPtDHVshZjbecAoAGSC20MjLDG/qr679g== - dependencies: - foreground-child "^3.1.0" - jackspeak "^2.3.5" - minimatch "^9.0.1" - minipass "^5.0.0 || ^6.0.2 || ^7.0.0" - path-scurry "^1.10.1" - -glob@^7.1.3, glob@^7.1.4: - version "7.2.3" - resolved "https://registry.yarnpkg.com/glob/-/glob-7.2.3.tgz#b8df0fb802bbfa8e89bd1d938b4e16578ed44f2b" - integrity sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q== - dependencies: - fs.realpath "^1.0.0" - inflight "^1.0.4" - inherits "2" - minimatch "^3.1.1" - once "^1.3.0" - path-is-absolute "^1.0.0" - -glob@^9.2.0: - version "9.3.5" - resolved "https://registry.yarnpkg.com/glob/-/glob-9.3.5.tgz#ca2ed8ca452781a3009685607fdf025a899dfe21" - integrity sha512-e1LleDykUz2Iu+MTYdkSsuWX8lvAjAcs0Xef0lNIu0S2wOAzuTxCJtcd9S3cijlwYF18EsU3rzb8jPVobxDh9Q== - dependencies: - fs.realpath "^1.0.0" - minimatch "^8.0.2" - minipass "^4.2.4" - path-scurry "^1.6.1" - -global-dirs@^3.0.0: - version "3.0.1" - resolved "https://registry.yarnpkg.com/global-dirs/-/global-dirs-3.0.1.tgz#0c488971f066baceda21447aecb1a8b911d22485" - integrity sha512-NBcGGFbBA9s1VzD41QXDG+3++t9Mn5t1FpLdhESY6oKY4gYTFpX4wO3sqGUa0Srjtbfj3szX0RnemmrVRUdULA== - dependencies: - ini "2.0.0" - -globals@^11.1.0: - version "11.12.0" - resolved "https://registry.yarnpkg.com/globals/-/globals-11.12.0.tgz#ab8795338868a0babd8525758018c2a7eb95c42e" - integrity sha512-WOBp/EEGUiIsJSp7wcv/y6MO+lV9UoncWqxuFfm8eBwzWNgyfBd6Gz+IeKQ9jCmyhoH99g15M3T+QaVHFjizVA== - -globals@^13.19.0: - version "13.24.0" - resolved "https://registry.yarnpkg.com/globals/-/globals-13.24.0.tgz#8432a19d78ce0c1e833949c36adb345400bb1171" - integrity sha512-AhO5QUcj8llrbG09iWhPU2B204J1xnPeL8kQmVorSsy+Sjj1sk8gIyh6cUocGmH4L0UuhAJy+hJMRA4mgA4mFQ== - dependencies: - type-fest "^0.20.2" - -globalthis@^1.0.3: - version "1.0.3" - resolved "https://registry.yarnpkg.com/globalthis/-/globalthis-1.0.3.tgz#5852882a52b80dc301b0660273e1ed082f0b6ccf" - integrity sha512-sFdI5LyBiNTHjRd7cGPWapiHWMOXKyuBNX/cWJ3NfzrZQVa8GI/8cofCl74AOVqq9W5kNmguTIzJ/1s2gyI9wA== - dependencies: - define-properties "^1.1.3" - -globby@^11.1.0: - version "11.1.0" - resolved "https://registry.yarnpkg.com/globby/-/globby-11.1.0.tgz#bd4be98bb042f83d796f7e3811991fbe82a0d34b" - integrity sha512-jhIXaOzy1sb8IyocaruWSn1TjmnBVs8Ayhcy83rmxNJ8q2uWKCAj3CnJY+KpGSXCueAPc0i05kVvVKtP1t9S3g== - dependencies: - array-union "^2.1.0" - dir-glob "^3.0.1" - fast-glob "^3.2.9" - ignore "^5.2.0" - merge2 "^1.4.1" - slash "^3.0.0" - -globby@^13.1.1: - version "13.2.2" - resolved "https://registry.yarnpkg.com/globby/-/globby-13.2.2.tgz#63b90b1bf68619c2135475cbd4e71e66aa090592" - integrity sha512-Y1zNGV+pzQdh7H39l9zgB4PJqjRNqydvdYCDG4HFXM4XuvSaQQlEc91IU1yALL8gUTDomgBAfz3XJdmUS+oo0w== - dependencies: - dir-glob "^3.0.1" - fast-glob "^3.3.0" - ignore "^5.2.4" - merge2 "^1.4.1" - slash "^4.0.0" - -globby@^14.0.0: - version "14.0.0" - resolved "https://registry.yarnpkg.com/globby/-/globby-14.0.0.tgz#ea9c062a3614e33f516804e778590fcf055256b9" - integrity sha512-/1WM/LNHRAOH9lZta77uGbq0dAEQM+XjNesWwhlERDVenqothRbnzTrL3/LrIoEPPjeUHC3vrS6TwoyxeHs7MQ== - dependencies: - "@sindresorhus/merge-streams" "^1.0.0" - fast-glob "^3.3.2" - ignore "^5.2.4" - path-type "^5.0.0" - slash "^5.1.0" - unicorn-magic "^0.1.0" - -gopd@^1.0.1: - version "1.0.1" - resolved "https://registry.yarnpkg.com/gopd/-/gopd-1.0.1.tgz#29ff76de69dac7489b7c0918a5788e56477c332c" - integrity sha512-d65bNlIadxvpb/A2abVdlqKqV563juRnZ1Wtk6s1sIR8uNsXR70xqIzVqxVf1eTqDunwT2MkczEeaezCKTZhwA== - dependencies: - get-intrinsic "^1.1.3" - -graceful-fs@^4.1.2, graceful-fs@^4.1.6, graceful-fs@^4.2.0, graceful-fs@^4.2.4, graceful-fs@^4.2.9: - version "4.2.11" - resolved "https://registry.yarnpkg.com/graceful-fs/-/graceful-fs-4.2.11.tgz#4183e4e8bf08bb6e05bbb2f7d2e0c8f712ca40e3" - integrity sha512-RbJ5/jmFcNNCcDV5o9eTnBLJ/HszWV0P73bc+Ff4nS/rJj+YaS6IGyiOL0VoBYX+l1Wrl3k63h/KrH+nhJ0XvQ== - -grapheme-splitter@^1.0.4: - version "1.0.4" - resolved "https://registry.yarnpkg.com/grapheme-splitter/-/grapheme-splitter-1.0.4.tgz#9cf3a665c6247479896834af35cf1dbb4400767e" - integrity sha512-bzh50DW9kTPM00T8y4o8vQg89Di9oLJVLW/KaOGIXJWP/iqCN6WKYkbNOF04vFLJhwcpYUh9ydh/+5vpOqV4YQ== - -graphemer@^1.4.0: - version "1.4.0" - resolved "https://registry.yarnpkg.com/graphemer/-/graphemer-1.4.0.tgz#fb2f1d55e0e3a1849aeffc90c4fa0dd53a0e66c6" - integrity sha512-EtKwoO6kxCL9WO5xipiHTZlSzBm7WLT627TqC/uVRd0HKmq8NXyebnNYxDoBi7wt8eTWrUrKXCOVaFq9x1kgag== - -har-schema@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/har-schema/-/har-schema-2.0.0.tgz#a94c2224ebcac04782a0d9035521f24735b7ec92" - integrity sha512-Oqluz6zhGX8cyRaTQlFMPw80bSJVG2x/cFb8ZPhUILGgHka9SsokCCOQgpveePerqidZOrT14ipqfJb7ILcW5Q== - -har-validator@~5.1.3: - version "5.1.5" - resolved "https://registry.yarnpkg.com/har-validator/-/har-validator-5.1.5.tgz#1f0803b9f8cb20c0fa13822df1ecddb36bde1efd" - integrity sha512-nmT2T0lljbxdQZfspsno9hgrG3Uir6Ks5afism62poxqBM6sDnMEuPmzTq8XN0OEwqKLLdh1jQI3qyE66Nzb3w== - dependencies: - ajv "^6.12.3" - har-schema "^2.0.0" - -harmony-reflect@^1.4.6: - version "1.6.2" - resolved "https://registry.yarnpkg.com/harmony-reflect/-/harmony-reflect-1.6.2.tgz#31ecbd32e648a34d030d86adb67d4d47547fe710" - integrity sha512-HIp/n38R9kQjDEziXyDTuW3vvoxxyxjxFzXLrBr18uB47GnSt+G9D29fqrpM5ZkspMcPICud3XsBJQ4Y2URg8g== - -has-bigints@^1.0.1, has-bigints@^1.0.2: - version "1.0.2" - resolved "https://registry.yarnpkg.com/has-bigints/-/has-bigints-1.0.2.tgz#0871bd3e3d51626f6ca0966668ba35d5602d6eaa" - integrity sha512-tSvCKtBr9lkF0Ex0aQiP9N+OpV4zi2r/Nee5VkRDbaqv35RLYMzbwQfFSZZH0kR+Rd6302UJZ2p/bJCEoR3VoQ== - -has-flag@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/has-flag/-/has-flag-3.0.0.tgz#b5d454dc2199ae225699f3467e5a07f3b955bafd" - integrity sha512-sKJf1+ceQBr4SMkvQnBDNDtf4TXpVhVGateu0t918bl30FnbE2m4vNLX+VWe/dpjlb+HugGYzW7uQXH98HPEYw== - -has-flag@^4.0.0: - version "4.0.0" - resolved "https://registry.yarnpkg.com/has-flag/-/has-flag-4.0.0.tgz#944771fd9c81c81265c4d6941860da06bb59479b" - integrity sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ== - -has-property-descriptors@^1.0.0, has-property-descriptors@^1.0.1: - version "1.0.1" - resolved "https://registry.yarnpkg.com/has-property-descriptors/-/has-property-descriptors-1.0.1.tgz#52ba30b6c5ec87fd89fa574bc1c39125c6f65340" - integrity sha512-VsX8eaIewvas0xnvinAe9bw4WfIeODpGYikiWYLH+dma0Jw6KHYqWiWfhQlgOVK8D6PvjubK5Uc4P0iIhIcNVg== - dependencies: - get-intrinsic "^1.2.2" - -has-proto@^1.0.1: - version "1.0.1" - resolved "https://registry.yarnpkg.com/has-proto/-/has-proto-1.0.1.tgz#1885c1305538958aff469fef37937c22795408e0" - integrity sha512-7qE+iP+O+bgF9clE5+UoBFzE65mlBiVj3tKCrlNQ0Ogwm0BjpT/gK4SlLYDMybDh5I3TCTKnPPa0oMG7JDYrhg== - -has-symbols@^1.0.2, has-symbols@^1.0.3: - version "1.0.3" - resolved "https://registry.yarnpkg.com/has-symbols/-/has-symbols-1.0.3.tgz#bb7b2c4349251dce87b125f7bdf874aa7c8b39f8" - integrity sha512-l3LCuF6MgDNwTDKkdYGEihYjt5pRPbEg46rtlmnSPlUbgmB8LOIrKJbYYFBSbnPaJexMKtiPO8hmeRjRz2Td+A== - -has-tostringtag@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/has-tostringtag/-/has-tostringtag-1.0.0.tgz#7e133818a7d394734f941e73c3d3f9291e658b25" - integrity sha512-kFjcSNhnlGV1kyoGk7OXKSawH5JOb/LzUc5w9B02hOTO0dfFRjbHQKvg1d6cf3HbeUmtU9VbbV3qzZ2Teh97WQ== - dependencies: - has-symbols "^1.0.2" - -hasown@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/hasown/-/hasown-2.0.0.tgz#f4c513d454a57b7c7e1650778de226b11700546c" - integrity sha512-vUptKVTpIJhcczKBbgnS+RtcuYMB8+oNzPK2/Hp3hanz8JmpATdmmgLgSaadVREkDm+e2giHwY3ZRkyjSIDDFA== - dependencies: - function-bind "^1.1.2" - -he@1.2.0: - version "1.2.0" - resolved "https://registry.yarnpkg.com/he/-/he-1.2.0.tgz#84ae65fa7eafb165fddb61566ae14baf05664f0f" - integrity sha512-F/1DnUGPopORZi0ni+CvrCgHQ5FyEAHRLSApuYWMmrbSwoN2Mn/7k+Gl38gJnR7yyDZk6WLXwiGod1JOWNDKGw== - -highlight-words-core@^1.2.0: - version "1.2.2" - resolved "https://registry.yarnpkg.com/highlight-words-core/-/highlight-words-core-1.2.2.tgz#1eff6d7d9f0a22f155042a00791237791b1eeaaa" - integrity sha512-BXUKIkUuh6cmmxzi5OIbUJxrG8OAk2MqoL1DtO3Wo9D2faJg2ph5ntyuQeLqaHJmzER6H5tllCDA9ZnNe9BVGg== - -history@4.10.1, history@^4.9.0: - version "4.10.1" - resolved "https://registry.yarnpkg.com/history/-/history-4.10.1.tgz#33371a65e3a83b267434e2b3f3b1b4c58aad4cf3" - integrity sha512-36nwAD620w12kuzPAsyINPWJqlNbij+hpK1k9XRloDtym8mxzGYl2c17LnV6IAGB2Dmg4tEa7G7DlawS0+qjew== - dependencies: - "@babel/runtime" "^7.1.2" - loose-envify "^1.2.0" - resolve-pathname "^3.0.0" - tiny-invariant "^1.0.2" - tiny-warning "^1.0.0" - value-equal "^1.0.1" - -hoist-non-react-statics@3.3.2, hoist-non-react-statics@^3.1.0, hoist-non-react-statics@^3.3.0, hoist-non-react-statics@^3.3.1, hoist-non-react-statics@^3.3.2: - version "3.3.2" - resolved "https://registry.yarnpkg.com/hoist-non-react-statics/-/hoist-non-react-statics-3.3.2.tgz#ece0acaf71d62c2969c2ec59feff42a4b1a85b45" - integrity sha512-/gGivxi8JPKWNm/W0jSmzcMPpfpPLc3dY/6GxhX2hQ9iGj3aDfklV4ET7NjKpSinLpJ5vafa9iiGIEZg10SfBw== - dependencies: - react-is "^16.7.0" - -html-encoding-sniffer@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/html-encoding-sniffer/-/html-encoding-sniffer-3.0.0.tgz#2cb1a8cf0db52414776e5b2a7a04d5dd98158de9" - integrity sha512-oWv4T4yJ52iKrufjnyZPkrN0CH3QnrUqdB6In1g5Fe1mia8GmF36gnfNySxoZtxD5+NmYw1EElVXiBk93UeskA== - dependencies: - whatwg-encoding "^2.0.0" - -html-escaper@^2.0.0: - version "2.0.2" - resolved "https://registry.yarnpkg.com/html-escaper/-/html-escaper-2.0.2.tgz#dfd60027da36a36dfcbe236262c00a5822681453" - integrity sha512-H2iMtd0I4Mt5eYiapRdIDjp+XzelXQ0tFE4JS7YFwFevXXMmOp9myNrUvCg0D6ws8iqkRPBfKHgbwig1SmlLfg== - -html-parse-stringify@^3.0.1: - version "3.0.1" - resolved "https://registry.yarnpkg.com/html-parse-stringify/-/html-parse-stringify-3.0.1.tgz#dfc1017347ce9f77c8141a507f233040c59c55d2" - integrity sha512-KknJ50kTInJ7qIScF3jeaFRpMpE8/lfiTdzf/twXyPBLAGrLRTmkz3AdTnKeh40X8k9L2fdYwEp/42WGXIRGcg== - dependencies: - void-elements "3.1.0" - -http-parser-js@>=0.5.1: - version "0.5.8" - resolved "https://registry.yarnpkg.com/http-parser-js/-/http-parser-js-0.5.8.tgz#af23090d9ac4e24573de6f6aecc9d84a48bf20e3" - integrity sha512-SGeBX54F94Wgu5RH3X5jsDtf4eHyRogWX1XGT3b4HuW3tQPM4AaBzoUji/4AAJNXCEOWZ5O0DgZmJw1947gD5Q== - -http-proxy-agent@^5.0.0: - version "5.0.0" - resolved "https://registry.yarnpkg.com/http-proxy-agent/-/http-proxy-agent-5.0.0.tgz#5129800203520d434f142bc78ff3c170800f2b43" - integrity sha512-n2hY8YdoRE1i7r6M0w9DIw5GgZN0G25P8zLCRQ8rjXtTU3vsNFBI/vWK/UIeE6g5MUUz6avwAPXmL6Fy9D/90w== - dependencies: - "@tootallnate/once" "2" - agent-base "6" - debug "4" - -http-signature@~1.2.0: - version "1.2.0" - resolved "https://registry.yarnpkg.com/http-signature/-/http-signature-1.2.0.tgz#9aecd925114772f3d95b65a60abb8f7c18fbace1" - integrity sha512-CAbnr6Rz4CYQkLYUtSNXxQPUH2gK8f3iWexVlsnMeD+GjlsQ0Xsy1cOX+mN3dtxYomRy21CiOzU8Uhw6OwncEQ== - dependencies: - assert-plus "^1.0.0" - jsprim "^1.2.2" - sshpk "^1.7.0" - -http-signature@~1.3.6: - version "1.3.6" - resolved "https://registry.yarnpkg.com/http-signature/-/http-signature-1.3.6.tgz#cb6fbfdf86d1c974f343be94e87f7fc128662cf9" - integrity sha512-3adrsD6zqo4GsTqtO7FyrejHNv+NgiIfAfv68+jVlFmSr9OGy7zrxONceFRLKvnnZA5jbxQBX1u9PpB6Wi32Gw== - dependencies: - assert-plus "^1.0.0" - jsprim "^2.0.2" - sshpk "^1.14.1" - -https-proxy-agent@^5.0.1: - version "5.0.1" - resolved "https://registry.yarnpkg.com/https-proxy-agent/-/https-proxy-agent-5.0.1.tgz#c59ef224a04fe8b754f3db0063a25ea30d0005d6" - integrity sha512-dFcAjpTQFgoLMzC2VwU+C/CbS7uRL0lWmxDITmqm7C+7F0Odmj6s9l6alZc6AELXhrnggM2CeWSXHGOdX2YtwA== - dependencies: - agent-base "6" - debug "4" - -human-signals@^1.1.1: - version "1.1.1" - resolved "https://registry.yarnpkg.com/human-signals/-/human-signals-1.1.1.tgz#c5b1cd14f50aeae09ab6c59fe63ba3395fe4dfa3" - integrity sha512-SEQu7vl8KjNL2eoGBLF3+wAjpsNfA9XMlXAYj/3EdaNfAlxKthD1xjEQfGOUhllCGGJVNY34bRr6lPINhNjyZw== - -human-signals@^2.1.0: - version "2.1.0" - resolved "https://registry.yarnpkg.com/human-signals/-/human-signals-2.1.0.tgz#dc91fcba42e4d06e4abaed33b3e7a3c02f514ea0" - integrity sha512-B4FFZ6q/T2jhhksgkbEW3HBvWIfDW85snkQgawt07S7J5QXTk6BkNV+0yAeZrM5QpMAdYlocGoljn0sJ/WQkFw== - -hyphenate-style-name@^1.0.3: - version "1.0.4" - resolved "https://registry.yarnpkg.com/hyphenate-style-name/-/hyphenate-style-name-1.0.4.tgz#691879af8e220aea5750e8827db4ef62a54e361d" - integrity sha512-ygGZLjmXfPHj+ZWh6LwbC37l43MhfztxetbFCoYTM2VjkIUpeHgSNn7QIyVFj7YQ1Wl9Cbw5sholVJPzWvC2MQ== - -i18next@^22.0.0: - version "22.5.1" - resolved "https://registry.yarnpkg.com/i18next/-/i18next-22.5.1.tgz#99df0b318741a506000c243429a7352e5f44d424" - integrity sha512-8TGPgM3pAD+VRsMtUMNknRz3kzqwp/gPALrWMsDnmC1mKqJwpWyooQRLMcbTwq8z8YwSmuj+ZYvc+xCuEpkssA== - dependencies: - "@babel/runtime" "^7.20.6" - -iconv-lite@0.6, iconv-lite@0.6.3: - version "0.6.3" - resolved "https://registry.yarnpkg.com/iconv-lite/-/iconv-lite-0.6.3.tgz#a52f80bf38da1952eb5c681790719871a1a72501" - integrity sha512-4fCk79wshMdzMp2rH06qWrJE4iolqLhCUH+OiuIgU++RB0+94NlDL81atO7GX55uUKueo0txHNtvEyI6D7WdMw== - dependencies: - safer-buffer ">= 2.1.2 < 3.0.0" - -iconv-lite@^0.4.8: - version "0.4.24" - resolved "https://registry.yarnpkg.com/iconv-lite/-/iconv-lite-0.4.24.tgz#2022b4b25fbddc21d2f524974a474aafe733908b" - integrity sha512-v3MXnZAcvnywkTUEZomIActle7RXXeedOR31wwl7VlyoXO4Qi9arvSenNQWne1TcRwhCL1HwLI21bEqdpj8/rA== - dependencies: - safer-buffer ">= 2.1.2 < 3" - -icss-utils@^5.0.0, icss-utils@^5.1.0: - version "5.1.0" - resolved "https://registry.yarnpkg.com/icss-utils/-/icss-utils-5.1.0.tgz#c6be6858abd013d768e98366ae47e25d5887b1ae" - integrity sha512-soFhflCVWLfRNOPU3iv5Z9VUdT44xFRbzjLsEzSr5AQmgqPMTHdU3PMT1Cf1ssx8fLNJDA1juftYl+PUcv3MqA== - -identity-obj-proxy@3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/identity-obj-proxy/-/identity-obj-proxy-3.0.0.tgz#94d2bda96084453ef36fbc5aaec37e0f79f1fc14" - integrity sha512-00n6YnVHKrinT9t0d9+5yZC6UBNJANpYEQvL2LlX6Ab9lnmxzIRcEmTPuyGScvl1+jKuCICX1Z0Ab1pPKKdikA== - dependencies: - harmony-reflect "^1.4.6" - -ieee754@^1.1.12, ieee754@^1.1.13: - version "1.2.1" - resolved "https://registry.yarnpkg.com/ieee754/-/ieee754-1.2.1.tgz#8eb7a10a63fff25d15a57b001586d177d1b0d352" - integrity sha512-dcyqhDvX1C46lXZcVqCpK+FtMRQVdIMN6/Df5js2zouUsqG7I6sFxitIC+7KYK29KdXOLHdu9zL4sFnoVQnqaA== - -ignore@^5.2.0, ignore@^5.2.4: - version "5.3.0" - resolved "https://registry.yarnpkg.com/ignore/-/ignore-5.3.0.tgz#67418ae40d34d6999c95ff56016759c718c82f78" - integrity sha512-g7dmpshy+gD7mh88OC9NwSGTKoc3kyLAZQRU1mt53Aw/vnvfXnbC+F/7F7QoYVKbV+KNvJx8wArewKy1vXMtlg== - -immutable@4.2.4: - version "4.2.4" - resolved "https://registry.yarnpkg.com/immutable/-/immutable-4.2.4.tgz#83260d50889526b4b531a5e293709a77f7c55a2a" - integrity sha512-WDxL3Hheb1JkRN3sQkyujNlL/xRjAo3rJtaU5xeufUauG66JdMr32bLj4gF+vWl84DIA3Zxw7tiAjneYzRRw+w== - -immutable@^4.0.0: - version "4.3.4" - resolved "https://registry.yarnpkg.com/immutable/-/immutable-4.3.4.tgz#2e07b33837b4bb7662f288c244d1ced1ef65a78f" - integrity sha512-fsXeu4J4i6WNWSikpI88v/PcVflZz+6kMhUfIwc5SY+poQRPnaf5V7qds6SUyUN3cVxEzuCab7QIoLOQ+DQ1wA== - -import-fresh@^3.0.0, import-fresh@^3.2.1: - version "3.3.0" - resolved "https://registry.yarnpkg.com/import-fresh/-/import-fresh-3.3.0.tgz#37162c25fcb9ebaa2e6e53d5b4d88ce17d9e0c2b" - integrity sha512-veYYhQa+D1QBKznvhUHxb8faxlrwUnxseDAbAp457E0wLNio2bOSKnjYDhMj+YiAq61xrMGhQk9iXVk5FzgQMw== - dependencies: - parent-module "^1.0.0" - resolve-from "^4.0.0" - -import-local@^3.0.2: - version "3.1.0" - resolved "https://registry.yarnpkg.com/import-local/-/import-local-3.1.0.tgz#b4479df8a5fd44f6cdce24070675676063c95cb4" - integrity sha512-ASB07uLtnDs1o6EHjKpX34BKYDSqnFerfTOJL2HvMqF70LnxpjkzDB8J44oT9pu4AMPkQwf8jl6szgvNd2tRIg== - dependencies: - pkg-dir "^4.2.0" - resolve-cwd "^3.0.0" - -imurmurhash@^0.1.4: - version "0.1.4" - resolved "https://registry.yarnpkg.com/imurmurhash/-/imurmurhash-0.1.4.tgz#9218b9b2b928a238b13dc4fb6b6d576f231453ea" - integrity sha512-JmXMZ6wuvDmLiHEml9ykzqO6lwFbof0GG4IkcGaENdCRDDmMVnny7s5HsIgHCbaq0w2MyPhDqkhTUgS2LU2PHA== - -indent-string@^4.0.0: - version "4.0.0" - resolved "https://registry.yarnpkg.com/indent-string/-/indent-string-4.0.0.tgz#624f8f4497d619b2d9768531d58f4122854d7251" - integrity sha512-EdDDZu4A2OyIK7Lr/2zG+w5jmbuk1DVBnEwREQvBzspBJkCEbRa8GxU1lghYcaGJCnRWibjDXlq779X1/y5xwg== - -inflight@^1.0.4: - version "1.0.6" - resolved "https://registry.yarnpkg.com/inflight/-/inflight-1.0.6.tgz#49bd6331d7d02d0c09bc910a1075ba8165b56df9" - integrity sha512-k92I/b08q4wvFscXCLvqfsHCrjrF7yiXsQuIVvVE7N82W3+aqpzuUdBbfhWcy/FZR3/4IgflMgKLOsvPDrGCJA== - dependencies: - once "^1.3.0" - wrappy "1" - -inherits@2, inherits@~2.0.1, inherits@~2.0.3: - version "2.0.4" - resolved "https://registry.yarnpkg.com/inherits/-/inherits-2.0.4.tgz#0fa2c64f932917c3433a0ded55363aae37416b7c" - integrity sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ== - -ini@2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/ini/-/ini-2.0.0.tgz#e5fd556ecdd5726be978fa1001862eacb0a94bc5" - integrity sha512-7PnF4oN3CvZF23ADhA5wRaYEQpJ8qygSkbtTXWBeXWXmEVRXK+1ITciHWwHhsjv1TmW0MgacIv6hEi5pX5NQdA== - -inline-style-prefixer@^7.0.0: - version "7.0.0" - resolved "https://registry.yarnpkg.com/inline-style-prefixer/-/inline-style-prefixer-7.0.0.tgz#991d550735d42069f528ac1bcdacd378d1305442" - integrity sha512-I7GEdScunP1dQ6IM2mQWh6v0mOYdYmH3Bp31UecKdrcUgcURTcctSe1IECdUznSHKSmsHtjrT3CwCPI1pyxfUQ== - dependencies: - css-in-js-utils "^3.1.0" - fast-loops "^1.1.3" - -internal-slot@^1.0.4, internal-slot@^1.0.5: - version "1.0.6" - resolved "https://registry.yarnpkg.com/internal-slot/-/internal-slot-1.0.6.tgz#37e756098c4911c5e912b8edbf71ed3aa116f930" - integrity sha512-Xj6dv+PsbtwyPpEflsejS+oIZxmMlV44zAhG479uYu89MsjcYOhCFnNyKrkJrihbsiasQyY0afoCl/9BLR65bg== - dependencies: - get-intrinsic "^1.2.2" - hasown "^2.0.0" - side-channel "^1.0.4" - -"internmap@1 - 2": - version "2.0.3" - resolved "https://registry.yarnpkg.com/internmap/-/internmap-2.0.3.tgz#6685f23755e43c524e251d29cbc97248e3061009" - integrity sha512-5Hh7Y1wQbvY5ooGgPbDaL5iYLAPzMTUrjMulskHLH6wnv/A+1q5rgEaiuqEjB+oxGXIVZs1FF+R/KPN3ZSQYYg== - -interpret@^3.1.1: - version "3.1.1" - resolved "https://registry.yarnpkg.com/interpret/-/interpret-3.1.1.tgz#5be0ceed67ca79c6c4bc5cf0d7ee843dcea110c4" - integrity sha512-6xwYfHbajpoF0xLW+iwLkhwgvLoZDfjYfoFNu8ftMoXINzwuymNLd9u/KmwtdT2GbR+/Cz66otEGEVVUHX9QLQ== - -intl-messageformat@^10.1.0: - version "10.5.10" - resolved "https://registry.yarnpkg.com/intl-messageformat/-/intl-messageformat-10.5.10.tgz#638b7a9a4926a04f784dfe6e77104a0c537deb36" - integrity sha512-3yzwX6t/my9WRtNiqP05r+/UkpWxwstQiwaHAiuHmDRt7ykzWJ+nceOVjNLZYYWGiSltY+C+Likd8OIVkASepw== - dependencies: - "@formatjs/ecma402-abstract" "1.18.2" - "@formatjs/fast-memoize" "2.2.0" - "@formatjs/icu-messageformat-parser" "2.7.5" - tslib "^2.4.0" - -invariant@^2.2.2: - version "2.2.4" - resolved "https://registry.yarnpkg.com/invariant/-/invariant-2.2.4.tgz#610f3c92c9359ce1db616e538008d23ff35158e6" - integrity sha512-phJfQVBuaJM5raOpJjSfkiD6BpbCE4Ns//LaXl6wGYtUBY83nWS6Rf9tXm2e8VaK60JEjYldbPif/A2B1C2gNA== - dependencies: - loose-envify "^1.0.0" - -is-arguments@^1.1.1: - version "1.1.1" - resolved "https://registry.yarnpkg.com/is-arguments/-/is-arguments-1.1.1.tgz#15b3f88fda01f2a97fec84ca761a560f123efa9b" - integrity sha512-8Q7EARjzEnKpt/PCD7e1cgUS0a6X8u5tdSiMqXhojOdoV9TsMsiO+9VLC5vAmO8N7/GmXn7yjR8qnA6bVAEzfA== - dependencies: - call-bind "^1.0.2" - has-tostringtag "^1.0.0" - -is-array-buffer@^3.0.1, is-array-buffer@^3.0.2: - version "3.0.2" - resolved "https://registry.yarnpkg.com/is-array-buffer/-/is-array-buffer-3.0.2.tgz#f2653ced8412081638ecb0ebbd0c41c6e0aecbbe" - integrity sha512-y+FyyR/w8vfIRq4eQcM1EYgSTnmHXPqaF+IgzgraytCFq5Xh8lllDVmAZolPJiZttZLeFSINPYMaEJ7/vWUa1w== - dependencies: - call-bind "^1.0.2" - get-intrinsic "^1.2.0" - is-typed-array "^1.1.10" - -is-arrayish@^0.2.1: - version "0.2.1" - resolved "https://registry.yarnpkg.com/is-arrayish/-/is-arrayish-0.2.1.tgz#77c99840527aa8ecb1a8ba697b80645a7a926a9d" - integrity sha512-zz06S8t0ozoDXMG+ube26zeCTNXcKIPJZJi8hBrF4idCLms4CG9QtK7qBl1boi5ODzFpjswb5JPmHCbMpjaYzg== - -is-bigint@^1.0.1: - version "1.0.4" - resolved "https://registry.yarnpkg.com/is-bigint/-/is-bigint-1.0.4.tgz#08147a1875bc2b32005d41ccd8291dffc6691df3" - integrity sha512-zB9CruMamjym81i2JZ3UMn54PKGsQzsJeo6xvN3HJJ4CAsQNB6iRutp2To77OfCNuoxspsIhzaPoO1zyCEhFOg== - dependencies: - has-bigints "^1.0.1" - -is-binary-path@~2.1.0: - version "2.1.0" - resolved "https://registry.yarnpkg.com/is-binary-path/-/is-binary-path-2.1.0.tgz#ea1f7f3b80f064236e83470f86c09c254fb45b09" - integrity sha512-ZMERYes6pDydyuGidse7OsHxtbI7WVeUEozgR/g7rd0xUimYNlvZRE/K2MgZTjWy725IfelLeVcEM97mmtRGXw== - dependencies: - binary-extensions "^2.0.0" - -is-boolean-object@^1.1.0: - version "1.1.2" - resolved "https://registry.yarnpkg.com/is-boolean-object/-/is-boolean-object-1.1.2.tgz#5c6dc200246dd9321ae4b885a114bb1f75f63719" - integrity sha512-gDYaKHJmnj4aWxyj6YHyXVpdQawtVLHU5cb+eztPGczf6cjuTdwve5ZIEfgXqH4e57An1D1AKf8CZ3kYrQRqYA== - dependencies: - call-bind "^1.0.2" - has-tostringtag "^1.0.0" - -is-builtin-module@^3.2.1: - version "3.2.1" - resolved "https://registry.yarnpkg.com/is-builtin-module/-/is-builtin-module-3.2.1.tgz#f03271717d8654cfcaf07ab0463faa3571581169" - integrity sha512-BSLE3HnV2syZ0FK0iMA/yUGplUeMmNz4AW5fnTunbCIqZi4vG3WjJT9FHMy5D69xmAYBHXQhJdALdpwVxV501A== - dependencies: - builtin-modules "^3.3.0" - -is-callable@^1.1.3, is-callable@^1.1.4, is-callable@^1.2.7: - version "1.2.7" - resolved "https://registry.yarnpkg.com/is-callable/-/is-callable-1.2.7.tgz#3bc2a85ea742d9e36205dcacdd72ca1fdc51b055" - integrity sha512-1BC0BVFhS/p0qtw6enp8e+8OD0UrK0oFLztSjNzhcKA3WDuJxxAPXzPuPtKkjEY9UUoEWlX/8fgKeu2S8i9JTA== - -is-ci@^3.0.0: - version "3.0.1" - resolved "https://registry.yarnpkg.com/is-ci/-/is-ci-3.0.1.tgz#db6ecbed1bd659c43dac0f45661e7674103d1867" - integrity sha512-ZYvCgrefwqoQ6yTyYUbQu64HsITZ3NfKX1lzaEYdkTDcfKzzCI/wthRRYKkdjHKFVgNiXKAKm65Zo1pk2as/QQ== - dependencies: - ci-info "^3.2.0" - -is-core-module@^2.13.0, is-core-module@^2.13.1: - version "2.13.1" - resolved "https://registry.yarnpkg.com/is-core-module/-/is-core-module-2.13.1.tgz#ad0d7532c6fea9da1ebdc82742d74525c6273384" - integrity sha512-hHrIjvZsftOsvKSn2TRYl63zvxsgE0K+0mYMoH6gD4omR5IWB2KynivBQczo3+wF1cCkjzvptnI9Q0sPU66ilw== - dependencies: - hasown "^2.0.0" - -is-date-object@^1.0.1, is-date-object@^1.0.5: - version "1.0.5" - resolved "https://registry.yarnpkg.com/is-date-object/-/is-date-object-1.0.5.tgz#0841d5536e724c25597bf6ea62e1bd38298df31f" - integrity sha512-9YQaSxsAiSwcvS33MBk3wTCVnWK+HhF8VZR2jRxehM16QcVOdHqPn4VPHmRK4lSr38n9JriurInLcP90xsYNfQ== - dependencies: - has-tostringtag "^1.0.0" - -is-extglob@^2.1.1: - version "2.1.1" - resolved "https://registry.yarnpkg.com/is-extglob/-/is-extglob-2.1.1.tgz#a88c02535791f02ed37c76a1b9ea9773c833f8c2" - integrity sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ== - -is-fullwidth-code-point@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz#f116f8064fe90b3f7844a38997c0b75051269f1d" - integrity sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg== - -is-generator-fn@^2.0.0: - version "2.1.0" - resolved "https://registry.yarnpkg.com/is-generator-fn/-/is-generator-fn-2.1.0.tgz#7d140adc389aaf3011a8f2a2a4cfa6faadffb118" - integrity sha512-cTIB4yPYL/Grw0EaSzASzg6bBy9gqCofvWN8okThAYIxKJZC+udlRAmGbM0XLeniEJSs8uEgHPGuHSe1XsOLSQ== - -is-glob@^4.0.0, is-glob@^4.0.1, is-glob@^4.0.3, is-glob@~4.0.1: - version "4.0.3" - resolved "https://registry.yarnpkg.com/is-glob/-/is-glob-4.0.3.tgz#64f61e42cbbb2eec2071a9dac0b28ba1e65d5084" - integrity sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg== - dependencies: - is-extglob "^2.1.1" - -is-hotkey@0.1.4: - version "0.1.4" - resolved "https://registry.yarnpkg.com/is-hotkey/-/is-hotkey-0.1.4.tgz#c34d2c85d6ec8d09a871dcf71931c8067a824c7d" - integrity sha512-Py+aW4r5mBBY18TGzGz286/gKS+fCQ0Hee3qkaiSmEPiD0PqFpe0wuA3l7rTOUKyeXl8Mxf3XzJxIoTlSv+kxA== - -is-hotkey@0.2.0: - version "0.2.0" - resolved "https://registry.yarnpkg.com/is-hotkey/-/is-hotkey-0.2.0.tgz#1835a68171a91e5c9460869d96336947c8340cef" - integrity sha512-UknnZK4RakDmTgz4PI1wIph5yxSs/mvChWs9ifnlXsKuXgWmOkY/hAE0H/k2MIqH0RlRye0i1oC07MCRSD28Mw== - -is-in-browser@^1.1.3: - version "1.1.3" - resolved "https://registry.yarnpkg.com/is-in-browser/-/is-in-browser-1.1.3.tgz#56ff4db683a078c6082eb95dad7dc62e1d04f835" - integrity sha512-FeXIBgG/CPGd/WUxuEyvgGTEfwiG9Z4EKGxjNMRqviiIIfsmgrpnHLffEDdwUHqNva1VEW91o3xBT/m8Elgl9g== - -is-installed-globally@~0.4.0: - version "0.4.0" - resolved "https://registry.yarnpkg.com/is-installed-globally/-/is-installed-globally-0.4.0.tgz#9a0fd407949c30f86eb6959ef1b7994ed0b7b520" - integrity sha512-iwGqO3J21aaSkC7jWnHP/difazwS7SFeIqxv6wEtLU8Y5KlzFTjyqcSIT0d8s4+dDhKytsk9PJZ2BkS5eZwQRQ== - dependencies: - global-dirs "^3.0.0" - is-path-inside "^3.0.2" - -is-map@^2.0.1, is-map@^2.0.2: - version "2.0.2" - resolved "https://registry.yarnpkg.com/is-map/-/is-map-2.0.2.tgz#00922db8c9bf73e81b7a335827bc2a43f2b91127" - integrity sha512-cOZFQQozTha1f4MxLFzlgKYPTyj26picdZTx82hbc/Xf4K/tZOOXSCkMvU4pKioRXGDLJRn0GM7Upe7kR721yg== - -is-negative-zero@^2.0.2: - version "2.0.2" - resolved "https://registry.yarnpkg.com/is-negative-zero/-/is-negative-zero-2.0.2.tgz#7bf6f03a28003b8b3965de3ac26f664d765f3150" - integrity sha512-dqJvarLawXsFbNDeJW7zAz8ItJ9cd28YufuuFzh0G8pNHjJMnY08Dv7sYX2uF5UpQOwieAeOExEYAWWfu7ZZUA== - -is-number-object@^1.0.4: - version "1.0.7" - resolved "https://registry.yarnpkg.com/is-number-object/-/is-number-object-1.0.7.tgz#59d50ada4c45251784e9904f5246c742f07a42fc" - integrity sha512-k1U0IRzLMo7ZlYIfzRu23Oh6MiIFasgpb9X76eqfFZAqwH44UI4KTBvBYIZ1dSL9ZzChTB9ShHfLkR4pdW5krQ== - dependencies: - has-tostringtag "^1.0.0" - -is-number@^7.0.0: - version "7.0.0" - resolved "https://registry.yarnpkg.com/is-number/-/is-number-7.0.0.tgz#7535345b896734d5f80c4d06c50955527a14f12b" - integrity sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng== - -is-path-inside@^3.0.2, is-path-inside@^3.0.3: - version "3.0.3" - resolved "https://registry.yarnpkg.com/is-path-inside/-/is-path-inside-3.0.3.tgz#d231362e53a07ff2b0e0ea7fed049161ffd16283" - integrity sha512-Fd4gABb+ycGAmKou8eMftCupSir5lRxqf4aD/vd0cD2qc4HL07OjCeuHMr8Ro4CoMaeCKDB0/ECBOVWjTwUvPQ== - -is-plain-obj@^2.1.0: - version "2.1.0" - resolved "https://registry.yarnpkg.com/is-plain-obj/-/is-plain-obj-2.1.0.tgz#45e42e37fccf1f40da8e5f76ee21515840c09287" - integrity sha512-YWnfyRwxL/+SsrWYfOpUtz5b3YD+nyfkHvjbcanzk8zgyO4ASD67uVMRt8k5bM4lLMDnXfriRhOpemw+NfT1eA== - -is-plain-object@^2.0.4: - version "2.0.4" - resolved "https://registry.yarnpkg.com/is-plain-object/-/is-plain-object-2.0.4.tgz#2c163b3fafb1b606d9d17928f05c2a1c38e07677" - integrity sha512-h5PpgXkWitc38BBMYawTYMWJHFZJVnBquFE57xFpjB8pJFiF6gZ+bU+WyI/yqXiFR5mdLsgYNaPe8uao6Uv9Og== - dependencies: - isobject "^3.0.1" - -is-potential-custom-element-name@^1.0.1: - version "1.0.1" - resolved "https://registry.yarnpkg.com/is-potential-custom-element-name/-/is-potential-custom-element-name-1.0.1.tgz#171ed6f19e3ac554394edf78caa05784a45bebb5" - integrity sha512-bCYeRA2rVibKZd+s2625gGnGF/t7DSqDs4dP7CrLA1m7jKWz6pps0LpYLJN8Q64HtmPKJ1hrN3nzPNKFEKOUiQ== - -is-regex@^1.1.4: - version "1.1.4" - resolved "https://registry.yarnpkg.com/is-regex/-/is-regex-1.1.4.tgz#eef5663cd59fa4c0ae339505323df6854bb15958" - integrity sha512-kvRdxDsxZjhzUX07ZnLydzS1TU/TJlTUHHY4YLL87e37oUA49DfkLqgy+VjFocowy29cKvcSiu+kIv728jTTVg== - dependencies: - call-bind "^1.0.2" - has-tostringtag "^1.0.0" - -is-set@^2.0.1, is-set@^2.0.2: - version "2.0.2" - resolved "https://registry.yarnpkg.com/is-set/-/is-set-2.0.2.tgz#90755fa4c2562dc1c5d4024760d6119b94ca18ec" - integrity sha512-+2cnTEZeY5z/iXGbLhPrOAaK/Mau5k5eXq9j14CpRTftq0pAJu2MwVRSZhyZWBzx3o6X795Lz6Bpb6R0GKf37g== - -is-shared-array-buffer@^1.0.2: - version "1.0.2" - resolved "https://registry.yarnpkg.com/is-shared-array-buffer/-/is-shared-array-buffer-1.0.2.tgz#8f259c573b60b6a32d4058a1a07430c0a7344c79" - integrity sha512-sqN2UDu1/0y6uvXyStCOzyhAjCSlHceFoMKJW8W9EU9cvic/QdsZ0kEU93HEy3IUEFZIiH/3w+AH/UQbPHNdhA== - dependencies: - call-bind "^1.0.2" - -is-stream@^2.0.0: - version "2.0.1" - resolved "https://registry.yarnpkg.com/is-stream/-/is-stream-2.0.1.tgz#fac1e3d53b97ad5a9d0ae9cef2389f5810a5c077" - integrity sha512-hFoiJiTl63nn+kstHGBtewWSKnQLpyb155KHheA1l39uvtO9nWIop1p3udqPcUd/xbF1VLMO4n7OI6p7RbngDg== - -is-string@^1.0.5, is-string@^1.0.7: - version "1.0.7" - resolved "https://registry.yarnpkg.com/is-string/-/is-string-1.0.7.tgz#0dd12bf2006f255bb58f695110eff7491eebc0fd" - integrity sha512-tE2UXzivje6ofPW7l23cjDOMa09gb7xlAqG6jG5ej6uPV32TlWP3NKPigtaGeHNu9fohccRYvIiZMfOOnOYUtg== - dependencies: - has-tostringtag "^1.0.0" - -is-symbol@^1.0.2, is-symbol@^1.0.3: - version "1.0.4" - resolved "https://registry.yarnpkg.com/is-symbol/-/is-symbol-1.0.4.tgz#a6dac93b635b063ca6872236de88910a57af139c" - integrity sha512-C/CPBqKWnvdcxqIARxyOh4v1UUEOCHpgDa0WYgpKDFMszcrPcffg5uhwSgPCLD2WWxmq6isisz87tzT01tuGhg== - dependencies: - has-symbols "^1.0.2" - -is-typed-array@^1.1.10, is-typed-array@^1.1.12, is-typed-array@^1.1.9: - version "1.1.12" - resolved "https://registry.yarnpkg.com/is-typed-array/-/is-typed-array-1.1.12.tgz#d0bab5686ef4a76f7a73097b95470ab199c57d4a" - integrity sha512-Z14TF2JNG8Lss5/HMqt0//T9JeHXttXy5pH/DBU4vi98ozO2btxzq9MwYDZYnKwU8nRsz/+GVFVRDq3DkVuSPg== - dependencies: - which-typed-array "^1.1.11" - -is-typedarray@~1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/is-typedarray/-/is-typedarray-1.0.0.tgz#e479c80858df0c1b11ddda6940f96011fcda4a9a" - integrity sha512-cyA56iCMHAh5CdzjJIa4aohJyeO1YbwLi3Jc35MmRU6poroFjIGZzUzupGiRPOjgHg9TLu43xbpwXk523fMxKA== - -is-unicode-supported@^0.1.0: - version "0.1.0" - resolved "https://registry.yarnpkg.com/is-unicode-supported/-/is-unicode-supported-0.1.0.tgz#3f26c76a809593b52bfa2ecb5710ed2779b522a7" - integrity sha512-knxG2q4UC3u8stRGyAVJCOdxFmv5DZiRcdlIaAQXAbSfJya+OhopNotLQrstBhququ4ZpuKbDc/8S6mgXgPFPw== - -is-weakmap@^2.0.1: - version "2.0.1" - resolved "https://registry.yarnpkg.com/is-weakmap/-/is-weakmap-2.0.1.tgz#5008b59bdc43b698201d18f62b37b2ca243e8cf2" - integrity sha512-NSBR4kH5oVj1Uwvv970ruUkCV7O1mzgVFO4/rev2cLRda9Tm9HrL70ZPut4rOHgY0FNrUu9BCbXA2sdQ+x0chA== - -is-weakref@^1.0.2: - version "1.0.2" - resolved "https://registry.yarnpkg.com/is-weakref/-/is-weakref-1.0.2.tgz#9529f383a9338205e89765e0392efc2f100f06f2" - integrity sha512-qctsuLZmIQ0+vSSMfoVvyFe2+GSEvnmZ2ezTup1SBse9+twCCeial6EEi3Nc2KFcf6+qz2FBPnjXsk8xhKSaPQ== - dependencies: - call-bind "^1.0.2" - -is-weakset@^2.0.1: - version "2.0.2" - resolved "https://registry.yarnpkg.com/is-weakset/-/is-weakset-2.0.2.tgz#4569d67a747a1ce5a994dfd4ef6dcea76e7c0a1d" - integrity sha512-t2yVvttHkQktwnNNmBQ98AhENLdPUTDTE21uPqAQ0ARwQfGeQKRVS0NNurH7bTf7RrvcVn1OOge45CnBeHCSmg== - dependencies: - call-bind "^1.0.2" - get-intrinsic "^1.1.1" - -is-window@^1.0.2: - version "1.0.2" - resolved "https://registry.yarnpkg.com/is-window/-/is-window-1.0.2.tgz#2c896ca53db97de45d3c33133a65d8c9f563480d" - integrity sha512-uj00kdXyZb9t9RcAUAwMZAnkBUwdYGhYlt7djMXhfyhUCzwNba50tIiBKR7q0l7tdoBtFVw/3JmLY6fI3rmZmg== - -isarray@0.0.1: - version "0.0.1" - resolved "https://registry.yarnpkg.com/isarray/-/isarray-0.0.1.tgz#8a18acfca9a8f4177e09abfc6038939b05d1eedf" - integrity sha512-D2S+3GLxWH+uhrNEcoh/fnmYeP8E8/zHl644d/jdA0g2uyXvy3sb0qxotE+ne0LtccHknQzWwZEzhak7oJ0COQ== - -isarray@^2.0.5: - version "2.0.5" - resolved "https://registry.yarnpkg.com/isarray/-/isarray-2.0.5.tgz#8af1e4c1221244cc62459faf38940d4e644a5723" - integrity sha512-xHjhDr3cNBK0BzdUJSPXZntQUx/mwMS5Rw4A7lPJ90XGAO6ISP/ePDNuo0vhqOZU+UD5JoodwCAAoZQd3FeAKw== - -isarray@~1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/isarray/-/isarray-1.0.0.tgz#bb935d48582cba168c06834957a54a3e07124f11" - integrity sha512-VLghIWNM6ELQzo7zwmcg0NmTVyWKYjvIeM83yjp0wRDTmUnrM678fQbcKBo6n2CJEF0szoG//ytg+TKla89ALQ== - -isexe@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/isexe/-/isexe-2.0.0.tgz#e8fbf374dc556ff8947a10dcb0572d633f2cfa10" - integrity sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw== - -isobject@^3.0.1: - version "3.0.1" - resolved "https://registry.yarnpkg.com/isobject/-/isobject-3.0.1.tgz#4e431e92b11a9731636aa1f9c8d1ccbcfdab78df" - integrity sha512-WhB9zCku7EGTj/HQQRz5aUQEUeoQZH2bWcltRErOpymJ4boYE6wL9Tbr23krRPSZ+C5zqNSrSw+Cc7sZZ4b7vg== - -isomorphic-base64@^1.0.2: - version "1.0.2" - resolved "https://registry.yarnpkg.com/isomorphic-base64/-/isomorphic-base64-1.0.2.tgz#f426aae82569ba8a4ec5ca73ad21a44ab1ee7803" - integrity sha512-pQFyLwShVPA1Qr0dE1ZPguJkbOsFGDfSq6Wzz6XaO33v74X6/iQjgYPozwkeKGQxOI1/H3Fz7+ROtnV1veyKEg== - -isstream@~0.1.2: - version "0.1.2" - resolved "https://registry.yarnpkg.com/isstream/-/isstream-0.1.2.tgz#47e63f7af55afa6f92e1500e690eb8b8529c099a" - integrity sha512-Yljz7ffyPbrLpLngrMtZ7NduUgVvi6wG9RJ9IUcyCd59YQ911PBJphODUcbOVbqYfxe1wuYf/LJ8PauMRwsM/g== - -istanbul-lib-coverage@^3.0.0, istanbul-lib-coverage@^3.2.0: - version "3.2.2" - resolved "https://registry.yarnpkg.com/istanbul-lib-coverage/-/istanbul-lib-coverage-3.2.2.tgz#2d166c4b0644d43a39f04bf6c2edd1e585f31756" - integrity sha512-O8dpsF+r0WV/8MNRKfnmrtCWhuKjxrq2w+jpzBL5UZKTi2LeVWnWOmWRxFlesJONmc+wLAGvKQZEOanko0LFTg== - -istanbul-lib-instrument@^5.0.4: - version "5.2.1" - resolved "https://registry.yarnpkg.com/istanbul-lib-instrument/-/istanbul-lib-instrument-5.2.1.tgz#d10c8885c2125574e1c231cacadf955675e1ce3d" - integrity sha512-pzqtp31nLv/XFOzXGuvhCb8qhjmTVo5vjVk19XE4CRlSWz0KoeJ3bw9XsA7nOp9YBf4qHjwBxkDzKcME/J29Yg== - dependencies: - "@babel/core" "^7.12.3" - "@babel/parser" "^7.14.7" - "@istanbuljs/schema" "^0.1.2" - istanbul-lib-coverage "^3.2.0" - semver "^6.3.0" - -istanbul-lib-instrument@^6.0.0: - version "6.0.1" - resolved "https://registry.yarnpkg.com/istanbul-lib-instrument/-/istanbul-lib-instrument-6.0.1.tgz#71e87707e8041428732518c6fb5211761753fbdf" - integrity sha512-EAMEJBsYuyyztxMxW3g7ugGPkrZsV57v0Hmv3mm1uQsmB+QnZuepg731CRaIgeUVSdmsTngOkSnauNF8p7FIhA== - dependencies: - "@babel/core" "^7.12.3" - "@babel/parser" "^7.14.7" - "@istanbuljs/schema" "^0.1.2" - istanbul-lib-coverage "^3.2.0" - semver "^7.5.4" - -istanbul-lib-report@^3.0.0: - version "3.0.1" - resolved "https://registry.yarnpkg.com/istanbul-lib-report/-/istanbul-lib-report-3.0.1.tgz#908305bac9a5bd175ac6a74489eafd0fc2445a7d" - integrity sha512-GCfE1mtsHGOELCU8e/Z7YWzpmybrx/+dSTfLrvY8qRmaY6zXTKWn6WQIjaAFw069icm6GVMNkgu0NzI4iPZUNw== - dependencies: - istanbul-lib-coverage "^3.0.0" - make-dir "^4.0.0" - supports-color "^7.1.0" - -istanbul-lib-source-maps@^4.0.0: - version "4.0.1" - resolved "https://registry.yarnpkg.com/istanbul-lib-source-maps/-/istanbul-lib-source-maps-4.0.1.tgz#895f3a709fcfba34c6de5a42939022f3e4358551" - integrity sha512-n3s8EwkdFIJCG3BPKBYvskgXGoy88ARzvegkitk60NxRdwltLOTaH7CUiMRXvwYorl0Q712iEjcWB+fK/MrWVw== - dependencies: - debug "^4.1.1" - istanbul-lib-coverage "^3.0.0" - source-map "^0.6.1" - -istanbul-reports@^3.1.3: - version "3.1.6" - resolved "https://registry.yarnpkg.com/istanbul-reports/-/istanbul-reports-3.1.6.tgz#2544bcab4768154281a2f0870471902704ccaa1a" - integrity sha512-TLgnMkKg3iTDsQ9PbPTdpfAK2DzjF9mqUG7RMgcQl8oFjad8ob4laGxv5XV5U9MAfx8D6tSJiUyuAwzLicaxlg== - dependencies: - html-escaper "^2.0.0" - istanbul-lib-report "^3.0.0" - -jackspeak@^2.3.5: - version "2.3.6" - resolved "https://registry.yarnpkg.com/jackspeak/-/jackspeak-2.3.6.tgz#647ecc472238aee4b06ac0e461acc21a8c505ca8" - integrity sha512-N3yCS/NegsOBokc8GAdM8UcmfsKiSS8cipheD/nivzr700H+nsMOxJjQnvwOcRYVuFkdH0wGUvW2WbXGmrZGbQ== - dependencies: - "@isaacs/cliui" "^8.0.2" - optionalDependencies: - "@pkgjs/parseargs" "^0.11.0" - -jest-changed-files@^29.7.0: - version "29.7.0" - resolved "https://registry.yarnpkg.com/jest-changed-files/-/jest-changed-files-29.7.0.tgz#1c06d07e77c78e1585d020424dedc10d6e17ac3a" - integrity sha512-fEArFiwf1BpQ+4bXSprcDc3/x4HSzL4al2tozwVpDFpsxALjLYdyiIK4e5Vz66GQJIbXJ82+35PtysofptNX2w== - dependencies: - execa "^5.0.0" - jest-util "^29.7.0" - p-limit "^3.1.0" - -jest-circus@^29.7.0: - version "29.7.0" - resolved "https://registry.yarnpkg.com/jest-circus/-/jest-circus-29.7.0.tgz#b6817a45fcc835d8b16d5962d0c026473ee3668a" - integrity sha512-3E1nCMgipcTkCocFwM90XXQab9bS+GMsjdpmPrlelaxwD93Ad8iVEjX/vvHPdLPnFf+L40u+5+iutRdA1N9myw== - dependencies: - "@jest/environment" "^29.7.0" - "@jest/expect" "^29.7.0" - "@jest/test-result" "^29.7.0" - "@jest/types" "^29.6.3" - "@types/node" "*" - chalk "^4.0.0" - co "^4.6.0" - dedent "^1.0.0" - is-generator-fn "^2.0.0" - jest-each "^29.7.0" - jest-matcher-utils "^29.7.0" - jest-message-util "^29.7.0" - jest-runtime "^29.7.0" - jest-snapshot "^29.7.0" - jest-util "^29.7.0" - p-limit "^3.1.0" - pretty-format "^29.7.0" - pure-rand "^6.0.0" - slash "^3.0.0" - stack-utils "^2.0.3" - -jest-cli@^29.7.0: - version "29.7.0" - resolved "https://registry.yarnpkg.com/jest-cli/-/jest-cli-29.7.0.tgz#5592c940798e0cae677eec169264f2d839a37995" - integrity sha512-OVVobw2IubN/GSYsxETi+gOe7Ka59EFMR/twOU3Jb2GnKKeMGJB5SGUUrEz3SFVmJASUdZUzy83sLNNQ2gZslg== - dependencies: - "@jest/core" "^29.7.0" - "@jest/test-result" "^29.7.0" - "@jest/types" "^29.6.3" - chalk "^4.0.0" - create-jest "^29.7.0" - exit "^0.1.2" - import-local "^3.0.2" - jest-config "^29.7.0" - jest-util "^29.7.0" - jest-validate "^29.7.0" - yargs "^17.3.1" - -jest-config@^29.7.0: - version "29.7.0" - resolved "https://registry.yarnpkg.com/jest-config/-/jest-config-29.7.0.tgz#bcbda8806dbcc01b1e316a46bb74085a84b0245f" - integrity sha512-uXbpfeQ7R6TZBqI3/TxCU4q4ttk3u0PJeC+E0zbfSoSjq6bJ7buBPxzQPL0ifrkY4DNu4JUdk0ImlBUYi840eQ== - dependencies: - "@babel/core" "^7.11.6" - "@jest/test-sequencer" "^29.7.0" - "@jest/types" "^29.6.3" - babel-jest "^29.7.0" - chalk "^4.0.0" - ci-info "^3.2.0" - deepmerge "^4.2.2" - glob "^7.1.3" - graceful-fs "^4.2.9" - jest-circus "^29.7.0" - jest-environment-node "^29.7.0" - jest-get-type "^29.6.3" - jest-regex-util "^29.6.3" - jest-resolve "^29.7.0" - jest-runner "^29.7.0" - jest-util "^29.7.0" - jest-validate "^29.7.0" - micromatch "^4.0.4" - parse-json "^5.2.0" - pretty-format "^29.7.0" - slash "^3.0.0" - strip-json-comments "^3.1.1" - -jest-diff@^29.7.0: - version "29.7.0" - resolved "https://registry.yarnpkg.com/jest-diff/-/jest-diff-29.7.0.tgz#017934a66ebb7ecf6f205e84699be10afd70458a" - integrity sha512-LMIgiIrhigmPrs03JHpxUh2yISK3vLFPkAodPeo0+BuF7wA2FoQbkEg1u8gBYBThncu7e1oEDUfIXVuTqLRUjw== - dependencies: - chalk "^4.0.0" - diff-sequences "^29.6.3" - jest-get-type "^29.6.3" - pretty-format "^29.7.0" - -jest-docblock@^29.7.0: - version "29.7.0" - resolved "https://registry.yarnpkg.com/jest-docblock/-/jest-docblock-29.7.0.tgz#8fddb6adc3cdc955c93e2a87f61cfd350d5d119a" - integrity sha512-q617Auw3A612guyaFgsbFeYpNP5t2aoUNLwBUbc/0kD1R4t9ixDbyFTHd1nok4epoVFpr7PmeWHrhvuV3XaJ4g== - dependencies: - detect-newline "^3.0.0" - -jest-each@^29.7.0: - version "29.7.0" - resolved "https://registry.yarnpkg.com/jest-each/-/jest-each-29.7.0.tgz#162a9b3f2328bdd991beaabffbb74745e56577d1" - integrity sha512-gns+Er14+ZrEoC5fhOfYCY1LOHHr0TI+rQUHZS8Ttw2l7gl+80eHc/gFf2Ktkw0+SIACDTeWvpFcv3B04VembQ== - dependencies: - "@jest/types" "^29.6.3" - chalk "^4.0.0" - jest-get-type "^29.6.3" - jest-util "^29.7.0" - pretty-format "^29.7.0" - -jest-environment-jsdom@^29.5.0: - version "29.7.0" - resolved "https://registry.yarnpkg.com/jest-environment-jsdom/-/jest-environment-jsdom-29.7.0.tgz#d206fa3551933c3fd519e5dfdb58a0f5139a837f" - integrity sha512-k9iQbsf9OyOfdzWH8HDmrRT0gSIcX+FLNW7IQq94tFX0gynPwqDTW0Ho6iMVNjGz/nb+l/vW3dWM2bbLLpkbXA== - dependencies: - "@jest/environment" "^29.7.0" - "@jest/fake-timers" "^29.7.0" - "@jest/types" "^29.6.3" - "@types/jsdom" "^20.0.0" - "@types/node" "*" - jest-mock "^29.7.0" - jest-util "^29.7.0" - jsdom "^20.0.0" - -jest-environment-node@^29.7.0: - version "29.7.0" - resolved "https://registry.yarnpkg.com/jest-environment-node/-/jest-environment-node-29.7.0.tgz#0b93e111dda8ec120bc8300e6d1fb9576e164376" - integrity sha512-DOSwCRqXirTOyheM+4d5YZOrWcdu0LNZ87ewUoywbcb2XR4wKgqiG8vNeYwhjFMbEkfju7wx2GYH0P2gevGvFw== - dependencies: - "@jest/environment" "^29.7.0" - "@jest/fake-timers" "^29.7.0" - "@jest/types" "^29.6.3" - "@types/node" "*" - jest-mock "^29.7.0" - jest-util "^29.7.0" - -jest-get-type@^29.6.3: - version "29.6.3" - resolved "https://registry.yarnpkg.com/jest-get-type/-/jest-get-type-29.6.3.tgz#36f499fdcea197c1045a127319c0481723908fd1" - integrity sha512-zrteXnqYxfQh7l5FHyL38jL39di8H8rHoecLH3JNxH3BwOrBsNeabdap5e0I23lD4HHI8W5VFBZqG4Eaq5LNcw== - -jest-haste-map@^29.7.0: - version "29.7.0" - resolved "https://registry.yarnpkg.com/jest-haste-map/-/jest-haste-map-29.7.0.tgz#3c2396524482f5a0506376e6c858c3bbcc17b104" - integrity sha512-fP8u2pyfqx0K1rGn1R9pyE0/KTn+G7PxktWidOBTqFPLYX0b9ksaMFkhK5vrS3DVun09pckLdlx90QthlW7AmA== - dependencies: - "@jest/types" "^29.6.3" - "@types/graceful-fs" "^4.1.3" - "@types/node" "*" - anymatch "^3.0.3" - fb-watchman "^2.0.0" - graceful-fs "^4.2.9" - jest-regex-util "^29.6.3" - jest-util "^29.7.0" - jest-worker "^29.7.0" - micromatch "^4.0.4" - walker "^1.0.8" - optionalDependencies: - fsevents "^2.3.2" - -jest-leak-detector@^29.7.0: - version "29.7.0" - resolved "https://registry.yarnpkg.com/jest-leak-detector/-/jest-leak-detector-29.7.0.tgz#5b7ec0dadfdfec0ca383dc9aa016d36b5ea4c728" - integrity sha512-kYA8IJcSYtST2BY9I+SMC32nDpBT3J2NvWJx8+JCuCdl/CR1I4EKUJROiP8XtCcxqgTTBGJNdbB1A8XRKbTetw== - dependencies: - jest-get-type "^29.6.3" - pretty-format "^29.7.0" - -jest-matcher-utils@^29.7.0: - version "29.7.0" - resolved "https://registry.yarnpkg.com/jest-matcher-utils/-/jest-matcher-utils-29.7.0.tgz#ae8fec79ff249fd592ce80e3ee474e83a6c44f12" - integrity sha512-sBkD+Xi9DtcChsI3L3u0+N0opgPYnCRPtGcQYrgXmR+hmt/fYfWAL0xRXYU8eWOdfuLgBe0YCW3AFtnRLagq/g== - dependencies: - chalk "^4.0.0" - jest-diff "^29.7.0" - jest-get-type "^29.6.3" - pretty-format "^29.7.0" - -jest-message-util@^29.7.0: - version "29.7.0" - resolved "https://registry.yarnpkg.com/jest-message-util/-/jest-message-util-29.7.0.tgz#8bc392e204e95dfe7564abbe72a404e28e51f7f3" - integrity sha512-GBEV4GRADeP+qtB2+6u61stea8mGcOT4mCtrYISZwfu9/ISHFJ/5zOMXYbpBE9RsS5+Gb63DW4FgmnKJ79Kf6w== - dependencies: - "@babel/code-frame" "^7.12.13" - "@jest/types" "^29.6.3" - "@types/stack-utils" "^2.0.0" - chalk "^4.0.0" - graceful-fs "^4.2.9" - micromatch "^4.0.4" - pretty-format "^29.7.0" - slash "^3.0.0" - stack-utils "^2.0.3" - -jest-mock@^29.7.0: - version "29.7.0" - resolved "https://registry.yarnpkg.com/jest-mock/-/jest-mock-29.7.0.tgz#4e836cf60e99c6fcfabe9f99d017f3fdd50a6347" - integrity sha512-ITOMZn+UkYS4ZFh83xYAOzWStloNzJFO2s8DWrE4lhtGD+AorgnbkiKERe4wQVBydIGPx059g6riW5Btp6Llnw== - dependencies: - "@jest/types" "^29.6.3" - "@types/node" "*" - jest-util "^29.7.0" - -jest-pnp-resolver@^1.2.2: - version "1.2.3" - resolved "https://registry.yarnpkg.com/jest-pnp-resolver/-/jest-pnp-resolver-1.2.3.tgz#930b1546164d4ad5937d5540e711d4d38d4cad2e" - integrity sha512-+3NpwQEnRoIBtx4fyhblQDPgJI0H1IEIkX7ShLUjPGA7TtUTvI1oiKi3SR4oBR0hQhQR80l4WAe5RrXBwWMA8w== - -jest-regex-util@^29.6.3: - version "29.6.3" - resolved "https://registry.yarnpkg.com/jest-regex-util/-/jest-regex-util-29.6.3.tgz#4a556d9c776af68e1c5f48194f4d0327d24e8a52" - integrity sha512-KJJBsRCyyLNWCNBOvZyRDnAIfUiRJ8v+hOBQYGn8gDyF3UegwiP4gwRR3/SDa42g1YbVycTidUF3rKjyLFDWbg== - -jest-resolve-dependencies@^29.7.0: - version "29.7.0" - resolved "https://registry.yarnpkg.com/jest-resolve-dependencies/-/jest-resolve-dependencies-29.7.0.tgz#1b04f2c095f37fc776ff40803dc92921b1e88428" - integrity sha512-un0zD/6qxJ+S0et7WxeI3H5XSe9lTBBR7bOHCHXkKR6luG5mwDDlIzVQ0V5cZCuoTgEdcdwzTghYkTWfubi+nA== - dependencies: - jest-regex-util "^29.6.3" - jest-snapshot "^29.7.0" - -jest-resolve@^29.7.0: - version "29.7.0" - resolved "https://registry.yarnpkg.com/jest-resolve/-/jest-resolve-29.7.0.tgz#64d6a8992dd26f635ab0c01e5eef4399c6bcbc30" - integrity sha512-IOVhZSrg+UvVAshDSDtHyFCCBUl/Q3AAJv8iZ6ZjnZ74xzvwuzLXid9IIIPgTnY62SJjfuupMKZsZQRsCvxEgA== - dependencies: - chalk "^4.0.0" - graceful-fs "^4.2.9" - jest-haste-map "^29.7.0" - jest-pnp-resolver "^1.2.2" - jest-util "^29.7.0" - jest-validate "^29.7.0" - resolve "^1.20.0" - resolve.exports "^2.0.0" - slash "^3.0.0" - -jest-runner@^29.7.0: - version "29.7.0" - resolved "https://registry.yarnpkg.com/jest-runner/-/jest-runner-29.7.0.tgz#809af072d408a53dcfd2e849a4c976d3132f718e" - integrity sha512-fsc4N6cPCAahybGBfTRcq5wFR6fpLznMg47sY5aDpsoejOcVYFb07AHuSnR0liMcPTgBsA3ZJL6kFOjPdoNipQ== - dependencies: - "@jest/console" "^29.7.0" - "@jest/environment" "^29.7.0" - "@jest/test-result" "^29.7.0" - "@jest/transform" "^29.7.0" - "@jest/types" "^29.6.3" - "@types/node" "*" - chalk "^4.0.0" - emittery "^0.13.1" - graceful-fs "^4.2.9" - jest-docblock "^29.7.0" - jest-environment-node "^29.7.0" - jest-haste-map "^29.7.0" - jest-leak-detector "^29.7.0" - jest-message-util "^29.7.0" - jest-resolve "^29.7.0" - jest-runtime "^29.7.0" - jest-util "^29.7.0" - jest-watcher "^29.7.0" - jest-worker "^29.7.0" - p-limit "^3.1.0" - source-map-support "0.5.13" - -jest-runtime@^29.7.0: - version "29.7.0" - resolved "https://registry.yarnpkg.com/jest-runtime/-/jest-runtime-29.7.0.tgz#efecb3141cf7d3767a3a0cc8f7c9990587d3d817" - integrity sha512-gUnLjgwdGqW7B4LvOIkbKs9WGbn+QLqRQQ9juC6HndeDiezIwhDP+mhMwHWCEcfQ5RUXa6OPnFF8BJh5xegwwQ== - dependencies: - "@jest/environment" "^29.7.0" - "@jest/fake-timers" "^29.7.0" - "@jest/globals" "^29.7.0" - "@jest/source-map" "^29.6.3" - "@jest/test-result" "^29.7.0" - "@jest/transform" "^29.7.0" - "@jest/types" "^29.6.3" - "@types/node" "*" - chalk "^4.0.0" - cjs-module-lexer "^1.0.0" - collect-v8-coverage "^1.0.0" - glob "^7.1.3" - graceful-fs "^4.2.9" - jest-haste-map "^29.7.0" - jest-message-util "^29.7.0" - jest-mock "^29.7.0" - jest-regex-util "^29.6.3" - jest-resolve "^29.7.0" - jest-snapshot "^29.7.0" - jest-util "^29.7.0" - slash "^3.0.0" - strip-bom "^4.0.0" - -jest-snapshot@^29.7.0: - version "29.7.0" - resolved "https://registry.yarnpkg.com/jest-snapshot/-/jest-snapshot-29.7.0.tgz#c2c574c3f51865da1bb329036778a69bf88a6be5" - integrity sha512-Rm0BMWtxBcioHr1/OX5YCP8Uov4riHvKPknOGs804Zg9JGZgmIBkbtlxJC/7Z4msKYVbIJtfU+tKb8xlYNfdkw== - dependencies: - "@babel/core" "^7.11.6" - "@babel/generator" "^7.7.2" - "@babel/plugin-syntax-jsx" "^7.7.2" - "@babel/plugin-syntax-typescript" "^7.7.2" - "@babel/types" "^7.3.3" - "@jest/expect-utils" "^29.7.0" - "@jest/transform" "^29.7.0" - "@jest/types" "^29.6.3" - babel-preset-current-node-syntax "^1.0.0" - chalk "^4.0.0" - expect "^29.7.0" - graceful-fs "^4.2.9" - jest-diff "^29.7.0" - jest-get-type "^29.6.3" - jest-matcher-utils "^29.7.0" - jest-message-util "^29.7.0" - jest-util "^29.7.0" - natural-compare "^1.4.0" - pretty-format "^29.7.0" - semver "^7.5.3" - -jest-util@^29.7.0: - version "29.7.0" - resolved "https://registry.yarnpkg.com/jest-util/-/jest-util-29.7.0.tgz#23c2b62bfb22be82b44de98055802ff3710fc0bc" - integrity sha512-z6EbKajIpqGKU56y5KBUgy1dt1ihhQJgWzUlZHArA/+X2ad7Cb5iF+AK1EWVL/Bo7Rz9uurpqw6SiBCefUbCGA== - dependencies: - "@jest/types" "^29.6.3" - "@types/node" "*" - chalk "^4.0.0" - ci-info "^3.2.0" - graceful-fs "^4.2.9" - picomatch "^2.2.3" - -jest-validate@^29.7.0: - version "29.7.0" - resolved "https://registry.yarnpkg.com/jest-validate/-/jest-validate-29.7.0.tgz#7bf705511c64da591d46b15fce41400d52147d9c" - integrity sha512-ZB7wHqaRGVw/9hST/OuFUReG7M8vKeq0/J2egIGLdvjHCmYqGARhzXmtgi+gVeZ5uXFF219aOc3Ls2yLg27tkw== - dependencies: - "@jest/types" "^29.6.3" - camelcase "^6.2.0" - chalk "^4.0.0" - jest-get-type "^29.6.3" - leven "^3.1.0" - pretty-format "^29.7.0" - -jest-watcher@^29.7.0: - version "29.7.0" - resolved "https://registry.yarnpkg.com/jest-watcher/-/jest-watcher-29.7.0.tgz#7810d30d619c3a62093223ce6bb359ca1b28a2f2" - integrity sha512-49Fg7WXkU3Vl2h6LbLtMQ/HyB6rXSIX7SqvBLQmssRBGN9I0PNvPmAmCWSOY6SOvrjhI/F7/bGAv9RtnsPA03g== - dependencies: - "@jest/test-result" "^29.7.0" - "@jest/types" "^29.6.3" - "@types/node" "*" - ansi-escapes "^4.2.1" - chalk "^4.0.0" - emittery "^0.13.1" - jest-util "^29.7.0" - string-length "^4.0.1" - -jest-worker@^27.4.5: - version "27.5.1" - resolved "https://registry.yarnpkg.com/jest-worker/-/jest-worker-27.5.1.tgz#8d146f0900e8973b106b6f73cc1e9a8cb86f8db0" - integrity sha512-7vuh85V5cdDofPyxn58nrPjBktZo0u9x1g8WtjQol+jZDaE+fhN+cIvTj11GndBnMnyfrUOG1sZQxCdjKh+DKg== - dependencies: - "@types/node" "*" - merge-stream "^2.0.0" - supports-color "^8.0.0" - -jest-worker@^29.5.0, jest-worker@^29.7.0: - version "29.7.0" - resolved "https://registry.yarnpkg.com/jest-worker/-/jest-worker-29.7.0.tgz#acad073acbbaeb7262bd5389e1bcf43e10058d4a" - integrity sha512-eIz2msL/EzL9UFTFFx7jBTkeZfku0yUAyZZZmJ93H2TYEiroIx2PQjEXcwYtYl8zXCxb+PAmA2hLIt/6ZEkPHw== - dependencies: - "@types/node" "*" - jest-util "^29.7.0" - merge-stream "^2.0.0" - supports-color "^8.0.0" - -jest@^29.5.0: - version "29.7.0" - resolved "https://registry.yarnpkg.com/jest/-/jest-29.7.0.tgz#994676fc24177f088f1c5e3737f5697204ff2613" - integrity sha512-NIy3oAFp9shda19hy4HK0HRTWKtPJmGdnvywu01nOqNC2vZg+Z+fvJDxpMQA88eb2I9EcafcdjYgsDthnYTvGw== - dependencies: - "@jest/core" "^29.7.0" - "@jest/types" "^29.6.3" - import-local "^3.0.2" - jest-cli "^29.7.0" - -jquery@3.6.3: - version "3.6.3" - resolved "https://registry.yarnpkg.com/jquery/-/jquery-3.6.3.tgz#23ed2ffed8a19e048814f13391a19afcdba160e6" - integrity sha512-bZ5Sy3YzKo9Fyc8wH2iIQK4JImJ6R0GWI9kL1/k7Z91ZBNgkRXE6U0JfHIizZbort8ZunhSI3jw9I6253ahKfg== - -js-cookie@^2.2.1: - version "2.2.1" - resolved "https://registry.yarnpkg.com/js-cookie/-/js-cookie-2.2.1.tgz#69e106dc5d5806894562902aa5baec3744e9b2b8" - integrity sha512-HvdH2LzI/EAZcUwA8+0nKNtWHqS+ZmijLA30RwZA0bo7ToCckjK5MkGhjED9KoRcXO6BaGI3I9UIzSA1FKFPOQ== - -"js-tokens@^3.0.0 || ^4.0.0", js-tokens@^4.0.0: - version "4.0.0" - resolved "https://registry.yarnpkg.com/js-tokens/-/js-tokens-4.0.0.tgz#19203fb59991df98e3a287050d4647cdeaf32499" - integrity sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ== - -js-yaml@4.1.0, js-yaml@^4.1.0: - version "4.1.0" - resolved "https://registry.yarnpkg.com/js-yaml/-/js-yaml-4.1.0.tgz#c1fb65f8f5017901cdd2c951864ba18458a10602" - integrity sha512-wpxZs9NoxZaJESJGIZTyDEaYpl0FKSA+FB9aJiyemKhMwkxQg63h4T1KJgUGHpTqPDNRcmmYLugrRjJlBtWvRA== - dependencies: - argparse "^2.0.1" - -js-yaml@^3.13.1: - version "3.14.1" - resolved "https://registry.yarnpkg.com/js-yaml/-/js-yaml-3.14.1.tgz#dae812fdb3825fa306609a8717383c50c36a0537" - integrity sha512-okMH7OXXJ7YrN9Ok3/SXrnu4iX9yOk+25nqX4imS2npuvTYDmo/QEZoqwZkYaIDk3jVvBOTOIEgEhaLOynBS9g== - dependencies: - argparse "^1.0.7" - esprima "^4.0.0" - -jsbn@~0.1.0: - version "0.1.1" - resolved "https://registry.yarnpkg.com/jsbn/-/jsbn-0.1.1.tgz#a5e654c2e5a2deb5f201d96cefbca80c0ef2f513" - integrity sha512-UVU9dibq2JcFWxQPA6KCqj5O42VOmAY3zQUfEKxU0KpTGXwNoCjkX1e13eHNvw/xPynt6pU0rZ1htjWTNTSXsg== - -jsdoc-type-pratt-parser@~4.0.0: - version "4.0.0" - resolved "https://registry.yarnpkg.com/jsdoc-type-pratt-parser/-/jsdoc-type-pratt-parser-4.0.0.tgz#136f0571a99c184d84ec84662c45c29ceff71114" - integrity sha512-YtOli5Cmzy3q4dP26GraSOeAhqecewG04hoO8DY56CH4KJ9Fvv5qKWUCCo3HZob7esJQHCv6/+bnTy72xZZaVQ== - -jsdom@^20.0.0: - version "20.0.3" - resolved "https://registry.yarnpkg.com/jsdom/-/jsdom-20.0.3.tgz#886a41ba1d4726f67a8858028c99489fed6ad4db" - integrity sha512-SYhBvTh89tTfCD/CRdSOm13mOBa42iTaTyfyEWBdKcGdPxPtLFBXuHR8XHb33YNYaP+lLbmSvBTsnoesCNJEsQ== - dependencies: - abab "^2.0.6" - acorn "^8.8.1" - acorn-globals "^7.0.0" - cssom "^0.5.0" - cssstyle "^2.3.0" - data-urls "^3.0.2" - decimal.js "^10.4.2" - domexception "^4.0.0" - escodegen "^2.0.0" - form-data "^4.0.0" - html-encoding-sniffer "^3.0.0" - http-proxy-agent "^5.0.0" - https-proxy-agent "^5.0.1" - is-potential-custom-element-name "^1.0.1" - nwsapi "^2.2.2" - parse5 "^7.1.1" - saxes "^6.0.0" - symbol-tree "^3.2.4" - tough-cookie "^4.1.2" - w3c-xmlserializer "^4.0.0" - webidl-conversions "^7.0.0" - whatwg-encoding "^2.0.0" - whatwg-mimetype "^3.0.0" - whatwg-url "^11.0.0" - ws "^8.11.0" - xml-name-validator "^4.0.0" - -jsesc@^2.5.1: - version "2.5.2" - resolved "https://registry.yarnpkg.com/jsesc/-/jsesc-2.5.2.tgz#80564d2e483dacf6e8ef209650a67df3f0c283a4" - integrity sha512-OYu7XEzjkCQ3C5Ps3QIZsQfNpqoJyZZA99wd9aWd05NCtC5pWOkShK2mkL6HXQR6/Cy2lbNdPlZBpuQHXE63gA== - -jsesc@~0.5.0: - version "0.5.0" - resolved "https://registry.yarnpkg.com/jsesc/-/jsesc-0.5.0.tgz#e7dee66e35d6fc16f710fe91d5cf69f70f08911d" - integrity sha512-uZz5UnB7u4T9LvwmFqXii7pZSouaRPorGs5who1Ip7VO0wxanFvBL7GkM6dTHlgX+jhBApRetaWpnDabOeTcnA== - -json-buffer@3.0.1: - version "3.0.1" - resolved "https://registry.yarnpkg.com/json-buffer/-/json-buffer-3.0.1.tgz#9338802a30d3b6605fbe0613e094008ca8c05a13" - integrity sha512-4bV5BfR2mqfQTJm+V5tPPdf+ZpuhiIvTuAB5g8kcrXOZpTT/QwwVRWBywX1ozr6lEuPdbHxwaJlm9G6mI2sfSQ== - -json-parse-even-better-errors@^2.3.0, json-parse-even-better-errors@^2.3.1: - version "2.3.1" - resolved "https://registry.yarnpkg.com/json-parse-even-better-errors/-/json-parse-even-better-errors-2.3.1.tgz#7c47805a94319928e05777405dc12e1f7a4ee02d" - integrity sha512-xyFwyhro/JEof6Ghe2iz2NcXoj2sloNsWr/XsERDK/oiPCfaNhl5ONfp+jQdAZRQQ0IJWNzH9zIZF7li91kh2w== - -json-schema-traverse@^0.4.1: - version "0.4.1" - resolved "https://registry.yarnpkg.com/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz#69f6a87d9513ab8bb8fe63bdb0979c448e684660" - integrity sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg== - -json-schema-traverse@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/json-schema-traverse/-/json-schema-traverse-1.0.0.tgz#ae7bcb3656ab77a73ba5c49bf654f38e6b6860e2" - integrity sha512-NM8/P9n3XjXhIZn1lLhkFaACTOURQXjWhV4BA/RnOv8xvgqtqpAX9IO4mRQxSx1Rlo4tqzeqb0sOlruaOy3dug== - -json-schema@0.4.0: - version "0.4.0" - resolved "https://registry.yarnpkg.com/json-schema/-/json-schema-0.4.0.tgz#f7de4cf6efab838ebaeb3236474cbba5a1930ab5" - integrity sha512-es94M3nTIfsEPisRafak+HDLfHXnKBhV3vU5eqPcS3flIWqcxJWgXHXiey3YrpaNsanY5ei1VoYEbOzijuq9BA== - -json-stable-stringify-without-jsonify@^1.0.1: - version "1.0.1" - resolved "https://registry.yarnpkg.com/json-stable-stringify-without-jsonify/-/json-stable-stringify-without-jsonify-1.0.1.tgz#9db7b59496ad3f3cfef30a75142d2d930ad72651" - integrity sha512-Bdboy+l7tA3OGW6FjyFHWkP5LuByj1Tk33Ljyq0axyzdk9//JSi2u3fP1QSmd1KNwq6VOKYGlAu87CisVir6Pw== - -json-stringify-pretty-compact@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/json-stringify-pretty-compact/-/json-stringify-pretty-compact-2.0.0.tgz#e77c419f52ff00c45a31f07f4c820c2433143885" - integrity sha512-WRitRfs6BGq4q8gTgOy4ek7iPFXjbra0H3PmDLKm2xnZ+Gh1HUhiKGgCZkSPNULlP7mvfu6FV/mOLhCarspADQ== - -json-stringify-safe@~5.0.1: - version "5.0.1" - resolved "https://registry.yarnpkg.com/json-stringify-safe/-/json-stringify-safe-5.0.1.tgz#1296a2d58fd45f19a0f6ce01d65701e2c735b6eb" - integrity sha512-ZClg6AaYvamvYEE82d3Iyd3vSSIjQ+odgjaTzRuO3s7toCdFKczob2i0zCh7JE8kWn17yvAWhUVxvqGwUalsRA== - -json5@^1.0.2: - version "1.0.2" - resolved "https://registry.yarnpkg.com/json5/-/json5-1.0.2.tgz#63d98d60f21b313b77c4d6da18bfa69d80e1d593" - integrity sha512-g1MWMLBiz8FKi1e4w0UyVL3w+iJceWAFBAaBnnGKOpNa5f8TLktkbre1+s6oICydWAm+HRUGTmI+//xv2hvXYA== - dependencies: - minimist "^1.2.0" - -json5@^2.1.2, json5@^2.2.1, json5@^2.2.2, json5@^2.2.3: - version "2.2.3" - resolved "https://registry.yarnpkg.com/json5/-/json5-2.2.3.tgz#78cd6f1a19bdc12b73db5ad0c61efd66c1e29283" - integrity sha512-XmOWe7eyHYH14cLdVPoyg+GOH3rYX++KpzrylJwSW98t3Nk+U8XOl8FWKOgwtzdb8lXGf6zYwDUzeHMWfxasyg== - -jsonc-parser@^3.2.0: - version "3.2.1" - resolved "https://registry.yarnpkg.com/jsonc-parser/-/jsonc-parser-3.2.1.tgz#031904571ccf929d7670ee8c547545081cb37f1a" - integrity sha512-AilxAyFOAcK5wA1+LeaySVBrHsGQvUFCDWXKpZjzaL0PqW+xfBOttn8GNtWKFWqneyMZj41MWF9Kl6iPWLwgOA== - -jsonfile@^6.0.1: - version "6.1.0" - resolved "https://registry.yarnpkg.com/jsonfile/-/jsonfile-6.1.0.tgz#bc55b2634793c679ec6403094eb13698a6ec0aae" - integrity sha512-5dgndWOriYSm5cnYaJNhalLNDKOqFwyDB/rr1E9ZsGciGvKPs8R2xYGCacuf3z6K1YKDz182fd+fY3cn3pMqXQ== - dependencies: - universalify "^2.0.0" - optionalDependencies: - graceful-fs "^4.1.6" - -jsprim@^1.2.2: - version "1.4.2" - resolved "https://registry.yarnpkg.com/jsprim/-/jsprim-1.4.2.tgz#712c65533a15c878ba59e9ed5f0e26d5b77c5feb" - integrity sha512-P2bSOMAc/ciLz6DzgjVlGJP9+BrJWu5UDGK70C2iweC5QBIeFf0ZXRvGjEj2uYgrY2MkAAhsSWHDWlFtEroZWw== - dependencies: - assert-plus "1.0.0" - extsprintf "1.3.0" - json-schema "0.4.0" - verror "1.10.0" - -jsprim@^2.0.2: - version "2.0.2" - resolved "https://registry.yarnpkg.com/jsprim/-/jsprim-2.0.2.tgz#77ca23dbcd4135cd364800d22ff82c2185803d4d" - integrity sha512-gqXddjPqQ6G40VdnI6T6yObEC+pDNvyP95wdQhkWkg7crHH3km5qP1FsOXEkzEQwnz6gz5qGTn1c2Y52wP3OyQ== - dependencies: - assert-plus "1.0.0" - extsprintf "1.3.0" - json-schema "0.4.0" - verror "1.10.0" - -"jsx-ast-utils@^2.4.1 || ^3.0.0": - version "3.3.5" - resolved "https://registry.yarnpkg.com/jsx-ast-utils/-/jsx-ast-utils-3.3.5.tgz#4766bd05a8e2a11af222becd19e15575e52a853a" - integrity sha512-ZZow9HBI5O6EPgSJLUb8n2NKgmVWTwCvHGwFuJlMjvLFqlGG6pjirPhtdsseaLZjSibD8eegzmYpUZwoIlj2cQ== - dependencies: - array-includes "^3.1.6" - array.prototype.flat "^1.3.1" - object.assign "^4.1.4" - object.values "^1.1.6" - -keyv@^4.5.3: - version "4.5.4" - resolved "https://registry.yarnpkg.com/keyv/-/keyv-4.5.4.tgz#a879a99e29452f942439f2a405e3af8b31d4de93" - integrity sha512-oxVHkHR/EJf2CNXnWxRLW6mg7JyCCUcG0DtEGmL2ctUo1PNTin1PUil+r/+4r5MpVgC/fn1kjsx7mjSujKqIpw== - dependencies: - json-buffer "3.0.1" - -kind-of@^6.0.2: - version "6.0.3" - resolved "https://registry.yarnpkg.com/kind-of/-/kind-of-6.0.3.tgz#07c05034a6c349fa06e24fa35aa76db4580ce4dd" - integrity sha512-dcS1ul+9tmeD95T+x28/ehLgd9mENa3LsvDTtzm3vyBEO7RPptvAD+t44WVXaUjTBRcrpFeFlC8WCruUR456hw== - -kleur@^3.0.3: - version "3.0.3" - resolved "https://registry.yarnpkg.com/kleur/-/kleur-3.0.3.tgz#a79c9ecc86ee1ce3fa6206d1216c501f147fc07e" - integrity sha512-eTIzlVOSUR+JxdDFepEYcBMtZ9Qqdef+rnzWdRZuMbOywu5tO2w2N7rqjoANZ5k9vywhL6Br1VRjUIgTQx4E8w== - -klona@^2.0.6: - version "2.0.6" - resolved "https://registry.yarnpkg.com/klona/-/klona-2.0.6.tgz#85bffbf819c03b2f53270412420a4555ef882e22" - integrity sha512-dhG34DXATL5hSxJbIexCft8FChFXtmskoZYnoPWjXQuebWYCNkVeV3KkGegCK9CP1oswI/vQibS2GY7Em/sJJA== - -lazy-ass@^1.6.0: - version "1.6.0" - resolved "https://registry.yarnpkg.com/lazy-ass/-/lazy-ass-1.6.0.tgz#7999655e8646c17f089fdd187d150d3324d54513" - integrity sha512-cc8oEVoctTvsFZ/Oje/kGnHbpWHYBe8IAJe4C0QNc3t8uM/0Y8+erSz/7Y1ALuXTEZTMvxXwO6YbX1ey3ujiZw== - -lerc@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/lerc/-/lerc-3.0.0.tgz#36f36fbd4ba46f0abf4833799fff2e7d6865f5cb" - integrity sha512-Rm4J/WaHhRa93nCN2mwWDZFoRVF18G1f47C+kvQWyHGEZxFpTUi73p7lMVSAndyxGt6lJ2/CFbOcf9ra5p8aww== - -leven@^3.1.0: - version "3.1.0" - resolved "https://registry.yarnpkg.com/leven/-/leven-3.1.0.tgz#77891de834064cccba82ae7842bb6b14a13ed7f2" - integrity sha512-qsda+H8jTaUaN/x5vzW2rzc+8Rw4TAQ/4KjB46IwK5VH+IlVeeeje/EoZRpiXvIqjFgK84QffqPztGI3VBLG1A== - -levn@^0.4.1: - version "0.4.1" - resolved "https://registry.yarnpkg.com/levn/-/levn-0.4.1.tgz#ae4562c007473b932a6200d403268dd2fffc6ade" - integrity sha512-+bT2uH4E5LGE7h/n3evcS/sQlJXCpIp6ym8OWJ5eV6+67Dsql/LaaT7qJBAt2rzfoa/5QBGBhxDix1dMt2kQKQ== - dependencies: - prelude-ls "^1.2.1" - type-check "~0.4.0" - -lines-and-columns@^1.1.6: - version "1.2.4" - resolved "https://registry.yarnpkg.com/lines-and-columns/-/lines-and-columns-1.2.4.tgz#eca284f75d2965079309dc0ad9255abb2ebc1632" - integrity sha512-7ylylesZQ/PV29jhEDl3Ufjo6ZX7gCqJr5F7PKrqc93v7fzSymt1BpwEU8nAUXs8qzzvqhbjhK5QZg6Mt/HkBg== - -listr2@^3.8.3: - version "3.14.0" - resolved "https://registry.yarnpkg.com/listr2/-/listr2-3.14.0.tgz#23101cc62e1375fd5836b248276d1d2b51fdbe9e" - integrity sha512-TyWI8G99GX9GjE54cJ+RrNMcIFBfwMPxc3XTFiAYGN4s10hWROGtOg7+O6u6LE3mNkyld7RSLE6nrKBvTfcs3g== - dependencies: - cli-truncate "^2.1.0" - colorette "^2.0.16" - log-update "^4.0.0" - p-map "^4.0.0" - rfdc "^1.3.0" - rxjs "^7.5.1" - through "^2.3.8" - wrap-ansi "^7.0.0" - -livereload-js@^2.3.0: - version "2.4.0" - resolved "https://registry.yarnpkg.com/livereload-js/-/livereload-js-2.4.0.tgz#447c31cf1ea9ab52fc20db615c5ddf678f78009c" - integrity sha512-XPQH8Z2GDP/Hwz2PCDrh2mth4yFejwA1OZ/81Ti3LgKyhDcEjsSsqFWZojHG0va/duGd+WyosY7eXLDoOyqcPw== - -loader-runner@^4.2.0: - version "4.3.0" - resolved "https://registry.yarnpkg.com/loader-runner/-/loader-runner-4.3.0.tgz#c1b4a163b99f614830353b16755e7149ac2314e1" - integrity sha512-3R/1M+yS3j5ou80Me59j7F9IMs4PXs3VqRrm0TU3AbKPxlmpoY1TNscJV/oGJXo8qCatFGTfDbY6W6ipGOYXfg== - -loader-utils@^2.0.0: - version "2.0.4" - resolved "https://registry.yarnpkg.com/loader-utils/-/loader-utils-2.0.4.tgz#8b5cb38b5c34a9a018ee1fc0e6a066d1dfcc528c" - integrity sha512-xXqpXoINfFhgua9xiqD8fPFHgkoq1mmmpE92WlDbm9rNRd/EbRb+Gqf908T2DMfuHjjJlksiK2RbHVOdD/MqSw== - dependencies: - big.js "^5.2.2" - emojis-list "^3.0.0" - json5 "^2.1.2" - -locate-path@^5.0.0: - version "5.0.0" - resolved "https://registry.yarnpkg.com/locate-path/-/locate-path-5.0.0.tgz#1afba396afd676a6d42504d0a67a3a7eb9f62aa0" - integrity sha512-t7hw9pI+WvuwNJXwk5zVHpyhIqzg2qTlklJOf0mVxGSbe3Fp2VieZcduNYjaLDoy6p9uGpQEGWG87WpMKlNq8g== - dependencies: - p-locate "^4.1.0" - -locate-path@^6.0.0: - version "6.0.0" - resolved "https://registry.yarnpkg.com/locate-path/-/locate-path-6.0.0.tgz#55321eb309febbc59c4801d931a72452a681d286" - integrity sha512-iPZK6eYjbxRu3uB4/WZ3EsEIMJFMqAoopl3R+zuq0UjcAm/MO6KCweDgPfP3elTztoKP3KtnVHxTn2NHBSDVUw== - dependencies: - p-locate "^5.0.0" - -lodash.debounce@^4.0.8: - version "4.0.8" - resolved "https://registry.yarnpkg.com/lodash.debounce/-/lodash.debounce-4.0.8.tgz#82d79bff30a67c4005ffd5e2515300ad9ca4d7af" - integrity sha512-FT1yDzDYEoYWhnSGnpE/4Kj1fLZkDFyqRb7fNt6FdYOSxlUWAtp42Eh6Wb0rGIv/m9Bgo7x4GhQbm5Ys4SG5ow== - -lodash.isequal@^4.0.0: - version "4.5.0" - resolved "https://registry.yarnpkg.com/lodash.isequal/-/lodash.isequal-4.5.0.tgz#415c4478f2bcc30120c22ce10ed3226f7d3e18e0" - integrity sha512-pDo3lu8Jhfjqls6GkMgpahsF9kCyayhgykjyLMNFTKWrpVdAQtYyB4muAMWozBB4ig/dtWAmsMxLEI8wuz+DYQ== - -lodash.memoize@^4.1.1: - version "4.1.2" - resolved "https://registry.yarnpkg.com/lodash.memoize/-/lodash.memoize-4.1.2.tgz#bcc6c49a42a2840ed997f323eada5ecd182e0bfe" - integrity sha512-t7j+NzmgnQzTAYXcsHYLgimltOV1MXHtlOWf6GjL9Kj8GK5FInw5JotxvbOs+IvV1/Dzo04/fCGfLVs7aXb4Ag== - -lodash.merge@^4.6.2: - version "4.6.2" - resolved "https://registry.yarnpkg.com/lodash.merge/-/lodash.merge-4.6.2.tgz#558aa53b43b661e1925a0afdfa36a9a1085fe57a" - integrity sha512-0KpjqXRVvrYyCsX1swR/XTK0va6VQkQM6MNo7PqW77ByjAhoARA8EfrP1N4+KlKj8YS0ZUCtRT/YUuhyYDujIQ== - -lodash.once@^4.1.1: - version "4.1.1" - resolved "https://registry.yarnpkg.com/lodash.once/-/lodash.once-4.1.1.tgz#0dd3971213c7c56df880977d504c88fb471a97ac" - integrity sha512-Sb487aTOCr9drQVL8pIxOzVhafOjZN9UU54hiN8PU3uAiSV7lx1yYNpbNmex2PK6dSJoNTSJUUswT651yww3Mg== - -lodash@4.17.21, lodash@^4.1.1, lodash@^4.17.14, lodash@^4.17.15, lodash@^4.17.20, lodash@^4.17.21, lodash@^4.17.4: - version "4.17.21" - resolved "https://registry.yarnpkg.com/lodash/-/lodash-4.17.21.tgz#679591c564c3bffaae8454cf0b3df370c3d6911c" - integrity sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg== - -log-symbols@4.1.0, log-symbols@^4.0.0: - version "4.1.0" - resolved "https://registry.yarnpkg.com/log-symbols/-/log-symbols-4.1.0.tgz#3fbdbb95b4683ac9fc785111e792e558d4abd503" - integrity sha512-8XPvpAA8uyhfteu8pIvQxpJZ7SYYdpUivZpGy6sFsBuKRY/7rQGavedeB8aK+Zkyq6upMFVL/9AW6vOYzfRyLg== - dependencies: - chalk "^4.1.0" - is-unicode-supported "^0.1.0" - -log-update@^4.0.0: - version "4.0.0" - resolved "https://registry.yarnpkg.com/log-update/-/log-update-4.0.0.tgz#589ecd352471f2a1c0c570287543a64dfd20e0a1" - integrity sha512-9fkkDevMefjg0mmzWFBW8YkFP91OrizzkW3diF7CpG+S2EYdy4+TVfGwz1zeF8x7hCx1ovSPTOE9Ngib74qqUg== - dependencies: - ansi-escapes "^4.3.0" - cli-cursor "^3.1.0" - slice-ansi "^4.0.0" - wrap-ansi "^6.2.0" - -log4js@1.1.1: - version "1.1.1" - resolved "https://registry.yarnpkg.com/log4js/-/log4js-1.1.1.tgz#c21d29c7604089e4f255833e7f94b3461de1ff43" - integrity sha512-lYb14ZSs1M/CUFuvy7Zk3VZLDtqrqOaVql9CE0tv8g6/qE1Gfq97XKdltBsjSxxvcJ+t8fAXOnvFxSsms7gGVg== - dependencies: - debug "^2.2.0" - semver "^5.3.0" - streamroller "^0.4.0" - -loose-envify@^1.0.0, loose-envify@^1.1.0, loose-envify@^1.2.0, loose-envify@^1.3.1, loose-envify@^1.4.0: - version "1.4.0" - resolved "https://registry.yarnpkg.com/loose-envify/-/loose-envify-1.4.0.tgz#71ee51fa7be4caec1a63839f7e682d8132d30caf" - integrity sha512-lyuxPGr/Wfhrlem2CL/UcnUc1zcqKAImBDzukY7Y5F/yQiNdko6+fRLevlw1HgMySw7f611UIY408EtxRSoK3Q== - dependencies: - js-tokens "^3.0.0 || ^4.0.0" - -lru-cache@^5.1.1: - version "5.1.1" - resolved "https://registry.yarnpkg.com/lru-cache/-/lru-cache-5.1.1.tgz#1da27e6710271947695daf6848e847f01d84b920" - integrity sha512-KpNARQA3Iwv+jTA0utUVVbrh+Jlrr1Fv0e56GGzAFOXN7dk/FviaDW8LHmK52DlcH4WP2n6gI8vN1aesBFgo9w== - dependencies: - yallist "^3.0.2" - -lru-cache@^6.0.0: - version "6.0.0" - resolved "https://registry.yarnpkg.com/lru-cache/-/lru-cache-6.0.0.tgz#6d6fe6570ebd96aaf90fcad1dafa3b2566db3a94" - integrity sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA== - dependencies: - yallist "^4.0.0" - -"lru-cache@^9.1.1 || ^10.0.0": - version "10.2.0" - resolved "https://registry.yarnpkg.com/lru-cache/-/lru-cache-10.2.0.tgz#0bd445ca57363465900f4d1f9bd8db343a4d95c3" - integrity sha512-2bIM8x+VAf6JT4bKAljS1qUWgMsqZRPGJS6FSahIMPVvctcNhyVp7AJu7quxOW9jwkryBReKZY5tY5JYv2n/7Q== - -lz-string@^1.5.0: - version "1.5.0" - resolved "https://registry.yarnpkg.com/lz-string/-/lz-string-1.5.0.tgz#c1ab50f77887b712621201ba9fd4e3a6ed099941" - integrity sha512-h5bgJWpxJNswbU7qCrV0tIKQCaS3blPDrqKWx+QxzuzL1zGUzij9XCWLrSLsJPu5t+eWA/ycetzYAO5IOMcWAQ== - -make-dir@^3.0.2: - version "3.1.0" - resolved "https://registry.yarnpkg.com/make-dir/-/make-dir-3.1.0.tgz#415e967046b3a7f1d185277d84aa58203726a13f" - integrity sha512-g3FeP20LNwhALb/6Cz6Dd4F2ngze0jz7tbzrD2wAV+o9FeNHe4rL+yK2md0J/fiSf1sa1ADhXqi5+oVwOM/eGw== - dependencies: - semver "^6.0.0" - -make-dir@^4.0.0: - version "4.0.0" - resolved "https://registry.yarnpkg.com/make-dir/-/make-dir-4.0.0.tgz#c3c2307a771277cd9638305f915c29ae741b614e" - integrity sha512-hXdUTZYIVOt1Ex//jAQi+wTZZpUpwBj/0QsOzqegb3rGMMeJiSEu5xLHnYfBrRV4RH2+OCSOO95Is/7x1WJ4bw== - dependencies: - semver "^7.5.3" - -make-error@^1.1.1: - version "1.3.6" - resolved "https://registry.yarnpkg.com/make-error/-/make-error-1.3.6.tgz#2eb2e37ea9b67c4891f684a1394799af484cf7a2" - integrity sha512-s8UhlNe7vPKomQhC1qFelMokr/Sc3AgNbso3n74mVPA5LTZwkB9NlXf4XPamLxJE8h0gh73rM94xvwRT2CVInw== - -makeerror@1.0.12: - version "1.0.12" - resolved "https://registry.yarnpkg.com/makeerror/-/makeerror-1.0.12.tgz#3e5dd2079a82e812e983cc6610c4a2cb0eaa801a" - integrity sha512-JmqCvUhmt43madlpFzG4BQzG2Z3m6tvQDNKdClZnO3VbIudJYmxsT0FNJMeiB2+JTSlTQTSbU8QdesVmwJcmLg== - dependencies: - tmpl "1.0.5" - -mapbox-to-css-font@^2.4.1: - version "2.4.2" - resolved "https://registry.yarnpkg.com/mapbox-to-css-font/-/mapbox-to-css-font-2.4.2.tgz#a9e31b363ad8ca881cd339ca99f2d2a6b02ea5dd" - integrity sha512-f+NBjJJY4T3dHtlEz1wCG7YFlkODEjFIYlxDdLIDMNpkSksqTt+l/d4rjuwItxuzkuMFvPyrjzV2lxRM4ePcIA== - -marked@4.2.12: - version "4.2.12" - resolved "https://registry.yarnpkg.com/marked/-/marked-4.2.12.tgz#d69a64e21d71b06250da995dcd065c11083bebb5" - integrity sha512-yr8hSKa3Fv4D3jdZmtMMPghgVt6TWbk86WQaWhDloQjRSQhMMYCAro7jP7VDJrjjdV8pxVxMssXS8B8Y5DZ5aw== - -mdn-data@2.0.14: - version "2.0.14" - resolved "https://registry.yarnpkg.com/mdn-data/-/mdn-data-2.0.14.tgz#7113fc4281917d63ce29b43446f701e68c25ba50" - integrity sha512-dn6wd0uw5GsdswPFfsgMp5NSB0/aDe6fK94YJV/AJDYXL6HVLWBsxeq7js7Ad+mU2K9LAlwpk6kN2D5mwCPVow== - -memfs@^3.4.1: - version "3.6.0" - resolved "https://registry.yarnpkg.com/memfs/-/memfs-3.6.0.tgz#d7a2110f86f79dd950a8b6df6d57bc984aa185f6" - integrity sha512-EGowvkkgbMcIChjMTMkESFDbZeSh8xZ7kNSF0hAiAN4Jh6jgHCRS0Ga/+C8y6Au+oqpezRHCfPsmJ2+DwAgiwQ== - dependencies: - fs-monkey "^1.0.4" - -memoize-one@6.0.0, memoize-one@^6.0.0: - version "6.0.0" - resolved "https://registry.yarnpkg.com/memoize-one/-/memoize-one-6.0.0.tgz#b2591b871ed82948aee4727dc6abceeeac8c1045" - integrity sha512-rkpe71W0N0c0Xz6QD0eJETuWAJGnJ9afsl1srmwPrI+yBCkge5EycXXbYRyvL29zZVUWQCY7InPRCv3GDXuZNw== - -"memoize-one@>=3.1.1 <6", memoize-one@^5.1.1: - version "5.2.1" - resolved "https://registry.yarnpkg.com/memoize-one/-/memoize-one-5.2.1.tgz#8337aa3c4335581839ec01c3d594090cebe8f00e" - integrity sha512-zYiwtZUcYyXKo/np96AGZAckk+FWWsUdJ3cHGGmld7+AhvcWmQyGCYUh1hc4Q/pkOhb65dQR/pqCyK0cOaHz4Q== - -memoize-one@^4.0.0: - version "4.1.0" - resolved "https://registry.yarnpkg.com/memoize-one/-/memoize-one-4.1.0.tgz#a2387c58c03fff27ca390c31b764a79addf3f906" - integrity sha512-2GApq0yI/b22J2j9rhbrAlsHb0Qcz+7yWxeLG8h+95sl1XPUgeLimQSOdur4Vw7cUhrBHwaUZxWFZueojqNRzA== - -memory-fs@^0.5.0: - version "0.5.0" - resolved "https://registry.yarnpkg.com/memory-fs/-/memory-fs-0.5.0.tgz#324c01288b88652966d161db77838720845a8e3c" - integrity sha512-jA0rdU5KoQMC0e6ppoNRtpp6vjFq6+NY7r8hywnC7V+1Xj/MtHwGIbB1QaK/dunyjWteJzmkpd7ooeWg10T7GA== - dependencies: - errno "^0.1.3" - readable-stream "^2.0.1" - -merge-stream@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/merge-stream/-/merge-stream-2.0.0.tgz#52823629a14dd00c9770fb6ad47dc6310f2c1f60" - integrity sha512-abv/qOcuPfk3URPfDzmZU1LKmuw8kT+0nIHvKrKgFrwifol/doWcdA4ZqsWQ8ENrFKkd67Mfpo/LovbIUsbt3w== - -merge2@^1.3.0, merge2@^1.4.1: - version "1.4.1" - resolved "https://registry.yarnpkg.com/merge2/-/merge2-1.4.1.tgz#4368892f885e907455a6fd7dc55c0c9d404990ae" - integrity sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg== - -micromatch@^4.0.0, micromatch@^4.0.4, micromatch@^4.0.5: - version "4.0.5" - resolved "https://registry.yarnpkg.com/micromatch/-/micromatch-4.0.5.tgz#bc8999a7cbbf77cdc89f132f6e467051b49090c6" - integrity sha512-DMy+ERcEW2q8Z2Po+WNXuw3c5YaUSFjAO5GsJqfEl7UjvtIuFKO6ZrKvcItdy98dwFI2N1tg3zNIdKaQT+aNdA== - dependencies: - braces "^3.0.2" - picomatch "^2.3.1" - -mime-db@1.52.0: - version "1.52.0" - resolved "https://registry.yarnpkg.com/mime-db/-/mime-db-1.52.0.tgz#bbabcdc02859f4987301c856e3387ce5ec43bf70" - integrity sha512-sPU4uV7dYlvtWJxwwxHD0PuihVNiE7TyAbQ5SWxDCB9mUYvOgroQOwYQQOKPJ8CIbE+1ETVlOoK1UC2nU3gYvg== - -mime-types@^2.1.12, mime-types@^2.1.27, mime-types@~2.1.19: - version "2.1.35" - resolved "https://registry.yarnpkg.com/mime-types/-/mime-types-2.1.35.tgz#381a871b62a734450660ae3deee44813f70d959a" - integrity sha512-ZDY+bPm5zTTF+YpCrAU9nK0UgICYPT0QtT1NZWFv4s++TNkcgVaT0g6+4R2uI4MjQjzysHB1zxuWL50hzaeXiw== - dependencies: - mime-db "1.52.0" - -mimic-fn@^2.1.0: - version "2.1.0" - resolved "https://registry.yarnpkg.com/mimic-fn/-/mimic-fn-2.1.0.tgz#7ed2c2ccccaf84d3ffcb7a69b57711fc2083401b" - integrity sha512-OqbOk5oEQeAZ8WXWydlu9HJjz9WVdEIvamMCcXmuqUYjTknH/sqsWvhQ3vgwKFRR1HpjvNBKQ37nbJgYzGqGcg== - -min-indent@^1.0.0: - version "1.0.1" - resolved "https://registry.yarnpkg.com/min-indent/-/min-indent-1.0.1.tgz#a63f681673b30571fbe8bc25686ae746eefa9869" - integrity sha512-I9jwMn07Sy/IwOj3zVkVik2JTvgpaykDZEigL6Rx6N9LbMywwUSMtxET+7lVoDLLd3O3IXwJwvuuns8UB/HeAg== - -mini-create-react-context@^0.4.0: - version "0.4.1" - resolved "https://registry.yarnpkg.com/mini-create-react-context/-/mini-create-react-context-0.4.1.tgz#072171561bfdc922da08a60c2197a497cc2d1d5e" - integrity sha512-YWCYEmd5CQeHGSAKrYvXgmzzkrvssZcuuQDDeqkT+PziKGMgE+0MCCtcKbROzocGBG1meBLl2FotlRwf4gAzbQ== - dependencies: - "@babel/runtime" "^7.12.1" - tiny-warning "^1.0.3" - -minimatch@5.0.1: - version "5.0.1" - resolved "https://registry.yarnpkg.com/minimatch/-/minimatch-5.0.1.tgz#fb9022f7528125187c92bd9e9b6366be1cf3415b" - integrity sha512-nLDxIFRyhDblz3qMuq+SoRZED4+miJ/G+tdDrjkkkRnjAsBexeGpgjLEQ0blJy7rHhR2b93rhQY4SvyWu9v03g== - dependencies: - brace-expansion "^2.0.1" - -minimatch@9.0.3, minimatch@^9.0.1: - version "9.0.3" - resolved "https://registry.yarnpkg.com/minimatch/-/minimatch-9.0.3.tgz#a6e00c3de44c3a542bfaae70abfc22420a6da825" - integrity sha512-RHiac9mvaRw0x3AYRgDC1CxAP7HTcNrrECeA8YYJeWnpo+2Q5CegtZjaotWTWxDG3UeGA1coE05iH1mPjT/2mg== - dependencies: - brace-expansion "^2.0.1" - -minimatch@^3.0.4, minimatch@^3.0.5, minimatch@^3.1.1, minimatch@^3.1.2: - version "3.1.2" - resolved "https://registry.yarnpkg.com/minimatch/-/minimatch-3.1.2.tgz#19cd194bfd3e428f049a70817c038d89ab4be35b" - integrity sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw== - dependencies: - brace-expansion "^1.1.7" - -minimatch@^8.0.2: - version "8.0.4" - resolved "https://registry.yarnpkg.com/minimatch/-/minimatch-8.0.4.tgz#847c1b25c014d4e9a7f68aaf63dedd668a626229" - integrity sha512-W0Wvr9HyFXZRGIDgCicunpQ299OKXs9RgZfaukz4qAW/pJhcpUfupc9c+OObPOFueNy8VSrZgEmDtk6Kh4WzDA== - dependencies: - brace-expansion "^2.0.1" - -minimist@^1.2.0, minimist@^1.2.5, minimist@^1.2.6: - version "1.2.8" - resolved "https://registry.yarnpkg.com/minimist/-/minimist-1.2.8.tgz#c1a464e7693302e082a075cee0c057741ac4772c" - integrity sha512-2yyAR8qBkN3YuheJanUpWC5U3bb5osDywNB8RzDVlDwDHbocAJveqqj1u8+SVD7jkWT4yvsHCpWqqWqAxb0zCA== - -minipass@^4.2.4: - version "4.2.8" - resolved "https://registry.yarnpkg.com/minipass/-/minipass-4.2.8.tgz#f0010f64393ecfc1d1ccb5f582bcaf45f48e1a3a" - integrity sha512-fNzuVyifolSLFL4NzpF+wEF4qrgqaaKX0haXPQEdQ7NKAN+WecoKMHV09YcuL/DHxrUsYQOK3MiuDf7Ip2OXfQ== - -"minipass@^5.0.0 || ^6.0.2 || ^7.0.0": - version "7.0.4" - resolved "https://registry.yarnpkg.com/minipass/-/minipass-7.0.4.tgz#dbce03740f50a4786ba994c1fb908844d27b038c" - integrity sha512-jYofLM5Dam9279rdkWzqHozUo4ybjdZmCsDHePy5V/PbBcVMiSZR97gmAy45aqi8CK1lG2ECd356FU86avfwUQ== - -mkdirp@^0.5.1, mkdirp@^0.5.6: - version "0.5.6" - resolved "https://registry.yarnpkg.com/mkdirp/-/mkdirp-0.5.6.tgz#7def03d2432dcae4ba1d611445c48396062255f6" - integrity sha512-FP+p8RB8OWpF3YZBCrP5gtADmtXApB5AMLn+vdyA+PyxCjrCs00mjyUozssO33cwDeT3wNGdLxJ5M//YqtHAJw== - dependencies: - minimist "^1.2.6" - -mocha@10.2.0: - version "10.2.0" - resolved "https://registry.yarnpkg.com/mocha/-/mocha-10.2.0.tgz#1fd4a7c32ba5ac372e03a17eef435bd00e5c68b8" - integrity sha512-IDY7fl/BecMwFHzoqF2sg/SHHANeBoMMXFlS9r0OXKDssYE1M5O43wUY/9BVPeIvfH2zmEbBfseqN9gBQZzXkg== - dependencies: - ansi-colors "4.1.1" - browser-stdout "1.3.1" - chokidar "3.5.3" - debug "4.3.4" - diff "5.0.0" - escape-string-regexp "4.0.0" - find-up "5.0.0" - glob "7.2.0" - he "1.2.0" - js-yaml "4.1.0" - log-symbols "4.1.0" - minimatch "5.0.1" - ms "2.1.3" - nanoid "3.3.3" - serialize-javascript "6.0.0" - strip-json-comments "3.1.1" - supports-color "8.1.1" - workerpool "6.2.1" - yargs "16.2.0" - yargs-parser "20.2.4" - yargs-unparser "2.0.0" - -moment-timezone@0.5.41: - version "0.5.41" - resolved "https://registry.yarnpkg.com/moment-timezone/-/moment-timezone-0.5.41.tgz#a7ad3285fd24aaf5f93b8119a9d749c8039c64c5" - integrity sha512-e0jGNZDOHfBXJGz8vR/sIMXvBIGJJcqFjmlg9lmE+5KX1U7/RZNMswfD8nKnNCnQdKTIj50IaRKwl1fvMLyyRg== - dependencies: - moment "^2.29.4" - -moment@2.29.4: - version "2.29.4" - resolved "https://registry.yarnpkg.com/moment/-/moment-2.29.4.tgz#3dbe052889fe7c1b2ed966fcb3a77328964ef108" - integrity sha512-5LC9SOxjSc2HF6vO2CyuTDNivEdoz2IvyJJGj6X8DJ0eFyfszE0QiEd+iXmBvUP3WHxSjFH/vIsA0EN00cgr8w== - -moment@2.x, moment@^2.29.4: - version "2.30.1" - resolved "https://registry.yarnpkg.com/moment/-/moment-2.30.1.tgz#f8c91c07b7a786e30c59926df530b4eac96974ae" - integrity sha512-uEmtNhbDOrWPFS+hdjFCBfy9f2YoyzRpwcl+DqpC6taX21FzsTLQVbMV/W7PzNSX6x/bhC1zA3c2UQ5NzH6how== - -monaco-editor@0.34.0: - version "0.34.0" - resolved "https://registry.yarnpkg.com/monaco-editor/-/monaco-editor-0.34.0.tgz#b1749870a1f795dbfc4dc03d8e9b646ddcbeefa7" - integrity sha512-VF+S5zG8wxfinLKLrWcl4WUizMx+LeJrG4PM/M78OhcwocpV0jiyhX/pG6Q9jIOhrb/ckYi6nHnaR5OojlOZCQ== - -ms@2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/ms/-/ms-2.0.0.tgz#5608aeadfc00be6c2901df5f9861788de0d597c8" - integrity sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A== - -ms@2.1.2: - version "2.1.2" - resolved "https://registry.yarnpkg.com/ms/-/ms-2.1.2.tgz#d09d1f357b443f493382a8eb3ccd183872ae6009" - integrity sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w== - -ms@2.1.3, ms@^2.1.1: - version "2.1.3" - resolved "https://registry.yarnpkg.com/ms/-/ms-2.1.3.tgz#574c8138ce1d2b5861f0b44579dbadd60c6615b2" - integrity sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA== - -murmurhash-js@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/murmurhash-js/-/murmurhash-js-1.0.0.tgz#b06278e21fc6c37fa5313732b0412bcb6ae15f51" - integrity sha512-TvmkNhkv8yct0SVBSy+o8wYzXjE4Zz3PCesbfs8HiCXXdcTuocApFv11UWlNFWKYsP2okqrhb7JNlSm9InBhIw== - -nano-css@^5.3.1: - version "5.6.1" - resolved "https://registry.yarnpkg.com/nano-css/-/nano-css-5.6.1.tgz#964120cb1af6cccaa6d0717a473ccd876b34c197" - integrity sha512-T2Mhc//CepkTa3X4pUhKgbEheJHYAxD0VptuqFhDbGMUWVV2m+lkNiW/Ieuj35wrfC8Zm0l7HvssQh7zcEttSw== - dependencies: - "@jridgewell/sourcemap-codec" "^1.4.15" - css-tree "^1.1.2" - csstype "^3.1.2" - fastest-stable-stringify "^2.0.2" - inline-style-prefixer "^7.0.0" - rtl-css-js "^1.16.1" - stacktrace-js "^2.0.2" - stylis "^4.3.0" - -nanoid@3.3.3: - version "3.3.3" - resolved "https://registry.yarnpkg.com/nanoid/-/nanoid-3.3.3.tgz#fd8e8b7aa761fe807dba2d1b98fb7241bb724a25" - integrity sha512-p1sjXuopFs0xg+fPASzQ28agW1oHD7xDsd9Xkf3T15H3c/cifrFHVwrh74PdoklAPi+i7MdRsE47vm2r6JoB+w== - -nanoid@^3.3.7: - version "3.3.7" - resolved "https://registry.yarnpkg.com/nanoid/-/nanoid-3.3.7.tgz#d0c301a691bc8d54efa0a2226ccf3fe2fd656bd8" - integrity sha512-eSRppjcPIatRIMC1U6UngP8XFcz8MQWGQdt1MTBQ7NaAmvXDfvNxbvWV3x2y6CdEUciCSsDHDQZbhYaB8QEo2g== - -natural-compare-lite@^1.4.0: - version "1.4.0" - resolved "https://registry.yarnpkg.com/natural-compare-lite/-/natural-compare-lite-1.4.0.tgz#17b09581988979fddafe0201e931ba933c96cbb4" - integrity sha512-Tj+HTDSJJKaZnfiuw+iaF9skdPpTo2GtEly5JHnWV/hfv2Qj/9RKsGISQtLh2ox3l5EAGw487hnBee0sIJ6v2g== - -natural-compare@^1.4.0: - version "1.4.0" - resolved "https://registry.yarnpkg.com/natural-compare/-/natural-compare-1.4.0.tgz#4abebfeed7541f2c27acfb29bdbbd15c8d5ba4f7" - integrity sha512-OWND8ei3VtNC9h7V60qff3SVobHr996CTwgxubgyQYEpg290h9J0buyECNNJexkFm5sOajh5G116RYA1c8ZMSw== - -neo-async@^2.6.2: - version "2.6.2" - resolved "https://registry.yarnpkg.com/neo-async/-/neo-async-2.6.2.tgz#b4aafb93e3aeb2d8174ca53cf163ab7d7308305f" - integrity sha512-Yd3UES5mWCSqR+qNT93S3UoYUkqAZ9lLg8a7g9rimsWmYGK8cVToA4/sF3RrshdyV3sAGMXVUmpMYOw+dLpOuw== - -node-abort-controller@^3.0.1: - version "3.1.1" - resolved "https://registry.yarnpkg.com/node-abort-controller/-/node-abort-controller-3.1.1.tgz#a94377e964a9a37ac3976d848cb5c765833b8548" - integrity sha512-AGK2yQKIjRuqnc6VkX2Xj5d+QW8xZ87pa1UK6yA6ouUyuxfHuMP6umE5QK7UmTeOAymo+Zx1Fxiuw9rVx8taHQ== - -node-int64@^0.4.0: - version "0.4.0" - resolved "https://registry.yarnpkg.com/node-int64/-/node-int64-0.4.0.tgz#87a9065cdb355d3182d8f94ce11188b825c68a3b" - integrity sha512-O5lz91xSOeoXP6DulyHfllpq+Eg00MWitZIbtPfoSEvqIHdl5gfcY6hYzDWnj0qD5tz52PI08u9qUvSVeUBeHw== - -node-releases@^2.0.14: - version "2.0.14" - resolved "https://registry.yarnpkg.com/node-releases/-/node-releases-2.0.14.tgz#2ffb053bceb8b2be8495ece1ab6ce600c4461b0b" - integrity sha512-y10wOWt8yZpqXmOgRo77WaHEmhYQYGNA6y421PKsKYWEK8aW+cqAphborZDhqfyKrbZEN92CN1X2KbafY2s7Yw== - -normalize-path@^3.0.0, normalize-path@~3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/normalize-path/-/normalize-path-3.0.0.tgz#0dcd69ff23a1c9b11fd0978316644a0388216a65" - integrity sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA== - -npm-run-path@^4.0.0, npm-run-path@^4.0.1: - version "4.0.1" - resolved "https://registry.yarnpkg.com/npm-run-path/-/npm-run-path-4.0.1.tgz#b7ecd1e5ed53da8e37a55e1c2269e0b97ed748ea" - integrity sha512-S48WzZW777zhNIrn7gxOlISNAqi9ZC/uQFnRdbeIHhZhCA6UqpkOT8T1G7BvfdgP4Er8gF4sUbaS0i7QvIfCWw== - dependencies: - path-key "^3.0.0" - -nwsapi@^2.2.2: - version "2.2.7" - resolved "https://registry.yarnpkg.com/nwsapi/-/nwsapi-2.2.7.tgz#738e0707d3128cb750dddcfe90e4610482df0f30" - integrity sha512-ub5E4+FBPKwAZx0UwIQOjYWGHTEq5sPqHQNRN8Z9e4A7u3Tj1weLJsL59yH9vmvqEtBHaOmT6cYQKIZOxp35FQ== - -oauth-sign@~0.9.0: - version "0.9.0" - resolved "https://registry.yarnpkg.com/oauth-sign/-/oauth-sign-0.9.0.tgz#47a7b016baa68b5fa0ecf3dee08a85c679ac6455" - integrity sha512-fexhUFFPTGV8ybAtSIGbV6gOkSv8UtRbDBnAyLQw4QPKkgNlsH2ByPGtMUqdWkos6YCRmAqViwgZrJc/mRDzZQ== - -object-assign@4.x, object-assign@^4.1.0, object-assign@^4.1.1: - version "4.1.1" - resolved "https://registry.yarnpkg.com/object-assign/-/object-assign-4.1.1.tgz#2109adc7965887cfc05cbbd442cac8bfbb360863" - integrity sha512-rJgTQnkUnH1sFw8yT6VSU3zD3sWmu6sZhIseY8VX+GRu3P6F7Fu+JNDoXfklElbLJSnc3FUQHVe4cU5hj+BcUg== - -object-inspect@^1.13.1, object-inspect@^1.9.0: - version "1.13.1" - resolved "https://registry.yarnpkg.com/object-inspect/-/object-inspect-1.13.1.tgz#b96c6109324ccfef6b12216a956ca4dc2ff94bc2" - integrity sha512-5qoj1RUiKOMsCCNLV1CBiPYE10sziTsnmNxkAI/rZhiD63CF7IqdFGC/XzjWjpSgLf0LxXX3bDFIh0E18f6UhQ== - -object-is@^1.1.5: - version "1.1.5" - resolved "https://registry.yarnpkg.com/object-is/-/object-is-1.1.5.tgz#b9deeaa5fc7f1846a0faecdceec138e5778f53ac" - integrity sha512-3cyDsyHgtmi7I7DfSSI2LDp6SK2lwvtbg0p0R1e0RvTqF5ceGx+K2dfSjm1bKDMVCFEDAQvy+o8c6a7VujOddw== - dependencies: - call-bind "^1.0.2" - define-properties "^1.1.3" - -object-keys@^1.1.1: - version "1.1.1" - resolved "https://registry.yarnpkg.com/object-keys/-/object-keys-1.1.1.tgz#1c47f272df277f3b1daf061677d9c82e2322c60e" - integrity sha512-NuAESUOUMrlIXOfHKzD6bpPu3tYt3xvjNdRIQ+FeT0lNb4K8WR70CaDxhuNguS2XG+GjkyMwOzsN5ZktImfhLA== - -object.assign@^4.1.4: - version "4.1.5" - resolved "https://registry.yarnpkg.com/object.assign/-/object.assign-4.1.5.tgz#3a833f9ab7fdb80fc9e8d2300c803d216d8fdbb0" - integrity sha512-byy+U7gp+FVwmyzKPYhW2h5l3crpmGsxl7X2s8y43IgxvG4g3QZ6CffDtsNQy1WsmZpQbO+ybo0AlW7TY6DcBQ== - dependencies: - call-bind "^1.0.5" - define-properties "^1.2.1" - has-symbols "^1.0.3" - object-keys "^1.1.1" - -object.entries@^1.1.6: - version "1.1.7" - resolved "https://registry.yarnpkg.com/object.entries/-/object.entries-1.1.7.tgz#2b47760e2a2e3a752f39dd874655c61a7f03c131" - integrity sha512-jCBs/0plmPsOnrKAfFQXRG2NFjlhZgjjcBLSmTnEhU8U6vVTsVe8ANeQJCHTl3gSsI4J+0emOoCgoKlmQPMgmA== - dependencies: - call-bind "^1.0.2" - define-properties "^1.2.0" - es-abstract "^1.22.1" - -object.fromentries@^2.0.6, object.fromentries@^2.0.7: - version "2.0.7" - resolved "https://registry.yarnpkg.com/object.fromentries/-/object.fromentries-2.0.7.tgz#71e95f441e9a0ea6baf682ecaaf37fa2a8d7e616" - integrity sha512-UPbPHML6sL8PI/mOqPwsH4G6iyXcCGzLin8KvEPenOZN5lpCNBZZQ+V62vdjB1mQHrmqGQt5/OJzemUA+KJmEA== - dependencies: - call-bind "^1.0.2" - define-properties "^1.2.0" - es-abstract "^1.22.1" - -object.groupby@^1.0.1: - version "1.0.1" - resolved "https://registry.yarnpkg.com/object.groupby/-/object.groupby-1.0.1.tgz#d41d9f3c8d6c778d9cbac86b4ee9f5af103152ee" - integrity sha512-HqaQtqLnp/8Bn4GL16cj+CUYbnpe1bh0TtEaWvybszDG4tgxCJuRpV8VGuvNaI1fAnI4lUJzDG55MXcOH4JZcQ== - dependencies: - call-bind "^1.0.2" - define-properties "^1.2.0" - es-abstract "^1.22.1" - get-intrinsic "^1.2.1" - -object.hasown@^1.1.2: - version "1.1.3" - resolved "https://registry.yarnpkg.com/object.hasown/-/object.hasown-1.1.3.tgz#6a5f2897bb4d3668b8e79364f98ccf971bda55ae" - integrity sha512-fFI4VcYpRHvSLXxP7yiZOMAd331cPfd2p7PFDVbgUsYOfCT3tICVqXWngbjr4m49OvsBwUBQ6O2uQoJvy3RexA== - dependencies: - define-properties "^1.2.0" - es-abstract "^1.22.1" - -object.values@^1.1.6, object.values@^1.1.7: - version "1.1.7" - resolved "https://registry.yarnpkg.com/object.values/-/object.values-1.1.7.tgz#617ed13272e7e1071b43973aa1655d9291b8442a" - integrity sha512-aU6xnDFYT3x17e/f0IiiwlGPTy2jzMySGfUB4fq6z7CV8l85CWHDk5ErhyhpfDHhrOMwGFhSQkhMGHaIotA6Ng== - dependencies: - call-bind "^1.0.2" - define-properties "^1.2.0" - es-abstract "^1.22.1" - -ol-mapbox-style@^9.2.0: - version "9.7.0" - resolved "https://registry.yarnpkg.com/ol-mapbox-style/-/ol-mapbox-style-9.7.0.tgz#38a4f7abc8f0a94f378dcdb7cefdcc69ca3f6287" - integrity sha512-YX3u8FBJHsRHaoGxmd724Mp5WPTuV7wLQW6zZhcihMuInsSdCX1EiZfU+8IAL7jG0pbgl5YgC0aWE/MXJcUXxg== - dependencies: - "@mapbox/mapbox-gl-style-spec" "^13.23.1" - mapbox-to-css-font "^2.4.1" - -ol@7.2.2: - version "7.2.2" - resolved "https://registry.yarnpkg.com/ol/-/ol-7.2.2.tgz#d675a1525fd995a29a70a9a9fa9c3a9bc827aa39" - integrity sha512-eqJ1hhVQQ3Ap4OhYq9DRu5pz9RMpLhmoTauDoIqpn7logVi1AJE+lXjEHrPrTSuZYjtFbMgqr07sxoLNR65nrw== - dependencies: - earcut "^2.2.3" - geotiff "^2.0.7" - ol-mapbox-style "^9.2.0" - pbf "3.2.1" - rbush "^3.0.1" - -once@^1.3.0, once@^1.3.1, once@^1.4.0: - version "1.4.0" - resolved "https://registry.yarnpkg.com/once/-/once-1.4.0.tgz#583b1aa775961d4b113ac17d9c50baef9dd76bd1" - integrity sha512-lNaJgI+2Q5URQBkccEKHTQOPaXdUxnZZElQTZY0MFUAuaEqe1E+Nyvgdz/aIyNi6Z9MzO5dv1H8n58/GELp3+w== - dependencies: - wrappy "1" - -onetime@^5.1.0, onetime@^5.1.2: - version "5.1.2" - resolved "https://registry.yarnpkg.com/onetime/-/onetime-5.1.2.tgz#d0e96ebb56b07476df1dd9c4806e5237985ca45e" - integrity sha512-kbpaSSGJTWdAY5KPVeMOKXSrPtr8C8C7wodJbcsd51jRnmD+GZu8Y0VoU6Dm5Z4vWr0Ig/1NKuWRKf7j5aaYSg== - dependencies: - mimic-fn "^2.1.0" - -optionator@^0.9.1: - version "0.9.3" - resolved "https://registry.yarnpkg.com/optionator/-/optionator-0.9.3.tgz#007397d44ed1872fdc6ed31360190f81814e2c64" - integrity sha512-JjCoypp+jKn1ttEFExxhetCKeJt9zhAgAve5FXHixTvFDW/5aEktX9bufBKLRRMdU7bNtpLfcGu94B3cdEJgjg== - dependencies: - "@aashutoshrathi/word-wrap" "^1.2.3" - deep-is "^0.1.3" - fast-levenshtein "^2.0.6" - levn "^0.4.1" - prelude-ls "^1.2.1" - type-check "^0.4.0" - -ospath@^1.2.2: - version "1.2.2" - resolved "https://registry.yarnpkg.com/ospath/-/ospath-1.2.2.tgz#1276639774a3f8ef2572f7fe4280e0ea4550c07b" - integrity sha512-o6E5qJV5zkAbIDNhGSIlyOhScKXgQrSRMilfph0clDfM0nEnBOlKlH4sWDmG95BW/CvwNz0vmm7dJVtU2KlMiA== - -p-limit@^2.2.0: - version "2.3.0" - resolved "https://registry.yarnpkg.com/p-limit/-/p-limit-2.3.0.tgz#3dd33c647a214fdfffd835933eb086da0dc21db1" - integrity sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w== - dependencies: - p-try "^2.0.0" - -p-limit@^3.0.2, p-limit@^3.1.0: - version "3.1.0" - resolved "https://registry.yarnpkg.com/p-limit/-/p-limit-3.1.0.tgz#e1daccbe78d0d1388ca18c64fea38e3e57e3706b" - integrity sha512-TYOanM3wGwNGsZN2cVTYPArw454xnXj5qmWF1bEoAc4+cU/ol7GVh7odevjp1FNHduHc3KZMcFduxU5Xc6uJRQ== - dependencies: - yocto-queue "^0.1.0" - -p-locate@^4.1.0: - version "4.1.0" - resolved "https://registry.yarnpkg.com/p-locate/-/p-locate-4.1.0.tgz#a3428bb7088b3a60292f66919278b7c297ad4f07" - integrity sha512-R79ZZ/0wAxKGu3oYMlz8jy/kbhsNrS7SKZ7PxEHBgJ5+F2mtFW2fK2cOtBh1cHYkQsbzFV7I+EoRKe6Yt0oK7A== - dependencies: - p-limit "^2.2.0" - -p-locate@^5.0.0: - version "5.0.0" - resolved "https://registry.yarnpkg.com/p-locate/-/p-locate-5.0.0.tgz#83c8315c6785005e3bd021839411c9e110e6d834" - integrity sha512-LaNjtRWUBY++zB5nE/NwcaoMylSPk+S+ZHNB1TzdbMJMny6dynpAGt7X/tl/QYq3TIeE6nxHppbo2LGymrG5Pw== - dependencies: - p-limit "^3.0.2" - -p-map@^4.0.0: - version "4.0.0" - resolved "https://registry.yarnpkg.com/p-map/-/p-map-4.0.0.tgz#bb2f95a5eda2ec168ec9274e06a747c3e2904d2b" - integrity sha512-/bjOqmgETBYB5BoEeGVea8dmvHb2m9GLy1E9W43yeyfP6QQCZGFNa+XRceJEuDB6zqr+gKpIAmlLebMpykw/MQ== - dependencies: - aggregate-error "^3.0.0" - -p-try@^2.0.0: - version "2.2.0" - resolved "https://registry.yarnpkg.com/p-try/-/p-try-2.2.0.tgz#cb2868540e313d61de58fafbe35ce9004d5540e6" - integrity sha512-R4nPAVTAU0B9D35/Gk3uJf/7XYbQcyohSKdvAxIRSNghFl4e71hVoGnBNQz9cWaXxO2I10KTC+3jMdvvoKw6dQ== - -pako@^0.2.6: - version "0.2.9" - resolved "https://registry.yarnpkg.com/pako/-/pako-0.2.9.tgz#f3f7522f4ef782348da8161bad9ecfd51bf83a75" - integrity sha512-NUcwaKxUxWrZLpDG+z/xZaCgQITkA/Dv4V/T6bw7VON6l1Xz/VnrBqrYjZQ12TamKHzITTfOEIYUj48y2KXImA== - -pako@^2.0.4: - version "2.1.0" - resolved "https://registry.yarnpkg.com/pako/-/pako-2.1.0.tgz#266cc37f98c7d883545d11335c00fbd4062c9a86" - integrity sha512-w+eufiZ1WuJYgPXbV/PO3NCMEc3xqylkKHzp8bxp1uW4qaSNQUkwmLLEc3kKsfz8lpV1F8Ht3U1Cm+9Srog2ug== - -papaparse@5.3.2: - version "5.3.2" - resolved "https://registry.yarnpkg.com/papaparse/-/papaparse-5.3.2.tgz#d1abed498a0ee299f103130a6109720404fbd467" - integrity sha512-6dNZu0Ki+gyV0eBsFKJhYr+MdQYAzFUGlBMNj3GNrmHxmz1lfRa24CjFObPXtjcetlOv5Ad299MhIK0znp3afw== - -parent-module@^1.0.0: - version "1.0.1" - resolved "https://registry.yarnpkg.com/parent-module/-/parent-module-1.0.1.tgz#691d2709e78c79fae3a156622452d00762caaaa2" - integrity sha512-GQ2EWRpQV8/o+Aw8YqtfZZPfNRWZYkbidE9k5rpl/hC3vtHHBfGm2Ifi6qWV+coDGkrUKZAxE3Lot5kcsRlh+g== - dependencies: - callsites "^3.0.0" - -parse-headers@^2.0.2: - version "2.0.5" - resolved "https://registry.yarnpkg.com/parse-headers/-/parse-headers-2.0.5.tgz#069793f9356a54008571eb7f9761153e6c770da9" - integrity sha512-ft3iAoLOB/MlwbNXgzy43SWGP6sQki2jQvAyBg/zDFAgr9bfNWZIUj42Kw2eJIl8kEi4PbgE6U1Zau/HwI75HA== - -parse-json@^5.0.0, parse-json@^5.2.0: - version "5.2.0" - resolved "https://registry.yarnpkg.com/parse-json/-/parse-json-5.2.0.tgz#c76fc66dee54231c962b22bcc8a72cf2f99753cd" - integrity sha512-ayCKvm/phCGxOkYRSCM82iDwct8/EonSEgCSxWxD7ve6jHggsFl4fZVQBPRNgQoKiuV/odhFrGzQXZwbifC8Rg== - dependencies: - "@babel/code-frame" "^7.0.0" - error-ex "^1.3.1" - json-parse-even-better-errors "^2.3.0" - lines-and-columns "^1.1.6" - -parse5@^7.0.0, parse5@^7.1.1: - version "7.1.2" - resolved "https://registry.yarnpkg.com/parse5/-/parse5-7.1.2.tgz#0736bebbfd77793823240a23b7fc5e010b7f8e32" - integrity sha512-Czj1WaSVpaoj0wbhMzLmWD69anp2WH7FXMB9n1Sy8/ZFF9jolSQVMu1Ij5WIyGmcBmhk7EOndpO4mIpihVqAXw== - dependencies: - entities "^4.4.0" - -path-exists@^4.0.0: - version "4.0.0" - resolved "https://registry.yarnpkg.com/path-exists/-/path-exists-4.0.0.tgz#513bdbe2d3b95d7762e8c1137efa195c6c61b5b3" - integrity sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w== - -path-is-absolute@^1.0.0: - version "1.0.1" - resolved "https://registry.yarnpkg.com/path-is-absolute/-/path-is-absolute-1.0.1.tgz#174b9268735534ffbc7ace6bf53a5a9e1b5c5f5f" - integrity sha512-AVbw3UJ2e9bq64vSaS9Am0fje1Pa8pbGqTTsmXfaIiMpnr5DlDhfJOuLj9Sf95ZPVDAUerDfEk88MPmPe7UCQg== - -path-key@^3.0.0, path-key@^3.1.0: - version "3.1.1" - resolved "https://registry.yarnpkg.com/path-key/-/path-key-3.1.1.tgz#581f6ade658cbba65a0d3380de7753295054f375" - integrity sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q== - -path-parse@^1.0.7: - version "1.0.7" - resolved "https://registry.yarnpkg.com/path-parse/-/path-parse-1.0.7.tgz#fbc114b60ca42b30d9daf5858e4bd68bbedb6735" - integrity sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw== - -path-scurry@^1.10.1, path-scurry@^1.6.1: - version "1.10.1" - resolved "https://registry.yarnpkg.com/path-scurry/-/path-scurry-1.10.1.tgz#9ba6bf5aa8500fe9fd67df4f0d9483b2b0bfc698" - integrity sha512-MkhCqzzBEpPvxxQ71Md0b1Kk51W01lrYvlMzSUaIzNsODdd7mqhiimSZlr+VegAz5Z6Vzt9Xg2ttE//XBhH3EQ== - dependencies: - lru-cache "^9.1.1 || ^10.0.0" - minipass "^5.0.0 || ^6.0.2 || ^7.0.0" - -path-to-regexp@^1.7.0: - version "1.8.0" - resolved "https://registry.yarnpkg.com/path-to-regexp/-/path-to-regexp-1.8.0.tgz#887b3ba9d84393e87a0a0b9f4cb756198b53548a" - integrity sha512-n43JRhlUKUAlibEJhPeir1ncUID16QnEjNpwzNdO3Lm4ywrBpBZ5oLD0I6br9evr1Y9JTqwRtAh7JLoOzAQdVA== - dependencies: - isarray "0.0.1" - -path-type@^4.0.0: - version "4.0.0" - resolved "https://registry.yarnpkg.com/path-type/-/path-type-4.0.0.tgz#84ed01c0a7ba380afe09d90a8c180dcd9d03043b" - integrity sha512-gDKb8aZMDeD/tZWs9P6+q0J9Mwkdl6xMV8TjnGP3qJVJ06bdMgkbBlLU8IdfOsIsFz2BW1rNVT3XuNEl8zPAvw== - -path-type@^5.0.0: - version "5.0.0" - resolved "https://registry.yarnpkg.com/path-type/-/path-type-5.0.0.tgz#14b01ed7aea7ddf9c7c3f46181d4d04f9c785bb8" - integrity sha512-5HviZNaZcfqP95rwpv+1HDgUamezbqdSYTyzjTvwtJSnIH+3vnbmWsItli8OFEndS984VT55M3jduxZbX351gg== - -pbf@3.2.1: - version "3.2.1" - resolved "https://registry.yarnpkg.com/pbf/-/pbf-3.2.1.tgz#b4c1b9e72af966cd82c6531691115cc0409ffe2a" - integrity sha512-ClrV7pNOn7rtmoQVF4TS1vyU0WhYRnP92fzbfF75jAIwpnzdJXf8iTd4CMEqO4yUenH6NDqLiwjqlh6QgZzgLQ== - dependencies: - ieee754 "^1.1.12" - resolve-protobuf-schema "^2.1.0" - -pend@~1.2.0: - version "1.2.0" - resolved "https://registry.yarnpkg.com/pend/-/pend-1.2.0.tgz#7a57eb550a6783f9115331fcf4663d5c8e007a50" - integrity sha512-F3asv42UuXchdzt+xXqfW1OGlVBe+mxa2mqI0pg5yAHZPvFmY3Y6drSf/GQ1A86WgWEN9Kzh/WrgKa6iGcHXLg== - -performance-now@^2.1.0: - version "2.1.0" - resolved "https://registry.yarnpkg.com/performance-now/-/performance-now-2.1.0.tgz#6309f4e0e5fa913ec1c69307ae364b4b377c9e7b" - integrity sha512-7EAHlyLHI56VEIdK57uwHdHKIaAGbnXPiw0yWbarQZOKaKpvUIgW0jWRVLiatnM+XXlSwsanIBH/hzGMJulMow== - -picocolors@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/picocolors/-/picocolors-1.0.0.tgz#cb5bdc74ff3f51892236eaf79d68bc44564ab81c" - integrity sha512-1fygroTLlHu66zi26VoTDv8yRgm0Fccecssto+MhsZ0D/DGW2sm8E8AjW7NU5VVTRt5GxbeZ5qBuJr+HyLYkjQ== - -picomatch@^2.0.4, picomatch@^2.2.1, picomatch@^2.2.3, picomatch@^2.3.1: - version "2.3.1" - resolved "https://registry.yarnpkg.com/picomatch/-/picomatch-2.3.1.tgz#3ba3833733646d9d3e4995946c1365a67fb07a42" - integrity sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA== - -pify@^2.2.0: - version "2.3.0" - resolved "https://registry.yarnpkg.com/pify/-/pify-2.3.0.tgz#ed141a6ac043a849ea588498e7dca8b15330e90c" - integrity sha512-udgsAY+fTnvv7kI7aaxbqwWNb0AHiB0qBO89PZKPkoTmGOgdbrHDKD+0B2X4uTfJ/FT1R09r9gTsjUjNJotuog== - -pirates@^4.0.4: - version "4.0.6" - resolved "https://registry.yarnpkg.com/pirates/-/pirates-4.0.6.tgz#3018ae32ecfcff6c29ba2267cbf21166ac1f36b9" - integrity sha512-saLsH7WeYYPiD25LDuLRRY/i+6HaPYr6G1OUlN39otzkSTxKnubR9RTxS3/Kk50s1g2JTgFwWQDQyplC5/SHZg== - -pkg-dir@^4.1.0, pkg-dir@^4.2.0: - version "4.2.0" - resolved "https://registry.yarnpkg.com/pkg-dir/-/pkg-dir-4.2.0.tgz#f099133df7ede422e81d1d8448270eeb3e4261f3" - integrity sha512-HRDzbaKjC+AOWVXxAU/x54COGeIv9eb+6CkDSQoNTt4XyWoIJvuPsXizxu/Fr23EiekbtZwmh1IcIG/l/a10GQ== - dependencies: - find-up "^4.0.0" - -pngjs-image@~0.11.5: - version "0.11.7" - resolved "https://registry.yarnpkg.com/pngjs-image/-/pngjs-image-0.11.7.tgz#631dd59924569fc82ffebae0d5d53f85f54dab62" - integrity sha512-JRyrmT+HXa1/gvdHpebus8TGqKa8WRgcsHz/DDalxRsMhvu6AOA99/enBFjZIPvmXVAzwKR051s80TuE1IiCpg== - dependencies: - iconv-lite "^0.4.8" - pako "^0.2.6" - pngjs "2.3.1" - request "^2.55.0" - stream-buffers "1.0.1" - underscore "1.7.0" - -pngjs@2.3.1: - version "2.3.1" - resolved "https://registry.yarnpkg.com/pngjs/-/pngjs-2.3.1.tgz#11d1e12b9cb64d63e30c143a330f4c1f567da85f" - integrity sha512-ITNPqvx+SSssNFOgHQzGG87HrqQ0g2nMSHc1jjU5Piq9xJEJ40fiFEPz0S5HSSXxBHrTnhaBHIayTO5aRfk2vw== - -portfinder@^1.0.17: - version "1.0.32" - resolved "https://registry.yarnpkg.com/portfinder/-/portfinder-1.0.32.tgz#2fe1b9e58389712429dc2bea5beb2146146c7f81" - integrity sha512-on2ZJVVDXRADWE6jnQaX0ioEylzgBpQk8r55NE4wjXW1ZxO+BgDlY6DXwj20i0V8eB4SenDQ00WEaxfiIQPcxg== - dependencies: - async "^2.6.4" - debug "^3.2.7" - mkdirp "^0.5.6" - -postcss-modules-extract-imports@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/postcss-modules-extract-imports/-/postcss-modules-extract-imports-3.0.0.tgz#cda1f047c0ae80c97dbe28c3e76a43b88025741d" - integrity sha512-bdHleFnP3kZ4NYDhuGlVK+CMrQ/pqUm8bx/oGL93K6gVwiclvX5x0n76fYMKuIGKzlABOy13zsvqjb0f92TEXw== - -postcss-modules-local-by-default@^4.0.4: - version "4.0.4" - resolved "https://registry.yarnpkg.com/postcss-modules-local-by-default/-/postcss-modules-local-by-default-4.0.4.tgz#7cbed92abd312b94aaea85b68226d3dec39a14e6" - integrity sha512-L4QzMnOdVwRm1Qb8m4x8jsZzKAaPAgrUF1r/hjDR2Xj7R+8Zsf97jAlSQzWtKx5YNiNGN8QxmPFIc/sh+RQl+Q== - dependencies: - icss-utils "^5.0.0" - postcss-selector-parser "^6.0.2" - postcss-value-parser "^4.1.0" - -postcss-modules-scope@^3.1.1: - version "3.1.1" - resolved "https://registry.yarnpkg.com/postcss-modules-scope/-/postcss-modules-scope-3.1.1.tgz#32cfab55e84887c079a19bbb215e721d683ef134" - integrity sha512-uZgqzdTleelWjzJY+Fhti6F3C9iF1JR/dODLs/JDefozYcKTBCdD8BIl6nNPbTbcLnGrk56hzwZC2DaGNvYjzA== - dependencies: - postcss-selector-parser "^6.0.4" - -postcss-modules-values@^4.0.0: - version "4.0.0" - resolved "https://registry.yarnpkg.com/postcss-modules-values/-/postcss-modules-values-4.0.0.tgz#d7c5e7e68c3bb3c9b27cbf48ca0bb3ffb4602c9c" - integrity sha512-RDxHkAiEGI78gS2ofyvCsu7iycRv7oqw5xMWn9iMoR0N/7mf9D50ecQqUo5BZ9Zh2vH4bCUR/ktCqbB9m8vJjQ== - dependencies: - icss-utils "^5.0.0" - -postcss-selector-parser@^6.0.2, postcss-selector-parser@^6.0.4: - version "6.0.15" - resolved "https://registry.yarnpkg.com/postcss-selector-parser/-/postcss-selector-parser-6.0.15.tgz#11cc2b21eebc0b99ea374ffb9887174855a01535" - integrity sha512-rEYkQOMUCEMhsKbK66tbEU9QVIxbhN18YiniAwA7XQYTVBqrBy+P2p5JcdqsHgKM2zWylp8d7J6eszocfds5Sw== - dependencies: - cssesc "^3.0.0" - util-deprecate "^1.0.2" - -postcss-value-parser@^4.1.0, postcss-value-parser@^4.2.0: - version "4.2.0" - resolved "https://registry.yarnpkg.com/postcss-value-parser/-/postcss-value-parser-4.2.0.tgz#723c09920836ba6d3e5af019f92bc0971c02e514" - integrity sha512-1NNCs6uurfkVbeXG4S8JFT9t19m45ICnif8zWLd5oPSZ50QnwMfK+H3jv408d4jw/7Bttv5axS5IiHoLaVNHeQ== - -postcss@^8.4.33: - version "8.4.33" - resolved "https://registry.yarnpkg.com/postcss/-/postcss-8.4.33.tgz#1378e859c9f69bf6f638b990a0212f43e2aaa742" - integrity sha512-Kkpbhhdjw2qQs2O2DGX+8m5OVqEcbB9HRBvuYM9pgrjEFUg30A9LmXNlTAUj4S9kgtGyrMbTzVjH7E+s5Re2yg== - dependencies: - nanoid "^3.3.7" - picocolors "^1.0.0" - source-map-js "^1.0.2" - -preceptor-core@~0.10.0: - version "0.10.1" - resolved "https://registry.yarnpkg.com/preceptor-core/-/preceptor-core-0.10.1.tgz#c31eb026fad91c24b44351308ac97e625ec69511" - integrity sha512-WLDk+UowEESixvlhiamGOj/iqWrp8IWeCCHvBZrLh0g4/A1Fa77fDQWqQUd5S5rScT+9u49aDfa45xYRkxqmiA== - dependencies: - log4js "1.1.1" - underscore "1.7.0" - -prefix-style@2.0.1: - version "2.0.1" - resolved "https://registry.yarnpkg.com/prefix-style/-/prefix-style-2.0.1.tgz#66bba9a870cfda308a5dc20e85e9120932c95a06" - integrity sha512-gdr1MBNVT0drzTq95CbSNdsrBDoHGlb2aDJP/FoY+1e+jSDPOb1Cv554gH2MGiSr2WTcXi/zu+NaFzfcHQkfBQ== - -prelude-ls@^1.2.1: - version "1.2.1" - resolved "https://registry.yarnpkg.com/prelude-ls/-/prelude-ls-1.2.1.tgz#debc6489d7a6e6b0e7611888cec880337d316396" - integrity sha512-vkcDPrRZo1QZLbn5RLGPpg/WmIQ65qoWWhcGKf/b5eplkkarX0m9z8ppCat4mlOqUsWpyNuYgO3VRyrYHSzX5g== - -prettier@^2.8.7: - version "2.8.8" - resolved "https://registry.yarnpkg.com/prettier/-/prettier-2.8.8.tgz#e8c5d7e98a4305ffe3de2e1fc4aca1a71c28b1da" - integrity sha512-tdN8qQGvNjw4CHbY+XXk0JgCXn9QiF21a55rBe5LJAU+kDyC4WQn4+awm2Xfk2lQMk5fKup9XgzTZtGkjBdP9Q== - -pretty-bytes@^5.6.0: - version "5.6.0" - resolved "https://registry.yarnpkg.com/pretty-bytes/-/pretty-bytes-5.6.0.tgz#356256f643804773c82f64723fe78c92c62beaeb" - integrity sha512-FFw039TmrBqFK8ma/7OL3sDz/VytdtJr044/QUJtH0wK9lb9jLq9tJyIxUwtQJHwar2BqtiA4iCWSwo9JLkzFg== - -pretty-format@^27.0.2: - version "27.5.1" - resolved "https://registry.yarnpkg.com/pretty-format/-/pretty-format-27.5.1.tgz#2181879fdea51a7a5851fb39d920faa63f01d88e" - integrity sha512-Qb1gy5OrP5+zDf2Bvnzdl3jsTf1qXVMazbvCoKhtKqVs4/YK4ozX4gKQJJVyNe+cajNPn0KoC0MC3FUmaHWEmQ== - dependencies: - ansi-regex "^5.0.1" - ansi-styles "^5.0.0" - react-is "^17.0.1" - -pretty-format@^29.0.0, pretty-format@^29.7.0: - version "29.7.0" - resolved "https://registry.yarnpkg.com/pretty-format/-/pretty-format-29.7.0.tgz#ca42c758310f365bfa71a0bda0a807160b776812" - integrity sha512-Pdlw/oPxN+aXdmM9R00JVC9WVFoCLTKJvDVLgmJ+qAffBMxsV85l/Lu7sNx4zSzPyoL2euImuEwHhOXdEgNFZQ== - dependencies: - "@jest/schemas" "^29.6.3" - ansi-styles "^5.0.0" - react-is "^18.0.0" - -prismjs@1.29.0: - version "1.29.0" - resolved "https://registry.yarnpkg.com/prismjs/-/prismjs-1.29.0.tgz#f113555a8fa9b57c35e637bba27509dcf802dd12" - integrity sha512-Kx/1w86q/epKcmte75LNrEoT+lX8pBpavuAbvJWRXar7Hz8jrtF+e3vY751p0R8H9HdArwaCTNDDzHg/ScJK1Q== - -process-nextick-args@~2.0.0: - version "2.0.1" - resolved "https://registry.yarnpkg.com/process-nextick-args/-/process-nextick-args-2.0.1.tgz#7820d9b16120cc55ca9ae7792680ae7dba6d7fe2" - integrity sha512-3ouUOpQhtgrbOa17J7+uxOTpITYWaGP7/AhoR3+A+/1e9skrzelGi/dXzEYyvbxubEF6Wn2ypscTKiKJFFn1ag== - -promise@6.0.0: - version "6.0.0" - resolved "https://registry.yarnpkg.com/promise/-/promise-6.0.0.tgz#456538dd4afdd25dc7d0f52a5201ed242b7c109d" - integrity sha512-PjIqIEWR8EWwP5ml3Wf5KWIP3sIdXAew9vQ6vLOLV+z4LMa/8ZQyLd7sTWe2r8OuA8A9jsIYptDfbEn/L36ogw== - dependencies: - asap "~1.0.0" - -prompts@^2.0.1: - version "2.4.2" - resolved "https://registry.yarnpkg.com/prompts/-/prompts-2.4.2.tgz#7b57e73b3a48029ad10ebd44f74b01722a4cb069" - integrity sha512-NxNv/kLguCA7p3jE8oL2aEBsrJWgAakBpgmgK6lpPWV+WuOmY6r2/zbAVnP+T8bQlA0nzHXSJSJW0Hq7ylaD2Q== - dependencies: - kleur "^3.0.3" - sisteransi "^1.0.5" - -prop-types@15.x, prop-types@^15.5.10, prop-types@^15.5.8, prop-types@^15.6.0, prop-types@^15.6.2, prop-types@^15.7.2, prop-types@^15.8.1: - version "15.8.1" - resolved "https://registry.yarnpkg.com/prop-types/-/prop-types-15.8.1.tgz#67d87bf1a694f48435cf332c24af10214a3140b5" - integrity sha512-oj87CgZICdulUohogVAR7AjlC0327U4el4L6eAvOqCeudMDVU0NThNaV+b9Df4dXgSP1gXMTnPdhfe/2qDH5cg== - dependencies: - loose-envify "^1.4.0" - object-assign "^4.1.1" - react-is "^16.13.1" - -protocol-buffers-schema@^3.3.1: - version "3.6.0" - resolved "https://registry.yarnpkg.com/protocol-buffers-schema/-/protocol-buffers-schema-3.6.0.tgz#77bc75a48b2ff142c1ad5b5b90c94cd0fa2efd03" - integrity sha512-TdDRD+/QNdrCGCE7v8340QyuXd4kIWIgapsE2+n/SaGiSSbomYl4TjHlvIoCWRpE7wFt02EpB35VVA2ImcBVqw== - -proxy-from-env@1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/proxy-from-env/-/proxy-from-env-1.0.0.tgz#33c50398f70ea7eb96d21f7b817630a55791c7ee" - integrity sha512-F2JHgJQ1iqwnHDcQjVBsq3n/uoaFL+iPW/eAeL7kVxy/2RrWaN4WroKjjvbsoRtv0ftelNyC01bjRhn/bhcf4A== - -prr@~1.0.1: - version "1.0.1" - resolved "https://registry.yarnpkg.com/prr/-/prr-1.0.1.tgz#d3fc114ba06995a45ec6893f484ceb1d78f5f476" - integrity sha512-yPw4Sng1gWghHQWj0B3ZggWUm4qVbPwPFcRG8KyxiU7J2OHFSoEHKS+EZ3fv5l1t9CyCiop6l/ZYeWbrgoQejw== - -psl@^1.1.28, psl@^1.1.33: - version "1.9.0" - resolved "https://registry.yarnpkg.com/psl/-/psl-1.9.0.tgz#d0df2a137f00794565fcaf3b2c00cd09f8d5a5a7" - integrity sha512-E/ZsdU4HLs/68gYzgGTkMicWTLPdAftJLfJFlLUAAKZGkStNU72sZjT66SnMDVOfOWY/YAoiD7Jxa9iHvngcag== - -pump@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/pump/-/pump-3.0.0.tgz#b4a2116815bde2f4e1ea602354e8c75565107a64" - integrity sha512-LwZy+p3SFs1Pytd/jYct4wpv49HiYCqd9Rlc5ZVdk0V+8Yzv6jR5Blk3TRmPL1ft69TxP0IMZGJ+WPFU2BFhww== - dependencies: - end-of-stream "^1.1.0" - once "^1.3.1" - -punycode@^2.1.0, punycode@^2.1.1: - version "2.3.1" - resolved "https://registry.yarnpkg.com/punycode/-/punycode-2.3.1.tgz#027422e2faec0b25e1549c3e1bd8309b9133b6e5" - integrity sha512-vYt7UD1U9Wg6138shLtLOvdAu+8DsC/ilFtEVHcH+wydcSpNE20AfSOduf6MkRFahL5FY7X1oU7nKVZFtfq8Fg== - -pure-rand@^6.0.0: - version "6.0.4" - resolved "https://registry.yarnpkg.com/pure-rand/-/pure-rand-6.0.4.tgz#50b737f6a925468679bff00ad20eade53f37d5c7" - integrity sha512-LA0Y9kxMYv47GIPJy6MI84fqTd2HmYZI83W/kM/SkKfDlajnZYfmXFTxkbY+xSBPkLJxltMa9hIkmdc29eguMA== - -qs@^6.4.0: - version "6.11.2" - resolved "https://registry.yarnpkg.com/qs/-/qs-6.11.2.tgz#64bea51f12c1f5da1bc01496f48ffcff7c69d7d9" - integrity sha512-tDNIz22aBzCDxLtVH++VnTfzxlfeK5CbqohpSqpJgj1Wg/cQbStNAz3NuqCs5vV+pjBsK4x4pN9HlVh7rcYRiA== - dependencies: - side-channel "^1.0.4" - -qs@~6.10.3: - version "6.10.5" - resolved "https://registry.yarnpkg.com/qs/-/qs-6.10.5.tgz#974715920a80ff6a262264acd2c7e6c2a53282b4" - integrity sha512-O5RlPh0VFtR78y79rgcgKK4wbAI0C5zGVLztOIdpWX6ep368q5Hv6XRxDvXuZ9q3C6v+e3n8UfZZJw7IIG27eQ== - dependencies: - side-channel "^1.0.4" - -qs@~6.5.2: - version "6.5.3" - resolved "https://registry.yarnpkg.com/qs/-/qs-6.5.3.tgz#3aeeffc91967ef6e35c0e488ef46fb296ab76aad" - integrity sha512-qxXIEh4pCGfHICj1mAJQ2/2XVZkjCDTcEgfoSQxc/fYivUZxTkk7L3bDBJSoNrEzXI17oUO5Dp07ktqE5KzczA== - -querystringify@^2.1.1: - version "2.2.0" - resolved "https://registry.yarnpkg.com/querystringify/-/querystringify-2.2.0.tgz#3345941b4153cb9d082d8eee4cda2016a9aef7f6" - integrity sha512-FIqgj2EUvTa7R50u0rGsyTftzjYmv/a3hO345bZNrqabNqjtgiDMgmo4mkUjd+nzU5oF3dClKqFIPUKybUyqoQ== - -queue-microtask@^1.2.2: - version "1.2.3" - resolved "https://registry.yarnpkg.com/queue-microtask/-/queue-microtask-1.2.3.tgz#4929228bbc724dfac43e0efb058caf7b6cfb6243" - integrity sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A== - -quick-lru@^6.1.1: - version "6.1.2" - resolved "https://registry.yarnpkg.com/quick-lru/-/quick-lru-6.1.2.tgz#e9a90524108629be35287d0b864e7ad6ceb3659e" - integrity sha512-AAFUA5O1d83pIHEhJwWCq/RQcRukCkn/NSm2QsTEMle5f2hP0ChI2+3Xb051PZCkLryI/Ir1MVKviT2FIloaTQ== - -quickselect@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/quickselect/-/quickselect-2.0.0.tgz#f19680a486a5eefb581303e023e98faaf25dd018" - integrity sha512-RKJ22hX8mHe3Y6wH/N3wCM6BWtjaxIyyUIkpHOvfFnxdI4yD4tBXEBKSbriGujF6jnSVkJrffuo6vxACiSSxIw== - -raf-schd@^4.0.2: - version "4.0.3" - resolved "https://registry.yarnpkg.com/raf-schd/-/raf-schd-4.0.3.tgz#5d6c34ef46f8b2a0e880a8fcdb743efc5bfdbc1a" - integrity sha512-tQkJl2GRWh83ui2DiPTJz9wEiMN20syf+5oKfB03yYP7ioZcJwsIK8FjrtLwH1m7C7e+Tt2yYBlrOpdT+dyeIQ== - -raf@^3.1.0, raf@^3.4.0, raf@^3.4.1: - version "3.4.1" - resolved "https://registry.yarnpkg.com/raf/-/raf-3.4.1.tgz#0742e99a4a6552f445d73e3ee0328af0ff1ede39" - integrity sha512-Sq4CW4QhwOHE8ucn6J34MqtZCeWFP2aQSmrlroYgqAV1PjStIhJXxYuTgUIfkEk7zTLjmIjLmU5q+fbD1NnOJA== - dependencies: - performance-now "^2.1.0" - -randombytes@^2.1.0: - version "2.1.0" - resolved "https://registry.yarnpkg.com/randombytes/-/randombytes-2.1.0.tgz#df6f84372f0270dc65cdf6291349ab7a473d4f2a" - integrity sha512-vYl3iOX+4CKUWuxGi9Ukhie6fsqXqS9FE2Zaic4tNFD2N2QQaXOMFbuKK4QmDHC0JO6B1Zp41J0LpT0oR68amQ== - dependencies: - safe-buffer "^5.1.0" - -raw-body@~1.1.0: - version "1.1.7" - resolved "https://registry.yarnpkg.com/raw-body/-/raw-body-1.1.7.tgz#1d027c2bfa116acc6623bca8f00016572a87d425" - integrity sha512-WmJJU2e9Y6M5UzTOkHaM7xJGAPQD8PNzx3bAd2+uhZAim6wDk6dAZxPVYLF67XhbR4hmKGh33Lpmh4XWrCH5Mg== - dependencies: - bytes "1" - string_decoder "0.10" - -rbush@^3.0.1: - version "3.0.1" - resolved "https://registry.yarnpkg.com/rbush/-/rbush-3.0.1.tgz#5fafa8a79b3b9afdfe5008403a720cc1de882ecf" - integrity sha512-XRaVO0YecOpEuIvbhbpTrZgoiI6xBlz6hnlr6EHhd+0x9ase6EmeN+hdwwUaJvLcsFFQ8iWVF1GAK1yB0BWi0w== - dependencies: - quickselect "^2.0.0" - -rc-align@^2.4.0: - version "2.4.5" - resolved "https://registry.yarnpkg.com/rc-align/-/rc-align-2.4.5.tgz#c941a586f59d1017f23a428f0b468663fb7102ab" - integrity sha512-nv9wYUYdfyfK+qskThf4BQUSIadeI/dCsfaMZfNEoxm9HwOIioQ+LyqmMK6jWHAZQgOzMLaqawhuBXlF63vgjw== - dependencies: - babel-runtime "^6.26.0" - dom-align "^1.7.0" - prop-types "^15.5.8" - rc-util "^4.0.4" - -rc-align@^4.0.0: - version "4.0.15" - resolved "https://registry.yarnpkg.com/rc-align/-/rc-align-4.0.15.tgz#2bbd665cf85dfd0b0244c5a752b07565e9098577" - integrity sha512-wqJtVH60pka/nOX7/IspElA8gjPNQKIx/ZqJ6heATCkXpe1Zg4cPVrMD2vC96wjsFFL8WsmhPbx9tdMo1qqlIA== - dependencies: - "@babel/runtime" "^7.10.1" - classnames "2.x" - dom-align "^1.7.0" - rc-util "^5.26.0" - resize-observer-polyfill "^1.5.1" - -rc-animate@2.x: - version "2.11.1" - resolved "https://registry.yarnpkg.com/rc-animate/-/rc-animate-2.11.1.tgz#2666eeb6f1f2a495a13b2af09e236712278fdb2c" - integrity sha512-1NyuCGFJG/0Y+9RKh5y/i/AalUCA51opyyS/jO2seELpgymZm2u9QV3xwODwEuzkmeQ1BDPxMLmYLcTJedPlkQ== - dependencies: - babel-runtime "6.x" - classnames "^2.2.6" - css-animation "^1.3.2" - prop-types "15.x" - raf "^3.4.0" - rc-util "^4.15.3" - react-lifecycles-compat "^3.0.4" - -rc-cascader@3.10.2: - version "3.10.2" - resolved "https://registry.yarnpkg.com/rc-cascader/-/rc-cascader-3.10.2.tgz#9e75e6b7bdd6e531d1f986cda2b68755e21e5b9e" - integrity sha512-llKIxAAJZW10BkvhqdNsOSy2AOubj0xGEJFcdo/FP09DrhVI764skhCeBH9WfIhv4X40t9/goDwTsXE8Gul9zA== - dependencies: - "@babel/runtime" "^7.12.5" - array-tree-filter "^2.1.0" - classnames "^2.3.1" - rc-select "~14.4.0" - rc-tree "~5.7.0" - rc-util "^5.6.1" - -rc-drawer@6.1.3: - version "6.1.3" - resolved "https://registry.yarnpkg.com/rc-drawer/-/rc-drawer-6.1.3.tgz#4b2277db09f059be7144dc82d5afede9c2ab2191" - integrity sha512-AvHisO90A+xMLMKBw2zs89HxjWxusM2BUABlgK60RhweIHF8W/wk0hSOrxBlUXoA9r1F+10na3g6GZ97y1qDZA== - dependencies: - "@babel/runtime" "^7.10.1" - "@rc-component/portal" "^1.0.0-6" - classnames "^2.2.6" - rc-motion "^2.6.1" - rc-util "^5.21.2" - -rc-motion@^2.0.0, rc-motion@^2.0.1, rc-motion@^2.6.1: - version "2.9.0" - resolved "https://registry.yarnpkg.com/rc-motion/-/rc-motion-2.9.0.tgz#9e18a1b8d61e528a97369cf9a7601e9b29205710" - integrity sha512-XIU2+xLkdIr1/h6ohPZXyPBMvOmuyFZQ/T0xnawz+Rh+gh4FINcnZmMT5UTIj6hgI0VLDjTaPeRd+smJeSPqiQ== - dependencies: - "@babel/runtime" "^7.11.1" - classnames "^2.2.1" - rc-util "^5.21.0" - -rc-overflow@^1.0.0: - version "1.3.2" - resolved "https://registry.yarnpkg.com/rc-overflow/-/rc-overflow-1.3.2.tgz#72ee49e85a1308d8d4e3bd53285dc1f3e0bcce2c" - integrity sha512-nsUm78jkYAoPygDAcGZeC2VwIg/IBGSodtOY3pMof4W3M9qRJgqaDYm03ZayHlde3I6ipliAxbN0RUcGf5KOzw== - dependencies: - "@babel/runtime" "^7.11.1" - classnames "^2.2.1" - rc-resize-observer "^1.0.0" - rc-util "^5.37.0" - -rc-resize-observer@^1.0.0, rc-resize-observer@^1.3.1: - version "1.4.0" - resolved "https://registry.yarnpkg.com/rc-resize-observer/-/rc-resize-observer-1.4.0.tgz#7bba61e6b3c604834980647cce6451914750d0cc" - integrity sha512-PnMVyRid9JLxFavTjeDXEXo65HCRqbmLBw9xX9gfC4BZiSzbLXKzW3jPz+J0P71pLbD5tBMTT+mkstV5gD0c9Q== - dependencies: - "@babel/runtime" "^7.20.7" - classnames "^2.2.1" - rc-util "^5.38.0" - resize-observer-polyfill "^1.5.1" - -rc-select@~14.4.0: - version "14.4.3" - resolved "https://registry.yarnpkg.com/rc-select/-/rc-select-14.4.3.tgz#68d7f1b6bcb41543f69901951facd5e097fb835d" - integrity sha512-qoz4gNqm3SN+4dYKSCRiRkxKSEEdbS3jC6gdFYoYwEjDZ9sdQFo5jHlfQbF+hhai01HOoj1Hf8Gq6tpUvU+Gmw== - dependencies: - "@babel/runtime" "^7.10.1" - "@rc-component/trigger" "^1.5.0" - classnames "2.x" - rc-motion "^2.0.1" - rc-overflow "^1.0.0" - rc-util "^5.16.1" - rc-virtual-list "^3.4.13" - -rc-slider@10.1.1: - version "10.1.1" - resolved "https://registry.yarnpkg.com/rc-slider/-/rc-slider-10.1.1.tgz#5e82036e60b61021aba3ea0e353744dd7c74e104" - integrity sha512-gn8oXazZISEhnmRinI89Z/JD/joAaM35jp+gDtIVSTD/JJMCCBqThqLk1SVJmvtfeiEF/kKaFY0+qt4SDHFUDw== - dependencies: - "@babel/runtime" "^7.10.1" - classnames "^2.2.5" - rc-util "^5.27.0" - -rc-time-picker@^3.7.3: - version "3.7.3" - resolved "https://registry.yarnpkg.com/rc-time-picker/-/rc-time-picker-3.7.3.tgz#65a8de904093250ae9c82b02a4905e0f995e23e2" - integrity sha512-Lv1Mvzp9fRXhXEnRLO4nW6GLNxUkfAZ3RsiIBsWjGjXXvMNjdr4BX/ayElHAFK0DoJqOhm7c5tjmIYpEOwcUXg== - dependencies: - classnames "2.x" - moment "2.x" - prop-types "^15.5.8" - raf "^3.4.1" - rc-trigger "^2.2.0" - react-lifecycles-compat "^3.0.4" - -rc-tooltip@5.3.1: - version "5.3.1" - resolved "https://registry.yarnpkg.com/rc-tooltip/-/rc-tooltip-5.3.1.tgz#3dde4e1865f79cd23f202bba4e585c2a1173024b" - integrity sha512-e6H0dMD38EPaSPD2XC8dRfct27VvT2TkPdoBSuNl3RRZ5tspiY/c5xYEmGC0IrABvMBgque4Mr2SMZuliCvoiQ== - dependencies: - "@babel/runtime" "^7.11.2" - classnames "^2.3.1" - rc-trigger "^5.3.1" - -rc-tree@~5.7.0: - version "5.7.12" - resolved "https://registry.yarnpkg.com/rc-tree/-/rc-tree-5.7.12.tgz#6910e551390963708936c2cbf925f9deff4a6d76" - integrity sha512-LXA5nY2hG5koIAlHW5sgXgLpOMz+bFRbnZZ+cCg0tQs4Wv1AmY7EDi1SK7iFXhslYockbqUerQan82jljoaItg== - dependencies: - "@babel/runtime" "^7.10.1" - classnames "2.x" - rc-motion "^2.0.1" - rc-util "^5.16.1" - rc-virtual-list "^3.5.1" - -rc-trigger@^2.2.0: - version "2.6.5" - resolved "https://registry.yarnpkg.com/rc-trigger/-/rc-trigger-2.6.5.tgz#140a857cf28bd0fa01b9aecb1e26a50a700e9885" - integrity sha512-m6Cts9hLeZWsTvWnuMm7oElhf+03GOjOLfTuU0QmdB9ZrW7jR2IpI5rpNM7i9MvAAlMAmTx5Zr7g3uu/aMvZAw== - dependencies: - babel-runtime "6.x" - classnames "^2.2.6" - prop-types "15.x" - rc-align "^2.4.0" - rc-animate "2.x" - rc-util "^4.4.0" - react-lifecycles-compat "^3.0.4" - -rc-trigger@^5.3.1: - version "5.3.4" - resolved "https://registry.yarnpkg.com/rc-trigger/-/rc-trigger-5.3.4.tgz#6b4b26e32825677c837d1eb4d7085035eecf9a61" - integrity sha512-mQv+vas0TwKcjAO2izNPkqR4j86OemLRmvL2nOzdP9OWNWA1ivoTt5hzFqYNW9zACwmTezRiN8bttrC7cZzYSw== - dependencies: - "@babel/runtime" "^7.18.3" - classnames "^2.2.6" - rc-align "^4.0.0" - rc-motion "^2.0.0" - rc-util "^5.19.2" - -rc-util@^4.0.4, rc-util@^4.15.3, rc-util@^4.4.0: - version "4.21.1" - resolved "https://registry.yarnpkg.com/rc-util/-/rc-util-4.21.1.tgz#88602d0c3185020aa1053d9a1e70eac161becb05" - integrity sha512-Z+vlkSQVc1l8O2UjR3WQ+XdWlhj5q9BMQNLk2iOBch75CqPfrJyGtcWMcnhRlNuDu0Ndtt4kLVO8JI8BrABobg== - dependencies: - add-dom-event-listener "^1.1.0" - prop-types "^15.5.10" - react-is "^16.12.0" - react-lifecycles-compat "^3.0.4" - shallowequal "^1.1.0" - -rc-util@^5.16.1, rc-util@^5.19.2, rc-util@^5.21.0, rc-util@^5.21.2, rc-util@^5.24.4, rc-util@^5.26.0, rc-util@^5.27.0, rc-util@^5.36.0, rc-util@^5.37.0, rc-util@^5.38.0, rc-util@^5.6.1: - version "5.38.1" - resolved "https://registry.yarnpkg.com/rc-util/-/rc-util-5.38.1.tgz#4915503b89855f5c5cd9afd4c72a7a17568777bb" - integrity sha512-e4ZMs7q9XqwTuhIK7zBIVFltUtMSjphuPPQXHoHlzRzNdOwUxDejo0Zls5HYaJfRKNURcsS/ceKVULlhjBrxng== - dependencies: - "@babel/runtime" "^7.18.3" - react-is "^18.2.0" - -rc-virtual-list@^3.4.13, rc-virtual-list@^3.5.1: - version "3.11.3" - resolved "https://registry.yarnpkg.com/rc-virtual-list/-/rc-virtual-list-3.11.3.tgz#77d4e12e20c1ba314b43c0e37e118296674c5401" - integrity sha512-tu5UtrMk/AXonHwHxUogdXAWynaXsrx1i6dsgg+lOo/KJSF8oBAcprh1z5J3xgnPJD5hXxTL58F8s8onokdt0Q== - dependencies: - "@babel/runtime" "^7.20.0" - classnames "^2.2.6" - rc-resize-observer "^1.0.0" - rc-util "^5.36.0" - -react-beautiful-dnd@13.1.1: - version "13.1.1" - resolved "https://registry.yarnpkg.com/react-beautiful-dnd/-/react-beautiful-dnd-13.1.1.tgz#b0f3087a5840920abf8bb2325f1ffa46d8c4d0a2" - integrity sha512-0Lvs4tq2VcrEjEgDXHjT98r+63drkKEgqyxdA7qD3mvKwga6a5SscbdLPO2IExotU1jW8L0Ksdl0Cj2AF67nPQ== - dependencies: - "@babel/runtime" "^7.9.2" - css-box-model "^1.2.0" - memoize-one "^5.1.1" - raf-schd "^4.0.2" - react-redux "^7.2.0" - redux "^4.0.4" - use-memo-one "^1.1.1" - -react-calendar@4.0.0: - version "4.0.0" - resolved "https://registry.yarnpkg.com/react-calendar/-/react-calendar-4.0.0.tgz#99ad73dd0c7c5b25aa535a5fdeee3d71bfe45faa" - integrity sha512-y9Q5Oo3Mq869KExbOCP3aJ3hEnRZKZ0TqUa9QU1wJGgDZFrW1qTaWp5v52oZpmxTTrpAMTUcUGaC0QJcO1f8Nw== - dependencies: - "@wojtekmaj/date-utils" "^1.0.2" - clsx "^1.2.1" - get-user-locale "^1.2.0" - prop-types "^15.6.0" - -react-colorful@5.6.1: - version "5.6.1" - resolved "https://registry.yarnpkg.com/react-colorful/-/react-colorful-5.6.1.tgz#7dc2aed2d7c72fac89694e834d179e32f3da563b" - integrity sha512-1exovf0uGTGyq5mXQT0zgQ80uvj2PCwvF8zY1RN9/vbJVSjSo3fsB/4L3ObbF7u70NduSiK4xu4Y6q1MHoUGEw== - -react-custom-scrollbars-2@4.5.0: - version "4.5.0" - resolved "https://registry.yarnpkg.com/react-custom-scrollbars-2/-/react-custom-scrollbars-2-4.5.0.tgz#cff18e7368bce9d570aea0be780045eda392c745" - integrity sha512-/z0nWAeXfMDr4+OXReTpYd1Atq9kkn4oI3qxq3iMXGQx1EEfwETSqB8HTAvg1X7dEqcCachbny1DRNGlqX5bDQ== - dependencies: - dom-css "^2.0.0" - prop-types "^15.5.10" - raf "^3.1.0" - -react-dom@18.2.0: - version "18.2.0" - resolved "https://registry.yarnpkg.com/react-dom/-/react-dom-18.2.0.tgz#22aaf38708db2674ed9ada224ca4aa708d821e3d" - integrity sha512-6IMTriUmvsjHUjNtEDudZfuDQUoWXVxKHhlEGSk81n4YFS+r/Kl99wXiwlVXtPBtJenozv2P+hxDsw9eA7Xo6g== - dependencies: - loose-envify "^1.1.0" - scheduler "^0.23.0" - -react-draggable@^4.0.0, react-draggable@^4.0.3: - version "4.4.6" - resolved "https://registry.yarnpkg.com/react-draggable/-/react-draggable-4.4.6.tgz#63343ee945770881ca1256a5b6fa5c9f5983fe1e" - integrity sha512-LtY5Xw1zTPqHkVmtM3X8MUOxNDOUhv/khTgBgrUvwaS064bwVvxT+q5El0uUFNx5IEPKXuRejr7UqLwBIg5pdw== - dependencies: - clsx "^1.1.1" - prop-types "^15.8.1" - -react-dropzone@14.2.3: - version "14.2.3" - resolved "https://registry.yarnpkg.com/react-dropzone/-/react-dropzone-14.2.3.tgz#0acab68308fda2d54d1273a1e626264e13d4e84b" - integrity sha512-O3om8I+PkFKbxCukfIR3QAGftYXDZfOE2N1mr/7qebQJHs7U+/RSL/9xomJNpRg9kM5h9soQSdf0Gc7OHF5Fug== - dependencies: - attr-accept "^2.2.2" - file-selector "^0.6.0" - prop-types "^15.8.1" - -react-fast-compare@^3.0.1: - version "3.2.2" - resolved "https://registry.yarnpkg.com/react-fast-compare/-/react-fast-compare-3.2.2.tgz#929a97a532304ce9fee4bcae44234f1ce2c21d49" - integrity sha512-nsO+KSNgo1SbJqJEYRE9ERzo7YtYbou/OqjSQKxV7jcKox7+usiUVZOAC+XnDOABXggQTno0Y1CpVnuWEc1boQ== - -react-from-dom@^0.6.2: - version "0.6.2" - resolved "https://registry.yarnpkg.com/react-from-dom/-/react-from-dom-0.6.2.tgz#9da903a508c91c013b55afcd59348b8b0a39bdb4" - integrity sha512-qvWWTL/4xw4k/Dywd41RBpLQUSq97csuv15qrxN+izNeLYlD9wn5W8LspbfYe5CWbaSdkZ72BsaYBPQf2x4VbQ== - -react-grid-layout@1.3.4: - version "1.3.4" - resolved "https://registry.yarnpkg.com/react-grid-layout/-/react-grid-layout-1.3.4.tgz#4fa819be24a1ba9268aa11b82d63afc4762a32ff" - integrity sha512-sB3rNhorW77HUdOjB4JkelZTdJGQKuXLl3gNg+BI8gJkTScspL1myfZzW/EM0dLEn+1eH+xW+wNqk0oIM9o7cw== - dependencies: - clsx "^1.1.1" - lodash.isequal "^4.0.0" - prop-types "^15.8.1" - react-draggable "^4.0.0" - react-resizable "^3.0.4" - -react-highlight-words@0.20.0: - version "0.20.0" - resolved "https://registry.yarnpkg.com/react-highlight-words/-/react-highlight-words-0.20.0.tgz#c60bfff5d14678c8f0e8fbe4bdcf083e6c70d507" - integrity sha512-asCxy+jCehDVhusNmCBoxDf2mm1AJ//D+EzDx1m5K7EqsMBIHdZ5G4LdwbSEXqZq1Ros0G0UySWmAtntSph7XA== - dependencies: - highlight-words-core "^1.2.0" - memoize-one "^4.0.0" - prop-types "^15.5.8" - -react-hook-form@7.5.3: - version "7.5.3" - resolved "https://registry.yarnpkg.com/react-hook-form/-/react-hook-form-7.5.3.tgz#9a624fa14ec153b154891c5ebddae02ec5c2e40f" - integrity sha512-5T0mfJ4kCPKljd7t3Rgp7lML4Y2+kaZIeMdN6Zo/J7gBQ+WkrDBHOftdOtz4X+7/eqHGak5yL5evNpYdA9abVA== - -react-i18next@^12.0.0: - version "12.3.1" - resolved "https://registry.yarnpkg.com/react-i18next/-/react-i18next-12.3.1.tgz#30134a41a2a71c61dc69c6383504929aed1c99e7" - integrity sha512-5v8E2XjZDFzK7K87eSwC7AJcAkcLt5xYZ4+yTPDAW1i7C93oOY1dnr4BaQM7un4Hm+GmghuiPvevWwlca5PwDA== - dependencies: - "@babel/runtime" "^7.20.6" - html-parse-stringify "^3.0.1" - -react-immutable-proptypes@^2.1.0: - version "2.2.0" - resolved "https://registry.yarnpkg.com/react-immutable-proptypes/-/react-immutable-proptypes-2.2.0.tgz#cce96d68cc3c18e89617cbf3092d08e35126af4a" - integrity sha512-Vf4gBsePlwdGvSZoLSBfd4HAP93HDauMY4fDjXhreg/vg6F3Fj/MXDNyTbltPC/xZKmZc+cjLu3598DdYK6sgQ== - dependencies: - invariant "^2.2.2" - -react-inlinesvg@3.0.2: - version "3.0.2" - resolved "https://registry.yarnpkg.com/react-inlinesvg/-/react-inlinesvg-3.0.2.tgz#5c59799966ae7926057091b2ac230ddcee01bea0" - integrity sha512-BEzkpMGQwEY68fgaouY7ZWvAUPb8jbj7dE9iDbWZxstDhMuz9qfpxNgvGSENKcDMdpq/XHduSk/LAmNKin4nKw== - dependencies: - exenv "^1.2.2" - react-from-dom "^0.6.2" - -react-is@^16.12.0, react-is@^16.13.1, react-is@^16.6.0, react-is@^16.7.0: - version "16.13.1" - resolved "https://registry.yarnpkg.com/react-is/-/react-is-16.13.1.tgz#789729a4dc36de2999dc156dd6c1d9c18cea56a4" - integrity sha512-24e6ynE2H+OKt4kqsOvNd8kBpV65zoxbA4BVsEOB3ARVWQki/DHzaUoC5KuON/BiccDaCCTZBuOcfZs70kR8bQ== - -react-is@^17.0.1, react-is@^17.0.2: - version "17.0.2" - resolved "https://registry.yarnpkg.com/react-is/-/react-is-17.0.2.tgz#e691d4a8e9c789365655539ab372762b0efb54f0" - integrity sha512-w2GsyukL62IJnlaff/nRegPQR94C/XXamvMWmSHRJ4y7Ts/4ocGRmTHvOs8PSE6pB3dWOrD/nueuU5sduBsQ4w== - -react-is@^18.0.0, react-is@^18.2.0: - version "18.2.0" - resolved "https://registry.yarnpkg.com/react-is/-/react-is-18.2.0.tgz#199431eeaaa2e09f86427efbb4f1473edb47609b" - integrity sha512-xWGDIW6x921xtzPkhiULtthJHoJvBbF3q26fzloPCK0hsvxtPVelvftw3zjbHWSkR2km9Z+4uxbDDK/6Zw9B8w== - -react-lifecycles-compat@^3.0.4: - version "3.0.4" - resolved "https://registry.yarnpkg.com/react-lifecycles-compat/-/react-lifecycles-compat-3.0.4.tgz#4f1a273afdfc8f3488a8c516bfda78f872352362" - integrity sha512-fBASbA6LnOU9dOU2eW7aQ8xmYBSXUIWr+UmF9b1efZBazGNO+rcXT/icdKnYm2pTwcRylVUYwW7H1PHfLekVzA== - -react-popper-tooltip@4.4.2: - version "4.4.2" - resolved "https://registry.yarnpkg.com/react-popper-tooltip/-/react-popper-tooltip-4.4.2.tgz#0dc4894b8e00ba731f89bd2d30584f6032ec6163" - integrity sha512-y48r0mpzysRTZAIh8m2kpZ8S1YPNqGtQPDrlXYSGvDS1c1GpG/NUXbsbIdfbhXfmSaRJuTcaT6N1q3CKuHRVbg== - dependencies: - "@babel/runtime" "^7.18.3" - "@popperjs/core" "^2.11.5" - react-popper "^2.3.0" - -react-popper@2.3.0, react-popper@^2.3.0: - version "2.3.0" - resolved "https://registry.yarnpkg.com/react-popper/-/react-popper-2.3.0.tgz#17891c620e1320dce318bad9fede46a5f71c70ba" - integrity sha512-e1hj8lL3uM+sgSR4Lxzn5h1GxBlpa4CQz0XLF8kx4MDrDRWY0Ena4c97PUeSX9i5W3UAfDP0z0FXCTQkoXUl3Q== - dependencies: - react-fast-compare "^3.0.1" - warning "^4.0.2" - -react-redux@^7.2.0: - version "7.2.9" - resolved "https://registry.yarnpkg.com/react-redux/-/react-redux-7.2.9.tgz#09488fbb9416a4efe3735b7235055442b042481d" - integrity sha512-Gx4L3uM182jEEayZfRbI/G11ZpYdNAnBs70lFVMNdHJI76XYtR+7m0MN+eAs7UHBPhWXcnFPaS+9owSCJQHNpQ== - dependencies: - "@babel/runtime" "^7.15.4" - "@types/react-redux" "^7.1.20" - hoist-non-react-statics "^3.3.2" - loose-envify "^1.4.0" - prop-types "^15.7.2" - react-is "^17.0.2" - -react-resizable@^3.0.4: - version "3.0.5" - resolved "https://registry.yarnpkg.com/react-resizable/-/react-resizable-3.0.5.tgz#362721f2efbd094976f1780ae13f1ad7739786c1" - integrity sha512-vKpeHhI5OZvYn82kXOs1bC8aOXktGU5AmKAgaZS4F5JPburCtbmDPqE7Pzp+1kN4+Wb81LlF33VpGwWwtXem+w== - dependencies: - prop-types "15.x" - react-draggable "^4.0.3" - -react-router-dom@5.3.3: - version "5.3.3" - resolved "https://registry.yarnpkg.com/react-router-dom/-/react-router-dom-5.3.3.tgz#8779fc28e6691d07afcaf98406d3812fe6f11199" - integrity sha512-Ov0tGPMBgqmbu5CDmN++tv2HQ9HlWDuWIIqn4b88gjlAN5IHI+4ZUZRcpz9Hl0azFIwihbLDYw1OiHGRo7ZIng== - dependencies: - "@babel/runtime" "^7.12.13" - history "^4.9.0" - loose-envify "^1.3.1" - prop-types "^15.6.2" - react-router "5.3.3" - tiny-invariant "^1.0.2" - tiny-warning "^1.0.0" - -react-router@5.3.3: - version "5.3.3" - resolved "https://registry.yarnpkg.com/react-router/-/react-router-5.3.3.tgz#8e3841f4089e728cf82a429d92cdcaa5e4a3a288" - integrity sha512-mzQGUvS3bM84TnbtMYR8ZjKnuPJ71IjSzR+DE6UkUqvN4czWIqEs17yLL8xkAycv4ev0AiN+IGrWu88vJs/p2w== - dependencies: - "@babel/runtime" "^7.12.13" - history "^4.9.0" - hoist-non-react-statics "^3.1.0" - loose-envify "^1.3.1" - mini-create-react-context "^0.4.0" - path-to-regexp "^1.7.0" - prop-types "^15.6.2" - react-is "^16.6.0" - tiny-invariant "^1.0.2" - tiny-warning "^1.0.0" - -react-select-event@^5.1.0: - version "5.5.1" - resolved "https://registry.yarnpkg.com/react-select-event/-/react-select-event-5.5.1.tgz#d67e04a6a51428b1534b15ecb1b82afbe5edddcb" - integrity sha512-goAx28y0+iYrbqZA2FeRTreHHs/ZtSuKxtA+J5jpKT5RHPCbVZJ4MqACfPnWyFXsEec+3dP5bCrNTxIX8oYe9A== - dependencies: - "@testing-library/dom" ">=7" - -react-select@5.7.0: - version "5.7.0" - resolved "https://registry.yarnpkg.com/react-select/-/react-select-5.7.0.tgz#82921b38f1fcf1471a0b62304da01f2896cd8ce6" - integrity sha512-lJGiMxCa3cqnUr2Jjtg9YHsaytiZqeNOKeibv6WF5zbK/fPegZ1hg3y/9P1RZVLhqBTs0PfqQLKuAACednYGhQ== - dependencies: - "@babel/runtime" "^7.12.0" - "@emotion/cache" "^11.4.0" - "@emotion/react" "^11.8.1" - "@floating-ui/dom" "^1.0.1" - "@types/react-transition-group" "^4.4.0" - memoize-one "^6.0.0" - prop-types "^15.6.0" - react-transition-group "^4.3.0" - use-isomorphic-layout-effect "^1.1.2" - -react-table@7.8.0: - version "7.8.0" - resolved "https://registry.yarnpkg.com/react-table/-/react-table-7.8.0.tgz#07858c01c1718c09f7f1aed7034fcfd7bda907d2" - integrity sha512-hNaz4ygkZO4bESeFfnfOft73iBUj8K5oKi1EcSHPAibEydfsX2MyU6Z8KCr3mv3C9Kqqh71U+DhZkFvibbnPbA== - -react-transition-group@4.4.5, react-transition-group@^4.3.0: - version "4.4.5" - resolved "https://registry.yarnpkg.com/react-transition-group/-/react-transition-group-4.4.5.tgz#e53d4e3f3344da8521489fbef8f2581d42becdd1" - integrity sha512-pZcd1MCJoiKiBR2NRxeCRg13uCXbydPnmB4EOeRrY7480qNWO8IIgQG6zlDkm6uRMsURXPuKq0GWtiM59a5Q6g== - dependencies: - "@babel/runtime" "^7.5.5" - dom-helpers "^5.0.1" - loose-envify "^1.4.0" - prop-types "^15.6.2" - -react-universal-interface@^0.6.2: - version "0.6.2" - resolved "https://registry.yarnpkg.com/react-universal-interface/-/react-universal-interface-0.6.2.tgz#5e8d438a01729a4dbbcbeeceb0b86be146fe2b3b" - integrity sha512-dg8yXdcQmvgR13RIlZbTRQOoUrDciFVoSBZILwjE2LFISxZZ8loVJKAkuzswl5js8BHda79bIb2b84ehU8IjXw== - -react-use@17.4.0: - version "17.4.0" - resolved "https://registry.yarnpkg.com/react-use/-/react-use-17.4.0.tgz#cefef258b0a6c534a5c8021c2528ac6e1a4cdc6d" - integrity sha512-TgbNTCA33Wl7xzIJegn1HndB4qTS9u03QUwyNycUnXaweZkE4Kq2SB+Yoxx8qbshkZGYBDvUXbXWRUmQDcZZ/Q== - dependencies: - "@types/js-cookie" "^2.2.6" - "@xobotyi/scrollbar-width" "^1.9.5" - copy-to-clipboard "^3.3.1" - fast-deep-equal "^3.1.3" - fast-shallow-equal "^1.0.0" - js-cookie "^2.2.1" - nano-css "^5.3.1" - react-universal-interface "^0.6.2" - resize-observer-polyfill "^1.5.1" - screenfull "^5.1.0" - set-harmonic-interval "^1.0.1" - throttle-debounce "^3.0.1" - ts-easing "^0.2.0" - tslib "^2.1.0" - -react-virtualized-auto-sizer@1.0.7: - version "1.0.7" - resolved "https://registry.yarnpkg.com/react-virtualized-auto-sizer/-/react-virtualized-auto-sizer-1.0.7.tgz#bfb8414698ad1597912473de3e2e5f82180c1195" - integrity sha512-Mxi6lwOmjwIjC1X4gABXMJcKHsOo0xWl3E3ugOgufB8GJU+MqrtY35aBuvCYv/razQ1Vbp7h1gWJjGjoNN5pmA== - -react-window@1.8.8: - version "1.8.8" - resolved "https://registry.yarnpkg.com/react-window/-/react-window-1.8.8.tgz#1b52919f009ddf91970cbdb2050a6c7be44df243" - integrity sha512-D4IiBeRtGXziZ1n0XklnFGu7h9gU684zepqyKzgPNzrsrk7xOCxni+TCckjg2Nr/DiaEEGVVmnhYSlT2rB47dQ== - dependencies: - "@babel/runtime" "^7.0.0" - memoize-one ">=3.1.1 <6" - -react@18.2.0: - version "18.2.0" - resolved "https://registry.yarnpkg.com/react/-/react-18.2.0.tgz#555bd98592883255fa00de14f1151a917b5d77d5" - integrity sha512-/3IjMdb2L9QbBdWiW5e3P2/npwMBaU9mHCSCUzNln0ZCYbcfTsGbTJrU/kGemdH2IWmB2ioZ+zkxtmq6g09fGQ== - dependencies: - loose-envify "^1.1.0" - -readable-stream@^1.1.7: - version "1.1.14" - resolved "https://registry.yarnpkg.com/readable-stream/-/readable-stream-1.1.14.tgz#7cf4c54ef648e3813084c636dd2079e166c081d9" - integrity sha512-+MeVjFf4L44XUkhM1eYbD8fyEsxcV81pqMSR5gblfcLCHfZvbrqy4/qYHE+/R5HoBUT11WV5O08Cr1n3YXkWVQ== - dependencies: - core-util-is "~1.0.0" - inherits "~2.0.1" - isarray "0.0.1" - string_decoder "~0.10.x" - -readable-stream@^2.0.1: - version "2.3.8" - resolved "https://registry.yarnpkg.com/readable-stream/-/readable-stream-2.3.8.tgz#91125e8042bba1b9887f49345f6277027ce8be9b" - integrity sha512-8p0AUk4XODgIewSi0l8Epjs+EVnWiK7NoDIEGU0HhE7+ZyY8D1IMY7odu5lRrFXGg71L15KG8QrPmum45RTtdA== - dependencies: - core-util-is "~1.0.0" - inherits "~2.0.3" - isarray "~1.0.0" - process-nextick-args "~2.0.0" - safe-buffer "~5.1.1" - string_decoder "~1.1.1" - util-deprecate "~1.0.1" - -readdirp@~3.6.0: - version "3.6.0" - resolved "https://registry.yarnpkg.com/readdirp/-/readdirp-3.6.0.tgz#74a370bd857116e245b29cc97340cd431a02a6c7" - integrity sha512-hOS089on8RduqdbhvQ5Z37A0ESjsqz6qnRcffsMU3495FuTdqSm+7bhJ29JvIOsBDEEnan5DPu9t3To9VRlMzA== - dependencies: - picomatch "^2.2.1" - -rechoir@^0.8.0: - version "0.8.0" - resolved "https://registry.yarnpkg.com/rechoir/-/rechoir-0.8.0.tgz#49f866e0d32146142da3ad8f0eff352b3215ff22" - integrity sha512-/vxpCXddiX8NGfGO/mTafwjq4aFa/71pvamip0++IQk3zG8cbCj0fifNPrjjF1XMXUne91jL9OoxmdykoEtifQ== - dependencies: - resolve "^1.20.0" - -redent@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/redent/-/redent-3.0.0.tgz#e557b7998316bb53c9f1f56fa626352c6963059f" - integrity sha512-6tDA8g98We0zd0GvVeMT9arEOnTw9qM03L9cJXaCjrip1OO764RDBLBfrB4cwzNGDj5OA5ioymC9GkizgWJDUg== - dependencies: - indent-string "^4.0.0" - strip-indent "^3.0.0" - -redux@^4.0.0, redux@^4.0.4: - version "4.2.1" - resolved "https://registry.yarnpkg.com/redux/-/redux-4.2.1.tgz#c08f4306826c49b5e9dc901dee0452ea8fce6197" - integrity sha512-LAUYz4lc+Do8/g7aeRa8JkyDErK6ekstQaqWQrNRW//MY1TvCEpMtpTWvlQ+FPbWCx+Xixu/6SHt5N0HR+SB4w== - dependencies: - "@babel/runtime" "^7.9.2" - -regenerate-unicode-properties@^10.1.0: - version "10.1.1" - resolved "https://registry.yarnpkg.com/regenerate-unicode-properties/-/regenerate-unicode-properties-10.1.1.tgz#6b0e05489d9076b04c436f318d9b067bba459480" - integrity sha512-X007RyZLsCJVVrjgEFVpLUTZwyOZk3oiL75ZcuYjlIWd6rNJtOjkBwQc5AsRrpbKVkxN6sklw/k/9m2jJYOf8Q== - dependencies: - regenerate "^1.4.2" - -regenerate@^1.4.2: - version "1.4.2" - resolved "https://registry.yarnpkg.com/regenerate/-/regenerate-1.4.2.tgz#b9346d8827e8f5a32f7ba29637d398b69014848a" - integrity sha512-zrceR/XhGYU/d/opr2EKO7aRHUeiBI8qjtfHqADTwZd6Szfy16la6kqD0MIUs5z5hx6AaKa+PixpPrR289+I0A== - -regenerator-runtime@0.13.11: - version "0.13.11" - resolved "https://registry.yarnpkg.com/regenerator-runtime/-/regenerator-runtime-0.13.11.tgz#f6dca3e7ceec20590d07ada785636a90cdca17f9" - integrity sha512-kY1AZVr2Ra+t+piVaJ4gxaFaReZVH40AKNo7UCX6W+dEwBo/2oZJzqfuN1qLq1oL45o56cPaTXELwrTh8Fpggg== - -regenerator-runtime@^0.11.0: - version "0.11.1" - resolved "https://registry.yarnpkg.com/regenerator-runtime/-/regenerator-runtime-0.11.1.tgz#be05ad7f9bf7d22e056f9726cee5017fbf19e2e9" - integrity sha512-MguG95oij0fC3QV3URf4V2SDYGJhJnJGqvIIgdECeODCT98wSWDAJ94SSuVpYQUoTcGUIL6L4yNB7j1DFFHSBg== - -regenerator-runtime@^0.14.0: - version "0.14.1" - resolved "https://registry.yarnpkg.com/regenerator-runtime/-/regenerator-runtime-0.14.1.tgz#356ade10263f685dda125100cd862c1db895327f" - integrity sha512-dYnhHh0nJoMfnkZs6GmmhFknAGRrLznOu5nc9ML+EJxGvrx6H7teuevqVqCuPcPK//3eDrrjQhehXVx9cnkGdw== - -regenerator-transform@^0.15.2: - version "0.15.2" - resolved "https://registry.yarnpkg.com/regenerator-transform/-/regenerator-transform-0.15.2.tgz#5bbae58b522098ebdf09bca2f83838929001c7a4" - integrity sha512-hfMp2BoF0qOk3uc5V20ALGDS2ddjQaLrdl7xrGXvAIow7qeWRM2VA2HuCHkUKk9slq3VwEwLNK3DFBqDfPGYtg== - dependencies: - "@babel/runtime" "^7.8.4" - -regexp.prototype.flags@^1.5.0, regexp.prototype.flags@^1.5.1: - version "1.5.1" - resolved "https://registry.yarnpkg.com/regexp.prototype.flags/-/regexp.prototype.flags-1.5.1.tgz#90ce989138db209f81492edd734183ce99f9677e" - integrity sha512-sy6TXMN+hnP/wMy+ISxg3krXx7BAtWVO4UouuCN/ziM9UEne0euamVNafDfvC83bRNr95y0V5iijeDQFUNpvrg== - dependencies: - call-bind "^1.0.2" - define-properties "^1.2.0" - set-function-name "^2.0.0" - -regexpu-core@^5.3.1: - version "5.3.2" - resolved "https://registry.yarnpkg.com/regexpu-core/-/regexpu-core-5.3.2.tgz#11a2b06884f3527aec3e93dbbf4a3b958a95546b" - integrity sha512-RAM5FlZz+Lhmo7db9L298p2vHP5ZywrVXmVXpmAD9GuL5MPH6t9ROw1iA/wfHkQ76Qe7AaPF0nGuim96/IrQMQ== - dependencies: - "@babel/regjsgen" "^0.8.0" - regenerate "^1.4.2" - regenerate-unicode-properties "^10.1.0" - regjsparser "^0.9.1" - unicode-match-property-ecmascript "^2.0.0" - unicode-match-property-value-ecmascript "^2.1.0" - -regjsparser@^0.9.1: - version "0.9.1" - resolved "https://registry.yarnpkg.com/regjsparser/-/regjsparser-0.9.1.tgz#272d05aa10c7c1f67095b1ff0addae8442fc5709" - integrity sha512-dQUtn90WanSNl+7mQKcXAgZxvUe7Z0SqXlgzv0za4LwiUhyzBC58yQO3liFoUgu8GiJVInAhJjkj1N0EtQ5nkQ== - dependencies: - jsesc "~0.5.0" - -replace-in-file-webpack-plugin@^1.0.6: - version "1.0.6" - resolved "https://registry.yarnpkg.com/replace-in-file-webpack-plugin/-/replace-in-file-webpack-plugin-1.0.6.tgz#eee7e139be967e8e48a0552f73037ed567b54dbd" - integrity sha512-+KRgNYL2nbc6nza6SeF+wTBNkovuHFTfJF8QIEqZg5MbwkYpU9no0kH2YU354wvY/BK8mAC2UKoJ7q+sJTvciw== - -request-progress@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/request-progress/-/request-progress-3.0.0.tgz#4ca754081c7fec63f505e4faa825aa06cd669dbe" - integrity sha512-MnWzEHHaxHO2iWiQuHrUPBi/1WeBf5PkxQqNyNvLl9VAYSdXkP8tQ3pBSeCPD+yw0v0Aq1zosWLz0BdeXpWwZg== - dependencies: - throttleit "^1.0.0" - -request@^2.55.0: - version "2.88.2" - resolved "https://registry.yarnpkg.com/request/-/request-2.88.2.tgz#d73c918731cb5a87da047e207234146f664d12b3" - integrity sha512-MsvtOrfG9ZcrOwAW+Qi+F6HbD0CWXEh9ou77uOb7FM2WPhwT7smM833PzanhJLsgXjN89Ir6V2PczXNnMpwKhw== - dependencies: - aws-sign2 "~0.7.0" - aws4 "^1.8.0" - caseless "~0.12.0" - combined-stream "~1.0.6" - extend "~3.0.2" - forever-agent "~0.6.1" - form-data "~2.3.2" - har-validator "~5.1.3" - http-signature "~1.2.0" - is-typedarray "~1.0.0" - isstream "~0.1.2" - json-stringify-safe "~5.0.1" - mime-types "~2.1.19" - oauth-sign "~0.9.0" - performance-now "^2.1.0" - qs "~6.5.2" - safe-buffer "^5.1.2" - tough-cookie "~2.5.0" - tunnel-agent "^0.6.0" - uuid "^3.3.2" - -require-directory@^2.1.1: - version "2.1.1" - resolved "https://registry.yarnpkg.com/require-directory/-/require-directory-2.1.1.tgz#8c64ad5fd30dab1c976e2344ffe7f792a6a6df42" - integrity sha512-fGxEI7+wsG9xrvdjsrlmL22OMTTiHRwAMroiEeMgq8gzoLC/PQr7RsRDSTLUg/bZAZtF+TVIkHc6/4RIKrui+Q== - -require-from-string@^2.0.2: - version "2.0.2" - resolved "https://registry.yarnpkg.com/require-from-string/-/require-from-string-2.0.2.tgz#89a7fdd938261267318eafe14f9c32e598c36909" - integrity sha512-Xf0nWe6RseziFMu+Ap9biiUbmplq6S9/p+7w7YXP/JBHhrUDDUhwa+vANyubuqfZWTveU//DYVGsDG7RKL/vEw== - -requires-port@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/requires-port/-/requires-port-1.0.0.tgz#925d2601d39ac485e091cf0da5c6e694dc3dcaff" - integrity sha512-KigOCHcocU3XODJxsu8i/j8T9tzT4adHiecwORRQ0ZZFcp7ahwXuRU1m+yuO90C5ZUyGeGfocHDI14M3L3yDAQ== - -resize-observer-polyfill@^1.5.1: - version "1.5.1" - resolved "https://registry.yarnpkg.com/resize-observer-polyfill/-/resize-observer-polyfill-1.5.1.tgz#0e9020dd3d21024458d4ebd27e23e40269810464" - integrity sha512-LwZrotdHOo12nQuZlHEmtuXdqGoOD0OhaxopaNFxWzInpEgaLWoVuAMbTzixuosCx2nEG58ngzW3vxdWoxIgdg== - -resolve-bin@1.0.1: - version "1.0.1" - resolved "https://registry.yarnpkg.com/resolve-bin/-/resolve-bin-1.0.1.tgz#795255591443e7007b21f2eadd8baa39b7378e50" - integrity sha512-4G9C3udcDB1c9qaopB+9dygm2bMyF2LeJ2JHBIc24N7ob+UuSSwX3ID1hQwpDEQep9ZRNdhT//rgEd6xbWA/SA== - dependencies: - find-parent-dir "~0.3.0" - -resolve-cwd@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/resolve-cwd/-/resolve-cwd-3.0.0.tgz#0f0075f1bb2544766cf73ba6a6e2adfebcb13f2d" - integrity sha512-OrZaX2Mb+rJCpH/6CpSqt9xFVpN++x01XnN2ie9g6P5/3xelLAkXWVADpdz1IHD/KFfEXyE6V0U01OQ3UO2rEg== - dependencies: - resolve-from "^5.0.0" - -resolve-from@^4.0.0: - version "4.0.0" - resolved "https://registry.yarnpkg.com/resolve-from/-/resolve-from-4.0.0.tgz#4abcd852ad32dd7baabfe9b40e00a36db5f392e6" - integrity sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g== - -resolve-from@^5.0.0: - version "5.0.0" - resolved "https://registry.yarnpkg.com/resolve-from/-/resolve-from-5.0.0.tgz#c35225843df8f776df21c57557bc087e9dfdfc69" - integrity sha512-qYg9KP24dD5qka9J47d0aVky0N+b4fTU89LN9iDnjB5waksiC49rvMB0PrUJQGoTmH50XPiqOvAjDfaijGxYZw== - -resolve-pathname@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/resolve-pathname/-/resolve-pathname-3.0.0.tgz#99d02224d3cf263689becbb393bc560313025dcd" - integrity sha512-C7rARubxI8bXFNB/hqcp/4iUeIXJhJZvFPFPiSPRnhU5UPxzMFIl+2E6yY6c4k9giDJAhtV+enfA+G89N6Csng== - -resolve-protobuf-schema@^2.1.0: - version "2.1.0" - resolved "https://registry.yarnpkg.com/resolve-protobuf-schema/-/resolve-protobuf-schema-2.1.0.tgz#9ca9a9e69cf192bbdaf1006ec1973948aa4a3758" - integrity sha512-kI5ffTiZWmJaS/huM8wZfEMer1eRd7oJQhDuxeCLe3t7N7mX3z94CN0xPxBQxFYQTSNz9T0i+v6inKqSdK8xrQ== - dependencies: - protocol-buffers-schema "^3.3.1" - -resolve.exports@^2.0.0: - version "2.0.2" - resolved "https://registry.yarnpkg.com/resolve.exports/-/resolve.exports-2.0.2.tgz#f8c934b8e6a13f539e38b7098e2e36134f01e800" - integrity sha512-X2UW6Nw3n/aMgDVy+0rSqgHlv39WZAlZrXCdnbyEiKm17DSqHX4MmQMaST3FbeWR5FTuRcUwYAziZajji0Y7mg== - -resolve@^1.14.2, resolve@^1.19.0, resolve@^1.20.0, resolve@^1.22.4: - version "1.22.8" - resolved "https://registry.yarnpkg.com/resolve/-/resolve-1.22.8.tgz#b6c87a9f2aa06dfab52e3d70ac8cde321fa5a48d" - integrity sha512-oKWePCxqpd6FlLvGV1VU0x7bkPmmCNolxzjMf4NczoDnQcIWrAF+cPtZn5i6n+RfD2d9i0tzpKnG6Yk168yIyw== - dependencies: - is-core-module "^2.13.0" - path-parse "^1.0.7" - supports-preserve-symlinks-flag "^1.0.0" - -resolve@^2.0.0-next.4: - version "2.0.0-next.5" - resolved "https://registry.yarnpkg.com/resolve/-/resolve-2.0.0-next.5.tgz#6b0ec3107e671e52b68cd068ef327173b90dc03c" - integrity sha512-U7WjGVG9sH8tvjW5SmGbQuui75FiyjAX72HX15DwBBwF9dNiQZRQAg9nnPhYy+TUnE0+VcrttuvNI8oSxZcocA== - dependencies: - is-core-module "^2.13.0" - path-parse "^1.0.7" - supports-preserve-symlinks-flag "^1.0.0" - -restore-cursor@^3.1.0: - version "3.1.0" - resolved "https://registry.yarnpkg.com/restore-cursor/-/restore-cursor-3.1.0.tgz#39f67c54b3a7a58cea5236d95cf0034239631f7e" - integrity sha512-l+sSefzHpj5qimhFSE5a8nufZYAM3sBSVMAPtYkmC+4EH2anSGaEMXSD0izRQbu9nfyQ9y5JrVmp7E8oZrUjvA== - dependencies: - onetime "^5.1.0" - signal-exit "^3.0.2" - -reusify@^1.0.4: - version "1.0.4" - resolved "https://registry.yarnpkg.com/reusify/-/reusify-1.0.4.tgz#90da382b1e126efc02146e90845a88db12925d76" - integrity sha512-U9nH88a3fc/ekCF1l0/UP1IosiuIjyTh7hBvXVMHYgVcfGvt897Xguj2UOLDeI5BG2m7/uwyaLVT6fbtCwTyzw== - -rfdc@^1.3.0: - version "1.3.1" - resolved "https://registry.yarnpkg.com/rfdc/-/rfdc-1.3.1.tgz#2b6d4df52dffe8bb346992a10ea9451f24373a8f" - integrity sha512-r5a3l5HzYlIC68TpmYKlxWjmOP6wiPJ1vWv2HeLhNsRZMrCkxeqxiHlQ21oXmQ4F3SiryXBHhAD7JZqvOJjFmg== - -rimraf@4.4.0: - version "4.4.0" - resolved "https://registry.yarnpkg.com/rimraf/-/rimraf-4.4.0.tgz#c7a9f45bb2ec058d2e60ef9aca5167974313d605" - integrity sha512-X36S+qpCUR0HjXlkDe4NAOhS//aHH0Z+h8Ckf2auGJk3PTnx5rLmrHkwNdbVQuCSUhOyFrlRvFEllZOYE+yZGQ== - dependencies: - glob "^9.2.0" - -rimraf@^3.0.0, rimraf@^3.0.2: - version "3.0.2" - resolved "https://registry.yarnpkg.com/rimraf/-/rimraf-3.0.2.tgz#f1a5402ba6220ad52cc1282bac1ae3aa49fd061a" - integrity sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA== - dependencies: - glob "^7.1.3" - -robust-predicates@^3.0.2: - version "3.0.2" - resolved "https://registry.yarnpkg.com/robust-predicates/-/robust-predicates-3.0.2.tgz#d5b28528c4824d20fc48df1928d41d9efa1ad771" - integrity sha512-IXgzBWvWQwE6PrDI05OvmXUIruQTcoMDzRsOd5CDvHCVLcLHMTSYvOK5Cm46kWqlV3yAbuSpBZdJ5oP5OUoStg== - -rtl-css-js@^1.16.1: - version "1.16.1" - resolved "https://registry.yarnpkg.com/rtl-css-js/-/rtl-css-js-1.16.1.tgz#4b48b4354b0ff917a30488d95100fbf7219a3e80" - integrity sha512-lRQgou1mu19e+Ya0LsTvKrVJ5TYUbqCVPAiImX3UfLTenarvPUl1QFdvu5Z3PYmHT9RCcwIfbjRQBntExyj3Zg== - dependencies: - "@babel/runtime" "^7.1.2" - -run-parallel@^1.1.9: - version "1.2.0" - resolved "https://registry.yarnpkg.com/run-parallel/-/run-parallel-1.2.0.tgz#66d1368da7bdf921eb9d95bd1a9229e7f21a43ee" - integrity sha512-5l4VyZR86LZ/lDxZTR6jqL8AFE2S0IFLMP26AbjsLVADxHdhB/c0GUsH+y39UfCi3dzz8OlQuPmnaJOMoDHQBA== - dependencies: - queue-microtask "^1.2.2" - -rw@1, rw@^1.3.3: - version "1.3.3" - resolved "https://registry.yarnpkg.com/rw/-/rw-1.3.3.tgz#3f862dfa91ab766b14885ef4d01124bfda074fb4" - integrity sha512-PdhdWy89SiZogBLaw42zdeqtRJ//zFd2PgQavcICDUgJT5oW10QCRKbJ6bg4r0/UY2M6BWd5tkxuGFRvCkgfHQ== - -rxjs@7.8.0: - version "7.8.0" - resolved "https://registry.yarnpkg.com/rxjs/-/rxjs-7.8.0.tgz#90a938862a82888ff4c7359811a595e14e1e09a4" - integrity sha512-F2+gxDshqmIub1KdvZkaEfGDwLNpPvk9Fs6LD/MyQxNgMds/WH9OdDDXOmxUZpME+iSK3rQCctkL0DYyytUqMg== - dependencies: - tslib "^2.1.0" - -rxjs@^7.5.1: - version "7.8.1" - resolved "https://registry.yarnpkg.com/rxjs/-/rxjs-7.8.1.tgz#6f6f3d99ea8044291efd92e7c7fcf562c4057543" - integrity sha512-AA3TVj+0A2iuIoQkWEK/tqFjBq2j+6PO6Y0zJcvzLAFhEFIO3HL0vls9hWLncZbAAbK0mar7oZ4V079I/qPMxg== - dependencies: - tslib "^2.1.0" - -safe-array-concat@^1.0.1: - version "1.1.0" - resolved "https://registry.yarnpkg.com/safe-array-concat/-/safe-array-concat-1.1.0.tgz#8d0cae9cb806d6d1c06e08ab13d847293ebe0692" - integrity sha512-ZdQ0Jeb9Ofti4hbt5lX3T2JcAamT9hfzYU1MNB+z/jaEbB6wfFfPIR/zEORmZqobkCCJhSjodobH6WHNmJ97dg== - dependencies: - call-bind "^1.0.5" - get-intrinsic "^1.2.2" - has-symbols "^1.0.3" - isarray "^2.0.5" - -safe-buffer@>=5.1.0, safe-buffer@^5.0.1, safe-buffer@^5.1.0, safe-buffer@^5.1.2: - version "5.2.1" - resolved "https://registry.yarnpkg.com/safe-buffer/-/safe-buffer-5.2.1.tgz#1eaf9fa9bdb1fdd4ec75f58f9cdb4e6b7827eec6" - integrity sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ== - -safe-buffer@~5.1.0, safe-buffer@~5.1.1: - version "5.1.2" - resolved "https://registry.yarnpkg.com/safe-buffer/-/safe-buffer-5.1.2.tgz#991ec69d296e0313747d59bdfd2b745c35f8828d" - integrity sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g== - -safe-json-parse@~1.0.1: - version "1.0.1" - resolved "https://registry.yarnpkg.com/safe-json-parse/-/safe-json-parse-1.0.1.tgz#3e76723e38dfdda13c9b1d29a1e07ffee4b30b57" - integrity sha512-o0JmTu17WGUaUOHa1l0FPGXKBfijbxK6qoHzlkihsDXxzBHvJcA7zgviKR92Xs841rX9pK16unfphLq0/KqX7A== - -safe-regex-test@^1.0.0: - version "1.0.2" - resolved "https://registry.yarnpkg.com/safe-regex-test/-/safe-regex-test-1.0.2.tgz#3ba32bdb3ea35f940ee87e5087c60ee786c3f6c5" - integrity sha512-83S9w6eFq12BBIJYvjMux6/dkirb8+4zJRA9cxNBVb7Wq5fJBW+Xze48WqR8pxua7bDuAaaAxtVVd4Idjp1dBQ== - dependencies: - call-bind "^1.0.5" - get-intrinsic "^1.2.2" - is-regex "^1.1.4" - -"safer-buffer@>= 2.1.2 < 3", "safer-buffer@>= 2.1.2 < 3.0.0", safer-buffer@^2.0.2, safer-buffer@^2.1.0, safer-buffer@~2.1.0: - version "2.1.2" - resolved "https://registry.yarnpkg.com/safer-buffer/-/safer-buffer-2.1.2.tgz#44fa161b0187b9549dd84bb91802f9bd8385cd6a" - integrity sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg== - -sass-loader@13.3.1: - version "13.3.1" - resolved "https://registry.yarnpkg.com/sass-loader/-/sass-loader-13.3.1.tgz#32ee5791434b9b4dbd1adcce76fcb4cea49cc12c" - integrity sha512-cBTxmgyVA1nXPvIK4brjJMXOMJ2v2YrQEuHqLw3LylGb3gsR6jAvdjHMcy/+JGTmmIF9SauTrLLR7bsWDMWqgg== - dependencies: - klona "^2.0.6" - neo-async "^2.6.2" - -sass@1.63.2: - version "1.63.2" - resolved "https://registry.yarnpkg.com/sass/-/sass-1.63.2.tgz#75f7d9a8e67d1d5b98a989507f4d98b6067b1f75" - integrity sha512-u56TU0AIFqMtauKl/OJ1AeFsXqRHkgO7nCWmHaDwfxDo9GUMSqBA4NEh6GMuh1CYVM7zuROYtZrHzPc2ixK+ww== - dependencies: - chokidar ">=3.0.0 <4.0.0" - immutable "^4.0.0" - source-map-js ">=0.6.2 <2.0.0" - -saxes@^6.0.0: - version "6.0.0" - resolved "https://registry.yarnpkg.com/saxes/-/saxes-6.0.0.tgz#fe5b4a4768df4f14a201b1ba6a65c1f3d9988cc5" - integrity sha512-xAg7SOnEhrm5zI3puOOKyy1OMcMlIJZYNJY7xLBwSze0UjhPLnWfj2GF2EpT0jmzaJKIWKHLsaSSajf35bcYnA== - dependencies: - xmlchars "^2.2.0" - -scheduler@^0.23.0: - version "0.23.0" - resolved "https://registry.yarnpkg.com/scheduler/-/scheduler-0.23.0.tgz#ba8041afc3d30eb206a487b6b384002e4e61fdfe" - integrity sha512-CtuThmgHNg7zIZWAXi3AsyIzA3n4xx7aNyjwC2VJldO2LMVDhFK+63xGqq6CsJH4rTAt6/M+N4GhZiDYPx9eUw== - dependencies: - loose-envify "^1.1.0" - -schema-utils@>1.0.0, schema-utils@^4.0.0: - version "4.2.0" - resolved "https://registry.yarnpkg.com/schema-utils/-/schema-utils-4.2.0.tgz#70d7c93e153a273a805801882ebd3bff20d89c8b" - integrity sha512-L0jRsrPpjdckP3oPug3/VxNKt2trR8TcabrM6FOAAlvC/9Phcmm+cuAgTlxBqdBR1WJx7Naj9WHw+aOmheSVbw== - dependencies: - "@types/json-schema" "^7.0.9" - ajv "^8.9.0" - ajv-formats "^2.1.1" - ajv-keywords "^5.1.0" - -schema-utils@^3.1.1, schema-utils@^3.2.0: - version "3.3.0" - resolved "https://registry.yarnpkg.com/schema-utils/-/schema-utils-3.3.0.tgz#f50a88877c3c01652a15b622ae9e9795df7a60fe" - integrity sha512-pN/yOAvcC+5rQ5nERGuwrjLlYvLTbCibnZ1I7B1LaiAz9BRBlE9GMgE/eqV30P7aJQUf7Ddimy/RsbYO/GrVGg== - dependencies: - "@types/json-schema" "^7.0.8" - ajv "^6.12.5" - ajv-keywords "^3.5.2" - -screenfull@^5.1.0: - version "5.2.0" - resolved "https://registry.yarnpkg.com/screenfull/-/screenfull-5.2.0.tgz#6533d524d30621fc1283b9692146f3f13a93d1ba" - integrity sha512-9BakfsO2aUQN2K9Fdbj87RJIEZ82Q9IGim7FqM5OsebfoFC6ZHXgDq/KvniuLTPdeM8wY2o6Dj3WQ7KeQCj3cA== - -selection-is-backward@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/selection-is-backward/-/selection-is-backward-1.0.0.tgz#97a54633188a511aba6419fc5c1fa91b467e6be1" - integrity sha512-C+6PCOO55NLCfS8uQjUKV/6E5XMuUcfOVsix5m0QqCCCKi495NgeQVNfWtAaD71NKHsdmFCJoXUGfir3qWdr9A== - -semver@^5.3.0: - version "5.7.2" - resolved "https://registry.yarnpkg.com/semver/-/semver-5.7.2.tgz#48d55db737c3287cd4835e17fa13feace1c41ef8" - integrity sha512-cBznnQ9KjJqU67B52RMC65CMarK2600WFnbkcaiwWq3xy/5haFJlshgnpjovMVJ+Hff49d8GEn0b87C5pDQ10g== - -semver@^6.0.0, semver@^6.1.1, semver@^6.1.2, semver@^6.3.0, semver@^6.3.1: - version "6.3.1" - resolved "https://registry.yarnpkg.com/semver/-/semver-6.3.1.tgz#556d2ef8689146e46dcea4bfdd095f3434dffcb4" - integrity sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA== - -semver@^7.3.2, semver@^7.3.4, semver@^7.3.5, semver@^7.3.7, semver@^7.5.1, semver@^7.5.3, semver@^7.5.4: - version "7.5.4" - resolved "https://registry.yarnpkg.com/semver/-/semver-7.5.4.tgz#483986ec4ed38e1c6c48c34894a9182dbff68a6e" - integrity sha512-1bCSESV6Pv+i21Hvpxp3Dx+pSD8lIPt8uVjRrxAUt/nbswYc+tK6Y2btiULjd4+fnq15PX+nqQDC7Oft7WkwcA== - dependencies: - lru-cache "^6.0.0" - -serialize-javascript@6.0.0: - version "6.0.0" - resolved "https://registry.yarnpkg.com/serialize-javascript/-/serialize-javascript-6.0.0.tgz#efae5d88f45d7924141da8b5c3a7a7e663fefeb8" - integrity sha512-Qr3TosvguFt8ePWqsvRfrKyQXIiW+nGbYpy8XK24NQHE83caxWt+mIymTT19DGFbNWNLfEwsrkSmN64lVWB9ag== - dependencies: - randombytes "^2.1.0" - -serialize-javascript@^6.0.0, serialize-javascript@^6.0.1: - version "6.0.2" - resolved "https://registry.yarnpkg.com/serialize-javascript/-/serialize-javascript-6.0.2.tgz#defa1e055c83bf6d59ea805d8da862254eb6a6c2" - integrity sha512-Saa1xPByTTq2gdeFZYLLo+RFE35NHZkAbqZeWNd3BpzppeVisAqpDjcp8dyf6uIvEqJRd46jemmyA4iFIeVk8g== - dependencies: - randombytes "^2.1.0" - -set-function-length@^1.1.1: - version "1.2.0" - resolved "https://registry.yarnpkg.com/set-function-length/-/set-function-length-1.2.0.tgz#2f81dc6c16c7059bda5ab7c82c11f03a515ed8e1" - integrity sha512-4DBHDoyHlM1IRPGYcoxexgh67y4ueR53FKV1yyxwFMY7aCqcN/38M1+SwZ/qJQ8iLv7+ck385ot4CcisOAPT9w== - dependencies: - define-data-property "^1.1.1" - function-bind "^1.1.2" - get-intrinsic "^1.2.2" - gopd "^1.0.1" - has-property-descriptors "^1.0.1" - -set-function-name@^2.0.0: - version "2.0.1" - resolved "https://registry.yarnpkg.com/set-function-name/-/set-function-name-2.0.1.tgz#12ce38b7954310b9f61faa12701620a0c882793a" - integrity sha512-tMNCiqYVkXIZgc2Hnoy2IvC/f8ezc5koaRFkCjrpWzGpCd3qbZXPzVy9MAZzK1ch/X0jvSkojys3oqJN0qCmdA== - dependencies: - define-data-property "^1.0.1" - functions-have-names "^1.2.3" - has-property-descriptors "^1.0.0" - -set-harmonic-interval@^1.0.1: - version "1.0.1" - resolved "https://registry.yarnpkg.com/set-harmonic-interval/-/set-harmonic-interval-1.0.1.tgz#e1773705539cdfb80ce1c3d99e7f298bb3995249" - integrity sha512-AhICkFV84tBP1aWqPwLZqFvAwqEoVA9kxNMniGEUvzOlm4vLmOFLiTT3UZ6bziJTy4bOVpzWGTfSCbmaayGx8g== - -shallow-clone@^3.0.0: - version "3.0.1" - resolved "https://registry.yarnpkg.com/shallow-clone/-/shallow-clone-3.0.1.tgz#8f2981ad92531f55035b01fb230769a40e02efa3" - integrity sha512-/6KqX+GVUdqPuPPd2LxDDxzX6CAbjJehAAOKlNpqqUpAqPM6HeL8f+o3a+JsyGjn2lv0WY8UsTgUJjU9Ok55NA== - dependencies: - kind-of "^6.0.2" - -shallowequal@^1.1.0: - version "1.1.0" - resolved "https://registry.yarnpkg.com/shallowequal/-/shallowequal-1.1.0.tgz#188d521de95b9087404fd4dcb68b13df0ae4e7f8" - integrity sha512-y0m1JoUZSlPAjXVtPPW70aZWfIL/dSP7AFkRnniLCrK/8MDKog3TySTBmckD+RObVxH0v4Tox67+F14PdED2oQ== - -shebang-command@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/shebang-command/-/shebang-command-2.0.0.tgz#ccd0af4f8835fbdc265b82461aaf0c36663f34ea" - integrity sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA== - dependencies: - shebang-regex "^3.0.0" - -shebang-regex@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/shebang-regex/-/shebang-regex-3.0.0.tgz#ae16f1644d873ecad843b0307b143362d4c42172" - integrity sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A== - -side-channel@^1.0.4: - version "1.0.4" - resolved "https://registry.yarnpkg.com/side-channel/-/side-channel-1.0.4.tgz#efce5c8fdc104ee751b25c58d4290011fa5ea2cf" - integrity sha512-q5XPytqFEIKHkGdiMIrY10mvLRvnQh42/+GoBlFW3b2LXLE2xxJpZFdm94we0BaoV3RwJyGqg5wS7epxTv0Zvw== - dependencies: - call-bind "^1.0.0" - get-intrinsic "^1.0.2" - object-inspect "^1.9.0" - -signal-exit@^3.0.2, signal-exit@^3.0.3, signal-exit@^3.0.7: - version "3.0.7" - resolved "https://registry.yarnpkg.com/signal-exit/-/signal-exit-3.0.7.tgz#a9a1767f8af84155114eaabd73f99273c8f59ad9" - integrity sha512-wnD2ZE+l+SPC/uoS0vXeE9L1+0wuaMqKlfz9AMUo38JsyLSBWSFcHR1Rri62LZc12vLr1gb3jl7iwQhgwpAbGQ== - -signal-exit@^4.0.1: - version "4.1.0" - resolved "https://registry.yarnpkg.com/signal-exit/-/signal-exit-4.1.0.tgz#952188c1cbd546070e2dd20d0f41c0ae0530cb04" - integrity sha512-bzyZ1e88w9O1iNJbKnOlvYTrWPDl46O1bG0D3XInv+9tkPrxrN8jUUTiFlDkkmKWgn1M6CfIA13SuGqOa9Korw== - -sisteransi@^1.0.5: - version "1.0.5" - resolved "https://registry.yarnpkg.com/sisteransi/-/sisteransi-1.0.5.tgz#134d681297756437cc05ca01370d3a7a571075ed" - integrity sha512-bLGGlR1QxBcynn2d5YmDX4MGjlZvy2MRBDRNHLJ8VI6l6+9FUiyTFNJ0IveOSP0bcXgVDPRcfGqA0pjaqUpfVg== - -slash@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/slash/-/slash-3.0.0.tgz#6539be870c165adbd5240220dbe361f1bc4d4634" - integrity sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q== - -slash@^4.0.0: - version "4.0.0" - resolved "https://registry.yarnpkg.com/slash/-/slash-4.0.0.tgz#2422372176c4c6c5addb5e2ada885af984b396a7" - integrity sha512-3dOsAHXXUkQTpOYcoAxLIorMTp4gIQr5IW3iVb7A7lFIp0VHhnynm9izx6TssdrIcVIESAlVjtnO2K8bg+Coew== - -slash@^5.1.0: - version "5.1.0" - resolved "https://registry.yarnpkg.com/slash/-/slash-5.1.0.tgz#be3adddcdf09ac38eebe8dcdc7b1a57a75b095ce" - integrity sha512-ZA6oR3T/pEyuqwMgAKT0/hAv8oAXckzbkmR0UkUosQ+Mc4RxGoJkRmwHgHufaenlyAgE1Mxgpdcrf75y6XcnDg== - -slate-base64-serializer@^0.2.112: - version "0.2.115" - resolved "https://registry.yarnpkg.com/slate-base64-serializer/-/slate-base64-serializer-0.2.115.tgz#438e051959bde013b50507f3144257e74039ff7f" - integrity sha512-GnLV7bUW/UQ5j7rVIxCU5zdB6NOVsEU6YWsCp68dndIjSGTGLaQv2+WwV3NcnrGGZEYe5qgo33j2QWrPws2C1A== - dependencies: - isomorphic-base64 "^1.0.2" - -slate-dev-environment@^0.2.2: - version "0.2.5" - resolved "https://registry.yarnpkg.com/slate-dev-environment/-/slate-dev-environment-0.2.5.tgz#481b6906fde5becc390db7c14edf97a4bb0029f2" - integrity sha512-oLD8Fclv/RqrDv6RYfN2CRzNcRXsUB99Qgcw5L/njTjxAdDPguV6edQ3DgUG9Q2pLFLhI15DwsKClzVfFzfwGQ== - dependencies: - is-in-browser "^1.1.3" - -slate-hotkeys@^0.2.9: - version "0.2.11" - resolved "https://registry.yarnpkg.com/slate-hotkeys/-/slate-hotkeys-0.2.11.tgz#a94db117d9a98575671192329b05f23e6f485d6f" - integrity sha512-xhq/TlI74dRbO57O4ulGsvCcV4eaQ5nEEz9noZjeNLtNzFRd6lSgExRqAJqKGGIeJw+FnJ3OcqGvdb5CEc9/Ew== - dependencies: - is-hotkey "0.1.4" - slate-dev-environment "^0.2.2" - -slate-plain-serializer@0.7.13, slate-plain-serializer@^0.7.11: - version "0.7.13" - resolved "https://registry.yarnpkg.com/slate-plain-serializer/-/slate-plain-serializer-0.7.13.tgz#6de8f5c645dd749f1b2e4426c20de74bfd213adf" - integrity sha512-TtrlaslxQBEMV0LYdf3s7VAbTxRPe1xaW10WNNGAzGA855/0RhkaHjKkQiRjHv5rvbRleVf7Nxr9fH+4uErfxQ== - -slate-prop-types@^0.5.42: - version "0.5.44" - resolved "https://registry.yarnpkg.com/slate-prop-types/-/slate-prop-types-0.5.44.tgz#da60b69c3451c3bd6cdd60a45d308eeba7e83c76" - integrity sha512-JS0iW7uaciE/W3ADuzeN1HOnSjncQhHPXJ65nZNQzB0DF7mXVmbwQKI6cmCo/xKni7XRJT0JbWSpXFhEdPiBUA== - -slate-react-placeholder@^0.2.9: - version "0.2.9" - resolved "https://registry.yarnpkg.com/slate-react-placeholder/-/slate-react-placeholder-0.2.9.tgz#30f450a05d4871c7d1a27668ebe7907861e7ca74" - integrity sha512-YSJ9Gb4tGpbzPje3eNKtu26hWM8ApxTk9RzjK+6zfD5V/RMTkuWONk24y6c9lZk0OAYNZNUmrnb/QZfU3j9nag== - -slate-react@0.22.10: - version "0.22.10" - resolved "https://registry.yarnpkg.com/slate-react/-/slate-react-0.22.10.tgz#01296dadb707869ace6cb21d336c90bedfb567bf" - integrity sha512-B2Ms1u/REbdd8yKkOItKgrw/tX8klgz5l5x6PP86+oh/yqmB6EHe0QyrYlQ9fc3WBlJUVTOL+nyAP1KmlKj2/w== - dependencies: - debug "^3.1.0" - get-window "^1.1.1" - is-window "^1.0.2" - lodash "^4.1.1" - memoize-one "^4.0.0" - prop-types "^15.5.8" - react-immutable-proptypes "^2.1.0" - selection-is-backward "^1.0.0" - slate-base64-serializer "^0.2.112" - slate-dev-environment "^0.2.2" - slate-hotkeys "^0.2.9" - slate-plain-serializer "^0.7.11" - slate-prop-types "^0.5.42" - slate-react-placeholder "^0.2.9" - tiny-invariant "^1.0.1" - tiny-warning "^0.0.3" - -slate@0.47.9: - version "0.47.9" - resolved "https://registry.yarnpkg.com/slate/-/slate-0.47.9.tgz#090597dd790e79718f782994907d34a903739443" - integrity sha512-EK4O6b7lGt+g5H9PGw9O5KCM4RrOvOgE9mPi3rzQ0zDRlgAb2ga4TdpS6XNQbrsJWsc8I1fjaSsUeCqCUhhi9A== - dependencies: - debug "^3.1.0" - direction "^0.1.5" - esrever "^0.2.0" - is-plain-object "^2.0.4" - lodash "^4.17.4" - tiny-invariant "^1.0.1" - tiny-warning "^0.0.3" - type-of "^2.0.1" - -slice-ansi@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/slice-ansi/-/slice-ansi-3.0.0.tgz#31ddc10930a1b7e0b67b08c96c2f49b77a789787" - integrity sha512-pSyv7bSTC7ig9Dcgbw9AuRNUb5k5V6oDudjZoMBSr13qpLBG7tB+zgCkARjq7xIUgdz5P1Qe8u+rSGdouOOIyQ== - dependencies: - ansi-styles "^4.0.0" - astral-regex "^2.0.0" - is-fullwidth-code-point "^3.0.0" - -slice-ansi@^4.0.0: - version "4.0.0" - resolved "https://registry.yarnpkg.com/slice-ansi/-/slice-ansi-4.0.0.tgz#500e8dd0fd55b05815086255b3195adf2a45fe6b" - integrity sha512-qMCMfhY040cVHT43K9BFygqYbUPFZKHOg7K73mtTWJRb8pyP3fzf4Ixd5SzdEJQ6MRUg/WBnOLxghZtKKurENQ== - dependencies: - ansi-styles "^4.0.0" - astral-regex "^2.0.0" - is-fullwidth-code-point "^3.0.0" - -sort-asc@^0.1.0: - version "0.1.0" - resolved "https://registry.yarnpkg.com/sort-asc/-/sort-asc-0.1.0.tgz#ab799df61fc73ea0956c79c4b531ed1e9e7727e9" - integrity sha512-jBgdDd+rQ+HkZF2/OHCmace5dvpos/aWQpcxuyRs9QUbPRnkEJmYVo81PIGpjIdpOcsnJ4rGjStfDHsbn+UVyw== - -sort-desc@^0.1.1: - version "0.1.1" - resolved "https://registry.yarnpkg.com/sort-desc/-/sort-desc-0.1.1.tgz#198b8c0cdeb095c463341861e3925d4ee359a9ee" - integrity sha512-jfZacW5SKOP97BF5rX5kQfJmRVZP5/adDUTY8fCSPvNcXDVpUEe2pr/iKGlcyZzchRJZrswnp68fgk3qBXgkJw== - -sort-object@^0.3.2: - version "0.3.2" - resolved "https://registry.yarnpkg.com/sort-object/-/sort-object-0.3.2.tgz#98e0d199ede40e07c61a84403c61d6c3b290f9e2" - integrity sha512-aAQiEdqFTTdsvUFxXm3umdo04J7MRljoVGbBlkH7BgNsMvVNAJyGj7C/wV1A8wHWAJj/YikeZbfuCKqhggNWGA== - dependencies: - sort-asc "^0.1.0" - sort-desc "^0.1.1" - -"source-map-js@>=0.6.2 <2.0.0", source-map-js@^1.0.2: - version "1.0.2" - resolved "https://registry.yarnpkg.com/source-map-js/-/source-map-js-1.0.2.tgz#adbc361d9c62df380125e7f161f71c826f1e490c" - integrity sha512-R0XvVJ9WusLiqTCEiGCmICCMplcCkIwwR11mOSD9CR5u+IXYdiseeEuXCVAjS54zqwkLcPNnmU4OeJ6tUrWhDw== - -source-map-support@0.5.13: - version "0.5.13" - resolved "https://registry.yarnpkg.com/source-map-support/-/source-map-support-0.5.13.tgz#31b24a9c2e73c2de85066c0feb7d44767ed52932" - integrity sha512-SHSKFHadjVA5oR4PPqhtAVdcBWwRYVd6g6cAXnIbRiIwc2EhPrTuKUBdSLvlEKyIP3GCf89fltvcZiP9MMFA1w== - dependencies: - buffer-from "^1.0.0" - source-map "^0.6.0" - -source-map-support@~0.5.20: - version "0.5.21" - resolved "https://registry.yarnpkg.com/source-map-support/-/source-map-support-0.5.21.tgz#04fe7c7f9e1ed2d662233c28cb2b35b9f63f6e4f" - integrity sha512-uBHU3L3czsIyYXKX88fdrGovxdSCoTGDRZ6SYXtSRxLZUzHg5P/66Ht6uoUlHu9EZod+inXhKo3qQgwXUT/y1w== - dependencies: - buffer-from "^1.0.0" - source-map "^0.6.0" - -source-map@0.5.6: - version "0.5.6" - resolved "https://registry.yarnpkg.com/source-map/-/source-map-0.5.6.tgz#75ce38f52bf0733c5a7f0c118d81334a2bb5f412" - integrity sha512-MjZkVp0NHr5+TPihLcadqnlVoGIoWo4IBHptutGh9wI3ttUYvCG26HkSuDi+K6lsZ25syXJXcctwgyVCt//xqA== - -source-map@^0.5.7: - version "0.5.7" - resolved "https://registry.yarnpkg.com/source-map/-/source-map-0.5.7.tgz#8a039d2d1021d22d1ea14c80d8ea468ba2ef3fcc" - integrity sha512-LbrmJOMUSdEVxIKvdcJzQC+nQhe8FUZQTXQy6+I75skNgn3OoQ0DZA8YnFa7gp8tqtL3KPf1kmo0R5DoApeSGQ== - -source-map@^0.6.0, source-map@^0.6.1, source-map@~0.6.1: - version "0.6.1" - resolved "https://registry.yarnpkg.com/source-map/-/source-map-0.6.1.tgz#74722af32e9614e9c287a8d0bbde48b5e2f1a263" - integrity sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g== - -spdx-exceptions@^2.1.0: - version "2.4.0" - resolved "https://registry.yarnpkg.com/spdx-exceptions/-/spdx-exceptions-2.4.0.tgz#c07a4ede25b16e4f78e6707bbd84b15a45c19c1b" - integrity sha512-hcjppoJ68fhxA/cjbN4T8N6uCUejN8yFw69ttpqtBeCbF3u13n7mb31NB9jKwGTTWWnt9IbRA/mf1FprYS8wfw== - -spdx-expression-parse@^3.0.1: - version "3.0.1" - resolved "https://registry.yarnpkg.com/spdx-expression-parse/-/spdx-expression-parse-3.0.1.tgz#cf70f50482eefdc98e3ce0a6833e4a53ceeba679" - integrity sha512-cbqHunsQWnJNE6KhVSMsMeH5H/L9EpymbzqTQ3uLwNCLZ1Q481oWaofqH7nO6V07xlXwY6PhQdQ2IedWx/ZK4Q== - dependencies: - spdx-exceptions "^2.1.0" - spdx-license-ids "^3.0.0" - -spdx-license-ids@^3.0.0: - version "3.0.16" - resolved "https://registry.yarnpkg.com/spdx-license-ids/-/spdx-license-ids-3.0.16.tgz#a14f64e0954f6e25cc6587bd4f392522db0d998f" - integrity sha512-eWN+LnM3GR6gPu35WxNgbGl8rmY1AEmoMDvL/QD6zYmPWgywxWqJWNdLGT+ke8dKNWrcYgYjPpG5gbTfghP8rw== - -sprintf-js@~1.0.2: - version "1.0.3" - resolved "https://registry.yarnpkg.com/sprintf-js/-/sprintf-js-1.0.3.tgz#04e6926f662895354f3dd015203633b857297e2c" - integrity sha512-D9cPgkvLlV3t3IzL0D0YLvGA9Ahk4PcvVwUbN0dSGr1aP0Nrt4AEnTUbuGvquEC0mA64Gqt1fzirlRs5ibXx8g== - -sshpk@^1.14.1, sshpk@^1.7.0: - version "1.18.0" - resolved "https://registry.yarnpkg.com/sshpk/-/sshpk-1.18.0.tgz#1663e55cddf4d688b86a46b77f0d5fe363aba028" - integrity sha512-2p2KJZTSqQ/I3+HX42EpYOa2l3f8Erv8MWKsy2I9uf4wA7yFIkXRffYdsx86y6z4vHtV8u7g+pPlr8/4ouAxsQ== - dependencies: - asn1 "~0.2.3" - assert-plus "^1.0.0" - bcrypt-pbkdf "^1.0.0" - dashdash "^1.12.0" - ecc-jsbn "~0.1.1" - getpass "^0.1.1" - jsbn "~0.1.0" - safer-buffer "^2.0.2" - tweetnacl "~0.14.0" - -stack-generator@^2.0.5: - version "2.0.10" - resolved "https://registry.yarnpkg.com/stack-generator/-/stack-generator-2.0.10.tgz#8ae171e985ed62287d4f1ed55a1633b3fb53bb4d" - integrity sha512-mwnua/hkqM6pF4k8SnmZ2zfETsRUpWXREfA/goT8SLCV4iOFa4bzOX2nDipWAZFPTjLvQB82f5yaodMVhK0yJQ== - dependencies: - stackframe "^1.3.4" - -stack-utils@^2.0.3: - version "2.0.6" - resolved "https://registry.yarnpkg.com/stack-utils/-/stack-utils-2.0.6.tgz#aaf0748169c02fc33c8232abccf933f54a1cc34f" - integrity sha512-XlkWvfIm6RmsWtNJx+uqtKLS8eqFbxUg0ZzLXqY0caEy9l7hruX8IpiDnjsLavoBgqCCR71TqWO8MaXYheJ3RQ== - dependencies: - escape-string-regexp "^2.0.0" - -stackframe@^1.3.4: - version "1.3.4" - resolved "https://registry.yarnpkg.com/stackframe/-/stackframe-1.3.4.tgz#b881a004c8c149a5e8efef37d51b16e412943310" - integrity sha512-oeVtt7eWQS+Na6F//S4kJ2K2VbRlS9D43mAlMyVpVWovy9o+jfgH8O9agzANzaiLjclA0oYzUXEM4PurhSUChw== - -stacktrace-gps@^3.0.4: - version "3.1.2" - resolved "https://registry.yarnpkg.com/stacktrace-gps/-/stacktrace-gps-3.1.2.tgz#0c40b24a9b119b20da4525c398795338966a2fb0" - integrity sha512-GcUgbO4Jsqqg6RxfyTHFiPxdPqF+3LFmQhm7MgCuYQOYuWyqxo5pwRPz5d/u6/WYJdEnWfK4r+jGbyD8TSggXQ== - dependencies: - source-map "0.5.6" - stackframe "^1.3.4" - -stacktrace-js@^2.0.2: - version "2.0.2" - resolved "https://registry.yarnpkg.com/stacktrace-js/-/stacktrace-js-2.0.2.tgz#4ca93ea9f494752d55709a081d400fdaebee897b" - integrity sha512-Je5vBeY4S1r/RnLydLl0TBTi3F2qdfWmYsGvtfZgEI+SCprPppaIhQf5nGcal4gI4cGpCV/duLcAzT1np6sQqg== - dependencies: - error-stack-parser "^2.0.6" - stack-generator "^2.0.5" - stacktrace-gps "^3.0.4" - -state-local@^1.0.6: - version "1.0.7" - resolved "https://registry.yarnpkg.com/state-local/-/state-local-1.0.7.tgz#da50211d07f05748d53009bee46307a37db386d5" - integrity sha512-HTEHMNieakEnoe33shBYcZ7NX83ACUjCu8c40iOGEZsngj9zRnkqS9j1pqQPXwobB0ZcVTk27REb7COQ0UR59w== - -stop-iteration-iterator@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/stop-iteration-iterator/-/stop-iteration-iterator-1.0.0.tgz#6a60be0b4ee757d1ed5254858ec66b10c49285e4" - integrity sha512-iCGQj+0l0HOdZ2AEeBADlsRC+vsnDsZsbdSiH1yNSjcfKM7fdpCMfqAL/dwF5BLiw/XhRft/Wax6zQbhq2BcjQ== - dependencies: - internal-slot "^1.0.4" - -stream-buffers@1.0.1: - version "1.0.1" - resolved "https://registry.yarnpkg.com/stream-buffers/-/stream-buffers-1.0.1.tgz#9a44a37555f96a5b78a5a765f0c48446cb160b8c" - integrity sha512-t+8bSU8qPq7NnWHWAvikjcZf+biErLZzD15RroYft1IKQwYbkRyiwppT7kNqwdtYLS59YPxc4sTSvwbLSMaodw== - -streamroller@^0.4.0: - version "0.4.1" - resolved "https://registry.yarnpkg.com/streamroller/-/streamroller-0.4.1.tgz#d435bd5974373abd9bd9068359513085106cc05f" - integrity sha512-w0GGkMlWOiIBIYTmOWHTWKy9Y5hKxGKpQ5WpiHqwhvoSoMHXNTITrk6ZsR3fdgz3Bi/c+CXVHwmfPUQFkEPL+A== - dependencies: - date-format "^0.0.0" - debug "^0.7.2" - mkdirp "^0.5.1" - readable-stream "^1.1.7" - -string-hash@^1.1.3: - version "1.1.3" - resolved "https://registry.yarnpkg.com/string-hash/-/string-hash-1.1.3.tgz#e8aafc0ac1855b4666929ed7dd1275df5d6c811b" - integrity sha512-kJUvRUFK49aub+a7T1nNE66EJbZBMnBgoC1UbCZ5n6bsZKBRga4KgBRTMn/pFkeCZSYtNeSyMxPDM0AXWELk2A== - -string-length@^4.0.1: - version "4.0.2" - resolved "https://registry.yarnpkg.com/string-length/-/string-length-4.0.2.tgz#a8a8dc7bd5c1a82b9b3c8b87e125f66871b6e57a" - integrity sha512-+l6rNN5fYHNhZZy41RXsYptCjA2Igmq4EG7kZAYFQI1E1VTXarr6ZPXBg6eq7Y6eK4FEhY6AJlyuFIb/v/S0VQ== - dependencies: - char-regex "^1.0.2" - strip-ansi "^6.0.0" - -string-template@~0.2.1: - version "0.2.1" - resolved "https://registry.yarnpkg.com/string-template/-/string-template-0.2.1.tgz#42932e598a352d01fc22ec3367d9d84eec6c9add" - integrity sha512-Yptehjogou2xm4UJbxJ4CxgZx12HBfeystp0y3x7s4Dj32ltVVG1Gg8YhKjHZkHicuKpZX/ffilA8505VbUbpw== - -"string-width-cjs@npm:string-width@^4.2.0", string-width@^4.1.0, string-width@^4.2.0, string-width@^4.2.3: - version "4.2.3" - resolved "https://registry.yarnpkg.com/string-width/-/string-width-4.2.3.tgz#269c7117d27b05ad2e536830a8ec895ef9c6d010" - integrity sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g== - dependencies: - emoji-regex "^8.0.0" - is-fullwidth-code-point "^3.0.0" - strip-ansi "^6.0.1" - -string-width@^5.0.1, string-width@^5.1.2: - version "5.1.2" - resolved "https://registry.yarnpkg.com/string-width/-/string-width-5.1.2.tgz#14f8daec6d81e7221d2a357e668cab73bdbca794" - integrity sha512-HnLOCR3vjcY8beoNLtcjZ5/nxn2afmME6lhrDrebokqMap+XbeW8n9TXpPDOqdGK5qcI3oT0GKTW6wC7EMiVqA== - dependencies: - eastasianwidth "^0.2.0" - emoji-regex "^9.2.2" - strip-ansi "^7.0.1" - -string.prototype.matchall@^4.0.8: - version "4.0.10" - resolved "https://registry.yarnpkg.com/string.prototype.matchall/-/string.prototype.matchall-4.0.10.tgz#a1553eb532221d4180c51581d6072cd65d1ee100" - integrity sha512-rGXbGmOEosIQi6Qva94HUjgPs9vKW+dkG7Y8Q5O2OYkWL6wFaTRZO8zM4mhP94uX55wgyrXzfS2aGtGzUL7EJQ== - dependencies: - call-bind "^1.0.2" - define-properties "^1.2.0" - es-abstract "^1.22.1" - get-intrinsic "^1.2.1" - has-symbols "^1.0.3" - internal-slot "^1.0.5" - regexp.prototype.flags "^1.5.0" - set-function-name "^2.0.0" - side-channel "^1.0.4" - -string.prototype.trim@^1.2.8: - version "1.2.8" - resolved "https://registry.yarnpkg.com/string.prototype.trim/-/string.prototype.trim-1.2.8.tgz#f9ac6f8af4bd55ddfa8895e6aea92a96395393bd" - integrity sha512-lfjY4HcixfQXOfaqCvcBuOIapyaroTXhbkfJN3gcB1OtyupngWK4sEET9Knd0cXd28kTUqu/kHoV4HKSJdnjiQ== - dependencies: - call-bind "^1.0.2" - define-properties "^1.2.0" - es-abstract "^1.22.1" - -string.prototype.trimend@^1.0.7: - version "1.0.7" - resolved "https://registry.yarnpkg.com/string.prototype.trimend/-/string.prototype.trimend-1.0.7.tgz#1bb3afc5008661d73e2dc015cd4853732d6c471e" - integrity sha512-Ni79DqeB72ZFq1uH/L6zJ+DKZTkOtPIHovb3YZHQViE+HDouuU4mBrLOLDn5Dde3RF8qw5qVETEjhu9locMLvA== - dependencies: - call-bind "^1.0.2" - define-properties "^1.2.0" - es-abstract "^1.22.1" - -string.prototype.trimstart@^1.0.7: - version "1.0.7" - resolved "https://registry.yarnpkg.com/string.prototype.trimstart/-/string.prototype.trimstart-1.0.7.tgz#d4cdb44b83a4737ffbac2d406e405d43d0184298" - integrity sha512-NGhtDFu3jCEm7B4Fy0DpLewdJQOZcQ0rGbwQ/+stjnrp2i+rlKeCvos9hOIeCmqwratM47OBxY7uFZzjxHXmrg== - dependencies: - call-bind "^1.0.2" - define-properties "^1.2.0" - es-abstract "^1.22.1" - -string_decoder@0.10, string_decoder@~0.10.x: - version "0.10.31" - resolved "https://registry.yarnpkg.com/string_decoder/-/string_decoder-0.10.31.tgz#62e203bc41766c6c28c9fc84301dab1c5310fa94" - integrity sha512-ev2QzSzWPYmy9GuqfIVildA4OdcGLeFZQrq5ys6RtiuF+RQQiZWr8TZNyAcuVXyQRYfEO+MsoB/1BuQVhOJuoQ== - -string_decoder@~1.1.1: - version "1.1.1" - resolved "https://registry.yarnpkg.com/string_decoder/-/string_decoder-1.1.1.tgz#9cf1611ba62685d7030ae9e4ba34149c3af03fc8" - integrity sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg== - dependencies: - safe-buffer "~5.1.0" - -"strip-ansi-cjs@npm:strip-ansi@^6.0.1", strip-ansi@^6.0.0, strip-ansi@^6.0.1: - version "6.0.1" - resolved "https://registry.yarnpkg.com/strip-ansi/-/strip-ansi-6.0.1.tgz#9e26c63d30f53443e9489495b2105d37b67a85d9" - integrity sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A== - dependencies: - ansi-regex "^5.0.1" - -strip-ansi@^7.0.1: - version "7.1.0" - resolved "https://registry.yarnpkg.com/strip-ansi/-/strip-ansi-7.1.0.tgz#d5b6568ca689d8561370b0707685d22434faff45" - integrity sha512-iq6eVVI64nQQTRYq2KtEg2d2uU7LElhTJwsH4YzIHZshxlgZms/wIc4VoDQTlG/IvVIrBKG06CrZnp0qv7hkcQ== - dependencies: - ansi-regex "^6.0.1" - -strip-bom@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/strip-bom/-/strip-bom-3.0.0.tgz#2334c18e9c759f7bdd56fdef7e9ae3d588e68ed3" - integrity sha512-vavAMRXOgBVNF6nyEEmL3DBK19iRpDcoIwW+swQ+CbGiu7lju6t+JklA1MHweoWtadgt4ISVUsXLyDq34ddcwA== - -strip-bom@^4.0.0: - version "4.0.0" - resolved "https://registry.yarnpkg.com/strip-bom/-/strip-bom-4.0.0.tgz#9c3505c1db45bcedca3d9cf7a16f5c5aa3901878" - integrity sha512-3xurFv5tEgii33Zi8Jtp55wEIILR9eh34FAW00PZf+JnSsTmV/ioewSgQl97JHvgjoRGwPShsWm+IdrxB35d0w== - -strip-final-newline@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/strip-final-newline/-/strip-final-newline-2.0.0.tgz#89b852fb2fcbe936f6f4b3187afb0a12c1ab58ad" - integrity sha512-BrpvfNAE3dcvq7ll3xVumzjKjZQ5tI1sEUIKr3Uoks0XUl45St3FlatVqef9prk4jRDzhW6WZg+3bk93y6pLjA== - -strip-indent@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/strip-indent/-/strip-indent-3.0.0.tgz#c32e1cee940b6b3432c771bc2c54bcce73cd3001" - integrity sha512-laJTa3Jb+VQpaC6DseHhF7dXVqHTfJPCRDaEbid/drOhgitgYku/letMUqOXFoWV0zIIUbjpdH2t+tYj4bQMRQ== - dependencies: - min-indent "^1.0.0" - -strip-json-comments@3.1.1, strip-json-comments@^3.1.0, strip-json-comments@^3.1.1: - version "3.1.1" - resolved "https://registry.yarnpkg.com/strip-json-comments/-/strip-json-comments-3.1.1.tgz#31f1281b3832630434831c310c01cccda8cbe006" - integrity sha512-6fPc+R4ihwqP6N/aIv2f1gMH8lOVtWQHoqC4yK6oSDVVocumAsfCqjkXnqiYMhmMwS/mEHLp7Vehlt3ql6lEig== - -style-loader@3.3.3: - version "3.3.3" - resolved "https://registry.yarnpkg.com/style-loader/-/style-loader-3.3.3.tgz#bba8daac19930169c0c9c96706749a597ae3acff" - integrity sha512-53BiGLXAcll9maCYtZi2RCQZKa8NQQai5C4horqKyRmHj9H7QmcUyucrH+4KW/gBQbXM2AsB0axoEcFZPlfPcw== - -stylis@4.2.0: - version "4.2.0" - resolved "https://registry.yarnpkg.com/stylis/-/stylis-4.2.0.tgz#79daee0208964c8fe695a42fcffcac633a211a51" - integrity sha512-Orov6g6BB1sDfYgzWfTHDOxamtX1bE/zo104Dh9e6fqJ3PooipYyfJ0pUmrZO2wAvO8YbEyeFrkV91XTsGMSrw== - -stylis@^4.3.0: - version "4.3.1" - resolved "https://registry.yarnpkg.com/stylis/-/stylis-4.3.1.tgz#ed8a9ebf9f76fe1e12d462f5cc3c4c980b23a7eb" - integrity sha512-EQepAV+wMsIaGVGX1RECzgrcqRRU/0sYOHkeLsZ3fzHaHXZy4DaOOX0vOlGQdlsjkh3mFHAIlVimpwAs4dslyQ== - -supports-color@8.1.1, supports-color@^8.0.0, supports-color@^8.1.1: - version "8.1.1" - resolved "https://registry.yarnpkg.com/supports-color/-/supports-color-8.1.1.tgz#cd6fc17e28500cff56c1b86c0a7fd4a54a73005c" - integrity sha512-MpUEN2OodtUzxvKQl72cUF7RQ5EiHsGvSsVG0ia9c5RbWGL2CI4C7EpPS8UTBIplnlzZiNuV56w+FuNxy3ty2Q== - dependencies: - has-flag "^4.0.0" - -supports-color@^5.3.0: - version "5.5.0" - resolved "https://registry.yarnpkg.com/supports-color/-/supports-color-5.5.0.tgz#e2e69a44ac8772f78a1ec0b35b689df6530efc8f" - integrity sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow== - dependencies: - has-flag "^3.0.0" - -supports-color@^7.1.0: - version "7.2.0" - resolved "https://registry.yarnpkg.com/supports-color/-/supports-color-7.2.0.tgz#1b7dcdcb32b8138801b3e478ba6a51caa89648da" - integrity sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw== - dependencies: - has-flag "^4.0.0" - -supports-preserve-symlinks-flag@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/supports-preserve-symlinks-flag/-/supports-preserve-symlinks-flag-1.0.0.tgz#6eda4bd344a3c94aea376d4cc31bc77311039e09" - integrity sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w== - -swc-loader@^0.2.3: - version "0.2.3" - resolved "https://registry.yarnpkg.com/swc-loader/-/swc-loader-0.2.3.tgz#6792f1c2e4c9ae9bf9b933b3e010210e270c186d" - integrity sha512-D1p6XXURfSPleZZA/Lipb3A8pZ17fP4NObZvFCDjK/OKljroqDpPmsBdTraWhVBqUNpcWBQY1imWdoPScRlQ7A== - -symbol-tree@^3.2.4: - version "3.2.4" - resolved "https://registry.yarnpkg.com/symbol-tree/-/symbol-tree-3.2.4.tgz#430637d248ba77e078883951fb9aa0eed7c63fa2" - integrity sha512-9QNk5KwDF+Bvz+PyObkmSYjI5ksVUYtjW7AU22r2NKcfLJcXp96hkDWU3+XndOsUb+AQ9QhfzfCT2O+CNWT5Tw== - -systemjs@0.20.19: - version "0.20.19" - resolved "https://registry.yarnpkg.com/systemjs/-/systemjs-0.20.19.tgz#c2b9e79c19f4bea53a19b1ed3f974ffb463be949" - integrity sha512-H/rKwNEEyej/+IhkmFNmKFyJul8tbH/muiPq5TyNoVTwsGhUjRsN3NlFnFQUvFXA3+GQmsXkCNXU6QKPl779aw== - -tapable@^1.0.0: - version "1.1.3" - resolved "https://registry.yarnpkg.com/tapable/-/tapable-1.1.3.tgz#a1fccc06b58db61fd7a45da2da44f5f3a3e67ba2" - integrity sha512-4WK/bYZmj8xLr+HUCODHGF1ZFzsYffasLUgEiMBY4fgtltdO6B4WJtlSbPaDTLpYTcGVwM2qLnFTICEcNxs3kA== - -tapable@^2.1.1, tapable@^2.2.0, tapable@^2.2.1: - version "2.2.1" - resolved "https://registry.yarnpkg.com/tapable/-/tapable-2.2.1.tgz#1967a73ef4060a82f12ab96af86d52fdb76eeca0" - integrity sha512-GNzQvQTOIP6RyTfE2Qxb8ZVlNmw0n88vp1szwWRimP02mnTsx3Wtn5qRdqY9w2XduFNUgvOwhNnQsjwCp+kqaQ== - -terser-webpack-plugin@^5.3.10: - version "5.3.10" - resolved "https://registry.yarnpkg.com/terser-webpack-plugin/-/terser-webpack-plugin-5.3.10.tgz#904f4c9193c6fd2a03f693a2150c62a92f40d199" - integrity sha512-BKFPWlPDndPs+NGGCr1U59t0XScL5317Y0UReNrHaw9/FwhPENlq6bfgs+4yPfyP51vqC1bQ4rp1EfXW5ZSH9w== - dependencies: - "@jridgewell/trace-mapping" "^0.3.20" - jest-worker "^27.4.5" - schema-utils "^3.1.1" - serialize-javascript "^6.0.1" - terser "^5.26.0" - -terser@^5.26.0: - version "5.27.0" - resolved "https://registry.yarnpkg.com/terser/-/terser-5.27.0.tgz#70108689d9ab25fef61c4e93e808e9fd092bf20c" - integrity sha512-bi1HRwVRskAjheeYl291n3JC4GgO/Ty4z1nVs5AAsmonJulGxpSektecnNedrwK9C7vpvVtcX3cw00VSLt7U2A== - dependencies: - "@jridgewell/source-map" "^0.3.3" - acorn "^8.8.2" - commander "^2.20.0" - source-map-support "~0.5.20" - -test-exclude@^6.0.0: - version "6.0.0" - resolved "https://registry.yarnpkg.com/test-exclude/-/test-exclude-6.0.0.tgz#04a8698661d805ea6fa293b6cb9e63ac044ef15e" - integrity sha512-cAGWPIyOHU6zlmg88jwm7VRyXnMN7iV68OGAbYDk/Mh/xC/pzVPlQtY6ngoIH/5/tciuhGfvESU8GrHrcxD56w== - dependencies: - "@istanbuljs/schema" "^0.1.2" - glob "^7.1.4" - minimatch "^3.0.4" - -text-table@^0.2.0: - version "0.2.0" - resolved "https://registry.yarnpkg.com/text-table/-/text-table-0.2.0.tgz#7f5ee823ae805207c00af2df4a84ec3fcfa570b4" - integrity sha512-N+8UisAXDGk8PFXP4HAzVR9nbfmVJ3zYLAWiTIoqC5v5isinhr+r5uaO8+7r3BMfuNIufIsA7RdpVgacC2cSpw== - -throttle-debounce@^3.0.1: - version "3.0.1" - resolved "https://registry.yarnpkg.com/throttle-debounce/-/throttle-debounce-3.0.1.tgz#32f94d84dfa894f786c9a1f290e7a645b6a19abb" - integrity sha512-dTEWWNu6JmeVXY0ZYoPuH5cRIwc0MeGbJwah9KUNYSJwommQpCzTySTpEe8Gs1J23aeWEuAobe4Ag7EHVt/LOg== - -throttleit@^1.0.0: - version "1.0.1" - resolved "https://registry.yarnpkg.com/throttleit/-/throttleit-1.0.1.tgz#304ec51631c3b770c65c6c6f76938b384000f4d5" - integrity sha512-vDZpf9Chs9mAdfY046mcPt8fg5QSZr37hEH4TXYBnDF+izxgrbRGUAAaBvIk/fJm9aOFCGFd1EsNg5AZCbnQCQ== - -through@^2.3.8: - version "2.3.8" - resolved "https://registry.yarnpkg.com/through/-/through-2.3.8.tgz#0dd4c9ffaabc357960b1b724115d7e0e86a2e1f5" - integrity sha512-w89qg7PI8wAdvX60bMDP+bFoD5Dvhm9oLheFp5O4a2QF0cSBGsBX4qZmadPMvVqlLJBBci+WqGGOAPvcDeNSVg== - -tiny-invariant@^1.0.1, tiny-invariant@^1.0.2, tiny-invariant@^1.0.6: - version "1.3.1" - resolved "https://registry.yarnpkg.com/tiny-invariant/-/tiny-invariant-1.3.1.tgz#8560808c916ef02ecfd55e66090df23a4b7aa642" - integrity sha512-AD5ih2NlSssTCwsMznbvwMZpJ1cbhkGd2uueNxzv2jDlEeZdU04JQfRnggJQ8DrcVBGjAsCKwFBbDlVNtEMlzw== - -tiny-lr@^1.1.1: - version "1.1.1" - resolved "https://registry.yarnpkg.com/tiny-lr/-/tiny-lr-1.1.1.tgz#9fa547412f238fedb068ee295af8b682c98b2aab" - integrity sha512-44yhA3tsaRoMOjQQ+5v5mVdqef+kH6Qze9jTpqtVufgYjYt08zyZAwNwwVBj3i1rJMnR52IxOW0LK0vBzgAkuA== - dependencies: - body "^5.1.0" - debug "^3.1.0" - faye-websocket "~0.10.0" - livereload-js "^2.3.0" - object-assign "^4.1.0" - qs "^6.4.0" - -tiny-warning@^0.0.3: - version "0.0.3" - resolved "https://registry.yarnpkg.com/tiny-warning/-/tiny-warning-0.0.3.tgz#1807eb4c5f81784a6354d58ea1d5024f18c6c81f" - integrity sha512-r0SSA5Y5IWERF9Xh++tFPx0jITBgGggOsRLDWWew6YRw/C2dr4uNO1fw1vanrBmHsICmPyMLNBZboTlxUmUuaA== - -tiny-warning@^1.0.0, tiny-warning@^1.0.3: - version "1.0.3" - resolved "https://registry.yarnpkg.com/tiny-warning/-/tiny-warning-1.0.3.tgz#94a30db453df4c643d0fd566060d60a875d84754" - integrity sha512-lBN9zLN/oAf68o3zNXYrdCt1kP8WsiGW8Oo2ka41b2IM5JL/S1CTyX1rW0mb/zSuJun0ZUrDxx4sqvYS2FWzPA== - -tinycolor2@1.6.0: - version "1.6.0" - resolved "https://registry.yarnpkg.com/tinycolor2/-/tinycolor2-1.6.0.tgz#f98007460169b0263b97072c5ae92484ce02d09e" - integrity sha512-XPaBkWQJdsf3pLKJV9p4qN/S+fm2Oj8AIPo1BTUhg5oxkvm9+SVEGFdhyOz7tTdUTfvxMiAs4sp6/eZO2Ew+pw== - -tmp@~0.2.1: - version "0.2.1" - resolved "https://registry.yarnpkg.com/tmp/-/tmp-0.2.1.tgz#8457fc3037dcf4719c251367a1af6500ee1ccf14" - integrity sha512-76SUhtfqR2Ijn+xllcI5P1oyannHNHByD80W1q447gU3mp9G9PSpGdWmjUOHRDPiHYacIk66W7ubDTuPF3BEtQ== - dependencies: - rimraf "^3.0.0" - -tmpl@1.0.5: - version "1.0.5" - resolved "https://registry.yarnpkg.com/tmpl/-/tmpl-1.0.5.tgz#8683e0b902bb9c20c4f726e3c0b69f36518c07cc" - integrity sha512-3f0uOEAQwIqGuWW2MVzYg8fV/QNnc/IpuJNG837rLuczAaLVHslWHZQj4IGiEl5Hs3kkbhwL9Ab7Hrsmuj+Smw== - -to-camel-case@1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/to-camel-case/-/to-camel-case-1.0.0.tgz#1a56054b2f9d696298ce66a60897322b6f423e46" - integrity sha512-nD8pQi5H34kyu1QDMFjzEIYqk0xa9Alt6ZfrdEMuHCFOfTLhDG5pgTu/aAM9Wt9lXILwlXmWP43b8sav0GNE8Q== - dependencies: - to-space-case "^1.0.0" - -to-fast-properties@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/to-fast-properties/-/to-fast-properties-2.0.0.tgz#dc5e698cbd079265bc73e0377681a4e4e83f616e" - integrity sha512-/OaKK0xYrs3DmxRYqL/yDc+FxFUVYhDlXMhRmv3z915w2HF1tnN1omB354j8VUGO/hbRzyD6Y3sA7v7GS/ceog== - -to-no-case@^1.0.0: - version "1.0.2" - resolved "https://registry.yarnpkg.com/to-no-case/-/to-no-case-1.0.2.tgz#c722907164ef6b178132c8e69930212d1b4aa16a" - integrity sha512-Z3g735FxuZY8rodxV4gH7LxClE4H0hTIyHNIHdk+vpQxjLm0cwnKXq/OFVZ76SOQmto7txVcwSCwkU5kqp+FKg== - -to-regex-range@^5.0.1: - version "5.0.1" - resolved "https://registry.yarnpkg.com/to-regex-range/-/to-regex-range-5.0.1.tgz#1648c44aae7c8d988a326018ed72f5b4dd0392e4" - integrity sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ== - dependencies: - is-number "^7.0.0" - -to-space-case@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/to-space-case/-/to-space-case-1.0.0.tgz#b052daafb1b2b29dc770cea0163e5ec0ebc9fc17" - integrity sha512-rLdvwXZ39VOn1IxGL3V6ZstoTbwLRckQmn/U8ZDLuWwIXNpuZDhQ3AiRUlhTbOXFVE9C+dR51wM0CBDhk31VcA== - dependencies: - to-no-case "^1.0.0" - -toggle-selection@^1.0.6: - version "1.0.6" - resolved "https://registry.yarnpkg.com/toggle-selection/-/toggle-selection-1.0.6.tgz#6e45b1263f2017fa0acc7d89d78b15b8bf77da32" - integrity sha512-BiZS+C1OS8g/q2RRbJmy59xpyghNBqrr6k5L/uKBGRsTfxmu3ffiRnd8mlGPUVayg8pvfi5urfnu8TU7DVOkLQ== - -tough-cookie@^4.1.2, tough-cookie@^4.1.3: - version "4.1.3" - resolved "https://registry.yarnpkg.com/tough-cookie/-/tough-cookie-4.1.3.tgz#97b9adb0728b42280aa3d814b6b999b2ff0318bf" - integrity sha512-aX/y5pVRkfRnfmuX+OdbSdXvPe6ieKX/G2s7e98f4poJHnqH3281gDPm/metm6E/WRamfx7WC4HUqkWHfQHprw== - dependencies: - psl "^1.1.33" - punycode "^2.1.1" - universalify "^0.2.0" - url-parse "^1.5.3" - -tough-cookie@~2.5.0: - version "2.5.0" - resolved "https://registry.yarnpkg.com/tough-cookie/-/tough-cookie-2.5.0.tgz#cd9fb2a0aa1d5a12b473bd9fb96fa3dcff65ade2" - integrity sha512-nlLsUzgm1kfLXSXfRZMc1KLAugd4hqJHDTvc2hDIwS3mZAfMEuMbc03SujMF+GEcpaX/qboeycw6iO8JwVv2+g== - dependencies: - psl "^1.1.28" - punycode "^2.1.1" - -tr46@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/tr46/-/tr46-3.0.0.tgz#555c4e297a950617e8eeddef633c87d4d9d6cbf9" - integrity sha512-l7FvfAHlcmulp8kr+flpQZmVwtu7nfRV7NZujtN0OqES8EL4O4e0qqzL0DC5gAvx/ZC/9lk6rhcUwYvkBnBnYA== - dependencies: - punycode "^2.1.1" - -tracelib@1.0.1: - version "1.0.1" - resolved "https://registry.yarnpkg.com/tracelib/-/tracelib-1.0.1.tgz#bb44ea96c19b8d7a6c85a6ee1cac9945c5b75c64" - integrity sha512-T2Vkpa/7Vdm3sV8nXRn8vZ0tnq6wlnO4Zx7Pux+JA1W6DMlg5EtbNcPZu/L7XRTPc9S0eAKhEFR4p/u0GcsDpQ== - -ts-api-utils@^1.0.1: - version "1.0.3" - resolved "https://registry.yarnpkg.com/ts-api-utils/-/ts-api-utils-1.0.3.tgz#f12c1c781d04427313dbac808f453f050e54a331" - integrity sha512-wNMeqtMz5NtwpT/UZGY5alT+VoKdSsOOP/kqHFcUW1P/VRhH2wJ48+DN2WwUliNbQ976ETwDL0Ifd2VVvgonvg== - -ts-easing@^0.2.0: - version "0.2.0" - resolved "https://registry.yarnpkg.com/ts-easing/-/ts-easing-0.2.0.tgz#c8a8a35025105566588d87dbda05dd7fbfa5a4ec" - integrity sha512-Z86EW+fFFh/IFB1fqQ3/+7Zpf9t2ebOAxNI/V6Wo7r5gqiqtxmgTlQ1qbqQcjLKYeSHPTsEmvlJUDg/EuL0uHQ== - -ts-loader@8.4.0: - version "8.4.0" - resolved "https://registry.yarnpkg.com/ts-loader/-/ts-loader-8.4.0.tgz#e845ea0f38d140bdc3d7d60293ca18d12ff2720f" - integrity sha512-6nFY3IZ2//mrPc+ImY3hNWx1vCHyEhl6V+wLmL4CZcm6g1CqX7UKrkc6y0i4FwcfOhxyMPCfaEvh20f4r9GNpw== - dependencies: - chalk "^4.1.0" - enhanced-resolve "^4.0.0" - loader-utils "^2.0.0" - micromatch "^4.0.0" - semver "^7.3.4" - -ts-node@^10.9.1: - version "10.9.2" - resolved "https://registry.yarnpkg.com/ts-node/-/ts-node-10.9.2.tgz#70f021c9e185bccdca820e26dc413805c101c71f" - integrity sha512-f0FFpIdcHgn8zcPSbf1dRevwt047YMnaiJM3u2w2RewrB+fob/zePZcrOyQoLMMO7aBIddLcQIEK5dYjkLnGrQ== - dependencies: - "@cspotcode/source-map-support" "^0.8.0" - "@tsconfig/node10" "^1.0.7" - "@tsconfig/node12" "^1.0.7" - "@tsconfig/node14" "^1.0.0" - "@tsconfig/node16" "^1.0.2" - acorn "^8.4.1" - acorn-walk "^8.1.1" - arg "^4.1.0" - create-require "^1.1.0" - diff "^4.0.1" - make-error "^1.1.1" - v8-compile-cache-lib "^3.0.1" - yn "3.1.1" - -tsconfig-paths@^3.15.0: - version "3.15.0" - resolved "https://registry.yarnpkg.com/tsconfig-paths/-/tsconfig-paths-3.15.0.tgz#5299ec605e55b1abb23ec939ef15edaf483070d4" - integrity sha512-2Ac2RgzDe/cn48GvOe3M+o82pEFewD3UPbyoUHHdKasHwJKjds4fLXWf/Ux5kATBKN20oaFGu+jbElp1pos0mg== - dependencies: - "@types/json5" "^0.0.29" - json5 "^1.0.2" - minimist "^1.2.6" - strip-bom "^3.0.0" - -tsconfig-paths@^4.2.0: - version "4.2.0" - resolved "https://registry.yarnpkg.com/tsconfig-paths/-/tsconfig-paths-4.2.0.tgz#ef78e19039133446d244beac0fd6a1632e2d107c" - integrity sha512-NoZ4roiN7LnbKn9QqE1amc9DJfzvZXxF4xDavcOWt1BPkdx+m+0gJuPM+S0vCe7zTJMYUP0R8pO2XMr+Y8oLIg== - dependencies: - json5 "^2.2.2" - minimist "^1.2.6" - strip-bom "^3.0.0" - -tslib@2.5.0: - version "2.5.0" - resolved "https://registry.yarnpkg.com/tslib/-/tslib-2.5.0.tgz#42bfed86f5787aeb41d031866c8f402429e0fddf" - integrity sha512-336iVw3rtn2BUK7ORdIAHTyxHGRIHVReokCR3XjbckJMK7ms8FysBfhLR8IXnAgy7T0PTPNBWKiH514FOW/WSg== - -tslib@2.5.3: - version "2.5.3" - resolved "https://registry.yarnpkg.com/tslib/-/tslib-2.5.3.tgz#24944ba2d990940e6e982c4bea147aba80209913" - integrity sha512-mSxlJJwl3BMEQCUNnxXBU9jP4JBktcEGhURcPR6VQVlnP0FdDEsIaz0C35dXNGLyRfrATNofF0F5p2KPxQgB+w== - -tslib@^1.8.1, tslib@^1.9.3: - version "1.14.1" - resolved "https://registry.yarnpkg.com/tslib/-/tslib-1.14.1.tgz#cf2d38bdc34a134bcaf1091c41f6619e2f672d00" - integrity sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg== - -tslib@^2.1.0, tslib@^2.3.1, tslib@^2.4.0: - version "2.6.2" - resolved "https://registry.yarnpkg.com/tslib/-/tslib-2.6.2.tgz#703ac29425e7b37cd6fd456e92404d46d1f3e4ae" - integrity sha512-AEYxH93jGFPn/a2iVAwW87VuUIkR1FVUKB77NwMF7nBTDkDrrT/Hpt/IrCJ0QXhW27jTBDcf5ZY7w6RiqTMw2Q== - -tsutils@^3.21.0: - version "3.21.0" - resolved "https://registry.yarnpkg.com/tsutils/-/tsutils-3.21.0.tgz#b48717d394cea6c1e096983eed58e9d61715b623" - integrity sha512-mHKK3iUXL+3UF6xL5k0PEhKRUBKPBCv/+RkEOpjRWxxx27KKRBmmA60A9pgOUvMi8GKhRMPEmjBRPzs2W7O1OA== - dependencies: - tslib "^1.8.1" - -tunnel-agent@^0.6.0: - version "0.6.0" - resolved "https://registry.yarnpkg.com/tunnel-agent/-/tunnel-agent-0.6.0.tgz#27a5dea06b36b04a0a9966774b290868f0fc40fd" - integrity sha512-McnNiV1l8RYeY8tBgEpuodCC1mLUdbSN+CYBL7kJsJNInOP8UjDDEwdk6Mw60vdLLrr5NHKZhMAOSrR2NZuQ+w== - dependencies: - safe-buffer "^5.0.1" - -tweetnacl@^0.14.3, tweetnacl@~0.14.0: - version "0.14.5" - resolved "https://registry.yarnpkg.com/tweetnacl/-/tweetnacl-0.14.5.tgz#5ae68177f192d4456269d108afa93ff8743f4f64" - integrity sha512-KXXFFdAbFXY4geFIwoyNK+f5Z1b7swfXABfL7HXCmoIWMKU3dmS26672A4EeQtDzLKy7SXmfBu51JolvEKwtGA== - -type-check@^0.4.0, type-check@~0.4.0: - version "0.4.0" - resolved "https://registry.yarnpkg.com/type-check/-/type-check-0.4.0.tgz#07b8203bfa7056c0657050e3ccd2c37730bab8f1" - integrity sha512-XleUoc9uwGXqjWwXaUTZAmzMcFZ5858QA2vvx1Ur5xIcixXIP+8LnFDgRplU30us6teqdlskFfu+ae4K79Ooew== - dependencies: - prelude-ls "^1.2.1" - -type-detect@4.0.8: - version "4.0.8" - resolved "https://registry.yarnpkg.com/type-detect/-/type-detect-4.0.8.tgz#7646fb5f18871cfbb7749e69bd39a6388eb7450c" - integrity sha512-0fr/mIH1dlO+x7TlcMy+bIDqKPsw/70tVyeHW787goQjhmqaZe10uwLujubK9q9Lg6Fiho1KUKDYz0Z7k7g5/g== - -type-fest@^0.20.2: - version "0.20.2" - resolved "https://registry.yarnpkg.com/type-fest/-/type-fest-0.20.2.tgz#1bf207f4b28f91583666cb5fbd327887301cd5f4" - integrity sha512-Ne+eE4r0/iWnpAxD852z3A+N0Bt5RN//NjJwRd2VFHEmrywxf5vsZlh4R6lixl6B+wz/8d+maTSAkN1FIkI3LQ== - -type-fest@^0.21.3: - version "0.21.3" - resolved "https://registry.yarnpkg.com/type-fest/-/type-fest-0.21.3.tgz#d260a24b0198436e133fa26a524a6d65fa3b2e37" - integrity sha512-t0rzBq87m3fVcduHDUFhKmyyX+9eo6WQjZvf51Ea/M0Q7+T374Jp1aUiyUl0GKxp8M/OETVHSDvmkyPgvX+X2w== - -type-of@^2.0.1: - version "2.0.1" - resolved "https://registry.yarnpkg.com/type-of/-/type-of-2.0.1.tgz#e72a1741896568e9f628378d816d6912f7f23972" - integrity sha512-39wxbwHdQ2sTiBB8wAzKfQ9GN+om8w+sjNWzr+vZJR5AMD5J+J7Yc8AtXnU9r/r2c8XiDZ/smxutDmZehX/qpQ== - -typed-array-buffer@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/typed-array-buffer/-/typed-array-buffer-1.0.0.tgz#18de3e7ed7974b0a729d3feecb94338d1472cd60" - integrity sha512-Y8KTSIglk9OZEr8zywiIHG/kmQ7KWyjseXs1CbSo8vC42w7hg2HgYTxSWwP0+is7bWDc1H+Fo026CpHFwm8tkw== - dependencies: - call-bind "^1.0.2" - get-intrinsic "^1.2.1" - is-typed-array "^1.1.10" - -typed-array-byte-length@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/typed-array-byte-length/-/typed-array-byte-length-1.0.0.tgz#d787a24a995711611fb2b87a4052799517b230d0" - integrity sha512-Or/+kvLxNpeQ9DtSydonMxCx+9ZXOswtwJn17SNLvhptaXYDJvkFFP5zbfU/uLmvnBJlI4yrnXRxpdWH/M5tNA== - dependencies: - call-bind "^1.0.2" - for-each "^0.3.3" - has-proto "^1.0.1" - is-typed-array "^1.1.10" - -typed-array-byte-offset@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/typed-array-byte-offset/-/typed-array-byte-offset-1.0.0.tgz#cbbe89b51fdef9cd6aaf07ad4707340abbc4ea0b" - integrity sha512-RD97prjEt9EL8YgAgpOkf3O4IF9lhJFr9g0htQkm0rchFp/Vx7LW5Q8fSXXub7BXAODyUQohRMyOc3faCPd0hg== - dependencies: - available-typed-arrays "^1.0.5" - call-bind "^1.0.2" - for-each "^0.3.3" - has-proto "^1.0.1" - is-typed-array "^1.1.10" - -typed-array-length@^1.0.4: - version "1.0.4" - resolved "https://registry.yarnpkg.com/typed-array-length/-/typed-array-length-1.0.4.tgz#89d83785e5c4098bec72e08b319651f0eac9c1bb" - integrity sha512-KjZypGq+I/H7HI5HlOoGHkWUUGq+Q0TPhQurLbyrVrvnKTBgzLhIJ7j6J/XTQOi0d1RjyZ0wdas8bKs2p0x3Ng== - dependencies: - call-bind "^1.0.2" - for-each "^0.3.3" - is-typed-array "^1.1.9" - -typescript@4.8.4: - version "4.8.4" - resolved "https://registry.yarnpkg.com/typescript/-/typescript-4.8.4.tgz#c464abca159669597be5f96b8943500b238e60e6" - integrity sha512-QCh+85mCy+h0IGff8r5XWzOVSbBO+KfeYrMQh7NJ58QujwcE22u+NUSmUxqF+un70P9GXKxa2HCNiTTMJknyjQ== - -ua-parser-js@^1.0.32: - version "1.0.37" - resolved "https://registry.yarnpkg.com/ua-parser-js/-/ua-parser-js-1.0.37.tgz#b5dc7b163a5c1f0c510b08446aed4da92c46373f" - integrity sha512-bhTyI94tZofjo+Dn8SN6Zv8nBDvyXTymAdM3LDI/0IboIUwTu1rEhW7v2TfiVsoYWgkQ4kOVqnI8APUFbIQIFQ== - -unbox-primitive@^1.0.2: - version "1.0.2" - resolved "https://registry.yarnpkg.com/unbox-primitive/-/unbox-primitive-1.0.2.tgz#29032021057d5e6cdbd08c5129c226dff8ed6f9e" - integrity sha512-61pPlCD9h51VoreyJ0BReideM3MDKMKnh6+V9L08331ipq6Q8OFXZYiqP6n/tbHx4s5I9uRhcye6BrbkizkBDw== - dependencies: - call-bind "^1.0.2" - has-bigints "^1.0.2" - has-symbols "^1.0.3" - which-boxed-primitive "^1.0.2" - -underscore@1.7.0: - version "1.7.0" - resolved "https://registry.yarnpkg.com/underscore/-/underscore-1.7.0.tgz#6bbaf0877500d36be34ecaa584e0db9fef035209" - integrity sha512-cp0oQQyZhUM1kpJDLdGO1jPZHgS/MpzoWYfe9+CM2h/QGDZlqwT2T3YGukuBdaNJ/CAPoeyAZRRHz8JFo176vA== - -undici-types@~5.26.4: - version "5.26.5" - resolved "https://registry.yarnpkg.com/undici-types/-/undici-types-5.26.5.tgz#bcd539893d00b56e964fd2657a4866b221a65617" - integrity sha512-JlCMO+ehdEIKqlFxk6IfVoAUVmgz7cU7zD/h9XZ0qzeosSHmUJVOzSQvvYSYWXkFXC+IfLKSIffhv0sVZup6pA== - -unicode-canonical-property-names-ecmascript@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/unicode-canonical-property-names-ecmascript/-/unicode-canonical-property-names-ecmascript-2.0.0.tgz#301acdc525631670d39f6146e0e77ff6bbdebddc" - integrity sha512-yY5PpDlfVIU5+y/BSCxAJRBIS1Zc2dDG3Ujq+sR0U+JjUevW2JhocOF+soROYDSaAezOzOKuyyixhD6mBknSmQ== - -unicode-match-property-ecmascript@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/unicode-match-property-ecmascript/-/unicode-match-property-ecmascript-2.0.0.tgz#54fd16e0ecb167cf04cf1f756bdcc92eba7976c3" - integrity sha512-5kaZCrbp5mmbz5ulBkDkbY0SsPOjKqVS35VpL9ulMPfSl0J0Xsm+9Evphv9CoIZFwre7aJoa94AY6seMKGVN5Q== - dependencies: - unicode-canonical-property-names-ecmascript "^2.0.0" - unicode-property-aliases-ecmascript "^2.0.0" - -unicode-match-property-value-ecmascript@^2.1.0: - version "2.1.0" - resolved "https://registry.yarnpkg.com/unicode-match-property-value-ecmascript/-/unicode-match-property-value-ecmascript-2.1.0.tgz#cb5fffdcd16a05124f5a4b0bf7c3770208acbbe0" - integrity sha512-qxkjQt6qjg/mYscYMC0XKRn3Rh0wFPlfxB0xkt9CfyTvpX1Ra0+rAmdX2QyAobptSEvuy4RtpPRui6XkV+8wjA== - -unicode-property-aliases-ecmascript@^2.0.0: - version "2.1.0" - resolved "https://registry.yarnpkg.com/unicode-property-aliases-ecmascript/-/unicode-property-aliases-ecmascript-2.1.0.tgz#43d41e3be698bd493ef911077c9b131f827e8ccd" - integrity sha512-6t3foTQI9qne+OZoVQB/8x8rk2k1eVy1gRXhV3oFQ5T6R1dqQ1xtin3XqSlx3+ATBkliTaR/hHyJBm+LVPNM8w== - -unicorn-magic@^0.1.0: - version "0.1.0" - resolved "https://registry.yarnpkg.com/unicorn-magic/-/unicorn-magic-0.1.0.tgz#1bb9a51c823aaf9d73a8bfcd3d1a23dde94b0ce4" - integrity sha512-lRfVq8fE8gz6QMBuDM6a+LO3IAzTi05H6gCVaUpir2E1Rwpo4ZUog45KpNXKC/Mn3Yb9UDuHumeFTo9iV/D9FQ== - -universalify@^0.2.0: - version "0.2.0" - resolved "https://registry.yarnpkg.com/universalify/-/universalify-0.2.0.tgz#6451760566fa857534745ab1dde952d1b1761be0" - integrity sha512-CJ1QgKmNg3CwvAv/kOFmtnEN05f0D/cn9QntgNOQlQF9dgvVTHj3t+8JPdjqawCHk7V/KA+fbUqzZ9XWhcqPUg== - -universalify@^2.0.0: - version "2.0.1" - resolved "https://registry.yarnpkg.com/universalify/-/universalify-2.0.1.tgz#168efc2180964e6386d061e094df61afe239b18d" - integrity sha512-gptHNQghINnc/vTGIk0SOFGFNXw7JVrlRUtConJRlvaw6DuX0wO5Jeko9sWrMBhh+PsYAZ7oXAiOnf/UKogyiw== - -untildify@^4.0.0: - version "4.0.0" - resolved "https://registry.yarnpkg.com/untildify/-/untildify-4.0.0.tgz#2bc947b953652487e4600949fb091e3ae8cd919b" - integrity sha512-KK8xQ1mkzZeg9inewmFVDNkg3l5LUhoq9kN6iWYB/CC9YMG8HA+c1Q8HwDe6dEX7kErrEVNVBO3fWsVq5iDgtw== - -update-browserslist-db@^1.0.13: - version "1.0.13" - resolved "https://registry.yarnpkg.com/update-browserslist-db/-/update-browserslist-db-1.0.13.tgz#3c5e4f5c083661bd38ef64b6328c26ed6c8248c4" - integrity sha512-xebP81SNcPuNpPP3uzeW1NYXxI3rxyJzF3pD6sH4jE7o/IX+WtSpwnVU+qIsDPyk0d3hmFQ7mjqc6AtV604hbg== - dependencies: - escalade "^3.1.1" - picocolors "^1.0.0" - -uplot@1.6.24: - version "1.6.24" - resolved "https://registry.yarnpkg.com/uplot/-/uplot-1.6.24.tgz#dfa213fa7da92763261920ea972ed1a5f9f6af12" - integrity sha512-WpH2BsrFrqxkMu+4XBvc0eCDsRBhzoq9crttYeSI0bfxpzR5YoSVzZXOKFVWcVC7sp/aDXrdDPbDZGCtck2PVg== - -uri-js@^4.2.2: - version "4.4.1" - resolved "https://registry.yarnpkg.com/uri-js/-/uri-js-4.4.1.tgz#9b1a52595225859e55f669d928f88c6c57f2a77e" - integrity sha512-7rKUyy33Q1yc98pQ1DAmLtwX109F7TIfWlW1Ydo8Wl1ii1SeHieeh0HHfPeL2fMXK6z0s8ecKs9frCuLJvndBg== - dependencies: - punycode "^2.1.0" - -url-parse@^1.5.3: - version "1.5.10" - resolved "https://registry.yarnpkg.com/url-parse/-/url-parse-1.5.10.tgz#9d3c2f736c1d75dd3bd2be507dcc111f1e2ea9c1" - integrity sha512-WypcfiRhfeUP9vvF0j6rw0J3hrWrw6iZv3+22h6iRMJ/8z1Tj6XfLP4DsUix5MhMPnXpiHDoKyoZ/bdCkwBCiQ== - dependencies: - querystringify "^2.1.1" - requires-port "^1.0.0" - -use-isomorphic-layout-effect@^1.1.2: - version "1.1.2" - resolved "https://registry.yarnpkg.com/use-isomorphic-layout-effect/-/use-isomorphic-layout-effect-1.1.2.tgz#497cefb13d863d687b08477d9e5a164ad8c1a6fb" - integrity sha512-49L8yCO3iGT/ZF9QttjwLF/ZD9Iwto5LnH5LmEdk/6cFmXddqi2ulF0edxTwjj+7mqvpVVGQWvbXZdn32wRSHA== - -use-memo-one@^1.1.1: - version "1.1.3" - resolved "https://registry.yarnpkg.com/use-memo-one/-/use-memo-one-1.1.3.tgz#2fd2e43a2169eabc7496960ace8c79efef975e99" - integrity sha512-g66/K7ZQGYrI6dy8GLpVcMsBp4s17xNkYJVSMvTEevGy3nDxHOfE6z8BVE22+5G5x7t3+bhzrlTDB7ObrEE0cQ== - -util-deprecate@^1.0.2, util-deprecate@~1.0.1: - version "1.0.2" - resolved "https://registry.yarnpkg.com/util-deprecate/-/util-deprecate-1.0.2.tgz#450d4dc9fa70de732762fbd2d4a28981419a0ccf" - integrity sha512-EPD5q1uXyFxJpCrLnCc1nHnq3gOa6DZBocAIiI2TaSCA7VCJ1UJDMagCzIkXNsUYfD1daK//LTEQ8xiIbrHtcw== - -uuid@9.0.0: - version "9.0.0" - resolved "https://registry.yarnpkg.com/uuid/-/uuid-9.0.0.tgz#592f550650024a38ceb0c562f2f6aa435761efb5" - integrity sha512-MXcSTerfPa4uqyzStbRoTgt5XIe3x5+42+q1sDuy3R5MDk66URdLMOZe5aPX/SQd+kuYAh0FdP/pO28IkQyTeg== - -uuid@^3.3.2: - version "3.4.0" - resolved "https://registry.yarnpkg.com/uuid/-/uuid-3.4.0.tgz#b23e4358afa8a202fe7a100af1f5f883f02007ee" - integrity sha512-HjSDRw6gZE5JMggctHBcjVak08+KEVhSIiDzFnT9S9aegmp85S/bReBVTb4QTFaRNptJ9kuYaNhnbNEOkbKb/A== - -uuid@^8.3.2: - version "8.3.2" - resolved "https://registry.yarnpkg.com/uuid/-/uuid-8.3.2.tgz#80d5b5ced271bb9af6c445f21a1a04c606cefbe2" - integrity sha512-+NYs2QeMWy+GWFOEm9xnn6HCDp0l7QBD7ml8zLUmJ+93Q5NF0NocErnwkTkXVFNiX3/fpC6afS8Dhb/gz7R7eg== - -uuid@^9.0.0: - version "9.0.1" - resolved "https://registry.yarnpkg.com/uuid/-/uuid-9.0.1.tgz#e188d4c8853cc722220392c424cd637f32293f30" - integrity sha512-b+1eJOlsR9K8HJpow9Ok3fiWOWSIcIzXodvv0rQjVoOVNpWMpxf1wZNpt4y9h10odCNrqnYp1OBzRktckBe3sA== - -v8-compile-cache-lib@^3.0.1: - version "3.0.1" - resolved "https://registry.yarnpkg.com/v8-compile-cache-lib/-/v8-compile-cache-lib-3.0.1.tgz#6336e8d71965cb3d35a1bbb7868445a7c05264bf" - integrity sha512-wa7YjyUGfNZngI/vtK0UHAN+lgDCxBPCylVXGp0zu59Fz5aiGtNXaq3DhIov063MorB+VfufLh3JlF2KdTK3xg== - -v8-to-istanbul@^9.0.1: - version "9.2.0" - resolved "https://registry.yarnpkg.com/v8-to-istanbul/-/v8-to-istanbul-9.2.0.tgz#2ed7644a245cddd83d4e087b9b33b3e62dfd10ad" - integrity sha512-/EH/sDgxU2eGxajKdwLCDmQ4FWq+kpi3uCmBGpw1xJtnAxEjlD8j8PEiGWpCIMIs3ciNAgH0d3TTJiUkYzyZjA== - dependencies: - "@jridgewell/trace-mapping" "^0.3.12" - "@types/istanbul-lib-coverage" "^2.0.1" - convert-source-map "^2.0.0" - -value-equal@^1.0.1: - version "1.0.1" - resolved "https://registry.yarnpkg.com/value-equal/-/value-equal-1.0.1.tgz#1e0b794c734c5c0cade179c437d356d931a34d6c" - integrity sha512-NOJ6JZCAWr0zlxZt+xqCHNTEKOsrks2HQd4MqhP1qy4z1SkbEP467eNx6TgDKXMvUOb+OENfJCZwM+16n7fRfw== - -verror@1.10.0: - version "1.10.0" - resolved "https://registry.yarnpkg.com/verror/-/verror-1.10.0.tgz#3a105ca17053af55d6e270c1f8288682e18da400" - integrity sha512-ZZKSmDAEFOijERBLkmYfJ+vmk3w+7hOLYDNkRCuRuMJGEmqYNCNLyBBFwWKVMhfwaEF3WOd0Zlw86U/WC/+nYw== - dependencies: - assert-plus "^1.0.0" - core-util-is "1.0.2" - extsprintf "^1.2.0" - -void-elements@3.1.0: - version "3.1.0" - resolved "https://registry.yarnpkg.com/void-elements/-/void-elements-3.1.0.tgz#614f7fbf8d801f0bb5f0661f5b2f5785750e4f09" - integrity sha512-Dhxzh5HZuiHQhbvTW9AMetFfBHDMYpo23Uo9btPXgdYP+3T5S+p+jgNy7spra+veYhBP2dCSgxR/i2Y02h5/6w== - -w3c-xmlserializer@^4.0.0: - version "4.0.0" - resolved "https://registry.yarnpkg.com/w3c-xmlserializer/-/w3c-xmlserializer-4.0.0.tgz#aebdc84920d806222936e3cdce408e32488a3073" - integrity sha512-d+BFHzbiCx6zGfz0HyQ6Rg69w9k19nviJspaj4yNscGjrHu94sVP+aRm75yEbCh+r2/yR+7q6hux9LVtbuTGBw== - dependencies: - xml-name-validator "^4.0.0" - -walker@^1.0.8: - version "1.0.8" - resolved "https://registry.yarnpkg.com/walker/-/walker-1.0.8.tgz#bd498db477afe573dc04185f011d3ab8a8d7653f" - integrity sha512-ts/8E8l5b7kY0vlWLewOkDXMmPdLcVV4GmOQLyxuSswIJsweeFZtAsMF7k1Nszz+TYBQrlYRmzOnr398y1JemQ== - dependencies: - makeerror "1.0.12" - -warning@^4.0.2: - version "4.0.3" - resolved "https://registry.yarnpkg.com/warning/-/warning-4.0.3.tgz#16e9e077eb8a86d6af7d64aa1e05fd85b4678ca3" - integrity sha512-rpJyN222KWIvHJ/F53XSZv0Zl/accqHR8et1kpaMTD/fLCRxtV8iX8czMzY7sVZupTI3zcUTg8eycS2kNF9l6w== - dependencies: - loose-envify "^1.0.0" - -watchpack@^2.4.0: - version "2.4.0" - resolved "https://registry.yarnpkg.com/watchpack/-/watchpack-2.4.0.tgz#fa33032374962c78113f93c7f2fb4c54c9862a5d" - integrity sha512-Lcvm7MGST/4fup+ifyKi2hjyIAwcdI4HRgtvTpIUxBRhB+RFtUh8XtDOxUfctVCnhVi+QQj49i91OyvzkJl6cg== - dependencies: - glob-to-regexp "^0.4.1" - graceful-fs "^4.1.2" - -web-vitals@^3.1.1: - version "3.5.2" - resolved "https://registry.yarnpkg.com/web-vitals/-/web-vitals-3.5.2.tgz#5bb58461bbc173c3f00c2ddff8bfe6e680999ca9" - integrity sha512-c0rhqNcHXRkY/ogGDJQxZ9Im9D19hDihbzSQJrsioex+KnFgmMzBiy57Z1EjkhX/+OjyBpclDCzz2ITtjokFmg== - -web-worker@^1.2.0: - version "1.3.0" - resolved "https://registry.yarnpkg.com/web-worker/-/web-worker-1.3.0.tgz#e5f2df5c7fe356755a5fb8f8410d4312627e6776" - integrity sha512-BSR9wyRsy/KOValMgd5kMyr3JzpdeoR9KVId8u5GVlTTAtNChlsE4yTxeY7zMdNSyOmoKBv8NH2qeRY9Tg+IaA== - -webidl-conversions@^7.0.0: - version "7.0.0" - resolved "https://registry.yarnpkg.com/webidl-conversions/-/webidl-conversions-7.0.0.tgz#256b4e1882be7debbf01d05f0aa2039778ea080a" - integrity sha512-VwddBukDzu71offAQR975unBIGqfKZpM+8ZX6ySk8nYhVoo5CYaZyzt3YBvYtRtO+aoGlqxPg/B87NGVZ/fu6g== - -webpack-cli@^5.1.4: - version "5.1.4" - resolved "https://registry.yarnpkg.com/webpack-cli/-/webpack-cli-5.1.4.tgz#c8e046ba7eaae4911d7e71e2b25b776fcc35759b" - integrity sha512-pIDJHIEI9LR0yxHXQ+Qh95k2EvXpWzZ5l+d+jIo+RdSm9MiHfzazIxwwni/p7+x4eJZuvG1AJwgC4TNQ7NRgsg== - dependencies: - "@discoveryjs/json-ext" "^0.5.0" - "@webpack-cli/configtest" "^2.1.1" - "@webpack-cli/info" "^2.0.2" - "@webpack-cli/serve" "^2.0.5" - colorette "^2.0.14" - commander "^10.0.1" - cross-spawn "^7.0.3" - envinfo "^7.7.3" - fastest-levenshtein "^1.0.12" - import-local "^3.0.2" - interpret "^3.1.1" - rechoir "^0.8.0" - webpack-merge "^5.7.3" - -webpack-livereload-plugin@^3.0.2: - version "3.0.2" - resolved "https://registry.yarnpkg.com/webpack-livereload-plugin/-/webpack-livereload-plugin-3.0.2.tgz#b12f4ab56c75f03715eb32883bc2f24621f06da1" - integrity sha512-5JeZ2dgsvSNG+clrkD/u2sEiPcNk4qwCVZZmW8KpqKcNlkGv7IJjdVrq13+etAmMZYaCF1EGXdHkVFuLgP4zfw== - dependencies: - anymatch "^3.1.1" - portfinder "^1.0.17" - schema-utils ">1.0.0" - tiny-lr "^1.1.1" - -webpack-merge@^5.7.3: - version "5.10.0" - resolved "https://registry.yarnpkg.com/webpack-merge/-/webpack-merge-5.10.0.tgz#a3ad5d773241e9c682803abf628d4cd62b8a4177" - integrity sha512-+4zXKdx7UnO+1jaN4l2lHVD+mFvnlZQP/6ljaJVb4SZiwIKeUnrT5l0gkT8z+n4hKpC+jpOv6O9R+gLtag7pSA== - dependencies: - clone-deep "^4.0.1" - flat "^5.0.2" - wildcard "^2.0.0" - -webpack-sources@^3.2.3: - version "3.2.3" - resolved "https://registry.yarnpkg.com/webpack-sources/-/webpack-sources-3.2.3.tgz#2d4daab8451fd4b240cc27055ff6a0c2ccea0cde" - integrity sha512-/DyMEOrDgLKKIG0fmvtz+4dUX/3Ghozwgm6iPp8KRhvn+eQf9+Q7GWxVNMk3+uCPWfdXYC4ExGBckIXdFEfH1w== - -webpack@^5.86.0: - version "5.90.0" - resolved "https://registry.yarnpkg.com/webpack/-/webpack-5.90.0.tgz#313bfe16080d8b2fee6e29b6c986c0714ad4290e" - integrity sha512-bdmyXRCXeeNIePv6R6tGPyy20aUobw4Zy8r0LUS2EWO+U+Ke/gYDgsCh7bl5rB6jPpr4r0SZa6dPxBxLooDT3w== - dependencies: - "@types/eslint-scope" "^3.7.3" - "@types/estree" "^1.0.5" - "@webassemblyjs/ast" "^1.11.5" - "@webassemblyjs/wasm-edit" "^1.11.5" - "@webassemblyjs/wasm-parser" "^1.11.5" - acorn "^8.7.1" - acorn-import-assertions "^1.9.0" - browserslist "^4.21.10" - chrome-trace-event "^1.0.2" - enhanced-resolve "^5.15.0" - es-module-lexer "^1.2.1" - eslint-scope "5.1.1" - events "^3.2.0" - glob-to-regexp "^0.4.1" - graceful-fs "^4.2.9" - json-parse-even-better-errors "^2.3.1" - loader-runner "^4.2.0" - mime-types "^2.1.27" - neo-async "^2.6.2" - schema-utils "^3.2.0" - tapable "^2.1.1" - terser-webpack-plugin "^5.3.10" - watchpack "^2.4.0" - webpack-sources "^3.2.3" - -websocket-driver@>=0.5.1: - version "0.7.4" - resolved "https://registry.yarnpkg.com/websocket-driver/-/websocket-driver-0.7.4.tgz#89ad5295bbf64b480abcba31e4953aca706f5760" - integrity sha512-b17KeDIQVjvb0ssuSDF2cYXSg2iztliJ4B9WdsuB6J952qCPKmnVq4DyW5motImXHDC1cBT/1UezrJVsKw5zjg== - dependencies: - http-parser-js ">=0.5.1" - safe-buffer ">=5.1.0" - websocket-extensions ">=0.1.1" - -websocket-extensions@>=0.1.1: - version "0.1.4" - resolved "https://registry.yarnpkg.com/websocket-extensions/-/websocket-extensions-0.1.4.tgz#7f8473bc839dfd87608adb95d7eb075211578a42" - integrity sha512-OqedPIGOfsDlo31UNwYbCFMSaO9m9G/0faIHj5/dZFDMFqPTcx6UwqyOy3COEaEOg/9VsGIpdqn62W5KhoKSpg== - -whatwg-encoding@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/whatwg-encoding/-/whatwg-encoding-2.0.0.tgz#e7635f597fd87020858626805a2729fa7698ac53" - integrity sha512-p41ogyeMUrw3jWclHWTQg1k05DSVXPLcVxRTYsXUk+ZooOCZLcoYgPZ/HL/D/N+uQPOtcp1me1WhBEaX02mhWg== - dependencies: - iconv-lite "0.6.3" - -whatwg-mimetype@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/whatwg-mimetype/-/whatwg-mimetype-3.0.0.tgz#5fa1a7623867ff1af6ca3dc72ad6b8a4208beba7" - integrity sha512-nt+N2dzIutVRxARx1nghPKGv1xHikU7HKdfafKkLNLindmPU/ch3U31NOCGGA/dmPcmb1VlofO0vnKAcsm0o/Q== - -whatwg-url@^11.0.0: - version "11.0.0" - resolved "https://registry.yarnpkg.com/whatwg-url/-/whatwg-url-11.0.0.tgz#0a849eebb5faf2119b901bb76fd795c2848d4018" - integrity sha512-RKT8HExMpoYx4igMiVMY83lN6UeITKJlBQ+vR/8ZJ8OCdSiN3RwCq+9gH0+Xzj0+5IrM6i4j/6LuvzbZIQgEcQ== - dependencies: - tr46 "^3.0.0" - webidl-conversions "^7.0.0" - -which-boxed-primitive@^1.0.2: - version "1.0.2" - resolved "https://registry.yarnpkg.com/which-boxed-primitive/-/which-boxed-primitive-1.0.2.tgz#13757bc89b209b049fe5d86430e21cf40a89a8e6" - integrity sha512-bwZdv0AKLpplFY2KZRX6TvyuN7ojjr7lwkg6ml0roIy9YeuSr7JS372qlNW18UQYzgYK9ziGcerWqZOmEn9VNg== - dependencies: - is-bigint "^1.0.1" - is-boolean-object "^1.1.0" - is-number-object "^1.0.4" - is-string "^1.0.5" - is-symbol "^1.0.3" - -which-collection@^1.0.1: - version "1.0.1" - resolved "https://registry.yarnpkg.com/which-collection/-/which-collection-1.0.1.tgz#70eab71ebbbd2aefaf32f917082fc62cdcb70906" - integrity sha512-W8xeTUwaln8i3K/cY1nGXzdnVZlidBcagyNFtBdD5kxnb4TvGKR7FfSIS3mYpwWS1QUCutfKz8IY8RjftB0+1A== - dependencies: - is-map "^2.0.1" - is-set "^2.0.1" - is-weakmap "^2.0.1" - is-weakset "^2.0.1" - -which-typed-array@^1.1.11, which-typed-array@^1.1.13: - version "1.1.13" - resolved "https://registry.yarnpkg.com/which-typed-array/-/which-typed-array-1.1.13.tgz#870cd5be06ddb616f504e7b039c4c24898184d36" - integrity sha512-P5Nra0qjSncduVPEAr7xhoF5guty49ArDTwzJ/yNuPIbZppyRxFQsRCWrocxIY+CnMVG+qfbU2FmDKyvSGClow== - dependencies: - available-typed-arrays "^1.0.5" - call-bind "^1.0.4" - for-each "^0.3.3" - gopd "^1.0.1" - has-tostringtag "^1.0.0" - -which@^2.0.1: - version "2.0.2" - resolved "https://registry.yarnpkg.com/which/-/which-2.0.2.tgz#7c6a8dd0a636a0327e10b59c9286eee93f3f51b1" - integrity sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA== - dependencies: - isexe "^2.0.0" - -wildcard@^2.0.0: - version "2.0.1" - resolved "https://registry.yarnpkg.com/wildcard/-/wildcard-2.0.1.tgz#5ab10d02487198954836b6349f74fff961e10f67" - integrity sha512-CC1bOL87PIWSBhDcTrdeLo6eGT7mCFtrg0uIJtqJUFyK+eJnzl8A1niH56uu7KMa5XFrtiV+AQuHO3n7DsHnLQ== - -workerpool@6.2.1: - version "6.2.1" - resolved "https://registry.yarnpkg.com/workerpool/-/workerpool-6.2.1.tgz#46fc150c17d826b86a008e5a4508656777e9c343" - integrity sha512-ILEIE97kDZvF9Wb9f6h5aXK4swSlKGUcOEGiIYb2OOu/IrDU9iwj0fD//SsA6E5ibwJxpEvhullJY4Sl4GcpAw== - -"wrap-ansi-cjs@npm:wrap-ansi@^7.0.0", wrap-ansi@^7.0.0: - version "7.0.0" - resolved "https://registry.yarnpkg.com/wrap-ansi/-/wrap-ansi-7.0.0.tgz#67e145cff510a6a6984bdf1152911d69d2eb9e43" - integrity sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q== - dependencies: - ansi-styles "^4.0.0" - string-width "^4.1.0" - strip-ansi "^6.0.0" - -wrap-ansi@^6.2.0: - version "6.2.0" - resolved "https://registry.yarnpkg.com/wrap-ansi/-/wrap-ansi-6.2.0.tgz#e9393ba07102e6c91a3b221478f0257cd2856e53" - integrity sha512-r6lPcBGxZXlIcymEu7InxDMhdW0KDxpLgoFLcguasxCaJ/SOIZwINatK9KY/tf+ZrlywOKU0UDj3ATXUBfxJXA== - dependencies: - ansi-styles "^4.0.0" - string-width "^4.1.0" - strip-ansi "^6.0.0" - -wrap-ansi@^8.1.0: - version "8.1.0" - resolved "https://registry.yarnpkg.com/wrap-ansi/-/wrap-ansi-8.1.0.tgz#56dc22368ee570face1b49819975d9b9a5ead214" - integrity sha512-si7QWI6zUMq56bESFvagtmzMdGOtoxfR+Sez11Mobfc7tm+VkUckk9bW2UeffTGVUbOksxmSw0AA2gs8g71NCQ== - dependencies: - ansi-styles "^6.1.0" - string-width "^5.0.1" - strip-ansi "^7.0.1" - -wrappy@1: - version "1.0.2" - resolved "https://registry.yarnpkg.com/wrappy/-/wrappy-1.0.2.tgz#b5243d8f3ec1aa35f1364605bc0d1036e30ab69f" - integrity sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ== - -write-file-atomic@^4.0.2: - version "4.0.2" - resolved "https://registry.yarnpkg.com/write-file-atomic/-/write-file-atomic-4.0.2.tgz#a9df01ae5b77858a027fd2e80768ee433555fcfd" - integrity sha512-7KxauUdBmSdWnmpaGFg+ppNjKF8uNLry8LyzjauQDOVONfFLNKrKvQOxZ/VuTIcS/gge/YNahf5RIIQWTSarlg== - dependencies: - imurmurhash "^0.1.4" - signal-exit "^3.0.7" - -ws@^7.2.0: - version "7.5.9" - resolved "https://registry.yarnpkg.com/ws/-/ws-7.5.9.tgz#54fa7db29f4c7cec68b1ddd3a89de099942bb591" - integrity sha512-F+P9Jil7UiSKSkppIiD94dN07AwvFixvLIj1Og1Rl9GGMuNipJnV9JzjD6XuqmAeiswGvUmNLjr5cFuXwNS77Q== - -ws@^8.11.0: - version "8.16.0" - resolved "https://registry.yarnpkg.com/ws/-/ws-8.16.0.tgz#d1cd774f36fbc07165066a60e40323eab6446fd4" - integrity sha512-HS0c//TP7Ina87TfiPUz1rQzMhHrl/SG2guqRcTOIUYD2q8uhUdNHZYJUaQ8aTGPzCh+c6oawMKW35nFl1dxyQ== - -xml-name-validator@^4.0.0: - version "4.0.0" - resolved "https://registry.yarnpkg.com/xml-name-validator/-/xml-name-validator-4.0.0.tgz#79a006e2e63149a8600f15430f0a4725d1524835" - integrity sha512-ICP2e+jsHvAj2E2lIHxa5tjXRlKDJo4IdvPvCXbXQGdzSfmSpNVyIKMvoZHjDY9DP0zV17iI85o90vRFXNccRw== - -xml-utils@^1.0.2: - version "1.7.0" - resolved "https://registry.yarnpkg.com/xml-utils/-/xml-utils-1.7.0.tgz#333ce391d8918f872aaf98d2cf90f9ef9b82bd0f" - integrity sha512-bWB489+RQQclC7A9OW8e5BzbT8Tu//jtAOvkYwewFr+Q9T9KDGvfzC1lp0pYPEQPEoPQLDkmxkepSC/2gIAZGw== - -xmlchars@^2.2.0: - version "2.2.0" - resolved "https://registry.yarnpkg.com/xmlchars/-/xmlchars-2.2.0.tgz#060fe1bcb7f9c76fe2a17db86a9bc3ab894210cb" - integrity sha512-JZnDKK8B0RCDw84FNdDAIpZK+JuJw+s7Lz8nksI7SIuU3UXJJslUthsi+uWBUYOwPFwW7W7PRLRfUKpxjtjFCw== - -xss@^1.0.14: - version "1.0.14" - resolved "https://registry.yarnpkg.com/xss/-/xss-1.0.14.tgz#4f3efbde75ad0d82e9921cc3c95e6590dd336694" - integrity sha512-og7TEJhXvn1a7kzZGQ7ETjdQVS2UfZyTlsEdDOqvQF7GoxNfY+0YLCzBy1kPdsDDx4QuNAonQPddpsn6Xl/7sw== - dependencies: - commander "^2.20.3" - cssfilter "0.0.10" - -y18n@^5.0.5: - version "5.0.8" - resolved "https://registry.yarnpkg.com/y18n/-/y18n-5.0.8.tgz#7f4934d0f7ca8c56f95314939ddcd2dd91ce1d55" - integrity sha512-0pfFzegeDWJHJIAmTLRP2DwHjdF5s7jo9tuztdQxAhINCdvS+3nGINqPd00AphqJR/0LhANUS6/+7SCb98YOfA== - -yallist@^3.0.2: - version "3.1.1" - resolved "https://registry.yarnpkg.com/yallist/-/yallist-3.1.1.tgz#dbb7daf9bfd8bac9ab45ebf602b8cbad0d5d08fd" - integrity sha512-a4UGQaWPH59mOXUYnAG2ewncQS4i4F43Tv3JoAM+s2VDAmS9NsK8GpDMLrCHPksFT7h3K6TOoUNn2pb7RoXx4g== - -yallist@^4.0.0: - version "4.0.0" - resolved "https://registry.yarnpkg.com/yallist/-/yallist-4.0.0.tgz#9bb92790d9c0effec63be73519e11a35019a3a72" - integrity sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A== - -yaml@^1.10.0: - version "1.10.2" - resolved "https://registry.yarnpkg.com/yaml/-/yaml-1.10.2.tgz#2301c5ffbf12b467de8da2333a459e29e7920e4b" - integrity sha512-r3vXyErRCYJ7wg28yvBY5VSoAF8ZvlcW9/BwUzEtUsjvX/DKs24dIkuwjtuprwJJHsbyUbLApepYTR1BN4uHrg== - -yaml@^2.0.0: - version "2.3.4" - resolved "https://registry.yarnpkg.com/yaml/-/yaml-2.3.4.tgz#53fc1d514be80aabf386dc6001eb29bf3b7523b2" - integrity sha512-8aAvwVUSHpfEqTQ4w/KMlf3HcRdt50E5ODIQJBw1fQ5RL34xabzxtUlzTXVqc4rkZsPbvrXKWnABCD7kWSmocA== - -yargs-parser@20.2.4: - version "20.2.4" - resolved "https://registry.yarnpkg.com/yargs-parser/-/yargs-parser-20.2.4.tgz#b42890f14566796f85ae8e3a25290d205f154a54" - integrity sha512-WOkpgNhPTlE73h4VFAFsOnomJVaovO8VqLDzy5saChRBFQFBoMYirowyW+Q9HB4HFF4Z7VZTiG3iSzJJA29yRA== - -yargs-parser@^20.2.2: - version "20.2.9" - resolved "https://registry.yarnpkg.com/yargs-parser/-/yargs-parser-20.2.9.tgz#2eb7dc3b0289718fc295f362753845c41a0c94ee" - integrity sha512-y11nGElTIV+CT3Zv9t7VKl+Q3hTQoT9a1Qzezhhl6Rp21gJ/IVTW7Z3y9EWXhuUBC2Shnf+DX0antecpAwSP8w== - -yargs-parser@^21.1.1: - version "21.1.1" - resolved "https://registry.yarnpkg.com/yargs-parser/-/yargs-parser-21.1.1.tgz#9096bceebf990d21bb31fa9516e0ede294a77d35" - integrity sha512-tVpsJW7DdjecAiFpbIB1e3qxIQsE6NoPc5/eTdrbbIC4h0LVsWhnoa3g+m2HclBIujHzsxZ4VJVA+GUuc2/LBw== - -yargs-unparser@2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/yargs-unparser/-/yargs-unparser-2.0.0.tgz#f131f9226911ae5d9ad38c432fe809366c2325eb" - integrity sha512-7pRTIA9Qc1caZ0bZ6RYRGbHJthJWuakf+WmHK0rVeLkNrrGhfoabBNdue6kdINI6r4if7ocq9aD/n7xwKOdzOA== - dependencies: - camelcase "^6.0.0" - decamelize "^4.0.0" - flat "^5.0.2" - is-plain-obj "^2.1.0" - -yargs@16.2.0: - version "16.2.0" - resolved "https://registry.yarnpkg.com/yargs/-/yargs-16.2.0.tgz#1c82bf0f6b6a66eafce7ef30e376f49a12477f66" - integrity sha512-D1mvvtDG0L5ft/jGWkLpG1+m0eQxOfaBvTNELraWj22wSVUMWxZUvYgJYcKh6jGGIkJFhH4IZPQhR4TKpc8mBw== - dependencies: - cliui "^7.0.2" - escalade "^3.1.1" - get-caller-file "^2.0.5" - require-directory "^2.1.1" - string-width "^4.2.0" - y18n "^5.0.5" - yargs-parser "^20.2.2" - -yargs@^17.3.1: - version "17.7.2" - resolved "https://registry.yarnpkg.com/yargs/-/yargs-17.7.2.tgz#991df39aca675a192b816e1e0363f9d75d2aa269" - integrity sha512-7dSzzRQ++CKnNI/krKnYRV7JKKPUXMEh61soaHKg9mrWEhzFWhFnxPxGl+69cD1Ou63C13NUPCnmIcrvqCuM6w== - dependencies: - cliui "^8.0.1" - escalade "^3.1.1" - get-caller-file "^2.0.5" - require-directory "^2.1.1" - string-width "^4.2.3" - y18n "^5.0.5" - yargs-parser "^21.1.1" - -yauzl@^2.10.0: - version "2.10.0" - resolved "https://registry.yarnpkg.com/yauzl/-/yauzl-2.10.0.tgz#c7eb17c93e112cb1086fa6d8e51fb0667b79a5f9" - integrity sha512-p4a9I6X6nu6IhoGmBqAcbJy1mlC4j27vEPZX9F4L4/vZT3Lyq1VkFHw/V/PUcB9Buo+DG3iHkT0x3Qya58zc3g== - dependencies: - buffer-crc32 "~0.2.3" - fd-slicer "~1.1.0" - -yn@3.1.1: - version "3.1.1" - resolved "https://registry.yarnpkg.com/yn/-/yn-3.1.1.tgz#1e87401a09d767c1d5eab26a6e4c185182d2eb50" - integrity sha512-Ux4ygGWsu2c7isFWe8Yu1YluJmqVhxqK2cLXNQA5AcC3QfbGNpM7fu0Y8b/z16pXLnFxZYvWhd3fhBY9DLmC6Q== - -yocto-queue@^0.1.0: - version "0.1.0" - resolved "https://registry.yarnpkg.com/yocto-queue/-/yocto-queue-0.1.0.tgz#0294eb3dee05028d31ee1a5fa2c556a6aaf10a1b" - integrity sha512-rVksvsnNCdJ/ohGc6xgPwyN8eheCxsiLM8mxuE/t/mOVqJewPuO1miLpTHQiRgTKCLexL4MeAFVagts7HmNZ2Q== - -zstddec@^0.1.0: - version "0.1.0" - resolved "https://registry.yarnpkg.com/zstddec/-/zstddec-0.1.0.tgz#7050f3f0e0c3978562d0c566b3e5a427d2bad7ec" - integrity sha512-w2NTI8+3l3eeltKAdK8QpiLo/flRAr2p8AGeakfMZOXBxOg9HIu4LVDxBi81sYgVhFhdJjv1OrB5ssI8uFPoLg== From b854b604e9b1a6d35c6b23ee606e96e985c2f798 Mon Sep 17 00:00:00 2001 From: The Anh Nguyen Date: Tue, 30 Jan 2024 08:59:20 +0700 Subject: [PATCH 13/23] remove logo assets --- .../trafficcontrol-scenes/src/img/logo.svg | 37 ------------------- .../trafficcontrol-scenes/src/plugin.json | 4 +- 2 files changed, 2 insertions(+), 39 deletions(-) delete mode 100644 infrastructure/cdn-in-a-box/optional/grafana/trafficcontrol-scenes/src/img/logo.svg diff --git a/infrastructure/cdn-in-a-box/optional/grafana/trafficcontrol-scenes/src/img/logo.svg b/infrastructure/cdn-in-a-box/optional/grafana/trafficcontrol-scenes/src/img/logo.svg deleted file mode 100644 index 9945f05024..0000000000 --- a/infrastructure/cdn-in-a-box/optional/grafana/trafficcontrol-scenes/src/img/logo.svg +++ /dev/null @@ -1,37 +0,0 @@ - - - - - Apache Traffic Control Logo - Logo with no text - - - - - - - - - diff --git a/infrastructure/cdn-in-a-box/optional/grafana/trafficcontrol-scenes/src/plugin.json b/infrastructure/cdn-in-a-box/optional/grafana/trafficcontrol-scenes/src/plugin.json index 1a1f5b92f7..792c45473b 100644 --- a/infrastructure/cdn-in-a-box/optional/grafana/trafficcontrol-scenes/src/plugin.json +++ b/infrastructure/cdn-in-a-box/optional/grafana/trafficcontrol-scenes/src/plugin.json @@ -13,8 +13,8 @@ "name": "ntheanh201" }, "logos": { - "small": "img/logo.svg", - "large": "img/logo.svg" + "small": "https://raw.githubusercontent.com/apache/trafficcontrol/master/misc/logos/ATC-SVG.svg", + "large": "https://raw.githubusercontent.com/apache/trafficcontrol/master/misc/logos/ATC-SVG.svg" }, "screenshots": [], "version": "%VERSION%", From 83c05dc447aacc5bfccbd20dba1e8389d33cec97 Mon Sep 17 00:00:00 2001 From: The Anh Nguyen Date: Thu, 1 Feb 2024 13:40:38 +0700 Subject: [PATCH 14/23] [WIP] update --- .../cdn-in-a-box/optional/grafana/Dockerfile | 2 -- infrastructure/cdn-in-a-box/traffic_stats/Dockerfile | 4 ++++ infrastructure/docker/build/Dockerfile-traffic_stats | 3 +++ infrastructure/docker/build/docker-compose.yml | 1 + traffic_stats/build/build_rpm.sh | 9 ++++++++- traffic_stats/build/traffic_stats.spec | 11 +++++++++++ .../trafficcontrol-scenes/.editorconfig | 0 .../trafficcontrol-scenes/.eslintrc.json | 0 .../trafficcontrol-scenes/.gitignore | 0 .../trafficcontrol-scenes/cypress.json | 0 .../cypress/integration/01-smoke.spec.ts | 0 .../trafficcontrol-scenes/jest-setup.js | 0 .../trafficcontrol-scenes/jest.config.js | 0 .../trafficcontrol-scenes/package.json | 0 .../trafficcontrol-scenes/src/components/App/App.tsx | 0 .../src/components/App/index.tsx | 0 .../src/components/Routes/Routes.tsx | 0 .../src/components/Routes/index.tsx | 0 .../trafficcontrol-scenes/src/const.ts | 0 .../trafficcontrol-scenes/src/module.ts | 0 .../src/pages/CacheGroup/CacheGroup.tsx | 0 .../src/pages/CacheGroup/index.tsx | 0 .../src/pages/CacheGroup/panels/bandwidth.tsx | 0 .../src/pages/CacheGroup/panels/connections.tsx | 0 .../src/pages/CacheGroup/scene.tsx | 0 .../src/pages/DeliveryService/DeliveryService.tsx | 0 .../src/pages/DeliveryService/index.tsx | 0 .../src/pages/DeliveryService/panels/bandwidth-cg.tsx | 0 .../src/pages/DeliveryService/panels/bandwidth.tsx | 0 .../src/pages/DeliveryService/panels/tps.tsx | 0 .../src/pages/DeliveryService/scene.tsx | 0 .../trafficcontrol-scenes/src/pages/Server/Server.tsx | 0 .../trafficcontrol-scenes/src/pages/Server/index.tsx | 0 .../src/pages/Server/panels/bandwidth.tsx | 0 .../src/pages/Server/panels/connections.tsx | 0 .../src/pages/Server/panels/cpu.tsx | 0 .../src/pages/Server/panels/index.tsx | 0 .../src/pages/Server/panels/load-average.tsx | 0 .../src/pages/Server/panels/memory.tsx | 0 .../src/pages/Server/panels/netstat.tsx | 0 .../src/pages/Server/panels/read-write-time.tsx | 0 .../src/pages/Server/panels/wrap-count.tsx | 0 .../trafficcontrol-scenes/src/pages/Server/scene.tsx | 0 .../trafficcontrol-scenes/src/plugin.json | 0 .../trafficcontrol-scenes/src/utils/utils.plugin.ts | 0 .../trafficcontrol-scenes/src/utils/utils.routing.ts | 0 .../trafficcontrol-scenes/tsconfig.json | 0 .../trafficcontrol-scenes/webpack/constants.ts | 0 .../trafficcontrol-scenes/webpack/utils.ts | 0 .../trafficcontrol-scenes/webpack/webpack.config.ts | 0 50 files changed, 27 insertions(+), 3 deletions(-) rename {infrastructure/cdn-in-a-box/optional/grafana => traffic_stats}/trafficcontrol-scenes/.editorconfig (100%) rename {infrastructure/cdn-in-a-box/optional/grafana => traffic_stats}/trafficcontrol-scenes/.eslintrc.json (100%) rename {infrastructure/cdn-in-a-box/optional/grafana => traffic_stats}/trafficcontrol-scenes/.gitignore (100%) rename {infrastructure/cdn-in-a-box/optional/grafana => traffic_stats}/trafficcontrol-scenes/cypress.json (100%) rename {infrastructure/cdn-in-a-box/optional/grafana => traffic_stats}/trafficcontrol-scenes/cypress/integration/01-smoke.spec.ts (100%) rename {infrastructure/cdn-in-a-box/optional/grafana => traffic_stats}/trafficcontrol-scenes/jest-setup.js (100%) rename {infrastructure/cdn-in-a-box/optional/grafana => traffic_stats}/trafficcontrol-scenes/jest.config.js (100%) rename {infrastructure/cdn-in-a-box/optional/grafana => traffic_stats}/trafficcontrol-scenes/package.json (100%) rename {infrastructure/cdn-in-a-box/optional/grafana => traffic_stats}/trafficcontrol-scenes/src/components/App/App.tsx (100%) rename {infrastructure/cdn-in-a-box/optional/grafana => traffic_stats}/trafficcontrol-scenes/src/components/App/index.tsx (100%) rename {infrastructure/cdn-in-a-box/optional/grafana => traffic_stats}/trafficcontrol-scenes/src/components/Routes/Routes.tsx (100%) rename {infrastructure/cdn-in-a-box/optional/grafana => traffic_stats}/trafficcontrol-scenes/src/components/Routes/index.tsx (100%) rename {infrastructure/cdn-in-a-box/optional/grafana => traffic_stats}/trafficcontrol-scenes/src/const.ts (100%) rename {infrastructure/cdn-in-a-box/optional/grafana => traffic_stats}/trafficcontrol-scenes/src/module.ts (100%) rename {infrastructure/cdn-in-a-box/optional/grafana => traffic_stats}/trafficcontrol-scenes/src/pages/CacheGroup/CacheGroup.tsx (100%) rename {infrastructure/cdn-in-a-box/optional/grafana => traffic_stats}/trafficcontrol-scenes/src/pages/CacheGroup/index.tsx (100%) rename {infrastructure/cdn-in-a-box/optional/grafana => traffic_stats}/trafficcontrol-scenes/src/pages/CacheGroup/panels/bandwidth.tsx (100%) rename {infrastructure/cdn-in-a-box/optional/grafana => traffic_stats}/trafficcontrol-scenes/src/pages/CacheGroup/panels/connections.tsx (100%) rename {infrastructure/cdn-in-a-box/optional/grafana => traffic_stats}/trafficcontrol-scenes/src/pages/CacheGroup/scene.tsx (100%) rename {infrastructure/cdn-in-a-box/optional/grafana => traffic_stats}/trafficcontrol-scenes/src/pages/DeliveryService/DeliveryService.tsx (100%) rename {infrastructure/cdn-in-a-box/optional/grafana => traffic_stats}/trafficcontrol-scenes/src/pages/DeliveryService/index.tsx (100%) rename {infrastructure/cdn-in-a-box/optional/grafana => traffic_stats}/trafficcontrol-scenes/src/pages/DeliveryService/panels/bandwidth-cg.tsx (100%) rename {infrastructure/cdn-in-a-box/optional/grafana => traffic_stats}/trafficcontrol-scenes/src/pages/DeliveryService/panels/bandwidth.tsx (100%) rename {infrastructure/cdn-in-a-box/optional/grafana => traffic_stats}/trafficcontrol-scenes/src/pages/DeliveryService/panels/tps.tsx (100%) rename {infrastructure/cdn-in-a-box/optional/grafana => traffic_stats}/trafficcontrol-scenes/src/pages/DeliveryService/scene.tsx (100%) rename {infrastructure/cdn-in-a-box/optional/grafana => traffic_stats}/trafficcontrol-scenes/src/pages/Server/Server.tsx (100%) rename {infrastructure/cdn-in-a-box/optional/grafana => traffic_stats}/trafficcontrol-scenes/src/pages/Server/index.tsx (100%) rename {infrastructure/cdn-in-a-box/optional/grafana => traffic_stats}/trafficcontrol-scenes/src/pages/Server/panels/bandwidth.tsx (100%) rename {infrastructure/cdn-in-a-box/optional/grafana => traffic_stats}/trafficcontrol-scenes/src/pages/Server/panels/connections.tsx (100%) rename {infrastructure/cdn-in-a-box/optional/grafana => traffic_stats}/trafficcontrol-scenes/src/pages/Server/panels/cpu.tsx (100%) rename {infrastructure/cdn-in-a-box/optional/grafana => traffic_stats}/trafficcontrol-scenes/src/pages/Server/panels/index.tsx (100%) rename {infrastructure/cdn-in-a-box/optional/grafana => traffic_stats}/trafficcontrol-scenes/src/pages/Server/panels/load-average.tsx (100%) rename {infrastructure/cdn-in-a-box/optional/grafana => traffic_stats}/trafficcontrol-scenes/src/pages/Server/panels/memory.tsx (100%) rename {infrastructure/cdn-in-a-box/optional/grafana => traffic_stats}/trafficcontrol-scenes/src/pages/Server/panels/netstat.tsx (100%) rename {infrastructure/cdn-in-a-box/optional/grafana => traffic_stats}/trafficcontrol-scenes/src/pages/Server/panels/read-write-time.tsx (100%) rename {infrastructure/cdn-in-a-box/optional/grafana => traffic_stats}/trafficcontrol-scenes/src/pages/Server/panels/wrap-count.tsx (100%) rename {infrastructure/cdn-in-a-box/optional/grafana => traffic_stats}/trafficcontrol-scenes/src/pages/Server/scene.tsx (100%) rename {infrastructure/cdn-in-a-box/optional/grafana => traffic_stats}/trafficcontrol-scenes/src/plugin.json (100%) rename {infrastructure/cdn-in-a-box/optional/grafana => traffic_stats}/trafficcontrol-scenes/src/utils/utils.plugin.ts (100%) rename {infrastructure/cdn-in-a-box/optional/grafana => traffic_stats}/trafficcontrol-scenes/src/utils/utils.routing.ts (100%) rename {infrastructure/cdn-in-a-box/optional/grafana => traffic_stats}/trafficcontrol-scenes/tsconfig.json (100%) rename {infrastructure/cdn-in-a-box/optional/grafana => traffic_stats}/trafficcontrol-scenes/webpack/constants.ts (100%) rename {infrastructure/cdn-in-a-box/optional/grafana => traffic_stats}/trafficcontrol-scenes/webpack/utils.ts (100%) rename {infrastructure/cdn-in-a-box/optional/grafana => traffic_stats}/trafficcontrol-scenes/webpack/webpack.config.ts (100%) diff --git a/infrastructure/cdn-in-a-box/optional/grafana/Dockerfile b/infrastructure/cdn-in-a-box/optional/grafana/Dockerfile index 80aad8c5aa..1f2677508c 100644 --- a/infrastructure/cdn-in-a-box/optional/grafana/Dockerfile +++ b/infrastructure/cdn-in-a-box/optional/grafana/Dockerfile @@ -25,8 +25,6 @@ RUN npm install COPY optional/grafana/trafficcontrol-scenes/ ./ -# COPY ../../misc/logos/ATC-PNG.png ./img/logo-atc.svg - RUN npm run build FROM grafana/grafana:10.2.3-ubuntu diff --git a/infrastructure/cdn-in-a-box/traffic_stats/Dockerfile b/infrastructure/cdn-in-a-box/traffic_stats/Dockerfile index fe9984975b..d1fd482455 100644 --- a/infrastructure/cdn-in-a-box/traffic_stats/Dockerfile +++ b/infrastructure/cdn-in-a-box/traffic_stats/Dockerfile @@ -29,9 +29,13 @@ RUN if [[ "${RHEL_VERSION%%.*}" -eq 7 ]]; then \ yum -y install dnf || exit 1; \ fi +RUN set -o pipefail && \ + curl -sLf https://rpm.nodesource.com/setup_16.x | bash + RUN dnf install -y epel-release && \ dnf install -y \ jq \ + nodejs \ nmap-ncat \ net-tools \ # find is required by to-access.sh diff --git a/infrastructure/docker/build/Dockerfile-traffic_stats b/infrastructure/docker/build/Dockerfile-traffic_stats index 8b946d33c5..655c1d5a2a 100644 --- a/infrastructure/docker/build/Dockerfile-traffic_stats +++ b/infrastructure/docker/build/Dockerfile-traffic_stats @@ -42,6 +42,9 @@ RUN rpm --import /etc/pki/rpm-gpg/RPM-GPG-KEY-* && \ ### traffic_stats specific requirements FROM common-dependencies AS traffic-stats +RUN curl -sL https://rpm.nodesource.com/setup_20.x | bash - && \ + yum -y install nodejs + COPY GO_VERSION / RUN set -o nounset -o errexit; \ rpm_arch="$(rpm --eval %_arch)" && \ diff --git a/infrastructure/docker/build/docker-compose.yml b/infrastructure/docker/build/docker-compose.yml index bb90601f71..aefc90dc3c 100644 --- a/infrastructure/docker/build/docker-compose.yml +++ b/infrastructure/docker/build/docker-compose.yml @@ -167,6 +167,7 @@ services: - linux/arm64 volumes: - ../../..:/trafficcontrol:z + - ../../../.npm:/root/.npm:z grove_build: image: apache/traffic_grove_builder:master diff --git a/traffic_stats/build/build_rpm.sh b/traffic_stats/build/build_rpm.sh index 54f5d5c62f..d96952aec1 100755 --- a/traffic_stats/build/build_rpm.sh +++ b/traffic_stats/build/build_rpm.sh @@ -78,6 +78,13 @@ initBuildArea() { go build -v -gcflags "$gcflags" -ldflags "$ldflags" create/create_ts_databases.go || \ { echo "Could not build create_ts_databases binary"; return 1; }) + # compile trafficcontrol-scenes + echo "Installing npm dependencies" + (cd trafficcontrol-scenes + npm i || \ + { echo "Could not install packages from $TS_DIR/trafficcontrol-scenes: $?"; return 1; } + ) + rsync -aLv ./ "$ts_dest"/ || \ { echo "Could not copy to $ts_dest: $?"; return 1; } cp "$TS_DIR"/build/*.spec "$RPMBUILD"/SPECS/. || \ @@ -103,6 +110,6 @@ preBuildChecks() { importFunctions preBuildChecks -checkEnvironment -i go,rsync +checkEnvironment -i npm,go,rsync initBuildArea buildRpm traffic_stats diff --git a/traffic_stats/build/traffic_stats.spec b/traffic_stats/build/traffic_stats.spec index 44a3bc136a..7fce4bc146 100644 --- a/traffic_stats/build/traffic_stats.spec +++ b/traffic_stats/build/traffic_stats.spec @@ -25,6 +25,8 @@ Group: Applications/Communications License: Apache License, Version 2.0 URL: https://github.com/apache/trafficcontrol Source: %{_sourcedir}/traffic_stats-%{traffic_control_version}.tgz +AutoReqProv: no +Requires: nodejs >= 20.0.0 %description Installs traffic_stats which performs the follwing functions: @@ -50,6 +52,10 @@ godir=src/github.com/apache/trafficcontrol/traffic_stats/influxdb_tools cp -R "$TC_DIR"/traffic_stats/influxdb_tools/* . ) || { echo "Could not copy go program at $(pwd): $!"; exit 1; } +# build trafficcontrol-scenes +cd ${$TC_DIR}/traffic_stats/trafficcontrol-scenes +npm run build + %install mkdir -p "${RPM_BUILD_ROOT}"/opt/traffic_stats mkdir -p "${RPM_BUILD_ROOT}"/opt/traffic_stats/bin @@ -60,6 +66,8 @@ mkdir -p "${RPM_BUILD_ROOT}"/opt/traffic_stats/var/run mkdir -p "${RPM_BUILD_ROOT}"/opt/traffic_stats/var/log/traffic_stats mkdir -p "${RPM_BUILD_ROOT}"/etc/init.d mkdir -p "${RPM_BUILD_ROOT}"/etc/logrotate.d +mkdir -p "${RPM_BUILD_ROOT}"/opt/traffic_stats/trafficcontrol-scenes-app/node_modules +mkdir -p "${RPM_BUILD_ROOT}"/var/lib/grafana/plugins/trafficcontrol-scenes-app src=src/github.com/apache/trafficcontrol/traffic_stats cp -p "$src"/traffic_stats "${RPM_BUILD_ROOT}"/opt/traffic_stats/bin/traffic_stats @@ -67,6 +75,7 @@ cp "$src"/traffic_stats.cfg "${RPM_BUILD_ROOT}"/opt/traffic_stats/conf/tr cp "$src"/traffic_stats_seelog.xml "${RPM_BUILD_ROOT}"/opt/traffic_stats/conf/traffic_stats_seelog.xml cp "$src"/traffic_stats.init "${RPM_BUILD_ROOT}"/etc/init.d/traffic_stats cp "$src"/traffic_stats.logrotate "${RPM_BUILD_ROOT}"/etc/logrotate.d/traffic_stats +cp -r "$src"/trafficcontrol-scenes/dist/* "${RPM_BUILD_ROOT}"/var/lib/grafana/plugins/trafficcontrol-scenes-app/ cp "$src"/influxdb_tools/sync_ts_databases "${RPM_BUILD_ROOT}"/opt/traffic_stats/influxdb_tools/ cp "$src"/influxdb_tools/create_ts_databases "${RPM_BUILD_ROOT}"/opt/traffic_stats/influxdb_tools/ @@ -123,10 +132,12 @@ fi %dir /opt/traffic_stats/var/log %dir /opt/traffic_stats/var/run %dir /opt/traffic_stats/var/log/traffic_stats +%dir /var/lib/grafana/plugins/trafficcontrol-scenes-app %dir /opt/traffic_stats/influxdb_tools %attr(755, traffic_stats, traffic_stats) /opt/traffic_stats/bin/traffic_stats %attr(755, traffic_stats, traffic_stats) /etc/init.d/traffic_stats +%attr(644, traffic_stats, traffic_stats) /var/lib/grafana/plugins/trafficcontrol-scenes-app %attr(755, traffic_stats, traffic_stats) /opt/traffic_stats/influxdb_tools/create_ts_databases %attr(755, traffic_stats, traffic_stats) /opt/traffic_stats/influxdb_tools/sync_ts_databases diff --git a/infrastructure/cdn-in-a-box/optional/grafana/trafficcontrol-scenes/.editorconfig b/traffic_stats/trafficcontrol-scenes/.editorconfig similarity index 100% rename from infrastructure/cdn-in-a-box/optional/grafana/trafficcontrol-scenes/.editorconfig rename to traffic_stats/trafficcontrol-scenes/.editorconfig diff --git a/infrastructure/cdn-in-a-box/optional/grafana/trafficcontrol-scenes/.eslintrc.json b/traffic_stats/trafficcontrol-scenes/.eslintrc.json similarity index 100% rename from infrastructure/cdn-in-a-box/optional/grafana/trafficcontrol-scenes/.eslintrc.json rename to traffic_stats/trafficcontrol-scenes/.eslintrc.json diff --git a/infrastructure/cdn-in-a-box/optional/grafana/trafficcontrol-scenes/.gitignore b/traffic_stats/trafficcontrol-scenes/.gitignore similarity index 100% rename from infrastructure/cdn-in-a-box/optional/grafana/trafficcontrol-scenes/.gitignore rename to traffic_stats/trafficcontrol-scenes/.gitignore diff --git a/infrastructure/cdn-in-a-box/optional/grafana/trafficcontrol-scenes/cypress.json b/traffic_stats/trafficcontrol-scenes/cypress.json similarity index 100% rename from infrastructure/cdn-in-a-box/optional/grafana/trafficcontrol-scenes/cypress.json rename to traffic_stats/trafficcontrol-scenes/cypress.json diff --git a/infrastructure/cdn-in-a-box/optional/grafana/trafficcontrol-scenes/cypress/integration/01-smoke.spec.ts b/traffic_stats/trafficcontrol-scenes/cypress/integration/01-smoke.spec.ts similarity index 100% rename from infrastructure/cdn-in-a-box/optional/grafana/trafficcontrol-scenes/cypress/integration/01-smoke.spec.ts rename to traffic_stats/trafficcontrol-scenes/cypress/integration/01-smoke.spec.ts diff --git a/infrastructure/cdn-in-a-box/optional/grafana/trafficcontrol-scenes/jest-setup.js b/traffic_stats/trafficcontrol-scenes/jest-setup.js similarity index 100% rename from infrastructure/cdn-in-a-box/optional/grafana/trafficcontrol-scenes/jest-setup.js rename to traffic_stats/trafficcontrol-scenes/jest-setup.js diff --git a/infrastructure/cdn-in-a-box/optional/grafana/trafficcontrol-scenes/jest.config.js b/traffic_stats/trafficcontrol-scenes/jest.config.js similarity index 100% rename from infrastructure/cdn-in-a-box/optional/grafana/trafficcontrol-scenes/jest.config.js rename to traffic_stats/trafficcontrol-scenes/jest.config.js diff --git a/infrastructure/cdn-in-a-box/optional/grafana/trafficcontrol-scenes/package.json b/traffic_stats/trafficcontrol-scenes/package.json similarity index 100% rename from infrastructure/cdn-in-a-box/optional/grafana/trafficcontrol-scenes/package.json rename to traffic_stats/trafficcontrol-scenes/package.json diff --git a/infrastructure/cdn-in-a-box/optional/grafana/trafficcontrol-scenes/src/components/App/App.tsx b/traffic_stats/trafficcontrol-scenes/src/components/App/App.tsx similarity index 100% rename from infrastructure/cdn-in-a-box/optional/grafana/trafficcontrol-scenes/src/components/App/App.tsx rename to traffic_stats/trafficcontrol-scenes/src/components/App/App.tsx diff --git a/infrastructure/cdn-in-a-box/optional/grafana/trafficcontrol-scenes/src/components/App/index.tsx b/traffic_stats/trafficcontrol-scenes/src/components/App/index.tsx similarity index 100% rename from infrastructure/cdn-in-a-box/optional/grafana/trafficcontrol-scenes/src/components/App/index.tsx rename to traffic_stats/trafficcontrol-scenes/src/components/App/index.tsx diff --git a/infrastructure/cdn-in-a-box/optional/grafana/trafficcontrol-scenes/src/components/Routes/Routes.tsx b/traffic_stats/trafficcontrol-scenes/src/components/Routes/Routes.tsx similarity index 100% rename from infrastructure/cdn-in-a-box/optional/grafana/trafficcontrol-scenes/src/components/Routes/Routes.tsx rename to traffic_stats/trafficcontrol-scenes/src/components/Routes/Routes.tsx diff --git a/infrastructure/cdn-in-a-box/optional/grafana/trafficcontrol-scenes/src/components/Routes/index.tsx b/traffic_stats/trafficcontrol-scenes/src/components/Routes/index.tsx similarity index 100% rename from infrastructure/cdn-in-a-box/optional/grafana/trafficcontrol-scenes/src/components/Routes/index.tsx rename to traffic_stats/trafficcontrol-scenes/src/components/Routes/index.tsx diff --git a/infrastructure/cdn-in-a-box/optional/grafana/trafficcontrol-scenes/src/const.ts b/traffic_stats/trafficcontrol-scenes/src/const.ts similarity index 100% rename from infrastructure/cdn-in-a-box/optional/grafana/trafficcontrol-scenes/src/const.ts rename to traffic_stats/trafficcontrol-scenes/src/const.ts diff --git a/infrastructure/cdn-in-a-box/optional/grafana/trafficcontrol-scenes/src/module.ts b/traffic_stats/trafficcontrol-scenes/src/module.ts similarity index 100% rename from infrastructure/cdn-in-a-box/optional/grafana/trafficcontrol-scenes/src/module.ts rename to traffic_stats/trafficcontrol-scenes/src/module.ts diff --git a/infrastructure/cdn-in-a-box/optional/grafana/trafficcontrol-scenes/src/pages/CacheGroup/CacheGroup.tsx b/traffic_stats/trafficcontrol-scenes/src/pages/CacheGroup/CacheGroup.tsx similarity index 100% rename from infrastructure/cdn-in-a-box/optional/grafana/trafficcontrol-scenes/src/pages/CacheGroup/CacheGroup.tsx rename to traffic_stats/trafficcontrol-scenes/src/pages/CacheGroup/CacheGroup.tsx diff --git a/infrastructure/cdn-in-a-box/optional/grafana/trafficcontrol-scenes/src/pages/CacheGroup/index.tsx b/traffic_stats/trafficcontrol-scenes/src/pages/CacheGroup/index.tsx similarity index 100% rename from infrastructure/cdn-in-a-box/optional/grafana/trafficcontrol-scenes/src/pages/CacheGroup/index.tsx rename to traffic_stats/trafficcontrol-scenes/src/pages/CacheGroup/index.tsx diff --git a/infrastructure/cdn-in-a-box/optional/grafana/trafficcontrol-scenes/src/pages/CacheGroup/panels/bandwidth.tsx b/traffic_stats/trafficcontrol-scenes/src/pages/CacheGroup/panels/bandwidth.tsx similarity index 100% rename from infrastructure/cdn-in-a-box/optional/grafana/trafficcontrol-scenes/src/pages/CacheGroup/panels/bandwidth.tsx rename to traffic_stats/trafficcontrol-scenes/src/pages/CacheGroup/panels/bandwidth.tsx diff --git a/infrastructure/cdn-in-a-box/optional/grafana/trafficcontrol-scenes/src/pages/CacheGroup/panels/connections.tsx b/traffic_stats/trafficcontrol-scenes/src/pages/CacheGroup/panels/connections.tsx similarity index 100% rename from infrastructure/cdn-in-a-box/optional/grafana/trafficcontrol-scenes/src/pages/CacheGroup/panels/connections.tsx rename to traffic_stats/trafficcontrol-scenes/src/pages/CacheGroup/panels/connections.tsx diff --git a/infrastructure/cdn-in-a-box/optional/grafana/trafficcontrol-scenes/src/pages/CacheGroup/scene.tsx b/traffic_stats/trafficcontrol-scenes/src/pages/CacheGroup/scene.tsx similarity index 100% rename from infrastructure/cdn-in-a-box/optional/grafana/trafficcontrol-scenes/src/pages/CacheGroup/scene.tsx rename to traffic_stats/trafficcontrol-scenes/src/pages/CacheGroup/scene.tsx diff --git a/infrastructure/cdn-in-a-box/optional/grafana/trafficcontrol-scenes/src/pages/DeliveryService/DeliveryService.tsx b/traffic_stats/trafficcontrol-scenes/src/pages/DeliveryService/DeliveryService.tsx similarity index 100% rename from infrastructure/cdn-in-a-box/optional/grafana/trafficcontrol-scenes/src/pages/DeliveryService/DeliveryService.tsx rename to traffic_stats/trafficcontrol-scenes/src/pages/DeliveryService/DeliveryService.tsx diff --git a/infrastructure/cdn-in-a-box/optional/grafana/trafficcontrol-scenes/src/pages/DeliveryService/index.tsx b/traffic_stats/trafficcontrol-scenes/src/pages/DeliveryService/index.tsx similarity index 100% rename from infrastructure/cdn-in-a-box/optional/grafana/trafficcontrol-scenes/src/pages/DeliveryService/index.tsx rename to traffic_stats/trafficcontrol-scenes/src/pages/DeliveryService/index.tsx diff --git a/infrastructure/cdn-in-a-box/optional/grafana/trafficcontrol-scenes/src/pages/DeliveryService/panels/bandwidth-cg.tsx b/traffic_stats/trafficcontrol-scenes/src/pages/DeliveryService/panels/bandwidth-cg.tsx similarity index 100% rename from infrastructure/cdn-in-a-box/optional/grafana/trafficcontrol-scenes/src/pages/DeliveryService/panels/bandwidth-cg.tsx rename to traffic_stats/trafficcontrol-scenes/src/pages/DeliveryService/panels/bandwidth-cg.tsx diff --git a/infrastructure/cdn-in-a-box/optional/grafana/trafficcontrol-scenes/src/pages/DeliveryService/panels/bandwidth.tsx b/traffic_stats/trafficcontrol-scenes/src/pages/DeliveryService/panels/bandwidth.tsx similarity index 100% rename from infrastructure/cdn-in-a-box/optional/grafana/trafficcontrol-scenes/src/pages/DeliveryService/panels/bandwidth.tsx rename to traffic_stats/trafficcontrol-scenes/src/pages/DeliveryService/panels/bandwidth.tsx diff --git a/infrastructure/cdn-in-a-box/optional/grafana/trafficcontrol-scenes/src/pages/DeliveryService/panels/tps.tsx b/traffic_stats/trafficcontrol-scenes/src/pages/DeliveryService/panels/tps.tsx similarity index 100% rename from infrastructure/cdn-in-a-box/optional/grafana/trafficcontrol-scenes/src/pages/DeliveryService/panels/tps.tsx rename to traffic_stats/trafficcontrol-scenes/src/pages/DeliveryService/panels/tps.tsx diff --git a/infrastructure/cdn-in-a-box/optional/grafana/trafficcontrol-scenes/src/pages/DeliveryService/scene.tsx b/traffic_stats/trafficcontrol-scenes/src/pages/DeliveryService/scene.tsx similarity index 100% rename from infrastructure/cdn-in-a-box/optional/grafana/trafficcontrol-scenes/src/pages/DeliveryService/scene.tsx rename to traffic_stats/trafficcontrol-scenes/src/pages/DeliveryService/scene.tsx diff --git a/infrastructure/cdn-in-a-box/optional/grafana/trafficcontrol-scenes/src/pages/Server/Server.tsx b/traffic_stats/trafficcontrol-scenes/src/pages/Server/Server.tsx similarity index 100% rename from infrastructure/cdn-in-a-box/optional/grafana/trafficcontrol-scenes/src/pages/Server/Server.tsx rename to traffic_stats/trafficcontrol-scenes/src/pages/Server/Server.tsx diff --git a/infrastructure/cdn-in-a-box/optional/grafana/trafficcontrol-scenes/src/pages/Server/index.tsx b/traffic_stats/trafficcontrol-scenes/src/pages/Server/index.tsx similarity index 100% rename from infrastructure/cdn-in-a-box/optional/grafana/trafficcontrol-scenes/src/pages/Server/index.tsx rename to traffic_stats/trafficcontrol-scenes/src/pages/Server/index.tsx diff --git a/infrastructure/cdn-in-a-box/optional/grafana/trafficcontrol-scenes/src/pages/Server/panels/bandwidth.tsx b/traffic_stats/trafficcontrol-scenes/src/pages/Server/panels/bandwidth.tsx similarity index 100% rename from infrastructure/cdn-in-a-box/optional/grafana/trafficcontrol-scenes/src/pages/Server/panels/bandwidth.tsx rename to traffic_stats/trafficcontrol-scenes/src/pages/Server/panels/bandwidth.tsx diff --git a/infrastructure/cdn-in-a-box/optional/grafana/trafficcontrol-scenes/src/pages/Server/panels/connections.tsx b/traffic_stats/trafficcontrol-scenes/src/pages/Server/panels/connections.tsx similarity index 100% rename from infrastructure/cdn-in-a-box/optional/grafana/trafficcontrol-scenes/src/pages/Server/panels/connections.tsx rename to traffic_stats/trafficcontrol-scenes/src/pages/Server/panels/connections.tsx diff --git a/infrastructure/cdn-in-a-box/optional/grafana/trafficcontrol-scenes/src/pages/Server/panels/cpu.tsx b/traffic_stats/trafficcontrol-scenes/src/pages/Server/panels/cpu.tsx similarity index 100% rename from infrastructure/cdn-in-a-box/optional/grafana/trafficcontrol-scenes/src/pages/Server/panels/cpu.tsx rename to traffic_stats/trafficcontrol-scenes/src/pages/Server/panels/cpu.tsx diff --git a/infrastructure/cdn-in-a-box/optional/grafana/trafficcontrol-scenes/src/pages/Server/panels/index.tsx b/traffic_stats/trafficcontrol-scenes/src/pages/Server/panels/index.tsx similarity index 100% rename from infrastructure/cdn-in-a-box/optional/grafana/trafficcontrol-scenes/src/pages/Server/panels/index.tsx rename to traffic_stats/trafficcontrol-scenes/src/pages/Server/panels/index.tsx diff --git a/infrastructure/cdn-in-a-box/optional/grafana/trafficcontrol-scenes/src/pages/Server/panels/load-average.tsx b/traffic_stats/trafficcontrol-scenes/src/pages/Server/panels/load-average.tsx similarity index 100% rename from infrastructure/cdn-in-a-box/optional/grafana/trafficcontrol-scenes/src/pages/Server/panels/load-average.tsx rename to traffic_stats/trafficcontrol-scenes/src/pages/Server/panels/load-average.tsx diff --git a/infrastructure/cdn-in-a-box/optional/grafana/trafficcontrol-scenes/src/pages/Server/panels/memory.tsx b/traffic_stats/trafficcontrol-scenes/src/pages/Server/panels/memory.tsx similarity index 100% rename from infrastructure/cdn-in-a-box/optional/grafana/trafficcontrol-scenes/src/pages/Server/panels/memory.tsx rename to traffic_stats/trafficcontrol-scenes/src/pages/Server/panels/memory.tsx diff --git a/infrastructure/cdn-in-a-box/optional/grafana/trafficcontrol-scenes/src/pages/Server/panels/netstat.tsx b/traffic_stats/trafficcontrol-scenes/src/pages/Server/panels/netstat.tsx similarity index 100% rename from infrastructure/cdn-in-a-box/optional/grafana/trafficcontrol-scenes/src/pages/Server/panels/netstat.tsx rename to traffic_stats/trafficcontrol-scenes/src/pages/Server/panels/netstat.tsx diff --git a/infrastructure/cdn-in-a-box/optional/grafana/trafficcontrol-scenes/src/pages/Server/panels/read-write-time.tsx b/traffic_stats/trafficcontrol-scenes/src/pages/Server/panels/read-write-time.tsx similarity index 100% rename from infrastructure/cdn-in-a-box/optional/grafana/trafficcontrol-scenes/src/pages/Server/panels/read-write-time.tsx rename to traffic_stats/trafficcontrol-scenes/src/pages/Server/panels/read-write-time.tsx diff --git a/infrastructure/cdn-in-a-box/optional/grafana/trafficcontrol-scenes/src/pages/Server/panels/wrap-count.tsx b/traffic_stats/trafficcontrol-scenes/src/pages/Server/panels/wrap-count.tsx similarity index 100% rename from infrastructure/cdn-in-a-box/optional/grafana/trafficcontrol-scenes/src/pages/Server/panels/wrap-count.tsx rename to traffic_stats/trafficcontrol-scenes/src/pages/Server/panels/wrap-count.tsx diff --git a/infrastructure/cdn-in-a-box/optional/grafana/trafficcontrol-scenes/src/pages/Server/scene.tsx b/traffic_stats/trafficcontrol-scenes/src/pages/Server/scene.tsx similarity index 100% rename from infrastructure/cdn-in-a-box/optional/grafana/trafficcontrol-scenes/src/pages/Server/scene.tsx rename to traffic_stats/trafficcontrol-scenes/src/pages/Server/scene.tsx diff --git a/infrastructure/cdn-in-a-box/optional/grafana/trafficcontrol-scenes/src/plugin.json b/traffic_stats/trafficcontrol-scenes/src/plugin.json similarity index 100% rename from infrastructure/cdn-in-a-box/optional/grafana/trafficcontrol-scenes/src/plugin.json rename to traffic_stats/trafficcontrol-scenes/src/plugin.json diff --git a/infrastructure/cdn-in-a-box/optional/grafana/trafficcontrol-scenes/src/utils/utils.plugin.ts b/traffic_stats/trafficcontrol-scenes/src/utils/utils.plugin.ts similarity index 100% rename from infrastructure/cdn-in-a-box/optional/grafana/trafficcontrol-scenes/src/utils/utils.plugin.ts rename to traffic_stats/trafficcontrol-scenes/src/utils/utils.plugin.ts diff --git a/infrastructure/cdn-in-a-box/optional/grafana/trafficcontrol-scenes/src/utils/utils.routing.ts b/traffic_stats/trafficcontrol-scenes/src/utils/utils.routing.ts similarity index 100% rename from infrastructure/cdn-in-a-box/optional/grafana/trafficcontrol-scenes/src/utils/utils.routing.ts rename to traffic_stats/trafficcontrol-scenes/src/utils/utils.routing.ts diff --git a/infrastructure/cdn-in-a-box/optional/grafana/trafficcontrol-scenes/tsconfig.json b/traffic_stats/trafficcontrol-scenes/tsconfig.json similarity index 100% rename from infrastructure/cdn-in-a-box/optional/grafana/trafficcontrol-scenes/tsconfig.json rename to traffic_stats/trafficcontrol-scenes/tsconfig.json diff --git a/infrastructure/cdn-in-a-box/optional/grafana/trafficcontrol-scenes/webpack/constants.ts b/traffic_stats/trafficcontrol-scenes/webpack/constants.ts similarity index 100% rename from infrastructure/cdn-in-a-box/optional/grafana/trafficcontrol-scenes/webpack/constants.ts rename to traffic_stats/trafficcontrol-scenes/webpack/constants.ts diff --git a/infrastructure/cdn-in-a-box/optional/grafana/trafficcontrol-scenes/webpack/utils.ts b/traffic_stats/trafficcontrol-scenes/webpack/utils.ts similarity index 100% rename from infrastructure/cdn-in-a-box/optional/grafana/trafficcontrol-scenes/webpack/utils.ts rename to traffic_stats/trafficcontrol-scenes/webpack/utils.ts diff --git a/infrastructure/cdn-in-a-box/optional/grafana/trafficcontrol-scenes/webpack/webpack.config.ts b/traffic_stats/trafficcontrol-scenes/webpack/webpack.config.ts similarity index 100% rename from infrastructure/cdn-in-a-box/optional/grafana/trafficcontrol-scenes/webpack/webpack.config.ts rename to traffic_stats/trafficcontrol-scenes/webpack/webpack.config.ts From 47b7fc6b726710f949a368605855aaa1ee08848e Mon Sep 17 00:00:00 2001 From: The Anh Nguyen Date: Fri, 2 Feb 2024 15:14:04 +0700 Subject: [PATCH 15/23] update specs traffic stats --- traffic_stats/build/traffic_stats.spec | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/traffic_stats/build/traffic_stats.spec b/traffic_stats/build/traffic_stats.spec index 7fce4bc146..f57128dd37 100644 --- a/traffic_stats/build/traffic_stats.spec +++ b/traffic_stats/build/traffic_stats.spec @@ -53,8 +53,11 @@ godir=src/github.com/apache/trafficcontrol/traffic_stats/influxdb_tools ) || { echo "Could not copy go program at $(pwd): $!"; exit 1; } # build trafficcontrol-scenes -cd ${$TC_DIR}/traffic_stats/trafficcontrol-scenes -npm run build +scenesdir=src/github.com/apache/trafficcontrol/traffic_stats/trafficcontrol-scenes +( mkdir -p "$scenesdir" && \ + cd "$scenesdir" && \ + npm run build +) || { echo "Could not copy trafficcontrol-scenes at $(pwd): $!"; exit 1; } %install mkdir -p "${RPM_BUILD_ROOT}"/opt/traffic_stats @@ -66,7 +69,6 @@ mkdir -p "${RPM_BUILD_ROOT}"/opt/traffic_stats/var/run mkdir -p "${RPM_BUILD_ROOT}"/opt/traffic_stats/var/log/traffic_stats mkdir -p "${RPM_BUILD_ROOT}"/etc/init.d mkdir -p "${RPM_BUILD_ROOT}"/etc/logrotate.d -mkdir -p "${RPM_BUILD_ROOT}"/opt/traffic_stats/trafficcontrol-scenes-app/node_modules mkdir -p "${RPM_BUILD_ROOT}"/var/lib/grafana/plugins/trafficcontrol-scenes-app src=src/github.com/apache/trafficcontrol/traffic_stats From 487b238a40c597f187e560c9cfa7d4d2812fdbde Mon Sep 17 00:00:00 2001 From: The Anh Nguyen Date: Fri, 2 Feb 2024 18:27:25 +0700 Subject: [PATCH 16/23] add built files of Grana Scenes into Grafana CiaB --- .../cdn-in-a-box/optional/grafana/Dockerfile | 18 +++--------------- .../cdn-in-a-box/traffic_stats/Dockerfile | 4 ---- 2 files changed, 3 insertions(+), 19 deletions(-) diff --git a/infrastructure/cdn-in-a-box/optional/grafana/Dockerfile b/infrastructure/cdn-in-a-box/optional/grafana/Dockerfile index 1f2677508c..09a984d1f4 100644 --- a/infrastructure/cdn-in-a-box/optional/grafana/Dockerfile +++ b/infrastructure/cdn-in-a-box/optional/grafana/Dockerfile @@ -15,18 +15,6 @@ # specific language governing permissions and limitations # under the License. -FROM node:16-alpine as plugin-build-stage - -WORKDIR /app - -COPY optional/grafana/trafficcontrol-scenes/package*.json ./ - -RUN npm install - -COPY optional/grafana/trafficcontrol-scenes/ ./ - -RUN npm run build - FROM grafana/grafana:10.2.3-ubuntu USER root @@ -46,7 +34,9 @@ ADD enroller/server_template.json \ RUN cd ~ \ && 7z x /traffic_stats.rpm \ - && 7z e traffic_stats-*.cpio *.js -r \ + && 7z e traffic_stats-*.cpio module.js plugin.json module.js.map -r \ + && mkdir -p /var/lib/grafana/plugins/trafficcontrol-scenes-app/ \ + && mv plugin.json module.js.map module.js /var/lib/grafana/plugins/trafficcontrol-scenes-app/ \ && rm /traffic_stats.rpm \ && rm ~/traffic_stats-*.cpio @@ -54,7 +44,5 @@ COPY dns/set-dns.sh \ dns/insert-self-into-dns.sh \ /usr/local/sbin/ -COPY --from=plugin-build-stage /app/dist /var/lib/grafana/plugins/trafficcontrol-scenes-app - ENTRYPOINT [ "/run-grafana.sh" ] EXPOSE 443 diff --git a/infrastructure/cdn-in-a-box/traffic_stats/Dockerfile b/infrastructure/cdn-in-a-box/traffic_stats/Dockerfile index d1fd482455..fe9984975b 100644 --- a/infrastructure/cdn-in-a-box/traffic_stats/Dockerfile +++ b/infrastructure/cdn-in-a-box/traffic_stats/Dockerfile @@ -29,13 +29,9 @@ RUN if [[ "${RHEL_VERSION%%.*}" -eq 7 ]]; then \ yum -y install dnf || exit 1; \ fi -RUN set -o pipefail && \ - curl -sLf https://rpm.nodesource.com/setup_16.x | bash - RUN dnf install -y epel-release && \ dnf install -y \ jq \ - nodejs \ nmap-ncat \ net-tools \ # find is required by to-access.sh From 16d3e0f7fbbe62f7e93f2e5a9681e70d18f3ad57 Mon Sep 17 00:00:00 2001 From: The Anh Nguyen Date: Fri, 2 Feb 2024 18:39:47 +0700 Subject: [PATCH 17/23] fix code styles --- .../trafficcontrol-scenes/.eslintrc.json | 2 +- .../src/components/App/App.tsx | 2 - .../src/utils/utils.plugin.ts | 6 --- .../trafficcontrol-scenes/webpack/utils.ts | 2 +- .../webpack/webpack.config.ts | 47 +++++++++---------- 5 files changed, 25 insertions(+), 34 deletions(-) diff --git a/traffic_stats/trafficcontrol-scenes/.eslintrc.json b/traffic_stats/trafficcontrol-scenes/.eslintrc.json index 0f7ea8ef8e..f988ed8944 100644 --- a/traffic_stats/trafficcontrol-scenes/.eslintrc.json +++ b/traffic_stats/trafficcontrol-scenes/.eslintrc.json @@ -239,7 +239,7 @@ "format": [ "camelCase", "UPPER_CASE", - "PascalCase" + "PascalCase" ], "leadingUnderscore": "allow", "trailingUnderscore": "allow" diff --git a/traffic_stats/trafficcontrol-scenes/src/components/App/App.tsx b/traffic_stats/trafficcontrol-scenes/src/components/App/App.tsx index 9122e4d1c1..cc9869cb53 100644 --- a/traffic_stats/trafficcontrol-scenes/src/components/App/App.tsx +++ b/traffic_stats/trafficcontrol-scenes/src/components/App/App.tsx @@ -24,8 +24,6 @@ import { PluginPropsContext } from "utils/utils.plugin"; /** * Renders the component by providing the PluginPropsContext to its children. - * - * @returns {ReactElement} The rendered component. */ export class App extends React.PureComponent { /** diff --git a/traffic_stats/trafficcontrol-scenes/src/utils/utils.plugin.ts b/traffic_stats/trafficcontrol-scenes/src/utils/utils.plugin.ts index 2d385fe600..de851338a9 100644 --- a/traffic_stats/trafficcontrol-scenes/src/utils/utils.plugin.ts +++ b/traffic_stats/trafficcontrol-scenes/src/utils/utils.plugin.ts @@ -22,9 +22,3 @@ import React from "react"; // This is used to be able to retrieve the root plugin props anywhere inside the app. export const PluginPropsContext = React.createContext(null); - -// export const usePluginProps = () => { -// const pluginProps = useContext(PluginPropsContext); -// -// return pluginProps; -// }; diff --git a/traffic_stats/trafficcontrol-scenes/webpack/utils.ts b/traffic_stats/trafficcontrol-scenes/webpack/utils.ts index fc67492725..287ebdc11a 100644 --- a/traffic_stats/trafficcontrol-scenes/webpack/utils.ts +++ b/traffic_stats/trafficcontrol-scenes/webpack/utils.ts @@ -11,7 +11,6 @@ * See the License for the specific language governing permissions and * limitations under the License. */ -/* eslint-disable */ import fs from "fs"; import os from "os"; @@ -67,6 +66,7 @@ export async function getEntries(): Promise> { const pluginName = path.relative(process.cwd(), pluginPath).replace(/src\/?/i, ""); const entryName = pluginName === "" ? "module" : `${pluginName}/module`; + // @ts-ignore result[entryName] = module; return result; }, result), {}); diff --git a/traffic_stats/trafficcontrol-scenes/webpack/webpack.config.ts b/traffic_stats/trafficcontrol-scenes/webpack/webpack.config.ts index 1a3ca7d898..cde8572087 100644 --- a/traffic_stats/trafficcontrol-scenes/webpack/webpack.config.ts +++ b/traffic_stats/trafficcontrol-scenes/webpack/webpack.config.ts @@ -11,7 +11,6 @@ * See the License for the specific language governing permissions and * limitations under the License. */ -/* eslint-disable */ import path from "path"; @@ -30,10 +29,10 @@ const pluginJson = getPluginJson(); const config = async (env): Promise => { const baseConfig: Configuration = { cache: { - type: "filesystem", buildDependencies: { config: [__filename], }, + type: "filesystem", }, context: path.join(process.cwd(), SOURCE_DIR), @@ -92,14 +91,14 @@ const config = async (env): Promise => { options: { jsc: { baseUrl: path.resolve(__dirname, "src"), - target: "es2015", loose: false, parser: { - syntax: "typescript", - tsx: true, decorators: false, dynamicImport: true, + syntax: "typescript", + tsx: true, }, + target: "es2015", }, }, }, @@ -113,28 +112,28 @@ const config = async (env): Promise => { use: ["style-loader", "css-loader", "sass-loader"], }, { - test: /\.(png|jpe?g|gif|svg)$/, - type: "asset/resource", generator: { // Keep publicPath relative for host.com/grafana/ deployments - publicPath: `public/plugins/${pluginJson.id}/img/`, - outputPath: "img/", filename: Boolean(env.production) ? "[hash][ext]" : "[file]", + outputPath: "img/", + publicPath: `public/plugins/${pluginJson.id}/img/`, }, + test: /\.(png|jpe?g|gif|svg)$/, + type: "asset/resource", }, { - test: /\.(woff|woff2|eot|ttf|otf)(\?v=\d+\.\d+\.\d+)?$/, - type: "asset/resource", generator: { // Keep publicPath relative for host.com/grafana/ deployments - publicPath: `public/plugins/${pluginJson.id}/fonts/`, - outputPath: "fonts/", filename: Boolean(env.production) ? "[hash][ext]" : "[name][ext]", + outputPath: "fonts/", + publicPath: `public/plugins/${pluginJson.id}/fonts/`, }, + test: /\.(woff|woff2|eot|ttf|otf)(\?v=\d+\.\d+\.\d+)?$/, + type: "asset/resource", }, ], }, @@ -161,16 +160,16 @@ const config = async (env): Promise => { // To `compiler.options.output` {from: "plugin.json", to: "."}, {from: "**/*.json", to: "."}, // TODO - {from: "**/*.svg", to: ".", noErrorOnMissing: true}, // Optional - {from: "**/*.png", to: ".", noErrorOnMissing: true}, // Optional - {from: "**/*.html", to: ".", noErrorOnMissing: true}, // Optional - {from: "img/**/*", to: ".", noErrorOnMissing: true}, // Optional - {from: "libs/**/*", to: ".", noErrorOnMissing: true}, // Optional - {from: "static/**/*", to: ".", noErrorOnMissing: true}, // Optional + {from: "**/*.svg", noErrorOnMissing: true, to: "."}, // Optional + {from: "**/*.png", noErrorOnMissing: true, to: "."}, // Optional + {from: "**/*.html", noErrorOnMissing: true, to: "."}, // Optional + {from: "img/**/*", noErrorOnMissing: true, to: "."}, // Optional + {from: "libs/**/*", noErrorOnMissing: true, to: "."}, // Optional + {from: "static/**/*", noErrorOnMissing: true, to: "."}, // Optional { from: "**/query_help.md", - to: ".", noErrorOnMissing: true, + to: ".", }, // Optional ], }), @@ -181,16 +180,16 @@ const config = async (env): Promise => { files: ["plugin.json"], rules: [ { - search: /\%VERSION\%/g, replace: getPackageJson().version, + search: /\%VERSION\%/g, }, { - search: /\%TODAY\%/g, replace: new Date().toISOString().substring(0, 10), + search: /\%TODAY\%/g, }, { - search: /\%PLUGIN_ID\%/g, replace: pluginJson.id, + search: /\%PLUGIN_ID\%/g, }, ], }, @@ -221,8 +220,8 @@ const config = async (env): Promise => { if (isWSL()) { baseConfig.watchOptions = { - poll: 3000, ignored: /node_modules/, + poll: 3000, }; } From c63936aac9dafa145a7b86549ba63915dcdfdafb Mon Sep 17 00:00:00 2001 From: The Anh Nguyen Date: Fri, 2 Feb 2024 18:49:57 +0700 Subject: [PATCH 18/23] add docstring --- .../trafficcontrol-scenes/webpack/utils.ts | 30 +++++++++++++++---- 1 file changed, 25 insertions(+), 5 deletions(-) diff --git a/traffic_stats/trafficcontrol-scenes/webpack/utils.ts b/traffic_stats/trafficcontrol-scenes/webpack/utils.ts index 287ebdc11a..5affd5ffbc 100644 --- a/traffic_stats/trafficcontrol-scenes/webpack/utils.ts +++ b/traffic_stats/trafficcontrol-scenes/webpack/utils.ts @@ -21,7 +21,12 @@ import { glob } from "glob"; import { SOURCE_DIR } from "./constants"; -export function isWSL() { +/** + * Check if the current environment is Windows Subsystem for Linux (WSL). + * + * @returns true if the current environment is WSL, false otherwise + */ +export function isWSL(): boolean { if (process.platform !== "linux") { return false; } @@ -37,20 +42,35 @@ export function isWSL() { } } +/** + * getPackageJson + * + * @returns package.json content + */ +// eslint-disable-next-line @typescript-eslint/explicit-module-boundary-types,@typescript-eslint/explicit-function-return-type export function getPackageJson() { + // eslint-disable-next-line @typescript-eslint/no-require-imports return require(path.resolve(process.cwd(), "package.json")); } +/** + * Check if a README.md file exists in the SOURCE_DIR directory. + * + * @returns true if README.md exists, false otherwise + */ +// eslint-disable-next-line @typescript-eslint/explicit-module-boundary-types,@typescript-eslint/explicit-function-return-type export function getPluginJson() { + // eslint-disable-next-line @typescript-eslint/no-require-imports return require(path.resolve(process.cwd(), `${SOURCE_DIR}/plugin.json`)); } -export function hasReadme() { - return fs.existsSync(path.resolve(process.cwd(), SOURCE_DIR, "README.md")); -} - // Support bundling nested plugins by finding all plugin.json files in src directory // then checking for a sibling module.[jt]sx? file. +/** + * Asynchronously retrieves entries for plugins. + * + * @returns a Promise that resolves to a record of plugin entries + */ export async function getEntries(): Promise> { const pluginsJson = await glob("**/src/**/plugin.json", { absolute: true }); From 8e0676771ba0a63370a3370125280d3fdd136bed Mon Sep 17 00:00:00 2001 From: The Anh Nguyen Date: Fri, 2 Feb 2024 15:00:15 +0100 Subject: [PATCH 19/23] fix tab indent --- infrastructure/docker/build/Dockerfile-traffic_stats | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/infrastructure/docker/build/Dockerfile-traffic_stats b/infrastructure/docker/build/Dockerfile-traffic_stats index 655c1d5a2a..3c52eee3e6 100644 --- a/infrastructure/docker/build/Dockerfile-traffic_stats +++ b/infrastructure/docker/build/Dockerfile-traffic_stats @@ -42,8 +42,8 @@ RUN rpm --import /etc/pki/rpm-gpg/RPM-GPG-KEY-* && \ ### traffic_stats specific requirements FROM common-dependencies AS traffic-stats -RUN curl -sL https://rpm.nodesource.com/setup_20.x | bash - && \ - yum -y install nodejs +RUN curl -sL https://rpm.nodesource.com/setup_20.x | bash - && \ + yum -y install nodejs COPY GO_VERSION / RUN set -o nounset -o errexit; \ From 39bac416ac894daa8f91f6f18f7dff9d5903a455 Mon Sep 17 00:00:00 2001 From: The Anh Nguyen Date: Mon, 5 Feb 2024 02:20:39 +0100 Subject: [PATCH 20/23] docs: update docs Traffic Stats --- docs/source/admin/traffic_stats.rst | 30 ++++++++++++++++++++++++++--- 1 file changed, 27 insertions(+), 3 deletions(-) diff --git a/docs/source/admin/traffic_stats.rst b/docs/source/admin/traffic_stats.rst index 140dde7802..29370c4560 100644 --- a/docs/source/admin/traffic_stats.rst +++ b/docs/source/admin/traffic_stats.rst @@ -91,9 +91,33 @@ To easily create databases, retention policies, and continuous queries, run :pro Configuring Grafana ------------------- -- Traffic Control using Scenes for building dynamic Grafana dashboards, the Scenes app is built under: :file:`/var/lib/grafana/plugins/trafficcontrol-scenes-app` -- To see Traffic Control dashboards, go to: :file:`https://grafanaHost/a/trafficcontrol-scenes-app` -.. seealso:: More information on Grafana Scenes can be found in `Grafana Scenes introduction `_ +Grafana can be configured to display graphs using InfluxDB data. +See below for how to create some simple graphs in Grafana. These instructions assume that InfluxDB has been configured and that data has been written to it. If this is not true, you will not see any graphs. + +To create a graph in Grafana, you can follow these basic steps: + +#. Login to Grafana as an administrative user +#. Click on :menuselection:`Data Sources --> Add New` +#. Enter the necessary information to configure your data source +#. Click on :menuselection:`Home --> New` at the bottom +#. Click on :menuselection:`"Collapsed Menu Icon" Button --> Add Panel --> Graph` +#. Where it says :guilabel:`No Title (click here)` click and choose edit +#. Choose your data source at the bottom +#. You can have Grafana help you create a query, or you can create your own. + + .. code-block:: postgresql + :caption: Sample Query + + SELECT sum(value)*1000 FROM "monthly"."bandwidth.cdn.1min" GROUP BY time(60s), cdn; + +#. Once you have the graph the way you want it, click the :guilabel:`Save Dashboard` button at the top +#. You should now have a new saved graph + +Grafana uses Grafana Scenes to display information about individual :term:`Delivery Services` or :term:`Cache Groups`. In order for the custom graphs to display correctly, the built files of :atc-file:`traffic_stats/trafficcontrol-scenes/` need to be placed in the :file:`/var/lib/grafana/plugins/trafficcontrol-scenes-app` directory on the Grafana server. If your Grafana server is the same as your Traffic Stats server the RPM install process will take care of putting the files in place. If your Grafana server is different from your Traffic Stats server, you will need to manually copy the files to the correct directory. + +To view dynamic dashboards from Grafana Scenes, visit: ``https://grafanaHost/a/trafficcontrol-scenes-app`` + +.. seealso:: More information on Grafana Scenes can be found in the `blog post `_ of Grafana. Configuring Traffic Portal for Traffic Stats -------------------------------------------- From 693c7b9cd1d86ebcc6837784d5aa0101f9bb316c Mon Sep 17 00:00:00 2001 From: The Anh Nguyen Date: Mon, 5 Feb 2024 03:04:39 +0100 Subject: [PATCH 21/23] fix: fix build traffic stats --- traffic_stats/build/build_rpm.sh | 10 ++++++++-- traffic_stats/build/traffic_stats.spec | 6 ++---- 2 files changed, 10 insertions(+), 6 deletions(-) diff --git a/traffic_stats/build/build_rpm.sh b/traffic_stats/build/build_rpm.sh index d96952aec1..2437e1ece4 100755 --- a/traffic_stats/build/build_rpm.sh +++ b/traffic_stats/build/build_rpm.sh @@ -79,10 +79,16 @@ initBuildArea() { { echo "Could not build create_ts_databases binary"; return 1; }) # compile trafficcontrol-scenes - echo "Installing npm dependencies" + echo "Installing grafana scenes npm dependencies" (cd trafficcontrol-scenes npm i || \ - { echo "Could not install packages from $TS_DIR/trafficcontrol-scenes: $?"; return 1; } + { echo "Could not install packages from $TS_DIR/trafficcontrol-scenes: $?"; return 1; } + ) + + echo "Build grafana scenes" + (cd trafficcontrol-scenes + npm run build || \ + { echo "Could not build $TS_DIR/trafficcontrol-scenes: $?"; return 1; } ) rsync -aLv ./ "$ts_dest"/ || \ diff --git a/traffic_stats/build/traffic_stats.spec b/traffic_stats/build/traffic_stats.spec index f57128dd37..f9e2368bc2 100644 --- a/traffic_stats/build/traffic_stats.spec +++ b/traffic_stats/build/traffic_stats.spec @@ -25,8 +25,6 @@ Group: Applications/Communications License: Apache License, Version 2.0 URL: https://github.com/apache/trafficcontrol Source: %{_sourcedir}/traffic_stats-%{traffic_control_version}.tgz -AutoReqProv: no -Requires: nodejs >= 20.0.0 %description Installs traffic_stats which performs the follwing functions: @@ -56,7 +54,7 @@ godir=src/github.com/apache/trafficcontrol/traffic_stats/influxdb_tools scenesdir=src/github.com/apache/trafficcontrol/traffic_stats/trafficcontrol-scenes ( mkdir -p "$scenesdir" && \ cd "$scenesdir" && \ - npm run build + cp -R "$TC_DIR"/traffic_stats/trafficcontrol-scenes/* . ) || { echo "Could not copy trafficcontrol-scenes at $(pwd): $!"; exit 1; } %install @@ -139,7 +137,7 @@ fi %attr(755, traffic_stats, traffic_stats) /opt/traffic_stats/bin/traffic_stats %attr(755, traffic_stats, traffic_stats) /etc/init.d/traffic_stats -%attr(644, traffic_stats, traffic_stats) /var/lib/grafana/plugins/trafficcontrol-scenes-app +%attr(755, traffic_stats, traffic_stats) /var/lib/grafana/plugins/trafficcontrol-scenes-app %attr(755, traffic_stats, traffic_stats) /opt/traffic_stats/influxdb_tools/create_ts_databases %attr(755, traffic_stats, traffic_stats) /opt/traffic_stats/influxdb_tools/sync_ts_databases From 391d6288951d3f12825cba041df6a3765e4f7035 Mon Sep 17 00:00:00 2001 From: The Anh Nguyen Date: Mon, 5 Feb 2024 03:05:55 +0100 Subject: [PATCH 22/23] fix: spec action --- traffic_stats/build/traffic_stats.spec | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/traffic_stats/build/traffic_stats.spec b/traffic_stats/build/traffic_stats.spec index f9e2368bc2..e9ace68aeb 100644 --- a/traffic_stats/build/traffic_stats.spec +++ b/traffic_stats/build/traffic_stats.spec @@ -50,7 +50,7 @@ godir=src/github.com/apache/trafficcontrol/traffic_stats/influxdb_tools cp -R "$TC_DIR"/traffic_stats/influxdb_tools/* . ) || { echo "Could not copy go program at $(pwd): $!"; exit 1; } -# build trafficcontrol-scenes +# copy trafficcontrol-scenes scenesdir=src/github.com/apache/trafficcontrol/traffic_stats/trafficcontrol-scenes ( mkdir -p "$scenesdir" && \ cd "$scenesdir" && \ From aea9737ec4d444fa64994f32f3d61c42b8d0109f Mon Sep 17 00:00:00 2001 From: The Anh Nguyen Date: Mon, 5 Feb 2024 03:11:49 +0100 Subject: [PATCH 23/23] chore: add CHANGELOG --- CHANGELOG.md | 1 + 1 file changed, 1 insertion(+) diff --git a/CHANGELOG.md b/CHANGELOG.md index 3282d6f9a9..35883499a4 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -8,6 +8,7 @@ The format is based on [Keep a Changelog](http://keepachangelog.com/en/1.0.0/). - [#7812](https://github.com/apache/trafficcontrol/pull/7812) *Traffic Portal*: Expose the `configUpdateFailed` and `revalUpdateFailed` fields on the server table. - [#7870](https://github.com/apache/trafficcontrol/pull/7870) *Traffic Portal*: Adds a hyperlink to the DSR page to the DS itself for ease of navigation. - [#7896](https://github.com/apache/trafficcontrol/pull/7896) *ATC Build system*: Count commits since the last release, not commits +- [#7927](https://github.com/apache/trafficcontrol/pull/7927) *Traffic Stats*: Migrate dynamic scripted Grafana Dashboards to Scenes ### Changed - [#7614](https://github.com/apache/trafficcontrol/pull/7614) *Traffic Ops* The database upgrade process no longer overwrites changes users may have made to the initially seeded data.